From 543913101e53a47530ea154dae47ce82432f5681 Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Tue, 3 Mar 2015 18:51:20 +0100 Subject: [PATCH] init --- .gitignore | 4 + composer.json | 43 + .../DependencyInjection/Configuration.php | 61 + .../TrinityAdminBreadcrumbsExtension.php | 38 + .../Listener/RequestListener.php | 42 + .../Model/Breadcrumb.php | 100 + .../Model/BreadcrumbItem.php | 53 + .../Model/BreadcrumbManager.php | 116 + .../Resources/config/services.xml | 34 + .../TrinityAdminBreadcrumbsBundle.fr.yml | 137 + .../views/Utils/breadcrumb.html.twig | 23 + .../TrinityAdminBreadcrumbsBundle.php | 9 + .../Twig/Extension/BreadcrumbExtension.php | 51 + .../Command/GenerateCrudCommand.php | 741 + .../Configuration/CrudConfiguration.php | 740 + .../Controller/BaseAdminController.php | 876 + .../DependencyInjection/Configuration.php | 47 + .../TrinityAdminExtension.php | 29 + .../FilterMethodNotFoundException.php | 7 + .../Exception/ModelNotFoundAdminException.php | 7 + .../Exception/RequestAdminException.php | 7 + .../AdminBundle/File/FileUploadCallback.php | 40 + .../AdminBundle/File/FileUploadInterface.php | 8 + .../AdminBundle/Form/Type/BatchType.php | 60 + .../Form/Type/FilterBooleanType.php | 32 + .../Bundle/AdminBundle/Form/Type/RankType.php | 50 + .../AdminBundle/Resources/config/services.xml | 21 + .../Resources/public/chosen/chosen-sprite.png | Bin 0 -> 646 bytes .../public/chosen/chosen-sprite@2x.png | Bin 0 -> 872 bytes .../Resources/public/chosen/chosen.css | 430 + .../Resources/public/chosen/chosen.jquery.js | 1166 ++ .../public/chosen/chosen.jquery.min.js | 2 + .../Resources/public/chosen/chosen.min.css | 3 + .../Resources/public/chosen/chosen.proto.js | 1189 ++ .../public/chosen/chosen.proto.min.js | 2 + .../public/chosen/docsupport/chosen.png | Bin 0 -> 3467 bytes .../public/chosen/docsupport/oss-credit.png | Bin 0 -> 6709 bytes .../public/chosen/docsupport/prism.css | 108 + .../public/chosen/docsupport/prism.js | 9 + .../public/chosen/docsupport/style.css | 201 + .../Resources/public/chosen/index.html | 1479 ++ .../Resources/public/chosen/index.proto.html | 1485 ++ .../Resources/public/chosen/options.html | 229 + .../Resources/public/css/accordion.less | 28 + .../Resources/public/css/alerts.less | 77 + .../Resources/public/css/alerts_badges.less | 152 + .../public/css/background-stripe.png | Bin 0 -> 101 bytes .../public/css/bootstrap-responsive.css | 1058 ++ .../Resources/public/css/bootstrap.less | 67 + .../Resources/public/css/bootstrap_.css | 1 + .../Resources/public/css/breadcrumbs.less | 22 + .../Resources/public/css/button-groups.less | 148 + .../Resources/public/css/buttons.less | 183 + .../Resources/public/css/carousel.less | 121 + .../Resources/public/css/close.less | 18 + .../Resources/public/css/code.less | 57 + .../public/css/component-animations.less | 18 + .../Resources/public/css/dropdowns.less | 128 + .../Resources/public/css/fileupload.less | 132 + .../Resources/public/css/forms.less | 522 + .../Resources/public/css/grid.less | 8 + .../Resources/public/css/hero-unit.less | 20 + .../public/css/jquery.contextMenu.css | 145 + .../public/css/jquery.timepicker.css | 10 + .../Resources/public/css/labels.less | 32 + .../Resources/public/css/layouts.less | 17 + .../AdminBundle/Resources/public/css/menu.css | 174 + .../Resources/public/css/mixins.less | 590 + .../Resources/public/css/modals.less | 87 + .../Resources/public/css/navbar.less | 299 + .../Resources/public/css/navs.less | 353 + .../Resources/public/css/pager.less | 30 + .../Resources/public/css/pagination.less | 55 + .../Resources/public/css/popovers.less | 49 + .../Resources/public/css/progress-bars.less | 95 + .../Resources/public/css/reset.less | 126 + .../Resources/public/css/responsive.less | 327 + .../Resources/public/css/scaffolding.less | 29 + .../Resources/public/css/sprites.less | 460 + .../Resources/public/css/style.css | 1379 ++ .../Resources/public/css/tables.less | 150 + .../Resources/public/css/thumbnails.less | 35 + .../Resources/public/css/tinymce.css | 10 + .../Resources/public/css/tooltip.less | 35 + .../Resources/public/css/type.less | 220 + .../ui-darkness/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_30_cccccc_40x100.png | Bin 0 -> 220 bytes .../images/ui-bg_flat_50_5c5c5c_40x100.png | Bin 0 -> 230 bytes .../images/ui-bg_glass_20_555555_1x400.png | Bin 0 -> 260 bytes .../images/ui-bg_glass_40_0078a3_1x400.png | Bin 0 -> 342 bytes .../images/ui-bg_glass_40_ffc73d_1x400.png | Bin 0 -> 316 bytes .../ui-bg_gloss-wave_25_333333_500x100.png | Bin 0 -> 3816 bytes .../ui-bg_highlight-soft_80_eeeeee_1x100.png | Bin 0 -> 276 bytes .../ui-bg_inset-soft_25_000000_1x100.png | Bin 0 -> 275 bytes .../ui-bg_inset-soft_30_f58400_1x100.png | Bin 0 -> 340 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6922 bytes .../images/ui-icons_4b8e0b_256x240.png | Bin 0 -> 4549 bytes .../images/ui-icons_a83300_256x240.png | Bin 0 -> 4549 bytes .../images/ui-icons_cccccc_256x240.png | Bin 0 -> 6975 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6299 bytes .../ui-darkness/jquery-ui-1.10.1.custom.css | 1175 ++ .../jquery-ui-1.10.1.custom.min.css | 5 + .../ui-lightness/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 0 -> 418 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 0 -> 312 bytes .../images/ui-bg_flat_10_000000_40x100.png | Bin 0 -> 205 bytes .../images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 0 -> 348 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 207 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 0 -> 5815 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 0 -> 278 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 0 -> 328 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6922 bytes .../images/ui-icons_228ef1_256x240.png | Bin 0 -> 4549 bytes .../images/ui-icons_ef8c08_256x240.png | Bin 0 -> 4549 bytes .../images/ui-icons_ffd27a_256x240.png | Bin 0 -> 4549 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6299 bytes .../ui-lightness/jquery-ui-1.10.1.custom.css | 1175 ++ .../jquery-ui-1.10.1.custom.min.css | 5 + .../Resources/public/css/utilities.less | 23 + .../Resources/public/css/variables.less | 108 + .../Resources/public/css/wells.less | 17 + .../Resources/public/img/25-Folder.png | Bin 0 -> 3514 bytes .../Resources/public/img/7-Image capture.png | Bin 0 -> 7445 bytes .../Resources/public/img/Crown.png | Bin 0 -> 3516 bytes .../Resources/public/img/News_source.1.png | Bin 0 -> 5592 bytes .../Resources/public/img/News_source.png | Bin 0 -> 5592 bytes .../Resources/public/img/Transport.png | Bin 0 -> 3779 bytes .../Resources/public/img/addons.png | Bin 0 -> 6117 bytes .../Resources/public/img/analysis.png | Bin 0 -> 2991 bytes .../public/img/application-excel.png | Bin 0 -> 2369 bytes .../Resources/public/img/arrows.png | Bin 0 -> 2389 bytes .../Resources/public/img/bloc-sign-up.png | Bin 0 -> 2940 bytes .../Resources/public/img/bluepage.png | Bin 0 -> 1443 bytes .../Resources/public/img/bluevalid.png | Bin 0 -> 1692 bytes .../AdminBundle/Resources/public/img/book.png | Bin 0 -> 3904 bytes .../public/img/breadcrumb_item_right.png | Bin 0 -> 1597 bytes .../Resources/public/img/calendar.png | Bin 0 -> 3913 bytes .../Resources/public/img/campaign.png | Bin 0 -> 3801 bytes .../Resources/public/img/career.png | Bin 0 -> 1583 bytes .../Resources/public/img/catalog.png | Bin 0 -> 2816 bytes .../public/img/clear_texture_cache.png | Bin 0 -> 3647 bytes .../Resources/public/img/colors.png | Bin 0 -> 5062 bytes .../Resources/public/img/comment.png | Bin 0 -> 5506 bytes .../Resources/public/img/comments.png | Bin 0 -> 1895 bytes .../Resources/public/img/compa.png | Bin 0 -> 7343 bytes .../Resources/public/img/companies.png | Bin 0 -> 4833 bytes .../public/img/configuration_edit.png | Bin 0 -> 3419 bytes .../Resources/public/img/conso_type.png | Bin 0 -> 14834 bytes .../Resources/public/img/contact.png | Bin 0 -> 6048 bytes .../Resources/public/img/content-tree.png | Bin 0 -> 3216 bytes .../Resources/public/img/contract_type.png | Bin 0 -> 2787 bytes .../Resources/public/img/ct/add.png | Bin 0 -> 390 bytes .../Resources/public/img/ct/drag.png | Bin 0 -> 253 bytes .../Resources/public/img/ct/edit-page.png | Bin 0 -> 240 bytes .../Resources/public/img/ct/edit.png | Bin 0 -> 420 bytes .../Resources/public/img/ct/remove.png | Bin 0 -> 350 bytes .../AdminBundle/Resources/public/img/date.png | Bin 0 -> 5253 bytes .../Resources/public/img/earth.png | Bin 0 -> 6425 bytes .../Resources/public/img/emergency.png | Bin 0 -> 3337 bytes .../Resources/public/img/evenements.png | Bin 0 -> 2580 bytes .../Resources/public/img/event.png | Bin 0 -> 5138 bytes .../AdminBundle/Resources/public/img/faq.png | Bin 0 -> 18410 bytes .../Resources/public/img/flags/de.png | Bin 0 -> 292 bytes .../Resources/public/img/flags/en.png | Bin 0 -> 542 bytes .../Resources/public/img/flags/fr.png | Bin 0 -> 421 bytes .../Resources/public/img/folder_grey.png | Bin 0 -> 2317 bytes .../Resources/public/img/folder_home.png | Bin 0 -> 3452 bytes .../Resources/public/img/footer.png | Bin 0 -> 4425 bytes .../AdminBundle/Resources/public/img/form.png | Bin 0 -> 4335 bytes .../Resources/public/img/glossary.png | Bin 0 -> 6263 bytes .../public/img/glyphicons-halflings-grey.png | Bin 0 -> 21258 bytes .../public/img/glyphicons-halflings-white.png | Bin 0 -> 8777 bytes .../public/img/glyphicons-halflings.png | Bin 0 -> 12799 bytes .../AdminBundle/Resources/public/img/hand.png | Bin 0 -> 3823 bytes .../Resources/public/img/icon1.png | Bin 0 -> 16709 bytes .../Resources/public/img/icon10.png | Bin 0 -> 14967 bytes .../Resources/public/img/icon11.png | Bin 0 -> 445 bytes .../Resources/public/img/icon12.png | Bin 0 -> 530 bytes .../Resources/public/img/icon13.png | Bin 0 -> 10664 bytes .../Resources/public/img/icon2.png | Bin 0 -> 3119 bytes .../Resources/public/img/icon3.png | Bin 0 -> 7687 bytes .../Resources/public/img/icon4.png | Bin 0 -> 3904 bytes .../Resources/public/img/icon5.png | Bin 0 -> 18282 bytes .../Resources/public/img/icon6.png | Bin 0 -> 13459 bytes .../Resources/public/img/icon7.png | Bin 0 -> 10755 bytes .../Resources/public/img/icon8.png | Bin 0 -> 6898 bytes .../Resources/public/img/icon9.png | Bin 0 -> 10338 bytes .../Resources/public/img/import.png | Bin 0 -> 3091 bytes .../Resources/public/img/kblogger.png | Bin 0 -> 2882 bytes .../Resources/public/img/loading.gif | Bin 0 -> 9427 bytes .../AdminBundle/Resources/public/img/maps.png | Bin 0 -> 15915 bytes .../Resources/public/img/media.png | Bin 0 -> 4386 bytes .../Resources/public/img/megamenu.png | Bin 0 -> 9141 bytes .../Resources/public/img/message.png | Bin 0 -> 3734 bytes .../Resources/public/img/minus.png | Bin 0 -> 152 bytes .../Resources/public/img/moment.png | Bin 0 -> 4535 bytes .../Resources/public/img/node_position.png | Bin 0 -> 3417 bytes .../AdminBundle/Resources/public/img/page.png | Bin 0 -> 146 bytes .../Resources/public/img/partners.png | Bin 0 -> 18605 bytes .../AdminBundle/Resources/public/img/pen.png | Bin 0 -> 2074 bytes .../Resources/public/img/permissions.png | Bin 0 -> 4039 bytes .../Resources/public/img/person.png | Bin 0 -> 2137 bytes .../AdminBundle/Resources/public/img/plus.png | Bin 0 -> 162 bytes .../AdminBundle/Resources/public/img/poll.png | Bin 0 -> 7637 bytes .../Resources/public/img/press.png | Bin 0 -> 3565 bytes .../Resources/public/img/product.png | Bin 0 -> 20141 bytes .../Resources/public/img/product_folder.png | Bin 0 -> 21315 bytes .../Resources/public/img/profession.png | Bin 0 -> 1827 bytes .../public/img/professionnal_function.png | Bin 0 -> 1687 bytes .../Resources/public/img/puzzle.png | Bin 0 -> 1757 bytes .../Resources/public/img/question.png | Bin 0 -> 1893 bytes .../Resources/public/img/questions-1.png | Bin 0 -> 2173 bytes .../Resources/public/img/questions.png | Bin 0 -> 3081 bytes .../AdminBundle/Resources/public/img/saga.png | Bin 0 -> 6651 bytes .../Resources/public/img/sign-up.png | Bin 0 -> 3795 bytes .../Resources/public/img/so_reporter.png | Bin 0 -> 5674 bytes .../Resources/public/img/stats.png | Bin 0 -> 1794 bytes .../Resources/public/img/testimoli.png | Bin 0 -> 1531 bytes .../AdminBundle/Resources/public/img/town.png | Bin 0 -> 4200 bytes .../Resources/public/img/urlpicker.png | Bin 0 -> 1367 bytes .../AdminBundle/Resources/public/img/user.png | Bin 0 -> 4245 bytes .../Resources/public/img/users.png | Bin 0 -> 4920 bytes .../Resources/public/img/video_folder.png | Bin 0 -> 16519 bytes .../Resources/public/img/videos.png | Bin 0 -> 7309 bytes .../Resources/public/img/webtv_category.png | Bin 0 -> 11085 bytes .../Resources/public/img/webtv_video.png | Bin 0 -> 1408 bytes .../Resources/public/img/works.png | Bin 0 -> 5273 bytes .../AdminBundle/Resources/public/js/admin.js | 1170 ++ .../Resources/public/js/bootstrap-affix.js | 106 + .../Resources/public/js/bootstrap-alert.js | 88 + .../Resources/public/js/bootstrap-button.js | 94 + .../Resources/public/js/bootstrap-carousel.js | 176 + .../Resources/public/js/bootstrap-collapse.js | 156 + .../Resources/public/js/bootstrap-dropdown.js | 148 + .../public/js/bootstrap-fileupload.js | 169 + .../Resources/public/js/bootstrap-modal.js | 234 + .../Resources/public/js/bootstrap-popover.js | 103 + .../public/js/bootstrap-scrollspy.js | 151 + .../Resources/public/js/bootstrap-tab.js | 133 + .../Resources/public/js/bootstrap-tooltip.js | 276 + .../public/js/bootstrap-transition.js | 60 + .../public/js/bootstrap-typeahead.js | 310 + .../Resources/public/js/bootstrap.min.js | 6 + .../Resources/public/js/jquery-ui.min.js | 7 + .../Resources/public/js/jquery.min.js | 3 + .../Resources/public/js/jquery.timepicker.js | 1920 ++ .../Resources/public/js/superclick.js | 216 + .../public/js/ui/i18n/jquery-ui-i18n.js | 1793 ++ .../js/ui/i18n/jquery.ui.datepicker-af.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-ar-DZ.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-ar.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-az.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-be.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-bg.js | 24 + .../js/ui/i18n/jquery.ui.datepicker-bs.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-ca.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-cs.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-cy-GB.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-da.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-de.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-el.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-en-AU.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-en-GB.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-en-NZ.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-eo.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-es.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-et.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-eu.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-fa.js | 59 + .../js/ui/i18n/jquery.ui.datepicker-fi.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-fo.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-fr-CA.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-fr-CH.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-fr.js | 25 + .../js/ui/i18n/jquery.ui.datepicker-gl.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-he.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-hi.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-hr.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-hu.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-hy.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-id.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-is.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-it.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-ja.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-ka.js | 21 + .../js/ui/i18n/jquery.ui.datepicker-kk.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-km.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-ko.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-ky.js | 24 + .../js/ui/i18n/jquery.ui.datepicker-lb.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-lt.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-lv.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-mk.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-ml.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-ms.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-nb.js | 22 + .../js/ui/i18n/jquery.ui.datepicker-nl-BE.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-nl.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-nn.js | 22 + .../js/ui/i18n/jquery.ui.datepicker-no.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-pl.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-pt-BR.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-pt.js | 22 + .../js/ui/i18n/jquery.ui.datepicker-rm.js | 21 + .../js/ui/i18n/jquery.ui.datepicker-ro.js | 26 + .../js/ui/i18n/jquery.ui.datepicker-ru.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-sk.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-sl.js | 24 + .../js/ui/i18n/jquery.ui.datepicker-sq.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-sr-SR.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-sr.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-sv.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-ta.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-th.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-tj.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-tr.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-uk.js | 24 + .../js/ui/i18n/jquery.ui.datepicker-vi.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-zh-CN.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-zh-HK.js | 23 + .../js/ui/i18n/jquery.ui.datepicker-zh-TW.js | 23 + .../public/js/ui/jquery-ui.custom.js | 14971 ++++++++++++++++ .../public/js/ui/jquery.contextMenu.js | 1686 ++ .../public/js/ui/jquery.ui.accordion.js | 572 + .../public/js/ui/jquery.ui.autocomplete.js | 610 + .../public/js/ui/jquery.ui.button.js | 419 + .../Resources/public/js/ui/jquery.ui.core.js | 320 + .../public/js/ui/jquery.ui.datepicker.js | 1814 ++ .../public/js/ui/jquery.ui.dialog.js | 808 + .../public/js/ui/jquery.ui.draggable.js | 958 + .../public/js/ui/jquery.ui.droppable.js | 372 + .../public/js/ui/jquery.ui.effect-blind.js | 82 + .../public/js/ui/jquery.ui.effect-bounce.js | 113 + .../public/js/ui/jquery.ui.effect-clip.js | 67 + .../public/js/ui/jquery.ui.effect-drop.js | 65 + .../public/js/ui/jquery.ui.effect-explode.js | 97 + .../public/js/ui/jquery.ui.effect-fade.js | 30 + .../public/js/ui/jquery.ui.effect-fold.js | 76 + .../js/ui/jquery.ui.effect-highlight.js | 50 + .../public/js/ui/jquery.ui.effect-pulsate.js | 63 + .../public/js/ui/jquery.ui.effect-scale.js | 318 + .../public/js/ui/jquery.ui.effect-shake.js | 74 + .../public/js/ui/jquery.ui.effect-slide.js | 64 + .../public/js/ui/jquery.ui.effect-transfer.js | 47 + .../public/js/ui/jquery.ui.effect.js | 1289 ++ .../Resources/public/js/ui/jquery.ui.menu.js | 621 + .../Resources/public/js/ui/jquery.ui.mouse.js | 169 + .../public/js/ui/jquery.ui.position.js | 497 + .../public/js/ui/jquery.ui.progressbar.js | 145 + .../public/js/ui/jquery.ui.resizable.js | 968 + .../public/js/ui/jquery.ui.selectable.js | 277 + .../public/js/ui/jquery.ui.slider.js | 672 + .../public/js/ui/jquery.ui.sortable.js | 1285 ++ .../public/js/ui/jquery.ui.spinner.js | 493 + .../Resources/public/js/ui/jquery.ui.tabs.js | 846 + .../public/js/ui/jquery.ui.tooltip.js | 402 + .../public/js/ui/jquery.ui.widget.js | 521 + .../js/ui/minified/i18n/jquery-ui-i18n.min.js | 6 + .../i18n/jquery.ui.datepicker-af.min.js | 4 + .../i18n/jquery.ui.datepicker-ar-DZ.min.js | 4 + .../i18n/jquery.ui.datepicker-ar.min.js | 4 + .../i18n/jquery.ui.datepicker-az.min.js | 4 + .../i18n/jquery.ui.datepicker-be.min.js | 4 + .../i18n/jquery.ui.datepicker-bg.min.js | 4 + .../i18n/jquery.ui.datepicker-bs.min.js | 4 + .../i18n/jquery.ui.datepicker-ca.min.js | 4 + .../i18n/jquery.ui.datepicker-cs.min.js | 4 + .../i18n/jquery.ui.datepicker-cy-GB.min.js | 4 + .../i18n/jquery.ui.datepicker-da.min.js | 4 + .../i18n/jquery.ui.datepicker-de.min.js | 4 + .../i18n/jquery.ui.datepicker-el.min.js | 4 + .../i18n/jquery.ui.datepicker-en-AU.min.js | 4 + .../i18n/jquery.ui.datepicker-en-GB.min.js | 4 + .../i18n/jquery.ui.datepicker-en-NZ.min.js | 4 + .../i18n/jquery.ui.datepicker-eo.min.js | 4 + .../i18n/jquery.ui.datepicker-es.min.js | 4 + .../i18n/jquery.ui.datepicker-et.min.js | 4 + .../i18n/jquery.ui.datepicker-eu.min.js | 4 + .../i18n/jquery.ui.datepicker-fa.min.js | 4 + .../i18n/jquery.ui.datepicker-fi.min.js | 4 + .../i18n/jquery.ui.datepicker-fo.min.js | 4 + .../i18n/jquery.ui.datepicker-fr-CA.min.js | 4 + .../i18n/jquery.ui.datepicker-fr-CH.min.js | 4 + .../i18n/jquery.ui.datepicker-fr.min.js | 4 + .../i18n/jquery.ui.datepicker-gl.min.js | 4 + .../i18n/jquery.ui.datepicker-he.min.js | 4 + .../i18n/jquery.ui.datepicker-hi.min.js | 4 + .../i18n/jquery.ui.datepicker-hr.min.js | 4 + .../i18n/jquery.ui.datepicker-hu.min.js | 4 + .../i18n/jquery.ui.datepicker-hy.min.js | 4 + .../i18n/jquery.ui.datepicker-id.min.js | 4 + .../i18n/jquery.ui.datepicker-is.min.js | 4 + .../i18n/jquery.ui.datepicker-it.min.js | 4 + .../i18n/jquery.ui.datepicker-ja.min.js | 4 + .../i18n/jquery.ui.datepicker-ka.min.js | 4 + .../i18n/jquery.ui.datepicker-kk.min.js | 4 + .../i18n/jquery.ui.datepicker-km.min.js | 4 + .../i18n/jquery.ui.datepicker-ko.min.js | 4 + .../i18n/jquery.ui.datepicker-ky.min.js | 4 + .../i18n/jquery.ui.datepicker-lb.min.js | 4 + .../i18n/jquery.ui.datepicker-lt.min.js | 4 + .../i18n/jquery.ui.datepicker-lv.min.js | 4 + .../i18n/jquery.ui.datepicker-mk.min.js | 4 + .../i18n/jquery.ui.datepicker-ml.min.js | 4 + .../i18n/jquery.ui.datepicker-ms.min.js | 4 + .../i18n/jquery.ui.datepicker-nb.min.js | 4 + .../i18n/jquery.ui.datepicker-nl-BE.min.js | 4 + .../i18n/jquery.ui.datepicker-nl.min.js | 4 + .../i18n/jquery.ui.datepicker-nn.min.js | 4 + .../i18n/jquery.ui.datepicker-no.min.js | 4 + .../i18n/jquery.ui.datepicker-pl.min.js | 4 + .../i18n/jquery.ui.datepicker-pt-BR.min.js | 4 + .../i18n/jquery.ui.datepicker-pt.min.js | 4 + .../i18n/jquery.ui.datepicker-rm.min.js | 4 + .../i18n/jquery.ui.datepicker-ro.min.js | 4 + .../i18n/jquery.ui.datepicker-ru.min.js | 4 + .../i18n/jquery.ui.datepicker-sk.min.js | 4 + .../i18n/jquery.ui.datepicker-sl.min.js | 4 + .../i18n/jquery.ui.datepicker-sq.min.js | 4 + .../i18n/jquery.ui.datepicker-sr-SR.min.js | 4 + .../i18n/jquery.ui.datepicker-sr.min.js | 4 + .../i18n/jquery.ui.datepicker-sv.min.js | 4 + .../i18n/jquery.ui.datepicker-ta.min.js | 4 + .../i18n/jquery.ui.datepicker-th.min.js | 4 + .../i18n/jquery.ui.datepicker-tj.min.js | 4 + .../i18n/jquery.ui.datepicker-tr.min.js | 4 + .../i18n/jquery.ui.datepicker-uk.min.js | 4 + .../i18n/jquery.ui.datepicker-vi.min.js | 4 + .../i18n/jquery.ui.datepicker-zh-CN.min.js | 4 + .../i18n/jquery.ui.datepicker-zh-HK.min.js | 4 + .../i18n/jquery.ui.datepicker-zh-TW.min.js | 4 + .../js/ui/minified/jquery-ui.custom.min.js | 7 + .../js/ui/minified/jquery.ui.accordion.min.js | 4 + .../ui/minified/jquery.ui.autocomplete.min.js | 4 + .../js/ui/minified/jquery.ui.button.min.js | 4 + .../js/ui/minified/jquery.ui.core.min.js | 4 + .../ui/minified/jquery.ui.datepicker.min.js | 5 + .../js/ui/minified/jquery.ui.dialog.min.js | 4 + .../js/ui/minified/jquery.ui.draggable.min.js | 4 + .../js/ui/minified/jquery.ui.droppable.min.js | 4 + .../ui/minified/jquery.ui.effect-blind.min.js | 4 + .../minified/jquery.ui.effect-bounce.min.js | 4 + .../ui/minified/jquery.ui.effect-clip.min.js | 4 + .../ui/minified/jquery.ui.effect-drop.min.js | 4 + .../minified/jquery.ui.effect-explode.min.js | 4 + .../ui/minified/jquery.ui.effect-fade.min.js | 4 + .../ui/minified/jquery.ui.effect-fold.min.js | 4 + .../jquery.ui.effect-highlight.min.js | 4 + .../minified/jquery.ui.effect-pulsate.min.js | 4 + .../ui/minified/jquery.ui.effect-scale.min.js | 4 + .../ui/minified/jquery.ui.effect-shake.min.js | 4 + .../ui/minified/jquery.ui.effect-slide.min.js | 4 + .../minified/jquery.ui.effect-transfer.min.js | 4 + .../js/ui/minified/jquery.ui.effect.min.js | 4 + .../js/ui/minified/jquery.ui.menu.min.js | 4 + .../js/ui/minified/jquery.ui.mouse.min.js | 4 + .../js/ui/minified/jquery.ui.position.min.js | 4 + .../ui/minified/jquery.ui.progressbar.min.js | 4 + .../js/ui/minified/jquery.ui.resizable.min.js | 4 + .../ui/minified/jquery.ui.selectable.min.js | 4 + .../js/ui/minified/jquery.ui.slider.min.js | 4 + .../js/ui/minified/jquery.ui.sortable.min.js | 4 + .../js/ui/minified/jquery.ui.spinner.min.js | 4 + .../js/ui/minified/jquery.ui.tabs.min.js | 4 + .../js/ui/minified/jquery.ui.tooltip.min.js | 4 + .../js/ui/minified/jquery.ui.widget.min.js | 4 + .../translations/TrinityAdminBundle.fr.yml | 79 + .../Resources/translations/messages.fr.xliff | 155 + .../Resources/views/BaseAdmin/bool.html.twig | 5 + .../Resources/views/BaseAdmin/date.html.twig | 1 + .../views/BaseAdmin/default.html.twig | 2 + .../Resources/views/BaseAdmin/edit.html.twig | 42 + .../views/BaseAdmin/editForm.html.twig | 21 + .../views/BaseAdmin/editTop.html.twig | 10 + .../views/BaseAdmin/export.html.twig | 1 + .../views/BaseAdmin/filters.html.twig | 45 + .../Resources/views/BaseAdmin/flash.html.twig | 1 + .../views/BaseAdmin/flashError.html.twig | 3 + .../views/BaseAdmin/flashNotice.html.twig | 3 + .../views/BaseAdmin/flashSuccess.html.twig | 3 + .../views/BaseAdmin/flashWarning.html.twig | 3 + .../Resources/views/BaseAdmin/form.html.twig | 102 + .../views/BaseAdmin/history.html.twig | 14 + .../Resources/views/BaseAdmin/image.html.twig | 1 + .../Resources/views/BaseAdmin/index.html.twig | 35 + .../views/BaseAdmin/indexActions.html.twig | 3 + .../BaseAdmin/indexContextMenu.html.twig | 59 + .../views/BaseAdmin/indexExport.html.twig | 9 + .../views/BaseAdmin/indexForm.html.twig | 10 + .../views/BaseAdmin/indexNew.html.twig | 4 + .../BaseAdmin/indexRankableForm.html.twig | 9 + .../views/BaseAdmin/indexTbody.html.twig | 40 + .../views/BaseAdmin/indexTfoot.html.twig | 29 + .../views/BaseAdmin/indexThead.html.twig | 63 + .../views/BaseAdmin/indexTop.html.twig | 10 + .../views/BaseAdmin/javascripts.html.twig | 1 + .../views/BaseAdmin/javascriptsBase.html.twig | 38 + .../views/BaseAdmin/jsTranslation.html.twig | 49 + .../views/BaseAdmin/listDefault.html.twig | 3 + .../views/BaseAdmin/listEdit.html.twig | 3 + .../views/BaseAdmin/listRemove.html.twig | 3 + .../Resources/views/BaseAdmin/new.html.twig | 42 + .../views/BaseAdmin/newForm.html.twig | 20 + .../views/BaseAdmin/newTop.html.twig | 1 + .../Resources/views/BaseAdmin/pager.html.twig | 45 + .../Resources/views/BaseAdmin/panel.html.twig | 22 + .../Resources/views/BaseAdmin/rank.html.twig | 0 .../Resources/views/BaseAdmin/raw.html.twig | 1 + .../views/BaseAdmin/stylesheets.html.twig | 1 + .../views/BaseAdmin/stylesheetsBase.html.twig | 7 + .../views/Form/filterFields.html.twig | 0 .../Resources/views/layout.html.twig | 25 + .../Configuration/CrudConfigurationTest.php | 47 + .../Bundle/AdminBundle/TrinityAdminBundle.php | 9 + .../Twig/Extension/FieldExtension.php | 76 + .../Controller/DefaultController.php | 85 + .../DependencyInjection/Configuration.php | 106 + .../TrinityAdminMenuExtension.php | 30 + .../Menu/ConfigurationTransformer.php | 117 + .../AdminMenuBundle/Menu/ItemInterface.php | 12 + .../AdminMenuBundle/Menu/ListRenderer.php | 46 + .../AdminMenuBundle/Menu/MenuFactory.php | 43 + .../Bundle/AdminMenuBundle/Menu/MenuItem.php | 45 + .../Resources/config/services.xml | 20 + .../Resources/public/img/logo.png | Bin 0 -> 1917 bytes .../Resources/public/img/logo_grenade.png | Bin 0 -> 15464 bytes .../Resources/public/img/logo_signin.png | Bin 0 -> 3205 bytes .../Resources/public/img/logo_trinity.png | Bin 0 -> 1794 bytes .../views/Default/mainMenu.html.twig | 39 + .../Controller/DefaultControllerTest.php | 13 + .../TrinityAdminMenuBundle.php | 9 + .../Command/BoostrapLessInstallCommand.php | 82 + .../Compressor/CompressorInterface.php | 12 + .../Compressor/LessCssCompressor.php | 110 + .../Compressor/TestCompressor.php | 12 + .../DependencyInjection/Configuration.php | 29 + .../TrinityAssetsExtension.php | 28 + .../Resources/config/services.xml | 24 + .../Resources/views/Default/index.html.twig | 1 + .../Controller/DefaultControllerTest.php | 17 + .../AssetsBundle/TrinityAssetsBundle.php | 9 + .../ContactCrudConfiguration.php | 42 + .../Controller/ContactAdminController.php | 92 + .../Controller/DefaultController.php | 153 + .../DependencyInjection/Configuration.php | 29 + .../TrinityContactExtension.php | 28 + .../ContactBundle/Flash/FlashThanks.php | 13 + .../ContactBundle/Form/Type/BatchType.php | 34 + .../Form/Type/ContactFilterType.php | 66 + .../ContactBundle/Form/Type/ContactType.php | 87 + .../Bundle/ContactBundle/Model/Contact.php | 13 + .../ContactBundle/Model/ContactInterface.php | 14 + .../ContactBundle/Model/ContactPeer.php | 9 + .../ContactBundle/Model/ContactQuery.php | 9 + .../Bundle/ContactBundle/Page/ContactPage.php | 44 + .../ContactBundle/Resources/config/schema.xml | 18 + .../Resources/config/services.xml | 20 + .../ContactBundle/Resources/doc/index.rst | 0 .../Resources/translations/messages.fr.xlf | 39 + .../views/ContactAdmin/edit.html.twig | 1 + .../views/ContactAdmin/fullname.html.twig | 9 + .../views/ContactAdmin/index.html.twig | 26 + .../views/ContactAdmin/message.html.twig | 10 + .../views/ContactAdmin/new.html.twig | 1 + .../Resources/views/Default/email.html.twig | 1 + .../Resources/views/Default/index.html.twig | 10 + .../views/Flash/flashThanks.html.twig | 1 + .../Controller/DefaultControllerTest.php | 17 + .../ContactBundle/TrinityContactBundle.php | 9 + .../Block/BlockManager.php | 66 + .../Block/CheckboxBlock.php | 24 + .../ContentManagerBundle/Block/CodeBlock.php | 19 + .../ContentManagerBundle/Block/FileBlock.php | 148 + .../Block/ObjectBlock.php | 32 + .../ContentManagerBundle/Block/TextBlock.php | 19 + .../ContentManagerBundle/Cache/Varnish.php | 24 + .../Command/CacheClearRoutingCommand.php | 56 + .../Command/CacheClearVarnishCommand.php | 60 + .../Command/RebuildNavPostCopyCommand.php | 126 + .../Configuration/BlockConfiguration.php | 53 + .../Configuration/MenuCrudConfiguration.php | 50 + .../NavigationCrudConfiguration.php | 51 + .../Configuration/PageConfiguration.php | 227 + .../Configuration/PageCrudConfiguration.php | 44 + .../Controller/MenuAdminController.php | 110 + .../Controller/NavigationAdminController.php | 168 + .../Controller/NodeAdminController.php | 560 + .../Controller/PageAdminController.php | 452 + .../Controller/PageController.php | 182 + .../DependencyInjection/Configuration.php | 99 + .../TrinityContentManagerExtension.php | 39 + .../Event/SecurityEvent.php | 42 + .../Exception/BlockNotFoundException.php | 8 + .../Exception/NavigationNotFoundException.php | 10 + .../Exception/NodeAccessDeniedException.php | 9 + .../Exception/NodeNotFoundException.php | 10 + .../NodeUnauthorizedAccessException.php | 9 + .../Exception/PageNotFoundException.php | 10 + .../Form/Type/BlockCheckBoxType.php | 43 + .../Form/Type/BlockCodeType.php | 55 + .../Form/Type/BlockTextType.php | 44 + .../Form/Type/BlockType.php | 43 + .../Form/Type/BlockVersionType.php | 45 + .../Form/Type/FileBlockType.php | 51 + .../Form/Type/FileImageBlockType.php | 53 + .../Form/Type/MenuFilterType.php | 44 + .../Form/Type/MenuType.php | 49 + .../Form/Type/NavFilterType.php | 44 + .../Form/Type/NavType.php | 82 + .../Form/Type/NodeAddType.php | 111 + .../Form/Type/NodeAltType.php | 127 + .../Form/Type/NodeMoveType.php | 51 + .../Form/Type/NodeRemoveType.php | 15 + .../Form/Type/NodeType.php | 271 + .../Form/Type/PageFilterType.php | 53 + .../Form/Type/PageMetasType.php | 46 + .../Form/Type/PagePermissionsType.php | 82 + .../Form/Type/PageSitemapType.php | 69 + .../Form/Type/PageType.php | 48 + .../Form/Type/PageVersionType.php | 50 + .../Form/Type/SimpleFileType.php | 18 + .../Form/Type/TinymceAdvancedBlockType.php | 33 + .../Form/Type/TinymceMediumBlockType.php | 33 + .../Form/Type/TinymceSimpleBlockType.php | 33 + .../Listener/RequestListener.php | 40 + .../Listener/RouterListener.php | 52 + .../Listener/SecurityListener.php | 86 + .../ContentManagerBundle/Model/Block.php | 20 + .../ContentManagerBundle/Model/BlockPeer.php | 9 + .../ContentManagerBundle/Model/BlockQuery.php | 9 + .../Model/BlockVersion.php | 9 + .../Model/BlockVersionPeer.php | 9 + .../Model/BlockVersionQuery.php | 9 + .../ContentManagerBundle/Model/Menu.php | 95 + .../ContentManagerBundle/Model/MenuPeer.php | 54 + .../ContentManagerBundle/Model/MenuQuery.php | 9 + .../Bundle/ContentManagerBundle/Model/Nav.php | 204 + .../ContentManagerBundle/Model/NavFilter.php | 7 + .../ContentManagerBundle/Model/NavPeer.php | 36 + .../ContentManagerBundle/Model/NavQuery.php | 9 + .../ContentManagerBundle/Model/Node.php | 725 + .../ContentManagerBundle/Model/NodePeer.php | 23 + .../ContentManagerBundle/Model/NodeQuery.php | 28 + .../ContentManagerBundle/Model/Page.php | 442 + .../ContentManagerBundle/Model/PagePeer.php | 10 + .../ContentManagerBundle/Model/PageQuery.php | 46 + .../Model/PageVersion.php | 9 + .../Model/PageVersionPeer.php | 9 + .../Model/PageVersionQuery.php | 9 + .../Model/PageableInterface.php | 12 + .../Model/SeoPageInterface.php | 11 + .../Navigation/NavigationInterface.php | 8 + .../Navigation/NavigationSelector.php | 65 + .../NavigationSelectorInterface.php | 23 + .../Page/DecoratorStrategy.php | 61 + .../Page/DecoratorStrategyInterface.php | 18 + .../ContentManagerBundle/Page/DefaultPage.php | 56 + .../Page/EditorialBlockPage.php | 52 + .../ContentManagerBundle/Page/PageManager.php | 104 + .../Page/PageManagerInterface.php | 28 + .../Page/PageManagerSelector.php | 20 + .../Page/PageManagerSelectorInterface.php | 11 + .../ContentManagerBundle/Page/SitemapPage.php | 18 + .../Resources/config/cms_schema.xml | 151 + .../Resources/config/routing/cms.yml | 33 + .../config/routing/editorial_block.yml | 30 + .../Resources/config/routing/menu.yml | 35 + .../Resources/config/routing/navigation.yml | 30 + .../Resources/config/routing/page.yml | 50 + .../Resources/config/services.xml | 110 + .../Resources/config/validation.yml | 31 + .../TrinityContentManagerBundle.fr.yml | 138 + .../Resources/translations/messages.fr.xliff | 267 + .../views/Block/block_checkbox.html.twig | 1 + .../views/Block/block_text.html.twig | 1 + .../views/Block/block_title.html.twig | 3 + .../views/Block/suggestion.html.twig | 14 + .../Resources/views/MenuAdmin/edit.html.twig | 1 + .../Resources/views/MenuAdmin/index.html.twig | 1 + .../Resources/views/MenuAdmin/new.html.twig | 1 + .../views/NavigationAdmin/edit.html.twig | 1 + .../views/NavigationAdmin/index.html.twig | 1 + .../views/NavigationAdmin/new.html.twig | 1 + .../Resources/views/NodeAdmin/edit.html.twig | 278 + .../Resources/views/NodeAdmin/index.html.twig | 250 + .../Resources/views/NodeAdmin/move.html.twig | 53 + .../Resources/views/NodeAdmin/new.html.twig | 151 + .../views/NodeAdmin/remove.html.twig | 38 + .../NodeAdmin/tinymceCmsnodesLink.html.twig | 1 + .../NodeAdmin/tinymceCmsnodesTitle.html.twig | 1 + .../Resources/views/Page/default.html.twig | 7 + .../Resources/views/Page/sitemap.xml.twig | 45 + .../Resources/views/PageAdmin/edit.html.twig | 265 + .../Resources/views/PageAdmin/index.html.twig | 97 + .../views/PageAdmin/message.json.twig | 1 + .../Resources/views/PageAdmin/new.html.twig | 1 + .../PageAdmin/processEditBlocks.html.twig | 1 + .../PageAdmin/processEditMetas.html.twig | 1 + .../PageAdmin/processEditPerms.html.twig | 1 + .../PageAdmin/processEditSitemap.html.twig | 1 + .../views/Utils/breadcrumb.html.twig | 21 + .../views/Utils/dictionary.html.twig | 12 + .../ContentManagerBundle/Routing/Cache.php | 23 + .../Routing/NodeLoader.php | 119 + .../Routing/NodeRoute.php | 83 + .../Routing/NodeUrlResolver.php | 235 + .../ContentManagerBundle/Routing/Router.php | 73 + .../Tests/Block/BlockManagerTest.php | 64 + .../Tests/Block/TextBlockTest.php | 19 + .../Tests/Fixtures/cms_fixtures.yml | 190 + .../Tests/Listener/RequestListenerTest.php | 65 + .../Tests/Listener/RouterListenerTest.php | 32 + .../Tests/Model/NodeTest.php | 71 + .../Navigation/NavigationSelectorTest.php | 78 + .../Tests/Page/DecoratorStrategyTest.php | 65 + .../Tests/Page/PageManagerTest.php | 106 + .../Twig/Extension/BlockExtensionTest.php | 42 + .../TrinityContentManagerBundle.php | 10 + .../TrinityContentManagerEvents.php | 8 + .../Twig/Extension/BlockExtension.php | 98 + .../Twig/Extension/ObjectExtension.php | 76 + .../Twig/Extension/PageExtension.php | 154 + .../Twig/Extension/UrlExtension.php | 272 + .../Controller/DefaultController.php | 55 + .../DashBoard/ConfigurationTransformer.php | 61 + .../DashBoardBundle/DashBoard/DashBoard.php | 62 + .../DependencyInjection/Configuration.php | 73 + .../TrinityDashBoardExtension.php | 39 + .../Exception/DashBoardException.php | 7 + .../Bundle/DashBoardBundle/Item/BasicItem.php | 14 + .../Bundle/DashBoardBundle/Item/Item.php | 33 + .../DashBoardBundle/Item/ModuleItem.php | 43 + .../Resources/config/services.xml | 19 + .../TrinityDashBoardBundle.fr.yml | 4 + .../views/Default/defaultItem.html.twig | 1 + .../views/Default/defaultModuleItem.html.twig | 6 + .../views/Default/defaultZone.html.twig | 32 + .../Resources/views/Default/index.html.twig | 35 + .../TrinityDashBoardBundle.php | 9 + .../Twig/Extension/ItemExtension.php | 38 + .../Twig/Extension/ZoneExtension.php | 38 + .../Bundle/DashBoardBundle/Zone/Zone.php | 112 + .../Block/EditorialBlocksContainerBlock.php | 69 + .../EditorialBlockCrudConfiguration.php | 42 + .../EditorialBlockAdminController.php | 94 + .../DependencyInjection/Configuration.php | 43 + .../TrinityEditorialBlockExtension.php | 31 + .../Form/Type/EditorialBlockFilterType.php | 23 + .../Form/Type/EditorialBlockType.php | 55 + .../EditorialBlocksContainerBlockType.php | 68 + .../Model/EditorialBlock.php | 13 + .../Model/EditorialBlockPeer.php | 9 + .../Model/EditorialBlockQuery.php | 9 + .../Resources/config/schema.xml | 14 + .../Resources/config/services.xml | 20 + .../TrinityEditorialBlockBlundle.fr.yml | 0 .../Resources/translations/messages.fr.xliff | 127 + .../views/Block/block_editorial.html.twig | 10 + .../views/EditorialBlockAdmin/edit.html.twig | 1 + .../views/EditorialBlockAdmin/index.html.twig | 1 + .../views/EditorialBlockAdmin/new.html.twig | 1 + .../Controller/DefaultControllerTest.php | 17 + .../TrinityEditorialBlockBundle.php | 9 + .../IconsTinyMCEAdminController.php | 19 + .../DependencyInjection/Configuration.php | 29 + .../TrinityIconsExtension.php | 28 + .../IconsBundle/Resources/config/services.xml | 20 + .../IconsBundle/Resources/public/css/base.css | 500 + .../Resources/public/css/icons.css | 2237 +++ .../Resources/public/css/responsive.css | 389 + .../Resources/public/css/style.css | 3878 ++++ .../Resources/public/css/switcher.css | 250 + .../Resources/public/fonts/FontAwesome.otf | Bin 0 -> 61896 bytes .../public/fonts/fontawesome-webfont.eot | Bin 0 -> 37405 bytes .../public/fonts/fontawesome-webfont.svg | 399 + .../public/fonts/fontawesome-webfont.ttf | Bin 0 -> 79076 bytes .../public/fonts/fontawesome-webfont.woff | Bin 0 -> 43572 bytes .../Resources/public/images/Untitled-3.png | Bin 0 -> 2891 bytes .../Resources/public/images/about-01.jpg | Bin 0 -> 16998 bytes .../Resources/public/images/about-02.jpg | Bin 0 -> 16006 bytes .../Resources/public/images/about-03.jpg | Bin 0 -> 15956 bytes .../Resources/public/images/about.jpg | Bin 0 -> 14499 bytes .../public/images/accordion-minus.png | Bin 0 -> 2814 bytes .../public/images/accordion-minus@2x.png | Bin 0 -> 2830 bytes .../public/images/accordion-plus.png | Bin 0 -> 2832 bytes .../public/images/accordion-plus@2x.png | Bin 0 -> 2840 bytes .../Resources/public/images/ajax-loader.gif | Bin 0 -> 1737 bytes .../public/images/bg/bedge_grunge.png | Bin 0 -> 87444 bytes .../public/images/bg/brushed_alu.png | Bin 0 -> 11077 bytes .../public/images/bg/crisp_paper_ruffles.png | Bin 0 -> 51777 bytes .../public/images/bg/diamond_upholstery.png | Bin 0 -> 8802 bytes .../Resources/public/images/bg/egg_shell.png | Bin 0 -> 57521 bytes .../Resources/public/images/bg/grey.png | Bin 0 -> 45541 bytes .../public/images/bg/light_toast.png | Bin 0 -> 21906 bytes .../Resources/public/images/bg/linedpaper.png | Bin 0 -> 77595 bytes .../Resources/public/images/bg/noise.png | Bin 0 -> 2487 bytes .../bg/noise_pattern_with_crosslines.png | Bin 0 -> 31739 bytes .../Resources/public/images/bg/purty_wood.png | Bin 0 -> 222357 bytes .../public/images/bg/retina_dust.png | Bin 0 -> 17670 bytes .../public/images/bg/scribble_light.png | Bin 0 -> 42158 bytes .../public/images/bg/subtle_stripes.png | Bin 0 -> 1665 bytes .../public/images/bg/textured_stripes.png | Bin 0 -> 34794 bytes .../images/bg/tileable_wood_texture.png | Bin 0 -> 171492 bytes .../Resources/public/images/bg/vichy.png | Bin 0 -> 2603 bytes .../Resources/public/images/bg/washi.png | Bin 0 -> 5913 bytes .../Resources/public/images/blank.gif | Bin 0 -> 43 bytes .../Resources/public/images/blog-01-large.jpg | Bin 0 -> 28729 bytes .../public/images/blog-01-medium.jpg | Bin 0 -> 63485 bytes .../Resources/public/images/blog-01.jpg | Bin 0 -> 59991 bytes .../public/images/blog-02-medium.jpg | Bin 0 -> 57161 bytes .../public/images/blog-02a-large.jpg | Bin 0 -> 51997 bytes .../Resources/public/images/blog-02a.jpg | Bin 0 -> 66317 bytes .../public/images/blog-02b-large.jpg | Bin 0 -> 40282 bytes .../Resources/public/images/blog-02b.jpg | Bin 0 -> 66353 bytes .../public/images/blog-02c-large.jpg | Bin 0 -> 39073 bytes .../Resources/public/images/blog-02c.jpg | Bin 0 -> 60084 bytes .../public/images/blog-03-medium.jpg | Bin 0 -> 57161 bytes .../Resources/public/images/blog-03.jpg | Bin 0 -> 59991 bytes .../public/images/blog-04-medium.jpg | Bin 0 -> 57161 bytes .../Resources/public/images/breadcrumbs.png | Bin 0 -> 2802 bytes .../public/images/breadcrumbs@2x.png | Bin 0 -> 2865 bytes .../Resources/public/images/categories.png | Bin 0 -> 2827 bytes .../Resources/public/images/categories@2x.png | Bin 0 -> 2901 bytes .../Resources/public/images/comment-arrow.png | Bin 0 -> 2876 bytes .../public/images/fancybox_buttons.png | Bin 0 -> 1080 bytes .../public/images/fancybox_loading.gif | Bin 0 -> 3866 bytes .../public/images/fancybox_overlay.png | Bin 0 -> 1003 bytes .../public/images/fancybox_sprite.png | Bin 0 -> 1362 bytes .../images/glyphicons_halflings-white.png | Bin 0 -> 18321 bytes .../images/glyphicons_halflings-white.svg | 1007 ++ .../public/images/glyphicons_halflings.png | Bin 0 -> 15420 bytes .../public/images/glyphicons_halflings.svg | 1008 ++ .../public/images/icon-list-check.png | Bin 0 -> 2870 bytes .../public/images/icon-list-check@2x.png | Bin 0 -> 2908 bytes .../public/images/icon-list-plus.png | Bin 0 -> 2941 bytes .../public/images/icon-list-plus@2x.png | Bin 0 -> 3077 bytes .../public/images/icon-list-sign.png | Bin 0 -> 2959 bytes .../public/images/icon-list-sign@2x.png | Bin 0 -> 3093 bytes .../public/images/icon-list-star.png | Bin 0 -> 2931 bytes .../public/images/icon-list-star@2x.png | Bin 0 -> 3077 bytes .../public/images/layerslider-loader.gif | Bin 0 -> 5606 bytes .../public/images/layerslider-video.png | Bin 0 -> 3872 bytes .../Resources/public/images/logo-01.png | Bin 0 -> 3385 bytes .../Resources/public/images/logo-footer.png | Bin 0 -> 6008 bytes .../Resources/public/images/logo.png | Bin 0 -> 4234 bytes .../public/images/portfolio-left-hover.png | Bin 0 -> 2824 bytes .../public/images/portfolio-left.png | Bin 0 -> 2825 bytes .../public/images/portfolio-left@2x.png | Bin 0 -> 2901 bytes .../public/images/portfolio-right-hover.png | Bin 0 -> 2820 bytes .../public/images/portfolio-right.png | Bin 0 -> 2837 bytes .../public/images/portfolio-right@2x.png | Bin 0 -> 2901 bytes .../public/images/portfolio/portfolio-01.jpg | Bin 0 -> 23409 bytes .../public/images/portfolio/portfolio-02.jpg | Bin 0 -> 23509 bytes .../public/images/portfolio/portfolio-03.jpg | Bin 0 -> 65197 bytes .../public/images/portfolio/portfolio-04.jpg | Bin 0 -> 29213 bytes .../public/images/portfolio/portfolio-05.jpg | Bin 0 -> 59246 bytes .../public/images/portfolio/portfolio-06.jpg | Bin 0 -> 65670 bytes .../public/images/portfolio/portfolio-07.jpg | Bin 0 -> 65620 bytes .../public/images/portfolio/portfolio-08.jpg | Bin 0 -> 65664 bytes .../public/images/portfolio/portfolio-09.jpg | Bin 0 -> 59296 bytes .../public/images/portfolio/portfolio-10.jpg | Bin 0 -> 59304 bytes .../public/images/portfolio/portfolio-11.jpg | Bin 0 -> 59304 bytes .../public/images/portfolio/portfolio-12.jpg | Bin 0 -> 56286 bytes .../portfolio/single-project-01-large.jpg | Bin 0 -> 64803 bytes .../images/portfolio/single-project-01.jpg | Bin 0 -> 36224 bytes .../portfolio/single-project-02-large.jpg | Bin 0 -> 58332 bytes .../images/portfolio/single-project-02.jpg | Bin 0 -> 36274 bytes .../Resources/public/images/search-2.png | Bin 0 -> 2978 bytes .../Resources/public/images/search-2@2x.png | Bin 0 -> 3362 bytes .../Resources/public/images/search.png | Bin 0 -> 3026 bytes .../Resources/public/images/search@2x.png | Bin 0 -> 3448 bytes .../Resources/public/images/shop-backpack.png | Bin 0 -> 2847 bytes .../Resources/public/images/shop-bike.png | Bin 0 -> 2847 bytes .../Resources/public/images/shop-camera.png | Bin 0 -> 2847 bytes .../Resources/public/images/shop/shop-01.jpg | Bin 0 -> 32224 bytes .../Resources/public/images/shop/shop-02.jpg | Bin 0 -> 19780 bytes .../Resources/public/images/shop/shop-02a.jpg | Bin 0 -> 66242 bytes .../Resources/public/images/shop/shop-02b.jpg | Bin 0 -> 66342 bytes .../Resources/public/images/shop/shop-03.jpg | Bin 0 -> 19780 bytes .../Resources/public/images/shop/shop-04.jpg | Bin 0 -> 19780 bytes .../Resources/public/images/shop/shop-05.jpg | Bin 0 -> 26104 bytes .../Resources/public/images/shop/shop-06.jpg | Bin 0 -> 19780 bytes .../Resources/public/images/shop/shop-07.jpg | Bin 0 -> 18272 bytes .../Resources/public/images/shop/shop-08.jpg | Bin 0 -> 24596 bytes .../Resources/public/images/shop/shop-09.jpg | Bin 0 -> 26050 bytes .../Resources/public/images/slide-01.jpg | Bin 0 -> 14633 bytes .../Resources/public/images/slide-01a.png | Bin 0 -> 5943 bytes .../Resources/public/images/slide-02.png | Bin 0 -> 4805 bytes .../Resources/public/images/slide-02a.png | Bin 0 -> 5469 bytes .../Resources/public/images/slide-02b.png | Bin 0 -> 5469 bytes .../Resources/public/images/slide-02c.png | Bin 0 -> 2853 bytes .../Resources/public/images/slide-02d.png | Bin 0 -> 5270 bytes .../Resources/public/images/slide-02e.png | Bin 0 -> 5275 bytes .../Resources/public/images/slide-03.jpg | Bin 0 -> 25914 bytes .../Resources/public/images/slide-04.jpg | Bin 0 -> 74009 bytes .../Resources/public/images/slide-05.jpg | Bin 0 -> 67740 bytes .../Resources/public/images/slider-left.png | Bin 0 -> 2834 bytes .../public/images/slider-left@2x.png | Bin 0 -> 2880 bytes .../Resources/public/images/slider-right.png | Bin 0 -> 2839 bytes .../public/images/slider-right@2x.png | Bin 0 -> 2886 bytes .../Resources/public/images/social/amazon.png | Bin 0 -> 3110 bytes .../public/images/social/amazon@2x.png | Bin 0 -> 3514 bytes .../public/images/social/blogger.png | Bin 0 -> 3044 bytes .../public/images/social/blogger@2x.png | Bin 0 -> 3270 bytes .../public/images/social/deviantart.png | Bin 0 -> 3028 bytes .../public/images/social/deviantart@2x.png | Bin 0 -> 3329 bytes .../Resources/public/images/social/digg.png | Bin 0 -> 3008 bytes .../public/images/social/digg@2x.png | Bin 0 -> 3265 bytes .../public/images/social/dribbble.png | Bin 0 -> 3097 bytes .../public/images/social/dribbble@2x.png | Bin 0 -> 3784 bytes .../public/images/social/facebook.png | Bin 0 -> 2921 bytes .../public/images/social/facebook@2x.png | Bin 0 -> 3116 bytes .../Resources/public/images/social/flickr.png | Bin 0 -> 2969 bytes .../public/images/social/flickr@2x.png | Bin 0 -> 3163 bytes .../Resources/public/images/social/forrst.png | Bin 0 -> 3042 bytes .../public/images/social/forrst@2x.png | Bin 0 -> 3332 bytes .../Resources/public/images/social/lastfm.png | Bin 0 -> 3087 bytes .../public/images/social/lastfm@2x.png | Bin 0 -> 3487 bytes .../public/images/social/linkedin.png | Bin 0 -> 2958 bytes .../public/images/social/linkedin@2x.png | Bin 0 -> 3225 bytes .../Resources/public/images/social/picasa.png | Bin 0 -> 3108 bytes .../public/images/social/picasa@2x.png | Bin 0 -> 3442 bytes .../public/images/social/pinterest.png | Bin 0 -> 3119 bytes .../public/images/social/pinterest@2x.png | Bin 0 -> 3504 bytes .../Resources/public/images/social/rss.png | Bin 0 -> 3165 bytes .../Resources/public/images/social/rss@2x.png | Bin 0 -> 3508 bytes .../Resources/public/images/social/skype.png | Bin 0 -> 3164 bytes .../public/images/social/skype@2x.png | Bin 0 -> 3616 bytes .../Resources/public/images/social/tumblr.png | Bin 0 -> 3021 bytes .../public/images/social/tumblr@2x.png | Bin 0 -> 3164 bytes .../public/images/social/twitter.png | Bin 0 -> 3028 bytes .../public/images/social/twitter@2x.png | Bin 0 -> 3349 bytes .../Resources/public/images/social/vimeo.png | Bin 0 -> 3051 bytes .../public/images/social/vimeo@2x.png | Bin 0 -> 3349 bytes .../public/images/social/wordpress.png | Bin 0 -> 3161 bytes .../public/images/social/wordpress@2x.png | Bin 0 -> 3623 bytes .../Resources/public/images/social/yahoo.png | Bin 0 -> 3048 bytes .../public/images/social/yahoo@2x.png | Bin 0 -> 3312 bytes .../public/images/social/youtube.png | Bin 0 -> 3156 bytes .../public/images/social/youtube@2x.png | Bin 0 -> 3617 bytes .../Resources/public/images/switcher.png | Bin 0 -> 3032 bytes .../Resources/public/images/switcher@2x.png | Bin 0 -> 3062 bytes .../public/images/testimonials-bg.png | Bin 0 -> 2891 bytes .../Resources/public/images/twitter-01.png | Bin 0 -> 3062 bytes .../Resources/public/images/twitter-01@2x.png | Bin 0 -> 3348 bytes .../Resources/public/tinymce/plugin.js | 28 + .../translations/TrinityIconsBundle.fr.yml | 3 + .../views/IconsTinyMCEAdmin/index.html.twig | 661 + .../Controller/DefaultControllerTest.php | 17 + .../IconsTinyMCEAdminControllerTest.php | 9 + .../Bundle/IconsBundle/TrinityIconsBundle.php | 9 + .../CategoryCrudConfiguration.php | 43 + .../Configuration/MediaCrudConfiguration.php | 53 + .../MediaTinyMCECrudConfiguration.php | 50 + .../Configuration/TypeCrudConfiguration.php | 50 + .../Controller/CategoryAdminController.php | 105 + .../Controller/DefaultController.php | 19 + .../Controller/MediaAdminController.php | 122 + .../MediaTinyMCEAdminController.php | 135 + .../Controller/TypeAdminController.php | 90 + .../DependencyInjection/Configuration.php | 29 + .../TrinityMediaExtension.php | 28 + .../Form/Type/CategoryFilterType.php | 31 + .../MediaBundle/Form/Type/CategoryType.php | 33 + .../MediaBundle/Form/Type/MediaFilterType.php | 38 + .../MediaBundle/Form/Type/MediaType.php | 58 + .../MediaBundle/Form/Type/TypeFilterType.php | 23 + .../Bundle/MediaBundle/Form/Type/TypeType.php | 51 + .../Bundle/MediaBundle/Model/Category.php | 39 + .../Bundle/MediaBundle/Model/CategoryPeer.php | 32 + .../MediaBundle/Model/CategoryQuery.php | 9 + .../Bundle/MediaBundle/Model/Media.php | 95 + .../Bundle/MediaBundle/Model/MediaPeer.php | 9 + .../Bundle/MediaBundle/Model/MediaQuery.php | 36 + src/Trinity/Bundle/MediaBundle/Model/Type.php | 26 + .../Bundle/MediaBundle/Model/TypePeer.php | 29 + .../Bundle/MediaBundle/Model/TypeQuery.php | 9 + .../MediaBundle/Resources/config/schema.xml | 60 + .../MediaBundle/Resources/config/services.xml | 20 + .../Resources/config/validation.yml | 14 + .../Resources/public/tinymce/plugin.js | 28 + .../translations/TrinityMediaBundle.fr.yml | 3 + .../Resources/translations/messages.fr.xliff | 131 + .../views/CategoryAdmin/edit.html.twig | 1 + .../views/CategoryAdmin/index.html.twig | 121 + .../views/CategoryAdmin/new.html.twig | 1 + .../Resources/views/MediaAdmin/edit.html.twig | 1 + .../views/MediaAdmin/filters.html.twig | 74 + .../views/MediaAdmin/img_preview.html.twig | 17 + .../views/MediaAdmin/index.html.twig | 1 + .../Resources/views/MediaAdmin/new.html.twig | 1 + .../views/MediaTinyMCEAdmin/edit.html.twig | 43 + .../views/MediaTinyMCEAdmin/filters.html.twig | 74 + .../views/MediaTinyMCEAdmin/index.html.twig | 158 + .../MediaTinyMCEAdmin/listSelect.html.twig | 3 + .../views/MediaTinyMCEAdmin/new.html.twig | 75 + .../Resources/views/TypeAdmin/edit.html.twig | 1 + .../Resources/views/TypeAdmin/index.html.twig | 1 + .../Resources/views/TypeAdmin/new.html.twig | 1 + .../Controller/DefaultControllerTest.php | 17 + .../Bundle/MediaBundle/TrinityMediaBundle.php | 9 + .../Configuration/ModelConfiguration.php | 39 + .../Configuration/ModelCrudConfiguration.php | 37 + .../NewsletterCrudConfiguration.php | 40 + .../Controller/ModelAdminController.php | 160 + .../Controller/NewsletterAdminController.php | 194 + .../Controller/NewsletterController.php | 122 + .../DependencyInjection/Configuration.php | 56 + .../TrinityNewsletterExtension.php | 30 + .../AddBlockFieldsSubscriber.php | 38 + .../NewsletterBundle/Form/Type/BlockType.php | 44 + .../Form/Type/ModelFilterType.php | 23 + .../NewsletterBundle/Form/Type/ModelType.php | 75 + .../Form/Type/NewsletterFilterType.php | 43 + .../Form/Type/NewsletterType.php | 45 + .../Form/Type/TinymceAdvancedBlockType.php | 33 + .../Bundle/NewsletterBundle/Model/Block.php | 20 + .../NewsletterBundle/Model/BlockPeer.php | 9 + .../NewsletterBundle/Model/BlockQuery.php | 9 + .../NewsletterBundle/Model/BlockVersion.php | 9 + .../Model/BlockVersionPeer.php | 9 + .../Model/BlockVersionQuery.php | 9 + .../NewsletterBundle/Model/DefaultModel.php | 54 + .../Bundle/NewsletterBundle/Model/Model.php | 142 + .../NewsletterBundle/Model/ModelPeer.php | 9 + .../NewsletterBundle/Model/ModelQuery.php | 9 + .../NewsletterBundle/Model/ModelVersion.php | 9 + .../Model/ModelVersionPeer.php | 9 + .../Model/ModelVersionQuery.php | 9 + .../NewsletterBundle/Model/Newsletter.php | 67 + .../NewsletterBundle/Model/NewsletterPeer.php | 9 + .../Model/NewsletterQuery.php | 9 + .../Model/NewsletterRecipients.php | 9 + .../Model/NewsletterRecipientsPeer.php | 9 + .../Model/NewsletterRecipientsQuery.php | 9 + .../Resources/config/schema.xml | 65 + .../Resources/config/services.yml | 7 + .../Resources/translations/messages.fr.xlf | 91 + .../views/Block/block_text.html.twig | 1 + .../Resources/views/Default/index.html.twig | 27 + .../views/Default/unsubscribe.html.twig | 1 + .../views/ModelAdmin/class_key.html.twig | 0 .../Resources/views/ModelAdmin/edit.html.twig | 9 + .../views/ModelAdmin/index.html.twig | 115 + .../Resources/views/ModelAdmin/new.html.twig | 1 + .../views/ModelAdmin/template.html.twig | 0 .../views/Newsletter/subscribe.html.twig | 17 + .../Newsletter/subscribe_thanks.html.twig | 1 + .../views/NewsletterAdmin/edit.html.twig | 1 + .../views/NewsletterAdmin/index.html.twig | 1 + .../NewsletterAdmin/listPreview.html.twig | 3 + .../views/NewsletterAdmin/listSend.html.twig | 5 + .../views/NewsletterAdmin/new.html.twig | 1 + .../Controller/DefaultControllerTest.php | 17 + .../TrinityNewsletterBundle.php | 9 + .../NotificationCrudConfiguration.php | 53 + .../TemplateCrudConfiguration.php | 64 + .../NotificationAdminController.php | 93 + .../Controller/TemplateAdminController.php | 109 + .../DependencyInjection/Configuration.php | 33 + .../TrinityNotificationExtension.php | 30 + .../Form/Type/NotificationFilterType.php | 50 + .../Form/Type/NotificationType.php | 28 + .../Form/Type/TemplateFilterType.php | 29 + .../Form/Type/TemplateType.php | 114 + .../NotificationBundle/Model/Notification.php | 9 + .../Model/NotificationPeer.php | 9 + .../Model/NotificationQuery.php | 9 + .../NotificationBundle/Model/Template.php | 13 + .../NotificationBundle/Model/TemplatePeer.php | 9 + .../Model/TemplateQuery.php | 9 + .../Notifier/AbstractNotifier.php | 32 + .../Notifier/BasicNotifier.php | 101 + .../Notifier/EmailNotifier.php | 76 + .../Resources/config/propel/schema.xml | 31 + .../Resources/config/services.xml | 20 + .../Resources/config/validation.yml | 4 + .../images/dashboard/Align-Justify-48.png | Bin 0 -> 9344 bytes .../public/images/dashboard/Message-48.png | Bin 0 -> 9344 bytes .../Resources/translations/messages.fr.xlf | 55 + .../views/MessageAdmin/edit.html.twig | 1 + .../views/MessageAdmin/index.html.twig | 1 + .../views/MessageAdmin/nature.html.twig | 1 + .../views/MessageAdmin/new.html.twig | 1 + .../views/NotificationAdmin/edit.html.twig | 1 + .../views/NotificationAdmin/index.html.twig | 1 + .../views/NotificationAdmin/new.html.twig | 1 + .../views/NotificationAdmin/user.html.twig | 3 + .../views/TemplateAdmin/edit.html.twig | 1 + .../views/TemplateAdmin/index.html.twig | 1 + .../views/TemplateAdmin/new.html.twig | 1 + .../TrinityNotificationBundle.php | 9 + .../Command/BuildIndexCommand.php | 212 + .../Controller/SearchController.php | 130 + .../DependencyInjection/Configuration.php | 29 + .../TrinitySearchExtension.php | 28 + .../Bundle/SearchBundle/Event/LuceneEvent.php | 43 + .../EventListener/LuceneSubscriber.php | 57 + .../SearchBundle/Model/IndexableInterface.php | 19 + .../SearchBundle/Model/SearchObject.php | 59 + .../Bundle/SearchBundle/Page/SearchPage.php | 88 + .../Resources/config/services.xml | 18 + .../Resources/views/Search/index.html.twig | 1 + .../SearchBundle/TrinitySearchBundle.php | 9 + .../SearchBundle/TrinitySearchEvents.php | 21 + .../Twig/Extension/HighlightExtension.php | 27 + .../AccessControl/AccessControlInterface.php | 8 + .../AccessControl/RouteAccessControl.php | 67 + .../DependencyInjection/Configuration.php | 29 + .../TrinitySecurityExtension.php | 28 + .../Resources/config/services.xml | 19 + .../Resources/views/Default/index.html.twig | 1 + .../Controller/DefaultControllerTest.php | 13 + .../SecurityBundle/TrinitySecurityBundle.php | 9 + .../Block/SlideshowItemsContainerBlock.php | 54 + .../DependencyInjection/Configuration.php | 29 + .../TrinitySlideshowExtension.php | 28 + .../Form/Extension/Type/FileImageType.php | 29 + .../Form/Extension/Type/PersoType.php | 54 + .../Form/Type/SlideshowItemType.php | 57 + .../Type/SlideshowItemsContainerBlockType.php | 56 + .../SlideshowBundle/Model/SlideshowItem.php | 9 + .../Model/SlideshowItemPeer.php | 9 + .../Model/SlideshowItemQuery.php | 9 + .../Resources/config/schema.xml | 32 + .../Resources/config/services.xml | 20 + .../Resources/public/js/style.js | 82 + .../TrinitySlideshowBundle.fr.yml | 29 + .../Resources/translations/messages.fr.xliff | 15 + .../Resources/views/Block/slideshow.html.twig | 8 + .../views/Form/field_slideshow.html.twig | 46 + .../Controller/DefaultControllerTest.php | 17 + .../TrinitySlideshowBundle.php | 9 + .../Configuration/GroupCrudConfiguration.php | 47 + .../Configuration/UserCrudConfiguration.php | 61 + .../UserLogCrudConfiguration.php | 38 + .../Controller/GroupAdminController.php | 88 + .../Controller/ProfileAdminController.php | 109 + .../Controller/SecurityAdminController.php | 92 + .../Controller/SecurityController.php | 13 + .../Controller/UserAdminController.php | 172 + .../Controller/UserLogAdminController.php | 90 + .../DependencyInjection/Configuration.php | 35 + .../TrinityUserExtension.php | 31 + src/Trinity/Bundle/UserBundle/Flash/Flash.php | 20 + .../UserBundle/Flash/FlashContainer.php | 25 + .../Bundle/UserBundle/Flash/FlashError.php | 11 + .../Bundle/UserBundle/Flash/FlashNotice.php | 11 + .../Bundle/UserBundle/Flash/FlashSuccess.php | 11 + .../Bundle/UserBundle/Flash/FlashWarning.php | 11 + .../EventListener/AddCodeFieldSubscriber.php | 36 + .../UserBundle/Form/Type/GroupFilterType.php | 43 + .../Bundle/UserBundle/Form/Type/GroupType.php | 62 + .../UserBundle/Form/Type/MyProfileType.php | 32 + .../UserBundle/Form/Type/ProfileType.php | 25 + .../UserBundle/Form/Type/UserFilterType.php | 79 + .../UserBundle/Form/Type/UserGroupType.php | 21 + .../UserBundle/Form/Type/UserLogBatchType.php | 35 + .../Form/Type/UserLogFilterType.php | 24 + .../UserBundle/Form/Type/UserLogType.php | 44 + .../Bundle/UserBundle/Form/Type/UserType.php | 114 + .../Handler/AuthenticationFailureHandler.php | 46 + .../Handler/AuthenticationSuccessHandler.php | 38 + src/Trinity/Bundle/UserBundle/LICENCE | 19 + .../Bundle/UserBundle/Model/UserPeer.php | 14 + .../Bundle/UserBundle/Model/UserQuery.php | 24 + .../UserBundle/Resources/config/routing.yml | 30 + .../UserBundle/Resources/config/services.xml | 56 + .../translations/TrinityUserBundle.fr.yml | 17 + .../Resources/translations/messages.fr.xliff | 131 + .../Resources/views/Default/index.html.twig | 1 + .../Resources/views/GroupAdmin/edit.html.twig | 1 + .../views/GroupAdmin/index.html.twig | 1 + .../Resources/views/GroupAdmin/new.html.twig | 1 + .../views/GroupAdmin/roles.html.twig | 3 + .../views/Profile/Admin/edit.html.twig | 5 + .../Profile/Admin/edit_content.html.twig | 29 + .../views/Profile/Admin/show.html.twig | 19 + .../Profile/Admin/show_content.html.twig | 6 + .../views/Security/Admin/login.html.twig | 45 + .../views/Security/Admin/loginXHR.html.twig | 26 + .../Resources/views/UserAdmin/edit.html.twig | 1 + .../UserAdmin/generatePasswordEmail.html.twig | 12 + .../views/UserAdmin/groups.html.twig | 7 + .../Resources/views/UserAdmin/index.html.twig | 1 + .../views/UserAdmin/indexExport.html.twig | 4 + .../UserAdmin/listGeneratePassword.html.twig | 3 + .../views/UserAdmin/listSwitch.html.twig | 7 + .../Resources/views/UserAdmin/new.html.twig | 1 + .../Resources/views/UserAdmin/roles.html.twig | 3 + .../views/UserLogAdmin/edit.html.twig | 1 + .../views/UserLogAdmin/index.html.twig | 1 + .../views/UserLogAdmin/new.html.twig | 1 + .../Resources/views/admin_layout.html.twig | 5 + .../UserBundle/Storage/SessionStorage.php | 98 + .../Bundle/UserBundle/Storage/Storage.php | 10 + .../Bundle/UserBundle/TrinityUserBundle.php | 13 + .../Bundle/UserBundle/User/SessionUser.php | 85 + .../Bundle/UserBundle/User/UserLog.php | 36 + .../Bundle/UserBundle/User/UserRegister.php | 184 + .../Controller/VarsAdminController.php | 186 + .../DependencyInjection/Configuration.php | 31 + .../TrinityVarsEditorExtension.php | 30 + .../Resources/config/services.xml | 21 + .../translations/VarsEditorBundle.fr.yml | 3 + .../Resources/translations/messages.fr.xliff | 11 + .../Resources/views/VarsAdmin/index.html.twig | 104 + .../VarsEditorBundle/Service/Config.php | 80 + .../Controller/DefaultControllerTest.php | 17 + .../TrinityVarsEditorBundle.php | 9 + .../Twig/Extension/GlobalVarsExtension.php | 33 + .../DependencyInjection/Configuration.php | 29 + .../TrinityWidgetExtension.php | 28 + .../Resources/config/services.xml | 8 + .../translations/TrinityWidgetBundle.fr.yml | 17 + .../views/Form/field_type_help.html.twig | 20 + .../Resources/views/Form/fields.html.twig | 148 + .../Controller/DefaultControllerTest.php | 17 + .../WidgetBundle/TrinityWidgetBundle.php | 9 + .../Exception/FileMethodNotFoundException.php | 7 + .../Component/File/FileUploadInterface.php | 13 + .../StringToFileTransformer.php | 39 + .../EventListener/FileDeleteFormListener.php | 81 + .../Propel/CustomSluggableBehavior.php | 436 + .../Propel/I18nSluggableBehavior.php | 28 + .../Component/Propel/UploadableBehavior.php | 578 + src/Trinity/Component/Tests/TestCase.php | 40 + src/Trinity/Component/Tests/WebTestCase.php | 37 + src/Trinity/Component/Utils/ArrayFilter.php | 13 + src/Trinity/Component/Utils/Image.php | 150 + src/Trinity/Component/Utils/Propel.php | 27 + src/Trinity/Component/Utils/VarFilter.php | 64 + 1233 files changed, 97467 insertions(+) create mode 100644 .gitignore create mode 100644 composer.json create mode 100644 src/Trinity/Bundle/AdminBreadcrumbsBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/AdminBreadcrumbsBundle/DependencyInjection/TrinityAdminBreadcrumbsExtension.php create mode 100644 src/Trinity/Bundle/AdminBreadcrumbsBundle/Listener/RequestListener.php create mode 100644 src/Trinity/Bundle/AdminBreadcrumbsBundle/Model/Breadcrumb.php create mode 100644 src/Trinity/Bundle/AdminBreadcrumbsBundle/Model/BreadcrumbItem.php create mode 100644 src/Trinity/Bundle/AdminBreadcrumbsBundle/Model/BreadcrumbManager.php create mode 100644 src/Trinity/Bundle/AdminBreadcrumbsBundle/Resources/config/services.xml create mode 100644 src/Trinity/Bundle/AdminBreadcrumbsBundle/Resources/translations/TrinityAdminBreadcrumbsBundle.fr.yml create mode 100644 src/Trinity/Bundle/AdminBreadcrumbsBundle/Resources/views/Utils/breadcrumb.html.twig create mode 100644 src/Trinity/Bundle/AdminBreadcrumbsBundle/TrinityAdminBreadcrumbsBundle.php create mode 100644 src/Trinity/Bundle/AdminBreadcrumbsBundle/Twig/Extension/BreadcrumbExtension.php create mode 100644 src/Trinity/Bundle/AdminBundle/Command/GenerateCrudCommand.php create mode 100644 src/Trinity/Bundle/AdminBundle/Configuration/CrudConfiguration.php create mode 100644 src/Trinity/Bundle/AdminBundle/Controller/BaseAdminController.php create mode 100644 src/Trinity/Bundle/AdminBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/AdminBundle/DependencyInjection/TrinityAdminExtension.php create mode 100644 src/Trinity/Bundle/AdminBundle/Exception/FilterMethodNotFoundException.php create mode 100644 src/Trinity/Bundle/AdminBundle/Exception/ModelNotFoundAdminException.php create mode 100644 src/Trinity/Bundle/AdminBundle/Exception/RequestAdminException.php create mode 100644 src/Trinity/Bundle/AdminBundle/File/FileUploadCallback.php create mode 100644 src/Trinity/Bundle/AdminBundle/File/FileUploadInterface.php create mode 100644 src/Trinity/Bundle/AdminBundle/Form/Type/BatchType.php create mode 100644 src/Trinity/Bundle/AdminBundle/Form/Type/FilterBooleanType.php create mode 100644 src/Trinity/Bundle/AdminBundle/Form/Type/RankType.php create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/config/services.xml create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen-sprite.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen-sprite@2x.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.css create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.jquery.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.jquery.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.min.css create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.proto.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.proto.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/chosen/docsupport/chosen.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/chosen/docsupport/oss-credit.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/chosen/docsupport/prism.css create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/chosen/docsupport/prism.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/chosen/docsupport/style.css create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/chosen/index.html create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/chosen/index.proto.html create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/chosen/options.html create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/accordion.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/alerts.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/alerts_badges.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/background-stripe.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/bootstrap-responsive.css create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/bootstrap.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/bootstrap_.css create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/breadcrumbs.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/button-groups.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/buttons.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/carousel.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/close.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/code.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/component-animations.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/dropdowns.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/fileupload.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/forms.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/grid.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/hero-unit.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/jquery.contextMenu.css create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/jquery.timepicker.css create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/labels.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/layouts.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/menu.css create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/mixins.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/modals.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/navbar.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/navs.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/pager.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/pagination.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/popovers.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/progress-bars.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/reset.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/responsive.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/scaffolding.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/sprites.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/style.css create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/tables.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/thumbnails.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/tinymce.css create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/tooltip.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/type.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/animated-overlay.gif create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_glass_20_555555_1x400.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_glass_40_0078a3_1x400.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_gloss-wave_25_333333_500x100.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_inset-soft_30_f58400_1x100.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-icons_222222_256x240.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-icons_4b8e0b_256x240.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-icons_a83300_256x240.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-icons_cccccc_256x240.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-icons_ffffff_256x240.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/jquery-ui-1.10.1.custom.css create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/jquery-ui-1.10.1.custom.min.css create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/animated-overlay.gif create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-icons_222222_256x240.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-icons_228ef1_256x240.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-icons_ef8c08_256x240.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-icons_ffd27a_256x240.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-icons_ffffff_256x240.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/jquery-ui-1.10.1.custom.css create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/jquery-ui-1.10.1.custom.min.css create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/utilities.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/variables.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/css/wells.less create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/25-Folder.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/7-Image capture.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/Crown.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/News_source.1.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/News_source.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/Transport.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/addons.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/analysis.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/application-excel.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/arrows.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/bloc-sign-up.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/bluepage.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/bluevalid.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/book.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/breadcrumb_item_right.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/calendar.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/campaign.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/career.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/catalog.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/clear_texture_cache.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/colors.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/comment.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/comments.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/compa.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/companies.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/configuration_edit.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/conso_type.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/contact.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/content-tree.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/contract_type.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/ct/add.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/ct/drag.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/ct/edit-page.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/ct/edit.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/ct/remove.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/date.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/earth.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/emergency.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/evenements.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/event.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/faq.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/flags/de.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/flags/en.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/flags/fr.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/folder_grey.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/folder_home.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/footer.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/form.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/glossary.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/glyphicons-halflings-grey.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/glyphicons-halflings-white.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/glyphicons-halflings.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/hand.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/icon1.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/icon10.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/icon11.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/icon12.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/icon13.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/icon2.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/icon3.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/icon4.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/icon5.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/icon6.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/icon7.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/icon8.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/icon9.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/import.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/kblogger.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/loading.gif create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/maps.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/media.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/megamenu.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/message.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/minus.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/moment.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/node_position.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/page.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/partners.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/pen.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/permissions.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/person.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/plus.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/poll.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/press.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/product.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/product_folder.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/profession.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/professionnal_function.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/puzzle.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/question.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/questions-1.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/questions.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/saga.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/sign-up.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/so_reporter.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/stats.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/testimoli.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/town.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/urlpicker.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/user.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/users.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/video_folder.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/img/videos.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/webtv_category.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/webtv_video.png create mode 100755 src/Trinity/Bundle/AdminBundle/Resources/public/img/works.png create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/admin.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/bootstrap-affix.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/bootstrap-alert.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/bootstrap-button.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/bootstrap-carousel.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/bootstrap-collapse.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/bootstrap-dropdown.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/bootstrap-fileupload.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/bootstrap-modal.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/bootstrap-popover.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/bootstrap-scrollspy.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/bootstrap-tab.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/bootstrap-tooltip.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/bootstrap-transition.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/bootstrap-typeahead.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/bootstrap.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/jquery-ui.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/jquery.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/jquery.timepicker.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/superclick.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery-ui-i18n.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-af.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-ar-DZ.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-ar.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-az.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-be.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-bg.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-bs.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-ca.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-cs.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-cy-GB.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-da.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-de.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-el.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-en-AU.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-en-GB.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-en-NZ.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-eo.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-es.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-et.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-eu.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-fa.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-fi.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-fo.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-fr-CA.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-fr-CH.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-fr.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-gl.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-he.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-hi.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-hr.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-hu.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-hy.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-id.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-is.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-it.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-ja.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-ka.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-kk.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-km.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-ko.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-ky.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-lb.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-lt.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-lv.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-mk.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-ml.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-ms.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-nb.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-nl-BE.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-nl.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-nn.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-no.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-pl.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-pt-BR.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-pt.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-rm.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-ro.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-ru.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-sk.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-sl.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-sq.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-sr-SR.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-sr.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-sv.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-ta.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-th.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-tj.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-tr.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-uk.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-vi.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-zh-CN.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-zh-HK.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/i18n/jquery.ui.datepicker-zh-TW.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery-ui.custom.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.contextMenu.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.accordion.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.autocomplete.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.button.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.core.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.datepicker.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.dialog.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.draggable.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.droppable.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.effect-blind.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.effect-bounce.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.effect-clip.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.effect-drop.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.effect-explode.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.effect-fade.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.effect-fold.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.effect-highlight.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.effect-pulsate.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.effect-scale.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.effect-shake.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.effect-slide.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.effect-transfer.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.effect.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.menu.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.mouse.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.position.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.progressbar.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.resizable.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.selectable.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.slider.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.sortable.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.spinner.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.tabs.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.tooltip.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/jquery.ui.widget.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery-ui-i18n.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-af.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-ar-DZ.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-ar.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-az.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-be.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-bg.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-bs.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-ca.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-cs.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-cy-GB.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-da.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-de.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-el.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-en-AU.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-en-GB.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-en-NZ.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-eo.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-es.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-et.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-eu.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-fa.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-fi.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-fo.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-fr-CA.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-fr-CH.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-fr.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-gl.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-he.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-hi.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-hr.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-hu.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-hy.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-id.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-is.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-it.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-ja.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-ka.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-kk.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-km.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-ko.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-ky.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-lb.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-lt.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-lv.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-mk.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-ml.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-ms.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-nb.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-nl-BE.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-nl.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-nn.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-no.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-pl.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-pt-BR.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-pt.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-rm.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-ro.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-ru.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-sk.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-sl.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-sq.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-sr-SR.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-sr.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-sv.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-ta.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-th.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-tj.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-tr.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-uk.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-vi.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-zh-CN.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-zh-HK.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/i18n/jquery.ui.datepicker-zh-TW.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery-ui.custom.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.accordion.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.autocomplete.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.button.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.core.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.datepicker.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.dialog.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.draggable.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.droppable.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.effect-blind.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.effect-bounce.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.effect-clip.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.effect-drop.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.effect-explode.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.effect-fade.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.effect-fold.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.effect-highlight.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.effect-pulsate.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.effect-scale.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.effect-shake.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.effect-slide.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.effect-transfer.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.effect.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.menu.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.mouse.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.position.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.progressbar.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.resizable.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.selectable.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.slider.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.sortable.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.spinner.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.tabs.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.tooltip.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/public/js/ui/minified/jquery.ui.widget.min.js create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/translations/TrinityAdminBundle.fr.yml create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/translations/messages.fr.xliff create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/bool.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/date.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/default.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/editForm.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/editTop.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/export.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/filters.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/flash.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/flashError.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/flashNotice.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/flashSuccess.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/flashWarning.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/form.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/history.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/image.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/indexActions.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/indexContextMenu.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/indexExport.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/indexForm.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/indexNew.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/indexRankableForm.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/indexTbody.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/indexTfoot.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/indexThead.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/indexTop.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/javascripts.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/javascriptsBase.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/jsTranslation.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/listDefault.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/listEdit.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/listRemove.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/newForm.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/newTop.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/pager.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/panel.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/rank.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/raw.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/stylesheets.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/BaseAdmin/stylesheetsBase.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/Form/filterFields.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Resources/views/layout.html.twig create mode 100644 src/Trinity/Bundle/AdminBundle/Tests/Configuration/CrudConfigurationTest.php create mode 100644 src/Trinity/Bundle/AdminBundle/TrinityAdminBundle.php create mode 100644 src/Trinity/Bundle/AdminBundle/Twig/Extension/FieldExtension.php create mode 100644 src/Trinity/Bundle/AdminMenuBundle/Controller/DefaultController.php create mode 100644 src/Trinity/Bundle/AdminMenuBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/AdminMenuBundle/DependencyInjection/TrinityAdminMenuExtension.php create mode 100644 src/Trinity/Bundle/AdminMenuBundle/Menu/ConfigurationTransformer.php create mode 100644 src/Trinity/Bundle/AdminMenuBundle/Menu/ItemInterface.php create mode 100644 src/Trinity/Bundle/AdminMenuBundle/Menu/ListRenderer.php create mode 100644 src/Trinity/Bundle/AdminMenuBundle/Menu/MenuFactory.php create mode 100644 src/Trinity/Bundle/AdminMenuBundle/Menu/MenuItem.php create mode 100644 src/Trinity/Bundle/AdminMenuBundle/Resources/config/services.xml create mode 100644 src/Trinity/Bundle/AdminMenuBundle/Resources/public/img/logo.png create mode 100755 src/Trinity/Bundle/AdminMenuBundle/Resources/public/img/logo_grenade.png create mode 100644 src/Trinity/Bundle/AdminMenuBundle/Resources/public/img/logo_signin.png create mode 100644 src/Trinity/Bundle/AdminMenuBundle/Resources/public/img/logo_trinity.png create mode 100644 src/Trinity/Bundle/AdminMenuBundle/Resources/views/Default/mainMenu.html.twig create mode 100644 src/Trinity/Bundle/AdminMenuBundle/Tests/Controller/DefaultControllerTest.php create mode 100644 src/Trinity/Bundle/AdminMenuBundle/TrinityAdminMenuBundle.php create mode 100644 src/Trinity/Bundle/AssetsBundle/Command/BoostrapLessInstallCommand.php create mode 100644 src/Trinity/Bundle/AssetsBundle/Compressor/CompressorInterface.php create mode 100644 src/Trinity/Bundle/AssetsBundle/Compressor/LessCssCompressor.php create mode 100644 src/Trinity/Bundle/AssetsBundle/Compressor/TestCompressor.php create mode 100644 src/Trinity/Bundle/AssetsBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/AssetsBundle/DependencyInjection/TrinityAssetsExtension.php create mode 100644 src/Trinity/Bundle/AssetsBundle/Resources/config/services.xml create mode 100644 src/Trinity/Bundle/AssetsBundle/Resources/views/Default/index.html.twig create mode 100644 src/Trinity/Bundle/AssetsBundle/Tests/Controller/DefaultControllerTest.php create mode 100644 src/Trinity/Bundle/AssetsBundle/TrinityAssetsBundle.php create mode 100644 src/Trinity/Bundle/ContactBundle/Configuration/ContactCrudConfiguration.php create mode 100644 src/Trinity/Bundle/ContactBundle/Controller/ContactAdminController.php create mode 100644 src/Trinity/Bundle/ContactBundle/Controller/DefaultController.php create mode 100644 src/Trinity/Bundle/ContactBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/ContactBundle/DependencyInjection/TrinityContactExtension.php create mode 100644 src/Trinity/Bundle/ContactBundle/Flash/FlashThanks.php create mode 100644 src/Trinity/Bundle/ContactBundle/Form/Type/BatchType.php create mode 100644 src/Trinity/Bundle/ContactBundle/Form/Type/ContactFilterType.php create mode 100644 src/Trinity/Bundle/ContactBundle/Form/Type/ContactType.php create mode 100644 src/Trinity/Bundle/ContactBundle/Model/Contact.php create mode 100644 src/Trinity/Bundle/ContactBundle/Model/ContactInterface.php create mode 100644 src/Trinity/Bundle/ContactBundle/Model/ContactPeer.php create mode 100644 src/Trinity/Bundle/ContactBundle/Model/ContactQuery.php create mode 100644 src/Trinity/Bundle/ContactBundle/Page/ContactPage.php create mode 100644 src/Trinity/Bundle/ContactBundle/Resources/config/schema.xml create mode 100644 src/Trinity/Bundle/ContactBundle/Resources/config/services.xml create mode 100644 src/Trinity/Bundle/ContactBundle/Resources/doc/index.rst create mode 100644 src/Trinity/Bundle/ContactBundle/Resources/translations/messages.fr.xlf create mode 100644 src/Trinity/Bundle/ContactBundle/Resources/views/ContactAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/ContactBundle/Resources/views/ContactAdmin/fullname.html.twig create mode 100644 src/Trinity/Bundle/ContactBundle/Resources/views/ContactAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/ContactBundle/Resources/views/ContactAdmin/message.html.twig create mode 100644 src/Trinity/Bundle/ContactBundle/Resources/views/ContactAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/ContactBundle/Resources/views/Default/email.html.twig create mode 100644 src/Trinity/Bundle/ContactBundle/Resources/views/Default/index.html.twig create mode 100644 src/Trinity/Bundle/ContactBundle/Resources/views/Flash/flashThanks.html.twig create mode 100644 src/Trinity/Bundle/ContactBundle/Tests/Controller/DefaultControllerTest.php create mode 100644 src/Trinity/Bundle/ContactBundle/TrinityContactBundle.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Block/BlockManager.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Block/CheckboxBlock.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Block/CodeBlock.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Block/FileBlock.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Block/ObjectBlock.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Block/TextBlock.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Cache/Varnish.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Command/CacheClearRoutingCommand.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Command/CacheClearVarnishCommand.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Command/RebuildNavPostCopyCommand.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Configuration/BlockConfiguration.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Configuration/MenuCrudConfiguration.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Configuration/NavigationCrudConfiguration.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Configuration/PageConfiguration.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Configuration/PageCrudConfiguration.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Controller/MenuAdminController.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Controller/NavigationAdminController.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Controller/NodeAdminController.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Controller/PageAdminController.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Controller/PageController.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/DependencyInjection/TrinityContentManagerExtension.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Event/SecurityEvent.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Exception/BlockNotFoundException.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Exception/NavigationNotFoundException.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Exception/NodeAccessDeniedException.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Exception/NodeNotFoundException.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Exception/NodeUnauthorizedAccessException.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Exception/PageNotFoundException.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/BlockCheckBoxType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/BlockCodeType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/BlockTextType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/BlockType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/BlockVersionType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/FileBlockType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/FileImageBlockType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/MenuFilterType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/MenuType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/NavFilterType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/NavType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/NodeAddType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/NodeAltType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/NodeMoveType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/NodeRemoveType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/NodeType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/PageFilterType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/PageMetasType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/PagePermissionsType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/PageSitemapType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/PageType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/PageVersionType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/SimpleFileType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/TinymceAdvancedBlockType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/TinymceMediumBlockType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Form/Type/TinymceSimpleBlockType.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Listener/RequestListener.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Listener/RouterListener.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Listener/SecurityListener.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/Block.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/BlockPeer.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/BlockQuery.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/BlockVersion.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/BlockVersionPeer.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/BlockVersionQuery.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/Menu.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/MenuPeer.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/MenuQuery.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/Nav.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/NavFilter.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/NavPeer.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/NavQuery.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/Node.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/NodePeer.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/NodeQuery.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/Page.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/PagePeer.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/PageQuery.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/PageVersion.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/PageVersionPeer.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/PageVersionQuery.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/PageableInterface.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Model/SeoPageInterface.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Navigation/NavigationInterface.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Navigation/NavigationSelector.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Navigation/NavigationSelectorInterface.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Page/DecoratorStrategy.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Page/DecoratorStrategyInterface.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Page/DefaultPage.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Page/EditorialBlockPage.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Page/PageManager.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Page/PageManagerInterface.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Page/PageManagerSelector.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Page/PageManagerSelectorInterface.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Page/SitemapPage.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/config/cms_schema.xml create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/config/routing/cms.yml create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/config/routing/editorial_block.yml create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/config/routing/menu.yml create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/config/routing/navigation.yml create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/config/routing/page.yml create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/config/services.xml create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/config/validation.yml create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/translations/TrinityContentManagerBundle.fr.yml create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/translations/messages.fr.xliff create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/Block/block_checkbox.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/Block/block_text.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/Block/block_title.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/Block/suggestion.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/MenuAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/MenuAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/MenuAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/NavigationAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/NavigationAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/NavigationAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/NodeAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/NodeAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/NodeAdmin/move.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/NodeAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/NodeAdmin/remove.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/NodeAdmin/tinymceCmsnodesLink.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/NodeAdmin/tinymceCmsnodesTitle.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/Page/default.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/Page/sitemap.xml.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/PageAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/PageAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/PageAdmin/message.json.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/PageAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/PageAdmin/processEditBlocks.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/PageAdmin/processEditMetas.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/PageAdmin/processEditPerms.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/PageAdmin/processEditSitemap.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/Utils/breadcrumb.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Resources/views/Utils/dictionary.html.twig create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Routing/Cache.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Routing/NodeLoader.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Routing/NodeRoute.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Routing/NodeUrlResolver.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Routing/Router.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Tests/Block/BlockManagerTest.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Tests/Block/TextBlockTest.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Tests/Fixtures/cms_fixtures.yml create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Tests/Listener/RequestListenerTest.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Tests/Listener/RouterListenerTest.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Tests/Model/NodeTest.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Tests/Navigation/NavigationSelectorTest.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Tests/Page/DecoratorStrategyTest.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Tests/Page/PageManagerTest.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Tests/Twig/Extension/BlockExtensionTest.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/TrinityContentManagerBundle.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/TrinityContentManagerEvents.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Twig/Extension/BlockExtension.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Twig/Extension/ObjectExtension.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Twig/Extension/PageExtension.php create mode 100644 src/Trinity/Bundle/ContentManagerBundle/Twig/Extension/UrlExtension.php create mode 100644 src/Trinity/Bundle/DashBoardBundle/Controller/DefaultController.php create mode 100644 src/Trinity/Bundle/DashBoardBundle/DashBoard/ConfigurationTransformer.php create mode 100644 src/Trinity/Bundle/DashBoardBundle/DashBoard/DashBoard.php create mode 100644 src/Trinity/Bundle/DashBoardBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/DashBoardBundle/DependencyInjection/TrinityDashBoardExtension.php create mode 100644 src/Trinity/Bundle/DashBoardBundle/Exception/DashBoardException.php create mode 100644 src/Trinity/Bundle/DashBoardBundle/Item/BasicItem.php create mode 100644 src/Trinity/Bundle/DashBoardBundle/Item/Item.php create mode 100644 src/Trinity/Bundle/DashBoardBundle/Item/ModuleItem.php create mode 100644 src/Trinity/Bundle/DashBoardBundle/Resources/config/services.xml create mode 100644 src/Trinity/Bundle/DashBoardBundle/Resources/translations/TrinityDashBoardBundle.fr.yml create mode 100644 src/Trinity/Bundle/DashBoardBundle/Resources/views/Default/defaultItem.html.twig create mode 100644 src/Trinity/Bundle/DashBoardBundle/Resources/views/Default/defaultModuleItem.html.twig create mode 100644 src/Trinity/Bundle/DashBoardBundle/Resources/views/Default/defaultZone.html.twig create mode 100644 src/Trinity/Bundle/DashBoardBundle/Resources/views/Default/index.html.twig create mode 100644 src/Trinity/Bundle/DashBoardBundle/TrinityDashBoardBundle.php create mode 100644 src/Trinity/Bundle/DashBoardBundle/Twig/Extension/ItemExtension.php create mode 100644 src/Trinity/Bundle/DashBoardBundle/Twig/Extension/ZoneExtension.php create mode 100644 src/Trinity/Bundle/DashBoardBundle/Zone/Zone.php create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Block/EditorialBlocksContainerBlock.php create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Configuration/EditorialBlockCrudConfiguration.php create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Controller/EditorialBlockAdminController.php create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/DependencyInjection/TrinityEditorialBlockExtension.php create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Form/Type/EditorialBlockFilterType.php create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Form/Type/EditorialBlockType.php create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Form/Type/EditorialBlocksContainerBlockType.php create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Model/EditorialBlock.php create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Model/EditorialBlockPeer.php create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Model/EditorialBlockQuery.php create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Resources/config/schema.xml create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Resources/config/services.xml create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Resources/translations/TrinityEditorialBlockBlundle.fr.yml create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Resources/translations/messages.fr.xliff create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Resources/views/Block/block_editorial.html.twig create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Resources/views/EditorialBlockAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Resources/views/EditorialBlockAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Resources/views/EditorialBlockAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/Tests/Controller/DefaultControllerTest.php create mode 100644 src/Trinity/Bundle/EditorialBlockBundle/TrinityEditorialBlockBundle.php create mode 100644 src/Trinity/Bundle/IconsBundle/Controller/IconsTinyMCEAdminController.php create mode 100644 src/Trinity/Bundle/IconsBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/IconsBundle/DependencyInjection/TrinityIconsExtension.php create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/config/services.xml create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/css/base.css create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/css/icons.css create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/css/responsive.css create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/css/style.css create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/css/switcher.css create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/fonts/FontAwesome.otf create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/fonts/fontawesome-webfont.eot create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/fonts/fontawesome-webfont.svg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/fonts/fontawesome-webfont.ttf create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/fonts/fontawesome-webfont.woff create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/Untitled-3.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/about-01.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/about-02.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/about-03.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/about.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/accordion-minus.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/accordion-minus@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/accordion-plus.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/accordion-plus@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/ajax-loader.gif create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/bedge_grunge.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/brushed_alu.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/crisp_paper_ruffles.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/diamond_upholstery.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/egg_shell.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/grey.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/light_toast.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/linedpaper.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/noise.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/noise_pattern_with_crosslines.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/purty_wood.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/retina_dust.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/scribble_light.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/subtle_stripes.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/textured_stripes.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/tileable_wood_texture.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/vichy.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/bg/washi.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/blank.gif create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/blog-01-large.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/blog-01-medium.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/blog-01.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/blog-02-medium.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/blog-02a-large.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/blog-02a.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/blog-02b-large.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/blog-02b.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/blog-02c-large.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/blog-02c.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/blog-03-medium.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/blog-03.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/blog-04-medium.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/breadcrumbs.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/breadcrumbs@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/categories.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/categories@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/comment-arrow.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/fancybox_buttons.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/fancybox_loading.gif create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/fancybox_overlay.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/fancybox_sprite.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/glyphicons_halflings-white.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/glyphicons_halflings-white.svg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/glyphicons_halflings.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/glyphicons_halflings.svg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/icon-list-check.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/icon-list-check@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/icon-list-plus.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/icon-list-plus@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/icon-list-sign.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/icon-list-sign@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/icon-list-star.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/icon-list-star@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/layerslider-loader.gif create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/layerslider-video.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/logo-01.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/logo-footer.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/logo.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio-left-hover.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio-left.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio-left@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio-right-hover.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio-right.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio-right@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio/portfolio-01.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio/portfolio-02.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio/portfolio-03.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio/portfolio-04.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio/portfolio-05.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio/portfolio-06.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio/portfolio-07.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio/portfolio-08.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio/portfolio-09.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio/portfolio-10.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio/portfolio-11.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio/portfolio-12.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio/single-project-01-large.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio/single-project-01.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio/single-project-02-large.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/portfolio/single-project-02.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/search-2.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/search-2@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/search.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/search@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/shop-backpack.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/shop-bike.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/shop-camera.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/shop/shop-01.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/shop/shop-02.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/shop/shop-02a.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/shop/shop-02b.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/shop/shop-03.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/shop/shop-04.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/shop/shop-05.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/shop/shop-06.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/shop/shop-07.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/shop/shop-08.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/shop/shop-09.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/slide-01.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/slide-01a.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/slide-02.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/slide-02a.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/slide-02b.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/slide-02c.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/slide-02d.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/slide-02e.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/slide-03.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/slide-04.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/slide-05.jpg create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/slider-left.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/slider-left@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/slider-right.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/slider-right@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/amazon.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/amazon@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/blogger.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/blogger@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/deviantart.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/deviantart@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/digg.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/digg@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/dribbble.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/dribbble@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/facebook.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/facebook@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/flickr.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/flickr@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/forrst.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/forrst@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/lastfm.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/lastfm@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/linkedin.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/linkedin@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/picasa.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/picasa@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/pinterest.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/pinterest@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/rss.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/rss@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/skype.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/skype@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/tumblr.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/tumblr@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/twitter.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/twitter@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/vimeo.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/vimeo@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/wordpress.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/wordpress@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/yahoo.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/yahoo@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/youtube.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/social/youtube@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/switcher.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/switcher@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/testimonials-bg.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/twitter-01.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/images/twitter-01@2x.png create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/public/tinymce/plugin.js create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/translations/TrinityIconsBundle.fr.yml create mode 100644 src/Trinity/Bundle/IconsBundle/Resources/views/IconsTinyMCEAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/IconsBundle/Tests/Controller/DefaultControllerTest.php create mode 100644 src/Trinity/Bundle/IconsBundle/Tests/Controller/IconsTinyMCEAdminControllerTest.php create mode 100644 src/Trinity/Bundle/IconsBundle/TrinityIconsBundle.php create mode 100644 src/Trinity/Bundle/MediaBundle/Configuration/CategoryCrudConfiguration.php create mode 100644 src/Trinity/Bundle/MediaBundle/Configuration/MediaCrudConfiguration.php create mode 100644 src/Trinity/Bundle/MediaBundle/Configuration/MediaTinyMCECrudConfiguration.php create mode 100644 src/Trinity/Bundle/MediaBundle/Configuration/TypeCrudConfiguration.php create mode 100644 src/Trinity/Bundle/MediaBundle/Controller/CategoryAdminController.php create mode 100644 src/Trinity/Bundle/MediaBundle/Controller/DefaultController.php create mode 100644 src/Trinity/Bundle/MediaBundle/Controller/MediaAdminController.php create mode 100644 src/Trinity/Bundle/MediaBundle/Controller/MediaTinyMCEAdminController.php create mode 100644 src/Trinity/Bundle/MediaBundle/Controller/TypeAdminController.php create mode 100644 src/Trinity/Bundle/MediaBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/MediaBundle/DependencyInjection/TrinityMediaExtension.php create mode 100644 src/Trinity/Bundle/MediaBundle/Form/Type/CategoryFilterType.php create mode 100644 src/Trinity/Bundle/MediaBundle/Form/Type/CategoryType.php create mode 100644 src/Trinity/Bundle/MediaBundle/Form/Type/MediaFilterType.php create mode 100644 src/Trinity/Bundle/MediaBundle/Form/Type/MediaType.php create mode 100644 src/Trinity/Bundle/MediaBundle/Form/Type/TypeFilterType.php create mode 100644 src/Trinity/Bundle/MediaBundle/Form/Type/TypeType.php create mode 100644 src/Trinity/Bundle/MediaBundle/Model/Category.php create mode 100644 src/Trinity/Bundle/MediaBundle/Model/CategoryPeer.php create mode 100644 src/Trinity/Bundle/MediaBundle/Model/CategoryQuery.php create mode 100644 src/Trinity/Bundle/MediaBundle/Model/Media.php create mode 100644 src/Trinity/Bundle/MediaBundle/Model/MediaPeer.php create mode 100644 src/Trinity/Bundle/MediaBundle/Model/MediaQuery.php create mode 100644 src/Trinity/Bundle/MediaBundle/Model/Type.php create mode 100644 src/Trinity/Bundle/MediaBundle/Model/TypePeer.php create mode 100644 src/Trinity/Bundle/MediaBundle/Model/TypeQuery.php create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/config/schema.xml create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/config/services.xml create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/config/validation.yml create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/public/tinymce/plugin.js create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/translations/TrinityMediaBundle.fr.yml create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/translations/messages.fr.xliff create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/views/CategoryAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/views/CategoryAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/views/CategoryAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/views/MediaAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/views/MediaAdmin/filters.html.twig create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/views/MediaAdmin/img_preview.html.twig create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/views/MediaAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/views/MediaAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/views/MediaTinyMCEAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/views/MediaTinyMCEAdmin/filters.html.twig create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/views/MediaTinyMCEAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/views/MediaTinyMCEAdmin/listSelect.html.twig create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/views/MediaTinyMCEAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/views/TypeAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/views/TypeAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/MediaBundle/Resources/views/TypeAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/MediaBundle/Tests/Controller/DefaultControllerTest.php create mode 100644 src/Trinity/Bundle/MediaBundle/TrinityMediaBundle.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Configuration/ModelConfiguration.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Configuration/ModelCrudConfiguration.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Configuration/NewsletterCrudConfiguration.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Controller/ModelAdminController.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Controller/NewsletterAdminController.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Controller/NewsletterController.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/DependencyInjection/TrinityNewsletterExtension.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Form/EventListener/AddBlockFieldsSubscriber.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Form/Type/BlockType.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Form/Type/ModelFilterType.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Form/Type/ModelType.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Form/Type/NewsletterFilterType.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Form/Type/NewsletterType.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Form/Type/TinymceAdvancedBlockType.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/Block.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/BlockPeer.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/BlockQuery.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/BlockVersion.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/BlockVersionPeer.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/BlockVersionQuery.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/DefaultModel.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/Model.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/ModelPeer.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/ModelQuery.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/ModelVersion.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/ModelVersionPeer.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/ModelVersionQuery.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/Newsletter.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/NewsletterPeer.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/NewsletterQuery.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/NewsletterRecipients.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/NewsletterRecipientsPeer.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Model/NewsletterRecipientsQuery.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/config/schema.xml create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/config/services.yml create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/translations/messages.fr.xlf create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/views/Block/block_text.html.twig create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/views/Default/index.html.twig create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/views/Default/unsubscribe.html.twig create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/views/ModelAdmin/class_key.html.twig create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/views/ModelAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/views/ModelAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/views/ModelAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/views/ModelAdmin/template.html.twig create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/views/Newsletter/subscribe.html.twig create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/views/Newsletter/subscribe_thanks.html.twig create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/views/NewsletterAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/views/NewsletterAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/views/NewsletterAdmin/listPreview.html.twig create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/views/NewsletterAdmin/listSend.html.twig create mode 100644 src/Trinity/Bundle/NewsletterBundle/Resources/views/NewsletterAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/NewsletterBundle/Tests/Controller/DefaultControllerTest.php create mode 100644 src/Trinity/Bundle/NewsletterBundle/TrinityNewsletterBundle.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Configuration/NotificationCrudConfiguration.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Configuration/TemplateCrudConfiguration.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Controller/NotificationAdminController.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Controller/TemplateAdminController.php create mode 100644 src/Trinity/Bundle/NotificationBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/NotificationBundle/DependencyInjection/TrinityNotificationExtension.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Form/Type/NotificationFilterType.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Form/Type/NotificationType.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Form/Type/TemplateFilterType.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Form/Type/TemplateType.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Model/Notification.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Model/NotificationPeer.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Model/NotificationQuery.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Model/Template.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Model/TemplatePeer.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Model/TemplateQuery.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Notifier/AbstractNotifier.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Notifier/BasicNotifier.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Notifier/EmailNotifier.php create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/config/propel/schema.xml create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/config/services.xml create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/config/validation.yml create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/public/images/dashboard/Align-Justify-48.png create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/public/images/dashboard/Message-48.png create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/translations/messages.fr.xlf create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/views/MessageAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/views/MessageAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/views/MessageAdmin/nature.html.twig create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/views/MessageAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/views/NotificationAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/views/NotificationAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/views/NotificationAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/views/NotificationAdmin/user.html.twig create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/views/TemplateAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/views/TemplateAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/NotificationBundle/Resources/views/TemplateAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/NotificationBundle/TrinityNotificationBundle.php create mode 100644 src/Trinity/Bundle/SearchBundle/Command/BuildIndexCommand.php create mode 100644 src/Trinity/Bundle/SearchBundle/Controller/SearchController.php create mode 100644 src/Trinity/Bundle/SearchBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/SearchBundle/DependencyInjection/TrinitySearchExtension.php create mode 100644 src/Trinity/Bundle/SearchBundle/Event/LuceneEvent.php create mode 100644 src/Trinity/Bundle/SearchBundle/EventListener/LuceneSubscriber.php create mode 100644 src/Trinity/Bundle/SearchBundle/Model/IndexableInterface.php create mode 100644 src/Trinity/Bundle/SearchBundle/Model/SearchObject.php create mode 100644 src/Trinity/Bundle/SearchBundle/Page/SearchPage.php create mode 100644 src/Trinity/Bundle/SearchBundle/Resources/config/services.xml create mode 100644 src/Trinity/Bundle/SearchBundle/Resources/views/Search/index.html.twig create mode 100644 src/Trinity/Bundle/SearchBundle/TrinitySearchBundle.php create mode 100644 src/Trinity/Bundle/SearchBundle/TrinitySearchEvents.php create mode 100644 src/Trinity/Bundle/SearchBundle/Twig/Extension/HighlightExtension.php create mode 100644 src/Trinity/Bundle/SecurityBundle/AccessControl/AccessControlInterface.php create mode 100644 src/Trinity/Bundle/SecurityBundle/AccessControl/RouteAccessControl.php create mode 100644 src/Trinity/Bundle/SecurityBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/SecurityBundle/DependencyInjection/TrinitySecurityExtension.php create mode 100644 src/Trinity/Bundle/SecurityBundle/Resources/config/services.xml create mode 100644 src/Trinity/Bundle/SecurityBundle/Resources/views/Default/index.html.twig create mode 100644 src/Trinity/Bundle/SecurityBundle/Tests/Controller/DefaultControllerTest.php create mode 100644 src/Trinity/Bundle/SecurityBundle/TrinitySecurityBundle.php create mode 100755 src/Trinity/Bundle/SlideshowBundle/Block/SlideshowItemsContainerBlock.php create mode 100644 src/Trinity/Bundle/SlideshowBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/SlideshowBundle/DependencyInjection/TrinitySlideshowExtension.php create mode 100755 src/Trinity/Bundle/SlideshowBundle/Form/Extension/Type/FileImageType.php create mode 100755 src/Trinity/Bundle/SlideshowBundle/Form/Extension/Type/PersoType.php create mode 100755 src/Trinity/Bundle/SlideshowBundle/Form/Type/SlideshowItemType.php create mode 100755 src/Trinity/Bundle/SlideshowBundle/Form/Type/SlideshowItemsContainerBlockType.php create mode 100644 src/Trinity/Bundle/SlideshowBundle/Model/SlideshowItem.php create mode 100644 src/Trinity/Bundle/SlideshowBundle/Model/SlideshowItemPeer.php create mode 100644 src/Trinity/Bundle/SlideshowBundle/Model/SlideshowItemQuery.php create mode 100755 src/Trinity/Bundle/SlideshowBundle/Resources/config/schema.xml create mode 100755 src/Trinity/Bundle/SlideshowBundle/Resources/config/services.xml create mode 100755 src/Trinity/Bundle/SlideshowBundle/Resources/public/js/style.js create mode 100755 src/Trinity/Bundle/SlideshowBundle/Resources/translations/TrinitySlideshowBundle.fr.yml create mode 100644 src/Trinity/Bundle/SlideshowBundle/Resources/translations/messages.fr.xliff create mode 100755 src/Trinity/Bundle/SlideshowBundle/Resources/views/Block/slideshow.html.twig create mode 100644 src/Trinity/Bundle/SlideshowBundle/Resources/views/Form/field_slideshow.html.twig create mode 100755 src/Trinity/Bundle/SlideshowBundle/Tests/Controller/DefaultControllerTest.php create mode 100644 src/Trinity/Bundle/SlideshowBundle/TrinitySlideshowBundle.php create mode 100644 src/Trinity/Bundle/UserBundle/Configuration/GroupCrudConfiguration.php create mode 100644 src/Trinity/Bundle/UserBundle/Configuration/UserCrudConfiguration.php create mode 100644 src/Trinity/Bundle/UserBundle/Configuration/UserLogCrudConfiguration.php create mode 100644 src/Trinity/Bundle/UserBundle/Controller/GroupAdminController.php create mode 100644 src/Trinity/Bundle/UserBundle/Controller/ProfileAdminController.php create mode 100644 src/Trinity/Bundle/UserBundle/Controller/SecurityAdminController.php create mode 100644 src/Trinity/Bundle/UserBundle/Controller/SecurityController.php create mode 100644 src/Trinity/Bundle/UserBundle/Controller/UserAdminController.php create mode 100644 src/Trinity/Bundle/UserBundle/Controller/UserLogAdminController.php create mode 100644 src/Trinity/Bundle/UserBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/UserBundle/DependencyInjection/TrinityUserExtension.php create mode 100644 src/Trinity/Bundle/UserBundle/Flash/Flash.php create mode 100644 src/Trinity/Bundle/UserBundle/Flash/FlashContainer.php create mode 100644 src/Trinity/Bundle/UserBundle/Flash/FlashError.php create mode 100644 src/Trinity/Bundle/UserBundle/Flash/FlashNotice.php create mode 100644 src/Trinity/Bundle/UserBundle/Flash/FlashSuccess.php create mode 100644 src/Trinity/Bundle/UserBundle/Flash/FlashWarning.php create mode 100644 src/Trinity/Bundle/UserBundle/Form/EventListener/AddCodeFieldSubscriber.php create mode 100644 src/Trinity/Bundle/UserBundle/Form/Type/GroupFilterType.php create mode 100644 src/Trinity/Bundle/UserBundle/Form/Type/GroupType.php create mode 100644 src/Trinity/Bundle/UserBundle/Form/Type/MyProfileType.php create mode 100644 src/Trinity/Bundle/UserBundle/Form/Type/ProfileType.php create mode 100644 src/Trinity/Bundle/UserBundle/Form/Type/UserFilterType.php create mode 100644 src/Trinity/Bundle/UserBundle/Form/Type/UserGroupType.php create mode 100644 src/Trinity/Bundle/UserBundle/Form/Type/UserLogBatchType.php create mode 100644 src/Trinity/Bundle/UserBundle/Form/Type/UserLogFilterType.php create mode 100644 src/Trinity/Bundle/UserBundle/Form/Type/UserLogType.php create mode 100644 src/Trinity/Bundle/UserBundle/Form/Type/UserType.php create mode 100644 src/Trinity/Bundle/UserBundle/Handler/AuthenticationFailureHandler.php create mode 100644 src/Trinity/Bundle/UserBundle/Handler/AuthenticationSuccessHandler.php create mode 100644 src/Trinity/Bundle/UserBundle/LICENCE create mode 100644 src/Trinity/Bundle/UserBundle/Model/UserPeer.php create mode 100644 src/Trinity/Bundle/UserBundle/Model/UserQuery.php create mode 100644 src/Trinity/Bundle/UserBundle/Resources/config/routing.yml create mode 100644 src/Trinity/Bundle/UserBundle/Resources/config/services.xml create mode 100644 src/Trinity/Bundle/UserBundle/Resources/translations/TrinityUserBundle.fr.yml create mode 100644 src/Trinity/Bundle/UserBundle/Resources/translations/messages.fr.xliff create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/Default/index.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/GroupAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/GroupAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/GroupAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/GroupAdmin/roles.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/Profile/Admin/edit.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/Profile/Admin/edit_content.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/Profile/Admin/show.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/Profile/Admin/show_content.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/Security/Admin/login.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/Security/Admin/loginXHR.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/UserAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/UserAdmin/generatePasswordEmail.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/UserAdmin/groups.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/UserAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/UserAdmin/indexExport.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/UserAdmin/listGeneratePassword.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/UserAdmin/listSwitch.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/UserAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/UserAdmin/roles.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/UserLogAdmin/edit.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/UserLogAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/UserLogAdmin/new.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Resources/views/admin_layout.html.twig create mode 100644 src/Trinity/Bundle/UserBundle/Storage/SessionStorage.php create mode 100644 src/Trinity/Bundle/UserBundle/Storage/Storage.php create mode 100644 src/Trinity/Bundle/UserBundle/TrinityUserBundle.php create mode 100644 src/Trinity/Bundle/UserBundle/User/SessionUser.php create mode 100644 src/Trinity/Bundle/UserBundle/User/UserLog.php create mode 100644 src/Trinity/Bundle/UserBundle/User/UserRegister.php create mode 100644 src/Trinity/Bundle/VarsEditorBundle/Controller/VarsAdminController.php create mode 100644 src/Trinity/Bundle/VarsEditorBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/VarsEditorBundle/DependencyInjection/TrinityVarsEditorExtension.php create mode 100644 src/Trinity/Bundle/VarsEditorBundle/Resources/config/services.xml create mode 100644 src/Trinity/Bundle/VarsEditorBundle/Resources/translations/VarsEditorBundle.fr.yml create mode 100644 src/Trinity/Bundle/VarsEditorBundle/Resources/translations/messages.fr.xliff create mode 100644 src/Trinity/Bundle/VarsEditorBundle/Resources/views/VarsAdmin/index.html.twig create mode 100644 src/Trinity/Bundle/VarsEditorBundle/Service/Config.php create mode 100644 src/Trinity/Bundle/VarsEditorBundle/Tests/Controller/DefaultControllerTest.php create mode 100644 src/Trinity/Bundle/VarsEditorBundle/TrinityVarsEditorBundle.php create mode 100644 src/Trinity/Bundle/VarsEditorBundle/Twig/Extension/GlobalVarsExtension.php create mode 100644 src/Trinity/Bundle/WidgetBundle/DependencyInjection/Configuration.php create mode 100644 src/Trinity/Bundle/WidgetBundle/DependencyInjection/TrinityWidgetExtension.php create mode 100644 src/Trinity/Bundle/WidgetBundle/Resources/config/services.xml create mode 100644 src/Trinity/Bundle/WidgetBundle/Resources/translations/TrinityWidgetBundle.fr.yml create mode 100644 src/Trinity/Bundle/WidgetBundle/Resources/views/Form/field_type_help.html.twig create mode 100644 src/Trinity/Bundle/WidgetBundle/Resources/views/Form/fields.html.twig create mode 100644 src/Trinity/Bundle/WidgetBundle/Tests/Controller/DefaultControllerTest.php create mode 100644 src/Trinity/Bundle/WidgetBundle/TrinityWidgetBundle.php create mode 100644 src/Trinity/Component/Exception/FileMethodNotFoundException.php create mode 100644 src/Trinity/Component/File/FileUploadInterface.php create mode 100644 src/Trinity/Component/Form/DataTransformer/StringToFileTransformer.php create mode 100644 src/Trinity/Component/Form/EventListener/FileDeleteFormListener.php create mode 100644 src/Trinity/Component/Propel/CustomSluggableBehavior.php create mode 100644 src/Trinity/Component/Propel/I18nSluggableBehavior.php create mode 100644 src/Trinity/Component/Propel/UploadableBehavior.php create mode 100644 src/Trinity/Component/Tests/TestCase.php create mode 100644 src/Trinity/Component/Tests/WebTestCase.php create mode 100644 src/Trinity/Component/Utils/ArrayFilter.php create mode 100644 src/Trinity/Component/Utils/Image.php create mode 100644 src/Trinity/Component/Utils/Propel.php create mode 100644 src/Trinity/Component/Utils/VarFilter.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9c6537a --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.svn +om/ +map/ +vendor/ diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..7f5aa5e --- /dev/null +++ b/composer.json @@ -0,0 +1,43 @@ +{ + "name": "simmstein/trinity-bundles", + "license": "CC-BY", + "type": "symfony-bundle", + "description": "Trinity CMS Bundles", + "autoload": { + "psr-0": { + "": "src/" + } + }, + "require": { + "php": ">=5.3.3", + "symfony/symfony": "2.3.*", + "doctrine/orm": "~2.2,>=2.2.3", + "doctrine/doctrine-bundle": "1.2.*", + "twig/extensions": "1.0.*", + "symfony/assetic-bundle": "2.3.*", + "symfony/swiftmailer-bundle": "2.3.*", + "symfony/monolog-bundle": "2.3.*", + "sensio/distribution-bundle": "2.3.*", + "sensio/framework-extra-bundle": "2.3.*", + "sensio/generator-bundle": "2.3.*", + "incenteev/composer-parameter-handler": "~2.0", + "propel/propel-bundle": "1.2.*", + "friendsofsymfony/user-bundle": "2.0.0-alpha1", + "jms/di-extra-bundle": "dev-master", + "jms/security-extra-bundle": "dev-master", + "knplabs/knp-menu": "dev-master", + "knplabs/knp-menu-bundle": "dev-master", + "white-october/pagerfanta-bundle": "dev-master", + "pagerfanta/pagerfanta": "dev-master", + "stfalcon/tinymce-bundle": "dev-master", + "kriswallsmith/assetic": "dev-master", + "symfony/assetic-bundle": "dev-master", + "simplethings/form-extra-bundle": "dev-master", + "willdurand/propel-typehintable-behavior": "dev-master", + "excelwebzone/zend-search": "dev-master", + "zendframework/zendgdata": "dev-master", + "glorpen/propel-bundle": "1.2.*", + "knplabs/knp-snappy-bundle": "dev-master" + }, + "minimum-stability": "stable" +} diff --git a/src/Trinity/Bundle/AdminBreadcrumbsBundle/DependencyInjection/Configuration.php b/src/Trinity/Bundle/AdminBreadcrumbsBundle/DependencyInjection/Configuration.php new file mode 100644 index 0000000..0b49efc --- /dev/null +++ b/src/Trinity/Bundle/AdminBreadcrumbsBundle/DependencyInjection/Configuration.php @@ -0,0 +1,61 @@ +root('trinity_admin_breadcrumbs'); + + $rootNode->children() + + ->variableNode('routename') + ->defaultValue('TrinityDashBoardBundle_index') + ->end() + + ->arrayNode('default_params') + ->useAttributeAsKey('name') + ->prototype('variable') + ->end() + ->end() + + + ->arrayNode('ignore_route_patterns') + ->defaultValue(array( + '(.*)Node(.*)', + '(.*)MediaTinyMCEAdmin(.*)', +// '(.*)Page(.*)', + '^_(.*)', # ignore symfony routes + '^fos_user_(.*)', + '^trinity_user_(.*)', + '(.*)xhr(.*)' + )) + ->prototype('scalar')->end() + ->end() + + ->arrayNode('required_uri_patterns') + ->defaultValue(array( + '^/admin(.*)' + )) + ->prototype('scalar')->end() + ->end() + + ->end() + ; + + return $treeBuilder; + } +} diff --git a/src/Trinity/Bundle/AdminBreadcrumbsBundle/DependencyInjection/TrinityAdminBreadcrumbsExtension.php b/src/Trinity/Bundle/AdminBreadcrumbsBundle/DependencyInjection/TrinityAdminBreadcrumbsExtension.php new file mode 100644 index 0000000..30a87a6 --- /dev/null +++ b/src/Trinity/Bundle/AdminBreadcrumbsBundle/DependencyInjection/TrinityAdminBreadcrumbsExtension.php @@ -0,0 +1,38 @@ +processConfiguration($configuration, $configs); + + $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); + $loader->load('services.xml'); + + $container->getDefinition('breadcrumb.manager') + ->replaceArgument(1, $config['routename']) + ->replaceArgument(2, $config['default_params']) + ; + + $container->getDefinition('breadcrumb.request_listener') + ->replaceArgument(1, $config['ignore_route_patterns']) + ->replaceArgument(2, $config['required_uri_patterns']) + ; + } +} diff --git a/src/Trinity/Bundle/AdminBreadcrumbsBundle/Listener/RequestListener.php b/src/Trinity/Bundle/AdminBreadcrumbsBundle/Listener/RequestListener.php new file mode 100644 index 0000000..ff06e53 --- /dev/null +++ b/src/Trinity/Bundle/AdminBreadcrumbsBundle/Listener/RequestListener.php @@ -0,0 +1,42 @@ +breadcrumbManager = $manager; + $this->ignoreRoutePatterns = $ignore_route_patterns; + $this->requiredUriPatterns = $required_uri_patterns; + } + + public function onKernelRequest(GetResponseEvent $event) + { + foreach ($this->requiredUriPatterns as $uriPattern) { + if (!preg_match(sprintf('#%s#s', $uriPattern), $event->getRequest()->getPathInfo())) { + return false; + } + } + + if (preg_match('`jsTranslations`', $event->getRequest()->getPathInfo())) { + return false; + } + + foreach ($this->ignoreRoutePatterns as $routePattern) { + if (preg_match(sprintf('#%s#s', $routePattern), $event->getRequest()->get('_route'))) { + return false; + } + } + + $this->breadcrumbManager->buildCrudBreadcrumbFor($event->getRequest()); + + return true; + } +} diff --git a/src/Trinity/Bundle/AdminBreadcrumbsBundle/Model/Breadcrumb.php b/src/Trinity/Bundle/AdminBreadcrumbsBundle/Model/Breadcrumb.php new file mode 100644 index 0000000..5eff253 --- /dev/null +++ b/src/Trinity/Bundle/AdminBreadcrumbsBundle/Model/Breadcrumb.php @@ -0,0 +1,100 @@ +items[] = $item; + + return $this; + } + + public function addItem(BreadcrumbItem $item, $index = null) + { + if (null === $index) { + $this->items[] = $item; + } else { + $this->items[$index] = $item; + } + + return $this; + } + + public function clear() + { + $this->items = array(); + + return $this; + } + + public function getLastItem() + { + $keys = array_keys($this->items); + + return $this->items[array_pop($keys)]; + } + + public function getFirstItem() + { + $keys = array_keys($this->items); + + return $this->items[array_shift($keys)]; + } + + public function current() + { + return current($this->items); + } + + public function next() + { + return next($this->items); + } + + public function key() + { + return key($this->items); + } + + public function valid() + { + return key($this->items) !== null; + } + + public function rewind() + { + return reset($this->items); + } + + public function offsetExists($offset) + { + return isset($this->items[$offset]); + } + + public function offsetGet($offset) + { + return isset($this->items[$offset]) ? $this->items[$offset] : null; + } + + public function offsetSet($offset, $value) + { + $this->items[$offset] = $value; + } + + public function offsetUnset($offset) + { + unset($this->items[$offset]); + } + + public function count() + { + return count($this->items); + } +} diff --git a/src/Trinity/Bundle/AdminBreadcrumbsBundle/Model/BreadcrumbItem.php b/src/Trinity/Bundle/AdminBreadcrumbsBundle/Model/BreadcrumbItem.php new file mode 100644 index 0000000..ab1cce4 --- /dev/null +++ b/src/Trinity/Bundle/AdminBreadcrumbsBundle/Model/BreadcrumbItem.php @@ -0,0 +1,53 @@ +url = $url; + $this->text = $text; + $this->helper = $helper; + } + + public function setText($text) + { + $this->text = $text; + + return $this; + } + + public function getText() + { + return $this->text; + } + + public function setUrl($url) + { + $this->url = $url; + + return $this; + } + + public function getUrl() + { + return $this->url; + } + + public function setHelper($helper) + { + $this->helper = $helper; + + return $this; + } + + public function getHelper() + { + return $this->helper; + } +} diff --git a/src/Trinity/Bundle/AdminBreadcrumbsBundle/Model/BreadcrumbManager.php b/src/Trinity/Bundle/AdminBreadcrumbsBundle/Model/BreadcrumbManager.php new file mode 100644 index 0000000..40e87c7 --- /dev/null +++ b/src/Trinity/Bundle/AdminBreadcrumbsBundle/Model/BreadcrumbManager.php @@ -0,0 +1,116 @@ +router = $router; + $this->default_routename = $default_routename; + $this->default_params = $default_params; + } + + public function initBreadcrumb() + { + $this->breadcrumb = new Breadcrumb(); + $this->breadcrumb->addItem($this->getRootItem()); + } + + public function get() + { + if ($this->breadcrumb === null) { + $this->initBreadcrumb(); + } + + return $this->breadcrumb; + } + + public function setRootItem(BreadcrumbItem $root_item) + { + $this->root_item = $root_item; + } + + public function getRootItem() + { + if ($this->root_item === null) { + $this->root_item = new BreadcrumbItem( + 'trinity.dashboard.index.title', + $this->router->generate($this->default_routename, $this->default_params), + 'trinity.dashboard.index.helper' + ); + } + + return $this->root_item; + } + + public function buildCrudBreadcrumbFor($request) + { + $routename = $request->get('_route'); + + if ($routename == $this->default_routename) { + return; + } + + if (preg_match('`^.*index`',$routename)) { + $this->get()->addItem($this->getItemFor($request)); + + return; + } + + $this->get()->addItem($this->getItemFor($request,true)); + $this->get()->addItem($this->getItemFor($request)); + } + + public function getItemFor($request, $index = false) + { + $key = $this->generateKey($request, $index); + $route = $this->generateRoute($request, $index); + + $item = new BreadcrumbItem( + sprintf('%s.title', $key), + $route, + sprintf('%s.helper', $key) + ); + + return $item; + } + + private function generateRoute($request, $index = false) + { + if ($index) { + $route = preg_replace('`_.*$`','_index', $request->get('_route')); + + return $this->router->generate($route); + } + + return $this->router->generate($request->get('_route'), $request->get('_route_params')); + } + + private function generateKey($request, $index = false) + { + $datas = explode('::', $request->get('_controller')); + $action = ($index) ? 'index' : str_replace('Action', '', $datas[1]); + $path = explode('\\', $datas[0]); + + if (count($path) < 4) { + return null; + } + + $firm = strtolower($path[0]); + $bundle = strtolower(str_replace('Bundle', '', $path[count($path)-3])); + $controller = strtolower(str_replace('Controller', '', end($path))); + + return sprintf('%s.%s.%s.%s', $firm, $bundle, $controller, $action); + } +} diff --git a/src/Trinity/Bundle/AdminBreadcrumbsBundle/Resources/config/services.xml b/src/Trinity/Bundle/AdminBreadcrumbsBundle/Resources/config/services.xml new file mode 100644 index 0000000..fc9d2a8 --- /dev/null +++ b/src/Trinity/Bundle/AdminBreadcrumbsBundle/Resources/config/services.xml @@ -0,0 +1,34 @@ + + + + + + Trinity\Bundle\AdminBreadcrumbsBundle\Model\BreadcrumbManager + Trinity\Bundle\AdminBreadcrumbsBundle\Listener\RequestListener + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Trinity/Bundle/AdminBreadcrumbsBundle/Resources/translations/TrinityAdminBreadcrumbsBundle.fr.yml b/src/Trinity/Bundle/AdminBreadcrumbsBundle/Resources/translations/TrinityAdminBreadcrumbsBundle.fr.yml new file mode 100644 index 0000000..ce67e38 --- /dev/null +++ b/src/Trinity/Bundle/AdminBreadcrumbsBundle/Resources/translations/TrinityAdminBreadcrumbsBundle.fr.yml @@ -0,0 +1,137 @@ +trinity: + dashboard: + index: + title: 'Tableau de bord' + helper: ~ + + varseditor: + varsadmin: + index: + title: 'Éditeur de variables globales' + + contentmanager: + pageadmin: + index: + title: 'Gestion des pages' + new: + title: 'Nouvelle page' + edit: + title: 'Édition' + processEditMetas: + title: 'Édition des données SEO' + processEditBlocks: + title: 'Édition du contenu' + processEditPerms: + title: 'Édition des paramètres' + processEditSitemap: + title: 'Édition du sitemap' + + navigationadmin: + index: + title: 'Gestion des navigations' + helper: 'Une navigation correspond à un site et son arborescence.' + new: + title: 'Nouveau' + edit: + title: 'Édition' + + menuadmin: + index: + title: 'Gestion des menus' + new: + title: 'Nouveau' + edit: + title: 'Édition' + + editorialblock: + editorialblockadmin: + index: + title: 'Gestion des blocs éditoriaux' + new: + title: 'Nouveau' + edit: + title: 'Édition' + + media: + mediaadmin: + index: + title: 'Gestion des médias' + new: + title: 'Nouveau' + edit: + title: 'Édition' + + typeadmin: + index: + title: 'Gestion des types' + new: + title: 'Nouveau' + edit: + title: 'Édition' + + categoryadmin: + index: + title: 'Gestion des catégories' + new: + title: 'Nouveau' + edit: + title: 'Édition' + + user: + groupadmin: + index: + title: "Gestion des groupes" + new: + title: "Nouveau" + edit: + title: "Édition" + useradmin: + index: + title: "Gestion des utilisateurs" + new: + title: "Nouveau" + edit: + title: "Édition" + userlogadmin: + index: + title: 'Logs des utilisateurs' + edit: + title: 'Édition' + + contact: + contactadmin: + index: + title: "Prises de contact" + new: + title: "Nouveau" + edit: + title: "Édition" + + newsletter: + newsletteradmin: + index: + title: "Newsletter" + new: + title: "Nouveau" + edit: + title: "Édition" + + modeladmin: + index: + title: "Modèle de newsletter" + new: + title: "Nouveau" + edit: + title: "Édition" + + notification: + notificationadmin: + index: + title: "Notifications" + templateadmin: + index: + title: "Templates des notifications" + new: + title: "Nouveau" + edit: + title: "Édition" diff --git a/src/Trinity/Bundle/AdminBreadcrumbsBundle/Resources/views/Utils/breadcrumb.html.twig b/src/Trinity/Bundle/AdminBreadcrumbsBundle/Resources/views/Utils/breadcrumb.html.twig new file mode 100644 index 0000000..2a08916 --- /dev/null +++ b/src/Trinity/Bundle/AdminBreadcrumbsBundle/Resources/views/Utils/breadcrumb.html.twig @@ -0,0 +1,23 @@ + diff --git a/src/Trinity/Bundle/AdminBreadcrumbsBundle/TrinityAdminBreadcrumbsBundle.php b/src/Trinity/Bundle/AdminBreadcrumbsBundle/TrinityAdminBreadcrumbsBundle.php new file mode 100644 index 0000000..9f0566e --- /dev/null +++ b/src/Trinity/Bundle/AdminBreadcrumbsBundle/TrinityAdminBreadcrumbsBundle.php @@ -0,0 +1,9 @@ +breadcrumbManager = $BreadcrumbManager; + } + + public function initRuntime(\Twig_Environment $environment) + { + $this->environment = $environment; + } + + public function getName() + { + return 'breadcrumb_extension'; + } + + public function getFunctions() + { + return array( + 'render_admin_breadcrumb' => new \Twig_Function_Method($this, 'renderAdminBreadcrumb', array('is_safe' => array('html'))), + ); + } + + public function renderAdminBreadcrumb() + { + $breadcrumb = $this->breadcrumbManager->get(); + + return $this->render('TrinityAdminBreadcrumbsBundle:Utils:breadcrumb.html.twig',array('breadcrumb' => $breadcrumb)); + } + + public function render($template, array $parameters = array()) + { + if (!isset($this->resources[$template])) { + $this->resources[$template] = $this->environment->loadTemplate($template); + } + + return $this->resources[$template]->render($parameters); + } +} diff --git a/src/Trinity/Bundle/AdminBundle/Command/GenerateCrudCommand.php b/src/Trinity/Bundle/AdminBundle/Command/GenerateCrudCommand.php new file mode 100644 index 0000000..5d4efaf --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Command/GenerateCrudCommand.php @@ -0,0 +1,741 @@ +setDefinition(array( + new InputOption('namespace', '', InputOption::VALUE_REQUIRED, 'The namespace of the bundle to create'), + new InputOption('bundle', '', InputOption::VALUE_REQUIRED, 'The bundle to generate model classes from'), + )) + ->setDescription('Generate basics files for the CRUD') + ->setHelp(<<setName('generate:crud') + ; + } + + /** + * @see Command + * + */ + protected function execute(InputInterface $input, OutputInterface $output) + { + + $dialog = $this->getDialogHelper(); + $filesystem = $this->getContainer()->get('filesystem'); + + if ($input->isInteractive()) { + if (!$dialog->askConfirmation($output, $dialog->getQuestion('Do you confirm generation', 'yes', '?'), true)) { + $output->writeln( + array( + '', + 'Command aborted', + '' + ) + ); + + return 1; + } + } + + $dialog->writeSection($output, 'Welcome to the CRUD generation!'); + + /* ------------------------------------------ */ + + $output->writeln( + array( + '', + 'Help:', + ' Use \ for the namespace delimiter to avoid any problem.', + '', + ' You can find the bundle name in the file app/AppKernel.php without ()', + '', + ) + ); + + $namespace = $dialog->askAndValidate( + $output, + $dialog->getQuestion('Bundle namespace', $input->getOption('namespace')), + array('Sensio\Bundle\GeneratorBundle\Command\Validators', 'validateBundleNamespace'), + false, + $input->getOption('namespace') + ); + + $input->setOption('namespace', $namespace); + + $bundle = $dialog->askAndValidate( + $output, + $dialog->getQuestion('Bundle name', $input->getOption('bundle')), + array('Sensio\Bundle\GeneratorBundle\Command\Validators', 'validateBundleName'), + false, + $input->getOption('bundle') + ); + + $input->setOption('bundle', $bundle); + + $kernel = $this->getContainer()->get('kernel'); + $kernel->getBundle($bundle); + + $namespace_explode = explode("\\",$namespace); + + /* ------------------------------------------ */ + + // target dir + + $path = dirname($this->getContainer()->getParameter('kernel.root_dir')).'/src'.DIRECTORY_SEPARATOR; + $path.= implode(DIRECTORY_SEPARATOR, $namespace_explode); + + if (!$filesystem->exists($path)) { + $output->writeln(array('','Command aborted. The directory '.$path.' doesn\'t exist.','')); + + return 1; + } + + /* ------------------------------------------ */ + + $errors = array(); + $runner = $dialog->getRunner($output, $errors); + + /* ------------------------------------------ */ + + $output->writeln(array('','Step 1: Generate CrudConfiguration','')); + + $model = str_replace($namespace_explode[0], '', $bundle); + $model = str_replace('Bundle','',$model); + $model = $dialog->ask($output, $dialog->getQuestion('Model', $model, ':'), $model); + + $classNameConfiguration = $model.'CrudConfiguration'; + $nameSpaceConfiguration = $namespace.'\Configuration'; + + $modelPeer = $model.'Peer'; + $modelQuery = $model.'Query'; + $routePrefix = $bundle.$model.'Admin'; + + $formNamespace = ''; + $modelNamespace = ''; + $class = ''; + foreach ($namespace_explode as $dir) { + $formNamespace .= $dir."\\\\"; + $modelNamespace .= $dir."\\\\"; + $class .= $dir."\\"; + } + + $formNamespace .= 'Form\\Type'; + $modelNamespace .= 'Model'; + $class .= 'Model\\'.$model; + + $formEditNew = $model.'Type'; + $formFilter = $model.'FilterType'; + + $maxPerPage = $dialog->askAndValidate( + $output, + $dialog->getQuestion('Max per page', 20, ':'), + function ($answer) { + if (!is_numeric($answer)) { + throw new \RunTimeException( + 'The value must be an integer' + ); + } + + return (int) $answer; + }, + false, + 20 + ); + + $rankable = $dialog->askConfirmation( + $output, + $dialog->getQuestion('Rankable', 'no', ':'), + false + ); + + $order = null; + + if ($rankable) { + $order = $dialog->select($output, $dialog->getQuestion('Rank order','ASC'), array('ASC', 'DESC'), 0); + } + + $rankable = !$rankable ? 'false' : 'true'; + + $contentConfiguration = "setModelNamespace('".$modelNamespace."') + ->setModel('".$model."') + ->setModelPeer('".$modelPeer."') + ->setModelQuery('".$modelQuery."') + + ->setRoutePrefix('".$routePrefix."') + + ->setFormNamespace('".$formNamespace."') + + ->setFormEdit('".$formEditNew."') + ->setFormFilter('".$formFilter."') + ->setFormNew('".$formEditNew."') + + ->setFieldsets(array( + '' => array( + '*', + ), + )) + + ->setMaxPerPage(".$maxPerPage.") + + ->setRankable(".$rankable.")"; + + $orderRankable = array(0 => 'ASC', 1 => 'DESC'); + + if ($order) { + $contentConfiguration .= " + ->setSort('orderByRank', \\Criteria::".$orderRankable[$order].") + "; + } + + $contentConfiguration .= " + + ->setListTitle('".$model."') + ->setNewTitle('New ".strtolower($model)."') + ->setEditTitle('Edition of \"%id%\"') + + // Listing: + + // ->setFieldTemplate('visible', 'TrinityAdminBundle:BaseAdmin:bool.html.twig') + // ->setDisplayFields(array( + // + // )) + // ->setFieldname('foo', 'bar') + ; + } +} +"; + + //demande si ok ? + $output->writeln($contentConfiguration); + + if ($input->isInteractive()) { + if (!$dialog->askConfirmation($output, $dialog->getQuestion('Do you agree', 'yes', '?'), true)) { + $output->writeln( + array( + '', + 'Command aborted', + '' + ) + ); + + return 1; + } + } + + // on regarde si le dossier configuration existe + $pathConfiguration = $path.DIRECTORY_SEPARATOR.'Configuration'; + $configurationFile = $pathConfiguration.DIRECTORY_SEPARATOR.$classNameConfiguration.'.php'; + + try { + $filesystem->mkdir($pathConfiguration, 0777); + } catch (\IOException $e) { + $output->writeln( + array( + '', + '$e', + '' + ) + ); + + return 1; + } + + if ($filesystem->exists($configurationFile)) { + $output->writeln( + array( + '', + 'The file '.$configurationFile.' already exists.', + '' + ) + ); + + if ($input->isInteractive()) { + if ($dialog->askConfirmation($output, $dialog->getQuestion('Do you want to replace it', 'no', '?'), false)) { + $filesystem->remove($configurationFile); + $output->writeln( + array( + '', + 'File '.$configurationFile.' REMOVED', + '' + ) + ); + + try { + $filesystem->touch($configurationFile, 0777); + file_put_contents($configurationFile, $contentConfiguration); + } catch (\IOException $e) { + $output->writeln( + array( + '', + '$e', + '' + ) + ); + + return 1; + } + + } + } + } else { + try { + file_put_contents($configurationFile, $contentConfiguration); + } catch (\IOException $e) { + $output->writeln( + array( + '', + '$e', + '' + ) + ); + + return 1; + } + } + + $output->writeln(array('', 'Generating the CRUD configuration: OK','')); + + /* ------------------------------------------ */ + + $output->writeln(array('','Step 2: Generate Controller','')); + + if ($input->isInteractive()) { + if (!$dialog->askConfirmation($output, $dialog->getQuestion('Continue', 'yes', '?'), true)) { + $output->writeln( + array( + '', + 'Command aborted', + '' + ) + ); + + return 1; + } + } + + $classNameController = $model.'AdminController'; + $nameSpaceController = $namespace.'\Controller'; + + $contentController = 'configuration = new CrudConfiguration(); + } + + /** + * @Route("/{page}", name="'.$routePrefix.'_index", defaults={"page" = "1"}, requirements={"page" = "\d+"}) + * @Template() + */ + public function indexAction($page, Request $request) + { + return parent::indexAction($page, $request); + } + + /** + * @Route("/new", name="'.$routePrefix.'_new") + * @Template() + */ + public function newAction(Request $request) + { + return parent::newAction($request); + } + + /** + * @Route("/edit/{id}", name="'.$routePrefix.'_edit") + * @Template() + * @ParamConverter("object", class="'.$class.'") + */ + public function editAction($object, Request $request) + { + return parent::editAction($object, $request); + } + + /** + * @Route("/remove/{id}/{token}", name="'.$routePrefix.'_remove") + * @Template() + * @ParamConverter("object", class="'.$class.'") + */ + public function removeAction($object, $token, Request $request) + { + return parent::removeAction($object, $token, $request); + } + + /** + * @Route("/batch", name="'.$routePrefix.'_batch") + * @Template() + * @Method({"POST"}) + */ + public function batchAction(Request $request) + { + return parent::batchAction($request); + } + + /** + * @Route("/filter/clear", name="'.$routePrefix.'_filter_clear") + * @Template() + */ + public function clearFilterAction(Request $request) + { + return parent::clearFilterAction($request); + }'; + + if ($rankable) { + $contentController .= ' + + /** + * @Route("/rank", name="'.$routePrefix.'_rank") + * @Template("TrinityAdminBundle:BaseAdmin:rank.html.twig") + * @Method({"POST"}) + */ + public function rankAction(Request $request) + { + return parent::rankAction($request); + }'; + } + + $contentController .= ' +} +'; + + $output->writeln($contentController); + + if ($input->isInteractive()) { + if (!$dialog->askConfirmation($output, $dialog->getQuestion('Are you agree', 'yes', '?'), true)) { + $output->writeln( + array( + '', + 'Command aborted', + '' + ) + ); + + return 1; + } + } + + // on regarde si le dossier configuration existe + + $pathController = $path.DIRECTORY_SEPARATOR.'Controller'; + $controllerFile = $pathController.DIRECTORY_SEPARATOR.$classNameController.'.php'; + + try { + $filesystem->mkdir($pathController, 0777); + } catch (\IOException $e) { + $output->writeln( + array( + '', + '$e', + '' + ) + ); + + return 1; + } + + if ($filesystem->exists($controllerFile)) { + $output->writeln( + array( + '', + 'The file '.$controllerFile.' already exists.', + '' + ) + ); + + if ($input->isInteractive()) { + if ($dialog->askConfirmation($output, $dialog->getQuestion('Do you want to replace it', 'no', '?'), false)) { + $filesystem->remove($controllerFile); + $output->writeln( + array( + '', + 'File '.$controllerFile.' REMOVED', + '' + ) + ); + + try { + $filesystem->touch($controllerFile, 0777); + file_put_contents($controllerFile, $contentController); + + } catch (\IOException $e) { + $output->writeln( + array( + '', + '$e', + '' + ) + ); + + return 1; + } + + } + } + } else { + try { + $filesystem->touch($controllerFile, 0777); + file_put_contents($controllerFile, $contentController); + } catch (\IOException $e) { + $output->writeln( + array( + '', + '$e', + '' + ) + ); + + return 1; + } + } + + $output->writeln(array('', 'Generating the file Controller: OK','')); + + /* ------------------------------------------ */ + + $output->writeln(array('','Step 3: Generate views','')); + + $pathViews = $path.DIRECTORY_SEPARATOR.'Resources'.DIRECTORY_SEPARATOR.'views'.DIRECTORY_SEPARATOR.$model.'Admin'; + + try { + $filesystem->mkdir($pathViews, 0777); + } catch (\IOException $e) { + $output->writeln( + array( + '', + '$e', + '' + ) + ); + + return 1; + } + + // test des fichiers de vues + if ($filesystem->exists($pathViews.DIRECTORY_SEPARATOR.'index.html.twig')) { + $output->writeln( + array( + '', + 'The file '.$pathViews.DIRECTORY_SEPARATOR.'index.html.twig already exists.', + '' + ) + ); + + if ($input->isInteractive()) { + if ($dialog->askConfirmation($output, $dialog->getQuestion('Do you want to replace it', 'no', '?'), false)) { + $filesystem->remove($pathViews.DIRECTORY_SEPARATOR.'index.html.twig'); + $output->writeln( + array( + '', + 'File '.$pathViews.DIRECTORY_SEPARATOR.'index.html.twig REMOVED', + '' + ) + ); + + try { + $filesystem->touch($pathViews.DIRECTORY_SEPARATOR.'index.html.twig', 0777); + file_put_contents($pathViews.DIRECTORY_SEPARATOR.'index.html.twig', '{% extends "TrinityAdminBundle:BaseAdmin:index.html.twig" %}'); + } catch (\IOException $e) { + $output->writeln( + array( + '', + '$e', + '' + ) + ); + + return 1; + } + + } + } + } else { + try { + $filesystem->touch($pathViews.DIRECTORY_SEPARATOR.'index.html.twig', 0777); + file_put_contents($pathViews.DIRECTORY_SEPARATOR.'index.html.twig', '{% extends "TrinityAdminBundle:BaseAdmin:index.html.twig" %}'); + } catch (\IOException $e) { + $output->writeln( + array( + '', + '$e', + '' + ) + ); + + return 1; + } + } + + if ($filesystem->exists($pathViews.DIRECTORY_SEPARATOR.'edit.html.twig')) { + $output->writeln( + array( + '', + 'The file '.$pathViews.DIRECTORY_SEPARATOR.'edit.html.twig already exists.', + '' + ) + ); + + if ($input->isInteractive()) { + if ($dialog->askConfirmation($output, $dialog->getQuestion('Do you want to replace it', 'no', '?'), false)) { + $filesystem->remove($pathViews.DIRECTORY_SEPARATOR.'edit.html.twig'); + $output->writeln( + array( + '', + 'File '.$pathViews.DIRECTORY_SEPARATOR.'edit.html.twig REMOVED', + '' + ) + ); + + try { + $filesystem->touch($pathViews.DIRECTORY_SEPARATOR.'edit.html.twig', 0777); + file_put_contents($pathViews.DIRECTORY_SEPARATOR.'edit.html.twig', '{% extends "TrinityAdminBundle:BaseAdmin:edit.html.twig" %}'); + } catch (\IOException $e) { + $output->writeln( + array( + '', + '$e', + '' + ) + ); + + return 1; + } + + } + } + } else { + try { + $filesystem->touch($pathViews.DIRECTORY_SEPARATOR.'edit.html.twig', 0777); + file_put_contents($pathViews.DIRECTORY_SEPARATOR.'edit.html.twig', '{% extends "TrinityAdminBundle:BaseAdmin:edit.html.twig" %}'); + } catch (\IOException $e) { + $output->writeln( + array( + '', + '$e', + '' + ) + ); + + return 1; + } + } + + if ($filesystem->exists($pathViews.DIRECTORY_SEPARATOR.'new.html.twig')) { + $output->writeln( + array( + '', + 'The file '.$pathViews.DIRECTORY_SEPARATOR.'new.html.twig already exists.', + '' + ) + ); + + if ($input->isInteractive()) { + if ($dialog->askConfirmation($output, $dialog->getQuestion('Do you want to replace it', 'no', '?'), false)) { + $filesystem->remove($pathViews.DIRECTORY_SEPARATOR.'new.html.twig'); + $output->writeln( + array( + '', + 'File '.$pathViews.DIRECTORY_SEPARATOR.'new.html.twig REMOVED', + '' + ) + ); + + try { + $filesystem->touch($pathViews.DIRECTORY_SEPARATOR.'new.html.twig', 0777); + file_put_contents($pathViews.DIRECTORY_SEPARATOR.'new.html.twig', '{% extends "TrinityAdminBundle:BaseAdmin:new.html.twig" %}'); + } catch (\IOException $e) { + $output->writeln( + array( + '', + '$e', + '' + ) + ); + + return 1; + } + + } + } + } else { + try { + $filesystem->touch($pathViews.DIRECTORY_SEPARATOR.'new.html.twig', 0777); + file_put_contents($pathViews.DIRECTORY_SEPARATOR.'new.html.twig', '{% extends "TrinityAdminBundle:BaseAdmin:new.html.twig" %}'); + } catch (\IOException $e) { + $output->writeln( + array( + '', + '$e', + '' + ) + ); + + return 1; + } + } + + $output->writeln(array('', 'Generating views: OK','')); + + /* ------------------------------------------ */ + + $dialog->writeGeneratorSummary($output, $errors); + + } + + protected function getDialogHelper() + { + $dialog = $this->getHelperSet()->get('dialog'); + if (!$dialog || get_class($dialog) !== 'Sensio\Bundle\GeneratorBundle\Command\Helper\DialogHelper') { + $this->getHelperSet()->set($dialog = new DialogHelper()); + } + + return $dialog; + } +} diff --git a/src/Trinity/Bundle/AdminBundle/Configuration/CrudConfiguration.php b/src/Trinity/Bundle/AdminBundle/Configuration/CrudConfiguration.php new file mode 100644 index 0000000..82294c9 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Configuration/CrudConfiguration.php @@ -0,0 +1,740 @@ + 'TrinityAdminBundle:BaseAdmin:listEdit.html.twig', + 'remove' => 'TrinityAdminBundle:BaseAdmin:listRemove.html.twig', + ); + + protected $indexActions = array( + 'new' => 'TrinityAdminBundle:BaseAdmin:indexNew.html.twig', + ); + + public function setExport($export, array $formats = array('XML', 'CSV', 'JSON', 'YAML')) + { + $this->export = (bool) $export; + $this->exportFormats = $formats; + + return $this; + } + + public function getExport() + { + return $this->export; + } + + public function setExportFormats(array $exportFormats) + { + $this->exportFormats = $exportFormats; + + return $this; + } + + public function getExportFormats() + { + return $this->exportFormats; + } + + private function formatNamespace($namespace) + { + if (substr($namespace, strlen($namespace)-1) !== '\\') { + $namespace .= '\\'; + } + + return $namespace; + } + + public function setIndexListAction($actionName, $template = 'TrinityAdminBundle:BaseAdmin:listDefault.html.twig') + { + $this->indexListActions[$actionName] = $template; + + return $this; + } + + public function setIndexListActions(array $actions) + { + $this->indexListActions = $actions; + + return $this; + } + + public function removeIndexAction($action) + { + if (isset($this->indexActions[$action])) { + unset($this->indexActions[$action]); + } + + return $this; + } + + public function removeIndexListAction($action) + { + if (isset($this->indexListActions[$action])) { + unset($this->indexListActions[$action]); + } + + return $this; + } + + public function getIndexListActions() + { + return $this->indexListActions; + } + + public function getIndexListAction($action) + { + return isset($this->indexListActions[$action]) ? $this->indexListActions[$action] : null; + } + + public function setIndexAction($actionName,$template) + { + $this->indexActions[$actionName] = $template; + + return $this; + } + + public function setIndexActions(array $actions) + { + $this->indexActions = $actions; + + return $this; + } + + public function getIndexActions() + { + return $this->indexActions; + } + + public function getIndexAction($action) + { + return isset($this->indexActions[$action]) ? $this->indexActions[$action] : null; + } + + public function setContextMenu($contextMenu) + { + $this->contextMenu = (bool) $contextMenu; + + return $this; + } + + public function getContextMenu() + { + return $this->contextMenu; + } + + public function setModelNamespace($modelNamespace) + { + $this->modelNamespace = $this->formatNamespace($modelNamespace); + + return $this; + } + + public function setFormNamespace($formNamespace) + { + $this->formNamespace = $this->formatNamespace($formNamespace); + + return $this; + } + + public function getFormNamespace() + { + return $this->formNamespace; + } + + public function setFilterNamespace($filterNamespace) + { + $this->filterNamespace = $this->formatNamespace($filterNamespace); + + return $this; + } + + public function getFiltersTemplates() + { + return $this->filtersTemplates; + } + + public function setBatchActions($batchActions) + { + $this->batchActions = (bool) $batchActions; + + return $this; + } + + public function getBatchActions() + { + return $this->batchActions; + } + + public function getFilterNamespace() + { + return $this->filterNamespace ? $this->filterNamespace : $this->formNamespace; + } + + public function setFieldsets(array $fieldsets, array $i18nFieldsets = array()) + { + $this->fieldsets = $fieldsets; + + return $this; + } + + public function getFieldsets() + { + return $this->fieldsets; + } + + public function setFieldsetsView($fieldsetsView) + { + $this->fieldsetsView = $fieldsetsView; + + return $this; + } + + public function getFieldsetsView() + { + return $this->fieldsetsView; + } + + public function getFieldsnames() + { + return $this->fieldsnames; + } + + public function setFieldname($fieldname, $name) + { + $this->fieldsnames[$fieldname] = $name; + + return $this; + } + + public function setMaxPerPage($maxPerPage) + { + if (is_integer($maxPerPage)) { + $this->maxPerPage = $maxPerPage; + } + + return $this; + } + + public function getMaxPerPage() + { + return $this->maxPerPage; + } + + public function setCurrentPage($currentPage) + { + $this->currentPage = $currentPage; + + return $this; + } + + public function getCurrentPage() + { + return $this->currentPage; + } + + public function setFilter($method, $value) + { + $this->filter = $method; + $this->filterValue = $value; + + return $this; + } + + public function getFilter() + { + return $this->filter; + } + + public function getFilterValue() + { + return $this->filterValue; + } + + public function setSort($method, $order = 'asc') + { + $order = strtoupper($order); + + if (!in_array($order, array(\Criteria::ASC, \Criteria::DESC))) { + throw new \InvalidArgumentException(sprintf('"%s" is not a valid order: %s.', $order, implode(', ', array(\Criteria::ASC, \Criteria::DESC)))); + } + + $this->sort = $method; + $this->sortOrder = $order; + + return $this; + } + + public function getSort() + { + return $this->sort; + } + + public function getSortOrder() + { + return $this->sortOrder; + } + + public function setDisplayFieldAttrs($field, array $attr) + { + $this->displayFieldsAttrs[$field] = $attr; + + return $this; + } + + public function setDisplayFieldsAttrs(array $attrs) + { + foreach ($attrs as $key => $value) { + $this->setDisplayFieldAttrs($key, $value); + } + + return $this; + } + + public function getDisplayFieldsAttrs() + { + return $this->displayFieldsAttrs; + } + + public function setDisplayFields(array $displayFields) + { + $this->displayFields = $displayFields; + + return $this; + } + + public function getDisplayFields() + { + return $this->displayFields; + } + + public function setFilterDisplayFields(array $filterDisplayFields) + { + $this->filterDisplayFields = $filterDisplayFields; + + return $this; + } + + public function getFilterDisplayFields() + { + return $this->filterDisplayFields; + } + + public function setFieldTemplate($field, $template) + { + $this->fieldsTemplates[$field] = $template; + + return $this; + } + + public function setFilterTemplate($field, $template) + { + $this->filtersTemplates[$field] = $template; + + return $this; + } + + public function setFieldHelper($field, $helper) + { + $this->fieldsHelpers[$field] = $helper; + + return $this; + } + + public function setRedirectIfOneResult($redirectIfOneResult) + { + $this->redirectIfOneResult = (bool) $redirectIfOneResult; + + return $this; + } + + public function getRedirectIfOneResult() + { + return $this->redirectIfOneResult; + } + + public function setFilterMethod($field, $method, $criteria = null, $value = null) + { + $this->filtersMethods[$field] = array( + 'method' => $method, + 'criteria' => $criteria, + 'value' => $value, + ); + + return $this; + } + + public function getFiltersMethods() + { + return $this->filtersMethods; + } + + public function getFieldsTemplates() + { + return $this->fieldsTemplates; + } + + public function getFieldsHelpers() + { + return $this->fieldsHelpers; + } + + public function setModel($model, $useDefaultNamespace = true) + { + if (!$useDefaultNamespace) { + $this->model = $model; + + return $this; + } + + if (!class_exists($this->modelNamespace.$model)) { + $this->modelNotFoundAdminException($this->modelNamespace.$model); + } + + $this->model = $this->modelNamespace.$model; + + return $this; + } + + public function getModel() + { + return $this->model; + } + + public function setModelPeer($modelPeer, $useDefaultNamespace = true) + { + if (!$useDefaultNamespace) { + $this->modelPeer = $modelPeer; + + return $this; + } + + if (!class_exists($this->modelNamespace.$modelPeer)) { + $this->modelNotFoundAdminException($this->modelNamespace.$modelPeer); + } + + $this->modelPeer = $this->modelNamespace.$modelPeer; + + return $this; + } + + public function getModelPeer() + { + return $this->modelPeer; + } + + public function setModelQuery($modelQuery, $useDefaultNamespace = true) + { + if (!$useDefaultNamespace) { + $this->modelQuery = $modelQuery; + + return $this; + } + + if (!class_exists($this->modelNamespace.$modelQuery)) { + $this->modelNotFoundAdminException($this->modelNamespace.$modelQuery); + } + + $this->modelQuery = $this->modelNamespace.$modelQuery; + + return $this; + } + + public function getRoutePrefix() + { + if (null === $this->routePrefix) { + throw new \RuntimeException('You must set the route_prefix in the configuration of your admin bundle.'); + } + + return $this->routePrefix; + } + + public function setRoutePrefix($routePrefix) + { + $this->routePrefix = $routePrefix; + + return $this; + } + + public function getModelQuery() + { + return $this->modelQuery; + } + + public function setFormEdit($formEdit, $useDefaultNamespace = true) + { + if (!$useDefaultNamespace) { + $this->formEdit = $formEdit; + + return $this; + } + + if (!class_exists($this->getFormNamespace().$formEdit)) { + $this->modelNotFoundAdminException($this->getFormNamespace().$formEdit); + } + + $this->formEdit = $this->getFormNamespace().$formEdit; + + return $this; + } + + public function getFormEdit() + { + return $this->formEdit; + } + + public function setFormNew($formNew, $useDefaultNamespace = true) + { + if (!$useDefaultNamespace) { + $this->formNew = $formNew; + + return $this; + } + + if (!class_exists($this->getFormNamespace().$formNew)) { + $this->modelNotFoundAdminException($this->getFormNamespace().$formNew); + } + + $this->formNew = $this->getFormNamespace().$formNew; + + return $this; + } + + public function getFormNew() + { + return $this->formNew; + } + + public function setFormFilter($formFilter, $useDefaultNamespace = true) + { + if (!$useDefaultNamespace) { + $this->formFilter = $formFilter; + + return $this; + } + + if (!class_exists($this->getFilterNamespace().$formFilter)) { + $this->modelNotFoundAdminException($this->getFilterNamespace().$formFilter); + } + + $this->formFilter = $this->getFilterNamespace().$formFilter; + + return $this; + } + + public function getFormFilter() + { + return $this->formFilter; + } + + public function setEditTitle($editTitle) + { + $this->editTitle = $editTitle; + + return $this; + } + + public function setListTitle($listTitle) + { + $this->listTitle = $listTitle; + + return $this; + } + + public function setNewTitle($newTitle) + { + $this->newTitle = $newTitle; + + return $this; + } + + public function getEditTitle($object) + { + return $this->editTitle; + } + + public function getListTitle() + { + return $this->listTitle; + } + + public function getNewTitle() + { + return $this->newTitle; + } + + public function setFormEditOptions($formEditOptions) + { + $this->formEditOptions = $formEditOptions; + + return $this; + } + + public function getFormEditOptions() + { + return $this->formEditOptions; + } + + public function setFormNewOptions($formNewOptions) + { + $this->formNewOptions = $formNewOptions; + + return $this; + } + + public function getFormNewOptions() + { + return $this->formNewOptions; + } + + public function setFormFilterOptions($formFilterOptions) + { + $this->formFilterOptions = $formFilterOptions; + + return $this; + } + + public function getFormFilterOptions() + { + return $this->formFilterOptions; + } + + public function getCopyBatchAction() + { + return $this->copyBatchAction; + } + + public function getDefaultFieldTemplate() + { + return 'TrinityAdminBundle:BaseAdmin:default.html.twig'; + } + + public function modelNotFoundAdminException($model) + { + throw new BaseAdminException\ModelNotFoundAdminException(sprintf('Model "%s" is not found.', $model)); + } + + public function setStorageNamespace($storageNamespace) + { + $this->storageNamespace = $storageNamespace; + + return $this; + } + + public function getStorageNamespace() + { + return $this->storageNamespace; + } + + public function setRankable($bool) + { + $this->rankable = (bool) $bool; + + return $this; + } + + public function getRankable() + { + return $this->rankable; + } + + public function setI18n($i18n, array $cultures) + { + $this->i18n = (bool) $i18n; + $this->i18nCultures = $cultures; + + return $this; + } + + public function setI18nCultures(array $cultures) + { + $this->i18nCultures = $cultures; + + return $this; + } + + public function getI18n() + { + return $this->i18n; + } + + public function getI18nCultures() + { + return $this->i18nCultures; + } + + public function setCollections(array $collections) + { + $this->collections = $collections; + + return $this; + } + + public function getCollections() + { + return $this->collections; + } +} diff --git a/src/Trinity/Bundle/AdminBundle/Controller/BaseAdminController.php b/src/Trinity/Bundle/AdminBundle/Controller/BaseAdminController.php new file mode 100644 index 0000000..85cf795 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Controller/BaseAdminController.php @@ -0,0 +1,876 @@ +getSessionUser(); + + if (!$user->hasFlash('message', $this->getConfiguration()->getStorageNamespace())) { + return new Response(); + } + + $flash = $user->getFlash( + 'message', + $this->getConfiguration()->getStorageNamespace() + ); + + return $this->render( + $flash->getTemplate(), + array( + 'message' => $flash->getMessage() + ) + ); + } + + public function filtersAction($routePrefix) + { + return $this->render( + 'TrinityAdminBundle:BaseAdmin:filters.html.twig', + array( + 'form_filter' => $this->getFormFilter()->createView(), + 'filter_display_fields' => $this->getConfiguration()->getFilterDisplayFields(), + 'filters_templates' => $this->getConfiguration()->getFiltersTemplates(), + 'user_has_filter' => $this->getSessionUser()->getAttribute('filter', false, $this->getConfiguration()->getStorageNamespace()), + 'route_prefix' => $routePrefix, + ) + ); + } + + public function historyAction($routePrefix) + { + $query = $this->getQuery(); + + try { + $query->orderByUpdatedAt(\Criteria::DESC); + } catch (\PropelException $e) { + + } + + $query->limit(self::HISTORY_LIMIT); + + return $this->render( + 'TrinityAdminBundle:BaseAdmin:history.html.twig', + array( + 'objects' => $query->find(), + 'route_prefix' => $routePrefix, + ) + ); + } + + protected function getQuery() + { + $modelQuery = $this->getConfiguration()->getModelQuery(); + + return $modelQuery::create(); + } + + protected function addSortToQuery(&$query) + { + if (!$this->getConfiguration()->getSortOrder()) { + return false; + } + + $method = $this->getConfiguration()->getSort(); + + $method = $this->getConfiguration()->getRankable() ? 'orderByRank' : $method; + + if (!$method) { + return false; + } + + try { + call_user_func(array($query, $method), $this->getConfiguration()->getSortOrder()); + } catch (\PropelException $e) { + + } + + return true; + } + + protected function getFilters(Request $request) + { + if ($request->isMethod('POST')) { + $datas = $request->request->get($this->getFormFilter(true)->getName()); + } else { + $datas = $request->query->get($this->getFormFilter(true)->getName()); + } + + if (!empty($datas)) { + return $datas; + } + + return $this->getSessionUser()->getAttribute( + 'filter', + array(), + $this->getConfiguration()->getStorageNamespace() + ); + } + + protected function addFiltersToQuery(&$query, Request $request) + { + $form = $this->getFormFilter(true); + + $datas = $this->getFilters($request); + + if (!is_array($datas)) { + return false; + } + + $datas = $this->cleanFilterArray($datas); + + $filtersMethods = $this->getConfiguration()->getFiltersMethods(); + + foreach ($datas as $field => $value) { + $method = isset($filtersMethods[$field]) ? $filtersMethods[$field]['method'] : 'filterBy'.Propel::camelCase($field); + $criteria = isset($filtersMethods[$field]) ? $filtersMethods[$field]['criteria'] : (is_numeric($value) && intval($value) == $value ? null : 'like'); + $params = isset($filtersMethods[$field]) ? $filtersMethods[$field]['params'] : array(); + + if (!method_exists($this->getConfiguration()->getModelQuery(), $method)) { + throw new FilterMethodNotFoundException(sprintf('Filter method "%s" does not exist in class "%s"', $method, $this->getConfiguration()->getModelQuery())); + } + + if (strtolower($criteria) == 'like') { + $value = '%'.$value.'%'; + $criteria = null; + } + + if ($value !== 'bool.both' && $value !== '%bool.both%') { + $bools = array( + 'bool.true' => true, + 'bool.false' => false, + '%bool.true%' => true, + '%bool.false%' => false, + ); + + if (isset($bools[$value])) { + $value = $bools[$value]; + } + + try { + $this->get('logger')->info(sprintf('Filter by "%s" with "%s", criteria: %s', $method, var_export($value, true), $criteria ? $criteria : 'NULL')); + + $callParams = array_merge($criteria !== null ? array($value, $criteria) : array($value), $params); + call_user_func_array(array($query, $method), $callParams); + } catch (\PropelException $e) { + + } + } else { + unset($datas[$field]); + } + } + + $filterMethod = $this->getConfiguration()->getFilter(); + if ($filterMethod !== null) { + if (!method_exists($this->getConfiguration()->getModelQuery(), $filterMethod)) { + throw new FilterMethodNotFoundException(sprintf('Filter method "%s" does not exist in class "%s"', $filterMethod, $this->getConfiguration()->getModelQuery())); + } + + $value = $this->getConfiguration()->getFilterValue(); + + if (!is_array($value)) { + $value = array($value); + } + + $this->get('logger')->info(sprintf('Filter by "%s" with "%s"', $filterMethod, var_export($value, true))); + + call_user_func_array(array($query, $filterMethod), $value); + } + + $this->getSessionUser()->setAttribute('filter', $datas, $this->getConfiguration()->getStorageNamespace()); + + $form->bind($datas); + + return $form; + } + + protected function getPager(Request $request) + { + $query = $this->getQuery(); + + $query->distinct(); + + $this->addSortToQuery($query); + $this->addFiltersToQuery($query, $request); + + $adapter = new PropelAdapter($query); + $pagerfanta = new Pagerfanta($adapter); + $pagerfanta->setMaxPerPage($this->getConfiguration()->getMaxPerPage()); + + try { + $pagerfanta->setCurrentPage($this->getConfiguration()->getCurrentPage(), false, true); + } catch (NotValidCurrentPageException $e) { + $pagerfanta->setCurrentPage(1, false, true); + } + + return $pagerfanta; + } + + protected function getFields() + { + $modelPeer = $this->getConfiguration()->getModelPeer(); + $peerFields = $modelPeer::getFieldNames(BasePeer::TYPE_FIELDNAME); + $peerFieldsCb = $modelPeer::getFieldNames(); + $fields = array(); + $finalFields = array(); + $displayFields = $this->getConfiguration()->getDisplayFields(); + $fieldsTemplates = $this->getConfiguration()->getFieldsTemplates(); + + if (!empty($displayFields)) { + $arrayPushBefore = function (array $array, $data, $pos) { + return array_merge(array_slice($array, 0, $pos), array($data), array_slice($array, $pos)); + }; + + foreach ($displayFields as $k => $displayField) { + if (!in_array($displayField, $peerFields)) { + $method = ucfirst($displayField); + $peerFields = $arrayPushBefore($peerFields, $displayField, $k); + $peerFieldsCb = $arrayPushBefore($peerFieldsCb, $method, $k); + } + } + } + + $fieldNames = new \ArrayIterator($peerFields); + $fieldNamesCb = new \ArrayIterator($peerFieldsCb); + + while ($fieldNames->valid()) { + if (empty($displayFields) || (!empty($displayFields) && in_array($fieldNames->current(), $displayFields))) { + $method1 = Propel::getGetter($fieldNamesCb->current()); + $method2 = lcfirst(preg_replace('/^get/', '', $method1)); + + $data = array( + 'name' => $fieldNames->current(), + 'method' => method_exists($this->getConfiguration()->getModel(), $method2) ? $method2 : $method1, + 'template' => isset($fieldsTemplates[$fieldNames->current()]) ? $fieldsTemplates[$fieldNames->current()] : $this->getConfiguration()->getDefaultFieldTemplate() + ); + + if (empty($displayFields)) { + $fields[] = $data; + } else { + $keys = array_keys($displayFields, $fieldNames->current()); + $fields[$keys[0]] = $data; + } + } + + $fieldNames->next(); + $fieldNamesCb->next(); + } + + $k = 0; + while (count($finalFields) !== count($fields)) { + if (isset($fields[$k])) { + $finalFields[] = $fields[$k]; + } + + $k++; + } + + return $finalFields; + } + + protected function redirectByRequest(Request $request, $object) + { + $list = array( + 'edit_same' => $this->generateUrl(sprintf('%s_edit', $this->getConfiguration()->getRoutePrefix()), array('id' => $object->getId())), + 'save_new' => $this->generateUrl(sprintf('%s_new', $this->getConfiguration()->getRoutePrefix())), + ); + + foreach ($list as $index => $uri) { + if ($request->request->has($index)) { + return $uri; + } + } + + throw new RequestAdminException('No valid target (post submit) has been found.'); + } + + protected function getBatchType() + { + return $this->createForm(new BatchType()); + } + + protected function getRankType() + { + return $this->createForm(new RankType()); + } + + protected function processForm(&$form, &$object, Request $request) + { + $form->bind($request); + + if ($form->isValid()) { + if ($object instanceof \FOS\UserBundle\Propel\User) { + if ($object->isNew()) { + $newUser = true; + } else { + $updatedUser = true; + } + } + + $this->preSave($object); + + $object->save(); + + $this->postSave($object); + + if (!empty($newUser)) { + $this->get('trinity.user_log')->created($object, $this->getUser()); + } + + if (!empty($updatedUser)) { + $this->get('trinity.user_log')->updated($object, $this->getUser()); + } + + return $this->redirect($this->redirectByRequest($request, $object)); + } + + return false; + } + + protected function removeObjects($query, array $pks) + { + foreach ($pks as $pk) { + $object = $query->findPK($pk); + $this->preRemove($object); + $object->delete(); + $this->postRemove($object); + } + } + + protected function copyObjects($query, array $pks) + { + foreach ($pks as $pk) { + $copy = $query->findPK($pk)->copy(true); + $this->preSave($copy); + $copy->save(); + $this->postSave($copy); + } + } + + protected function processBatchForm(&$form, Request $request) + { + $form->submit($request); + + //if ($form->isValid()) { + $values = $request->request->get($form->getName()); + + if (!empty($values['objects'])) { + $modelQuery = $this->getConfiguration()->getModelQuery(); + $query = new $modelQuery(); + + switch ($values['action']) { + case BatchType::BATCH_COPY: $this->copyObjects($query, $values['objects']); break; + case BatchType::BATCH_REMOVE: $this->removeObjects($query, $values['objects']); break; + } + + $this->get('logger')->info(sprintf('Batch action (%s)', $values['action'])); + + return 2; + } + + return 1; + //} + return 0; + } + + protected function batchAction(Request $request) + { + $form = $this->getBatchType(); + + $redirect = $this->redirect( + $this->getSessionUser()->getAttribute( + 'referer', + $this->generateUrl(sprintf('%s_index', $this->getConfiguration()->getRoutePrefix()), array('page' => 1)) + ) + ); + + $proccess = $this->processBatchForm($form, $request); + $namespace = $this->getConfiguration()->getStorageNamespace(); + + switch ($proccess) { + case 1: $this->getSessionUser()->setFlash('message', new FlashWarning('crud.flash.notselected'), false, $namespace); break; + case 2: $this->getSessionUser()->setFlash('message', new FlashSuccess('crud.flash.updated.plural'), false, $namespace); break; + } + + return $redirect; + } + + /** + * @Route("/", name="TrinityAdminBundle_index") + */ + public function indexAction($page, Request $request) + { + $this->getSessionUser()->setAttribute('referer', $request->getRequestUri()); + + $namespace = $this->getConfiguration()->getStorageNamespace(); + $sortCookieName = $namespace.'_sort'; + $pageCookieName = $namespace.'_page'; + + $sort = ''; + if ($request->query->get('sort')) { + $sort = $request->query->get('sort'); + } elseif ($sortCookie = $request->cookies->get($sortCookieName)) { + $sort = $sortCookie; + } + + if (!$request->query->has('sort') && intval($page) === 1) { + if ($pageCookie = $request->cookies->get($pageCookieName)) { + $page = max(1, intval($pageCookie)); + } + } + + if ($format = $request->query->get('format')) { + if ($this->isValidExportFormat($format)) { + return $this->exportTo($format); + } + } + + $this->getConfiguration()->setCurrentPage($page); + $this->addCookie(new Cookie($pageCookieName, $page, time() + 3600)); + + if (!empty($sort)) { + $parts = explode(':', $sort); + + if (count($parts) == 2) { + list($field, $order) = $parts; + + $method = 'orderBy'.Propel::camelCase($field); + $this->getConfiguration()->setSort($method, $order); + $this->get('logger')->info(sprintf('Order by "%s", "%s"', $method, $order)); + + $this->addCookie(new Cookie($sortCookieName, $sort, time() + 3600 * 24 * 360)); + } + } + + $pager = $this->getPager($request); + + if ($this->getConfiguration()->getRedirectIfOneResult()) { + if ($this->getFilters($request) && count($pager) === 1 && $this->getConfiguration()->getIndexListAction('edit')) { + $this->getSessionUser()->setAttribute('filter', null, $this->getConfiguration()->getStorageNamespace()); + + return $this->redirect($this->generateUrl(sprintf('%s_edit',$this->getConfiguration()->getRoutePrefix()), array('id' => $pager->getIterator()->offsetGet(0)->getId()))); + } + } + + return array( + 'pager' => $pager, + 'fields' => $this->getFields(), + 'fields_templates' => $this->getConfiguration()->getFieldsTemplates(), + 'fields_attrs' => $this->getConfiguration()->getDisplayFieldsAttrs(), + 'list_actions' => $this->getConfiguration()->getIndexListActions(), + 'index_actions' => $this->getConfiguration()->getIndexActions(), + 'batch_actions' => $this->getConfiguration()->getBatchActions(), + 'context_menu' => $this->getConfiguration()->getContextMenu(), + 'export' => $this->getConfiguration()->getExport(), + 'exportFormats' => $this->getConfiguration()->getExportFormats(), + 'rankable' => $this->getConfiguration()->getRankable(), + 'remove_token' => $this->getRemoveToken(true), + 'fieldsnames' => $this->getConfiguration()->getFieldsnames(), + 'templating' => $this->container->get('templating'), + 'form_batch' => $this->getBatchType()->createView(), + 'form_rank' => $this->getRankType()->createView(), + 'title' => $this->getConfiguration()->getListTitle(), + 'i18n' => $this->getConfiguration()->getI18n(), + 'i18n_cultures' => $this->getConfiguration()->getI18nCultures(), + 'pager_sort' => $sort, + ); + } + + protected function addCookie(Cookie $cookie) + { + $response = new Response(); + $response->headers->setCookie($cookie); + + return $response->send(); + } + + protected function exportTo($format) + { + $query = $this->getQuery(); + + $this->addSortToQuery($query); + $this->addFiltersToQuery($query, $this->getRequest()); + + $render = $this->render( + 'TrinityAdminBundle:BaseAdmin:export.html.twig', + array( + 'datas' => $query->find()->exportTo($format), + ) + ); + + $render->headers->set('Content-Type', $this->getExportContentTypeByFormat($format)); + $render->headers->set('Content-disposition', sprintf('filename="export-%s%s"', time(), $this->getExportExtensionByFormat($format))); + + return $render; + } + + public function clearFilterAction(Request $request) + { + $redirect = $this->redirect( + $this->getSessionUser()->getAttribute( + 'referer', + $this->generateUrl(sprintf('%s_index', $this->getConfiguration()->getRoutePrefix()), array('page' => 1)) + ) + ); + + $this->getSessionUser()->setAttribute('filter', null, $this->getConfiguration()->getStorageNamespace()); + + return $redirect; + } + + public function editAction($object, Request $request) + { + if (!$object) { + $this->getSessionUser()->setFlash('message', new FlashWarning('crud.flash.unknown'), false, $this->getConfiguration()->getStorageNamespace()); + + return $this->redirect($this->generateUrl(sprintf('%s_index',$this->getConfiguration()->getRoutePrefix()))); + } + + $form = $this->getConfiguration()->getFormEdit(); + + if($this->has($form)){ + $form = $this->createForm($this->get($form)->getName(), $object, $this->getConfiguration()->getFormEditOptions()); + }else { + $form = $this->createForm(new $form($this->getConfiguration()->getFormEditOptions()), $object); + } + + if ('POST' === $request->getMethod()) { + if (false !== $processForm = $this->processForm($form, $object, $request)) { + $this->getSessionUser()->setFlash('message', new FlashSuccess('crud.flash.updated.singular'), false, $this->getConfiguration()->getStorageNamespace()); + + return $processForm; + } + + $this->getSessionUser()->setFlash('message', new FlashError('crud.flash.fail.update'), false, $this->getConfiguration()->getStorageNamespace()); + } + + return array( + 'object' => $object, + 'created_at' => (method_exists($object, 'getCreatedAt'))?$object->getCreatedAt('d/m/Y'):null, + 'updated_at' => (method_exists($object, 'getUpdatedAt'))?$object->getUpdatedAt('d/m/Y'):null, + 'form' => $form->createView(), + 'fieldsets' => $this->getConfiguration()->getFieldsets(), + 'fieldsetsView' => $this->getConfiguration()->getFieldsetsView(), + 'fieldsnames' => $this->getConfiguration()->getFieldsnames(), + 'fields_helpers' => $this->getConfiguration()->getFieldsHelpers(), + 'remove_token' => $this->getRemoveToken(true), + 'title' => $this->getConfiguration()->getEditTitle($object), + 'i18n' => $this->getConfiguration()->getI18n(), + 'i18n_cultures' => $this->getConfiguration()->getI18nCultures(), + 'collections' => $this->getConfiguration()->getCollections(), + ); + } + + public function newAction(Request $request) + { + $model = $this->getConfiguration()->getModel(); + $object = new $model(); + + $form = $this->getConfiguration()->getFormNew(); + + if($this->has($form)){ + $form = $this->createForm($this->get($form)->getName(), $object, $this->getConfiguration()->getFormNewOptions()); + }else { + $form = $this->createForm(new $form($this->getConfiguration()->getFormNewOptions()), $object); + } + + if ('POST' === $request->getMethod()) { + if (false !== $processForm = $this->processForm($form, $object, $request)) { + $this->getSessionUser()->setFlash('message', new FlashSuccess('crud.flash.updated.singular'), false, $this->getConfiguration()->getStorageNamespace()); + + return $processForm; + } + + $this->getSessionUser()->setFlash('message', new FlashError('crud.flash.fail.new'), false, $this->getConfiguration()->getStorageNamespace()); + } + + return array( + 'form' => $form->createView(), + 'fieldsets' => $this->getConfiguration()->getFieldsets(), + 'fieldsetsView' => $this->getConfiguration()->getFieldsetsView(), + 'fieldsnames' => $this->getConfiguration()->getFieldsnames(), + 'fields_helpers' => $this->getConfiguration()->getFieldsHelpers(), + 'title' => $this->getConfiguration()->getNewTitle(), + 'i18n' => $this->getConfiguration()->getI18n(), + 'i18n_cultures' => $this->getConfiguration()->getI18nCultures(), + 'collections' => $this->getConfiguration()->getCollections(), + ); + } + + public function removeAction($object, $token, Request $request) + { + if ($object) { + if ($this->getRemoveToken() !== $token) { + $this->getSessionUser()->setFlash('message', new FlashError('crud.flash.token'), false, $this->getConfiguration()->getStorageNamespace()); + } else { + try { + $this->preRemove($object); + $object->delete(); + $this->postRemove($object); + $this->getSessionUser()->setFlash('message', new FlashSuccess('crud.flash.removed'), false, $this->getConfiguration()->getStorageNamespace()); + } catch (PropelException $e) { + $this->getSessionUser()->setFlash('message', new FlashError('crud.flash.fail.remove'), false, $this->getConfiguration()->getStorageNamespace()); + } + } + } else { + $this->getSessionUser()->setFlash('message', new FlashWarning('crud.flash.unknown'), false, $this->getConfiguration()->getStorageNamespace()); + } + + return $this->redirect($this->generateUrl(sprintf('%s_index',$this->getConfiguration()->getRoutePrefix()))); + } + + public function rankAction(Request $request) + { + $form = $this->getRankType(); + + $form->bind($request); + + if ($form->isValid()) { + $datas = $form->getData(); + $ids = explode(' ', $datas['objects']); + $page = $datas['page']; + $query = $this->getQuery(); + + foreach ($ids as $k => $id) { + $rank = ($this->getConfiguration()->getMaxPerPage() * $page) + $k + 1; + $object = $query->findOneById($id); + + if ($object) { + $object->setRank($rank)->save(); + } + } + } + + return null; + } + + protected function getRemoveToken($getNew = false) + { + $attributeName = 'remove_token_'.$this->getConfiguration()->getModel(); + + if ($getNew) { + $token = sha1(uniqid().time()); + $this->getSessionUser()->setAttribute($attributeName, $token); + + return $token; + } + + return $this->getSessionUser()->getAttribute($attributeName); + } + + protected function isValidExportFormat($format) + { + return in_array($format, array('XML', 'CSV', 'JSON', 'YAML')); + } + + protected function getExportContentTypeByFormat($format) + { + if (!$this->isValidExportFormat($format)) { + return null; + } + + $formats = array( + 'XML' => 'text/xml', + 'CSV' => 'text/csv', + 'JSON' => 'text/json', + 'YAML' => 'text/yaml', + ); + + return $formats[$format]; + } + + protected function getExportExtensionByFormat($format) + { + if (!$this->isValidExportFormat($format)) { + return null; + } + + $formats = array( + 'XML' => '.xml', + 'CSV' => '.csv', + 'JSON' => '.json', + 'YAML' => '.yml', + ); + + return $formats[$format]; + } + + protected function getFormFilter($new = false) + { + $form = $this->getConfiguration()->getFormFilter() ? $this->getConfiguration()->getFormFilter() : $this->getConfiguration()->getFormNew(); + + $form = $this->createForm(new $form($this->getConfiguration()->getFormFilterOptions())); + + if (!$new) { + $datas = $this->cleanFilterArray($this->getSessionUser()->getAttribute('filter', array(), $this->getConfiguration()->getStorageNamespace())); + $form->bind($datas); + } + + return $form; + } + + protected function cleanFilterArray(array $array) + { + foreach ($array as $k => $v) { + if (trim($v) === '') { + unset($array[$k]); + } + } + + return $array; + } + + /** + * @return mixed + * @throws \LogicException + */ + public function getConfiguration() + { + if (empty($this->configuration)) { + throw new \LogicException('You must specify a crud configuration.'); + } + + if (null === $this->configuration->getStorageNamespace()) { + $this->configuration->setStorageNamespace(get_class($this)); + } + + return $this->configuration; + } + + /** + * @Route("/jsTranslations.js", name="TrinityAdminBundle_jsTranslation") + * @Template("TrinityAdminBundle:BaseAdmin:jsTranslation.html.twig") + */ + public function jsTranslationAction(Request $request) + { + } + + public function getUser() + { + if (!$this->container->has('security.context')) { + throw new \LogicException('The SecurityBundle is not registered in your application.'); + } + + if (null === $token = $this->container->get('security.context')->getToken()) { + return null; + } + + if (!is_object($user = $token->getUser())) { + return null; + } + + if (method_exists($user, 'setStorage')) { + $user->setStorage($this->container->get('trinity.storage')); + } + + return $user; + } + + public function getSessionUser() + { + return $this->container->get('trinity.session_user'); + } + + public function preSave($object) + { + } + + public function postSave($object, $wasNew = false) + { + } + + public function preRemove($object) + { + } + + public function postRemove($object) + { + } + + public function postDelete($object) + { + return $this->postRemove($object); + } + + public function preDelete($object) + { + return $this->preRemove($object); + } + + public function cleanString($text) + { + $text = preg_replace('`]+>`U', '', $text); + + $encoding = mb_detect_encoding($text); + $text = str_replace(array(' ', '’'), ' ',$text); + $text = html_entity_decode(strip_tags($text)); + if ($encoding!='UTF-8') $text = utf8_encode($text); + + $text = str_replace( + array( + 'à', 'â', 'ä', 'á', 'ã', 'å', + 'î', 'ï', 'ì', 'í', + 'ô', 'ö', 'ò', 'ó', 'õ', 'ø', + 'ù', 'û', 'ü', 'ú', + 'é', 'è', 'ê', 'ë', + 'ç', 'ÿ', 'ñ', + 'À', 'Â', 'Ä', 'Á', 'Ã', 'Å', + 'Î', 'Ï', 'Ì', 'Í', + 'Ô', 'Ö', 'Ò', 'Ó', 'Õ', 'Ø', + 'Ù', 'Û', 'Ü', 'Ú', + 'É', 'È', 'Ê', 'Ë', + 'Ç', 'Ÿ', 'Ñ', + '\'', '"', + ' ', ' ', ' ', ' ', ' ' + ), + array( + 'a', 'a', 'a', 'a', 'a', 'a', + 'i', 'i', 'i', 'i', + 'o', 'o', 'o', 'o', 'o', 'o', + 'u', 'u', 'u', 'u', + 'e', 'e', 'e', 'e', + 'c', 'y', 'n', + 'A', 'A', 'A', 'A', 'A', 'A', + 'I', 'I', 'I', 'I', + 'O', 'O', 'O', 'O', 'O', 'O', + 'U', 'U', 'U', 'U', + 'E', 'E', 'E', 'E', + 'C', 'Y', 'N', + ' ', ' ', + ' ', ' ', ' ', ' ', ' ' + ),$text); + + return strtolower($text); + } +} diff --git a/src/Trinity/Bundle/AdminBundle/DependencyInjection/Configuration.php b/src/Trinity/Bundle/AdminBundle/DependencyInjection/Configuration.php new file mode 100644 index 0000000..0fba82e --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/DependencyInjection/Configuration.php @@ -0,0 +1,47 @@ +root('trinity_admin'); + + /*$rootNode + ->children() + ->arrayNode('i18n') + ->info('I18n configuration') + ->children() + ->booleanNode('active') + ->defaultFalse() + ->end() + ->arrayNode('langs') + ->info('Langs configuration') + ->requiresAtLeastOneElement() + ->prototype('array')->end() + ->end() + ->end() + ->end() + ->end() + ;*/ + + // Here you should define the parameters that are allowed to + // configure your bundle. See the documentation linked above for + // more information on that topic. + + return $treeBuilder; + } +} diff --git a/src/Trinity/Bundle/AdminBundle/DependencyInjection/TrinityAdminExtension.php b/src/Trinity/Bundle/AdminBundle/DependencyInjection/TrinityAdminExtension.php new file mode 100644 index 0000000..2c24568 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/DependencyInjection/TrinityAdminExtension.php @@ -0,0 +1,29 @@ +processConfiguration($configuration, $configs); + + $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); + $loader->load('services.xml'); + } +} diff --git a/src/Trinity/Bundle/AdminBundle/Exception/FilterMethodNotFoundException.php b/src/Trinity/Bundle/AdminBundle/Exception/FilterMethodNotFoundException.php new file mode 100644 index 0000000..9450449 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Exception/FilterMethodNotFoundException.php @@ -0,0 +1,7 @@ +object = $object; + $this->name = $name; + } + + public function removeFile() + { + $getter = sprintf('get%s', ucfirst($this->name)); + $setter = sprintf('set%s', ucfirst($this->name)); + + $file = call_user_func(array($this->object, $getter)); + + if (null !== $file && is_object($file) && $file instanceof File) { + return unlink($file->getRealpath()); + } + + return call_user_func(array($this->object, $setter), ''); + } + + public function rollBackField() + { + $rollback = sprintf('rollback_%s', $this->name); + $setter = sprintf('set%s', ucfirst($this->name)); + + return call_user_func(array($this->object, $setter), $this->object->$rollback); + } +} diff --git a/src/Trinity/Bundle/AdminBundle/File/FileUploadInterface.php b/src/Trinity/Bundle/AdminBundle/File/FileUploadInterface.php new file mode 100644 index 0000000..6db79b7 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/File/FileUploadInterface.php @@ -0,0 +1,8 @@ +add( + 'objects', + 'choice', + array( + 'required' => true, + 'multiple' => true, + 'expanded' => true, + ) + ); + + $builder->add( + 'action', + 'choice', + array( + 'required' => true, + 'choices' => array( + self::BATCH_COPY => 'Copy', + self::BATCH_REMOVE => 'Remove', + ), + 'multiple' => false, + ) + ); + } + + /** + * {@inheritdoc} + */ + public function setDefaultOptions(OptionsResolverInterface $resolver) + { + $resolver->setDefaults(array( + + )); + } + + /** + * {@inheritdoc} + */ + public function getName() + { + return 'batch'; + } +} diff --git a/src/Trinity/Bundle/AdminBundle/Form/Type/FilterBooleanType.php b/src/Trinity/Bundle/AdminBundle/Form/Type/FilterBooleanType.php new file mode 100644 index 0000000..3f404e2 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Form/Type/FilterBooleanType.php @@ -0,0 +1,32 @@ +setDefaults(array( + 'required' => false, + 'empty_value' => false, + 'choices' => array( + 'bool.both' => 'Anyway', + 'bool.true' => 'True', + 'bool.false' => 'False', + ) + )); + } + + public function getParent() + { + return 'choice'; + } + + public function getName() + { + return 'filter_boolean'; + } +} diff --git a/src/Trinity/Bundle/AdminBundle/Form/Type/RankType.php b/src/Trinity/Bundle/AdminBundle/Form/Type/RankType.php new file mode 100644 index 0000000..921ca50 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Form/Type/RankType.php @@ -0,0 +1,50 @@ +add( + 'objects', + 'hidden', + array( + 'required' => false, + ) + ); + + $builder->add( + 'page', + 'hidden', + array( + 'required' => false, + ) + ); + } + + /** + * {@inheritdoc} + */ + public function setDefaultOptions(OptionsResolverInterface $resolver) + { + $resolver->setDefaults(array( + + )); + } + + /** + * {@inheritdoc} + */ + public function getName() + { + return 'rank'; + } +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/config/services.xml b/src/Trinity/Bundle/AdminBundle/Resources/config/services.xml new file mode 100644 index 0000000..e87b13b --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/config/services.xml @@ -0,0 +1,21 @@ + + + + + + + Trinity\Bundle\AdminBundle\Twig\Extension\FieldExtension + + + + + + + + + + + + diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen-sprite.png b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..3611ae4ace1c4b1cbeacd6145b5a79cbc72e0bdc GIT binary patch literal 646 zcmV;10(t$3P)0006_Nkl&pbAC0n?)s%2x5M$#UgGxI1~gymp~v; zh<`zGaTJP5BybQY4tlRo;SIcmE0t>ueW3>*u6N;@_u;;|BoL8PuhZ#FWY9$(flan1oVvxDBL8~}0Q5z;^2p>Ov z7}Q$E7=l>$BZLUt1*uKMCaQwKYf$lsJCyerWMd+%BeGH6f_f&Vpy%=$BN%uK%Ahxi zF+%Jj=Pc-WXF;djSiJw|m4>cN%^Fi|FBZ!E{_yJLS?RI<3U696XLkQSs z{{&kQJ$K(#5CgC1;GbA>mjm56zJZ^-Hg2_ASKI_K@CybPh7Rq}8ud``)NM~eZx}qT z)oK?Lf>t!B;%Uh}*P+)Ef?jbx#w|BNEVb(l{2LK}m#fw4xx>ddF;&j}!S{N-e!<&Q z?kvzyI_AT@H-u4tUz1h&GCh8>?TnA~?BZ7WGP<9`r gQ6DuZO!_~60ju@{TzXF%TmS$707*qoM6N<$g2#CqL;wH) literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen-sprite@2x.png b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen-sprite@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ffe4d7d1121ca45cd35783696940050c690a8676 GIT binary patch literal 872 zcmeAS@N?(olHy`uVBq!ia0vp^89?mC!3-o5mOWetq|OBRgt-3y{~yTgfB`oc01C8& zL0el}Lqh|Q1oD8A5J8A6G6@lfkU;ftMr&&;+$f+RkloVK0wm!8C|FWb0x`e2xj8g6 z6i7l;BAWwL4-tfu5G@ccP!{MmqnYOy06pVW666=m!0_*bfx(A_gav;C1PU5HKT!C5 z;g7@l4POuZ{>hQBP{j4uqq`I2WP9&Sn{}I8xJi*&v*QL&+Dw-Bf-CQLyLk0Ht2-;T zynum$iPO`?F{C2y?bYjfj|~J`6Xz~`vM4Ef+U{Vpli%)D%kKSey_RG0Bi9Xw4jtOb z@!)?~_%DVelO793W#Pl3vjdNCDTnGGb(^YY+BbF2;mJK!nq}@nBGoHxCn#7X*gdxr z+~ZQF6rpL6;MDP)JzehcJBL53AM-QU?@65Plc4-}1EW@`H@EEGrnFmTubZ~5iUzVn zrZYyBIm|RmW$3F@+wkq2)c>|mGh5Rv3%(p~zjStyruBl(TP2_51LpTH2noN*e&}J; z1;$+4EpJ(Mb+^1}Fv>ms%b`r}+KYy~zf5x(4?8l28%eNnEHzx({;NGP)_hX&tEw9t zSKv=Qjt(d#~b;F7hbDdUu$OUK8iumkkl&-=~$APCd2zdqHg6@=Z#Pt*5RY_s@Hw*YS9+ z^u)7AmzM6Ux!dus_!gJY)Vtf?+t>a3wO2S)_Vct=T}#@RuG(h!d8WYZS9Tst+VfKv zt~zntPsvfyqLY`klZSPslCz_dlcSRJLa$Px)_+W2Y&u!?oJrIMCNTz2S3j3^P6\"\'\`]/.test(text)) { + return text; + } + map = { + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`" + }; + unsafe_chars = /&(?!\w+;)|[\<\>\"\'\`]/g; + return text.replace(unsafe_chars, function(chr) { + return map[chr] || "&"; + }); + }; + + return SelectParser; + + })(); + + SelectParser.select_to_array = function(select) { + var child, parser, _i, _len, _ref; + + parser = new SelectParser(); + _ref = select.childNodes; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + child = _ref[_i]; + parser.add_node(child); + } + return parser.parsed; + }; + + AbstractChosen = (function() { + function AbstractChosen(form_field, options) { + this.form_field = form_field; + this.options = options != null ? options : {}; + if (!AbstractChosen.browser_is_supported()) { + return; + } + this.is_multiple = this.form_field.multiple; + this.set_default_text(); + this.set_default_values(); + this.setup(); + this.set_up_html(); + this.register_observers(); + } + + AbstractChosen.prototype.set_default_values = function() { + var _this = this; + + this.click_test_action = function(evt) { + return _this.test_active_click(evt); + }; + this.activate_action = function(evt) { + return _this.activate_field(evt); + }; + this.active_field = false; + this.mouse_on_container = false; + this.results_showing = false; + this.result_highlighted = null; + this.result_single_selected = null; + this.allow_single_deselect = (this.options.allow_single_deselect != null) && (this.form_field.options[0] != null) && this.form_field.options[0].text === "" ? this.options.allow_single_deselect : false; + this.disable_search_threshold = this.options.disable_search_threshold || 0; + this.disable_search = this.options.disable_search || false; + this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true; + this.group_search = this.options.group_search != null ? this.options.group_search : true; + this.search_contains = this.options.search_contains || false; + this.single_backstroke_delete = this.options.single_backstroke_delete != null ? this.options.single_backstroke_delete : true; + this.max_selected_options = this.options.max_selected_options || Infinity; + this.inherit_select_classes = this.options.inherit_select_classes || false; + this.display_selected_options = this.options.display_selected_options != null ? this.options.display_selected_options : true; + return this.display_disabled_options = this.options.display_disabled_options != null ? this.options.display_disabled_options : true; + }; + + AbstractChosen.prototype.set_default_text = function() { + if (this.form_field.getAttribute("data-placeholder")) { + this.default_text = this.form_field.getAttribute("data-placeholder"); + } else if (this.is_multiple) { + this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text; + } else { + this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text; + } + return this.results_none_found = this.form_field.getAttribute("data-no_results_text") || this.options.no_results_text || AbstractChosen.default_no_result_text; + }; + + AbstractChosen.prototype.mouse_enter = function() { + return this.mouse_on_container = true; + }; + + AbstractChosen.prototype.mouse_leave = function() { + return this.mouse_on_container = false; + }; + + AbstractChosen.prototype.input_focus = function(evt) { + var _this = this; + + if (this.is_multiple) { + if (!this.active_field) { + return setTimeout((function() { + return _this.container_mousedown(); + }), 50); + } + } else { + if (!this.active_field) { + return this.activate_field(); + } + } + }; + + AbstractChosen.prototype.input_blur = function(evt) { + var _this = this; + + if (!this.mouse_on_container) { + this.active_field = false; + return setTimeout((function() { + return _this.blur_test(); + }), 100); + } + }; + + AbstractChosen.prototype.results_option_build = function(options) { + var content, data, _i, _len, _ref; + + content = ''; + _ref = this.results_data; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + data = _ref[_i]; + if (data.group) { + content += this.result_add_group(data); + } else { + content += this.result_add_option(data); + } + if (options != null ? options.first : void 0) { + if (data.selected && this.is_multiple) { + this.choice_build(data); + } else if (data.selected && !this.is_multiple) { + this.single_set_selected_text(data.text); + } + } + } + return content; + }; + + AbstractChosen.prototype.result_add_option = function(option) { + var classes, style; + + if (!option.search_match) { + return ''; + } + if (!this.include_option_in_results(option)) { + return ''; + } + classes = []; + if (!option.disabled && !(option.selected && this.is_multiple)) { + classes.push("active-result"); + } + if (option.disabled && !(option.selected && this.is_multiple)) { + classes.push("disabled-result"); + } + if (option.selected) { + classes.push("result-selected"); + } + if (option.group_array_index != null) { + classes.push("group-option"); + } + if (option.classes !== "") { + classes.push(option.classes); + } + style = option.style.cssText !== "" ? " style=\"" + option.style + "\"" : ""; + return "
  • " + option.search_text + "
  • "; + }; + + AbstractChosen.prototype.result_add_group = function(group) { + if (!(group.search_match || group.group_match)) { + return ''; + } + if (!(group.active_options > 0)) { + return ''; + } + return "
  • " + group.search_text + "
  • "; + }; + + AbstractChosen.prototype.results_update_field = function() { + this.set_default_text(); + if (!this.is_multiple) { + this.results_reset_cleanup(); + } + this.result_clear_highlight(); + this.result_single_selected = null; + this.results_build(); + if (this.results_showing) { + return this.winnow_results(); + } + }; + + AbstractChosen.prototype.results_toggle = function() { + if (this.results_showing) { + return this.results_hide(); + } else { + return this.results_show(); + } + }; + + AbstractChosen.prototype.results_search = function(evt) { + if (this.results_showing) { + return this.winnow_results(); + } else { + return this.results_show(); + } + }; + + AbstractChosen.prototype.winnow_results = function() { + var escapedSearchText, option, regex, regexAnchor, results, results_group, searchText, startpos, text, zregex, _i, _len, _ref; + + this.no_results_clear(); + results = 0; + searchText = this.get_search_text(); + escapedSearchText = searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + regexAnchor = this.search_contains ? "" : "^"; + regex = new RegExp(regexAnchor + escapedSearchText, 'i'); + zregex = new RegExp(escapedSearchText, 'i'); + _ref = this.results_data; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + option = _ref[_i]; + option.search_match = false; + results_group = null; + if (this.include_option_in_results(option)) { + if (option.group) { + option.group_match = false; + option.active_options = 0; + } + if ((option.group_array_index != null) && this.results_data[option.group_array_index]) { + results_group = this.results_data[option.group_array_index]; + if (results_group.active_options === 0 && results_group.search_match) { + results += 1; + } + results_group.active_options += 1; + } + if (!(option.group && !this.group_search)) { + option.search_text = option.group ? option.label : option.html; + option.search_match = this.search_string_match(option.search_text, regex); + if (option.search_match && !option.group) { + results += 1; + } + if (option.search_match) { + if (searchText.length) { + startpos = option.search_text.search(zregex); + text = option.search_text.substr(0, startpos + searchText.length) + '' + option.search_text.substr(startpos + searchText.length); + option.search_text = text.substr(0, startpos) + '' + text.substr(startpos); + } + if (results_group != null) { + results_group.group_match = true; + } + } else if ((option.group_array_index != null) && this.results_data[option.group_array_index].search_match) { + option.search_match = true; + } + } + } + } + this.result_clear_highlight(); + if (results < 1 && searchText.length) { + this.update_results_content(""); + return this.no_results(searchText); + } else { + this.update_results_content(this.results_option_build()); + return this.winnow_results_set_highlight(); + } + }; + + AbstractChosen.prototype.search_string_match = function(search_string, regex) { + var part, parts, _i, _len; + + if (regex.test(search_string)) { + return true; + } else if (this.enable_split_word_search && (search_string.indexOf(" ") >= 0 || search_string.indexOf("[") === 0)) { + parts = search_string.replace(/\[|\]/g, "").split(" "); + if (parts.length) { + for (_i = 0, _len = parts.length; _i < _len; _i++) { + part = parts[_i]; + if (regex.test(part)) { + return true; + } + } + } + } + }; + + AbstractChosen.prototype.choices_count = function() { + var option, _i, _len, _ref; + + if (this.selected_option_count != null) { + return this.selected_option_count; + } + this.selected_option_count = 0; + _ref = this.form_field.options; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + option = _ref[_i]; + if (option.selected) { + this.selected_option_count += 1; + } + } + return this.selected_option_count; + }; + + AbstractChosen.prototype.choices_click = function(evt) { + evt.preventDefault(); + if (!(this.results_showing || this.is_disabled)) { + return this.results_show(); + } + }; + + AbstractChosen.prototype.keyup_checker = function(evt) { + var stroke, _ref; + + stroke = (_ref = evt.which) != null ? _ref : evt.keyCode; + this.search_field_scale(); + switch (stroke) { + case 8: + if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) { + return this.keydown_backstroke(); + } else if (!this.pending_backstroke) { + this.result_clear_highlight(); + return this.results_search(); + } + break; + case 13: + evt.preventDefault(); + if (this.results_showing) { + return this.result_select(evt); + } + break; + case 27: + if (this.results_showing) { + this.results_hide(); + } + return true; + case 9: + case 38: + case 40: + case 16: + case 91: + case 17: + break; + default: + return this.results_search(); + } + }; + + AbstractChosen.prototype.container_width = function() { + if (this.options.width != null) { + return this.options.width; + } else { + return "" + this.form_field.offsetWidth + "px"; + } + }; + + AbstractChosen.prototype.include_option_in_results = function(option) { + if (this.is_multiple && (!this.display_selected_options && option.selected)) { + return false; + } + if (!this.display_disabled_options && option.disabled) { + return false; + } + if (option.empty) { + return false; + } + return true; + }; + + AbstractChosen.browser_is_supported = function() { + if (window.navigator.appName === "Microsoft Internet Explorer") { + return document.documentMode >= 8; + } + if (/iP(od|hone)/i.test(window.navigator.userAgent)) { + return false; + } + if (/Android/i.test(window.navigator.userAgent)) { + if (/Mobile/i.test(window.navigator.userAgent)) { + return false; + } + } + return true; + }; + + AbstractChosen.default_multiple_text = "Select Some Options"; + + AbstractChosen.default_single_text = "Select an Option"; + + AbstractChosen.default_no_result_text = "No results match"; + + return AbstractChosen; + + })(); + + $ = jQuery; + + $.fn.extend({ + chosen: function(options) { + if (!AbstractChosen.browser_is_supported()) { + return this; + } + return this.each(function(input_field) { + var $this, chosen; + + $this = $(this); + chosen = $this.data('chosen'); + if (options === 'destroy' && chosen) { + chosen.destroy(); + } else if (!chosen) { + $this.data('chosen', new Chosen(this, options)); + } + }); + } + }); + + Chosen = (function(_super) { + __extends(Chosen, _super); + + function Chosen() { + _ref = Chosen.__super__.constructor.apply(this, arguments); + return _ref; + } + + Chosen.prototype.setup = function() { + this.form_field_jq = $(this.form_field); + this.current_selectedIndex = this.form_field.selectedIndex; + return this.is_rtl = this.form_field_jq.hasClass("chosen-rtl"); + }; + + Chosen.prototype.set_up_html = function() { + var container_classes, container_props; + + container_classes = ["chosen-container"]; + container_classes.push("chosen-container-" + (this.is_multiple ? "multi" : "single")); + if (this.inherit_select_classes && this.form_field.className) { + container_classes.push(this.form_field.className); + } + if (this.is_rtl) { + container_classes.push("chosen-rtl"); + } + container_props = { + 'class': container_classes.join(' '), + 'style': "width: " + (this.container_width()) + ";", + 'title': this.form_field.title + }; + if (this.form_field.id.length) { + container_props.id = this.form_field.id.replace(/[^\w]/g, '_') + "_chosen"; + } + this.container = $("
    ", container_props); + if (this.is_multiple) { + this.container.html('
      '); + } else { + this.container.html('' + this.default_text + '
        '); + } + this.form_field_jq.hide().after(this.container); + this.dropdown = this.container.find('div.chosen-drop').first(); + this.search_field = this.container.find('input').first(); + this.search_results = this.container.find('ul.chosen-results').first(); + this.search_field_scale(); + this.search_no_results = this.container.find('li.no-results').first(); + if (this.is_multiple) { + this.search_choices = this.container.find('ul.chosen-choices').first(); + this.search_container = this.container.find('li.search-field').first(); + } else { + this.search_container = this.container.find('div.chosen-search').first(); + this.selected_item = this.container.find('.chosen-single').first(); + } + this.results_build(); + this.set_tab_index(); + this.set_label_behavior(); + return this.form_field_jq.trigger("chosen:ready", { + chosen: this + }); + }; + + Chosen.prototype.register_observers = function() { + var _this = this; + + this.container.bind('mousedown.chosen', function(evt) { + _this.container_mousedown(evt); + }); + this.container.bind('mouseup.chosen', function(evt) { + _this.container_mouseup(evt); + }); + this.container.bind('mouseenter.chosen', function(evt) { + _this.mouse_enter(evt); + }); + this.container.bind('mouseleave.chosen', function(evt) { + _this.mouse_leave(evt); + }); + this.search_results.bind('mouseup.chosen', function(evt) { + _this.search_results_mouseup(evt); + }); + this.search_results.bind('mouseover.chosen', function(evt) { + _this.search_results_mouseover(evt); + }); + this.search_results.bind('mouseout.chosen', function(evt) { + _this.search_results_mouseout(evt); + }); + this.search_results.bind('mousewheel.chosen DOMMouseScroll.chosen', function(evt) { + _this.search_results_mousewheel(evt); + }); + this.form_field_jq.bind("chosen:updated.chosen", function(evt) { + _this.results_update_field(evt); + }); + this.form_field_jq.bind("chosen:activate.chosen", function(evt) { + _this.activate_field(evt); + }); + this.form_field_jq.bind("chosen:open.chosen", function(evt) { + _this.container_mousedown(evt); + }); + this.search_field.bind('blur.chosen', function(evt) { + _this.input_blur(evt); + }); + this.search_field.bind('keyup.chosen', function(evt) { + _this.keyup_checker(evt); + }); + this.search_field.bind('keydown.chosen', function(evt) { + _this.keydown_checker(evt); + }); + this.search_field.bind('focus.chosen', function(evt) { + _this.input_focus(evt); + }); + if (this.is_multiple) { + return this.search_choices.bind('click.chosen', function(evt) { + _this.choices_click(evt); + }); + } else { + return this.container.bind('click.chosen', function(evt) { + evt.preventDefault(); + }); + } + }; + + Chosen.prototype.destroy = function() { + $(document).unbind("click.chosen", this.click_test_action); + if (this.search_field[0].tabIndex) { + this.form_field_jq[0].tabIndex = this.search_field[0].tabIndex; + } + this.container.remove(); + this.form_field_jq.removeData('chosen'); + return this.form_field_jq.show(); + }; + + Chosen.prototype.search_field_disabled = function() { + this.is_disabled = this.form_field_jq[0].disabled; + if (this.is_disabled) { + this.container.addClass('chosen-disabled'); + this.search_field[0].disabled = true; + if (!this.is_multiple) { + this.selected_item.unbind("focus.chosen", this.activate_action); + } + return this.close_field(); + } else { + this.container.removeClass('chosen-disabled'); + this.search_field[0].disabled = false; + if (!this.is_multiple) { + return this.selected_item.bind("focus.chosen", this.activate_action); + } + } + }; + + Chosen.prototype.container_mousedown = function(evt) { + if (!this.is_disabled) { + if (evt && evt.type === "mousedown" && !this.results_showing) { + evt.preventDefault(); + } + if (!((evt != null) && ($(evt.target)).hasClass("search-choice-close"))) { + if (!this.active_field) { + if (this.is_multiple) { + this.search_field.val(""); + } + $(document).bind('click.chosen', this.click_test_action); + this.results_show(); + } else if (!this.is_multiple && evt && (($(evt.target)[0] === this.selected_item[0]) || $(evt.target).parents("a.chosen-single").length)) { + evt.preventDefault(); + this.results_toggle(); + } + return this.activate_field(); + } + } + }; + + Chosen.prototype.container_mouseup = function(evt) { + if (evt.target.nodeName === "ABBR" && !this.is_disabled) { + return this.results_reset(evt); + } + }; + + Chosen.prototype.search_results_mousewheel = function(evt) { + var delta, _ref1, _ref2; + + delta = -((_ref1 = evt.originalEvent) != null ? _ref1.wheelDelta : void 0) || ((_ref2 = evt.originialEvent) != null ? _ref2.detail : void 0); + if (delta != null) { + evt.preventDefault(); + if (evt.type === 'DOMMouseScroll') { + delta = delta * 40; + } + return this.search_results.scrollTop(delta + this.search_results.scrollTop()); + } + }; + + Chosen.prototype.blur_test = function(evt) { + if (!this.active_field && this.container.hasClass("chosen-container-active")) { + return this.close_field(); + } + }; + + Chosen.prototype.close_field = function() { + $(document).unbind("click.chosen", this.click_test_action); + this.active_field = false; + this.results_hide(); + this.container.removeClass("chosen-container-active"); + this.clear_backstroke(); + this.show_search_field_default(); + return this.search_field_scale(); + }; + + Chosen.prototype.activate_field = function() { + this.container.addClass("chosen-container-active"); + this.active_field = true; + this.search_field.val(this.search_field.val()); + return this.search_field.focus(); + }; + + Chosen.prototype.test_active_click = function(evt) { + if (this.container.is($(evt.target).closest('.chosen-container'))) { + return this.active_field = true; + } else { + return this.close_field(); + } + }; + + Chosen.prototype.results_build = function() { + this.parsing = true; + this.selected_option_count = null; + this.results_data = SelectParser.select_to_array(this.form_field); + if (this.is_multiple) { + this.search_choices.find("li.search-choice").remove(); + } else if (!this.is_multiple) { + this.single_set_selected_text(); + if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) { + this.search_field[0].readOnly = true; + this.container.addClass("chosen-container-single-nosearch"); + } else { + this.search_field[0].readOnly = false; + this.container.removeClass("chosen-container-single-nosearch"); + } + } + this.update_results_content(this.results_option_build({ + first: true + })); + this.search_field_disabled(); + this.show_search_field_default(); + this.search_field_scale(); + return this.parsing = false; + }; + + Chosen.prototype.result_do_highlight = function(el) { + var high_bottom, high_top, maxHeight, visible_bottom, visible_top; + + if (el.length) { + this.result_clear_highlight(); + this.result_highlight = el; + this.result_highlight.addClass("highlighted"); + maxHeight = parseInt(this.search_results.css("maxHeight"), 10); + visible_top = this.search_results.scrollTop(); + visible_bottom = maxHeight + visible_top; + high_top = this.result_highlight.position().top + this.search_results.scrollTop(); + high_bottom = high_top + this.result_highlight.outerHeight(); + if (high_bottom >= visible_bottom) { + return this.search_results.scrollTop((high_bottom - maxHeight) > 0 ? high_bottom - maxHeight : 0); + } else if (high_top < visible_top) { + return this.search_results.scrollTop(high_top); + } + } + }; + + Chosen.prototype.result_clear_highlight = function() { + if (this.result_highlight) { + this.result_highlight.removeClass("highlighted"); + } + return this.result_highlight = null; + }; + + Chosen.prototype.results_show = function() { + if (this.is_multiple && this.max_selected_options <= this.choices_count()) { + this.form_field_jq.trigger("chosen:maxselected", { + chosen: this + }); + return false; + } + this.container.addClass("chosen-with-drop"); + this.form_field_jq.trigger("chosen:showing_dropdown", { + chosen: this + }); + this.results_showing = true; + this.search_field.focus(); + this.search_field.val(this.search_field.val()); + return this.winnow_results(); + }; + + Chosen.prototype.update_results_content = function(content) { + return this.search_results.html(content); + }; + + Chosen.prototype.results_hide = function() { + if (this.results_showing) { + this.result_clear_highlight(); + this.container.removeClass("chosen-with-drop"); + this.form_field_jq.trigger("chosen:hiding_dropdown", { + chosen: this + }); + } + return this.results_showing = false; + }; + + Chosen.prototype.set_tab_index = function(el) { + var ti; + + if (this.form_field.tabIndex) { + ti = this.form_field.tabIndex; + this.form_field.tabIndex = -1; + return this.search_field[0].tabIndex = ti; + } + }; + + Chosen.prototype.set_label_behavior = function() { + var _this = this; + + this.form_field_label = this.form_field_jq.parents("label"); + if (!this.form_field_label.length && this.form_field.id.length) { + this.form_field_label = $("label[for='" + this.form_field.id + "']"); + } + if (this.form_field_label.length > 0) { + return this.form_field_label.bind('click.chosen', function(evt) { + if (_this.is_multiple) { + return _this.container_mousedown(evt); + } else { + return _this.activate_field(); + } + }); + } + }; + + Chosen.prototype.show_search_field_default = function() { + if (this.is_multiple && this.choices_count() < 1 && !this.active_field) { + this.search_field.val(this.default_text); + return this.search_field.addClass("default"); + } else { + this.search_field.val(""); + return this.search_field.removeClass("default"); + } + }; + + Chosen.prototype.search_results_mouseup = function(evt) { + var target; + + target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first(); + if (target.length) { + this.result_highlight = target; + this.result_select(evt); + return this.search_field.focus(); + } + }; + + Chosen.prototype.search_results_mouseover = function(evt) { + var target; + + target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first(); + if (target) { + return this.result_do_highlight(target); + } + }; + + Chosen.prototype.search_results_mouseout = function(evt) { + if ($(evt.target).hasClass("active-result" || $(evt.target).parents('.active-result').first())) { + return this.result_clear_highlight(); + } + }; + + Chosen.prototype.choice_build = function(item) { + var choice, close_link, + _this = this; + + choice = $('
      • ', { + "class": "search-choice" + }).html("" + item.html + ""); + if (item.disabled) { + choice.addClass('search-choice-disabled'); + } else { + close_link = $('', { + "class": 'search-choice-close', + 'data-option-array-index': item.array_index + }); + close_link.bind('click.chosen', function(evt) { + return _this.choice_destroy_link_click(evt); + }); + choice.append(close_link); + } + return this.search_container.before(choice); + }; + + Chosen.prototype.choice_destroy_link_click = function(evt) { + evt.preventDefault(); + evt.stopPropagation(); + if (!this.is_disabled) { + return this.choice_destroy($(evt.target)); + } + }; + + Chosen.prototype.choice_destroy = function(link) { + if (this.result_deselect(link[0].getAttribute("data-option-array-index"))) { + this.show_search_field_default(); + if (this.is_multiple && this.choices_count() > 0 && this.search_field.val().length < 1) { + this.results_hide(); + } + link.parents('li').first().remove(); + return this.search_field_scale(); + } + }; + + Chosen.prototype.results_reset = function() { + this.form_field.options[0].selected = true; + this.selected_option_count = null; + this.single_set_selected_text(); + this.show_search_field_default(); + this.results_reset_cleanup(); + this.form_field_jq.trigger("change"); + if (this.active_field) { + return this.results_hide(); + } + }; + + Chosen.prototype.results_reset_cleanup = function() { + this.current_selectedIndex = this.form_field.selectedIndex; + return this.selected_item.find("abbr").remove(); + }; + + Chosen.prototype.result_select = function(evt) { + var high, item, selected_index; + + if (this.result_highlight) { + high = this.result_highlight; + this.result_clear_highlight(); + if (this.is_multiple && this.max_selected_options <= this.choices_count()) { + this.form_field_jq.trigger("chosen:maxselected", { + chosen: this + }); + return false; + } + if (this.is_multiple) { + high.removeClass("active-result"); + } else { + if (this.result_single_selected) { + this.result_single_selected.removeClass("result-selected"); + selected_index = this.result_single_selected[0].getAttribute('data-option-array-index'); + this.results_data[selected_index].selected = false; + } + this.result_single_selected = high; + } + high.addClass("result-selected"); + item = this.results_data[high[0].getAttribute("data-option-array-index")]; + item.selected = true; + this.form_field.options[item.options_index].selected = true; + this.selected_option_count = null; + if (this.is_multiple) { + this.choice_build(item); + } else { + this.single_set_selected_text(item.text); + } + if (!((evt.metaKey || evt.ctrlKey) && this.is_multiple)) { + this.results_hide(); + } + this.search_field.val(""); + if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) { + this.form_field_jq.trigger("change", { + 'selected': this.form_field.options[item.options_index].value + }); + } + this.current_selectedIndex = this.form_field.selectedIndex; + return this.search_field_scale(); + } + }; + + Chosen.prototype.single_set_selected_text = function(text) { + if (text == null) { + text = this.default_text; + } + if (text === this.default_text) { + this.selected_item.addClass("chosen-default"); + } else { + this.single_deselect_control_build(); + this.selected_item.removeClass("chosen-default"); + } + return this.selected_item.find("span").text(text); + }; + + Chosen.prototype.result_deselect = function(pos) { + var result_data; + + result_data = this.results_data[pos]; + if (!this.form_field.options[result_data.options_index].disabled) { + result_data.selected = false; + this.form_field.options[result_data.options_index].selected = false; + this.selected_option_count = null; + this.result_clear_highlight(); + if (this.results_showing) { + this.winnow_results(); + } + this.form_field_jq.trigger("change", { + deselected: this.form_field.options[result_data.options_index].value + }); + this.search_field_scale(); + return true; + } else { + return false; + } + }; + + Chosen.prototype.single_deselect_control_build = function() { + if (!this.allow_single_deselect) { + return; + } + if (!this.selected_item.find("abbr").length) { + this.selected_item.find("span").first().after(""); + } + return this.selected_item.addClass("chosen-single-with-deselect"); + }; + + Chosen.prototype.get_search_text = function() { + if (this.search_field.val() === this.default_text) { + return ""; + } else { + return $('
        ').text($.trim(this.search_field.val())).html(); + } + }; + + Chosen.prototype.winnow_results_set_highlight = function() { + var do_high, selected_results; + + selected_results = !this.is_multiple ? this.search_results.find(".result-selected.active-result") : []; + do_high = selected_results.length ? selected_results.first() : this.search_results.find(".active-result").first(); + if (do_high != null) { + return this.result_do_highlight(do_high); + } + }; + + Chosen.prototype.no_results = function(terms) { + var no_results_html; + + no_results_html = $('
      • ' + this.results_none_found + ' ""
      • '); + no_results_html.find("span").first().html(terms); + return this.search_results.append(no_results_html); + }; + + Chosen.prototype.no_results_clear = function() { + return this.search_results.find(".no-results").remove(); + }; + + Chosen.prototype.keydown_arrow = function() { + var next_sib; + + if (this.results_showing && this.result_highlight) { + next_sib = this.result_highlight.nextAll("li.active-result").first(); + if (next_sib) { + return this.result_do_highlight(next_sib); + } + } else { + return this.results_show(); + } + }; + + Chosen.prototype.keyup_arrow = function() { + var prev_sibs; + + if (!this.results_showing && !this.is_multiple) { + return this.results_show(); + } else if (this.result_highlight) { + prev_sibs = this.result_highlight.prevAll("li.active-result"); + if (prev_sibs.length) { + return this.result_do_highlight(prev_sibs.first()); + } else { + if (this.choices_count() > 0) { + this.results_hide(); + } + return this.result_clear_highlight(); + } + } + }; + + Chosen.prototype.keydown_backstroke = function() { + var next_available_destroy; + + if (this.pending_backstroke) { + this.choice_destroy(this.pending_backstroke.find("a").first()); + return this.clear_backstroke(); + } else { + next_available_destroy = this.search_container.siblings("li.search-choice").last(); + if (next_available_destroy.length && !next_available_destroy.hasClass("search-choice-disabled")) { + this.pending_backstroke = next_available_destroy; + if (this.single_backstroke_delete) { + return this.keydown_backstroke(); + } else { + return this.pending_backstroke.addClass("search-choice-focus"); + } + } + } + }; + + Chosen.prototype.clear_backstroke = function() { + if (this.pending_backstroke) { + this.pending_backstroke.removeClass("search-choice-focus"); + } + return this.pending_backstroke = null; + }; + + Chosen.prototype.keydown_checker = function(evt) { + var stroke, _ref1; + + stroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode; + this.search_field_scale(); + if (stroke !== 8 && this.pending_backstroke) { + this.clear_backstroke(); + } + switch (stroke) { + case 8: + this.backstroke_length = this.search_field.val().length; + break; + case 9: + if (this.results_showing && !this.is_multiple) { + this.result_select(evt); + } + this.mouse_on_container = false; + break; + case 13: + evt.preventDefault(); + break; + case 38: + evt.preventDefault(); + this.keyup_arrow(); + break; + case 40: + evt.preventDefault(); + this.keydown_arrow(); + break; + } + }; + + Chosen.prototype.search_field_scale = function() { + var div, f_width, h, style, style_block, styles, w, _i, _len; + + if (this.is_multiple) { + h = 0; + w = 0; + style_block = "position:absolute; left: -1000px; top: -1000px; display:none;"; + styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing']; + for (_i = 0, _len = styles.length; _i < _len; _i++) { + style = styles[_i]; + style_block += style + ":" + this.search_field.css(style) + ";"; + } + div = $('
        ', { + 'style': style_block + }); + div.text(this.search_field.val()); + $('body').append(div); + w = div.width() + 25; + div.remove(); + f_width = this.container.outerWidth(); + if (w > f_width - 10) { + w = f_width - 10; + } + return this.search_field.css({ + 'width': w + 'px' + }); + } + }; + + return Chosen; + + })(AbstractChosen); + +}).call(this); diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.jquery.min.js b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.jquery.min.js new file mode 100644 index 0000000..ad430c4 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.jquery.min.js @@ -0,0 +1,2 @@ +/* Chosen v1.0.0 | (c) 2011-2013 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */ +!function(){var a,AbstractChosen,Chosen,SelectParser,b,c={}.hasOwnProperty,d=function(a,b){function d(){this.constructor=a}for(var e in b)c.call(b,e)&&(a[e]=b[e]);return d.prototype=b.prototype,a.prototype=new d,a.__super__=b.prototype,a};SelectParser=function(){function SelectParser(){this.options_index=0,this.parsed=[]}return SelectParser.prototype.add_node=function(a){return"OPTGROUP"===a.nodeName.toUpperCase()?this.add_group(a):this.add_option(a)},SelectParser.prototype.add_group=function(a){var b,c,d,e,f,g;for(b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:this.escapeExpression(a.label),children:0,disabled:a.disabled}),f=a.childNodes,g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(this.add_option(c,b,a.disabled));return g},SelectParser.prototype.add_option=function(a,b,c){return"OPTION"===a.nodeName.toUpperCase()?(""!==a.text?(null!=b&&(this.parsed[b].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:a.value,text:a.text,html:a.innerHTML,selected:a.selected,disabled:c===!0?c:a.disabled,group_array_index:b,classes:a.className,style:a.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1):void 0},SelectParser.prototype.escapeExpression=function(a){var b,c;return null==a||a===!1?"":/[\&\<\>\"\'\`]/.test(a)?(b={"<":"<",">":">",'"':""","'":"'","`":"`"},c=/&(?!\w+;)|[\<\>\"\'\`]/g,a.replace(c,function(a){return b[a]||"&"})):a},SelectParser}(),SelectParser.select_to_array=function(a){var b,c,d,e,f;for(c=new SelectParser,f=a.childNodes,d=0,e=f.length;e>d;d++)b=f[d],c.add_node(b);return c.parsed},AbstractChosen=function(){function AbstractChosen(a,b){this.form_field=a,this.options=null!=b?b:{},AbstractChosen.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers())}return AbstractChosen.prototype.set_default_values=function(){var a=this;return this.click_test_action=function(b){return a.test_active_click(b)},this.activate_action=function(b){return a.activate_field(b)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.result_single_selected=null,this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text?this.options.allow_single_deselect:!1,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null!=this.options.enable_split_word_search?this.options.enable_split_word_search:!0,this.group_search=null!=this.options.group_search?this.options.group_search:!0,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null!=this.options.single_backstroke_delete?this.options.single_backstroke_delete:!0,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null!=this.options.display_selected_options?this.options.display_selected_options:!0,this.display_disabled_options=null!=this.options.display_disabled_options?this.options.display_disabled_options:!0},AbstractChosen.prototype.set_default_text=function(){return this.default_text=this.form_field.getAttribute("data-placeholder")?this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.options.placeholder_text_multiple||this.options.placeholder_text||AbstractChosen.default_multiple_text:this.options.placeholder_text_single||this.options.placeholder_text||AbstractChosen.default_single_text,this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||AbstractChosen.default_no_result_text},AbstractChosen.prototype.mouse_enter=function(){return this.mouse_on_container=!0},AbstractChosen.prototype.mouse_leave=function(){return this.mouse_on_container=!1},AbstractChosen.prototype.input_focus=function(){var a=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return a.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},AbstractChosen.prototype.input_blur=function(){var a=this;return this.mouse_on_container?void 0:(this.active_field=!1,setTimeout(function(){return a.blur_test()},100))},AbstractChosen.prototype.results_option_build=function(a){var b,c,d,e,f;for(b="",f=this.results_data,d=0,e=f.length;e>d;d++)c=f[d],b+=c.group?this.result_add_group(c):this.result_add_option(c),(null!=a?a.first:void 0)&&(c.selected&&this.is_multiple?this.choice_build(c):c.selected&&!this.is_multiple&&this.single_set_selected_text(c.text));return b},AbstractChosen.prototype.result_add_option=function(a){var b,c;return a.search_match?this.include_option_in_results(a)?(b=[],a.disabled||a.selected&&this.is_multiple||b.push("active-result"),!a.disabled||a.selected&&this.is_multiple||b.push("disabled-result"),a.selected&&b.push("result-selected"),null!=a.group_array_index&&b.push("group-option"),""!==a.classes&&b.push(a.classes),c=""!==a.style.cssText?' style="'+a.style+'"':"",'
      • '+a.search_text+"
      • "):"":""},AbstractChosen.prototype.result_add_group=function(a){return a.search_match||a.group_match?a.active_options>0?'
      • '+a.search_text+"
      • ":"":""},AbstractChosen.prototype.results_update_field=function(){return this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.result_single_selected=null,this.results_build(),this.results_showing?this.winnow_results():void 0},AbstractChosen.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},AbstractChosen.prototype.results_search=function(){return this.results_showing?this.winnow_results():this.results_show()},AbstractChosen.prototype.winnow_results=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m;for(this.no_results_clear(),e=0,g=this.get_search_text(),a=g.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),d=this.search_contains?"":"^",c=new RegExp(d+a,"i"),j=new RegExp(a,"i"),m=this.results_data,k=0,l=m.length;l>k;k++)b=m[k],b.search_match=!1,f=null,this.include_option_in_results(b)&&(b.group&&(b.group_match=!1,b.active_options=0),null!=b.group_array_index&&this.results_data[b.group_array_index]&&(f=this.results_data[b.group_array_index],0===f.active_options&&f.search_match&&(e+=1),f.active_options+=1),(!b.group||this.group_search)&&(b.search_text=b.group?b.label:b.html,b.search_match=this.search_string_match(b.search_text,c),b.search_match&&!b.group&&(e+=1),b.search_match?(g.length&&(h=b.search_text.search(j),i=b.search_text.substr(0,h+g.length)+"
        "+b.search_text.substr(h+g.length),b.search_text=i.substr(0,h)+""+i.substr(h)),null!=f&&(f.group_match=!0)):null!=b.group_array_index&&this.results_data[b.group_array_index].search_match&&(b.search_match=!0)));return this.result_clear_highlight(),1>e&&g.length?(this.update_results_content(""),this.no_results(g)):(this.update_results_content(this.results_option_build()),this.winnow_results_set_highlight())},AbstractChosen.prototype.search_string_match=function(a,b){var c,d,e,f;if(b.test(a))return!0;if(this.enable_split_word_search&&(a.indexOf(" ")>=0||0===a.indexOf("["))&&(d=a.replace(/\[|\]/g,"").split(" "),d.length))for(e=0,f=d.length;f>e;e++)if(c=d[e],b.test(c))return!0},AbstractChosen.prototype.choices_count=function(){var a,b,c,d;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,d=this.form_field.options,b=0,c=d.length;c>b;b++)a=d[b],a.selected&&(this.selected_option_count+=1);return this.selected_option_count},AbstractChosen.prototype.choices_click=function(a){return a.preventDefault(),this.results_showing||this.is_disabled?void 0:this.results_show()},AbstractChosen.prototype.keyup_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:if(a.preventDefault(),this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},AbstractChosen.prototype.container_width=function(){return null!=this.options.width?this.options.width:""+this.form_field.offsetWidth+"px"},AbstractChosen.prototype.include_option_in_results=function(a){return this.is_multiple&&!this.display_selected_options&&a.selected?!1:!this.display_disabled_options&&a.disabled?!1:a.empty?!1:!0},AbstractChosen.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:/iP(od|hone)/i.test(window.navigator.userAgent)?!1:/Android/i.test(window.navigator.userAgent)&&/Mobile/i.test(window.navigator.userAgent)?!1:!0},AbstractChosen.default_multiple_text="Select Some Options",AbstractChosen.default_single_text="Select an Option",AbstractChosen.default_no_result_text="No results match",AbstractChosen}(),a=jQuery,a.fn.extend({chosen:function(b){return AbstractChosen.browser_is_supported()?this.each(function(){var c,d;c=a(this),d=c.data("chosen"),"destroy"===b&&d?d.destroy():d||c.data("chosen",new Chosen(this,b))}):this}}),Chosen=function(c){function Chosen(){return b=Chosen.__super__.constructor.apply(this,arguments)}return d(Chosen,c),Chosen.prototype.setup=function(){return this.form_field_jq=a(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex,this.is_rtl=this.form_field_jq.hasClass("chosen-rtl")},Chosen.prototype.set_up_html=function(){var b,c;return b=["chosen-container"],b.push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&b.push(this.form_field.className),this.is_rtl&&b.push("chosen-rtl"),c={"class":b.join(" "),style:"width: "+this.container_width()+";",title:this.form_field.title},this.form_field.id.length&&(c.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=a("
        ",c),this.is_multiple?this.container.html('
          '):this.container.html('
          '+this.default_text+'
            '),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior(),this.form_field_jq.trigger("chosen:ready",{chosen:this})},Chosen.prototype.register_observers=function(){var a=this;return this.container.bind("mousedown.chosen",function(b){a.container_mousedown(b)}),this.container.bind("mouseup.chosen",function(b){a.container_mouseup(b)}),this.container.bind("mouseenter.chosen",function(b){a.mouse_enter(b)}),this.container.bind("mouseleave.chosen",function(b){a.mouse_leave(b)}),this.search_results.bind("mouseup.chosen",function(b){a.search_results_mouseup(b)}),this.search_results.bind("mouseover.chosen",function(b){a.search_results_mouseover(b)}),this.search_results.bind("mouseout.chosen",function(b){a.search_results_mouseout(b)}),this.search_results.bind("mousewheel.chosen DOMMouseScroll.chosen",function(b){a.search_results_mousewheel(b)}),this.form_field_jq.bind("chosen:updated.chosen",function(b){a.results_update_field(b)}),this.form_field_jq.bind("chosen:activate.chosen",function(b){a.activate_field(b)}),this.form_field_jq.bind("chosen:open.chosen",function(b){a.container_mousedown(b)}),this.search_field.bind("blur.chosen",function(b){a.input_blur(b)}),this.search_field.bind("keyup.chosen",function(b){a.keyup_checker(b)}),this.search_field.bind("keydown.chosen",function(b){a.keydown_checker(b)}),this.search_field.bind("focus.chosen",function(b){a.input_focus(b)}),this.is_multiple?this.search_choices.bind("click.chosen",function(b){a.choices_click(b)}):this.container.bind("click.chosen",function(a){a.preventDefault()})},Chosen.prototype.destroy=function(){return a(document).unbind("click.chosen",this.click_test_action),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},Chosen.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field_jq[0].disabled,this.is_disabled?(this.container.addClass("chosen-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus.chosen",this.activate_action),this.close_field()):(this.container.removeClass("chosen-disabled"),this.search_field[0].disabled=!1,this.is_multiple?void 0:this.selected_item.bind("focus.chosen",this.activate_action))},Chosen.prototype.container_mousedown=function(b){return this.is_disabled||(b&&"mousedown"===b.type&&!this.results_showing&&b.preventDefault(),null!=b&&a(b.target).hasClass("search-choice-close"))?void 0:(this.active_field?this.is_multiple||!b||a(b.target)[0]!==this.selected_item[0]&&!a(b.target).parents("a.chosen-single").length||(b.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),a(document).bind("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},Chosen.prototype.container_mouseup=function(a){return"ABBR"!==a.target.nodeName||this.is_disabled?void 0:this.results_reset(a)},Chosen.prototype.search_results_mousewheel=function(a){var b,c,d;return b=-(null!=(c=a.originalEvent)?c.wheelDelta:void 0)||(null!=(d=a.originialEvent)?d.detail:void 0),null!=b?(a.preventDefault(),"DOMMouseScroll"===a.type&&(b=40*b),this.search_results.scrollTop(b+this.search_results.scrollTop())):void 0},Chosen.prototype.blur_test=function(){return!this.active_field&&this.container.hasClass("chosen-container-active")?this.close_field():void 0},Chosen.prototype.close_field=function(){return a(document).unbind("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},Chosen.prototype.activate_field=function(){return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},Chosen.prototype.test_active_click=function(b){return this.container.is(a(b.target).closest(".chosen-container"))?this.active_field=!0:this.close_field()},Chosen.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=SelectParser.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():this.is_multiple||(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},Chosen.prototype.result_do_highlight=function(a){var b,c,d,e,f;if(a.length){if(this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClass("highlighted"),d=parseInt(this.search_results.css("maxHeight"),10),f=this.search_results.scrollTop(),e=d+f,c=this.result_highlight.position().top+this.search_results.scrollTop(),b=c+this.result_highlight.outerHeight(),b>=e)return this.search_results.scrollTop(b-d>0?b-d:0);if(f>c)return this.search_results.scrollTop(c)}},Chosen.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},Chosen.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.search_field.val()),this.winnow_results())},Chosen.prototype.update_results_content=function(a){return this.search_results.html(a)},Chosen.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},Chosen.prototype.set_tab_index=function(){var a;return this.form_field.tabIndex?(a=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=a):void 0},Chosen.prototype.set_label_behavior=function(){var b=this;return this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=a("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0?this.form_field_label.bind("click.chosen",function(a){return b.is_multiple?b.container_mousedown(a):b.activate_field()}):void 0},Chosen.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},Chosen.prototype.search_results_mouseup=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c.length?(this.result_highlight=c,this.result_select(b),this.search_field.focus()):void 0},Chosen.prototype.search_results_mouseover=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c?this.result_do_highlight(c):void 0},Chosen.prototype.search_results_mouseout=function(b){return a(b.target).hasClass("active-result")?this.result_clear_highlight():void 0},Chosen.prototype.choice_build=function(b){var c,d,e=this;return c=a("
          • ",{"class":"search-choice"}).html(""+b.html+""),b.disabled?c.addClass("search-choice-disabled"):(d=a("",{"class":"search-choice-close","data-option-array-index":b.array_index}),d.bind("click.chosen",function(a){return e.choice_destroy_link_click(a)}),c.append(d)),this.search_container.before(c)},Chosen.prototype.choice_destroy_link_click=function(b){return b.preventDefault(),b.stopPropagation(),this.is_disabled?void 0:this.choice_destroy(a(b.target))},Chosen.prototype.choice_destroy=function(a){return this.result_deselect(a[0].getAttribute("data-option-array-index"))?(this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.search_field.val().length<1&&this.results_hide(),a.parents("li").first().remove(),this.search_field_scale()):void 0},Chosen.prototype.results_reset=function(){return this.form_field.options[0].selected=!0,this.selected_option_count=null,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change"),this.active_field?this.results_hide():void 0},Chosen.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},Chosen.prototype.result_select=function(a){var b,c,d;return this.result_highlight?(b=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?b.removeClass("active-result"):(this.result_single_selected&&(this.result_single_selected.removeClass("result-selected"),d=this.result_single_selected[0].getAttribute("data-option-array-index"),this.results_data[d].selected=!1),this.result_single_selected=b),b.addClass("result-selected"),c=this.results_data[b[0].getAttribute("data-option-array-index")],c.selected=!0,this.form_field.options[c.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(c):this.single_set_selected_text(c.text),(a.metaKey||a.ctrlKey)&&this.is_multiple||this.results_hide(),this.search_field.val(""),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[c.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,this.search_field_scale())):void 0},Chosen.prototype.single_set_selected_text=function(a){return null==a&&(a=this.default_text),a===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").text(a)},Chosen.prototype.result_deselect=function(a){var b;return b=this.results_data[a],this.form_field.options[b.options_index].disabled?!1:(b.selected=!1,this.form_field.options[b.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[b.options_index].value}),this.search_field_scale(),!0)},Chosen.prototype.single_deselect_control_build=function(){return this.allow_single_deselect?(this.selected_item.find("abbr").length||this.selected_item.find("span").first().after(''),this.selected_item.addClass("chosen-single-with-deselect")):void 0},Chosen.prototype.get_search_text=function(){return this.search_field.val()===this.default_text?"":a("
            ").text(a.trim(this.search_field.val())).html()},Chosen.prototype.winnow_results_set_highlight=function(){var a,b;return b=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),a=b.length?b.first():this.search_results.find(".active-result").first(),null!=a?this.result_do_highlight(a):void 0},Chosen.prototype.no_results=function(b){var c;return c=a('
          • '+this.results_none_found+' ""
          • '),c.find("span").first().html(b),this.search_results.append(c)},Chosen.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},Chosen.prototype.keydown_arrow=function(){var a;return this.results_showing&&this.result_highlight?(a=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(a):void 0:this.results_show()},Chosen.prototype.keyup_arrow=function(){var a;return this.results_showing||this.is_multiple?this.result_highlight?(a=this.result_highlight.prevAll("li.active-result"),a.length?this.result_do_highlight(a.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight())):void 0:this.results_show()},Chosen.prototype.keydown_backstroke=function(){var a;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(a=this.search_container.siblings("li.search-choice").last(),a.length&&!a.hasClass("search-choice-disabled")?(this.pending_backstroke=a,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0)},Chosen.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},Chosen.prototype.keydown_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),8!==b&&this.pending_backstroke&&this.clear_backstroke(),b){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:a.preventDefault(),this.keydown_arrow()}},Chosen.prototype.search_field_scale=function(){var b,c,d,e,f,g,h,i,j;if(this.is_multiple){for(d=0,h=0,f="position:absolute; left: -1000px; top: -1000px; display:none;",g=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"],i=0,j=g.length;j>i;i++)e=g[i],f+=e+":"+this.search_field.css(e)+";";return b=a("
            ",{style:f}),b.text(this.search_field.val()),a("body").append(b),h=b.width()+25,b.remove(),c=this.container.outerWidth(),h>c-10&&(h=c-10),this.search_field.css({width:h+"px"})}},Chosen}(AbstractChosen)}.call(this); \ No newline at end of file diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.min.css b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.min.css new file mode 100644 index 0000000..3f3f5dd --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.min.css @@ -0,0 +1,3 @@ +/* Chosen v1.0.0 | (c) 2011-2013 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */ + +.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;*display:inline;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:23px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(chosen-sprite.png) no-repeat 0 2px}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:#fff url(chosen-sprite.png) no-repeat 100% -20px;background:url(chosen-sprite.png) no-repeat 100% -20px,-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background:url(chosen-sprite.png) no-repeat 100% -20px,-webkit-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat 100% -20px,-moz-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat 100% -20px,-o-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat 100% -20px,linear-gradient(#eee 1%,#fff 15%);font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:5px;height:15px;outline:0;border:0!important;background:transparent!important;box-shadow:none;color:#666;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-field .default{color:#999}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 0 3px 5px;padding:3px 20px 3px 5px;border:1px solid #aaa;border-radius:3px;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:0;background:transparent}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#111!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single-nosearch .chosen-search,.chosen-rtl .chosen-drop{left:9999px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:0}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:#fff url(chosen-sprite.png) no-repeat -30px -20px;background:url(chosen-sprite.png) no-repeat -30px -20px,-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background:url(chosen-sprite.png) no-repeat -30px -20px,-webkit-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat -30px -20px,-moz-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat -30px -20px,-o-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat -30px -20px,linear-gradient(#eee 1%,#fff 15%);direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:144dpi){.chosen-rtl .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-container-single .chosen-search input[type=text],.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span{background-image:url(chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}} \ No newline at end of file diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.proto.js b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.proto.js new file mode 100644 index 0000000..535cd3c --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.proto.js @@ -0,0 +1,1189 @@ +// Chosen, a Select Box Enhancer for jQuery and Prototype +// by Patrick Filler for Harvest, http://getharvest.com +// +// Version 1.0.0 +// Full source at https://github.com/harvesthq/chosen +// Copyright (c) 2011 Harvest http://getharvest.com + +// MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md +// This file is generated by `grunt build`, do not edit it by hand. +(function() { + var AbstractChosen, SelectParser, _ref, + __hasProp = {}.hasOwnProperty, + __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; + + SelectParser = (function() { + function SelectParser() { + this.options_index = 0; + this.parsed = []; + } + + SelectParser.prototype.add_node = function(child) { + if (child.nodeName.toUpperCase() === "OPTGROUP") { + return this.add_group(child); + } else { + return this.add_option(child); + } + }; + + SelectParser.prototype.add_group = function(group) { + var group_position, option, _i, _len, _ref, _results; + + group_position = this.parsed.length; + this.parsed.push({ + array_index: group_position, + group: true, + label: this.escapeExpression(group.label), + children: 0, + disabled: group.disabled + }); + _ref = group.childNodes; + _results = []; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + option = _ref[_i]; + _results.push(this.add_option(option, group_position, group.disabled)); + } + return _results; + }; + + SelectParser.prototype.add_option = function(option, group_position, group_disabled) { + if (option.nodeName.toUpperCase() === "OPTION") { + if (option.text !== "") { + if (group_position != null) { + this.parsed[group_position].children += 1; + } + this.parsed.push({ + array_index: this.parsed.length, + options_index: this.options_index, + value: option.value, + text: option.text, + html: option.innerHTML, + selected: option.selected, + disabled: group_disabled === true ? group_disabled : option.disabled, + group_array_index: group_position, + classes: option.className, + style: option.style.cssText + }); + } else { + this.parsed.push({ + array_index: this.parsed.length, + options_index: this.options_index, + empty: true + }); + } + return this.options_index += 1; + } + }; + + SelectParser.prototype.escapeExpression = function(text) { + var map, unsafe_chars; + + if ((text == null) || text === false) { + return ""; + } + if (!/[\&\<\>\"\'\`]/.test(text)) { + return text; + } + map = { + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`" + }; + unsafe_chars = /&(?!\w+;)|[\<\>\"\'\`]/g; + return text.replace(unsafe_chars, function(chr) { + return map[chr] || "&"; + }); + }; + + return SelectParser; + + })(); + + SelectParser.select_to_array = function(select) { + var child, parser, _i, _len, _ref; + + parser = new SelectParser(); + _ref = select.childNodes; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + child = _ref[_i]; + parser.add_node(child); + } + return parser.parsed; + }; + + AbstractChosen = (function() { + function AbstractChosen(form_field, options) { + this.form_field = form_field; + this.options = options != null ? options : {}; + if (!AbstractChosen.browser_is_supported()) { + return; + } + this.is_multiple = this.form_field.multiple; + this.set_default_text(); + this.set_default_values(); + this.setup(); + this.set_up_html(); + this.register_observers(); + } + + AbstractChosen.prototype.set_default_values = function() { + var _this = this; + + this.click_test_action = function(evt) { + return _this.test_active_click(evt); + }; + this.activate_action = function(evt) { + return _this.activate_field(evt); + }; + this.active_field = false; + this.mouse_on_container = false; + this.results_showing = false; + this.result_highlighted = null; + this.result_single_selected = null; + this.allow_single_deselect = (this.options.allow_single_deselect != null) && (this.form_field.options[0] != null) && this.form_field.options[0].text === "" ? this.options.allow_single_deselect : false; + this.disable_search_threshold = this.options.disable_search_threshold || 0; + this.disable_search = this.options.disable_search || false; + this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true; + this.group_search = this.options.group_search != null ? this.options.group_search : true; + this.search_contains = this.options.search_contains || false; + this.single_backstroke_delete = this.options.single_backstroke_delete != null ? this.options.single_backstroke_delete : true; + this.max_selected_options = this.options.max_selected_options || Infinity; + this.inherit_select_classes = this.options.inherit_select_classes || false; + this.display_selected_options = this.options.display_selected_options != null ? this.options.display_selected_options : true; + return this.display_disabled_options = this.options.display_disabled_options != null ? this.options.display_disabled_options : true; + }; + + AbstractChosen.prototype.set_default_text = function() { + if (this.form_field.getAttribute("data-placeholder")) { + this.default_text = this.form_field.getAttribute("data-placeholder"); + } else if (this.is_multiple) { + this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text; + } else { + this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text; + } + return this.results_none_found = this.form_field.getAttribute("data-no_results_text") || this.options.no_results_text || AbstractChosen.default_no_result_text; + }; + + AbstractChosen.prototype.mouse_enter = function() { + return this.mouse_on_container = true; + }; + + AbstractChosen.prototype.mouse_leave = function() { + return this.mouse_on_container = false; + }; + + AbstractChosen.prototype.input_focus = function(evt) { + var _this = this; + + if (this.is_multiple) { + if (!this.active_field) { + return setTimeout((function() { + return _this.container_mousedown(); + }), 50); + } + } else { + if (!this.active_field) { + return this.activate_field(); + } + } + }; + + AbstractChosen.prototype.input_blur = function(evt) { + var _this = this; + + if (!this.mouse_on_container) { + this.active_field = false; + return setTimeout((function() { + return _this.blur_test(); + }), 100); + } + }; + + AbstractChosen.prototype.results_option_build = function(options) { + var content, data, _i, _len, _ref; + + content = ''; + _ref = this.results_data; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + data = _ref[_i]; + if (data.group) { + content += this.result_add_group(data); + } else { + content += this.result_add_option(data); + } + if (options != null ? options.first : void 0) { + if (data.selected && this.is_multiple) { + this.choice_build(data); + } else if (data.selected && !this.is_multiple) { + this.single_set_selected_text(data.text); + } + } + } + return content; + }; + + AbstractChosen.prototype.result_add_option = function(option) { + var classes, style; + + if (!option.search_match) { + return ''; + } + if (!this.include_option_in_results(option)) { + return ''; + } + classes = []; + if (!option.disabled && !(option.selected && this.is_multiple)) { + classes.push("active-result"); + } + if (option.disabled && !(option.selected && this.is_multiple)) { + classes.push("disabled-result"); + } + if (option.selected) { + classes.push("result-selected"); + } + if (option.group_array_index != null) { + classes.push("group-option"); + } + if (option.classes !== "") { + classes.push(option.classes); + } + style = option.style.cssText !== "" ? " style=\"" + option.style + "\"" : ""; + return "
          • " + option.search_text + "
          • "; + }; + + AbstractChosen.prototype.result_add_group = function(group) { + if (!(group.search_match || group.group_match)) { + return ''; + } + if (!(group.active_options > 0)) { + return ''; + } + return "
          • " + group.search_text + "
          • "; + }; + + AbstractChosen.prototype.results_update_field = function() { + this.set_default_text(); + if (!this.is_multiple) { + this.results_reset_cleanup(); + } + this.result_clear_highlight(); + this.result_single_selected = null; + this.results_build(); + if (this.results_showing) { + return this.winnow_results(); + } + }; + + AbstractChosen.prototype.results_toggle = function() { + if (this.results_showing) { + return this.results_hide(); + } else { + return this.results_show(); + } + }; + + AbstractChosen.prototype.results_search = function(evt) { + if (this.results_showing) { + return this.winnow_results(); + } else { + return this.results_show(); + } + }; + + AbstractChosen.prototype.winnow_results = function() { + var escapedSearchText, option, regex, regexAnchor, results, results_group, searchText, startpos, text, zregex, _i, _len, _ref; + + this.no_results_clear(); + results = 0; + searchText = this.get_search_text(); + escapedSearchText = searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + regexAnchor = this.search_contains ? "" : "^"; + regex = new RegExp(regexAnchor + escapedSearchText, 'i'); + zregex = new RegExp(escapedSearchText, 'i'); + _ref = this.results_data; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + option = _ref[_i]; + option.search_match = false; + results_group = null; + if (this.include_option_in_results(option)) { + if (option.group) { + option.group_match = false; + option.active_options = 0; + } + if ((option.group_array_index != null) && this.results_data[option.group_array_index]) { + results_group = this.results_data[option.group_array_index]; + if (results_group.active_options === 0 && results_group.search_match) { + results += 1; + } + results_group.active_options += 1; + } + if (!(option.group && !this.group_search)) { + option.search_text = option.group ? option.label : option.html; + option.search_match = this.search_string_match(option.search_text, regex); + if (option.search_match && !option.group) { + results += 1; + } + if (option.search_match) { + if (searchText.length) { + startpos = option.search_text.search(zregex); + text = option.search_text.substr(0, startpos + searchText.length) + '
            ' + option.search_text.substr(startpos + searchText.length); + option.search_text = text.substr(0, startpos) + '' + text.substr(startpos); + } + if (results_group != null) { + results_group.group_match = true; + } + } else if ((option.group_array_index != null) && this.results_data[option.group_array_index].search_match) { + option.search_match = true; + } + } + } + } + this.result_clear_highlight(); + if (results < 1 && searchText.length) { + this.update_results_content(""); + return this.no_results(searchText); + } else { + this.update_results_content(this.results_option_build()); + return this.winnow_results_set_highlight(); + } + }; + + AbstractChosen.prototype.search_string_match = function(search_string, regex) { + var part, parts, _i, _len; + + if (regex.test(search_string)) { + return true; + } else if (this.enable_split_word_search && (search_string.indexOf(" ") >= 0 || search_string.indexOf("[") === 0)) { + parts = search_string.replace(/\[|\]/g, "").split(" "); + if (parts.length) { + for (_i = 0, _len = parts.length; _i < _len; _i++) { + part = parts[_i]; + if (regex.test(part)) { + return true; + } + } + } + } + }; + + AbstractChosen.prototype.choices_count = function() { + var option, _i, _len, _ref; + + if (this.selected_option_count != null) { + return this.selected_option_count; + } + this.selected_option_count = 0; + _ref = this.form_field.options; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + option = _ref[_i]; + if (option.selected) { + this.selected_option_count += 1; + } + } + return this.selected_option_count; + }; + + AbstractChosen.prototype.choices_click = function(evt) { + evt.preventDefault(); + if (!(this.results_showing || this.is_disabled)) { + return this.results_show(); + } + }; + + AbstractChosen.prototype.keyup_checker = function(evt) { + var stroke, _ref; + + stroke = (_ref = evt.which) != null ? _ref : evt.keyCode; + this.search_field_scale(); + switch (stroke) { + case 8: + if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) { + return this.keydown_backstroke(); + } else if (!this.pending_backstroke) { + this.result_clear_highlight(); + return this.results_search(); + } + break; + case 13: + evt.preventDefault(); + if (this.results_showing) { + return this.result_select(evt); + } + break; + case 27: + if (this.results_showing) { + this.results_hide(); + } + return true; + case 9: + case 38: + case 40: + case 16: + case 91: + case 17: + break; + default: + return this.results_search(); + } + }; + + AbstractChosen.prototype.container_width = function() { + if (this.options.width != null) { + return this.options.width; + } else { + return "" + this.form_field.offsetWidth + "px"; + } + }; + + AbstractChosen.prototype.include_option_in_results = function(option) { + if (this.is_multiple && (!this.display_selected_options && option.selected)) { + return false; + } + if (!this.display_disabled_options && option.disabled) { + return false; + } + if (option.empty) { + return false; + } + return true; + }; + + AbstractChosen.browser_is_supported = function() { + if (window.navigator.appName === "Microsoft Internet Explorer") { + return document.documentMode >= 8; + } + if (/iP(od|hone)/i.test(window.navigator.userAgent)) { + return false; + } + if (/Android/i.test(window.navigator.userAgent)) { + if (/Mobile/i.test(window.navigator.userAgent)) { + return false; + } + } + return true; + }; + + AbstractChosen.default_multiple_text = "Select Some Options"; + + AbstractChosen.default_single_text = "Select an Option"; + + AbstractChosen.default_no_result_text = "No results match"; + + return AbstractChosen; + + })(); + + this.Chosen = (function(_super) { + __extends(Chosen, _super); + + function Chosen() { + _ref = Chosen.__super__.constructor.apply(this, arguments); + return _ref; + } + + Chosen.prototype.setup = function() { + this.current_selectedIndex = this.form_field.selectedIndex; + return this.is_rtl = this.form_field.hasClassName("chosen-rtl"); + }; + + Chosen.prototype.set_default_values = function() { + Chosen.__super__.set_default_values.call(this); + this.single_temp = new Template('
            #{default}
              '); + this.multi_temp = new Template('
                '); + return this.no_results_temp = new Template('
              • ' + this.results_none_found + ' "#{terms}"
              • '); + }; + + Chosen.prototype.set_up_html = function() { + var container_classes, container_props; + + container_classes = ["chosen-container"]; + container_classes.push("chosen-container-" + (this.is_multiple ? "multi" : "single")); + if (this.inherit_select_classes && this.form_field.className) { + container_classes.push(this.form_field.className); + } + if (this.is_rtl) { + container_classes.push("chosen-rtl"); + } + container_props = { + 'class': container_classes.join(' '), + 'style': "width: " + (this.container_width()) + ";", + 'title': this.form_field.title + }; + if (this.form_field.id.length) { + container_props.id = this.form_field.id.replace(/[^\w]/g, '_') + "_chosen"; + } + this.container = this.is_multiple ? new Element('div', container_props).update(this.multi_temp.evaluate({ + "default": this.default_text + })) : new Element('div', container_props).update(this.single_temp.evaluate({ + "default": this.default_text + })); + this.form_field.hide().insert({ + after: this.container + }); + this.dropdown = this.container.down('div.chosen-drop'); + this.search_field = this.container.down('input'); + this.search_results = this.container.down('ul.chosen-results'); + this.search_field_scale(); + this.search_no_results = this.container.down('li.no-results'); + if (this.is_multiple) { + this.search_choices = this.container.down('ul.chosen-choices'); + this.search_container = this.container.down('li.search-field'); + } else { + this.search_container = this.container.down('div.chosen-search'); + this.selected_item = this.container.down('.chosen-single'); + } + this.results_build(); + this.set_tab_index(); + this.set_label_behavior(); + return this.form_field.fire("chosen:ready", { + chosen: this + }); + }; + + Chosen.prototype.register_observers = function() { + var _this = this; + + this.container.observe("mousedown", function(evt) { + return _this.container_mousedown(evt); + }); + this.container.observe("mouseup", function(evt) { + return _this.container_mouseup(evt); + }); + this.container.observe("mouseenter", function(evt) { + return _this.mouse_enter(evt); + }); + this.container.observe("mouseleave", function(evt) { + return _this.mouse_leave(evt); + }); + this.search_results.observe("mouseup", function(evt) { + return _this.search_results_mouseup(evt); + }); + this.search_results.observe("mouseover", function(evt) { + return _this.search_results_mouseover(evt); + }); + this.search_results.observe("mouseout", function(evt) { + return _this.search_results_mouseout(evt); + }); + this.search_results.observe("mousewheel", function(evt) { + return _this.search_results_mousewheel(evt); + }); + this.search_results.observe("DOMMouseScroll", function(evt) { + return _this.search_results_mousewheel(evt); + }); + this.form_field.observe("chosen:updated", function(evt) { + return _this.results_update_field(evt); + }); + this.form_field.observe("chosen:activate", function(evt) { + return _this.activate_field(evt); + }); + this.form_field.observe("chosen:open", function(evt) { + return _this.container_mousedown(evt); + }); + this.search_field.observe("blur", function(evt) { + return _this.input_blur(evt); + }); + this.search_field.observe("keyup", function(evt) { + return _this.keyup_checker(evt); + }); + this.search_field.observe("keydown", function(evt) { + return _this.keydown_checker(evt); + }); + this.search_field.observe("focus", function(evt) { + return _this.input_focus(evt); + }); + if (this.is_multiple) { + return this.search_choices.observe("click", function(evt) { + return _this.choices_click(evt); + }); + } else { + return this.container.observe("click", function(evt) { + return evt.preventDefault(); + }); + } + }; + + Chosen.prototype.destroy = function() { + document.stopObserving("click", this.click_test_action); + this.form_field.stopObserving(); + this.container.stopObserving(); + this.search_results.stopObserving(); + this.search_field.stopObserving(); + if (this.form_field_label != null) { + this.form_field_label.stopObserving(); + } + if (this.is_multiple) { + this.search_choices.stopObserving(); + this.container.select(".search-choice-close").each(function(choice) { + return choice.stopObserving(); + }); + } else { + this.selected_item.stopObserving(); + } + if (this.search_field.tabIndex) { + this.form_field.tabIndex = this.search_field.tabIndex; + } + this.container.remove(); + return this.form_field.show(); + }; + + Chosen.prototype.search_field_disabled = function() { + this.is_disabled = this.form_field.disabled; + if (this.is_disabled) { + this.container.addClassName('chosen-disabled'); + this.search_field.disabled = true; + if (!this.is_multiple) { + this.selected_item.stopObserving("focus", this.activate_action); + } + return this.close_field(); + } else { + this.container.removeClassName('chosen-disabled'); + this.search_field.disabled = false; + if (!this.is_multiple) { + return this.selected_item.observe("focus", this.activate_action); + } + } + }; + + Chosen.prototype.container_mousedown = function(evt) { + if (!this.is_disabled) { + if (evt && evt.type === "mousedown" && !this.results_showing) { + evt.stop(); + } + if (!((evt != null) && evt.target.hasClassName("search-choice-close"))) { + if (!this.active_field) { + if (this.is_multiple) { + this.search_field.clear(); + } + document.observe("click", this.click_test_action); + this.results_show(); + } else if (!this.is_multiple && evt && (evt.target === this.selected_item || evt.target.up("a.chosen-single"))) { + this.results_toggle(); + } + return this.activate_field(); + } + } + }; + + Chosen.prototype.container_mouseup = function(evt) { + if (evt.target.nodeName === "ABBR" && !this.is_disabled) { + return this.results_reset(evt); + } + }; + + Chosen.prototype.search_results_mousewheel = function(evt) { + var delta; + + delta = -evt.wheelDelta || evt.detail; + if (delta != null) { + evt.preventDefault(); + if (evt.type === 'DOMMouseScroll') { + delta = delta * 40; + } + return this.search_results.scrollTop = delta + this.search_results.scrollTop; + } + }; + + Chosen.prototype.blur_test = function(evt) { + if (!this.active_field && this.container.hasClassName("chosen-container-active")) { + return this.close_field(); + } + }; + + Chosen.prototype.close_field = function() { + document.stopObserving("click", this.click_test_action); + this.active_field = false; + this.results_hide(); + this.container.removeClassName("chosen-container-active"); + this.clear_backstroke(); + this.show_search_field_default(); + return this.search_field_scale(); + }; + + Chosen.prototype.activate_field = function() { + this.container.addClassName("chosen-container-active"); + this.active_field = true; + this.search_field.value = this.search_field.value; + return this.search_field.focus(); + }; + + Chosen.prototype.test_active_click = function(evt) { + if (evt.target.up('.chosen-container') === this.container) { + return this.active_field = true; + } else { + return this.close_field(); + } + }; + + Chosen.prototype.results_build = function() { + this.parsing = true; + this.selected_option_count = null; + this.results_data = SelectParser.select_to_array(this.form_field); + if (this.is_multiple) { + this.search_choices.select("li.search-choice").invoke("remove"); + } else if (!this.is_multiple) { + this.single_set_selected_text(); + if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) { + this.search_field.readOnly = true; + this.container.addClassName("chosen-container-single-nosearch"); + } else { + this.search_field.readOnly = false; + this.container.removeClassName("chosen-container-single-nosearch"); + } + } + this.update_results_content(this.results_option_build({ + first: true + })); + this.search_field_disabled(); + this.show_search_field_default(); + this.search_field_scale(); + return this.parsing = false; + }; + + Chosen.prototype.result_do_highlight = function(el) { + var high_bottom, high_top, maxHeight, visible_bottom, visible_top; + + this.result_clear_highlight(); + this.result_highlight = el; + this.result_highlight.addClassName("highlighted"); + maxHeight = parseInt(this.search_results.getStyle('maxHeight'), 10); + visible_top = this.search_results.scrollTop; + visible_bottom = maxHeight + visible_top; + high_top = this.result_highlight.positionedOffset().top; + high_bottom = high_top + this.result_highlight.getHeight(); + if (high_bottom >= visible_bottom) { + return this.search_results.scrollTop = (high_bottom - maxHeight) > 0 ? high_bottom - maxHeight : 0; + } else if (high_top < visible_top) { + return this.search_results.scrollTop = high_top; + } + }; + + Chosen.prototype.result_clear_highlight = function() { + if (this.result_highlight) { + this.result_highlight.removeClassName('highlighted'); + } + return this.result_highlight = null; + }; + + Chosen.prototype.results_show = function() { + if (this.is_multiple && this.max_selected_options <= this.choices_count()) { + this.form_field.fire("chosen:maxselected", { + chosen: this + }); + return false; + } + this.container.addClassName("chosen-with-drop"); + this.form_field.fire("chosen:showing_dropdown", { + chosen: this + }); + this.results_showing = true; + this.search_field.focus(); + this.search_field.value = this.search_field.value; + return this.winnow_results(); + }; + + Chosen.prototype.update_results_content = function(content) { + return this.search_results.update(content); + }; + + Chosen.prototype.results_hide = function() { + if (this.results_showing) { + this.result_clear_highlight(); + this.container.removeClassName("chosen-with-drop"); + this.form_field.fire("chosen:hiding_dropdown", { + chosen: this + }); + } + return this.results_showing = false; + }; + + Chosen.prototype.set_tab_index = function(el) { + var ti; + + if (this.form_field.tabIndex) { + ti = this.form_field.tabIndex; + this.form_field.tabIndex = -1; + return this.search_field.tabIndex = ti; + } + }; + + Chosen.prototype.set_label_behavior = function() { + var _this = this; + + this.form_field_label = this.form_field.up("label"); + if (this.form_field_label == null) { + this.form_field_label = $$("label[for='" + this.form_field.id + "']").first(); + } + if (this.form_field_label != null) { + return this.form_field_label.observe("click", function(evt) { + if (_this.is_multiple) { + return _this.container_mousedown(evt); + } else { + return _this.activate_field(); + } + }); + } + }; + + Chosen.prototype.show_search_field_default = function() { + if (this.is_multiple && this.choices_count() < 1 && !this.active_field) { + this.search_field.value = this.default_text; + return this.search_field.addClassName("default"); + } else { + this.search_field.value = ""; + return this.search_field.removeClassName("default"); + } + }; + + Chosen.prototype.search_results_mouseup = function(evt) { + var target; + + target = evt.target.hasClassName("active-result") ? evt.target : evt.target.up(".active-result"); + if (target) { + this.result_highlight = target; + this.result_select(evt); + return this.search_field.focus(); + } + }; + + Chosen.prototype.search_results_mouseover = function(evt) { + var target; + + target = evt.target.hasClassName("active-result") ? evt.target : evt.target.up(".active-result"); + if (target) { + return this.result_do_highlight(target); + } + }; + + Chosen.prototype.search_results_mouseout = function(evt) { + if (evt.target.hasClassName('active-result') || evt.target.up('.active-result')) { + return this.result_clear_highlight(); + } + }; + + Chosen.prototype.choice_build = function(item) { + var choice, close_link, + _this = this; + + choice = new Element('li', { + "class": "search-choice" + }).update("" + item.html + ""); + if (item.disabled) { + choice.addClassName('search-choice-disabled'); + } else { + close_link = new Element('a', { + href: '#', + "class": 'search-choice-close', + rel: item.array_index + }); + close_link.observe("click", function(evt) { + return _this.choice_destroy_link_click(evt); + }); + choice.insert(close_link); + } + return this.search_container.insert({ + before: choice + }); + }; + + Chosen.prototype.choice_destroy_link_click = function(evt) { + evt.preventDefault(); + evt.stopPropagation(); + if (!this.is_disabled) { + return this.choice_destroy(evt.target); + } + }; + + Chosen.prototype.choice_destroy = function(link) { + if (this.result_deselect(link.readAttribute("rel"))) { + this.show_search_field_default(); + if (this.is_multiple && this.choices_count() > 0 && this.search_field.value.length < 1) { + this.results_hide(); + } + link.up('li').remove(); + return this.search_field_scale(); + } + }; + + Chosen.prototype.results_reset = function() { + this.form_field.options[0].selected = true; + this.selected_option_count = null; + this.single_set_selected_text(); + this.show_search_field_default(); + this.results_reset_cleanup(); + if (typeof Event.simulate === 'function') { + this.form_field.simulate("change"); + } + if (this.active_field) { + return this.results_hide(); + } + }; + + Chosen.prototype.results_reset_cleanup = function() { + var deselect_trigger; + + this.current_selectedIndex = this.form_field.selectedIndex; + deselect_trigger = this.selected_item.down("abbr"); + if (deselect_trigger) { + return deselect_trigger.remove(); + } + }; + + Chosen.prototype.result_select = function(evt) { + var high, item, selected_index; + + if (this.result_highlight) { + high = this.result_highlight; + this.result_clear_highlight(); + if (this.is_multiple && this.max_selected_options <= this.choices_count()) { + this.form_field.fire("chosen:maxselected", { + chosen: this + }); + return false; + } + if (this.is_multiple) { + high.removeClassName("active-result"); + } else { + if (this.result_single_selected) { + this.result_single_selected.removeClassName("result-selected"); + selected_index = this.result_single_selected.getAttribute('data-option-array-index'); + this.results_data[selected_index].selected = false; + } + this.result_single_selected = high; + } + high.addClassName("result-selected"); + item = this.results_data[high.getAttribute("data-option-array-index")]; + item.selected = true; + this.form_field.options[item.options_index].selected = true; + this.selected_option_count = null; + if (this.is_multiple) { + this.choice_build(item); + } else { + this.single_set_selected_text(item.text); + } + if (!((evt.metaKey || evt.ctrlKey) && this.is_multiple)) { + this.results_hide(); + } + this.search_field.value = ""; + if (typeof Event.simulate === 'function' && (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex)) { + this.form_field.simulate("change"); + } + this.current_selectedIndex = this.form_field.selectedIndex; + return this.search_field_scale(); + } + }; + + Chosen.prototype.single_set_selected_text = function(text) { + if (text == null) { + text = this.default_text; + } + if (text === this.default_text) { + this.selected_item.addClassName("chosen-default"); + } else { + this.single_deselect_control_build(); + this.selected_item.removeClassName("chosen-default"); + } + return this.selected_item.down("span").update(text); + }; + + Chosen.prototype.result_deselect = function(pos) { + var result_data; + + result_data = this.results_data[pos]; + if (!this.form_field.options[result_data.options_index].disabled) { + result_data.selected = false; + this.form_field.options[result_data.options_index].selected = false; + this.selected_option_count = null; + this.result_clear_highlight(); + if (this.results_showing) { + this.winnow_results(); + } + if (typeof Event.simulate === 'function') { + this.form_field.simulate("change"); + } + this.search_field_scale(); + return true; + } else { + return false; + } + }; + + Chosen.prototype.single_deselect_control_build = function() { + if (!this.allow_single_deselect) { + return; + } + if (!this.selected_item.down("abbr")) { + this.selected_item.down("span").insert({ + after: "" + }); + } + return this.selected_item.addClassName("chosen-single-with-deselect"); + }; + + Chosen.prototype.get_search_text = function() { + if (this.search_field.value === this.default_text) { + return ""; + } else { + return this.search_field.value.strip().escapeHTML(); + } + }; + + Chosen.prototype.winnow_results_set_highlight = function() { + var do_high; + + if (!this.is_multiple) { + do_high = this.search_results.down(".result-selected.active-result"); + } + if (do_high == null) { + do_high = this.search_results.down(".active-result"); + } + if (do_high != null) { + return this.result_do_highlight(do_high); + } + }; + + Chosen.prototype.no_results = function(terms) { + return this.search_results.insert(this.no_results_temp.evaluate({ + terms: terms + })); + }; + + Chosen.prototype.no_results_clear = function() { + var nr, _results; + + nr = null; + _results = []; + while (nr = this.search_results.down(".no-results")) { + _results.push(nr.remove()); + } + return _results; + }; + + Chosen.prototype.keydown_arrow = function() { + var next_sib; + + if (this.results_showing && this.result_highlight) { + next_sib = this.result_highlight.next('.active-result'); + if (next_sib) { + return this.result_do_highlight(next_sib); + } + } else { + return this.results_show(); + } + }; + + Chosen.prototype.keyup_arrow = function() { + var actives, prevs, sibs; + + if (!this.results_showing && !this.is_multiple) { + return this.results_show(); + } else if (this.result_highlight) { + sibs = this.result_highlight.previousSiblings(); + actives = this.search_results.select("li.active-result"); + prevs = sibs.intersect(actives); + if (prevs.length) { + return this.result_do_highlight(prevs.first()); + } else { + if (this.choices_count() > 0) { + this.results_hide(); + } + return this.result_clear_highlight(); + } + } + }; + + Chosen.prototype.keydown_backstroke = function() { + var next_available_destroy; + + if (this.pending_backstroke) { + this.choice_destroy(this.pending_backstroke.down("a")); + return this.clear_backstroke(); + } else { + next_available_destroy = this.search_container.siblings().last(); + if (next_available_destroy && next_available_destroy.hasClassName("search-choice") && !next_available_destroy.hasClassName("search-choice-disabled")) { + this.pending_backstroke = next_available_destroy; + if (this.pending_backstroke) { + this.pending_backstroke.addClassName("search-choice-focus"); + } + if (this.single_backstroke_delete) { + return this.keydown_backstroke(); + } else { + return this.pending_backstroke.addClassName("search-choice-focus"); + } + } + } + }; + + Chosen.prototype.clear_backstroke = function() { + if (this.pending_backstroke) { + this.pending_backstroke.removeClassName("search-choice-focus"); + } + return this.pending_backstroke = null; + }; + + Chosen.prototype.keydown_checker = function(evt) { + var stroke, _ref1; + + stroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode; + this.search_field_scale(); + if (stroke !== 8 && this.pending_backstroke) { + this.clear_backstroke(); + } + switch (stroke) { + case 8: + this.backstroke_length = this.search_field.value.length; + break; + case 9: + if (this.results_showing && !this.is_multiple) { + this.result_select(evt); + } + this.mouse_on_container = false; + break; + case 13: + evt.preventDefault(); + break; + case 38: + evt.preventDefault(); + this.keyup_arrow(); + break; + case 40: + evt.preventDefault(); + this.keydown_arrow(); + break; + } + }; + + Chosen.prototype.search_field_scale = function() { + var div, f_width, h, style, style_block, styles, w, _i, _len; + + if (this.is_multiple) { + h = 0; + w = 0; + style_block = "position:absolute; left: -1000px; top: -1000px; display:none;"; + styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing']; + for (_i = 0, _len = styles.length; _i < _len; _i++) { + style = styles[_i]; + style_block += style + ":" + this.search_field.getStyle(style) + ";"; + } + div = new Element('div', { + 'style': style_block + }).update(this.search_field.value.escapeHTML()); + document.body.appendChild(div); + w = Element.measure(div, 'width') + 25; + div.remove(); + f_width = this.container.getWidth(); + if (w > f_width - 10) { + w = f_width - 10; + } + return this.search_field.setStyle({ + 'width': w + 'px' + }); + } + }; + + return Chosen; + + })(AbstractChosen); + +}).call(this); diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.proto.min.js b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.proto.min.js new file mode 100644 index 0000000..937688f --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/chosen.proto.min.js @@ -0,0 +1,2 @@ +/* Chosen v1.0.0 | (c) 2011-2013 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */ +!function(){var AbstractChosen,SelectParser,a,b={}.hasOwnProperty,c=function(a,c){function d(){this.constructor=a}for(var e in c)b.call(c,e)&&(a[e]=c[e]);return d.prototype=c.prototype,a.prototype=new d,a.__super__=c.prototype,a};SelectParser=function(){function SelectParser(){this.options_index=0,this.parsed=[]}return SelectParser.prototype.add_node=function(a){return"OPTGROUP"===a.nodeName.toUpperCase()?this.add_group(a):this.add_option(a)},SelectParser.prototype.add_group=function(a){var b,c,d,e,f,g;for(b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:this.escapeExpression(a.label),children:0,disabled:a.disabled}),f=a.childNodes,g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(this.add_option(c,b,a.disabled));return g},SelectParser.prototype.add_option=function(a,b,c){return"OPTION"===a.nodeName.toUpperCase()?(""!==a.text?(null!=b&&(this.parsed[b].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:a.value,text:a.text,html:a.innerHTML,selected:a.selected,disabled:c===!0?c:a.disabled,group_array_index:b,classes:a.className,style:a.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1):void 0},SelectParser.prototype.escapeExpression=function(a){var b,c;return null==a||a===!1?"":/[\&\<\>\"\'\`]/.test(a)?(b={"<":"<",">":">",'"':""","'":"'","`":"`"},c=/&(?!\w+;)|[\<\>\"\'\`]/g,a.replace(c,function(a){return b[a]||"&"})):a},SelectParser}(),SelectParser.select_to_array=function(a){var b,c,d,e,f;for(c=new SelectParser,f=a.childNodes,d=0,e=f.length;e>d;d++)b=f[d],c.add_node(b);return c.parsed},AbstractChosen=function(){function AbstractChosen(a,b){this.form_field=a,this.options=null!=b?b:{},AbstractChosen.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers())}return AbstractChosen.prototype.set_default_values=function(){var a=this;return this.click_test_action=function(b){return a.test_active_click(b)},this.activate_action=function(b){return a.activate_field(b)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.result_single_selected=null,this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text?this.options.allow_single_deselect:!1,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null!=this.options.enable_split_word_search?this.options.enable_split_word_search:!0,this.group_search=null!=this.options.group_search?this.options.group_search:!0,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null!=this.options.single_backstroke_delete?this.options.single_backstroke_delete:!0,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null!=this.options.display_selected_options?this.options.display_selected_options:!0,this.display_disabled_options=null!=this.options.display_disabled_options?this.options.display_disabled_options:!0},AbstractChosen.prototype.set_default_text=function(){return this.default_text=this.form_field.getAttribute("data-placeholder")?this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.options.placeholder_text_multiple||this.options.placeholder_text||AbstractChosen.default_multiple_text:this.options.placeholder_text_single||this.options.placeholder_text||AbstractChosen.default_single_text,this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||AbstractChosen.default_no_result_text},AbstractChosen.prototype.mouse_enter=function(){return this.mouse_on_container=!0},AbstractChosen.prototype.mouse_leave=function(){return this.mouse_on_container=!1},AbstractChosen.prototype.input_focus=function(){var a=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return a.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},AbstractChosen.prototype.input_blur=function(){var a=this;return this.mouse_on_container?void 0:(this.active_field=!1,setTimeout(function(){return a.blur_test()},100))},AbstractChosen.prototype.results_option_build=function(a){var b,c,d,e,f;for(b="",f=this.results_data,d=0,e=f.length;e>d;d++)c=f[d],b+=c.group?this.result_add_group(c):this.result_add_option(c),(null!=a?a.first:void 0)&&(c.selected&&this.is_multiple?this.choice_build(c):c.selected&&!this.is_multiple&&this.single_set_selected_text(c.text));return b},AbstractChosen.prototype.result_add_option=function(a){var b,c;return a.search_match?this.include_option_in_results(a)?(b=[],a.disabled||a.selected&&this.is_multiple||b.push("active-result"),!a.disabled||a.selected&&this.is_multiple||b.push("disabled-result"),a.selected&&b.push("result-selected"),null!=a.group_array_index&&b.push("group-option"),""!==a.classes&&b.push(a.classes),c=""!==a.style.cssText?' style="'+a.style+'"':"",'
              • '+a.search_text+"
              • "):"":""},AbstractChosen.prototype.result_add_group=function(a){return a.search_match||a.group_match?a.active_options>0?'
              • '+a.search_text+"
              • ":"":""},AbstractChosen.prototype.results_update_field=function(){return this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.result_single_selected=null,this.results_build(),this.results_showing?this.winnow_results():void 0},AbstractChosen.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},AbstractChosen.prototype.results_search=function(){return this.results_showing?this.winnow_results():this.results_show()},AbstractChosen.prototype.winnow_results=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m;for(this.no_results_clear(),e=0,g=this.get_search_text(),a=g.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),d=this.search_contains?"":"^",c=new RegExp(d+a,"i"),j=new RegExp(a,"i"),m=this.results_data,k=0,l=m.length;l>k;k++)b=m[k],b.search_match=!1,f=null,this.include_option_in_results(b)&&(b.group&&(b.group_match=!1,b.active_options=0),null!=b.group_array_index&&this.results_data[b.group_array_index]&&(f=this.results_data[b.group_array_index],0===f.active_options&&f.search_match&&(e+=1),f.active_options+=1),(!b.group||this.group_search)&&(b.search_text=b.group?b.label:b.html,b.search_match=this.search_string_match(b.search_text,c),b.search_match&&!b.group&&(e+=1),b.search_match?(g.length&&(h=b.search_text.search(j),i=b.search_text.substr(0,h+g.length)+"
                "+b.search_text.substr(h+g.length),b.search_text=i.substr(0,h)+""+i.substr(h)),null!=f&&(f.group_match=!0)):null!=b.group_array_index&&this.results_data[b.group_array_index].search_match&&(b.search_match=!0)));return this.result_clear_highlight(),1>e&&g.length?(this.update_results_content(""),this.no_results(g)):(this.update_results_content(this.results_option_build()),this.winnow_results_set_highlight())},AbstractChosen.prototype.search_string_match=function(a,b){var c,d,e,f;if(b.test(a))return!0;if(this.enable_split_word_search&&(a.indexOf(" ")>=0||0===a.indexOf("["))&&(d=a.replace(/\[|\]/g,"").split(" "),d.length))for(e=0,f=d.length;f>e;e++)if(c=d[e],b.test(c))return!0},AbstractChosen.prototype.choices_count=function(){var a,b,c,d;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,d=this.form_field.options,b=0,c=d.length;c>b;b++)a=d[b],a.selected&&(this.selected_option_count+=1);return this.selected_option_count},AbstractChosen.prototype.choices_click=function(a){return a.preventDefault(),this.results_showing||this.is_disabled?void 0:this.results_show()},AbstractChosen.prototype.keyup_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:if(a.preventDefault(),this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},AbstractChosen.prototype.container_width=function(){return null!=this.options.width?this.options.width:""+this.form_field.offsetWidth+"px"},AbstractChosen.prototype.include_option_in_results=function(a){return this.is_multiple&&!this.display_selected_options&&a.selected?!1:!this.display_disabled_options&&a.disabled?!1:a.empty?!1:!0},AbstractChosen.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:/iP(od|hone)/i.test(window.navigator.userAgent)?!1:/Android/i.test(window.navigator.userAgent)&&/Mobile/i.test(window.navigator.userAgent)?!1:!0},AbstractChosen.default_multiple_text="Select Some Options",AbstractChosen.default_single_text="Select an Option",AbstractChosen.default_no_result_text="No results match",AbstractChosen}(),this.Chosen=function(b){function Chosen(){return a=Chosen.__super__.constructor.apply(this,arguments)}return c(Chosen,b),Chosen.prototype.setup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.is_rtl=this.form_field.hasClassName("chosen-rtl")},Chosen.prototype.set_default_values=function(){return Chosen.__super__.set_default_values.call(this),this.single_temp=new Template('#{default}
                  '),this.multi_temp=new Template('
                    '),this.no_results_temp=new Template('
                  • '+this.results_none_found+' "#{terms}"
                  • ')},Chosen.prototype.set_up_html=function(){var a,b;return a=["chosen-container"],a.push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&a.push(this.form_field.className),this.is_rtl&&a.push("chosen-rtl"),b={"class":a.join(" "),style:"width: "+this.container_width()+";",title:this.form_field.title},this.form_field.id.length&&(b.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=this.is_multiple?new Element("div",b).update(this.multi_temp.evaluate({"default":this.default_text})):new Element("div",b).update(this.single_temp.evaluate({"default":this.default_text})),this.form_field.hide().insert({after:this.container}),this.dropdown=this.container.down("div.chosen-drop"),this.search_field=this.container.down("input"),this.search_results=this.container.down("ul.chosen-results"),this.search_field_scale(),this.search_no_results=this.container.down("li.no-results"),this.is_multiple?(this.search_choices=this.container.down("ul.chosen-choices"),this.search_container=this.container.down("li.search-field")):(this.search_container=this.container.down("div.chosen-search"),this.selected_item=this.container.down(".chosen-single")),this.results_build(),this.set_tab_index(),this.set_label_behavior(),this.form_field.fire("chosen:ready",{chosen:this})},Chosen.prototype.register_observers=function(){var a=this;return this.container.observe("mousedown",function(b){return a.container_mousedown(b)}),this.container.observe("mouseup",function(b){return a.container_mouseup(b)}),this.container.observe("mouseenter",function(b){return a.mouse_enter(b)}),this.container.observe("mouseleave",function(b){return a.mouse_leave(b)}),this.search_results.observe("mouseup",function(b){return a.search_results_mouseup(b)}),this.search_results.observe("mouseover",function(b){return a.search_results_mouseover(b)}),this.search_results.observe("mouseout",function(b){return a.search_results_mouseout(b)}),this.search_results.observe("mousewheel",function(b){return a.search_results_mousewheel(b)}),this.search_results.observe("DOMMouseScroll",function(b){return a.search_results_mousewheel(b)}),this.form_field.observe("chosen:updated",function(b){return a.results_update_field(b)}),this.form_field.observe("chosen:activate",function(b){return a.activate_field(b)}),this.form_field.observe("chosen:open",function(b){return a.container_mousedown(b)}),this.search_field.observe("blur",function(b){return a.input_blur(b)}),this.search_field.observe("keyup",function(b){return a.keyup_checker(b)}),this.search_field.observe("keydown",function(b){return a.keydown_checker(b)}),this.search_field.observe("focus",function(b){return a.input_focus(b)}),this.is_multiple?this.search_choices.observe("click",function(b){return a.choices_click(b)}):this.container.observe("click",function(a){return a.preventDefault()})},Chosen.prototype.destroy=function(){return document.stopObserving("click",this.click_test_action),this.form_field.stopObserving(),this.container.stopObserving(),this.search_results.stopObserving(),this.search_field.stopObserving(),null!=this.form_field_label&&this.form_field_label.stopObserving(),this.is_multiple?(this.search_choices.stopObserving(),this.container.select(".search-choice-close").each(function(a){return a.stopObserving()})):this.selected_item.stopObserving(),this.search_field.tabIndex&&(this.form_field.tabIndex=this.search_field.tabIndex),this.container.remove(),this.form_field.show()},Chosen.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field.disabled,this.is_disabled?(this.container.addClassName("chosen-disabled"),this.search_field.disabled=!0,this.is_multiple||this.selected_item.stopObserving("focus",this.activate_action),this.close_field()):(this.container.removeClassName("chosen-disabled"),this.search_field.disabled=!1,this.is_multiple?void 0:this.selected_item.observe("focus",this.activate_action))},Chosen.prototype.container_mousedown=function(a){return this.is_disabled||(a&&"mousedown"===a.type&&!this.results_showing&&a.stop(),null!=a&&a.target.hasClassName("search-choice-close"))?void 0:(this.active_field?this.is_multiple||!a||a.target!==this.selected_item&&!a.target.up("a.chosen-single")||this.results_toggle():(this.is_multiple&&this.search_field.clear(),document.observe("click",this.click_test_action),this.results_show()),this.activate_field())},Chosen.prototype.container_mouseup=function(a){return"ABBR"!==a.target.nodeName||this.is_disabled?void 0:this.results_reset(a)},Chosen.prototype.search_results_mousewheel=function(a){var b;return b=-a.wheelDelta||a.detail,null!=b?(a.preventDefault(),"DOMMouseScroll"===a.type&&(b=40*b),this.search_results.scrollTop=b+this.search_results.scrollTop):void 0},Chosen.prototype.blur_test=function(){return!this.active_field&&this.container.hasClassName("chosen-container-active")?this.close_field():void 0},Chosen.prototype.close_field=function(){return document.stopObserving("click",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClassName("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},Chosen.prototype.activate_field=function(){return this.container.addClassName("chosen-container-active"),this.active_field=!0,this.search_field.value=this.search_field.value,this.search_field.focus()},Chosen.prototype.test_active_click=function(a){return a.target.up(".chosen-container")===this.container?this.active_field=!0:this.close_field()},Chosen.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=SelectParser.select_to_array(this.form_field),this.is_multiple?this.search_choices.select("li.search-choice").invoke("remove"):this.is_multiple||(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field.readOnly=!0,this.container.addClassName("chosen-container-single-nosearch")):(this.search_field.readOnly=!1,this.container.removeClassName("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},Chosen.prototype.result_do_highlight=function(a){var b,c,d,e,f;return this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClassName("highlighted"),d=parseInt(this.search_results.getStyle("maxHeight"),10),f=this.search_results.scrollTop,e=d+f,c=this.result_highlight.positionedOffset().top,b=c+this.result_highlight.getHeight(),b>=e?this.search_results.scrollTop=b-d>0?b-d:0:f>c?this.search_results.scrollTop=c:void 0},Chosen.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClassName("highlighted"),this.result_highlight=null},Chosen.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field.fire("chosen:maxselected",{chosen:this}),!1):(this.container.addClassName("chosen-with-drop"),this.form_field.fire("chosen:showing_dropdown",{chosen:this}),this.results_showing=!0,this.search_field.focus(),this.search_field.value=this.search_field.value,this.winnow_results())},Chosen.prototype.update_results_content=function(a){return this.search_results.update(a)},Chosen.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClassName("chosen-with-drop"),this.form_field.fire("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},Chosen.prototype.set_tab_index=function(){var a;return this.form_field.tabIndex?(a=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field.tabIndex=a):void 0},Chosen.prototype.set_label_behavior=function(){var a=this;return this.form_field_label=this.form_field.up("label"),null==this.form_field_label&&(this.form_field_label=$$("label[for='"+this.form_field.id+"']").first()),null!=this.form_field_label?this.form_field_label.observe("click",function(b){return a.is_multiple?a.container_mousedown(b):a.activate_field()}):void 0},Chosen.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.value=this.default_text,this.search_field.addClassName("default")):(this.search_field.value="",this.search_field.removeClassName("default"))},Chosen.prototype.search_results_mouseup=function(a){var b;return b=a.target.hasClassName("active-result")?a.target:a.target.up(".active-result"),b?(this.result_highlight=b,this.result_select(a),this.search_field.focus()):void 0},Chosen.prototype.search_results_mouseover=function(a){var b;return b=a.target.hasClassName("active-result")?a.target:a.target.up(".active-result"),b?this.result_do_highlight(b):void 0},Chosen.prototype.search_results_mouseout=function(a){return a.target.hasClassName("active-result")||a.target.up(".active-result")?this.result_clear_highlight():void 0},Chosen.prototype.choice_build=function(a){var b,c,d=this;return b=new Element("li",{"class":"search-choice"}).update(""+a.html+""),a.disabled?b.addClassName("search-choice-disabled"):(c=new Element("a",{href:"#","class":"search-choice-close",rel:a.array_index}),c.observe("click",function(a){return d.choice_destroy_link_click(a)}),b.insert(c)),this.search_container.insert({before:b})},Chosen.prototype.choice_destroy_link_click=function(a){return a.preventDefault(),a.stopPropagation(),this.is_disabled?void 0:this.choice_destroy(a.target)},Chosen.prototype.choice_destroy=function(a){return this.result_deselect(a.readAttribute("rel"))?(this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.search_field.value.length<1&&this.results_hide(),a.up("li").remove(),this.search_field_scale()):void 0},Chosen.prototype.results_reset=function(){return this.form_field.options[0].selected=!0,this.selected_option_count=null,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),"function"==typeof Event.simulate&&this.form_field.simulate("change"),this.active_field?this.results_hide():void 0},Chosen.prototype.results_reset_cleanup=function(){var a;return this.current_selectedIndex=this.form_field.selectedIndex,a=this.selected_item.down("abbr"),a?a.remove():void 0},Chosen.prototype.result_select=function(a){var b,c,d;return this.result_highlight?(b=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field.fire("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?b.removeClassName("active-result"):(this.result_single_selected&&(this.result_single_selected.removeClassName("result-selected"),d=this.result_single_selected.getAttribute("data-option-array-index"),this.results_data[d].selected=!1),this.result_single_selected=b),b.addClassName("result-selected"),c=this.results_data[b.getAttribute("data-option-array-index")],c.selected=!0,this.form_field.options[c.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(c):this.single_set_selected_text(c.text),(a.metaKey||a.ctrlKey)&&this.is_multiple||this.results_hide(),this.search_field.value="","function"!=typeof Event.simulate||!this.is_multiple&&this.form_field.selectedIndex===this.current_selectedIndex||this.form_field.simulate("change"),this.current_selectedIndex=this.form_field.selectedIndex,this.search_field_scale())):void 0},Chosen.prototype.single_set_selected_text=function(a){return null==a&&(a=this.default_text),a===this.default_text?this.selected_item.addClassName("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClassName("chosen-default")),this.selected_item.down("span").update(a)},Chosen.prototype.result_deselect=function(a){var b;return b=this.results_data[a],this.form_field.options[b.options_index].disabled?!1:(b.selected=!1,this.form_field.options[b.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),"function"==typeof Event.simulate&&this.form_field.simulate("change"),this.search_field_scale(),!0)},Chosen.prototype.single_deselect_control_build=function(){return this.allow_single_deselect?(this.selected_item.down("abbr")||this.selected_item.down("span").insert({after:''}),this.selected_item.addClassName("chosen-single-with-deselect")):void 0},Chosen.prototype.get_search_text=function(){return this.search_field.value===this.default_text?"":this.search_field.value.strip().escapeHTML()},Chosen.prototype.winnow_results_set_highlight=function(){var a;return this.is_multiple||(a=this.search_results.down(".result-selected.active-result")),null==a&&(a=this.search_results.down(".active-result")),null!=a?this.result_do_highlight(a):void 0},Chosen.prototype.no_results=function(a){return this.search_results.insert(this.no_results_temp.evaluate({terms:a}))},Chosen.prototype.no_results_clear=function(){var a,b;for(a=null,b=[];a=this.search_results.down(".no-results");)b.push(a.remove());return b},Chosen.prototype.keydown_arrow=function(){var a;return this.results_showing&&this.result_highlight?(a=this.result_highlight.next(".active-result"))?this.result_do_highlight(a):void 0:this.results_show()},Chosen.prototype.keyup_arrow=function(){var a,b,c;return this.results_showing||this.is_multiple?this.result_highlight?(c=this.result_highlight.previousSiblings(),a=this.search_results.select("li.active-result"),b=c.intersect(a),b.length?this.result_do_highlight(b.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight())):void 0:this.results_show()},Chosen.prototype.keydown_backstroke=function(){var a;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.down("a")),this.clear_backstroke()):(a=this.search_container.siblings().last(),a&&a.hasClassName("search-choice")&&!a.hasClassName("search-choice-disabled")?(this.pending_backstroke=a,this.pending_backstroke&&this.pending_backstroke.addClassName("search-choice-focus"),this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClassName("search-choice-focus")):void 0)},Chosen.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClassName("search-choice-focus"),this.pending_backstroke=null},Chosen.prototype.keydown_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),8!==b&&this.pending_backstroke&&this.clear_backstroke(),b){case 8:this.backstroke_length=this.search_field.value.length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:a.preventDefault(),this.keydown_arrow()}},Chosen.prototype.search_field_scale=function(){var a,b,c,d,e,f,g,h,i;if(this.is_multiple){for(c=0,g=0,e="position:absolute; left: -1000px; top: -1000px; display:none;",f=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"],h=0,i=f.length;i>h;h++)d=f[h],e+=d+":"+this.search_field.getStyle(d)+";";return a=new Element("div",{style:e}).update(this.search_field.value.escapeHTML()),document.body.appendChild(a),g=Element.measure(a,"width")+25,a.remove(),b=this.container.getWidth(),g>b-10&&(g=b-10),this.search_field.setStyle({width:g+"px"})}},Chosen}(AbstractChosen)}.call(this); \ No newline at end of file diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/docsupport/chosen.png b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/docsupport/chosen.png new file mode 100644 index 0000000000000000000000000000000000000000..b81474b333111b51b48a836958d02d5df8969f25 GIT binary patch literal 3467 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/docsupport/oss-credit.png b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/docsupport/oss-credit.png new file mode 100644 index 0000000000000000000000000000000000000000..aeed5eec473792a81152be25a5ba8146d44b88a0 GIT binary patch literal 6709 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 R`}aqVhKiPQk)l<={{gD code[class*="language-"], +pre[class*="language-"] { + background: #272822; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #f8f8f2; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag { + color: #f92672; +} + +.token.boolean, +.token.number{ + color: #ae81ff; +} + +.token.selector, +.token.attr-name, +.token.string { + color: #a6e22e; +} + + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #f8f8f2; +} + +.token.atrule, +.token.attr-value +{ + color: #e6db74; +} + + +.token.keyword{ +color: #66d9ef; +} + +.token.regex, +.token.important { + color: #fd971f; +} + +.token.important { + font-weight: bold; +} + +.token.entity { + cursor: help; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/docsupport/prism.js b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/docsupport/prism.js new file mode 100644 index 0000000..7ed4fa7 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/docsupport/prism.js @@ -0,0 +1,9 @@ +/** + * Prism: Lightweight, robust, elegant syntax highlighting + * MIT license http://www.opensource.org/licenses/mit-license.php/ + * @author Lea Verou http://lea.verou.me + */(function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=self.Prism={util:{type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){var n=t.util.type(e);switch(n){case"Object":var r={};for(var i in e)e.hasOwnProperty(i)&&(r[i]=t.util.clone(e[i]));return r;case"Array":return e.slice()}return e}},languages:{extend:function(e,n){var r=t.util.clone(t.languages[e]);for(var i in n)r[i]=n[i];return r},insertBefore:function(e,n,r,i){i=i||t.languages;var s=i[e],o={};for(var u in s)if(s.hasOwnProperty(u)){if(u==n)for(var a in r)r.hasOwnProperty(a)&&(o[a]=r[a]);o[u]=s[u]}return i[e]=o},DFS:function(e,n){for(var r in e){n.call(e,r,e[r]);t.util.type(e)==="Object"&&t.languages.DFS(e[r],n)}}},highlightAll:function(e,n){var r=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code');for(var i=0,s;s=r[i++];)t.highlightElement(s,e===!0,n)},highlightElement:function(r,i,s){var o,u,a=r;while(a&&!e.test(a.className))a=a.parentNode;if(a){o=(a.className.match(e)||[,""])[1];u=t.languages[o]}if(!u)return;r.className=r.className.replace(e,"").replace(/\s+/g," ")+" language-"+o;a=r.parentNode;/pre/i.test(a.nodeName)&&(a.className=a.className.replace(e,"").replace(/\s+/g," ")+" language-"+o);var f=r.textContent;if(!f)return;f=f.replace(/&/g,"&").replace(/e.length)break e;if(p instanceof i)continue;a.lastIndex=0;var d=a.exec(p);if(d){l&&(c=d[1].length);var v=d.index-1+c,d=d[0].slice(c),m=d.length,g=v+m,y=p.slice(0,v+1),b=p.slice(g+1),w=[h,1];y&&w.push(y);var E=new i(u,f?t.tokenize(d,f):d);w.push(E);b&&w.push(b);Array.prototype.splice.apply(s,w)}}}return s},hooks:{all:{},add:function(e,n){var r=t.hooks.all;r[e]=r[e]||[];r[e].push(n)},run:function(e,n){var r=t.hooks.all[e];if(!r||!r.length)return;for(var i=0,s;s=r[i++];)s(n)}}},n=t.Token=function(e,t){this.type=e;this.content=t};n.stringify=function(e,r,i){if(typeof e=="string")return e;if(Object.prototype.toString.call(e)=="[object Array]")return e.map(function(t){return n.stringify(t,r,e)}).join("");var s={type:e.type,content:n.stringify(e.content,r,i),tag:"span",classes:["token",e.type],attributes:{},language:r,parent:i};s.type=="comment"&&(s.attributes.spellcheck="true");t.hooks.run("wrap",s);var o="";for(var u in s.attributes)o+=u+'="'+(s.attributes[u]||"")+'"';return"<"+s.tag+' class="'+s.classes.join(" ")+'" '+o+">"+s.content+""};if(!self.document){self.addEventListener("message",function(e){var n=JSON.parse(e.data),r=n.language,i=n.code;self.postMessage(JSON.stringify(t.tokenize(i,t.languages[r])));self.close()},!1);return}var r=document.getElementsByTagName("script");r=r[r.length-1];if(r){t.filename=r.src;document.addEventListener&&!r.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)}})();; +Prism.languages.markup={comment:/<!--[\w\W]*?-->/g,prolog:/<\?.+?\?>/,doctype:/<!DOCTYPE.+?>/,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|\w+))?\s*)*\/?>/gi,inside:{tag:{pattern:/^<\/?[\w:-]+/i,inside:{punctuation:/^<\/?/,namespace:/^[\w-]+?:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/gi,inside:{punctuation:/=|>|"/g}},punctuation:/\/?>/g,"attr-name":{pattern:/[\w:-]+/g,inside:{namespace:/^[\w-]+?:/}}}},entity:/&#?[\da-z]{1,8};/gi};Prism.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&/,"&"))});; +Prism.languages.css={comment:/\/\*[\w\W]*?\*\//g,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*{))/gi,inside:{punctuation:/[;:]/g}},url:/url\((["']?).*?\1\)/gi,selector:/[^\{\}\s][^\{\};]*(?=\s*\{)/g,property:/(\b|\B)[\w-]+(?=\s*:)/ig,string:/("|')(\\?.)*?\1/g,important:/\B!important\b/gi,ignore:/&(lt|gt|amp);/gi,punctuation:/[\{\};:]/g};Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{style:{pattern:/(<|<)style[\w\W]*?(>|>)[\w\W]*?(<|<)\/style(>|>)/ig,inside:{tag:{pattern:/(<|<)style[\w\W]*?(>|>)|(<|<)\/style(>|>)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.css}}});; +Prism.languages.clike={comment:{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|(^|[^:])\/\/.*?(\r?\n|$))/g,lookbehind:!0},string:/("|')(\\?.)*?\1/g,"class-name":{pattern:/((?:(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/ig,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|catch|finally|null|break|continue)\b/g,"boolean":/\b(true|false)\b/g,"function":{pattern:/[a-z0-9_]+\(/ig,inside:{punctuation:/\(/}}, number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/g,operator:/[-+]{1,2}|!|<=?|>=?|={1,3}|(&){1,2}|\|?\||\?|\*|\/|\~|\^|\%/g,ignore:/&(lt|gt|amp);/gi,punctuation:/[{}[\];(),.:]/g};; +Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(var|let|if|else|while|do|for|return|in|instanceof|function|new|with|typeof|try|catch|finally|null|break|continue)\b/g,number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?|NaN|-?Infinity)\b/g});Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/g,lookbehind:!0}});Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/(<|<)script[\w\W]*?(>|>)[\w\W]*?(<|<)\/script(>|>)/ig,inside:{tag:{pattern:/(<|<)script[\w\W]*?(>|>)|(<|<)\/script(>|>)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.javascript}}});; diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/docsupport/style.css b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/docsupport/style.css new file mode 100644 index 0000000..91b2d5c --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/docsupport/style.css @@ -0,0 +1,201 @@ +/* Reset */ +html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } + +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } + +blockquote, q { quotes: none; } +blockquote:before, blockquote:after, q:before, q:after { content: ""; content: none; } +ins { background-color: #ff9; color: #000; text-decoration: none; } +mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; } +del { text-decoration: line-through; } +abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; } +table { border-collapse: collapse; border-spacing: 0; } +hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; } +input, select { vertical-align: middle; } + +body { font:13px/1.231 sans-serif; *font-size:small; } /* Hack retained to preserve specificity */ +select, input, textarea, button { font:99% sans-serif; } +pre, code, kbd, samp { font-family: monospace, sans-serif; } + + +body { background: #EEE; color: #444; line-height: 1.4em; } + +header h1 { color: black; font-size: 2em; line-height: 1.1em; display: inline-block; height: 27px; margin: 20px 0 25px; } + +div#content { background: white; border: 1px solid #ccc; border-width: 0 1px 1px; margin: 0 auto; padding: 40px 50px 40px; width: 738px; } + +footer { color: #999; padding-top: 40px; font-size: 0.8em; text-align: center; } + +body { font-family: sans-serif; font-size: 1em; } + +p { margin: 0 0 .7em; max-width: 700px; } + +h2 { border-bottom: 1px solid #ccc; font-size: 1.2em; margin: 3em 0 1em 0; font-weight: bold;} +h3 { font-weight: bold; } + +h2.intro { border-bottom: none; font-size: 1em; font-weight: normal; margin-top:0; } + +ul li { list-style: disc; margin-left: 1em; margin-bottom: 1.25em; } +ol li { margin-left: 1.25em; } +ol ul, ul ul { margin: .25em 0 0; } +ol ul li, ul ul li { list-style-type: circle; margin: 0 0 .25em 1em; } + +li > p { margin-top: .25em; } + +div.side-by-side { width: 100%; margin-bottom: 1em; } +div.side-by-side > div { float: left; width: 49%; } +div.side-by-side > div > em { margin-bottom: 10px; display: block; } + +.faqs em { display: block; } + +.clearfix:after { + content: "\0020"; + display: block; + height: 0; + clear: both; + overflow: hidden; + visibility: hidden; +} + +a { color: #F36C00; outline: none; text-decoration: none; } +a:hover { text-decoration: underline; } + +ul.credits li { margin-bottom: .25em; } + +strong { font-weight: bold; } + +.button { + background: #fafafa; + background: -webkit-linear-gradient(top, #ffffff, #eeeeee); + background: -moz-linear-gradient(top, #ffffff, #eeeeee); + background: -o-linear-gradient(top, #ffffff, #eeeeee); + background: linear-gradient(to bottom, #ffffff, #eeeeee); + border: 1px solid #bbbbbb; + border-radius: 4px; + box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.2); + color: #555555; + cursor: pointer; + display: inline-block; + font-family: "Helvetica Neue", Arial, Verdana, "Nimbus Sans L", sans-serif; + font-size: 13px; + font-weight: 500; + height: 31px; + line-height: 28px; + outline: none; + padding: 0 13px; + text-shadow: 0 1px 0 white; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + -webkit-font-smoothing: antialiased; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.button-blue { + background: #1385e5; + background: -webkit-linear-gradient(top, #53b2fc, #1385e5); + background: -moz-linear-gradient(top, #53b2fc, #1385e5); + background: -o-linear-gradient(top, #53b2fc, #1385e5); + background: linear-gradient(to bottom, #53b2fc, #1385e5); + border-color: #075fa9; + color: white; + font-weight: bold; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.4); +} + + +/* Tweak navbar brand link to be super sleek +-------------------------------------------------- */ +.oss-bar { + top: 0; + right: 20px; + position: fixed; + z-index: 1030; +} +.oss-bar ul { + float: right; + margin: 0; + list-style: none; +} +.oss-bar ul li { + list-style: none; + float: left; + line-height: 0; + margin: 0; +} +.oss-bar ul li a { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + border: 0; + margin-top: -10px; + display: block; + height: 58px; + background: #F36C00 url(oss-credit.png) no-repeat 20px 22px; + padding: 22px 20px 12px 20px; + text-indent: 120%; /* stupid padding */ + white-space: nowrap; + overflow: hidden; + -webkit-transition: all 0.10s ease-in-out; + -moz-transition: all 0.10s ease-in-out; + transition: all 0.15s ease-in-out; +} +.oss-bar ul li a:hover { + margin-top: 0px; +} +.oss-bar a.harvest { + width: 196px; + background-color: #F36C00; + background-position: -142px 22px; + padding-right: 22px; /* optical illusion */ +} +.oss-bar a.fork { + width: 162px; + background-color: #333333; +} + +.docs-table th, .docs-table td { + border: 1px solid #000; + padding: 4px 6px; + white-space: nowrap; +} + +.docs-table td:last-child { + white-space: normal; +} + +.docs-table th { + font-weight: bold; + text-align: left; +} + +#content pre[class*=language-] { + font-size: 14px; + margin-bottom: 20px; +} + +#content pre[class*=language-] code { + font-size: 14px; + padding: 0; +} + +#content code[class*=language-] { + font-size: 12px; + padding: 2px 4px; +} + +.anchor { + color: inherit; + position: relative; +} + +.anchor:hover { + background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSI3Ij48ZyBmaWxsPSIjNDE0MDQyIj48cGF0aCBkPSJNOS44IDdoLS45bC0uOS0uMWMtLjctLjMtMS40LS43LTEuOC0xLjMtLjItLjEtLjMtLjMtLjMtLjVsLS4zLS40Yy0uMS0uNC0uMi0uOC0uMi0xLjIgMC0uNC4xLS44LjItMS4yaDEuN2MtLjMuNC0uNC44LS40IDEuMiAwIC40LjEuOC4zIDEuMS4xLjIuMi4zLjQuNC4xLjEuMi4yLjQuMy4zLjIuNy4zIDEgLjNoMy40YzEuMiAwIDIuMi0uOSAyLjItMi4xcy0xLTIuMS0yLjItMi4xaC0xLjRjLS4zLS42LS43LTEtMS4yLTEuNGgyLjZjMiAwIDMuNiAxLjYgMy42IDMuNXMtMS42IDMuNS0zLjYgMy41aC0yLjZ6TTguNCAyYy0uMS0uMS0uMi0uMy0uNC0uMy0uMy0uMi0uNy0uMy0xLS4zaC0zLjRjLTEuMiAwLTIuMi45LTIuMiAyLjEgMCAxLjIgMSAyLjEgMi4yIDIuMWgxLjRjLjMuNS43IDEgMS4yIDEuNGgtMi42Yy0yIDAtMy42LTEuNi0zLjYtMy41czEuNi0zLjUgMy42LTMuNWgzLjUwMDAwMDAwMDAwMDAwMDRsLjkuMWMuNy4yIDEuNC43IDEuOCAxLjMuMS4xLjIuMy4zLjUuMS4xLjIuMy4yLjUuMS40LjIuOC4yIDEuMiAwIC40LS4xLjgtLjIgMS4yaC0xLjZjLjMtLjUuNC0uOS40LTEuM3MtLjEtLjgtLjMtMS4xYy0uMS0uMi0uMi0uMy0uNC0uNHoiLz48L2c+PC9zdmc+) 0 50% no-repeat; + background-size: 21px 9px; + margin-left: -27px; + padding-left: 27px; + text-decoration: none; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/index.html b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/index.html new file mode 100644 index 0000000..b1a25e7 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/index.html @@ -0,0 +1,1479 @@ + + + + + Chosen: A jQuery Plugin by Harvest to Tame Unwieldy Select Boxes + + + + + + +
                    +
                    +
                    +
                    +

                    Chosen

                    +
                    +

                    Chosen is a jQuery plugin that makes long, unwieldy select boxes much more user-friendly.

                    + +

                    + Downloads + Project Source + Contribute +

                    + +

                    Standard Select

                    +
                    +
                    + Turns This + +
                    +
                    + Into This + +
                    +
                    + +

                    Multiple Select

                    +
                    +
                    + Turns This + +
                    +
                    + Into This + +
                    +
                    + +

                    <optgroup> Support

                    +
                    +
                    + Single Select with Groups + +
                    +
                    + Multiple Select with Groups + +
                    +
                    + +

                    Selected and Disabled Support

                    +
                    +

                    Chosen automatically highlights selected options and removes disabled options.

                    +
                    + Single Select + +
                    +
                    + Multiple Select + +
                    +
                    + +

                    Hide Search on Single Select

                    +
                    +

                    The disable_search_threshold option can be specified to hide the search input on single selects if there are fewer than (n) options.

                    +
                    $(".chosen-select").chosen({disable_search_threshold: 10});
                    +

                    +
                    + +
                    +
                    + +

                    Default Text Support

                    +
                    +

                    Chosen automatically sets the default field text ("Choose a country...") by reading the select element's data-placeholder value. If no data-placeholder value is present, it will default to "Select an Option" or "Select Some Options" depending on whether the select is single or multiple. You can change these elements in the plugin js file as you see fit.

                    +
                    <select data-placeholder="Choose a country..." style="width:350px;" multiple class="chosen-select">
                    +

                    Note: on single selects, the first element is assumed to be selected by the browser. To take advantage of the default text support, you will need to include a blank option as the first element of your select list.

                    +
                    + +

                    No Results Text Support

                    +
                    +

                    Setting the "No results" search text is as easy as passing an option when you create Chosen:

                    +
                     $(".chosen-select").chosen({no_results_text: "Oops, nothing found!"}); 
                    +

                    +
                    + Single Select + +
                    +
                    + Multiple Select + +
                    +
                    + +

                    Limit Selected Options in Multiselect

                    +
                    +

                    You can easily limit how many options the user can select:

                    +
                    $(".chosen-select").chosen({max_selected_options: 5});
                    +

                    If you try to select another option with limit reached chosen:maxselected event is triggered:

                    +
                     $(".chosen-select").bind("chosen:maxselected", function () { ... }); 
                    +
                    + +

                    Allow Deselect on Single Selects

                    +
                    +

                    When a single select box isn't a required field, you can set allow_single_deselect: true and Chosen will add a UI element for option deselection. This will only work if the first option has blank text.

                    +
                    + +
                    +
                    + +

                    Right to Left Support

                    +
                    +

                    Chosen supports right to left select boxes too. just add "chosen-rtl" in addition to "chosen-select" to your select tags and you are good to go.

                    +
                    <select class="chosen-select chosen-rtl">
                    +
                    + Single right to left select + +
                    +
                    + Multiple right to left select + +
                    +
                    + +

                    Change / Update Events

                    +
                    +
                      +
                    • +

                      Form Field Change

                      +

                      When working with form fields, you often want to perform some behavior after a value has been selected or deselected. Whenever a user selects a field in Chosen, it triggers a "change" event* on the original form field. That let's you do something like this:

                      +
                      $("#form_field").chosen().change( … );
                      +
                    • +
                    • +

                      Updating Chosen Dynamically

                      +

                      If you need to update the options in your select field and want Chosen to pick up the changes, you'll need to trigger the "chosen:updated" event on the field. Chosen will re-build itself based on the updated content.

                      +
                      $("#form_field").trigger("chosen:updated");
                      +
                    • +
                    +
                    + +

                    Custom Width Support

                    +
                    +

                    Using a custom width with Chosen is as easy as passing an option when you create Chosen:

                    +
                     $(".chosen-select").chosen({width: "95%"}); 
                    +
                    + Single Select + +
                    +
                    + Multiple Select + +
                    +
                    + +

                    Labels work, too

                    +
                    +

                    Use labels just like you would a standard select

                    +

                    +
                    + + +
                    +
                    + + +
                    +
                    + +

                    Setup

                    +

                    Using Chosen is easy as can be.

                    +
                      +
                    1. Download the plugin and copy the chosen files to your app.
                    2. +
                    3. Activate the plugin on the select boxes of your choice: $(".chosen-select").chosen()
                    4. +
                    5. Disco.
                    6. +
                    + +

                    FAQs

                    +
                      +
                    • +

                      Do you have all the available options documented somewhere?

                      +

                      Yes! You can find them on the options page.

                      +
                    • +
                    • +

                      Something doesn't work. Can you fix it?

                      +

                      Yes! Please report all issues using the GitHub issue tracking tool. Please include the plugin version (jQuery or Prototype), browser and OS. The more information provided, the easier it is to fix a problem.

                      +
                    • +
                    • +

                      What browsers are supported?

                      +

                      All modern browsers are supported (Firefox, Chrome, Safari and IE9). Legacy support for IE8 is also enabled.

                      +
                    • +
                    • +

                      Didn't there used to be a Prototype version of Chosen?

                      +

                      There still is!

                      +
                    • +
                    + +

                    Credits

                    + + + + + +
                    +
                    + + + + +
                    + + + diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/index.proto.html b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/index.proto.html new file mode 100644 index 0000000..91e1541 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/index.proto.html @@ -0,0 +1,1485 @@ + + + + + Chosen: A Prototype Plugin by Harvest to Tame Unwieldy Select Boxes + + + + + + +
                    +
                    +
                    +

                    Chosen - Prototype Version

                    +
                    +

                    Chosen is a Prototype plugin that makes long, unwieldy select boxes much more user-friendly.

                    + +

                    + Downloads + Project Source + Contribute +

                    + +

                    Looking for the jQuery version?

                    + +

                    Standard Select

                    +
                    +
                    + Turns This + +
                    +
                    + Into This + +
                    +
                    + +

                    Multiple Select

                    +
                    +
                    + Turns This + +
                    +
                    + Into This + +
                    +
                    + +

                    <optgroup> Support

                    +
                    +
                    + Single Select with Groups + +
                    +
                    + Multiple Select with Groups + +
                    +
                    + +

                    Selected and Disabled Support

                    +
                    +

                    Chosen automatically highlights selected options and removes disabled options.

                    +
                    + Single Select + +
                    +
                    + Multiple Select + +
                    +
                    + +

                    Hide Search on Single Select

                    +
                    +

                    The disable_search_threshold option can be specified to hide the search input on single selects if there are fewer than (n) options.

                    +
                     new Chosen($("chosen_select_field"),{disable_search_threshold: 10}); 
                    +

                    +
                    + +
                    +
                    + +

                    Default Text Support

                    +
                    +

                    Chosen automatically sets the default field text ("Choose a country...") by reading the select element's data-placeholder value. If no data-placeholder value is present, it will default to "Select an Option" or "Select Some Options" depending on whether the select is single or multiple. You can change these elements in the plugin js file as you see fit.

                    +
                    <select data-placeholder="Choose a country..." style="width:350px;" multiple class="chosen-select">
                    +

                    Note: on single selects, the first element is assumed to be selected by the browser. To take advantage of the default text support, you will need to include a blank option as the first element of your select list.

                    +
                    + +

                    No Results Text Support

                    +
                    +

                    Setting the "No results" search text is as easy as passing an option when you create Chosen:

                    +
                    new Chosen($("chosen_select_field"),{no_results_text: "Oops, nothing found!"}); 
                    + +
                    + Single Select + +
                    +
                    + Multiple Select + +
                    +
                    + +

                    Limit Selected Options in Multiselect

                    +
                    +

                    You can easily limit how many options the user can select:

                    +
                    new Chosen($("chosen_select_field"),{max_selected_options: 5}); 
                    +

                    If you try to select another option with limit reached chosen:maxselected event is triggered:

                    +
                    $("chosen_select_field").observe("chosen:maxselected", function(evt) { ... }); 
                    +
                    + +

                    Allow Deselect on Single Selects

                    +
                    +

                    When a single select box isn't a required field, you can set allow_single_deselect: true and Chosen will add a UI element for option deselection. This will only work if the first option has blank text.

                    +
                    + +
                    +
                    + +

                    Right to Left Support

                    +
                    +

                    Chosen supports right to left select boxes too. just add "chosen-rtl" in addition to "chosen-select" to your select tags and you are good to go.

                    +
                    <select class="chosen-select chosen-rtl">
                    +
                    + Single right to left select + +
                    +
                    + Multiple right to left select + +
                    +
                    + +

                    Change / Update Events

                    +
                    +
                      +
                    • +

                      Form Field Change

                      +

                      When working with form fields, you often want to perform some behavior after a value has been selected or deselected. Whenever a user selects a field in Chosen, it triggers a "change" event* on the original form field. That let's you do something like this:

                      +
                      $("#form_field").chosen().change( … );
                      +

                      Note: Prototype doesn't offer support for triggering standard browser events. Event.simulate is required to trigger the change event when using the Prototype version.

                      +
                    • +
                    • +

                      Updating Chosen Dynamically

                      +

                      If you need to update the options in your select field and want Chosen to pick up the changes, you'll need to trigger the "chosen:updated" event on the field. Chosen will re-build itself based on the updated content.

                      +
                        +
                        Event.fire($("form_field"), "chosen:updated");
                        +
                      +
                    • +
                    +
                    + +

                    Custom Width Support

                    +
                    +

                    Using a custom width with Chosen is as easy as passing an option when you create Chosen:

                    +
                    new Chosen($("chosen_select_field"),{width: "95%"}); 
                    +
                    + Single Select + +
                    +
                    + Multiple Select + +
                    +
                    + +

                    Labels work, too

                    +
                    +

                    Use labels just like you would a standard select

                    +

                    +
                    + + +
                    +
                    + + +
                    +
                    + +

                    Setup

                    +

                    Using Chosen is easy as can be.

                    +
                      +
                    1. Download the plugin and copy the chosen files to your app.
                    2. +
                    3. Activate the plugin by creating a new instance of Chosen: New Chosen(some_form_field,some_options);
                    4. +
                    5. Disco.
                    6. +
                    + +

                    FAQs

                    +
                    +
                    + + + + + + + diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/options.html b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/options.html new file mode 100644 index 0000000..24003c5 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/chosen/options.html @@ -0,0 +1,229 @@ + + + + + Chosen: A jQuery Plugin by Harvest to Tame Unwieldy Select Boxes + + + + + + +
                    +
                    +
                    +

                    Chosen

                    +
                    +

                    Chosen has a number of options and attributes that allow you to have full control of your select boxes.

                    + +

                    Options

                    +

                    The following options are available to pass into Chosen on instantiation.

                    + +

                    Example:

                    +
                    +  $(".my_select_box").chosen(
                    +    disable_search_threshold: 10,
                    +    no_results_text: "Oops, nothing found!",
                    +    width: "95%"
                    +  );
                    +
                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                    OptionDefaultDescription
                    allow_single_deselectfalseWhen set to true on a single select, Chosen adds a UI element which selects the first elment (if it is blank).
                    disable_searchfalseWhen set to true, Chosen will not display the search field (single selects only).
                    disable_search_threshold0Hide the search input on single selects if there are fewer than (n) options.
                    enable_split_word_searchtrueBy default, searching will match on any word within an option tag. Set this option to false if you want to only match on the entire text of an option tag.
                    inherit_select_classesfalseWhen set to true, Chosen will grab any classes on the original select field and add them to Chosen's container div.
                    max_selected_optionsInfinityLimits how many options the user can select. When the limit is reached, the chosen:maxselected event is triggered.
                    no_results_text"No results match"The text to be displayed when no matching results are found. The current search is shown at the end of the text (e.g. + No reults match "Bad Search").
                    placeholder_text_multiple"Select Some Options"The text to be displayed as a placeholder when no options are selected for a multiple select.
                    placeholder_text_single"Select an Option"The text to be displayed as a placeholder when no options are selected for a single select.
                    search_containsfalseBy default, Chosen's search matches starting at the beginning of a word. Setting this option to true allows matches starting from anywhere within a word. This is especially useful for options that include a lot of special characters or phrases in ()'s and []'s.
                    single_backstroke_deletetrueBy default, pressing delete/backspace on multiple selects will remove a selected choice. When false, pressing delete/backspace will highlight the last choice, and a second press deselects it.
                    widthOriginal select width.The width of the Chosen select box. By default, Chosen attempts to match the width of the select box you are replacing. If your select is hidden when Chosen is instantiated, you must specify a width or the select will show up with a width of 0.
                    display_disabled_optionstrueBy default, Chosen includes disabled options in search results with a special styling. Setting this option to false will hide disabled results and exclude them from searches.
                    display_selected_optionstrue +

                    By default, Chosen includes selected options in search results with a special styling. Setting this option to false will hide selected results and exclude them from searches.

                    +

                    Note: this is for multiple selects only. In single selects, the selected result will always be displayed.

                    +
                    + +

                    Attributes

                    +

                    Certain attributes placed on the select tag or its options can be used to configure Chosen.

                    + +

                    Example:

                    + +
                    +  <select class="my_select_box" data-placeholder="Select Your Options">
                    +    <option value="1">Option 1</option>
                    +    <option value="2" selected>Option 2</option>
                    +    <option value="3" disabled>Option 3</option>
                    +  </select>
                    +
                    + + + + + + + + + + + + + + + + + +
                    AttributeDescription
                    data-placeholder +

                    The text to be displayed as a placeholder when no options are selected for a select. Defaults to "Select an Option" for single selects or "Select Some Options" for multiple selects.

                    +

                    Note:This attribute overrides anything set in the placeholder_text_multiple or placeholder_text_single options.

                    +
                    multipleThe attribute multiple on your select box dictates whether Chosen will render a multiple or single select.
                    selected, disabledChosen automatically highlights selected options and disables disabled options.
                    + +

                    Classes

                    +

                    Classes placed on the select tag can be used to configure Chosen.

                    + +

                    Example:

                    + +
                    +  <select class="my_select_box chosen-rtl">
                    +    <option value="1">Option 1</option>
                    +    <option value="2">Option 2</option>
                    +    <option value="3">Option 3</option>
                    +  </select>
                    +
                    + + + + + + + + + +
                    ClassnameDescription
                    chosen-rtl +

                    Chosen supports right-to-left text in select boxes. Add the class chosen-rtl to your select tag to support right-to-left text options.

                    +

                    Note: The chosen-rtl class will pass through to the Chosen select even when the inherit_select_classes option is set to false.

                    +
                    + +

                    Events

                    +

                    Chosen triggers a number of standard and custom events on the original select field.

                    + +

                    Example:

                    + +
                    +  $('select').on('change', function(evt, params) {
                    +    do_something(evt, params);
                    +  });
                    +
                    + + + + + + + + + + + + + + + + + + + + + + + + + +
                    EventDescription
                    change +

                    Chosen triggers the standard DOM event whenever a selection is made (it also sends a selected or deselected parameter that tells you which option was changed).

                    +

                    Note: in order to use change in the Prototype version, you have to include the Event.simulate class. The selected and deselected parameters are not available for Prototype.

                    +
                    chosen:readyafter Chosen has been fully instantiated (it also sends the chosen object as a parameter).
                    chosen:maxselectedtriggered if max_selected_options is set and that total is broken. (it also sends the chosen object as a parameter)
                    chosen:showing_dropdowntriggered when Chosen's dropdown is opened (it also sends the chosen object as a parameter).
                    chosen:hiding_dropdowntriggered when Chosen's dropdown is closed (it also sends the chosen object as a parameter).
                    + + + +
                    +
                    + + + + diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/accordion.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/accordion.less new file mode 100644 index 0000000..11a36b5 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/accordion.less @@ -0,0 +1,28 @@ +// ACCORDION +// --------- + + +// Parent container +.accordion { + margin-bottom: @baseLineHeight; +} + +// Group == heading + body +.accordion-group { + margin-bottom: 2px; + border: 1px solid #e5e5e5; + .border-radius(4px); +} +.accordion-heading { + border-bottom: 0; +} +.accordion-heading .accordion-toggle { + display: block; + padding: 8px 15px; +} + +// Inner needs the styles because you can't animate properly with any styles on the element +.accordion-inner { + padding: 9px 15px; + border-top: 1px solid #e5e5e5; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/alerts.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/alerts.less new file mode 100644 index 0000000..3773a48 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/alerts.less @@ -0,0 +1,77 @@ +// ALERT STYLES +// ------------ + +// Base alert styles +.alert { + padding: 8px 35px 8px 14px; + margin-bottom: @baseLineHeight; + text-shadow: 0 1px 0 rgba(255,255,255,.5); + background-color: @warningBackground; + border: 1px solid @warningBorder; + .border-radius(4px); +} +.alert, +.alert-heading { + color: @warningText; +} + +.message .alert { + .border-radius(0); + height: 24px; + font-size: 14px; + padding: 10px 35px 6px 14px; +} + +// Adjust close link position +.alert .close { + position: relative; + top: -2px; + right: -21px; + line-height: 18px; +} + +// Alternate styles +// ---------------- + +.alert-success { + background-color: @successBackground; + border-color: @successBorder; +} +.alert-success, +.alert-success .alert-heading { + color: @successText; +} +.alert-danger, +.alert-error { + background-color: @errorBackground; + border-color: @errorBorder; +} +.alert-danger, +.alert-error, +.alert-danger .alert-heading, +.alert-error .alert-heading { + color: @errorText; +} +.alert-info { + background-color: @infoBackground; + border-color: @infoBorder; +} +.alert-info, +.alert-info .alert-heading { + color: @infoText; +} + + +// Block alerts +// ------------------------ +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} +.alert-block > p, +.alert-block > ul { + margin-bottom: 0; +} +.alert-block p + p { + margin-top: 5px; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/alerts_badges.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/alerts_badges.less new file mode 100644 index 0000000..59e8704 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/alerts_badges.less @@ -0,0 +1,152 @@ +// ALERT STYLES +// ------------ + +// Base alert styles +.alert, .badge { + padding: 8px 35px 8px 14px; + margin-bottom: @baseLineHeight; + text-shadow: 0 1px 0 rgba(255,255,255,.5); + background-color: @warningBackground; + border: 1px solid @warningBorder; + .border-radius(4px); + font-size:10px; +} + +.alert { + font-size: 13px; +} + +.badge { + padding: 1px 9px 2px; + .border-radius(9px); + border:none; + text-shadow:none; + color:@white; +} + +.alert, +.alert-heading { + color: @warningText; +} + +// Adjust close link position +.alert .close { + position: relative; + top: -2px; + right: -21px; + line-height: 18px; +} + +// Alternate styles +// ---------------- + +.alert-success { + background-color: @successBackground; + border-color: @successBorder; +} +.alert-success, +.alert-success .alert-heading { + color: @successText; +} +.alert-danger, +.alert-error { + background-color: @errorBackground; + border-color: @errorBorder; +} +.alert-danger, +.alert-error, +.alert-danger .alert-heading, +.alert-error .alert-heading { + color: @errorText; +} +.alert-info { + background-color: @infoBackground; + border-color: @infoBorder; +} +.alert-info, +.alert-info .alert-heading { + color: @infoText; +} + + +// Block alerts +// ------------------------ +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} +.alert-block > p, +.alert-block > ul { + margin-bottom: 0; +} +.alert-block p + p { + margin-top: 5px; +} + +a.label:hover, +a.badge:hover { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} + +.label-important, +.badge-important { + background-color: #b94a48; +} + +.label-important[href], +.badge-important[href] { + background-color: #953b39; +} + +.label-warning, +.badge-warning { + background-color: #f89406; +} + +.label-warning[href], +.badge-warning[href] { + background-color: #c67605; +} + +.label-success, +.badge-success { + background-color: #468847; +} + +.label-success[href], +.badge-success[href] { + background-color: #356635; +} + +.label-info, +.badge-info { + background-color: #3a87ad; +} + +.label-info[href], +.badge-info[href] { + background-color: #2d6987; +} + +.label-inverse, +.badge-inverse { + background-color: #333333; +} + +.label-inverse[href], +.badge-inverse[href] { + background-color: #1a1a1a; +} + +.btn .label, +.btn .badge { + position: relative; + top: -1px; +} + +.btn-mini .label, +.btn-mini .badge { + top: 0; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/background-stripe.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/background-stripe.png new file mode 100644 index 0000000000000000000000000000000000000000..307db5c42cefd84c284613afe800335a3a6b6a74 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1SGu;4zvI%9Zwg>5RRG2FW$fZ-_I!V|NsB< z4P0tIGY&K?<61P8F_^ li { + margin-left: 30px; + } + .row-fluid .thumbnails { + margin-left: 0; + } +} + +@media (min-width: 768px) and (max-width: 979px) { + .row { + margin-left: -20px; + *zoom: 1; + } + .row:before, + .row:after { + display: table; + line-height: 0; + content: ""; + } + .row:after { + clear: both; + } + [class*="span"] { + float: left; + min-height: 1px; + margin-left: 20px; + } + .container, + .navbar-static-top .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { + width: 724px; + } + .span12 { + width: 724px; + } + .span11 { + width: 662px; + } + .span10 { + width: 600px; + } + .span9 { + width: 538px; + } + .span8 { + width: 476px; + } + .span7 { + width: 414px; + } + .span6 { + width: 352px; + } + .span5 { + width: 290px; + } + .span4 { + width: 228px; + } + .span3 { + width: 166px; + } + .span2 { + width: 104px; + } + .span1 { + width: 42px; + } + .offset12 { + margin-left: 764px; + } + .offset11 { + margin-left: 702px; + } + .offset10 { + margin-left: 640px; + } + .offset9 { + margin-left: 578px; + } + .offset8 { + margin-left: 516px; + } + .offset7 { + margin-left: 454px; + } + .offset6 { + margin-left: 392px; + } + .offset5 { + margin-left: 330px; + } + .offset4 { + margin-left: 268px; + } + .offset3 { + margin-left: 206px; + } + .offset2 { + margin-left: 144px; + } + .offset1 { + margin-left: 82px; + } + .row-fluid { + width: 100%; + *zoom: 1; + } + .row-fluid:before, + .row-fluid:after { + display: table; + line-height: 0; + content: ""; + } + .row-fluid:after { + clear: both; + } + .row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.7624309392265194%; + *margin-left: 2.709239449864817%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .row-fluid [class*="span"]:first-child { + margin-left: 0; + } + .row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; + } + .row-fluid .span11 { + width: 91.43646408839778%; + *width: 91.38327259903608%; + } + .row-fluid .span10 { + width: 82.87292817679558%; + *width: 82.81973668743387%; + } + .row-fluid .span9 { + width: 74.30939226519337%; + *width: 74.25620077583166%; + } + .row-fluid .span8 { + width: 65.74585635359117%; + *width: 65.69266486422946%; + } + .row-fluid .span7 { + width: 57.18232044198895%; + *width: 57.12912895262725%; + } + .row-fluid .span6 { + width: 48.61878453038674%; + *width: 48.56559304102504%; + } + .row-fluid .span5 { + width: 40.05524861878453%; + *width: 40.00205712942283%; + } + .row-fluid .span4 { + width: 31.491712707182323%; + *width: 31.43852121782062%; + } + .row-fluid .span3 { + width: 22.92817679558011%; + *width: 22.87498530621841%; + } + .row-fluid .span2 { + width: 14.3646408839779%; + *width: 14.311449394616199%; + } + .row-fluid .span1 { + width: 5.801104972375691%; + *width: 5.747913483013988%; + } + .row-fluid .offset12 { + margin-left: 105.52486187845304%; + *margin-left: 105.41847889972962%; + } + .row-fluid .offset12:first-child { + margin-left: 102.76243093922652%; + *margin-left: 102.6560479605031%; + } + .row-fluid .offset11 { + margin-left: 96.96132596685082%; + *margin-left: 96.8549429881274%; + } + .row-fluid .offset11:first-child { + margin-left: 94.1988950276243%; + *margin-left: 94.09251204890089%; + } + .row-fluid .offset10 { + margin-left: 88.39779005524862%; + *margin-left: 88.2914070765252%; + } + .row-fluid .offset10:first-child { + margin-left: 85.6353591160221%; + *margin-left: 85.52897613729868%; + } + .row-fluid .offset9 { + margin-left: 79.8342541436464%; + *margin-left: 79.72787116492299%; + } + .row-fluid .offset9:first-child { + margin-left: 77.07182320441989%; + *margin-left: 76.96544022569647%; + } + .row-fluid .offset8 { + margin-left: 71.2707182320442%; + *margin-left: 71.16433525332079%; + } + .row-fluid .offset8:first-child { + margin-left: 68.50828729281768%; + *margin-left: 68.40190431409427%; + } + .row-fluid .offset7 { + margin-left: 62.70718232044199%; + *margin-left: 62.600799341718584%; + } + .row-fluid .offset7:first-child { + margin-left: 59.94475138121547%; + *margin-left: 59.838368402492065%; + } + .row-fluid .offset6 { + margin-left: 54.14364640883978%; + *margin-left: 54.037263430116376%; + } + .row-fluid .offset6:first-child { + margin-left: 51.38121546961326%; + *margin-left: 51.27483249088986%; + } + .row-fluid .offset5 { + margin-left: 45.58011049723757%; + *margin-left: 45.47372751851417%; + } + .row-fluid .offset5:first-child { + margin-left: 42.81767955801105%; + *margin-left: 42.71129657928765%; + } + .row-fluid .offset4 { + margin-left: 37.01657458563536%; + *margin-left: 36.91019160691196%; + } + .row-fluid .offset4:first-child { + margin-left: 34.25414364640884%; + *margin-left: 34.14776066768544%; + } + .row-fluid .offset3 { + margin-left: 28.45303867403315%; + *margin-left: 28.346655695309746%; + } + .row-fluid .offset3:first-child { + margin-left: 25.69060773480663%; + *margin-left: 25.584224756083227%; + } + .row-fluid .offset2 { + margin-left: 19.88950276243094%; + *margin-left: 19.783119783707537%; + } + .row-fluid .offset2:first-child { + margin-left: 17.12707182320442%; + *margin-left: 17.02068884448102%; + } + .row-fluid .offset1 { + margin-left: 11.32596685082873%; + *margin-left: 11.219583872105325%; + } + .row-fluid .offset1:first-child { + margin-left: 8.56353591160221%; + *margin-left: 8.457152932878806%; + } + input, + textarea, + .uneditable-input { + margin-left: 0; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 20px; + } + input.span12, + textarea.span12, + .uneditable-input.span12 { + width: 710px; + } + input.span11, + textarea.span11, + .uneditable-input.span11 { + width: 648px; + } + input.span10, + textarea.span10, + .uneditable-input.span10 { + width: 586px; + } + input.span9, + textarea.span9, + .uneditable-input.span9 { + width: 524px; + } + input.span8, + textarea.span8, + .uneditable-input.span8 { + width: 462px; + } + input.span7, + textarea.span7, + .uneditable-input.span7 { + width: 400px; + } + input.span6, + textarea.span6, + .uneditable-input.span6 { + width: 338px; + } + input.span5, + textarea.span5, + .uneditable-input.span5 { + width: 276px; + } + input.span4, + textarea.span4, + .uneditable-input.span4 { + width: 214px; + } + input.span3, + textarea.span3, + .uneditable-input.span3 { + width: 152px; + } + input.span2, + textarea.span2, + .uneditable-input.span2 { + width: 90px; + } + input.span1, + textarea.span1, + .uneditable-input.span1 { + width: 28px; + } +} + +@media (max-width: 767px) { + body { + padding-right: 20px; + padding-left: 20px; + } + .navbar-fixed-top, + .navbar-fixed-bottom, + .navbar-static-top { + margin-right: -20px; + margin-left: -20px; + } + .container-fluid { + padding: 0; + } + .dl-horizontal dt { + float: none; + width: auto; + clear: none; + text-align: left; + } + .dl-horizontal dd { + margin-left: 0; + } + .container { + width: auto; + } + .row-fluid { + width: 100%; + } + .row, + .thumbnails { + margin-left: 0; + } + .thumbnails > li { + float: none; + margin-left: 0; + } + [class*="span"], + .row-fluid [class*="span"] { + display: block; + float: none; + width: 100%; + margin-left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .span12, + .row-fluid .span12 { + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .input-large, + .input-xlarge, + .input-xxlarge, + input[class*="span"], + select[class*="span"], + textarea[class*="span"], + .uneditable-input { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .input-prepend input, + .input-append input, + .input-prepend input[class*="span"], + .input-append input[class*="span"] { + display: inline-block; + width: auto; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 0; + } + .modal { + position: fixed; + top: 20px; + right: 20px; + left: 20px; + width: auto; + margin: 0; + } + .modal.fade.in { + top: auto; + } +} + +@media (max-width: 480px) { + .nav-collapse { + -webkit-transform: translate3d(0, 0, 0); + } + .page-header h1 small { + display: block; + line-height: 20px; + } + input[type="checkbox"], + input[type="radio"] { + border: 1px solid #ccc; + } + .form-horizontal .control-label { + float: none; + width: auto; + padding-top: 0; + text-align: left; + } + .form-horizontal .controls { + margin-left: 0; + } + .form-horizontal .control-list { + padding-top: 0; + } + .form-horizontal .form-actions { + padding-right: 10px; + padding-left: 10px; + } + .modal { + top: 10px; + right: 10px; + left: 10px; + } + .modal-header .close { + padding: 10px; + margin: -10px; + } + .carousel-caption { + position: static; + } +} + +@media (max-width: 979px) { + body { + padding-top: 0; + } + .navbar-fixed-top, + .navbar-fixed-bottom { + position: static; + } + .navbar-fixed-top { + margin-bottom: 20px; + } + .navbar-fixed-bottom { + margin-top: 20px; + } + .navbar-fixed-top .navbar-inner, + .navbar-fixed-bottom .navbar-inner { + padding: 5px; + } + .navbar .container { + width: auto; + padding: 0; + } + .navbar .brand { + padding-right: 10px; + padding-left: 10px; + margin: 0 0 0 -5px; + } + .nav-collapse { + clear: both; + } + .nav-collapse .nav { + float: none; + margin: 0 0 10px; + } + .nav-collapse .nav > li { + float: none; + } + .nav-collapse .nav > li > a { + margin-bottom: 2px; + } + .nav-collapse .nav > .divider-vertical { + display: none; + } + .nav-collapse .nav .nav-header { + color: #777777; + text-shadow: none; + } + .nav-collapse .nav > li > a, + .nav-collapse .dropdown-menu a { + padding: 9px 15px; + font-weight: bold; + color: #777777; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + } + .nav-collapse .btn { + padding: 4px 10px 4px; + font-weight: normal; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + } + .nav-collapse .dropdown-menu li + li a { + margin-bottom: 2px; + } + .nav-collapse .nav > li > a:hover, + .nav-collapse .dropdown-menu a:hover { + background-color: #f2f2f2; + } + .navbar-inverse .nav-collapse .nav > li > a:hover, + .navbar-inverse .nav-collapse .dropdown-menu a:hover { + background-color: #111111; + } + .nav-collapse.in .btn-group { + padding: 0; + margin-top: 5px; + } + .nav-collapse .dropdown-menu { + position: static; + top: auto; + left: auto; + display: block; + float: none; + max-width: none; + padding: 0; + margin: 0 15px; + background-color: transparent; + border: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + } + .nav-collapse .dropdown-menu:before, + .nav-collapse .dropdown-menu:after { + display: none; + } + .nav-collapse .dropdown-menu .divider { + display: none; + } + .nav-collapse .nav > li > .dropdown-menu:before, + .nav-collapse .nav > li > .dropdown-menu:after { + display: none; + } + .nav-collapse .navbar-form, + .nav-collapse .navbar-search { + float: none; + padding: 10px 15px; + margin: 10px 0; + border-top: 1px solid #f2f2f2; + border-bottom: 1px solid #f2f2f2; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + } + .navbar-inverse .nav-collapse .navbar-form, + .navbar-inverse .nav-collapse .navbar-search { + border-top-color: #111111; + border-bottom-color: #111111; + } + .navbar .nav-collapse .nav.pull-right { + float: none; + margin-left: 0; + } + .nav-collapse, + .nav-collapse.collapse { + height: 0; + overflow: hidden; + } + .navbar .btn-navbar { + display: block; + } + .navbar-static .navbar-inner { + padding-right: 10px; + padding-left: 10px; + } +} + +@media (min-width: 980px) { + .nav-collapse.collapse { + height: auto !important; + overflow: visible !important; + } +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/bootstrap.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/bootstrap.less new file mode 100644 index 0000000..5603d70 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/bootstrap.less @@ -0,0 +1,67 @@ +/*! + * Bootstrap v2.0.1 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + +// CSS Reset +@import "reset.less"; + +// Core variables and mixins +@import "variables.less"; // Modify this for custom colors, font-sizes, etc +@import "mixins.less"; + +// Grid system and page structure +@import "scaffolding.less"; +@import "grid.less"; +@import "layouts.less"; + +// Base CSS +@import "type.less"; +@import "code.less"; +@import "forms.less"; +@import "tables.less"; + +@import "alerts.less"; + +// Upload +@import "fileupload.less"; + +// Components: common +@import "sprites.less"; +@import "dropdowns.less"; +@import "wells.less"; +@import "component-animations.less"; +@import "close.less"; + +// Components: Buttons & Alerts +@import "buttons.less"; +@import "button-groups.less"; +@import "alerts_badges.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less + +// Components: Nav +@import "navs.less"; +@import "navbar.less"; +@import "breadcrumbs.less"; +@import "pagination.less"; +@import "pager.less"; + +// Components: Popovers +@import "modals.less"; +@import "tooltip.less"; +@import "popovers.less"; + +// Components: Misc +@import "thumbnails.less"; +@import "labels.less"; +@import "progress-bars.less"; +@import "accordion.less"; +@import "carousel.less"; +@import "hero-unit.less"; + +// Utility classes +@import "utilities.less"; // Has to be last to override when necessary diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/bootstrap_.css b/src/Trinity/Bundle/AdminBundle/Resources/public/css/bootstrap_.css new file mode 100644 index 0000000..683e595 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/bootstrap_.css @@ -0,0 +1 @@ +lessc: ENOENT, No such file or directory '/home/lois/www/repo/www.trinity.fr/trinity/trunk/dev/src/Trinity/Bundle/AdminBundle/Resources/public/css/bootstrap.less' diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/breadcrumbs.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/breadcrumbs.less new file mode 100644 index 0000000..39060ba --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/breadcrumbs.less @@ -0,0 +1,22 @@ +// BREADCRUMBS +// ----------- + +.breadcrumb { + padding: 7px 14px; + margin: 0 0 @baseLineHeight; + #gradient > .vertical(@white, #f5f5f5); + border: 1px solid #ddd; + .border-radius(3px); + .box-shadow(inset 0 1px 0 @white); + li { + display: inline-block; + text-shadow: 0 1px 0 @white; + } + .divider { + padding: 0 5px; + color: @grayLight; + } + .active a { + color: @grayDark; + } +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/button-groups.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/button-groups.less new file mode 100644 index 0000000..819b9bc --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/button-groups.less @@ -0,0 +1,148 @@ +// BUTTON GROUPS +// ------------- + + +// Make the div behave like a button +.btn-group { + position: relative; + .clearfix(); // clears the floated buttons + .ie7-restore-left-whitespace(); +} + +// Space out series of button groups +.btn-group + .btn-group { + margin-left: 5px; +} + +// Optional: Group multiple button groups together for a toolbar +.btn-toolbar { + //margin-top: @baseLineHeight / 2; + //margin-bottom: @baseLineHeight / 2; + .btn-group { + display: inline-block; + .ie7-inline-block(); + } +} + +// Float them, remove border radius, then re-add to first and last elements +.btn-group .btn { + position: relative; + float: left; + margin-left: -1px; + .border-radius(0); +} +// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match +.btn-group .btn:first-child { + margin-left: 0; + -webkit-border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + border-top-left-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + border-bottom-left-radius: 4px; +} +.btn-group .btn:last-child, +.btn-group .dropdown-toggle { + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + border-bottom-right-radius: 4px; +} +// Reset corners for large buttons +.btn-group .btn.large:first-child { + margin-left: 0; + -webkit-border-top-left-radius: 6px; + -moz-border-radius-topleft: 6px; + border-top-left-radius: 6px; + -webkit-border-bottom-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + border-bottom-left-radius: 6px; +} +.btn-group .btn.large:last-child, +.btn-group .large.dropdown-toggle { + -webkit-border-top-right-radius: 6px; + -moz-border-radius-topright: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + -moz-border-radius-bottomright: 6px; + border-bottom-right-radius: 6px; +} + +// On hover/focus/active, bring the proper btn to front +.btn-group .btn:hover, +.btn-group .btn:focus, +.btn-group .btn:active, +.btn-group .btn.active { + z-index: 2; +} + +// On active and open, don't show outline +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + + + +// Split button dropdowns +// ---------------------- + +// Give the line between buttons some depth +.btn-group .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; + @shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + .box-shadow(@shadow); + *padding-top: 5px; + *padding-bottom: 5px; +} + +.btn-group.open { + // IE7's z-index only goes to the nearest positioned ancestor, which would + // make the menu appear below buttons that appeared later on the page + *z-index: @zindexDropdown; + + // Reposition menu on open and round all corners + .dropdown-menu { + display: block; + margin-top: 1px; + .border-radius(5px); + } + + .dropdown-toggle { + background-image: none; + @shadow: inset 0 1px 6px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + .box-shadow(@shadow); + } +} + +// Reposition the caret +.btn .caret { + margin-top: 7px; + margin-left: 0; +} +.btn:hover .caret, +.open.btn-group .caret { + .opacity(100); +} + + +// Account for other colors +.btn-primary, +.btn-danger, +.btn-info, +.btn-success, +.btn-inverse { + .caret { + border-top-color: @white; + .opacity(75); + } +} + +// Small button dropdowns +.btn-small .caret { + margin-top: 4px; +} + diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/buttons.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/buttons.less new file mode 100644 index 0000000..ee7b963 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/buttons.less @@ -0,0 +1,183 @@ +// BUTTON STYLES +// ------------- + + +// Base styles +// -------------------------------------------------- + +// Core +.btn { + display: inline-block; + padding: 4px 10px 4px; + margin-bottom: 0; // For input.btn + font-size: @baseFontSize; + line-height: @baseLineHeight; + color: @grayDark; + text-align: center; + text-shadow: 0 1px 1px rgba(255,255,255,.75); + vertical-align: middle; + .buttonBackground(@white, darken(@white, 10%)); + border: 1px solid #ccc; + border-bottom-color: #bbb; + .border-radius(4px); + @shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + .box-shadow(@shadow); + cursor: pointer; + + // Give IE7 some love + .reset-filter(); + .ie7-restore-left-whitespace(); +} + +// Hover state +.btn:hover { + color: @grayDark; + text-decoration: none; + background-color: darken(@white, 10%); + background-position: 0 -15px; + + // transition is only when going to hover, otherwise the background + // behind the gradient (there for IE<=9 fallback) gets mismatched + .transition(background-position .1s linear); +} + +// Focus state for keyboard and accessibility +.btn:focus { + .tab-focus(); +} + +// Active state +.btn.active, +.btn:active { + background-image: none; + @shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + .box-shadow(@shadow); + background-color: darken(@white, 10%); + background-color: darken(@white, 15%) e("\9"); + outline: 0; +} + +// Disabled state +.btn.disabled, +.btn[disabled] { + cursor: default; + background-image: none; + background-color: darken(@white, 10%); + .opacity(65); + .box-shadow(none); +} + + +// Button Sizes +// -------------------------------------------------- + +// Large +.btn-large { + padding: 9px 14px; + //font-size: @baseFontSize + 2px; + line-height: normal; + .border-radius(5px); +} +.btn-large [class^="icon-"] { + margin-top: 1px; +} + +// Small +.btn-small { + padding: 5px 9px; + //font-size: @baseFontSize - 2px; + //line-height: @baseLineHeight - 2px; +} +.btn-small [class^="icon-"] { + margin-top: -1px; +} + +// Mini +.btn-mini { + padding: 2px 6px; + //font-size: @baseFontSize - 2px; + //line-height: @baseLineHeight - 4px; +} + + +// Alternate buttons +// -------------------------------------------------- + +// Set text color +// ------------------------- +.btn-primary, +.btn-primary:hover, +.btn-warning, +.btn-warning:hover, +.btn-danger, +.btn-danger:hover, +.btn-success, +.btn-success:hover, +.btn-info, +.btn-info:hover, +.btn-inverse, +.btn-inverse:hover { + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + color: @white; +} +// Provide *some* extra contrast for those who can get it +.btn-primary.active, +.btn-warning.active, +.btn-danger.active, +.btn-success.active, +.btn-info.active, +.btn-dark.active { + color: rgba(255,255,255,.75); +} + +// Set the backgrounds +// ------------------------- +.btn-primary { + .buttonBackground(#00abdf, #2c6a99); /* #00b3cc, #0074cc */ +} +// Warning appears are orange +.btn-warning { + .buttonBackground(#ff7d48, #ff4a01); /* lighten(@orange, 15%), @orange */ +} +// Danger and error appear as red +.btn-danger { + .buttonBackground(#db4e53, #b1292c); /* #ee5f5b et #bd362f */ +} +// Success appears as green +.btn-success { + .buttonBackground(#61c2b5 ,#52a499); +} +// Info appears as a neutral blue +.btn-info { + .buttonBackground(#5bc0de, #2f96b4); /*5bc0de et 2f96b4 || 00abdf et 2986a2*/ +} +// Inverse appears as dark gray +.btn-inverse { + .buttonBackground(#454545, #262626); +} + + +// Cross-browser Jank +// -------------------------------------------------- + +button.btn, +input[type="submit"].btn { + + // Firefox 3.6 only I believe + &::-moz-focus-inner { + padding: 0; + border: 0; + } + + // IE7 has some default padding on button controls + *padding-top: 2px; + *padding-bottom: 2px; + &.large { + *padding-top: 7px; + *padding-bottom: 7px; + } + &.small { + *padding-top: 3px; + *padding-bottom: 3px; + } +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/carousel.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/carousel.less new file mode 100644 index 0000000..8fbd303 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/carousel.less @@ -0,0 +1,121 @@ +// CAROUSEL +// -------- + +.carousel { + position: relative; + margin-bottom: @baseLineHeight; + line-height: 1; +} + +.carousel-inner { + overflow: hidden; + width: 100%; + position: relative; +} + +.carousel { + + .item { + display: none; + position: relative; + .transition(.6s ease-in-out left); + } + + // Account for jankitude on images + .item > img { + display: block; + line-height: 1; + } + + .active, + .next, + .prev { display: block; } + + .active { + left: 0; + } + + .next, + .prev { + position: absolute; + top: 0; + width: 100%; + } + + .next { + left: 100%; + } + .prev { + left: -100%; + } + .next.left, + .prev.right { + left: 0; + } + + .active.left { + left: -100%; + } + .active.right { + left: 100%; + } + +} + +// Left/right controls for nav +// --------------------------- + +.carousel-control { + position: absolute; + top: 40%; + left: 15px; + width: 40px; + height: 40px; + margin-top: -20px; + font-size: 60px; + font-weight: 100; + line-height: 30px; + color: @white; + text-align: center; + background: @grayDarker; + border: 3px solid @white; + .border-radius(23px); + .opacity(50); + + // we can't have this transition here + // because webkit cancels the carousel + // animation if you trip this while + // in the middle of another animation + // ;_; + // .transition(opacity .2s linear); + + // Reposition the right one + &.right { + left: auto; + right: 15px; + } + + // Hover state + &:hover { + color: @white; + text-decoration: none; + .opacity(90); + } +} + +// Caption for text below images +// ----------------------------- + +.carousel-caption { + position: absolute; + left: 0; + right: 0; + bottom: 0; + padding: 10px 15px 5px; + background: @grayDark; + background: rgba(0,0,0,.75); +} +.carousel-caption h4, +.carousel-caption p { + color: @white; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/close.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/close.less new file mode 100644 index 0000000..a0e5edb --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/close.less @@ -0,0 +1,18 @@ +// CLOSE ICONS +// ----------- + +.close { + float: right; + font-size: 20px; + font-weight: bold; + line-height: @baseLineHeight; + color: @black; + text-shadow: 0 1px 0 rgba(255,255,255,1); + .opacity(20); + &:hover { + color: @black; + text-decoration: none; + .opacity(40); + cursor: pointer; + } +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/code.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/code.less new file mode 100644 index 0000000..3a157df --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/code.less @@ -0,0 +1,57 @@ +// Code.less +// Code typography styles for the and
                     elements
                    +// --------------------------------------------------------
                    +
                    +// Inline and block code styles
                    +code,
                    +pre {
                    +  padding: 0 3px 2px;
                    +  #font > #family > .monospace;
                    +  //font-size: @baseFontSize - 1;
                    +  color: @grayDark;
                    +  .border-radius(3px);
                    +}
                    +
                    +// Inline code
                    +code {
                    +  padding: 3px 4px;
                    +  color: #d14;
                    +  background-color: #f7f7f9;
                    +  border: 1px solid #e1e1e8;
                    +}
                    +
                    +// Blocks of code
                    +pre {
                    +  display: block;
                    +  //padding: (@baseLineHeight - 1) / 2;
                    +  //margin: 0 0 @baseLineHeight / 2;
                    +  font-size: 12px;
                    +  line-height: @baseLineHeight;
                    +  background-color: #f5f5f5;
                    +  border: 1px solid #ccc; // fallback for IE7-8
                    +  border: 1px solid rgba(0,0,0,.15);
                    +  .border-radius(4px);
                    +  white-space: pre;
                    +  white-space: pre-wrap;
                    +  word-break: break-all;
                    +  word-wrap: break-word;
                    +
                    +  // Make prettyprint styles more spaced out for readability
                    +  &.prettyprint {
                    +    margin-bottom: @baseLineHeight;
                    +  }
                    +
                    +  // Account for some code outputs that place code tags in pre tags
                    +  code {
                    +    padding: 0;
                    +    color: inherit;
                    +    background-color: transparent;
                    +    border: 0;
                    +  }
                    +}
                    +
                    +// Enable scrollable blocks of code
                    +.pre-scrollable {
                    +  max-height: 340px;
                    +  overflow-y: scroll;
                    +}
                    diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/component-animations.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/component-animations.less
                    new file mode 100644
                    index 0000000..4f2a4fd
                    --- /dev/null
                    +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/component-animations.less
                    @@ -0,0 +1,18 @@
                    +// COMPONENT ANIMATIONS
                    +// --------------------
                    +
                    +.fade {
                    +  .transition(opacity .15s linear);
                    +  opacity: 0;
                    +  &.in {
                    +    opacity: 1;
                    +  }
                    +}
                    +
                    +.collapse {
                    +  .transition(height .35s ease);
                    +  position:relative;
                    +  overflow:hidden;
                    +  height: 0;
                    +  &.in { height: auto; }
                    +}
                    diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/dropdowns.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/dropdowns.less
                    new file mode 100644
                    index 0000000..2f27e03
                    --- /dev/null
                    +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/dropdowns.less
                    @@ -0,0 +1,128 @@
                    +// DROPDOWN MENUS
                    +// --------------
                    +
                    +// Use the .menu class on any 
                  • element within the topbar or ul.tabs and you'll get some superfancy dropdowns +.dropdown { + position: relative; +} +.dropdown-toggle { + // The caret makes the toggle a bit too tall in IE7 + *margin-bottom: -3px; +} +.dropdown-toggle:active, +.open .dropdown-toggle { + outline: 0; +} +// Dropdown arrow/caret +.caret { + display: inline-block; + width: 0; + height: 0; + text-indent: -99999px; + // IE7 won't do the border trick if there's a text indent, but it doesn't + // do the content that text-indent is hiding, either, so we're ok. + *text-indent: 0; + vertical-align: top; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid @black; + .opacity(30); + content: "\2193"; +} +.dropdown .caret { + margin-top: 8px; + margin-left: 2px; +} +.dropdown:hover .caret, +.open.dropdown .caret { + .opacity(100); +} +// The dropdown menu (ul) +.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; + _width: 160px; + padding: 4px 0; + margin: 0; // override default ul + list-style: none; + background-color: @white; + border-color: #ccc; + border-color: rgba(0,0,0,.2); + border-style: solid; + border-width: 1px; + .border-radius(0 0 5px 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; + + // Allow for dropdowns to go bottom up (aka, dropup-menu) + &.bottom-up { + top: auto; + bottom: 100%; + margin-bottom: 2px; + } + + // Dividers (basically an hr) within the dropdown + .divider { + height: 1px; + margin: 5px 1px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid @white; + + // IE7 needs a set width since we gave a height. Restricting just + // to IE7 to keep the 1px left/right space in other browsers. + // It is unclear where IE is getting the extra space that we need + // to negative-margin away, but so it goes. + *width: 100%; + *margin: -5px 0 5px; + } + + // Links within the dropdown menu + a { + display: block; + padding: 5px 25px; + clear: both; + font-weight: normal; + line-height: @baseLineHeight; + color: @gray; + white-space: nowrap; + } +} + +// Hover state +.dropdown-menu li > a:hover, +.dropdown-menu .active > a, +.dropdown-menu .active > a:hover { + color: @white; + text-decoration: none; + background-color: @linkColor; +} + +// Open state for the dropdown +.dropdown.open { + // IE7's z-index only goes to the nearest positioned ancestor, which would + // make the menu appear below buttons that appeared later on the page + *z-index: @zindexDropdown; + + .dropdown-toggle { + color: @gray; + } + .dropdown-menu { + display: block; + } +} + +// Typeahead +.typeahead { + margin-top: 2px; // give it some space to breathe + .border-radius(4px); +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/fileupload.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/fileupload.less new file mode 100644 index 0000000..bc4832f --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/fileupload.less @@ -0,0 +1,132 @@ +/*! + * Bootstrap v2.3.0-j4 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat, extended by @ArnoldDaniels. + */ +.clearfix { + *zoom: 1; +} +.clearfix:before, +.clearfix:after { + display: table; + content: ""; + line-height: 0; +} +.clearfix:after { + clear: both; +} +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.input-block-level { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.btn-file { + overflow: hidden; + position: relative; + vertical-align: middle; +} +.btn-file > input { + position: absolute; + top: 0; + right: 0; + margin: 0; + opacity: 0; + filter: alpha(opacity=0); + transform: translate(-300px, 0) scale(4); + font-size: 23px; + direction: ltr; + cursor: pointer; +} +.fileupload { + margin-bottom: 9px; +} +.fileupload .uneditable-input { + display: inline-block; + margin-bottom: 0px; + vertical-align: middle; + cursor: text; +} +.fileupload .thumbnail { + overflow: hidden; + display: inline-block; + margin-bottom: 5px; + vertical-align: middle; + text-align: center; +} +.fileupload .thumbnail > img { + display: inline-block; + vertical-align: middle; + max-height: 100%; +} +.fileupload .btn { + vertical-align: middle; +} +.fileupload-exists .fileupload-new, +.fileupload-new .fileupload-exists { + display: none; +} +.fileupload-inline .fileupload-controls { + display: inline; +} +.fileupload-new .input-append .btn-file { + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} +.thumbnail-borderless .thumbnail { + border: none; + padding: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.fileupload-new.thumbnail-borderless .thumbnail { + border: 1px solid #ddd; +} +.control-group.warning .fileupload .uneditable-input { + color: #a47e3c; + border-color: #a47e3c; +} +.control-group.warning .fileupload .fileupload-preview { + color: #a47e3c; +} +.control-group.warning .fileupload .thumbnail { + border-color: #a47e3c; +} +.control-group.error .fileupload .uneditable-input { + color: #b94a48; + border-color: #b94a48; +} +.control-group.error .fileupload .fileupload-preview { + color: #b94a48; +} +.control-group.error .fileupload .thumbnail { + border-color: #b94a48; +} +.control-group.success .fileupload .uneditable-input { + color: #468847; + border-color: #468847; +} +.control-group.success .fileupload .fileupload-preview { + color: #468847; +} +.control-group.success .fileupload .thumbnail { + border-color: #468847; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/forms.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/forms.less new file mode 100644 index 0000000..c3ccecd --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/forms.less @@ -0,0 +1,522 @@ +// Forms.less +// Base styles for various input types, form layouts, and states +// ------------------------------------------------------------- + + +// GENERAL STYLES +// -------------- + +// Make all forms have space below them +form { + margin: 0 0 @baseLineHeight; +} + +fieldset { + padding: 0; + margin: 0; + border: 0; +} + +// Groups of fields with labels on top (legends) +legend { + display: block; + width: 100%; + padding: 0; + //margin-bottom: @baseLineHeight * 1.5; + //font-size: @baseFontSize * 1.5; + //line-height: @baseLineHeight * 2; + color: @grayDark; + border: 0; + border-bottom: 1px solid #eee; + + // Small + small { + //font-size: @baseLineHeight * .75; + color: @grayLight; + } +} + +// Set font for forms +label, +input, +button, +select, +textarea { + #font > .shorthand(@baseFontSize,normal,@baseLineHeight); // Set size, weight, line-height here +} +input, +button, +select, +textarea { + #font > #family > .sans-serif(); // And only set font-family here for those that need it (note the missing label element) +} + +// Identify controls by their labels +label { + display: block; + margin-bottom: 5px; + color: @grayDark; +} + +// Inputs, Textareas, Selects +input, +textarea, +select, +.uneditable-input { + display: inline-block; + width: 210px; + height: @baseLineHeight; + padding: 4px; + margin-bottom: 9px; + font-size: @baseFontSize; + line-height: @baseLineHeight; + color: @gray; + border: 1px solid #ccc; + .border-radius(3px); +} +.uneditable-textarea { + width: auto; + height: auto; +} + +// Inputs within a label +label input, +label textarea, +label select { + display: block; +} + +// Mini reset for unique input types +input[type="image"], +input[type="checkbox"], +input[type="radio"] { + width: auto; + height: auto; + padding: 0; + margin: 3px 0; + *margin-top: 0; /* IE7 */ + line-height: normal; + cursor: pointer; + .border-radius(0); + border: 0 \9; /* IE9 and down */ +} +input[type="image"] { + border: 0; +} + +// Reset the file input to browser defaults +input[type="file"] { + width: auto; + padding: initial; + line-height: initial; + border: initial; + background-color: @white; + background-color: initial; + .box-shadow(none); +} + +// Help out input buttons +input[type="button"], +input[type="reset"], +input[type="submit"] { + width: auto; + height: auto; +} + +// Set the height of select and file controls to match text inputs +select, +input[type="file"] { + height: 28px; /* In IE7, the height of the select element cannot be changed by height, only font-size */ + *margin-top: 4px; /* For IE7, add top margin to align select with labels */ + line-height: 28px; +} + +// Reset line-height for IE +input[type="file"] { + line-height: 18px \9; +} + +// Chrome on Linux and Mobile Safari need background-color +select { + width: 220px; // default input width + 10px of padding that doesn't get applied + background-color: @white; +} + +// Make multiple select elements height not fixed +select[multiple], +select[size] { + height: auto; +} + +// Remove shadow from image inputs +input[type="image"] { + .box-shadow(none); +} + +// Make textarea height behave +textarea { + height: auto; +} + +// Hidden inputs +input[type="hidden"] { + display: none; +} + + + +// CHECKBOXES & RADIOS +// ------------------- + +// Indent the labels to position radios/checkboxes as hanging +.radio, +.checkbox { + padding-left: 18px; +} +.radio input[type="radio"], +.checkbox input[type="checkbox"] { + float: left; + margin-left: -18px; +} + +// Move the options list down to align with labels +.controls > .radio:first-child, +.controls > .checkbox:first-child { + padding-top: 5px; // has to be padding because margin collaspes +} + +// Radios and checkboxes on same line +// TODO v3: Convert .inline to .control-inline +.radio.inline, +.checkbox.inline { + display: inline-block; + padding-top: 5px; + margin-bottom: 0; + vertical-align: middle; +} +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { + margin-left: 10px; // space out consecutive inline controls +} + + + +// FOCUS STATE +// ----------- + +input, +textarea { + .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); + @transition: border linear .2s, box-shadow linear .2s; + .transition(@transition); +} +input:focus, +textarea:focus { + border-color: rgba(82,168,236,.8); + @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); + .box-shadow(@shadow); + outline: 0; + outline: thin dotted \9; /* IE6-9 */ +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus, +select:focus { + .box-shadow(none); // override for file inputs + .tab-focus(); +} + + + +// INPUT SIZES +// ----------- + +// General classes for quick sizes +.input-mini { width: 60px; } +.input-small { width: 90px; } +.input-medium { width: 150px; } +.input-large { width: 210px; } +.input-xlarge { width: 270px; } +.input-xxlarge { width: 530px; } + +// Grid style input sizes +input[class*="span"], +select[class*="span"], +textarea[class*="span"], +.uneditable-input { + float: none; + margin-left: 0; +} + + + +// GRID SIZING FOR INPUTS +// ---------------------- + +#inputGridSystem > .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth); + + + + +// DISABLED STATE +// -------------- + +// Disabled and read-only inputs +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { + background-color: #f5f5f5; + border-color: #ddd; + cursor: not-allowed; +} + + + + +// FORM FIELD FEEDBACK STATES +// -------------------------- + +// Warning +.control-group.warning { + .formFieldState(@warningText, @warningText, @warningBackground); +} +// Error +.control-group.error { + .formFieldState(@errorText, @errorText, @errorBackground); +} +// Success +.control-group.success { + .formFieldState(@successText, @successText, @successBackground); +} + +// HTML5 invalid states +// Shares styles with the .control-group.error above +input:focus:required:invalid, +textarea:focus:required:invalid, +select:focus:required:invalid { + color: #b94a48; + border-color: #ee5f5b; + &:focus { + border-color: darken(#ee5f5b, 10%); + .box-shadow(0 0 6px lighten(#ee5f5b, 20%)); + } +} + + + +// FORM ACTIONS +// ------------ + +.form-actions { + padding: (@baseLineHeight - 1) 20px @baseLineHeight; + margin-top: @baseLineHeight; + margin-bottom: @baseLineHeight; + background-color: #f5f5f5; + border-top: 1px solid #ddd; +} + +// For text that needs to appear as an input but should not be an input +.uneditable-input { + display: block; + background-color: @white; + border-color: #eee; + .box-shadow(inset 0 1px 2px rgba(0,0,0,.025)); + cursor: not-allowed; +} + +// Placeholder text gets special styles; can't be bundled together though for some reason +.placeholder(@grayLight); + + + +// HELP TEXT +// --------- + +.help-block { + display: block; // account for any element using help-block + margin-top: 5px; + margin-bottom: 0; + color: @grayLight; +} + +.help-inline { + display: inline-block; + .ie7-inline-block(); + margin-bottom: 9px; + vertical-align: middle; + padding-left: 5px; +} + + + +// INPUT GROUPS +// ------------ + +// Allow us to put symbols and text within the input field for a cleaner look +.input-prepend, +.input-append { + margin-bottom: 5px; + .clearfix(); // Clear the float to prevent wrapping + input, + .uneditable-input { + .border-radius(0 3px 3px 0); + &:focus { + position: relative; + z-index: 2; + } + } + .uneditable-input { + border-left-color: #ccc; + } + .add-on { + float: left; + display: block; + width: auto; + min-width: 16px; + height: @baseLineHeight; + margin-right: -1px; + padding: 4px 5px; + font-weight: normal; + line-height: @baseLineHeight; + color: @grayLight; + text-align: center; + text-shadow: 0 1px 0 @white; + background-color: #f5f5f5; + border: 1px solid #ccc; + .border-radius(3px 0 0 3px); + } + .active { + background-color: lighten(@green, 30); + border-color: @green; + } +} +.input-prepend { + .add-on { + *margin-top: 1px; /* IE6-7 */ + } +} +.input-append { + input, + .uneditable-input { + float: left; + .border-radius(3px 0 0 3px); + } + .uneditable-input { + border-left-color: #eee; + border-right-color: #ccc; + } + .add-on { + margin-right: 0; + margin-left: -1px; + .border-radius(0 3px 3px 0); + } + input:first-child { + // In IE7, having a hasLayout container (from clearfix's zoom:1) can make the first input + // inherit the sum of its ancestors' margins. + *margin-left: -160px; + + &+.add-on { + *margin-left: -21px; + } + } +} + + + +// SEARCH FORM +// ----------- + +.search-query { + padding-left: 14px; + padding-right: 14px; + margin-bottom: 0; // remove the default margin on all inputs + .border-radius(14px); +} + + + +// HORIZONTAL & VERTICAL FORMS +// --------------------------- + +// Common properties +// ----------------- + +.form-search, +.form-inline, +.form-horizontal { + input, + textarea, + select, + .help-inline, + .uneditable-input { + display: inline-block; + margin-bottom: 0; + } + // Re-hide hidden elements due to specifity + .hide { + display: none; + } +} +.form-search label, +.form-inline label, +.form-search .input-append, +.form-inline .input-append, +.form-search .input-prepend, +.form-inline .input-prepend { + display: inline-block; +} +// Make the prepend and append add-on vertical-align: middle; +.form-search .input-append .add-on, +.form-inline .input-prepend .add-on, +.form-search .input-append .add-on, +.form-inline .input-prepend .add-on { + vertical-align: middle; +} +// Inline checkbox/radio labels +.form-search .radio, +.form-inline .radio, +.form-search .checkbox, +.form-inline .checkbox { + margin-bottom: 0; + vertical-align: middle; +} + +// Margin to space out fieldsets +.control-group { + //margin-bottom: @baseLineHeight / 2; +} + +// Legend collapses margin, so next element is responsible for spacing +legend + .control-group { + margin-top: @baseLineHeight; + -webkit-margin-top-collapse: separate; +} + +// Horizontal-specific styles +// -------------------------- + +.form-horizontal { + // Increase spacing between groups + .control-group { + margin-bottom: @baseLineHeight; + .clearfix(); + } + // Float the labels left + .control-label { + float: left; + width: 140px; + padding-top: 5px; + text-align: right; + } + // Move over all input controls and content + .controls { + margin-left: 160px; + } + // Move over buttons in .form-actions to align with .controls + .form-actions { + padding-left: 160px; + } +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/grid.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/grid.less new file mode 100644 index 0000000..4acb0a4 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/grid.less @@ -0,0 +1,8 @@ +// GRID SYSTEM +// ----------- + +// Fixed (940px) +#gridSystem > .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth); + +// Fluid (940px) +#fluidGridSystem > .generate(@gridColumns, @fluidGridColumnWidth, @fluidGridGutterWidth); diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/hero-unit.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/hero-unit.less new file mode 100644 index 0000000..d18f6fe --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/hero-unit.less @@ -0,0 +1,20 @@ +// HERO UNIT +// --------- + +.hero-unit { + padding: 60px; + margin-bottom: 30px; + background-color: #f5f5f5; + .border-radius(6px); + h1 { + margin-bottom: 0; + font-size: 60px; + line-height: 1; + letter-spacing: -1px; + } + p { + font-size: 18px; + font-weight: 200; + //line-height: @baseLineHeight * 1.5; + } +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/jquery.contextMenu.css b/src/Trinity/Bundle/AdminBundle/Resources/public/css/jquery.contextMenu.css new file mode 100644 index 0000000..b31fac7 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/jquery.contextMenu.css @@ -0,0 +1,145 @@ + +/*! + * jQuery contextMenu - Plugin for simple contextMenu handling + * + * Version: 1.6.5 + * + * Authors: Rodney Rehm, Addy Osmani (patches for FF) + * Web: http://medialize.github.com/jQuery-contextMenu/ + * + * Licensed under + * MIT License http://www.opensource.org/licenses/mit-license + * GPL v3 http://opensource.org/licenses/GPL-3.0 + * + */ + +.context-menu-list { + margin:0; + padding:0; + + min-width: 120px; + max-width: 250px; + display: inline-block; + position: absolute; + list-style-type: none; + + border: 1px solid #DDD; + background: #EEE; + + -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5); + -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5); + -ms-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5); + -o-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5); + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5); + + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 11px; +} + +.context-menu-item { + padding: 4px 4px 4px 20px; + background-color: #EEE; + position: relative; + -webkit-user-select: none; + -moz-user-select: -moz-none; + -ms-user-select: none; + user-select: none; +} + +.admin-item-icon{ + padding: 4px; +} + +.context-menu-separator { + padding-bottom:0; + border-bottom: 1px solid #DDD; +} + +.context-menu-item > label > input, +.context-menu-item > label > textarea { + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; +} + +.context-menu-item.hover { + cursor: pointer; + background-color: #ddd; +} + +.context-menu-item.disabled { + color: #666; +} + +.context-menu-input.hover, +.context-menu-item.disabled.hover { + cursor: default; + background-color: #EEE; +} + +.context-menu-submenu:after { + content: ">"; + color: #666; + position: absolute; + top: 0; + right: 3px; + z-index: 1; +} + +/* icons + #protip: + In case you want to use sprites for icons (which I would suggest you do) have a look at + http://css-tricks.com/13224-pseudo-spriting/ to get an idea of how to implement + .context-menu-item.icon:before {} + */ +.context-menu-item.ct-icon { min-height: 18px; background-repeat: no-repeat; background-position: 3px 6px; } +.context-menu-item.ct-icon-drag { background-image: url(../img/ct/drag.png); } +.context-menu-item.ct-icon-add { background-image: url(../img/ct/add.png); } +.context-menu-item.ct-icon-edit { background-image: url(../img/ct/edit.png); } +.context-menu-item.ct-icon-remove { background-image: url(../img/ct/remove.png); } +.context-menu-item.ct-icon-edit-page { background-image: url(../img/ct/edit-page.png); } + +/* vertically align inside labels */ +.context-menu-input > label > * { vertical-align: top; } + +/* position checkboxes and radios as icons */ +.context-menu-input > label > input[type="checkbox"], +.context-menu-input > label > input[type="radio"] { + margin-left: -17px; +} +.context-menu-input > label > span { + margin-left: 5px; +} + +.context-menu-input > label, +.context-menu-input > label > input[type="text"], +.context-menu-input > label > textarea, +.context-menu-input > label > select { + display: block; + width: 100%; + + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + -o-box-sizing: border-box; + box-sizing: border-box; +} + +.context-menu-input > label > textarea { + height: 100px; +} +.context-menu-item > .context-menu-list { + display: none; + /* re-positioned by js */ + right: -5px; + top: 5px; +} + +.context-menu-item.hover > .context-menu-list { + display: block; +} + +.context-menu-accesskey { + text-decoration: underline; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/jquery.timepicker.css b/src/Trinity/Bundle/AdminBundle/Resources/public/css/jquery.timepicker.css new file mode 100644 index 0000000..becbd7b --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/jquery.timepicker.css @@ -0,0 +1,10 @@ +.ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } +.ui-timepicker-div dl { text-align: left; } +.ui-timepicker-div dl dt { height: 25px; margin-bottom: -25px; } +.ui-timepicker-div dl dd { margin: 0 10px 10px 65px; } +.ui-timepicker-div td { font-size: 90%; } +.ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; } + +.ui-timepicker-rtl{ direction: rtl; } +.ui-timepicker-rtl dl { text-align: right; } +.ui-timepicker-rtl dl dd { margin: 0 65px 10px 10px; } diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/labels.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/labels.less new file mode 100644 index 0000000..a152738 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/labels.less @@ -0,0 +1,32 @@ +// LABELS +// ------ + +// Base +.label { + padding: 2px 4px 3px; + //font-size: @baseFontSize * .85; + font-weight: bold; + color: @white; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + background-color: @grayLight; + .border-radius(3px); +} + +// Hover state +.label:hover { + color: @white; + text-decoration: none; +} + +// Colors +.label-important { background-color: @errorText; } +.label-important:hover { background-color: darken(@errorText, 10%); } + +.label-warning { background-color: @orange; } +.label-warning:hover { background-color: darken(@orange, 10%); } + +.label-success { background-color: @successText; } +.label-success:hover { background-color: darken(@successText, 10%); } + +.label-info { background-color: @infoText; } +.label-info:hover { background-color: darken(@infoText, 10%); } diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/layouts.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/layouts.less new file mode 100644 index 0000000..c8d358b --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/layouts.less @@ -0,0 +1,17 @@ +// +// Layouts +// Fixed-width and fluid (with sidebar) layouts +// -------------------------------------------- + + +// Container (centered, fixed-width layouts) +.container { + .container-fixed(); +} + +// Fluid layouts (left aligned, with sidebar, min- & max-width content) +.container-fluid { + padding-left: @gridGutterWidth; + padding-right: @gridGutterWidth; + .clearfix(); +} \ No newline at end of file diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/menu.css b/src/Trinity/Bundle/AdminBundle/Resources/public/css/menu.css new file mode 100644 index 0000000..8e656f5 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/menu.css @@ -0,0 +1,174 @@ +/*** ESSENTIAL STYLES ***/ +.sf-menu, +.sf-menu * { + margin: 0; + padding: 0; + list-style: none; +} + +.sf-menu li { + position: relative; +} + +.sf-menu ul { + position: absolute; + display: none; + top: 100%; + left: 0; + z-index: 99; +} + +.sf-menu > li { + float: left; +} + +.sf-menu li:hover > ul, +.sf-menu li.sfHover > ul { + display: block; +} + +.sf-menu a { + display: block; + position: relative; +} + +.sf-menu ul ul { + top: 0; + left: 100%; +} + +/*** DEMO SKIN ***/ +.sf-menu { + float: left; +} + +.sf-menu ul { + box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2); + min-width: 12em; + /* allow long menu items to determine submenu width */ + + *width: 12em; + /* no auto sub width for IE7, see white-space comment below */ + +} + +.sf-menu a { + /* fallback colour must use full shorthand */ + + padding: .75em 1em; + text-decoration: none; + zoom: 1; + /* IE7 */ +} + +.sf-menu li ul a { + margin-left: 22px; +} + +.sf-menu > li > a { + color: #fff; +} + +.sf-menu > li:hover a { + color: #333; +} + +.sf-menu li { + white-space: nowrap; + /* no need for Supersubs plugin */ + + *white-space: normal; + /* ...unless you support IE7 (let it wrap) */ + + -webkit-transition: background .2s; + transition: background .2s; +} + +.sf-menu ul li { + background: #FBFAFA; +} + +.sf-menu ul ul li { + background: #FBFAFA; +} + +.sf-menu li:hover, +.sf-menu li.sfHover { + background: #E9E9E9; + /* only transition out, not in */ + + -webkit-transition: none; + transition: none; +} + +.sf-menu > li { + line-height: 25px; + height: 41px; + vertical-align: middle; +} + +.sf-menu > li:hover { + background: #333; +} + +.sf-menu > li:hover > a { + color: #fefefe; +} + +/*** arrows (for all except IE7) **/ +.sf-arrows .sf-with-ul { + padding-right: 2.5em; + *padding-right: 1em; + /* no CSS arrows for IE7 (lack pseudo-elements) */ + +} + +/* styling for both css and generated arrows */ +.sf-arrows .sf-with-ul:after { + content: ''; + position: absolute; + top: 50%; + right: 1em; + margin-top: -3px; + height: 0; + width: 0; + /* order of following 3 rules important for fallbacks to work */ + + border: 5px solid transparent; + border-top-color: #dFeEFF; + /* edit this to suit design (no rgba in IE8) */ + + border-top-color: rgba(255, 255, 255, 0.5); +} + +.sf-arrows > li > .sf-with-ul:focus:after, +.sf-arrows > li:hover > .sf-with-ul:after, +.sf-arrows > .sfHover > .sf-with-ul:after { + border-top-color: white; + /* IE8 fallback colour */ + +} + +/* styling for right-facing arrows */ +.sf-arrows ul .sf-with-ul:after { + margin-top: -5px; + margin-right: -3px; + border-color: transparent; + border-left-color: #dFeEFF; + /* edit this to suit design (no rgba in IE8) */ + + border-left-color: rgba(255, 255, 255, 0.5); +} + +.sf-arrows ul li > .sf-with-ul:focus:after, +.sf-arrows ul li:hover > .sf-with-ul:after, +.sf-arrows ul .sfHover > .sf-with-ul:after { + border-left-color: white; +} + +.sf-menu li > img { + width: 18px; + position: absolute; + margin-top: 8px; + margin-left: 10px; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/mixins.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/mixins.less new file mode 100644 index 0000000..ac46b52 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/mixins.less @@ -0,0 +1,590 @@ +// Mixins.less +// Snippets of reusable CSS to develop faster and keep code readable +// ----------------------------------------------------------------- + + +// UTILITY MIXINS +// -------------------------------------------------- + +// Clearfix +// -------- +// For clearing floats like a boss h5bp.com/q +.clearfix { + *zoom: 1; + &:before, + &:after { + display: table; + content: ""; + } + &:after { + clear: both; + } +} + +// Webkit-style focus +// ------------------ +.tab-focus() { + // Default + outline: thin dotted #333; + // Webkit + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +// Center-align a block level element +// ---------------------------------- +.center-block() { + display: block; + margin-left: auto; + margin-right: auto; +} + +// IE7 inline-block +// ---------------- +.ie7-inline-block() { + *display: inline; /* IE7 inline-block hack */ + *zoom: 1; +} + +// IE7 likes to collapse whitespace on either side of the inline-block elements. +// Ems because we're attempting to match the width of a space character. Left +// version is for form buttons, which typically come after other elements, and +// right version is for icons, which come before. Applying both is ok, but it will +// mean that space between those elements will be .6em (~2 space characters) in IE7, +// instead of the 1 space in other browsers. +.ie7-restore-left-whitespace() { + *margin-left: .3em; + + &:first-child { + *margin-left: 0; + } +} + +.ie7-restore-right-whitespace() { + *margin-right: .3em; + + &:last-child { + *margin-left: 0; + } +} + +// Sizing shortcuts +// ------------------------- +.size(@height: 5px, @width: 5px) { + width: @width; + height: @height; +} +.square(@size: 5px) { + .size(@size, @size); +} + +// Placeholder text +// ------------------------- +.placeholder(@color: @placeholderText) { + :-moz-placeholder { + color: @color; + } + ::-webkit-input-placeholder { + color: @color; + } +} + +// Text overflow +// ------------------------- +// Requires inline-block or block for proper styling +.text-overflow() { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + + + +// FONTS +// -------------------------------------------------- + +#font { + #family { + .serif() { + font-family: Georgia, "Times New Roman", Times, serif; + } + .sans-serif() { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + } + .monospace() { + font-family: Menlo, Monaco, "Courier New", monospace; + } + } + .shorthand(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { + font-size: @size; + font-weight: @weight; + line-height: @lineHeight; + } + .serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { + #font > #family > .serif; + #font > .shorthand(@size, @weight, @lineHeight); + } + .sans-serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { + #font > #family > .sans-serif; + #font > .shorthand(@size, @weight, @lineHeight); + } + .monospace(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { + #font > #family > .monospace; + #font > .shorthand(@size, @weight, @lineHeight); + } +} + + + +// GRID SYSTEM +// -------------------------------------------------- + +// Site container +// ------------------------- +.container-fixed() { + width: @gridRowWidth; + margin-left: auto; + margin-right: auto; + .clearfix(); +} + +// Le grid system +// ------------------------- +#gridSystem { + // Setup the mixins to be used + .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, @columns) { + //width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); + } + .offset(@gridColumnWidth, @gridGutterWidth, @columns) { + //margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)) + (@gridGutterWidth * 2); + } + .gridColumn(@gridGutterWidth) { + float: left; + margin-left: @gridGutterWidth; + } + // Take these values and mixins, and make 'em do their thang + .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth) { + // Row surrounds the columns + .row { + //margin-left: @gridGutterWidth * -1; + .clearfix(); + } + // Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7, thanks @dhg) + [class*="span"] { + #gridSystem > .gridColumn(@gridGutterWidth); + } + // Default columns + .span1 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 1); } + .span2 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 2); } + .span3 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 3); } + .span4 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 4); } + .span5 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 5); } + .span6 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 6); } + .span7 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 7); } + .span8 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 8); } + .span9 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 9); } + .span10 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 10); } + .span11 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 11); } + .span12, + .container { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 12); } + // Offset column options + .offset1 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 1); } + .offset2 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 2); } + .offset3 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 3); } + .offset4 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 4); } + .offset5 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 5); } + .offset6 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 6); } + .offset7 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 7); } + .offset8 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 8); } + .offset9 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 9); } + .offset10 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 10); } + .offset11 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 11); } + } +} + +// Fluid grid system +// ------------------------- +#fluidGridSystem { + // Setup the mixins to be used + .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, @columns) { + //width: 1% * (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)); + } + .gridColumn(@fluidGridGutterWidth) { + float: left; + margin-left: @fluidGridGutterWidth; + } + // Take these values and mixins, and make 'em do their thang + .generate(@gridColumns, @fluidGridColumnWidth, @fluidGridGutterWidth) { + // Row surrounds the columns + .row-fluid { + width: 100%; + .clearfix(); + + // Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7, thanks @dhg) + > [class*="span"] { + #fluidGridSystem > .gridColumn(@fluidGridGutterWidth); + } + > [class*="span"]:first-child { + margin-left: 0; + } + // Default columns + > .span1 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 1); } + > .span2 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 2); } + > .span3 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 3); } + > .span4 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 4); } + > .span5 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 5); } + > .span6 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 6); } + > .span7 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 7); } + > .span8 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 8); } + > .span9 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 9); } + > .span10 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 10); } + > .span11 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 11); } + > .span12 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 12); } + } + } +} + +// Input grid system +// ------------------------- +#inputGridSystem { + .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, @columns) { + //width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 10; + } + .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth) { + input, + textarea, + .uneditable-input { + &.span1 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 1); } + &.span2 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 2); } + &.span3 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 3); } + &.span4 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 4); } + &.span5 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 5); } + &.span6 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 6); } + &.span7 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 7); } + &.span8 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 8); } + &.span9 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 9); } + &.span10 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 10); } + &.span11 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 11); } + &.span12 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 12); } + } + } +} + +// Make a Grid +// ------------------------- +// Use .makeRow and .makeColumn to assign semantic layouts grid system behavior +.makeRow() { + //margin-left: @gridGutterWidth * -1; + .clearfix(); +} +.makeColumn(@columns: 1) { + float: left; + margin-left: @gridGutterWidth; + //width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); +} + + + +// Form field states (used in forms.less) +// -------------------------------------------------- + +// Mixin for form field states +.formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) { + // Set the text color + > label, + .help-block, + .help-inline { + color: @textColor; + } + // Style inputs accordingly + input, + select, + textarea { + color: @textColor; + border-color: @borderColor; + &:focus { + border-color: darken(@borderColor, 10%); + .box-shadow(0 0 6px lighten(@borderColor, 20%)); + } + } + // Give a small background color for input-prepend/-append + .input-prepend .add-on, + .input-append .add-on { + color: @textColor; + background-color: @backgroundColor; + border-color: @textColor; + } +} + + + +// CSS3 PROPERTIES +// -------------------------------------------------- + +// Border Radius +.border-radius(@radius: 5px) { + -webkit-border-radius: @radius; + -moz-border-radius: @radius; + border-radius: @radius; +} + +// Drop shadows +.box-shadow(@shadow: 0 1px 3px rgba(0,0,0,.25)) { + -webkit-box-shadow: @shadow; + -moz-box-shadow: @shadow; + box-shadow: @shadow; +} + +// Transitions +.transition(@transition) { + -webkit-transition: @transition; + -moz-transition: @transition; + -ms-transition: @transition; + -o-transition: @transition; + transition: @transition; +} + +// Transformations +.rotate(@degrees) { + -webkit-transform: rotate(@degrees); + -moz-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); + -o-transform: rotate(@degrees); + transform: rotate(@degrees); +} +.scale(@ratio) { + -webkit-transform: scale(@ratio); + -moz-transform: scale(@ratio); + -ms-transform: scale(@ratio); + -o-transform: scale(@ratio); + transform: scale(@ratio); +} +.translate(@x: 0, @y: 0) { + -webkit-transform: translate(@x, @y); + -moz-transform: translate(@x, @y); + -ms-transform: translate(@x, @y); + -o-transform: translate(@x, @y); + transform: translate(@x, @y); +} +.skew(@x: 0, @y: 0) { + -webkit-transform: skew(@x, @y); + -moz-transform: skew(@x, @y); + -ms-transform: skew(@x, @y); + -o-transform: skew(@x, @y); + transform: skew(@x, @y); +} +.translate3d(@x: 0, @y: 0, @z: 0) { + -webkit-transform: translate(@x, @y, @z); + -moz-transform: translate(@x, @y, @z); + -ms-transform: translate(@x, @y, @z); + -o-transform: translate(@x, @y, @z); + transform: translate(@x, @y, @z); +} + +// Background clipping +// Heads up: FF 3.6 and under need "padding" instead of "padding-box" +.background-clip(@clip) { + -webkit-background-clip: @clip; + -moz-background-clip: @clip; + background-clip: @clip; +} + +// Background sizing +.background-size(@size){ + -webkit-background-size: @size; + -moz-background-size: @size; + -o-background-size: @size; + background-size: @size; +} + + +// Box sizing +.box-sizing(@boxmodel) { + -webkit-box-sizing: @boxmodel; + -moz-box-sizing: @boxmodel; + box-sizing: @boxmodel; +} + +// User select +// For selecting text on the page +.user-select(@select) { + -webkit-user-select: @select; + -moz-user-select: @select; + -o-user-select: @select; + user-select: @select; +} + +// Resize anything +.resizable(@direction: both) { + resize: @direction; // Options: horizontal, vertical, both + overflow: auto; // Safari fix +} + +// CSS3 Content Columns +.content-columns(@columnCount, @columnGap: @gridColumnGutter) { + -webkit-column-count: @columnCount; + -moz-column-count: @columnCount; + column-count: @columnCount; + -webkit-column-gap: @columnGap; + -moz-column-gap: @columnGap; + column-gap: @columnGap; +} + +// Opacity +.opacity(@opacity: 100) { + //opacity: @opacity / 100; + filter: e(%("alpha(opacity=%d)", @opacity)); +} + + + +// BACKGROUNDS +// -------------------------------------------------- + +// Add an alphatransparency value to any background or border color (via Elyse Holladay) +#translucent { + .background(@color: @white, @alpha: 1) { + background-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha); + } + .border(@color: @white, @alpha: 1) { + border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha); + .background-clip(padding-box); + } +} + +// 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 { + .horizontal(@startColor: #555, @endColor: #333) { + background-color: @endColor; + background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+ + background-image: -ms-linear-gradient(left, @startColor, @endColor); // IE10 + background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+ + background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+ + background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10 + background-image: linear-gradient(left, @startColor, @endColor); // Le standard + background-repeat: repeat-x; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",@startColor,@endColor)); // IE9 and down + } + .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 + } + .directional(@startColor: #555, @endColor: #333, @deg: 45deg) { + background-color: @endColor; + background-repeat: repeat-x; + background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+ + background-image: -ms-linear-gradient(@deg, @startColor, @endColor); // IE10 + background-image: -webkit-linear-gradient(@deg, @startColor, @endColor); // Safari 5.1+, Chrome 10+ + background-image: -o-linear-gradient(@deg, @startColor, @endColor); // Opera 11.10 + background-image: linear-gradient(@deg, @startColor, @endColor); // The standard + } + .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) { + background-color: mix(@midColor, @endColor, 80%); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor)); + background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor); + background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor); + background-image: -ms-linear-gradient(@startColor, @midColor @colorStop, @endColor); + background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor); + background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor); + background-repeat: no-repeat; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down, gets no color-stop at all for proper fallback + } + .radial(@innerColor: #555, @outerColor: #333) { + background-color: @outerColor; + background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor)); + background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor); + background-image: -moz-radial-gradient(circle, @innerColor, @outerColor); + background-image: -ms-radial-gradient(circle, @innerColor, @outerColor); + background-repeat: no-repeat; + // Opera cannot do radial gradients yet + } + .striped(@color, @angle: -45deg) { + background-color: @color; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + background-image: -ms-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + } +} +// Reset filters for IE +.reset-filter() { + filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); +} + + +// Mixin for generating button backgrounds +// --------------------------------------- +.buttonBackground(@startColor, @endColor) { + // gradientBar will set the background to a pleasing blend of these, to support IE<=9 + .gradientBar(@startColor, @endColor); + .reset-filter(); + + // in these cases the gradient won't cover the background, so we override + &:hover, &:active, &.active, &.disabled, &[disabled] { + background-color: @endColor; + } + + // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves + &:active, + &.active { + background-color: darken(@endColor, 10%) e("\9"); + } +} + + +// COMPONENT MIXINS +// -------------------------------------------------- + +// POPOVER ARROWS +// ------------------------- +// For tipsies and popovers +#popoverArrow { + .top(@arrowWidth: 5px) { + bottom: 0; + left: 50%; + margin-left: -@arrowWidth; + border-left: @arrowWidth solid transparent; + border-right: @arrowWidth solid transparent; + border-top: @arrowWidth solid @black; + } + .left(@arrowWidth: 5px) { + top: 50%; + right: 0; + margin-top: -@arrowWidth; + border-top: @arrowWidth solid transparent; + border-bottom: @arrowWidth solid transparent; + border-left: @arrowWidth solid @black; + } + .bottom(@arrowWidth: 5px) { + top: 0; + left: 50%; + margin-left: -@arrowWidth; + border-left: @arrowWidth solid transparent; + border-right: @arrowWidth solid transparent; + border-bottom: @arrowWidth solid @black; + } + .right(@arrowWidth: 5px) { + top: 50%; + left: 0; + margin-top: -@arrowWidth; + border-top: @arrowWidth solid transparent; + border-bottom: @arrowWidth solid transparent; + border-right: @arrowWidth solid @black; + } +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/modals.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/modals.less new file mode 100644 index 0000000..d1f1d0a --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/modals.less @@ -0,0 +1,87 @@ +// MODALS +// ------ + +// Recalculate z-index where appropriate +.modal-open { + .dropdown-menu { z-index: (@zindexDropdown + @zindexModal); } + .dropdown.open { *z-index: (@zindexDropdown + @zindexModal); } + .popover { z-index: (@zindexPopover + @zindexModal); } + .tooltip { z-index: (@zindexTooltip + @zindexModal); } +} + +.modal-body a { + color: #0AAADF; +} + +// Background +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: @zindexModalBackdrop; + background-color: @black; + // Fade for backdrop + &.fade { opacity: 0; } +} + +.modal-backdrop, +.modal-backdrop.fade.in { + opacity: 0.6; +} + +// Base modal +.modal { + position: fixed; + top: 50%; + left: 50%; + z-index: @zindexModal; + max-height: 580px; + overflow: auto; + width: 560px; + margin: -250px 0 0 -280px; + background-color: @white; + border: 1px solid #999; + border: 1px solid rgba(0,0,0,.3); + *border: 1px solid #999; /* IE6-7 */ + .border-radius(6px); + .box-shadow(0 3px 7px rgba(0,0,0,0.3)); + .background-clip(padding-box); + &.fade { + .transition(e('opacity .3s linear, top .3s ease-out')); + top: -25%; + } + &.fade.in { top: 50%; } +} +.modal-header { + padding: 9px 15px; + border-bottom: 1px solid #eee; + // Close icon + .close { margin-top: 2px; } +} + +// Body (where all modal content resises) +.modal-body { + padding: 15px; +} +// Remove bottom margin if need be +.modal-body .modal-form { + margin-bottom: 0; +} + +// Footer (for actions) +.modal-footer { + padding: 14px 15px 15px; + margin-bottom: 0; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + .border-radius(0 0 6px 6px); + .box-shadow(inset 0 1px 0 @white); + .clearfix(); + .btn { + float: right; + margin-left: 5px; + margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs + } +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/navbar.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/navbar.less new file mode 100644 index 0000000..16553c1 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/navbar.less @@ -0,0 +1,299 @@ +// NAVBAR (FIXED AND STATIC) +// ------------------------- + + +// COMMON STYLES +// ------------- + +.navbar { + overflow: visible; + margin-bottom: @baseLineHeight; +} + +// Gradient is applied to it's own element because overflow visible is not honored by IE when filter is present +.navbar-inner { + padding-left: 20px; + padding-right: 20px; + #gradient > .vertical(@navbarBackgroundHighlight, @navbarBackground); + .border-radius(4px); + @shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1); + .box-shadow(@shadow); +} + +// Navbar button for toggling navbar items in responsive layouts +.btn-navbar { + display: none; + float: right; + padding: 7px 10px; + margin-left: 5px; + margin-right: 5px; + .buttonBackground(@navbarBackgroundHighlight, @navbarBackground); + @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); + .box-shadow(@shadow); +} +.btn-navbar .icon-bar { + display: block; + width: 18px; + height: 2px; + background-color: #f5f5f5; + .border-radius(1px); + .box-shadow(0 1px 0 rgba(0,0,0,.25)); +} +.btn-navbar .icon-bar + .icon-bar { + margin-top: 3px; +} +// Override the default collapsed state +.nav-collapse.collapse { + height: auto; +} + + +// Brand, links, text, and buttons +.navbar { + // Hover and active states + .brand:hover { + text-decoration: none; + } + // Website or project name + .brand { + float: left; + display: block; + padding: 8px 20px 12px; + margin-left: -20px; // negative indent to left-align the text down the page + font-size: 20px; + font-weight: 200; + line-height: 1; + color: @white; + } + // Plain text in topbar + .navbar-text { + margin-bottom: 0; + line-height: 40px; + color: @navbarText; + a:hover { + color: @white; + background-color: transparent; + } + } + // Buttons in navbar + .btn, + .btn-group { + margin-top: 5px; // make buttons vertically centered in navbar + } + .btn-group .btn { + margin-top: 0; // then undo the margin here so we don't accidentally double it + } +} + +// Navbar forms +.navbar-form { + margin-bottom: 0; // remove default bottom margin + .clearfix(); + input, + select { + display: inline-block; + margin-top: 5px; + margin-bottom: 0; + } + .radio, + .checkbox { + margin-top: 5px; + } + input[type="image"], + input[type="checkbox"], + input[type="radio"] { + margin-top: 3px; + } + .input-append, + .input-prepend { + margin-top: 6px; + white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left + input { + margin-top: 0; // remove the margin on top since it's on the parent + } + } +} + +// Navbar search +.navbar-search { + position: relative; + float: left; + margin-top: 6px; + margin-bottom: 0; + .search-query { + padding: 4px 9px; + #font > .sans-serif(13px, normal, 1); + color: @white; + color: rgba(255,255,255,.75); + background: #666; + background: rgba(255,255,255,.3); + border: 1px solid #111; + @shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15); + .box-shadow(@shadow); + .transition(none); + + // Placeholder text gets special styles; can't be bundled together though for some reason + .placeholder(@grayLighter); + + // Hover states + &:hover { + color: @white; + background-color: @grayLight; + background-color: rgba(255,255,255,.5); + } + // Focus states (we use .focused since IE7-8 and down doesn't support :focus) + &:focus, + &.focused { + padding: 5px 10px; + color: @grayDark; + text-shadow: 0 1px 0 @white; + background-color: @white; + border: 0; + .box-shadow(0 0 3px rgba(0,0,0,.15)); + outline: 0; + } + } +} + + +// FIXED NAVBAR +// ------------ + +.navbar-fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: @zindexFixedNavbar; +} +.navbar-fixed-top .navbar-inner { + padding-left: 0; + padding-right: 0; + .border-radius(0); +} + + +// NAVIGATION +// ---------- + +.navbar .nav { + position: relative; + left: 0; + display: block; + float: left; + margin: 0 10px 0 0; +} +.navbar .nav.pull-right { + float: right; // redeclare due to specificity +} +.navbar .nav > li { + display: block; + float: left; +} + +// Links +.navbar .nav > li > a { + float: none; + padding: 10px 10px 11px; + line-height: 19px; + color: @navbarLinkColor; + text-decoration: none; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); +} +// Hover +.navbar .nav > li > a:hover { + background-color: @navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover from .active + color: @navbarLinkColorHover; + text-decoration: none; +} + +// Active nav items +.navbar .nav .active > a, +.navbar .nav .active > a:hover { + color: @navbarLinkColorHover; + text-decoration: none; + background-color: @navbarBackground; +} + +// Dividers (basically a vertical hr) +.navbar .divider-vertical { + height: @navbarHeight; + width: 1px; + margin: 0 9px; + overflow: hidden; + background-color: @navbarBackground; + border-right: 1px solid @navbarBackgroundHighlight; +} + +// Secondary (floated right) nav in topbar +.navbar .nav.pull-right { + margin-left: 10px; + margin-right: 0; +} + + + +// Dropdown menus +// -------------- + +// Menu position and menu carets +.navbar .dropdown-menu { + margin-top: 1px; + .border-radius(4px); + &:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-bottom-color: rgba(0,0,0,.2); + position: absolute; + top: -7px; + left: 9px; + } + &:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid @white; + position: absolute; + top: -6px; + left: 10px; + } +} + +// Dropdown toggle caret +.navbar .nav .dropdown-toggle .caret, +.navbar .nav .open.dropdown .caret { + border-top-color: @white; +} +.navbar .nav .active .caret { + .opacity(100); +} + +// Remove background color from open dropdown +.navbar .nav .open > .dropdown-toggle, +.navbar .nav .active > .dropdown-toggle, +.navbar .nav .open.active > .dropdown-toggle { + background-color: transparent; +} + +// Dropdown link on hover +.navbar .nav .active > .dropdown-toggle:hover { + color: @white; +} + +// Right aligned menus need alt position +.navbar .nav.pull-right .dropdown-menu { + left: auto; + right: 0; + &:before { + left: auto; + right: 12px; + } + &:after { + left: auto; + right: 13px; + } +} \ No newline at end of file diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/navs.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/navs.less new file mode 100644 index 0000000..06219fa --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/navs.less @@ -0,0 +1,353 @@ +// NAVIGATIONS +// ----------- + + + +// BASE CLASS +// ---------- + +.nav { + margin-left: 0; + margin-bottom: @baseLineHeight; + list-style: none; +} + +// Make links block level +.nav > li > a { + display: block; +} +.nav > li > a:hover { + text-decoration: none; + background-color: @grayLighter; +} + +// Nav headers (for dropdowns and lists) +.nav .nav-header { + display: block; + padding: 3px 15px; + font-size: 11px; + font-weight: bold; + line-height: @baseLineHeight; + color: @grayLight; + text-shadow: 0 1px 0 rgba(255,255,255,.5); + text-transform: uppercase; +} +// Space them out when they follow another list item (link) +.nav li + .nav-header { + margin-top: 9px; +} + + +// NAV LIST +// -------- + +.nav-list { + padding-left: 14px; + padding-right: 14px; + margin-bottom: 0; +} +.nav-list > li > a, +.nav-list .nav-header { + margin-left: -15px; + margin-right: -15px; + text-shadow: 0 1px 0 rgba(255,255,255,.5); +} +.nav-list > li > a { + padding: 3px 15px; +} +.nav-list .active > a, +.nav-list .active > a:hover { + color: @white; + text-shadow: 0 -1px 0 rgba(0,0,0,.2); + background-color: @linkColor; +} +.nav-list [class^="icon-"] { + margin-right: 2px; +} + + + +// TABS AND PILLS +// ------------- + +// Common styles +.nav-tabs, +.nav-pills { + .clearfix(); +} +.nav-tabs > li, +.nav-pills > li { + float: left; +} +.nav-tabs > li > a, +.nav-pills > li > a { + padding-right: 12px; + padding-left: 12px; + margin-right: 2px; + line-height: 14px; // keeps the overall height an even number +} + +// TABS +// ---- + +// Give the tabs something to sit on +.nav-tabs { + border-bottom: 1px solid #ddd; +} + +// Make the list-items overlay the bottom border +.nav-tabs > li { + margin-bottom: -1px; +} + +// Actual tabs (as links) +.nav-tabs > li > a { + padding-top: 9px; + padding-bottom: 9px; + border: 1px solid transparent; + .border-radius(4px 4px 0 0); + &:hover { + border-color: @grayLighter @grayLighter #ddd; + } +} +// Active state, and it's :hover to override normal :hover +.nav-tabs > .active > a, +.nav-tabs > .active > a:hover { + color: @gray; + background-color: @white; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} + +// PILLS +// ----- + +// Links rendered as pills +.nav-pills > li > a { + padding-top: 8px; + padding-bottom: 8px; + margin-top: 2px; + margin-bottom: 2px; + .border-radius(5px); +} + +// Active state +.nav-pills .active > a, +.nav-pills .active > a:hover { + color: @white; + background-color: @linkColor; +} + + + +// STACKED NAV +// ----------- + +// Stacked tabs and pills +.nav-stacked > li { + float: none; +} +.nav-stacked > li > a { + margin-right: 0; // no need for the gap between nav items +} + +// Tabs +.nav-tabs.nav-stacked { + border-bottom: 0; +} +.nav-tabs.nav-stacked > li > a { + border: 1px solid #ddd; + .border-radius(0); +} +.nav-tabs.nav-stacked > li:first-child > a { + .border-radius(4px 4px 0 0); +} +.nav-tabs.nav-stacked > li:last-child > a { + .border-radius(0 0 4px 4px); +} +.nav-tabs.nav-stacked > li > a:hover { + border-color: #ddd; + z-index: 2; +} + +// Pills +.nav-pills.nav-stacked > li > a { + margin-bottom: 3px; +} +.nav-pills.nav-stacked > li:last-child > a { + margin-bottom: 1px; // decrease margin to match sizing of stacked tabs +} + + + +// DROPDOWNS +// --------- + +// Position the menu +.nav-tabs .dropdown-menu, +.nav-pills .dropdown-menu { + margin-top: 1px; + border-width: 1px; +} +.nav-pills .dropdown-menu { + .border-radius(4px); +} + +// Default dropdown links +// ------------------------- +// Make carets use linkColor to start +.nav-tabs .dropdown-toggle .caret, +.nav-pills .dropdown-toggle .caret { + border-top-color: @linkColor; + margin-top: 6px; +} +.nav-tabs .dropdown-toggle:hover .caret, +.nav-pills .dropdown-toggle:hover .caret { + border-top-color: @linkColorHover; +} + +// Active dropdown links +// ------------------------- +.nav-tabs .active .dropdown-toggle .caret, +.nav-pills .active .dropdown-toggle .caret { + border-top-color: @grayDark; +} + +// Active:hover dropdown links +// ------------------------- +.nav > .dropdown.active > a:hover { + color: @black; + cursor: pointer; +} + +// Open dropdowns +// ------------------------- +.nav-tabs .open .dropdown-toggle, +.nav-pills .open .dropdown-toggle, +.nav > .open.active > a:hover { + color: @white; + background-color: @grayLight; + border-color: @grayLight; +} +.nav .open .caret, +.nav .open.active .caret, +.nav .open a:hover .caret { + border-top-color: @white; + .opacity(100); +} + +// Dropdowns in stacked tabs +.tabs-stacked .open > a:hover { + border-color: @grayLight; +} + + + +// TABBABLE +// -------- + + +// COMMON STYLES +// ------------- + +// Clear any floats +.tabbable { + .clearfix(); +} +.tab-content { + overflow: hidden; // prevent content from running below tabs +} + +// Remove border on bottom, left, right +.tabs-below .nav-tabs, +.tabs-right .nav-tabs, +.tabs-left .nav-tabs { + border-bottom: 0; +} + +// Show/hide tabbable areas +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} +.tab-content > .active, +.pill-content > .active { + display: block; +} + + +// BOTTOM +// ------ + +.tabs-below .nav-tabs { + border-top: 1px solid #ddd; +} +.tabs-below .nav-tabs > li { + margin-top: -1px; + margin-bottom: 0; +} +.tabs-below .nav-tabs > li > a { + .border-radius(0 0 4px 4px); + &:hover { + border-bottom-color: transparent; + border-top-color: #ddd; + } +} +.tabs-below .nav-tabs .active > a, +.tabs-below .nav-tabs .active > a:hover { + border-color: transparent #ddd #ddd #ddd; +} + +// LEFT & RIGHT +// ------------ + +// Common styles +.tabs-left .nav-tabs > li, +.tabs-right .nav-tabs > li { + float: none; +} +.tabs-left .nav-tabs > li > a, +.tabs-right .nav-tabs > li > a { + min-width: 74px; + margin-right: 0; + margin-bottom: 3px; +} + +// Tabs on the left +.tabs-left .nav-tabs { + float: left; + margin-right: 19px; + border-right: 1px solid #ddd; +} +.tabs-left .nav-tabs > li > a { + margin-right: -1px; + .border-radius(4px 0 0 4px); +} +.tabs-left .nav-tabs > li > a:hover { + border-color: @grayLighter #ddd @grayLighter @grayLighter; +} +.tabs-left .nav-tabs .active > a, +.tabs-left .nav-tabs .active > a:hover { + border-color: #ddd transparent #ddd #ddd; + *border-right-color: @white; +} + +// Tabs on the right +.tabs-right .nav-tabs { + float: right; + margin-left: 19px; + border-left: 1px solid #ddd; +} +.tabs-right .nav-tabs > li > a { + margin-left: -1px; + .border-radius(0 4px 4px 0); +} +.tabs-right .nav-tabs > li > a:hover { + border-color: @grayLighter @grayLighter @grayLighter #ddd; +} +.tabs-right .nav-tabs .active > a, +.tabs-right .nav-tabs .active > a:hover { + border-color: #ddd #ddd #ddd transparent; + *border-left-color: @white; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/pager.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/pager.less new file mode 100644 index 0000000..104e41c --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/pager.less @@ -0,0 +1,30 @@ +// PAGER +// ----- + +.pager { + margin-left: 0; + margin-bottom: @baseLineHeight; + list-style: none; + text-align: center; + .clearfix(); +} +.pager li { + display: inline; +} +.pager a { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + .border-radius(15px); +} +.pager a:hover { + text-decoration: none; + background-color: #f5f5f5; +} +.pager .next a { + float: right; +} +.pager .previous a { + float: left; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/pagination.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/pagination.less new file mode 100644 index 0000000..fa3cba0 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/pagination.less @@ -0,0 +1,55 @@ +// PAGINATION +// ---------- + +.pagination { + //height: @baseLineHeight * 2; + margin: @baseLineHeight 0; + } +.pagination ul { + display: inline-block; + .ie7-inline-block(); + margin-left: 0; + margin-bottom: 0; + .border-radius(3px); + .box-shadow(0 1px 2px rgba(0,0,0,.05)); +} +.pagination li { + display: inline; + } +.pagination a { + float: left; + padding: 0 14px; + //line-height: (@baseLineHeight * 2) - 2; + text-decoration: none; + border: 1px solid #ddd; + border-left-width: 0; +} +.pagination a:hover, +.pagination .active a { + background-color: #f5f5f5; +} +.pagination .active a { + color: @grayLight; + cursor: default; +} +.pagination .disabled a, +.pagination .disabled a:hover { + color: @grayLight; + background-color: transparent; + cursor: default; +} +.pagination li:first-child a { + border-left-width: 1px; + .border-radius(3px 0 0 3px); +} +.pagination li:last-child a { + .border-radius(0 3px 3px 0); +} + +// Centered +.pagination-centered { + text-align: center; +} +.pagination-right { + text-align: right; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/popovers.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/popovers.less new file mode 100644 index 0000000..558d99e --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/popovers.less @@ -0,0 +1,49 @@ +// POPOVERS +// -------- + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: @zindexPopover; + display: none; + padding: 5px; + &.top { margin-top: -5px; } + &.right { margin-left: 5px; } + &.bottom { margin-top: 5px; } + &.left { margin-left: -5px; } + &.top .arrow { #popoverArrow > .top(); } + &.right .arrow { #popoverArrow > .right(); } + &.bottom .arrow { #popoverArrow > .bottom(); } + &.left .arrow { #popoverArrow > .left(); } + .arrow { + position: absolute; + width: 0; + height: 0; + } +} +.popover-inner { + padding: 3px; + width: 280px; + overflow: hidden; + background: @black; // has to be full background declaration for IE fallback + background: rgba(0,0,0,.8); + .border-radius(6px); + .box-shadow(0 3px 7px rgba(0,0,0,0.3)); +} +.popover-title { + padding: 9px 15px; + line-height: 1; + background-color: #f5f5f5; + border-bottom:1px solid #eee; + .border-radius(3px 3px 0 0); +} +.popover-content { + padding: 14px; + background-color: @white; + .border-radius(0 0 3px 3px); + .background-clip(padding-box); + p, ul, ol { + margin-bottom: 0; + } +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/progress-bars.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/progress-bars.less new file mode 100644 index 0000000..c3144e1 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/progress-bars.less @@ -0,0 +1,95 @@ +// PROGRESS BARS +// ------------- + + +// ANIMATIONS +// ---------- + +// Webkit +@-webkit-keyframes progress-bar-stripes { + from { background-position: 0 0; } + to { background-position: 40px 0; } +} + +// Firefox +@-moz-keyframes progress-bar-stripes { + from { background-position: 0 0; } + to { background-position: 40px 0; } +} + +// Spec +@keyframes progress-bar-stripes { + from { background-position: 0 0; } + to { background-position: 40px 0; } +} + + + +// THE BARS +// -------- + +// Outer container +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + #gradient > .vertical(#f5f5f5, #f9f9f9); + .box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); + .border-radius(4px); +} + +// Bar of progress +.progress .bar { + width: 0%; + height: 18px; + color: @white; + font-size: 12px; + text-align: center; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + #gradient > .vertical(#149bdf, #0480be); + .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); + .box-sizing(border-box); + .transition(width .6s ease); +} + +// Striped bars +.progress-striped .bar { + #gradient > .striped(#62c462); + .background-size(40px 40px); +} + +// Call animation for the active one +.progress.active .bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + + + +// COLORS +// ------ + +// Danger (red) +.progress-danger .bar { + #gradient > .vertical(#ee5f5b, #c43c35); +} +.progress-danger.progress-striped .bar { + #gradient > .striped(#ee5f5b); +} + +// Success (green) +.progress-success .bar { + #gradient > .vertical(#62c462, #57a957); +} +.progress-success.progress-striped .bar { + #gradient > .striped(#62c462); +} + +// Info (teal) +.progress-info .bar { + #gradient > .vertical(#5bc0de, #339bb9); +} +.progress-info.progress-striped .bar { + #gradient > .striped(#5bc0de); +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/reset.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/reset.less new file mode 100644 index 0000000..1115f59 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/reset.less @@ -0,0 +1,126 @@ +// Reset.less +// Adapted from Normalize.css http://github.com/necolas/normalize.css +// ------------------------------------------------------------------------ + +// Display in IE6-9 and FF3 +// ------------------------- + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section { + display: block; +} + +// Display block in IE6-9 and FF3 +// ------------------------- + +audio, +canvas, +video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +// Prevents modern browsers from displaying 'audio' without controls +// ------------------------- + +audio:not([controls]) { + display: none; +} + +// Base settings +// ------------------------- + +html { + font-size: 100%; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +// Focus states +a:focus { + .tab-focus(); +} +// Hover & Active +a:hover, +a:active { + outline: 0; +} + +// Prevents sub and sup affecting line-height in all browsers +// ------------------------- + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} + +// Img border in a's and image quality +// ------------------------- + +img { + max-width: 100%; + height: auto; + border: 0; + -ms-interpolation-mode: bicubic; +} + +// Forms +// ------------------------- + +// Font size in all browsers, margin changes, misc consistency +button, +input, +select, +textarea { + margin: 0; + font-size: 100%; + vertical-align: middle; +} +button, +input { + *overflow: visible; // Inner spacing ie IE6/7 + line-height: normal; // FF3/4 have !important on line-height in UA stylesheet +} +button::-moz-focus-inner, +input::-moz-focus-inner { // Inner padding and border oddities in FF3/4 + padding: 0; + border: 0; +} +button, +input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; // Cursors on all buttons applied consistently + -webkit-appearance: button; // Style clickable inputs in iOS +} +input[type="search"] { // Appearance in Safari/Chrome + -webkit-appearance: textfield; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5 +} +textarea { + overflow: auto; // Remove vertical scrollbar in IE6-9 + vertical-align: top; // Readability and alignment cross-browser +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/responsive.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/responsive.less new file mode 100644 index 0000000..7334aa7 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/responsive.less @@ -0,0 +1,327 @@ +/*! + * Bootstrap Responsive v2.0.1 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + +// Responsive.less +// For phone and tablet devices +// ------------------------------------------------------------- + + +// REPEAT VARIABLES & MIXINS +// ------------------------- +// Required since we compile the responsive stuff separately + +@import "variables.less"; // Modify this for custom colors, font-sizes, etc +@import "mixins.less"; + + +// RESPONSIVE CLASSES +// ------------------ + +// Hide from screenreaders and browsers +// Credit: HTML5 Boilerplate +.hidden { + display: none; + visibility: hidden; +} + + + +// UP TO LANDSCAPE PHONE +// --------------------- + +@media (max-width: 480px) { + + // Smooth out the collapsing/expanding nav + .nav-collapse { + -webkit-transform: translate3d(0, 0, 0); // activate the GPU + } + + // Block level the page header small tag for readability + .page-header h1 small { + display: block; + line-height: @baseLineHeight; + } + + // Make span* classes full width + input[class*="span"], + select[class*="span"], + textarea[class*="span"], + .uneditable-input { + display: block; + width: 100%; + min-height: 28px; /* Make inputs at least the height of their button counterpart */ + /* Makes inputs behave like true block-level elements */ + -webkit-box-sizing: border-box; /* Older Webkit */ + -moz-box-sizing: border-box; /* Older FF */ + -ms-box-sizing: border-box; /* IE8 */ + box-sizing: border-box; /* CSS3 spec*/ + } + // But don't let it screw up prepend/append inputs + .input-prepend input[class*="span"], + .input-append input[class*="span"] { + width: auto; + } + + // Update checkboxes for iOS + input[type="checkbox"], + input[type="radio"] { + border: 1px solid #ccc; + } + + // Remove the horizontal form styles + .form-horizontal .control-group > label { + float: none; + width: auto; + padding-top: 0; + text-align: left; + } + // Move over all input controls and content + .form-horizontal .controls { + margin-left: 0; + } + // Move the options list down to align with labels + .form-horizontal .control-list { + padding-top: 0; // has to be padding because margin collaspes + } + // Move over buttons in .form-actions to align with .controls + .form-horizontal .form-actions { + padding-left: 10px; + padding-right: 10px; + } + + // Modals + .modal { + position: absolute; + top: 10px; + left: 10px; + right: 10px; + width: auto; + margin: 0; + &.fade.in { top: auto; } + } + .modal-header .close { + padding: 10px; + margin: -10px; + } + + // Carousel + .carousel-caption { + position: static; + } + +} + + + +// LANDSCAPE PHONE TO SMALL DESKTOP & PORTRAIT TABLET +// -------------------------------------------------- + +@media (max-width: 767px) { + // GRID & CONTAINERS + // ----------------- + // Remove width from containers + .container { + width: auto; + padding: 0 20px; + } + // Fluid rows + .row-fluid { + width: 100%; + } + // Undo negative margin on rows + .row { + margin-left: 0; + } + // Make all columns even + .row > [class*="span"], + .row-fluid > [class*="span"] { + float: none; + display: block; + width: auto; + margin: 0; + } +} + + + +// PORTRAIT TABLET TO DEFAULT DESKTOP +// ---------------------------------- + +@media (min-width: 768px) and (max-width: 979px) { + + // Fixed grid + #gridSystem > .generate(12, 42px, 20px); + + // Fluid grid + #fluidGridSystem > .generate(12, 5.801104972%, 2.762430939%); + + // Input grid + #inputGridSystem > .generate(12, 42px, 20px); + +} + + + +// TABLETS AND BELOW +// ----------------- +@media (max-width: 979px) { + + // UNFIX THE TOPBAR + // ---------------- + // Remove any padding from the body + body { + padding-top: 0; + } + // Unfix the navbar + .navbar-fixed-top { + position: static; + margin-bottom: @baseLineHeight; + } + .navbar-fixed-top .navbar-inner { + padding: 5px; + } + .navbar .container { + width: auto; + padding: 0; + } + // Account for brand name + .navbar .brand { + padding-left: 10px; + padding-right: 10px; + margin: 0 0 0 -5px; + } + // Nav collapse clears brand + .navbar .nav-collapse { + clear: left; + } + // Block-level the nav + .navbar .nav { + float: none; + //margin: 0 0 (@baseLineHeight / 2); + } + .navbar .nav > li { + float: none; + } + .navbar .nav > li > a { + margin-bottom: 2px; + } + .navbar .nav > .divider-vertical { + display: none; + } + .navbar .nav .nav-header { + color: @navbarText; + text-shadow: none; + } + // Nav and dropdown links in navbar + .navbar .nav > li > a, + .navbar .dropdown-menu a { + padding: 6px 15px; + font-weight: bold; + color: @navbarLinkColor; + .border-radius(3px); + } + .navbar .dropdown-menu li + li a { + margin-bottom: 2px; + } + .navbar .nav > li > a:hover, + .navbar .dropdown-menu a:hover { + background-color: @navbarBackground; + } + // Dropdowns in the navbar + .navbar .dropdown-menu { + position: static; + top: auto; + left: auto; + float: none; + display: block; + max-width: none; + margin: 0 15px; + padding: 0; + background-color: transparent; + border: none; + .border-radius(0); + .box-shadow(none); + } + .navbar .dropdown-menu:before, + .navbar .dropdown-menu:after { + display: none; + } + .navbar .dropdown-menu .divider { + display: none; + } + // Forms in navbar + .navbar-form, + .navbar-search { + float: none; + //padding: (@baseLineHeight / 2) 15px; + //margin: (@baseLineHeight / 2) 0; + border-top: 1px solid @navbarBackground; + border-bottom: 1px solid @navbarBackground; + @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); + .box-shadow(@shadow); + } + // Pull right (secondary) nav content + .navbar .nav.pull-right { + float: none; + margin-left: 0; + } + // Static navbar + .navbar-static .navbar-inner { + padding-left: 10px; + padding-right: 10px; + } + // Navbar button + .btn-navbar { + display: block; + } + + // Hide everything in the navbar save .brand and toggle button */ + .nav-collapse { + overflow: hidden; + height: 0; + } +} + + + +// DEFAULT DESKTOP +// --------------- + +@media (min-width: 980px) { + .nav-collapse.collapse { + height: auto !important; + } +} + + + +// LARGE DESKTOP & UP +// ------------------ + +@media (min-width: 1200px) { + + // Fixed grid + #gridSystem > .generate(12, 70px, 30px); + + // Fluid grid + #fluidGridSystem > .generate(12, 5.982905983%, 2.564102564%); + + // Input grid + #inputGridSystem > .generate(12, 70px, 30px); + + // Thumbnails + .thumbnails { + margin-left: -30px; + } + .thumbnails > li { + margin-left: 30px; + } + +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/scaffolding.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/scaffolding.less new file mode 100644 index 0000000..47ce538 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/scaffolding.less @@ -0,0 +1,29 @@ +// Scaffolding +// Basic and global styles for generating a grid system, structural layout, and page templates +// ------------------------------------------------------------------------------------------- + + +// STRUCTURAL LAYOUT +// ----------------- + +body { + margin: 0; + font-family: @baseFontFamily; + font-size: @baseFontSize; + line-height: @baseLineHeight; + color: @textColor; + background-color: @white; +} + + +// LINKS +// ----- + +a { + color: @linkColor; + text-decoration: none; +} +a:hover { + color: @linkColorHover; + text-decoration: underline; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/sprites.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/sprites.less new file mode 100644 index 0000000..eb44e16 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/sprites.less @@ -0,0 +1,460 @@ +// SPRITES +// Glyphs and icons for buttons, nav, and more +// ------------------------------------------- + + +// ICONS +// ----- + +// All icons receive the styles of the tag with a base class +// of .i and are then given a unique class to add width, height, +// and background-position. Your resulting HTML will look like +// . + +// For the white version of the icons, just add the .icon-white class: +// + +[class^="icon-"], +[class*=" icon-"] { + display: inline-block; + width: 14px; + height: 14px; + line-height: 14px; + vertical-align: text-top; + background-image: url(@iconSpritePath); + background-position: 14px 14px; + background-repeat: no-repeat; + + .ie7-restore-right-whitespace(); +} +.icon-white { + background-image: url(@iconWhiteSpritePath); +} + +.icon-grey { + background-image: url(@iconGreySpritePath); +} + +.icon-glass { + background-position: 0 0; +} +.icon-music { + background-position: -24px 0; +} +.icon-search { + background-position: -48px 0; +} +.icon-envelope { + background-position: -72px 0; +} +.icon-heart { + background-position: -96px 0; +} +.icon-star { + background-position: -120px 0; +} +.icon-star-empty { + background-position: -144px 0; +} +.icon-user { + background-position: -168px 0; +} +.icon-film { + background-position: -192px 0; +} +.icon-th-large { + background-position: -216px 0; +} +.icon-th { + background-position: -240px 0; +} +.icon-th-list { + background-position: -264px 0; +} +.icon-ok { + background-position: -288px 0; +} +.icon-remove { + background-position: -312px 0; +} +.icon-zoom-in { + background-position: -336px 0; +} +.icon-zoom-out { + background-position: -360px 0; +} +.icon-off { + background-position: -384px 0; +} +.icon-signal { + background-position: -408px 0; +} +.icon-cog { + background-position: -432px 0; +} +.icon-trash { + background-position: -456px 0; +} +.icon-home { + background-position: 0 -24px; +} +.icon-file { + background-position: -24px -24px; +} +.icon-time { + background-position: -48px -24px; +} +.icon-road { + background-position: -72px -24px; +} +.icon-download-alt { + background-position: -96px -24px; +} +.icon-download { + background-position: -120px -24px; +} +.icon-upload { + background-position: -144px -24px; +} +.icon-inbox { + background-position: -168px -24px; +} +.icon-play-circle { + background-position: -192px -24px; +} +.icon-repeat { + background-position: -216px -24px; +} +.icon-refresh { + background-position: -240px -24px; +} +.icon-list-alt { + background-position: -264px -24px; +} +.icon-lock { + background-position: -287px -24px; +} +.icon-flag { + background-position: -312px -24px; +} +.icon-headphones { + background-position: -336px -24px; +} +.icon-volume-off { + background-position: -360px -24px; +} +.icon-volume-down { + background-position: -384px -24px; +} +.icon-volume-up { + background-position: -408px -24px; +} +.icon-qrcode { + background-position: -432px -24px; +} +.icon-barcode { + background-position: -456px -24px; +} +.icon-tag { + background-position: 0 -48px; +} +.icon-tags { + background-position: -25px -48px; +} +.icon-book { + background-position: -48px -48px; +} +.icon-bookmark { + background-position: -72px -48px; +} +.icon-print { + background-position: -96px -48px; +} +.icon-camera { + background-position: -120px -48px; +} +.icon-font { + background-position: -144px -48px; +} +.icon-bold { + background-position: -167px -48px; +} +.icon-italic { + background-position: -192px -48px; +} +.icon-text-height { + background-position: -216px -48px; +} +.icon-text-width { + background-position: -240px -48px; +} +.icon-align-left { + background-position: -264px -48px; +} +.icon-align-center { + background-position: -288px -48px; +} +.icon-align-right { + background-position: -312px -48px; +} +.icon-align-justify { + background-position: -336px -48px; +} +.icon-list { + background-position: -360px -48px; +} +.icon-indent-left { + background-position: -384px -48px; +} +.icon-indent-right { + background-position: -408px -48px; +} +.icon-facetime-video { + background-position: -432px -48px; +} +.icon-picture { + background-position: -456px -48px; +} +.icon-pencil { + background-position: 0 -72px; +} +.icon-map-marker { + background-position: -24px -72px; +} +.icon-adjust { + background-position: -48px -72px; +} +.icon-tint { + background-position: -72px -72px; +} +.icon-edit { + background-position: -96px -72px; +} +.icon-share { + background-position: -120px -72px; +} +.icon-check { + background-position: -144px -72px; +} +.icon-move { + background-position: -168px -72px; +} +.icon-step-backward { + background-position: -192px -72px; +} +.icon-fast-backward { + background-position: -216px -72px; +} +.icon-backward { + background-position: -240px -72px; +} +.icon-play { + background-position: -264px -72px; +} +.icon-pause { + background-position: -288px -72px; +} +.icon-stop { + background-position: -312px -72px; +} +.icon-forward { + background-position: -336px -72px; +} +.icon-fast-forward { + background-position: -360px -72px; +} +.icon-step-forward { + background-position: -384px -72px; +} +.icon-eject { + background-position: -408px -72px; +} +.icon-chevron-left { + background-position: -432px -72px; +} +.icon-chevron-right { + background-position: -456px -72px; +} +.icon-plus-sign { + background-position: 0 -96px; +} +.icon-minus-sign { + background-position: -24px -96px; +} +.icon-remove-sign { + background-position: -48px -96px; +} +.icon-ok-sign { + background-position: -72px -96px; +} +.icon-question-sign { + background-position: -96px -96px; +} +.icon-info-sign { + background-position: -120px -96px; +} +.icon-screenshot { + background-position: -144px -96px; +} +.icon-remove-circle { + background-position: -168px -96px; +} +.icon-ok-circle { + background-position: -192px -96px; +} +.icon-ban-circle { + background-position: -216px -96px; +} +.icon-arrow-left { + background-position: -240px -96px; +} +.icon-arrow-right { + background-position: -264px -96px; +} +.icon-arrow-up { + background-position: -289px -96px; +} +.icon-arrow-down { + background-position: -312px -96px; +} +.icon-share-alt { + background-position: -336px -96px; +} +.icon-resize-full { + background-position: -360px -96px; +} +.icon-resize-small { + background-position: -384px -96px; +} +.icon-plus { + background-position: -408px -96px; +} +.icon-minus { + background-position: -433px -96px; +} +.icon-asterisk { + background-position: -456px -96px; +} +.icon-exclamation-sign { + background-position: 0 -120px; +} +.icon-gift { + background-position: -24px -120px; +} +.icon-leaf { + background-position: -48px -120px; +} +.icon-fire { + background-position: -72px -120px; +} +.icon-eye-open { + background-position: -96px -120px; +} +.icon-eye-close { + background-position: -120px -120px; +} +.icon-warning-sign { + background-position: -144px -120px; +} +.icon-plane { + background-position: -168px -120px; +} +.icon-calendar { + background-position: -192px -120px; +} +.icon-random { + background-position: -216px -120px; + width: 16px; +} +.icon-comment { + background-position: -240px -120px; +} +.icon-magnet { + background-position: -264px -120px; +} +.icon-chevron-up { + background-position: -288px -120px; +} +.icon-chevron-down { + background-position: -313px -119px; +} +.icon-retweet { + background-position: -336px -120px; +} +.icon-shopping-cart { + background-position: -360px -120px; +} +.icon-folder-close { + background-position: -384px -120px; + width: 16px; +} +.icon-folder-open { + background-position: -408px -120px; + width: 16px; +} +.icon-resize-vertical { + background-position: -432px -119px; +} +.icon-resize-horizontal { + background-position: -456px -118px; +} +.icon-hdd { + background-position: 0 -144px; +} +.icon-bullhorn { + background-position: -24px -144px; +} +.icon-bell { + background-position: -48px -144px; +} +.icon-certificate { + background-position: -72px -144px; +} +.icon-thumbs-up { + background-position: -96px -144px; +} +.icon-thumbs-down { + background-position: -120px -144px; +} +.icon-hand-right { + background-position: -144px -144px; +} +.icon-hand-left { + background-position: -168px -144px; +} +.icon-hand-up { + background-position: -192px -144px; +} +.icon-hand-down { + background-position: -216px -144px; +} +.icon-circle-arrow-right { + background-position: -240px -144px; +} +.icon-circle-arrow-left { + background-position: -264px -144px; +} +.icon-circle-arrow-up { + background-position: -288px -144px; +} +.icon-circle-arrow-down { + background-position: -312px -144px; +} +.icon-globe { + background-position: -336px -144px; +} +.icon-wrench { + background-position: -360px -144px; +} +.icon-tasks { + background-position: -384px -144px; +} +.icon-filter { + background-position: -408px -144px; +} +.icon-briefcase { + background-position: -432px -144px; +} +.icon-fullscreen { + background-position: -456px -144px; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/style.css b/src/Trinity/Bundle/AdminBundle/Resources/public/css/style.css new file mode 100644 index 0000000..6d7fb33 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/style.css @@ -0,0 +1,1379 @@ +body { + padding: 69px 15px 50px; +} + +body.forceColors { + padding-top: 0; +} + +.sf-toolbarreset { + bottom: 43px !important; +} + +.clear { + clear: both; +} + +#crud .tabbable li a { + color: #0AAADF; +} + +.espace-right { + margin-right: 20px; +} + +.espace-left { + margin-left: 20px; +} + +.espace-top { + margin-top: 10px; +} + +.espace-top2 { + margin-top: 23px; +} + +.espace-top3 { + margin-top: 30px; +} + +.icon-espace-left { + margin-left: 5px; +} + +.icon-espace-right { + margin-right: 5px; +} + +.footer-fixed-add { + background-color: #F7F7F7; + background-image: -moz-linear-gradient(-90deg, #e4e4e4, #ffffff); + border-top: 1px solid #BBBBBB; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 0 0 rgba(0, 0, 0, 0.1) inset; + position: fixed; + bottom: 0; + width: 100%; + border-top: 1px solid #ccc; + left: 0; + padding: 10px ; + z-index: 510; + min-height: 30px; + /*background: url(background-stripe.png);*/ + +} + +.footer-fixed-add > div { + padding-left: 250px; +} + +.footer-fixed-add div.button-administration { + float: left; + margin-top: 5px; +} + +.footer-fixed-add > div table { + vertical-align: middle; + float: right; +} + +body.forceColors .footer-fixed-add > div { + padding-left: 0; +} + +.footer-fixed-add .footer-fixed-logo { + margin: 0 15px; +} + +.navbar-inner li, +.navbar-inner ul { + /*background-image: -moz-linear-gradient(center top , #222222, #111111);*/ + +} + +.navbar-inner #navbar-logo { + float: left; + padding: 5px 5px 5px 0; + height: 30px; +} + +.navbar-inner a:hover { + color: #999999; + text-decoration: none; +} + +.cpanel { + text-align: center; + display: inline-block; + margin: 0 20px 20px 0; +} + +.box-dashboard { + width: 100px; + height: 100px; +} + +.group-box-dashboard .span1 { + margin: 0; +} + +.no-margin { + margin: 0; +} + +.img-dashboard { + margin-top: 20px; + height: 32px; +} + +.cpanel div.box-dashboard a { + width: 100%; + height: 100%; + border: solid 1px #ccc; +} + +.cpanel div.box-dashboard a:hover { + text-decoration: none; + background-color: #F1E8E6; + border: solid 1px red; +} + +.cpanel h3 { + margin: 0; + width: 100%; + border-top: solid 1px #ccc; + border-left: solid 1px #ccc; + border-right: solid 1px #ccc; + background: url(background-stripe.png); +} + +.big-box-dashboard { + margin-bottom: 10px; +} + +.help-block i { + margin-top: 2px; + opacity: 0.4; +} + +.bloc-analytics { + width: 500px; + text-align: center; + border: solid 1px #ccc; + border-radius: 3px; +} + +.bloc-analytics h4 { + background: url(background-stripe.png); + color: #000; + margin: 0; + padding: 10px 0; +} + +.bloc-analytics h4:hover, +.bloc-divers-dashboard h4:hover { + cursor: pointer; +} + +.bloc-divers-dashboard th { + background: url(background-stripe.png); + padding: 0px 5px; + text-align: center; +} + +.table-striped tbody tr.list_row_active td { + background-color: #FDFFD8; +} + +.table-striped tbody tr.list_row_active td:hover { + background-color: #FAFF9E; +} + +.no-style { + text-decoration: none; + color: #fff; +} + +.no-style:hover { + color: #ccc; + text-decoration: none; +} + +.filter select, +.filter label { + float: left; + margin-right: 10px; + margin-left: 5px; +} + +.filter label { + margin-top: 5px; + font-size: 15px; + text-transform: capitalize; +} + +.filter .filter-item { + float: left; +} + +#batch_action { + margin-top: 10px; +} + +.nav img { + position: absolute; + margin-top: 5px; + margin-left: 5px; + width: 16px; + height: 16px; +} + +.icon-gray, +.nav-tabs > .active > a > [class^="icon-"], +.nav-tabs > .active > a > [class*=" icon-"], +.nav-pills > .active > a > [class^="icon-"], +.nav-pills > .active > a > [class*=" icon-"], +.nav-list > .active > a > [class^="icon-"], +.nav-list > .active > a > [class*=" icon-"], +.navbar-inverse .nav > .active > a > [class^="icon-"], +.navbar-inverse .nav > .active > a > [class*=" icon-"], +.dropdown-menu > li > a:hover > [class^="icon-"], +.dropdown-menu > li > a:hover > [class*=" icon-"], +.dropdown-menu > .active > a > [class^="icon-"], +.dropdown-menu > .active > a > [class*=" icon-"] { + /*background-image: url("../img/glyphicons-halflings-white.png");*/ + + background-image: url("../img/glyphicons-halflings-grey.png"); +} + +.btn .icon-white { + background-image: url("../img/glyphicons-halflings-white.png"); +} + +.form-horizontal .controls { + margin-bottom: 10px; + *display: inline-block; + *padding-left: 20px; + margin-left: 180px; + *margin-left: 0; +} + +.modal form { + margin: 0; +} + +.modal th { + padding-right: 10px; + text-align: left; +} + +.modal .accordion { + margin-top: 10px; +} + +.modal .accordion-toggle { + color: #333; +} + +.modal .accordion-toggle:hover { + text-decoration: none; +} + +.accordion-toggle input { + vertical-align: middle; + margin-top: 0 !important; +} + +/* BLOCK SIGNIN */ +.signin { + margin: 0 auto 20px; + max-width: 500px; + padding: 19px 29px 29px; + position: relative; + left: -80px; +} + +.signin .signin-info { + width: 200px; + padding: 5px 20px 5px; + text-align: right; +} + +.form-signin { + background-color: #F9F9F9; + border: 1px solid #E5E5E5; + border-radius: 5px 5px 5px 5px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + margin: 0; + width: 300px; + padding: 19px 29px 15px; +} + +.form-signin .head_signin { + margin-bottom: 20px; +} + +.form-signin #username, +.form-signin #password, +.modal #login_form #username, +.modal #login_form #password { + width: 100%; + height: 30px; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.form-signin #password { + margin-bottom: 15px; +} + +.form-signin .checkbox, +.modal #login_form .modal-footer .checkbox { + float: left; +} + +.form-signin .btn-primary, +.modal #login_form .modal-footer .btn-primary { + float: right; +} + +.modal #login_form { + width: auto; + background-color: #F9F9F9; + margin: 0; + padding: 0 0 5px; +} + +/* END BLOCK SIGNIN */ +ul.nav ul.menu_level_1 li:hover ul.menu_level_2 { + display: block; +} + +ul.nav ul.menu_level_1 ul.menu_level_2 { + display: none; + left: 164px; + top: -2px; +} + +.nav .menu_level_2.dropdown-menu:after { + border-bottom: none; +} + +.hidden { + display: none; +} + +h1 { + font-size: 30px; +} + +h3 { + font-size: 15px; +} + +h3 i { + vertical-align: middle; +} + +.loading { + display: none; + left: 40%; + position: fixed; + width: 250px; + padding: 10px; + border: 1px solid #ccc; + background: #fff; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + top: 50%; + z-index: 3000; +} + +.loading * { + padding: 3px; + margin: 0; + vertical-align: middle; +} + +.loading h3 { + font-size: 13px; +} + +.modal-form th { + text-align: left; + padding-right: 5px; + font-weight: bold; +} + +[class^="pics-"], +[class*=" pics-"] { + display: inline-block; + width: 51px; + height: 50px; + line-height: 50px; + vertical-align: text-top; + background-image: url(../img/node_position.png); + background-position: 0 0; + margin-right: 5px; + background-repeat: no-repeat; + box-shadow: 0 0 11px transparent; + border-radius: 9px; + cursor: pointer; +} + +[class^="pics-"].active, +[class*=" pics-"].active { + box-shadow: 0 0 9px #187ac4; +} + +.pics-node-position-above { + background-position: -100px 0; +} + +.pics-node-position-after { + background-position: -50px 0; +} + +.pics-node-position-before { + background-position: 0 0; +} + +.node-position-margin-right { + margin-right: 40px; +} + +.node-position-margin-left { + margin-left: 10px; +} + +#breadcrumb { + position: fixed; + top: 40px; + height: 29px; + width: 100%; + left: 0; + border-top: 1px solid #d2cbcb; + border-bottom: 1px solid #d2cbcb; + background: #f2f2f2; + box-shadow: 0 0 3px rgba(0, 0, 0, 0.25), 0 0 0 rgba(0, 0, 0, 0.1) inset; + z-index: 1029; +} + +#breadcrumb ul { + margin: 0; + padding: 0; + display: table; + height: 29px; +} + +#breadcrumb li { + background: #e2e2e2; + display: table-cell; + line-height: 29px; +} + +#breadcrumb li a { + padding: 0 15px; + color: #202020; +} + +#breadcrumb li:last-child a { + font-weight: bold; + color: #0aaadf; +} + +#breadcrumb li:last-child { + background: none; +} + +#breadcrumb li.sep { + display: table-cell; + width: 12px; + background: #e2e2e2 url('../img/breadcrumb_item_right.png'); +} + +#breadcrumb li.last-sep { + display: table-cell; + width: 12px; + background: url('../img/breadcrumb_item_right.png'); +} + +#breadcrumb .help { + float: right; + line-height: 29px; + height: 29px; + padding-right: 15px; +} + +#panel { + position: absolute; + top: 71px; + left: 0; + width: 240px; + min-height: 100%; + background: #f6f6f6; + border-right: 1px solid #d5d5d5; + padding-bottom: 50px; + z-index: 500; + overflow: hidden; +} + +#panel.tinymce { + top: 0px; + width: 160px; +} + +#panel .sep { + height: 10px; + border-bottom: 1px solid #d5d5d5; + margin-bottom: 10px; +} + +#panel li a { + color: #333; +} + +#panel ul, +#panel li { + list-style: none; +} + +#panel .tab-pane > ul { + margin: 0 0 0 15px; + padding: 0; +} + +#panel ul ul { + padding-left: 15px; +} + +#panel li { + line-height: 22px; +} + +#panel h3 { + margin-left: 15px; +} + +#panel h3 i { + vertical-align: middle; +} + +#panel .accordion-toggle { + color: #202020; +} + +#panel .accordion-group { + border-radius: 0; +} + +#panel .accordion-heading { + background: #E2E2E2; +} + +#panel .filters { + padding: 10px; +} + +#panel .history { + margin-left: 0 !important; +} + +#panel .history li { + padding-left: 15px; + line-height: auto; +} + +#panel .nav { + margin-top: 0; + margin-bottom: 5px; +} + +#panel .nav-tabs > li > a { + border-radius: 0; + border-top: 0; + margin-right: 0; +} + +#panel .nav-tabs > li:last-child > a { + border-right: 0; +} + +#panel .nav-tabs { + background: #fcfcfc; + display: table; + width: 100%; + border-bottom: 0; +} + +#panel .nav-tabs li { + display: table-cell; + float: none; + border-bottom: 1px solid #DDDDDD; +} + +#panel .nav-tabs li.active a { + background: #F6F6F6; +} + +#panel .nav-tabs li.active { + border-bottom: 1px solid #F6F6F6; +} + +#panel .tab-content { + overflow: visible; +} + +#panel .tab-content .chosen-container { + margin-bottom: 9px; +} + +.nav-select { + padding-left: 11px; +} + +.tab-small { + width: 40px; +} + +.node_info, +.node_info_th { + width: 885px; + position: absolute; + left: 241px; + padding-left: 15px; +} + +.node_actions_list { + text-align: center; +} + +.node_actions_list a { + cursor: pointer; +} + +.node_action_edit_page_container { + padding-left: 15px; +} + +.node .toggle { + width: 9px; + height: 9px; + display: inline-block; + cursor: pointer; +} + +.node .toggle.page { + background: url('../img/page.png'); +} + +.node .toggle.minus { + background: url('../img/minus.png'); +} + +.node .toggle.plus { + background: url('../img/plus.png'); +} + +.node:hover > div > .node_info { + background: #F6F6F6; +} + +.node:hover > div > .node_title { + font-weight: bold; +} + +.node_title.active { + font-weight: bold; +} + +.accordion-inner .node:hover > div > .node_title { + font-weight: normal; +} + +.accordion-inner .node .node_title { + color: #999; +} + +.accordion-inner .node .node_title a { + color: #333; +} + +#panel .accordion-inner > ul { + margin: 4px 0; +} + +.node > div { + display: none; +} + +.node > div:first-child { + display: block; +} + +.node_url a, +.node_url { + color: #666; +} + +.node_url span { + padding: 0 2px; + color: #000; + font-weight: bold; +} + +.edit_node_permissions li { + height: 23px; +} + +.edit_node_permissions li input { + margin-top: 0 !important; +} + +.edit_node_permissions label { + display: inline-block; + margin-left: 4px; +} + +.node_status { + display: table; + width: 100%; + margin-bottom: 15px; +} + +.node_status > div { + display: table-cell; + width: 50%; + height: 23px; +} + +.right { + text-align: right; +} + +.pagination-right { + float: right; + margin: 0 !important; + padding: 0 !important; +} + +.pagination ul { + margin: 0; + padding: 0; +} + +.with-panel { + margin-left: 240px; +} + +#crud { + margin-top: 20px; +} + +#crud.tinymce { + margin-left: 160px; +} + +#edit_page_container .markItUp { + margin-left: 150px; +} + +#crud .table th, +#crud .table td { + padding: 5px 8px 3px; + border-bottom: 2px transparent solid; +} + +.table-striped tbody tr:nth-child(2n+1) td, .table-striped tbody tr:nth-child(2n+1) th { + border-bottom: 2px transparent solid; +} + +#crud .table tbody tr:hover th, +#crud .table tbody tr:hover td { + border-bottom: 2px #0AAADF solid; + background-color: #e6f4f8; +} + +#crud .table tbody tr:hover td:first-child { + border-left: none; +} + +#crud .table tr th a:hover, +#crud .table tr td a:hover { + color: #222222; +} + +.tinymce_select span { + color: #222222; + text-decoration: none; + padding-left: 3px; +} + +.batch_th { + width: 5px; +} + +.actions_th { + width: 50px; +} + +#crud .table .batch_td, +#crud .table .actions_td { + text-align: center; +} + +.i18n_th { + width: 5px; +} + +.tree_root_actions .icon-remove { + display: none; +} + +#crud .table .cols_th a { + color: #333; +} + +.cols_td a { + color: #111; +} + +#crud .pagination a { + color: #333; + font-weight: normal; +} + +#crud .pagination .current a { + font-weight: bold; + color: #0AAADF; +} + +#crud .pagination ul { + margin-left: 7px; + margin-bottom: -7px; +} + +a.btn { + font-weight: normal; +} + +#crud .crud-title { + margin-top: 25px; + margin-left: 15px; + font-size: 22px; +} + +#crud .sep { + height: 10px; +} + +#crud .crud-menu { + padding-left: 16px; +} + +#crud legend { + border: 0; + font-size: 14px; + font-weight: bold; + position: absolute; + width: 300px; + margin-top: -5px; +} + +#crud .control-label { + text-align: right; + font-weight: bold; + color: #555; +} + +#crud .control-group label { + float: left; + padding-top: 5px; + margin-right: 17px; + text-align: right; + width: 140px; + font-weight: bold; + color: #555555; +} + +#crud .control-group div.controls > div label { + width: auto; + padding-left: 5px; +} + +#crud .control-group > div > div { + padding-bottom: 10px; +} + +#crud .form-horizontal > div > div > div > label { + display: none; +} + +#crud .control-group.well .form-horizontal > div { + margin-bottom: 10px; +} + +#crud .control-group.well .form-horizontal > div.footer-fixed-add { + margin-bottom: 0; +} + +#crud .control-group div.controls > div input { + margin-top: 5px; +} + +#crud .control-group div.controls > div select { + margin-top: 5px; +} + +#crud .control-group div.controls > div > input[type=checkbox], +#crud .control-group div.controls > div > label { + display: inline-block; + float: none; + margin-top: 0; + vertical-align: middle; +} + +#crud .control-group div.controls > div .form-row label { + width: 140px; + padding-left: inherit; +} + +#crud .control-group div.controls > div .form-row input { + float: inherit; + margin-top: inherit; +} + +#crud .control-group form > div > div .form-row label { + display: none; +} + +#crud fieldset { + margin-bottom: 15px; +} + +#crud fieldset.first { + margin-top: 15px; +} + +#crud .well { + border-radius: 0; +} + +#crud input[type=text] { + min-width: 540px; +} + +#crud textarea { + min-width: 550px; + min-height: 100px; +} + +#crud .help, +#crud .form-help { + display: block; + color: #555; + padding: 3px 0; +} + +#crud .form-help { + padding-left: 156px; +} + +.form-icon-helper { + position: relative; + margin-right: -10px; +} + +#crud .form-row { + margin-bottom: 10px; +} + +#crud .form-horizontal > div { + clear: left; +} + +.main_dashboard { + width: 50%; + float: left; + margin-right: 20px; + padding: 10px; +} + +.zone ul li:first-child { + border-top-left-radius: 15px; + border-bottom-left-radius: 15px; +} + +.zone ul li:last-child { + border-top-right-radius: 15px; + border-bottom-right-radius: 15px; +} + +li.item { + background-color: #f9f9f9; + border: solid 1px #e6e6e6; + float: left; + text-align: center; + width: 150px; + padding-top: 5px; + height: 120px; +} + +li.item a { + display: block; + padding: 10px 25px 5px; +} + +li.item:hover { + background-color: #e6e6e6; +} + +li.item img { + width: 60px; + height: 60px; +} + +li.item p { + padding: 0; + color: #393939; + text-align: center; + line-height: 12px; +} + +.zone h3 { + padding-top: 4px; +} + +.zone-float .zone { + float: left; + padding-right: 20px; + padding-bottom: 20px; +} + +.zone-float .clear { + clear: none; +} + +.stats { + background-color: #f6f6f6; + border-solid: 1px #ccc; + padding: 10px; + float: left; +} + +.history .date { + font-size: 11px; + color: #818181; + display: block; +} + +.message { + width: 50%; + position: absolute; + top: -2px; + right: 0; + padding-bottom: 0; + margin-bottom: 0; + z-index: 5000; + overflow: hidden; +} + +.message .alert { + padding-bottom: 0; + margin-bottom: 0; + border-left: 4px solid #999; + width: 100%; +} + +#edit_page_preview { + min-height: 100%; + position: relative; + overflow: display; +} + +#edit_page_preview iframe { + width: 99%; + border: 1px solid #ccc; +} + +.fileupload-exists { + vertical-align: middle; +} + +.rankable { + font-weight: normal; +} + +.crud-image { + max-height: 100px; + max-width: 100px; +} + +.file-preview { + padding-top: 5px; + display: inline-block; +} + +.file-preview a { + padding-left: 15px; + display: inline-block; +} + +#crud .file-preview input { + float: none; + vertical-align: middle; + margin-right: 4px; + margin-top: 0 !important; +} + +#crud .file-preview label { + float: none; + font-weight: normal; + margin: 0; + padding: 0; + text-align: left; + width: auto; + display: inline-block; +} + +.editorial_block_table table { + width: 500px; + background: #fff; +} + +.editorial_block_table tr { + width: 500px; +} + +.editorial_block_table thead tr { + vertical-align: middle; + height: 30px; +} + +.editorial_block_table tbody td { + height: 40px; + vertical-align: middle; +} + +.editorial_block_table .table tbody tr:hover td { + background: #fff; + cursor: pointer; +} + +.slideshow_item_table table { + width: 800px; + background: #fff; +} + +.slideshow_item_table tr { + width: 500px; +} + +.slideshow_item_table thead tr { + vertical-align: middle; + height: 30px; +} + +.slideshow_item_table tbody td { + height: 40px; + vertical-align: middle; +} + +.slideshow_item_table .table tbody tr:hover td { + background: #fff; + cursor: pointer; +} + +#crud .crud_culture > label { + display: none; +} + +#crud .crud_culture .form-row > label { + padding-left: 0; +} + +.control-group-culture > label { + display: none; +} + +.control-group-culture .controls { + margin-left: 0 !important; +} + +.crud_culture_menu a, +.crud_culture_menu a:hover, +.crud_culture_menu .active a { + /*color: #0AAADF;*/ + + color: transparent !important; + width: 16px; + height: 16px; +} + +.nav-tab-fr a, +.nav-tab-fr_FR a { + background: url('/bundles/trinityadmin/img/flags/fr.png') center center no-repeat; +} + +.nav-tab-en a, +.nav-tab-en_EN a { + background: url('/bundles/trinityadmin/img/flags/en.png') center center no-repeat; +} + +.nav-tab-de a, +.nav-tab-de_DE a { + background: url('/bundles/trinityadmin/img/flags/de.png') center center no-repeat; +} + +.file-preview-img { + max-width: 100px; + display: block; +} + +.file-preview-modale-img { + width: 100%; +} + +.data-countable-counter { + display: inline-block; + padding-left: 3px; +} + +.red { + color: #A7171E; +} + +.orange { + color: #D48927; +} + +.add_collection_element_btn { + margin-left: 160px; +} + +.i18n_form_collection .well { + background: none; + border: 0; + border-radius: 0; + box-shadow: none; +} + +.crud_culture label + ul.error_list { + display: inline-block; +} + +.crud_culture.tab-pane > div > div > label { + display: inline-block; + width: 140px; + text-align: right; + font-weight: bold; + margin-right: 20px; + color: #555555; +} + +#crud .embeded-form > div > label { + display: inline-block !important; + width: 133px !important; + text-align: right !important; + font-weight: bold !important; + margin-right: 20px !important; + color: #555555 !important; +} + +.crud_culture.tab-pane > div > div { + padding-bottom: 15px; +} + +.crud_culture.tab-pane .mce-tinymce.mce-container.mce-panel { + margin-left: 160px; + margin-top: -25px; +} + +.crud_culture.tab-pane br + .mce-tinymce.mce-container.mce-panel { + margin-top: 0; +} + +.page-tab-content .mce-tinymce.mce-container.mce-panel, +.embeded-form .mce-tinymce.mce-container.mce-panel { + margin-left: 157px; +} + +.user_profile_edit:hover { + cursor: pointer; +} + +#fos_user_profile_form label { + display: inline-block; + width: 140px; + margin-right: 20px; + text-align: right; +} + +#fos_user_profile_form ul { + color: #8A0002; + display: inline-block; +} + +#fos_user_profile_form ul + input { + margin-left: 160px; +} + +.mce-tinymce .mce-btn button { + padding: 2px 8px; +} + +.mce-tinymce .mce-colorbutton .mce-preview { + margin-left: -21px; +} + +#crud fieldset ul.error_list { + color: #B22222; + margin: 5px 5px 5px 0; + padding: 0; +} + +.accordion-node .accordion-toggle > input { + display: none; +} + +.opened .accordion-toggle span { + font-weight: bold; +} + +.modified td { + background: #FFEDD0 !important; +} + +.urlpicker_title { + display: block; +} + +.urlpicker_open { + vertical-align: middle; + cursor: pointer; +} + +#meta_dictionary { + padding: 15px; + position: absolute; + right: 75px; + top: 225px; + width: 200px; + color: #fff; +} + +#crud .datetimepicker { + width: 100px; + min-width: 100px !important; +} + +.dropdown-menu .dropdown-menu { + margin-left: -5px; +} + +.chosen-drop { + margin-top: -13px; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/tables.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/tables.less new file mode 100644 index 0000000..3c0abe9 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/tables.less @@ -0,0 +1,150 @@ +// +// Tables.less +// Tables for, you guessed it, tabular data +// ---------------------------------------- + + +// BASE TABLES +// ----------------- + +table { + max-width: 100%; + border-collapse: collapse; + border-spacing: 0; +} + +// BASELINE STYLES +// --------------- + +.table { + width: 100%; + margin-bottom: @baseLineHeight; + // Cells + th, + td { + padding: 8px; + line-height: @baseLineHeight; + text-align: left; + vertical-align: top; + border-top: 1px solid #ddd; + } + th { + font-weight: bold; + } + // Bottom align for column headings + thead th { + vertical-align: bottom; + } + // Remove top border from thead by default + thead:first-child tr th, + thead:first-child tr td { + border-top: 0; + } + // Account for multiple tbody instances + tbody + tbody { + border-top: 2px solid #ddd; + } +} + + + +// CONDENSED TABLE W/ HALF PADDING +// ------------------------------- + +.table-condensed { + th, + td { + padding: 4px 5px; + } +} + + +// BORDERED VERSION +// ---------------- + +.table-bordered { + border: 1px solid #ddd; + border-collapse: separate; // Done so we can round those corners! + *border-collapse: collapsed; // IE7 can't round corners anyway + .border-radius(4px); + th + th, + td + td, + th + td, + td + th { + border-left: 1px solid #ddd; + } + // Prevent a double border + thead:first-child tr:first-child th, + tbody:first-child tr:first-child th, + tbody:first-child tr:first-child td { + border-top: 0; + } + // For first th or td in the first row in the first thead or tbody + thead:first-child tr:first-child th:first-child, + tbody:first-child tr:first-child td:first-child { + .border-radius(4px 0 0 0); + } + thead:first-child tr:first-child th:last-child, + tbody:first-child tr:first-child td:last-child { + .border-radius(0 4px 0 0); + } + // For first th or td in the first row in the first thead or tbody + thead:last-child tr:last-child th:first-child, + tbody:last-child tr:last-child td:first-child { + .border-radius(0 0 0 4px); + } + thead:last-child tr:last-child th:last-child, + tbody:last-child tr:last-child td:last-child { + .border-radius(0 0 4px 0); + } +} + + +// ZEBRA-STRIPING +// -------------- + +// Default zebra-stripe styles (alternating gray and transparent backgrounds) +.table-striped { + tbody { + tr:nth-child(odd) td, + tr:nth-child(odd) th { + background-color: #f9f9f9; + } + } +} + + +// HOVER EFFECT +// ------------ +// Placed here since it has to come after the potential zebra striping +.table { + tbody tr:hover td, + tbody tr:hover th { + background-color: #f5f5f5; + } +} + + +// TABLE CELL SIZING +// ----------------- + +// Change the columns +.tableColumns(@columnSpan: 1) { + float: none; + //width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16; + margin-left: 0; +} +table { + .span1 { .tableColumns(1); } + .span2 { .tableColumns(2); } + .span3 { .tableColumns(3); } + .span4 { .tableColumns(4); } + .span5 { .tableColumns(5); } + .span6 { .tableColumns(6); } + .span7 { .tableColumns(7); } + .span8 { .tableColumns(8); } + .span9 { .tableColumns(9); } + .span10 { .tableColumns(10); } + .span11 { .tableColumns(11); } + .span12 { .tableColumns(12); } +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/thumbnails.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/thumbnails.less new file mode 100644 index 0000000..3a12d4e --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/thumbnails.less @@ -0,0 +1,35 @@ +// THUMBNAILS +// ---------- + +.thumbnails { + margin-left: -@gridGutterWidth; + list-style: none; + .clearfix(); +} +.thumbnails > li { + float: left; + margin: 0 0 @baseLineHeight @gridGutterWidth; +} +.thumbnail { + display: block; + padding: 4px; + line-height: 1; + border: 1px solid #ddd; + .border-radius(4px); + .box-shadow(0 1px 1px rgba(0,0,0,.075)); +} +// Add a hover state for linked versions only +a.thumbnail:hover { + border-color: @linkColor; + .box-shadow(0 1px 4px rgba(0,105,214,.25)); +} +// Images and captions +.thumbnail > img { + display: block; + max-width: 100%; + margin-left: auto; + margin-right: auto; +} +.thumbnail .caption { + padding: 9px; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/tinymce.css b/src/Trinity/Bundle/AdminBundle/Resources/public/css/tinymce.css new file mode 100644 index 0000000..cfc9a17 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/tinymce.css @@ -0,0 +1,10 @@ +body { + background-color: #ececec; + font-family: Arial, Verdana, sans-serif; + font-size: 12px; + color: #000; + text-align: justify; + line-height: 16px; + margin: 10px; +} + diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/tooltip.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/tooltip.less new file mode 100644 index 0000000..5111a19 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/tooltip.less @@ -0,0 +1,35 @@ +// TOOLTIP +// ------= + +.tooltip { + position: absolute; + z-index: @zindexTooltip; + display: block; + visibility: visible; + padding: 5px; + font-size: 11px; + .opacity(0); + &.in { .opacity(80); } + &.top { margin-top: -2px; } + &.right { margin-left: 2px; } + &.bottom { margin-top: 2px; } + &.left { margin-left: -2px; } + &.top .tooltip-arrow { #popoverArrow > .top(); } + &.left .tooltip-arrow { #popoverArrow > .left(); } + &.bottom .tooltip-arrow { #popoverArrow > .bottom(); } + &.right .tooltip-arrow { #popoverArrow > .right(); } +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: @white; + text-align: center; + text-decoration: none; + background-color: @black; + .border-radius(4px); +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/type.less b/src/Trinity/Bundle/AdminBundle/Resources/public/css/type.less new file mode 100644 index 0000000..68afdf6 --- /dev/null +++ b/src/Trinity/Bundle/AdminBundle/Resources/public/css/type.less @@ -0,0 +1,220 @@ +// Typography.less +// Headings, body text, lists, code, and more for a versatile and durable typography system +// ---------------------------------------------------------------------------------------- + + +// BODY TEXT +// --------- + +p { + //margin: 0 0 @baseLineHeight / 2; + font-family: @baseFontFamily; + font-size: @baseFontSize; + line-height: @baseLineHeight; + small { + //font-size: @baseFontSize - 2; + color: @grayLight; + } +} +.lead { + margin-bottom: @baseLineHeight; + font-size: 20px; + font-weight: 200; + //line-height: @baseLineHeight * 1.5; +} + +// HEADINGS +// -------- + +h1, h2, h3, h4, h5, h6 { + margin:10px 0; + font-weight: bold; + color: @grayDark; + text-rendering: optimizelegibility; // Fix the character spacing for headings + small { + font-weight: normal; + color: @grayLight; + } +} +h1 { + font-size: 30px; + //line-height: @baseLineHeight * 2; + margin:15px 0; + small { + font-size: 18px; + } +} +h2 { + font-size: 24px; + //line-height: @baseLineHeight * 2; + small { + font-size: 18px; + } +} +h3 { + //line-height: @baseLineHeight * 1.5; + font-size: 18px; + small { + font-size: 14px; + } +} +h4, h5, h6 { + line-height: @baseLineHeight; +} +h4 { + font-size: 14px; + small { + font-size: 12px; + } +} +h5 { + font-size: 12px; +} +h6 { + font-size: 11px; + color: @grayLight; + text-transform: uppercase; +} + +// Page header +.page-header { + //padding-bottom: @baseLineHeight - 1; + margin: @baseLineHeight 0; + border-bottom: 1px solid @grayLighter; +} +.page-header h1 { + line-height: 1; +} + + + +// LISTS +// ----- + +// Unordered and Ordered lists +ul, ol { + padding: 0; + //margin: 0 0 @baseLineHeight / 2 25px; +} +ul ul, +ul ol, +ol ol, +ol ul { + margin-bottom: 0; +} +ul { + list-style: disc; +} +ol { + list-style: decimal; +} +li { + line-height: @baseLineHeight; + list-style:none; +} +ul.unstyled, +ol.unstyled { + margin-left: 0; + list-style: none; +} + +// Description Lists +dl { + margin-bottom: @baseLineHeight; +} +dt, +dd { + line-height: @baseLineHeight; +} +dt { + font-weight: bold; +} +dd { + //margin-left: @baseLineHeight / 2; +} + +// MISC +// ---- + +// Horizontal rules +hr { + margin: @baseLineHeight 0; + border: 0; + border-top: 1px solid @hrBorder; + border-bottom: 1px solid @white; +} + +// Emphasis +strong { + font-weight: bold; +} +em { + font-style: italic; +} +.muted { + color: @grayLight; +} + +// Abbreviations and acronyms +abbr { + font-size: 90%; + text-transform: uppercase; + border-bottom: 1px dotted #ddd; + cursor: help; +} + +// Blockquotes +blockquote { + padding: 0 0 0 15px; + margin: 0 0 @baseLineHeight; + border-left: 5px solid @grayLighter; + p { + margin-bottom: 0; + #font > .shorthand(16px,300,@baseLineHeight * 1.25); + } + small { + display: block; + line-height: @baseLineHeight; + color: @grayLight; + &:before { + content: '\2014 \00A0'; + } + } + + // Float right with text-align: right + &.pull-right { + float: right; + padding-left: 0; + padding-right: 15px; + border-left: 0; + border-right: 5px solid @grayLighter; + p, + small { + text-align: right; + } + } +} + +// Quotes +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} + +// Addresses +address { + display: block; + margin-bottom: @baseLineHeight; + line-height: @baseLineHeight; + font-style: normal; +} + +// Misc +small { + font-size: 100%; +} +cite { + font-style: normal; +} diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/animated-overlay.gif b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/animated-overlay.gif new file mode 100644 index 0000000000000000000000000000000000000000..d441f75ebfbdf26a265dfccd670120d25c0a341c GIT binary patch literal 1738 zcmZ|OX;ji_6b5ixNYt8>l?gOuO)6lU%W(mxn(`>1S(XO;u`D+P%xqBvMr|w-Vyr1s z7R|Cn0b8|Hu<=Zmv1mFqh9Fj!NuZfKB2MP$e75`XJ@>=!y!Ux9xR3x;EW!q1^V>X| znVFuRUN`NqJ2)ybXh%e__h!!pv(M|S3+?9F%(K}zyE40MGyhWF5-IDgL&=%2-9`Nk z!1@8uk4t%_{(K~>N;sK&dzJbwJ=$kYTlL=$%#0Pfh>U{%i@~wWbvYsD_K-D`&+u1( z#Ma`>%q<^UhzGvi(hyE`zCD{-=2|zL5>wnB=DE!U?(CZG%q4@lDnCq_%&3DCla#(X zmBhDD+RN$aMWWHm?ig*>1Onn6~r?Ma~N2JKAxN>H%UtRyRqS)6Um!-Tz%-r=& zQmTb^JFIe3W^-kAm`}`2P|niMh>RYyd)S^f(dbrx965?rzbhP|XeP}o&&DSZ4|oYQ z)I{f!SfycYw?3=9W;o-B%U5xs(pP267X~9-7L|4WzaYexC0GtG8wWygm63rF{llCEraxzkc=IxvFQ-y37=_;e5 zJLq^gsSO0Ayz?a>E_?{dmUc+t#qv$)XN8$<<}rQ#)lsiw+pmL&J>~+hgpo>i$m+;l zZIa_ZRIfSeT$~v5d`EBV&*k`apPgjv&B|+d`Q!nyu{L4rs%ZfoF0*Kq8I%ByOcFpL zK=>wzofZo<+0GZLCnWM3oQ^pb(gRSf02;~cEn@LJ>~XB9IkEX{$N#Z`m%>S!U{uPx zloI%bLdo$Adxlh(Uv^yX7s5G&C zLwNRG>~T?G{kzupp8EcyLGPoPf)@&9Wqfw_l&uU-6cexk%5;uQg%wb=0k_733{i#& z1a2p)gV3S2+QG1-K9tZ}E~I<(P0r2aFFY-c{o?TUOz3Xjod#TLE2A_c?*T7t z=1>~%YW450{Qqno4t`}gvLnuMrcu8+#xEBoY%2_+Mb#Z6S38+r*M4O`-+!zl(@m`D zQsi|GA2l3gEy}LFe<#Hv8?$_L#u8E|3-bP$*La*E>B{X!Sy4i6?TKam!49aXCAW4S*P_O^H4^*DpiA40o}Uqw~Eo&veh1`|8i zD2$x+>_b^bXE4N;AW=5>iYak2%!JAh0j1*k1{p#iRCjbB7!cSws~U{1IA@acLII$t z$>X#A+^s6iJ5~DFG!xa?>z{=lxtdi1rzbM-(nqAu3D8h-&64xo6|E!p?pK0xT;qoK z`6%+SpBk+~M?nO}>2mTw!A{yZ6O>Z@kwSd4;8aWU5z!P~tQl?u==^+R`{OmOS}oZh zOXQ3{6kuz?Is^n^L7;9ieB9C+8B{>t+pDrlq4xGDDn#T#3T5$l1g`FTQkU;b-981j zNm{zC`$wn7etklM#qHI4=3m5gwa6DNS{?Z!vSObi_od{4eUo=_S2BKNpkSdiqe(k9WtkeM79;2-%CFbb)aB=&H1?i1}uwFzoZQ(38Kn1zBP ORn*B%u*Wk|4g3!*Rv{Mv literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..aedc583acb329ce238a35cf48ebd157945d3c385 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F0wfqj{vTKlq?nSt-CY>?t&Hpz19_YU9+AaB z+5?Q;PG;Ky8FHR3jv*e$lP#KA4SKlxP~ajahLlrQ(m(7a76DbNmbgZgq$HN4S|t~y z0x1R~14Cn710!7{lMq7-D^oKo19M#i3o8SIsO`ovC>nC}Q!>*kacj_i)%^gdfx*+& K&t;ucLK6U7EjAGV literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..e9c9bc515aa58032757c997d46bce81c0408c5cd GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F0VEhM^6M@GQcOwS?k)`f+xyS#2l6-zJR*yM zvcptHiBA`&IV?paup{S3j3^P6C-NQJ|BmVG&j}3~&vd+(115LU*92t^dF$(Rp5jF*ys9NG0QIe8al4_M) zlnSI6j0_Bobq$PkjZ8ueEv!sUtxQaH4J@n-3>Jk>??KU!o1c=IR*74~We$Anc6a#?2AmP!?*K(O3p^r= zfwTu0yPeFo12U#~x;Tb-9DjS>kdHA?r1fF-|KIlnRtF@qpJAIK#A`jlU}YM!$-9f5NHl z((nGuKvVWVX1%yW@zq|9^kks>R7+eVN>UO_QmvAUQh^kMk%6JHu7Q!Rkx7W5g_WtP rm5HgYfrXWU!J^RVJt!J-^HVa@DsgML%%N`p)WG2B>gTe~DWM4f_$GOK literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..56396e9b99493f0d8764bd9584e7c149e265e7af GIT binary patch literal 316 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..c64e5ced11d1b44ffddce8afbd4c90a12c7b7ac5 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^j6j?s03;ZUuHXC*q?nSt-Ch3w7g=q17Rci)@Q5r1 z(jH*!b~4)z$O!XvaSV~TeDu&-NrwQDhKKpAo&s+Ym>RRV$`)#^V$E5oRTl7m=l?)FK#IZ0z|dINz)07~B*f6d%GA`##8lV7!pgv4QRws@ e6b-rgDVb@NxHVkn&^G{TVDNPHb6Mw<&;$TOidGB& literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..25fab67a308edaa4cbb6cebc1582be49f214d6e3 GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^j6j?s03;ZUuHXC*q?nSt-Ch3w7g=q17Rci)@Q5r1 z(jH*!b~4)z$O!dxaSV~ToSYyLQ81zLqX6?}V`gt{=GoHBzd6~?`LVsrV~dMt`^U-C zBrMsYZrtIQEHM9|g5_k#DzoMso#s6@&4--Xma4ElJ<6lyFL~vP#Fa}gni=vl6~&HZ z%~kJk>??KU! bo1c=IR*74~We$A;PU?7bteI(Mh~Y;Q7U_rJFbs1Kw~Do&}#Q1bw=ZXU1M^`>|rN3{r_PX=4MW}R3hUuyW zz2*DsUhb}7dc99VhC%+P8PIjAC9V-ADTyViR>?)FK#IZ0z|dINz)07~B*f6d%GA`# q#8lV7!pgv4QRws@6b-rgDVb@NxHVkn&^G{TVDNPHb6Mw<&;$UbV|qmZ literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-icons_222222_256x240.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..c1cb1170c8b3795835b8831ab81fa9ae63b606b1 GIT binary patch literal 6922 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 QJ~;stWz}Trq%1=J3#jBGg8%>k literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-icons_4b8e0b_256x240.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-icons_4b8e0b_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..232832a5aa0a7883c1e0acacfec59e2d1c2088d4 GIT binary patch literal 4549 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 Fe*nBTDe?dS literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-icons_a83300_256x240.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-icons_a83300_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..bb22520bbb2a0f465c780e096552d6d8df8e51bd GIT binary patch literal 4549 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 F{txP%Lqq@o literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-icons_ffffff_256x240.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-darkness/images/ui-icons_ffffff_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..4f624bb2b193750f1a5b36c8c307168c6681a861 GIT binary patch literal 6299 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 ORn*B%u*Wk|4g3!*Rv{Mv literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png new file mode 100644 index 0000000000000000000000000000000000000000..4ac8be8b9c4976689f0d699d3e363ac828cfa4da GIT binary patch literal 418 zcmeAS@N?(olHy`uVBq!ia0vp^8Xzpd1SErbK34)Mwj^(Nm;YeE8S(uNP=vFJ#Am<$En9-cLebC{re^wgoll|t(`&s7)9J{YxO^N-aI z$5L3jD^ISzl+wQbw$Cm(|Mhq4jH=@2wI8o7+Gd%b|IIx5*Zn&?>lgCSXrXO^WskXw=UX3LH%8!s;k z#x%*aEGp*Jjm(QM&8zq~)!)n5QqVsS=vUPe*NBpo#FA922>S z4={E+nQaGTRC&5MhIkx*d-b$ng949h;3{8svn*F5o}?c;Kir+G=xvlfb9Ucnx!LzV zKYw1UzcGecb6t~6xWlB=3a51)dX2qx%p0t(H?ll;Xvl-Ua7M6%M)vm*~w}RD4lnZuhbmcl2i$G2U9fNc+T-xj%reP%UwdC`m~y zNwrEYN(E93Mh1q)x&}tNMkXPK7FMRFR>qdP1{PKZ2KfeG9-?T-%}>cptHiBAF4rd( PsDZ)L)z4*}Q$iB}%pz%= literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..d742a360b8a39dc4b835fd31d499c8b585011594 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F2qYNp$opRhQcOwS?k)_Bce{j_0C}7R9+AaB z+5?Q;PG;Ky8T_6ujv*T7lM^IZ7dQL@YKdTAEH!H@2TG}yxJHzuB$lLFB^RXvDF!10 zLt|Y7BV8kt5JL+qQ&THrOI-sCD+7akgD($JH00)|WTsW()*zSb6ARS9;OXk;vd$@? F2>>LQFt`8! literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..bca26939fe67c9e88a105c09df641481b2c3c224 GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&0LWmFTHNUZq?nSt-Ch3w7g=q17Rci)@Q5r1 z(jH*!b~4)z#PD=+46!(!{KIr+qDZgOs>S*DCH8q6)|^lLQ8(vdyV&7=Rv!DK5_Nv5 zKU5EWSl#{5ocZwkn6~@klK(Ue|8%DOm~7JJCTPgP@M)6!J>`Xd0YEcVOI#yLQW8s2 zt&)pUffR$0fuXUkfsw9}Nr<6^m8q$fv8Aqog_VIpzQLD=C>nC}Q!>*kachvv^@#;) OVDNPHb6Mw<&;$UM6;LDq literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..31b742f0887f631428e79dca4ceeef843ec3ac5a GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fCnc6a#?2AmP!?*K(O3p^r= zfwTu0yPeFo12SfLx;Tb-9DjS>o|}bBPw4YFRSXO})J!^(4ctv-3U*RGnKs-FC}~_uP$T#@%5Jf|7eoAIqC2kFJxjwN#4Gf;HelF{r5}E+`?R%*J literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..13140f5211929a95296a82291e78c1d2e78abb9c GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI2NH8$CE1Q=ADW)WEcNYf6yIsOdfIQ9ukH}&m z?E%JaC$sH<3_(v9#}JM4$r%X}t&0mp9yKsb%{ak$*<@oTP*SzTHKHUXu_VKa&B85rane0hkXAvZrIGp!Q02Dx0HSfB<5Pgg&e IbxsLQ01{dMEJtYe9Is2zh8d8x(zs>(%B!5aFurwutU!fp#R&E10uqmI=MKv@&q5k6MqRAfp zW>mrthO^_NafHu!$(&GJ)G^2ZZTuNg$O=X?SmLFQXTcq0jGp;CMPcZwpDX+kY6Uu zca&CK|68hQST^tHx{?ZO_BP3aSPZ1Ih< z0bT(3B7*of_+ktL`WflfdelE|bA`ffbO zt7`@eG&nAFPT_4Jt?3}b>jpk_|3?}Oo|6}waWgyZwwN1`4!N@8T3y3;k8$-4J+@v6 zH`H4}VDq~r@;&^K)kf19oMYw5bHd36ut~EhH%s}cO;e0ZpEG-~%0D*#Onu2G*dau5 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..920d979eeb4e45e58b982d4e2ff97140128fb9d3 GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^j6j?s03;ZUuHXC*q?nSt-Ch3w7g=q17Rci)@Q5r1 z(jH*!b~4)z$cXTCaSV~TeDu&>UIzz;hKv1@CM62OC7#SEE>lzs88kvL`T3DHyS{YmF8dz8v7~~s# fd5EGRH$NpatrE8exm=%Epaup{S3j3^P6Mxef&gxX1@bahq-QJ@-iVjABv8k}dz1cpvckAS5Q| zCa~sgnvR`g{(^+B71o<|biO4QZ((@QU$9to$Nb3+c9+^q0~7AA&s1G7ldW;K1nZSx z%@1{}Sk7(ZdA*`2jO&K2|NFg5Zyr%7kiMO>_`pxASP`akpQ9dh^WXn}$^S9yv#0i* zg_~-mfG$!kag8WRNi0dVN-jzTQVd20hQ_)EM!H5OA%+%KrlwZLmbwNORt5(7245bc dXvob^$xN%ntwAo=Cl;uI!PC{xWt~$(69BALbE*IU literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-icons_222222_256x240.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..c1cb1170c8b3795835b8831ab81fa9ae63b606b1 GIT binary patch literal 6922 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 QJ~;stWz}Trq%1=J3#jBGg8%>k literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-icons_228ef1_256x240.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-icons_228ef1_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0140cff67999e0b6daf269723e019335f5fee6 GIT binary patch literal 4549 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 F{Rh^YY-Iod literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-icons_ef8c08_256x240.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-icons_ef8c08_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..036ee072d4aea1db3a78cbede62f8a0ba31972dc GIT binary patch literal 4549 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 C(P9<= literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-icons_ffd27a_256x240.png b/src/Trinity/Bundle/AdminBundle/Resources/public/css/ui-lightness/images/ui-icons_ffd27a_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..8b6c05868b55d63ff932afa2efbd9d7cedd5909a GIT binary patch literal 4549 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 o9P|PX8s7_W&z>% literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/7-Image capture.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/7-Image capture.png new file mode 100644 index 0000000000000000000000000000000000000000..a9ab50ca8fcd4d72dbb3d58f6c17fafb72554726 GIT binary patch literal 7445 zcmV+w9qQtVP)^>`ndg7^zDq4{RjEq5WXX$UV;k>=ge`;+mH?rXko_c`^kgBEJt3#FKg zl8&Uh&;7s8`hT7hT5J9-i+rmUc&p{#JOJift-!01<8CU@Al}$#_J#n^-QE2v{z?Pl zls{=eXwahi`r=hrCckeY*$J>q%{ZuAXu^D%-5{@|3M27r~PT}9w%OpiK+Md{JS3z9DM6{%rPcp^E-+^WN^AVUvn<>EKz(iPH&eB>=S#yN zpD(IxHoF3?yA2J&>pbqQ4}!Y-MM{YjfEENn;8@bScESACT}zjoahI#j^KZR(6NAUn zII*YV&1rfO2vAgKjHR)dB{BVOWir<2zW!2fO;r2(Nd zh9N*2=s@9XzcCt#esyu{{4ZKoq@iyl%{_NL&XfCk@m!4)2~nSlvwhD&K7RT6)TU}X z#>dAmFc2GK@mTe$5oe7B%COwZDC^IDvwe=$5eWXW5Y)|=gj$h{)3lb zg+keL-uAX%N2Ae8y+ALXExPi+aF%$)W_ep2-}C=d)QSG>D_!CBS%7$PZhtW{5{1Gr zB|;jQ29zr9ISsYRzisSnzS0i@@x=4J{Pqt|a&YJv2`55pV;z_Rx8gE6I?m|G2<2Rc zL@dI}LV=bqF6#tH1-|dwwrzc&wY}}THOZRw`C^6NKKc~*Z{AHh zGeg9-k@yVs9-x?;p`j+i1!t}1ns0oJ_3PIXvcqU0C{zNT*grzoK$>(W2fjx*1d)(M zZA7532uC6qh6!kjr7|;lm!^c(>iW6?7=7~q(4v}x#9WQ86@H-Nb}00TMU5@jIfHaPJ>$cqtk5A%NiUfr`5nHjUqm3`U_x)Uc@%bd;38a*`fu?6T!;bDghSHPd z%N`*^lZcu$IyQ(f0D;nIAqj_VEW;#F3PT8#_8FZn(2}eTqy5e|1%Mz>2m!KMjH4B3 z9W+KF;myU5GY8n)KgmS4h!6p>s7*X-lZr)=Kp+HKRozW%g<%>v5eJ1Pm@9|1fUs#WI+caa zdNg7^u4!1DtnAgT_I0(yG(wL4Dii%m^UpSNtgao52k-1+dmJiE7tc*x}PwH;h^ z_Eo%X%?hHi1PUmYJT`U>@XWq`riuzr3BqBMSjc8!W1?DHNDYBT9WQt1vXu%H!jQz` z2?EdKg;`7~jTN#OpUQ#;0qb7rPOl08&-D;eBQQXKMzg=CXK6g1`0D)m3qBQSS@ZP1 zJ~ltQk3x2qHB096l@ETA_IdL#LpCMX=g4@L?tOji+}BHbDhDVU>XI}!q>x$@0ESWo zdak)SMUk(A04WXP@i;QxE81s z3kdvxKnExVhLqLHT4{QF``!_CA~!VD*T2WMENL17%dnW=)=X>LJTe8B{plHoyL(CJ zN>s`LLTXG?5DA+^F|kaGeAb{WJ;F{D&-YO%q!!1U`_qc@1L8GFgoHrr6Y=0A0JOqY zFg`s?T`Cb5e$WQ&e?sP&lVXN zNppB~lCn1Nf`C9NBofmQM8if^A^zMiXsywKA{+`Mr9^8@$h6S{0?)&nvxJjcRIPCm zF-%KVV}Pu>;i&--_)0O9&ah(fd;xmZ%K}jCr1*0mj-qG({%|xJ{ZKR-`F2lt*P2*t zHHn%U4i1g8t@|irnOUZ1^C({-q#))vG&R(rD+pNO zFbqMyq$m{2#N*DH#X`}FI#KVG04PyyX)V)it*@(VJC>g2x}V-b#q~)hG`U=!y4n{I|qImexpip8I2^SMGxeTub97hstNmXtWLIJ4OT-F*WX(xkaIMxj)x zQq(7|pfPNT9|S0^@m!bTqr-IV-9y)&y^M@h&yGZ*D8z|E>U3gT7L84fSRs>aF3Z4? z0roz>m)+fa7&|CO>EP`kS3lNP_DR$Im%o}jg%%M(=$jZEFr|Q)14)?28CwX z@@1pb)0z9FA-U>;byR$hKxslw4AAV{+XKMTMGfTgMWkVX2Fo;wgri7dGCn%O=B=A~ zZr5`hI&_F!E{`-MrfCp~L{NSJD8$R8Jf#(m;}EiKl-5XTV3`(LK_Q!?|Ik66+w~lK z_U&bKe3U|^NXaWBguo5JRVINpF{}`ynG!(&pw^u3JX1=6rfN2YZ2liBmC7g2THe8e zhI%IRIh;rYC+hIb8~`g9wD2#F?Z$E9DBou`H_O3;2N@h3B$v-)Xu*;dO9+P|C!#je zAQTEyEEVwsg>i~(as2YO9U>l2p!J`FUZ4RDKHw<>-wmjYPcoIBBJh3M+ZtHfv5;6e zjPMF%vswI7z<9a_B_y^LKI^mqD5|+r1Az{n&P->znp>JzU3%UsZn=LWwW$W0+7>c! zY!c7+X>V;oYM+5aN9aG)%jn1m3Qaf^A{+`4_=>`8fp9|<0Id|^NCaU>+)Cw?`CEu; z9dAg3WTFOFDYWaOrAA^94Ozq!7O{wpBLc!W24xiFitdzX&BX;XictAI1wPVl!QYeL{N))M~fOG?oXgIqvR)t$WD$>^on?BgdHQ| z)Z!#+i6(1F)itoFy`A*r6c0c8=$X$x{mei2_xDFnvH%1~1WE!*P%gW_o1V%1q%KvP z;K&Xh-0;AO9Q^RZ8~E~9zRtVewu(nL@5G76@VqMFQl`)ZTv@tCc zZCEJZ!}9_(9wIOZg=~_k1U0D?jj2Xb^|eG}5rl?Pxgtl$Mm{?{Jbdnh4?gtvZ++{! z!U^lE=F}=LueCxcI66FZQ)fr#zu)lSgZ#z&-+uzF_g?*8HaxU}JqM0((I>vi(xnTl zRoP2Kdmi(boI&7e!cLUN+8Fa{qZoltQ!>tiwno|-lf<1cUfH8i%;UK}#eAM@v54!s zlq+RiSD|!3rBX(D3Sok@3=)wz@nj7Rb@j|^Z6#4tB~!paAW$fZ`8<=;GX#|qRwzVm zZ5>hw03LLVRCph&DTG6Dc61KgY4bCi=wYM zG|)%fNidbkFf}oW(qP(xSR{^1L|2JXK03t!*|KllNz>!MV^Q#*Ha$-6G( zoE1yx9ym-xZ5?A-@`fQoXhub_#P`(t|C1##rEyn866qnx#xG$);`a!t*ieO@FP=e zjZ#&P4*ysqJ@ALSkjcneuosF9w*tu&r@458yD}W!FQc44`0SAc9y@n1RI52z5t+#Ht{`%|x z^4s73>k|NM{?p?CylrI%VM9{P=P^wau&enzY*U)eFr6M@&*5FnYii=`x1WU+l7ZnN zOd;@tYL#i28rup}E|v(CMhK|59-#4jAK&wdI$@Tcv7Dk?B2wdE+aYGAXPDRAgk_pk zT%WC5xADXuA7kU@Ke7F(XQ`{HVc^IBPi)*oGM41>D=uTv!iD4udE$u}Bg3QQ3b{^q zxDt}UB49Pp0W<+ozyLzO_~kEuUn-S?bIv)31q&Ae(9_>XrCg>Vm7=M!0oSd76i5Vy z6bP+|C8Ahi2ca~_jvZz1-Y(Dq<$MKc8iZ_{XgGvzh6#tF^!N4S`5yWFEUMz6l#gwN zNY=!OMPmfo$Iya{F1&zy?z@-%!w2c!zaNF*$iNW>2M+PjhWoht_ji*_#5p=N#FkB4 zc*l9?a`{!4qI{3^L>d(+Iy*aAyM8UUZO6jlh%JE;pfZ=reX3TffJlE|-~LUTHtn)3 zi*H@`O#ljoJVV1nge;4dOFJkQd?Xq#@Np}el3QVVe1=%Ej*exW92*_Owk))e*tX_4 zy?BBpl0MQjFr*}rNRg;dQJ<`*p{9mdEQW1|DCUc}UIo{8dH1{CO*G^%JCh-o&oMYW zz{YJ`xZS_k$R)UTUq2 zz~Q+|pVXz?eDh7e1^C1#KY&#Ay`7D)E1=kNixk#z8YaG6Q?WgH_ zem4u}x3S~NrvV70K*<*;P0tNjw{{(gM2eW>U|TlA5_l+-(kK<2*qteqDojmGk}u{_ zN-;G)&h+FoeZ9S0dF7Qn^2j4hPK+`#JjSDsKS4+55+Wg+zyHZkSh;cqANtUTx$M$Q zx$U;waAJ;}nazGqRx_Z^0)wXjzl>@DtLLL1`3L}8wr;P+fi=qzSm?R! z4j-uaKFb#`V?pO4{@aiKJO6mgKhxUU%3RBJ65Xx5fQnm2X}`)4s{j?8x>Yt!3jq}K zMP{;DGMNmcBcsHfD0axAP$GbLd>Oh+A&{IY0U7Kd@l+IV4*;S+i<6 zn>Ied#Mn5dAy%De%e2;$bMEj$rr0Q#O0&1!e*1j@U-{CP0eEuTHdGLB=Au@jwJ}`J ztd^5j-{?&-c9CoIjXnx%Y!Om>z+rHqgUo*&S) zr;Fy6HpbIw67e_#hY!=XZ~>QHav9}fmg|3X2S0yg7k#_7arI}vfn{6R;V{R>M=?#y zc~M`gwLS(+Pz{2|CHm{%{Q9BU{A_vM`n9ZCxr)KzL8d1sNW>jF7R;wyC}BxS#Ve9( zY#`*sskjO(|q*oGYR12X}p+qJ-OR-!;2f<1U- z@X*5#J-kgCCSUvJ*9d%{U3>OoNrUyPmr^JcaeYl#n#^l$Aw4{dFaYI~tZ~p_y2GU(c%cUZ4rybX`MF@-}jzA1qH7IszI^LpDB9ri`#yAuhNRE|Kfdw>=2JX z_5=Xuu3Cl&0s`gHG{2RZscABkGZ@mr)f&?bSBJ-Fv>_3v8E60qVIZYJ#rMhOvlQ|< zw9**n$!;T2_#&Vt?vNf!lP?zt0)=f$LJ+JQ^ zrcwlfy7QFJLu*|D4p9wR0*G$jv}wolyPrSQ)Y!zumt4%o$NvPt`ZGI_hDFqIFlCsd zBO}CYWQuF9xrSn~_=nEU&Sy_+kXq{k zFfa#z;ks`A_B(FBAK=q}`Dq4^9V45|(caQZb9)mZ)8gpZAQ96>NH{V$glUub60o7ZvMZMP$(oc4p@E62eMHi7uCOOcvk9a)7nM*nu9vcTAtZ;~^9U@tqWa#J+^$m5%kR(umAvvCD4QYVT z6bmJCGg&;hf&0T=M}o zZ`#U}JD%aj8^4bs#aP9yT;18(dE}J=K%kWx1IB^y*vQDxz4txvcuQ*w7hd>Ic09ck zAtXx|Hsj`t_)0OA&5=%z<2XqY$r`%5_fsxas%DPB5E6~1SSm6zGfSylrpn2l+C5$> zQV2}b#4rpz&tvtZtW+uA z6plvE?(FE?as2&Wc0b_wHa6AFU<3ATx7~LCr$6<{_g!@HJH_7J`v6$EWHFJ5!_v+U zEpBfklx;2VzD@-Vv)dCJhyA-zubTS1AjL$ zF|qHYvtAAAT5BzYI1DV^vE#`-JD=OtvwG#q6~l*zDHcndyLJUP|M;(2zhViMQptPl z(MQL$l+0pcF!D)~;Q{x^?Rq8y#glJ&xyjq$kp2zx~~B|HqasTYd#(g%Co&WUltA zS7fx-z7XPY5Crq?xZ{p{Z}|QVE9Q4BKnO_HCm4RXd*EmP^}lR<`st@O2|@ekKlk|` zPEAdrkr<|d3KYs$nC8m_Hz6pO%j|gaNm8}7D5XfJ(-aB?nwpyEShR>0XP!wY6v8x3 zgpf!>fP#D>&-nOw{?MUA2cO^l{8M}O?%Ce8uWM62mw)4yq_oy0A;jo?_uc#0*S_}E z>snh|W54;;uexr!^_E{gxAVC}RNbUl-%wZYxt^AW6iNqJmR%ie%9jstLI`}{XX&zK zc%DaVYb(iQ@`TU7@NcrYEXRhAO&&aWuxIa{Jx}fH?tb#fk%2ukGqZy)eadeb0COM| zgb>f)bkohhI5skpx$oY4f2Xycq8d=!0UZQEK9-18re`x@QyORuf%acN zN?}R%KqTyrwldt#wui z@m;NT8F*ppngEu~X0mR5eM4U;99}gwF@X+(x$5m?5u%#<48y=QEkIK$l^7cv^A8_B zeE7hD1H1O@+4JQ7{rjI88yhfVrJ-c(c+!3v{jzl8l^LY%zAQp>JDwS|u z7sD`!Mx!qRAQTEwDwSTd?r+v7Mgm~;&O7hAZe(<XU^=om%kp5NjB%)bMM*R`OfUL-CGm>rbg4J zPoKGC$BynbH8uN`C^Tr$AnZ-_*I$2y?c2A9ojZ4KZ`iQm-1_?Z-lfOeYGD4AS6-R3 zZr!@Br<`(1IQr0l%fkHm z^FwWI?Y{>N8q|Ydw0P>Nr`C1q)TyRv)28tUfByMrM2vw_Ojt&wp*^%ljT*%(U~<$PbePPxE!Cor?pr7eERhpLvj9mBIZ@*B|`f&H%cemzg>kE^eLGM!AXqJ+S=HB! zH*Vax5C9JZd#}f}Hm91U@%rnpX8}0wxZ}c>En5l)O@ScK^miWPS`*}|0k9HJX+^cF zpJJYQ<}{!~hYn%$=FNr3dxLw-Yb_8)J?6Pu04gzGX*pH`K#bw5ufCcE;Di%S2%9!- zN?PC)2p;2B3pB%`{#+{oP&9TmAb8Rj0CpL{e*if7Fq09>sB z6ae&<-&V`Km3}1b!1y8xs>@Ic>P z0OT_Oy!6sbSpd#D>#R_U23-x1&p-eCa}1Plmvwb@;i#jIawo(9S_`z)n>1+>@0TxM z9zOWsgE(HdZruV#*aBf=fD{1Ve*0}$uwX&F@7lF%Xy3klp&Mj=FTVI<7J$y3J4XP# zh>Ho#nKLKMnl&pj1Os$(#1Th?fddET450>qdkerLk316IfB*g17n%T_amE?pi6@?j zeQ*>x#ym9`vTC>qeo{nfLwt7+&~D`S+#0aCe9WqlyZd_Keuh$Hh6UN%{Ry2 zY02xxbEE?Zx7~JI_~Va1azH{YTeb`nCr-=(V8NB^6<1slm!sDgpa76aU6^N{2m~Qy z0J!L)i^9s4E8QjV=%bIuDDi*;4sZdu_10T6lJc6U|9}Al!r_M>9+!kiL};=EY@gQC zoOwMoe)!?o2@H6IRAtf@1f@4WL)SiE>~T!)shLpR-YliQEC1jdXR6F&d^bGI*S z!0or+o?%>;0Jba#z?D~CnFByxK+PBo*QE)YaOa(Oh97_Yu?&DT4S;}v>YaGviBSuP zIW)-_Fvt56^w_3BXx_YeTvF@TuXp>h?o@!Nt*s4jzx{R=fL^_NMF1eL0MV{pyXd#S z`R1GW8#=k_s;k16Uw#>lnhaz?5CCXMilWO&C!G{#&YT%-ju^i|g9b%6ymjl=_^x)N zDF6h7>C>l2AxK}iW;_~wd9ejc5KYVg05d=R^i#$QSZ#o5)(@XCiXwU2Kw3bs0N@Rn zG*UtpVTRxT_SZ>(?&>fGs`A%UD)G`0TUK z0{H{(QxBjuKp28?0RR^S01rIyKsfi@bK`URy7t;@V;sOc8Z>VS&_q*k-J?d0ifbOi zzLfZJt-okDQS7_#zMBPrwS+`H>Fd_NfBz^s2FC{6d+)s&bj5%P03rpLkqQyxJoeaQ zQ4(aJ(A8I89j?3Xy0Y|B0MOsIZQIIy6IITgJ2$jy)vDZ==SsCE5W*wK3;^}@^<@nx z0-#TyK7sO?5K<(D(9COFAQKkG&;Y_}8p}Y4bo`Dx?kE>kEdaca)HU;K*RGB09q-bj zMT>G@q5&2F5z_I;AD`C%Iub8n0nnc@mKuPA4?Z}I7%?IzeY+HxJny3g_<9VWjt5}k znP;AH0T9M507R&ixQ{&Y$jm;*Lk~Ta%OwN^s8gp-c>qv9@dBD*dr#c20f5LP0mj+^ zQGd|_3@20?I9h8PS)u{-B^xum%R7|ngmGE>WToT{7-lVf=$?D-$*H~ufCw^Y1h2pT z`WOic!x{(;!X=knk^=zC&SWrdTJ;17J$ZsE%25R zuUWIkeL)je-va=mr~;5$W8^Aekia1QRAP1U#TUo?BDELz#TQ@1Bqt?(Xz0+Pp@?{&B&0Vs^*xmyBE3{?0>X|I5z9DN z7Qf||TVgC;X_xi%(@!sCpi7r7WeJGXMg3VKpM3I341iKZK-0Hx-*QN-_a~PuSrR8+ zq(RW&!GjBVAob5xg(+(M^2;wd0Bl{2@V5v6{5f#}(Uy$^@H8-F%U70|3!X&>R)A2A z^dW?4nbt%l>4g_w$N~Ur>M|EH0iF|ncwju5VvvkE$yL33F9 zm81`0&paOFo|uJNVg>+mbTTqwRIau@SZN6eVTqY6OkmaL&6`*D|CNY9g-HUOXc4ZB zzA8x{LW5F#KrAt$(HsCQ0by3ZsMjKvz8V17Yb3!DSN8PNPsjRw(fSu6x+BAr;D^M8 z&=t4mRevmD1XIj&4*<_T`)nQnynt5|)C~(=4FC{p9(M%@gumqNDc5C*uo$oa0hMNK zulnoJuwld8Tt=?cK3o87Rajooh6pKm=z7{hZjM#~0P%w^X6PD$zKY=^+S|BsV+4R| zlw^b{rnH3Ld+)u%q^@`G-aY_29k!dJc5hH;e!2=IS5aR{f&hUl22Az{Xm}0c2d-lI z`K>fDqB^nCyr9J@PefM4RJb*L|$evDYed}dlmjrQ!3jif=k8!Q`)C8;b0{<(z@4owTMG&n8 z-Me@90r={xuPPcneEXgb!2S2%pP9P_f@H`A0Jr5?f8D4Z?&$#7nxHj`q~tCDB1^X5OCGpb_2e=>SlZu)F%e`m;SutxuIo zlieV@*P!DN&sOOrV0qzSxC;Q)TJJ@#r8YsN=?xAG0QY*U%wt@>r|BTei$aS)@PZ@C zdM*H*+_GVCr6|yXU^h1f1YuV0EdaLZ@8!&ZmH6%epxq#+$XoyxE?k&F$~&%RkDGX4 zc$uEn2D>~o73Y59ym zs*{uyt$O#0{}a_6g&?*?6Az==JqCHnNps|)=>e^ z0026Kxa`bOphyKEUeJ?@1&R!nt=6WF-RpxA`s!&`k;X9=$7%t9rB1!E48Y@$KfZ$F zYsVaOOc?+sQpBvS0op?m`n#0z@&K@mR%)7I?_RDN04iVXP>&ux`fmWnj~~ChNs}h~ zuxUZ*nHrr1z%pDd7%5G$>r;-|rzC6{NK0Eq)`A+TWT!_4<0kQx z3A8NzxTade^8ZA;{-CvC)v8thnml>(*wUl5@z2w{KxhsSrM7pvfPZK!jF;NRQd=*Q q285=&nBOaeapCH7db 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 m^HeapCH7db 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 m^HZ#G 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/addons.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/addons.png new file mode 100644 index 0000000000000000000000000000000000000000..2c33d540508d3c66a2dcfaa7170f3e97ae488f67 GIT binary patch literal 6117 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/application-excel.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/application-excel.png new file mode 100755 index 0000000000000000000000000000000000000000..ed1617f01dcc203371dfd8b161d11382d82263eb GIT binary patch literal 2369 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/arrows.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/arrows.png new file mode 100755 index 0000000000000000000000000000000000000000..ceb0b36be7a35e2795a11ab625e1d50d86f10365 GIT binary patch literal 2389 zcmV-b399yqP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ^+et)0RCwC#T6>IKRT=+%=iJxKbZ5Ft?PmJ|(ir3=6o@Sd6-pqsNI)u3KaUHwB7DbcXsy9%)R%V^L_p? z`{07PJu!X|Yn?ZMd$L7@awuR_>?Z3cE0;tYg& z^mfSo(`E_A3nA5yl=1K&ANvmgRgs0=$sY8fE);fR5W1`Ck)aVOcvvVo+TlC=Vy zQ&dkm1OTN~Dgfxi27pC$(dYZc+HX`EJgT5$AdI}ryCS?v1Y$7*4TE)w;pYH(Q3P+b zDj+@}0D^$>9X>x~)B2ThBIEQC07=S4A}SIAkw-HNIXcZna-(s^R2%kBHZ%7Mu>KeT zAh0vV4xgV$((L?(X(}(xcpV-4V~n1VW+sKN2py5~kIU)nNL8=vOYLK+_&)-$?Wh2d zW=@|qg&L36>vloI2o%OEJ_?h@HW2|}z&M~k6O@Ti%qdLEdsjA$ncp{Le?Wx4v>kvV z>MjNHY+P^5O^5G1Pj09KZvPm{k<*nSU@%V6UG#fqmGq;#D(1Ta{0<^GoPa+p09s+j zP(7JT1SldL2@j;<^t*e%L1)27Plxy0-4&zB3-8fNwZ{V1$xE4&8$xowXF#!)ZWNZ#Jj}MG1 zBA`5IpgIEN+&hm{dvS_Zss{A5o{fqyyj;iQURbz{ogHv41G51;Gfc)z^O&1+al`)& z&&3(I3Dzh$^i}KdB%NdW-?}O8-P%4nEy5tBp7Da{a|GJW)_|RTw^$2yHWlIh;#@yF zyO*8a19tuFT$P=5Y)zAm+6>|h_6^ig3gt!-@!MO8MWDR!741ih8kIdOAae33=MjPO z{H;N8+ETHmU;9DDW{ES6Diaa>s6(+cIT7guWG<1q#HRI&!S0MkVvq)yrJTM7z=JKZ zfbH!Ci~)t=K{;OlqSw8!Z~r5{yEFr>%a;1u_QJdE?3+%h$2INne4Rgge!F~i8mwg1JbU7+czqr=7 zV>#RGvL;dDK4lS=*`_o|ZV03V>8f7mkT&2VO3U(GQYy7KTeh2mPE>tS}Fg@ObX(mRhd|1+xdnPjq z)8;%-m_GCM*2Mr3;QJsEEZ+7s&WLy7&&OYa*E{DT6m#IpEY~$-DOvvZsbkR3;yW+=3JZE)f>9do5b<$D7MP6nj40D#8@O`EYJ8^e zW&AJSgC(vPwvdNm0f-9J)wP!E^{qTKw1j}YGTaEL>j+(q3a;I}9J4!5!OBywhSh#+ zEx;l{;@oM6s*a8n>RyDY$p9AizYJR+0?%K7;?kuEFS_XDERIV_y*|(8a?b+z)VRIM zLqmr+tM3(Dzu_Kq#=S_Q76K^8@z)2ne#I1v8$onAn1jiwKV8*Bn_kh?K>V5d(uKjD*p5=((0N5-;RgvWJ~~9 zqKO3g_ZP6py@nZv8Fn%m_Vp3JH^X8@FtXPtx?U6AF6|8B z2`tj9h`v27iY|z>e#nY6%p`$2`pXPAES4E8QrARFJ*EC|Ox_O&fV|f09P>IWGTS3s zRI~Og44f$<1ppp3JMM*dxeO2&JZ~`p>yGUknz0t>+c~Y5JCWszs1Pbu9J1CEkyB%9 zSJHTY-<9{gYkZ~tX_#?L0Zf!>2&j2V)l%osaBlj6%4?z>d95#1z#B(;y|%r)A^?>v z!=N#+%)Svp#tZ>Abol;-9?=`E_(s5Mhw=iTVhjeetl7l|42!@gdOol96#&Yu`oO_! z$DOy#NSs5U6sXCAb{OVg7k&RR2FfkH-p3z%d<@{o#{UNZhch%S?MB6#00000NkvXX Hu0mjf89ZsQ literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/bloc-sign-up.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/bloc-sign-up.png new file mode 100644 index 0000000000000000000000000000000000000000..f0850712cfb8c66f1867b833f4e914e1cb4e18c1 GIT binary patch literal 2940 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/bluevalid.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/bluevalid.png new file mode 100755 index 0000000000000000000000000000000000000000..e4ddd10e41123bf626636efb55b9f17156005dc2 GIT binary patch literal 1692 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

                    b!BoJZfvJHdgOEW;oeT&JlLja@`1o%6zy!Z#_6-&{rak9OK z01Rnc8rgM(1hNEu4mTyg|CFhdC-e4OZ!>l3R64u5m^Et_VBz!m35P?3)58IVg#ShW zGt1@07tMA{$sKWwfov}Q9WwCIVnC80Wk6urtIYh-T=uto#aCbL0bus**~qd?Boe`} zU|(x1RWHn?UWs9j6vz^&D)b(J+x~nU0Jqx2qSH&{#plg*N!eWqEWe%ukaK}m7zc&% zaHu6z3wAWjpnSMJWq#pCo2`0)9C%sA}~gn<4)n8eBln7RK?n2ub|KR9-NE)$Rh zbnb(@J~&Q*86IizS<{^odsB#@KFk8cEK%q>L)w>fFCtZe?gVU__Qbs>_Auc2iVaL-)Eh{Pg-8*KXt(0Jl5Df+-4* zPWGTUgCG*10~sI%WCUat&@~WFJF=??q1h332iTq9aANn?;2t}cqUu_bZZ~`TeOQu& zqG`x>2SQO8H)#@QpLZ^jEFV`P*s=OGuAO_;+P@qN;7&!{*HBxvOgZ;5ttRE8*kwm9 z@}Rg}*h)%p*NwqlKL$s6InMG5Z0=%YRYkU`$ci%J8C7H-`K8QR-@3M{y!G>riGbGVn!nvp&+_{5QK$m_CL_R`ZcaQZh#rn zmZ>jq(JpIr(%|?O1TzfGOd2y9#Y&~neFJ1#_mUm-W5#1hu2Qlc`;ash$Cvxrw6iGj7S(W7Q+YxN$%VZriENuj^uQpc)iG; z5<;)Oj2TZ*cJpmW4hNFUL8f^f@n%1Yw-)aM4+4;F{e)=KaN=wzJZ z;7aQ7r5xb<)h`jUj5cK|N@W#RG6dNO{^wuCJ?COdZ@3Wvy|<0_f8LInF{xhq_^`43Pd|y3$>M!r;jrKPmoK4e;i7K_ zU>*fv@Yy^-Sq{L;W)P~4o;z-)=z@z60t_|Zlglw85vrFxaX3IWi}(IR03KgP)xST? zfi+EBKWc#SPR2RGv_@QuB_1u0FMHkLF9AL#`7~u%jOMh_)z%Mc5aVqY4 zkj&maWZK%uw6>6F-oe68N5e0xW^#EJE+^#Z0A;-6dpu4j^O+`;0TO zO_+!_aT01(G0_h{LiUtXxnOZF3mw=-tZ6yv^ci>;K1|2zCT^TN|JbF(kpPCaI80r~ zj7BjA1~3MFg#PmxlAAXpG#g4;IZ90}YHb6t58uKuV) zQ}yWbTyO{b2|h6g-I|3`J%Ng!-Ix2le;=8aPYG|_OGO^wCnpM!XlowJO5w|=v}QuUb>Y`Yzo5WIS63s z8LU){!RMa`)53fIf?=-Mw|oiZ3m4IOA^<-e@1)TQgKw@uNvH8#bOeovWMp*AoF4?}Wg*wb+YX zxc>2iyw-G5e|-f@uA=*{dzrXt>p_5HW}zbiJoi)%;NFKY<8h2&03$Gn|Hc2N^4HJO zvAT($juzktd4S-$wb)%QT<2dfY|`}JJ#<`k1rs;#IDUYqet{7TQoZDHk~^ExyE`$$ zVZy8bNM?TYjG5f1kggq)mJd_lg|zZ zxbqh5r_IDU>nzf{cVP?;U<5-%)~_Mk*@;qJi%?bM(o$>B2|oIuU?N#yJ`9%2~is;6euhTK3RB?^5cXd!BUbUede2#0dB?!eLU) zp8_&UZ5?WDJ=&BhsC8qBz56z@*GuhFzd_jTn2|7j3m-(doTxRmRNS4*LaEPp5_|hk zWV1RY3m&HH^(JnbcY-kxT>n2iVzr*w68z{N@UvhCj*iCHJZ6v$v5%#jLi@8XI@Efm_+24v(mNL&KER zyL<_rg^TEVy@{Jg1E8(iqD}KUX{-R={ebBGx8Z1kq}~p1^+8V(%5AyswL_^595PtKWb^y) zkWQwUGiMH(rX9PO3q`12ma~ABPGQBO^em)n zTjrnOi!5!z#sTo9p~?;w8kE_fNCnd{*s|eW^h}0}F1iT2-JS=?m(y3y1H-_I$1xLe z`jG!)sIE4tU+=+a>bUFI~*Cc1#GLfXy?^Cnc%X} zq+A8JIRO4N)Yx;D@Yul6Gi=$k5y>z(f94s;kqD-4(7)_qq>^&vs#;7eq`G=UWfeGG z2zN13nHQoCz2flCo+5_}nf!4y; z*9i&V02|i6NojpO=l<}LgH>xT_2do&g_IMt;LrubgjC-E@wQeHod-zvcGI`xGun6V zFgts?!~M}%Fpx6C-O$qw9Rb*vflq*DAa=wvvSDeo+=)llkpyV6gi`^RDsZcUP$sua zm+<@8wCOKYRaJBLIkT|}Oh0sTmJP*;?%7SEy^VNZH=)+ObZy&8YfDSCdoU6VSOf#$ z?}P&b(2;~5zy}0?5D*38`D;3N#&-mOp9%5c*fUO9YI|j?I?ZjvBO91`bK7KrU6pXz z1a4byjS!5*`SAUXRF#%+=BcNW=<6Z)**5&mpAqalK&ZFJ>TBDVYU%9twHx&KVITqn zA?OK1hm{j_FfV8fNDS>_0$Gl*BtIg+WkOtcR(0tL&x;>ao_x*>JZ5h5Rw!T@ASDfK zsW@tM5M$pi1~zYE*9Y&B=`{nt)Jg`6EOW1&1aOCA6SMN(jYD(kd#ARJB4? zqeMZ0qAG2~Kg19TTs~TA$*F{rDwdoeh!C|=j2oO_0|w;vvb)}|_cd>3?m7Kq?#!F_ z)@!?!`Xsd1=iYPfx##0|&b|l#fGSi3 z01yJ$v}qHF`8v<@em2B%KO6Hg0Ivf;`68S30BoO_05QWe<`9c~W@yQ+#`k}}M1-O& zVg`u7l?vLe)`bsn-&ekZzq#YLdg0T}}gLo7e|AgT{MaDC8d0OC#t zFqo0d&wu>vkAC#}@f|zB<%=9a74hsW-h1|0jNN(Xwc71wGXj7p2yU2r@kQKq^eFEB z(1$?24^0xFTn3Ge!QZ|er5kU=fw$kr-#_?ZdN=@h=)2#=pLiaoUwje%EH~m($aWK#j4Rzy9?UIN&07Os`*j^9*)Kuc{+4G;_>C?wIUULmznVQ1A-~1*_ zFfxKa-L?&94jx4L!yo>)`ThI^uO7@YOfo_y{)|fZKzKKtwq8;~!(;x#u2Uf6qNn%p5;{ z-_4Vg*fcc-+P!lpp8Lcn&>bE9%kz&t_D@r{+#;3nahy7Ih*edbAeL@dw(i@C-s($}7C#%U{07oICgALrY6Ay@dsYXU?G2>-~j}jKI`t{Of}U;a965 zqJBK6vh_SzRkqd^ZOY<#K&b>Omy7YU_BaTjst^%InobNNkhOp@Onpx>0EjAn^~^K8 z`?H^gluBqHKmO;XBzdwkGXtYhgm8Kqt@-(}bz8UM^e=uPR4Ty&3~N)%F|)N+EWmLb zi;d&H@=+ufK%&Z8Sf3~Q1;&X85^I@~WWWRJ`<#e~XYDFJDwpN$mtI17VuIVJPfws; zhwXG=Bn%NQEx{7$%G?~1BuNw3+B^n}D&t;R2X=}TBSca9?w#H!q0T;!kM zeK%06t;r`u+-vRFs+0IVAwWe$SNk#VN1y8WM=>wyC}{Ect$ZO=S|fABp1>mL}hw8U`~ApxLii;&A)YkaBsHOBDLJ-`YevKEOdL=~~BbfZXa{oxPs z^7p@FBkWg-$y7v(JhT}B-!j4yw!+f#uv>nA3*KQ%W8c0?cU5yo>s#ZRr)$EhlEQ zX5U5qif#ELKz6{WvjPAJs-u}jhj^~ad7O_2_Q-E#P|SUB3L6Wphqx}*sB?ezx7%*< zVtEs~D=|n5VZg-P6D+Mn3@HXgP6tH$>j{jWYrB((3&G7`!jLR>vcNrICo88b0p;=} z*W2?b*Xp@}R28PEJP|=eWW_3sC#Tt!5nF3>omagJSrD$RtiTw5ARLGYbKMZ*)fK1; zpa3yI5d6qN?$K3Ro7=xHpPx7m8I#Uirb@$@oE#Q2~_*YmBcZ^m{xVG zs}7*5%qD>6`}v)ih~Rl1`@WA-rOI$^2NQvqIcT;}t<_;gI7Kf7K%C`JwO&u}wjwFY zd5oahLb+OJ_wvE23TB4ympCYw;jGN5rPHKGoDAqHBK-qoCnF+ZV_-@pR`-NLL`+0N zo?$jd6o5wrO(9pn46jsTO%h>8CnE8DKaC6D7gdExAySAr<@9|K5oU)r4!?zs0X&aY zRUC}6Cn`waqqrFM##udsMR>lC)4%*Bj4N1*4BQE^?_=TQ$vjF1=x@9M9V%Ap9=T}9 z?WBr02(WPSWcp4tL|=U44S-U-rc^;B)?)Iy>+<9s2%(I~%<$K(R)Ur9fs0-W;F!MqVquJ$1;~14)yP$ELKCfh!jv|;Vu0VCm7I5Hh#j21vhCe=z z@|G=NzmHrhg3?u20Z6Z_1G3^6W_)~5mfOQ0-owcv-%oYww>IekvOzWxE-mqWuf2v+ zxeQfha(7Q+=CkjdwlS=`GUF@uTt{WE7UwSRy5($<&9&6TtgkBp9TA#RzO;druF zzO?7?JiPzTJ3RT=V^DX;&UEXAA)kBa9hjkS5UWrKfGo|-!1w(Wc^nEcvxF-vyfi(X zFU;t@W)scX*|f+xC5cGd?RKhM80NhW03jmunoVB$-~$nn9Br7H!<7|TnVCV7Bx$Se zP$-V$T$f@9rAbn##6@ouU6rkIUFrbb6j8yMIRDE7Dc|?@Fi(+|0ZMT$(qu1*d>k?EIaU2gA zI#1%Fb+Z=P_kH+7m6(V)2m+K!rDB|enYrC=qgJb}%7M&^l}cq*4z$~CRIAl29CAM2 z_c?H{*I6ab_>v@9yOk*BK;bfx$26zcOC}=85Gz|#jPFeOBE2XlTjP|I;=JdoZ?-n; z1PW_2dfx-tKQgzdDz{oK7-O;xa}RVn9V{&^4G75S^Yin$CA0OtUJn2ehGE_dIU}Ic z>0n`D!SylpNSZfEqPb5jgp6BI|pRLbBsBj1wA0LM?X5dEV5P>HqCd68s zd%$@HS6+GLnkZDO)dsx8%$S~@=FOWoiwipu5qO@*0Aylf0vS4G-b#{0G9#_Zfy_G0 z3}XzImzPngRPs1;-6*0c%91#XD-aRlI7X+_!H{RrbsqzZ8)msylo}!GVy7q6pn?cK{bX&*LbH5QZT{gbV1z zQ55BC3TVU3j3|oG>-7c-836QpJr2V#4`&xXNRoutty`CVfFb%-hFJ9Mv(IAV#*Jt+ z8rO}DjU9{Q7}aW3^0%NuvU;A!*4n|Zl&&zj&9b?H@o-{h2h5TfL&;y1?IME#NEn9f zc^(!P7IsBZbo$t_V=&fQ%*@RAv$L}&Hf-2%*Y@q(AC2R9ydWfpSLbRf7P#ym*`MKY zagFmpu?S{k%EGS*sm_Rb@{7pXQ>RYd*KW7pisP8Z#>UhDxB|c*ipcNG&d!d{%*_0( zTrOYbd0tgSN&u>bjSPTN(dC7o0&tBa$gRmQm`FcESO7`!a6|ktfT+ONW#$k-Vy&GI z!|+{Z{v;7?Bch)Z(VGT;pB85F=XEVUV+>w>^;P^2B)a1~3ff@@ P00000NkvXXu0mjf9FQ?k literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/career.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/career.png new file mode 100755 index 0000000000000000000000000000000000000000..1560615e034790b957463dbc19a0bb6b9f6866d3 GIT binary patch literal 1583 zcmV+~2GIG5P)!h zGy(8n;vJ=n;IbE~?(Vxk0m~^b{K2rDPmkl$2=KhmeLVo-;vLo9&DmM7EzVYKkrsgW zi`&SJ>@q~hFhShaKA33>AMaTd2#z3b45RAOfTr7|HV0f?<@9=(T*5-}%tK-XR4(%; z-9Jm23kb_@HP0j9?sCwNddP|vI@rXlpu35v>CH>3|LNOS0v72oJ4#JByg7d!0o>h8 zyo(8UtTCeD#X?vM3=G0X{})l)H#@|cUaR~)o-?!luCju8oCBXn#B)3xt8?Ib)(rcS zY=|%96NH|{cm?9?yVFC|_Dzas{kNJ^@?u_-c(VKn6%GR%wd*i;)PWUXHGH%(Xicw_4!%Qaj;Pr(cl?8NCC%{MHhl48?KF} zxl8Ivgi5j;B9_maReTIW&*O)(T&y?i2!gXw<#1TX#IMYTbG=cuNR}h2ng=xG0q3nr z@mrbYbCOT@dJgqlO?dTE09Wo!V9#;`KC$Jf7B4goz(3UM&TR$h5&zpT+?_!tBET+KIu$|;s(5OoiM@RQr^ zZ5c*Q&p39|$Q@g!QM@!c1PRrst&kvISt_UOo%MI%>KINGFZ$6o7?LO4$!V%e2JsC| z#3zkB&55yuIl;tNTnEK#gr`m$3e9D zLU61!z%@&>h>iqk+HOr6|f_#lsw3JXd;^yS_rgm-bx8H&=6<|Ngvue zedt4Jz@;fExQ|Ieq|l1wp`^4l4~3RA7|}X0DUp-fjclzYt+hKlyE}9Lp3{eW@9gaC zKkuLRz;e(1-FxSr^E==3_pY!9Wm(4N<|gj`X%YD%FsG^j1_3;v>%y!Tpbb7 ze!q{1AR@Qjs+oi*LuBfwOS2#SKKW!BQ;Y6 z!Z_wY3;gOI{W)`Ur&;^pCnT-M%?ZeH1jTTuA`?!9t(BFP%84g`?oecAbUGcvFhoRf zcVaU#GZ3k=-2MuzK72@?=GPX^&b``+mYzY12Lv>>fJam3)ZIpk06LcHj|CxjCkTQO zFQAb-i5W_oh&R3#uv z9DI8Rr}m7V<(yrwaR$8!q7DxE1-}q)Um)sa>5U35W?$S0o8A zKcE&`UwMQ$Hx?F7f9+KE;9_;ZfW{fztIeysfE5suqK0Q{*G6 zN`MaoCad@xH)v|84 zi`+fRWHe)=Z$Q|Ee@KlPcv znwdZMSx3&7mkf8!QM?Q~ZtFS>Pv1&g&$BLn1FY_6flVB~?2Vc4wl973H5I+&WiK2yTO;Qk zb7CGmcyJ<yJZZk78gS*qr`+W2AcZdlH@?baR!d`32I=H5v2!Q8{g8aY})ITU=bM#)`)-r?V`xax$&%ZfP2krD%?MuC+3# z@1pCcZVwM%h5pj|ch@cwo2o}34Fr@(> zf9e$RdQaGLVk?!f{xB+1TUmVddc8`BV~-Y9)uyMXtKQo-qoGEb5s1`kwMID+JU{^i zrb1;<#L6mLYIUS|TQ$Sc#l^+R9X%|+ZLKUN$jtQVPUG+1`d}kYk-rS`9RD!mbtuA^ znH8gf;#<|Wq*JaRDS3_a`&}O<8NYLV@v~q5kGuVUySsv>G0DSw2P;s1l^oS5qYi27 zd)c=2ue4qIlp+Bt5>hmYPDEfTjT!y`#gH|sF2~-ty_d)IGRbC8CjOmY&N-Y;lkHz zwc2OO9r=HUkg5*fefQnzm6erIs1AYv5usMAap%q*IsA|K^8mijL^E?Q{ z@Z7a)*S=M&)w*89uj*e6Mn)JrKPtcLbybx+ckcY*^78Vx!Y~wf-vlC6jm<0uk{}3N zZr;3k7I+bO4mbzQ0;hn6nbqBWdUkg9Tu}6W3ehTX%oM1pYHnuBQ1thqh%5nr z4cr1|fa&tDRqptVs&)Y>aaaT9M5L)Y_62aPoHz_$9*4k+s-}$UMA>xrUTLubutCuk zZ&Z93h935MJ@0nA19u+)%X_>~#$G5u1*anmKA}VfEt|ORdp#G1A+NvwI{yp#D@}+t SzLGlt0000 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/clear_texture_cache.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/clear_texture_cache.png new file mode 100755 index 0000000000000000000000000000000000000000..712b7b0af6f1fb30a412cb7d49b71463f1306fef GIT binary patch literal 3647 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 MuBM^JXLVHM|LLAwGXMYp literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/comments.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/comments.png new file mode 100755 index 0000000000000000000000000000000000000000..8097690f62ed7da16ba499433818e197caffb5bc GIT binary patch literal 1895 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 Vb+%)woKpY*002ovPDHLkV1oB>`#t~w literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/companies.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/companies.png new file mode 100755 index 0000000000000000000000000000000000000000..ab59a9423588454ba0a73409570118867fa8e465 GIT binary patch literal 4833 zcmV<75+3b|P) zM5>fVYLuvIqn0X#EDdA<1wu9;KthZui(|0C#@JxS%XpdP&Az^E=Dm0CIj4Wz``)~< zO~@iOs?;ML-8aiS=lA_B-{1F~E40@9UmnJv+JOHD@TWH5j~y1k{g3_nE&o9SN-4Ak zt+i;Xt0~WGGI`Gn{;okNi77PYP6Q|7ptQo53eWQ~Evs*Me3JP1}{=9*!HOp-t@agKq-w<%I)rG z{aXLA<41?%W7oNk`&+&t@TJ6cBOmQ-s(<;p-@Ldtm(Sm5+ZLMhNyC>C4Y9QyE%)zz zY2Tr_`T2{SNQB>oU)~mglnN(eZM<|t&kI*wyz$O_KDYYo-@bSE;Wys+g6p^lA_n0}Wa$lv3nwyP< z{Iw@{J^d3Ul`VuogpsmLtE0QU<(0J^ZMT<~xj0UQSY;)tRLXqzg*{(AJ2>=n*L9jB zmQ9)K+Sl*c{*Ax5ZRhSa?XA6*ZPC%%%*@Pe<#+D;!Gq85+51f)4C8G9=nG7xHI5T0 zU)RbFmBqr4{=R9JpnAX684Cp86>}-*bJ->ei;eJ~bS-;uF&>q!)3*sAltd_PqGg z9og*CcE@qBEgQ?SR!j(s7{psdK!}B8MorF)81soFo)(-L9z_@?RwP1YMFqZ8LP~}7 z6%9>w*)xMfJb&PI%A*ym?r3A(+Ab1{S@OOQfa|!V)0x&U{OdRD?H6w*=Xnf{j`Ldn zB#vz}I6j3b1QEv}8jbR^#~%OCNPP6Af4KASF)mOPR#2qs0>*2!)+i-e%HpRKRrS!n+|h=%M?Ngl-7-&=Ys~%mq@9KV71m5 zK`L33v$M=6Q)F{FQt31gKe3D1xmhmi?x4NerKzqOsWo|DqE+y{R3^hhDkV;z9VB83 z3=yQQ)*7V)D-0npZPNwFdlJuIIe%*rA3Hhl?=?~PXEm`(t0G#)rrtF;5gVlxrfCw3 zRgy}l`Qbx9I+aQ!K3`iE!}EPVlTH(HT!zOddGN7cF&H1imjP%)fG`AF>uhUdV^?Qm z{jN*5Y^JHPp1P_^Pzv9dMC_pO)9EyGv-6+pXlwh<*YCa?PmAI#XgCYN^ZXUYE3H}8 z(tPuq1EuIQ|=A~DoJhrQbg@t(xVWQF2!raVfw_kGcJ*(SW8zv{l zXsNHpGEDM$FAS+hYlZX$M)3QH>sU|aJ#S5BDaY1L8?h{lhMH>N8ER^(5rD50i|KT^ zX`0sn$dVKilmPJ0sR5}Jmu%?K>2#V^ZLPd{YLG)mkK;?lLLxyjk;JlW+FM%4q*K(@ z);0}}jLa$J$8Nm(O4cNjjEzrl<2BpK<#GT-qZPy|E6L|_B$CO>Z+-89$~!*!F*fw9 zVS09!SS-fKv9Ws<6Vo#o z+NY)}MnioaiDU{-YT8noTUC)yDe46TO*>Tw=^sHIU56+ux^$q-j~aE8ip=mA*Iio1*TC-<4a9Jycywo zrZ6c4H0Z)`;`A9_IdYU=Jo5s{M1ps0UeBuLMy|W!athjMbTq!q;g&@pD>PCm5Fii; zVT6Y3l57X5^om*12UbR)0KoSZOZhyOX@-TaK?sBZ(-1`pQ(7ZLs7wumiODH4**u<< zEF@C_K&^?Em95-|z!1|k&`ME|Bn7XF!lGeD$dXzue7YcwdP=dF&5aenX%tFI&>9hX z+%T8FDhh2W+(;|Pc^+s@&hyX&+-{gFJHAmObF|ioAOr{@FwFv0Y6?n0Yqer70}#to zp>gn^T}URkZ{M~R&-W1+_|jkYiV(r(D(IHJ??ph1Wxr~cvN?Ru#}Gy_^(@m|S!-dW z1qNE_qVhBl2m)tWmW^Xu?KkhdUYAJiqVkZ6QtsnpNiqx?H@+FPT^L<>`(I0vLO`IGY zrvKC+XXE3{M$7ov`)*)rcAl=DUiQ885>iTBCqgt@foTQaO=U76WB6##3(_J4Rho7H zreW~d)6e2WY$B%34cBbPam#VaqZ~gmz~t;4m6a82y=W72sYMnuX|f@ih%n$GjV>?h zD~(|o>_2pv+it#r9ox1rvykN3{fGF`Q_qvnW!b-PAEs%tY5h8!h|PwcHAKtH>0aH5 z2vbH%h4k_$tx*K|ZHbjBl=t%Nyx}^sxjZi)d4pf?+0W3>5c~G-VfE@RuGz7JsOzw> zFprX{&@q7qlHooffRgIg3azzBq*9zbJIvl!UgNg+UC*aJcq7yE30`~iBz@g$sBdg! zDU%`Rd9=4Q(bwIDY1@pBjkCU|8?+*y%TpOGBe}4EZJ8^I*exsP(WiE^d+$De{LQ<# z;}aiYE|FsID~A}Ho~5C=mHF8j<`$C7&Mg$9s6t((jFJ>8z1&)663tRBM<%<(!8iID zI5WicS6@M0b&RI^TH0G1dGVE3iABr#=exgyX_>T~4hj`?vXLw}SbJSH=(c9a@-o1O!T45R{*Iv1umWFz=i)m7e+3*Y! zG)b+4Mpif*2t$+@1H!Tpz})o2GJu0G?B@7u2e|PgpQLZw6~(5Zv@W91x^O=f05A;! z1_)s=pGdNhOi@bcWh$5Q^L{YM68Q7r0pQp!0*!`pLlAavmyI;Apa3+Rya)C#`dk>cl4RYyrkdM#-ozE#wsPRL z!}N5o<@oXAOiWA=kB`vU*c=!fHZUCsBSL~H^xqZC^~hcSxZ>yYq{J(`pWvBYyIvQj zxvWyP1`%ozz0Bb%6k(}!nz=+0&yySVAbOp4x@MSx40G#4613G)c8HPv+u9cz1fwiFN5I#?iRDEvNfMJ-SWL8CQ1)3=MonaKTOyM>I#;0bGQlbDU1D#`>qlF5| zA&fv@6@Z8W5CfEwXzBBw>)+M!wfi5LjJ2)#9Dx`$N|6|Vu%nfiJ^A!AWp~~80H@-U zIIhceS6mj#XCqilE40$smWlK{d?}0Fw~zvcVW73f^ZfusA!Q0$sL(jIEQv-4K4dye z2$UaO8ee|dHZnP%ef#&Don77UFW3vki!CG|23~#f%ZrKmJ!ruIrEs^-rO>7)Edik-m>_nn)!>00kfG6%T+d>wB?H zLDY3|?Fd@>v^KZU+R@4I_#`hMI--{nb5F#N9sUYnhBg-gC_pTwQ>RWHe)+3I{fF=C zT(|kwOk%@lr{)vej+`76eO>L;#iF#<*OC_&@%cp}G>P9OW~bbN5P*4hgrph^J% zXglJdwKlwbZtC>w2fumdjaPrz-m~H6?#u7a(;KafSz3C;2hT7wIZl2tb!>WQ z;I4_Y0}uJ0w`f|HVVV~CT(&6QR?vdux|o)&?1)2RZpQHPxy6x_Z~k~>p#Smuea~&* za@D&(y=udj4^IrAQ6ndg-a9iov`g@}Pn=tonWbz%yE3@V3k=r9^FV=>3P6s$@awxL z#>c0xy7|`6w69%%)8xq6x#^*Sf0;Nt@KA1Pamp|Z!?Y|>5vx`R$d_ETtN;)k;uUqx ztvGI(ni?BXUOp$#IzKZuvgf~l`hx=%RWH>xn z;bGheBcPNlA~Or;fv~7O-(yo>50~Bk(XTx4{qKEi@8b{OZAF}KNZ*fVk_$(}Y!tDY zI#n=QpL2dcuaOBr`F@f63+WvG*-R(q&sY(sY|~Zm{x?t98)JTb8N3bet>TkI9_Am8ay5p~sb2G;>$%QGP@Cry9hVhm!IxOB| zT;NrZ4l7@yRVE&fXV08D?KU(tvUT%DdfQvbOUcG{J@~#)F1r{W3w_WErB$&8r0>z* z(nxRLdX_xJ!$0{6v-9)ha#@e%6ME5rRAN4$Ry%Uun}7=g5CSD-Ag`B)0g#G*yQ-aBIzjj9PU>S7 z?B2T{+bt(PI>zMe923C>*W%K`%rAzI9l0kpKidy@;q+O)`dRk2ZR3=clSw9uHT(Ml z2#e7~X>Dkw%mNtOahf}OH|^}X`0`IQc6428MS|BtrfE=HSBH6N5eGhnmW6#+Op&N&vo{0 zy1JsO+R3Dnym4?Jx$F|!_g)=6{`!ARj}ASrluCu(&V`2m))%W60$}k6jB^THmxSF^ zQqGQ_J@v%+*;CKeHnncudiC|6>Rh*Zr=QEtOrJgRt@uFy&y|$(C59Js{SO&`Py}qp zK`UK|zieQmb^`# z|GwjY01hk7HM@pVxBvhEC3HntbYpU5VRU6JWMOn=05UKzIV~|VEiyP%FgZFhGdeOd zEig4YFff``({KO)03~!qSafY~WNBu3Eo5PIWdJfTFgYzTF)cGNR539+Fg7|eI4v+W zIxsL#K4>uj000?uMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o00000NkvXX Hu0mjfuoF_% literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/configuration_edit.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/configuration_edit.png new file mode 100755 index 0000000000000000000000000000000000000000..0f9382b0283f02fd319e409d4fb5cb0040cf1bb9 GIT binary patch literal 3419 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/conso_type.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/conso_type.png new file mode 100755 index 0000000000000000000000000000000000000000..d63a9cc636d70f99d9bd05131773374a1b652b81 GIT binary patch literal 14834 zcmW;TWl$VVw*cVTUEJMWgS*@E;_ksM5Fog_EF^&tG(d0*?(Vt??(Ul44#EBAyYtkU zuIj4!*)ylloQ~8~SHMIgLjwQ+Q%O-)``^g@zraEIcSlZO?EN<&y;D(;ef|Fn)!=sZ z-wdj&qM-)>2$}pZKqCVMt^b?!c9pjMH~#19EFfQCp3@PB^Fqho!un^_+#GT?@hzqL=&KS-jWYBf$T&20h2)kOXJ#X3GSW3sjU z@HH%ZLuBG?^)l1r%;W5G)&KH9Z*4B%ta09~@um!V{(2U}TbmInqe_sGYV*e!f9_R- zyshbVxz*tjR4TvxW)8-jgx>cbY4opvU&y~66)(tklXn^k@-GvkgtpD`Wrgi2Zbc4v zgZOO75@OP<&g!XKtZyLI&>EQ<)0(X{k;~^@g|S{XUUrL$R0Ieg~bpsrxN(x7sc6*OB z`Ce8zcu!u>o=+HJC~v;{ zt&#S~eI998|2#5>@vb-cB}8p1EHX?fEb^7sgJQsqV!!A`%_{u?@^jka(t@S+ZjU-- z{q7Rm|NFtCHU3nYQ)06{EkC9DOSSQj;bkS}bZ?5+Tj$i5xQD$EHBVKFWMO7ElDQh! zqhAp8X6^3u;Il`U=RV=3yK^_medmPom!%v(Q9l05+ajLGEI z?p=@`x;1^{X%uk~_7gmn+88#U1}}8dbYTd+@9&oL&hQZXEc zS4Df5f3{(-j2iGzMSEda&sLW%&$cx@h24HmL)2*|ZCY@~-ssvqC;ShEws-Pm?kUB= zoQn8UNE~|{yVQ7_B#-!1?;fd?P>{o@(=e5w?c9JKn|@HoDf#)-s~ddav|CGNpK3P# zu;_IK2_*?>7*Ysi4B6DA;WQ*S2D@;4T#t7e6tv!2Uk&z%7(Y?C5Pey{P#)MY{A<0R z7^)HeZZ)EhnmO3u_~Mv&|}u)&{NIbz~K<} z!8jZnb17zxybf3Q)V!-}wVRigi^j#@3>p}rk6QiCjL{^U(1XK9VYIQiUiGE>n#O1F zZ*FLffKFNaf@6V|wO}0usS|~RtI!p9%c!f5+kG8+3A^+I8!zCmQ>fCmtQ%qrLt)x-n%bRm4?=eKHpu1&%`BiAkAX8 z@a4Y5Dr>W-r|44gJ;fpAB2Pm0L2#oNqahsfsK59>FiXkLaohCzn-txF=U z9yWW{?zhkNw^L_1wb*4;`fKI>#}ZCgU#5-};udS$ZM`PqB+84g&o3_g4!7ua#dMc7 zd`fyfe(PC&IVZ#O-15xw%1=YI&t6u>?6n_hs9Jvachz-0-bOg$QkBbwX(ocbPpp6* zbypYnI*C=Dz=ffj&xN2_>rVSTk^37t>pCqd$NJ}iKRS8Oe>`-Fd+~`btegIRnU?cI zsO?jT5+kPmSu#4S(Uev?^f9}gL0H1)erI2%9C-}8GW*J3>Qd$$S^t3vtc2&DN}7{w zT@>{2uz=R>+l?Jey_@+iFvcM!10(TMsolT(E8zqJ(Ekrho)2K zXU_hish_Q*g<6w_?$Ea^oh1|Zt|v055$(3r;eHXF=$Ay*1QWPwI1_35_Zwu;m;e3& zzX>+Y)OsTOVuT~WY!CW0r!|LNmY=I~FR-(hWL_$w<)ziA<#nv5V`0=`eV#z7g5=Up zu*%n>;yOY7c%^Zg(SbRkWif4ySRG1L&0Vsk(D7kPxPN$)A&uIY~XFxg$MUa>V(_0Iab z^&yeahEY=48jo6z(tkX_?AD~#c{Wm?nJCLZb9GE?s(rrQ&D-RC%GU+L>Ze4G# z%E!+R7A7Rb)__W*Ku>E`Wr?8SYOO< zwxLgOF(S#V!0A9yfuj?r6U3XQsJYiZAeoQD)@U5TEGIDN=2~gfbgezz#|tN^iz~?d zf$AZXOJqsJ+%E9x>7r*~0%P0WFUI8LK2Uiv2~+2nvnNInWgFv_7qx9jZBA$Rr?Fj+ zj-WuSV9YhL93fxrk@BLq4&_CE;?6>XZlAJ2R=;O{J^dm$XKmJf(0>3`HdbaBhk&Dz zue|&jp&f(xe=*>E?xC_^k|E6B;XprRRBV?LerhwasUIih(r?82;3tG}-C z0*lN0e)5k-K9XF?I$I}B+LDjZ9(Z5UnC9%UVj~%l^%{07_KJ8)AW9I4Mp?4mLU_^T zra~qrmGN}EU>l&{OcjFbCjMuhf7!q5eaMKJl}dSl{?l8xcyi15eLa7PNc<}zCtN2> zY-Q$=*kKzTsitxJ5xv4dr-PdzE0yL_kjUC>P>T1;huwzAWnag{yb{fwrTL=2Cayyj zgY0t^`!72oq)-MNR9Uda;bQ4lQ7qz}xMa@6$1h#bS2=T7(}m(zZ9l!|LXnl)UPdg> zQk$8mf@$@ph?PQ&si61lGnQ5TKugS6ljJd{_t7S&4@Lre2Tyf>zK*=#I6qeT zn}TT0KWQsI?3;Cg5+?e(9NX9h3#=K{naAbU;K5Ii1nQaUJ8inbMA}i8M0+6Kj3+1& zhyf*ZAD#PlY2la+ZeTe})(9InSx{S`)Z8mKovVV*O|fpUN zmRinQD0kl1Stnw|j&bQ!-Pei;J86f%57NSTqrMZRunX2m2?V=juBNIKu66{K|K3%w zc2#H*ST$%+RU~irUv(C4dR~3EKqpU0l`v*awXpWoxT6^LVuyp?n^CwB!{%Xndfjoi93w@3GAC*MUob{lVJ^2vW@Bg0APnUZ&+;AZ`m7Y>^Rl|r;ZLrnkk zWoK&#e|zf(PnC@ziN4PDn3}Sa2fjn4{(g*qANN2cB{Np$;>DS>j=2U$)`K#Ii`c?$ z{0Z3GS|x72h=}^o?WV1|v)%`qW8uql@mUCA$ER!K(g?=VZ80M^s{Ju5YA|=DD&ckmrDqyYfS2t`LkOgS-enHWN&cz$SSlWhP|?jneKC zd7#_1mpxQHU~M1%<-OzuHA5G!tByjMnm)+Rpyd8>+G!d-f%dg3>w+}{YaZ;sqhhQJ z-WC5``Ef!{X}599F59$>rEQ$fCQv|{O}g%itf8Mn=@rgc`2A@3WLWasVx%R$K;nO) zUuV%Wz8Wvuo4V95*ihwNvo*#(3=FE1-2E{M<9ZuO!5~6MoGI&4MbhcABsCn|D>-b& z+fGoZRA?tbkttHbDU9E&NW8~6Zkh?wDtMz!fSP^pa7nydZOL%JkXWD-RGzKd|5n0M z$5-h|*i4(+*?-IP@gN2@&#>AidEB3IhSh}7gW$Bn>@vdUvkf()??NWU?KoNbVrT7< zRf@DDeNEVR5)|cqwFM0}W>df92&dt`BMSt5`oZ-8_FMQ%w8w#zq>Yysg+jRpvRFL zAqwXoh;pllNj=AdPgbkn)K+&h8_jQbRcX6NvK5m@hBere43q~H$?$^6^aZf&ObGDG zAF7s0%Q`AIUwgZMzSc6lds@379@r>#Ej2LUX?%wpIcgH`$Lj&oXY61XXX}X0(%p=N zmC`GD0&oK}?U%}qPm1Qf-M)Y6vekwt<88CW;LfUdwdc0K2b`Y;$KS7hb>rl% zgM^>SLN>kVLZ%?Dp*dFuA`&fCH#_Ep|S39;V{5hq8wPch1e4 zR7Y9d@J#)~jfmp8KeJd&g@SVJaH#`wNfWAc!GJf;9`#f;g9V!H=^QwFFr2MH$5TzG zw*ui_SEN;%FjN?gTi-UkrJW2TiR1OT)nlAsUk9g{5AU`OU$W^INJ~ zuyDRQQ7=jYqwVRHe8$L{)hyVByTbb>A>kDTQ9` zUU1`c66Qt@K~sx-cg zxOFgJSd9pc=At$i?4qzRHlSbm&r~y5XP%|IHtH%L^Z7d87LDjQquc#w*HPPVvG5r3 zu8&?ql04J>BxNnGGE;fKHgemAukuFZcs@m$jgkwv&{>?>P``f_(sVEPls!P9@jZZr zLXf}@mEq;#<$%?PS@LUulI@iK6f(Q+mw3yB9iJlhA*%tlxGJzJKw+VA6yr}1js0H& z4KOBYf;FK?q%fO?ADA!+ir*-%d_4GkAm4mGQOGvF5}gu&M2BGs_#}vpQzGk1m+h48 zz)rJbtG6Kc8kfa88W73OLI2Eak{T_8SIZ#0FWvW7Co|3PFH!W^v8%}5{%0Q^i&dm+ z4^%NSdX@_^143AL*!6sD@3OFb!Z-Gbd0kws20IK{bn%zu1#q{Hb8N9wpZNyLIZA!1 zIY32oszd2-AsvU0$}eSSA=X(PcO7@DcjBwFSX1Hl5jA|vJ}LthhFvy$={r)!H~!0s z2iF9X@(v0g@`niYVp)x@Nn1S5$1lWgX(;^c?#6!ygyzD7vmX2);dnigJ(9UQ%28@j znCF}#BD5l)bMy<-KkW!Ox+p2=DUiFgr9nr80v+*zfLLTQ$xhO18-mTcKC89?PgoSq z){rmIJQ(no3PyIIhz$QIPywO?VUhu#jb_0NL=kQzFuC^7mXA2n2%15I;=I^66-1qc zorumT&TDO6=p^c&vrxo9B+g_j(N56weh?c{1>hNXJ?78I-C)g4ib3P7mdT`!J-qjA zf{L1tL}GQdQi7r+@O8W^@kz{sd4z75Y?#i5$-K1d*rQN%I&-PN%A%=rTcRv5>8d2* zP;R3zWy)tM?q=h7VL9Zn`iNt_d2`x6)AjMPfxXX-3etR)Z*ZT`|R`&LSXDc7@O7Az`!gL+aB(z1m8@T^| z_Z`qE&o&gV2k36ijod$=av!ZnAMsT|l6fyHca1@$CU(SRC9#tg^A$)&@y7j1`*f2{Z|g0m|^37iHY%-;pHsL`in*lac_Dw zBFwR*f;j1Wg|;=nR6h$VODAi(ua;C+UY8dRl`)fN3rqcwPWI<~vAp1g|7WjdsfES; zb5z!b4(e1CTo8;9osx>fgy3p$2p0ixyors_2w{CFBjy|-h`sZFX8z0oAAbBP^@WMC z2eJgB>Q;X>BkV-mKi5%oQ{;gsA7t-m1KTWwN^)R^j~z_apakWvcrM`nKV?N!sJ0TB z5=1fQCce+mjWZJ+o-;_@PmP2^g~o}-39j5**=-s_WZl&rElCCGBI(^$oTA=+e-ynJ z1$B^iSeS8J98WyKpMXWjrm3ZU7`C}&Qs5iND06C#&@1UV)?dlf6Iqha-F<#?E(UL$ z(ly>xb_!ODH~*a(_TUltCQWQ3i=-!UO1`pC?808!pj_kc_#GyrN~$xS1p2IxUQJ|% zXg8rdp*^7sZ;NWI_DXqy{KxoX?nlB&hA8#z&~ad<&QZ|y!nK+8^h&-9b(dOrYu;p- zEiF?2a!hhuGKegusJTc8im26DVg|4<2^1i~y;gf5&~vqOxpP!kzx}5a4+fe;wnMtV zpwyRRYj08DGwm`CqN3;c%lHe_54zgW@&R_2sY>_YadTR+p*(wyY`^c`Ubsa zv`?6*0mL_07J_7y(O58x&hwgcZW@vy?B5Z<6bJN|s6|m`&5} z*IiQh%tfy_7%Dv)DFP3WRgcGqnNFgl;BrDQ1|6`gB@o`EXRAyg)}UlfqSEjbgz^L1 zND1)>nl}Z^2dFhp6=FwNUp}~Xwout+Ef6gbAs5`J1|>gW;F#l85>+BG1*j@#C81rJ zQ+W#RvqQ&e(X;@Ycg)`48U+9h92hQRL$eJfO#Fo*haP1VdbIJ)EN8~+ zO0cNizpan6fe}>R-J%EpR^suah$`9Cd*j(A#Fe~~Mu$cR^m+TVy2kXzRU=HIc;&>c zRKdgH3^s+T4$$%G@>)YXxww|wPhL$o(4^GD+S~xnh`Zdq#`|YLOUSas6=AY=RBW;x z8>at8L4>9>Xg|G>_ zSMP$XqMkC|;?ew`6|^S@v;v6wGJdTLub?d+H)PvO5Z08}wOjd+yT*EU?FOO`vQE6K zBLn0IDy;dfs~nRmd>ox6Qhj&1^qg(OY(zDZKx5a9{Zv43I@91r=2 z`I-F<`f%7U@3QBxu#?~st7Iu7sv}RWH#ougXrO1cpzklD0tKFC2UXK^Foo0s{y0PE zTB-l7ztE=FW=4=pFvMNF+ie2{KD-p{2;@qXJ(oB@5Zr&~{9=Ien&2^#V!MtQQ#Y}L ztrfO4b`pUXZpofv;92k)5+nlfVaQ2AYfOEWeaUL1xI?8vvA0vQD1*I)p3MD6+@1VY4nmo^b+hQc3v(3^8)h& zCN3s%C}*o=jARUK!K(UQ^*g8_)LYpb&91`!cy*D`Vs%mGSQ4hwlMsNeC_IJm4QDcy z)P_tuG|UoJ13v+@lJOHg%oa4il0_{%013|!C0;`V5*0;CL5m(`dS%xzkEfCvElcRs zexi{2I&erWUL9nH-V#DyNnQydG4{%6!~CKi*+~&VdUw9Fbse`5DuDd9uj(tJb)5Bw zI)3P_Y_nQ3X0F`qTYEORM4xB{M6vaQgd0Sl1T?5ekWT`qxss-ay@nGHMInga_)=U8 zqb;^9vo{-JB^d>8+y-&QyKT*{5T;Z%LEdgvbX4?v zcCw=oBBAyJoSapCoSettcPcly#>I_!)>?IMT6vOeTPOb3>`2;n)o8XT7<>`!&*ZTh zZOJ+`PMzSnoL1=%iZ zwW*ndY!l0MqxBt>UuV{M8(FyNiuF(r!Gb?c#s-{;>=P9QY9Zsy%s{dr`anMh2z?J4 z=z=i(NLEXZfn@~F#~O;kiW3A<7EF*1#k&Gu{*u-#+I#;z25Sm7%j(jB1;-X^e0t2F zc?rELe?ZS-olq`d|MH6X0UhRcQk!iOE;0&Iv_Rqm@LV?m11ki1VAcMHJAkAn-k5|P z16Z2xqO$a^w_W6eMyv@s30A_mRVPh1vH71XM;-hzTXyJXPjH{CCvON6GvemhCMFZ%$oU>Cr% zLT!c~6;PI30?}46FY;1QD*6!iI7DGYp>G)|H5lZhNRWr_E749Yiv`z|mLr&N;~n#b zZ|<1!oU{O%Mbvf5l}jiVc{}x47xBL9Mo{J>0+hJ2wNMWv&f9nDBBc=|^BMiD2e zXZQ9!fCo%dX?-9ya%>S}lXHmq9%xmPOo#*SqpagGU?wyBFN*Qcoyrd_gSFGw+XEGK*P1pzday0J{+%Lvim~*T>fGgyteKc zb0BDab>ii-z-g?oBPwPnis}0IUYPytw!{4LW~KNoRk^sCU&Vk7mHyD2`}aD9V=Qlx zc1RRPrscQLpDI11JxD>wzBPo7908P@96P4llwi0tIw4dPKYbF=Q<5lp2Xe+8-{OTb zPhakfz=TZ`SeGzJkjdl7szIxEdY{?|Es8yYM2K(#aR=|Nfe`Evau-RM%^MnsuNJ=@ zmL1tj`cyhl8qt zMUJF~N)_UjFaf6|p+kV!x2&J)5Z|6pdcRnq+k+j}X5i%d_RpT^pzQ9FlF|~8zvK+( z94F!@^ehr)r2V{$v_n3^$tX-JBy5;?zEKGgOqDT`0T(KfK7|2aEwIau{4bGqRP~1< zHhnY@xQXQhbiYF@0xWXF(4aI^IG8Zk7C51WkNZ|jEwH1}S-1{K;wa2JHt5_<@~^Z( zU>qiU+_8SU*4}W3d!dkhp)t<6?{?7!M>e-5}`%b zJ4`!F7Ow@6V(d&Le^De!>_Ds%N$f>&3qH-lmWJ2qV2hyC6{F@x*llX;*H|>DP&ZF4 z4{mOsC;l3O>v!Rgd;mg`HX=1q4e;W%hui&Z0<}w|rC2GiT(xHJ(}rcMm=;!n3m_MC zW-y+8YDyPt4gyp(XZ1G;YglCNL|6aMpQ#mzvHV-_;g+FPhtZ(UZ}yHK9Gx9Yg*T?B!;*=hQrc3g zQeS0pSUxa#(NBwW(BvA@!@!ZdaAiN8$gcA)KCl-&)fKH#+%v-y` z^C2byb|RK#j>I?$bq+v4>caM@|^hph&fMYv(QAsPIAO~9fA;J0{M zyG=X9v;?%;e!a(5q#A-K@+&bP0DlxoSs>hGBefK{GY3X(M0Q?Ik3UY3bAJazR^VW; zyah)MQUjxrN+ozQ{b=`S7ew@tBaq!6V#4l|5H*nTwVQRA^#z<7Sd`B423`BHyuExa z^xUwA@VCx=Pm5qxjKfNXFlpk_&~b)g$D!ApPWb|1ir~v~OYy}*|NHdTWt=gSK0|-D z>#t@JsJvW;v5t7kU-gqqRCM7!QGYJ`_Ck*{%r6LG`&N%=^^bo}tJX|GKiz&h{d9tz zz)ttEHZh4Tae;mUE5xG35e1BQ!0=ZL<{pq~V{m9NX!6LkdeZC%^cDHp=XL{g|E+`h z2XoM}3??V0Gt9B&(tqz7w%7Tc?QInh&B)<{I)gfTphKVYBnP$n-4fBmieGmD?`!VH5)K5O~$1as21)MHj;^X8~s|I`f8aeg_lb_ijVD{U_$uBY>BcpV|3+U$bz zLYde1s#PMdPXCIwml@4Y+3Go!b7^1M77gD|V`%L-Hl*I69+OI5+F1m-PlwN9k8=>h zA;JyTgbmf_^}Ei6TX|Rz{MaJDg`yAPbJRPWNkt)NXA|tC_umn}Un3KcbLbmYAzZyY z5IztB3vtH79Ed1#qTkekr6^`!aJ==jYC6c7$|qY4dz0Rv2Jn+#RwReUHZ43V6|hi> ztGFw1Le+{wihMw+;bJW)C8K&(WsxxZ8vl-6kz5v?WHx3HN8h!?(FC~PZrE zM74l_Q}vtQGufX}Lh#oK*Aay!_6F`j@?819N&uW0Gu@BFNlpcHq@{pBoRRz(;w+ZE zt=F4eMK$Mnz4VgD&#PVY;qD(v*B?2^Hc(c-tw=EZ2Jl4 zKiJcpB>f=DA>uXIA~8*z37aOZNVCw<2cxCQR_@sAM&OYwzD2oEnHXQ>?K)%#f$xonc@6@tU4PnYnHy?Z~2&3AHzI z^Wr6J&v611y8Eah74(367kE+MXNwN4gLas7P;BD0R@+w7nh^kC9% zj5ph814OZitU;_jY(1cL_I3Mpdw}EQ2TV4Bc^ehFsw6axX(3dnut*QH46}^A;I;T} ztyi*$)lk%YWnT+s#hb<|I6*{M55o-;gcprJWRK;*igK7#+sSDP2~--v))H8Md|*ba zW{xUUm(FAD0aM_2~rF=r{+0&;fMLqe+_B(UTh*G z{$*6x1kktN^sMJXcwri)8l4&}l-t?|tZt?J4T6qNi*q&C|E)C-yLfcz0pX7iYvJ8X zC`(#~QcIk0@5mF6l>rO-1yga)3vRf#r9vG&h&7ot7Y%SG_epEVK+S ze}z8KgN;{II-tBTTrf|<7xh7_x%d}3P3e%V(SvvT)6`93|)^N&$LtWk`C6Agcf3 z2;u~D&!vCDeknLwHa#6pIf}evO=ktOrJI=;hWPbNU8f|L2b0%_?7CRx`iUK!Og1MP zDDz4G1DYhy_G8{L*dQ zb;OXOUX|Elu*T)jwWiL?`h)$4Oc+uskA43(DIe_q>3;6A9O%I@P2xneYpV>b4#c*W z7#bcN1}OL_@hR~^d+6%5>b1ZbSqN(gD}2ti(u56WaitIfAWd#UtieU^5GIpzjf$0# z@5Jur!v0lqwL-Ls!8JXelWCw|Xh-_kr~&VB=Ej65`_bE;e6% z?#T(ReY;5)ZeM2q%g+3t3+prc4I%Z10Rv}J-9FI?1pI@DR8XG^F-@*AF(lJNmr@n&U1-Znu>RiKS}2u- zfAl^smbgnG)uT8ON)`2;=cW#vPF<_&4YH?01AZeuC~!BSg#mb0GM^@f5um*RoF#=K zG9WmJwe(GZSjNHd9i%e6i9!#DMpxT*C>WNmu~y&%S{yYW5JTUO*iSwr2G6`m;P;mK%Gn$WR^i4Joh4?VBb{TTHFZ6L>RZ1M5ixiG;_cw+;6a`lqUwGOiuG zH%I5e)f z@^An&BV9!rO8Gn^5t4IWP zL?MSGfmV%g5CXt(0^aYch?5}i8ptMwPzy*^BC)>!l!u&`mX`)~(00&rz;*p|_NC+t z35=?D<{}-=dGFzt(`O8gtU~Afdg|Ubu~z>}(ue*RIhIh5i!i?)1E-QnatlL^8Dajg zZr}E!7=oCu7((J)ASrbq=`FHG-^`^h^yqp1vGO)FDTw7!`{ud0oz9oNI&>h+!`=08 za~pPcTYhTZV*a^yk2zb)BbY9aAw=mV{;BbuPM11GaHbD-gB7s% zXKAFqx|sTY{Bba2gzfX`f1`ap#1l}(&L0oj&#;OnChf z1z%wvvU=g$jXS3;B_M9{C~IM)3S`9akVCkGQW;0_U`K=Z9xuSBlcnTEeRp+tEISzo zcL!cqo8L=c>WcwyDmH6US9GZf34S3;f^MO>iPzXGaM15B;Mm64BRna-D)f`TV`nRe zF2N2gk8C%kH~N2{3;7CZr_*#<5z9V<$rnu)GuKQ|jBLy6=a$0mefnPOr|ct*@{)ns z4PAn3A>Xj6Ft@O&!Ea;VUuiN_PWqL`shKnA{^b*C%d}fnoU&X~pGSoUU%$OZcYn6! z_=Daa^~oe*#CBncQ^~sF{==nbRQsePlUv6?H%$N9XKt`;3R?V_HJddH6JM(6tw4a+ z-{2wWjLq_015)3rcgsVusUBJ&Fkn6z>(XaHSIc{! z!6pc2U5cnl9Z~_Lz^70jKDsE;kiv;yxSq`Kwz}6| zynGrS|GWKsiVj+i^e)Px+2z=)+~J4_ueCBI5nJx#R_`9=j=dij{MUYSS>UP=pir9s ze4?AvtNtPx+0gEg;qa~etHfqtPv2%>3|bFBA&bMG^AM8$#6t1T21$mGj^=6Gwf^@m z9Nq<0s zXtZRIt74LJ$LaC|eV;U*d=vABdf`dw%nzNN-mhKX@uPFr<%%AYwClpSWcFtzobNQF8o19e&*`9Ly7k!$FqrIWMk-ni7LiQ&U z*YG7PsLq-fvCo|6Db8}wY8Tm=mT%Yhmh|STExJ&$QnSK~_N%_c`*1Q?#W@7#D=e-2{}<#U-LtYu7^F}vsygnpBS#xZ*~j>toTL15`E%L6INjM zMoU+XA20(N$_kWC^)UP%o}!lyE=&6i!zwn}f8q)Nhp^ez;QXUS>n5`1egw@GdClVK*s2vTs&tQvRN8Ado?=;0ynK#FEO%{mpa+C#O|rAE#9y9VIUX zv9NW`ilci4_2Tws;U!LrR3@@k_u^2wQxMaLc@(jk^e;;I0_qY2xdv3+B1Y;|F}i-JsFOjN8zH5T)0q7sirT(PM|| z>YkFM1P4Z9<*M4C4-#Y3{)V9o!PR_bkGIH+NK4+em`2%q!lSeUZX`~{CCv|pS`!j_ z28LK#2DKn>v18}ulic-1^;)qHVrf??>dDRt>fszSpHXd};0L1nCSH_K&vMUluX4bf zg!~s4q9Ro(%?1#flbc8b;7Afl;`9S~0(p#i0)Ufz^R&BbMf{j8B8{m0qxJxe$%Yj_I-lKgBnA1ZrG(9YGljnG5L)9f1{-G@dwQUHnVW zmfb&3vHjmkd%tXjIrcNVSghA{gbFhl{11Z9Gvfc0sQUA!mb?nR)aUSgd(xZ0Pf?|%-j^5GiwHGxnKl?v&mY--cmz=;t>lWm=tRpjjv2QrG z8G>wWC8q=H?%#}ln-FMc%8|ii80m{i=o6+5WT)VWmZRyiBy#`BtKP5J5BfgLu9o^2 z9gBqb$}(KlxngP!C10$FM1D$fF7;Q6=+NSi+04QL6CQ#UPFSQA-UV4? zLAIGJS03?HdvEZc>~~WB6>^z!d2*RH&VDBMm4AinCJuAwP|H6`_cetquh%|%IDZS% znSIlOJ4GbJk;xt|I>tYeV9q!4U)6TQ74p!BmM@3@%9YnR=$QykU}l(9w$Mi@s@$v( zh$k4D|K1z3fiM$>lp#5oUw^P=Ht6B`A>iTJcX7Vm$;sG7RZ}_XhqBVqaCj$XGx-e@ zX34%euF=%1|M`Nc`CjlEVNhX^_}B`EsIh1BK6^$%Kz=}Bz(+GOhnVmE%Ztc-+z`GN z=xVRp>UMVO?B#l|D!$rno0~lTnkvP=#z84myZi2=`y6bs73np;DNmZlA#3i$ZwGuu z&&;ZSr$UBoxIdD1;&9kWqt9i0&7~_r36|J_ifCia`dfAItdmr?qS5-|kTnW_<`aH@ zt5hrFrdr!`)a3BjsUaf`lK;nWE~ zA4d^~DwXA2ewHBd$_Hk9YFH1vPJm%EjTz=~9(b(alZM?LuvhX_HVV`mgzd8Z4$ht^dztP%D<{{1TX^o}NsJHDL1i$_wZ>-T)^ zO@)BNgcHq6fzX8l4hv0R0gOGLZ6B>Itam13KWATUR?k^jD2!bFU9?_5s}*7K!sT^R z_Jp{Fetr4U96PrAAnl&X)YrESzqV;ImE1CwcpSr&V)>@F?J9;qtqM$Cycgw>MGHHw zMU!JO+y`f0A~9d9_Ff^gU#@BQ)CS?BI^@7dp3>)yN1{`UFejSRGCsW_+r0HD>;hQSFI^{-Qq5w0C7 z$N_>ObI{X*0oVUpVQcwo!V^kgZG<1eYX5J4(C4WF0IZ8TFm;o_*&UmZEH2YG*LhaT zhKy+`Q+DSnuk-cC#tCFFcaIfx(IQBH#MI%EbG|D#aSm_mTy5^t+tTc+= zWx%Lcli@{dy=&3>uzuu=sEr&P*1|K|*4*5@Cy`zH^zlN|vqn}N_49n;|Dp!Hq)@j@ zxE`o`^v>8s?!O%$hkmr8kc3D{9X3`}Jo3=T6yjNOiRH3n6veH8`W%;{HQY<&J23Dl zRsN8~z;Nnh95lZ-vK2H?o2X6F?5R%h2a$5MOJbqCGCzd1KZ@8@tDW(u%I{I+<|El$ zrH(kPB!t3;y~G%Z6g$!-)PhOW;*^qzzA`0RGGeS(BeKzZT2%+27ZS&w+x9RS zw^dYVP2^xm@glvn9L|Zr3@0TcPQuiqNSdbOj0}89-amIFXKS4PZFhIqaZ7WF=y*)M zI5F<6`)$#cMqb6-#`2-0wnTKB>76!FE=Pn}8x#kFll1OS3&k*S5ccL6XBOnIZ?xz{lomXDR_tSRl+V}R+AN7 z%%?AcON3Ig2PENo=gKqm0S^kx^OIB|5MM>qfG*CQZ;^~gTriKT4C6fV+E-G=2x(w1 z#%53iTklU=yP>L(}^bIF0UbHF1HTLal`PiGE6xLnsvx%P+lWO(xPp2r{s7Zrq~Poi+}2Cbe>K z{4XH5L}^utzDG}WnmtvW0qyX@;bvy&5TLy#{Uyt`rS zI=6G-DbbdKn5giNCQNd!+OPkvtrUeI|L$U)4D5~GJqx4n%585q+PVlHq!jq$LW(j< z&**sFxAqX&6W}xaLhL0BG&A2VRQAOVU6xHvPM(gRY)$PAUp@IE6zT2=7U_{%Eh#(} zi@I5gUk0RoW*U5!R&!)k(ZQ}A|*gkRrAr1*Z+gYaN}e*P`c zw!|y5AYYaD*fT)7ie7iAU(L-&)vLK`YpT=XQ}ejFrjL)$(a6aDa6Fzdu#)ZRJHBCv zjVw>mdtg_J#!=MIa(nvIDjcvuQk!oHr#!X_uwUQ%FCd_e8Xy6SRirQT0-z~MjvYFy z8mUpfQYF=o(=?f!yR=r{pCVP?t3+9?NGWOsF@1*A2x{@K(-Vo1yA67Cad0%{#Z3nK-XMXhe-K)gmbT+e z=o)$`z!-A0u(k<2DmUOJMPV=)eb^7m=9V}qcz*)N{l zd-ZDtrCfRRJgoI*-W0uO&O#k8P^#3tF6gpzX$je8dDO(r%nTV9mePb-vQsG-ZDac} zrv3bTxk^;bX6MgqlDUtRh6`5B?AzJ92()6-Ko^UPp5u4ZkGxDtj#4!$O? zcDLzlB2@aMN#pQPm@7+tRhJqp;GV2(gc3&*X1k@T!s7$C9LLE@zl zy#mNtCe=;LEU(={^d3*?UpWugr-AP{A{s7fzrWm$Nls2KOHECc0Sv@oh11E1@^t^6 zkrDjj_K>~+qg8BdtgEEo^y`lM6K8F8qMl{$*_?HpCZx8wr%z7S zlbe_hQnJy~(e0+e^ZT)?6z`d=?`AQM-U2cI`OSyQw7zQ13iC;7+0C_3g+h-%!T3JO zG{0?VFb8YQQ!hW1c%dYgm-W@kIQ`nh^yC=EC%NXOC%~u!m~+G&aJpRa&Ts9Tk!lFf z$$BT^l+MfCZ`$DlzT|tsDPW&N$4YeUhOH~g?KArkxGyf>Eer~^u%^t;d2`w+d@fbM zz7Eh#yq!EE?L*WF;!{|H4tg#m(xb@8$jpcud-;_q)AMEgDvE^ZaaQJxh)WIooACRt zgKw$2>F-4RlmVLDvp*bteqH9iL~e9A6Zeva867S9TckOo&CEdsAvZYpSy>Ypz!VtgAF;F|^|5Ra0r3@!j^Sdyt z)6iH>#01zTY+G)%pp^yD;A3&1E^N}BqTSWulf}0Zt`10*!+Or0JTg%#rptQr}dt&z4`{SdmyFpsDtW*fiqOwEki6ne0Ota zXRsOivdcly($aFBsBu67<3qd8jm-cjbW!g*Z8lvYTx@rRT-#hf{o0=Y>Nhb~s&_QD zP=oC76=k)G`>|HD-hlX!C;-l2=o|QX@b|ScF!JnD3Q&D9yjSQU>L|{^#r5|IuMhz6 zZLzupNupX8doj40C<<5NN&PM}{_HXvie)nsBoX}0Gf`;?E;cp`^f2X^o(S(5C2E*x z-@~12lN0-w2s}()dD4~W!`4m2*TiI6Ybry`p71Y>oD|hh6|%Lj@@F)CJs`p>0 zvPy>&C^r=NUD*GJHk{;niyP+Y5=K^4HvDg+yD(QOzy3Hz12*;cVu)RUj$y^4{X$*| z#`DZZm9{;qw{mDxb`p$ejr5lS+emrOuQce0Bt$#P-+U#}@Vk!qa=ZCupeaS}#>826 z*$EH`OvtD#^9qf)jyUjUU(H+<+lwwj2g!GGJ2IcYuD%lpH-@~LxnOBgKDU7#19X!I z9~6kVUC^H_bPt|M+1V}Gi4G{RpPYPonnqzqTIrdE3lEgO(u#LeCc3A>un61Ii$R7?4J5_G z9NhL6Wm#tr_9_f5?sn$DEJ!Rom!Av-4du!UF&Z(ev1;QTE*)b@S&$34Lc)f|BzTN#vBFWrLs*BXPGJ*O}t+5#Q64AJNa> zCb8@H+RW^Eat6MEN%n9X`Da8{i)H7tSk7FE#9Z-qG!i%ub zIvC%9c{7Ke@KFwgYx#?l)K@vX;wdhS8?;G+u-kNCOEl`SJAgz@lw#Fkkf!d^+7VDK ze$o)m<3?`J*Cdy!{Z}T!H9ft(kC5p}eQ%N)2MwtgqGCoQ zn*hu|bFL?GXvm&bI;*Se)Y&kPK!v-G>*K(7Wi1sa`ZaZ&T;A7J9Tl4?SB{t`vC>v| zre@B8c60t^0W=Tya&&!t{oQ#Ey2(WrEh7ILYI>#2s&3xibE_wPFMC#>4AiR7EF&a- zXHxWGr=(xm-X__ps}7RFl)38xf1jgo?9P7K3NZ*vl^Fx~#ezc1sSbZ>8qq=SlqxNK ztf}ib+kuZ!0ed8H`IwFl{#TqaPd=O9j)(nZ5fP(pe^A|afRfF^brF7MG}~5HQFno? zk1e4DQ57t5X8U6wQw^b6eaaj-h{!ncfgKAFY4FgsW0yAe_J$Gl@&zO!Pq zu{kpOf8O0tiFx~gnKYL2TPD-Wy<4zrCUC)@!GX~6^jf8$re*2Y)E|eN2vi;(kTWb9B@Vx9u&8^t_xxig+Rp)5E6$EZH_?| zzs}uL)8sFzzVUYaJ2rql<`Y(I7;?S&?IIlAB_5&eBt{Zwc)Rs`_Z0LorL-!Uy)O9T zQAy{kc)k$Aiao0h45P(wata|8n}GKy1}jvM?AkrJpK%JqwmA9v`i2=A4zGA0bNx?AyD$DwCe`?a)D0I$GLGe)ylA^O~f%b)YXcVRYa}Ulu0f z`pOQFYe@7~crM|B15B&K4{f6`qHKH31;K%``;r%*a0*@FH z_iyaGRqE&5+mZhn$8R81lxt1mazzUsBuleu9U}(x$D7dS?!c|8!fMP%_t}=vq=Udv zn=fh3)Dx7IBsBIbF|?fBRCjTc^bAWt_t31!jo0W;*@#@nYnx;4*8g@a2M9bLkB4*3 zo7wh=x)S$=?R$rgK_ACoCaV-_D3gE}<_L`TjmRdL1!aC`?R7`MwyMhNu7&8S#l@?6 zq@_G@VYJGD2ay|lU1RX!n#f!$S<=ICYmri=yts^p`g;ZC!g4e>la>hOpbJ~~f*@uu z0ome=Q1u&nEcIvDgY?YO1liH+Lq1(3+;8!D7}vMw)J>~$B!H@#{^a;O*wj=g_|iBc z;<{Mvkh7zMysW+WfVLxRbaC-YRN4+-M+ZP0ot)OxO_c+eHP>w;xk%1>!lelk!GqFt zY678RyjDOcbTS#<%;bG7nRI{_Uuro4zk<7h%jWyrsOF(%iQlb1IgMfX854R)8R-m! z?+D#r;%aB#8DPopCU#&!>6mUSL5@NIFDaT1VShW3Zo4M`_YfLKc2q2b+Tu;HP3hJ} zsrRAeKxRq$FJ4p45{EN1lN=#P^j8_5Bj#zASrWYUHX>pk20SzPH3gcGU|9Sx0= zmlm$Vl0$%6me`>zC-n02vW;}VT4jG!yd1ZHIJXREL>tMAWWH|0wmo!^*mqeKAQz&f^fbZhK3{5JG`hMX zU0slF-_p&L(7UZv37>XRuZ=I{%WXm6! zoxNa2<<~@Gqc~|geDe~tMO4X`uLlIJtB5NFY9FpCosZRuiW2Xq?q5{!#Ic(vamudb zAAhqTFuK%{#I~T*M-9l4ht1Sd!GgWewCxM2;uko%_5^+X)avigG*}S8D{__>iGH(l zbGOEyT`I!-Rdwf6X((ff8wt_?7b3ng9Qgg_{$~?%wm0znoQHG`yi;dFa|Z{(-}(Sd z%xo~>-6&rcDJ^H%R0^Nn?iU`nOCx3&mC{@>Pi1-wPj*^oc~?DDX^vg^;%RO$qOa>2 zhp>%j9M%`@0_BsWeMmX_Xv@UUa{FT}@>mSyV(Y-x9o>sY9rHbCJ+Y zdpXuJSG#5j^t@OQiRH)&5|oy&d-oc!&4hE<;tIIN30(t)l<-x#l#+_qB}#P1i6@2>gc0{|n)SDoxNug=8MNvxnkDIg5I-$_AC zo^tuwK+$ihBM*`Q2Q%WXC#gubnb-%Pii8tVuOU0%n&UM!X6dy|4*6z~=o4%FpPh6PkCciV^)E8!Ge%IwL| zd&kLo$f;Dlx*mT?D`3z;w&d?PPLR9>{WUH8osj;{3XV^m2?mgYNJ@)Apkk7;CJ-3~ sDM% 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/ct/edit-page.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/ct/edit-page.png new file mode 100644 index 0000000000000000000000000000000000000000..d76bc33b48b97c8d42158140f8bddaf420aa305b GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh0wlLOK8*rWOiAAEE)4(M`_JqL@;D1TB8wRq zxP?KOkzv*x37{Z*iKnkC`#mOZUMsnI@x|AHLXst}5hc#~xw)x%B@E6*sfi`2DGKG8 zB^e6tp1uL$jeO!jMKPW(jv*44&rUeV+hD+RL}sP8O7;P!nR|E+$efjU8tAAQvgf4s zq^Fl(K6uRH@S3Mpg<*D;W7he1{#(-gG-h9$ASb`6z)?d_M1ECChU7*YvA?TVUcGQT f=+?vP`DyYc%cc3dSKSr`+QZ=K>gTe~DWM4frXEg) literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/ct/edit.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/ct/edit.png new file mode 100644 index 0000000000000000000000000000000000000000..9cc554f1b2b6f7337f356ac2b99b9362f1a28057 GIT binary patch literal 420 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 LNkvXXu0mjfPqHHJ literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/earth.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/earth.png new file mode 100755 index 0000000000000000000000000000000000000000..9cb3466cc4f4cabb167f4f4e67a6b8d57b2b007a GIT binary patch literal 6425 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/emergency.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/emergency.png new file mode 100755 index 0000000000000000000000000000000000000000..2b298e88bd1b19c36553b3bd022e3de09652f309 GIT binary patch literal 3337 zcmV+k4fgVhP)DgyI9*@V%;AOmKY!F28ST?a81xp5rARLSk z;!iLl5sQLwet`HzAb}(Tg@la4Vqz?!#5nOlyuo-JX6c#f*}A)WpYE>p*4@wHNA*Mo zp-j6yO=LkyrCW7N_pA50-#OoTzk7r+hWGPJ{-_1~KfsS#!2fvwYrO(L+uti3t)+@0 zk$av=q||@7+_>fyL%i22^s5_(RbLovmWVx$%x^AWZgzy;V@a{aBHfNbXvZ=-6%&~@ zQ;Csd9mL5*tCJctR`-k3pPgIC|9jl0HxBW|xyx7m|M!%EPmEOV8CtG?s-NuMUS$T0 z0;B>tSH~#Cb73-UU-`KR_ z(1W+{{<3bU!I|&9Ndf2|>7lq|8!C&*rl--35ao2C3}6gs4LOiy5Cu@P9Q*^j>Th41 zd#Y9H|E8@q0zorq^B1!V>jUt~Ekn*uYHvKbt?xGX(64bGoBG5V`i3eLDuakHBzWsp z7GFMs>?A1B1rQPtK+z&~JTQtN62w`+Vvm0N5*zO6B~1*_PI8`GXkAsynugFw)T|8m zvqMZQVLkU8`)<7v{q!#*KJ*Z>e+W%RJoYfd2VW*Rew>_)JdTK?l)Tx3PD(hpK%+KK z+=y^(!*D_Eh?bibsZ3QNDW&85k63?)0Ic*JP{n8X|X^|xvI*g$Nsf2=n>m^h&*rH)Egmacq z6opM@kQj_!rIfYkcf!o^l$I)m!2|cQ^NFX?CIT%%!16a(l7EuAoPw6ajb;HIl1SX%}>%M$@o3NX!(ENK%@S5c0Sy|Kdb zk#CU&0nYFyh(p4OIYQvF4S5360j0qeKn^}21QO5kjO(JcM$2sd0F<&kk)fml(W8i4 z5$VDbS*e677Fl}zUn%Y0gUM4`$Bxn-JBJ1m36X*x0Y*Y@z?NVv5E)7-%d_JYBQzPS zo5XAKLVnb-eH&2}7E0Mi3M9b4uaJJop6>W0vo05adTiNLWz2}qkEakGVGBAScSq)|e7=XSCrCK??j z&2qdFTVzh`Mo&?_hizQ*c(LWlcj!O5rI9zN?U_!qlh9It_wGiO%FD z8hL`fZ8yQ(JPU7~q$NN(V5d;fU<7CjEDebVu>vK#ab;#u#*hiMegIw+m8Ag3Qy^lJ z#RhtLiFiXV;rSEv*pfnTk!1NI*5W857Wjh@2cQ#3BWOk7dEIJcTu?zbZf+Eo(3oU( z4q;6I!ji59NXtRy8WS($>J&$&bY@SnagU2EDB@EW$kTwrMktrNlQnmt5JIY<(*(T? zmJ9AmT!D?jVDfdWLdLN@S3<$nxKTtLB#5|0)=8+3oy8v*BwkGDjGv@2nPY8-M1zb$ zWe}ULFLDRK_P{HHQ}4!AnMMNATAj2t0l0DO7RuliebOi(2~$kc!MZ$4FdyLGbQhh* z49jOOlIGwSAP&0|IL)D)gQ7c>ObP=wc%^RKJXGCS8xS3HH*n+7}l3X~A)R2deM_os13CQTK$Wnt9!t6YF1}u{oj8H;2wlQX% z%v{=AR?0Ly6UW#_q1yp*Qb&6popwkk71Z1!t)+P`Ru`}=h|+H5u@poxxC$HvHsJf+ zij->51=~x#vU2h;>pH!40C0oAk{*6$z+{lsYvkjeJ#bubYoXH{8&T`)L1V8E!123ortj1l zYfF&RiEOK$3wJ-EprK2B7QEC@O1W z|6W>^3iV`cVA#jK_~=m*P&J!!R+71?q7eF zuRs5{$AX#jPyFdu|7qfy0zCP|!<%idbZpnQ&BKp=3`(k#+)J`Nm-` z&(D5$dTRW!uRQZ6bTxnJ!2_=68Tz+`oriOEUsxbrp++<%bWyZ7MRHkRrd zFry9HXpGSWIwy!yLY?6WL!QP&otP|(Fj^3Y9jcS(sg7OZn=d@i>~fVmZ#zho<0q*{K&6M{pJJjVHp7dU+QFyH>x%lzA$Z*kwjgH(nF8QwU8P?Fx> zJ}jwFj)f&8LPA+tNGXY8&GO6)i5TQsvAmTDAxee`0&2W~&WQmxI@=|Fs@Q~zC;

                    LNg2?;1m(nur1yhhxL zk!720TX(U4|NW?fp+3LB_@#49S0_36z(F2+;%E4i&wW0hpI^M{1JYFkoIZW_uN~LF z^_gG%nEK>zKFdG9@OQlSy(64Gxxn||JVHCs*h*o$4zBBB**1>j;rIoLu1m4tP%M-g zs+6b<4be9=#P*SG4DZ;)KxvRf2h^6E+;YbqocR86rlzLPS0~RWR~^`^twKVG58ij* zy}!M8&-EYp;7|U9*u8rf6Bo{N^wsZBof=2z4CNMZodVJZuh4@h3lz&fp3{rhTcF^T zD3pEtqK9XfDD?DE@;xfswlh3b!D!9d)2I3L@BdzY>eT5!7#$t`)HTZhF!S1LuRkZ? zcjGv@`^Fph$cGPoh?{=wuG7tCeR#HdVW8P+GjnNzD5#+o80FAY?4wxpDfVul&|7A( ze-oRxZDqr71;?@oIvrfs=FL}+@X|{!apKgO^#kO zi`m&Zrm7SA=)WILn(dBmG#Y2e$H)JsTCJW27K|~kT}uE9C;$V%kPu>EXlQ7U@B4RV zS!QqCSh;S~$fhlpZI`5!j-{kfmJ*`-0O`)=m&ZMk8XzuUAv=J-qy-@apig`f6%0uJkN8w zB{HCENZUX{w_%Hb&=_;ob>LlZaIAo+6%e1Ue^V<$#fos}9p`@lL3hUqx^6lL;uYcT zmCxDAZyGRW72?*s#k2x)McfsESI)gN19C-_SP>@PAu?OZLbh7L*9_n)U{_$S9L@i5 zWUZpt72tpS^}gS!f8PWACv8#J4YJ?^5dZ)HC3HntbYpU5VRU6JWMOn=05UKzIV~|V zEiyP%FgZFhGdeOcEig4YFfgmV$?X6D03~!qSafY~WNBu3Eo5PIWdJfTFgYzTGA%GS zR539+H8MIeHZ3qUIxsNg2R-iq000?uMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ Tami&o00000NkvXXu0mjfv0y(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ_nn^@KRCwCdSxavl*A@Qmxpy982ERsWV-g6&akoRh4L`w1#$pr>8I>VVcukSnOT(M_| zhkpX_ckcTEBhtngFk{eIjA8BCB!8RL{^lB)vES61R9U8m^S=nq*x&m1?)|1a90Eiz zS}z|o2FAX?Ua!vfdU@;WwOOZ(vza-=-8ExiwZq*fy8Img5P>lUqcxKAbIhXXuY!5r zZ^P|vfHA~pXDH%$sgTwUW!vXVC$+qEjq(j6T9IV-+%gJ`f$ZNz@bBC~Z!|)7qZv<3i0%$Qhf4Oy1&msLKb^2S&LN-F#P zf|Vuoufzbe!i1I*Fs2g5_aTb{TB)}K;Kzmv03{`iQUFj0MuaMgt_3h#=Y@};=%(+f zEL;AD^Grllh4hCXU^*Qb#+n>oqcGE!w~N>tC{#~Xwuz40v}|hy5!l5AP*n&H4l)ss zMr`oqmrxfMmxb#cJ@&>qeOtLPKv@D>gL*xjeDOshdf$9w{`mRlfKq@l$gAqDjrh=Y zf*FIrMxxWfzrOtz0+#BMtOHF0 z-eu9MQ@l;{=9H*i+qA9A?OCssUAM%$JB2|?iC3>)0RXD1f|L?kYbd3ll!6e#DPfF( zloCP+rz{act?G~v0-SSj&Ot;7!w{p~CoVK$pVDdpshG30rUG)&GN zFtGM6=N!}N6lt0w3`20vVT?hNBnW~4{eIu2L6&8ZQsVyo`;Cytag6bJjDv%N1_p|v z!2bSz!+@eF;QKyycXyrAX_}&{s<)3oS(Y%yAPhrDDZv;+RaNkP-vN_|;CUXV(<%D> zzB9m5VVb5G4u`0!szJGR5DOs?1Ob8|K)2g9z4FIK-n7?|3|Gs<)T~jWX5?K(STBV|ON)$yn zIy!39i}84jAPA5oiA$?Z`CpHWxQXAxFvM^;L|K+#jKT9fFvjrU!2^ejL@E65`|t7S zyYHZUf9Z9t5p_D4eEl{4aCit+RgUkEkB{;A@#6*tj*pMsw=Ccniv_0B>6NrDiUM0( zTeqW8`=I4@n@-jcB0?@Dh%xv?P%G{y#^4cwbB-_wAXm@X!}Gj`0T%R@?d*5k>1ErC zH!`3d6Wj^K&Sr;4iloZx;cj6r_}{s99!+^HjIF1p<=IOjM%K5o$NjTrDe z&pm8e2>=FzflG@#&mpD6-Me>PIx)sv-VO!>$K6_M2w^p?K^ED zvebH$0rUABKmPb5eBXC7voqkj6tXkwWHLcnme5)wNfK8j>tkY;Wk}O>ZRc1NMZ+1k z;+ACz&+{6UwY`d>!13`hq?G9OdW}Bp+6ZW^(d+fxu38WTPG%X!_CuU=_`cuRsjv~~ zcDs#=%Q<&xVBfpRfTAdHbaaH-Yz84j11EJBqP71-TkQ>aFgFSXyh$=X31u@4GgkC<=_nW1OCz zVmh6Ih_JJ>gYE5Y2q7E|`@WCiaA;e5BeE0&Y z!`9Z8t3Q^x!Z37rIXgQ;k|h5Tr>Cd?eDdVUpLch6JDpBP1wo*R$S}sV*4juZjZ(@e zrHqu)R8^&=ltyc9%rddfhI4L&5QcNE qS5!{w|{yzZ8y&A}Eqwiz@0000tL40MIL!EHal1NabJ`2gSG2A_Z{kKq%0m$N)JBB}y*NmcuF2+$N8J>r=!)ZUW8VwfJ9WDt)MlIH{?iBK>n6fYn$Whr3! zq>|w!87A{gPP37v5F!AzHPod3#h1EgDKbEn+D^C>8ydSn*J|q&DC_d!{7po*5r9AL zCwX=E*bzzfSuZu|B{4_0BDV<^E`^$mAkuUvG%c#v?=5j!-@21kU!T<{S4&?XaRh6VqfZf=aM7Mb2SPXjId;B@cJ;?Zk8E|CZV1mpnlRDr| z0~;^76ni}D_kp)Yc>g@4zc#Yzl+^2pslj!7dR9q{sbQeYyMXZ{E~bY6Gr;&H(l>rg z4MV!QByxOr_Vq5)#y<}{N&pT>Vi$wY;=lAWxqAY5Cvo&>jAxVGFp-RJO&A&a#&;Uu5rMHkonVR5zQ~b*t;XGmq2WwLX5=W?>}#=GPN;+5XOTP@;U zyvZU}iR_eR>oU@4#&f@s1Q7nfH2-4vv>V;zFf2-_f^ab4Au#$*pT7Lv7?mg-O?}>$ zgUz2)u7%I|XYC0bJSNJ}^?5IT#+HY958H>&!rz0FHH4Esit&jZJYG0S!(sco_Y%Wye3AN12Q?`3J$mXhENK*p>a8=|elyFu_X@a3@v zR-OZ`k06oM{^Qp~AK`O;Uc#q7a*9ehK9fREw!pChfD?WXj70cZoU7yCQNIPH;Xe>ZJ9&@`@Bwt`LHG)v{1 ze|+=hzc;?Ue_@vQ)jfay(`SGA=%e5KfdMetHviEwKHEo>rPLw^z?4gIIY~g-a0%Aqs~nl3Y6E~_d;lPQwA*bN3u~|WKw!tv5hz(USrq{1c@BWkaS0!g*<}TP z`VYhXD-Ga@}Q#fJ(4f+FFUw;R!e9fEBU%{{M19s^mR{>d;%E`%@+`fHF zu3lY%5Yo8xr)eUan_Cr#ci+7ugF)^odE=Sm@bE}Bo;{Zj-hWSey?)~=2EJ!!XY%OL zQ+fBDw;j*u_Q&w*TfEqTet_FZY# zJkHD?Hg>v{zOEj9O}n&h8jBwQF(OP1Jlj{w0DqoS-fRpX7VllccEX1}l}Vv$LE*=b z4~!#=9p{G`4BukvgwFsW!?*y*7aacN{$&_^W)9c|&I90^na2%Z)F?aU(E+f(zyGgA zh0p7OB9EDdB?LaNjVMV7eEN$AKFq;jQ10&T{xdoNdcEEe?y-pD{5;0WyD{(yk$yq& z{f$4x`{#LH4jCRs2Y^y4S-_G%aqwWLL%6)l%u|HJcLoCCGYgR6g7yO96*}61T{+sd zuY|y-uh1_9KD-FIbi*$T2J!+20Aa){b7gGsXaWu4)8?jd?uPH{+k4=Pn*Pe5c@%{7 zkTv!TM*#_%HZmi|)m55FGW1WiZw4Z;vCIJ9h^WhJVrFYhg7&fLj}LBa&&Yo-EPM$rG{*(MELXSe1B(0 zva=&m`&&@=EKp*lZC0F94_fX2BkfO)|gI8S|zE&Xz1KHmGNe1}WWaruR-~3Gkr^+5zCU zs{qK4x^mFzNW0TT7Hixa05w3#TAks2mnHAFn3BbPPo0ReAwbMQSQ+{%LjmMJ9O_lV z#$PMTP*4cmS@LI51=vuc8*l}x0f&P}meo5ThRCvj4jVAThKJAZQ}DhjVdy3V!yWssg<21&Y(e!kEShtDl}=}NwP zR?j5C(-givbQ}&Jr!4s@20piBAtYU%hXu#9W)j8f`4S4BRY22{KmS!gI6NB!?FrW9 zS=R#suAEHImnQIOmxLb_tn;4%;w9a<;DP_>JRH6##o!6m^MfQ^N2-UdeDG(d25L19 z0Al@l47i`mS3e6-KzXA;M4!rHZZ$#E);=1X`L?qJBmho{B=r#<_1$Y*w8i_M?{e-} zgM%k*J#MVw+_%nYE`mv z+J_c!e0(B<;k|n&$M9upWl7{_l>FZDv8W{_2gBzc^m{Dr9$^O%`@Mes+{ed;7o)0*KeO3W*baW*0Vk<%oEaYHsPc}B511N#9#5!%Lfjc|9IEN@S^5N#z_O%?` z%DR%ax}u;428;~=KIGuy>4ubf-ayi235OcEv$IzPJQy)PN~cX7N>EtL72B50c@k!`9bK#q2&<%-MjDAzNM!@%gR8`dOfUZtXB9YI;eSb*v@wgW@#$_dGKF7 zf591~gn#J)z#zy`ipnryr}oP+NdjpZ=OL}z+PBu%9aVsPacDls@kUe`^m_1bFpY}= zfV5xadF9vd5Bw82$q384@qYzhKx(Y&QT5Ed3ts_0P12#Q=0*&1z=;-q%=5?8!{rtLpTMhA6$M|!1)n89NfYo#kKz9t0Dd?!EmbeTzlK6c z5(HmZ1%&GPJT{SZi#Yfgmq@E#LfE>1*~4cFo}r{mfW`z34}99CQJ)9t`P48lEzFQ~ z{qk;QvX|t9pQf4j9naa!;rknb0sdCtG=v{e1-O8EfP0o}nN@%vzMVBSd>k$KNm921 z`u!e)AR+_I{}OEiQ4;eiRwH-<;mZV)t}=pGg~Bh#pxf~4^DIl*0Ca5GjN$vLfVkix z%*OCF5nlAdcdB}20DOlO91I^jfTNTTEepQx1r$XAdo}?O-=Lcyc*@C_XqVyeVbd{G z&!;QU1#9~?T!>KElgh`2uK>Tw09lsJpbDTw83^BoEVkmNL1>$PqvE5i&(dG4Kv3p$ zY7eD>(zd_R9@`gXl;+Z~tvP(9u<>YB0q(S)oq7QgCrb=;$5% z?8P0R;C>-fQY5ucN#BO6bjKT#1$K(J)<|7xF1r%kbM)NUg{7T#4udu!^I0!?8!3Z= z%e<80uDgENmFS)Tg94=8eo;+~1X@cA~|d#;bIZ0-rzM zl(W+_ygbn*B^!Q}+V}SlA+2I3L}RGeHO(4w?(Xg$AV32#MI*N@3i?H*o<4l|$o;$w z*ea#7lqZ#L(&=>Y`!h2zBj6nHA+ujr0N6{cu3WhyH{QC%QW&tprj;df=k_hU`<7~= zry+zRTDnlyZroUv-FIe7&tc?eunKB^-Dbszfo#e>9q(e?b+tB5V`B-cTi9y?S-Zy@1IVWw?CfgdH*LX7IVu4w7{JZ{`RY-fcd%p8#?L z_z-}0c6LxLPb~mq`t%_|5a=YZF%iv2bEC zM5Lr^+63yE%)vm2fe)MWx@QkR<+-^%fBqaG8tO z9Kq-I;>8O#03!k*zQh(m@E!VgprlLRrtk?JdnkO`+I_Cz13WT7yWO5*6%e2HLw({T z-7-SbRTPk7;8Pa9Eci(ve762E25{}#HS_}D7o7pZC0!*k4Za9HANClCNJ%#yK82mj zf}aM!=l1mJQ@pheV-y%Igzr={fUgRODEU!(K5fDbQT4FL!%r&6a|EB;lP6E6x;Bt7 z{7`3*_FYu~_82`suH+Lk{N@Hea}_)jwcY#G)qS3;bq&M$)ITG+wTkfl)g+)(I0 z(gKu9s$T{%mIA1{viUvM-P+FW*h+U4i69H zhldX_G^&dXz|po|uEW;&;lZAK`<-Yt(AnUlA4?L{z>|{`XaR&^Ed{ed0OG;HVYRB~ z*#X)`d7b1X^u(z zd}$-$H~!1oYpZXLL?C$jSLxD*FUUa?V5}NJ7p=nz120Uz6sKmG_G{b&ENPZ|Kt z2Wh(9PAGg^NOJV;jcUayw{i{%LC|H~w*8#8JwIQ;;G~dwfdBaMW7*u?H0%GFjRT+r zU)EpJ#;df7ac!1xTnB}`=u+*j}cb3*uRaBggD z06gmX(QF?8hF^=bgDU86yzvHh{Co;4gDwgFEBH!-x8CG|_Xc1{7lS&e+tIhj>vsSh zP|^EXUS5VDTKuq4;$h}bs4 z9K9-tIsktC`gL^c;0xG*u5J8WU(?^;s12ZeLx!J!{`v1d`Q($oso{o)nGC)Uvimw+ zJQF+!%7$vgog#cL)U4q%#q+IRy1QG?2*!?i`$+Hm`}-*201l84ao~^AtZe|tHQWP1 z0m!g@FM%k&_~MJ-e*E#r_o6ZYpl@w$aqc@ohUx{bKnNUqCVbn+)Op;`!c&Kz@fn&l z#=k?=0g&o>`U)_0I){zaJ!-_^96!gly1FXs>+2dOAfv?VfYN@19J$2=fF4lLgEaqZ z*ZxruhM@qAH%|p|^bEbyTY3hsl52G7O#*s`oFHyGX?zyMKOktJL(2DCN})qbK9UsD z)bIIS6MH?7@mQ-r2lH*#C@_5h_TuAia-JYR1R&%5Rx8L|(F~xfu5H^CLOA4{*V#1H zfHNX;PAMH#Rfb`>{uO|&S1!i5_ulX9c2i#f1Ynnwh(sI9vfse2>%^XMRWAdCaOwL# ze+>X^0_OloJ0yX)t$j$!ex zjdyXt*kEjejZIEM2$b)Ybo0ax!Fi zwqEw`Uk8rJm%-8Npy<*|FYS5D+poL&y6djHJs1o=P%4$KXXeEqb^c}7zJKk(ZuE!$ zV{+!l|1-Pl##@W8{M4<^$3Agu>89huul)1c^Ui$-j=*K(==Hqxw!gh$O-SV5Sjgor zjKw1Jve_(L*M$%QQc3|ZGGkjl4B)coZuGIf^X3HY;B2AEGd z?Er!ueKOcSofoXR^t~N(RxJ`ztbnxU3qm^yv2v>jXUE@t;OCj23lI3ru%H}IY1STk@sKVI{z*UO4+y?`dmIa^`NOL|at;>o8nR)5= ztvjj%95yoYc_4j!c;<|@Q&Kzceya@Huj)SLLiDZf!?9ic%m4`i=_)WWL9&2S3Jf4T zZ7GNuS=otrERL?WHh`)u&H`Y~(Si+k3jizxm;{Ij48S4)LZgC(+FDCmX9D=aQ4#PL z(uNyvwAU=SG%&5FzpbsaZMkHzTtF@n63dyzG9l$Gc#vF$V=z~to4E$t-rod37)V#e z9CrNr6WE722+lhl>sGD;5re&F)x)~bW8S=wwZ9nv^s^gZ8rS8mpS;vsb`${)ft#=J zdb9nR{^h4Z*e40gS_)|`V5R{9Ih%!qR>DA4ZJUJx6e%L83fD=c6hXJ5s+ma-su{3s zOSBZ<{NxIca6O^@V1@q-7l z|8?#1SAOA&E3TN|xp3Cy!_mSWK7Zgd(z0JKgggT*X1QPj0i;`2MBX1&Zq*!VI93RN zB|xOd3`}Y$w-D-DfPkAoHWx>sSOi0_tv<(~0m-V;S7{j_^Eu}8bPFRA02w~zf2|1k z^4+^T+XCIa0oymtl47|KV!0x5jI=Nl5Ho}j)2fguP-z2F4R2iKKlh{G`19xNQ12_& ztXKr47%YtD4FRyxzzxJd7pl1qj_c*O5eHxhWX7Jx?z{d8gB|DMgw#W#TY)*SBvseMaGeGEq zW%m#fSOB&qp_F1Nr69#jf*E8Y}oIl+hnZ%irjwakFuACP`0L6ehF%%0xwiHM3l?~?aS zy@rW|f)Lg9Qa_W}d%m{@0+9OuC2dPGF_grae>Dj3e{X-fySsDNfG;3thkd@|m~kvf zEP>={5LP=g+E@soxdOz7GlVcMG1eW$Rjv}EcAv^_yM5xpr*?Lag^mln@|<<>`+a)R zb2%Rxk{eM0nsW^TcykR1q386t!r+~s!ARDRQvZ6KzV;Ld2teP*3^0W80YE?B%rk>X>IsGoV|r0mq$9ACt@P#c?Bk730JZA zOs+f=ikN^(>*~)^=9x7+-Q{YZ1)#YVM3ujN6zrZ4pBtrQDn_p3Kq=C8K9lPbk+%Ik z<&goc{J~ZAV@fGv0OYOl=2=+O^8O!ZPI$?_02f?;d;ddE?Eawi*^61ATe1idlioBz z3?gPgRh2QW<1}MVc_h5Pv7=dNSu3ifh`D{{QrMJbOJy+`O#%=gJx|P4Woy4mnC5h) zp9ww3W}ZlMHAD9a!M-I3s5HpUBALzrsLm0wc}|m(+3?KTeMbIEfI)!I@}KgO6#=V1 zaO>6ig1YJYcWgw5lmK9$7_w2(ni?JfqpWE=ni;jthq0+q%4hK8e|-|$5^*UuBob`G|S_E(v;u#v2SrO|o=Bj95 zuWw-64tGNaJ1OW)QX-jza#_!7h^MLuAylPG?^BG1?F{WSl-RPW`qzJg;iktm+B7gUVXCHU!t2P`5NmLL0jQTzd^c$Fkmfx}l zotWxA0$2(phMvNvJHL%xts8LWsp~LrWPpWuXAl4-r}~-gAz)!2(fUQ8*Q}9v-N~S1kA0*t;^ft7O@m#vm~>ls{mK`?h<8G>#cnM?|m$e>`MmB+^audMko*eJgcIvuFs zFecLs*R8?=6M+~V-90_WzGOteTi^QD{!m-TTWnU>jE#@XzrS>{b>bQ8@#=F{LAV4G zQ@DBS>~T@sWWi?6xMj^+JU4*D!lPVt2v6Vkd29`CzzHX;#<5El!EqRUZH$xWOU&yM zkpIJY_xR(FYG+V`!U_g+y&_BmNI}RH1)^E@*1@~akW+Nt zdCU9SzV>290Q(*9c*iBzUw{2CrIaIkcJ27Y=BJ-tkccI$kTXex`zFa{f)`||LAfG= zfq1SWV|AVsRS4QQpp?E>udnk1cz07xdGojS!RHTCz>U#(BnBy%E?5q_@pq z71A#NAaL4?Q3Qxq@G&F>KK2JgjW&kZJf_O5I zbiP#OQqk-aAZk$NyfNKxPOmb40FM|(No3fe76dw`qg6!^izo2BIjBcuv|fZl9<12Y=};3$>IXEW=5d;QF3k2nG>S+bviGfga>6!?fVp7^wtjE08X#Dk7011F= zR)W-4gt5;h7^_z-pdh8l5(*D)oge^*0P%-D4}g{|S&E<=C8ZdfcSk8;6aCFviCJAt zN*Qq=w97Y|R+KIXfRu)N0zBV=05PaSEQEKjB}Au?a_Nf#0p`!2|B8-|j-Rhtvj(H1 zqcx7#+~2%_6rK&Ag%#`0#8odl32@mcb|zy6G_}%a#D!?et2fa!GQNS+77EO7P2poV zT#qODB%FWR@wooAt8uumy?giK#=pM-TgqtnuFFos)#ohn#xq6WJNE(OX+Ub!i)0A- zQWeHnDKN7Zj~WFG0%%Ks;gkxWzwJZQ{_cn)fZy*QDRVxQQfygPjRS-bbsSQ;v<#!L zGfBf^N#q@uz%YuP$L*-v>8v@w&Qqwz$OMMGd4fg|6Wdn|ESXMp+)SXYy@NWtyQ!jo zJhJWZBY;)};qwQm#f{AqDa zabQId02VA*h>(h6)9z?(PAOnc4{*u=FrEa84ufF0Tm!I&o(x7hox(Kd%agagX#4=PXV1P=DRs-m7hjCw;o;{M0ZfFVY{jO)`S`#)FU3G# zmyXDZ2F33A-MsKxqx3Z%se0Kl0`q&!=Rf@LL-?1ke;3cToQMDS&eO4W*>oJtl`IgV z8G%dzU@&Yc(9;UcXcGq%l)wDtFYs@-+=-En^YFuuoP~um+iP=<0zUFz75LXlpX4Hy zN+OwvBOZ%jGCGNLGKo^D2)9%MYx4)LN$6gd>V4+a>T{@k9rlJG1 zx3?2BH;Dj!fx+ZcX|hELgL@+c?>-aYQ5wPp02AO*#(hhbK6?xE~r2G5(zrA_$<}a0tBOo4+PbmVbIs!q0&_+@08l1qHYnFn+AObAea5M@4 zV7z@Kp*?;KmR40^vNTc{Pasa3t22&ZuIbaKqqVIat(iC;es&CRzqsC;s=*3_ae-ev zLCCohAchnY0K)0mK3&35^G9KE^xbQfEV`oB(2vOso<;NZi0Y-@8_|^SGcxY!F zzkhTu9^DZ|$zc$Y_k1P=sT{O%6n)N^2&z~?4qW!;=>w}{;g;};p>TL57@uGkbD7Di z`2;K}0Q~!r6#>Q?m=TFY9=+(Ii)Om6i%cdnwFuCD-*Mkkl;)m`kG$nVNS44sY5c~` zON6FuUIGxZ8P~3}FxB<-uYC=7JU)ha+ljcVY@1uM9>X_}Fm8Lwdtqyi88)tHleG%~ zW*&-x(-#oVSjgBtmc~;%B6wyffoFD%AvAn5#)B)cr8t1SlUYc(u&IPVDT;QEq76y3 z+C{W?O@qJZSlHc*VRbHs40VHu!AxLoum&`_ik{xJZ|A8yzH&vFfu+#MWsB5-k-)VDs5fL7LgvWLVR_N25w-WmkH3H+i06F zTZ&+5f(j*7hU7Q^s=@xQ2+?mg6PU2qL2LRgY<8A?7-x%`^i-{HH&QIhX!Bb#3?(wH$XX>=~yJ{GCKZ-uJ6+v~dNKeaYn!y<3I=rVrzAR(R=5LzBEdmWTY4vLP0 zbSC4ulFOTpY&MHTDpi@&vWMa0B5afppfuX76na}2^STsl3%L8P--BcTAN%x|aN+uT zA4EI{y!rbDR57cW(+y4S6DYXqvU@)^^Jg!LV9=gDd!F|D{l6{i0_f}O0}*Luu+dIt zvMCFjax}Ov0zh*$YG(k9&0lH3c@IAOnNQM(KJ+0Ji$#iu7SNLu z0RX5|7`wti$f`n&Vg?&-$8%e^OyK6gkR`>bFRG(qWv}4ZcI?=3N!c?PuxS0B8vS0Uw}L1DpvH@?EfC0ru^P;_;nP z>>5pBB$mT14@R(MD1lrqk4!%6akdZ^h!lb-!lyE5=M-8hZBQZ<3ZcDwCj9LS;qM-R z^mo7tb^{imT%dOj(Af$QQN=34>^ZaXq}z{&o*f6!9Ln$S0Cr9=B%{XV0KlfzeXj2V zfO6NK_|`{!kA8EF^J2*dkmWCZ@2XX+PA@Blo?k#t5pZWxi1-&_qVo)V{_kE3H~;*H zH+39+>J%~p6e_kk7)5aL06ndltagJ`*y~0qJiCOHmU~fOg#iC_2DJ#{uh?pmzPAkADpR z`OrA*WtZTdPoIyj*80kCAOBeaPw#ahnnVB^lt2My?JCxNmsB)4F?r16Us*l*V#x=f zU@-WNr=EI>$}a*>Edq!D;RQ?5=?o%?3{_RZ`eRxO)c}vHVZY(rfSw0PFbOdAwpLxy zn|DR&7k}K1PyOIg`kR0FJD0An(%OsOizVlMfCe_a4}B}IqR^~U$k#p>uvIt`Z zEqqa(4xX5pxTU=LpD2rh1?AXyK(-%?Qoq5% z#Y=GV`it;rbPgX4fCw3ylP<`fCrAe2r%ootOWj@l=8DzUwt*o zi6Nd7sOcgHTS70xn$ym}<>#LQw?wske8Jw9pj_=s z*E)nnd9A8*}H)#iE4^uxRm8+;GDU7#ST$`|4NY!`EDhA3aFW zrTxHYF4r=3c^H$@Rdj)9rmA~51YCC}aO$EuPbpsc%2(i-;8{3l!)f^L`|6W=Kky$} z?3hpxz)d?bCkC!O(g+}QYXK0Glat>oqrgYX89|-pixP>1SNl%G9%T6< zB5I{cxoy`dSv~>R5#ITD$8`~nXJmPkX*`;cQ;;t5D;OV(PY50H{_)W&HU771z* z8O-Xk<;tbAXwKXPSg>%RoI7tm1p+|{fQ)DZEnTu0yCRNEqysb(FG!_)1ftscd^Y7; zYV`xEmaHYIGNu5wEy;?hs30q_&s41`5cVlrJ`(_{>nh*5ED~wik|o%^ZJ&H*U!3wq z2cdvZ&r7*CqKFj%Qbc-;`?V6jx+*DEj}y& z91e%SIAg|)ca^<^*s^6yvrm8tG2Z}o2T#K_m!FQ|kr*c9Da4cM+Oa4BhD9!H!( zYo%)nPA38%02!DF@pO9b=Kp)#-XpC9N`nFj zx;jt#z-N0HxM+oH@Xfmz)|OLVEJ~mRz`7k)O5Ij=3|+Er-8wESh0rMAk*gH^B8%SAcFfBY=C*et z9Ppv5%-LqK%RRP>?%N7U?u=SG%HPD$Fz0vdntjwzHUtG z=|J3xW81zs)^tk<6(Z6Fc*LZ!P60%~r7MBnwq`#B5nT)dxf)!)^B8lT? zRYgs~VU!f$sH%3JDZqp6f-CT=o4$nYqgfRC*W=VRr^2#*K*LcnZY&JN!qfD#MRSC# zdV&d9F^lk_^W}ce7&wlDx4!v}xOZYEmaaJqzy9R;7>P69`GXAHrriHSR|Fl`edOWK zEI#Q-i2$)5vH)yy9Or?jpMDx;eE_cOQiT9`eI`Ol25D1%4%xvVT*oCxImC*f*d-!> zTxCkYuqnG*E2+v=SFkMw?%n3n_wFb9!Tk!~FSj>6#Q5O@F5Oh7Tc2Xwxkb?*w}ZHI z8T_R&DijOI=CV}?7BFY|g*m(l#iU%KSQg0S6|v4ufId9hVk^4l6rSRYfoUr)=%ve! zfj>J$&km<3kuKuq2MbhE1fqKPuT})XwXr(bH+`y&F~BR!9>MSn`2vV3))+ElqM{3w z;{={57zhMvuqZXVIKEC~N)pj{3c_%m;rc4_nYo7WFc~BO7)a*{se(YEL~z{dxNVuY zQi9MjZ5b>#4dJAbOr-!JYR@s{TFjC3Xcowo0HC2{4HK?f2lRL1fY-`ZtKch6B9Tnu z?xz#@(>4bJQ**Rn2I)RcJ#MIqMYd{fS$VicfH3kMT;p=H*_I|h0Nacq*w)te^VO?Y zA6rfzYj6)Uhy|XR^(I_%$!STGrdTAJnZGHzr}JSS%Oszy=;)2W9G0Yo#GYYsPK zFmsSKGHW}^DDbP(PCIQ@xkcGgR8t0-6~;SHMQFj9c;DY_L^@3X8%~61tk}_fSk!R7 zK?Br~qITB6lyJ2K#vlE6?A!S$BGb;tsVAO}KrjsG&nvl%$&7>|0EX)!bid>fZoC9o zI^)pPrN8^|2l2B<6G+dz0LQOb4{6!^RrXk^`T&p+wK?c{HuG>u#h?7*vE7FQ0k{F) z1G?3uwf<(#mjHwwOBD)*pFH!-GnJ6B_vUM55TuBL`4Nhxa!BWLo>@&s34`HkQ>00d z?mu@PW*%e^K)I;a;D<&NUF0dyvxMwY9IB9{R60dq;c;`msHhD4-m}1l>xC}ZOfONla-g2^YBjn^W$QSa&8oyP85-6C#Isl|}fQXr)r>lK{SX5iZU`twE zOW*b2z~K-9Qn$7-^Wc9T$QOppTE}sI87*IB?iZCfxrucHp~5%{g%ZXm6OcXtq`7XY za{-!5b>EvKG}qfBAweWSf+48>Im|$ya~^z>VNn+GWDEj8!I6k$bj~3+7j_~NXblox zdon)MOcm`ohd+jy064 z688S~@3EI=!QX!(mL9VXiJSoI59UU9FfklOc*h2b^-BZ}<#H6`hX2gq$!%ju-+3MO zbex5j*=sR>-~=$K{n_`2JnlNq*Ej#u3D^BkBY>8KP_@3{Zp%3)!BMhoCPs4|J|aM|$qi6!6hl3x3pOzc!PPo_!W4co>0{M(ECb~0 zn1euZgm#ZbXfjy>6W0_}1q&k; z1Rzo_Jn2?v=bOGDf@@$OmDVW}biZCK5CEKh7(_tL{3Ao)26PabY(rDN2)iA}xv%UP z^6~~vY#RudMll*m!F8SbQf;EHbd2Hr23Ut~n>Zf;rdmrtpm!OPW4kdtK8bWTZ9cR1 zT;qFiN#NY&fZxYBlxydN!jJFI!12q> zyPt?W;yMx_=7qE0bbI$<@B`>gHcDU!KyV6$kIlw6jaeE&R+cS+ua~ojgO$@n#bU84 zf9+1}opm+dd-b_!33b9HfcLBM*TXvM>g@}o@z;rlMpzdZ+q)f4-1J5aO}_%mPB;e( z7aR+v?=huZ8HyNTAK?pESm+EN3j9~xy(#RPaCPpYKxywEk$C9K*fZm`7+AUv?d{XR zOjTIdnmvpCz`d%p3Q7owDMSG&r5q(TZu`pdzx$u{0~iEw4M8=az|;s}#-why5YZ-` zJzRrLpUS|=PSWT^jHDD$#wANrY5Z(z?~$?jsiyIh`E@SRkv+Jkk7!C!$v+)|maa;q zj$-jBm{6zjYt7ty{*oC$XP6KA^e{kl%fm%%9dSI?WoGZYh_<=pg9G8FDU*zWsRsL6 z<0k{{%%D2WpGW~Dm|;YLnXhKEmQFgH!63_+eP{s?+K*Dm4G3VFF_4trbTPN0MasQuy=xD3gin3Mf->yJ@Mp zKQ#h)I4I@Gzy|y9ya0y5900{BUIJN{8Dz+Aco8bKgnn8v1Di4+;J$!qySbTlC#7tW`Mu2#95}{HAgCj9W zNnprYs+M@}xdBV(2v~s7kPcDplK`aV{JdilH-)!`tM`(=PZyL5O<#fFuE!BeMxY!Q z(r1~Fs|iIP!o^xKHAn)W2Ia6r5bg63EDR%-S)j|rnCvsBkVh_?L@p6QDn5x~E)7*E zz$JoY7Xgt+2V!XFNdy7{zCZ|e=K!4cCC3*#27be?N+y6+hff4FhlX1Kv;%0>eZTP! zOd$qLtNecdRb_MV_2-^@F1Bymid<*`;&U&>2d{k@N~KU^0*Hz2PpR>nGliKVkjhu* zVXOo#I$&A=sU3G>@UG8daN3nPdF{*4-80i1%Ob+uZh_BV5rAzSoCp|+yLjWbVmfk+ zW({6gC_Qr%(mU_M@bp(<-h!20Ihaf$f=p$@3pu#OBA6Hg3Vszwm}3aj1j0cZR=5YE zV=h$tGN`~bD1Up^e?SUgf+7`7Bu3XHethZR;YBC#<77`5zNMN}veIqKj<0Fk0;?Gj8}m(o>50FY8lxpV?)w}pc4B$yR# z+w>>e_0$6x9oj~j#02^B!{{t+p}FoKum}&(Kv$Y(E?SP36W>Bu^&xUsya$EZuOPQ= zF&w+q`v8!uMHI1ObcK8!OAjvsH2Vg^06H`hv}sSFuaW!B^9>3F0)aP{&B060IO7cL z+&zfFzRPg&#`Cc9*cHg;xv{u%v(m>VQ8b>brf-q{+bDhe3oLoNg2Df|1bciZz(4zR ztUYBT9OVMqZf^@R{_)BndRiq8_PXX9Q4a|qfOH~?WMmwP$QTlnBPbRe%;!I&R}5iK z&#U0(atOJjXmQ683Wp&(=RN8c?kgCmXIefhC|;wZtXBCV$UT1Pl8p8XF^Gs!PgDq!ndL3=lOTfG&qxR|IOu zo){u~Hq)jDeusO1_I-Njj{l^skKBjxU0bP`N>RJojdpj4m?iorZ=pG*Khew;7ocVR zjU?86ny~!saQn|9uE0BNQm#v^2p*Jq-<6s@g+wsbSO~;&{R?w0z$k={-u!$+zJS<| zLI~4G+;!dGZ{NQCf)iJ-;<4x`_Ke4&+!6%rS{*^n?K;3y|Km@SS)k}t=OOjsO>nIq zKU>B`gx43Ea|9TK(5$rx?)eUsDj}JOA{=fv6-^XlPo$y?SP&!tpmyGoi16r^QT%b! zKHPc#4&4379u#vfAlUOX3ROZYCea~dXt82wYwLj3yBySaBQSCw#NZuBPd^>)eQN+F zR9!_5*uW%MKz|ou#+8E5pATk0%DQ>D?&7wW-`bnL_2rQl?p%OT2)h7uYH`qF`~y?J z0J`lj2Z_G8e*GDCv>3wH)(i0Qcf1OY=zwxX!|&>u(lJT_liI-pt}i=FMr73c1{xt0 zKz?)+Ms9mMc1*t(OO~IC*>jhIbcD_&;FTx(@y64A$mSh9wsjnLKDZkXZXUsXPwqu7 zQv!s5fP%#(gn0tpb^>9UL2G9htlr}wx|RW*%K={th+F`G8vX;+qhG+-ao3}(djSH$ zj)TtuP^vjitVRm1;u4f|>gW&7e)RB)fT=}6MvH@@9)m#w{W3Juq~kab?%cTx)7u4v zlc7p62cPtS*Cd6S1Wj^XU?Qc+aTI~gF)e*igaiR#MbKlU)Kn!{yfyyrg%H9|zS20w z0@|O^f|c;*7p0 z=^dv==vyB;6_>v5I_lo|75Gp4B8kOUljvOyk`*{F5Xgn&I)skJ@F2Swr=pXCBHphn zSTNV;1^_jeFxB1b5;Fh+ze}|8g*+N204U=eLZ&W@$S8!e$sE*-T__ap7#SHkdC9^7 zUyDp**WL(@TLxtF05!OGOAZh(7|z${2f&pM3sY}U8C1}}OKZ;L!x;KjxC2(#0K&OZ z#N!iq@{zldicKOJpM+C#AT0~*X5m*k^w2nZ133&#^JCR9GjY<1=U~Y($Dw1|0*q(< z_~X_*9@(CPun4Xy0cb4u0thB>xF7Jh!=D|2(>4bb)~;WDZ{r$nE+JD3B1u3eh?+Wf zHf7ER@SPV%1T>3+Rsh|ay1c)Qe?Zh*114%13WeUaU|`;=_7#^R(z*&CdDCSWOUk;R zS}iz0A`1_ip~vXpG=3u^nNcX@kxeBKnHa^`-a+(?ejl!|u)FOdxY-PB&U$5I!tOX) ztQ@*KTCj2LJghrq4Hhjq26pRAOca86ct;*j?JZ((qKITp0nCtsf#Om}U;&SP z4!KehskxV+r)LR-kkD46IUTGwnVTzx={W%4+6$n)j*#hHQ75@$-Q=C0+WtcSXq2l_ zAgw6}pwy5YV#tUFE*6Ww8y+5U{lzhk#F8i$bHqfo^sHP#dB?Pz`WykR@l&0~uQ#6r zgQNtULXjqh_s}zsKY+V$yP0nP$+z*Fo4-pB-+3!Vw*LV#w~y??81-Zx#(?t&THd+` z$Ifq|W$Ru+^Dnp&edm0E#OjaGR{LCh?(QCX&%bBzx8EP5fB$2Gw(Kn+ldnb&E&Y25 zo{U!7eJw=2t5+!!V5pA8B-6Xe3+Om`Qo7V`ZH-bj5x_*`)--{^VrKs$n<~<7nea^n?p&>zR$h_~QV% zuvWbr(^gy#7B-kvEi$N-=4659iW-Gh5{ymB-D^qEbCm#=AwMQ_`At{I~U4X zlh*dZFAbe#ElYZeUAfh&9;5}C%M@s0Y#*YNqjK-iPD&?YvXIXcD*`NA z`c#5CID%FYksbaLb@nfo!D*`~Fk>bBoeL!UJ80zQS5-JsMy!6CCM-!#saBPPmF7eN z3B?3GM!Kp;)g#GZhIAB>R!GQ_00WXVcM3py%PMWl9FoNF=SO9sIGucfZV0esJx}mj z2q7dhlL8=_z4f){RK=qtM(tk3L;%TB`!UnIV}HCV0(|L(c>$WOg1mVN5Y(;Dhyrkf z*pWo^OtIwb^F_DM+d8xy=ej^TkLtISx}LtzMn0Fv*zjHqj|^dAWG~{82wbIV@-rl| z=%!J$@i@8zgqG<`&@yv9LNiyxY8!yCd?1}<2@seVff>gmGdYN2F^f_u4+#rQMsf5A z0O>JT5fqtF?J@m+tXUW+QxN?fHvZ$!3H<0!N%(EipwQ_xLIR!3VCP3saF&2bK?-3M zyT&zaJ_{f)qoIft0T8vi%=zG4Zp}yEgV|Sn4f}qYe_?+*)`Wpuv|peXz%&3|CTIjX z#b=UbS*u&;uYEl&d%gJN``>`Aqdw&FSq$&1Z1%o#JBVZ=p(8zj03*P0wDKg{5J6Xn z&_44xg!)$@Jo{u=9rM7%Akt9DRA*Bw{k5|@evQZj|AMjQ@5SQzE78{4Z4^1BK+JFz z>$jG$V7d=$2K-pFAc&Ro0A=@Rhs>Z8uFkhg&A8vi-OhnmK~4&`r9ug0vIo$HVaJ>i9v!oUBFyYDYaR}heo8J zncw@5U-HOULPjSiNJt4=Lb7tG1!>u$#;8rE&=qFcG5Z7x&AJ@n{?*cI?I-U!E|Dk0 zT}Kyz5*}Q8`C68&w5BiKPUq> zlLjsi;z=>2Wr{=rOsnPvv1uqLg<#TIJ_f>>i8~j=-t!wtPL>=e450WOai^VqI$0Y90FdwHjHegW|MP(b6#=L{r~uw0>1@4Jd|U^D?lWCl(0D z9z^fHA3;ia+mlZ{eevP<0~}ZsBs68Ue}Ie#fNcm=9DCxv$#f1Ezx(T$cFH@cW$x)@ zho{3WRqcItbQ&0=?sRSaiQDGBZkyJS>yq7f0(|KqQsg3+OPMu9G#qme>1bGGaYsnd zg1!LU{kVEv*hFmuurovCs3MVazyJ|XVcQeexq=mW|MW>=CWf8|*Vg2N{nXaggZ92T z@fTJJY$i){d%N}v^lLQe&`O~(56z2X_q_b`*T3cJYkYakK)L{k=EIwsR09eSm`vei z1`fhj2TGHh5&i9ZF}Czwm^E)TIyMc{ zk-LFiKgHz2w;M-{@FQUs#b5~X z6(_u;O(yR`rG08BU+IGAzzASkqE++5aFnWg@|fy_J(cnHB@m@F$zqgTC%fNs0bC}f zIiGc_`*2Mkx~=^`HwRw+k@DvM=y1D&4@}LXAZlI$Z%#C%li4b=W8aS9add{Y%r}Lk zK&12TiFHfnZ=pFy>F{aoAf{f^Kt|!R;p<)me|8kPe9BuRw7eZn5yn$4VYt< zYHBe^2c?WDN+4f5;A?|bj6ykiQz~x?b5BfBNQ$2K3;`kIo6!S+kE94NWa zzzpp&Zf!6RDY$Ion!a^!-uU6ac_kj(W5FB@{fm{psmFvw_TjG}Hu40L3$Dh3fmN`5 zA+TbUT!oKa)>AeGTX85?I3?`66QFxZSiwu438(J7iTOiBl;!#6dNg4Mko7CG=0 zBgp3BHM9|6JTX`}G(OQbzoQyI%LI0a6r7G@V3!hJ4MW$>HQ&or^;#EFH`k=EnD{ikEzypvRF zECoppNx@L2sy09HqcMwHKkz$@A<;xp~YqgN$>m@rs0@o>! zhYCcrKaJmvnZ8pdOl2hiAn>{u69O1AUcxTz8dL-Ol zWC{%6zkQDWfLui^P~7<|q&EKu69aF+yn)s52iu_a4xD{#7@xnYANoQp<6`?r0T1lR z;-MY6azBqm&V>Mb1dpatTB#<^6a>P%ZUU!vA~xqr_*&-xLN=|TI$yvcAOO)G+;+vh zBaZ-6n}$UlD~Q#ULZc4|72lmKWfQsKiAiqpWB+!%8K3HxHxH;JI*v<9DJa(^t9uzl zF-f8nr(7;oOWG6w?tC&$@BhIt{^_;}ddD}1=*lne!W+ImNMFBmlAajMB2#e4mI4Aq zTvbX;-aZjbOQe)b%IiB+Xj?>fDGE4gQmSaU+JkVHDkQvhF0pQ>KnQP~%o-voAbs{+ zobj*y2j<2X{$dj_LQ)5dLLMrZz!5p|-I1Y@#d8)9Fot6c$uJyiGIJV}ChGz~W?YXo z9NyH?LU^;mUf6*)*u^;V*#z1;W_as`#>u<4WIQxrFr)ya6p*OSDPGhf*L%_BqU<(LAKp_T|8U~W- z;EPWL7_y8g@RY&%0A}l;Q8={XvXf??dd(@XyXbs8J7$@~m;X%>zy}%!kpIK=h*J=S znHOO8yb}N+|B~l7uW5AisuDV%`Xo|aYmn{gXwU56nd zU>5EKI}`!M2W0WDCkbxX`h7)Aw3MWab`j4AM=bkWV4p+G9ivyiJ=reQRp5RF}Sm`dohPqadUM1KHfzPxkqj=a&ngW07UE z&_Nx5VcVAHRxURvWg;j=MnoY!3b&XR)k-w33sv0A(e1y4uj6MJzGo8vI(Xas$X`C~ z8?j`!Wuao(pdwA$x|MW6$g zM41T8MHG{hC?-bXWFlbYcnTj>zQpN~eMszj44L8Ep$ZQH7}X}Vdw9+T9Db`HqrX5} zqe97zY#$$s#ldcoEYBa%0P&7n)A*n7*SAS|^XBw1QB&;QLj!*&aj=j4`4Qv_DRN1> zSQQZqM)f0If-;dkZ{BG8bz|DC3vZzLgJVf$2iI4P;XHj?DTcOt&? zA&zYR180VxK_NBjsB9$Rjy=AOcl`2Cy!i*e!qA<6Kyv3!sDjXXRM;fo0xul|Fy{(7 zH0Lh@FaThNJ^lD&rk#8Jg|FFoCdRXE$QBR6A8_d7W)2pdC;lI@ksXN5xy;KC5YjsI z=QL*ZkomrlXC4;9_`U?iJK6vkumKudd@Nau)jfgPzi z9XRM;-Zb+v=N8_|lXbNeqolOh37AZtawg0M`mH3!?;jt=?d`tlt#? zdedtDedAN0`n-K&plv=Z&O=fTg+da6P)Ad)KGh%IYzjJ&z3)b} zV=Z{vTJ-cU)f+oiX%;gsrGU={e0~ARE(+-g($RfLO$?%tjX{<2VC681$rQ4a<;lIH z$j6dkw*YgoCNiWq+?47oHK64ffMHE>tv}IA3;~)^KvQ>VY|FkxdgJjT>XPzjmBU1|iz!Nnd6UrP`K(h`e#ZEM2q4 z`+Un52>LAPvq9wKWja1WlM{o;#>QkZmuA6A5IGJq6H%o0jw7{a3~n|Du+vbUUzyD| z<#`)6yr3!XalJvyxYh--dJVm_L_qVIf}Htc=yl_Rw}1cb-s0Ur5JHtQIVAUtb7I#B(!&uz7Y>*T&dp{!4V!H?+-!Q@5DK*y!PIMV zU%Dc|n5AKzFEC$=fd#E+|DS75Jo)Tt#~pKm_oEC92L6XF0i|J`0dQ;!_~B1tY~GvE z*?$ar`=%q{V+dAAM8^=H7)EStuXm;pL|`x|J07Fx))6EJM^KC=_2#lirtdrtcbiQ$ z8)`P&+~?@Nd2vihe|~8yfrhv)eM}Q2_l=H4^2)z+z)r>>Nj6+wrQOyHku59HQ}YL1RAomGB^#u0su?wS*M)abNah3 zxnkp4*q87lS0sP|#sLB}I<1%iGfw6nfFJ-*V-NWS{5AnpKq5Advqd49U19}5RykibAwcy64GSri>(&rJ2!_uR(q}P+0}{4WvXDzq zba+q>?|zEn<3mu%A=wt&#-c~Kg?wP#9e;eE=Zq=FlMS-lomx>d+ul~Qabie(0+a0)`~X^kY_O{SdtO&Nd)aO z`31<$AsL^*?j2iEE>3|&bOh{_04fQ%Sp>8Dl&jp4{Lmv$F+Vb4He7S)^D1iQ?`H1S z>zg;5|57;r>k$D)84LpG)ym-F@X7Cd*PP?eU3uQ=>+tL-%<0%Ep}oT8jGzw)2T<+< z*>nui$T0Tpe%4dsGN~xQJDkCMj5Hk;j~tQqk@|5LL2s0gS( zN6@J=hnKaU|Al{AwesYiW0o$h{mNJ@I)S}=hA=#|)B7nJ*C~LR;Nv`6)FfIdiZI7v zfsoJV5Sff1Unl@TNh$S6nH~f%2_UX1p%K7TK-JuB=mp^JqX=L!hV+I+I6JX>JQC~a zYTs9e_8q)$Xg6~CjHoJuibZamTS~*27EDRoO?w)@l$I_pGQ{1HCmtW`Sh!~QGf#quP%+Yw*)!};ZrY95 zjxnF@9*1!2D&OqcUhN*oaWFPEidZZr$`=86mWX}}VE2ADKG(SMN1nTnUbYqkOVP3L zErC-$xUJGC&fVBXQ z(c-12;pcAzj$SV+T_B{x#K!|T8^C1%t_1KZ0I$&W8USzi`~7zWgF(%;*aP6(0N$eS zJqN&v02Tw7*^o*lU#uH{luWKbKY%6rMOX>oIL*b&0jvRVUS+dw+kO_ncL7`r;N<|; z12_S|0#l|2LH%6$zni;W5|>GR(qz~Dn3ZuHwE<|?BBQ7&qbX;iX-2*uh1ZwXB^#ic zHA&6QK}|kA?wA)rn{R)m8-J8c8Tz34d0PaI!u<1-_-jVB1919LI!Z^c{||~mg?QTx R1U&!%002ovPDHLkV1jkul12ak literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/flags/de.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/flags/de.png new file mode 100644 index 0000000000000000000000000000000000000000..d2829896b1fe390b6646b1317ce90b0ee5abdd8c GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}SAb85E0AVjWJEy>3~g;~OiWC^ zzP`@R&OnB%tE;uO^;IUO|F*XOjg2n>8D?hxwYASPG5ylf`K73MW(m`mQ!1ZNNS<26 z^yZMvn*#zz=CR-3DgR`j>hpuzFAf{MIBNFdnAOW;)-R4)zBpp?{E*(${TdH;Dejpi zxOcYL@g)+cmrJH8{AUL`hOH#XFPMReol8_^`J~{ZKoMt87sn8Z@U`a@g$^k2xLo|3 zskQUJYvGvGAaWs=M9z`TXdOjpv4j{`mN)x!mmK?D4p`{qysGlDGmbglvk$ z*`cZKsj2_|{`>s?+)hr}Lqq-a^z+5V?Wm~Y=kj-w$;-~u|NsBmM@QH@JN@(X*x1;u z4i4BoJ=QZbs{#V30s_}IHq|RDstpd$&(He$`uh6%`0ee_AtBK&F2lvj0xEk|b+pph z<=>8u<*=~v=H|#58OkOm@9^>S^77x0kI06QNNcZkhN$S**V1fk%Du@=ZLR9x-@p(M z!yO&p;^$FtuF}`yRTuDShR2UhB!7&cPKoA7M?$a0|U%>xA#|I#B3X4HP zUXf4*|L9_Oi_`8Nr_E+qWv4!X%Qc*ok3bDVl&>0uD5wvh7Q)$PBdj))FzpCa#Wz$O gLk{(H$DxW}FB`fJ%+Y8P7XSbN07*qoM6N<$g6Gu?G5`Po literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/flags/fr.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/flags/fr.png new file mode 100644 index 0000000000000000000000000000000000000000..b18c5ff8fa401254847af8d0a267267847539fea GIT binary patch literal 421 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/glossary.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/glossary.png new file mode 100644 index 0000000000000000000000000000000000000000..caedf81173b932a48a6e054a3557b393b885bd26 GIT binary patch literal 6263 zcmXw8dt8g{8^3pGhiZpbY8^Knm?%qU)p|x-6q!_#X!VLoWm0(Qumhc#ilLY2aZZWx zc6KU}rPpgRgoIQQB|0dI-;>|(_s8~po@e)cKlgoI-|M=**LOLBAb*msnJxf;w0MzU zFmjbleF!+@yO9&!f?Tj0xJ$VJTvog5jkFVkUn5@@-_%YXMVI$d?P(VI;t8DX_5sSd9oxe~Uck z8`cx>0Ci_UZVaE#H@caXg@5<@Rz_oCVc~5_k}))WZT{6q!m~bO-#)*-QS6&x^?mSd zJ~ly*Uty+7pGy0aQ*uA z!ax4_Ll_;6vfDkkn3HyNd*_`TGORUc{#+V>1_b6+nxw3(%#{6XGvHshojrTD{KN?> zd1fXKlkKA`qO84@{y;p??wL7r*$K8-EM|juGE^a98^dec96i<~Jv)PT3;=X?7xqnO zr!~1^kgXb9e(1=N4eEdYUC(xN!=1ms9P%9;?O&Z4+j7|HV$?0GNScJ!&~jw%%C$A( zlQ`BSHH1brtOh8*ARCo#;ZQ@t>yD0pk)6B6*f5Ohd+A3!T%8C6Jw4~Ho}PKOGiJ<_ zlnRBR^-ODP8gkd8qcomg<$$9?wyx;oMMbt!ayEvyBPfV0S1OJEl}ul`FT4_N&9)lV zpHVru2-Ac76ePZsr%=S!>>RPjsK)R)R{|C-+I?f^NT0soIiC45h!uoFXKQKo#I`m= z@MQelxpN_Tsa-}viyT;YPruiXxhpzrY|9U=PjpC!#Ag=D`_1OIK~{W5>t@CxN$wO^|fTj~zRPYO~uQ+_1p} z=q@(+ZOSuPuq3*O=`X8eVwQh;M?1e^xp!eHflkV$2vQ{2F-f7k&_jp7G^PbgZnfop zc%){8SN4+pm_j?Ztr#p-FUPJvV;IXe8<(Hnl5ITK@0k~3+>u%dGH}QC0yN?+t-VBO zZ=slwZZSDo)1ZSq+34~<@1G(H1{oPfgc5DUE?+l(bWEb*AaF%+^s&E9hPW#=$q+!m zY57sWx5?<8_Ct-pxFlF-AD=V%idW8OLf}z_frr`na87CfGI04>bL0kNKE69(eJV1P zbqS5k`~NbJ)`bp=x+nuN3{!xmhWexZZHj;1<(#!cWd!nr+5R5PX&|+t!~6he1zabZ!aO@(|z`qPCuNZgq%thf)h#LEa`-A+k0VN@nO<^>$8EzRa`mL_4CA zlauLwJYK`2t+aLw zsMJ~XJjI1>T}(sv5t4w>ALUvJ(BUc}%A++QA)#T@2W|nyew0gG5E)q%-T$IefBQgt zL)#B_n@w>$4RN75g1R7Jp_tA4DaTXjhv%%i&9t?>1D`vGdpHU6r8pxPo}7ODExuD8G4W%x zf8hl(lz{Q{^c1_I0st&8R6U^RCwHyb#G)gycXh5%<=6u%Czcg+9;h}wa}=ME@h6~K zMp(7HZjbxs4y-$s3!d6xyLYZxvt}^lOV5L2%S)vV^l|0Xo0}0E5vcj}k`dqS1Chww z+?0I!#SXmP?vKwd%b&wiM!v;GBhY-Iv{V+D&)aK!@*j$RlltDaY@;g(7;vvn3F1EB zyVC{R$=Yvt(u9Ouv0&{8=IHmd(NCs@qyP|gGgVrx1BIeX0!z-E!8&sHGknR3f%@nF zn`n-V0L+z4O2|Gre-cu73tAXTd31T2z*e4{o=+F?2VY&={sxOG!wKnH5%w><8GV75 zELOwg)c!w7Pzxw=71AX4k}=$q*YK9~@D|1yoRS3*LCC}H$;pzD_PP|k*d@R%kkIEE z-(F)7d6fB(qMxZg-y~p9rLrcD(JA%k#9z^m&n+Dsmo@~yUx7i8b2k)}yX77zV}yjro4#y# zc!K0egho7)+$lz1;3kGBnT^1qs0@KXLlPW}c`Dd_2z}tdfj8I+@!JLBP;PuE^blub z_xo7o28%8O6mL$+%kBLyT*Y1T0E_@FA$^t9rNYGNnizp#0LQypUF}{|3P{r$tr@@l ztEoffTZsMvY3V|?AIEMgGk1_I)Ie$pd!+P*uo*^M)XwS55rj?PTX_Ed@~zII0J@9k zy2QkP2RrZT4Zfi!9ig6KxVY$}VK<$x6ZOLX12k@~5XNAYUKGpuSdP1iw*Oss_a2j9 zu%lH;86E*8ha;Nh!TQSWktAh^M65RbHV&$bXss!Mv$F{`*c$O$boivO<$uZCjC_}K z)g%4}qh!o~pjFxht??1;C+q29{8{l!KnTgh%gcFiXh?1@S0Ci5q&DHJ(aC;ZX9MqT zbWI8%BiXjJ98d2Bs3%X}KP=wRb~RQ{E|CC_c?C1mAOp(%N!Sft@(Ay>!2}D%BjFpM zBiPH(X8X<6f#i$fB8pi!`Vg%*N67vZXnP)uESGy^H|cN@Wzz+DZi?Vlo`qDE!w}5w zXllZBj4k|TnB*$)o&oH2pne_Aj@xA`FV_!Y)JUeuA8KBTq+J(yVS`qeDp*N&DY}+A zo+NhEIRsRT8Q})x+>r2h6y>f*lt^56(xy$DaHgiFgZj*!uHXQ^d>TM$2sR=`gRtgr zNidQkmn`)88m;iqXdOy=aoxdfaZ$+Z5PJy?i1<|PB<2ATKBiY{4W*^KySuZ^Ln7dB zIEc7($rAn4D9W%bbGqd?6Iterl?mmRMyPU;LA9nKbL5A`()GWfl^2+l35izveG(?< z6N#vAWT9d~GN4h&WZd6e5`Wn459Xf&Yt$Z;=vO^-{IBe#7JsJM%tAoa%Q0Hg4^Xas zkhu@E^#_ecLjp24KKv0WMxNwbq6CVGw{;z4Tb%tUvX}aWjj-QH|4Vme95`dLj=_2_ zA2pEmP=rGm%%eA_afrF=$T}-lJCv0C8vA0iqYZJ=LHAyaFMQKiw2x6i(yy>4gjl|r zXLtthGXC!KXNoZ$9TL=3{6=E=9Fi@2=#t~~k=E)nAK_B3>K zSj9Uc0BwYEHligc7o4=*5~=+REJ8#&Yb8=qzs%aw#Z@ntF0f^O9*}m22|fdCOiWC@ z=ON`6Jvu|1fJF&bgIY65wBR6pMus5H!(a% z<-=y?=JIe9(5A1D z+!rndhkq0}mDJ$vfabbS@1Xy1`?CF$a3m!zP*Qh7<-AAZH2gGCe0g1CCMi6tXrtwL z*Kg8z8;XTyFOwm}x`U$p`^xbSR7*cx7qw=MYq}d;bPd|Hgdj274_AR3Rmv5?h$}TPhlzH1hl@Cd ze^Hzld563nY_$HS}Rm2NARUK00)3Stukh zdUj!Ez3L&wO&Hvt9FE}dE*@uB%Surim5W>TiXS!Mzndmf?&?NWjx_AGEcX%8`WnW% z_x@x=F1)2oMm<7_AcD&PC4#c3_rN)%!pKbaNoFXagNwEMQsWRVYc{yLQB1lyRsW@o z7$7>7xMGFjj($dbPhMD-cO$tNZ5O0D;JhFj1h5<(9bNMNM=YCPHE7#YB>onra*ROl;_{&oiqZ{Q4f+=R#(TA`qqFqGyf1A8Vu|B{v#k^$T zp4*G8OU5qtc(d%HvfrW~z=oalBNAqvH<~h|*KB&o9a&$R<{vYs zT87ISz1whIv9^l9vMzAC@)P}B=fxu32nW9+TdnoXjz!Sp=TyGyAr@pYZY|Hp7EY@wP)_6BJj_V?dGs)ySBvUh+r zt5hmxTo&zynRKcX9|2u_4okp2pDaDR%g}ica{zz57qyy>ZmCse-#cejl?7aG?DO{1 z%MHo*xVTQTW~RL8W5Fw;{ROCxYnOlIh=~V^YGw!y*&;aZy?LrZOTZH9?^~V*;5Hjf zh=2LE5K#sO%kd^#sI*qIm+9sB9e*0nOHV!BSM4?Zh|}d0VGH;#YTn2DG%4E3AdINs z(|FM6aW2{RfIR%mG`{$>M%i{BCwdfBa`^1^FLMj2QN)(_Bi05$Vu z@8o8O&4hI<$87?t$+YFN;EeA&(=3ivYX{s%W>Ookb`O|jH*|TiN)4`XQHswRkLL!H`qo-HR{HjOjo#l_gb1{3~ndKEs`QF9u~~MW1tM= zdK%Z>Jl7Lofs_q`oNvkXGz&?Zg=k`B?EIJcFOAtCkgXb*BF(SNy6AVwH;AywuQzmYbg`yFM z@^hEDIn$Ek=qxAMfF*EPJH5hHziX|)m4APmYpPAgZ!y3x3=LQO>)#{qTOt6m%+STp zugDWxo;py15~oU1sREO~OX2+~&b@0qDUN65v;BjN zW?L2M)0U^e6PPn1{N`OLSk?ke)sI_n_shGK2>C@`!`v{X;yiYHfAF_-h`gKe>#l9j3xv({AR5$V$$3NbyOwBw8p^U-ZrVP323& zP^Sxg#h%6OQ=)_Xdn%%MoljdxMS7vN=zaX3^?v{D919}Q5`Tucyv$Pp$_+&9-<>F+S&nO?ls~m?xryzs5nQd;8-1I zmVDSUoHE)~!ix&xf9l`|Yg@gR%Z)V>dpA5 za&!Qex$n9c{#mU@8#=9}tN4AE_I!z~QvO_WhO?oM%z6NM>Rjn>+)qsPvDzcQkb_e+2xYL zgTF;desB_S`IZDe2$(0(a}35HG%Qy>c<|uuvy%Pj7ii6uKX;9Ok}`_%4<_@ZJ7(rz zGs&i)zwG_x=jVtR<{*HuzWJoO@XO?qs4Xr5I2`m2qkVG?voFgA9`&Tk$zeMQw3#y! z5sVaJfw?ag8 z5MazE)^H6dcS@l-lsndNU6wMvm&G)nkXDUy`<*l=zW;zGa1qwjSM`X(8bAX{%g{>d zn6yyuK4U4U!2g0hC!K?D3{beD8@*IoSH z=Y8(?JonG>_cI(s7Y=u(PwUcY!3GEZ(|Um{WhSa(PEBBd4gM{RxK%f~X<6*WwxRr!4x`6zs<5YwcXyA(B2VBUlIiLK9R+B1pj zl-k^2{pcqsL7|9u4|2WC^i+{j@$8;{31qB`3XSdU&1gQ`i$qZHbtrIFvA-NVanEp% z*=|0Xv}xTk+_NhcegmQZx5;E?#nB`2qfzTRe~-s=s<;deF#HIKSqCx9z#zcxP($Iy`B{p z@!%Vp7`>m?*c?1=XvG$fj!Q;O7Q>2L?h^wF{~z)pH!QR-bk~g^_R0uR-xi-H5t<3F`1TdZv&{!vu?V`?`YE!PR%Rf#EkDgO!z) zk5mb^o;w!GVAqzb;oF^vC9JpwJf0EMO_)wiNqGpa8~ond+%yQ|ixhA+{J5HIY0%sy z&5~=G;r<)0p3F6wZ4P}_=>L_%DM{}auVfp(HvwIZq!p$B^NwT zGe=b1A}HQij6YhIZx@i?NQLwsh$mUsP5Yu|#j9P?!;jNcukbcH^DnvOHwGnxac-W) zImcSm-~7#%Y&8io;(dc5l39K_Ql#EvV{HxV%@Dq_ZhjR*EBpw`^u4{PyuSA0^MgTs zQc_YvxKtu(of(Um&DReeJm`6bE%@-^!vv`gww^;|!kgf3bN}exGQLNteF>NlPVnwJfqS7T4KMlDUc~?~T`SI%_ zK@2vBeV&FLT=+36{5VkewA1?PcjbZxxCO(*!vzmAm6eq<^98lscKiYd)`Y^!^FLS1 znyrOp>F$iri9jh7dRHyBla(p|{{3_3oBO!Lo7%^#;aYfgwwI}GU|?XDAX!>c;{5dK z(^2Goq;!M`(;p7*c6p~ zk<73U6%FlJ;SFZzz~v7PUury^Wk-I;^}pH15I@DgnBia?ipyWvd^7v`v~ovC2)>F) zMV1TX?@~KG=|Ue~p!!W#S(bkd4{sLWZ4LglsJ9s>qlulbrc)ovYp0pmY?ecqq2{|?&M zUEPI|@@!(t#YAi^;+CZpB4wT?=_VHs+O+hu>Z>pE6Ye^sI~O+}1P`GLpCyIuZbZD2 zkk#i8?#|CjaoMMO@YhBK@xi*s`pS%_b=JOBD`Dl-q9C`vcGY!#WQ#6RyN~k zw{dT-aEUkF!omW52uw;>7nkpnhJObK7nQ)|{C(M|&hBez$)G4Frz_5sjwF^BH^&d_ zP2!=9v0SJIwrD_Nt+Wko~>@+H4xLbK&T^5uZvQ;qGVW zLXU#1<;LBH61p%HwF!aA!kfWUni5;$TG96FsYsIRlq?OKwbV)UDQ8l2Q4`0@W2;EU z5Mj)JihQ#pLAzEDnS_O#HFG6#B0HVGj_$k(@B_b}z<)DLrIq0tqxU zH29x9c~Y6{Doe&^-`myKH#@0KSpRks)U4u7a&SeP*4mo(9@^1m;VdJh}`J@Jt8I7{{660`8lEOogH5Wk!cwXK%JZ@8Omh{JM80^d?<*hHG*5Q-b z!be-%ZHu^}uEk1zSZ?s8SIY+lVw?PCK@{k0_QQPk#nIY)2`o=ePVTPc#f%!k%F~ku zY%<=NM%OK^o)X0fq^O3Hl0z4>!5k@l7G~z5WXY2JI7$ulLcJ%l^77pUaksk4n*-#V zC~-rh(BZb55D0@KLvk-XaquK43kwUsG~DRd+1qVzZ}(!H>BasoB=$*PEiNhR9wV+= za%;Tdgot@J1Zpa42tROnnZLbZsEEl znXrt>I98z{5IOilz&B;BU(4_;+m<{Fe-YC}ePn^7Db%Tlz0mLp=8ISbaK+nd`A>8m zV~ASFUo7t|M)@LYjCWu!CJOGqu~L1qz2>vIsfme+)X8b6l(lNN>$J{(b_xTZXv(Kl zDP9WO2G2vv#^?*@>+1amgEI6P`!k{EG7-HW1k;O(hu_)QuqZ1j_18_>$|=wc=V-nv zmDG&Xc9Lf8?tWnjrbxo3kGA%>jAYOwxzR&p zztapuLqjU;*B}n~8X3(^Q3$!Qx(TMMPqHw5W=8K(8HbXXLrlGmj56lNBNY0SBq#qS zB_-`$c(wd@xit)4BF1(K3cY8S9ofj)YZ{8dIgDE!{2DG`0eg!WmyU0hPPO{py+Wz8 z>KhpNP*6~ytiDFJ+MDcb2Cg{d=IU&~3`dB>xNq`xE?&v=-u$D9nufS%=iYCtD45|c zl{t(Oii&+$;f0A7j8@ zaKUWnt1JhaVJ&1cV`Hly7e5o_w}MkT_eTxt3-a=o*(7A8-P}(1k-A0ub8OiE+^^%C zs3N`3?UxzW$~7>shLl^*|ApRJ9C{v+8g%88pro$gkP+EF)Fa_ts$=Y^S@kSL{_TvLF$B z|NdPDiF!o2W{7l~R_3IA8c`+uJc$!Uj0_qWr*>QeNR)v}$Zb1q(%AGZ(l+!0$?>=O z^Hp;%r=;S~6u$}cb$^L6cW9D)ita5W9k?a#8wjlYUX* znqZLiJR~bO!si@Or8zFBn-6~`J?vBE$mCJJ+s*NIaM>h);zr|ebzxy)-SVnqhwOh) z`TxbMjI4^hb3Fn7f7`QQyx-Zyo@r&z16et`Fi6!P)RZS4Rdz z*8%y%la|Y&oqt)GT^_aMTW_>rJ%8jcbh-xIz87sTRVqmQITe4FsgeH%9ZBPf#F)DL zI4Ok#&6IK9vKD4m3Z7HC?h+sQ@g^(Wr5^UmN>u?v_vM$EXa#!DZz5&fZ+!Wmov|&t z@ao;<#W6EyUbaq^Zdb2;!n-O$vm-6recaF{@d?2bkSWk)4MTvylbXZm-v@hx5+%*V zh8hL?dGG-F6Kim;zIl3jdIf|>MK$k?L&N)*QY^%>$P2N0cHt!&5gxvCLaIuzhB6^S zy!^b!sgW9k2+KbTlR9?iLFyxuPhC3$=F&b{WWVz`a5S+Ew27CsvFA0sY94=pyX~ny zul-Wf`Xrn0qCYQgwIZt=n>>4&F9C0;@a(Q;niFl0eso%Z#boPOw#1UoxZVU>)p-e0 z9>@?=DJdx=Rj|Gk4$sr=l6xe4?$x3Pvn|HP?1AYQ-_DJWp1cLIC^)+xTSbSB>di&E zl4XOSn1nafW?!dF!Frf1?0GtR{|PGU>RgglMEP_#CH8U_1dHZWGq@g(n|_$$8}gi+J} z+Nm(~tT-juPEB|F$^O>N6%VtITcjCU0eNb2hb_*c0z1DY9l1BZ#o1wE(!~R7 zC4C@FU}dGNZ88L6(9zLZBK4Lc5HloXWS(4bZf#|zAlK`f&H0XC+hDUdM#CN_aZK8y2E4KJ6s~o!4%>Wz8GNmK>M2>5zY0IzGd+mC(1(8BgUijA_>ak(!UFn* zKk^(J<51TW6%}!air)DSHY=u}LI5o0P4Cz{HqLf-hLKbSsWr^VG6{WuT~;Fio5;kY zJ2#6P;+FWMPd}MsavPAt_~Q8LX64}EfCXBA5sPk-7otTKj_TErW=(}Ns@7TTt}}ae z0w$dlPB02KHg@Ze&tw}RP(Lp>_cb#Q&k37c%<9$#f9t#`J3W2=ngdTr2Dg>k=TlOs z1U*H)Mo*;u8u3%>k4s4m-eJOHAI(z$E~uKT7pasAoO1@&QgIfdR4)pXv7GIgosyhd5rqF)#8Sn^(+g}yxLdvq0+#pQ1q$u7z=kWm$cn|d|HG8 zDPkd)<+Zg&fHdq$IL-e^yw>f;;o~dp+SizFj!+YPq1QPz?d2{b6D%Yma{Cr?AX%UP zc3oOp%1%p9|AOD=`h1UGAt|bqff2_w(gb}v^U@^rZ+41d@s7KW{08Q!KtW=seVs8& zkJD9dq=+8bZi)<*cXdLanc|qPk3r6jC%_8fAivvg?~qa)^5Y>O1?eDpVXYpS9%Uv) zH3E3&24e^){!`4Od`WwxJ8*bU(q`=kxaCBO5U;+^6ncSsKVh^y-(9%}YhEcby428`rr3ju5c=xg*#EjiA(r~kp1q9@|uqa z|90+gVJ$*eOKX)=T||#Tkx95sD{wO*G9lAKMx7CE47DM2tMZ|B6Eq_tP<3QtK>&Qb z4G1kOD?YmG5pAgz=tUWn-H-(&I^BvjaU;C%Xb(-Y{T zVdkD%=EW!vVrVJGuUb1JseJijY<`E6Sz5=kgXBo*+3S1oZ;7 z=PqycST6TEWmD`amZ`_;N1dYjDchT9+KrErk{v@}&GLoS&hMR#cmDo8H>BV8>pZsE z$e}bs=KR@@Hjc?J*P0zaS2dIaIqZ?qI2hq__iVz?ulTzG=(uAA`T0uZFHL{;y?psH zmO#qts#El~LXG__R$0WIm+=ek)0yeMwCAvudC>~nr)IyyF7V;Uu3Y1;1}=kA8$PXf z6eX9-U@YX%JeoBXL}@}yODNMH(QFO2uU%qA%;gN0m#7Zr)YP27qo2#nv)0fzl*wZ=rr^62&PR%Lex)t~ z3cExll#K2-D_0TI;u1mZ&UKsjQE!9CoJkE_2qn(3%#Z*d4UfT)Z zZ%c|77Z>U?_8%x9u>QvzW_RhU&UNG0TLwg~wvD)4=m}c;U_I}wtS-vI<%v96_^yY< z?G&lP;(euVY}ag_m*3ldjDC1{I0iU2c8nhywXb|Cc_j+sTA08;0KISo4oO=fIQ`ee z!Bly#DYE^c6s0B2TlJGwAs|6W+?%Nby;>4uW2>GqFjzi-AA3qK<15{6UVm1-2$ldi znUi-M0V)&LDhXderGzUZo%g--<-T+u5I#e29kN!k*7+U}%CM)v?-nbOW7jmUus9ot zoZNMjN3gQODQv{4R*oD^%6pT1>=-@Mz<-mIpASRR$7HXc-8~x=rW^0_NmN+w>`xc+ zHBeF6PZ6&VUh%y-8D9eh^){$4NEnne42tS-@&472@ch*n-+foMai`#lms5p6D6pmG zXM2A7swXWAv-o^@&(ggXU|wDs5iYp zII^|6`j{GGHEKHV1XX`M4uqNJom`pOfGajEys0H3DF&96Jf*vO7W z;^!C=F^nNK1L#oG8ICe$%oXoZ(9Ixcn- zI#g{|SeY_C>?i20s%sSTd`xf#4Vi*I6<3999&~oEAp{%$UbCHqEF!^6L#1JE{NUY7 z<{zA&RDYrnBe#9sb$=2a?|v-3p7`$vr+YBWk+xFVF?jm>jGchfWY_ND=iXuGSBsQCcES!BOKPgVKYzs!>aMpIzmJU94;{(cLGSfXyEonu^bJ18&SN9@qY=8ZAO%CJI zy!%=@2>@Bao-ajEJmzJjR4Y*zksJ9y1_$tyUx(mL!pdjfRP0Y;CNw!S)xrdufHB@A z{OIcHT6TVZo}FmuHtEZs-Y+3<#X@8LS=Wvsu&D`D&J|2dOe{@C4w_n8W8P@wo7VYT zr7)p8pGQ$~w~j;J571zZYCh9ElXgC5=!WA6OyaqSQ+llfX)_fCN79>`gL?DTW`uoRkTGeP_sb~W zYQ6>I6drZwU(K4o{rQ-bv7FO&NoZt1j}UiV5!rgaXIEqzL8TG9bF7+YY$Cl94}2es?RQE%}H>x@^Z&_jD#y@g}@Z-w7#3gx;M z_A+gru(^w!jS%Wsgq5xop{f*?QB)w!I;ThD6^Dl8ND*9@aB*>A0TLu^&J!Dk;m?tb z$0<0{x#(yB8}kMQ(8IIsN$0%`Vb5JVYinjyXjKKfWAAJrmUiQO2>#~o_F^s50R;k( zERlqlDgp10$gO$a z5SC2N&n6f5taxPQSPWO;oDoY zk&2?3F!@E`Ii%87wR(29mPQMTfJ3>t!h?r(q~D2T_Ec_n=5I?a=fZEwlDNeRkcm^H zqBscK(g8iSAz)cIebnnz45iH4pUKrt8yXuKiO>VslNs+Hs#r{H(AoVe+`#Y|ivuaQ ze_uP=T!`muJ+xcicwfz6Z6hP2wDk0w%($T@l>u`{srQ)%fl=_4l@(JrH@AwXf@#Ug zx+;Cq@2*BGGp2qT7BRN}mfucWh3xuJ`$w?_|&Lf`e z_?m28?8@HNy`H<{m-+NSwL?BLV>QFZl*uE3cP=qmZa9<-qHl#~sx?fl9sS}6o)Y{^ zpil7YzvL~yQIVgYANDJh$bqlKWlB5wCt~PZ$Kv@s0)dcZWl6P-p;1P5oZlEO@GYVs z0QqnkpzC5FIKbp%s`1+N>1Q2S{kWx6Z&NMeDPSiR;M5Oe<1%PPH-<#VR~{@UL$3>7 zGWN91M~$}HX$h+n800I=|EZjzq+hhM5K+LzL3=PK8ZuH8>DA?XH|8zL$>cg;imXQev$sSm@f1C&Lq_cHGj0KJ11sr~|mFVqh?%&^YTu z1wXbDp8xim$?%CrkZL9h^mk4Xe$sEMGm`qdOYd8?F7 z{zpb|6x{%(rtU7haF(fO-IhGjru$r7Pzy(eFCDbzxR^+}-i|S5#C9eZd)&n1 zZ#h(w*##zk>y}M)a09VaCo$R6m6N`-`6suqk{$A;y)6+~cY&_+z^4$^g>R_5FOVaU z!f0d576I$_f4iLr1*oO`bVFNQPv~SZc=#Vo(R*Dj=?6;s$#&iJ%2r=>rvV<09w+ zx%EbFwRrH%8YdAinaimu^ehw1H0v;i?PcKI=>X%5Ho<0k$FI;79RLKAh}9C4EP5^CtA z&=^@bc*@7a^VH*2#=T;4cYD^_h(Qya{EU!nCjd`eHzTD+kDo)mbd~4Gi108HMMaUx z`&UR2wR};IkHn1~z3=x(rA-a`#5|FRc4i--w9Cz!Jau5a>E%+DUOb-HxXP*!eS0;*AI3S;EHH~@+x}9ROE+s=!alYt??&j8B z%HJtAYcm=Gn)M~DW*)@gpTB>fGBfDsVPl~ppW2kw=SRo;xwJ1j&Y(d+-==bYL;>kt z``pp&xC{4_LZqamKA(@y4x1nVTKE>O$AX3IX{Vl`zGa1$mzNP@XD$AHPzn?LHZCr% z8B&u{b(wkJNkOqbSEb4OLz!tOCvI2b?DxbJf?Yi(Pc3%`2x-2ou@@3sD*vl{Y>_b9 zzSW_0o|tMTN}a5Dl^{;1`;wzxvKi`vLYUy_I^VipLY!KmnZJtPTXZ)|9C*IUIPC51 zMXt)A;o_=l1Le}$n43N=Ha@@-2n6d^Xss?Ieu*Dxae!ZusB!2V&Csgr=$R8}*PE{~CB=t1+f$ zGJ#%dR`XZ<^U7XX0R4GUCbe3lrUSe&xEAdHjn3?_uzT{A17?6 z#N@5sr-JgSO*D*uYmQT+6lEk88(g##PYF)DjogN6{GH*4+0h@BTKA@s`ALwzo2*yq@?77tw{6H$Hm=!t46uf+;nEoS5~sbP2<~ZmW>cU zqNXATo`k(}VMklW7{>J|7P~2xAv~0RGPB|Kul8skF|Qvyj0e?!I&^Vlbhn_PN#T3ey9- zNU0<|j#9IyjXs{kXVI;3UgiVS#deutWBwXoLX(HNMh0+2ulF18Z5st>g5o%?>6HEV zLYdZcNr^x2cq2m=T2B%Z1G4K(bArbao_2Fh7w=gvuKWSaFs`v4rI^VK+OrJM%<>t0 zUh)x>=0l-bP2>OtZ2jIo5T@D3iUfD50dH9~?xr+?HxE7rea%__)}4(kCNAD?1BAz2 zl{Gy*JuTsbpZLKi`?a;TEvPQ+NnelkgeUi-Xe42yNv*_YAh|ElfJ6 z6rw$e1XKhNhS!b-n-|{e7#Lii-rii@GaBD{26GF3PucNFQgG=#*bHqI&G_YqFDS(%{J4EB z?(3yPS1MAw12yVdInW&ajZ$CEW*2|`2L{mx|J5HLXR_%pKieo4T3IQ53a}ksU=afG zN+2y}d1YneN#*>WZzrtE&=b%tcLj_guI+0z&ar~>M4h^pZ0LSKA;076A&*p(#~)o1 zUqPF_7JnG?n#uc-SjN|D(|hO0J?gXVA6B`liHPr;eK1f|##1#S$s}z3nd{*%n}5yb zp%?5JoXY8fHLrw)z4cU82bJhON#;#aCl!ZdV=>Ozyc3Xc1j5SnPvjLRZZ)}vANW%n zlz7|yMh<=mO?-RX@wKF^VUuXw*!Sk1thDM)F2*})Ujt{%9VVC8bBd@XC` z2(}gkft2&%PF(nC1dq;msRx`sEscD8G}uN;72#lG<9U%{Q)b1=##Y0*8J7s$De49W zul9n->~*d{ELygkZKxS!Wa`<>2OQY{DS0k|9GLmPMA7RDp8`T<;S-JY&ZT4#@5|#H z8p)vE>PcHk&D<8tfsA;-K{d2CRAgnD^f(U)Tap2N^Pye3Q7R@cxK?&X#)(6_W!(4* zEe#C_Vl@bJoP%nT#(O=}JEfQup9NMYw}Z8O5EK*y2PM4&^1ESu-H?&}6uU2_oZIcc z;{ghy*nIGAcOXo2)U|cqc+aU`!5f~Rlk?*-K0en=L>j2LL?87G4BR34J%*nA?W|)> z#$fP^-Y!V~g3dwS1`qQk7J{K|uN#eeF!`x&$M!~$Ns-&^72;(^Z(r9XixPKjo6(P) zTE8_j%N70D_g$MKvG4V5G-TTLILy(hR`(~>t`4Ix*OC!z|CG-*Fp7ok+hZuI_q$y) zwulfF(SOKno_Yd}iSPeHUHv~#?HqqZa}L3|iDvbu!z9nn=qXXZMc`G=g^@YkI`Fox ziadnyBv51B>#tiMn2>pEpa677UMay>`gfpQPHW9h2KI}qVu$+(gXT@WoAkN{6I@Q= zYlmHsH=YmY32+-Itc>rf)wD{q%WoG0G4W4zPZWBywW_Ec!&N&4bpl9vgJLmh z!l&{+J@6|nj<9Ye_|6xA7f7hiG z5vuZB3V%1Op`v@(258ye_hQAp`ET=H2vtzZ|5MOfbvU-#U~`>w&}VNBcR;8Lm3I5p;Kc8c86L2erWJ}Gh|}ZSwY|p^ z<7v#FE~<1W*|@)qt-wBZPkH}mIRY76^lH0`&)UtOulWWD zCVcuLG7;puNf{X;Y+PK<_P}8Ah-KLUc4uv_TFfY)@LP3ZxhqzgC8Tl=qkPH-Mu(V`US; zQQzx>NZ+QjaK1Tyk8#5fH;Vs5@Q*OI{wG)O0130As;VkNjTF};$77Ds*O3ZUNK5#7 zN+4!1S0+(S{>{C4cY7wWeOyW?(zI^6JRaC%2W6;AANYlYgd7G22EHN`PXOPu1KPj$ z8g9kki-aWc+p)}YG5hPek*leHe2s$IA8GBBl($?4DqTcsPLq}y`(GOWoo;Q;ic(8K zLvj8Rl4DDRO2afF07jQUYI07QsDAKm|KQM@F*z@}=LZZd!5iKOYYq4nMJVOv{bC74l<-Bo$+Dp@sFq+#all z4^MZdYPOWEr~Cea`Giqm;BhXQU0C>zp)v983jmXK8(%|?{N%z9`+bPQyJc1^aa_Yw ztiFIU4M=94qn=4^RNdJvc7d4(;bc(Duc+Z9ppiX-`WH-;@liw29_@Zo!O=DQg8M|G zY`9C92c&s$4{<49okxkUl^TAYPDoETM9mrwd&K#Z+0+hs1T*4GR)TM&O}xU^LBQSV z)y;`uHv!Q;x^M47BDg&(iN-$M=hr>#t=ENmw>(p~nb*qxA*#97Yi4HVTTBTQDajLX<@3#+AL{k&iThjd4%IpTwF}JxspJ;@%HrSBM|l* zfgc2}Wvv0i${~P{VVzXIUYX*-dVR&n*7ePOh?s34*&mw{*YoMeBjFO_Nl1^6jPzo_ zB|&^F2NtvJDPDA_8h})8r{zET&uH!~fJ{?pCqzI%B=Z1jooy>H3=Zv&rb*NI?O4-W zRo@_9X)7|Zz5a5+Qnie4;Kmngyfu-8^6G6MmDtf-v!|Wt-Nir;P^w$?s$@~-FZw^k z+z-Og%uExaoLS0vN1Fid0&03LO3&?zd)Z?Tsm&}>c=ZJnlR%T_*>3AYe-l}ekeoOW z*Q@G$54#vhLJ8SC4u26DU$e_^s6xOi2baD;La2v-bPTc%yaN)!ybMN{PW8LNSWHaJ z$+w)?l4x{c(W2R|qzXov*spVS^z<$lN41Tc&9Bc7Yyt*&0Mub(W4lpdubZ`3cCfP2 zjRz9r6F(xcL_K)4MSXfHmkw?gg&%?|z#tdbb4u6~FiK4Rd-KPjOG2f#)>omiG zy@0}-fN&}(DmK>H9iYQK;Dz1Qh-3;G8k?E9KEFAezw`g}B&POe)XvT>a>jMsa1W); z`1UYykAaR(_yKhv?S%#)sDrC2D6swY18BEfE$_g(uK(sB zSoHesM4@W#93XoW?<4nI9FzJSTcLJCq9z z4ZZSH^N3UPAl!aK(ih`-hsV$x{!IqK(p*5zfqt?N-FUu9x-EcX+x+5<7&O=a~LWEc5Q6m zn=NB5`8RJ$uVWsilH3%#@GxBC&09alYsS=n25cI$V$t zB(<}pf=d9Lh7H<_ObTsA__=KTcYUkc*_wh}?JM(|GWKuTf|sobsB8Gy5e`)+jqii1D!h_ z0ZQ)#{7ipq%VM~PQe=kgmX@m_5#UQ`=`276$g=99(yc#})lyKi8mg+C&-keMKRy5r zKIRg#sb8BMkRclL6saANHkVaunq|RQ{&|Z%Js8~WehihUKOioH0p4>?)3ceeKh1x8zDI(LgWz#{?r=k@}9hp zL40Dv!x#Zzm7?t-K5EKOa;fZ7cfe)sCM6MfNW{`weFjm(4wx(0Ly`R?(pssuNqI0T z{O$;W_cS>pWA5!gu4T?V*k`r!305}f zKJht>`R1m)scg7V5H1yEc~>`QxVeYI##n_3HF0v>Q1`n>cHGxS<#j1)9wh3Aytx4~ zs&Q)K>!-pYIf#O|2p%ph`ao_~d35y=gzHEtE5C5w;P@uBSuDwl&YOrFfvx~CBRPbJ z<~yeoTH8}o+A7Rj<5E@J+*XOW>&FiiMKbp&)+bKr45%@w1x5rYcIx6p(D zO=MIupk|DW`nQ~e*jKW&w3Iltb6NyIi}}I51&I(cH8XPnn(Bj|h(7qkHK`fPF6kl+HgHXlcz;<33XY zOKLNnzx9thGSo{4CQ#!cU4zk;II>Nr-+)aNk?aVdL#Y3G3?)-FBUGPLo;HrX>qq}4 zGNq(Wr6vVh1`=T(zR}9T0YcO5^BYJLsAA^hJBtJ&+|>$TlYIJ+g9M-Z+u7TTytLLh zbMsRwI5Lvo&;{ff8hOu2FD58%4DkXr%E$Ge0-hO=r~h>k?0|-nf>-whhHBi730$-4 z9G9H`+ga_jeIpy#tBLEY5^sVDH68T}iK6>i4d+vQo8EboG(^EUxSw%W*UsGjmC;4_ zuTAxR4&R&gI_lG>lM@7X^)g~$L*#|JfWK#aY^AW>qvA>)RdG!K%)xlzQJY4T_bk97+Bhr27A@KpOTs~#Ar11e@7 z*y#T~z#=3Eq4+K(J|RKt$^FnZ?{?sdveqvKkLZv04s5wHWRC)xF6?M zRdFQ<mfEpsZ2BWDH}h$d*_7KMNJZ?TbuM=TepUVZGO z_#lfj}ZZy!(Ws10!qmItuB#GjI1>8F>ZA!6@d z(~5?pJph=`vj)c%*j#!5z&Xg6+69i9Of`AqmkVNO&5|de<>Y=L4uZ-DT}TV1?%|qF z0EKlm&Y(k0*gX!#z0||{kzbSdX`++$O|vRqVBwR9dthUOE^&2lBhfIV4GhCMQ9a?k zS6+TU^G}qJ+Re^6QW=-_2e|a%PC@z7;Exrj9iYWTlu|3W! z-=D3WVXZG!8=ua&^L|h!#Mq6#nTYSs)H`!&URc6l{f6Hi-=g`MfA+DC zeFayH*m^2={zN~=0>Im;ngOgjrwDR^N|gkQRHF_Xi+p(|O`XYgYHqrD(3f?Cl5*D0 z1Bds%%Xpsh>w^c;W)arF2o$C!2)t6dh8M+{_Bk*5tcfhFy5|`{U_{aDwEpq06pOq> zJec(T1;=>}Tj|WRBFFzoHAgf;mRb_#&0S5v5J*Q6QxRe zR}b@U20CAZ-qX3!UcSK4piR*6>I+en6#3f>0!`w@Xb~DVr#Sit6^VZp1bSnygI{+c37MrqWeK3#?&F)k9#mHr zc9or;xAqk|{PR4vKr!{S7L=DEyV~+|AzHWPt+)4KtWr>ZV^ps`*R$+u379#Q8R7zqTIakG!Y%gB;kokdb+%z{}p|v-28q|7q%jq!J)cCyV7aX#+=4A^p zy-DG*S>2m$cZ3^Ic979>7l@}`y9Fg z)$XY<#0YX@ufLz$bCk7c8Or3egoN5*%uc%J5cEXv{<#3act18WqLGxDX+RcGw-yQsBKNG_MPKe4iju<6*dXfqI#p@afa$Ehp(#j~ zW^P)Yhm1UWOr;J1kI&C=@rJZ^2tx~YtP*WdoSqUVlROiTVrKyt@UTvCtK;xzmw^^Z7IK_2`MZe9A+dHxT7M>+FZ#@;g9Bn<;|$>_&ZJLBx*Y0Tq<`SnJo`L) z5UR$c?#kBR!I2YQB(e*d9?|9lX^i*fhwc3A6wf$Gn{olSEum!b& zk9se{2rn6I7E+<3F=tA|Ku4DuQR4C6ao0l%dmdPgjhvf=+Lx%4ItzojgidDu(jqph z?X-H?GWF?m?%lCWQE_p@TTmG9y-auDjujetU)53w>`kGdlpHbi!^!b1h&xGZoj>Oa zIA`hmhx>Mo87a@ob};0VVE(iE{;>CAOu||5qM&}PnxZWBZXXzPZU^DBGEHf%cJ2?I zTz3kWr4sxBGF1r-4T>On%sMRqCtdT+c1oF}Q1vI^PX>Kqla8e8b9PcD1Anc9Pzvs! z0WtLP@_3`*-cgv;%oXBxr`z{-7@ZdD(L*GH6x-@CNXIN5>8*ad03#ep;tR@ezS_E( zqM!|RHk``$e}7+;E@>02n3j)UMS#Z>3=R#c@c~XQ6%a&}+}%_U|M&S702Yyvk|x}* z@rd1U>>NAKeXWpYafc|Xjl@&FRBj)cs(Ixkj#`4gezCr0VKVS21j!r8gq7*5XSk@y z!v~|QlQ7~_1wx*DrVyv?ssWK{ez$EM$)^7}X7Lj0E>P|5S#U_90y%;eOkxapb!Re~ zj5KBB+C!JU3oDEmTDGUC;{5K1%RTo7<6afc(=96K6~?ixzwp%=pnSrBi9;VBA3u}{ zzSaAud*b)X*0qoC>{on-ga|589}1}I*@>%6B&8vT$MO1wtz}NrJHA(uO=Nk}@*4~a zYvV~YsrS}bHhHw-tG@>tZhfu+pNxTt0{XkX_lj}qZov1JtK{3aZyq3|3I#nPc>+4R zEt7vzb^9ni@ayka($mnW#=rNv<#oJgID;n&2ndvD6l7O5^GPoVabnU;_hCG&-g)%U z`~>YmA8AGaXkUpmD(Y{v`~c#GNDcd#Y}wbJ3zf5zkt`u zHFl8;081UQ*bxw@`$4rY3=r>gLN8*wI~Ir;1R%Av=;&x6(Ca@994+;_0}CLPf;Kj1 zPiblCUC_i4f}~ODN!stn1b;ZJ2#J}QEme+*R9>{|NO@Gh_7$SCB@?ifR0$qlrQ0dj_ zjwkpbNnbDUSPLTA7?&9gU&b^+*Wyk$&~twqrY5grv942X0L~8{db1O(=HajA@vKnv z85+$p55Naccbfp3dKTD}uTI`YXh`-Xhfz=|UC=_vbu&(pKuTu+A_D~{cxnFXS?F>K z$3yMX9b4UmRHTo<$jkr#)NtnUP_BI#e{e$CDP%9onvx?mvc{C*99c#o!+RuK_N9z9 z9m&zC7|B>dL>%U1&!kB@#E|SnmSoSquk-$%-p~8je9SX5pE1wGNtSbadl;VzHV~B;W7W9v z@FGJ4jce#;i2G2Y1RCW0WjKqv$xtX~=p8B(Gz% zwCq4kY494T@)bkOfGKxE!nu%#=a)Vn8m%YMprL_!&E-WiB-9(#QEj(YKo-l1qIxE= zv9TTqd0I?^;B9*Cngo~}IxI3m1_btnE3+D~Tz5LHuI|9j|JX9gIe4%DU#RM1IGLfm zZjHx>m0WL3$OxG+va?GKfhCy@x-n^;4We@)sQ7HgcJ@}kXQgCQQ&V;G{j@_yHWBcm z_dta2Dfga&d@6^{eiM-&LEGiE?0QM&KvmL!3ZL7Wp`HxHqzjezU>Q(Dvx{E&IdDK& zFK>u;K7zwpk55il^^e5t0} z@n5GCkzA(<;4yEH#7OJBxJzZ}Zhe^zN_?rf_Zu~D)O0TTdMN5Zm( z8@c-C_F_<8M@m8b{?#gC5gP(RVq!5-nI!a1PtdX)R9$|6(?QYn> z3;#kj#_k6&Fl`&6u$4;U$hWs)+aJ)~mZi8TR&joeKwV#eyY@2uGH$+0^~)biYGu`S z<_GmH7x#a9hmkjZ`nh153cxo@c(iZeJ;oaMk}SwjsTPzXYjK5KDfLaj22qOTs3*UL zx%n#$9PH=RMPRQu&?Kxf&hn89uhdm1{XT2l4cGz>zG}0K^L=wcG~IofdFRFbe#fU@ z``f-s*` zP8q_{BW7_gj!aEWbszzg8kgEcRgs>x_Bk*N8LNMbO6r7e_`$59$eO3)wy`k6*j74p z(e4jGATj#CzD9o z3MO{8wg(h)ottHf^T@o;`t{D?bX~Rf%rmCLwjw}mb9qbzGng8Mxv=G5U4l^p^(DsM zmvLPCkIY;sx_;)p^i(-^V-y1MpbzEW;mHkPkG%POCx~WWblvJ!P>`1wn1aO4eDl_) zZF_?fD2EYAl0S^O^0Lss;KW@I#jPS`Qt|p ze3E6T&d`uTE>q^uUz*8*pasl<+?;zxRkc{-EGMvep3J@7<$$huN~*N9HgV-yn9h*N zbZC*Bv0I7C(Dl+jufJkrQ^rA}S*@V`pD`6Q*rR5KMDGUoh|0mvpa(K?R^o#c) zI{2B>N|5WpmCs;S79jLt4+4z)!857=ZMQ*utE~Kgbtu7GYyIA4Z?@-XF7Z&WL24N7 zb1u2ysZp@L`)l5pyU^~ERs{z`!Zn+E`pH*uI9z@maiZ*`!lt`Pty1T?E;C2p-|R`k zz!Y_pQO{iFxUO!*4qwDZT?!yrH8$z$ZFk}1yglRGL>_}Nq7Ks1hs#1Ep#D{sm*aPL z=OcPb-~Uarpl~~8!#Svp$7^F111T#R1+0#ek)Z&?H%AaP&n`;#E>%^*&1U!JTM*3-1ORPD!YBeM?qk!Y zKY)tTUENu3rLrzaAQQ8dLm7sgDIcUtyygdMJSPbo!}~tx=IxS5B*}S@)ectnL*{^p z+m^B?61U1=!LT?4A$F}5ACJ?Gya=7XyVft1tZKhiQa8fiRpJP}T}pvQIr{g}H*>+( zITZE3OIt2uJh#C=U58&-w-=|_!WJ2)T8&n@1#K>k@nGjmLpPW1!HoF@o_1xM>CfOU zsjAwrN9dX(zP7}am|#PB7x}l87%S4;2DHZ5Hw7%2h;B#4enKZKVU3ugoPQ>(6PF#T z96$cGhT7IR#a&iCUm5;?#D^=JvkKPemFrgJ{)OxlR(I7yEeYk8g_(~D9#QE+i(Tsi z1HA8o2YcBguQ-I2pP*n{GPLblwVoLxf=@>$TQ=nk8Y-iHsl_U4Gk#GU$Z`Ex|NU4} zax&8mWCSJ~!X>P-L5F~;E}Nr^d7RCNS&qQKzBKz7Pwx2O8Yo_ zOu@v&=FOrpI$(Hv%wQROu?T@4UZbq0=6me*INV&cKqxnjJCH;e(>-t%NbkhN_!|Wn*Vos8{TEhUT@5e;_WJsIMMcG5%>DiS&dv_N`4@J0cnAQ-#>RjZ z00W5t&tJ^l-QC*ST1-p~00u^9XJ=AUl7oW-;2a+x2k__T=grN{+1c4XK0ZL~^z^i$ zp&>vEhr@4fZWb380S18T&!0cQ3IKpHF)?v=b_NIm0Q>vwY7D0baZ)n z31Fa5sELUQARIVaU0nqf0XzT+fB_63aA;@<$l~wse|mcA;^G1TmX?-)e)jkGPfkuA z92@|!<>h5S_4f8QP-JRq>d&7)^Yin8l7K8gED$&_FaV?gY+wLjpoW%~7NDe=nHfMG z5DO3j{R9kv5GbssrUpO)OyvVrlx>u0UKD0i;Dpm5S5dY16(DL5l{ixz|mhJU@&-OWCTb7_%}8-fE(P~+XIRO zJU|wp1|S>|J3KrLcz^+v1f&BDpd>&MAaibR4#5A_4(MucZwG9E1h4@u0P@C8;oo+g zIVj7kfJi{oV~E(NZ*h(@^-(Q(C`Psb3KZ{N;^GB(a8NE*Vwc715!9 zr-H4Ao|T_c6+VT_JH9H+P3>iXSt!a$F`>s`jn`w9GZ_~B!{0soaiV|O_c^R2aWa%}O3jUE)WO=pa zs~_Wz08z|ieY5A%$@FcBF9^!1a}m5ks@7gjn;67N>}S~Hrm`4sM5Hh`q7&5-N{|31 z6x1{ol7BnskoViZ0GqbLa#kW`Z)VCjt1MysKg|rT zi!?s##Ck>8c zpi|>$lGlw#@yMNi&V4`6OBGJ(H&7lqLlcTQ&1zWriG_fL>BnFcr~?;E93{M-xIozQ zO=EHQ#+?<}%@wbWWv23#!V70h9MOuUVaU>3kpTvYfc|LBw?&b*89~Gc9i&8tlT#kF ztpbZoAzkdB+UTy=tx%L3Z4)I{zY(Kb)eg{InobSJmNwPZt$14aS-uc4eKuY8h$dtfyxu^a%zA)>fYI&)@ZXky?^{5>xSC?;w4r&td6vBdi%vHm4=XJH!3yL3?Ep+T5aU_>i;yr_XGq zxZfCzUU@GvnoIk+_Nd`aky>S&H!b*{A%L>?*XPAgWL(Vf(k7qUS}>Zn=U(ZfcOc{B z3*tOHH@t5Ub5D~#N7!Fxx}P2)sy{vE_l(R7$aW&CX>c|&HY+7};vUIietK%}!phrCuh+;C@1usp;XLU<8Gq8P!rEI3ieg#W$!= zQcZr{hp>8sF?k&Yl0?B84OneiQxef-4TEFrq3O~JAZR}yEJHA|Xkqd49tR&8oq{zP zY@>J^HBV*(gJvJZc_0VFN7Sx?H7#75E3#?N8Z!C+_f53YU}pyggxx1?wQi5Yb-_`I`_V*SMx5+*P^b=ec5RON-k1cIlsBLk}(HiaJyab0`CI zo0{=1_LO$~oE2%Tl_}KURuX<`+mQN_sTdM&* zkFf!Xtl^e^gTy6ON=&gTn6)$JHQq2)33R@_!#9?BLNq-Wi{U|rVX7Vny$l6#+SZ@KvQt@VYb%<9JfapI^b9j=wa+Tqb4ei;8c5 z&1>Uz@lVFv6T4Z*YU$r4G`g=91lSeA<=GRZ!*KTWKDPR}NPUW%peCUj`Ix_LDq!8| zMH-V`Pv!a~QkTL||L@cqiTz)*G-0=ytr1KqTuFPan9y4gYD5>PleK`NZB$ev@W%t= zkp)_=lBUTLZJpAtZg;pjI;7r2y|26-N7&a(hX|`1YNM9N8{>8JAuv}hp1v`3JHT-=5lbXpbMq7X~2J5Kl zh7tyU`_AusMFZ{ej9D;Uyy;SQ!4nwgSnngsYBwdS&EO3NS*o04)*juAYl;57c2Ly0(DEZ8IY?zSph-kyxu+D`tt@oU{32J#I{vmy=#0ySPK zA+i(A3yl)qmTz*$dZi#y9FS;$;h%bY+;StNx{_R56Otq+?pGe^T^{5d7Gs&?`_r`8 zD&dzOA|j8@3A&FR5U3*eQNBf<4^4W_iS_()*8b4aaUzfk2 zzIcMWSEjm;EPZPk{j{1>oXd}pXAj!NaRm8{Sjz!D=~q3WJ@vmt6ND_?HI~|wUS1j5 z9!S1MKr7%nxoJ3k`GB^7yV~*{n~O~n6($~x5Bu{7s|JyXbAyKI4+tO(zZYMslK;Zc zzeHGVl{`iP@jfSKq>R;{+djJ9n%$%EL()Uw+sykjNQdflkJZSjqV_QDWivbZS~S{K zkE@T^Jcv)Dfm93!mf$XYnCT--_A$zo9MOkPB6&diM8MwOfV?+ApNv`moV@nqn>&lv zYbN1-M|jc~sG|yLN^1R2=`+1ih3jCshg`iP&mY$GMTcY^W^T`WOCX!{-KHmZ#GiRH zYl{|+KLn5!PCLtBy~9i}`#d^gCDDx$+GQb~uc;V#K3OgbbOG0j5{BRG-si%Bo{@lB zGIt+Ain8^C`!*S0d0OSWVO+Z89}}O8aFTZ>p&k}2gGCV zh#<$gswePFxWGT$4DC^8@84_e*^KT74?7n8!$8cg=sL$OlKr&HMh@Rr5%*Wr!xoOl zo7jItnj-xYgVTX)H1=A2bD(tleEH57#V{xAeW_ezISg5OC zg=k>hOLA^urTH_e6*vSYRqCm$J{xo}-x3@HH;bsHD1Z`Pzvsn}%cvfw%Q(}h`Dgtb z0_J^niUmoCM5$*f)6}}qi(u;cPgxfyeVaaVmOsG<)5`6tzU4wyhF;k|~|x>7-2hXpVBpc5k{L4M`Wbe6Q?tr^*B z`Y*>6*&R#~%JlBIitlZ^qGe3s21~h3U|&k%%jeMM;6!~UH|+0+<5V-_zDqZQN79?n?!Aj!Nj`YMO9?j>uqI9-Tex+nJD z%e0#Yca6(zqGUR|KITa?9x-#C0!JKJHO(+fy@1!B$%ZwJwncQW7vGYv?~!^`#L~Um zOL++>4qmqW`0Chc0T23G8|vO)tK=Z2`gvS4*qpqhIJCEv9i&&$09VO8YOz|oZ+ubd zNXVdLc&p=KsSgtmIPLN69P7xYkYQ1vJ?u1g)T!6Ru`k2wkdj*wDC)VryGu2=yb0?F z>q~~e>KZ0d_#7f3UgV%9MY1}vMgF{B8yfE{HL*pMyhYF)WDZ^^3vS8F zGlOhs%g_~pS3=WQ#494@jAXwOtr^Y|TnQ5zki>qRG)(oPY*f}U_=ip_{qB0!%w7~G zWE!P4p3khyW-JJnE>eECuYfI?^d366Shq!Wm#x&jAo>=HdCllE$>DPO0N;y#4G)D2y#B@5=N=+F%Xo2n{gKcPcK2!hP*^WSXl+ut; zyLvVoY>VL{H%Kd9^i~lsb8j4>$EllrparEOJNT?Ym>vJa$(P^tOG)5aVb_5w^*&M0 zYOJ`I`}9}UoSnYg#E(&yyK(tqr^@n}qU2H2DhkK-`2He% zgXr_4kpXoQHxAO9S`wEdmqGU4j=1JdG!OixdqB4PPP6RXA}>GM zumruUUH|ZG2$bBj)Qluj&uB=dRb)?^qomw?Z$X%#D+Q*O97eHrgVB2*mR$bFBU`*} zIem?dM)i}raTFDn@5^caxE^XFXVhBePmH9fqcTi`TLaXiueH=@06sl}>F%}h9H_e9 z>^O?LxM1EjX}NVppaO@NNQr=AtHcH-BU{yBT_vejJ#J)l^cl69Z7$sk`82Zyw7Wxt z=~J?hZm{f@W}|96FUJfy65Gk8?^{^yjhOahUMCNNpt5DJw}ZKH7b!bGiFY9y6OY&T z_N)?Jj(MuLTN36ZCJ6I5Xy7uVlrb$o*Z%=-)kPo9s?<^Yqz~!Z* z_mP8(unFq65XSi!$@YtieSQ!<7IEOaA9VkKI?lA`*(nURvfKL8cX}-+~uw9|_5)uC2`ZHcaeX7L8aG6Ghleg@F9aG%X$#g6^yP5apnB>YTz&EfS{q z9UVfSyEIczebC)qlVu5cOoMzS_jrC|)rQlAzK7sfiW0`M8mVIohazPE9Jzn*qPt%6 zZL8RELY@L09B83@Be;x5V-IHnn$}{RAT#<2JA%ttlk#^(%u}CGze|1JY5MPhbfnYG zIw%$XfBmA-<_pKLpGKwbRF$#P;@_)ech#>vj25sv25VM$ouo)?BXdRcO{)*OwTw)G zv43W~T6ekBMtUD%5Bm>`^Ltv!w4~65N!Ut5twl!Agrzyq4O2Fi3pUMtCU~>9gt_=h-f% z;1&OuSu?A_sJvIvQ+dZNo3?m1%b1+s&UAx?8sUHEe_sB7zkm4R%6)<@oYB_i5>3Ip zIA+?jVdX|zL{)?TGpx+=Ta>G80}0}Ax+722$XFNJsC1gcH56{8B)*)eU#r~HrC&}` z|EWW92&;6y;3}!L5zXa385@?-D%>dSvyK;?jqU2t_R3wvBW;$!j45uQ7tyEIQva;Db}r&bR3kqNSh)Q_$MJ#Uj3Gj1F;)sO|%6z#@<+ zi{pbYsYS#u`X$Nf($OS+lhw>xgjos1OnF^$-I$u;qhJswhH~p|ab*nO>zBrtb0ndn zxV0uh!LN`&xckTP+JW}gznSpU492)u+`f{9Yr)js`NmfYH#Wdtradc0TnKNz@Su!e zu$9}G_=ku;%4xk}eXl>)KgpuT>_<`Ud(A^a++K&pm3LbN;gI}ku@YVrA%FJBZ5$;m zobR8}OLtW4-i+qPPLS-(7<>M{)rhiPoi@?&vDeVq5%fmZk=mDdRV>Pb-l7pP1y6|J z8I>sF+TypKV=_^NwBU^>4JJq<*14GLfM2*XQzYdlqqjnE)gZsPW^E@mp&ww* zW9i>XL=uwLVZ9pO*8K>t>vdL~Ek_NUL$?LQi5sc#1Q-f6-ywKcIT8Kw?C(_3pbR`e|)%9S-({if|E+hR2W!&qfQ&UiF^I!|M#xhdWsenv^wpKCBiuxXbnp85`{i|;BM?Ba`lqTA zyRm=UWJl&E{8JzYDHFu>*Z10-?#A8D|5jW9Ho0*CAs0fAy~MqbwYuOq9jjt9*nuHI zbDwKvh)5Ir$r!fS5|;?Dt>V+@F*v8=TJJF)TdnC#Mk>+tGDGCw;A~^PC`gUt*<(|i zB{{g{`uFehu`$fm4)&k7`u{xIV)yvA(%5SxX9MS80p2EKnLtCZ>tlX>*Z6nd&6-Mv$5rHD*db;&IBK3KH&M<+ArlGXDRdX1VVO4)&R$f4NxXI>GBh zSv|h>5GDAI(4E`@F?EnW zS>#c&Gw6~_XL`qQG4bK`W*>hek4LX*efn6|_MY+rXkNyAuu?NxS%L7~9tD3cn7&p( zCtfqe6sjB&Q-Vs7BP5+%;#Gk};4xtwU!KY0XXbmkUy$kR9)!~?*v)qw00!+Yg^#H> zc#8*z6zZo>+(bud?K<*!QO4ehiTCK&PD4G&n)Tr9X_3r-we z?fI+}-G~Yn93gI6F{}Dw_SC*FLZ)5(85zp4%uubtD)J)UELLkvGk4#tw&Tussa)mTD$R2&O~{ zCI3>fr-!-b@EGRI%g0L8UU%%u_<;e9439JNV;4KSxd|78v+I+8^rmMf3f40Jb}wEszROD?xBZu>Ll3;sUIoNxDK3|j3*sam2tC@@e$ z^!;+AK>efeBJB%ALsQ{uFui)oDoq()2USi?n=6C3#eetz?wPswc={I<8x=(8lE4EIsUfyGNZ{|KYn1IR|=E==f z(;!A5(-2y^2xRFCSPqzHAZn5RCN_bp22T(KEtjA(rFZ%>a4@STrHZflxKoqe9Z4@^ zM*scx_y73?Q{vt6?~WEl?2q*;@8 z3M*&@%l)SQmXkcUm)d@GT2#JdzhfSAP9|n#C;$E8X|pwD!r#X?0P>0ZisQ~TNqupW z*lUY~+ikD`vQb?@SAWX#r*Y+;=_|oacL$2CL$^(mV}aKO77pg}O+-=T1oLBT5sL2i z42Qth2+0@C`c+*D0*5!qy26sis<9a7>LN2{z%Qj49t z=L@x`4$ALHb*3COHoT?5S_c(Hs}g!V>W^=6Q0}zaubkDn)(lTax0+!+%B}9Vqw6{H zvL|BRM`O<@;eVi1DzM!tXtBrA20Ce@^Jz|>%X-t`vi-%WweXCh_LhI#bUg2*pcP~R z*RuTUzBKLXO~~uMd&o$v3@d0shHfUjC6c539PE6rF&;Ufa(Rw@K1*m7?f5)t`MjH0 z)_V(cajV5Am>f!kWcI@5rE8t6$S>5M=k=aRZROH6fA^jJp~2NlR4;Q2>L$7F#RT#9 z>4@1RhWG`Khy>P2j1Yx^BBL{S`niMaxlSWV-JBU0-T9zZ%>7mR3l$~QV$({o0;jTI ze5=cN^!Bc2bT|BcojXp~K#2cM>OTe*cM{Kg-j*CkiW)EGQot^}s;cy8_1_@JA0Whq zlrNr+R;Efa+`6N)s5rH*|E)nYZ3uqkk2C(E7@A|3YI`ozP~9Lexx#*1(r8luq+YPk z{J}c$s` zPM35Fx(YWB3Z5IYnN+L_4|jaR(5iWJi2~l&xy}aU7kW?o-V*6Av2wyZTG!E2KSW2* zGRLQkQU;Oz##ie-Z4fI)WSRxn$(ZcD;TL+;^r=a4(G~H3ZhK$lSXZj?cvyY8%d9JM zzc3#pD^W_QnWy#rx#;c&N@sqHhrnHRmj#i;s%zLm6SE(n&BWpd&f7>XnjV}OlZntI70fq%8~9<7 zMYaw`E-rp49-oC1N_uZTo)Cu%RR2QWdHpzQIcNsoDp`3xfP+`gI?tVQZ4X={qU?(n zV>0ASES^Xuc;9JBji{)RnFL(Lez;8XbB1uWaMp@p?7xhXk6V#!6B@aP4Rz7-K%a>i z?fvf}va_DGUXlI#4--`A3qK7J?-HwnG7O~H2;zR~RLW)_^#La!=}+>KW#anZ{|^D3 B7G?kd literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/glyphicons-halflings.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/glyphicons-halflings.png new file mode 100644 index 0000000000000000000000000000000000000000..a9969993201f9cee63cf9f49217646347297b643 GIT binary patch literal 12799 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/hand.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/hand.png new file mode 100755 index 0000000000000000000000000000000000000000..c8a34a289747e9f6a60fad85f42708fe10ba4a58 GIT binary patch literal 3823 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

                    =IGhfvWjuD&d6cOgyUICFtz!?G+;(~QDm;_MR-%_pCWubi@gg8$CSvZ;0 zcyl0#5c_w7DEz&RHH#q%H3J?@05yuYzrh4};C(x&bZECr2U5D|0j$yq`DBWBtfXM* z^Ql$PfrC$kdP{r1@7IWcLhl?Td$ze}*hg~h=E0Dl@A$JY;l#7~RAU zO2R+W1h8oO+EwJ#zq_{|_MV-+eY5wpcP*etw*!P zfW_3yJ5&)jK!`~IOyiDW;@{5(zoF!vKN#OP0lc8%L*I|{mf#zN+gyj$##zd3>6Uo& zGPN+PnNP1aTsNT&Iv9I@Fr(k61)0njlQHc*<+}S)(mk6HbO?5U zvOxock|#kB8pGa)`2KJdJ=%|`XCBA;$m;L@_pvBM#r9D`yyvhH03%|N>7o@9;sgMx zaJg6_A^0CZk{cYWF>-4}xixrAqu$j`d*+b;u0HM=t^=lgu8#&q1?E~D=Gj^DxqR~V zA+-0D>+VhchszR_j>06vkZ~C%t2X*2!GD3^BY29Ha##5<5&%0!p!V z1<8Y-2iItx0ODCede`_rn3LA={Xu|#0Adn|@L?%G z3aD@&G={y;K!p7U|KQV#8m2x7#6=((4TMFIsN4ae+>YSGOaOrJC|2uL)jeJ}a={y@P$_@ANL zE}%R!KN46B9||EvwBx-YKy~nSD)+q&Ax;qjDZvqdj7thM$L3Ll$(h|mbGw^V zB7$i&ji`me-bT_13c)6wSXc;F=>;)pXJI2IL}R6e)ir{UiQVq2n zL=bUb^ccAFeVBOlCb{2!kI_9a^N*~gm81?TcZv(Z=>8hj)*5PG08+)oAcz7+QTg|W zJd*1a;Dq|(0etzmr@KPziSfnz-F-EQNmI*cM}DYy-(fi8O-NdR0F%FDN>W4MHaUox z4k;vm18)EV5`hXLfZy~9>Z$iiz@z_I;!1s+p}k+!7T_3feMHn;M>r4qEEac7NCk&~U!TcP_yO?6 z<9GZPAVhw!bhk7>e(vfr0GXM50ip!r$~KK!p#gBDn_mK#i5jONeHm*`B60-eFd}n^ zxIhRF|Fn>K@}>LpZ20@UFC8sFx+ie@@)6J>h;=_^jS^K7j7c`4TDnaRgkqS7WSJ=L zpynBbF2X7zZIDI41p~h#pne4ab{FplAyjy{_;C6DI&%;-1|0w?mDxjd&b;^2o1edP z>H`rQ5P(8xL9$FN9jsYJqzfEJq>aiF!km{;??%kPq>D%gSOVsdX}#q+1%!(a?@i1Cs0H1k*?yko zm(E_ecJb`F0xCe^Y&;y}b>Lg)BMSx`LFt0&fp!r&3X%mw3YMP#h!@_N4nXRlib)!v z{0R^gfc+T^)`6?I?+rGyV02K^1y&L1fo8#wxd1U?;=|=T>;o_}fMAk3D7OOw@K~{# zjq6~)b55Bd3kH}jNFT_y5?uyn1NMzQh!0&q0xV!KaSc`OlmXbCE#TLO!(Mexm;sg` zZiDS%q>s`Aj%I;r7A-!1ScX6XCIOMM0t5u(I*hLaSFx`7gz91zgdWEBQSE|042IHx zLgoAD1CTkSQX8U`Thk3d$p#Fv9)l|`81pUIS_U}=^uhK(cSZ*|1XRP0qDpRbfK(Eq zxOo%!?LRvPmZ(5$9?})CPeXbFbY~m~ZG%1mM4(e|K27y04)kC7?C#npZ~gBAP;xqk zpBG^B2!J_!a%cbm002ovPDHLkV1jxg B3#tGB literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/icon11.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/icon11.png new file mode 100644 index 0000000000000000000000000000000000000000..7a9a18c2b4f239d15720911af312d2addd69a123 GIT binary patch literal 445 zcmV;u0Yd(XP)D0cu^_c>L8l0$OWo`e^fe+PBl6E7iVj`^FIz+u!UP+>$xeS#pb zUb>WcDT{D-)!lVvdZ%2qcA}sMe$4K}%#U}5P)dP82mupeAt0g(!dE2BuCTf%n1Y>k z0H0uVY0FJ%ts(Sk)wRAH39)`?@?!x=#V63UazhXsZl#nkVJR3Acfc3hZrVZy|2_oDE3ikPmu$c$wI0#@iZ--&r_zQI4S z4X*8rn$a#XfomQk)W0qM)3xPMd6>hq0-GQhp7y)PCjv0#AL{{1LxAu-bCWJ~#B{6x zvXTn7uNAnLH9!b^9G>U7kAera2HA2Ia#{^cte)>2h9af%=O?3p*y z{iQc2=hxpk_q=!SV^T_}I=oJ6jPCTW5X_)ltI4sGS$NbydjtF~zCP&EDK*r~Ln~p)>=%k*n zG_XlbSmd;ul>-XzKp>~N>PLs;j)5%AR~V>gS1rq;1UySl?-~_X{R>xuUP_?me&3y_m0Ea&V U7rE75wg3PC07*qoM6N<$g04;Gn*aa+ literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/icon13.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/icon13.png new file mode 100644 index 0000000000000000000000000000000000000000..73bb63004961a630f0e80efce90614f31b8626c1 GIT binary patch literal 10664 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 MRUMUDC7X!<15EPDW&i*H literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/icon2.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/icon2.png new file mode 100644 index 0000000000000000000000000000000000000000..394f7a3c5cb9609af07d796b5faf25749d7df37d GIT binary patch literal 3119 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 Br;Pvr literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/icon4.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/icon4.png new file mode 100644 index 0000000000000000000000000000000000000000..f5539d259396e9580eaaea132aa05ba3d970a606 GIT binary patch literal 3904 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 +Ov06pwl{c})mqK}KzbYi_^X$Y{ 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�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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/icon6.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/icon6.png new file mode 100644 index 0000000000000000000000000000000000000000..61240047afe06880aebdabd6588be7273f1b7996 GIT binary patch literal 13459 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/icon8.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/icon8.png new file mode 100644 index 0000000000000000000000000000000000000000..c3b2b36a1e39d613d49b8bcf7cf409a9b039e2bd GIT binary patch literal 6898 zcmW+*cRbYpA3r%<%E+Eax{ze=?7btMy+`(l?5)g5wmX|b$c*ff%(G|48DA?Q>B#2y z?)SLI-RGard%j-J@p@gXj$@)F81IbO2H#)hQM(4Yd8ugB9feKHOv+?pXzBN`KCC8L!vGRxBTHL zrAulwzn22-6KE%aYUoKfOM8v;Y$Xffjqtr%Zc)|b^+$QX?xzwX zk==2HLnA{&7uQ}}BbRwBmp@c!$4{vh_E#n@w&MFg;FUm***lv^y1JOId_oR|%E?kG329BjrGrjFLPM{wnc(nTP64y^nukuWf8?*QL++$mMAx`~py#pSbYcI$!a?Fjb~ae=Krxa(L<5q*=J`L!wq< z3k^NQ6*Q>z2w72@=(h4q0m9(4vD=YLddUc76_smu3ybCJ8}LFw=^KjU^MJ%3-7Zd_hdQ=>xF6OP*&eNuEQtm`CI z%_`uQx+H3^1#c8LDszpWZ@Fo3qsx+9Nw@LkHbn-H8C#MnpQva?ohDd;B9>1;;Oq8e z2`Ve=9^LK2GN&0ZGkP{hIvAalbO$Hh1YT8POXAzsql&cTGn}ZK5BE2ZJ^#CRj(5g1 zlCV@j!uU4!5E=H01Jeo_Yqai(d(@OEBPgiAO>>VNw&K&`nh}6Rsv#&Y&SpC{=j)vz zF4*QYi>p5wrDf=Pl|F0!k!mlcM_ESFHZQ~zGTU=zB@41nsjh? zU%nw!n0T$5`+Ihm03{SA8QK`ep4gYtM7Xj!oMqbLlVI}2?Zw6*HC!s-*$B?=^|(!R zRMgP&Z8=p$E$<5?a^v!NS+pa%+iE0ND$4*r=wvnedE%^4Lg>XBi#Uc($Z)$Q|O*s9P~ zzYr7_A>W4!Lj_RB&}bzKECH^u?2 z|IDoC>)HVb-3u`$M9M$~j#6u~;&Y3iKnFhNCvOUb&RAB!E%l~(Rfa5U*zAr{y4}}R zJ`xg=`_lR$LPA0-$LDvTclV)VvR+<-VGo2(pW`6fB`GsA`b?xm=;HCIsb^Hd=wfP3 ziwAr{6=1wBRkk*Vx%+dQib!7yiK9>b*P3!H^$~I^{D-Lufe((R^h|qADbPd?iXOM70ACQ~scQvFZHc1wXrKd1X^<1rh9#v@y} zaV$3H>q%v0WwtUy)vSiSy?q>Og?XDqQ4Ur;j~i2ATt8Uh3`U4Cz0E$PexvS4^I)$I zAM3b6a3Q-k8hVA>r(&eX|4R@FQbSLV5{t!tv*riu^c=SzOU+amrA%%vjg582Q9m3S zUB3GJWv3Y=Z7g8hT{>2pr;@<|NwDgaMkwQ$+F@m|5V7L`u4z zgiheB7a=l9s!$~IMGH2jP?e8vXpl;d+`+*?7Kya3p(BmP|FYmp7-aiuc4t`CLX3%L z?W3M<1uMPz0J2>F64pqxNCd}A9Jj%zGISs!7ht+i>5@SXFk;G+@$qTVxP!TN+wbAc{#b`0`;oex#=6X zO4+Sz4AqNh*i4mU4EV={9=XE|?;bv)dG?Z8XW*d9Jl&+aG0$tPzP}b%*9THeJ3_FZca0K+(8c_M zg56-I3|@=Prmb9?{iU{--rgUeF+5M#*R7^EA@v>)ozcBOq)sODuD*e%M+^2jXWDc_ zfg=OZhVc9n?Ho2L;uj~sS0ik0>=m~dm;OXl&&%g?67RR4^Q^6{0leB8X&>A%B!KYQ z>;c%b1Rvg!l9FmY`R@&~XjWaLUdP*BN0{aJYIn40TL5)ppUwO(3E|@$ZCfMdbUQ!? z$p}=Q84oR>bG;I6q^*~V$dq;I$3X-i^YjE%K|$exhGe-fPg_mG&Agf(V{#}v2M16v zO!MWS_Oo}V;{Ha0z8>}Iy70ulMKza3e=p|zTjAZSojXSYf`WR~63&t6Ui@cgT?SR= zu5RoPXp#{%E^`9&3kwfr=P0KFB9nL^+sd!vZmHg9w8S=h19UaNuT4gb&(3Ce8&orw zQs5F2Sm~o9nqy#P&%UD&YP(Bq3y1r(3{+fd6wJ)byYuzs)+lKwERJMdkidZ2=LxB> z)|!UJ83h@O^!lF-jHb3WMS^mjx%)T#&kYUeaMq^(AnG4J5^~N{xjceBbKf*Cd&R*> zrDQdlE5&Wmo;_Legfdpq4+ua6j0J$+#DsBpc=+)6cyfGP_lfkS=g-NtN0tbqf2FVR7x^orRD9;1k~DQx(s=88IrAC(j;yRK>Uv* zFLo@ht^NEO%MS3iIctI^Pf^x)hI&>;mEMNE{I+%wzlmjj?Bnr!MJ_ks=Yw=!i(ED+ zy7=Jlg1gs$-){a|Y_i!&uaehQ&e~kJ>B*J@t5GSf{@q&$`a5TT>nbZZ7YJUofkkkd zR+h;4^t2tjoe*^Ozn(X(2fd5{*==l&F9ZuF_8LpEZ9SH5Zg2mYUM8skp`s7GC{2nt zJ-_`VTmK9`1Znx^*Dp5)1_l7>MpGV1I2k}|>($wgX`@H@$B!T5CQK6=%GGsBv81`y zJGmfozpyP#;-0Ug$yg?4X430lP{u+FIcx1l;ms{A{`+mmASLlADJeH^A^tlMb8kDM zA&q|J9)imf#}TEfd)2=aRf^9^Lk1e^P(`k;TJe}RcJ5SljJzTu8(QpbnmHP<=&1GH1Vw|)j3biW-Bg~D@db(Dr|J%MjnIx0Gat6 z(AH>L86n`p0GF$p#T<8B2j>R=H3Aq;vYX4Mg++9NXzyS{-=!o9W0{O&3*;t+K)KNW z`!}CTBHYf__S?`M%hy2~$)7FnzjIc7hlt(E3x#K3dd7=XhOd(c5P)gp-@dK&*_%&x z_#`ZCaMubDG4Pd{0@KI!N{8l4rhw9t;uV}xrB9TqrJ2ZW7 znQa^#V*dX9o64+Q$SJ_b*V%D>>24l!YUlH7(I_oP(WhYLlU2Pb#>C3bn2&CKvB|6T zbTdmeIklFk`oo9FkrC~)^YgjSjwz?4otno3kply2z(6bmeXCvh*63W z^xLXOweS8?b8Jd}|0gT|y4TZhj35@oJ3@2R|H#njH>fJOl0Z97@4b@4k|#}QB*&pq5wgah)7pU`n@Ilc$htCa49xr-rme1Fk*)?d z_mTS?v0MykXcka5va_=f?dzwxOo>ZL4P#q;hnr1IOfY|^T<1T>0%H1o(8nUk&!6<7 z@7)2#@Y}bffA^Oyl1dBIy({D9@OEil*VOQX8pt^$4}~&XnQ98XmIfX`U}vexiz7?K zbx_Sh8rUf?=!t>?{=W*7ApxixDEc-Tm9cK3z@QWt42+0I>l>GEE-- zX?D8U<$Xs$pKI4ryG@`G#{Hf2xsus1p6A`=TTFFnHF{n_@EQlGY%&73krYX)GN+HH z;TNHF4+1FD78n$zw1Hy&-E4erA1ZE0eJ-px@QPTDlgiq~#ieV%tc=IfPl#dI&s9U? z%_qVSPWg0JJQ7b>r=FvbaXG<3LD_F;d3iW99^9M)w=L$isX6El3O0}zV_2-2P+Pt1 z1LF#WUbPu%u6p+tjvqiC0O9HGAqH5;YVq}=L}_(30??`Ww;AA9kVRjps5%d8|KLx# zD(c*IaCTnfkU72C*47486W1>!F62W>uL3w<=5qUq-hUT6HHg)@fF0B8exyTxC$VpPf8Tzg z!S(s=0xOnkc+|ZCfJ5&ceZVrV2YUJ5%cU!rH<@HwD+A6B)>`}&I3a@$Wq3OU&@ z0-*R|k`8L*acKCsN1TiQ-W}eLHvddD^^^`Mz(1{DZVx`WysD5Z2u9a);y(kfN}uq&s{~4Kl~ZKy4{a}=u_*aD1{X8pZBl<&4xk0cZ7xxlA7eB5I%>|I$_6DOWm=i}WCElTNQVy92e&Ct zp7_K>K_MYqVq+B*q9-z!F9(h>)a2Guyq&wd+^Zg$4Gkio_l86QTVOzm$4P@OUd5e? z`Tb@sB9Xf*oW|9cdX^3YdZsU9an>+5y{46@`6&Q%ZAxIz>P zK}kGL>aW$+^c>xbp}u|BP~O|}bNzw!8<)&2GyhXOY0$T6{(H)MR}l1@fS=toP}iam z=Hrt^P^it3eR+Kr*;V2p=CYeQf_-J8 zB#1ZM$XMX;&B-S+Jv&E#h6G15DV{%jPEEMx)lkQL{fM0|Wyobq{i4K?VQVC34a6Wm zK7RcJe-%XY$rC}~D-dduAs3nUx&Bd`o13ko=JH4U!ooeLxGj1({5kNcpnPn#`$G`< z-|@M4@R<-18GQZf@;qD8KN*m>ex<3JjZIM#(}0N3`p=%ZD~vbRTE4Q4Xij?TeDvfI zN;6rL9gy?CB|xx#Eq5dqa)LTp`r@~Ob3}YH4j%@53G|hmcD7iTZ##||TsbiDmH`3t zFN=YW3nng6>?(mf7mwdX02ljX{GN8MWGpKz3X)1o1rSo^-)0V33ORR`K3RDc*TL<0 zv&RNF8#3vWFq!Mq(J(gwH&@r;orRHNyw9hvii?XCS;^nYiOMcEzIX*%z~f_MmS=dk zk2(yI-fHAfkEZ;ZI}8lu^Yi3e!MEn%S*dho!G(|NQ>Oss>DN9$thliK-DH92lkYQ*r3}AvI3}Y+b<`^$K~wpImR7QRS^QgmuE*=vgA2m3mX{;IbH{z?oHrnMK)0N{00vE+Jc+r9NI__kAICl=FL&Ytx$_Pf86HVs*t1d zC#RQJVceM7?p1O{T_FxujZ(=920&ns;E5byx}gnB#y%+tNdms_7=18h+ic=Uo`US) zkU$Eg|HqIB)N1&m$^Pn#o$Stqw?-)o=MSl%8#x1C#_2<7%{E30ox@XC`dsQn$j*ZD z={@itjz>q?$r4H6u-t`If_Yw?lBn%OoFc3@jFT^c2YSogEz@~^DQsk2x$_OrZOj;I zN$k2KdkYRWCG@hFXgtvWhF{FcVgH5u_~|t*s{xrvI+-#7S2MArVg`?>#tj`Zz7rch z@%{@6ILzd2Jm+hFox@_yMFoJC#aLSNr> zs8zbGe3IkCOVM)Wh9B1elKjnc{gbQRW^B$uwmTt~vHiQtqjgznjEieEyv#MZrl#h# z$r>)+M6KJPJRl1Uge4V*C3S@*t)%_#imMs^_wV1$`6X6bnu-KpP+B_CkQW~ib6bUx zF+B;BVGSY=Jnf27C{+5S^X}a{OzzcGuB^U(x0Rq$N?4-*wsmX3U>ST-lvKX|!4jGP z=NXJ`2fRLz07sHN{_%uJx`)$R6^@AdBa^o+W z00@JzF@+_ORpfqCBzk;8Yh7Um4})9BHP>b8v^WP5vd!oI4bh1KSN->|&DYcA*y8Jb zmYe;+n^Ebj(ej0h`IEMEl~2y~4Gji2#FIhfj5sm)?_3AvfKB4M#&6a5jgNmM5QU)9 zbT+d#l2~ClUZ}a?IWf%ly2cl*VKVyqt8U_9U6y`-dCbpd`}x~1_gSw0i@b67@Hh-C zDa)!lej2;4N0HaPO-hL*(?&jl-B)~=&lES(6~gKPM<%*1zGH=rbOOY2f>8zQq-7GA zUCb_adMgADQ6J4K;|}Ry)+pg^V5mIs|lCB+DrbUqa$Cpo2+{> zmPrq>lFx!*`G>S@s{;2|xjuc&7F>$rBI<$uNPw%%$SOg@@Coy~zli^93D=jGQ?-Wf z@WuN+@hy*b6p1Y=dVm_Vq{XMTKApu%oyMh?A=`N-Eh8FyQUdMu;@!T>#9O6 z!jf(niSPpzQ@ZcP{a#^3;Da5Y2ZbR<70g7F4AfSIsmq*Y#?*St@b9~@y1c7)Vo)*b zAs#|^*L3-|M;H)qc)ZOHuXAERyML*#UmAOEele52bniPertt6$Cfz-tlK!NM4gyCu zIT_0pCeld#LpkHc>A)c_7KCi5ADKbg5QV9XiGnotR9(v#B2a^i4h?Op{IW7Efn%6z z)cCl8-`eBc=Kt153Nxu+Xp#a9s{oP0Mv+k) z6Bka}R~-Gv$JhDgfO3k(jEKxH)G&o6<#T5MFauRSN#_aM1+t2j&YLes7TIaB6 zJ%8S~dy-+(fl#N7z%iX*>lgAcjpT~4b9PqXy^H$^(NJ6KMubUKxh-ZHB?vRf zQ1sXOG&@^XVet9R)G_7muLdWEzL%6K9J1O}s|P;di(hN?MWi8b#PRW)FJHdMP{{-H zLT(U@MEY!N5e$IiqI>SKZTKmS$@oK^xjre`>Z1l7o&Zp>A#P<#gnHNIrQ{kGYiX2m zA_tR2(97G}a!$|8P((iyF_nWu;m8*5Z(i{f0MN*y5W?Ox;P1m#g(sj!oMPz9Qb!vG z7g%$2P#+DmF#>`t1fnuB?lMaG(em-}%|w(Di^t`t?3ubRkg#1^aU>%blngJ9bs(byK0h=}HpE zX$%yi!8-ND@nsIBbROe+OM)JEcyqIOTwL7Z`O%gD3Fnp(E2b|wIk`6bB5MW@2(paysR^tZSf=q_s$!nR(QOE>vA{YpNWZkl+liKjNGRM<&swz z45c{?9SgIhO|qc_i+-=hp4w+&V}ln{fZ^L`4`Zc_&a0`R;M73N@ZOc9t-&} z2#SjnYEw}p_VB#Tf#Ar%Hh52-)++;WvdK};B_QLs5N*Tw%??xr_S*=r$VQfmyIn&n zHy5(3c&vB?IVIn{a{H0eCCo9M8_i={j!~AqIy=89;AZTl;=(lsoI+7 zeHE7vmaML>E*5Ypwz;)MK^93t=HfpvXW`*Nwc$Zuz-8s*LkI5Rh}{{PWB%#im(8C) z8$p5&BFBCcyuedLNkHBeMc32_K4Yg~eBuGS-CPbzSuw^(rGMslNXW@?QNNmt>s_hk3U0XbDzPoi-F93V&<_FR@m1_r`g9OQCwuGWxLp zjy?x6^}VchB=wzI)WQq#7CsD)gMV~L0=}=cQxTd#?6M4wh3B4xA`MW+df~v;)s^?( z^yjGkWqD92urZQd9M9qaVYKLjp5#2}Xe~y3;mA{2do=1r=jo{!cr$6OVd2ORn>a8w zEh@a|X9e31cQJj(T=bnpMHz4?H`fuvyrBz+a-r}@t_8z*`PZ+JKh_gGF2#LCOml` zJu>jvK@N58CMQ$aw@&Qzi3}suFOSS`gv|o4JfRRArQZ!h)qK3Mnt1nvW05{=OO;WU zGa?96MfUd*rl&Wd&gp?CyQUxlbv8I19v$Tu78b7lQ-1jU^3qR!;?YaIL?FuPq9rD` zMU6Hhxc#!fz599lxjqP52n0fpHvs_p8<-<-Lmt7X0wiSz#nt*dUq2x>^?Jq(ih^2R zIemS*Ec`Bk<8)fDz4>taELdchnAa{NjLpu$;h-$kw25sgd%B0Ju=);cZq=%`ZRPISw)`cvIytaUd z2tE>)!2C33r6-%uS5c8b&E1~~_tT#{k!i7=8bR7Bn$9OJ{?X7Porjl;1kxDMwtZ3% z49?HbRoc|3X9K7R@%+evPf$AfP|K+tP3^K+E-Yh)O*)6dqs-6(u3^MLs>|M5^X~k& z*z|O2)S&D2rO(jw*A5Odt9w+jazAe>{;2ah@sQ6=73$ z#}^}>Obt%=GW#w4{20@8zBD$j{3)&PHdR#Yc>n=g??h6G#!qev6Qqy`soz<+xjxya z3EZb?a{K!;K@ivZfIwC`Xb8y`1UJlxuPCtOrw?^eBxxK;wa=nuX8r+UJLt+lK&Q0^ zxeM(MHUKMqytCWsn|owa!-xV7G6aM7)w$=_NO1Pu;%jbTju_95~=z5!;7UR9zuK3YGhr@<#ILNZ{J?wQs}vRY2-?jZCC4RiFk*3c`tuGa zR2EaHnD}*36I>>Ha&L>QN3?dCaY>Q=yZ7&dZH#Q3j7s)N)_d*vxFdj_7_nIs{$CpOtTgbLi3yRiF~e~q32rg&PV?UzoVc9 z;gyS07l5_3^{^*X3dhpn#wehb0u*o+fa+*fgEd*nJD&ZgYzKuTPO*LWgFgtIMM?AO z_V)Ir_M5qd(vkD(`-ImGAwi=Eb{>a|HK;S<2Am(zMCkSLF<}`~IPyPzvPs25CB8E@ zGAjLI)s#PsusW#IKQ%fgf@)-2K{eE8w1KBU4j$^R4EFOQGsGW9m2?h@Su9cpCaW=G zF@4;2iUSg5gA-cZ9Us&uGp|mvK70@j|2db9Szcalfu!tU#0jj`CRLcanweGgzNJ14zE3QFoCQ$H01lyy+?P>?42~987MWRh!`zK^ zscqWwt7?1$#POs_Q1nVqj5`2oKjXBWJ^i*bFYT|?dTB>J^KfL65{CsXK8#IbH)hrw zV~~yXP*e=F6oP}Xaxq9Qg#koW-6!)<@spoZF z28R!*GZa)6Ka~3cz!pY{goGt2Abaye?8R|y ztA{Y+^~(Z53V_ZMGvi;T9vG;2u*dBa+L1?t z3kE_T-ayiHDk>^u^v7agiz4xpr>#zz0220nt$tc~iNpaq-52&87b*35Ko!CoP0}!= zu^eH~R%~aHwrix91cw-9JY6bwxKi+$Jee(VD8ZemYysS|wx zYgATMS0amrdqPFQPU*EK94hJk9{^r4=gh_4KG;617kh9kX;*p@K}EcOx^Mk!Xh=?* z>RnOuF4cim(`Fu6%KZGiO3rYO5Mlw zWK1Q4A|@^+(o&pl>Gc7IbRZ!yQEn6g@-ySpw^UxcvmJA-UbkPf+II)ce`q6?#t(gq zvy3z9{~8R{R>Ztq4zFazLlMaY?(abXBe5bj2&TJ({Lmn;B_FG=|Nb*EUY5aQar5{a z7+$R#bJ2I=v7RxTAcyO{`ESJ9RBSNFy!Q&JCX=4hZ*PZo`>Z4m!epgelfJ&a{S4&G zfc;o=)(-^()2qwOm2`LGhPH_}Ezn6cX0CBtXU@6_?7Xx%{V8*GzR1B}URE zFbo2c9(R2-uxmN`Y1NuxDF^)k*4d{%WaJ$z5A%WAZW%;QbKnT7>oU+YzPtIwl3f`i zH4NIoF-dky!s;@`V5@_@qJX)_Hz0R_R{Yj+F-iw87Hec9K{F#jd#Kae-~W1mZ-mjBWM)$2B%&D@}U1`MK1;~n4~XHqg9BY2k& z5l`!W<1&g^MsESkklxJmD;&8dQNjJN4_Uj6_(t(X6!g5UU!MfK$v*skb#anBgasP_ z6g!f2yIH4hAPaz%OG2nXynn{7J-+Q_Zoa8inu7aF{P_~&(;}y%EL;c^3xg(ivj;ch zp*g1vp{&LjT4q?pz@l*al|<9gC8*$8!}3Z?2~AB+sY`uKn|iu4byR6Y6Szc$O<+$d zRf%2B1|fvZ9aHqr@iHTv90#Y9y z1@RdOE2Ep_=HZQD|IyPU2+C3eOP)_uw|cXz%pz_Hw9PiyUC~Y_M%VS>{FEm$^4dS| zMm8DA%EHHO@Vxvuv694*P(}hxh?P;s_59J+F&4xU7T)+2lH~%iEoUT29tKzt*xyifBt-NI3TZhPUyl*D@=mx?(S}5UM>?vMzw+4 zZ#E;2RTkp_$TFag!s!9*LX!zn!!DezwmeNodrqKzb$QdeG^0~ebjIHnsH>~nmmS0k zYYM!P($lZ(rii2J@8WjbCE|$cV#CNL2a%GI4bZ)Qw6~6X6`WG9lCP5+B^Y7&Yok_3 zR5VhL8*fk?5{!Amz8!u>zzBI(IFfSVFAEoV{5Ui}KVO~c$E?S}j~6(ya6{LLq?nC9 zaZM@@h%?R4t4FnkqobpAMuU&W!XcdgTeuG;eP|0kvL$)pFbjKoLQ$9b?%rOQPAL`0 zvH4}(8aa~DnPzYM%D1WIM^rc521mxm!i$QE)Wca?gUjhAVJA1YAQU7Rfz1tM4i2jO zy4A9a_kly%jVBybi+*6lCWej0BkgeA4*Zf7B%@31Q^iL4^o(O^h|iU}Gs0drX*>l9 z#DR5|U3$(J@{Y6Z}=$}V!KI}xFtcwW4rPLb!tEr~8xH(pS z`Y*FR4oo7!xWU@W3KA!X5Efq2yk6D3HKt#$&$n(ru>C$z7_U&czO~ggQmDw*?}lAp=i1rYssjT^^ubgJ-Lxhp ze6abckelu9z1(X_CE+ZENs-#Jh~u@lle1H1rl37BKkcM}$9`w+7b+Ox($haGbD@^+ z;Q9PDB=9sc5cB5`m4|81>@1q|>h=R&B57Kv{b zX>o-O4r&}89_BSR(txB=^7*qOh{K)3F$EsfSqi;vHcNPvFw`H+g*>E)YZDv}Rw9zw zL@9WX^K|b|A1x#s3<};hS$Frx8re_qXYy%K0Tka;Q$}D0LcZ62BX#%g zT~=5KCzEwteseROzrVkj|2ZPZXN~SlL&MuMi0BMgzuSi9W^dO=mz}1t0f2p~wseRr|a?iB8L2r3GaP#wK zjN)!k@YupkpmzX~K`aZOEuwHSs1xeFj}xkUr#h1(uf=&)n6F)ng-`*UYQiLagpv;C zgFFcNv@9$qoBLf$0wD2%)U@y0e&RbnQVk{sAUm1m$iShu<$XJu@3NJ?Famk(@4wjc zw{!k2<)pt})q#N?cmXgiT;JVQ(9|Tq-4ygXPgI$@Gne$P>Z+j{E9mxGgDAlIDBkOpMT_FyKbnUun;#sK7Q+^m2u@t zz!K3jMFj;v{IbRfLe9{p%yZ;5ct#XH6p3pg_2If15AMX&lU>c9e;ca=9M|RE9)cZF zJ^}qrj+nc*H?8#fNaEM}h5Ir!j{OZzp9e^-NnF~_9)KN$x;%Bg+}*o=WL5JH%h~kG zUs`JxVZ~n_>M6#t9<1xG%)@W#a&FD938vQ4zRAr+eWv*0}k5~YI5uDi_*rn=UmS8H7um;CjOT7$}*9W z5gC6Sx$ltSzo61T_ym822YHt%S#H+TN{LX5h&#i1;fvD@c_KWWJ zoW|4BbF0CYVe7&H&v`WJY7<`2ImL8{DV43jCycVp0!5AO=Dm)LPaFhC);L_U3fh)a zj450pcmG}Q9y@}aRaaMMraHq9@|u|6X*HIniETMlAys%30ANhF&jJW-q~|r+cLy{? zB`+oAF=$j^J|Ae1bPcEUrE`wR%?(}Ljk4NN%U63%ow(xq>(?*uND~hakHx>4=0A$1 zjvmf7x#A8zJwZS3GmhVx3g~j8uUU8+0lxUYU&GEsk7ypQV)DacI{+shC=ZaA( z9*z2L)u!9#i|3WmYN`aX&-S+CTQ|3VSK;B|qJ!BIUgA_l>Wox4KqQm|)7RPVB?l2f zh#`uxHtH$eNzPfYq@~--t^X^Fj;}KrMf@5Ze83{1pN3yzgF30hf{3LY>6C zQy4tfJx9V00$|wDHj858Em7&jNUo9pd$tLtgRLYAWZtSLZ3Jm@x>U*Ubo<1_#J$!t zFWcr1@*mUK->Ypte*8GG3QQB-?d;aqW?b5ziinCfT4fdCbM7LS{Mz4lY9_evR=U*7 z0Dxi80dKlWe^k-N&p&^eiltDMsiy|&_hy~vs|-i=r+2Ai23jQgv1@B7 zC%bbDU%mI2EBE*JXGEQ6qi9}-@3YhzfVZzMT$;S_Qifs)Z5-N2 zkmI**oqJSC&H)Vvokl`KN{ZSl8a(mBAk@M0Fi_E)wP4q54UPLv58A$dtr!>>P>T75xBum)F)&w5h)Mki(`LRGQbR8{MYQt_gtSEgn@pLJ{#x#4hDjk zmX>Bfn=@KgwpJ}NNjWZoG7?jlD2sT(0W2o5l3~x@q+}$I>8WT_`Q%Gcu4}xiy;k|I zl%M|9M($(l30JIbbE~Nu2jvS%=JuI|g+N~v>c6#mhlyPf)ONwZ+F_1aia!p`0Jn(nI~h^9QY-{&#Tc%afCn zmAAoODEQO3H{1NUu&j*4HiMwLA*UbJ&}}3(HR?ZQJuZY3But6M*Gl}&!5U$?x<^7f z`0el~P5JP@F>y1Id)Sd#cyRr|>Wozewz#->&$P|&?09&1c%c0G=XrGwO68dbb+J&s z&g8xgz@SE?|3s0z0jFLAu!x5mZxV}RkGrofG^H*SWd#41DL^cBwOy#kSYlr z55N5i*J;-gFL)_c9KB(nfz8#GluS_|L;3<-9RsB5*55!ilb(c=w zxSc!ge}My&X6C)ipw;;!LaGdZCVei0<-;zpx+;=H5p$si~>% zXMSc82TUzHN8*gSZE^L%{5NrpxIk${UjB5ph?flPgR+GP0`ctgx2xl=(9z}}&xCZ3 zwGYrV2|fgHINqOdIlF`i3dhuxSOn!2(5y`)T^?9lOa(i*=#q2Qi#b0!X<%<|b zLu-kbptz=p|6@c|c?|Cm;#o+%Dv!OREshwry15WSgnu8Qc&~(5Yew(4yQ=%0#=xT= zzPNjBzE|M>5*%a|Jw&x}5)Seb0Jt*r4nA}HSwgpc|PCrTia7Bv_sdiM~kspY_F=O#B~;iq2pfY|oxO_|a*Qufl1l0Hsu9`E9~% zwCJ0OWF-_BKMbD(-q~kOV=$OY?DZ*Q5M|xh8ZygZ<2O=|B@XOP$9->v#15~0_sG;V zGzR-)T3j>kh!vT3yd5?B@Q;PXJBtty!@U!EkFRiaf1|mjI?RGK=v)atK*|O;?R(w4 z+FRKeAnfhpw|xb+mqyX=_XxD-lc;*5!KHV{`W2+-x(?I*-@ykCEY!`t#Xh8BJ0ZVx z)en{Z+)me8LmOSbUF;qOmzI{^mmlCky=r1`{)AG>vmCG<>SXJ1A<6k+iZO^{l6bQX zDo1RBX&^Q`vb@xTD4~xGvwvsyp1rzQ!pAL4pZ8Do)?C3$Rtf;6(;HcHRw9ABg)2la zB~x@I>cr5*WRkogD7NL*u#Oe|`6V-!oc@-=L>S4pQ#Ysd#RCt{2S!;}3Wf^|HbDP`FbgtXIb$46X-YC@WQp%;2mH@$8 zlt8Ff6w+t_6D3jk;SY`eB=M5?%czlniHWHu*hVx&Q6xwkD3o52Tx8(yCpV!` z3SeE=BsO$^jGD3wLhNB+#*+Vm1CNL|RENL#`tc7ReDcTTy;rmMRR{6&U+*01+gSR^ zx;xm;!zTxjF9xxpXA&D%ohRUT<5>1fI64uBQ7$34B7s08ia+;$Gpv0Ko&TYKG(?T{-P^^^@%5|rfS~B#zWuX{n_oJ7GrH1Q+}J;f znsg7UZQsXmb_>Qe87mT5lnccM@FE8foCEC=ir@94A0DmT;Kny2>kg6 z*A1=cxVTbKkhtfTQE2kLsDyurP;xg8pPIngf`XM@Y2@d0+E;`UijdU_d?087my|~E zqHKc~ec&B0(9HBk4F3~>cVF1t9Z3|P$n?(ai6+&-#o9jT@dpr$-;YAEiZ_SPTi`p> zh)07Es!JEgN%*z#Bf%|5pS|;3)#$H@+v5!eFlY zFc#zopd{}@p-@1jqT;>LBN$f)T<|MGGO7Uu5(gi!Wh2R^-bD_c>s_)e&%tx)n`jy8 z);FxFNm5rzzyzKl;Hx=sad4shW#q)qK}z0*VzCHTtw31(H%^=z!8m&e?H=&4fP@@@ z<(3yD+wziSc_xXr?mggXFo%F`b#t(0>tB|D3;g==J>gVvaIy3l@@x;J*sUm+%RsFP zG4}@4%0ZmXmvM&us0n;b5irLCRaPzVq7B~6G@=!(j%=6(o;hBCB_DVRIi6XLfERc$ z-8Psn?MK1*0>sD`l1T-MphDolYkxvA{USt`!(UH4gE!v%J@WZHf^9JpqN1u$m7a-c-Ta z3n5G`lJ*6LL}xdmiIfdUGl5zjP%X=w)~9uy>IbcJDH(P;U6z1}jeb-v*UTUtefj6O zdDm~qdO1sfj>VnfAt908Ie1aFvQ0eGjZ}A^8I`>~r*P-c$2dH@69qkPW*fr+!hv#Y z^BdCMri{#?TEijWX(haMqLBc#PXrcb&SPTqEh-gdbl+uQeg7ChaUtmfZV6Mn zAwGkP{P(KQ13oX9F`#+yT{Z@|2goWar89$D!}+maLOw6>_KO1-7zHZ%IN7lp>7MIQ z$Y+sRMINY46M+k6hEeGLx5k2aEw~*hIWYh`QuVt2&0sbx;8#SzC!z3)92Ymt%3?Bb zDh#jdo|#f(BwRsCxZh>-JU1llE zO{=!qbo-pgjyYKU9)^<<91x9M&EuPc*k@P7q(dkm*(-bAs3`7)}Y~ z!NiQF^y!|%x7O;qMp#6SlgJW@_sA1}#I~e>7tajgVy>PiMJkRx>o&VZ%zw0u0bTH< z(N@C&#XO%|f%j%C_|6?sb5CeQB6kuBN$#PwLHuK3Hx|m4Rd~;2cht23z?Hf z1*@Gf;N1v~wV=ggpG(HqC$;oUgBsG=DP`s_~NTEDcHXnFg58z4*8B@(zuo%I8 zq%#3}!TSj;<%Q))n1DzVLWG_>+JR6%PECqu|1z z{WglHOx5Z(9m_M4jk1a?zXPYVui@x;kk<1JkQhlw3A8PdikC{Gh84s*2OE&;4>RVb zf|bXZ(0d;6UiR3-EG!qM!gXKu7C|Fuyw?bdK#wCJ_1#A!#wZJ%pjva zPi+bJ0-<4~5v7}Ca~qBqAIFjR720{G_qXy1lGp3|L^L-EBRIuMN^VcXlww^~OK;~s(^Nlm)4zm0HI+`4SN7TQ;kR!PO0~leOr!*|V+X|$#ap}xq`TwV)BSuo3Tm2)Km8A9VROGKZAieIt4jXBS7Dz-<@ zx>*p3fs(*`<6Ch2%ni-&I$K!Y_X^ZCu>WWvaA8*5e|9>xZ}pnOXZrfz?HduIU7m+} z3%K44oF6>ByY~e|VjV$Zup#<`7*MB{5J(7+@KA=fQnjG1%ybw!>9my2 zV?7jWbJ1x_8%FJa1yON!I?sUu7I*Ov796x^i z3k&Nk`e-l_s zgAgJq#3{?B96+1whRzcm)I?2>`d; z@WGnK^!!_`HpMDdCc{dp&Fi-Q;-P~_C*4C6lgRz;-?(nYa?~YUWW5qxJMqrZW&jJq zrF99+^2W{yX;-SSY-(94)e^&Yg$}U1y%`JYmp~DrSSrI037M2#btjk9SYV!UD8DP% z5~i$B%Sx$wOArnZzlp=cZ-M}9y0H^58cAEADO0_G4=->r+i^Wtuq0!Qsbyxauc=Ak zmJMA15nuoVU@V)3B?K&4J%PHUgi>?z&a6Q&D95ITmtObTWk*ir@RxmmKXrfzH?Fx3 zWBCB-l#9_~Ty-aYq!7o|Uws!i8(wcym%A=S3(4 z3cjj-2pv8lu%_LeN7`rLMG8S#haCC-xaSw)<&NX6<0be(h_<#4_(6+|lU^u-GID(2zyS}y!vG#$v0}w` zi}~6X=4;a*`}#MBsJ3bO2T-l+8KXYJaxttU>LD7Uq>S^fR}=;-J`E|)_pb;jIL6k%j!1Vn_9 zk&zQhsmUEXcI=Z`AQ zyQin;*}00C!lREqnquag9LM>FZQES{tf^xYp2qikCjsD|cU)FcO7%bc?6dzF8ykZ$ z2JP+buq+EFPo6{&1W2dTU}mIJDGUt_!Sg(@KD2l!m z1i^RXIR1y$8d_@?5vdg`ft0DdNf_;ewNF#W zTQ9xz(w|;@@x{;Y+`02p_uY5j58im=jgnFdN-2b42*+_CrG)FcSiE>Ko__l2SAF0A z{d@?R!us{=4=AO+V~qKu7wA%D_v{1!Kwn?q*b6Vb@Gqs*?!9~W9!#ZD$mjEj<9J#Y zf*`<(6)Ub%N_})b1yn@5u9UiS!cz|rp#AN@GlQYoki3=lc8mvx!9FoGjGU)uC7{ zV$GU0%au}}o985)hI!^T1ys4XtCV_a_wL<&$z&2*>vO!|c^+C?TAcd&`kQXO_0})l ze*5j#J4dY!RSD?p>njZm3_LM7I2hK|)txsBzVG9%yYAYwapT4vN~tf;H}NS{y}YiJ zdU*Tx?Y&AV2qDhNLa9_j7=~E7bZN6vs%0KIPeauL_UzeH92pt;<*r@31~Qop3WdTs zGm;Pj0|NsErPSVP`XD0e?(UY?Tyu@p-rnxCwzj%UmMoc8o1arkREj79KwVv31OSCX zfr22QFbpXO0e#jo$8k)!dVT>WIHEFGhh%70kLqrw;2qBCR!bv0&-@fObdv0lNZnjdX6rw1?Yp=Z) z-h1!8zZ)AH`*opE$eoY8<2a<05^)?$DW#B7N~M$(LP#QFV~k~tu>e?=|0Jaxl~NAv z+qW-2O+b5lyOT^NFCn7Kj4`&9lC;)R2r(r>2qDf}9uSe^y6zXZZQFKpb8~ZYczC$* z;DZl7md$2+<2Vkr*5_SYkx~j{%$(i>j4=fOL$AE@%9t@mpBB*B*_rTtznO?y=MwO3 zBBX8G%bEEy0K>lTA2P=1YGPdo#+VW_57yMwj6L_M#q#u#E|XstzMXb7z};nZlBGxZ~-3<1Q? zKmWV}&NA`!*I&$q6at zB!F@lhM{fS(=t-=7PQvW{AO8}Fvi$KlmNgLAFxu2jWH8(91kBnc(8bmfSEu<)Ya7` zj~qF|O-)U9p-`}xSvrnWtF^8JkkDE?Gh7}KQAsIva$;iQt&x$D@a*tgwrs)Z=;*W= z&+|O7aN$CVqR94rpP5}FGur?V$FX5%rIZSZ$g?cVzx?vc%SVqMovSZOQ&anvEnBF!x7WPgTeHf* zg+N5Ka^*@MA0L;F<5)rnTL@tQz;#_^+jcZMI;sZ;2h0BpQ@?8g=L94o^B#UdGVcQ3 gYg}~SN}P@V0un@)M%*!L8vp)(3ot+uwdFTVJqxVShmF%iSChYufq_uY59ckk}#=s14-cyMrVSXh`$Cfm4i zzl;K3I!UW|;4golS078X8w^r*G9wY0RfzrX+1ty@7sK~kyo=+UEB zu3Q-%9sTB;Z*Jed?dRur`t<4Z=g)U{cRzjlw5X`4wzhU+Vq$7)N~hB?nM?+QAruN} zG@4i}Zfa_>TCJac`stG=PkMTKT3TB6?%kV{lT%$?U0+`x6B833AFos@<#PG*<;yJ= z%Z(d16bc23qGMxYLqkIe2?-4i4X&=PB9SN{Ai&AV35Ma`-rlsdwB+REuCA^vTehU8 zreCc+qzD881VP;0-MziNuU)$~JUpDApMU1enf2?}`}p`AK782O**PmK zi_7Jfl$31WzWvmxQ=Xol<>lo|mMp2PthBec$F=|K5C0cxLUeLcRHQOGKc(4S-#bEybuI zGO!wCy1IBd2LQq0OGE%F8W)>cZm!;bodA)GvBpKPh3nxe2-Kkxk+fF0(0@?JYcNw_ z9#r+C3AD9m3hNpBx&aG;ND{afw?#s9&s33saD0sbBsu5H$56-9`A&{(g>_)4f`!2B zfk;F@B&Wb#qqlEH+sWaKFz*4vWmADxany$S)tb{}Og1`9Ncd6!j%Q>s!>nJ#!ZKdO z(`6_l8I}`XPz2vPLXf6NP6bT|k%J;eU!Siq3!6Mw`u(F%KHQOryb4kUon@}(c&DzZ zGf^BbmOo@MHNI_ zjymgSwI=3wSdn&z1&MHt@@k}`p6`UF^|mYSovAjeg?`8b0}u@rGf09rYSh?K*S=}B z9=#q5VQr=3#~6lPvVaKXfcgB&2i4pEqaGN>Ao=j5(k>jNxZl0Od! z&hZtA%|iQ}bVmgM^7+`RB$24z%p%?L*U9j7b&3}x-LT)*c9J|Sjv;VrEGKg=*J~;$ zfQw9)A#jQkA8i3B$f%TTU{8}&l~ENSxcR%>JoQ($Jq*73&-sO2U$ zVE>xFdMCT3FV+QtbNl7~DVja*i9ghWSm1w4ScMH1ogQq7aL@-P-5 zUcEqAGz_JGjmHU>x=@A><^Mf)I^ilB?nFvm61&Gl$xSUk2rP!bet zd<(Em5$j@u_E6=YFVMxN%5OHq`~t|H3>$uy6#HOS2>;Zs@k<{^&tg=ITGqLT0|K8*TG?}42ACa6z7@r%v*EYY> z*y&KGD4w}Wp%O&nNUy70-awkm5sHSF5r78+owPkhKQZtW}5bC}VfD%_?9-oGB_J|*Z`sjj-7iYuG zJdvaVu|MxPby!8vu!<%JPR@?q4_;f!Is_C~qaw8=czh~48VwE}ZZ95EfRVyrpZqcC zKop$3#G5fZ?*uB$Xai0y%Z;wPL?jJmt2{f&?98muotnfEV+hX+@l%&0AbaPdK7u^| z0B8q&G7={8i31cWM);a;z|dVtdT?!j+}UrsWv`SV@xnrixoW;+a^M~l;_0};18g?% zw!WQ%V2FgiXJw%Xqm(!*U+pR~QV z2qwgjmHHiT2Zd+u&UMn8_!IC|Mh&vDF;^FQYznA1A@-Yc?Vu(DWk+i!?i3IOn}s6! zq5bJ4ARu)2DvGV9Z1m^Ufw7y?nE-|Dm%lytOeK$hBv1+jc*Hc)yhg*9nz=r<3;6&P zQU`eyZC~ehtQsNutl{dSUt9OOun7`UD@5rptZ1?aL;AvB5UCz0k7f-_e2|q@gKDXWIMRgQ#Ua_VH(Y3r4$3M0je0P?cIW<8}BFK;k>`Am7MdKlzNS1MkBbC&9JWpKyo2oKWGpJ$~*09(H$xmg*kF1UkX4p z_M%t_2`%;Z$~kBPB_iJ>A;8~J;tK@!dZp6LGEpKw1Y=u+Vn;8MkgSYnoT`LEL?Q_c zNS2Z$K-Ah5@vebp*$ojL6HY9Q)t+f)i(W{rspLilhU_u=aA;8)P_mI?K@beuKYtzs1j#q$ z&NB;f8mxdL=K$dRnDn&{$E&!rGO}$>T)_6!+PMB|=?6GWkPu7AU7H+wpc)yG1nD?= z4tRp2Ejr@8VF3$FqZ$+5gH; z2v}2zuJjS^F%k;`d^8YOR)avAkOJEPjJMg{)7OkjLQrh~nj`>P=*f7UW}Y)beQjC5 zM)p9?8ng5=ZbS*fXqm6aC@5xRSaMIh#_f&ZFU^p6M2Gk+c!ncUWwIaiD3RFYHRV^a zoavdP6f*q=(%z2>P3# f!Q+M6P$=gM+!TBx5?Gm+$9DBQ392Hbz-n+d*DVM&9$| zm-vh*-9&jZqW9hLjq+Xj>H$U%x;T zZKAVONU`Sa4zl}*nvisVbvO!zm6U!Y;+;pqoZ-^1x@A3_5sH70;Hn}aR@k+Z$d@S_ zcxgv_%ANyklqo4{iR!R9WTQZ&wcQ_)NdV+9sedNjI97FB;|@oVv(N=;g)}M~c@}v5 zlbKFB0Fz#=lJND7B9no22AN1iZ`9zs4zY!cK{iQ53vY&}OB9K%45ZP5%+eMK59hIg zfyjll=vDaI)`IhZ2Bsg#fd4WEY?{Q@lSBi>8yFTdNz)q4^g&y9U;FZvETsO&{0Z zQk5Z}>}6lO^x&FKU!{=VBY`ZyBjv_~Kk!wgWUVk`^2Ms*@hKVwg3d%I(}e6*A*VQ4sv* zM9;yhNa4?Wq4V2-Z3 zcQD|~k35(k`d}oHno18^GA%0Y@>wHeO8R>U>T)~t!qkLtFw$yEP8Ee)yxOdBjqhX# z49pT6sOA`uUpml{H?UwW2iB{nivN~GU{Yh=nw(wPEU!9bc!EF{6`F;jHfkDX0;GY( zH9R67pH4hJEPU7cjR`*A;w!OGTlVA0IVJMlD6>Gg(SR29O%k=^<#R`e?t9zx4sTLF z3xqC=P6(cN%y2>!Wc0UlV6)xVz@L1$Z+d8-#x7TsxTABwfG-zLo_heWLs2AP`__{m zT1@Q1usbM@v zFIW3RvQlSbcDXuVllEdF(zcF4T9WwFi|13uYQe#Y@}K1Q6?eXKzO! zp|H+~hltvsCpL36JYEfjOGL4@SsBSbGrd`IV0Ns~=3^G>#r*(?oVa+{Ji~Hc+mBy@ zK;khS9MoD#fv=ioQFuuU=PgV$9TnX(_^gUnD3(5b`{Ij=B>SK3gVROK9i5W{A&Npq z_SIt+00Q@(6Rp$7*t<{!Y|>PGR{Oja0%YQAlds3@LuVgxFzLXDQ?Yn{$%^D&#T^XOew8*zRka0-`LX%7?-)!B4GF?v{=BQW`41y=lb0%Q_C*t zBb5qr_B2SO&+`o1a`LMYZZ2Qxym;)O?S4APtzehtG8I^`Val8|-9|q%!nS@t34#UDf*3uLv7#)dH7#A&`|t`ykxc{lEuS zPqUg9muNkgJNhA)&YX}5p2-+wPcQjyua5>X!{S80h^n*)&1$#fe&_OQ1sXD@4VS;E z**k_YHeX4keS+#KgYWOR{wb%=e-Zhf5p+x z;9UJRKYhcdBRI}b^O;BeU+dBSXT~`kDNzbMj$tUsE~hAD6850Ele}!#h*!3#T*EG4 zh8;c?W!Dl45W~;$^L16sd1=oSU;)r0 zs}LmCT1wEp^7buiSns>kUOfOWGS*T)E85u+dF3$=(|%KWOtY6^pl>6c`TxVAhD83G zIQw7X*qkyxp4BnE)FBmj|Mi#~&2GU%w%`q~Tg3UROH=(yqHImbXRf?5k9XoB0LnNG z7Ux{v>*c}QY015EodIO@-Yx}YMlHMWwz~8=kL0*+=e=v1m$A8t-$1ukp872|hj5vD24R25r+S->WdHpJ6z^o; z>=mA8nKQS8r1ztFE^O)PZaR5JOMa4tS8aPj-!X$jS_hJo67e^tx74Pf{5tJ5;$2ysG(SfC~8F zvNSRXIocRi&gWCM-r0RJYp=!Ty^RicX&s103*dK(UpTz_q457v=v)X3@8!OIMl@^r zB4&tD*iSSGy&@tO&zpW$$%*$`G(njWQVc}#(n}w#&&RaRxRBJ2JmNgh`#UyPA-Lng z-?Y1nQDX;$<^XE@KRqN~QHZtyg*D0p>{z(Nwai*8h=T1PnP0y3VR;+*mV0=PB~nwT zhlN2StRx0xtP+h#+Xo))wcsZ>6~pAy>F&oz)R;Oz`Ae|PtWOpNly*hU3H~$p|juX`wfun+&v@ey!hMA zM&SjV$7S{E;=m^tI!sYb`UcH0C4o!C;P9>is8^+PAN2#K7+S5V__QP8bBxctl@-AR z33QhCs;_S{qK56G^Y`IpL{gHt5Ao9BwYQ4yk6)VL%PBTAnQt?^i}Lclnr zxD-=E_p#lk1P)z-7o`(QM2W*DSA98gwu`u=TDPx!VO25DJZ>Q(q7ZT41 zMG2feW`t~r6FRgsrMQ@b8+8~_)%x}8Hoy3xGN)wOR2gqRF6124rMAU|oYEDD6&Esk zj;e;VRk)B^wnbG&X_RIV$CU_4A=zBT_2IMDm%9RqIb9#m@A@k-7WrZ{q4U-pb*MieKQZOwNbBn zt?@tV=fCp=`2PAxpRJ!z#_72T;RPg9X09BaYal7@as@94UnPVnST$l4X1clv+`4C( z&KfedZx0V&NBgqB!w@)0f~TWv7@0?zHEn+(UaPg;_v!u816iv1OvhNhV9=8o8U=TS zrWGRzRYaX4*#{YMVXzm1rN zhwtjm+*Y7q#nQP&3!k!f^VSG2+qrYk`^}<@X6E9E7&-=?W({7dmM&YoZspvIRq4{g z)A-}v3L~3X-nQSXpnH=&)Dzh1M z6@hz7<^%HOdTEj&U07OM#L#XqE2NEE-_i1!6Rt}-l-e6*;bdaj7zv2&F;`7ANY&P> z4uGHCbXsr0pohTD8F_=;wr3RjTWN4&-8=dwB~(=CN@|lWi(%Co?sho{`58n9xYsvt z`|N#&`@bgyqjN&OE4-p-SJBxXa$g;mVmrH7%nI2Tr!8jULclCha`A?_m#MX^`D;e! zh|nOb@hg47*1R}J_x9N!@eIf!mCDt%R4)=ZK4A+8B~7AaX;h6RO9n6VA3u1VbS>QH(Oq1JVqRRQJ5v?|SX%T*5=sV@X*j%0b4>iglnSo-W+m|G5op(k~ zI3U|9>#t}IV;{@8KLn&S7m9oBPS;?p!aPt^oLe_|(#wU63}^oZtku#)#nv(Q+>OuL zKeAu^9-^RMiIgs@ekZb9pRz9CccR$v4Jo0&60!2aw{M$E5i28LjtCad5+&N@WWN#m zV3vqt0NHETI>yC`aUy$t|KePxC$~ePh>W&zZtxo)7z~#~#UtQJ1pvA7;=LX{9kTK% zW9};beeHFdDB-Eb-6c~|`@QY~YAXr2`fjW+<#y<^y!255pI6lPa0GI5DaZix*KHZB zLO|r>$HcaQsud@Q$C}~1zkoGbnAqs&G_#W8n^*K7kfC$Lb>&o6dFF~lVFQq~taLsG zdoNGqwzG>~E0P1SOCG+1&7{bj;8(Og-xf&NG_!_@Mn9;gXZz)cvoY2MfHf+*Q5`bA z#A!~6K92+9jb!--o-loHki>3fFcQ9`wh~F!HlyccZi>wPW2V z;yI;+2;c%vAJ1Ez%h5-JVM=G`q;fN-oLoOf9r9v^6y5}DU`{a{~2TUE%QNnlxy-+>!2Kr7WNTT zu%;~9*^W?rej OhM#~I&wK(i`}3bHw&zm- literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/maps.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/maps.png new file mode 100644 index 0000000000000000000000000000000000000000..076ddf21e0c75a27c333b51079dc7e62336dec20 GIT binary patch literal 15915 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 N002ovPDHLkV1oSAaB~0v literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/media.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/media.png new file mode 100755 index 0000000000000000000000000000000000000000..baa2ceeef678662d1466cfb7ac3a27ee75341d11 GIT binary patch literal 4386 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/megamenu.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/megamenu.png new file mode 100644 index 0000000000000000000000000000000000000000..9996989859707e9cd7c05438430dbe9eb4b9fbe4 GIT binary patch literal 9141 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/message.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/message.png new file mode 100755 index 0000000000000000000000000000000000000000..55008d87c9a1a12d32dedfcd42085c6293242ce9 GIT binary patch literal 3734 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 A&j0`b literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/minus.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..d1bac76a073236bd34ec86ba0ee266c0ef36b05f GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1SIo6Pjm-T>?NMQuIyJhSjDx4R~ETxfaD82 zB8wRqxP?HN@zUM8KR`iqPZ!6Kid)G!85s!&7$X{X?As?7ylCUbiJgq*2h@)^C?lPAMlEpw literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/moment.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/moment.png new file mode 100755 index 0000000000000000000000000000000000000000..94f747138299f6faa15b3478b6bb23a1495c6151 GIT binary patch literal 4535 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/page.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/page.png new file mode 100644 index 0000000000000000000000000000000000000000..09b6d693e13f64ea90c84f24e6bc16833abbbe47 GIT binary patch literal 146 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 RocsU)002ovPDHLkV1l{l${+v$ literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/pen.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/pen.png new file mode 100755 index 0000000000000000000000000000000000000000..bc03fc4de1ff67d3815f199f049c2785891c6aba GIT binary patch literal 2074 zcmV+#2<7*QP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ@ph-kQRCwCl*lSc1XBr3a|0IAQqPcOWF;!5!EQkh_izGqWvTZqdT&s)qR-x7E zdZ}fXwOBwPwKWPQv9`4JC_Sw!#~2AjS&CADfGC%6U6e#+DN?jzF_i#@%O?BKF*ov|31HY=RNPt5EMn>Sw4vW8$iJx8>st=t7 zoNvSPix&O<-L|%WPVVaJ$^xLd-#6_6F9eMX6)xJAce}6OGdK4zOePZmtfDCDE7}8C zEY`A&)PzGUht7$sHhemA-rnB6c3@y2kk$Y%FVF2eb|hrx<>eDGkrccIT)es=AI@&i z!OfLdT~}8ZOk04j?{wLwO9Sr(!ropDeu!v1&UNXoIr%H?68?p#bdQqcPz9T)LLkw|njIy&YhsdNuk zz2XgdW*GMEl;fR)1VoD@XlZIt{Lb^ct!L{23rR14OH@?Uaj_&KJS8O!8`t^a!+oKU z?Udth2P_apM4;oUUU}`>wG|8oNRkBTGz0ESmMkd@44OYL`Q6>vx-k%$vS92>l;bao zL4=DUaHHpX<>kwlUjWd5zlbgXkEKhOssn@O3saJJBYw3XK9Y-ZAXR}avVH{355=(A zq_3~ni2-y!SV#u|KQ=bDaOTX}ekmy_*c2y(B1?<|yXDv-Ga+DJ5bSL5-GvJmBLTEN zoIBQlsjFA7F7o#F@kvQZ!PX7I$lkvY@>B)3?K8p8e=a6C+TX6Ks)_FMd%{$?1mWTD7TR$zOk3A1MVgTr>ZTUl8ZO_JofpUQpe0G1<# zk{Zg#ZgPB)tE<~o+1~fD<&9uu?GMI>NeaA`H2~ikv*F^*F=@5hS4fgP{d2jG08a0< z9-ys*gyT5M+h_h8#X~kOQ|-x+Xsb+KqGD`SU;hmSu= z?jrzuJHl!o9e;=nK9;yOdX9knEK5ivmT>3iPoE=bBunSskE6N+($ZyV-tv8#^xuXevT7Y?c zK3|iVnCO<2lnS3|Uf8mE8N&TK;o;B>ZH+zBGON~~(+wUTZSd0o2>E=zCL<%mwV+1RV5564uqEt8faBBks`Fy@cDwVpZR4SZ2c@k_k8zCVf zICHifkzpQ}qx?G)_?!Vvwu->nI*L|+Ab~)jNl#CARw|WHtJPq$*^o#iXlZFddwYAr z1bZCVyO}ZM#UqfdBxwZ*5C{at4>r%?a3B_o(cIh&yIr(a_L;1)zAafKGs^uCA`7GMS8j;=~E4)oQR< zEG%BU7>$jM(ChV^0DSy#5nTX$9*_4AsZ=_nxVRW9l?sz4O@c%sL2GL(^m_ef00$pe zNC$vBkH`BuJw1JPNl6J*Div5P79oA zweKEQ0mzpVAP9gW0k%5?)8{fjnz`_`7bi?j1@4{22Y=mGwNq{^qbPDWfT7>==4YK5 zSpJ_!hyg_UhuR(Xe|fE^)6`wC7`3>qd+TE1*Eb{M--Gdg@zG!vK8r^ z!Eej&brr!-U5EOrn+sQ>@~07*qoM6N<$ Ef)*;tw*UYD literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/permissions.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/permissions.png new file mode 100755 index 0000000000000000000000000000000000000000..69b8ac09573a1ebf77bd7b3b3bdda80fb43238e5 GIT binary patch literal 4039 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 P00000NkvXXu0mjf%2WkR literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/plus.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..be75acf62e8189fd0faac37ca5b843286c5e130b GIT binary patch literal 162 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 A@Bjb+ literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/press.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/press.png new file mode 100755 index 0000000000000000000000000000000000000000..58c8eda4cb8ea785d1a9b584c7ec894fd44ae597 GIT binary patch literal 3565 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 QziNn{wt?1boNf630YOa1iU0rr literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/product.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/product.png new file mode 100644 index 0000000000000000000000000000000000000000..0d2acbf4b51bd8379627c0825aa5fb9306bbee13 GIT binary patch literal 20141 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 RPa*&S002ovPDHLkV1gBySQY>P literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/product_folder.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/product_folder.png new file mode 100644 index 0000000000000000000000000000000000000000..920cba8df3f61274c98d235fbdb4041777819626 GIT binary patch literal 21315 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

                    ').addClass('alert alert-error').html(trans('cms.js.request.error'))).fadeIn().delay(3000).fadeOut(); + }) + .complete(function() { + $('.modal-footer input[type=submit]').button('reset') + }); + } +); + +$('.accordion-toggle').live( + 'click', + function() { + $('.accordion-toggle').parent().removeClass('opened'); + $(this).parent().addClass('opened'); + + $input = $(this).find('input[type=radio]').attr('checked', 'checked'); + + if ($input.val() == 'url') { + $('.nodeUrl').hide(); + } else { + $('.nodeUrl').show(); + } + } +); + +$('.accordion-toggle input[type=radio]').live( + 'click', + function() { + $(this).attr('checked', 'checked'); + } +); + +$('.batch_th input').live( + 'click', + function() { + $('.batch_td input').each(function() { + if ($(this).attr('checked')) { + $(this).removeAttr('checked'); + } else { + $(this).attr('checked', 'checked'); + } + }); + } +); + +var modale_it = function(data, title, locked) { + var preview = $('

                    _7(5ZLK@0b|R1UD>_^v%@EdNTv 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 QUXBU4I(j+WvkS`jKU5+w-T(jq literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/profession.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/profession.png new file mode 100755 index 0000000000000000000000000000000000000000..16dcf4c21264626a98d1626037cbb7c1853da712 GIT binary patch literal 1827 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/puzzle.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/puzzle.png new file mode 100755 index 0000000000000000000000000000000000000000..60af1c28ada8a34904ae696c4c76494ad1792e68 GIT binary patch literal 1757 zcmV<31|s>1P)@+yZ*M zG+6)}6LACSup1dH|4I@rnSiL0Dtmi$DGBngtEL6y`WLb<{v0AD;S0PO zKji_(^d~a?(bk7+26S-kU=Tgl4c?BzwP0>F1-@_Z!7>&!P|=Mj0jQdOOnZ&a!5rQ? zjzw;Y)yRB^`!%yL&v(o`%u67Yhg=Q@2fOWX^Z|qtPZdt7()ASxFC-vxH=#4DS_IH6 zf*9Gh76D?&y!XTX?I7*%XbPAmymad75;s`&0(`lkxiCj7{$6M%vD33P2C?b$Eke}` zfXpwaT7Yvyi8ToTtz&>%>Hy=}rui1A*@apq1Xzt|w1FNJzPACvcmj)An%4mDP8&!E zI>Fm%FU&uy2~M+ySYY($H3-~FBHu=_N~;jTwoW^ha0F+m|ys^*7%v!r2j1sg*>bz%O}VhUclyb37| z6jjxP^y|B>W!-S$&M;a;M)=^)zzDwQ$C9IP15Q0Gwt*bSGcfRcs2nn^sbQN>nwFLG zm?t{%$RwPb4;z-T_Qx{z38z@r+=j5X&E^AphG~lcn|nKMsXAHU)hnwI{yRmA6_P_e zk+MJdEOr#$*%!&~iS>zD6a{d5Fyd)?Kn=Lr!%`u zlLP2NG&o``=y5qAdVF`up%cfiYiS5#x+{j~tEC9K&&xloP}Wp5O%vdFZ+0A>T#@rmxH)YP}B2FxXhAq5KoF&iR@knwR->qGr*AV1dw-Yy4E zqc2VULDv-$fP3FRqmP!=ej`czaTO+G|7CYw#y;?Z8^nQ*g8hIaYmn3cqC8KjGQO_z z*x!Tj;6%TZx0O~3KHCZ6UMB=m2wt#I5N|ui-oY+}5{~9f=BUD6xSh=O#9X;}M0n@T zJx(}#I9sd2gHFCxLypZsQo62I7@b~&^PG8J?x_HVjRAvz+c^5X8!Io@{8oqrpeiTO z;)3{OeS(-!WgxC&8wPpsAOc@6hES3)`n;RmrdqA%g1MmC>5~=85&0*LK1va}2%$>U zaA9~rsgkk{nuL6QYaN-spcbWN9a*4_+-ghd zr!b&p9p6{CAo$z;EJ0|{DoraOeD@chm__yFpW>vcxdW&o_f&%+N(C`3q)p8DXyS&J z@Qr-G03+ta&6cyLsYIgmOR1BJqOQRWtrDpaapi*z1 zD>XU8Hc%f0VihGkpGyP}j0#J6z7D;85i%DRtn>LZF^#OCje1H4GPZ&vR}^0EffnoD z>W^oD8CMXv126XERoMDY=7{m!#RU^km4gP@!ww;O)j^mhSzJe=bA)YbWqxaOp(?<; ze8go6ELs#G(m4WV^`PpZgsN6N7~&WvH(vO6jibuuOy+2Dfr1YUU)hRG(}P@>Gt%qk zWTASpyt{_+`oxUBz)@h(YOc%_NDVT)H}C;J`uN62sD<$iy4xE0tGB?|;FMAL=JMhq zd*q=vC=|3N^F$}{n9k|hsaBc;{l8hJ{uf{XOW+K<>}ZP500000NkvXXu0mjf$&x!c literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/question.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/question.png new file mode 100755 index 0000000000000000000000000000000000000000..2ba7c6daf63f24b40e2336772bdf1d20c980f344 GIT binary patch literal 1893 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 z z)Qn}3!bNFr`U|ha!~iDrFd0VI-l?jBo0YfV?%k?_>Z*GSHmqEBnhbeu%MOJ(LQ&Wn z8l>7~!1e?0PQvxy=$+9sEi)sXVbrOa=pF^<`O~7gt<&iCgGU{>;0Ha^)29y1 z?gv)01>Ejh6gM&^c~4k*WFVD1C`pY18Xz#t6O)*j=Z#QvzXo!0 zav03wtnrZS?7)5_3vS)H3l%pjA@52a%$Pm{oE@B6b}&dNpymP-p6pmDLBRQ)&O{j0 zKg*1Cy1iSk-oq+Nif>WfYzCptdk;GB{xw}YcLJZ+2VQR@Djx(!8jJ=hF)7?eCd^9) zIvOE>My_4E7CacSL@ZP!4y+9}OnjT&&V1$t4FHCW@CvOM5bX@>fmKWwopaQ0Tuy-&FM2| zpsubC60oS*Y<8IV{CN23$e%Elk&tnA?b!$CKK&FE*#h@#-SFAPi}2WEk2BaPvH@g+ z!V47@I~{wW6#~&M283!)smnDBjHWj+(}_g_hG+w%$z3|RkRs9ZK|iac48mLpIx2Uo zFjCJA3{K_c1xI?C6mUc7!{E+Kj2cg0$2WhH+{WJYFwY>!LGy@?Jx78Hpo zqf%N#A=bla5aR6vs|f}*nTb`jnnL$2Ub+nO3$8*^vXe2=9VUlCvn`y~_mINeTeN^o zLJKR@;|OfWkc+U%FDO7}QYrP>kt1N-&&FV-4KSF=tUpo}*LowZKZ-T(*VIs}QQK@s zR$fw)XEs}cQc$w!lcxCwB7z;&Te?OqoQN``!Xw9ygAEn8CnmszabscBGsD40%Ab==D#k?^koLwk+!0TJ==9TZI_!GG((DX?qDTdX0A!}d9d zq@X3L%)PHC2aSbVgAZ;!p`@sA2UkAOGy-t(U*`gK?%KJZ=jDfpg|wcesZhDsJSTH+ zs=G4vNUZ}kZj*K4`N;ud2q z%BL?2i>m&9_~3G`Jc$%*LnAGpKj)RA;%i6puNJX{Y%L!&QVK_dCo_51ggFq8jh!8H zfHpI7Sb6SsT``QcMj7rY5E1p~&z^bt!Y60Th=@3Zl-BmdWLW%)bsN`aXJyT%?Ok$G zVrwbU%rH7on@z=$l=oq0+u-x-=vRmR7=uuNMeyeP$BxeV_#dYVs0^UguiLpxTsUib zt9xRqB#o;U&Rcxx(xnAw|9xI8E58vt64bD9m&oD7X6*^MJq>UV+h-3dAFk?Q_q9Bq zr@;$XuzFw4%g@W*vwIpUPrP4E&&4$8wDrLj8EBn2edgc+Lx!$N@80cc6xJ5EWe8d* z9^mQlBSlQ|;?hzmEH0_9xL&$_%j>K6bEVycd-Qx*c`X8Mc`hXI-rN4d;#bCYO;2Cq zN_F+_-nBDy!JQlRGvCB0C@dz(1l%<>C*Iw^XG=leDF!g~WY<`Tx z%#z}A*@llAlcmVAfDuZG(xO`;;(dXB(;9Ggg*VKrL%F2iDEoD<91Oq*L1NotP&8j!z ze$~AV`YyArqg^lg{>SgDEu4CT+LPzD5qkJ}&$mAGHKY9zc=TTl9vSe+fQNJZSAYQk XR$`_Ym!n!~00000NkvXXu0mjfa^1_% literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/saga.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/saga.png new file mode 100755 index 0000000000000000000000000000000000000000..a3bfe25e96c06c424177323b7d94b5cd7bd9ca2c GIT binary patch literal 6651 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 FV1hOp+v5NL literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/sign-up.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/sign-up.png new file mode 100644 index 0000000000000000000000000000000000000000..c4f5a9fda7ad8c5d2fc18f1a2be2dc96d240696a GIT binary patch literal 3795 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 JPDHLkV1l&ht(u000#( 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 QJOBUy07*qoM6N<$g4qDcD*ylh literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/stats.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/stats.png new file mode 100755 index 0000000000000000000000000000000000000000..34dec41f3c1e66a98b76c7e4c26b0e9331c75735 GIT binary patch literal 1794 zcmV+d2mSboP)rlLH5BnAA*D^f`6bSL{W^{7YQN} z#3zM3_!4{)5%ft>eDH_JE(!sYEQ;)ACEK$--Lt(r-CcF>{S23yzSUjTQ|*q9+XuSq zE9zGB9nSf_@7~5o&b|*Heg7st_Q4O}(ap2?(3$t*Km?A0g%B2V zg-~4T?h7J>V>3?#;23~#*h~KKDXbh(ICZ9qN{z@tfZ?v-)jtl=YugD0AUl2mx!%JMo@k-t^{_x2H?983HqWwWGMY`BE6Nq-cEBNCAC8*zQl!~d0LpP0chpg z=pID;^-w{;iecY$-Hp$|$9>%a5fIFEA^4T4jSd^)3N-;pxG#^fSVRLNcU~6~uX-jT zbFs@Ur+`nFdkX}IPXJ7_n<_w|y+iR9`mYYLDvA9t%w{5lh+ALI0L1^a3)M(`xzWHQ z^*U4-x(}5~XOe~08a7Gr`<)&9u-nBz1R}m@_qC9JI%N(B4vbGMFXO|v6yT zNg+2fdDtL|{#IFC{n@#N1+%3!UhMVK8X$bKD2xS#H2}znKj|yw_HcS}5dpavDfPSc zlP6E>!GHipy*;Q_rFH4jkE>DinG@A2(CfM6ttH4Y4|6hhN(l?Qkb_VTyc-Pxa5y|u zSzbPU?ZO3+etW_+!=;Ul$8U8yUr|7BPkHwN%ld8JLgN$T;3Z4|w07ZEtK}s37WMIN zs}+D;LP`KaSRp9fw}>TOn?KO_2F8OD5D_GC?1E`lFmVi!V$&rytpUOQ76J%cpm@Q& zxP2IFp{)gHAZo2kXH)~FFBR56USbd)s~h*>?sq-{Qh{XQ5Nf@05#7s|+`Scn5dq14 z`?-kFdTToiv1AUUwKDrw;^?V|@$qM0z|vv_Wp$`v1Ft7x1c`;R+wC@f^S!5V{k6Y3 zi5-D`ER+%-SxAKGr^G^Df$0aDY*%{6xyMmkUP3$^e0sgH`V1fqjNC@V#$IlBdS9%s z9sR?-XU{nTCRM;;`aBwWKWm|K6cP}4_X)C~Qb;WBYc%fq(Hp&f6l*)C?b1TjSiP(M zlN-HT4=$}AkFyp6S-dayG0jK;_&IPp7RqlW99)qNUpu|Gy+LFIj;D?2=2E!y)gBVkBQ)>{Qq%~{20>~(ki$x@7 zA+jucSL|hft9WQ_kR-{ZoGh4KFvg6!kWOt`+J#a=cGO1qA7sud!r8l!wFX)zd;D@1 z^4mul5iqF=WmbTQw~z&lQ-I}rA&Z&2kV`6Y7GcSJkue3#EL+=jomW7CEbl-zuYk9Z zPu>&IT7xAP5?3$U6OfsXR?HOf>|H2d1Je&QCbbY*Vj;;`$k)KkgUkwHgrJmJNMQe? zE@ZS*pj_Ha5&IgLn!Q7=3n>s~teICJn=mO5kqHYWn1O*Kn{A_|$gHy#u%>h~mkzwL zBV|g)cOflgNe$#JRNh7bWNW}!RaOI#qBe@6^MLqCtabbvsYLv9_tdYK>kw(%jD@tw zRpmmk(91wqfOghG#^4GS-8+RY60`wy3$_xT>EyBB40d6SdD)ubw-JP20~jF-v0aFK zK`AvDc3SR1&stce{-S~B6!297(S!?jEbv(c=>FJV2p2`;J1XGQAj9!;k&YPqc`6Q* zfy~~8wqE)bYWKejtSme$@$h+w)G>m9R9heiHr8lg{H=TNQj*|A5FiA;rGe)KSVaa3 z*dj0(0QgfnQE#Cf=c93&b$Fsoz|C9a-?iJ?k_2XE6lSJN@GP>UU`^y+^UBw>O74e`7ieE|biZN(s)NbCph_^gc2Uz@ySi$QT zcF=u&P)NWbPzoTP41@6diP12|;!cFO`^2Fh*7EKn&GXwkH<}Q19iclIQ4svuAL>(9 z?QXZ;tk<7mu6s@H1pz1kLrDPu(_??lt~p42(BH5kIt1_p kfRmU{{Da4jG%(NjH-WxeWOrgk#{d8T07*qoM6N<$f<)s=3;+NC literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/testimoli.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/testimoli.png new file mode 100755 index 0000000000000000000000000000000000000000..2cd1acbc331ecfb66647ea3399b9b6eeba230974 GIT binary patch literal 1531 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 AegFUf literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/urlpicker.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/urlpicker.png new file mode 100644 index 0000000000000000000000000000000000000000..392b695e5129c3b0ffedfb1e57abcd7a0a974cb4 GIT binary patch literal 1367 zcmV-d1*rOoP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00h5DL_t(Y$EB7_YZT2I$A5L{ z?ny%;q63biK|yd-kgN>qN(`<<&}H;{$S^pWNn#K`hAzZ~3lSC3ptutRH@b1@LJ*WB zrhEEQm$UFxy?M{}Gz?VLR9Dsi_Ed}Q?QJiF;NioEeEj&4FJHc3t)G~2mqXO zv8}bHuItzrLXf5@RaK$2rfplYEW;SXnKNg&c=003%gY#J5IZ|NetCJBxw$#=JO^NA zW`?3D&|0Il#yN+S65#JkLLjA#8+z~Y-Xo=qbDeXfX-ZKP{QC8awrzRz=n-N#9Qv4OLZz@bl+Sq%kHA1Zv8%#Csq0dHM1sLI|95T)ldgJ9qA|y1Gi+whRUX znx=`HIp-oXbzR5)bUOX3eW1fRhjT8rg9|@>`ozY@2A@BFMkxir($W%x!GQ62j1Ypm zckj|PO*|w(+qO}TU?^)X>hR&iD@v)TL)*3_NrKjz+qZ9Xn?i}9xsN2bt zCpmWP7{lR^3l}bM`SNAnym^Dx8fz`qT9PD*?SNkXFS4N7bUH;Tg%E;;g@tJMBuS!! zuUxsp+S(cq9z4Jp!+1Q7@^m^K%CZDNN*Tvhuh)wR_x`E1rq}Cn;=~E0lt?L~vAp*& z7W4D-bh};d-Mh!);v!2+OKfg#Qr9(Emc`g)Sw>lws6&SitpsfVthMBMPF>f$di9F= z`FV~XKaTf4q6_+j?43Gwilax5G9Hh)bmc9%jV`LyUO&;d(i}{LST(C%*@OH@b29^4jeeZ*|TS{*7Ee} zQ-;GK>+9=CDH)AM|0*Ei7jiA7M2C)23Z+!sC?J(mvbD9v+}s>RQLw(g9&Nw2w#Lny zHvt$72GLjnO+Xi@cg`XD{k{)Wh5{|6L@7m8RpfadGui2M;H@_fuVKxQ zaUle|ySsmDX_}^y?;viNv^P(`fB%k}&d$!#>2x9^Auhq~dovr_d7h&Kg1~hMf0z^s zbDE~?ErDS?Ns{thMZ|Ud9-TqF`}x5%K-|cYpo*b+)#)qQK$S52xLWKq*C06!8uXWh=-L zs7=!}ny;>F_V3@%ix)2t+uPf|EK43ge$4y#@A>xa8~@J}OcXrO@Ao->{yevC-6GF( Z{sRW%a-NA1r{e$s002ovPDHLkV1l>FmV*EQ literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/user.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/user.png new file mode 100755 index 0000000000000000000000000000000000000000..2a5354bd7d21b7a3933e37ab7f6d01a7f10f57dc GIT binary patch literal 4245 zcmV;G5Nhv(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRa18%ab#RCwCVntPC6WqHRx?|aVqUH6iNWOF0QatQY8j{AMgdz17paadAgvJ){roOAP&Bssm= zY@Xtr>sCtTjWHuhlDt^2*B>hs3YA&2W|7O~=_hIMU za%*j;F$S$QN-2^gAxRSI_4>Y2sdRt2Tz)v8&p-eF0pKJl-t;|79!kUz#&}7VYircm#2(D21?OPMPBt&toXbv*D%JDdZ#C$|b6m z45nJGVvIp4#n8~uKRV}bnKHnRM{hsk;H3~~>#n{3@y+*c+%ZTPge;uh&KXO)IA_^B zI*Jj_YQ~z57xvT{sx;~9KAGO0-E7^um1eVvF@`V<85$b;4e+5Umr(z@JExU_K*~p) zcb9D4Hx3AnU(iWMDNkxW#tMvcIHOR_I`!%}PwYwd2$_eqK;0y&grmnYq9t1!yO+Uf=-dJl1-QH8iUu=(x^MHR1jZ!|d6! zhbW3j)0ASdNTpI4Z8n=rg%IOY0vLS!u4&xAzbGtr{36O1kRr2H4hHTV)>*7^q|G{M zGJ#5B>Wv9jt=-LNEyfy6nx>RWC92ixc%#u+DufuF62Qv|Zh##pUTN>L~jsMTuy6B855gb?-rGXNpPjk$8? z*TXO(2o5zN4;ZDIo z&E^VgUmt%glK$c&ieS$#zcU>d`m~ht9w{YKh)DqFVR9mM9<3BTXesTMB04|kM{9Fo&l;W`dmX(on4x=?nC8#tejbj`Fl_sd# zFza`Yv--ucKMy276h~SETYvJk=>T*K8Eg*1pd>|BLcTSrI_I!Pqg9I5DJo6TX^anY zq>TzAqa%$UJTvt9u?h2o;7!&5;T?fDWIyq30A7CZOHAts@l+6m@0T(-tP?w&GgxCV zT4QvIN)xQ}coEPTKfu2J;q^n6_Wx(OA#afFs3au4JX+%^YZPpm*?`O0!(I-Gy z47`3ZaE6_wGuhR3F{2AEph*#@6O7Sl<4NBRVBKw>VwxxL@QM`jWLhQUy~DS5Vrvv$ z1jsOAd}N4`@kaK#HF%R=St%@f=;h*v*b^L!n7fR8M;FFgwDl_4Ge-^}Bo1+x_k0!s4vBXjA+z}?i4$tE#=6X7tu>gq0mr_d=a0Ig zcgyaP+k|(kqIoCiDFfX5o%_gBMHNa%7`z~gM~G@YIMuw?!&kzzGFM;$i87WrwXMF8 z>BAbGjneP^ENh1rvG->W5q2-#R6O&N8>1OVuT^FW0ITj?jhnfI;l-yj^@keS=!^rQ zQ|Y|EJgQE7r)&G_d7bH#B&jA%60BCOvdREV(m>8Ti9O3d$GX+OA?e-5;;a7}*RhCN zD*j13cayP9yd!|SzWeXE84DRb`h5s*j|jkf&UG^QM$Y^9mUnKa((^M;&c8x4PEbjV zISjyAjkS*GgE#P0e-}Lu|D5)Vt|E8*X%t;TY8(gZ_N7?+zckK2_rDGRTrY&U%}Wt3 zny9nm<@L08DURLq0L@gr0l;d7HHM=u{51WGFK7LIKP4@f$esHUk~l#bPkTPI;=Zbl zD~bDpvHtGg3*bBFGqUI$#M^Ydw>W zc^6?Gf*fMis-KXL0xAp7pwYGf`Oe+w)If-rLMa3ij>}8>Ha@}7f~722vXGO^MrzMJ z$asG*L7|O~q! z$WyxMm^mA5JjQ`>9%DV)LE@lODcXBpV^h8p*>x;ws?gpONRRcNTI#7aJ&AH8#-pug zc3EJZXZsk#&5^!Sn?L%*0o%9fus(1YKt7+NkPC59iQdxjjLS|U-n5)<45j#b6bd3K zNS@tIG9zaGdzNE0Snsii0i-q?m`@mzl&@!}O&ZL=Xwdh!7n@2RDZ(FsR0&UDZ; zj+uEuA%fm!nSBr3@Nu)@-uvI!$bJVPm&=h0Br+1nhw5Nk(1fSEIH!DB_sJ8?N!-!liq!dYpeFra^d8C8{ z-Xf$}69w|agO9#IUH7y6ii-&dGj(Kd*)k856m;$1&xYm@h2u}p{@m1Z8D%|AIC4Su z{WawnoAAV`CpC^(d!+EpDGSCD$)XtIkRIzi z4VB$~q7T`rbDpj?!GsoUA67oOcjZ+ac=c(Z2{hgjKoA7zBxU2K{qz=>5cz1!o?kz@ ztZ>G0EWh9~Y-%{Pk7X08^I-pLfd1a+DV%>crOx@JN~5ix1kg6~f9*WVXYQl)p=Oq} zrqa1(iFUAUToB)P>1Wvc+<&$J>Td}U1QAgriNc6n6t?B_(J9+^47~rbM_*Yv5mzr5 zDJ7iqiN7O~5#TuVR7F52X>1&z_t|x{edt8yopd&7oT4XfwFS^BrF3%Y^pj03HI77Q zugz_fI1k&#CGqzzxsH9${j60&Z_Ge07flMdR4R4Pp51<7p{;yo66RKlC|WYNy~LWI zK4$O!-nYMf^0lkZoxOP3d%ac&K?^`2qL5_E0KLEZ73#zs%U1p=Do!&?bsl3uJJ)J- ztt?DxA}gKLWI#!)Gk3K~1hBK7W8%S2UC-v#4*&{iiaYOIO&}%3Vj<}0Y&&b-{5c<; zIcL^c6HW8(15MwyU*zc>Q>eB)E4u<#%q_cnZu`a$o*piK{^URU!uPQDD&ZVLfQUlO z&OZ9rtfepN9XVggfLoeMewd>t;VdyOK4OQzQ1}iE{It4uKBdTYXK|Dj#D~|v==4c{D)f} z*jjJ@+@f=@xk|Rr_u+9kErGmw^W|MCZyv3LC=lLdRn9S>ajftBYyDBEZ8;#2D>ceFE6t#Q(s zr_r-(l>NgoXP$iwT{GJVtzm3@jKDV8vS~}>$3OZ_wPR-Yuq?GN!`ni2q@UONUf_gF zKTY=;e~5}>tj`*oafiC|!N85nW~NNg?o9x)k5LpbX3O~Pzj~C_pZYlQcy$us)?4oZ zZ?F2u6_@;5u49HA9vC8*&(o;ZS$@VcY--rGZ5O+DY%z_>$VQdKYnLpUyJ6pcv0?rC zffH4_`E+Zlv%ODqaZ=Igyt5~kUir0iZ5m(bywADTSaEQ?uq^?bRw+$7(PS1J$_FSb zNPR%!0+Q1@2e&y(+kKVd?$zqN_{up|C3{O7UL$mn|);5qb0G;BxKS0+-H)B-`nhae{Mxrt!2H>!ZWPtS2+zQPyi^iIe(RJ#E&j>FD0g>6TwUYPYXh!+7t3 zH{HmtxhDH(52ZAvQvN!vM=svAbIZ$>YUL+JtF6USabm%Oh0L8hm$`H2GJpPjjyrA% zy}gzvpX?!y*JEu1AtYYM*v02D?~+@v>M-YVK5rcz#`+HJe3!{SFSWE_we=I)`ns}= rny}CqdGPw?#HNQP(8=#z5&wGtX8}NA?v$Od00000NkvXXu0mjf_46T0 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/users.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/users.png new file mode 100755 index 0000000000000000000000000000000000000000..03f9a877e743ac2eb290eba324354a1f69ea8c95 GIT binary patch literal 4920 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 n-q8f-ZewfZSVM00000NkvXXu0mjfS?wI; literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/webtv_category.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/webtv_category.png new file mode 100755 index 0000000000000000000000000000000000000000..108b479003399542bdb501a57b2571d495f8dcf6 GIT binary patch literal 11085 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 literal 0 HcmV?d00001 diff --git a/src/Trinity/Bundle/AdminBundle/Resources/public/img/webtv_video.png b/src/Trinity/Bundle/AdminBundle/Resources/public/img/webtv_video.png new file mode 100755 index 0000000000000000000000000000000000000000..1424ce0850ad10b25f2bf7b334e3281bbf7b5025 GIT binary patch literal 1408 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 div:first-child', function(data) { + $('#' + nodeId).slideDown() + }); + }) + .error(function() { + $(window).trigger('end_loading'); + $message.append($('

                  • '; + var $tp = $(html); + + // if we only want time picker... + if (o.timeOnly === true) { + $tp.prepend('
                    ' + '
                    ' + o.timeOnlyTitle + '
                    ' + '
                    '); + $dp.find('.ui-datepicker-header, .ui-datepicker-calendar').hide(); + } + + // add sliders, adjust grids, add events + for(var i=0,l=tp_inst.units.length; i 0) { + size = 100 * gridSize[litem] * o[litem+'Grid'] / (max[litem] - o[litem+'Min']); + $tp.find('.ui_tpicker_'+litem+' table').css({ + width: size + "%", + marginLeft: o.isRTL? '0' : ((size / (-2 * gridSize[litem])) + "%"), + marginRight: o.isRTL? ((size / (-2 * gridSize[litem])) + "%") : '0', + borderCollapse: 'collapse' + }).find("td").click(function(e){ + var $t = $(this), + h = $t.html(), + n = parseInt(h.replace(/[^0-9]/g),10), + ap = h.replace(/[^apm]/ig), + f = $t.data('for'); // loses scope, so we use data-for + + if(f == 'hour'){ + if(ap.indexOf('p') !== -1 && n < 12){ + n += 12; + } + else{ + if(ap.indexOf('a') !== -1 && n === 12){ + n = 0; + } + } + } + + tp_inst.control.value(tp_inst, tp_inst[f+'_slider'], litem, n); + + tp_inst._onTimeChange(); + tp_inst._onSelectHandler(); + }) + .css({ + cursor: 'pointer', + width: (100 / gridSize[litem]) + '%', + textAlign: 'center', + overflow: 'hidden' + }); + } // end if grid > 0 + } // end for loop + + // Add timezone options + this.timezone_select = $tp.find('.ui_tpicker_timezone').append('').find("select"); + $.fn.append.apply(this.timezone_select, + $.map(o.timezoneList, function(val, idx) { + return $("