From fa990c854b89021f359ac27b58be603cd135ea95 Mon Sep 17 00:00:00 2001 From: coddec Date: Thu, 7 Dec 2017 22:47:32 +1100 Subject: [PATCH] Delete style.css --- .../www.youtube.com/v/9Mm-OQ9Ibyg/_.html | 59 + .../www.youtube.com/v/BcwoWR4aydk/_.html | 59 + .../www.youtube.com/v/DLvLQhQmeyI/_.html | 59 + .../www.youtube.com/v/NtMamHjzx_E/_.html | 59 + .../www.youtube.com/v/begxhqq_dKg/_.html | 59 + .../www.youtube.com/v/tJYL2Nxbh4U/_.html | 59 + .../www.youtube.com/v/zVDIO6c4cGs/_.html | 59 + docs/contacts/index.html | 149 ++ {doc/faq/faq_files => docs/css}/style.css | 0 docs/downloads/index.html | 180 ++ docs/downloads/latestbeta.html | 59 + docs/eula/index.html | 132 + docs/faq/index.html | 889 +++++++ docs/features/index.html | 337 +++ docs/features/skintutorial.html | 59 + docs/files/beta/ClassicShellSetup_3_9_0.html | 59 + docs/gallery/Classic-Explorer.html | 384 +++ .../AnotherCustomToolbar.html | 342 +++ .../Classic-Explorer/CustomToolbar.html | 342 +++ docs/gallery/Classic-Explorer/DrivesMenu.html | 340 +++ docs/gallery/Classic-Explorer/FolderView.html | 342 +++ docs/gallery/Classic-Explorer/SharedIcon.html | 342 +++ docs/gallery/Classic-Explorer/Titlebar1.html | 340 +++ docs/gallery/Classic-Explorer/Titlebar2.html | 340 +++ docs/gallery/Classic-Explorer/Titlebar3.html | 340 +++ docs/gallery/Classic-Explorer/copy.html | 342 +++ docs/gallery/Classic-Explorer/dropdown.html | 342 +++ docs/gallery/Classic-IE9.html | 312 +++ docs/gallery/Classic-IE9/custom_ie.html | 342 +++ docs/gallery/Classic-Shell-4.html | 354 +++ docs/gallery/Classic-Shell-4/apps.html | 340 +++ docs/gallery/Classic-Shell-4/jumplist.html | 340 +++ docs/gallery/Classic-Shell-4/programs.html | 340 +++ docs/gallery/Classic-Shell-4/search.html | 340 +++ docs/gallery/Classic-Shell-4/settings.html | 340 +++ docs/gallery/Classic-Shell-4/win7.html | 340 +++ docs/gallery/Start-Menu.html | 402 +++ .../gallery/Start-Menu/Claude-Glass-Skin.html | 340 +++ docs/gallery/Start-Menu/SevenVG.html | 344 +++ docs/gallery/Start-Menu/ShutdownMenu.html | 342 +++ .../gallery/Start-Menu/StartMenuSettings.html | 342 +++ docs/gallery/Start-Menu/cascading_menu.html | 342 +++ docs/gallery/Start-Menu/clrSharp2_Glass.html | 342 +++ docs/gallery/Start-Menu/metro_skin.html | 340 +++ docs/gallery/Start-Menu/midnight_skin.html | 340 +++ docs/gallery/Start-Menu/screenshot.html | 342 +++ docs/gallery/Start-Menu/search.html | 342 +++ docs/gallery/Start-Menu/skins.html | 342 +++ docs/gallery/Start-Menu/xpskin.html | 342 +++ .../css/5d31d2ed4f958da41618b3790940f80d.css | 1985 ++++++++++++++ .../8f775324b5a6bc3d51e9d542f7ae8420 | 2128 +++++++++++++++ .../b4410a10842c07ac432631a8d23855bf | 2056 +++++++++++++++ docs/gallery/index.html | 330 +++ docs/gallery/index0316.html | 15 + docs/gallery/index4c93.html | 15 + docs/gallery/index7ea7.html | 15 + docs/gallery/indexe8d2.html | 15 + docs/gallery/lib/images/apple-touch-icon.png | Bin 0 -> 4441 bytes docs/gallery/lib/images/favicon.ico | Bin 0 -> 1150 bytes .../lib/superfish/images/arrows-ffffff.png | Bin 0 -> 244 bytes docs/gallery/lib/superfish/images/shadow.png | Bin 0 -> 1698 bytes docs/gallery/login/ajax.html | 65 + .../modules/user/images/progressImg1.png | Bin 0 -> 390 bytes docs/gallery/rss/feed/gallery/album/1 | 740 ++++++ docs/gallery/rss/feed/gallery/album/22 | 376 +++ docs/gallery/rss/feed/gallery/album/34 | 52 + docs/gallery/rss/feed/gallery/album/37 | 232 ++ docs/gallery/rss/feed/gallery/album/4 | 451 ++++ .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_55_fbec88_40x100.png | Bin 0 -> 182 bytes .../images/ui-bg_glass_75_d0e5f5_1x400.png | Bin 0 -> 124 bytes .../images/ui-bg_glass_85_dfeffc_1x400.png | Bin 0 -> 123 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_gloss-wave_55_5c9ccc_500x100.png | Bin 0 -> 4033 bytes .../ui-bg_inset-hard_100_f5f8f9_1x100.png | Bin 0 -> 104 bytes .../ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin 0 -> 88 bytes .../images/ui-icons_217bc0_256x240.png | Bin 0 -> 7638 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 7626 bytes .../images/ui-icons_469bdd_256x240.png | Bin 0 -> 5399 bytes .../images/ui-icons_6da8d5_256x240.png | Bin 0 -> 8447 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4379 bytes .../images/ui-icons_d8e7f3_256x240.png | Bin 0 -> 4379 bytes .../images/ui-icons_f9bd01_256x240.png | Bin 0 -> 4379 bytes docs/gallery/themes/wind/images/ico-album.png | Bin 0 -> 397 bytes docs/gallery/themes/wind/images/ico-error.png | Bin 0 -> 701 bytes docs/gallery/themes/wind/images/ico-info.png | Bin 0 -> 778 bytes docs/gallery/themes/wind/images/ico-print.png | Bin 0 -> 989 bytes .../themes/wind/images/ico-separator.gif | Bin 0 -> 106 bytes .../themes/wind/images/ico-success.png | Bin 0 -> 537 bytes .../themes/wind/images/ico-view-comments.png | Bin 0 -> 768 bytes .../themes/wind/images/ico-view-fullsize.png | Bin 0 -> 1046 bytes .../themes/wind/images/ico-view-slideshow.png | Bin 0 -> 960 bytes .../themes/wind/images/ico-warning.png | Bin 0 -> 666 bytes .../themes/wind/images/loading-large.gif | Bin 0 -> 8238 bytes .../themes/wind/images/loading-small.gif | Bin 0 -> 673 bytes .../AnotherCustomToolbara47c.png | Bin 0 -> 59332 bytes .../Classic-Explorer/CustomToolbara47c.png | Bin 0 -> 46821 bytes .../Classic-Explorer/DrivesMenua47c.png | Bin 0 -> 22421 bytes .../Classic-Explorer/FolderViewa47c.gif | Bin 0 -> 12625 bytes .../Classic-Explorer/SharedIconc6b2.png | Bin 0 -> 5763 bytes .../albums/Classic-Explorer/Titlebar1c6b2.png | Bin 0 -> 16767 bytes .../albums/Classic-Explorer/Titlebar2b7f4.png | Bin 0 -> 16557 bytes .../albums/Classic-Explorer/Titlebar3b7f4.png | Bin 0 -> 16776 bytes .../var/albums/Classic-Explorer/copy50ef.png | Bin 0 -> 25729 bytes .../albums/Classic-Explorer/dropdowna47c.png | Bin 0 -> 38335 bytes .../var/albums/Classic-IE9/custom_iee4fc.png | Bin 0 -> 72027 bytes .../var/albums/Classic-Shell-4/appsb5d0.jpg | Bin 0 -> 143188 bytes .../albums/Classic-Shell-4/jumplist029d.jpg | Bin 0 -> 98702 bytes .../albums/Classic-Shell-4/programs029d.jpg | Bin 0 -> 125182 bytes .../var/albums/Classic-Shell-4/searcha10e.jpg | Bin 0 -> 122640 bytes .../albums/Classic-Shell-4/settings5fa2.jpg | Bin 0 -> 122867 bytes .../var/albums/Classic-Shell-4/win71c23.jpg | Bin 0 -> 105124 bytes .../Start-Menu/Claude Glass Skinc2ff.png | Bin 0 -> 389874 bytes .../var/albums/Start-Menu/SevenVGd238.png | Bin 0 -> 211077 bytes .../albums/Start-Menu/ShutdownMenuc2ff.png | Bin 0 -> 31049 bytes .../Start-Menu/StartMenuSettings822e.png | Bin 0 -> 49677 bytes .../albums/Start-Menu/cascading_menuc2ff.png | Bin 0 -> 140281 bytes .../albums/Start-Menu/clrSharp2_Glassd238.png | Bin 0 -> 320834 bytes .../var/albums/Start-Menu/metro_skine9c1.png | Bin 0 -> 79540 bytes .../albums/Start-Menu/midnight_skine9c1.png | Bin 0 -> 130225 bytes .../var/albums/Start-Menu/screenshotf7cf.png | Bin 0 -> 156275 bytes .../var/albums/Start-Menu/search4f67.png | Bin 0 -> 100806 bytes .../var/albums/Start-Menu/skinsac51.gif | Bin 0 -> 273660 bytes .../var/albums/Start-Menu/xpskindc54.gif | Bin 0 -> 56646 bytes .../AnotherCustomToolbarc6b2.png | Bin 0 -> 59332 bytes .../Classic-Explorer/CustomToolbarc6b2.png | Bin 0 -> 46821 bytes .../Classic-Explorer/DrivesMenua47c.png | Bin 0 -> 22421 bytes .../Classic-Explorer/FolderViewa47c.gif | Bin 0 -> 12625 bytes .../Classic-Explorer/SharedIconc6b2.png | Bin 0 -> 5763 bytes .../Classic-Explorer/Titlebar1b7f4.png | Bin 0 -> 16767 bytes .../Classic-Explorer/Titlebar2a629.png | Bin 0 -> 16557 bytes .../Classic-Explorer/Titlebar3a629.png | Bin 0 -> 16776 bytes .../var/resizes/Classic-Explorer/copy0f27.png | Bin 0 -> 25729 bytes .../resizes/Classic-Explorer/dropdownc6b2.png | Bin 0 -> 38335 bytes .../var/resizes/Classic-IE9/custom_ie5356.png | Bin 0 -> 111994 bytes .../var/resizes/Classic-Shell-4/appsa10e.jpg | Bin 0 -> 143188 bytes .../resizes/Classic-Shell-4/jumplistf7f9.jpg | Bin 0 -> 98702 bytes .../resizes/Classic-Shell-4/programsf7f9.jpg | Bin 0 -> 125182 bytes .../resizes/Classic-Shell-4/searcha10e.jpg | Bin 0 -> 122640 bytes .../resizes/Classic-Shell-4/settings4e92.jpg | Bin 0 -> 53983 bytes .../var/resizes/Classic-Shell-4/win7ebe9.jpg | Bin 0 -> 105124 bytes .../Start-Menu/Claude Glass Skin46f3.png | Bin 0 -> 344816 bytes .../var/resizes/Start-Menu/SevenVG3b28.png | Bin 0 -> 137648 bytes .../resizes/Start-Menu/ShutdownMenu0945.png | Bin 0 -> 31049 bytes .../Start-Menu/StartMenuSettings46f3.png | Bin 0 -> 138526 bytes .../resizes/Start-Menu/cascading_menu822e.png | Bin 0 -> 140281 bytes .../Start-Menu/clrSharp2_Glassc2ff.png | Bin 0 -> 320834 bytes .../var/resizes/Start-Menu/metro_skinb6da.png | Bin 0 -> 151134 bytes .../resizes/Start-Menu/midnight_skinb6da.png | Bin 0 -> 206321 bytes .../var/resizes/Start-Menu/screenshot8e37.png | Bin 0 -> 277592 bytes .../var/resizes/Start-Menu/search4f67.png | Bin 0 -> 100806 bytes .../var/resizes/Start-Menu/skins9005.gif | Bin 0 -> 273660 bytes .../var/resizes/Start-Menu/xpskin9b75.gif | Bin 0 -> 56646 bytes .../thumbs/Classic-Explorer/.albumc28c.jpg | Bin 0 -> 19889 bytes .../AnotherCustomToolbarc6b2.png | Bin 0 -> 12051 bytes .../Classic-Explorer/CustomToolbarc6b2.png | Bin 0 -> 19889 bytes .../Classic-Explorer/DrivesMenua47c.png | Bin 0 -> 14388 bytes .../Classic-Explorer/FolderViewa47c.gif | Bin 0 -> 12625 bytes .../Classic-Explorer/SharedIconc6b2.png | Bin 0 -> 25803 bytes .../thumbs/Classic-Explorer/Titlebar1b7f4.png | Bin 0 -> 12332 bytes .../thumbs/Classic-Explorer/Titlebar2b7f4.png | Bin 0 -> 12152 bytes .../thumbs/Classic-Explorer/Titlebar3a629.png | Bin 0 -> 12176 bytes .../var/thumbs/Classic-Explorer/copy0f27.png | Bin 0 -> 24126 bytes .../thumbs/Classic-Explorer/dropdownc6b2.png | Bin 0 -> 18959 bytes .../var/thumbs/Classic-IE9/.album5356.jpg | Bin 0 -> 22318 bytes .../var/thumbs/Classic-IE9/custom_ieb24e.png | Bin 0 -> 22318 bytes .../var/thumbs/Classic-Shell-4/.album00f6.jpg | Bin 0 -> 36590 bytes .../var/thumbs/Classic-Shell-4/appsa10e.jpg | Bin 0 -> 43638 bytes .../thumbs/Classic-Shell-4/jumplistf7f9.jpg | Bin 0 -> 36685 bytes .../thumbs/Classic-Shell-4/programsf7f9.jpg | Bin 0 -> 38568 bytes .../var/thumbs/Classic-Shell-4/searcha10e.jpg | Bin 0 -> 38801 bytes .../thumbs/Classic-Shell-4/settings4e92.jpg | Bin 0 -> 7068 bytes .../var/thumbs/Classic-Shell-4/win7ebe9.jpg | Bin 0 -> 36590 bytes .../var/thumbs/Start-Menu/.album1d7e.jpg | Bin 0 -> 46887 bytes .../Start-Menu/Claude Glass Skin822e.png | Bin 0 -> 52597 bytes .../var/thumbs/Start-Menu/SevenVGc2ff.png | Bin 0 -> 23138 bytes .../thumbs/Start-Menu/ShutdownMenu0945.png | Bin 0 -> 19693 bytes .../Start-Menu/StartMenuSettings0945.png | Bin 0 -> 27293 bytes .../thumbs/Start-Menu/cascading_menu822e.png | Bin 0 -> 44615 bytes .../thumbs/Start-Menu/clrSharp2_Glassc2ff.png | Bin 0 -> 63856 bytes .../var/thumbs/Start-Menu/metro_skin00a3.png | Bin 0 -> 30323 bytes .../thumbs/Start-Menu/midnight_skin00a3.png | Bin 0 -> 37479 bytes .../var/thumbs/Start-Menu/screenshot1ecf.png | Bin 0 -> 46887 bytes .../var/thumbs/Start-Menu/search4f67.png | Bin 0 -> 44075 bytes .../var/thumbs/Start-Menu/skins9005.gif | Bin 0 -> 19691 bytes .../var/thumbs/Start-Menu/xpskin9b75.gif | Bin 0 -> 18540 bytes docs/history/index.html | 723 ++++++ docs/images/Download.png | Bin 0 -> 12274 bytes docs/images/after.png | Bin 0 -> 25729 bytes docs/images/before.png | Bin 0 -> 42477 bytes docs/images/bg.gif | Bin 0 -> 1808 bytes docs/images/bg_bottom.gif | Bin 0 -> 264 bytes docs/images/bg_btn.gif | Bin 0 -> 1540 bytes docs/images/bg_head.png | Bin 0 -> 1659 bytes docs/images/bg_head2.png | Bin 0 -> 2914 bytes docs/images/bg_left.gif | Bin 0 -> 64 bytes docs/images/bg_menu.png | Bin 0 -> 1039 bytes docs/images/corner.png | Bin 0 -> 22496 bytes docs/images/displayfusion.png | Bin 0 -> 23472 bytes docs/images/explorer1.png | Bin 0 -> 192142 bytes docs/images/facebook.png | Bin 0 -> 888 bytes docs/images/flags/bg-BG.png | Bin 0 -> 3045 bytes docs/images/flags/cs-CZ.png | Bin 0 -> 3289 bytes docs/images/flags/de-DE.png | Bin 0 -> 3100 bytes docs/images/flags/es-ES.png | Bin 0 -> 3284 bytes docs/images/flags/fa-IR.png | Bin 0 -> 3207 bytes docs/images/flags/fr-FR.png | Bin 0 -> 3150 bytes docs/images/flags/hu-HU.png | Bin 0 -> 3025 bytes docs/images/flags/it-IT.png | Bin 0 -> 3152 bytes docs/images/flags/ja-JP.png | Bin 0 -> 3219 bytes docs/images/flags/ko-KR.png | Bin 0 -> 3601 bytes docs/images/flags/nl-NL.png | Bin 0 -> 3043 bytes docs/images/flags/pl-PL.png | Bin 0 -> 2964 bytes docs/images/flags/pt-BR.png | Bin 0 -> 3734 bytes docs/images/flags/ro-RO.png | Bin 0 -> 3170 bytes docs/images/flags/ru-RU.png | Bin 0 -> 3023 bytes docs/images/flags/sv-SE.png | Bin 0 -> 3197 bytes docs/images/flags/tr-TR.png | Bin 0 -> 3424 bytes docs/images/flags/zh-CN.png | Bin 0 -> 3222 bytes docs/images/flags/zh-TW.png | Bin 0 -> 3236 bytes docs/images/gallery/custom_ie9.png | Bin 0 -> 72027 bytes docs/images/internet_options.png | Bin 0 -> 38352 bytes docs/images/languages.png | Bin 0 -> 47751 bytes docs/images/manage_addons.png | Bin 0 -> 55981 bytes docs/images/manage_addons2.png | Bin 0 -> 58213 bytes docs/images/sf.png | Bin 0 -> 3964 bytes docs/images/skins.gif | Bin 0 -> 273660 bytes docs/images/spacer.gif | Bin 0 -> 43 bytes docs/images/start_buttons.gif | Bin 0 -> 6110 bytes docs/images/startmenu1.png | Bin 0 -> 141790 bytes docs/images/startmenu2.png | Bin 0 -> 110244 bytes docs/images/startmenu3.png | Bin 0 -> 107413 bytes docs/images/statusbar.png | Bin 0 -> 3809 bytes docs/images/temp/amazon.jpg | Bin 0 -> 87159 bytes docs/images/titlebar.png | Bin 0 -> 18379 bytes docs/images/toolbar.png | Bin 0 -> 39851 bytes docs/images/utility.png | Bin 0 -> 13661 bytes docs/images/win10mbr/step1.png | Bin 0 -> 25250 bytes docs/images/win10mbr/step2.png | Bin 0 -> 18151 bytes docs/images/win10mbr/step3.png | Bin 0 -> 22183 bytes docs/images/win10mbr/step4.png | Bin 0 -> 21893 bytes docs/images/win10mbr/step5.png | Bin 0 -> 40214 bytes docs/images/win10mbr/step6.png | Bin 0 -> 19295 bytes docs/images/win10mbr/step8.png | Bin 0 -> 39143 bytes docs/images/win7mbr/step17.png | Bin 0 -> 38933 bytes docs/images/win7mbr/step27.png | Bin 0 -> 369513 bytes docs/images/win7mbr/step37.png | Bin 0 -> 383597 bytes docs/images/win7mbr/step47.png | Bin 0 -> 283760 bytes docs/images/win7mbr/step57.png | Bin 0 -> 254885 bytes docs/images/win7mbr/step67.png | Bin 0 -> 173313 bytes docs/images/win7mbr/step77.png | Bin 0 -> 253688 bytes docs/images/win7mbr/step87.png | Bin 0 -> 225942 bytes docs/images/xpskin.gif | Bin 0 -> 56646 bytes docs/index.html | 567 ++++ docs/privacy/index.html | 135 + docs/testimonials/index.html | 214 ++ docs/translations/index.html | 444 ++++ docs/tutorials/buttontutorial.html | 259 ++ docs/tutorials/images/button0.png | Bin 0 -> 17104 bytes docs/tutorials/images/button1.png | Bin 0 -> 59721 bytes docs/tutorials/images/button2.png | Bin 0 -> 18515 bytes docs/tutorials/images/button3.png | Bin 0 -> 27590 bytes docs/tutorials/images/color_mask.png | Bin 0 -> 6428 bytes docs/tutorials/images/error_balloon.png | Bin 0 -> 25376 bytes docs/tutorials/images/main_slices.png | Bin 0 -> 5310 bytes docs/tutorials/images/menu_arrows.png | Bin 0 -> 887 bytes docs/tutorials/images/padding.png | Bin 0 -> 38003 bytes docs/tutorials/images/pager_arrows.png | Bin 0 -> 683 bytes docs/tutorials/images/pager_buttons.png | Bin 0 -> 1269 bytes docs/tutorials/images/pattern_mask.png | Bin 0 -> 10355 bytes docs/tutorials/images/photoshop.png | Bin 0 -> 5718 bytes docs/tutorials/images/reshacker.png | Bin 0 -> 24270 bytes docs/tutorials/images/resize.png | Bin 0 -> 964 bytes docs/tutorials/images/search_icons.png | Bin 0 -> 1757 bytes docs/tutorials/images/separator.png | Bin 0 -> 9372 bytes docs/tutorials/images/slices.png | Bin 0 -> 2071 bytes docs/tutorials/skintutorial.html | 2290 +++++++++++++++++ docs/whycsm/index.html | 264 ++ 278 files changed, 26994 insertions(+) create mode 100644 docs/_http_/www.youtube.com/v/9Mm-OQ9Ibyg/_.html create mode 100644 docs/_http_/www.youtube.com/v/BcwoWR4aydk/_.html create mode 100644 docs/_http_/www.youtube.com/v/DLvLQhQmeyI/_.html create mode 100644 docs/_http_/www.youtube.com/v/NtMamHjzx_E/_.html create mode 100644 docs/_http_/www.youtube.com/v/begxhqq_dKg/_.html create mode 100644 docs/_http_/www.youtube.com/v/tJYL2Nxbh4U/_.html create mode 100644 docs/_http_/www.youtube.com/v/zVDIO6c4cGs/_.html create mode 100644 docs/contacts/index.html rename {doc/faq/faq_files => docs/css}/style.css (100%) create mode 100644 docs/downloads/index.html create mode 100644 docs/downloads/latestbeta.html create mode 100644 docs/eula/index.html create mode 100644 docs/faq/index.html create mode 100644 docs/features/index.html create mode 100644 docs/features/skintutorial.html create mode 100644 docs/files/beta/ClassicShellSetup_3_9_0.html create mode 100644 docs/gallery/Classic-Explorer.html create mode 100644 docs/gallery/Classic-Explorer/AnotherCustomToolbar.html create mode 100644 docs/gallery/Classic-Explorer/CustomToolbar.html create mode 100644 docs/gallery/Classic-Explorer/DrivesMenu.html create mode 100644 docs/gallery/Classic-Explorer/FolderView.html create mode 100644 docs/gallery/Classic-Explorer/SharedIcon.html create mode 100644 docs/gallery/Classic-Explorer/Titlebar1.html create mode 100644 docs/gallery/Classic-Explorer/Titlebar2.html create mode 100644 docs/gallery/Classic-Explorer/Titlebar3.html create mode 100644 docs/gallery/Classic-Explorer/copy.html create mode 100644 docs/gallery/Classic-Explorer/dropdown.html create mode 100644 docs/gallery/Classic-IE9.html create mode 100644 docs/gallery/Classic-IE9/custom_ie.html create mode 100644 docs/gallery/Classic-Shell-4.html create mode 100644 docs/gallery/Classic-Shell-4/apps.html create mode 100644 docs/gallery/Classic-Shell-4/jumplist.html create mode 100644 docs/gallery/Classic-Shell-4/programs.html create mode 100644 docs/gallery/Classic-Shell-4/search.html create mode 100644 docs/gallery/Classic-Shell-4/settings.html create mode 100644 docs/gallery/Classic-Shell-4/win7.html create mode 100644 docs/gallery/Start-Menu.html create mode 100644 docs/gallery/Start-Menu/Claude-Glass-Skin.html create mode 100644 docs/gallery/Start-Menu/SevenVG.html create mode 100644 docs/gallery/Start-Menu/ShutdownMenu.html create mode 100644 docs/gallery/Start-Menu/StartMenuSettings.html create mode 100644 docs/gallery/Start-Menu/cascading_menu.html create mode 100644 docs/gallery/Start-Menu/clrSharp2_Glass.html create mode 100644 docs/gallery/Start-Menu/metro_skin.html create mode 100644 docs/gallery/Start-Menu/midnight_skin.html create mode 100644 docs/gallery/Start-Menu/screenshot.html create mode 100644 docs/gallery/Start-Menu/search.html create mode 100644 docs/gallery/Start-Menu/skins.html create mode 100644 docs/gallery/Start-Menu/xpskin.html create mode 100644 docs/gallery/combined/css/5d31d2ed4f958da41618b3790940f80d.css create mode 100644 docs/gallery/combined/javascript/8f775324b5a6bc3d51e9d542f7ae8420 create mode 100644 docs/gallery/combined/javascript/b4410a10842c07ac432631a8d23855bf create mode 100644 docs/gallery/index.html create mode 100644 docs/gallery/index0316.html create mode 100644 docs/gallery/index4c93.html create mode 100644 docs/gallery/index7ea7.html create mode 100644 docs/gallery/indexe8d2.html create mode 100644 docs/gallery/lib/images/apple-touch-icon.png create mode 100644 docs/gallery/lib/images/favicon.ico create mode 100644 docs/gallery/lib/superfish/images/arrows-ffffff.png create mode 100644 docs/gallery/lib/superfish/images/shadow.png create mode 100644 docs/gallery/login/ajax.html create mode 100644 docs/gallery/modules/user/images/progressImg1.png create mode 100644 docs/gallery/rss/feed/gallery/album/1 create mode 100644 docs/gallery/rss/feed/gallery/album/22 create mode 100644 docs/gallery/rss/feed/gallery/album/34 create mode 100644 docs/gallery/rss/feed/gallery/album/37 create mode 100644 docs/gallery/rss/feed/gallery/album/4 create mode 100644 docs/gallery/themes/wind/css/themeroller/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 docs/gallery/themes/wind/css/themeroller/images/ui-bg_flat_55_fbec88_40x100.png create mode 100644 docs/gallery/themes/wind/css/themeroller/images/ui-bg_glass_75_d0e5f5_1x400.png create mode 100644 docs/gallery/themes/wind/css/themeroller/images/ui-bg_glass_85_dfeffc_1x400.png create mode 100644 docs/gallery/themes/wind/css/themeroller/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 docs/gallery/themes/wind/css/themeroller/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png create mode 100644 docs/gallery/themes/wind/css/themeroller/images/ui-bg_inset-hard_100_f5f8f9_1x100.png create mode 100644 docs/gallery/themes/wind/css/themeroller/images/ui-bg_inset-hard_100_fcfdfd_1x100.png create mode 100644 docs/gallery/themes/wind/css/themeroller/images/ui-icons_217bc0_256x240.png create mode 100644 docs/gallery/themes/wind/css/themeroller/images/ui-icons_2e83ff_256x240.png create mode 100644 docs/gallery/themes/wind/css/themeroller/images/ui-icons_469bdd_256x240.png create mode 100644 docs/gallery/themes/wind/css/themeroller/images/ui-icons_6da8d5_256x240.png create mode 100644 docs/gallery/themes/wind/css/themeroller/images/ui-icons_cd0a0a_256x240.png create mode 100644 docs/gallery/themes/wind/css/themeroller/images/ui-icons_d8e7f3_256x240.png create mode 100644 docs/gallery/themes/wind/css/themeroller/images/ui-icons_f9bd01_256x240.png create mode 100644 docs/gallery/themes/wind/images/ico-album.png create mode 100644 docs/gallery/themes/wind/images/ico-error.png create mode 100644 docs/gallery/themes/wind/images/ico-info.png create mode 100644 docs/gallery/themes/wind/images/ico-print.png create mode 100644 docs/gallery/themes/wind/images/ico-separator.gif create mode 100644 docs/gallery/themes/wind/images/ico-success.png create mode 100644 docs/gallery/themes/wind/images/ico-view-comments.png create mode 100644 docs/gallery/themes/wind/images/ico-view-fullsize.png create mode 100644 docs/gallery/themes/wind/images/ico-view-slideshow.png create mode 100644 docs/gallery/themes/wind/images/ico-warning.png create mode 100644 docs/gallery/themes/wind/images/loading-large.gif create mode 100644 docs/gallery/themes/wind/images/loading-small.gif create mode 100644 docs/gallery/var/albums/Classic-Explorer/AnotherCustomToolbara47c.png create mode 100644 docs/gallery/var/albums/Classic-Explorer/CustomToolbara47c.png create mode 100644 docs/gallery/var/albums/Classic-Explorer/DrivesMenua47c.png create mode 100644 docs/gallery/var/albums/Classic-Explorer/FolderViewa47c.gif create mode 100644 docs/gallery/var/albums/Classic-Explorer/SharedIconc6b2.png create mode 100644 docs/gallery/var/albums/Classic-Explorer/Titlebar1c6b2.png create mode 100644 docs/gallery/var/albums/Classic-Explorer/Titlebar2b7f4.png create mode 100644 docs/gallery/var/albums/Classic-Explorer/Titlebar3b7f4.png create mode 100644 docs/gallery/var/albums/Classic-Explorer/copy50ef.png create mode 100644 docs/gallery/var/albums/Classic-Explorer/dropdowna47c.png create mode 100644 docs/gallery/var/albums/Classic-IE9/custom_iee4fc.png create mode 100644 docs/gallery/var/albums/Classic-Shell-4/appsb5d0.jpg create mode 100644 docs/gallery/var/albums/Classic-Shell-4/jumplist029d.jpg create mode 100644 docs/gallery/var/albums/Classic-Shell-4/programs029d.jpg create mode 100644 docs/gallery/var/albums/Classic-Shell-4/searcha10e.jpg create mode 100644 docs/gallery/var/albums/Classic-Shell-4/settings5fa2.jpg create mode 100644 docs/gallery/var/albums/Classic-Shell-4/win71c23.jpg create mode 100644 docs/gallery/var/albums/Start-Menu/Claude Glass Skinc2ff.png create mode 100644 docs/gallery/var/albums/Start-Menu/SevenVGd238.png create mode 100644 docs/gallery/var/albums/Start-Menu/ShutdownMenuc2ff.png create mode 100644 docs/gallery/var/albums/Start-Menu/StartMenuSettings822e.png create mode 100644 docs/gallery/var/albums/Start-Menu/cascading_menuc2ff.png create mode 100644 docs/gallery/var/albums/Start-Menu/clrSharp2_Glassd238.png create mode 100644 docs/gallery/var/albums/Start-Menu/metro_skine9c1.png create mode 100644 docs/gallery/var/albums/Start-Menu/midnight_skine9c1.png create mode 100644 docs/gallery/var/albums/Start-Menu/screenshotf7cf.png create mode 100644 docs/gallery/var/albums/Start-Menu/search4f67.png create mode 100644 docs/gallery/var/albums/Start-Menu/skinsac51.gif create mode 100644 docs/gallery/var/albums/Start-Menu/xpskindc54.gif create mode 100644 docs/gallery/var/resizes/Classic-Explorer/AnotherCustomToolbarc6b2.png create mode 100644 docs/gallery/var/resizes/Classic-Explorer/CustomToolbarc6b2.png create mode 100644 docs/gallery/var/resizes/Classic-Explorer/DrivesMenua47c.png create mode 100644 docs/gallery/var/resizes/Classic-Explorer/FolderViewa47c.gif create mode 100644 docs/gallery/var/resizes/Classic-Explorer/SharedIconc6b2.png create mode 100644 docs/gallery/var/resizes/Classic-Explorer/Titlebar1b7f4.png create mode 100644 docs/gallery/var/resizes/Classic-Explorer/Titlebar2a629.png create mode 100644 docs/gallery/var/resizes/Classic-Explorer/Titlebar3a629.png create mode 100644 docs/gallery/var/resizes/Classic-Explorer/copy0f27.png create mode 100644 docs/gallery/var/resizes/Classic-Explorer/dropdownc6b2.png create mode 100644 docs/gallery/var/resizes/Classic-IE9/custom_ie5356.png create mode 100644 docs/gallery/var/resizes/Classic-Shell-4/appsa10e.jpg create mode 100644 docs/gallery/var/resizes/Classic-Shell-4/jumplistf7f9.jpg create mode 100644 docs/gallery/var/resizes/Classic-Shell-4/programsf7f9.jpg create mode 100644 docs/gallery/var/resizes/Classic-Shell-4/searcha10e.jpg create mode 100644 docs/gallery/var/resizes/Classic-Shell-4/settings4e92.jpg create mode 100644 docs/gallery/var/resizes/Classic-Shell-4/win7ebe9.jpg create mode 100644 docs/gallery/var/resizes/Start-Menu/Claude Glass Skin46f3.png create mode 100644 docs/gallery/var/resizes/Start-Menu/SevenVG3b28.png create mode 100644 docs/gallery/var/resizes/Start-Menu/ShutdownMenu0945.png create mode 100644 docs/gallery/var/resizes/Start-Menu/StartMenuSettings46f3.png create mode 100644 docs/gallery/var/resizes/Start-Menu/cascading_menu822e.png create mode 100644 docs/gallery/var/resizes/Start-Menu/clrSharp2_Glassc2ff.png create mode 100644 docs/gallery/var/resizes/Start-Menu/metro_skinb6da.png create mode 100644 docs/gallery/var/resizes/Start-Menu/midnight_skinb6da.png create mode 100644 docs/gallery/var/resizes/Start-Menu/screenshot8e37.png create mode 100644 docs/gallery/var/resizes/Start-Menu/search4f67.png create mode 100644 docs/gallery/var/resizes/Start-Menu/skins9005.gif create mode 100644 docs/gallery/var/resizes/Start-Menu/xpskin9b75.gif create mode 100644 docs/gallery/var/thumbs/Classic-Explorer/.albumc28c.jpg create mode 100644 docs/gallery/var/thumbs/Classic-Explorer/AnotherCustomToolbarc6b2.png create mode 100644 docs/gallery/var/thumbs/Classic-Explorer/CustomToolbarc6b2.png create mode 100644 docs/gallery/var/thumbs/Classic-Explorer/DrivesMenua47c.png create mode 100644 docs/gallery/var/thumbs/Classic-Explorer/FolderViewa47c.gif create mode 100644 docs/gallery/var/thumbs/Classic-Explorer/SharedIconc6b2.png create mode 100644 docs/gallery/var/thumbs/Classic-Explorer/Titlebar1b7f4.png create mode 100644 docs/gallery/var/thumbs/Classic-Explorer/Titlebar2b7f4.png create mode 100644 docs/gallery/var/thumbs/Classic-Explorer/Titlebar3a629.png create mode 100644 docs/gallery/var/thumbs/Classic-Explorer/copy0f27.png create mode 100644 docs/gallery/var/thumbs/Classic-Explorer/dropdownc6b2.png create mode 100644 docs/gallery/var/thumbs/Classic-IE9/.album5356.jpg create mode 100644 docs/gallery/var/thumbs/Classic-IE9/custom_ieb24e.png create mode 100644 docs/gallery/var/thumbs/Classic-Shell-4/.album00f6.jpg create mode 100644 docs/gallery/var/thumbs/Classic-Shell-4/appsa10e.jpg create mode 100644 docs/gallery/var/thumbs/Classic-Shell-4/jumplistf7f9.jpg create mode 100644 docs/gallery/var/thumbs/Classic-Shell-4/programsf7f9.jpg create mode 100644 docs/gallery/var/thumbs/Classic-Shell-4/searcha10e.jpg create mode 100644 docs/gallery/var/thumbs/Classic-Shell-4/settings4e92.jpg create mode 100644 docs/gallery/var/thumbs/Classic-Shell-4/win7ebe9.jpg create mode 100644 docs/gallery/var/thumbs/Start-Menu/.album1d7e.jpg create mode 100644 docs/gallery/var/thumbs/Start-Menu/Claude Glass Skin822e.png create mode 100644 docs/gallery/var/thumbs/Start-Menu/SevenVGc2ff.png create mode 100644 docs/gallery/var/thumbs/Start-Menu/ShutdownMenu0945.png create mode 100644 docs/gallery/var/thumbs/Start-Menu/StartMenuSettings0945.png create mode 100644 docs/gallery/var/thumbs/Start-Menu/cascading_menu822e.png create mode 100644 docs/gallery/var/thumbs/Start-Menu/clrSharp2_Glassc2ff.png create mode 100644 docs/gallery/var/thumbs/Start-Menu/metro_skin00a3.png create mode 100644 docs/gallery/var/thumbs/Start-Menu/midnight_skin00a3.png create mode 100644 docs/gallery/var/thumbs/Start-Menu/screenshot1ecf.png create mode 100644 docs/gallery/var/thumbs/Start-Menu/search4f67.png create mode 100644 docs/gallery/var/thumbs/Start-Menu/skins9005.gif create mode 100644 docs/gallery/var/thumbs/Start-Menu/xpskin9b75.gif create mode 100644 docs/history/index.html create mode 100644 docs/images/Download.png create mode 100644 docs/images/after.png create mode 100644 docs/images/before.png create mode 100644 docs/images/bg.gif create mode 100644 docs/images/bg_bottom.gif create mode 100644 docs/images/bg_btn.gif create mode 100644 docs/images/bg_head.png create mode 100644 docs/images/bg_head2.png create mode 100644 docs/images/bg_left.gif create mode 100644 docs/images/bg_menu.png create mode 100644 docs/images/corner.png create mode 100644 docs/images/displayfusion.png create mode 100644 docs/images/explorer1.png create mode 100644 docs/images/facebook.png create mode 100644 docs/images/flags/bg-BG.png create mode 100644 docs/images/flags/cs-CZ.png create mode 100644 docs/images/flags/de-DE.png create mode 100644 docs/images/flags/es-ES.png create mode 100644 docs/images/flags/fa-IR.png create mode 100644 docs/images/flags/fr-FR.png create mode 100644 docs/images/flags/hu-HU.png create mode 100644 docs/images/flags/it-IT.png create mode 100644 docs/images/flags/ja-JP.png create mode 100644 docs/images/flags/ko-KR.png create mode 100644 docs/images/flags/nl-NL.png create mode 100644 docs/images/flags/pl-PL.png create mode 100644 docs/images/flags/pt-BR.png create mode 100644 docs/images/flags/ro-RO.png create mode 100644 docs/images/flags/ru-RU.png create mode 100644 docs/images/flags/sv-SE.png create mode 100644 docs/images/flags/tr-TR.png create mode 100644 docs/images/flags/zh-CN.png create mode 100644 docs/images/flags/zh-TW.png create mode 100644 docs/images/gallery/custom_ie9.png create mode 100644 docs/images/internet_options.png create mode 100644 docs/images/languages.png create mode 100644 docs/images/manage_addons.png create mode 100644 docs/images/manage_addons2.png create mode 100644 docs/images/sf.png create mode 100644 docs/images/skins.gif create mode 100644 docs/images/spacer.gif create mode 100644 docs/images/start_buttons.gif create mode 100644 docs/images/startmenu1.png create mode 100644 docs/images/startmenu2.png create mode 100644 docs/images/startmenu3.png create mode 100644 docs/images/statusbar.png create mode 100644 docs/images/temp/amazon.jpg create mode 100644 docs/images/titlebar.png create mode 100644 docs/images/toolbar.png create mode 100644 docs/images/utility.png create mode 100644 docs/images/win10mbr/step1.png create mode 100644 docs/images/win10mbr/step2.png create mode 100644 docs/images/win10mbr/step3.png create mode 100644 docs/images/win10mbr/step4.png create mode 100644 docs/images/win10mbr/step5.png create mode 100644 docs/images/win10mbr/step6.png create mode 100644 docs/images/win10mbr/step8.png create mode 100644 docs/images/win7mbr/step17.png create mode 100644 docs/images/win7mbr/step27.png create mode 100644 docs/images/win7mbr/step37.png create mode 100644 docs/images/win7mbr/step47.png create mode 100644 docs/images/win7mbr/step57.png create mode 100644 docs/images/win7mbr/step67.png create mode 100644 docs/images/win7mbr/step77.png create mode 100644 docs/images/win7mbr/step87.png create mode 100644 docs/images/xpskin.gif create mode 100644 docs/index.html create mode 100644 docs/privacy/index.html create mode 100644 docs/testimonials/index.html create mode 100644 docs/translations/index.html create mode 100644 docs/tutorials/buttontutorial.html create mode 100644 docs/tutorials/images/button0.png create mode 100644 docs/tutorials/images/button1.png create mode 100644 docs/tutorials/images/button2.png create mode 100644 docs/tutorials/images/button3.png create mode 100644 docs/tutorials/images/color_mask.png create mode 100644 docs/tutorials/images/error_balloon.png create mode 100644 docs/tutorials/images/main_slices.png create mode 100644 docs/tutorials/images/menu_arrows.png create mode 100644 docs/tutorials/images/padding.png create mode 100644 docs/tutorials/images/pager_arrows.png create mode 100644 docs/tutorials/images/pager_buttons.png create mode 100644 docs/tutorials/images/pattern_mask.png create mode 100644 docs/tutorials/images/photoshop.png create mode 100644 docs/tutorials/images/reshacker.png create mode 100644 docs/tutorials/images/resize.png create mode 100644 docs/tutorials/images/search_icons.png create mode 100644 docs/tutorials/images/separator.png create mode 100644 docs/tutorials/images/slices.png create mode 100644 docs/tutorials/skintutorial.html create mode 100644 docs/whycsm/index.html diff --git a/docs/_http_/www.youtube.com/v/9Mm-OQ9Ibyg/_.html b/docs/_http_/www.youtube.com/v/9Mm-OQ9Ibyg/_.html new file mode 100644 index 0000000..31e851f --- /dev/null +++ b/docs/_http_/www.youtube.com/v/9Mm-OQ9Ibyg/_.html @@ -0,0 +1,59 @@ + + + + + +404 (Page Not Found) Error - Ever feel like you're in the wrong place? + + + + + + +
Original Page: http://www.classicshell.net
Original Author: Ivo Beltchev
+ +
+

+ Ever feel you're in the wrong place +

+ +
+
+

+ 404 (Page Not Found) Error +

+ +
+

If you're the site owner, one of two things happened:

+
    +
  1. + 1) You entered an incorrect URL into your browser's address bar, or +
  2. +
  3. + 2) You haven't uploaded content. +
  4. +
+
+ +
+

If you're a visitor and not sure what happened:

+
    +
  1. + 1) You entered or copied the URL incorrectly or +
  2. +
  3. + 2) The link you used to get here is faulty. +
  4. +
  5. + (It's an excellent idea to let the link owner know.) +
  6. +
+
+
+
+
+ + + + + diff --git a/docs/_http_/www.youtube.com/v/BcwoWR4aydk/_.html b/docs/_http_/www.youtube.com/v/BcwoWR4aydk/_.html new file mode 100644 index 0000000..31e851f --- /dev/null +++ b/docs/_http_/www.youtube.com/v/BcwoWR4aydk/_.html @@ -0,0 +1,59 @@ + + + + + +404 (Page Not Found) Error - Ever feel like you're in the wrong place? + + + + + + +
Original Page: http://www.classicshell.net
Original Author: Ivo Beltchev
+ +
+

+ Ever feel you're in the wrong place +

+ +
+
+

+ 404 (Page Not Found) Error +

+ +
+

If you're the site owner, one of two things happened:

+
    +
  1. + 1) You entered an incorrect URL into your browser's address bar, or +
  2. +
  3. + 2) You haven't uploaded content. +
  4. +
+
+ +
+

If you're a visitor and not sure what happened:

+
    +
  1. + 1) You entered or copied the URL incorrectly or +
  2. +
  3. + 2) The link you used to get here is faulty. +
  4. +
  5. + (It's an excellent idea to let the link owner know.) +
  6. +
+
+
+
+
+ + + + + diff --git a/docs/_http_/www.youtube.com/v/DLvLQhQmeyI/_.html b/docs/_http_/www.youtube.com/v/DLvLQhQmeyI/_.html new file mode 100644 index 0000000..31e851f --- /dev/null +++ b/docs/_http_/www.youtube.com/v/DLvLQhQmeyI/_.html @@ -0,0 +1,59 @@ + + + + + +404 (Page Not Found) Error - Ever feel like you're in the wrong place? + + + + + + +
Original Page: http://www.classicshell.net
Original Author: Ivo Beltchev
+ +
+

+ Ever feel you're in the wrong place +

+ +
+
+

+ 404 (Page Not Found) Error +

+ +
+

If you're the site owner, one of two things happened:

+
    +
  1. + 1) You entered an incorrect URL into your browser's address bar, or +
  2. +
  3. + 2) You haven't uploaded content. +
  4. +
+
+ +
+

If you're a visitor and not sure what happened:

+
    +
  1. + 1) You entered or copied the URL incorrectly or +
  2. +
  3. + 2) The link you used to get here is faulty. +
  4. +
  5. + (It's an excellent idea to let the link owner know.) +
  6. +
+
+
+
+
+ + + + + diff --git a/docs/_http_/www.youtube.com/v/NtMamHjzx_E/_.html b/docs/_http_/www.youtube.com/v/NtMamHjzx_E/_.html new file mode 100644 index 0000000..31e851f --- /dev/null +++ b/docs/_http_/www.youtube.com/v/NtMamHjzx_E/_.html @@ -0,0 +1,59 @@ + + + + + +404 (Page Not Found) Error - Ever feel like you're in the wrong place? + + + + + + +
Original Page: http://www.classicshell.net
Original Author: Ivo Beltchev
+ +
+

+ Ever feel you're in the wrong place +

+ +
+
+

+ 404 (Page Not Found) Error +

+ +
+

If you're the site owner, one of two things happened:

+
    +
  1. + 1) You entered an incorrect URL into your browser's address bar, or +
  2. +
  3. + 2) You haven't uploaded content. +
  4. +
+
+ +
+

If you're a visitor and not sure what happened:

+
    +
  1. + 1) You entered or copied the URL incorrectly or +
  2. +
  3. + 2) The link you used to get here is faulty. +
  4. +
  5. + (It's an excellent idea to let the link owner know.) +
  6. +
+
+
+
+
+ + + + + diff --git a/docs/_http_/www.youtube.com/v/begxhqq_dKg/_.html b/docs/_http_/www.youtube.com/v/begxhqq_dKg/_.html new file mode 100644 index 0000000..31e851f --- /dev/null +++ b/docs/_http_/www.youtube.com/v/begxhqq_dKg/_.html @@ -0,0 +1,59 @@ + + + + + +404 (Page Not Found) Error - Ever feel like you're in the wrong place? + + + + + + +
Original Page: http://www.classicshell.net
Original Author: Ivo Beltchev
+ +
+

+ Ever feel you're in the wrong place +

+ +
+
+

+ 404 (Page Not Found) Error +

+ +
+

If you're the site owner, one of two things happened:

+
    +
  1. + 1) You entered an incorrect URL into your browser's address bar, or +
  2. +
  3. + 2) You haven't uploaded content. +
  4. +
+
+ +
+

If you're a visitor and not sure what happened:

+
    +
  1. + 1) You entered or copied the URL incorrectly or +
  2. +
  3. + 2) The link you used to get here is faulty. +
  4. +
  5. + (It's an excellent idea to let the link owner know.) +
  6. +
+
+
+
+
+ + + + + diff --git a/docs/_http_/www.youtube.com/v/tJYL2Nxbh4U/_.html b/docs/_http_/www.youtube.com/v/tJYL2Nxbh4U/_.html new file mode 100644 index 0000000..31e851f --- /dev/null +++ b/docs/_http_/www.youtube.com/v/tJYL2Nxbh4U/_.html @@ -0,0 +1,59 @@ + + + + + +404 (Page Not Found) Error - Ever feel like you're in the wrong place? + + + + + + +
Original Page: http://www.classicshell.net
Original Author: Ivo Beltchev
+ +
+

+ Ever feel you're in the wrong place +

+ +
+
+

+ 404 (Page Not Found) Error +

+ +
+

If you're the site owner, one of two things happened:

+
    +
  1. + 1) You entered an incorrect URL into your browser's address bar, or +
  2. +
  3. + 2) You haven't uploaded content. +
  4. +
+
+ +
+

If you're a visitor and not sure what happened:

+
    +
  1. + 1) You entered or copied the URL incorrectly or +
  2. +
  3. + 2) The link you used to get here is faulty. +
  4. +
  5. + (It's an excellent idea to let the link owner know.) +
  6. +
+
+
+
+
+ + + + + diff --git a/docs/_http_/www.youtube.com/v/zVDIO6c4cGs/_.html b/docs/_http_/www.youtube.com/v/zVDIO6c4cGs/_.html new file mode 100644 index 0000000..31e851f --- /dev/null +++ b/docs/_http_/www.youtube.com/v/zVDIO6c4cGs/_.html @@ -0,0 +1,59 @@ + + + + + +404 (Page Not Found) Error - Ever feel like you're in the wrong place? + + + + + + +
Original Page: http://www.classicshell.net
Original Author: Ivo Beltchev
+ +
+

+ Ever feel you're in the wrong place +

+ +
+
+

+ 404 (Page Not Found) Error +

+ +
+

If you're the site owner, one of two things happened:

+
    +
  1. + 1) You entered an incorrect URL into your browser's address bar, or +
  2. +
  3. + 2) You haven't uploaded content. +
  4. +
+
+ +
+

If you're a visitor and not sure what happened:

+
    +
  1. + 1) You entered or copied the URL incorrectly or +
  2. +
  3. + 2) The link you used to get here is faulty. +
  4. +
  5. + (It's an excellent idea to let the link owner know.) +
  6. +
+
+
+
+
+ + + + + diff --git a/docs/contacts/index.html b/docs/contacts/index.html new file mode 100644 index 0000000..b4d6db7 --- /dev/null +++ b/docs/contacts/index.html @@ -0,0 +1,149 @@ + + + + + +Classic Shell: Contact Information + + + + + + + + + + + +
Original Page: http://www.classicshell.net
Original Author: Ivo Beltchev
+ + + + + + + + + + + +
+ + + + + +

+
+ + + + + + + + +
+ +

+ + + +Classic Shell: Contact Information + +

+

+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + +
+ + + +
+

Get Help

+

For answers to frequently asked questions look here: http://www.classicshell.net/faq/

+

If you don't find your answer in the FAQ, try the discussion forums: http://www.classicshell.net/forum/viewforum.php?f=6

+

Report bugs and feature requests in the development forums: http://www.classicshell.net/forum/viewforum.php?f=11

+ +

Contacts

+

To contact the author directly send email to classicshell [at] ibeltchev [dot] com.
+Please, do not use this email for technical support. Use the forums instead. You will get better help there.

+
+ + + +
+
+
+ + + + + + + + + + + +
Classic Shell © 2010-2017, Ivo Beltchev.
All right reserved.
+
+ + + + diff --git a/doc/faq/faq_files/style.css b/docs/css/style.css similarity index 100% rename from doc/faq/faq_files/style.css rename to docs/css/style.css diff --git a/docs/downloads/index.html b/docs/downloads/index.html new file mode 100644 index 0000000..4617045 --- /dev/null +++ b/docs/downloads/index.html @@ -0,0 +1,180 @@ + + + + + +Classic Shell: Downloads + + + + + + + + + +
Original Page: http://www.classicshell.net
Original Author: Ivo Beltchev
+ + + + + + + + + + + +
+ + + + + +

+
+ + + + + + + + +
+ +

+ + + +Classic Shell: Downloads + +

+

+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + +
+ + + +
+

Latest Stable Version 4.3.1

+

The latest stable version 4.3.1 can be downloaded from here:
+Classic Shell 4.3.1 (English)
+Classic Shell 4.3.1 (French)
+Classic Shell 4.3.1 (German)
+Classic Shell 4.3.1 (Italian)
+Classic Shell 4.3.1 (Polish)
+Classic Shell 4.3.1 (Russian)
+Classic Shell 4.3.1 (Spanish)
+Classic Shell 4.3.1 (Traditional Chinese)
+Classic Shell 4.3.1 (Simplified Chinese) +

+

The latest version is also available on the FossHub.com mirror.

+
+ +

Older Versions

+Versions 4.0.0 and newer can be downloaded from the Mediafire archive +
+The archive also contains the PDB files for people who need help debugging the code. +
+

Versions 3.6.8 and older can be downloaded from the Source Forge archive

+

The fosshub archive also contains a complete set of old versions.

+
+

Translations

+

Translation DLLs for the latest version can be downloaded from here:
+Latest Translations

+

Translation DLLs for older version can be found here:
+All Translations

+Note: a translation DLL will only work for the exact version of Classic Shell it is intended for. Make sure you download the right version. +

+
+

Classic Shell Utility

+ +The Classic Shell Utility can assist you in troubleshooting problems with the Classic Shell software. Download it from here: +http://www.mediafire.com/download/3ukeryzw41qpfz8/ClassicShellUtility.exe
+It can perform multiple functions. + + +

Save system log

+

The tool will collect information about your system to help with troubleshooting. Save the file and attach it in a forum post that describes your problem.

+For best results: +
    +
  • Run the tool using the same account that is causing problems. Do not run as administrator.
  • +
  • The tool may ask for administrative credentials if necessary. If you choose not to provide them, the tool will still work but will collect less information.
  • +
  • Some of the collected information may be sensitive (like what applications you have installed). If you wish to keep that information confidential, you can either upload the file to the FileDrop folder (see below), or archive it with a password, attach the archive in the forums and send a PM with the password to the user Ivo.
  • +
+

Remove Classic Shell

+

The tool will attempt to manually remove the Classic Shell software from your system. Use it in case you are having problems uninstalling using the conventional methods. It is designed to work even after a failed attempt to uninstall the software when some of the registry may be corrupted or some of the files may be missing.

+For best results: +
    +
  • Close all other programs
  • +
  • Sign out all other accounts
  • +
  • Read all the instructions carefully
  • +
  • Restart your computer after the tool completes
  • +
+

Show Metro colors

+

The tool will display the Windows start screen color palette. This is useful for people trying to create skins for Windows 8, 8.1 and 10.

+
+

Uploads

+

Use this location to upload crash dumps or screenshots for troubleshooting:
+Media Fire FileDrop
+Important: Please enter a description for the file - who is it from and what is it for. Or post a message in the forums. Otherwise I have no way of knowing what to do with it.

+
+ + + +
+
+
+ + + + + + + + + + + +
Classic Shell © 2010-2017, Ivo Beltchev.
All right reserved.
+
+ + + + diff --git a/docs/downloads/latestbeta.html b/docs/downloads/latestbeta.html new file mode 100644 index 0000000..31e851f --- /dev/null +++ b/docs/downloads/latestbeta.html @@ -0,0 +1,59 @@ + + + + + +404 (Page Not Found) Error - Ever feel like you're in the wrong place? + + + + + + +
Original Page: http://www.classicshell.net
Original Author: Ivo Beltchev
+ +
+

+ Ever feel you're in the wrong place +

+ +
+
+

+ 404 (Page Not Found) Error +

+ +
+

If you're the site owner, one of two things happened:

+
    +
  1. + 1) You entered an incorrect URL into your browser's address bar, or +
  2. +
  3. + 2) You haven't uploaded content. +
  4. +
+
+ +
+

If you're a visitor and not sure what happened:

+
    +
  1. + 1) You entered or copied the URL incorrectly or +
  2. +
  3. + 2) The link you used to get here is faulty. +
  4. +
  5. + (It's an excellent idea to let the link owner know.) +
  6. +
+
+
+
+
+ + + + + diff --git a/docs/eula/index.html b/docs/eula/index.html new file mode 100644 index 0000000..418da6c --- /dev/null +++ b/docs/eula/index.html @@ -0,0 +1,132 @@ + + + + + +Classic Shell: License Agreement + + + + + + + + + +
Original Page: http://www.classicshell.net
Original Author: Ivo Beltchev
+ + + + + + + + + + + +
+ + + + + +

+
+ + + + + + + + +
+ +

+ + + +Classic Shell: License Agreement + +

+

+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + +
+ + + +
+
+Classic Shell © 2010-2017, Ivo Beltchev
+http://www.classicshell.net/ +
+
+BY USING THE CLASSIC SHELL SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE. +

If you comply with these license terms, you have the rights below.

+
    +
  1. SCOPE OF LICENSE. This agreement only gives you some rights to use the software. The author reserves all other rights.

  2. +
  3. INSTALLATION AND USE RIGHTS. This software is free for both personal and commercial use. You may install and use it on your computers free of charge.

  4. +
  5. REDISTRIBUTION RIGHTS. You may redistribute the software as long as you do it free of charge and you don't misrepresent the origin of the software.

  6. +
  7. TRADEMARKS. The Classic Shell name and logo are trademarks of the author. Using them to to identify other products or services is not permitted.

  8. +
  9. DISCLAIMER OF WARRANTY. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

  10. +
  11. IN OTHER WORDS: Basically you can use this software freely for any purpose but don't be surprised if it doesn't work as you expect. You can't hold the author responsible for any damages that come to you from using the software. You can't profit from selling this software. You got it for free after all.

  12. +
+
+ + +
+
+
+ + + + + + + + + + + +
Classic Shell © 2010-2017, Ivo Beltchev.
All right reserved.
+
+ + + + diff --git a/docs/faq/index.html b/docs/faq/index.html new file mode 100644 index 0000000..fa29aec --- /dev/null +++ b/docs/faq/index.html @@ -0,0 +1,889 @@ + + + +Classic Shell: FAQ + + + + + + + +
Original Page: http://www.classicshell.net
Original Author: Ivo Beltchev
+ + + + + + + + + + + +
+ + + + + +

+
+ + + + + + + + +
+ +

+ + + +Classic Shell: FAQ + +

+

+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + +

+
General Information
Installation
Classic Start Menu
Classic Explorer
Classic IE
Performance Tips
+
+ + + + +
+ + +
+ +General Information
+ + + +
+ +Installation
+ + + +
+ +Classic Start Menu
+ +
+Why Classic Start Menu? What's wrong with the Windows 7 menu?
+How do I disable the classic start menu per user?
+How do I modify the expansion delay for sub-menus?
+How do I enable or disable the menu animations?
+How do I create skins for the start menu?
+How do I customize the start menu?
+How do I add a custom folder to the start menu?
+How do I remove the Start Screen shortcut from the main menu?
+How do I change the default shutdown action in the main menu?
+How do I stop the opening of the settings the first time I use the menu?
+Can I search my PC from the Classic Start Menu?
+Can I make the start menu look like the XP menu?
+Why doesn't the start button look pressed when I open the start menu?
+I disabled the active corners. Why does Metro still show up from time to time?
+I want a classic start menu, but I don't like this one. What else is there?
+

+Classic Explorer
+ + + +
+ +Classic IE
+ +
+Performance Tips
+ +
+Forum Spam
+ +
+
+ +

General Information

+What is Classic Shell?
+Classic Shell™ +is free software that improves your productivity, enhances the usability of Windows and +empowers you to use the computer the way you like it. It has a customizable start menu, it adds a toolbar +and a status bar for Windows Explorer and supports a variety of other features. +There are 3 major components - Classic Start Menu, Classic Explorer and Classic IE. +Look here for the full list of features.
+
+
+ +What is not Classic Shell?
+Some people have misconceptions about the scope of Classic Shell. Here's some of the things that it is not: +
    +
  • It is not an Explorer replacement. It adds some UI elements to Explorer, but this is still the standard Windows Explorer that you know and love
  • +
  • It does not implement the Desktop environment in Windows 8. The Desktop you see in Windows 8 is part of the operating system that you can access from one of the Metro tiles. Classic Shell just makes it easier to get to it
  • +
  • It is not a "make my computer look exactly like Windows XP". It only brings back few select features from the XP days, not everything. You are not going to find the puppy search here
  • +
  • It is not a theme or skin for Windows. Classic Shell only changes some visual aspects of Windows Explorer and Internet Explorer. These features are very limited in scope. No other applications are affected
  • +
+
+
+ +What is the story behind Classic Shell?
+The project started back in 2008 as a small utility to replace the copy +UI for Vista. In 2009 a friend switched from XP to Vista and complained +that the Up button was missing. That was the second feature that was +implemented. Later in October 2009 I switched to Windows 7 and was very +disappointed that the classic start menu was gone, so I went to make my +own. After the start menu was done I decided to make this project +public and added it to Source Forge. The rest is history.
+ +
+ +
+ +What are +the system requirements of Classic Shell?
+ +Classic Shell supports Windows 7, Windows 8, Windows 8.1, Windows Server 2008 R2, +Windows Server 2012 and Windows Server 2012 R2. There is only one installer for all and it +covers +both 32-bit and 64-bit operating systems. Not all features are supported for all versions of Windows.
+
+
+ +Does Classic Shell support Windows 10?
+Starting with version 4.2.4, Classic Shell fully supports Windows 10.
+
+ +Does Classic Shell support Windows RT?
+No, Classic Shell does not work on Windows RT (either 8 or 8.1). There are two reasons for that. First, Windows RT runs on devices with a different CPU, which is incompatible with regular Windows applications. And second, +Windows RT does not allow non-Microsoft software to run on its desktop. +
+
+ +Is Classic Shell Free?
+ +Yes, Classic Shell is free for both personal and commercial use*.
+
+You are permitted to distribute the Classic Shell installer or offer it for download on your website, as long as:
+
    +
  • You do it free of charge +
  • You don't misrepresent the origin of the software +
  • You don't modify the software in any way +
  • Wrapping Classic Shell in a secondary installer or bundling with other software is not allowed +
+The Classic Shell name and logo are trademarks and cannot be used to identify other products or services.
+
+* "Commercial use" means you can use it in a commercial environment - your office, school, etc. It does not mean you can sell the software.
+If you are operating a computer shop it is permitted to install Classic Shell for your customers as long as you do it free of charge. If you do this on a large scale a donation is encouraged.

+

+I know +it's free, but can I still donate to the project?
+Yes, +The Classic Shell project accepts donations:
+ +
+ + + + + + + + + +
+
+There are other +ways to support Classic Shell too. Report bugs or feature +suggestions. Help other users with their problems. Mention how cool it +is +on web forums or to your friends :)
+
+
+ +Is Classic Shell open-source?
+Yes, the latest version of Classic Shell 4.3.1 is open-source. The source code can be downloaded from Source Forge.
+

+ +How do I +report bugs or suggest new features?
Please submit bug reports to the Bug reporting forum. +Post feature requests in the Feature requests forum. +You can also use the Discussion forums.
+Discussion forum in Russian is also available.
+ +
+ +
+ +
+ +

Installation

+How do I +install just Classic Start Menu or just Classic Explorer?
+ +After you agree to the license terms the installer will +ask which features you want to be installed. By default all components +are checked. Uncheck the ones you don't want.
+ +
+ +
+ +The installer fails with error code 2755. +What can I do?
+ +The +exact cause of the problem is not known, but is most likely related to +access permissions. The problem can be resolved by using the hidden +Administrator account to run the installer. Follow this link for +instructions: http://www.sevenforums.com/tutorials/507-built-administrator-account-enable-disable.html. +Use the Administrator account only if you encounter this problem. For +most people it should not be necessary.
+ +
+ +
+ +What +is the right way to uninstall Classic Shell?
+ +To uninstall Classic Shell follow these steps:
+ +
    + +
  1. Stop the start menu if it is installed (right-click on the start +button and select “Exit”)
  2. +
  3. Open a new Windows Explorer window
  4. +
  5. Make sure the toolbar is hidden (if you uninstall while the +toolbar is visible, the menu bar in Explorer will get stuck in the +visible state and you won’t be able to hide it)
  6. +
  7. Close all Windows Explorer windows
  8. +
  9. Open Control Panel -> +Programs and Features and double-click on Classic Shell. Then follow the +instructions. You may have to restart Windows to complete the process.
  10. +
  11. If you installed any additional skins for the start menu you will +have to delete them manually
  12. +
+ +
+
+ After I uninstalled Classic Shell I can't hide the menu in Explorer any more. What do I do?
+
If you missed step 3 from the uninstall instructions and you are having problems with the menu, you have two options:
+
    +
  1. Go to the registry, open the HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\ShellBrowser key and delete the ITBar7Layout value as described here: http://qttabbar.sourceforge.net/?p=79
  2. +
  3. Install Classic Shell again and uninstall it following all the instructions
  4. +
+ + +
+ +
+ +What is the right way to upgrade to a new version of Classic Shell? +
In most cases it will be safe to install a new version on top of the old +one. Usually the installer will find all applications that use Classic +Shell and will try to restart them cleanly. You can choose to not +restart those applications, but then you will have to log off as soon +as possible to complete the install.
+
+
+ +How to disable the auto-update feature?
+The Classic Shell Update component checks weekly if there is a new version of Classic Shell and will show a notification popup.
+
+To disable the automatic check first run Classic Shell Update from the Classic Shell folder in the Programs menu. Then uncheck "Automatically check for new versions".
+
+You can also completely uninstall the update feature. Run the Classic Shell installer, select Change, then remove the Classic Shell Update component.
+
+
+ +What +are the command line parameters for the installer?
+ +The ClassicShellSetup.exe installer +supports many command line parameters:
+    <no command line> - runs the installer normally
+    extract32 - extracts the 32-bit MSI
+    extract64 - extracts the 64-bit MSI
+    help - shows the command line help
+    <some msiexec options> - the options are passed to msiexec
+       * if the options contain %MSI% (all caps) the token is replaced by the name of the extracted MSI file
+       * if %MSI% is not found, the setup runs "msiexec /i <MSI file> <some msiexec options>"

+Examples:
+    /qn - runs the installer in quiet mode
+    /x %MSI% /qb - uninstalls the product in basic UI level
+    /f %MSI% - repairs the product
+    /l* log.txt - runs the installer and logs the process in the log.txt file
+    APPLICATIONFOLDER="C:\Programs\Classic Shell" - sets the installation folder
+    /qn ADDLOCAL=ClassicExplorer - installs only Classic Explorer in quiet mode
+    /qn ADDLOCAL=ClassicStartMenu - installs only Classic Start Menu in quiet mode
+    ADDLOCAL=ClassicStartMenu,ClassicIE - installs the Classic Start Menu and Classic IE. Note: there must be no space before ClassicIE
+    /qb START_MENU_FOLDER=0 - runs in basic mode and skips the creation of a start menu folder
+    NOSTART=1 - suppresses the automatic launch of the start menu after install
+
+ +
When uninstalling or upgrading I get an error about a missing MSI file. What do I do?
+Windows keeps a copy of the MSI file in its C:\Windows\Installer +folder. If the file is missing or corrupted, the attempt to uninstall or upgrade Classic Shell will fail.
+If that happens, you must locate the installer for the same version you currently have. +Visit the All Downloads page for instructions how to find older versions.
+
+Once you find the correct installer, run it and select the "Remove" option.
+
+You may also attempt to repair the missing MSI file with the following command:
+ ClassicShellSetup.exe /fv %MSI%
+
This will repair the cached copy of the MSI file and after that you should be able to uninstall or upgrade Classic Shell.
+
+
+How do I save and load settings?
+You can use XML files to back up and load your settings. The easiest way is to do it from the Backup button of the Settings dialog.
+
+You can also do it from the command line. Use the "-backup" command line switch to save the settings and "-xml" switch to load the settings.
+
+You have to do it separately for each component:
+Classic Start Menu: ClassicStartMenu.exe -backup <xml file> (save the start menu settings)
+Classic Start Menu: ClassicStartMenu.exe -xml <xml file> (restore the start menu settings)
+Classic Explorer: ClassicExplorerSettings.exe -xml <xml file>
+Classic IE: ClassicIE_32.exe -xml <xml file> (note that you must use ClassicIE_32.exe even for 64-bit Windows)
+
+
+ +Why does my browser (or anti-virus software) claim that the download is not safe?
+After every new release there people who report that their browser or AV software blocks the installer and shows a warning that it is not safe. +This is because these programs use a heuristic that marks any newly released file as suspicious. For example Norton AV reports new files as WS.Reputation.1, +which means - not enough downloads yet for this file to gain the necessary reputation.
+
+Most programs have a way to allow the suspected installer to run but it is different for each program so I can't give you more detailed instructions here.
+
+If you can't figure it out or if you want to play it safe you can wait a few days until the new version has gained reputation and is added to the "nice" +list by the AV developers.
+
+
+ +

Classic Start Menu

+Why Classic Start Menu? What's wrong with the Windows 7 menu?
+ +Read more about the subject here.
+ +
+ +
+ +How do I disable the classic start menu per user?
+ +Open the General Behavior tab in the Settings dialog and find the checkbox "Start automatically for this user". Uncheck it.
+ +
+ +
+ +How do I modify the expansion delay for +sub-menus?
+ +You can change the Menu delay value in the General Behavior tab of the Settings dialog. Another way is to change the global +system setting.
+ +Follow the instructions here: http://www.sevenforums.com/tutorials/731-menu-show-delay-time.html
+ +
+ +
+ +How do I enable or disable the menu +animations?
+ +You can change the Main menu animation, Main menu animation speed, Sub-menu animation and Sub-menu animation speed settings in +the General Behavior tab of the Settings dialog. Another way is to change the global system +setting. Open the Advanced system +settings, click on +the Performance Settings +button, check or uncheck the option "Fade or slide menus into view".
+ +
+ +
+ +How do I create skins for the start menu?
+ +Check out the Skinning Tutorial.
+ +
+ +
+How do I customize the start menu?
+You can customize the start menu from the Customize Start Menu tab of the +Settings dialog. Drag and drop menu items to change their order or create any new items you want. +
+
+ +How do I add a custom folder to the start menu?
+You can add any existing folder to the start menu. Go to the Settings dialog, open the Customize Start Menu tab and add a new custom item.
+For Classic style: Add a custom item by dragging the "Custom" item from the right column to the left column in the location you wish.
+For Windows 7 style: Add a custom item with right-click and then "Insert New Item". Change the type of the new item to "Custom".
+After you created the new item right-click on it and select "Edit Item". Pick a folder from the Link dropdown list, or click on the [...] button to select +another folder. Change the label or the icon if you wish. Select "Don't Expand" if you wish the folder to not be expandable as a sub-menu.
+

+ +How do I remove the Start Screen shortcut from the main menu?
+You can right-click and select "Unpin from Start menu (Classic Shell)". You can also find the setting "Show Start screen shortcut" in the Main Menu tab and uncheck it.
+
+
+ +How do I change the default shutdown action in the main menu?
+If you are using the classic menu style (with one or two columns) then you will have to customize the menu items. Go to the Customize Start Menu tab in +the settings. Double-click on the Shutdown dialog item in the left column. Pick the command you want from the dropdown - shutdown, restart, logoff, and more. +Change the label to the text you want, like "Shut down" or "Restart". Change the icon if you wish.
+
+If you are using the Windows 7 menu style then go to the Main Menu tab in the settings. Locate the "Shutdown command" item near the bottom. Pick from one of the provided choices - Shutdown, Restart, Sleep, etc.
+
+
+ +How do I stop the opening of the settings the first time I use the menu?
+When you install Classic Shell for the first time and then press the start button, the settings will show up to allow you to choose the style for the menu and the start button. +Sometimes, particularly when installing for multiple users on the network, this behavior is undesirable. You can suppress it by pre-setting the menu style in the registry or +in the group policies. This forum post shows how: don't run the settings window at furst run
+
+
+ +Can I make the start menu look like the XP menu?
+The closest you can get is with the XP Luna skin. It makes the start menu look similar to the XP start menu. It supports 2 columns of items +and 3 color variations - Blue, Olive and Silver. Note that not all features of the XP start menu are supported. For example there are no fancy shutdown buttons +or personalized menus.
+
+
+Can I search my PC from the Classic Start Menu?
+The start menu can search for programs, settings, files, email, and other documents.
+In the Classic style you can also register custom search programs (like Agent Ransack of Everything) +that let you search for files anywhere on your computer. Also you can +register search tools like Google and Bing to search the Internet. Read +the documentation for instructions and examples.
+
+
+Why doesn't the start button look pressed when I open the start menu?
+On Windows 7 the start button will not appear pressed when the menu is opened. There is no direct way to make it look pressed. However you have the option to remove the +system start button and replace it with a custom button. The custom +button will have the correct pressed look.
+
+
+ +I disabled the active corners. Why does Metro still show up from time to time?
+The active corners are not the only way to activate the Metro features in Windows 8. Some touchpads have support for gestures. +Touching it accidentally in a certain way may be interpreted as the swipe gesture to open the Metro screen. Here's how you can disable the gestures: +http://winaero.com/blog/how-to-disable-metro-edge-swipes-and-touch-charm-gestures-for-trackpads-touchpads-in-windows-8-1-and-windows-8/
+
+
+ +I want a +classic start menu, but I don't like this one. What else is there?
+ +I don't believe you :). In the off chance you will be happier with +some other solution, check out these other +start menu implementations (some are actually based on Classic Shell). But please report what you don't like +about Classic Shell in the Start Menu discussion forum.
+ +
+
+
+

Classic Explorer

+What to do when Classic Explorer doesn't work?
+ +
    +
  • Open a new Windows Explorer window (Win key+E)
  • +
  • For Windows 7: Press Alt+V to open the View menu. Open the "Toolbars" sub-menu and select "Classic Explorer Bar". Keep in mind that the menu will always be displayed as long as the toolbar is visible.
  • +
  • For Windows 8: Press Alt+V to open the View ribbon. Click on the down arrow in the "Options" section. Select "Classic Explorer Bar".
  • +
+ +If the "Classic Explorer Bar" option is not available or is grayed out, there are 2 things to check:
+ +
    + +
  1. Run Internet Explorer and go to Tools +-> Manage Add-ons. Find "Classic Explorer Bar" and +"ExplorerBHO Class" and make sure they are both Enabled.
    + Manage Add-ons (Internet Explorer 8)
    +
    +
  2. +
  3. Open the Internet Options +and go to the Advanced +tab. Find and check the option "Enable third-party browser extensions". +This is usually enabled by default, but may be disabled for server +editions of Windows.
    + Internet Options
    +
  4. +
Why is Internet Explorer involved in all this? The thing is that +Windows Explorer and Internet Explorer share the same architecture and +the same security settings. Since most settings only affect web +browsing, Microsoft has decided to call the whole feature "Internet +Options".
+ Note: You may have to repeat the process if you install a new version of Internet Explorer (like IE9).
+ +
+ +
+ +On +Windows 7 how do I place the Classic Explorer Bar before the menu bar?
+
On Windows 7 if you +place the Classic Explorer toolbar in front of the menu bar, so that +both are on the same row, then close and reopen Explorer, the toolbar +and the menu bar will show on separate rows. This is a bug in Explorer. Unfortunately it wasn't fixed even in SP1.
+ +
+ +
+ +How do I show the status bar in Windows +Explorer?
+
+Windows 7: Go to the View menu and check the Status Bar item.
+
+Windows 8: The status bar is implemented by Classic Shell. Enable it from the Status Bar tab in the Classic Explorer settings.
+You may want to disable the built-in status bar from Explorer's Folder Options dialog. The setting is in the View tab.
+ +
+ +
+ +Why do I +sometimes get the default "file conflict" dialog instead of the Classic +Explorer replacement?
+ +There are 3 known cases where the "file conflict" dialog is not +replaced.
+ +
    + +
  1. If you copy or move files from a namespace extension to the file +system. The reason is that the namespace extension controls the copy +operation and may provide any UI it chooses.
  2. +
  3. On Windows 7 with UAC enabled, if you move a file from a +system directory to another directory the operation is carried out by a +special protected process called dllhost.exe. +Classic Explorer cannot affect that special process.
  4. +
  5. If +you are using a third-party file manager or Explorer replacement. Try +unchecking the "Enable only in Explorer" option in the Settings. +Depending on the tool you are using, Classic Shell may or may not be +able to do something.
  6. +
+ +
+ +Can +Classic Shell disable the "Auto-arrange" feature in Explorer?
+ +No. The Explorer in Windows 7 uses a new undocumented control "DirectUIHWND" +instead of the documented "SysListView32" control like all the versions +before it. The DirectUIHWND control has no public interface and nothing can be done to customize it.
+However there is a registry hack you can do to make Explorer to use SysListView32: Auto-arrange - solved?. +With that you get the option to disable "Auto-arrange", remove the +full-row select and some other features also revert to the Vista way.
+
+
+Can Classic Shell add Up button to the system SaveAs or Open dialogs?
+No. The SaveAs and Open dialogs are controlled by the application - +Notepad, Word, Photoshop, etc. It is theoretically possible to do +something about it, but there are many problems to do it correctly. Here's +just a few:
+
    +
  1. Every application is unique. There is no way to ensure +stable work for arbitrary applications. Often applications take steps +to customize their dialogs and there is a great potential for conflict.
    +
  2. +
  3. Doing anything like this is a guaranteed way to get an endless +list of compatibility bugs. Unlike Microsoft I don't have a +compatibility lab with access to thousands of applications to play with. +If a problem appears with some application that I don't have there is +no way for me to debug it.
    +
  4. +
  5. The first step in any such feature will be to inject code in +every running application. This act will most likely be flagged as +malware by anti-virus software. It will also negatively affect system +performance.
  6. +
Maybe a future version of Classic Shell will have this feature if I find solutions to all the problems.
+
+
Can Classic Shell bring back the classic search, you know, the one with the doggie?
+No. Unlike Internet Explorer, Windows Explorer doesn't have a way of +replacing the search provider. You can of course add a custom button to +the toolbar to run a third-party search application. There are quite a +few too choose from: Agent Ransack, Everything Search, Win Grep, to +name a few.
+

+ +What +additional buttons can I add to the toolbar?
+ +The toolbar has 8 buttons out of the box - Up, Cut, +Copy, Paste, Delete, Properties, Email and Settings.
+ +You can add more buttons from the settings. The +available buttons are Move To, +Copy To, Undo, Redo, Select All, and more. You can also provide your +own commands that execute an external program.
+ +The extra buttons are not included by default for various reasons. Most +do not have a readily available icon in Windows, so you have to provide +one yourself. Some do not function well enough to be enabled by +default. For example Undo and Redo are not disabled when +there is nothing to undo or redo. So the commands that do not +pass the quality bar are left as optional extras. Use at your own +risk :)
+ +
+ +
+ +How do I +customize the toolbar?
You can customize the Explorer toolbar from the Toolbar Buttons tab in the Settings dialog. Drag and drop buttons to create any toolbar you want. If you are using Classic Shell version 2.8.3 or older, you will have to edit the Explorer.ini +file. Read the instructions in the ini +file for details. Also check out this post: HOWTO: +Customize the toolbar
+ +
+
+ Can Classic Explorer replace the built-in Explorer search?
+No. As far as I know there is no way to seamlessly integrate another +search utility into Windows Explorer. The closest you can get is to add +a button in the toolbar to invoke another program (like Agent Ransack of Everything) and pass it the current folder on the command line.
+ +
+
+Can Classic Explorer tweak the registry to enable <insert feature here>?
+Short answer: No.
+Long answer: No way in hell!
+Serious answer: +There are hundreds of potential registry tweaks. Some +are harmless, others are dangerous, yet others don't play well +together. It requires a ton of research to create a stable system that +lets you safely experiment with all these settings. There is no way I +am spending all that time on such system. And there is no way I want to +be responsible when something goes wrong and you brick your computer. +Besides, most such registry hacks have unwanted side effects (if they +didn't, they would be made into a proper Windows feature). So they +don't meet the quality criteria to be a Classic Shell feature.
+There are some programs out there that let you control some of the registry settings. Here are few examples:
+ Windows 7 Navigation Pane Customizer
+ Tweak-7 and TweakVI
+ +
+
+
+ +

Classic IE

+What versions of Internet Explorer are supported by Classic IE?
+Classic IE supports all versions of Internet Explorer from 9 and up.
+
+
+What to do when the caption doesn't show up?
+
    +
  1. Run Internet Explorer and go to Tools +-> Manage Add-ons. Find "Classic IEBHO Class" and make sure it is Enabled.
    + Manage Add-ons (Internet Explorer 9)
    +
    +
  2. Open the Internet Options +and go to the Advanced +tab. Find and check the option "Enable third-party browser extensions". +This is usually enabled by default, but may be disabled for server +editions of Windows.
    + Internet Options
  3. +
+
+
+Where is the Classic Shell toolbar in Internet Explorer?
+Classic Shell doesn't have a toolbar for Internet Explorer. The so called "Classic Explorer Bar" performs file operations and is intended only for Windows Explorer.
+It shows in the list of the IE toolbars because both programs use a shared list for their toolbars. However some toolbars work only in Internet Explorer and some only work in Windows Explorer.
+
+ + +

Performance Tips

+How do I improve the startup performance?
+The Classic Start Menu runs when you log in. +It waits 5 seconds and then starts to pre-load the icons for your +programs, favorites and Control Panel items. This is done so when you +open the start menu for the first time all icons are already loaded and +you don't have to wait. The downside is that it may cause slower +startup times on low-end machines. This feature can be turned off from +the General Behavior tab of the Settings dialog. Look for the setting "Pre-cache icons" and turn it off.
+
+
+ +How do I make the start menu open faster?
+Every new version of the start menu adds more visual features. While +they are pretty, they have performance cost. Here are few things you +can do to make your menu more responsive:
+
    +
  • Make sure the option "Delay loading of icons" is turned on. It is in the General Behavior tab
    +
  • +
  • Pick a simpler skin. The glass skins in particular are expensive to render
  • + +
  • Disable some of the skin options. Options like "Show User Picture" or "Two columns" can be costly
  • +
  • Disable the menu animations from the settings. The menu is unresponsive while it fades or slides into view. +Disable or shorten the animation duration
  • +
+
+Anything I can do in Classic Explorer?
+Turn off any Classic Explorer features you don't use. Most features can +cost you CPU cycles when they are turned on, no matter if you use them +at the moment or not.
+
+ +

Forum Spam

+Why can't I log in the forum?
+Sometimes you may register on the forum and when you try to log in it won't recognize the user. That's because the forum uses a database of +usernames that have been previously used for spam and the account was deleted as soon as it was created.
+
+With the rising popularity of the forum, it has become a target for spammers. Rejecting the suspected accounts has proven the only solution that +actually works to reduce the amount of spam. Unfortunately there may be some false positives. A small group of malicious inidividuals are +ruining the experience for everybody. And that's why we can't have nice things…
+
+Please try to register again with a different name. +
+
+
+Why do I need my posts to be approved by a moderator?
+As a secondary measure to limit the spam, the first few messages from new users need to be approved by a forum moderator. This prevents +most people from even seeing the spam message (which often contains illegal or objectionable content). +
+
+
+The forum contains "unnatural" link to my website. Can you please remove it?
+Some spammers have managed to sneak in links past the various countermeasures in attempts to boost that website's search ratings. +Search engines have started detecting such sneaky behavior and are now penalizing the ratings.
+
+If your SEO service has used such tactics and your rating is now being hurt, contact them to take down the content.
+
+I will be happy to remove the offending link for a cleanup fee of $20 ($100 for express service). Please send the funds to the PayPal account ivo@ibeltchev.com and in the comments include the exact link and the web page that contains the link. +Please allow 3-5 weeks (3-5 business days for express service) to process the request. + +
+
+ + +
+
+
+ + + + + + + + + + + +
Classic Shell © 2010-2017, Ivo Beltchev.
All right reserved.
+
+ + + + diff --git a/docs/features/index.html b/docs/features/index.html new file mode 100644 index 0000000..2fe02b3 --- /dev/null +++ b/docs/features/index.html @@ -0,0 +1,337 @@ + + + + + +Classic Shell: Features + + + + + + + + + +
Original Page: http://www.classicshell.net
Original Author: Ivo Beltchev
+ + + + + + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + + +

+
Classic Start Menu
Classic Explorer
Classic IE
+
+ + + + +
+ + +

Classic Start Menu

+Classic Start Menu can replicate the start menus found in +older versions of Windows from 95 to Windows 7. You have 3 styles to pick from:
+
+ + + + + + + + + + + +
ClassicTwo columnsWindows 7
+
+The start menu has a variety of advanced features:
+
    + +
  • Drag and drop to let you organize your applications
  • +
  • Options to show Favorites, expand Control Panel, etc
  • +
  • Shows recently used documents. The number of documents to display +is customizable
  • +
  • Translated in 40 languages, including Right-to-left support for +Arabic and Hebrew
  • +
  • Does not disable the original start menu in Windows. You can +access it by Shift+Click on the start button
  • +
  • Right-click on an item in the menu to delete, rename, sort, or +perform other tasks
  • +
  • The search box helps you find your programs without getting in the way of your keyboard shortcuts
  • +
  • Supports jumplists for easy access to recent documents and common tasks
  • +
  • Available for 32 and 64-bit operating systems
  • +
  • Has support for skins, including additional 3rd party skins
  • +
  • Fully customizable in both looks and functionality
  • +
  • Support for Microsoft’s Active Accessibility
  • +
  • Converts the “All Programs” button in the Windows menu into a cascading menu (Windows 7)
  • +
  • Implements a customizable Start button
  • +
  • Can show, search and launch Windows Store apps (Windows 8 and up)
  • +
  • And last but not least – it's FREE!
  • +
+ +Pick from multiple built-in skins, download more from the Internet, or make your own! +Check out the  Skinning Tutorial.
+
+ +Skins for Classic Start Menu +Skins for Classic Start Menu +
+
+You can customize the Start button. Choose from 2 built-in styles or download new buttons from the Internet:
+
+Custom Start buttons
+
+ + +

Classic Explorer

+Classic Explorer is a plugin for Windows Explorer +that:
+ +
    + +
  • Adds a toolbar to Explorer for some common operations (Go +to parent folder, Cut, Copy, Paste, Delete, Properties, Email). The toolbar is fully customizable
  • +
  • Replaces the copy UI in Windows 7 with the more +user-friendly “classic” version similar to Windows XP
  • +
  • Handles Alt+Enter in the folder panel of Windows Explorer and +shows the properties of the selected folder
  • +
  • Has options for customizing the folder panel to look more like +the Windows XP version or to not fade the expand buttons
  • +
  • Can show the free disk space and the total file size in the +status bar
  • +
  • Can disable the breadcrumbs in the address bar
  • +
  • Fixes a long list of features that are broken in Windows 7 – missing icon overlay +for shared folders, the jumping folders in the navigation pane, missing sorting +headers in list view, and more
    +
  • + +
+ +
+

Toolbar in Windows Explorer

+Windows Explorer in modern versions of Windows doesn’t have a toolbar like the one in +Windows XP. If you want to go to the parent folder you have to use the +breadcrumbs bar. If you want to copy or delete a file with the mouse +you have to right-click and look for the Delete command. The +right-click menu gets bigger and bigger the more shell extensions you +have installed, and finding the right command can take a while. +
+To solve the problem, the Classic Explorer plugin adds a new toolbar:
+
+ +Explorer Toolbar
+ +
+ +Hold the Control key when clicking the Up button to +open the parent +folder in a new Explorer window.
+ +Hold the Shift key when clicking the Delete button to +permanently delete a file.
+ +
+ +
+ +

Additional Up Button (Windows 7 only)

+Some people have asked if I can make a small +Up button and put it next to the Back/Forward buttons in the title bar +of Explorer. If Up is the only button you need from the toolbar, this +will save you screen space:
+
+Up button in the title bar
+
+Right-click on the button to bring up the Classic Explorer settings. + +
+ +
+
+ +

New copy UI (Windows 7 only)

+In Windows 7 when you copy files and there is a conflict you are +presented with this: +
Copy in Windows 7 +
+
+What’s wrong with it? +
+
+Well, for starters it is half a screen full of text that you have to +read. Also it is not immediately clear what parts of it are clickable. +You have to move the mouse around to discover the UI like in a Lucas Arts +adventure game. And finally the keyboard usability is awful. To +tell it “yes, I know what I’m doing, I want to overwrite all +files” you have to press Alt+D, up, up, up, Space! +It is +harder than performing the Akuma +Kara Demon move in Street Fighter 3. There is a time and a place +for that stuff and copying files is not it. +
+The Classic Explorer plugin brings back the simpler dialog box from +Windows XP:
+
+Copy in XP
+
+It is immediately clear what is clickable (clue – the buttons +at the +bottom), there is easy keyboard navigation (press Y +for “Yes”, A to copy all files) and you can still see +which file is newer and which is larger. And of course just like in +Windows XP, holding down Shift while clicking on the +No button means "No to All" (or just press Shift+N). +
+If you click on More… +you will get the original dialog from Windows. From there you will see +all the details and you’ll get an extra option to “Copy, but keep both +files”. +
+Important Note: Only the UI +is replaced. The underlying system that does the actual copying is not +affected. +
+
+
+

Alt+Enter in the navigation pane

+Alt+Enter is universal shortcut across Windows to bring up the +properties of the selection. But in Windows 7 it doesn’t +work in the left pane that shows the folders. It works fine on the +right where the files are. This is broken compared to Windows XP where +Alt+Enter works in both places. +
+To solve the problem, the Classic Explorer plugin detects when you +press Alt+Enter and shows the properties for the currently selected +folder.
+ +
+
+

Status bar

+In the latest versions of Windows the status bar in Explorer doesn't show the free disk +space and the size of the selected files. Classic Explorer fixes that:
+ +
+ +File size in status bar
+ +
+ +When no files are selected the total size of all files in the folder is +shown. +
+
+

Classic IE

+
+ Classic IE is a plugin for Internet Explorer that:
+
    +
  • Adds a caption to the title bar so you can see the full title of the page
  • +
  • Shows the security zone in the status bar
  • +
  • Shows the loading progress in the status bar
  • +
+ Custom title bar and status bar in Internet Explorer 9
+ +
+ + +
+
+
+ + + + + + + + + + + +
Classic Shell © 2010-2017, Ivo Beltchev.
All right reserved.
+
+ + + + diff --git a/docs/features/skintutorial.html b/docs/features/skintutorial.html new file mode 100644 index 0000000..31e851f --- /dev/null +++ b/docs/features/skintutorial.html @@ -0,0 +1,59 @@ + + + + + +404 (Page Not Found) Error - Ever feel like you're in the wrong place? + + + + + + +
Original Page: http://www.classicshell.net
Original Author: Ivo Beltchev
+ +
+

+ Ever feel you're in the wrong place +

+ +
+
+

+ 404 (Page Not Found) Error +

+ +
+

If you're the site owner, one of two things happened:

+
    +
  1. + 1) You entered an incorrect URL into your browser's address bar, or +
  2. +
  3. + 2) You haven't uploaded content. +
  4. +
+
+ +
+

If you're a visitor and not sure what happened:

+
    +
  1. + 1) You entered or copied the URL incorrectly or +
  2. +
  3. + 2) The link you used to get here is faulty. +
  4. +
  5. + (It's an excellent idea to let the link owner know.) +
  6. +
+
+
+
+
+ + + + + diff --git a/docs/files/beta/ClassicShellSetup_3_9_0.html b/docs/files/beta/ClassicShellSetup_3_9_0.html new file mode 100644 index 0000000..31e851f --- /dev/null +++ b/docs/files/beta/ClassicShellSetup_3_9_0.html @@ -0,0 +1,59 @@ + + + + + +404 (Page Not Found) Error - Ever feel like you're in the wrong place? + + + + + + +
Original Page: http://www.classicshell.net
Original Author: Ivo Beltchev
+ +
+

+ Ever feel you're in the wrong place +

+ +
+
+

+ 404 (Page Not Found) Error +

+ +
+

If you're the site owner, one of two things happened:

+
    +
  1. + 1) You entered an incorrect URL into your browser's address bar, or +
  2. +
  3. + 2) You haven't uploaded content. +
  4. +
+
+ +
+

If you're a visitor and not sure what happened:

+
    +
  1. + 1) You entered or copied the URL incorrectly or +
  2. +
  3. + 2) The link you used to get here is faulty. +
  4. +
  5. + (It's an excellent idea to let the link owner know.) +
  6. +
+
+
+
+
+ + + + + diff --git a/docs/gallery/Classic-Explorer.html b/docs/gallery/Classic-Explorer.html new file mode 100644 index 0000000..b068ce5 --- /dev/null +++ b/docs/gallery/Classic-Explorer.html @@ -0,0 +1,384 @@ + + + + + + + + + Classic Explorer + + + + + + + + + + + + + + + + + + + + + +
Original Page: http://www.classicshell.net
Original Author: Ivo Beltchev
+ + + + + +
+ +
+
+
+ + + + + + + +
+ + +
+
+
+
+
+
+

Classic Explorer

+
+
+ + + + + +
+
+
+
+
+ + +
+ +
+

Album info

+
+ +
+
+
+
+
+ + + + + +
+ + + + + + + + + + + + + +
+
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Explorer/AnotherCustomToolbar.html b/docs/gallery/Classic-Explorer/AnotherCustomToolbar.html new file mode 100644 index 0000000..7c6f255 --- /dev/null +++ b/docs/gallery/Classic-Explorer/AnotherCustomToolbar.html @@ -0,0 +1,342 @@ + + + + + + + + + Custom toolbar + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Custom toolbar +
    + +
    +

    Custom toolbar

    +
    Custom toolbar with icons and tooltips
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Explorer/CustomToolbar.html b/docs/gallery/Classic-Explorer/CustomToolbar.html new file mode 100644 index 0000000..fa166a0 --- /dev/null +++ b/docs/gallery/Classic-Explorer/CustomToolbar.html @@ -0,0 +1,342 @@ + + + + + + + + + Toolbar icons + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Toolbar icons +
    + +
    +

    Toolbar icons

    +
    You can download these icons from here
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Explorer/DrivesMenu.html b/docs/gallery/Classic-Explorer/DrivesMenu.html new file mode 100644 index 0000000..e9b7cba --- /dev/null +++ b/docs/gallery/Classic-Explorer/DrivesMenu.html @@ -0,0 +1,340 @@ + + + + + + + + + Drives menu + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Drives menu +
    + +
    +

    Drives menu

    +
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Explorer/FolderView.html b/docs/gallery/Classic-Explorer/FolderView.html new file mode 100644 index 0000000..64eb275 --- /dev/null +++ b/docs/gallery/Classic-Explorer/FolderView.html @@ -0,0 +1,342 @@ + + + + + + + + + Navigation Pane styles + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Navigation Pane styles +
    + +
    +

    Navigation Pane styles

    +
    3 different styles for the navigation pane
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Explorer/SharedIcon.html b/docs/gallery/Classic-Explorer/SharedIcon.html new file mode 100644 index 0000000..c22df3b --- /dev/null +++ b/docs/gallery/Classic-Explorer/SharedIcon.html @@ -0,0 +1,342 @@ + + + + + + + + + Shared icon + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Shared icon +
    + +
    +

    Shared icon

    +
    Overlay icon to mark shared folders
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Explorer/Titlebar1.html b/docs/gallery/Classic-Explorer/Titlebar1.html new file mode 100644 index 0000000..492fcd7 --- /dev/null +++ b/docs/gallery/Classic-Explorer/Titlebar1.html @@ -0,0 +1,340 @@ + + + + + + + + + Titlebar: up button + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Titlebar: up button +
    + +
    +

    Titlebar: up button

    +
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Explorer/Titlebar2.html b/docs/gallery/Classic-Explorer/Titlebar2.html new file mode 100644 index 0000000..1addf04 --- /dev/null +++ b/docs/gallery/Classic-Explorer/Titlebar2.html @@ -0,0 +1,340 @@ + + + + + + + + + Titlebar: path + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Titlebar: path +
    + +
    +

    Titlebar: path

    +
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Explorer/Titlebar3.html b/docs/gallery/Classic-Explorer/Titlebar3.html new file mode 100644 index 0000000..0e15b31 --- /dev/null +++ b/docs/gallery/Classic-Explorer/Titlebar3.html @@ -0,0 +1,340 @@ + + + + + + + + + Titlebar: folder icon + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Titlebar: folder icon +
    + +
    +

    Titlebar: folder icon

    +
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Explorer/copy.html b/docs/gallery/Classic-Explorer/copy.html new file mode 100644 index 0000000..6345343 --- /dev/null +++ b/docs/gallery/Classic-Explorer/copy.html @@ -0,0 +1,342 @@ + + + + + + + + + Copy dialog + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Copy dialog +
    + +
    +

    Copy dialog

    +
    Replacement copy dialog for Windows Vista and Windows 7
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Explorer/dropdown.html b/docs/gallery/Classic-Explorer/dropdown.html new file mode 100644 index 0000000..422ab79 --- /dev/null +++ b/docs/gallery/Classic-Explorer/dropdown.html @@ -0,0 +1,342 @@ + + + + + + + + + Address bar + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Address bar +
    + +
    +

    Address bar

    +
    XP-style for the address bar
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-IE9.html b/docs/gallery/Classic-IE9.html new file mode 100644 index 0000000..6a42701 --- /dev/null +++ b/docs/gallery/Classic-IE9.html @@ -0,0 +1,312 @@ + + + + + + + + + Classic IE9 + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    +
    +

    Classic IE9

    +
    +
    + + + + + +
    +
    +
    +
    +
    + + +
    + +
    +

    Album info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-IE9/custom_ie.html b/docs/gallery/Classic-IE9/custom_ie.html new file mode 100644 index 0000000..79e0ba3 --- /dev/null +++ b/docs/gallery/Classic-IE9/custom_ie.html @@ -0,0 +1,342 @@ + + + + + + + + + Internet Explorer + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Internet Explorer +
    + +
    +

    Internet Explorer

    +
    Titlebar and status bar for Internet Explorer
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Shell-4.html b/docs/gallery/Classic-Shell-4.html new file mode 100644 index 0000000..15959df --- /dev/null +++ b/docs/gallery/Classic-Shell-4.html @@ -0,0 +1,354 @@ + + + + + + + + + Classic Shell 4 + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    +
    +

    Classic Shell 4

    +
    Classic Shell 4 adds a new Windows 7 style that replicates the look and feel of the Windows 7 start menu
    +
    + + + + + +
    +
    +
    +
    +
    + + +
    + +
    +

    Album info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Shell-4/apps.html b/docs/gallery/Classic-Shell-4/apps.html new file mode 100644 index 0000000..9d54151 --- /dev/null +++ b/docs/gallery/Classic-Shell-4/apps.html @@ -0,0 +1,340 @@ + + + + + + + + + Apps list in Windows 8 + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Apps list in Windows 8 +
    + +
    +

    Apps list in Windows 8

    +
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Shell-4/jumplist.html b/docs/gallery/Classic-Shell-4/jumplist.html new file mode 100644 index 0000000..349c8df --- /dev/null +++ b/docs/gallery/Classic-Shell-4/jumplist.html @@ -0,0 +1,340 @@ + + + + + + + + + Jumplist in the main menu + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Jumplist in the main menu +
    + +
    +

    Jumplist in the main menu

    +
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Shell-4/programs.html b/docs/gallery/Classic-Shell-4/programs.html new file mode 100644 index 0000000..8cfb2f4 --- /dev/null +++ b/docs/gallery/Classic-Shell-4/programs.html @@ -0,0 +1,340 @@ + + + + + + + + + Programs list + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Programs list +
    + +
    +

    Programs list

    +
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Shell-4/search.html b/docs/gallery/Classic-Shell-4/search.html new file mode 100644 index 0000000..300d502 --- /dev/null +++ b/docs/gallery/Classic-Shell-4/search.html @@ -0,0 +1,340 @@ + + + + + + + + + Search for programs and files + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Search for programs and files +
    + +
    +

    Search for programs and files

    +
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Shell-4/settings.html b/docs/gallery/Classic-Shell-4/settings.html new file mode 100644 index 0000000..39151c9 --- /dev/null +++ b/docs/gallery/Classic-Shell-4/settings.html @@ -0,0 +1,340 @@ + + + + + + + + + Select which items to show in the menu + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Select which items to show in the menu +
    + +
    +

    Select which items to show in the menu

    +
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Classic-Shell-4/win7.html b/docs/gallery/Classic-Shell-4/win7.html new file mode 100644 index 0000000..1b973f5 --- /dev/null +++ b/docs/gallery/Classic-Shell-4/win7.html @@ -0,0 +1,340 @@ + + + + + + + + + Windows 7 style + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Windows 7 style +
    + +
    +

    Windows 7 style

    +
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Start-Menu.html b/docs/gallery/Start-Menu.html new file mode 100644 index 0000000..a8da871 --- /dev/null +++ b/docs/gallery/Start-Menu.html @@ -0,0 +1,402 @@ + + + + + + + + + Start Menu + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    +
    +

    Start Menu

    +
    Start menu screenshots
    +
    + + + + + +
    +
    +
    +
    +
    + + +
    + +
    +

    Album info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Start-Menu/Claude-Glass-Skin.html b/docs/gallery/Start-Menu/Claude-Glass-Skin.html new file mode 100644 index 0000000..37efece --- /dev/null +++ b/docs/gallery/Start-Menu/Claude-Glass-Skin.html @@ -0,0 +1,340 @@ + + + + + + + + + Claude Glass Skin + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Claude Glass Skin +
    + +
    +

    Claude Glass Skin

    +
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Start-Menu/SevenVG.html b/docs/gallery/Start-Menu/SevenVG.html new file mode 100644 index 0000000..a3c8898 --- /dev/null +++ b/docs/gallery/Start-Menu/SevenVG.html @@ -0,0 +1,344 @@ + + + + + + + + + Seven VG skin + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Seven VG skin +
    + +
    +

    Seven VG skin

    +
    Seven VG skin compared to the Windows 7 start menu
    +Download Seven VG from here
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Start-Menu/ShutdownMenu.html b/docs/gallery/Start-Menu/ShutdownMenu.html new file mode 100644 index 0000000..e789003 --- /dev/null +++ b/docs/gallery/Start-Menu/ShutdownMenu.html @@ -0,0 +1,342 @@ + + + + + + + + + Shutdown menu + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Shutdown menu +
    + +
    +

    Shutdown menu

    +
    Shutdown sub-menu with icons
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Start-Menu/StartMenuSettings.html b/docs/gallery/Start-Menu/StartMenuSettings.html new file mode 100644 index 0000000..1c2e742 --- /dev/null +++ b/docs/gallery/Start-Menu/StartMenuSettings.html @@ -0,0 +1,342 @@ + + + + + + + + + Start Menu Settings + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Start Menu Settings +
    + +
    +

    Start Menu Settings

    +
    The classic start menu has over 100 settings to tweak
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Start-Menu/cascading_menu.html b/docs/gallery/Start-Menu/cascading_menu.html new file mode 100644 index 0000000..e6093ef --- /dev/null +++ b/docs/gallery/Start-Menu/cascading_menu.html @@ -0,0 +1,342 @@ + + + + + + + + + Cascading menu + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Cascading menu +
    + +
    +

    Cascading menu

    +
    Windows 7 menu with a cascading All Programs sub-menu
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Start-Menu/clrSharp2_Glass.html b/docs/gallery/Start-Menu/clrSharp2_Glass.html new file mode 100644 index 0000000..735a7be --- /dev/null +++ b/docs/gallery/Start-Menu/clrSharp2_Glass.html @@ -0,0 +1,342 @@ + + + + + + + + + clrSharp2 Glass skin + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + clrSharp2 Glass skin +
    + +
    +

    clrSharp2 Glass skin

    +
    By ~John Edwa. Download from here
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Start-Menu/metro_skin.html b/docs/gallery/Start-Menu/metro_skin.html new file mode 100644 index 0000000..188c38e --- /dev/null +++ b/docs/gallery/Start-Menu/metro_skin.html @@ -0,0 +1,340 @@ + + + + + + + + + metro skin + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + metro skin +
    + +
    +

    metro skin

    +
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Start-Menu/midnight_skin.html b/docs/gallery/Start-Menu/midnight_skin.html new file mode 100644 index 0000000..c6110ad --- /dev/null +++ b/docs/gallery/Start-Menu/midnight_skin.html @@ -0,0 +1,340 @@ + + + + + + + + + midnight skin + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + midnight skin +
    + +
    +

    midnight skin

    +
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Start-Menu/screenshot.html b/docs/gallery/Start-Menu/screenshot.html new file mode 100644 index 0000000..9605db0 --- /dev/null +++ b/docs/gallery/Start-Menu/screenshot.html @@ -0,0 +1,342 @@ + + + + + + + + + Classic start menu + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Classic start menu +
    + +
    +

    Classic start menu

    +
    Classic start menu in action
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Start-Menu/search.html b/docs/gallery/Start-Menu/search.html new file mode 100644 index 0000000..553dadd --- /dev/null +++ b/docs/gallery/Start-Menu/search.html @@ -0,0 +1,342 @@ + + + + + + + + + Search + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Search +
    + +
    +

    Search

    +
    Search in the start menu
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Start-Menu/skins.html b/docs/gallery/Start-Menu/skins.html new file mode 100644 index 0000000..7630d57 --- /dev/null +++ b/docs/gallery/Start-Menu/skins.html @@ -0,0 +1,342 @@ + + + + + + + + + Skins + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + Skins +
    + +
    +

    Skins

    +
    Different skins for the start menu
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/Start-Menu/xpskin.html b/docs/gallery/Start-Menu/xpskin.html new file mode 100644 index 0000000..15dfb3f --- /dev/null +++ b/docs/gallery/Start-Menu/xpskin.html @@ -0,0 +1,342 @@ + + + + + + + + + XP Luna skin + + + + + + + + + + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + +
    + +
    +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + +
    + + + + +
    + + XP Luna skin +
    + +
    +

    XP Luna skin

    +
    Different variations of the XP Luna skin
    +
    + +
    +
    +
    +
    +
    + + +
    +

    Photo info

    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    +
  • Powered by Gallery 3.0.4 (Ricochet)
  • + Classic Shell © 2010-2016, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/gallery/combined/css/5d31d2ed4f958da41618b3790940f80d.css b/docs/gallery/combined/css/5d31d2ed4f958da41618b3790940f80d.css new file mode 100644 index 0000000..d044451 --- /dev/null +++ b/docs/gallery/combined/css/5d31d2ed4f958da41618b3790940f80d.css @@ -0,0 +1,1985 @@ +/* modules/gallery/css/gallery.css */ +/** + * Gallery 3 core module styles + * + * Sheet organization: + * 1) End-user + * 2) Admin + * 3) Right to left language styles + */ + +/** ******************************************************************* + * 1) End-user + **********************************************************************/ + +/* Uploader ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-add-photos-canvas, +#g-add-photos-status { + width: 469px; +} + +#g-add-photos-canvas { + border: 1px solid #ccc; + height: 200px; + margin: .5em 0; + padding: 2.8em 0 0 0; + overflow: auto; + position: relative; +} + +#g-add-photos-canvas object, +#g-add-photos-button { + left: 90px; + margin: .5em 0; + padding: .4em 1em; + position: absolute; + top: 0; + width: 300px; +} + +#g-add-photos-canvas object { + z-index: 100; +} + +#g-add-photos-canvas .uploadifyQueue { + margin-top: .5em; +} + +#g-add-photos-canvas .uploadifyQueueItem { + margin: 0; +} + +#g-add-photos-button { + z-index: 1; +} + +#g-add-photos-status { + border: 1px solid #ccc; + height: 125px; + margin: .4em 0; + overflow: auto; +} + +#g-add-photos-status .g-message-block { + border: none; +} + +#g-add-photos-status #g-action-status li { + margin: 0 0 1px 0; + padding-top: .7em; + width: 433px; +} + +#g-add-photos-form .g-breadcrumbs { + margin: 0; +} + +#g-add-photos-form p { + margin-bottom: 0 +} + +#g-add-photos-status-message { + float: right; +} + +/* Permissions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-edit-permissions-form { + clear: both; +} + +#g-edit-permissions-form th { + text-align: center; +} + +#g-permissions .g-denied, +#g-permissions .g-allowed { + text-align: center; + vertical-align: middle; +} + +/* Move items ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-move ul { + padding-left: 1em; +} + +#g-move .selected { + background: #999; +} + +/* In-place edit ~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-in-place-edit-form ul { + margin: 0; +} + +/* User profile ~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-user-profile h1 { + margin: 1em 0; +} + +#g-user-profile .g-avatar { + margin-right: .6em; +} + +#g-user-profile .g-block { + margin-top: 0; +} + +#g-user-profile .g-block-content { + margin-top: 0; +} + +#g-user-profile th, +#g-user-profile td { + border: none; +} + +#g-user-profile th { + white-space: nowrap; + width: 1%; +} + +/** ******************************************************************* + * 2) Admin + **********************************************************************/ + +.g-task-log { + border: 1px solid #000; + height: 400px; + margin: .6em 0; + overflow: auto; + padding: .4em +} + +#g-languages-form table { + width: 40%; + margin: 0 3em 1em 0; +} + +#g-languages-form input { + clear: both; +} + +#g-translations ol { + margin: 0 0 1em 2em; +} +#g-translations ol li { + list-style-type: decimal; + line-height: 150%; +} + +#g-translations .g-button { + padding: .5em; + margin-bottom: 1em; +} + +/** ******************************************************************* + * 3) Right to left language styles + **********************************************************************/ + +.rtl #g-add-photos-status #g-action-status li { + width: 407px; +} + +.rtl #g-block-admin .g-left { + margin-left: 1em; + margin-right: 0; +} + +.rtl #g-user-profile .g-avatar { + margin-left: .6em; +} + +.rtl #g-languages-form table { + margin: 0 0 1em 3em; +} + +.rtl #g-translations ol { + margin: 0 2em 1em 0; +} + +.rtl #g-add-photos-status-message { + float: left; +} + +/* lib/uploadify/uploadify.css */ +/* +Uploadify v2.1.0 +Release Date: August 24, 2009 + +Copyright (c) 2009 Ronnie Garcia, Travis Nickels + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ +.uploadifyQueueItem { + font: 11px Verdana, Geneva, sans-serif; + border: 2px solid #E5E5E5; + background-color: #F5F5F5; + margin-top: 5px; + padding: 10px; + width: auto; +} +.uploadifyError { + border: 2px solid #FBCBBC !important; + background-color: #FDE5DD !important; +} +.uploadifyQueueItem .cancel { + float: right; +} +.uploadifyProgress { + background-color: #FFFFFF; + border-top: 1px solid #808080; + border-left: 1px solid #808080; + border-right: 1px solid #C5C5C5; + border-bottom: 1px solid #C5C5C5; + margin-top: 10px; + width: 100%; +} +.uploadifyProgressBar { + background-color: #0099FF; + width: 1px; + height: 3px; +} + +/* RTL support ~~~~~~~~~~~~~~~~~~~~~~~~~ */ +.rtl .uploadifyQueueItem .cancel { + float: left; +} +/* modules/user/css/user.css */ +/* User- and group-related form width ~~~~ */ + +#g-login-form, +#g-add-user-form +#g-edit-user-form, +#g-delete-user-form, +#g-user-admin { + width: 270px; +} + +/* User/group admin ~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-user-admin { + width: auto; + margin-bottom: 4em; +} + +#g-group-admin { +} + +#g-user-admin-list .g-admin { + color: #55f; + font-weight: bold; +} + +.g-group { + display: block; + border: 1px solid #999; + margin: 0 1em 1em 0; + padding: 0; + width: 200px; +} + +.g-group h4 { + background-color: #eee; + border-bottom: 1px dashed #ccc; + padding: .5em 0 .5em .5em; +} + +.g-group .g-button { + padding: 0; +} + +.g-group .g-member-list, +.g-group div { + height: 180px; + margin: 1px; + overflow: auto; +} + +.g-group p { + margin-top: 1em; + padding: .5em; + text-align: center; +} + +.g-group .g-user { + padding: .2em 0 0 .5em; +} + +.g-group .g-user .g-button { + vertical-align: middle; +} + +.g-default-group h4, +.g-default-group .g-user { + color: #999; +} + +.g-group.ui-droppable { + padding: 0 !important; +} + +/* Password strength meter ~~~~~~~~~~~~~~~ */ + +.g-password-strength0 { + background: url('../../modules/user/images/progressImg1.png') no-repeat 0 0; + width: 138px; + height: 7px; +} + +.g-password-strength10 { + background-position:0 -7px; +} + +.g-password-strength20 { + background-position:0 -14px; +} + +.g-password-strength30 { + background-position:0 -21px; +} + +.g-password-strength40 { + background-position:0 -28px; +} + +.g-password-strength50 { + background-position:0 -35px; +} + +.g-password-strength60 { + background-position:0 -42px; +} + +.g-password-strength70 { + background-position:0 -49px; +} + +.g-password-strength80 { + background-position:0 -56px; +} + +.g-password-strength90 { + background-position:0 -63px; +} + +.g-password-strength100 { + background-position:0 -70px; +} + +/* lib/yui/reset-fonts-grids.css */ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;}body{font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}select,input,button,textarea,button{font:99% arial,helvetica,clean,sans-serif;}table{font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}body{text-align:center;}#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{margin:auto;text-align:left;width:57.69em;*width:56.25em;}#doc2{width:73.076em;*width:71.25em;}#doc3{margin:auto 10px;width:auto;}#doc4{width:74.923em;*width:73.05em;}.yui-b{position:relative;}.yui-b{_position:static;}#yui-main .yui-b{position:static;}#yui-main,.yui-g .yui-u .yui-g{width:100%;}.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{float:right;margin-left:-25em;}.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{float:left;margin-right:-25em;}.yui-t1 .yui-b{float:left;width:12.30769em;*width:12.00em;}.yui-t1 #yui-main .yui-b{margin-left:13.30769em;*margin-left:13.05em;}.yui-t2 .yui-b{float:left;width:13.8461em;*width:13.50em;}.yui-t2 #yui-main .yui-b{margin-left:14.8461em;*margin-left:14.55em;}.yui-t3 .yui-b{float:left;width:23.0769em;*width:22.50em;}.yui-t3 #yui-main .yui-b{margin-left:24.0769em;*margin-left:23.62em;}.yui-t4 .yui-b{float:right;width:13.8456em;*width:13.50em;}.yui-t4 #yui-main .yui-b{margin-right:14.8456em;*margin-right:14.55em;}.yui-t5 .yui-b{float:right;width:18.4615em;*width:18.00em;}.yui-t5 #yui-main .yui-b{margin-right:19.4615em;*margin-right:19.125em;}.yui-t6 .yui-b{float:right;width:23.0769em;*width:22.50em;}.yui-t6 #yui-main .yui-b{margin-right:24.0769em;*margin-right:23.62em;}.yui-t7 #yui-main .yui-b{display:block;margin:0 0 1em 0;}#yui-main .yui-b{float:none;width:auto;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u{float:right;}.yui-g div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first,.yui-g .yui-gc div.first,.yui-g .yui-ge div.first,.yui-gc div.first div.first{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{width:49.1%;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{width:32%;margin-left:1.99%;}.yui-gb .yui-u{*margin-left:1.9%;*width:31.9%;}.yui-gc div.first,.yui-gd .yui-u{width:66%;}.yui-gd div.first{width:32%;}.yui-ge div.first,.yui-gf .yui-u{width:74.2%;}.yui-ge .yui-u,.yui-gf div.first{width:24%;}.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first{margin-left:0;}.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u{width:49%;*width:48.1%;*margin-left:0;}.yui-g .yui-g .yui-u{width:48.1%;}.yui-g .yui-gb div.first,.yui-gb .yui-gb div.first{*margin-right:0;*width:32%;_width:31.7%;}.yui-g .yui-gc div.first,.yui-gd .yui-g{width:66%;}.yui-gb .yui-g div.first{*margin-right:4%;_margin-right:1.3%;}.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first{*margin-right:0;}.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{*margin-left:1.8%;_margin-left:4%;}.yui-g .yui-gb .yui-u{_margin-left:1.0%;}.yui-gb .yui-gd .yui-u{*width:66%;_width:61.2%;}.yui-gb .yui-gd div.first{*width:31%;_width:29.5%;}.yui-g .yui-gc .yui-u,.yui-gb .yui-gc .yui-u{width:32%;_float:right;margin-right:0;_margin-left:0;}.yui-gb .yui-gc div.first{width:66%;*float:left;*margin-left:0;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u{margin:0;}.yui-gb .yui-gb .yui-u{_margin-left:.7%;}.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{*margin-left:0;}.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{*width:48.1%;*margin-left:0;}.yui-gb .yui-gd div.first{width:32%;}.yui-g .yui-gd div.first{_width:29.9%;}.yui-ge .yui-g{width:24%;}.yui-gf .yui-g{width:74.2%;}.yui-gb .yui-ge div.yui-u,.yui-gb .yui-gf div.yui-u{float:right;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf div.first{float:left;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf div.first{*width:24%;_width:20%;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{*width:73.5%;_width:65.5%;}.yui-ge div.first .yui-gd .yui-u{width:65%;}.yui-ge div.first .yui-gd div.first{width:32%;}#hd:after,#bd:after,#ft:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}#hd,#bd,#ft,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;} +/* lib/superfish/css/superfish.css */ + +/*** ESSENTIAL STYLES ***/ +.sf-menu, .sf-menu * { + margin: 0; + padding: 0; + list-style: none; +} +.sf-menu { + line-height: 1.0; +} +.sf-menu ul { + position: absolute; + top: -999em; + width: 10em; /* left offset of submenus need to match (see below) */ +} +.sf-menu ul li { + width: 100%; +} +.sf-menu li:hover { + visibility: inherit; /* fixes IE7 'sticky bug' */ +} +.sf-menu li { + float: left; + position: relative; +} +.sf-menu a { + display: block; + position: relative; +} +.sf-menu li:hover ul, +.sf-menu li.sfHover ul { + left: 0; + top: 2.5em; /* match top ul list item height */ + z-index: 99; +} +ul.sf-menu li:hover li ul, +ul.sf-menu li.sfHover li ul { + top: -999em; +} +ul.sf-menu li li:hover ul, +ul.sf-menu li li.sfHover ul { + left: 10em; /* match ul width */ + top: 0; +} +ul.sf-menu li li:hover li ul, +ul.sf-menu li li.sfHover li ul { + top: -999em; +} +ul.sf-menu li li li:hover ul, +ul.sf-menu li li li.sfHover ul { + left: 10em; /* match ul width */ + top: 0; +} + +/*** DEMO SKIN ***/ +.sf-menu { + float: left; + margin-bottom: 1em; +} +.sf-menu a { + border-left: 1px solid #fff; + border-top: 1px solid #CFDEFF; + padding: .75em 1em; + text-decoration:none; +} +.sf-menu a, .sf-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/ + color: #13a; +} +.sf-menu li { + background: #BDD2FF; +} +.sf-menu li li { + background: #AABDE6; +} +.sf-menu li li li { + background: #9AAEDB; +} +.sf-menu li:hover, .sf-menu li.sfHover, +.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active { + background: #CFDEFF; + outline: 0; +} + +/*** arrows **/ +.sf-menu a.sf-with-ul { + padding-right: 2.25em; + min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */ +} +.sf-sub-indicator { + position: absolute; + display: block; + right: .75em; + top: 1.05em; /* IE6 only */ + width: 10px; + height: 10px; + text-indent: -999em; + overflow: hidden; + background: url('../../lib/superfish/images/arrows-ffffff.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */ +} +a > .sf-sub-indicator { /* give all except IE6 the correct values */ + top: .8em; + background-position: 0 -100px; /* use translucent arrow for modern browsers*/ +} +/* apply hovers to modern browsers */ +a:focus > .sf-sub-indicator, +a:hover > .sf-sub-indicator, +a:active > .sf-sub-indicator, +li:hover > a > .sf-sub-indicator, +li.sfHover > a > .sf-sub-indicator { + background-position: -10px -100px; /* arrow hovers for modern browsers*/ +} + +/* point right for anchors in subs */ +.sf-menu ul .sf-sub-indicator { background-position: -10px 0; } +.sf-menu ul a > .sf-sub-indicator { background-position: 0 0; } +/* apply hovers to modern browsers */ +.sf-menu ul a:focus > .sf-sub-indicator, +.sf-menu ul a:hover > .sf-sub-indicator, +.sf-menu ul a:active > .sf-sub-indicator, +.sf-menu ul li:hover > a > .sf-sub-indicator, +.sf-menu ul li.sfHover > a > .sf-sub-indicator { + background-position: -10px 0; /* arrow hovers for modern browsers*/ +} + +/*** shadows for all but IE6 ***/ +.sf-shadow ul { + background: url('../../lib/superfish/images/shadow.png') no-repeat bottom right; + padding: 0 8px 9px 0; + -moz-border-radius-bottomleft: 17px; + -moz-border-radius-topright: 17px; + -webkit-border-top-right-radius: 17px; + -webkit-border-bottom-left-radius: 17px; +} +.sf-shadow ul.sf-shadow-off { + background: transparent; +} + +/* themes/wind/css/themeroller/ui.base.css */ +/* +* jQuery UI CSS Framework +* Copyright (c) 2009 AUTHORS.txt (http://ui.jquery.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +*/ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute; left: -99999999px; } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + +/* +* jQuery UI CSS Framework +* Copyright (c) 2009 AUTHORS.txt (http://ui.jquery.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +* To view and modify this theme, visit http://ui.jquery.com/themeroller/?tr=&ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=5px&bgColorHeader=5c9ccc&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=55&borderColorHeader=4297d7&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=02_glass.png&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=d0e5f5&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=f5f8f9&bgTextureActive=06_inset_hard.png&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=01_flat.png&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px +*/ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1.1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1em; } +.ui-widget-header { border: 1px solid #4297d7; background: #5c9ccc url('../../themes/wind/css/themeroller/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png') 50% 50% repeat-x; color: #ffffff; font-weight: bold; } +.ui-widget-header a { color: #ffffff; } +.ui-widget-content { border: 1px solid #a6c9e2; background: #fcfdfd url('../../themes/wind/css/themeroller/images/ui-bg_inset-hard_100_fcfdfd_1x100.png') 50% bottom repeat-x; color: #222222; } +.ui-widget-content a { color: #222222; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #c5dbec; background: #dfeffc url('../../themes/wind/css/themeroller/images/ui-bg_glass_85_dfeffc_1x400.png') 50% 50% repeat-x; font-weight: bold; color: #2e6e9e; outline: none; } +.ui-state-default a { color: #2e6e9e; text-decoration: none; outline: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #79b7e7; background: #d0e5f5 url('../../themes/wind/css/themeroller/images/ui-bg_glass_75_d0e5f5_1x400.png') 50% 50% repeat-x; font-weight: bold; color: #1d5987; outline: none; } +.ui-state-hover a { color: #1d5987; text-decoration: none; outline: none; } +.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #79b7e7; background: #f5f8f9 url('../../themes/wind/css/themeroller/images/ui-bg_inset-hard_100_f5f8f9_1x100.png') 50% 50% repeat-x; font-weight: bold; color: #e17009; outline: none; } +.ui-state-active a { color: #e17009; outline: none; text-decoration: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fad42e; background: #fbec88 url('../../themes/wind/css/themeroller/images/ui-bg_flat_55_fbec88_40x100.png') 50% 50% repeat-x; color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url('../../themes/wind/css/themeroller/images/ui-bg_glass_95_fef1ec_1x400.png') 50% 50% repeat-x; color: #cd0a0a; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #cd0a0a; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url('../../themes/wind/css/themeroller/images/ui-icons_469bdd_256x240.png'); } +.ui-widget-content .ui-icon {background-image: url('../../themes/wind/css/themeroller/images/ui-icons_469bdd_256x240.png'); } +.ui-widget-header .ui-icon {background-image: url('../../themes/wind/css/themeroller/images/ui-icons_d8e7f3_256x240.png'); } +.ui-state-default .ui-icon { background-image: url('../../themes/wind/css/themeroller/images/ui-icons_6da8d5_256x240.png'); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url('../../themes/wind/css/themeroller/images/ui-icons_217bc0_256x240.png'); } +.ui-state-active .ui-icon {background-image: url('../../themes/wind/css/themeroller/images/ui-icons_f9bd01_256x240.png'); } +.ui-state-highlight .ui-icon {background-image: url('../../themes/wind/css/themeroller/images/ui-icons_2e83ff_256x240.png'); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url('../../themes/wind/css/themeroller/images/ui-icons_cd0a0a_256x240.png'); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-tl { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; } +.ui-corner-tr { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; } +.ui-corner-bl { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; } +.ui-corner-br { -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; } +.ui-corner-top { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; } +.ui-corner-bottom { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; } +.ui-corner-right { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; } +.ui-corner-left { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; } +.ui-corner-all { -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; } + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa url('../../themes/wind/css/themeroller/images/ui-bg_flat_0_aaaaaa_40x100.png') 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } +.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url('../../themes/wind/css/themeroller/images/ui-bg_flat_0_aaaaaa_40x100.png') 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; } +/* Datepicker +----------------------------------*/ +.ui-datepicker { width: 17em; padding: .2em .2em 0; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; } +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:left; width:100%; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +} +/* Dialog +----------------------------------*/ +.ui-dialog { position: relative; padding: .2em; width: 300px; } +.ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative; } +.ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; } +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } +.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; } +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } +.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; } +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } +.ui-draggable .ui-dialog-titlebar { cursor: move; } +/* Progressbar +----------------------------------*/ +.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } +/* Resizable +----------------------------------*/ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;} +/* Tabs +----------------------------------*/ +.ui-tabs {padding: .2em;} +.ui-tabs .ui-tabs-nav { padding: .2em .2em 0 .2em; position: relative; } +.ui-tabs .ui-tabs-nav li { float: left; border-bottom: 0 !important; margin: 0 .2em -1px 0; padding: 0; list-style: none; } +.ui-tabs .ui-tabs-nav li a { display:block; text-decoration: none; padding: .5em 1em; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: .1em; border-bottom: 0; } +.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border: 0; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } + +/* themes/wind/css/screen.css */ +/** + * Gallery 3 Wind Theme Screen Styles + * + * @requires YUI reset, font, grids CSS + * + * Sheet organization: + * 1) Font sizes, base HTML elements + * 2) Reusable content blocks + * 3) Page layout containers + * 4) Content blocks in specific layout containers + * 5) States and interactions + * 6) Positioning and order + * 7) Navigation and menus + * 8) jQuery and jQuery UI + */ + +/** ******************************************************************* + * 1) Font sizes, base HTML elements + **********************************************************************/ + +body, html { + background-color: #ccc; + font-family: 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; +} + +p { + margin-bottom: 1em; +} + +em { + font-style: oblique; +} + +h1, h2, h3, h4, h5, strong, th { + font-weight: bold; +} + +h1 { + font-size: 1.7em; +} + +#g-dialog h1 { + font-size: 1.1em; +} + +h2 { + font-size: 1.4em; +} + +#g-sidebar .g-block h2 { + font-size: 1.2em; +} + +#g-sidebar .g-block li { + margin-bottom: .6em; +} + +#g-content, +#g-site-menu, +h3 { + font-size: 1.2em; +} + +#g-sidebar, +.g-breadcrumbs { + font-size: .9em; +} + +#g-banner, +#g-footer, +.g-message { + font-size: .8em; +} + +#g-album-grid .g-item, +#g-item #g-photo, +#g-item #g-movie { + font-size: .7em; +} + +/* Links ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +a, +.g-menu a, +#g-dialog a, +.g-button, +.g-button:hover, +.g-button:active, +a.ui-state-hover, +input.ui-state-hover, +button.ui-state-hover { + color: #5382bf !important; + cursor: pointer !important; + text-decoration: none; + -moz-outline-style: none; +} + +a:hover, +#g-dialog a:hover { + text-decoration: underline; +} + +.g-menu a:hover { + text-decoration: none; +} + +#g-dialog #g-action-status li { + width: 434px; + white-space: normal; + padding-left: 32px; +} + +/* Lists ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +ul.g-text li, +.g-text ul li { + list-style-type: disc; +} + +ol.g-text li, +.g-text ol li { + list-style-type: decimal; +} + +.g-text li, +.g-text li { + margin-left: 1em; +} + +/* Forms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +form { + margin: 0; +} + +fieldset { + border: 1px solid #ccc; + padding: 0 1em .8em 1em; +} + +#g-banner fieldset, +#g-sidebar fieldset { + border: none; + padding: 0; +} + +legend { + font-weight: bold; + margin: 0; + padding: 0 .2em; +} + +#g-banner legend, +#g-sidebar legend, +input[type="hidden"] { + display: none; +} + +input.textbox, +input[type="text"], +input[type="password"], +textarea { + border: 1px solid #e8e8e8; + border-top-color: #ccc; + border-left-color: #ccc; + clear: both; + color: #333; + width: 50%; +} + +textarea { + height: 12em; + width: 97%; +} + +input:focus, +input.textbox:focus, +input[type=text]:focus, +textarea:focus, +option:focus { + background-color: #ffc; + color: #000; +} + +input.checkbox, +input[type=checkbox], +input.radio, +input[type=radio] { + float: left; + margin-right: .4em; +} + +/* Form layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +form li { + margin: 0; + padding: 0 0 .2em 0; +} + +form ul { + margin-top: 0; +} + +form ul ul { + clear: both; +} + +form ul ul li { + float: left; +} + +input, +select, +textarea { + display: block; + clear: both; + padding: .2em; +} + +input[type="submit"], +input[type="reset"] { + display: inline; + clear: none; + float: left; +} + +/* Forms in dialogs and panels ~~~~~~~~~ */ + +#g-dialog ul li { + padding-bottom: .8em; +} + +#g-dialog fieldset, +#g-panel fieldset { + border: none; + padding: 0; +} + +#g-panel legend { + display: none; +} + +input[readonly] { + background-color: #F4F4FC; +} + +#g-dialog input.textbox, +#g-dialog input[type=text], +#g-dialog input[type=password], +#g-dialog textarea { + width: 97%; +} + +/* Short forms ~~~~~~~~~~~~~~~~~~~~~~~ */ + +.g-short-form legend, +.g-short-form label { + display: none; +} + +.g-short-form fieldset { + border: none; + padding: 0; +} + +.g-short-form li { + float: left; + margin: 0 !important; + padding: .4em 0; +} + +.g-short-form .textbox, +.g-short-form input[type=text] { + color: #666; + padding: .3em .6em; + width: 100%; +} + +.g-short-form .textbox.g-error { + border: 1px solid #f00; + color: #f00; + padding-left: 24px; +} + +.g-short-form .g-cancel { + display: block; + margin: .3em .8em; +} + +#g-sidebar .g-short-form li { + padding-left: 0; + padding-right: 0; +} + +/* Tables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +table { + width: 100%; +} + +#g-content table { + margin: 1em 0; +} + +caption, +th { + text-align: left; +} + +th, +td { + border: none; + border-bottom: 1px solid #ccc; + padding: .5em; +} + +td { + vertical-align: top; +} + +/* Text ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.g-text-small { + font-size: .8em; +} + +.g-text-big { + font-size: 1.2em; +} + +.g-text-right { + text-align: right; +} + +/** ******************************************************************* + * 2) Reusable content blocks + *********************************************************************/ + +.g-block h2 { + background-color: #e8e8e8; + padding: .3em .8em; +} + +.g-block-content { + margin-top: 1em; +} + +/** ******************************************************************* + * 3) Page layout containers + *********************************************************************/ + +/* Dimension and scale ~~~~~~~~~~~~~~~~~~~ */ + +.g-one-quarter { + width: 25%; +} + +.g-one-third { + width: 33%; +} + +.g-one-half { + width: 50%; +} + +.g-two-thirds { + width: 66%; +} + +.g-three-quarters { + width: 75%; +} + +.g-whole { + width: 100%; +} + +/* View container ~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.g-view { + background-color: #fff; + border: 1px solid #ccc; + border-bottom: none; +} + +/* Layout containers ~~~~~~~~~~~~~~~~~~~~~ */ + +#g-header { + margin-bottom: 1em; +} + +#g-banner { + background-color: #e8e8e8; + border-bottom: 1px solid #ccc; + min-height: 5em; + padding: 1em 20px; + position: relative; +} + +#g-content { + padding-left: 20px; + position: relative; + width: 696px; +} + +#g-sidebar { + padding: 0 20px; + width: 220px; +} + +#g-footer { + background-color: #e8e8e8; + border-top: 1px solid #ccc; + margin-top: 20px; + padding: 10px 20px; +} + +/** ******************************************************************* + * 4) Content blocks in specific layout containers + *********************************************************************/ + +/* Header ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-banner #g-quick-search-form { + clear: right; + float: right; + margin-top: 1em; +} + +#g-banner #g-quick-search-form input[type='text'] { + width: 17em; +} + +#g-content .g-block h2 { + background-color: transparent; + padding-left: 0; +} + +/* Sidebar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-sidebar .g-block-content { + padding-left: 1em; +} + +#g-sidebar #g-image-block { + overflow: hidden; +} + +/* Album content ~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-content #g-album-grid { + margin: 1em 0; + position: relative; + z-index: 1; +} + +#g-content #g-album-grid .g-item { + background-color: #fff; + border: 1px solid #fff; + float: left; + padding: .6em 8px; + position: relative; + text-align: center; + width: 213px; + z-index: 1; +} + +#g-content #g-album-grid .g-item h2 { + margin: 5px 0; +} + +#g-content .g-photo h2, +#g-content .g-item .g-metadata { + display: none; + margin-bottom: .6em; +} + +#g-content #g-album-grid .g-album { + background-color: #e8e8e8; +} + +#g-content #g-album-grid .g-album h2 span.g-album { + background: transparent url('../../themes/wind/images/ico-album.png') no-repeat top left; + display: inline-block; + height: 16px; + margin-right: 5px; + width: 16px; +} + +#g-content #g-album-grid .g-hover-item { + border: 1px solid #000; + position: absolute !important; + z-index: 1000 !important; +} + +#g-content .g-hover-item h2, +#g-content .g-hover-item .g-metadata { + display: block; +} + +#g-content #g-album-grid #g-place-holder { + position: relative; + visibility: hidden; + z-index: 1; +} + +/* Search results ~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-content #g-search-results { + margin-top: 1em; + padding-top: 1em; +} + +/* Individual photo content ~~~~~~~~~~~~~~ */ + +#g-item { + position: relative; + width: 100%; +} + +#g-item #g-photo, +#g-item #g-movie { + padding: 2.2em 0; + position: relative; +} + +#g-item img.g-resize, +#g-item a.g-movie { + display: block; + margin: 0 auto; +} + +/* Footer content ~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-footer #g-credits li { + padding-right: 1.2em; +} + +/* In-line editing ~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-in-place-edit-message { + background-color: #fff; +} + +/* Permissions ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-edit-permissions-form td { + background-image: none; +} + +#g-edit-permissions-form fieldset { + border: 1px solid #ccc; +} + +#g-permissions .g-denied { + background-color: #fcc; +} + +#g-permissions .g-allowed { + background-color: #cfc; +} + +#g-permissions .g-breadcrumbs a { + border: 1px solid #fff; +} + +#g-permissions .g-active a { + border: 1px solid #ddd; + background: #eee; +} + +/** ******************************************************************* + * 5) States and interactions + **********************************************************************/ + +.g-active, +.g-enabled, +.g-available, +.g-selected, +.g-highlight { + font-weight: bold; +} + +.g-inactive, +.g-disabled, +.g-unavailable, +.g-uneditable, +.g-locked, +.g-deselected, +.g-understate { + color: #ccc; + font-weight: normal; +} + +.g-editable { + padding: .2em .3em; +} + +.g-editable:hover { + background-color: #ffc; + cursor: text; +} + +.g-error, +.g-info, +.g-success, +.g-warning { + padding-left: 30px; +} + +form li.g-error, +form li.g-info, +form li.g-success, +form li.g-warning { + background-image: none; + padding: .3em .8em .3em 0; +} + +.g-short-form li.g-error { + padding: .3em 0; +} + +form.g-error input[type="text"], +li.g-error input[type="text"], +form.g-error input[type="password"], +li.g-error input[type="password"], +form.g-error input[type="checkbox"], +li.g-error input[type="checkbox"], +form.g-error input[type="radio"], +li.g-error input[type="radio"], +form.g-error textarea, +li.g-error textarea, +form.g-error select, +li.g-error select { + border: 2px solid #f00; + margin-bottom: .2em; +} + +.g-error, +.g-denied, +tr.g-error td.g-error, +#g-add-photos-status .g-error { + background: #f6cbca url('../../themes/wind/images/ico-error.png') no-repeat .4em 50%; + color: #f00; +} + +.g-info { + background: #e8e8e8 url('../../themes/wind/images/ico-info.png') no-repeat .4em 50%; +} + +.g-success, +.g-allowed, +#g-add-photos-status .g-success { + background: #d9efc2 url('../../themes/wind/images/ico-success.png') no-repeat .4em 50%; +} + +tr.g-success { + background-image: none; +} + +tr.g-success td.g-success { + background-image: url('../../themes/wind/images/ico-success.png'); +} + +.g-warning, +tr.g-warning td.g-warning { + background: #fcf9ce url('../../themes/wind/images/ico-warning.png') no-repeat .4em 50%; +} + +form .g-error { + background-color: #fff; + padding-left: 20px; +} + +.g-open { +} + +.g-closed { +} + +.g-installed { + background-color: #eeeeee; +} + +.g-default { + background-color: #c5dbec; + font-weight: bold; +} + +.g-draggable { + cursor: move; +} + +.g-draggable:hover { + border: 1px dashed #000; +} + +.ui-sortable .g-target, +.ui-state-highlight { + background-color: #fcf9ce; + border: 2px dotted #999; + height: 2em; + margin: 1em 0; +} + +/* Ajax loading indicator ~~~~~~~~~~~~~~~~ */ + +.g-loading-large, +.g-dialog-loading-large { + background: #e8e8e8 url('../../themes/wind/images/loading-large.gif') no-repeat center center !important; +} + +.g-loading-small { + background: #e8e8e8 url('../../themes/wind/images/loading-small.gif') no-repeat center center !important; +} + +/** ******************************************************************* + * 6) Positioning and order + **********************************************************************/ + +.g-left { + clear: none; + float: left; +} + +.g-right { + clear: none; + float: right; +} + +.g-first { +} + +.g-last { +} + +.g-even { + background-color: #fff; +} + +.g-odd { + background-color: #eee; +} + +/** ******************************************************************* + * 7) Navigation and menus + *********************************************************************/ + +/* Login menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-banner #g-login-menu { + color: #999; + float: right; +} + +#g-banner #g-login-menu li { + padding-left: 1.2em; +} + +/* Site Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-site-menu { + bottom: 0; + left: 140px; + position: absolute; +} + +#g-site-menu ul { + margin-bottom: 0 !important; +} + +/* Context Menu ~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.g-context-menu { + background-color: #fff; + bottom: 0; + left: 0; + position: absolute; +} + +.g-item .g-context-menu { + display: none; + margin-top: 2em; + width: 100%; +} + +#g-item .g-context-menu ul { + display: none; +} + +.g-context-menu li { + border-left: none; + border-right: none; + border-bottom: none; +} + +.g-context-menu li a { + display: block; + line-height: 1.6em; +} + +.g-hover-item .g-context-menu { + display: block; +} + +.g-hover-item .g-context-menu li { + text-align: left; +} + +.g-hover-item .g-context-menu a:hover { + text-decoration: none; +} + +/* View Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-view-menu { + margin-bottom: 1em; +} + +#g-view-menu a { + background-repeat: no-repeat; + background-position: 50% 50%; + height: 28px !important; + width: 43px !important; +} + +#g-view-menu #g-slideshow-link { + background-image: url('../../themes/wind/images/ico-view-slideshow.png'); +} + +#g-view-menu .g-fullsize-link { + background-image: url('../../themes/wind/images/ico-view-fullsize.png'); +} + +#g-view-menu #g-comments-link { + background-image: url('../../themes/wind/images/ico-view-comments.png'); +} + +#g-view-menu #g-print-digibug-link { + background-image: url('../../themes/wind/images/ico-print.png'); +} + +/** ******************************************************************* + * 8) jQuery and jQuery UI + *********************************************************************/ + +/* Generic block container ~~~~~~~~~~~~~~~ */ + +.g-block { + clear: both; + margin-bottom: 2.5em; +} + +.g-block-content { +} + +/* Superfish menu overrides ~~~~~~~~~~~~~~ */ + +.sf-menu ul { + width: 12em; +} + +ul.sf-menu li li:hover ul, +ul.sf-menu li li.sfHover ul { + left: 12em; +} + +ul.sf-menu li li li:hover ul, +ul.sf-menu li li li.sfHover ul { + left: 12em; +} + +.sf-menu li li, +.sf-menu li li ul li { + background-color: #bdd2ff; +} + +.sf-menu li:hover { + background-color: #dfe9ff; +} + +/* jQuery UI Dialog ~~~~~~~~~~~~~~~~~~~~~~ */ + +.ui-widget-overlay { + background: #000; + opacity: .7; +} + +/* Buttons ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.g-button { + display: inline-block; + margin: 0 4px 0 0; + padding: .2em .4em; +} + +.g-button, +.g-button:hover, +.g-button:active { + cursor: pointer !important; + outline: 0; + text-decoration: none; + -moz-outline-style: none; +} + +button { + padding: 2px 4px 2px 4px; +} + +/* jQuery UI ThemeRoller buttons ~~~~~~~~~ */ + +.g-buttonset { + padding-left: 1px; +} + +.g-buttonset li { + float: left; +} + +.g-buttonset .g-button { + margin: 0; +} + +.ui-icon-left .ui-icon { + float: left; + margin-right: .2em; +} + +.ui-icon-right .ui-icon { + float: right; + margin-left: .2em; +} + +/* Rotate icon, ThemeRoller only provides one of these */ + +.ui-icon-rotate-ccw { + background-position: -192px -64px; +} + +.ui-icon-rotate-cw { + background-position: -208px -64px; +} + +.g-progress-bar { + height: 1em; + width: 100%; + margin: .5em 0; + display: inline-block; +} + +/* Status and validation messages ~~~~ */ + +.g-message-block { + background-position: .4em .3em; + border: 1px solid #ccc; + padding: 0; +} + +#g-action-status { + margin-bottom: 1em; +} + +#g-action-status li, +p#g-action-status, +div#g-action-status { + padding: .3em .3em .3em 30px; +} + +#g-site-status li { + border-bottom: 1px solid #ccc; + padding: .3em .3em .3em 30px; +} + +.g-module-status { + clear: both; + margin-bottom: 1em; +} + +.g-message { + background-position: 0 50%; +} + +/* Breadcrumbs ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.g-breadcrumbs { + clear: both; + padding: 0 20px; +} + +.g-breadcrumbs li { + background: transparent url('../../themes/wind/images/ico-separator.gif') no-repeat scroll left center; + float: left; + padding: 1em 8px 1em 18px; +} + +.g-breadcrumbs .g-first { + background: none; + padding-left: 0; +} + +.g-breadcrumbs li a, +.g-breadcrumbs li span { + display: block; +} + +#g-dialog ul.g-breadcrumbs { + margin-left: 0; + padding-left: 0; +} + +/* Pagination ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.g-paginator { + padding: .2em 0; + width: 100%; +} + +.g-paginator li { + float: left; + width: 30%; +} + +.g-paginator .g-info { + background: none; + padding: .2em 0; + text-align: center; + width: 40%; +} + +/* Dialogs and panels ~~~~~~~~~~~~~~~~~~ */ + +#g-dialog { + text-align: left; +} + +#g-dialog legend { + display: none; +} + +#g-dialog .g-cancel { + margin: .4em 1em; +} + +#g-panel { + display: none; + padding: 1em; +} + +/* Inline layout ~~~~~~~~~~ */ + +.g-inline li { + float: left; + margin-left: 1.8em; + padding-left: 0 !important; +} + +.g-inline li.g-first { + margin-left: 0; +} + +/* Autocomplete ~~~~~~~~~~ */ + +.ac_loading { + background: white url('../../themes/wind/images/loading-small.gif') right center no-repeat !important; +} + diff --git a/docs/gallery/combined/javascript/8f775324b5a6bc3d51e9d542f7ae8420 b/docs/gallery/combined/javascript/8f775324b5a6bc3d51e9d542f7ae8420 new file mode 100644 index 0000000..a5fbe1c --- /dev/null +++ b/docs/gallery/combined/javascript/8f775324b5a6bc3d51e9d542f7ae8420 @@ -0,0 +1,2128 @@ +/* lib/json2-min.js */ +/* + http://www.JSON.org/json2.js + 2010-11-17 + + Public Domain. + + NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. + + See http://www.JSON.org/js.html +*/ + +if(!this.JSON){this.JSON={};} +(function(){"use strict";function f(n){return n<10?'0'+n:n;} +if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+'-'+ +f(this.getUTCMonth()+1)+'-'+ +f(this.getUTCDate())+'T'+ +f(this.getUTCHours())+':'+ +f(this.getUTCMinutes())+':'+ +f(this.getUTCSeconds())+'Z':null;};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};} +var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';} +function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);} +if(typeof rep==='function'){value=rep.call(holder,key,value);} +switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';} +gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==='[object Array]'){length=value.length;for(i=0;i)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
    "]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
    ","
    "]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +/* + * Sizzle CSS Selector Engine - v0.9.3 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

    ";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
    ";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
    ").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
    ';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); +/* lib/jquery.form.js */ +/* + * jQuery Form Plugin + * version: 2.28 (10-MAY-2009) + * @requires jQuery v1.2.2 or later + * + * Examples and documentation at: http://malsup.com/jquery/form/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ +;(function($) { + +/* + Usage Note: + ----------- + Do not use both ajaxSubmit and ajaxForm on the same form. These + functions are intended to be exclusive. Use ajaxSubmit if you want + to bind your own submit handler to the form. For example, + + $(document).ready(function() { + $('#myForm').bind('submit', function() { + $(this).ajaxSubmit({ + target: '#output' + }); + return false; // <-- important! + }); + }); + + Use ajaxForm when you want the plugin to manage all the event binding + for you. For example, + + $(document).ready(function() { + $('#myForm').ajaxForm({ + target: '#output' + }); + }); + + When using ajaxForm, the ajaxSubmit function will be invoked for you + at the appropriate time. +*/ + +/** + * ajaxSubmit() provides a mechanism for immediately submitting + * an HTML form using AJAX. + */ +$.fn.ajaxSubmit = function(options) { + // fast fail if nothing selected (http://dev.jquery.com/ticket/2752) + if (!this.length) { + log('ajaxSubmit: skipping submit process - no element selected'); + return this; + } + + if (typeof options == 'function') + options = { success: options }; + + var url = $.trim(this.attr('action')); + if (url) { + // clean url (don't include hash vaue) + url = (url.match(/^([^#]+)/)||[])[1]; + } + url = url || window.location.href || '' + + options = $.extend({ + url: url, + type: this.attr('method') || 'GET' + }, options || {}); + + // hook for manipulating the form data before it is extracted; + // convenient for use with rich editors like tinyMCE or FCKEditor + var veto = {}; + this.trigger('form-pre-serialize', [this, options, veto]); + if (veto.veto) { + log('ajaxSubmit: submit vetoed via form-pre-serialize trigger'); + return this; + } + + // provide opportunity to alter form data before it is serialized + if (options.beforeSerialize && options.beforeSerialize(this, options) === false) { + log('ajaxSubmit: submit aborted via beforeSerialize callback'); + return this; + } + + var a = this.formToArray(options.semantic); + if (options.data) { + options.extraData = options.data; + for (var n in options.data) { + if(options.data[n] instanceof Array) { + for (var k in options.data[n]) + a.push( { name: n, value: options.data[n][k] } ); + } + else + a.push( { name: n, value: options.data[n] } ); + } + } + + // give pre-submit callback an opportunity to abort the submit + if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) { + log('ajaxSubmit: submit aborted via beforeSubmit callback'); + return this; + } + + // fire vetoable 'validate' event + this.trigger('form-submit-validate', [a, this, options, veto]); + if (veto.veto) { + log('ajaxSubmit: submit vetoed via form-submit-validate trigger'); + return this; + } + + var q = $.param(a); + + if (options.type.toUpperCase() == 'GET') { + options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q; + options.data = null; // data is null for 'get' + } + else + options.data = q; // data is the query string for 'post' + + var $form = this, callbacks = []; + if (options.resetForm) callbacks.push(function() { $form.resetForm(); }); + if (options.clearForm) callbacks.push(function() { $form.clearForm(); }); + + // perform a load on the target only if dataType is not provided + if (!options.dataType && options.target) { + var oldSuccess = options.success || function(){}; + callbacks.push(function(data) { + $(options.target).html(data).each(oldSuccess, arguments); + }); + } + else if (options.success) + callbacks.push(options.success); + + options.success = function(data, status) { + for (var i=0, max=callbacks.length; i < max; i++) + callbacks[i].apply(options, [data, status, $form]); + }; + + // are there files to upload? + var files = $('input:file', this).fieldValue(); + var found = false; + for (var j=0; j < files.length; j++) + if (files[j]) + found = true; + + var multipart = false; +// var mp = 'multipart/form-data'; +// multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp); + + // options.iframe allows user to force iframe mode + if (options.iframe || found || multipart) { + // hack to fix Safari hang (thanks to Tim Molendijk for this) + // see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d + if (options.closeKeepAlive) + $.get(options.closeKeepAlive, fileUpload); + else + fileUpload(); + } + else + $.ajax(options); + + // fire 'notify' event + this.trigger('form-submit-notify', [this, options]); + return this; + + + // private function for handling file uploads (hat tip to YAHOO!) + function fileUpload() { + var form = $form[0]; + + /* (this breaks the watermark form uploader, turn it off for now) + if ($(':input[name=submit]', form).length) { + alert('Error: Form elements must not be named "submit".'); + return; + } + */ + + var opts = $.extend({}, $.ajaxSettings, options); + var s = $.extend(true, {}, $.extend(true, {}, $.ajaxSettings), opts); + + var id = 'jqFormIO' + (new Date().getTime()); + var $io = $('
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +What is Classic Shell? +History +
    +
    +
    +News +More news +
    +
    +
    +Classic Shell™ is free software that improves your productivity, enhances the usability of Windows and empowers you to use the computer the way you like it. The main features are: +
      +
    • Highly customizable start menu with multiple styles and skins
    • +
    • Quick access to recent, frequently-used, or pinned programs
    • +
    • Find programs, settings, files and documents
    • +
    • Start button for Windows 7, Windows 8, Windows 8.1 and Windows 10
    • +
    • Toolbar and status bar for Windows Explorer
    • +
    • Caption and status bar for Internet Explorer
    • +
    +
    + +The latest stable version of Classic Shell is 4.3.1
    + + + + + + + + +
    +
    +
                 + + +
    + + + + + + + + + +
    +Thank you for your support +
    + + + + + + + +
    + + + + +
    Download translated versions
    Download older versions
    Download mirror at Mediafire
    +
    + + + + + + + + + + + + +
    Follow Classic Shell on Facebook +
    +
    Classic Shell on Facebook +
    +
    +
    Classic Shell on SourceforgeClassic Shell on Sourceforge
    +
    +
    +Visit the Classic Shell forum to find custom menu skins and start buttons. +

    +If you are having problems uninstalling or upgrading Classic Shell, please read this forum post.
    +
    +As of December 2017, Classic Shell is no longer in active development. More details here. +
    +
    +
    + + + +

    Dec 3rd, 2017 - Classic Shell is no longer actively developed

    +After 8 years I have decided to stop developing Classic Shell. The source code for the latest version is released on SourceForge. More details here. +


    + +

    Aug 12th, 2017 - General release 4.3.1 is out

    +It officially supports the Creators Update for Windows 10. More details here. +


    + +

    Jul 30th, 2016 - General release 4.3.0 is out

    +It officially supports the Anniversary Update for Windows 10. More details here. +


    + +

    May 22nd, 2016 - Beta version 4.2.7 is out

    +QFE fix for a crash bug in beta version 4.2.6 that affects 32-bit Windows 10. +


    + +

    May 21st, 2016 - Beta version 4.2.6 is out

    +It improves support for Windows 10 Redstone, adds taskbar skinning, menu animations, and many new features. More details here. +


    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + +
    +
    +Classic Start Menu +See all features +
    +
    +
    +Classic Explorer +See all features +
    +
    +
    +

    Choose between 3 different styles: 

    + +
    +
    +
    + +
    + +
    + +
    + +
    + +
    +
    +
    +
    +The Classic Start Menu is compatible with:
    +
    +Download DisplayFusion from here +
    + +
    +
    +

    Many usability improvements to Explorer (every feature can be turned on or off):

    + +

    +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + +
    +
    +
    +Get Help +
    + +
    +
    +
    +Testimonials +More +
    +
    +"So happy to find this program. Very well made with lots of options. Makes Windows 7 worth using. Saves me from daily frustration. Thank you so much!"
    +Eric
    +
    +"Brilliant! No more frustration, I can work just like I used to! Thank you!"
    +Anonymous Donor
    +
    +
    +
    +
    +
    +System Requirements +
    +
    +Classic Shell works on Windows 7, Windows 8, Windows 8.1, Windows 10 and their server counterparts (Windows Server 2008 R2, Windows Server 2012, +Windows Server 2012 R2, Windows Server 2016). Both 32 and 64-bit versions are supported. The same installer works for all versions.
    +Note: Windows RT is not supported.
    +
    +
    +
    +
    +
    +
    +
    +Friends of Classic Shell +
    +
    +
    +
    +Here are some of the people, who made significant contributions to the Classic Shell project:
    + + + +
    + Gaurav Kale - testing, feature requests and user experience consultant
    + Jcee - testing, feature requests, forum moderator
    + JohnEdwa - custom skins and feature requests
    + Loginvovchyk - Russian translation, documentation and installer
    + Andreas Roth - German translation
    + BasCom - German translation
    + CGpingu - German translation
    + largo - French translation
    + Ted - Swedish translation
    + W. Jordan (Zuo Weiming) - Simplified Chinese translation
    + Zsolt Brechler - Hungarian translation
    + Javier Ballesteros - Spanish translation
    + alan (stable.com.tw) - Traditional Chinese translation
    + Michal Várady - Czech translation
    + Awadh - Arabic translation
    + Stephanie Jones - Greek translation
    + Robert - Slovak translation
    + Igor Rückert - Brazilian Portuguese translation
    + Fred van Waard - Dutch translation
    + Federico Bertagna, aka Sleeping - Italian translation
    + bovirus - Italian translation
    + Francisco Gonzalez Galan - Spanish translation
    + pCsOrI - Korean translation
    + milksizegene - Japanese translation
    + Barnaba - Polish translation
    + Fabien COMMAN - French translation
    + Andrei David - Romanian translation
    + akerbeltz - Scottish translation
    + IRIman - Persian translation
    + pepdolesa - Catalan translation
    + Calemk - Macedonian translation
    + Daril - Spanish translation
    + Galaldurian - Spanish translation
    + TMTisFree - French translation
    + + + + +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    License Agreement  |  Privacy policy  |  Contact infoClassic Shell © 2010-2017, Ivo Beltchev.
    All right reserved.
    + + + + + + + diff --git a/docs/privacy/index.html b/docs/privacy/index.html new file mode 100644 index 0000000..347675d --- /dev/null +++ b/docs/privacy/index.html @@ -0,0 +1,135 @@ + + + + + +Classic Shell: Privacy Policy + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + + + + + + + +
    + + + + + +

    +
    + + + + + + + + +
    + +

    + + + +Classic Shell: Privacy Policy + +

    +

    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + + +
    + + + + +
    + + + + +
    +

    Classic Shell software

    +
      +
    • Start Menu: The start menu may collect information about the programs you are using to the extent necessary for the software to function. The information is used to maintain the most-recently used list in the start menu and to prioritize search results as they are displayed. None of this information is transmitted outside of your computer.
    • +
    • Auto-update: The auto-update feature periodically connects to the Classic Shell server to check for new versions. This is done without transmitting any personal information.
    • +
    • Log files: The Classic Shell software may collect log information for troubleshooting purposes. Release versions save logs files only when enabled by the user. Beta versions save log files all the time. The log files are never transmitted outside of your computer. If you report a problem with the software you may be asked to share those files to help resolve the issue.
    • +
    +
    + +

    Classic Shell forums

    +
      +
    • Email Address: Your email address will only be used for registration purposes and to notify you of new messages as configured. You can change your notification preferences from the User Control Panel. Your email address will not be sold or shared with other parties except when required by law.
    • +
    • Public Information: Any information you share in your public profile and any messages you post on the forums is public information. Classic Shell is not responsible for the use any third parties may make of this information.
    • +
    • Cookies: The forum software may keep cookies (small text files) on your computer. They are used for the purpose of storing your preferences and help with sign in. You can choose to block or delete the cookies using your browser's settings. However it may adversely affect your experience on this website.
    • +
    • Age restriction: The Classic Shell forums are not intended for individuals under the age of 13. Children under the age of 13 should not access this site or provide any personal information to this site without parental consent.
    • +
    +
    +
    + + +
    +
    +
    + + + + + + + + + + + +
    Classic Shell © 2010-2017, Ivo Beltchev.
    All right reserved.
    +
    + + + + diff --git a/docs/testimonials/index.html b/docs/testimonials/index.html new file mode 100644 index 0000000..bde8869 --- /dev/null +++ b/docs/testimonials/index.html @@ -0,0 +1,214 @@ + + + + + +Classic Shell: Testimonials + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + + + + + + + +
    + + + + + +

    +
    + + + + + + + + +
    + +

    + + + +Classic Shell: Testimonials + +

    +

    +
    + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + + +
    + + + + +
    + + + +
    +

    Here's +what people say about Classic Shell

    +
    +
    +

    “So happy to find this program. Very well made +with lots of +options. Makes Windows 7 worth using. Saves me from daily frustration. +Thank you so much!” +
    + Eric

    +
    +

    “A MUST HAVE for anyone who has become +aggravated by Microsoft's +relentless efforts to steer users away from the clarity of the file +management concept that made the initial success of Windows, based on +what information really is and how it is actually stored on a computer +and how humans classify it in real life.” +
    + Old Faithful

    +
    +

    “This is one of the "can't-do-without" +programmes for me, and I +guess anyone who wants to actually *use* their computer, and not let +their computer train them. Ever squinted trying to find the programme +you wanted to launch, looking into the default "All Programs" list? +Ever tried to go 'up' one level in Windows Explorer, and all you +managed was to go 'back'? Ever missed the clarity of the Windows XP +start menu? Or the cascading "Programs" list? Well, despair no more, +for Classic Shell is the answer to your prayers! Rejoice, my brothers +and sisters! :) ” +
    + skagon

    +
    +

    “ibeltchev - you have made Windows 7 behave the +way I want - a +way that is efficient - and conducive to productivity. Thank you so +much for your amazing work - and for sharing it with the community. You +have made my time on my laptop (many many many hours a day) much less +stressful; much more enjoyable!” +
    + Free

    +
    +

    “I could throw together volumes of technopraise +poetry or song, +but why waste so much time? Press the "Download Now!" - now. This app +makes me feel better every time I use my computer. Isn't it time for +you to feel better too?” +
    + Scott Piazza

    +
    +

    “so funny the project is !” +
    + Xia Zheng Xin

    +
    +

    “Just what I needed, to work as efficient with +the keyboard as under any previous Windows version.
    +THANK YOU!!!
    +Finding this made my day!” +

    + U. Nesshoever

    +
    +

    “Fantastic, It will replace all start menus of +our PC's and servers. Great job.” +
    + failey

    +
    +

    “Brilliant! No more frustration, I can work +just like I used to! Thank you!” +
    + Anonymous Donor

    +
    +

    “This program is a total necessity with Windows +7. I can't say enough good things. Thanks!” +
    + hsparks

    +
    +

    “Ivo for President” +
    + Jesse Snyder

    +
    +

    Classic Shell reviews
    +

    + +

    TechRepublic - Put the Classic Start menu in Windows 7 with Classic Shell

    +

    How-To GeekClassicShell Adds Classic Start Menu and Explorer Features to Windows7

    +

    Lifehacker - Classic Shell Brings the Old Start Menu Back to Windows 7

    +

    Download Squad - Classic Shell now makes Internet Explorer 9 look like IE8

    +

    SnapFiles - Restore Several Classic Windows Features

    +

    7 Tutorials - Fix Windows Explorer Annoyances with Classic Shell

    +

    gHacks - Classic Shell, Add Dropped Features To Newer Windows Versions

    +

    PCMag - Classic Shell Brings the XP Start Menu to Windows 7

    +

    Tweaking with Vishal - Classic Shell articles

    +

    Komputer Swiat - Classic Shell 4.1.0

    +

    FindMySoft - classic-shell.findmysoft.com

    +

    GIGA SOFTWARE - Classic Shell: Altes Startmenü in Windows 7/Vista und mehr

    +

    FilesRiver - Classic Shell Freeware Download and Review

    +
    +
    + + +
    +
    +
    + + + + + + + + + + + +
    Classic Shell © 2010-2017, Ivo Beltchev.
    All right reserved.
    +
    + + + + diff --git a/docs/translations/index.html b/docs/translations/index.html new file mode 100644 index 0000000..8a034c1 --- /dev/null +++ b/docs/translations/index.html @@ -0,0 +1,444 @@ + + + + + +Classic Shell: Translations + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + + + + + + + +
    + +
    +

    Translations

    +The main Classic Shell package includes +translations in 35 languages for things like the toolbar labels, the +Explorer UI and the start menu items.
    +By default things like the +settings UI, help files and the installer are only in English. Thanks +to some helpful users, those areas of Classic Shell have been +translated to other languages.
    +
    +

    Installer Translations

    +The installer has been translated for the following languages:
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Language
    +
    Version
    +
    File
    +
    Contributors
    +
    Chinese (Simplified)
    +
    4.3.1
    +
    ClassicShellSetup_4_3_1-zhCN.exe
    +
    by W. Jordan (Zuo Weiming)
    +
    Chinese (Traditional)
    +
    4.3.1
    +
    ClassicShellSetup_4_3_1-zhTW.exe
    +
    by alan (stable.com.tw), china591
    +
    French
    +
    4.3.1
    +
    ClassicShellSetup_4_3_1-fr.exe
    +
    by Fabien COMMAN, TMTisFree
    +
    German
    +
    4.3.1
    +
    ClassicShellSetup_4_3_1-de.exe
    +
    by CGpingu
    +
    Italian
    +
    4.3.1
    +
    ClassicShellSetup_4_3_1-it.exe
    +
    by bovirus and Federico Bertagna, aka Sleeping
    +
    Polish
    +
    4.3.1
    +
    ClassicShellSetup_4_3_1-pl.exe
    +
    by Barnaba
    Russian
    +
    4.3.1
    +
    ClassicShellSetup_4_3_1-ru.exe
    +
    by Loginvovchyk
    Spanish
    +
    4.3.1
    +
    ClassicShellSetup_4_3_1-es.exe
    +
    by Galaldurian, Daril
    +
    +

    Group Policies

    +The group policy settings for Classic Shell are translated into Bulgarian, French, German, Hungarian, Italian, Japanese, Polish, Portuguese, Russian, Swedish, Turkish, Chinese. Download the latest version from here: +PolicyDefinitions.zip +
    +
    +

    Additional Languages

    +If there is no installer for your language, you can download an additional language file to translate the settings. The best way to install the file is from the Language tab in the settings. +If there is an update for the selected language you will get a message at the bottom. Click on the link to install the update:
    +
    +
    +
    +You can also manually download and install the update. These are the files available for the latest version 4.2.4:
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Language
    +
    Supported versions
    +
    File
    +
    Contributors
    +
    Bulgarian
    +
    4.3.1
    +
    bg-BG.DLL
    +
    by Ivo
    +
    Chinese (Simplified)
    +
    4.3.1
    +
    zh-CN.DLL
    +
    by W. Jordan (Zuo Weiming)
    +
    Chinese (Traditional)
    +
    4.3.1
    +
    zh-TW.DLL
    +
    by alan (stable.com.tw)
    +
    Dutch
    +
    4.3.1
    +
    nl-NL.DLL
    +
    by Fred van Waard
    +
    French
    +
    4.3.1
    +
    fr-FR.DLL
    +
    by largo, Fabien COMMAN, TMTisFree
    +
    German
    +
    4.3.1
    +
    de-DE.DLL
    +
    by Andreas Roth, BasCom, CGpingu
    +
    Hungarian
    +
    4.3.1
    +
    hu-HU.DLL
    +
    by Zsolt Brechler (lostprophet)
    +
    Italian
    +
    4.3.1
    +
    it-IT.DLL
    +
    by bovirus and Federico Bertagna, aka Sleeping
    +
    Korean
    +
    4.3.1
    +
    ko-KR.DLL
    +
    by pCsOrI
    +
    Polish
    +
    4.3.1
    +
    pl-PL.DLL
    +
    by Barnaba
    +
    Portuguese (Brazilian)
    +
    4.3.1
    +
    pt-BR.DLL
    +
    by Igor Rückert
    +
    Russian
    +
    4.3.1
    +
    ru-RU.DLL
    +
    by Loginvovchyk, montonero
    +
    Spanish
    +
    4.3.1
    +
    es-ES.DLL
    +
    by Daril
    +
    Swedish
    +
    4.3.1
    +
    sv-SE.DLL
    +
    by Ted
    +
    Persian
    +
    4.2.5 - 4.3.0
    +
    fa-IR.DLL
    +
    by IRIman
    +
    Romanian
    +
    4.2.5 - 4.3.0
    +
    ro-RO.DLL
    +
    by Andrei David
    +
    Czech
    +
    4.2.1 - 4.3.0
    +
    cs-CZ.DLL
    +
    by Michal Várady
    +
    Japanese
    +
    4.2.1 - 4.3.0
    +
    ja-JP.DLL
    +
    by milksizegene
    +
    Turkish
    +
    4.2.1 - 4.3.0
    +
    tr-TR.DLL
    +
    by Sabri Erkin
    +
    + +
    + +After you download the DLL file you need to place it either in the Classic Shell's install folder or in the %ALLUSERSPROFILE%\ClassicShell\Languages folder.
    +Note: a DLL will only work for the versions of Classic Shell shown in the table. Make sure you download the right file for your version.
    +
    +
    + +
    +You can download DLLs for older versions from here: http://classicshell.mediafire.com/folder/zzaraqk8uypvp/Translations
    +
    +If you want to contribute a translation for another language, please +visit the Translations forum for more information.
    +
    +
    + + + + + + + + + + + + + +
    + Flag icons by www.icondrawer.com + + Classic Shell © 2010-2017, Ivo Beltchev.
    All right reserved. +
    +
    + + + + diff --git a/docs/tutorials/buttontutorial.html b/docs/tutorials/buttontutorial.html new file mode 100644 index 0000000..9a65ab5 --- /dev/null +++ b/docs/tutorials/buttontutorial.html @@ -0,0 +1,259 @@ + + + +Classic Shell: Custom Start Buttons + + + + + + + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + + + + + + + +
    + + + + + +

    +
    + + + + + + + + +
    + +

    + + Classic Shell: Custom Start Buttons + +

    +

    +
    + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + +

    +

    +

    +
    +
    + + + + + +
    + + +

    Simple Start Buttons

    + A custom start button requires an image that contains 3 distinct parts +- one for the normal state of the button, one for the hot state (when +the mouse is over the button), and one for the pressed state. + The 3 parts must be the same size.
    +
    +
    +
    By default the width of the start button equals the width of the +image. The height of the button is the height of the image divided by +3. You can scale the image by overriding the width of the button from +the Classic Shell settings. The height will be adjusted to preserve the +aspect ratio.
    +
    +The image must be saved in either PNG or BMP format (including 32-bit +BMP files). For best results use an image editor that supports +transparency, like Photoshop, Gimp or Paint .NET.
    +
    +

    Where to download

    +You can find many start button images on the Internet. Here are some of the places:
    +
    + http://www.classicshell.net/forum/viewforum.php?f=18
    +
    + http://www.sevenforums.com/themes-styles/34951-custom-start-menu-button-collection.html
    +
    + http://www.sevenforums.com/customization/78291-big-group-custom-start-orbs.html
    +
    + http://tutoriales13.deviantart.com/art/Orbs-153450418
    +
    + http://www.deviantart.com/?q=start+button+orb
    +
    +

    Animated Buttons
    +

    +Classic Shell version 4.0.5 introduces the support for animated start +buttons. They contain animated transitions between the different states.
    +
    +The animated image consists of +one or more rows of pixels that describe the animation, followed by one +or more button frames. The description rows need to be fully opaque +(A=255). The frames are counted from 0 – frame0, frame1, …. All frames +must be the same size.
    +
    +
    +

    +

    Main information (stored in the first 6 pixels)
    +

    +The first two pixels of the first row need to be:
    +Pixel 0: color R=65, G=78, B=77 (This is the text ANM in ASCII)
    +Pixel 1: color R=66, G=84, B=78 (This is the text BTN in ASCII)
    +They allow the start button to recognize that this image contains animation.
    +
    +The next pixel describes the number of frames and the number of description rows:
    +Pixel 2: +The red channel contains the number of description rows (usually 1). +The blue channel contains the number of total frames in the bitmap +(this limits the number of frames to 255).
    +If one row is not enough to describe the animations, it can continue on two or more rows.
    +The contents of this pixel and the total size of the image determine +the size of the individual frame. The number of description rows (red +channel) is subtracted by the total height of the image, and then it is +divided by the number of frames (blue channel).
    +
    +The next 3 pixels contain the frames for the 3 distinct states of the start button – Normal, Hot and Pressed.
    +Pixel 3: The blue channel contains the index of the frame for the Normal state (usually 0)
    +Pixel 4: The blue channel contains the index of the frame for the Hot state
    +Pixel 5: The blue channel contains the index of the frame for the Pressed state
    +
    +
    +

    +

    Transitions

    +The rest of the pixels describe the transitions between the different states, in this order:
    +
      +
    1. Normal to Hot
    2. +
    3. Hot to Normal
    4. +
    5. Normal to Pressed
    6. +
    7. Pressed to Normal
    8. +
    9. Hot to Pressed
    10. +
    11. Pressed to Hot
    12. +
    +The blue channel of the first pixel of each transition contains the +duration of the animation in 1/60th of a second (so 60 means 1 second). +If this is 0, then there is no transition.
    +The green channel contains the number of frame ranges that follow. If +this is 0, then the transition is a direct transition from the start +state to the end state.
    +The red channel is 1 for the default behavior to cross-blend between frames and 0 to disable blending.

    +The next few pixels contain pairs or frame ranges that make up the +animation between the states. Their count is in the green channel of +the first pixel of the transition. The first frame in the range is in +the blue channel and the last frame is in the red channel. If the first +and last frame of the range are different, then both frames and all +frames between them are included.
    +
    +If the first and the last frame are the same, then the range identifies +a single frame. This allows for precise selection of each frame of the +animation.
    +
    +
    +
    +In this example the Normal to Hot animation contains frames from 0 to +10. They play for 0.3 seconds and allow blending between frames. The +Hot to Normal animation is the same but in reverse - it plays from +frame 10 to frame 0.
    +The other 4 transitions are empty.
    +
    +

    Classic Shell Limitations

    While the format is very flexible and +allows for custom animations between all states, Classic Shell does not +support all features.
    +
      +
    1. It only supports animations between the Normal +and Hot states. Any transitions involving the Pressed state are instant +to improve responsiveness
      +
      +
    2. +
    3. The animations between Normal and Hot must use +the same (or similar) frames in both directions. Potentially the two +transitions can play at different speed. The reason is that at any +point during the animation it can be interrupted and the opposite +animation will start from the current frame. This can happen when the +mouse moves in and out of the start button
      +
    4. +
    + +
    The system also allows you to create a button with a single image. +Just set pixels from 3 to 11 to 0. Then frame 0 will be used for all +states.
    +
    +
    + +
    + +
    +
    + + + + + + + + + + + +
    Classic Shell © 2010-2015, Ivo Beltchev.
    All right reserved.
    +
    + + + + \ No newline at end of file diff --git a/docs/tutorials/images/button0.png b/docs/tutorials/images/button0.png new file mode 100644 index 0000000000000000000000000000000000000000..3d1fffef3ce8bf8d74b5d7e394f3d97050af8951 GIT binary patch literal 17104 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 JRSh-{{2!*Os9pd7 literal 0 HcmV?d00001 diff --git a/docs/tutorials/images/button1.png b/docs/tutorials/images/button1.png new file mode 100644 index 0000000000000000000000000000000000000000..e89b8c1bc6e3be1ee358024400578634575991b5 GIT binary patch literal 59721 zcmZU41yEbj)^3mj#VN(z-Q9{7cQ5Yl?pmZ+ahD>&rAUzC?iQ?g(ICa$UwZHVzj-rn zlFZ3DC$sn2Yk$kWwen3>Sq2T65E%dfpvlQfsRIBoMgRb8DiSR8N=$IJ=O`NlKEtxH((dI#>b#J}Y?|)|wiJxFUBO z*AfcRA*l+^>NrT`>JqUbACqVqDc)nsM^h9o%-GYGf3f{y$KC$qD`@Exr1~naaT>7)2{m1oON}Q4wL*dv>reRbz|ht% zt5_&9wF>|fsnLSM{e=n!a33Tr%tYCP*ad*`nL|MW^eE-@uoFkUVH`OK$pU`10D7h{Q5pb9r~r1g=m-V? zyg$HXgo?@s@HGqYQTkFx_=2ex6T%3UR91s<8@0gaP<Awmctj;}>Dr|>pLC_g;!Vyzl5#6W-_hbuZ)F8^fnxiGP9d3kSl_qY6j zgudyRPT;F`pK*`Qi^D^Z@blfxpRR4{P)@^88Tk7@eG}J;K;r4-_g~G{_P@(Kx1hW| zlgv>L$eFe2GJf1q`{0@&l^u7*38efck<2hi1AepE-ei7)`?Sde_-XeE#y^Rr+|V5E zR)G#v*Q00q4gk1pckZ31M}iBn3E!IbemfI=k@-Ob2(gk&b_D>8q^Man#~MY4kpKXx zAEAst#fh$a@tJ!Nh!++l1mXcSb-=5>0e1gBLL2@=g1Bjj?~ZwHIaE#kYrmqAK_Q& zB9s{m5032bxIc1c+?ohQ;&=-oGgUSiE8jm!4zu?h;3IMkIIy!0^-I+AGrvzUAFrpZ zMy(nm{Ha|H*Z%Fse7fEn{zK^Jp7*@)-V)@dq~fx=in_|bWy{HlskyOM-t)bO`>NJQ zN10Nt&_w$S>tO)jjFTfuSC*M-@xym)HcbC$$pJp<58os?>Dm%u+^)Wknf<4SV z?mYy{OippF;%xQx@_e8$6pk+qwgf zUs&sDq{U;U5hI&sMP+H_MkR{YmDafC_X;D8z*=c7E{&av_w(sh zT9tXK#~MT$))hkKQI*!^&YGenL0?|JA$;jq>{pR2QTtJEywfp6j$%&G=)+85k5(1w z8Ok$2TR*uR;KkUU`9jhjD^gieC?Lrt&!y9-ewAt^inx>MdY|i|{2oGImT?snv+?na zVVi-dlv}Zl!_vUMGCd<*w@S83txD#&lehMyEU&clbNiR4P;~KOc{&3+8SC#;@A4oT z%Npxt$Yr=nB7!%ytd;gaqQZ75?{25E)6D!XqmX<>=dumoPRJv1Alr-Pi{oS2jSQ+T zLL(|Q!Yb+%zVINAtFtf(+wkgznxtXBm?Y3N%`{`{Yf{^+aPfk4yfj9f?U2C^^^W6^ z<4`dz0xbotg3^)FX|}pjTPZ`SkfM;{@Z`i~(d1$lPmT!35+@`FlCzYv*rP`%|K{3h#vW%Fu+7uRnUk@`vu<+_zlx6irVuvHn(>J>hiGVhq;pr^ zgryXIw4bF`(#uI!!Eh8=CD*ev+#u1y6 z!BlS+Z+>sHfU*!87;Ct1q2i(Xuuu1X0TkT{qJpcIw++iD;&DIP#Bs#Ght-7b_0~|> zjQmZkp}2!&P9;s*qDQC(9W2fun(mv%_6MQTMMOpDM2aT3MC%gHa%Av$&#p$yL;L z-ZsjPKVBx=h@p#b;Z)ysL>X=c>j!4RbTP$fW&YH2aZJW?+&G#`Y;T$bWZyoLK5I(0 zS>D;`-;xH5q{^4Fj7omVf0H_Re5nVyfXsVsU+F3mI~36r*K-8(akIV19XUk=J2}FW zlM-DeDk+pwnyrtl_pQ9ft1TlMUI(3GTi8g`5J&AB6RY2SVL@(|C_T{BqhDe~Y_PV} zvFe`uHYSi>mCrPJGSN7;n#h-XR`7Q6q3^?1ax*YeL5GDzcfYgRPM|^9)pr$n2j?AA zq&7meaBEC6qvL`~)rn36ID#8R$-E z%PUQ2o7zn$H@BZx*)k^SSKGszCEJR-gmbvmd#Bk` zBL9wC?!ODG`W<&KpGLb@wP3WA7OWO5pX8nz??h|ARUY1_KRFuKC_B2I48wupUJ$9! zo0r<=7f8S&n(E&dnT}=9hsnBL^Ul0k(0I|b;&X?#sa&LdcMtF0Z{Crj39fj>`B!ft z&XIYMSd*~XNn~GUOXp~0Kk1w4|5BOwG`o1T;rA@FN`{fkE&Rn-{z`MycI7Z^F2(wC zIxa6QFEEJpVa;T-;YIaTL4k03Z`Zek1 zJBH-D?^)l+Bhey{^Z7ps2yBbGy&OK5Nlsf#)8^y77QK$w;^DFd-7g$3P0eP`7G_*# zq;xw50AG%JjtS~khx&#{yGDJuIE=2fpH6zc*Sty2iZ?M-b_2+R>ECP~>Tfh=%AQgP zQc~XF;WDqD&AC`sq46fXwYZWv08pP0@T8UkJtsGpRaXK4{Ad7xkZ=It;SG8`1OPnQ z0e~YD06;Jk0KjujHXf7)05&Y-q{KCSR{p;Dh8PZdp2gN_Y5AXV733p=N*2HBp%RLb zVN`Zto<=;#t)`9Wa$&Y1b)wt46gi&SC>P>Tg~Pe2iB#O2%ED!0plz!aaYssFE>kYA*A@_>j90dxH5IY z{2njI2FfQZH&&l2i;Hi1VCJ|`hjS#j0_)gb*xvfelmijLKV1qBaS{6ARV2-X^IKmZ)ANM5M4t-}4t<3%)Lve; zG*m*>v2SvBPg_k6(!ZQ-hl+1j_6FNAhk1;;dWF3oDQ6Vp1Z97DxT#*e5GAaR5JV z9#7QHs%u}m+P7q&Yl&nE_Vo!CA>^(J*gXk8(Ir7?AZurNTsSpadDZF1{y_vESk>2y zR&nJ-+zGtASAwp%z^1bkk_=sH8&Pns!8Oee;Rf#Q<(`ttr{(+K=C=)&b;{h#Uy>hs zF|rq{ZRza%ZkH!8f-t*p_3BMv=y7Tdk6(|w(?2~eC;48X3o4(kxsMw^#CQ*rG_>4} zY^uA>W)OWc_itfsP+J;9N#k#an_qmslgxI3Kq%=g`EZ)N2yDx65S zn!Ygnxbe1anPDg}3279sq zqHiB&Q7#<3k2;9VMKYvL1^rm+?z;Lnt#{J8<5(HB{xU(KWHYUh=e=_Pys0b$tw74y zel6P-yj6ZD?v&pz%BiyNDvJr6dx8<*3WD^*uU>k`JUgx z=ePdDIgS7CknS{1eZB(a**UIndCTL-fyH{fs8xOB;&DqiV^DR?OVDHAnI>ts9L`hG z)dW$g7HKyFxT1d*3m}iN{>SP0;$T(5_&%>(q2shF?lx*<*^>2_fZ%7fvdfl@U{qPj z!JJ7e^-*eoreTW#t4YR>QTb!nAHk`?IqtKA=053kPY;1OGjVS^m+s|DU81!U}hOy2$erhC0sOr;shZF4S zNUgQPv>O~m;GBs&D0MnSmO=VU9LI~S*0@>6=5?)+c`>nlCv5vAc<~ZaSI|%aof#@a zDLhDyu%kx=VqjI#G?Ag&)}KgOLdutzCJAX?6Qcu zmGC=%bhoWj^?fe=8}s&a1p<9E;fAO~ly2;Ao_iNL((Ysr?QGwhR_zMN(4FWv-mD|q z*~rk~jBgmB%DP=wJ89tIKG&fl^L_H|xnWjglBm?S4inw!=f(phkPQ~O;t&|vj|i8Z zCA`x#sIbo_+-W)XaoX*X>GU-lvZ{PMUvY)YYTz@KJaj1XF8_C4oqWxvLMWy?#47lC zC*5&%W4{C;ZukVKfX%m-_%f=Z*X(G|^pTLvm-=SXd8oEEOr@aKz3tCdRMqCA_Ey7q zWP5wm$_g^sOSv~B&$%0Au@3T3@J%n(x_#$LbmwNHtTT-9*0!#Ps1zn-;gjgEKOmj+ zmJKqfVja9fQ3~Bk&g{nMuHudJM*ig?reK1=X{pZV6Wtl8##NaaL(yNX^KJUc!-JvH zZ1W(Nmvk(LUnHa4%=j8~E4bX?Tae(fHCeEDYBbikUVNs6?j+0nm<+XS#X7PcQ3q&J zWDu7s&sNsB#|G~K{U8efe%kC34LG7av`Hr#RqtAJg-MER^0<@jKtE0RYJ66t=JsKf ztD6|z37-e6&M)m~r_FOI~|6ectT08A-|F zNJ@hi<-5D5?uU4v)j66Xw*CW!eJ$LKXUb_WI=nyz&LXcn@W{+qFIutRg<#=a;g837 zqto*rk%NT0L3W z%=t}BL2`dWfQybV_x3rqQ<%?Wiz9u|q^1VyAfWG?E`D~*TEp?pp=xBU-z31{BDUZC zlFR*adEUiy?%y{3jiEXK^@IO#(Y)hWZ0NNHjQW+Ky%Z!$XdEppu}d{GYFEcz2@6$l z@cRAEh%Hq6j4X*0ZUHk-oF6Xso%Rg9c8b&1luLK=<^=UugIa>FijR5IDi z9Z@LoAtU&1k#QVT_>jI2&5ktN%ABW~!emIPlzxw($3RPca*rptlNtZ z_CdeAzRKP3`L4*KL;WXIc@L;$Mk8izw$I6Fp6XZCA?x=mp)Ut(T__wP@?;O5N^4s~ zERPTI$?t?$NzjGgX!Gpm*W*xZe|Shr9$Oe6MdkY!2HSjfxB3#s5hRO*zZ3Uw_|CyI7Q?cnXKxLmlkS} zv#s0L(L`f5O!-?2f9?B2AUGnepVujd;xt)h zZ=-^wxAqRcT0(6+G-N`@AmhYahdQ`4(q9yIH?whi)sW;L&RW-E`6r}G>(-)P`iF%? zMOef1jt{(fjSHVPPmKsg3Ku@ToeStd!yRU*?G1mM?}OSExwC^hsCy|*`wsP+3^8t0 zYC@O3FwPH6NwCs|@Bscs9jU{}SsThvZ(P7Ar)W|qZ??(W`|nF=is)ouB9e;uXyrkB z(J8gZkvbsMQ|(2)x!rH#CRpKaQpXY>`gl&>NsGFf&1OjJtKvKjw1eN_UwvK<1y|G_ zdU4+LWJ7@J%<>HEQc_~21TsZdYI&20)~o$5rpPeuQl2?>tAlhnKDe!aWKm%-F_S3V z`&Ai1)z+n#o!|tcoX&{JZ@8938?;f=uKYnrkJ@`se*=Y|QBFy&tdzUR1}G^0;_f^l zX+?m}@+{b{6P%5bQ0)XO@e}`0JMU?27cGTw7hq3D$-%W5Wq#|H<#)4FDV9gNv7tgUl!aijoc;KdVG$XoxV%?LqiBd1f1{|6uQ{W$q|C~A4G4tPUy_+;$op2#cH_z{GH^6UyjLx{c#NKe0(B-x1lbL$ zwJX&sJvLQqgZY4Ho`8L>v_nYK zsjS-Q9V}4=wP4C%_Iggap1OO%avU3p38EdxOmvUZGF!Uc0E1s8m>$s z)|3*)R8$dB3*qgUn zretfcyrTWb7a%4k29LRi{T>qw6YwGIEN0Tz%;Gl~XzFrnm4j;?gMmx;MG+eY6Ae$E zXL>0e&Ll3pm;DqjMoLhldO-r*_rU;ZSKD2k4kX;T^G6`%F;;6mQSmYP$!YR#t>;cG zX^=Qph}RpwQBLiTe;4GjmdM6Nz7!cIchYMb6eTFd16QjqC2tS3&o5xo`B2ehD-gbg zpBU-Dt8p7(5vL!9Qk%Ij_m@?Ws7dl|I*KosWBEp6+`FplIC(xHE&7XG0xsfI2ujno zHW&XK5Yd&rFC9;A6`%BvLJzy<>hE3zqog{V$Tha4EZATyXM)OpeAzB@?+;xP+oYb z>jVUN2{|1W2-a|!n`(`=rj0y;2w|{nrC7hd1IWwOSTsG4nR)ThNBw#2&)2x!WyG1D zRN9VD*HmXHl}*vsvv>69HQ`4nfq}8h&u}50@@>kF;lQ=amwPAZ5)lqmF9%JPwCPlR z?oX`Hlw{8TxCRRVrkyP@riH1;a1DJ!)1ooYu2S`P;w4=yQB}7s1ug0^%0$b9j(%i) zuw{>XGLQu7O_oAQz!7}&1Ksn9uAw-x*E4&J5)x->9p zCZYOhtGP^7g=1-pPGj(6H$)LRZ1Zh$3Me8;<=d@Zxj1Ht!>F#wx;qw;t6$~kRHMh3 ziXw0r6{icGKGpuA;Vr2a4kPdY=m7E?b*8&Z-!_PnmuE;D^x@5-$BQl9Lya^iU+R$* z#s1C*)Oext1yG0Kr}Q(rPEIR-Y4e?C(fR9pJu&q5_Fd4Pf}68FcRFP;Ug_k}f{OgU zOUT2eU@<$oQj5(V(L12&EzakZEGVPPQvros7nA;TiCknuF%NbNOCc;^l{^0*iYS;e zk^2cw9Q~u*h`#|sMkIg&ugAX*iEe3}ANun16Mi2laUhNZfEJu6$T4lE0F$`lAv33F zDmI+;L6O0><-TDj$3Q#!yoQg`zA{QBAk_Y44O*=#(4yu96s9hyvf-01o1t)J9x6eX zgEjK@@Nu+ku!l`71;6K7J%`2YEA?2$@$JY>vN0l_qKgRPWlQV_Ig@I&I;4l!=jpW1 zR4mLXLQokg0JtavUtmK1%US1mWf`^%hym&Nm%rUV= zLos@-a!q83*m zQs8el{%vCGxgLXpH<3Gp1t*$XIN#uen5wCFjMd)wevY8~YQyN-(Y4?%~TBpGi*=)b^RuO42--MaQ2th(Rnj_^_ zOO4SK%$_evYkpU-Ao5^N#&6&It&vp!Wxk2l+U>Z#U=UOIp1go(T(4=Qsi~KpwFCx0 z+*{`6^LR1rQ~JOZ>?XGv+FQogb-i8Ni70bfd#q5A3NG=qFf?mk2j>d7?#~aRDCcst zxvxj!j?dE6;LTGW2;3wiAk}*rxXmK@!o-E3LHclgXtz{*iPxR^ zu!W&yPK3JinUIos%BraZ&>{bp5Kg0lB9teuVs9TkY=)$JwPscU?zZL|`_ag;jMXAU z%NM_(a8=9N3H9NxWqkQ)cEm2HyppYvcUN+%H z!ELHkS!=Z=qx<}w{e{^l&q`aj@GZx8J7+ugRFp!Go@@8lhkzgMZD4Crl-X@`sOQcH zZgo;5BLI*{1Dl}KRSqp5l)~L36iIkH>;m4Y~noP$(2U<&xsFPeOmy4L)DV zgausBs9ww!@cz592|mw;UI~jLs|`H!FGa+M^4T5PW5#cwwWd)I*zhf%w8;J;HjJpS zANQjw>X?~9ChVCZ+vlP#8*{~Xe>q-yOnh+8c6e2}AA^x(ylDpQ;gA>SQ=eCs%$Rf< z7PaTzL$z{&2UENW5~r=!>1((dy1%zsL{gVvBo=zn>V61RqsQt#6)Z+U=zn5F^ROv< z4{L!+Ku1|qf-1=%38aSMfS!ssiAK;8DunhpEOwpuL3!O7zdvIAB6qq9>8il(bE#ED|>RWsnBw5#xy3J$rDX;4aW69{I~!FPUfY`Ju^}XQ6iO6YzC>g+d6S6 z;$p4UcnlHlNB8Fy`~HQhb$#b}WB-~%7=(U*CbX#L{?AjAn`9foKk92bUH89{EK36` z{{F(5z5_~0(Iq+AoMb0Q>*p?wJ#4+Mw-tsacoaJ>%QJnIB^}}ag*kox6jJtV7f40ypgaD-A`O_=pzDaa0sUQ#x@bK_MCe!Z zLMs6+Dk53c?;q0HHjx@#t%01m%~$1TV(5>QgQ!AtE%kLYTmp<`j$hj#lZIQyI5 z{+*j5{oPXKyyISTNDIV)y&_HAJw}5yU=)Z=K6A1mz>#SDT6T<1`t&SATNMuDOo+ zk_qdMx(@LiauBb?xh0-Dwq!v?Ppo81PN~$>nk?=&_E!Sbyg#^+eTLFY02vW*i_E2f z=>3NI-p-8s1KVxb`XXdFS}0CGPKHno59#yc#YPS5PXP!sQSH9KjyeAYMY9{t&`xjh z_sWx1B~hsNO5m2-!HO=_ANQCfr+vNeQ&6{OHDW+s1CM0uT5<#*5<)I4@7FkA*5m{J zGIzFR#q{96Cu$q?N!1lwZQ!1%%xHd$DV;Lby;^@%h>sBbSz2oIn8JY$6?AGOeK!50 z;Ntw_$glWp?j6*3*0~hc$*Y9Ajf8E5CrNe6{$`_1#EQrFKK^HeH9{|=dDhLu&+>n_ zj`sp{@mNj27j+8HFA**jvWlq4wun6{L= zMf~jScVQTBrY|V(mY`WOCKfbHW?fEMJ}*!Hei{wA$;Kk?T( z$du(_dh6XC9^_fW)fZ!x39jJXo|fB+xtkygA-TJg4a1Qd@T!;O1cmkvoiMolQxID4QVutBQx%{*D!8w zYrYM=RcHvc2Dj=~Xodoi9;2?FqGSkHSH9UyBqx!OOvT{*NcDd@DdmI8_Lz{}V?CW= zJ;(c$7T$!PJC|w64ri&`=O_~7u-~}%FO61&rqL4rUm9I1RoRC7ziBjE_@v4gk?G;G zpr+e{b6F#78zm?);I=ch&XQ8v7Ah2ZRjQi# zB>&7Im$&ow`!OW&r0sL}ZytMXhs4!G%?1Xi;Se!|LR44+cupj7$qBdQZ_?wVifaAd z2=30PQ!m!OLj-6*_rHPpW+glfXnM|Pn`hJw3p3_%z4(J4r!M!Zs}vkJNrfNF4>1w? zb!Gbt4^fk2EAc)WOgA{PeznvuETL()2D!Bjbh83C!%m|ZEJ0IYcerU3 zVYYLFO?S8@=ogCn+TXcC_Kj`&gq5?OW<9h8&myu@!SZmkvV{g$0an9+Ay&N6wttHG zyBz^6xHzL(sZC=$j=T0@a} zkWy3%oY?fGYme7mqYkkV`tjw$7wdH?XTF9NV=5xWn|ayK=qnoDoQYs`&jc(pJbe%} zu9_DUpO6ou-t-h{Ia;VRsyS-o*}N$dO)Aj?rC&?4+ONGl1w7HUOl<-+xbp1q?O4*% z<==sCIx;Pjw9WM$d4nc-XiM4gr3JvtiSS6#Jp`OXUri(cl*zJm6@-5pg?^{MXq0(d zz*jL6v}B&N^H5TPqYaQy0IBJEa#B(jxQ$if0)RWR+uQ~=or-&>S`BVpPShrg>?Un_ z+s`Go6AG$A8AfB-*}J7mTPq-FMY_})KhB>2112DmLp1e5H_jCWUxqgELbXwmai);T zLzg*9(w8B`zgE9Wd(BRZU5H?s+C0mGIVH~8k?GXm2&8^%n1M}HIU>)4$vB^%6Cb7Z zUY?N!l%8GU1@A3FMnJR*p2Pn>tX&HaxLed$YGKF!jl~4VK2^0~Cz$moU2G_^*s+)E zWzyF8u@v7Qu`Gq}>t zvSRPMbrjCiYY8pf{Od}7j4E9Z=#~kuNmWa&vnO-X~xy5;~y*CJ{gZesug9d z#yTca+rCXLFW7;&IjcK<>fI1$z0Jzp1{^nay*)hbreRFuqkjd4)Bi{;bWo%v9v@-{ zL?;uQI}+EnPYry8LR1!x(ypk9MYBe*vr`NEvpr+9><@{AH%MDn@N4*&SRoXVlLz(Q znzXUOE%6B4F7R{+6<>YS;j z?DlSD)i@~^@V4)wxfjJh|E;WIPm4L4$(b@`2fJ7tB80V?pDcqQyQibL*7Aqti^5ni zhpE`r8>>y8Wpl}u+T&?%6vk5!dnf)@Z%A)oJNoIW$nTc*n=m_|_85e5P`%jD-?Yx> zQjBv@GEsfuyDCC5oY2X@@*rGby-!TS)M1Y%qt}9#i8Ke=u!y;u8eu30@#&_Jb?@5L z(BJ%CtRY=)iT5RP*pkePQepo6aGd2|#S&BcCu(7B%gZ=t$ykqP*nV+3Mo_U@>)BPv zE)|F~u>i9_RRp^EA78Q6Dm8mkQWEDWdF(71LN>f|pjFh0;Afd8$GOj_(u5m8Ta#${ z!-Ukvn?bzk0{?9l^j9_Mn|b<`4t1uKktK^e`xb>&dX<#-vtPYi_@O2Kj5OYd53ui;(GF`?S z^x6VOi&}q{q#mgfCM7kqIO>lzl(3{aGOVgM&p=-^CkN7n4$8bbiV8T4G{9s=q<*Q1 zhem~ralQIcN(BWXp5~V-&KzxRG+*c9Krhh!#ZSS!iJ@8EqzN@W zY5z!wRB+*9Az0py29!#@P$-$Kt|wQMrapET?m-zeNrPv(?PWUM>?6z(nYO>lSsG%K z+c#gxhi}U-;b}6G3MPp^Jh5NoF56*Z6RvBlr$FjwhmK5>h73aXf%pl{meD^mSa#;hj$ecRMLcXA&?)-L zVG|2Ae>F0I%ufgvqLzXzmY)wb1jPOzauVm2kb~w0=POwWlIU${(li-U!FQ4gf13mv zyRHwJw(*JAn!7+iC8nGFLy2|%Ov{zXoy>YUNzw$`89kIKMyEt7|IuW3UWfIE^SNX1 zTMVBdXaoEE=tNn2v}|r0b$R=mv_-vD3B@zJ?)wfd$Yd7i^>A1(MVUE2PMT>mfi+H! zu;Eqw@hR$8JIoKy%}HCM3(2KA7hKiTn} zo$a@z6MKeBI)&XDG8zNg-f}iuTQ>8bk93rbIq;WUq-rU`iUQfc@k>r)Jh`WpF5Z?-DVq+DEv(2E zYBFot)vA=3H!mbA^ICFMNEtjVjJX7x+Wc&+S!f`skqM7(sX{S7AO!S4bEiJbjEgUg z(5?xtz(ErOXdpCI_{N~rOk?H63k&~1qAxwhgQ?8B%3jQ2+5&_jN9~sf1-K07o1XAl zg0nnmxqRKY_qIgv%L3eUahP;vWHh5TjG8Ar@cJ*{g#1+E0jQxIaYH<5i_0EnRyxNM zw~8q&Z90j-a8uVr-w0`%y-_@(Ar^b6FR3=Y`rV)F_Fs0$XSg zpif@r_LR`5=j1XwzAgKF#Zn;~t`dn~coITCQ@kW}aZvX`g%;WW&CvDT(9YJ;LPN_^ zE*kWW$ zmPtJ(8W0MQWuOUXzqUM3z_F_#UlB=Z0;?aZ#p4Gi?^+J{cy4AGsMm>wVrU z>2TxV`&}@;2RoGK;NBdlUfRgCxb|TnH{8hg2fyykn3&qS9}q+d-kA~a5bo`T>bs&r zf_xfXwKW#E4eXG`pR~)iq2`1kY~@o~K8B(gNJgNjDl*K86zw{Af#AD-Zd;l}kjY(d zFPu_+91F1$W92(+tz2R{DbIt2T0>~+yMkwA^O)Ex+rPT>PDu|A5Q1)JxiQoAX96SD z!1-z8^`*Tz)j-D%4JnSxB#xhbh+9pnqwg$MRPMm#JNff&#^mBg>{976M6p~)2YlYq-p(= z>pFxF7ukb_k4Z^k1CWz~k3XD$CYYn+;TCQ=eUCr2EG#XCDzL3z)&Dy^K9H(N@Os2| zyeqI8wBSJ%KFZVajTL~IxL88%<|I_@c*_uPNGIGJw3Cfzd7frLnvD(~*IU>L= zMM@I)ek$T83lokz_#%^TFWYfd`|dWs<458v9t9X%zulH0@;Vxg>?R3n` zhtyhbd^JLV9GT1H^dP){=`)g-I2fS#m05a1nibs^ekX3Zd8VXbrE5}Vqwzlcb9Zz| z2~Q{~#u4U1VMb>s6#b<{1W>}Ui&d%~9w66}ofQDf?th}NTCzy_Yvr9}Z;1OKb415C zE!?fxf)By`Dm6lE0sARONpt;^@tTyo10=h|0+K`cocc(xx}AaTD(s%U1V#taDfBQ0 zFVnJar0tJ(?Bh*n(6~Yu?}%qtjv-^l)*&!p#|n1afIK!AHf3$Ghj3ve*xv7e$uOAT z{W9^d-HXlDJ_fH-oo7?t;?Fmf=a#pOyK$?x5QN&y@DWS_*hY8^(Cei8ag8Rny)!}H zUv|_G4B?TqPAwMfM@H^WNNO!^~SUM=uI|QP6En&%}`l?Ko2Z( zcVuGXrQVzTo5I#Jk9j|TA5`#n6&p|Qy=VH}c1C2-?Zf#i%(9#Db{JOKdME%tL?Y6m z)gUNfe19CT;A-AEc*BGb(-t0n;Es=h!OyRnMxk$^s#EAJ?rqRGbIO9fc549)kYYT~ zOJL}1fAqWiD>Z%hN(=@p^P74jHNFW}SRcwta9|qx(l}4ENhs z?V{qQg3dsrNx>f4!eMmJ0|Hn1k?x<=9vs2rS`wGAS>rg-4)|MOq4B9kF%vfK!*~s8c$V6BwjZrZ!Yzk6_hX^h)4GBzVBwQ z2=N^HabCV4?6{^toq(;+i!dC3e$)Oa`*QpA(l8g(vilBM36ApMbRhHfvM3Zri#lJUGse5~y81cJu zlBvF^{Vwjt#^%G^#=m?HfWvZ%rbjbGQ0>qrVm~(^P`E)uUv733@G8Ga=#(teB`Q^} z3GnZKeye|tGd|51VB#G)QRH0y*k~?B9sk@aJy( zQC!4wpIO(EMs5?WQi(0(6$WeiUXY*L{P9Hx(SAz;`u?wId9dEWzHdKzpjm2kh}AdH zr9?XXOYn57Dp`ncruuOBkI>KtH%m;T81kKW^jyJCWBf0nfhNq>d+$^RDFZD}uwX1* zf7;aC4{GImuEp_rfEZ^3XCA z?h%kk#?qazX;)BWT~pt!XP>oooh4Jo3gCJ(pCaui7WLc(Y~G0Q&CI0A;s)qW+)j8# zuK3U>IhBhseO7ZAF8lyL za_pDp?c4Y9porLL;^(Km9OW~&^_koCY>1y;vN?^pc5?AxsQVw-&uj96|45De<91N? zwt{*Dk+SuVndjbfMVQLb5@HZO0R<34=_c-Ru3Z2jNBM$M5N zu-lu7^yO4*zYy`;poksL0eO=&}Mw( z$-wrOTB};9+*3bzS9qN8agBM=$*^e&eU~f>EWt#hg)grzcsQ``hLr{A`NbQL0WBQC zLSDl$j$VW2>QRS5+?dcRpm~}ZM~brGe^`w{n~YVLlkX6v#YgYAyQwQHsPewpwdqx* zrfHUxtB+`1_B&zvsp}{_xS8rcQcxK&WiamPb^Q(Y0r$Y+-C7x(VRskQgK|v-XVe)h zn0F7QinNKvcX#CR{+tV55AowCJcYo*U;&!W%62XyE!1UV#Q(6T74JgML~a(1n*!f1 zJKv6{pZF(JI{B{Z+==0mNmQ? zsooOP-DRpsod;(uTddVPlHA|;SmiDh{Wn<7SP;h^5J=WJak8Ji(L?2XG)8e344`F7^(Z~bI>gtuvLw}>Dh3t2@s&X18v$@S30`wx0tOt=7R|pph zThf_1@+MrEIdKQ~VKA|<1kAM=>g@Lv@CvY6zM@)k2dl{q$_hv_?U;;SQ~IK3oLf(59pZVQyHdX!+O0BM$dWB{g>JQkvp=*i*SiwmAU zAIgYk%0>6(vt0Nf12Bg{miX}uoQe)YhqBQOz!I=LwCzHH$8Ur^ReWXvd=1eF@Nl!YD!t3>V?5=!?Yf1b~lJJr3ii0e~f6MaiP9VO;C?`Kcsj7$H* z2=pjHk(cMGM3PTZS09_f;NO1ECkVc%P)O+${r!KKdh4jDx<6icDCzE!ZjhFSAygWq zrAxXS=}u`7X^`$l8lukt=3if;(Pa1vacfEh zZCuN6ls2Y{CtZd>!Fe8C)Xtv~kBtTOcTs#V8xu7K`Kg6M$7}##`Q6}J_N!aPa=pw* zrgcl&#^2=7$$U7DLS8zurOEEawa1r}qSvUO{5;0Hy3O@}t+cd08dk2~0G!tvAwM9T zrk8bcYHEVp=lh=Xu8Y$CkJ;P1IbO_0Q*EM6$bdZAX{0K4>_BD5;{Cjzt9>im{mOA# zr5S&};E53Pf-kVowQc+4Wm+9fXNL3Vk-`Hto2t&6#)`yur?Ru;On6brr3WAKT}K*8 zrXmXE=|4w{Yq`F;#1BPGBTZvtAs97)n)=(jH~0RTHxTnxwEOC2do;rRPE{4`--u$< zSHW4p{6#DMy9eEaI<-Xgc?8FwDj6En!BIgpHZq;qq5gS7(fC4&3LZwVX*=@O`{#h zh)pK{#75Uhqw!ZQ1)B&2dSsq2&EToW^Y(XxG2520j|HX|**o$dF!-$Jz>r<1-+Xim z4({RpD!mRM(}o^Eoy!>ltdJY{Qx2oNg&6Hmzw??mfBB*x_7EfVAC8fl`VAl`CxtTy z6ZUI%|K?jF43m0{c0g_YU)bXx_cRvz^!PaY)TdirwC+6jKTM}boSGJP>I>qm+^Fh( zxY;Yk<>vTP>q^e2SMJ$}%z4W)wXf`{RgyfTosgg{S0PzZK>teHa^fP!N}5cS|Nr4+ z3eSmS3@oA4GiferwAz6h@M-mP%*we8aC~Tb#2;isq)_&k)T9*>q+i|cD{^o=ubR*0 zC|r=dH|U_u)< zp1$M{RY0n;9OnTpnLPQ29)9!R){=9bzrT!@NaOmWEL$~C%*=iM+}@?g$CQ&sp%&OR zkAiiWpKRs2Xu{c@syX`UnL8%tg?V{Wp9wrk02K!`lt?{H;Bx%$ax>tS0K2rR=l+Vz zh(q4nl8B8+K^q1uZc1F8$8AjL;9KqS@uJ^4)X%=}Ptsg3wg6mcFE+7uqcq*mOa+DM zUDmXA%7>{GbJ=?#RqD}He`y^0IKf_UtJiIvYyYDGPRJ?gU5wF!miIeCT57F8sX`;G z@o(*jVNJh}Sk$ZoxrcuOAS9j>zT2OM6CVC!4ssq=9#yiir$D_x_GtUkzr-%uKZs9{XhraQ^8%Dq+5yzNwIw>DOW%TQnQDPW7HjOm8e- zYZQqyq9>N?C10xjx*qMkg@&mfYLemj!e&^uKSQ3HfVtWCYK&K?Df{dC@?|rstT;w^ zeF_P^v>lFW$q#kS0OCF#c@N93Umxfcw5fWeVAIVq_T%q=%e7z2F4TUlhL_R^;Er|) zaNZ(2c)z}XhIMbKqcMU*S9LjH%U-ZVf0c3H?G%RynM#B91S^LD6vTa5T-@+Ou92}U zTt^#KGAuQQuhl+N<jaC?tnLJzxxg<+y*YnOGC#SH)9 zyyV6_746(F01y^j!n7q6PdE+5FQb~@zC;C?6M9**qdpg%^~x3hgaq%%z=aX^JBTuv zx7F=BSXD{ycZfQrLO#Y}kaILCVjWYVQJyRu4n&y;2Sz&)4bE)gl0$A+04Uy2W zZK))tFztSHsVXRHhD}k$(@)_-$@MEGI|0TR9vVTUY#~tr!&pq9$ba8v4yckdVIyP> zB|axilL`(eymT7+V+OH^v8dOj3vLEJ=?hzS3%pQ=fhvVJC;Sn-kZo>SvlGlS3Y3APn)xKR zHxcD7ztZA0KG%LLu*=BLg^>|5BCxP}+GmN`F)?!vz0nm4(EYG=E9{WnoArlZ;qQAC zZ@Iay{#G5auXHQ-*Wdicifz#+VT^O<#IX|QmJpwL-QK2~WfC!C`tRd1(!Z8>T(SkX zIHNYlUe&DdJf>Lv3gP#w2?me*FqkzZ6#_G+OVsdLC#ah8UN?j`r&VuuoMvcZQcVs$ zU;e7+^d>8Wfeo@k(g-7YaI@*-=8zLCPr(0#=Xc)eX&ui1XArX$3B|K&H(P2{%Jf=o z(Q7B@L*k*P5l;He|FY&E)lsI`dWT5iB6@~BO^%Msm_rFmt-`g$>6x!Z#+dRS3?i*g zGs%qd=yPPBwiNhMKe(&m{dS4$E`_XWaCrbdLL)3HZ+P`(amGXa@7h2V5B<6qjoP#9 zTYkM|lDE#=P6a6N(j0N@Xj`ZX6`4|z(CJ*><$*@WCp-;Tg(Ode)ph-)Qr6|qqYewE znXc|!;|7iL8^Zdkm34W&T{m{im8|@{-4KEatn3W=mqjY000W_(Oa*X=%4o=se4>Pd zuu%YmSe{SMm5(a!hMjei5`70c3m6NOz$Y9;a`yt-A`Qu5fWq}wwG;4P9d{aFqNN^L zq-s^dh==+b(p_Po>on4l38`5vWd%9^xT&l>bI;1Y5}V6*96$QZZGzaGsYsXp(+v&D z6ze->oH%6=7EdoL!)J^7j1g1bv+4D%PSmmM4#CYCmj~9yfka*FiiT$jK5#+8Danin z>^{GXNVWcvCtw>-pTdLnssrY?)-3AxN(LJpBq|%0Bo~dV)%KYsSc8Y5{B$lJ9|lg|C0>3iZ2@2i-MQZURa@7U zbbw(@pD{rc@=jbJ07J(A==}pj@O_@Z5a-av>V(2HV5j&p)p7iZC0VTzTbin?R~hkX z&Ypb2mgvKIq$J_sa~hmf&}S)UMvT9`9!^=#n*Ejap=A!k+vmDamEk(8US$4{u9BQn zx#@_kQ$4=}hOR$;6HZKc;tY_PG^DXy|5Q8mb19$B$e!2FifN{#jYCONG198gz#ZaI zCK_!_L)!0Ze)u?{fe+GF-8|* z!>pFeKq<^25#%`<@TBojTef;-s)L*8g`-!8t5=tpxXVA97(`i|BG<9&WQ;g$Ra_o| zR)1iYQB5x%rY-X%_HJxG@xhE&s!q80lNN6lh0-I1#E8WU>!e=-FelnNo1d`oO*Yib8$F7k{#ZfS55xbWWl z(43e4>dIjJhc&|f&<4-EN|5ZXO#*B54W5SkQW;*uHdK8fF#Cs9s-XPtu7nl zB51i3^P1K)aPmdxX^Rk{BE83Ym0OmO7r*97*>@^0Z~jSX`yre$alSL_h`-F~#+V^z$tUdNSz=zP_kaf9xhum%b7 zi`~$2d2_S@LxD=c*28p{DOy?9Z&OBl)Ngn&dQRlPS*qCSZlfZa)UyGf_!s^#t6cm4flDM;AH$r6)MPe*&Z*t zt0H9JoX`cTd%EO=T#7+U^205Bgjg5|C7gdm{YM40u&l^e$Ca(}^E_nJl`s%&7+X2C zqqX_z*=}Mh;NGZ+$Ac-(Cl_w+e7|($q57>N#d_PjGK0d=y4!FqCdkX}`EskX;gv=c zfyVIc)QNP1u4VlS+wE@##A(at{z>`yDJn9=&l0dRxST_U+TLglec<8T2)BBjmiq1F z!S5}3GZ$sxx_7btK#2&0yD9f==s8+^Ug>#$1dk+Zi-yDu2F5B%wA5Y$s8}_ReyKm?|57GtUoo^b&EQD#|z_m?e;tYb7YQ( zms=S!v-sz6_3+dab}kDv*u}*&G?M5);J0Bstc1*Sq)Vj<>s7>y39|UDSATzIuk2t? zKZKMskkHefT35N+cdoQ<#?0__Ml{;q6#w&IK;c7+8x)tuZi*;wyV_I{okD^_aNxkx zFG}2pb)>A_d*NCZsJk>+PetY#*J&rxm%gEZ*VcjkNt7^^ACZKTZ)H2kDrP-$^c6E}7h7ic@f;BR+1VYH>0xu$K5TCdRa%eIYbfc9Dp6 zM$L1o#ZCLbH3cYKvgs)-VnkCktW8Dl0g!gp{P6eZ^yas-AmtEQxq^Zj6(-=Y(6$6S zE(KYu0&09n2~=hxA&Iu2eny3P?TVXocOR2|xc8Os6>5zK2?Toqz7Y+(CYfcj5pd%@ zob2dWdbNX)YNq(bhRf5j(5-=S(RSWUlt2!&B(#PkAS#gnJGrDtm%x1L0%;jRQ{4I~ z*%A)49!d-Q5#RkU6d7}q9@SSv@`dP-ypJdJzGd}|f-D+OkO?vsI%F`8vk)d7XQ)C+ zbjq+KnJ~+JYUTwz${qCCnR0lpTCq!U!;Gw~&#&+;;KS)ch5s42F#Y&b>4mM#FE||y z^SaEpksBTpA%K$yBj1LPu?->9Y-SL>l`Q=m{l)dZX%==t_vsjs*ovk4GQSB-SZb(( zG>LRT3Y4TF&w@;Xd1{fscxNjHl`z})`|myW3P08%#>72%c&MXrFwU3gxm?WWzCZLk zmM_$LI9bsrc@X=Fa4ah}V@%}S@4s9P2(^g$4TW7|V2HH7Uux{|k!%j!MPyFWmZL;~ zk}=xp9I`EB9Sxx>edaEx^Etl!Bb0Tm@N(hXSCFcRF_8EIG9xFZ-tpji)wl#0tW~eP zJw*FYI(E(5qsLfJ@@wkwep+Jx-CKltYpY{tR_47NunW+C%-XgQ`y7Z}lIKjw$w!UXSTq9-35C6xNZ%toT!> z4fzv&d`C$mF|}Bei7_zQa5gyDQc977J8qUv-_UQ%5(D8vW1dxce_R<^PM_()nq_H~ zhL#V59sfqj&HFlJQds$a+7%D?<@m1~&!*p@A6s6LdQmtPC$YeCM5DBF!W%}vSJ@le zNx3v#K4s}13^)rADS-1?9n2yB!1me3`g}{OHl8!ae-NGvW)Sk@v;-9!>=yv`WdsWV z16XW@FJ>SZfw(G`osydHTdheWZe8ZrYVv+I_-BwoeiK+?zh;%;Q*c|>zq|}B(@Y<; zN=2GFA^FI^MagdtxL)EYUw#*du~h!&(;w|Ib{(H67^;E|URmq{D*cb~L44E%$-XU5 z+%Qmt$ZJ`0w5dud#Wt8CH&+7X+m6jYX-U6LDa zx>(Tat@%E~AZLGEkdO8*OZ|Dd1n``v%Wv|}b7U9`WM*3Y1Qcn+d^i=DJ>>)C1L#4V zG&WP9B#Ds+9oVIcaICNSbqbJ%ny8ad7b$DPlLw+e!=w__iY1j0)QQzhwc?G`nPOd# z@}TECmZB`8BhG=56kDj^L1TQCtj?riQAg}3t66VAl{A=)#U0YdFR$jUf@;;*Ls z$EvUJa;WA=fO<9`+saotUOb1_!L099-mGOrAH1>hsCuXyI_3ofhutYWr_`1-SsaY< zmQ;*8o4sv=*ctZYs@KYro!qL&m%Z*#6DUbs@x!r2g9S=MslaHW`HPOPB=D_>&oD7; zs%|=H(b2k%yHaN#3=$#v|81DR zxmrC~_4PWlHh>#bV0amAZ5iG%exSaUEJeFCr_uQS4B7l5b}Q?{X`fRAJ$w_qy(|O2 zIVFUjW-J_rb0VC?qMBnWn_`F-hhdC=JKr;^$wq7Yn4($>C(fUr8p4&gsYjl%J^W7d z(_#Y)0Q7FZp+3FJxh|ae7NOc85pBZ6OE2-Bt>*EznO4u;7X_yD_)7F355$qmpW6_P z*o2JOJleUtnGMYKL-fXJGllJ~^M?zr-`dUvce3BA3rxu-PUU||n;q~{>uxR~w&W+s z&lSZHmqtl4MN?t2$@I}sSQ@uq(8jkX+$|QCvtm1qlAFT5<=6@z!G^`oTAAL3 zOLtln=qQIU!M@6YiMguI6YT~UVd$40aM6FUx1*J)@Xt@ls@-&xyiHrJ$e=MnBckc| z&y^yTHvg6@r>exuunafB-=*`SxDsZU3~*e!-r^mkR7b;nFs2aR%&Fas`0>mi)!Wb{oC!(?DUkxW_9HdWup zlC{*>{_}S9Gc6TO%wQ^F%}bIyt;-?$L37-0u{tH2+!CsjqrWhiC8OLkEgwsx0eWl%KKNmxM9`P!D1=kUZGAA zxq-A|kn4JovGC-mC5jpU>44=(@+<=Vzg4GXI-TvKr=JznN}xp$?MA*Up?o|YWAGgs zzgZXzTub`!(CjjaY-5l0mnbPaZl!F?Wk)mVpW-Ca=Qk$*LDAUfD>DK=R(HQ;a;A{= zXHNW@Qq(0|+(J$6uGy@%$b#Apo^6=Ma|aWe%!L<;Mt9B6CZK7i6El+{Dy(RDas^HW z%FLf6)#=JU#@=l+JZ;V1rCxv7UPymvQ}sv;b{LIy29^ zJ#DcLDxSGb0?NX-yLA(31AF}JS|bnGCjE=$x>2yEekOvI#-u) zCS508-5bWUY-)FOqt^2iGp@-;eQd2NYG-#{ubJPG51Bdxor&zrd>r&4HC3(!UFSuU z96d1`FArR^FTs$QNGo&VFZ#X1~8KMSGYZ3%MUWt+B~Q4s>J+mM0~i-`Y}*gGG$-(hrp5K zqrJx(q>RgjN9PjILP_oRb~w(XDyPuS0n&g=5k8xPblk1>nEiB zb4EX)04{<}!6mvL>-6jgP+mNajPujF2iOval{qE$gj#%Rk?smQNYKw@6> zCyl*zUHlh9sGB(qNFHm!dZRmdyqt#G>5mOioTdr42`5^2GgE6+#c9D%KHpy<(=FcY zF5dHh^fcw1q^7WCo)OS=Ly`U^Ss*6}I)Ee#=K`$^<_Ftb!O?~0iayJ@bGrDMoTL=- z3JrzcX($!!=VXmAQbb%;qW*XuENbi%ttkddqacUDTDpF-dieH&nIhjG=eKO56k?tR z@`R=Mnk+6-vT`SS^JTMbRtsfG?b@^Mddhfp3A7D56?AvY1?a65O!XDZ|9}=9d}0d} z{1EN1?^oV(NU!%ZWrLm*DYv>Q3~EGI=ti7+02Jg24=sOEpWvaZQqs^%WBtH*2TMd# zo#4of=)I!&@bjT$g`7Bm7f5Qpor-*_r>C2&eZ?FVUaB$Wi%x8wp)*nvlFU)=V|_ey zA0j*JexBL(HkcU*P-rXQDw63DApXZ3(_MmsvIc(xy&tZ@Xf#mS64}tGNETpk<@BO` zruAGA47n<6cZGX%p;yzqGjKjq#@{r*NA?ZXM(CvJba^6aNNSf(>}nGXI~5o6JB|Ob zN{-a2IFn(Z-Swm7w72wLo!TlP{J~8CuQDs!*X1m*;qdB{HO!~n%Qkt|@{kM{OZ^IY>9iC9>iA2f4VQoX;kP;PHs&M& zWlkSU71{o8R-end?jB5v19Z!OR2>(XDK{lasw**)RXCGn7h@!&aZLgzk8<`<-LpA~ zPx$;AoQHmI=&n{JmD<%%X4cC#;bA^!#K3GRNYE@va+d51c!2ii7PM+Gt9}1J=uH`> zoh{P0|DuRjBC!JMtA+E6xe^cxD#f zU4tylaWTIUQbZuBYdfBT_y;3J%QdA%4onT@3tp%n<%~$4$zihI#NIOaT-CO(Judr_ zxfV>pP#+) zU9~QhfYHZ)#)TUz^i9PMpMzQa(T-lk=;hMiE;#R-iyr$KIJjARKd-GB)i;Ww%{L$I z$)XCD4+^rM5X4({bfj=JtY&%wH3mLDO9fXRB;~;cOatN5D6zCw4;4>0oenMJQuQW> z9D@%q@XEscT13KFN!E-t9w*QeWyZN*y`js?{b%Z(8J9t;Luh!K0Vx1m3t>hA)b7iZ zC^9x^d26V<`Z0(e;1#`?I54B$PGL*#ykE*4N<81qK3@I6f*&;?ujA&z&!XY4Qpt30 z>d~nunU7(CY;Ey)lqEwRn5&V-W2vBx8z;NitqND6bNh32$f`k?aEjc&_H2F*G(PrC6P*JX>QDsofgr%P<8|!YdSwWbA$XZ6^Gx z3yFxV+eKQ`TBE1R@8juT(iJMLhSH1camGaD@4_V`@ki{89N3FI3oV%#p*axCXD z2TRoD;gbw}IOX$$t%qMeRZA%iPUJK9j%ts~as$!(aupP8D6U0Cg9gg2^Ut$$S|=Rz zTS(ldZ`kbon_PNIS`>je))aOT^{Nm38YmGNYz4+hyIF#MYh&n~@$^t{O@YCA zV=#H`go&~G?yK6ngl(boX+;rIa32nN0>ge8-^v#7E&);h?LM#tVZpEsKVNDkvkQ>p|QJ5h*H_|K5?#jQy%N*@}-?Cs}dt;r90 zztn5w<69x%smIOZdBRT-gz=-wSORe-d1xtJdh^NeS4(`N*s;8@98l3l(rbFVui}{K z>YaZoG*>F!4w?NG>Z3-iLl1!?_R!i$%;uA6$TW>0EUZ zAAXaz}dJnSCJXyQ92M96=2&s`In35BK)aHOIH(4bgPv%v;4Wo>9U_y?BG7dneq^&E| zu;7^n9=6WTNpYw<4?G#>{G(%y7*CmN#U4&A`rlq$@CaWhpYM!bP8GCtius-P6^#2m zXqAlZmuq$Z&)!)WMY^hF38j>h>JK<|VQt_2{AMZPXRR|qL*aA)dl2-yvP?<7nyi(c z0hqYdv}M`whm=`}BVOeba-qSA{j#z8J3>d1HkClKa3jSv8#)NNo~%X-Yx{Rs2NZvo z=gxrG>!qFPB0kYets9}Wh~GVfoW>L!&tofekqgc8H}2ihU3a^PxD16i^W8+wrAe%_ z@46Nk6pu{d11JWe`#|Ao3Uoohucam{TY)$9%N;*->I(KX$5pVUpWF2S39G%u0Yzd7 zhAG;+d{hrL_R>&;N5S(T3auyt@~j98?ao#0Hm$=2=kgz6ANCl)ymrzdC)vJ(Q&uJ^ zDJ*jLvkp!tyZt86xl;FohP!oL3Ulc-0gxaU01+}HaVf`)QE?#0g)ngIs(k3rzfAt5 z>oQtExO*k6O8O&B))mAX!VInju~}+aTi18?Y=mcJ6*6RdFNlt$6AIt_^03ncNevAa z@nCNAxYFdA6iQX{cvATc8GMO&2CtmWR?(m)KI?9h$z3Eb z;DXmP0AvvNna76AyrSuIAYFQDSJa$Md#2v(-pRr44AX z6QoeY;M&WW6{imW5f!OErE))Z9_8n1%FGnuuGM2rPXbFT&(l1k3FU*?)m>!PDCTlJ9wDFgfT1P zD)X!fOkpUbCC%jLkr!jdbB?7#`wuWBrA+-NLz|A}@m5ji9lrYfoog!PTagmy5IvOq z|0Poaa2892t)#1b^A4%*l*Qwr-&%au136=W9I1I*%Wc^$p)s-cH!UIO76COJeVoo9 zD^Zx)hU;O^e8=3y?>hFSu+F<-NA0NGC7#9_?qHrq8BB|8Bf8cXaO$1pn|K%Ed zd@`w0Ofvmw~<}L8! zL|9U&Jf2{V9?Z`l_AHopc3x6FuW01LB?C{`|H%j9;ddwrR+a$gCk<(rza=4f%&9R& zT9&s;hKq_R1+(96({a0xp`ISd9{A@qt?{Od?`#JeO2xjs}B#L4%2_oLBb>@wuByra#%5( znrJb^6@sUHZ;;JMiGoBM06P(UaYkJcVNC(VsSw#$m*RGdE;BwoQ1YBhs`BFf9D`K~>3P}rwV<7( zRmmdDO~UMqXLb3Pw)m^(7d=!J%u+Do(s(!}Zv#@R7sBY|z>%%%eqge;LV3!Rui$Q9 zJE0HfoJW8Zrz5E3(8c9fll`47yex4$*Uhq-3b!LlDnNt6y)n``)o2}ZBr?_-ZtiJ) z{p^zeI{~YVJS7rrOcxS1#F6?YY)}-Ofh5t}cg>cnM;FtH2DjQj%M3(F`ZNKp+HmYM z-hTKJ;JMB)M5|lc&+C|#{(LMuutY$nCBByCUH!2la9*E=c114C4_ui(N&(MeDEW~K z1#l#dPED6BM_O9?nYZR! zLxX_t`fnv)Cmt)o?+WR!cSd_`8bOOd^uQ>uA%Dx1!yr5342tU@w4dz#dmZ{w!E>l+ zXM1Po&krffD^Ng^n$ftz#)_@p3148h*0-OO0rW%s1zEs z-NkS`^xkJ$NublD+c@?$^j3;WJn2Jfbq@hHSgl7%`T8G!vNIw*T{tvvsBW=r>y7Av zzP^@6ss}0lMRDAh@Aq`*#)>{NC zo$#+T%M*Tf#~4M;2f@x_M{q?Nt7+BC;I3O&T-k=-+m$u zop3!@{Qo&Tb>Tw4P^163Mx4~8XM2nI(tR^gsVcPIb*)30g`VFjRGxB|5+1oS822QY zB>^TXg!QN{e+$`IQH>ObCIEVb6h&ntSj~WSIa4P}VjRIJ%yVk=v#e+Ma--#d`ZiAJ z)~5OWu$GKcJ4X8xP|FOkjjD-|xH}26@7^vr?1w9IP>oC=;~rFeGl z-rE(+*&-!25l_dxfJ7Ej?%I5D3j#?qDwI$%;<}J^wCv-x1DIn$*OHlno}Nf#;k;{< z+Y`SBrA;`@lfCJl25aY{EJ2M+BbUG)ujZH@hc;BNC>1RED-;VFq&gSc;TV+2Eog0s5zVGBnP#o{I&1QW3iHmqVqJdc~O&LeS zA!X)R>Hplzu`Y&>p>T9!5h3nRH7tFHWAReh_OO91MGQYy_5UofPXuMAt|Skpw%iQW z;Pv88GgOf6FXVBD_MBcTKwPj z(NRAq_f15z$*eLbcRjcDv1lQ@YIth%E`K7pk$J1}-^+scy>$)S*h7;20WpZ1C(O59 zEiL<(8#-%(61U1qPwcsaniD#-7@r2&sBbT|*~H*61}o5=Ftv(?frTBrDeNh7UIH|XvOhjXtOD`6ueW2IV zvxJGkGm=*2iVuY$i^W$4ad0{>?PCnQ*qZIO?H_iK4kc~2W$SI9V6^@zJog9zEs5CCuDnSKFqA8?0Pr3Y#`eh5W%w+m#3`64)3uR zTddiuHXrwjULp!_yx1M_;x>OF=3!s{QU#;?&$dG)BrQqhz}?n9+o?7NH;#6~rL7mY zO89WWW@qj3-r*KYA^ro%99{&ov5~A8aZI2!f4zTX{``ahw`JlqWlu3S|{Ew#T16 zpvxg%VSI|(*5*NWs@4+KVtv`5L`4qyH5uLGXiZ_PX`oQ4^Dx{wlIgkAT8GK5@t_^*;*EvzAjXo{MujA^ywhO zSFM)nvjw2q6NYxurk}%|crTDdXJE36jw*R5$_u*x3JBN;q^DGX(n>bl`uXL(Z=olY z**q;p{c=flo0!dWcQgOSnBw>QVUV^5whX{E;mk?YuS|jjg|npIi=26g&v>tsVv8W# zUcbAJ_Qys?=b<%y=YHk9=uvYm`g0AHU6JZg|JOrE0Gi}eHjyc#Opu8{gw&Vq{MMPl z@xVko6oR!pg0U#{Oz~FTp$1x&;QT9ejDTbW)Ht4Rr)lT7Tf={6 zf(Hu=f^GS+Mr{;zxC7v;?^3FNQwC4dAFjSZ56SDzIXfp`@tS!uL1a;U%`zxMXh=J5 z2{?GxV70CeH;(SZ-tB2%bE$WPyj+Gh?;>We`wQ)sDnKO%kC|Dcw1a|wh&7?~Q_wfS zNr9^(%L@$h)mF1Y4VXZ`LqWndA7o^s3kUlOCIsNE9$C~_DeDscSm=)A^G-$sC!aHK zqj1^Zj@{I;ef<@vDS8J<8s3`MhMWKOi1!RggvP{B#?Ry>RC0^ zWC8*d#9+2}-r9{XAJt08?1jBp*R zUTWdR^{v>Mx2oJSXNWSeHYkEOn9}{-9}mTm=}XGvxLCFlPBEj!MvCY3FiphUYDYBz1{v zF=Jf7?z?ZsIn_rb(SmJ@qCEDiWUW6@O4U{ieZu!AhF4cls~egC+YJXxNo8f4rei8# zI#9nI=OE1=!LJV6VMo|`Ibxt0aT$guzs)VvzmTY|B`%T7PGr^CQhr^RxEq#~$j{EvAr;U@cR4W%?B`D~WAqn;_1!1~59>MIt3 zDBnyx(rNai3+3V8W^V-edYsR7f&6 z;+5+!b8gv-j$LUhhIk$DnM+J_8uGp#ddyPix(>1flELgU7hD3hAWRf2(C9cQc|`-- zwZXdc0G@VUMSGKB4V~x;KeZ}}lP_dlnvAyYM+g!zn*Q`~P(BoWzaN?@r%3diDRfo^ z#P!HwY17I|1{K5y*)?yeGjA_DIR1j>U~PVEFz!%sbmsk&D+70>SKUCRob7qmOWpvl zsRFX6nIO0|!J1^Sc<|996WdFapg;+12gdzG{kjpVtSLqcQ$uSKpMjundWoitXn?u~ z2i}aSzWffG|KNwo-fMyZd)`r6yb z!LQhJ7Twlwt1;^4AsfM~^UCy`S1B_C(^f7-R+f05GHy?61Y2VEJ0t^RwuHCM=hlD0 z2CxL+4H#?cg)Edmu`qC!kn$o@Wh*%idS2dyIj9s=ic*={Tx?%tPfqN!pW7Q>w{ydq zUm9}T-@1IaLy06#*P%dUm!l#X(H8`_ty`&v0qR>6hwv&p>~|hlUxozz6jW9zRW9MU z@DXUP_=rG9t2oG5N^L!}k@+JmrRT7xkFZR{OW$t9L-=%?ox#2>UMbURELoiFGZ%zf z(ljt4K47Iz$jtuN(wF+z{uW$#7Mb;1Y2BB$K0;|G1+ozl@kSD+3Fse$Ab7A;)Ruaq zyE3W;T2{X+?G}#91yYClz2mflUaO?ltDqn&rireMU%|>@JHWoCN4{3^A}J~+hiw5PF%$A{!UJRBR`#)0}3&F7taCprmH9Z7=6ubsI*^0bu*Qc_ay zYS<|q|0XVKEKt2Ye-(-p?>doIZx&8B9{Gh&SgUMbn381&T8$0)2t`ANlkX=vvZh1Elk%HCd;rzkg zciLfG#9nPGs|^-Xuiu&3M>0~vJ#`Wj4Tr-eq({h0J>&Wu<3fa; zLmX%w;)cYZ$NN}#ufqT%qpZPQo>sNtNK*?3*)9wMHYF^VsRaM^;dr*wWXW`Ty8fb= z^p}2d%V%HB%y)t>zYpwU?J;8o#54}g65W@>;Q2pG>0b10cMGF|CM1BcQ>KC-N?i`G zekSgsV|}krxCfM5%4;Lv9ZWBcwq=1_qNZd|Pq+~@gETa(DP_8wfN~5-&gpl9#TB_P zqz#%L>dTxi!{xns>_h)LPas&JWd;;Uyq3fVtz4HTO&?ouK*!8~MOk@bpfu{Uc`FPQ z{}wbff$}ac@lnnVl00Lj@If}5r7XX#<-{?fkx!w+$se?G2POXWK3uLnnxk44fT*BE z0LU^T=R;YhutJ_gNy2T!9SH)bK$sjenz}Q+Pxt4dz?pvm~Kzv$o) z1nNTS*C+RhOwL%}eiJ{@`s&xTy~{3Yo7Lk%#E5TIQlCK5P#e;?A66Su+gu-9AL0~T z|LPYKah<9BU@DzJa6T=D2hnIaj`A&gSp6K4SY8| zKRTwYJ=n0WIu3GiOgp_nYCaNLM7{br6$eUQdi=ntP<1`LGPojsjZfRsXmE;vZ>_9P zb@L9xZbIJ(9HIWH-MulbNS}e8(49RhXh%!6_zC(Aq{$)J{#121)a{Q8Yp!fcrv zc%OXU#oR*Cs`~51n5Il3JzG}i|C9EME{z2&H8uL%Q1OzOolrS;{wg}#?Z$g5f@Ao4 zjCap^;`bzKQajgSccJ(A58EoQ)|K}9 z#>-pKRRSu&z<+ExG;>A|`2SQ^>&6n`VlgVX6uyO~s8{h{l?&*ROK;tZ6G;;T;c}8} zh^!2VAW)Ghk(Nz(!j+S9FYf(efT(z%_mlV6$xElD=TUt^C-3z*a(m-%Lhjy(kyPsJ zt~es9Gn@P!5np3&_1eR}@yYDLW`9TCy1K9 zza_Uph2VYqW`xY3jUj-eaNd-oiYtHpUF-12O4QYAlO`4byP-;Bbt`ZALDgg{`+S&j zu)7p!(aDPs|D_2!f1KTQbJ_zhQJRHbgom<$3#(oe$~|s;hluB3L5Z7_XO{+3Ue1Vi_n7D3ZI(kSsJ&jR$Bw7&$pRM1ZTz6<;j=z z=01<1u8w8c8D`L^u4s)I1leTKKPBtki0|IK0q?B3va;tp88Z~D1(yU$Bl2kSlmD7F~F8tU9 zwYg-GzFZMbmc9zS90=Z|c7(M1>KVB{$Yd^jyA}?@!-1?#$gEC5NtkM9%xBghthIGE zOGLqX4zLBEo!?`bFmeAOR)(L%lQHbYLb4Uwj!U2knhnSd&=?u2H%~Knp|^>D2BEu8 zOLq@zObN{EVKXYiJ(cO=hbeo5H8_GYOjC51Tm|CFVop6aB{ADI2){L0gIDn0SNnn* zTJtHiX9fnsNHPO&7>v}*e-`Y3BPEp}D>)lj9{7w}$~1bwGlNdmAIaZenB+K|3-vW& zOvb(f-)zT~Nc|z;HEvwleIE%sA^t!>kna2*pe0x!X3pVlHUn|8E9L8a7~}xBx-Yzm zNbvq)M^TejY^A#-AE~3!0a#ac_NNMNccJyT@e`ZZ%B_d{3Ib#dUo&<3J-_yp!&hkA z89lskeQ20|O$N!S0~JRkM+!I$eGml*p}gIs5Mt42JM#Hfl%?Wz2>_Ie5Y$m(Zh-E4 zz_s)1qD8}#xwe5N@S=Gf2D*bN=8@^P!V&qIp2G+kRA63|fO^g+GVFoS z@09*38V8*|4J3`F{tYhEBz(~t9Y}dSTSeb_Gt1Xm6hRNL@`ld%a0PbPj) zYS;08!YB{<36hRot}Spl?Nejzuk3iDd)l_|@4b#eW+BHE5X1mxfW1W;6J3Bs!_@b0 zPZR5bMl8MAC=Mz?YMnXw56;Q^`|GF|Q}_1()m_NGN3*?Uqfm*ZmxrA)%s2YBFY)42 z=U-zGw)`KH+g`!NCOi8DnH%}(&k_>JvKv36whI*iEE$UU+#_AC;>%~nyrSI(Ic7BA z1s>>l@zri4K@Obz>+*LXD!q5r&C`NgVDW^W?0zB6#e!5GQf$xUY(dTs+x_bW_m?I8 zO%@6ZkLfy6_&z0HE+C1Vo1OhTNOPPs6R46!oX*i^KLrhY@mTzv6&vi|g)b02-qF1N zq+L5%pkWICv*N|^(^q@VPt4lZ*85kkd%foSzcZ>Wody{$3E-1FF5#ghuSL#}=LwWh zkw$^S$WY7VAR!aMQgdQ3R_ix};5w9l`e^o=ay1xCck3&j3}$ucn8K8bf_vm5bM5Df zxC%t8s+QqWFaeY}2no@&D&eJtJ+(6=#_t%WNtB8{A7Twa!+1Nj%g_?VdU>7XsiSbU zAh7!+Mr6GQ%0M&WX5Ws#dD;)Yz~tkO&&kuDM8Wp?FcDZt;Y6=qQbAEDS%)U9ZH{+7 z78&OeW9bp6G@yk`Q@Tr)_l@ymz%ud?Zn<}E6Jd;7>^h>|`?}R5^yWt|$dW*6YR46DETx$(Ni z;r=Er7%G9^gc@S{aKEJ%!9gMVR6#7AFg+(39mYTuQeWyxhH*INzPZpM8HAX97ic6Vvkt1F2B{oc!^dOGD9oT+Dc?~x81gE0_LxtKDu9Q6me+i%_G zVaFRos^K|aXC$uE@;fN%VxgGArb6+;GpOEd4W`<@Lmoget+sp|^EjAcGOtt?j@^O{ zhG$j@*{n`_+D8GI4}3ua-)idLvrlX7#~dl$C(osOsPrgbNAAU0^3hw>3`N1MFI^rd z=YKZrB6h$4h)ZwCPtI%xy(}~j>aA1%0$L@UehAw?X)D@i8hG<+Ps7-l0zm>F-3XjG zL`G!HlAhBUMc^f`9)rGX&Jl}kv1pG8}7(mwSVJOU&bO0b)@9s%4yYtFL9uVY)C`KS@05>gW1q_gO` ztZpyw5D1lPh+2O}j&wfWVvDAKCbNCI?l``SS`F35w#+To-Gy{?XftjihviwuMBfrw zPX$r9Jh#TWb{V-9)$c%Pku+W5`4#Xd@h{>l6}B_|8~dJ43;w^;y1ARDjhKXqfDZDrjDGD&z((?ce(f#2XBtPnR2%jfrx4pL{c=}#F>cUNd zv)#ui^{#PI>BnrR-+Y%i9vX3!(?_bzP3x zi1JT&TVueJ)!DuG)#1ASh2W#m$kvcvE1&F5mjVne=4c-a)!niXz1Hx zVg^@NI&vvI%g*CVOrvLRUm~)e0~+uRP}w=7qcExAnQ1F&pNFY0)@TcA!$NhCA{sY$ z*sUIW*f&Pjb`*_@-;k9JEVjP*RsC5PeZ{{kha_;e&}l8g$Ax?>4x_5D?+xbiIoR30 zXW2t=V$_6(ePz{?rAHy;`nJR#cMedB>$qQyinT@z90C?QRJ+?t5W9R3 z{ytXMa^8348+s-3|FLw{VNtbDds(`>K^iG(rDf^vPU-Fjr8}ji8|m)uPU-HFmX!XE z@9(?zuZ?TZIZw=U&pr3dTo76(0#Wl1-{WmO<0YzVYSRt+5|Ipz#ZBwX6)_^mK!F>IiMB-<47BltB%5f}9>iPmyAHa0Wtm@Wk`+-C zgAtdAN(&C_tmYX?O6Aou?>F1H2g;ue?lytc#7)Id)akMB{m<-vNAb^SSLy}yqtzQn!;DgI)|X|~j=5~?a}v4$ zo!TE#``!|CW<$++C*;?3x&+p(rs}o5Wz<1M2$hSoo@U3w@#E`WW$TS{dM-+v9rs2R zZj|wOoiiiO#|2Pc`zS~8$Ct-HzLOYIXm0)8bLk+Ra;u$4lE_ZVpQ2@~B3{wiQBU3{ z^3Y~xNrsay^jEH_(mZBNf{)nu7dO-j%h+?99^XJ&%~m|LN$6W7?J)o5HOXTDCI?FP z@UZI>==Q}LRQX&*%?0z@x9^ggjp4O8nZCW;M{aLpUsXRqqbqh)ezJ`}S$KHba8^cz zrQ%?P;sYH=?8H50Al0L|9IQ=3CtUEl-%mTd+-HBQqxg0ov2Km5!gqZwQ-}q0gQsz} zF@Xjf3Bl)pkw>m>rtwe3zBrx8^ggToO&Z(vR_GZG`v9W&^LKoFz_?75T=bkE+<&T` zO7<}A;_H{!X%Qon0-y%)z|vBNN56PPJk<$LfSr#YYBMWw#GDMC)Hu ztfG_YLk}XqYD9k^q=Vy~QZ_Ji>hABzvowQ1DN`CKML=)2Y^Ii3ACCvTtGfB}PF8S5 zk5F2en%b^umx;r$WNJUe50v^4#am=?Ctinwa?2@T?ioll~v zU}^$MGpa`vl+s6(cet3iT_62=kA@n9hR;FOQ*g>eUYd(3P>tgPLa=e-;4?f)=msfM zM)(_9wr738f44?3Io?nzw(9DKB*jW-olu}ckM4Si24>CFGL1Xi{2P5!mp$Oraq+es9k<>jj}vk{h+cg9|i)6HR@-Y0dStb>omk zhvELgpN{U_4DW3q7_4m^`_e!ag1Eof+1+%INQ>avY$5bzZpMG!!z>`DA%nXE4zkocvLXn(VWT8SkX?1&)5`9 zh_Bd*n3At~peB_{wUL@S3kqCbi8#ynI8F@)s_GZ6EMO3uiDc*`nEKCQWrB`f1F`{~ z?$dkUnU_Ane)3{~%<7Tj%3Oj!=jOt`CLRBbf#;uKyE8U-Sa3Ng^HQ~*1dAs{6*-MUBCZycah8x)Xc3_4hxn%8e zaNN4L`w6};W(MQiFEX*NJL~tmG7j;3_iNCd2s6&dPCyx62%TiHoq44u!x*`XFs3xk zgTd#&WL<9SNG0d5-=8Y^+*>!CGS%PPO}32JZmWB@s%6WsRMf9pPEBx{zqgIgPgrm9 zYD=FiyiAS@uUflN&UWo;H+>m%)Y9H9uWL#08(@{znMFwxVmcObco0GVD0m4qc|8;Q zS@m%`RDMGv*GtcSzt+Gep?_zqKAR^_eOAC^8mRZh?P-t8T2 zl4<5riDX0<= z0FqIdd>CVqMMBb}Yzy}kSTIMRunf|h+tlNkO2gah#^GeyJ0F(|$gmKKF7th$|G^D4 zn32B6z}ZbW$EIPoESYpev-GWvCHr31Ij7Y5_b?PDpMkkk-8T!#R6K6#3Ib}DNob@t zTbdt6vn zXeF&*2`W@==s55{chjp|F$f_oRUDULcWX3xpsr#X{wz ze zO1=L?R=IPIeLtZ6R#te(DT;~!@{3X~^nAL!)~M9FZ7}aVS^Kut-7hN(BSGBrwaNmt zBuNfp?zq#Y+K7Lzg#ndrS+Pao+P;Jf_UB()Jo7Vt9hf#@2w>Bi7WWe#`&OF?gSX0j z6)yU_^VUo4hKs zP@&)DcKgfxU4mDT5Zid!sF8pA#GuZmmHVk8G1nb%2q6+qT-i5=!@t`yQ~BcC;f|d( z8*dGQF~RVYCgA_u3%!`-eyf`QarRhR)C|rD^?X%Ayz@^B1+7F(SlCEy9RzKejfd9A zi2T^q6Fwrc7let;mTUGH_8=X$=b9~6NSxip20**A9!GyC;s3LJK>1+CiT3{x0IgdW11?M^5H)NaAIRxk)CE#Mha~WgQj@UuLCOUVIn5-!f(=Fhe1r zVaki`X<3+hmi5{6Hu7i&kcEPlP4=ccnLFypc9te3SYPlkCL`zLQRV5h$oKqh1B76=m3<2qLqHr=jAbB)?Bph%fa zQ9!s%42-`X_rJ(@-O!ZJKVEdbsZKiHt)B2B3lqiclfdM_V8Z3G|2bWJ6uXbH=E~-3 zg$b{l+iPiPIomF$l9}W-C*_ftjBl9Kt{pu1H01*VpDL*SNcvy%6xmy-W7avMhWPw@=^QZJW=vIvn+7$5bwdYt%Wh;*WHo%5op21Bpe-( zHVdEq_i1GY`EC7!JwLmi?`vTP3)yFOzQys{ajm{davel@N_=RZH4UvMqh*@I3Su2z ze)qlQRQxOy)987u!JHpnx}rr%e}+CUys*5%7L@-30Uw$&cB;&A5&i^Zc^@yrqT&JyG}ZdltAWcs{AKOgpyLB<|rjn6_}Rh()1Y??~>cG zE)-DGcVGU;;4j>_n-I7Abpb9%F#P=2cFqil>k$o^=+qaGv?%Vd(Qv;_j$;Aep@9!H zZk{3qoF)M@&YJZ;Ob?w`YOq)V@`Lw%gU^9^cgq#ov(TSFGX4*nB2#jrJ`R!QLQ;KY zb5JqgZB1}MVbgr;)F!9_UG5)9!8?DLFCJc2BP(1-`5!HI*DntES%7ShWS@(B`LTP} zO|I=JT7G0jq8L+>nDz2&c7Hz*In>^Bl$W2zgdq>mHaT;}q|q+(>kuEeRNj}z!qM#4 z-@hL})wZ4QP$SwkZ_mx?dI1kYkm{ipRoxuC^;FI0#<}sRZubfK!q@k<>h1ByjJNyW z*#y%o2wR2SWWTvq(KK`8^7pPu#015RLlB0SzTn@<~m z(AsR%TaWTOzg`G@q#}52xG0+aW7oS|xb1Qx9M8G&VpnGxsay9GkmTYEgEq@tknEa! z+7SO;w*c953eTW7F)!`Qo%C4(UeN*a5->v&^=K(oSp}tEm z34%TU!@sCpOc^qgw_bo-^lH;v=TWeoLPyTZPJscYz$S-grMkxnsBZeK!b)Bjq~Aw# z|M>AMajkq8q(A$w=phvu6n&ZRHP`l86HBp7%KciuZIdUkWiMyChu$9VMSBq40-`~Y zTYgS(V@D8HiadxoVh$lEvRFAt)m|C8S`z^r=W|yFxG1QgVxOyo;NZp6Q(*Z-0$KLo zAE3>GvgkBNTJ~fW@ok2{D$`^O$w7ss2qMWTb-&Hl>-kV0>M4^Ijp#5#y3_uAh23!} z7I9nDoA~l92BP!5$^TXLJSyDgqgpkUE%%q%W-1^FZg2O_AC|jE+<}=VsnXC^U#k|V z*C5OZqg*gqKVsSq6jUdykSEB#|3UgODI#D)KBN*I_b`oCkk& zKj%Vp-{zaut`1Pu7hnTs9B!{}p05X)=Sqtx;5RqzEg*eDngQ`D)ABoP3`a03*J3-@ zInPQY@ViUq#5PdUWPp>&lcJCeeOqc>CK{j**SH(rN}i8CrM`zz8;sSO3PmqcBppxw z5bfR(dENfk_vOp}+ubJK!R^U}%N3&JlyDMU$Zk)72_p|WIdd?g`cTM%F4yeuQ~p}P z5$6gMoKdG5x&jDnIV`;pQU**YBhZk-?sSiuI?wys?p)IFA3!Tr%i^Amlyj%G$9~EhY?%n_Im! zZG-5pb*j?kYLt*uxrF@oM3jIfNvc z&`*de`=&i`wa)zfAiZT7<)S(Nj?1^sfJGmexvdNUh9vlNW42DqaK@UH(J_WKt2-t+ zZ^RFGc1WO`GNTLAG=M3Dq+{cgz<{CxgD6Ni5rm|Ks2YZ)1SgFTZ98(Fu~HS9{9XUS z2Q3}E62_BfO6^C+FL2!dO#hCoYSV*CP63{4UG?etP+`|1nM{i4pFx(jJW^vu__-k! zw9}l^=5-oP7#=u_4MRQ0CKelCNL^Tt=;t_1?I=3=&&@)3x7NyT7f<-uT5N7?Ivh z4gjCJEfm;y3IeqWHn=pSvJ%$zScd!i`Jut081ca%3IbReDPcCDRPFrb9wlCOR5cvd zu*^RO4+pPDf(lO!y-T_Yh$uI(x-MJl2yWG=C^*Lf2xws8mC*rvLzU6{PN3_DdegN&i+L8 zM=k~uI|$C?0}V8P=Y8SHR7-KSn@FoWdY+N6fqMR1_tjL>ltSdbG_nubqOt&8jLPuu!xaxFWhAmGq%3{0=Tgn|quL^abD&NQtg!*;?g&;+vs$ z{Z4jXnF}V3Y2tn_wZfL?)UH*MEBzQa-EYwMv}>EE;YRQ2)yw5vjFHmJ60vqIK0omG zv2(e^;%pzh8pacl&Qj=6vFQug)op%Xv7J`3~(6JI~(_(eht^VsouzE}NBE z+Jvf+$-X^bO{pdC$+!kyi!PsIpB18WYS8`goBLF{A`F|T{^>!y^HGW;?+UHxH#CiC`#(k#IR=x7vg05p_l2+PI*`VAEV+fN-G6WhzctqKFQ3$}r2f3YNOQotz`a1}H@-j2A1@Z}(PEZF=@btMQ(f_Po3~9Ie@v z_F5IHv{kE?g|iCN6Zoa-CDT@@&t=GIPYBtp=jeYEt{fw*$P=4LXYyKno z_~=#QH7c<*Ig7L?zcby_hREIwFBNTa^cyVz@!{euqg^Xgw6g42xj@>ab z2@38hKC*{lbZ=hf)?$EFs>`9}eo_1%3{xk9Y-#DJMlLEY!+P&}tpY|!+L%j+-| zf!IGIlYF8JZbli=dpjgC+=FqM03mT#|RXX-nq*D z=R_=wVXf6nj&)kroLF+#%_}ttw~Nlt{LO3`wk|d!gJ=*6L|Sv*G?%9_k@Zw>l>Tl( zbyMj1lXbz@UEhbd$29BG?ALk#wgvn498A&LwV{rg`aXHdzpD~NMeGk6@UL_&058BU z7&1pPGX4pP{D8X`y4mhM%Zpp~TE8l{yA;l<=_Oz7l1YbdTtk-cqeY1JqY^oE5o5G` zb%gIs6t9YK^mR7ALO$I3@r2QHg+Tlyh{oZQLYtvxT#Ag#&JdH$5umW{5E<3*336(= z`tu!~|86O78upSSlRr|Jh`Eg{hLDnx(N+@P7Ha>(9<5A2R{^ zb*en0TPs#n#)%2VnOnR(qh&+9I)`mjt$e7fDuLEeEk+aHz#OupBD!iU& zk_}&<0YTL6S_+ejvJ^Q~)TJ?r@{(R#yn^@f{2TU~+v?Wc*#NqaLyhi-w3J~o?>S)m zfVpsn=@4KMrKDAI=$LXB7fm+Ny{(S)8g81 ztl`*hc%adJf1}*;L~#&h!hWXw*Fhe}M67|=-z{1tiXfFVbrE7>2OcdU@UWJ$@CyI_ z?w`r;Kal~N&-8w6_G{ZeUhCoS5dN;+aQ_8x+{7_7g-ETpqbo3#DR;dr zuH1Js#Ug;Cy~MuAlIfUib3W`;+{> zqrayQkqyyZVH*hmwO{>UwjkW9Qtp+CrNcP}N<6s*TOw{pO&8vMNTh2oWqg%7KE)fH zK%{83xNSWCANBc>E3;8Yt7$eh-F8BDnHs;KHM+%(FYBbWY3^>_b-vC!sH^sN$6E@Z zKBMXe5xa#o$5&Ng(ljr>(cWx68b2*htsG`C`dkJEt~S9ptv5=tsCn7^oCROt-DjMI z1bi(sgVV&J|17_`(yjQ?$u6_>X*QXQa0_u#MV`+e}GqRF^MsV zg|NS^DnYyR{x%onyIe8`HZ0z4;c=$i-&FamfmmyRf{jADmhaC5I1tsgSs4`eYGF#6 zSG&ytzMoI8M=?cHWhDQoPe~z^Xs1GS6wV@A*lJa9w8i8*Ogf!2kL%h#{7@Ca`+4Ln zThzJwIG_iZk+9ofifLfr%EwGotTavbNMDY{?g=v>I>vk{{FAIt?r$C96lE+N3BaafU*iHX)7-aew zPYx8xVb1zilkGacHItCq)%%VL7n~K z)Ra+UlkYyjl^Vk@JUn#?Q=YT;UiUNn7A0bL&ZQ(!l{P$!hTPy2n7rZJP{=v90)rb~ zhN&A&OnA8?$YK8R)>$GeL0*SY`64Lbk4>}W`Bo3$?zL4502WQZp-7!FIo?~LvgQ0r z4Z7h6tr-j@m;)07dFuoG<07+Vm$}@aY&VQ(chDXT2Nsmjg&3>JZv8DpD<8@{H9Tdw zg^7cBO3QmYP0e}roug5|V>kH}mY(146D`oL4lq-B;Y0>L9%Tjy6mqog>%O};6W(3oI~1a%Tb=$I5z?9??hRcU)b z;8*gat1$PpxjTnol9ub&N$;H<5Ciml`ASFNW&5ibqPn(y7MI!L*(a8ZLE8k-WqV9i zN;#6&fZEo{-$lCxvZC0cm>R$y_X&8h!QGag>u|f!lh7*DYq5 zU5j#PFNL(m8G^S=PUr$RLdnyk9xGOBBA0wPp!n7wy?BSu#`pX|U4|5Ak^vYWWc!!p zAoE{ReSboYVuRxRtajVJ5YqSB{?KFBWHM`+a0W=m#{1sMcxTbc8s|MG9e9(&J{a~b z6h3QbW2d_Ms;h*iPRo78o_Fo|^UCmIa0BGqHu3)`kVs7;2cNlk7{wr(k^M*aE`DmA zi}vFyXNizlZW-qU9pho`!*VL%w#`WhDNnk!+>*;37t+>#YQ=!?%ile9>)7jI4gB`^ z#q;VH3WsFdwzB$u+FlPjOw5-*%BKhfL3)k+YTHhr7MmVp%Iw!XkB$;n-AOYtMx6UZ zhl6Zjwa8@*Ncnn_M=;s=iVAgGT#g>cm^%$_uTo#oTWr*i*^mp3>ERsJ^|BtE{<~jo z;C|Prz~ufA3bozgIgV^XqRu^N`_|VZ8}HRD?OMkoV%5)uY< zF=(-h2!uVGELsjNbF7m(xSoiJL@GRJ@I+1+Y#@wZog6-h91xCyF7=kOILH?-y^lel zydun~criNB77$*!e+#tK`p>NcLH%OT$6`~oukaWVS|of0{dI~sokMbe&s?)OAVe{I zkr(U4R3HpRb~-a*YVpB`brqCp;>$1)*lSknph*o1I;#PH@NCt*(GC|H8VH&`tj;;p zN)$?F6VZxG6?Eqp5dKYtDcL`}Zp@6Yh=R zv-O}MAZU(jd4wzE#kKusW{W3gysi=v&6x8J^s+8;21$64A3H9j9FO$ns0^~aD3{D+v$>p4mAVa;H$APDjx zD6H=1zp&yaFj<>I6og)U)-ZmcK@FBx?#Q+NubU^pN*+&yJADy`CQkriZNX?F{=5%} zg(fhA2TSINP$#0KksqPjQ7nvi$YEcVV<8AqEI1EJ_jTdGB8m%DQY@^&EwVA$uog2K z2Ro?+QAmwbDAaN*{1p9MkqOPLUCA9027R!Rv1E+dPgsHGw%YhVQ)`~WNj|k2>ZxRq zPmWw&rn`=b8@kv!vy#J#pj=?0bLs>$BMie%Fg*`}hBo7vURg}@;Tb**vr3i`g*Ae` z4lIcKUPv=J7fbQ&?WrUEGDB&GHCxgoc?(7d))V9?#F->%yD9cERyCY@Jket2&0Z4{ ztBHt)W4TS8Aet+N1J__=YBBGcUuK`dcY`A*z&Kmk<0B(xHc{@i4ZWLMf|mMk+7*ci zK+Q$S@zEiiz4A0RZKI|BYFu->=UF9vC2YCzg#o3-5J?DXIgRBu4mToNH`Jh~`IJpt zPTxKwm)cZ|m(e}6(GHCv9I9HFpAb~!!_xM+Gd7=F*!K2T2=TMrZyuEbe<=UB7IR9l zymYM!b7Am)lcM3sM#&%Usrr5((;vg{`VgHQM3aX>Cxjr1Aq^>x!(^J>Uid{9rmp8< z&F>;_d?*N8GM0N#3@Y~9PyOL8`Ok{_Q^DqnbIkjnSAccn?RBT$!AP!iJ~%@OU2o=;M!>jZB!88W;?eFp#-l)g=Io&GqL%0WJ9K zI5|{oEae`3Sya39&9w}%7);cXso_T1sm*9)Op&S56c5OM&NHiL@-$&p=#Qqv{v&}} zPZrHDN=cqq%{U+TmiYMQG3CNRFmB-LR2mkN<);u=jVXD%BKaSh98w1S(DIC@jka!! z%xvsfy1pG$~CIucp6Lin}j~Eza36D zEb18Y90>P$4t`@hoL@IfAL@->chltjA$!{RTTbBhl+{I)>isJ`Oo%Ad({B0Kw%P91 zTD`t!QlcEalPI#eD5Vn+X}RdV%aBqMVOb|%qLa+PsCC=s_%0AK(0h60AdX>S8iY2x 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

    x9Yf4k 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

    ^dq3)!Ez%F2>}Ik5L?_JSzOJY7b|qZT7Zdj4 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 a4y72nIR^(xZKhF>A7cXx{dzrU?Ee8Fx&7h* literal 0 HcmV?d00001 diff --git a/docs/tutorials/images/main_slices.png b/docs/tutorials/images/main_slices.png new file mode 100644 index 0000000000000000000000000000000000000000..47d88842501108e3c9a8aacb757f2a37807147a4 GIT binary patch literal 5310 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 P8Uec_C#;@YcwYMl+KwNv literal 0 HcmV?d00001 diff --git a/docs/tutorials/images/menu_arrows.png b/docs/tutorials/images/menu_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..ba3ba4c622f4b2e8b8d7b3b231eaae7021b03d1f GIT binary patch literal 887 zcmeAS@N?(olHy`uVBq!ia0vp^5AYTTCDpdxChGqtapZ|gMO9qBg0|tgy2@DKYGZ+}e^C!h0 zbz@*)dh6-p7*cU7DPe&S1BZf}!oUCj?UybyFk)g65Z)TYBH*A?Fm2N&qn5(&?_!O3 zm^c(x?c`8sSdk{+z>xS+%HH0-<>SZ4?vHp;WEA(L<>vAx#_TTRJ@nw&vo?c$b$`7s zC^RrEn$^v~)RD!;$RcnkJ1Hqipl!zvi&_00AC(;#0?)cKFuIsFGca*HG)+rO<8TfQ z6+Kk(`-u zfn%qq>t8GZT6Y!Xmk?v1+ao5d7U6jO`}=!=W9#GhEA-gc|9kLBP=*0n&4wpi)&1u= zNbIlw-)1n+t`^hrA1s=t%N_Z_!3XjW+;)!jwpCv^4(%v?EhY)_B*NAe*S;_#2VUS= zaBw)nygX51r;Ln3Pd+=}ghXK2q6CJYv@}O^XqZ@(lU<$99r! zz{c*pmrXn3-<~R0gY_sj3v66=>=akxo=X=R4E`O;Vib!wE!mG6XdLS|9*k0+^X*$e z|DFB(sW#Pa7y3aCgWIB$>!B8rJVWqUf|zLQHm$^~R?ARLh}d(CVg0jzf1Aw@Ex5+T z;UHnZKF;+rD9DQiLB0WcHpx*lKtb-;2gX-N^Y1U{nQveC6D{;2KHWOsExxd>rIfL5 zjLb6=^l_|@ZTz}m|GRs>ZK#2>%CsMzI20Qgm>D{{m$ROE^L7C+ PlQ4L?`njxgN@xNA3dSga literal 0 HcmV?d00001 diff --git a/docs/tutorials/images/padding.png b/docs/tutorials/images/padding.png new file mode 100644 index 0000000000000000000000000000000000000000..0e4be066cbf70c3f5bafe4e45303a3718b3acedf GIT binary patch literal 38003 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 QQSkfgzVG%{`cu>X4;YP?LI3~& literal 0 HcmV?d00001 diff --git a/docs/tutorials/images/pager_arrows.png b/docs/tutorials/images/pager_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..122e59855c2b1c4771db8a5c494cfa7a7c1a9017 GIT binary patch literal 683 zcmeAS@N?(olHy`uVBq!ia0vp^MnJ5c+spr0D757*cU7DM4ZigF=HuuX;oE~ zz_F#?(@$(@JFd!b=*OmXX2VyEOc@i}#2grSgVGsU1RCdP=di6h+{$#e#0^@R4z4;fiapasJ1dHmfI2Q+VB%Qd_)4dN;gDRXmzS47TN|6n2VNc? z1)jvjM2^ST*T)OErKYM@-I0uRmWa8wPJnH@J4cJ6ng&B+&2R3lUuLbHqo&hC2z=rG^i5r0EgEdROS=X77@TY5#4M4Puwsko`o zqvXnX=8*_6^fNOUfj%q+2C-nqjVV*7I&!-S3v)O}MoJzsFf&uj*!AYuW`VZpt7KXd zl{s`3ueeG_PFXkbv?=pfXf&R=ngkz;|QxDx}T$qN}40S6s< z`#Klz5C8xDJ$}NGC*)*mfhmyPYEV&8q1dAzzt2Geq|%84ZerXEMOI6jg#Ur&yAKK< zo^Ky8dFBj>M4pTb3@jHGa4R-2NR{w0aVUtL(fRQGz5N!AX5$s2sr89Fc_RE5twgi? z#8WYog#Z7ShfYbHapugCo@H!6YhpPVfhH9TI52EX2#fgt|DxXXzs{Q<{jdKbfU3Pi z4nJufM-x)pP#R#c#~dIOyr|nV6zDnIk^-+xPeJ5mWvy&71PK)%E87{V#Z> zLGDxp`oH;{BLicL>8T6JT~RyV=qsK2cSy%ozlf13<3cOY3A|S9j4T5CV%YjMSBdu& zFdP1EKs8)2wLW1c_sXE(joSJFw@$R*{K|hg1=aA5P4V{ijuP|jYTcw4|8P$X|7Bn0 z=4N1UYY~c39j-1eEQhMTzte3|R5;K-O?<`F(*_5Do>Sl{D=Xt*Mh%)3D^@r}e1Ctx z-N3HqhlBa+n>TJK@DvsnqN|%z!=cM|eO}YCD^J_=U!?6_XJgXe9#Q0o7OkmwPwo~7 z%im_-qNvO^x2Cc8uF;>Rmo^yOIq-hNyBm+iFI?JDdCd*o@R+I(Qo76T{cmb}6CQE- z-|_gaS4I^r^?#XDYkx4BMm6>eAKLMe$BG>k&U!5jz%aE0CZq_1%?vin_Wk+SE_Oxa z*|zod4`MT41l+iP|HWf1ln~(%O#N_)f8O#3hF`yaufKB5YUf|03Sp6ZwFfeuFr%in zB(5$0OG-cywo8Bsn82SaKocSoQ^7^A`m=D9TkKzkwP)tl{OwkARs8Y$wR*{tr_v=$ z+gbI0y->w#0Fqe{rc+kkpY#P@-t)GslVW2)$yXg3&DX;}%zAycfB%Mim-Sy=Nd<=E z{{0`ccxqckQEYK?xygQG!STob7cw{9w_hNf{y)LdH*sFm@hki97ck$vaD@rgtIVn| z1b*%P?XSS2ZTEuXt$x@I3D&7;ODBF3F~{DLUD2e!*{_I`Ohq?y?{j&gQu&X%Q~loCIIK_>c#*7 literal 0 HcmV?d00001 diff --git a/docs/tutorials/images/pattern_mask.png b/docs/tutorials/images/pattern_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..5736ba33196f5f9d47c4c3b9a4f0b80f6abe5441 GIT binary patch literal 10355 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 literal 0 HcmV?d00001 diff --git a/docs/tutorials/images/photoshop.png b/docs/tutorials/images/photoshop.png new file mode 100644 index 0000000000000000000000000000000000000000..55a47e380ddcb84d53230068688ca319b89dfeec GIT binary patch literal 5718 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 literal 0 HcmV?d00001 diff --git a/docs/tutorials/images/reshacker.png b/docs/tutorials/images/reshacker.png new file mode 100644 index 0000000000000000000000000000000000000000..f340136e4e2a048e9cc93f8b48fc68553a4793ed GIT binary patch literal 24270 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 F{tr=*+ZO-; literal 0 HcmV?d00001 diff --git a/docs/tutorials/images/resize.png b/docs/tutorials/images/resize.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7ee6bb76be9c230e359e510c329720f40b7eee GIT binary patch literal 964 zcmeAS@N?(olHy`uVBq!ia0vp^jX-S9!2~3i1n$cRQk(@Ik;M!Q+`=Ht$S`Y;1W=GA z-O<;Pfnj4`&F{d;K)yn z^iSn(xd~74mI7uDg$$V|=PfeVY38j`J9ql9+Y--Ms^0qBQ6uA|Mwqb5S3vD>dd{|=+DoHI79ZfblID%)&!lz~NH?yY4Z@i!SF=Q5Z~`vDZ(mdhpJ@a2_! zKy@m!el=ZT0S13ajLa6CO>$?78y13Jn3r-u%0q zcjle_;ic8*d9N&qoUvlE;J-h=>mOb#PT+Lk6a1h5nxS85Azd~+HM-00EU^%emkj;4^1!q$^ZtH)pGj}6G47Y7G<6f44RCRGkFgf9T+aI zjy2(!rPRDFmIWx8eV<*9f#pI*q{#t_PUh~9PjQa^Ta0@XiGc<>mc?>9Rr^fR{1w*eai6b34DJgwyB)+TTNzi5*|{eRyz zetuyS#N3W4KJYZEakp-e%wu3=u{Umc@-r?dy@Y+6)`E9AW~z|XSJ)QvuP1mxtNM}c zi#+FCl#OuM^gd&jcHm)PP`RBClCFS8F34`MWetoBRa=%_pQAY8J21yFc)I$ztaD0e F0su=xdTsy! literal 0 HcmV?d00001 diff --git a/docs/tutorials/images/search_icons.png b/docs/tutorials/images/search_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..a17ba8ba55c8a6fbdccf20485f5cb7bf13c07069 GIT binary patch literal 1757 zcmV<31|s>1P)z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ?Q%OWYRCwBA{Qv(y!$<-E0mQ^G!T>-3v0xQ#J9+2& zHwHE)Ms2SDMW!ml$-@8v#E6!p_gubHd+pc5?+8I{UZyr}R#S~(;%$HcLhyA6*fat;q(%!@~dpgp!9h-~RFNmlVgNt@p?LVl^Pddg zf4j-Ds;MeNL<}@kEJay>f|s8Bz^Y%D@7L@zpHtUA1G0f6kPQ^UuMEE+GQese9$Sb3 z00D$jXtDnJ$N25{w{L%u1%Leb3lwCG!UyGNdO>#P&{ld$G-jiyRB#6`|8}XG*knMY(IAW*wqirfB#zn6FLq6 zbSvYx&vW+POR*H4jp1%gWk7OvqCOr$P&CfJIQRH#Gy|~;k_rF<2*tyE91JYKetrJ_ zKY8kHL&ax*|1+Gu_vP>3|KZjmw#FJb6W)wtbIyHBG2)uL{W`{7&bvr zJKWHaLCTw`b1f-zgdlvvcjAJbp2E%cUo;Kl@oK;ZcTP5DxrIWS`!?2UGwg;Ra$A zBnbcn5HyC@?L1pGV`sdtWNKyPcyT~6D z14S;t7`}4-5q@R(1ySM|Xkh!sIXAdx6A~mI00a=I9$vHcc*Vs1-+uft(h%=2byig! zR!u8301!Z+YU$ANs~=uJ(vxQy_PzxIfB*s|>4GFDQJ!z%L7v0jw?F_8K#U`;dk7Ff zBd&W05I`f&!vF!qf=90N%>8Yjn9qJ?WMcep%KhJq?|-qe!cg}xKmg&)!@jf6U3mEi zP0(D5bxo4tkoGV@0AcrV?5xvA?}NHWS`utJ;-HShm6yM-y#RGkTvWMcB^eK04+8`c zmL$FQz|~XNJ_CK3WFr`Cz^kGHs;lnYxwH1d=XpooAH4K&=kaUqmRgt^?YjrhV_Fr=QvX|HkD|th(@sWA|;tZlGeI z7J}jc0ffcFuiyM&{PovBnp0U>8Ce|21quSC-oE>Z)z+P5PG(|E_n&_?sM-$oZPTtR z4?b%MFdnaU#pPB^UHHW@0Z;)@8Bj4$3qf&!0K(#74i-j+zyH2|`-3S368!rQqyPul zUE^sY$@K8mC&Tg$w)I=CK6mo)RB@W9s02Kh00TmM?4iG?CJgg(ZxlS8gGT1Gzv!pp=Fz7arH|Y49@^XTJa9)8z;6R0SDNwgnQCCgHjS;ujGk z4go+xpcGI6P#H1eKmZUxSPCswSx$C##xFnrRV;j*?DE}Il@};@`u69!d)@#AB?MU$ z0|?YiU%&tS{}WWm|M*Hm`3cuWq&N^j#J_%LCQ=*-00Ib0wUpI=_~4aKSS?^@WonL+ z^|sT&<8JHx#aAAGP!s3k;b1=Z@Uwy#*Tosh1bqwFb$WU-G2(DwnmPB@%Wpce0!Jst z5+e=}K_TDT)z84O_&AfzWx0PMlziD zpS;sgnvUPM$hwFTM+QJCpaP&WpkiXg0RjjmhU;hSU9lfDUSXgtxUwx^@9`^--~Rvc z^E;>{W9O6=W^}g1>)Vv6m+!w(m*GFNumCRToH^~(t=EbYe3zCM60Zx7I96a1KjG$+ zkGhH?$L3_?7Y7I+L>}&%yL0i@t3ZajJjk~ox8n64CJ^Fg){)^oj_SU>)3aQ&Cja{V zk0f1q#IXWkpjgKD0ksem2M8c&3{PILtz*$KP-QDEcxZ9)Fzzh@1Q0Y2fB5j8`Ns=U zjxWR8w?F_8KqGF%10aA#+yDST0F5{g0|XcVR1TON_-=Zs00000NkvXXu0mjf61p@2 literal 0 HcmV?d00001 diff --git a/docs/tutorials/images/separator.png b/docs/tutorials/images/separator.png new file mode 100644 index 0000000000000000000000000000000000000000..d791bc17b7c1b042ad79d1ebf87dca2d2893a2bf GIT binary patch literal 9372 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 LxnY?;F7p2Xy-O_8 literal 0 HcmV?d00001 diff --git a/docs/tutorials/images/slices.png b/docs/tutorials/images/slices.png new file mode 100644 index 0000000000000000000000000000000000000000..36dd8576970512a826626a52aa81df77c3cad686 GIT binary patch literal 2071 zcmb_ddsIw$9RJOz)QncA$JC}RGKm_RY=aq(h-gwtnwcA79xBSKMpGs-gFI^J&7iPW zUfr!3k@Rv^Gi}s(q@f(ivrM(EFcD?%U1y#CaBzM?nAawi_dyMhu+mS)9LkFBNXn_|f(Ad2|Ck7F7{O16mOeKEc8KU#i0-qp% z0L0?}kn9AYA6=4k01!(BK*t4uAqT*EV@~Pf82}8=X3m=v9KWLb$g(IWZ_D{l90C#p zdOK259ruhkz9tz>-;;4%SQpP6aj53j-k)X}Pc~HYk(k33_Xh)d)}2dW-&^#cN%bh7 zm7lN6DUTHji>e(=b~*=MeVl4gWpU4>C;ca8o1W%FAg84RZrDlRV>U#i7;^-oU#@&v zA;PgA=qg_hQx=0#o5je|QS96<0?yS84ydYuq=FW2j-+YVZ<&Xm%_qI=W(z$8LD6>+?z?2Ufq1(W_OX7Tj_!q#cXhZwQSUUn9ap4J&M1 z(YZ6-`TIpGh-_ zl&{dVmdJNNZmkdLB<`E34j{joC`c;Np|ySn++60RgMbOd*sADe>vivZaV^ ze&W1ApEgemYA&sZ)$yUAR~P2q*>OV7@+^%@>5RmW<%yr1mpk<14*1UHCLodeDoFCC z<^7!{=`!dQsO31E1msww?ils@@sTI*7^(b{`Jq(J6!{Kf+Lnu?Dq_RhkkK~}c zH@gO8pPZ9`;3){7)6o?X(c<(ZT9%}w9#{>(>f~$NJuQoLLJAVJ#(3>W%xy%)xLg4bo*j4xbJ%%Kjtg^#9?OTS;AZm;&4q>PC+N|6 zlqSgS+F91IoS{b)2I^GLu)=;#3id5Vg-7wCh?3%)p6c@t< zUs09xYt^5G?EmW^Ut7B<`RhXVd>{L#J*|soiG%+aB{SPq@JM^ok1LsH+j%;M-}HW^ z^$@Hdp-jAmRWI%-`MQ_`_TOa;@g@|j?;BX(GRAc(dm!sWIuegRB@)^F>|a_Qw{f+W z6S3{^n@81rZ8v$kORx`~=I0i%VR?CUj)An%SfMrY;L;L!uo>q;EFSH`jtj9o#gJB0 zT8FLVEynVXdRiM3Fqh4P2dZc0w+_CphksAugf~$tFH=6_iTb97KlpZ^3#!~{ga!jf z3}bGD{=wV#ELRxc?pQW_R8b_U^-3`s)wU^q&h4^SE~(OxD`*>uz4LMRr#^z04x=E9 z5l>$nD?n2U7JitLp-R}5JWjtCYadn6`w3=#S!s9HHmJ?%%)_(W5*pa>}F<`M?;4iG`rSzD~mc6j}CmG8T(GGJqy1`B;rv2Ef&c zjW(Sx+)Zp>cvA}#AG#&4kxAMjL(osDex?0)dv{TNMvukGveR9*wgQsbN%G&;)J>Ti UOy0d^pf@*QdI!ua@ZxU&2PWjE00000 literal 0 HcmV?d00001 diff --git a/docs/tutorials/skintutorial.html b/docs/tutorials/skintutorial.html new file mode 100644 index 0000000..4d83866 --- /dev/null +++ b/docs/tutorials/skintutorial.html @@ -0,0 +1,2290 @@ + + + +Start Menu Skinning + + + + + + + + + + + + + + +

    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + + + + + + + +
    + + + + + +

    +
    + + + + + + + + +
    + +

    + + + +How To Skin a Start Menu + +

    +

    +
    + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +

    +

    +
    Anatomy of a skin file
    Bitmaps
    Bitmap slices
    Backgrounds
    Skin items
    Main menu
    Windows 7 style
    Sub-menus
    About box
    Skin variations
    Skin options
    Scaling
    Custom skin
    Troubleshooting
    Skin reference
    +
    + + + + + +
    + + +

    Introduction

    Classic Shell™ supports skin files for the start menu. The skin can change things like:
    + +
      + +
    • The background image or color of the menu
    • +
    • The font and text color for various elements
    • +
    • Arrows and other icons
    • +
    • Sizes, padding and alignment
    • +
    • The image to use for the menu separators
    • +

    +All information about a skin is stored in a .skin or a .skin7 file (the .skin7 files are for use by the Windows 7 style). The skin files must be +installed in the Skins +directory of Classic Shell (for example C:\Program Files\Classic Shell\Skins).
    + +
    + +Tutorial Contents:
    + + + +
    +
    + +

    Anatomy of a skin file

    +The skin file is a DLL that contains specific resources like bitmaps, +icons, etc. The only mandatory resource is a text resource with ID=1 +and type="SKIN". It is the text that describes the skin. The +description can refer to other resources like bitmaps and icons.
    + +
    +The easiest way to create a new skin is to start from an existing .skin +file. Make a copy of one of the default skins and save it under a new +name. Then open it in Visual Studio's resource editor, or another +resource editor like Resource +Hacker:
    + +
    + +Skin file
    + +
    + +A great feature of Resource Hacker is that it lets you edit the text +directly inside. When you are done, press the "Compile Script" button, +then save the file.
    + Note: Keep in mind that often the Skins +folder is protected by the OS. If you want to use a tool to edit a file +directly in that folder, the tool must be started as Administrator.
    + +
    + +To replace a bitmap resource, select Action +-> Replace Bitmap. Then pick your new bitmap file, pick the +ID of the bitmap resource you want to replace, click Replace and save. You can replace an +icon resource in a similar way.
    + +
    + +To add a new bitmap, select Action +-> Add a new Resource. Pick the new bitmap file, enter a new +name (must be a number), and you can leave the language blank. Finally +click Add Resource and save.
    + +
    + +
    +

    Bitmaps

    +The start menu uses various bitmap resources for its graphical +elements. Every bitmap in the menu has a name for its setting (for +example "Main_pager_arrows" or "Search_bitmap"). You specify the bitmap +resource with the setting <name>=<resource index>. For example:
    + + +
    +Main_bitmap=1 -
    use bitmap resource with index 1
    +
    You can use BMP, PNG and JPG +images as resources. Put BMP files into the BITMAP resource section. +Put PNG and JPG files into the IMAGE resource section. The menu will +first search the BITMAP section for the given resource index, and then +the IMAGE section.
    +BMP and PNG images can have alpha channels to support transparency. JPG +images are always opaque, and of course, of lower quality.
    +
    +A bitmap can optionally have a color mask. The mask determines how the +bitmap is mixed with up to 3 additional colors, called "tint colors". +The Red channel of the mask controls how much of the first tint +color to mix in, the Green channel controls the second tint color and +the Blue channel controls the third tint color. By default the first +tint color is the system window (Glass) color, and the second tint +color is the menu background color.
    +The mask only applies to the RGB portion of the bitmap. +The Alpha channel remains unchanged:
    +
    + + + + Color masks
    + + + +In this example the first image is the background, the second is the +mask and the third is the end result. The red portions of the mask +blend the glass color (purple) with the background. The green portions +blend the menu color (gray) with the background. By varying the +intensity of red and green in the mask image we control how much the +colors are blended.
    + + + +
    +The mask can be specified in one of two ways - either <bitmap>_mask=<resource index> or <bitmap>_mask=#RRGGBB (a color in hexadecimal format). If the mask is a bitmap it must have the same dimensions as the main bitmap. Some examples:
    +
    + Main_bitmap_mask=2 - use a bitmap resource with index 2
    + Main_bitmap_mask=#FF0000 - use a fixed color with Red=255, Green=0, Blue=0
    +
    +
    +To change the tint color:
    +
    + Main_bitmap_tint1=#000000 - The first tint color is black
    + Main_bitmap_tint2=#808080 - The second tint color is gray
    +
    +
    +The main bitmap can also be a solid color. If both the bitmap and the +mask are solid colors, the end result is a solid-color bitmap that is +the result of the bitmap color and the tint colors all mixed together +according to the mask.
    +If the main bitmap is a solid color and the mask is a bitmap, then the +dimensions of the mask bitmap determine the dimensions of the final +bitmap. In this case the alpha channel of the mask is used as alpha +channel of the result.
    +
    +The masks and tint colors are a powerful system that allows you to +achieve a large variation of possibilities without the need for a large +number of bitmap resources. For good examples how to use the color tints, look at the Metro skin.
    +
    + See the reference section at the end for the supported bitmaps.
    + +
    +

    Named colors

    Everywhere +a solid color is accepted, you can use one of the predefined named +colors. The actual color at any given moment will depend on the current +Windows settings. Using named colors allows you to create skins that +follow the current Windows color scheme.
    +
    +A small number of colors are system colors for classic window elements +- like button color, text highlight color, and so on. For example:
    +
    + + Main_bitmap=$SystemActiveBorder - use the system active border color
    +

    + You can see a full list of those system colors in the reference section.
    +
    The rest of the named colors are only available on Windows 8 and up. They come from the +Metro palette, which is a complete set of hundreds of named colors, +designed to look good together.
    +
    + Main_bitmap_jump=$StartHighlight - use the start screen highlight color
    +
    +
    Not all colors are available on all +versions of Windows. Windows 8.1 adds new ones that don't exist in +Windows 8, and Windows 10 adds even more colors. To make skins that look good on all versions of Windows, you may use a +list of colors in order of preference. If the first one is not +available, the menu will use the next one in the list.
    +
    + Main_selection=$SystemAccentDark2|$StartSelectionBackground +- use the system accent dark 2 color, or if it is not available, use +the start selection backgorund color
    +
    +You can get a full list of the Metro colors using the Classic Shell Utility. You can find it on the main Downloads page.
    +
    For +an example how to use the Metro colors, look at the Metro skin. It +makes a heavy use of the named colors to achieve look that matches the +current color scheme of the start screen.
    +
    + +

    Bitmap slices

    Since many of +the start menu elements are not fixed size (they is resized depending on the number +of menu items, the font size, etc) and bitmaps are fixed size, we need +a way to resize the bitmap to fill a given area. Simply stretching the +whole bitmap will not work because fine details around the border will get blurred.
    + +
    + +That's where the "slicing" system comes in. Each bitmap is split into +slices horizontally and vertically:
    + +
    + +bitmap slices
    + +
    + +The 4 corners are never stretched. The left and right slices are +stretched only vertically. The top and bottom slices are stretched only +horizontally. And the middle portion can be stretched in any direction. +This lets us get any size background without sacrificing the sharp +edges or the smooth gradient in the middle:
    + +
    + +Resized images
    + +
    + +Some images can have more than 3 slices. The main menu background has 6 +slices - 3 for the caption area and 3 for the menu area.
    + +
    + +Some images don't need both vertical and horizontal slices. The menu +separator image is only split horizontally because all separators have +the same height.
    + +
    +
    +

    Backgrounds

    + +A background is a combination of a bitmap and its slices. It consists of the following settings: <name>, <name>_mask, <name>_slices_X, <name>_slices_Y. For example if the name is "Main_bitmap":
    +
    + Main_bitmap=1 - use bitmap resource with index 1
    + + Main_bitmap_mask=2 - use a bitmap resource with index 2
    +Main_bitmap_slices_X=6,1,1,6,1,13
    +Main_bitmap_slices_Y=60,317,8
    +
    +
    Not all backgrounds have both X and Y +slices. For example horizontal separators only have X, and vertical +separators only have Y, since they can only stretch in one direction.
    +
    + See the reference section at the end for the supported backgrounds.
    +
    +
    + +

    Skin items

    +A skin item is a combination of settings that control a particular +element of the menu, for example the selected element. The following +settings are supported:
    + <name>_font - the font used for the text
    + <name>_glow_size - the glow size for the text (only works in Windows 7)
    + <name>_text_color - the color for the text (4 colors for normal, selected, disabled, disabled+selected)
    + <name>_text_padding - the padding on all sides of the text (left, top, right, bottom)
    + <name>_icon_padding - the padding on all sides of the icon
    + <name>_selection +- the background of the item, usually when it is selected (this setting +has the _mask, _slices_X and _slices_Y sub-settings, it can also be a +solid color in #RRGGBB format)
    + + <name>_arrow_color - the color of the sub-menu arrow triangle if the arrow is solid color (2 colors for normal and selected)
    + <name>_arrow - a bitmap for the arrow if the arrow is a bitmap
    + <name>_arrow_padding - the left and right padding of the arrow
    + <name>_icon_frame - a background for the frame of the icon
    + <name>_icon_frame_offset - an X and Y padding between the frame and the icon (X applies for left and right, Y applies to top and bottom)
    +
    +For example this defines the normal text in the main menu:
    + Main_font="Segoe UI",normal,-10
    + Main_text_color=#FFFFFF,#FFFFFF,#9F9F9F,#AFAFAF
    + Main_text_padding=1,0,8,0
    + Main_icon_padding=4,3,3,3
    + Main_selection=3
    + Main_selection_slices_X=4,63,4
    + Main_selection_slices_Y=4,20,4
    + Main_arrow_color=#FFFFFF,#FFFFFF
    + +Main_arrow_padding=8,9
    +
    +
    +When you specify a font you need to provide the font name, the weight (normal or bold), and a size. The font size is given in points. A point is 1/72 of an inch. So the +font size in pixels is:
    + +
    + + + pixel_size = +point_size * DPI / 72
    +
    + +where DPI is the current DPI display setting.
    + + +The font size can be negative or positive. A negative size measures the +character height and a positive size measures the cell height of the +font. Since the cell is usually taller than a character, a font size -10 is usually slightly larger than 10.
    + + +
    +
    +Some items inherit settings from other items. For example the "Main_split" item may only have these settings:
    + Main_split_selection=11
    + Main_split_selection_slices_X=4,63,4,0,16,4
    + Main_split_selection_slices_Y=4,20,4
    +

    +The settings that are not specified will come from the "Main" item.
    +
    + See the reference section at the end for the supported items.
    +
    +

    Main menu

    +Now that we know what is a Bitmap, Background and Skin item, we are ready to define the look of the main menu.
    +
    +The main menu can use a solid color for its background or use a bitmap.
    + +
    + +If you want solid color, use this in the skin description:
    + +
    + +Main_opacity=solid   - the menu is a solid rectangle
    + +Main_background=#00FF00   +- green color
    + +
    + +The color (and all colors in this file) are in the #RRGGBB hexadecimal format. This is +the same format that is used by HTML text.
    + +
    + +To specify a bitmap, use:
    + +
    + +Main_bitmap=1   +- use bitmap resource 1
    Main_bitmap_slices_X=8,1,1,5,1,13- the horizontal slices
    + +Main_bitmap_slices_Y=13,50,9- the vertical slices
    + + + + Main_opacity=glass   + - use glass effect
    + + +
    + +Main_opacity can be solid, region, alpha, glass, fullalpha or fullglass. Solid means the menu will be filled +with the Main_background color +and the bitmap will be drawn on top. Region +means the pixels with alpha=0 will be transparent, and the rest will be +opaque. Alpha means that the bitmap will be alpha-blended with the +desktop behind it. Glass means +the pixels with alpha=0 will be transparent, all the rest will blend +between the glass color and the pixel color (alpha=1 is full glass, +alpha=255 is fully opaque). Fullalpha and fullglass are the same as alpha/glass but inform the start menu that the background behind the menu items can be transparent.
    + +
    + +The bitmap must follow certain restrictions:
    + +
      + +
    • The bitmap can be either 24-bit or 32-bit with alpha channel.
    • +
    • For 32-bit images don't premultiply the alpha channel. If you +don't know what "premultiply the alpha" means, never mind
      +
    • +
    • The area where the menu items are going to be must be completely +opaque if fullalpha or fullglass are not used
      +
    • +
    • For region, alpha, glass, + fullalpha or fullglass modes there is a limitation where the fully transparent (alpha=0) +pixels can be. For every horizontal line of the bitmap there can be +transparent pixels on the left end and on the right end, but not in the +middle. The non-transparent (alpha>0) pixels must be contiguous with +no holes.
    • +
    • For +right-to-left versions of Windows (like Arabic and Hebrew) +the bitmap will be mirrored. Any text or directionally-sensitive +graphics (like a logo) will be backwards. If you want to support +right-to-left Windows, either don't use such graphics or provide an option that uses alternative image
    • +
    • The Windows 7 style (skin with extension .skin7) does not support fullalpha or fullglass opacity modes
      +
    • + +
    To create a 32-bit bitmap with alpha channel you need an image +editor like Photoshop or GIMP. In Photoshop the alpha channel goes here:
    +
    +Alpha in Photoshop
    +
    +When saving the bmp file make sure you pick the 32-bit file format.
    + + +
    + +The first 3 numbers of Main_bitmap_slices_X +relate to the caption area. Set them all to 0 if you don't want +caption. If you do want caption, set the numbers to to the left, middle +and right slice of the caption area of the bitmap.
    + +The second 3 numbers of Main_bitmap_slices_X +are for the left, middle, and right slice of the menu area.
    + +The 3 numbers of Main_bitmap_slices_Y +are for the top, middle and bottom slice of the whole menu. The +same numbers are used for the caption and the menu.
    + +
    + +Here's an example of how the slices should look:
    + +Main menu slices
    + +The highlighted vertical slices are single pixel wide and are stretched +to fill the width of the caption area and the menu area.
    +
    +If your menu background is solid color or a completely rectangular +bitmap, and you are running in Windows 7's Classic theme, you can +select whether the menu will have a 1-pixel thin border or 2-pixel 3D +border:
    + Main_thin_frame=1 - use thin frame instead of the thick 3D frame (for Classic mode only)
    +
    + +
    + +

    The caption

    +The caption is the area on the side of the menu that shows text like Windows 7 Home. If you want caption +you must provide a bitmap for the main menu. There are few parameters +related to the caption:
    + +
    + +Caption_font="Segoe UI",normal,18   +- the name, weight and size of the +caption font
    + +Caption_text_color=#FFFFFF   +- the color of the caption text
    + +Caption_glow_color=#FFFFFF   +- the color of the glow behind the +text
    + +Caption_glow_size=10   +- the size of the glow (0 - no glow)
    + +Caption_padding=4,8,2,16   +- the padding on the left, top, right +and bottom of the caption
    + +
    The padding is the number of pixels to leave on each side of the +caption text.
    + +
    + +
    +

    Two columns

    +All Classic skins must support either a single column mode or two-column mode. The Windows 7 skins only support two columns.
    +There is a system option "TWO_COLUMNS", which is set when the skin runs +in two-column mode. You may use that option to provide a different +bitmap and other settings. For more on options look at the Skin Options +section.
    + +
    + +The main bitmap for two columns must have 6 vertical slices, +just like if the menu has a caption. But instead of having a caption +section and the menu section, there are the first column section and +the second color section.
    + +
    +The second column can have its own set of properties to specify a different font, colors, selection bitmap, etc.:
    + +
    + + Main2_opacity=fullglass
    +Main2_font="Segoe UI",bold,-10
    +Main2_text_color=#FFFFFF,#FFFFFF,#7F7F7F,#7F7F7F
    Main2_padding=3,10,4,8

    +
    These properties are optional. If something is not set, the values from the first column will be used.
    +
    +
    + +

    The menu items

    The main menu can display +different kinds of items. Also some items can have multiple states. +Each item is described in the skin as one or more "skin items" (as +explained above). Here are some examples of items:
    + Main - the normal items in the main menu
    + Main_new - highlighted new programs
    + Main2_separator - a separator in the second column of the main menu
    +
    + Note on separators: For simple separators (with no text) the height of the separator is determined by the height of the provided bitmap. If no +separator bitmap is given the menu uses the default etched line.
    +
    + Custom separator
    +
    +
    +For the complete list see the reference section at the end.
    +
    +

    Patterns

    +The main menu supports overlays of tiled (repeated) textures that are +blended with the main background. You can have up to 4 patterns.
    +
    + Pattern1=11 - the first pattern will use image resource 11
    + Pattern2=15

    +
    +Just like regular bitmaps, patterns can have masks and tint colors
    +
    + Pattern1_mask=#303000 - mask that blends 20% of tint1 and 20% of tint2
    + Pattern1_tint1=#000000 - black color
    + Pattern1_tint2=#FFFF00 - yellow color

    +
    +By default the patterns will cover the entire menu. You can use a mask +image to control where the patterns will be visible. The Red channel +controls the first pattern, Green controls the second pattern, Blue +controls the third pattern and Alpha contols the fourth pattern.
    +
    + Color masks
    +In this example the red areas of the mask are replaced by Pattern1 and the green areas are replaced by Pattern2.
    +
    + Main_pattern_mask=19 - use image resource 19 for pattern mask
    +Main_pattern_search_mask=20 - mask for the search mode of the menu
    +Main_pattern_jump_mask=21 - mask for the jumplist mode
    +
    Search_pattern_mask=22 - mask for the search portion of the main menu
    Search_pattern_search_mask=23 - mask for the search portion of the main menu in search mode
    Search_pattern_jump_mask=24 - mask for the search portion of the main menu in jumplist mode
    +

    +The masks must have the same size as the images they correspond - Main_bitmap, Main_bitmap_search, Main_bitmap_jump and Search_background.
    +
    +Note:
    +Having multiple patterns blended together can be slow. For +fastest results, try to limit most areas to a single pattern withthe +mask at +full intensity (100% Red or 100% Blue, etc). If you want to have a +semi-transparent pattern, it is more efficient to have the transparency +in the alpha channel of the pattern bitmap instead of using +half-intensity mask.
    +
    +For an example on using patterns, take a look at the Metallic skin.
    +
    +

    Emblems

    +The main menu background can have additional images drawn on it, called +"emblems". They are drawn without any stretching. You can have up to 10 of them. The first 4 can use a mask +bitmap to control where in the image the emblems will be visible and +where they will be hidden.
    +
    + Main_emblem1=11 - use image resource 11 for the emblem
    + Main_emblem1_padding=20,20,20,20 - keep 20 pixels padding on all sides of the emblem
    + Main_emblem1_alignH=right - align to the right side of the menu
    + Main_emblem1_alignV=bottom - align to the bottom side of the menu
    + Main_emblem_mask=12 - use image resource 12 for the emblem mask
    +
    Main_emblem_search_mask=20 - emblem mask for the search mode of the menu
    +Main_
    emblem_jump_mask=21 - emblem mask for the jumplist mode
    +
    Search_emblem_mask=22 - emblem mask for the search portion of the main menu
    Search_emblem_search_mask=23 - emblem mask for the search portion of the main menu in search mode
    Search_emblem_jump_mask=24 - emblem mask for the search portion of the main menu in jumplist mode
    +

    +The horizontal alignment can be left, right or center for the entire menu, left1, right1, center1 for the first column, left2, right2, center2 for the second column, or corner. The corner alignment will align the emblem to the same corner of the screen where the start menu is shown.
    +
    +The certical alignment can be top, bottom, center or corner.
    +
    +The emblem mask controls where the emblems will be visible. Red is for the first emble, Green for the second, and so on.
    +
    +
    +

    Other menu elements
    +

    +You can provide a custom bitmap to be used for the arrows:
    +
    + + +Main_arrow=3- the resource ID of the +sub-menu arrow bitmap
    + + + +
    +The arrows bitmap (Main_arrow) needs 2 have 2 arrow images like this:
    +Sub-menu arrows
    +The top half is used for the normal arrow and the bottom half is for the selected arrow.
    +
    +The pager is used to scroll items in the menus if they don't fit. The pager needs a background and a bitmap for the arrow:
    +
    +Main_pager=2
       - the resource ID of the pager bitmap
    + Main_pager_slices_X=3,1,3   - the horizontal slices of the pager bitmap
    + Main_pager_slices_Y=4,66,4   - the vertical slices of the pager bitmap
    + Main_pager_arrows=3   - the resource ID of the pager arrows bitmap
    +
    +Main_pager has the normal and selected backgrounds for the scroll buttons:
    +Pager buttons
    +
    Main_pager_arrows must have 4 arrow images like this:
    +Pager Arrows
    +The top 2 point up, the bottom 2 point down, the left 2 are normal and the right 2 are selected.
    + +
    +
    +

    More on padding

    +The start menu uses multiple padding settings to correctly align all graphical elements. You can see from this image:
    +Padding settings
    +
    +Tweak the numbers to get the desired alignment of the caption, or the gap between the icon and the text, etc.
    + +

    +

    User Picture (Classic skins)
    +

    +The start menu can also show the user picture. You enable it by setting +the size of the user picture. All original skins use 48x48 pixels, but +you can choose any size up to 128x128:
    +
    +User_image_size=48
    +
    +You must also set the position of the image inside the menu:
    +
    + User_frame_position=-10,6
    +
    Positive +position is measured from the left and top, and negative +numbers are from the right and the bottom. So "-10,6" means 10 pixels +from the right and 6 pixels from the top. The horizontal position can +also be "center", "center1" or "center2". Then the image will be +centered over the whole menu, or over the first column, or over the +second column:
    +
    + User_frame_position=center2,6   + - center on top of the second column
    + +
    + Optionally, you can specify a frame bitmap:
    +
    + User_bitmap=12   + - the resource ID of the frame bitmap
    + User_image_offset=8,8   + - how many pixels between the top/left corner of the frame and the top/left corner of the user picture
    +
    +
    The frame is drawn on top of the user picture, +so it must have a hole where the picture is supposed to be. That means +the frame bitmap must have alpha channel.
    +
    +By default the user picture is drawn opaque. You can control the transparency of the picture with this property:
    +
    + User_image_alpha=200   + - set the transparency to 200 (out of 255)
    + +
    +
    +

    User Picture (Windows 7 skins)
    +

    +The Windows 7 style shows the user picture as a separate window that +can extend beyond the size of the start menu. The user image is +restricted to 48x48 pixels and the frame around it is always 64x64 +pixels. This limitation is because the size must match the size of the +extra-large icons used by the items in the second column of the menu.
    +
    +You can provide the following settings:
    + User_bitmap=12   + - the resource ID of the frame bitmap
    + + User_bitmap_outside=1 - if the frame can go outside of the main menu (but only when the start menu is at the bottom of the screen)
    + + User_image_padding= -4,8 - +top and bottom padding of the frame (used to fine-tune the vertical +position of the frame. the horizontal position is always centered)
    +
    + +
    + + +

    User Name (Classic skins only)
    +

    +The start menu can also show the user name. To enable that feature you +have to provide the location of the name inside the menu, its font and alignment:
    + +
    + User_name_position=10,15,-75,55
    +User_name_align=right
    +User_font="Segoe UI",bold,22
    +User_text_color=#FFFFFF
    +User_glow_color=#000000
    +User_glow_size=2
    +

    +
    + The +four number are the left, top, right and bottom offsets of the +rectangle. Positive numbers mean offsets from the left and top. +Negative numbers mean offsets from the right and bottom. In this +example the rectangle will be 10 pixels from the left, 15 from the top, +75 from the right and the bottom will be 55 from the top. +Since the top and bottom numbers (second and fourth) are both positive, +the rectangle will be aligned to the top of the menu and will always be +40 pixels tall.
    +
    +Unlike other fonts in the skin, the font for the user name does not +scale when the screen DPI changes. Read more about font scaling in the Scaling section below.
    +
    +The alignment can be center, center1, center2, left, left1, left2, right, right1 or right2. If this setting is missing, the name is centered by default. Center, left and right align the name relative to the whole menu. Center1, left1 and right1 align inside the first column, and center2, left2 and right2 align inside the second column.
    +
    +The user name is usually taken from the system. For systems that +provide full name it will be something like "Smith, John". Otherwise it +will be the login name like "jsmith". You can override the text from the settings, using the User name text setting in the Menu Look tab.
    +
    +
    +

    Search box

    + + + The icon next to the search box can be skinned to +match the menu background. You need to provide one bitmap that contains +8 images like this:
    + Search icons
    +The top row has 16x16 images and the bottom row has 20x20. Then specify the bitmap ID:
    +
    + Search_bitmap=11
    + + +
    +

    Windows 7 style
    +

    +The Windows 7 style (the .skin7 skins) have some additional requirements for the main menu.
    +
    +First, it requires 3 separate backgrounds to be set, Main_bitmap (as shown above), Main_bitmap_search (used during search) and Main_bitmap_jump +(used when a jumplist is opened). It is recommended that the top and +bottom padding for all 3 backgrounds are the same, otherwise the menu +items may move around as the menu transitions between different modes.
    +
    +Second, the skin needs some new skin items to be defined, like Shutdown, List, Programs, etc. For the complete list see the reference section at the end.
    +
    +There are some additional bitmap resources that need to be defined, +also listed in the reference section. These include the background +around the search box in various modes, custom pin icon, etc.
    +
    +
    + +

    Sub-menus

    +For sub-menus the parameters are similar to a simple main menu:
    + +
    + +Submenu_padding=2,2,2,2
    +Submenu_thin_frame=1

    + + + +Submenu_font="Segoe UI",normal,-9
    + +Submenu_background=#FFFFFF
    + +Submenu_text_color=#000000,#000000,#7F7F7F,#7F7F7F
    + +Submenu_selection=2
    + +Submenu_selection_slices_X=3,1,3
    + +Submenu_selection_slices_Y=4,66,4
    + +Submenu_separator=3
    + +Submenu_separator_slices_X=3,34,3
    +.......
    + +
    +Sub-menus can also have a vertical separator. It is used when a menu has more than one column:
    +Submenu_separatorV=12    - bitmap to use as a vertical separator between multiple columns
    +Submenu_separator_slices_Y=2,16,2    - vertical slices for Submenu_separatorV
    +
    + +
    +

    About box

    + +In the settings of the start menu there is a button About This Skin +that opens a message box. Use it to provide information about the skin +and about yourself. List any requirements of your skin - Does it +require Aero? Is it intended for Vista only?
    + +
    + +The parameters are:
    + +About=Some text   - the text you want displayed
    + +AboutIcon=1   - the icon resource to use in +the About box
    + +
    + +In the text you can use \n as +a line break, like "Line1\nLine2". +The text also supports hyperlinks in the format <A HREF="www.mycoolsite.com">Visit my +site</A>.
    + +
    + +The icon can be any icon resource you want displayed. If no icon is provided, the +system "info" icon is used.
    +
    +
    +

    Skin variations

    +One skin file can contain multiple skins. The first one (defined in the +SKIN resource with ID=1) is the main skin and the rest are variations. +The variations are described in the main SKIN resource like this:
    +Variation1=0, "Large Icons, With Caption"
    +Variation2=2, "Large Icons, No Caption"
    +
    +Each variation has a resource ID and a text. The ID refers to a +secondary SKIN resource, which contains overrides for some parameters +(for example an alternative Main_bitmap, or Submenu_font). The text is +the name of the skin variation that will be used in the Settings box.
    +
    +The skin variations make it possible to pack multiple skins into one +file, which makes them easier to distribute together. Also all skins +can share bitmap resources from the skin file, reducing the total size.
    +
    +
    +

    Skin options

    +A skin can define a list of options for the user to pick. In the simple case an option +is a checkbox that can be ON or OFF. The options are defined like this:
    + OPTION CAPTION="Caption",1
    + OPTION SMALL_ICONS="Small Icons",0
    +
    +
    +First there is the word OPTION, then the name of the option (like +CAPTION), then the label for the checkbox (like "Caption") and finally +the default value (1 - ON, 0 - OFF).
    +
    +At the end of the skin file you can have one or more sections that +provide overrides for some parameters. Each section has a condition, +which is evaluated based on the options that the user has selected. The +condition can be an expression that uses operations like AND, OR and NOT - like OPTION1 AND (OPTION2 OR NOT OPTION3).
    +For example:
    + [NOT CAPTION]- this section will be used when CAPTION is OFF
    + Main_bitmap_slices_X=0,0,0,15,1,13
    + Main_padding=12,10,10,8
    +
    +
    + [SMALL_ICONS]- this section will be used when SMALL_ICONS is ON
    + Main_large_icons=0
    + Main_font="Segoe UI",normal,-9
    +
    +
    Each section starts from its header and ends at the next section or +the end of the file. So it is important to place the sections at the +very end of the file.
    +
    +It is possible to disable an option depending on some other options. +You do that by providing an expression for the option, as +well as an alternate default value when the expression is false. For +example:
    + OPTION USER_NAME="Show user name",0
    + OPTION CENTER_NAME="Center user name",1, USER_NAME, 0
    +
    +
    +The "Center user name" option will be disabled when USER_NAME is false (that is, when the "Show user name" option is unchecked). When the option is disabled, its value will be fixed to 0. The idea is to make it clear for the user that if you don't show the user name then you can't center it.
    +
    + Important Note: An option can only depend on other options that are defined before it. So in this example USER_NAME must be defined after CENTER_NAME.
    +
    +

    Complex options

    +More complex options can have an actual value in addition to being +turned ON or OFF. The value can be a number, a text string, a color or +an image.
    + +
    +
    This defines a color option named COLOR_CUSTOM. The default value is FFFFFF. The condition for the option is TRUE, which makes it always enabled.
    + +
    + OPTION_COLOR COLOR_CUSTOM=Custom color,0,TRUE,FFFFFF
    + [COLOR_CUSTOM]
    + Main_background=@COLOR_CUSTOM@
    +

    +The option will be displayed as a checkbox and a color picker. When the checkbox is clicked, the value COLOR_CUSTOM will become true, which will enable the [COLOR_CUSTOM] section. The actual color value selected by the user will replace @COLOR_CUSTOM@.
    +
    +For number, text, or image options, use OPTION_NUMBER, OPTION_STRING and OPTION_IMAGE.
    +
    +Check out the Metallic skin for many examples of complex options.
    +
    +

    Skin modes

    +The classic skins (the ones stored in .skin files) can be used in 3 +modes - "one column", "two columns" and "all programs". The first and +the second are used depending on the current menu style. The last one +is used on Windows 7 to show the All Programs sub-menu of the Windows +start menu.
    +
    +The skin system defines 2 built-in options TWO_COLUMNS and ALL_PROGRAMS. The skin can use them to detect which of the modes is being requested. For example:
    +
    + + [ALL_PROGRAMS] - this section will be used only for the All Programs menu
    + + Submenu_text_color=#0000FF,#0000FF,#7F7F7F,#7F7F7F - override the text color
    + +
    +Not all options make sense in all modes, so it is nice to hide them +from the user. For example the caption settings can't be used in "two +columns" mode, and any main menu settings are ignored in "all programs" +mode.
    +You can define the following settings to restrict what options to show:
    +Classic1_options - a list of options to show in "one column" mode
    +Classic2_options - a list of options to show in "two columns" mode
    +AllPrograms_options- a list of options to show in "all programs" mode
    +
    +For example:
    + Classic1_options=CAPTION, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS
    + Classic2_options=NO_ICONS, SMALL_ICONS
    + AllPrograms_options=THICK_BORDER, SOLID_SELECTION
    + +
    +

    +

    Radio groups

    +Sometimes you may want to present a set of options, such as only one +option is active at a time. This is called a radio group. You define it +like that:
    +
    + OPTION RADIOGROUP=<name of the group>,0,<option1>|<option2>
    + OPTION <option1>=<name1>,1
    + OPTION <option2>=<name2>,0
    + +
    +

    +The first option in the list defines the group. It has a name, then the +value (which is ignored), then the list of the possible options.
    +The next few options define the possible selections. Exactly one of +them must be set to 1 and that will be the default selection. When the +user clicks on one of the options the rest will be set to 0 +automatically.
    +
    +For example:
    +
    + OPTION RADIOGROUP=Transparency,0,TRANSPARENT_LESS|TRANSPARENT_DEF|TRANSPARENT_MORE
    + OPTION TRANSPARENT_LESS=Less,0
    + OPTION TRANSPARENT_DEF=Default,1
    + OPTION TRANSPARENT_MORE=More,0
    + + +
    +

    +
    + + +

    Scaling

    + +

    DPI scaling

    + +The skin parameters are authored for the default resolution of 96 DPI. +When the skin is used at higher DPI setting you have the option to +scale up some of the parameters. For example:
    +
    + Main_arrow_padding=8,10,50%
    +

    +This means that the arrow padding will be scaled by 50% of the increase +in DPI. If the current DPI is 120 (25% increase over 96 DPI), then the +numbers will be scaled up by 50% of 25%, which is 12.5%. 8 will become +9 and 10 will become 11.25 (rounded to 11). If instead the skin was:
    + +
    + + Main_arrow_padding=8,10,100%
    + +
    +Then the full 25% increase will be applied, so 8 will become 10 and 10 will become 12.5 (rounded to 13).
    +
    +It is also possible to use different scaling values for each number:
    +
    + Main_icon_padding=4,4,3,4,100%,0%,100%,0%
    +

    +In this case the first and third number will be scaled by 100% and the rest will not be scaled.
    +
    +Not all skin parameters support scaling. For example bitmap slices cannot be scaled +because they represent portions of some bitmap resource. The parameters +that can be scaled are marked as such in the reference section.
    +
    +

    Fonts

    +By default the fonts are scaled with the DPI at 100%. You can overwrite that:
    +
    + Main_font="Segoe UI",normal,-9,50%
    +

    +This will make the Main_font scale with half of the rate of the DPI increase.
    +
    + Note: One exception is the User_font. It is not scaled by default because it is intended to fit in the User_name_position box. If you want the font to scale, you should use the same scale for the user name position.
    +
    + +

    High DPI parameters

    +When the DPI is 144 or higher (text size 150% and up), the skin defines +a setting HIGH_DPI, which allows you to provide alternative bitmap +resources and other parameters that are intended to be used with higher +resolutions. Use it for example to define larger graphical elements like arrows and +icons.
    +
    +

    Localization

    +The built-in skins contain localizations for all their options and +variations. Instead of providing the text directly in the skin file, +the setting refers to a string in the localization DLL. For example:
    + + OPTION USER_IMAGE=#7014,1
    +OPTION SMALL_ICONS=#7011,0
    +
    +
    #7014 means to look up string number #7014 in +the DLL. Custom skins can use the strings that already exist in the +DLL, but unfortunately new strings cannot be added by the skin itself.
    +
    +
    +

    Custom skin

    +During development it can be a bother to have to Resource-Hack the skin +file for every little change. That's why the start menu supports a +special "custom" skin. Instead of packing all resources in a DLL, you +can leave them as loose files in the Skins directory:
    +
    + +1.txt - the main skin description
    + +12.bmp - bitmap used by 1.txt
    +2.txt - a skin variation
    + +7.ico
    + +...
    + +
    + +The file name must be the resource ID of that asset in the skin file. +For example 12.bmp will go +into a bitmap resource with ID 12. Edit them until you are ready to +package them into a skin file.
    + +
    + +The "Custom" skin option is available in the settings only if the start +menu can find the 1.txt file.
    + +
    + +The custom skin has an additional parameter that is not available for +other skins:
    + +ForceRTL=1
    + +
    + +This makes the start menu run in right-to-left mode. Use it to see how +your background image will look on an Arabic OS. Note: +The RTL emulation is not perfect. One notable difference is that all +menu icons are mirrored. On a real RTL Windows they will not be.
    +
    +
    +

    Troubleshooting

    +If your skin is causing an error, the start menu will drop it and use +the Default skin instead. The reason can range from a missing resource +to an incompatible version to a bitmap with wrong size, and so on.
    +
    +To figure out the cause of the problem turn on "Report Skin Errors" in +the start menu settings. Then you'll see a popup like this:
    +Skin error
    +
    +Note that only errors related to the current skin variation and the +current skin options will be reported. So test your skin with every +combination to ensure it works in all conditions.
    + +
    +
    + +

    Skin reference

    This section describes +all possible settings that can be used in a skin file. Before we can +define the individual settings we need to define the types that a +setting can have. A setting can be one of the following types: text, +number (or multiple +numbers), color (or multiple colors), font, icon, bitmap, background or +skin item. Some settings like background or skin item have multiple +sub-settings described below. The names of the sub-settings begin with +the name of the parent setting.
    +
    +Here are the types in more detail:
    +
    + A color is represented in the hexadecimal format #RRGGBB, where each color component takes 2 hex digits. For example:
    + Caption_text_color=#00FF00
    +

    +It can also be a named color. The actual value will depend on the currnt system settings:
    + Caption_text_color=$StartHighlight
    +
    +
    These are the main system colors that are available on all versions of Windows:
    $SystemScrollbar
    + $SystemBackground
    + $SystemActiveCaption
    + $SystemInactiveCaption
    + $SystemMenu
    + $SystemWindow
    + $SystemWindowFrame
    + $SystemMenuText
    + $SystemWindowText
    + $SystemCaptionText
    + $SystemActiveBorder
    + $SystemInactiveBorder
    + $SystemAppWorkspace
    + $SystemHighlight
    + $SystemHighlightText
    + $SystemBtnFace
    + $SystemBtnShadow
    + $SystemGrayText
    + $SystemBtnText
    + $SystemInactiveCaptionText
    + $SystemBtnHighlight
    + $System3DDKShadow
    + $System3DLight
    + $SystemInfoText
    + $SystemInfoBK
    + $SystemHotLight
    + $SystemGradientActiveCaption
    + $SystemGradientInactiveCaption
    + $SystemMenuHilight
    + $SystemMenuBar
    +For Windows 8 and later you can use many more named colors from the Metro palette. Use the Classic Shell Utility to view the full list.
    +
    +
    +A font selects the font's name, size, and weight (normal or bold). For example:
    + Main_font="Segoe UI",normal,-10
    +
    +
    +
    An icon is a reference to an icon resource number in the skin file:
    +About=1
    +
    +
    + A bitmap +is a +reference to a bitmap resource number in the skin file. It can have an +optional mask that determines how to mix the bitmap resource with the +tint colors. The mask can be another bitmap or it can be a solid +color:
    + Main_bitmap=2
    + Main_bitmap_mask=#FF0000
    +Main_bitmap_tint1=#E0E000
    +
    +
    +
    + A background +is a bitmap that can be resized to the necessary size. It consists of a +bitmap resource and slice numbers. The number of slices depends on the +actual background. Some are 3x3, some are 3x1, some 6x3.
    +
    +Possible settings for a background with a given <name>:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameType
    +
    Notes
    +
    <name>
    +
    number or color
    +
    The main image. It can be a BITMAP or IMAGE resource identifier, or a #RRGGBB color +
    <name>_masknumber or color
    +
    The +color mask. It can be a bitmap resource identifier or a #RRGGBB color. +If it is a bitmap then it must have the same size as the original bitmap
    +
    <name>_slices_Xnumbers
    +
    The sizes for the horizontal slices. The sum of the numbers must not exceed the width of the bitmap
    +
    <name>_slices_YnumbersThe sizes for the vertical slices. The sum of the numbers must not exceed the height of the bitmap
    <name>_tint1
    +
    color
    +
    The first tint +color. It will be blended with the main image according to the Red +channel of the mask. By default it is the glass color
    +
    <name>_tint2colorThe second tint color. It will be blended with the main image according +to the Green channel of the mask. By default it is the menu background color
    +
    <name>_tint3colorThe third tint color. It will be blended with the main image according +to the Blue channel of the mask. By default it is black
    +
    +
    + A skin item controls the complete look for individual menu elements. It sets the font, colors, and other settings.
    +
    +Possible settings for skin item with a given <name>:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameType
    +
    Notes
    +
    <name>_font
    +
    font
    +
    The font for the item's text
    +
    <name>_text_color
    +
    4 colors
    +
    Colors for the text - normal, selected, disabled, disabled+selected
    +
    <name>_glow_size
    +
    number
    +
    Size of the glow in pixels (only supported on Windows 7)
    <name>_text_padding
    +
    4 numbers (with scale) + Padding on the left, top, right, bottom around the item's text
    +
    <name>_icon_padding
    +
    4 numbers (with scale) + Padding on the left, top, right, bottom around the icon
    <name>_selection
    +
    background or color
    +
    Background for the item when it is selected (can also be a solid color)
    +
    <name>_arrow_color
    +
    2 colors
    +
    The arrow colors - normal and selected (when the arrow is solid color)
    +
    <name>_arrow
    +
    bitmap
    +
    The arrow +bitmap (when the arrow is a bitmap). The bitmap must contain 2 images, +the top one is normal and the bottom is selected
    +
    <name>_arrow_padding
    +
    2 numbers (with scale) + Padding on the left and right side of the arrow +
    <name>_icon_frame
    +
    background
    +
    Background for the icon frame
    +
    <name>_icon_frame_offset
    +
    2 numbers (with scale) + Horizontal and vertical padding between the icon and the frame +
    +
    +
    +Now that we know how to define settings of different types, here is a list of all settings used by the menu skins:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameType
    +
    Notes
    +
    About
    +
    text
    +
    The text to display in the About box
    +
    AboutIconicon
    +
    The icon to display in the About box
    +
    Versionnumber
    +
    Use version 2
    +
    Caption
    +
    Caption_fontfont
    +
    The font to use in the caption on the side of the main menu
    +
    Caption_text_colorcolor
    +
    Color for the caption text
    +
    Caption_glow_colorcolor
    +
    Color for the caption text glow
    +
    Caption_glow_sizenumber
    +
    Size of the glow in pixels (only supported on Windows 7)
    +
    Caption_padding4 numbers (with scale) + Padding on the left, top, right, bottom around the caption text
    +
    Patterns
    +
    Pattern1 through Pattern4
    +
    background
    +
    Tileable image for the main menu
    +
    Main_emblem1 through Main_emblem10
    +
    background
    +
    Emblem images for the main menu
    +
    Main_emblem1_padding
    +
    4 numbers (with scale)
    +
    Padding on the left, top, right, bottom around the emblem image
    +
    Main_emblem1_alignH
    +
    stringHorizontal padding for the emblem - center, center1, center2, left, left1, left2, right, right1, right2, corner
    +
    Main_emblem1_alignV
    +
    string
    +
    Vertical padding for the emblem - center, top, bottom, corner
    +
    Main menu
    +
    Main_backgroundcolor
    +
    Background color for the main menu
    +
    Main_bitmapbackground
    +
    Background for the main menu. Needs 6 vertical and 3 horizontal slices
    +
    Main_opacitytextOpacity of the main menu - solid, region, alpha, glass, fullalpha, fullglass
    +
    Main_large_iconsnumber
    +
    Set to 1 to use large icons in the main menu
    +
    Main_thin_framenumber
    +
    Set to 1 to use a thin border (as opposed to thick 3D border). Only applies to Classic theme in Windows 7
    +
    Main_padding4 numbers (with scale) + Padding on the left, top, right, bottom around the items in the main menu
    +
    Mainskin item
    +
    The look for the normal items in the main menu
    +
    Main_splitskin item
    +
    The look for the split items in the main menu. Inherits from Main
    Main_newskin item
    +
    The look for the highlighted items (like new programs) in the main menu. Inherits from Main
    Main_separatorskin item
    +
    The look for the text in the separators in the main menu. Inherits from Main
    +
    Main_separatorbackgroundThe bitmap for the horizontal separators in the main menu
    +
    Main_separatorVbackground
    +
    The vertical separator between the two columns of the main menu
    +
    Main_pagerbackground
    +
    The background for the main menu pager. Requires 2 pictures, the top one is normal state, the bottom is highlighted state
    +
    Main_pager_arrowsbitmap
    +
    The arrow for the pager. Requires 2x2 grid with up, down, normal and hot states
    +
    +Search_hint_fontfont
    +
    The font for the hint text in the search box
    +
    Main_pattern_mask
    +
    bitmap
    +
    A bitmap mask that controls the placement of the patterns in the main menu (must match the size of the Main_bitmap)
    +
    Main_emblem_mask
    +
    bitmap
    +
    A bitmap mask that controls the placement of the emblems in the main menu (must match the size of the Main_bitmap)
    Two-column main menu
    +
    Main2_opacitytextOpacity for the second column of the main menu
    +
    Main_no_icons2number
    +
    Set to 1 to hide the icons in the second column
    +
    Main2_padding4 numbers (with scale) + Padding on the left, top, right, bottom around the items in the second column
    +
    Main2skin item
    +
    The look for the normal items in the second column. Inherits from Main
    +
    Main2_splitskin item
    +
    The look for the split items in the second column. Inherits from Main2
    +
    Main2_newskin item
    +
    The look for the highlighted items in the second column. Inherits from Main2
    +
    Main2_separatorbackground
    +
    Horizontal separator for the second column. Inherits from Main_separator
    Windows 7-style main menu
    +
    Main_bitmap_searchbackgroundBackground for the main menu in search mode
    +
    Main_search_padding4 numbers (with scale) + Padding for the menu items in search mode
    +
    Main_bitmap_jumpbackgroundBackground for the main menu in jumplist mode
    +
    Main_jump_padding4 numbers (with scale) + Padding for the jumplist items
    +
    Main_search_indentnumber (with scale) + The indent in pixels of the search results relative to the search headers
    +
    Main_pattern_search_mask
    +
    bitmapPattern mask for the main menu in search mode (must match the size of Main_bitmap_search)
    +
    Main_pattern_jump_mask
    +
    bitmapPattern mask for the main menu in jumplist mode (must match the size of Main_bitmap_jump)
    Main_emblem_search_mask
    +
    bitmapEmblem mask for the main menu in search mode (must match the size of Main_bitmap_search)
    Main_emblem_jump_mask
    +
    bitmapEmblem mask for the main menu in jumplist mode (must match the size of Main_bitmap_jump)
    Shutdownskin item
    +
    The look for the shutdown button. Inherits from Main
    +
    Shutdown_searchskin item
    +
    The look for the shutdown button in search mode. Inherits from Shutdown
    +
    Shutdown_jumpskin item
    +
    The look for the shutdown button in jumplist mode. Inherits from Shutdown
    +
    Shutdown_padding4 numbers (with scale) + Padding around the shutdown button
    +
    Listskin item
    +
    The look for the search results and jumplist items. Inherits from Main
    +
    List_splitskin item
    +
    The look for the search results and jumplist items that are split in two parts. Inherits from List
    +
    List_separatorskin item
    +
    The look for the text in the separators in the search results and jumplists. Inherits from List
    +
    List_separatorbackgroundHorizontal separator for the search results and jumplists Inherits from Main_separator
    List_separator_splitskin item
    +
    The look for the split separators in the search results. Inherits from List_split
    +
    List_separator_splitbackgroundHorizontal split separator for the search results and jumplists Inherits from Main_separator
    Programs_iconbitmap
    +
    The icon for the All Programs button. Requires 2 pictures, one for the normal state and one for the selected state
    +
    Programs_buttonskin item
    +
    The look for the All Programs button. Inherits from Main
    +
    Programs_button_newskin item
    +
    The look for the highlighted All Programs button. Inherits from Main
    +
    Search_bitmapbitmap
    +
    A bitmap with various icons used by the search box
    +
    Search_arrowbitmap
    +
    A bitmap for the arrow in the search separators. Requires 2 pictures, one for the minimized and one for the maximized state
    +
    Search_padding4 numbers (with scale) + Padding around the search box
    +
    Search_framenumber
    +
    Set to 0 to disable the black frame of the search box, for example if Search_background has a built-in border
    +
    Search_backgroundbackground
    +
    Background around the search box
    +
    Search_background_padding4 numbers (with scale) + Padding around the search background
    +
    Search_background_searchbackground
    +
    Background around the search box in search mode
    +
    Search_background_search_padding4 numbers (with scale)Padding around the search background in search mode
    +
    Search_background_jumpbackgroundBackground around the search box in jumplist mode
    Search_background_jump_padding4 numbers (with scale)Padding around the search background in jumplist mode
    Search_pattern_mask
    +
    bitmap
    +
    Pattern mask around the search box (must match the size of Search_background)
    +
    Search_pattern_search_mask
    +
    bitmapPattern mask around the search box in search mode (must match the size of Search_background_search)
    Search_pattern_jump_mask
    +
    bitmapPattern mask around the search box in jumplist mode (must match the size of Search_background_jump)
    Search_emblem_maskbitmapEmblem mask around the search box (must match the size of Search_background)
    Search_emblem_search_maskbitmapEmblem mask around the search box in search mode (must match the size of Search_background_search)
    Search_emblem_jump_maskbitmapEmblem mask around the search box in jumplist mode (must match the size of Search_background_jump)
    Pin_bitmapbitmap
    +
    Icon for pinned and unpinned items. Requires 2x2 grid with pinned, unpinned, normal and selected states
    +
    More_bitmapbitmap
    +
    Icon for the "More results" item. Requires 2 pictures, one for normal and one for selected state
    +
    Shutdown_bitmapbitmap
    +
    Icon that is added to the shutdown button when there are updates to be installed
    +
    Programs_backgroundcolor
    +
    Background color for the programs tree
    +
    Programsskin item
    +
    The look for the items in the programs tree. Inherits from Main
    +
    Programs_newskin item
    +
    The look for the highlighted items in the programs tree. Inherits from Programs
    +
    Programs_indentnumber (with scale) + Additional indentation (positive or negative) for the nested items in the programs tree
    +
    User Picture (Classic style) +
    User_bitmapbitmap
    +
    The frame for the user bitmap
    +
    +User_image_offset2 numbersThe offset of the user picture inside the frame
    +User_image_size
    +
    number (with scale) + The size of the user image
    +
    +User_image_alphanumberOpacity between 0 and 255 for the user picture inside the frame
    +
    +User_frame_position2 values (with scale) + The +horizontal and vertical position of the frame. The horizontal can be +also "center", "center1", or "center2"
    User Picture (Windows 7 style)
    +
    User_bitmapbitmapThe frame for the user bitmap. Must be 64x64 or larger
    +User_image_offset2 numbers
    +
    The offset of the user picture inside the frame
    +
    +User_image_sizenumberThe size of the user image (should be no less than the size of User_bitmap). The default is 48
    +User_image_padding2 numbers (with scale)Top and bottom padding around the user frame
    +User_bitmap_outsidenumberSet to 1 for +the user bitmap to appear partially outside of the main menu (only when the menu is at the bottom)
    +User_frame_positionnumber (with scale)The amount by which the user frame is partially inside the main menu. The default is 36
    +
    User Name (only for Classic style)
    +
    +User_name_position4 numbers
    +
    Position of the user name
    +
    +User_name_alignstring
    +
    Alignment of the user name - center, center1, center2, left, left1, left2, right, right1, right2
    +
    +User_fontfont
    +
    The font for the user name. By default this font is not scaled with the DPI
    +
    +User_text_colorcolor
    +
    The color for the user name
    +
    +User_glow_colorcolor
    +
    The glow color for the user name
    +
    +User_glow_sizenumber
    +
    The glow size in pixels (only supported on Windows 7)
    Sub-Menu
    +
    Submenu_backgroundcolor
    +
    Background color for the sub-menus
    +
    Submenu_bitmapbackground
    +
    Background image for the sub-menus
    +
    Submenu_opacitytextOpacity for the sub-menus
    +
    Submenuskin item
    +
    The look for the items in the sub-menus
    +
    Submenu_splitskin item
    +
    The look for the split items in the sub-menus. Inherits from Submenu
    +
    Submenu_newskin item
    +
    The look for the highlighted items in the sub-menus. Inherits from Submenu
    +
    Submenu_separatorbackgroundThe bitmap for the separators in the submenus
    +
    Submenu_separatorskin itemThe look for the text in the separators in the sub-menus. Inherits from Submenu
    Submenu_separator_splitbackgroundThe bitmap for the split separators in the submenus. Inherits from Submenu_separator
    Submenu_separator_splitskin itemThe look for the text in the split separators items in the sub-menus. Inherits from Submenu_split
    Submenu_padding4 numbers (with scale) + Padding on all sides of the sub-menu items
    +
    Submenu_offsetnumber (with scale) + Additional horizontal offset (positive or negative) for sub-menus relative to their parent menu
    +
    Submenu_thin_framenumber
    +
    Set to 1 to use a thin border (as opposed to thick 3D border). Only applies to Classic theme in Windows 7
    Submenu_separatorVbackground
    +
    Vertical separators between the columns of the sub-menus
    +
    Submenu_pagerbackgroundThe background for the sub-menu pager. Requires 2 pictures, the top one is normal state, the bottom is highlighted state
    Submenu_pager_arrowsbitmap
    +
    The arrow for the pager. Requires 2x2 grid with up, down, normal and hot states
    AllPrograms_offsetnumber (with scale) + additional horizontal offset (positive or negative) for the first sub-menu in All Programs mode
    +
    +
    +
    + + +
    +
    + + + + + + + + + + + +
    Classic Shell © 2010-2015, Ivo Beltchev.
    All right reserved.
    +
    + + + + \ No newline at end of file diff --git a/docs/whycsm/index.html b/docs/whycsm/index.html new file mode 100644 index 0000000..3966754 --- /dev/null +++ b/docs/whycsm/index.html @@ -0,0 +1,264 @@ + + + +Classic Shell: Why Classic Start Menu? + + + + + + +
    Original Page: http://www.classicshell.net
    Original Author: Ivo Beltchev
    + + + + + + + + + + + +
    + + + + + +

    +
    + + + + + + + + +
    + +

    + + + +Classic Shell + +

    +

    +
    + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + + +
    + + + + +
    + + +

    Why Classic Start Menu?

    +After the Classic Shell project was released back in 2009, it quickly grew in popularity. Before long it was getting +5-10 thousand downloads per day. That's a sign that many people prefer +the classic start menu over the Vista or Windows 7 menu. Why can't they +accept the future? Why don't they stop whining and get with the +program? Microsoft knows what's best for you, right?
    +
    +Everybody has their reasons, all I can do here is to list my own. For me the new start menu (NSM) has several big deficiencies that make +it much less usable than the classic start menu (CSM):
    +
    +<rant>
    +
    +

    1. Keyboard navigation

    + +In CSM I can +press a key and activate a menu item starting with that letter. For +example:
    +
    + +Win, U – Shutdown
    + + +Win, I – Internet Explorer
    + + +Win, S, C – Settings -> Control Panel
    + + +Win, P, W – Programs -> Word
    +
    +
    +If you name your programs and folders wisely you can access many +frequently used programs with just 2 or 3 keys.
    +
    +With NSM this is not possible. The search box steals all text input. It +is possible to tab away from the +search box and then you have some sort of keyboard navigation. It is +still very limiting, thanks to problem #2.
    +
    +
    +

    2. Lack of cascading All Programs menu

    +In the CSM activating a folder item opens a cascading sub-menu. In the +NSM the sub-items expand in the same list as their parent. This is a +problem for multiple reasons:
    +
      +
    • Keyboard navigation is impacted. +First, typing the first letter of a folder doesn’t expand it. You have +to additionally press Enter or Right arrow. Second, since there is a +mix of parent and child items in the same list, there is a much greater +chance of items starting with the same letter.
      +
      +
    • +
    • Mouse navigation is impacted. In a +cascading menu one can simply hover over an item to expand it, then +move the mouse to the next item to expand, and so on. Makes it very +easy to browse multiple folders quickly. In the NSM hovering doesn’t +work and you have to click on the folder to expand it. When you do, the +next folder moves down to make room for the sub-items, and you have to +chase it with the mouse.
      +
      +
    • +
    • Screen space is not used +efficiently. I have 1920x1200 pixels on my monitor, why can’t I use +them? Instead, the NSM is all bunched in the corner. It would be +perfect for a smart phone or a small touch-screen device. When I’m +working on my desktop I don’t really care how cool or useful the menu +would have been on my phone.
    • +
    +
    +

    3. The search functionality makes the NSM +dynamic

    +You can’t rely on the same command producing the same result +every time. Practically that makes it impossible to learn quick +shortcuts like Win+U or Win+I.
    +
    +Do you want to start Internet Explorer? +How about typing “I”? That brings the latest website URL that has I in +the name. Maybe “In”? Nope – it finds “Remote Zoom In”. “Int” must do +it then. You wish. I have to type the whole thing “Internet” before +“Internet Explorer” shows up in the search results. So basically I had +to type 8 characters (not a monumental task by itself), and after each +one I had to pause and wait for the search to complete, then scan the +list of results, hoping to see what I'm looking for. Of course, that's +my experience. On another computer it will give different results, +which again proves my point.
    +
    + +Another example – search for WinRAR. Just “R”? Nuh-huh – you get “Adobe +(R) blah-blah”. “RA”? Nope, +“No items match your search”. “RAR”, still +nada. You have to type the whole thing “WINRAR” before it is found. + +The list goes on – “Wordpad”, “Regedit” – I have to type the WHOLE +THING before it even appears.

    +And the search is somewhat quirky. Type “C”. It finds +“Koala.jpg”. WTF? THERE IS NO “C” IN “KOALA” OR “JPG”!
    +
    + +In contrast, the CSM is static. If a sequence of keys worked once, it +will work the next time. You can train yourself to even longer +sequences because they would never change. I can press P+T+D for +Programs -> Text -> Dictionary without even thinking or looking at the screen.

    +
    +

    4. Consistency

    +The CSM is very +consistent. Everything is a menu. The same rules and key-presses apply everywhere.
    +
    + +The NSM has 4 distinct areas, each with its own UI. There is the search +box where you type. There is the “Programs” list, which has folders +that expand in place. There is the “Places” list, which has folders +that fly out. And there is the shutdown area that has 2 +buttons and a menu. Each piece may be fine by itself, but all 4 put +together are a nightmare, especially when you use the keyboard.
    + +
    +
    +

    5. Jack of all trades

    +Basically the NSM tries to do multiple jobs, while not being +particularly good at either one. There are better tools for most tasks. +You can:
    +
      +
    • run a program. The classic start menu can be more efficient when organized properly
      +
    • +
    • browse programs. The classic menu is so much better at this because of the hierarchical menus and better mouse and keyboard support
    • +
    • run commands. The Run box (Win+R) is better because it has auto-complete for the recently used commands
    • +
    • find a document. Windows Explorer is much better because you can specify search locations and more complex search terms
      +
    • +
    • search the Internet. Internet Explorer is better at that
    • +
    • search for a program if you know exactly how to spell its name. Well, you got me there. There is no alternative for this :)
      +
    • +
    +</rant>
    +
    +
    +

    Hey, wait a minute!

    +If the search is so bad how come the latest version of CSM has search?
    +
    +
    Since the beginning of the Classic Shell +project people have asked for a search feature. So I finally decided to +add search but try to solve some of the problems of the Windows +implementation.
    +
      +
    • the search box can be set to be inactive when the menu opens, so it won't steal the keys you are typing
    • +
    • the search doesn't try to be too smart. The +only "smart" feature is that the programs you use often will show up at +the top of the list. If that's too smart for you it can be turned off
      +
    • +
    • the search looks only for items in the start +menu and programs in the PATH environment variable. It will always +return predictable results because it doesn't index the whole +harddrive, doesn't search for documents or web history, and doesn't +look at the metadata
      +
    • +
    + + +
    +
    +
    + + + + + + + + + + + +
    Classic Shell © 2010-2017, Ivo Beltchev.
    All right reserved.
    +
    + + + +