From b1e52a92d110e0d503d47d9b153064061ea80be2 Mon Sep 17 00:00:00 2001 From: Piotr Mitros Date: Thu, 29 Dec 2011 15:37:24 -0500 Subject: [PATCH] Moving static to its own directory --- .../07172609b59c136393705e4067de95d0.png | Bin 704 -> 0 bytes .../08d7bd7060be987d4da37b7fc263a740.png | Bin 630 -> 0 bytes .../17bbbd9b6e69b94dab881bacae540191.png | Bin 630 -> 0 bytes .../200px-Kirchhoff_voltage_law.svg.png | Bin 7745 -> 0 bytes .../229253cd444bad52ccf237f182f18267.png | Bin 1007 -> 0 bytes .../912713fc906c190d03a73f02b2f738ab.png | Bin 646 -> 0 bytes .../98720898396d325be0abb463b68caf90.png | Bin 645 -> 0 bytes courseware/static/Kirchhoff_files/KCL.png | Bin 5359 -> 0 bytes .../c449f0cd2e060f03076e28ae5f8f0a75.png | Bin 543 -> 0 bytes .../ec93733267512bc18567c04e5a728e24.png | Bin 228 -> 0 bytes .../static/Kirchhoff_files/magnify-clip.png | Bin 204 -> 0 bytes .../ui-bg_diagonals-thick_90_eeeeee_40x40.png | Bin 251 -> 0 bytes .../images/ui-bg_flat_15_cd0a0a_40x100.png | Bin 181 -> 0 bytes .../images/ui-bg_glass_100_e4f1fb_1x400.png | Bin 119 -> 0 bytes .../images/ui-bg_glass_50_3baae3_1x400.png | Bin 131 -> 0 bytes .../images/ui-bg_glass_80_d7ebf9_1x400.png | Bin 124 -> 0 bytes .../ui-bg_highlight-hard_100_f2f5f7_1x100.png | Bin 103 -> 0 bytes .../ui-bg_highlight-hard_70_000000_1x100.png | Bin 118 -> 0 bytes .../ui-bg_highlight-soft_100_deedf7_1x100.png | Bin 104 -> 0 bytes .../ui-bg_highlight-soft_25_ffef8f_1x100.png | Bin 119 -> 0 bytes .../images/ui-icons_2694e8_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_3d80b3_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_72a7cf_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 4369 -> 0 bytes .../css/cupertino/jquery-ui-1.8.16.custom.css | 568 ---- .../css/images/css/bottomWrapper-bg.jpg | Bin 679 -> 0 bytes .../css/images/css/footerWrapper-bg.jpg | Bin 931 -> 0 bytes courseware/static/css/images/css/hat.jpg | Bin 8227 -> 0 bytes .../static/css/images/css/hmenu-sel.jpg | Bin 653 -> 0 bytes courseware/static/css/images/css/hmenu.jpg | Bin 655 -> 0 bytes courseware/static/css/images/css/page-bg.jpg | Bin 827 -> 0 bytes courseware/static/css/images/css/page-vbg.jpg | Bin 931 -> 0 bytes .../static/css/images/css/topBanner-old.xcf | Bin 51420 -> 0 bytes .../static/css/images/css/topBanner.jpg | Bin 15065 -> 0 bytes .../static/css/images/css/topBanner.xcf | Bin 53331 -> 0 bytes .../static/css/images/css/topWrapper-bg.jpg | Bin 707 -> 0 bytes .../css/images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 180 -> 0 bytes .../css/images/ui-bg_flat_0_eeeeee_40x100.png | Bin 180 -> 0 bytes .../images/ui-bg_flat_55_ffffff_40x100.png | Bin 178 -> 0 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 178 -> 0 bytes .../images/ui-bg_glass_65_023063_1x400.png | Bin 191 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 105 -> 0 bytes .../ui-bg_highlight-soft_100_7fbcdf_1x100.png | Bin 129 -> 0 bytes .../ui-bg_highlight-soft_100_bddeff_1x100.png | Bin 115 -> 0 bytes .../ui-bg_highlight-soft_100_f6f6f6_1x100.png | Bin 90 -> 0 bytes .../ui-bg_highlight-soft_25_7fbcdf_1x100.png | Bin 123 -> 0 bytes .../ui-bg_highlight-soft_25_bddeff_1x100.png | Bin 122 -> 0 bytes .../ui-bg_highlight-soft_50_7fbcfd_1x100.png | Bin 159 -> 0 bytes .../css/images/ui-icons_031634_256x240.png | Bin 5355 -> 0 bytes .../css/images/ui-icons_454545_256x240.png | Bin 4369 -> 0 bytes .../css/images/ui-icons_adcc80_256x240.png | Bin 5355 -> 0 bytes .../css/images/ui-icons_fa720a_256x240.png | Bin 4369 -> 0 bytes .../css/images/ui-icons_ffffff_256x240.png | Bin 4369 -> 0 bytes .../static/css/jquery-ui-1.8.16.custom.css | 568 ---- courseware/static/css/local.css | 58 - courseware/static/css/theme.css | 363 --- .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 260 -> 0 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 251 -> 0 bytes .../images/ui-bg_flat_10_000000_40x100.png | Bin 178 -> 0 bytes .../images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 104 -> 0 bytes .../images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 125 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 105 -> 0 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 3762 -> 0 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 90 -> 0 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 129 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_228ef1_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_ef8c08_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_ffd27a_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 4369 -> 0 bytes .../ui-lightness/jquery-ui-1.8.16.custom.css | 568 ---- courseware/static/js/schematic.js | 2016 -------------- courseware/static/js/video_player.js | 317 --- courseware/static/js/video_player.js~ | 260 -- courseware/static/pixel.jpg | Bin 306 -> 0 bytes .../static/staff/agarwal-mit-news-small.jpg | Bin 11325 -> 0 bytes courseware/static/staff/cjt-small.jpg | Bin 10196 -> 0 bytes courseware/static/staff/gjs-small.jpg | Bin 57412 -> 0 bytes courseware/static/staff/pmitros-small.jpg | Bin 56491 -> 0 bytes courseware/static/subs/2SwT6JnfCq8.srt.sjson | 1934 ------------- courseware/static/subs/2vHGYdepKLw.srt.sjson | 1943 ------------- courseware/static/subs/3GdMaDzIUeQ.srt.sjson | 2477 ----------------- courseware/static/subs/4TCnYYpZxEc.srt.sjson | 1967 ------------- courseware/static/subs/9RqFFlZgf60.srt.sjson | 1607 ----------- courseware/static/subs/AfQxyVuLeCs.srt.sjson | 2003 ------------- courseware/static/subs/COdQmA9g9S8.srt.sjson | 1961 ------------- courseware/static/subs/JB2HgohNHYQ.srt.sjson | 1583 ----------- courseware/static/subs/JqvKtMNz3RQ.srt.sjson | 1982 ------------- courseware/static/subs/Km9YIdkc2Oo.srt.sjson | 1838 ------------ courseware/static/subs/Nijya-QJ45Y.srt.sjson | 1934 ------------- courseware/static/subs/OGtElTMJidE.srt.sjson | 1841 ------------ courseware/static/subs/R4KxlqsuZ0A.srt.sjson | 1901 ------------- courseware/static/subs/RsJ1eg7XNVs.srt.sjson | 1991 ------------- courseware/static/subs/TXJIhDHtHSI.srt.sjson | 2141 -------------- courseware/static/subs/V0z_f7qxLcY.srt.sjson | 2222 --------------- courseware/static/subs/WT-qzgaKeGI.srt.sjson | 1892 ------------- courseware/static/subs/bEJ0-8pANA4.srt.sjson | 1352 --------- courseware/static/subs/bX8i2yECWaU.srt.sjson | 1538 ---------- courseware/static/subs/dyxcCoUgETU.srt.sjson | 2063 -------------- courseware/static/subs/fDtrSZ69xII.srt.sjson | 533 ---- courseware/static/subs/ke3SL_R92ys.srt.sjson | 2063 -------------- courseware/static/subs/v6vqWasIHaw.srt.sjson | 2057 -------------- courseware/static/subs/wNuBD4PYWvs.srt.sjson | 2168 --------------- courseware/static/subs/ypX20WnHNQw.srt.sjson | 2141 -------------- courseware/static/subs/zpzcLzD2dV4.srt.sjson | 572 ---- settings.py | 8 +- staticbook/__init__.py | 0 staticbook/models.py | 3 + staticbook/tests.py | 16 + staticbook/views.py | 9 + temp.py | 2 - 112 files changed, 31 insertions(+), 52429 deletions(-) delete mode 100644 courseware/static/Kirchhoff_files/07172609b59c136393705e4067de95d0.png delete mode 100644 courseware/static/Kirchhoff_files/08d7bd7060be987d4da37b7fc263a740.png delete mode 100644 courseware/static/Kirchhoff_files/17bbbd9b6e69b94dab881bacae540191.png delete mode 100644 courseware/static/Kirchhoff_files/200px-Kirchhoff_voltage_law.svg.png delete mode 100644 courseware/static/Kirchhoff_files/229253cd444bad52ccf237f182f18267.png delete mode 100644 courseware/static/Kirchhoff_files/912713fc906c190d03a73f02b2f738ab.png delete mode 100644 courseware/static/Kirchhoff_files/98720898396d325be0abb463b68caf90.png delete mode 100644 courseware/static/Kirchhoff_files/KCL.png delete mode 100644 courseware/static/Kirchhoff_files/c449f0cd2e060f03076e28ae5f8f0a75.png delete mode 100644 courseware/static/Kirchhoff_files/ec93733267512bc18567c04e5a728e24.png delete mode 100644 courseware/static/Kirchhoff_files/magnify-clip.png delete mode 100644 courseware/static/css/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png delete mode 100644 courseware/static/css/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png delete mode 100644 courseware/static/css/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png delete mode 100644 courseware/static/css/cupertino/images/ui-bg_glass_50_3baae3_1x400.png delete mode 100644 courseware/static/css/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png delete mode 100644 courseware/static/css/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png delete mode 100644 courseware/static/css/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png delete mode 100644 courseware/static/css/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png delete mode 100644 courseware/static/css/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png delete mode 100644 courseware/static/css/cupertino/images/ui-icons_2694e8_256x240.png delete mode 100644 courseware/static/css/cupertino/images/ui-icons_2e83ff_256x240.png delete mode 100644 courseware/static/css/cupertino/images/ui-icons_3d80b3_256x240.png delete mode 100644 courseware/static/css/cupertino/images/ui-icons_72a7cf_256x240.png delete mode 100644 courseware/static/css/cupertino/images/ui-icons_ffffff_256x240.png delete mode 100644 courseware/static/css/cupertino/jquery-ui-1.8.16.custom.css delete mode 100644 courseware/static/css/images/css/bottomWrapper-bg.jpg delete mode 100644 courseware/static/css/images/css/footerWrapper-bg.jpg delete mode 100644 courseware/static/css/images/css/hat.jpg delete mode 100644 courseware/static/css/images/css/hmenu-sel.jpg delete mode 100644 courseware/static/css/images/css/hmenu.jpg delete mode 100644 courseware/static/css/images/css/page-bg.jpg delete mode 100644 courseware/static/css/images/css/page-vbg.jpg delete mode 100644 courseware/static/css/images/css/topBanner-old.xcf delete mode 100644 courseware/static/css/images/css/topBanner.jpg delete mode 100644 courseware/static/css/images/css/topBanner.xcf delete mode 100644 courseware/static/css/images/css/topWrapper-bg.jpg delete mode 100644 courseware/static/css/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 courseware/static/css/images/ui-bg_flat_0_eeeeee_40x100.png delete mode 100644 courseware/static/css/images/ui-bg_flat_55_ffffff_40x100.png delete mode 100644 courseware/static/css/images/ui-bg_flat_75_ffffff_40x100.png delete mode 100644 courseware/static/css/images/ui-bg_glass_65_023063_1x400.png delete mode 100644 courseware/static/css/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 courseware/static/css/images/ui-bg_highlight-soft_100_7fbcdf_1x100.png delete mode 100644 courseware/static/css/images/ui-bg_highlight-soft_100_bddeff_1x100.png delete mode 100644 courseware/static/css/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png delete mode 100644 courseware/static/css/images/ui-bg_highlight-soft_25_7fbcdf_1x100.png delete mode 100644 courseware/static/css/images/ui-bg_highlight-soft_25_bddeff_1x100.png delete mode 100644 courseware/static/css/images/ui-bg_highlight-soft_50_7fbcfd_1x100.png delete mode 100644 courseware/static/css/images/ui-icons_031634_256x240.png delete mode 100644 courseware/static/css/images/ui-icons_454545_256x240.png delete mode 100644 courseware/static/css/images/ui-icons_adcc80_256x240.png delete mode 100644 courseware/static/css/images/ui-icons_fa720a_256x240.png delete mode 100644 courseware/static/css/images/ui-icons_ffffff_256x240.png delete mode 100644 courseware/static/css/jquery-ui-1.8.16.custom.css delete mode 100644 courseware/static/css/local.css delete mode 100644 courseware/static/css/theme.css delete mode 100644 courseware/static/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png delete mode 100644 courseware/static/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png delete mode 100644 courseware/static/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png delete mode 100644 courseware/static/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png delete mode 100644 courseware/static/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png delete mode 100644 courseware/static/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 courseware/static/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png delete mode 100644 courseware/static/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png delete mode 100644 courseware/static/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png delete mode 100644 courseware/static/css/ui-lightness/images/ui-icons_222222_256x240.png delete mode 100644 courseware/static/css/ui-lightness/images/ui-icons_228ef1_256x240.png delete mode 100644 courseware/static/css/ui-lightness/images/ui-icons_ef8c08_256x240.png delete mode 100644 courseware/static/css/ui-lightness/images/ui-icons_ffd27a_256x240.png delete mode 100644 courseware/static/css/ui-lightness/images/ui-icons_ffffff_256x240.png delete mode 100644 courseware/static/css/ui-lightness/jquery-ui-1.8.16.custom.css delete mode 100644 courseware/static/js/schematic.js delete mode 100644 courseware/static/js/video_player.js delete mode 100644 courseware/static/js/video_player.js~ delete mode 100644 courseware/static/pixel.jpg delete mode 100644 courseware/static/staff/agarwal-mit-news-small.jpg delete mode 100644 courseware/static/staff/cjt-small.jpg delete mode 100644 courseware/static/staff/gjs-small.jpg delete mode 100644 courseware/static/staff/pmitros-small.jpg delete mode 100644 courseware/static/subs/2SwT6JnfCq8.srt.sjson delete mode 100644 courseware/static/subs/2vHGYdepKLw.srt.sjson delete mode 100644 courseware/static/subs/3GdMaDzIUeQ.srt.sjson delete mode 100644 courseware/static/subs/4TCnYYpZxEc.srt.sjson delete mode 100644 courseware/static/subs/9RqFFlZgf60.srt.sjson delete mode 100644 courseware/static/subs/AfQxyVuLeCs.srt.sjson delete mode 100644 courseware/static/subs/COdQmA9g9S8.srt.sjson delete mode 100644 courseware/static/subs/JB2HgohNHYQ.srt.sjson delete mode 100644 courseware/static/subs/JqvKtMNz3RQ.srt.sjson delete mode 100644 courseware/static/subs/Km9YIdkc2Oo.srt.sjson delete mode 100644 courseware/static/subs/Nijya-QJ45Y.srt.sjson delete mode 100644 courseware/static/subs/OGtElTMJidE.srt.sjson delete mode 100644 courseware/static/subs/R4KxlqsuZ0A.srt.sjson delete mode 100644 courseware/static/subs/RsJ1eg7XNVs.srt.sjson delete mode 100644 courseware/static/subs/TXJIhDHtHSI.srt.sjson delete mode 100644 courseware/static/subs/V0z_f7qxLcY.srt.sjson delete mode 100644 courseware/static/subs/WT-qzgaKeGI.srt.sjson delete mode 100644 courseware/static/subs/bEJ0-8pANA4.srt.sjson delete mode 100644 courseware/static/subs/bX8i2yECWaU.srt.sjson delete mode 100644 courseware/static/subs/dyxcCoUgETU.srt.sjson delete mode 100644 courseware/static/subs/fDtrSZ69xII.srt.sjson delete mode 100644 courseware/static/subs/ke3SL_R92ys.srt.sjson delete mode 100644 courseware/static/subs/v6vqWasIHaw.srt.sjson delete mode 100644 courseware/static/subs/wNuBD4PYWvs.srt.sjson delete mode 100644 courseware/static/subs/ypX20WnHNQw.srt.sjson delete mode 100644 courseware/static/subs/zpzcLzD2dV4.srt.sjson create mode 100644 staticbook/__init__.py create mode 100644 staticbook/models.py create mode 100644 staticbook/tests.py create mode 100644 staticbook/views.py delete mode 100644 temp.py diff --git a/courseware/static/Kirchhoff_files/07172609b59c136393705e4067de95d0.png b/courseware/static/Kirchhoff_files/07172609b59c136393705e4067de95d0.png deleted file mode 100644 index ff21373411f6f53c0e07e94a9f59c0dccb0e8979..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 704 zcmV;x0zdtUP) z&%D{0H;)BW+y9XnnnQE%k0z1Hm*V$k;O4-L!y`iu_Y6Vy*AQ$R8G_4WL$Kx>f=OTq zu6l;xWycVFrMS{AU*FyMIk!lC<1LTp=47&m{h7o5m6?pEU>|0FGQOi7&(DEq&>ZHT zX8tq;h}tOk)3{auzXJDjLH%E5NwD6_{WMMs;7j0LCV0}GWI+flxs^Ec(_oDYAZ6!8 zC1~um4qqsfz`CnU(OaFqzX*!7exM}hkc=Z`GQQ4TWs3efl2n29o1)zz-yC=eAN__W z?80|J+a*u;ro+p~uxBt1{<7~5osm)#2K8W%wv z&JM>1cdV3z5~LlfMS#S?n!WgqpzF9L#rVcJ%FZ!Z4wN6sz@AnL5swof`aHo^rKPRH z?s^%xPflpho#*>u#1{$~>rj#>+d@;Fe95Gz zALOoT2Bj(%FHTW>r% mm=G1+h}I1essHqvX2Ab!LZs4Lm6k#P0000JP)AmX z5flr8OUzUdX|YqaMa)zv6bywf7RALv2SLF_vGm(aHd7SQq1X3v_uYN@61Z<|-*E4} z|NG@~_wIcFnRBsw#y*7g#g7L=V2n7ID27BagVV6+7G70CvfnY54vGGUm}n%)93@!WxeQ+eKR8P9Aw7FZzx86{Z-B>~%{PpOB=Fpq$}mRg zI}W2_QYySo06Kfi9Zw$64LlUvd~Ibpx7+n%?F|~gHPxN!S2!CQl7T_{#k#JI<|+Q9 zQx#APo7V!STwR<0SpW`Ys?Q2))}yB8tZ5R1M--QKhm69JdIF#;Zwm1;(EngRV-${R zh33Noypd;#Dlo9>da3fU_wwuST@Mrz!wW%H5uXDjdT><T zDDk{Qu|?9In)}nDcSyQEd?WiZy&(b(YG)^eXX*B0tHOIqYt{el%s25*Y&X#p|6<98 zs);AeikgYHp*->RO)}TIt8e0MyZR>HhVsPMv)SxZ`vJ_vkKE;L-3nX(3$!kWz9p@% Q<^TWy07*qoM6N<$f-*}TOaK4? diff --git a/courseware/static/Kirchhoff_files/17bbbd9b6e69b94dab881bacae540191.png b/courseware/static/Kirchhoff_files/17bbbd9b6e69b94dab881bacae540191.png deleted file mode 100644 index 7a56c0274aa700f5123104480aed3b86b4fa9df7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 630 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 diff --git a/courseware/static/Kirchhoff_files/229253cd444bad52ccf237f182f18267.png b/courseware/static/Kirchhoff_files/229253cd444bad52ccf237f182f18267.png deleted file mode 100644 index 7e3ee15206296c2c15b9d459c7b01bdd3f3120e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1007 zcmVzB05nra||mW;Cj)bPE_p%B~_i z+RxS`8%Q)*)mRt-_Q+mH{9}s}Ekx?9YAhTBZcwkRUE``^H6+J5aZCA0>IIv>i9quE zmi7#UPkgy~pwnx#5J-q*eE-B<(Q9CU1B~+4IV4|qd$G4^u7=xXL>uX<(WVS^s)*Qn zr`I6YD}EU`Ucq@pTFf>^>Bm59wR>F!rX*b!y^5&~q&b2q>`ku&k?~G1yV9$>Werxin!YwpHqfkEXE?$r|F-tB4f*Z;`GhUV9s4@8u>|8)yLv763hA}Pjz{e2djwb~ zHF3@<4sg7Y2?@qRM%f{!$7pipuQbtOT) zb{ulnQ6*2KRY_Hp@da7b^5xxx7(-GS7k^#Ozh7n0n}}63|QL z>22vAH}#V>_kgY}&VmqQxFf;)6?yXYnwoXiqMwv_@F68@o^2Mz!0K);K2&1ozmA4vwv_7Umj3hG9%Q}{vc&?yhOtg-H zex+l{iD$GU)zx=3GSK>2kP{CbX?IKZOa{8^CW0|?;>}X9YMvznoh!uol8zH!#&(;L zfzDKNnqK6@=ds8$MhY3|X!WCpCMSM48}<%rwvZAT=(<1-?002ovPDHLkV1i9e%*X%$ diff --git a/courseware/static/Kirchhoff_files/912713fc906c190d03a73f02b2f738ab.png b/courseware/static/Kirchhoff_files/912713fc906c190d03a73f02b2f738ab.png deleted file mode 100644 index d38487b03412472881d030681a6446e90f32f42a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 646 zcmV;10(t$3P)J(E=0$`-p+T{Q*P-NOFB+VBi6J3gJ!$U?@p~Rq%Dg6*4dvFfg#c zUWgC?v7jN(z`zJL10u<8z`(Fk`!TA@7YX3lWMDXp5Px~TGlAj8JcIz4#Wo9)%Q+{Y zNgUeFhb98$u0aLi-F}&IE!73T{?1O!jP#$d4Vz#?G4MoI8>(JmJff+@1j-0s_b_dMKfQe=vq znSZ|9w>vurkojNs&)7RyQ|hF}0b|7fhA~GJBRF+M*D$-`$d>Uq=ZOA$Y`C0p{D@cB zDLbNfVWN^HYo8XPbQi|8i$9VW@9eRmX;G9&a*F)tNai)C|zv_OZt(99w# z%@Yes&V=O&JfUOMv9Y2O&+8OxB;BcrzcqTDq+#^~+3vGt5o^$GwoinXyIrhRcu#4y z`v09pCjO!ACVJvWU)fMK@q}4XGx0W*C;sXkSzz5YGV!)uBNJ~!dE&3~`TQgM0nEfd fxGvbb00000NkvXXu0mjf(+nxk diff --git a/courseware/static/Kirchhoff_files/KCL.png b/courseware/static/Kirchhoff_files/KCL.png deleted file mode 100644 index 48def07d58a0941be2fb4abbac5eff0ad5994923..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5359 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 aVsgoXUqt2@zXnH>ke;@&R=MV_xc>sD>psr_ diff --git a/courseware/static/Kirchhoff_files/c449f0cd2e060f03076e28ae5f8f0a75.png b/courseware/static/Kirchhoff_files/c449f0cd2e060f03076e28ae5f8f0a75.png deleted file mode 100644 index d54e373764c769e6c106555b32a32557a033104c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 543 zcmV+)0^t3LP)1Ox;kA|g;wPyhe`pweW|00001 zbW%=J06^y0W&i*Iok>JNR5%fZ)ICVUKoke?e{-o#t4%81ONEMqLyJ=vA){M5Id>J8 zfRj};4&qR#!9fs(W^+|KDGDymb{8?l!7kcT3-t^25}ULZ@A8J^?%pq#cgJx6JH~IE zT!{_bOv8B|2cVRbHv&+{$>;b;Xw!Ve;vu0{Nr>BKOg~cDY#y2|$pwOS_FT~}lyoL! z6UZiWrg$A$=$cxB#57P0&~0j9hKDp0sR&YZ2lm)AX?mnXkVGzGu+f+)_YP2owZJxr z)^?r^ko<$?qNmSuHujblePTg|dP0=|a=5MKaA#ncG;+a+BWg$+8)tSNluB2uJ?850E;#o9~(tlclG zPEDlv54srslA^Hv50Vqu_lH@l3)#*={|&lNl}E2L{8rNRlm|r?aPI?-o6R?b%a1dT z07zZ@f|TGIR8{(~xXnj*pmz@~og1&9+f>!LMtnoa*0;b_Vh@|?+-<;}xrElLnH2a% h9p*Qhn4Y6G{QwK1X_oXS%Ao)N002ovPDHLkV1m_d?m7Sf diff --git a/courseware/static/Kirchhoff_files/ec93733267512bc18567c04e5a728e24.png b/courseware/static/Kirchhoff_files/ec93733267512bc18567c04e5a728e24.png deleted file mode 100644 index 3efd5c7c789b034d3f8d0782ab6c5a61fad69d37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp@KrF<<3?z$OJsE+NR)9~4>;M1%9UL6Q#Kh*!n->re zz{0|^ZQC{j1A{YX&XkmtBqb$vb#*;^_6(@}LBa3IK#H*>$S;_|;n|HeASc7q#W93K zHaUTz>9PV7$2SL!Hr9YDrj}DlVprqArjw168&w-0I^-YD zWYb%~q|PR7u=bEaqoU-A>nSr1Y-aG#Pq}e{b%}&UdS%m@L8bg=d#Wzp$P!qRZQXl diff --git a/courseware/static/Kirchhoff_files/magnify-clip.png b/courseware/static/Kirchhoff_files/magnify-clip.png deleted file mode 100644 index 00a9cee11bf3679ab57db06705c0cc0603fbbedd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^{6Ngj0VEh&bvhb=6jMo%UogY}=!r^OLA)eycNd2L z?fqx=19_YU9+AZi3|t>Tn9*sC$qb+%dx@v7EBjRzCLuw=@2R%kKp}rm7sn8e>&ZX< z|Np;pZ^4Hi#uMxFW-_tftUmZB`~SiP?FRpE-rIZC`}@1Ue2?FsWs?;7DtGQZqv53M vO^$|h?Ae*#EnM~g|NMtH!wi1#J!NKC>C|F-zkgXj&}arvS3j3^P6aF75Mac}}vaR5#k2ZfJhrR<4^Z31`Wpz#J3a8LoN;Gh6h!a)X9!$AU6#K8$v z#Q`{F91Q%ZXUd*<*dgG~N1x91EQ4=6AkFgVs( zAAQ+GrQnN%`yz$&yRVt+nf>RR!x7drH9<9kle(1jzSB%AGQwhbfbL-MboFyt=akR{ E099={B>(^b diff --git a/courseware/static/css/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png b/courseware/static/css/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png deleted file mode 100644 index 705a32ea35d4d0012bfd3b6a3ffe17a2aaf21bb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnour0hIh978O6-<~(*Vo>05zNqru zes!`qYix+t4(>@$KQ4S5FeM|FA))8zv=y~toE^Ja);%%|y_LML;(w3fvtta7-CP_U Ta$7zCO=9qL^>bP0l+XkKumdMp diff --git a/courseware/static/css/cupertino/images/ui-bg_glass_50_3baae3_1x400.png b/courseware/static/css/cupertino/images/ui-bg_glass_50_3baae3_1x400.png deleted file mode 100644 index baabca6baaff94ade4ecd5ddad28e35f52ea3af7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq`W*`978O6-=1H{+u$H^^ufM+ zvdx>+CU0QuV-!dbkTBu=d3O3OBmLW&4uK;3Q}6PdBzSM&77W)>Ku`PSi#4qjXP8{lS YyPtFZh>C0s1RBTS>FVdQ&MBb@0KGXW`v3p{ diff --git a/courseware/static/css/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png b/courseware/static/css/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png deleted file mode 100644 index 28b566c2c29cc0f849995be62c10d7c292697803..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l%A)HV~E7myQentGAQsIIS~9U zUP5CYm&Of+-c)b1XI_rZEUK1mr%ne<%>I8zSo#mI$dWz<>o-8144$rjF6*2UngI7o B9l-zq diff --git a/courseware/static/css/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png b/courseware/static/css/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png deleted file mode 100644 index d58829780430e138704e956a850c2913039fd4d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l&z)bCBa S8D#`Ch{4m<&t;ucLK6U&At$5& diff --git a/courseware/static/css/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png b/courseware/static/css/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png deleted file mode 100644 index 2289d3c7d7b8e0892f5921de1af87a44b7059eb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l)k5nV~E7m+!V`FPm zbot}H;osq%|NlEjau{m7wqGXUWVoyE{|q&Lb0!9pSk(^U8R0L0S{XcD{an^LB{Ts5 DibWrf diff --git a/courseware/static/css/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png b/courseware/static/css/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png deleted file mode 100644 index 0de3275beabe5ac461e277724f9821c0e2ce084b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l%1!GV~E7mtNo5#3Ic~SGF#2(;hg6(iIV-sGZbkhsIkkPOWu2dS S1f&8@V(@hJb6Mw<&;$V9Mw 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 oBo%DI*Kv;w;*%(i9W@e;D**k^lez diff --git a/courseware/static/css/cupertino/images/ui-icons_2e83ff_256x240.png b/courseware/static/css/cupertino/images/ui-icons_2e83ff_256x240.png deleted file mode 100644 index 09d1cdc856c292c4ab6dd818c7543ac0828bd616..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 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 diff --git a/courseware/static/css/cupertino/images/ui-icons_3d80b3_256x240.png b/courseware/static/css/cupertino/images/ui-icons_3d80b3_256x240.png deleted file mode 100644 index 52c3cc6b744776e9d66ea4e845f7a57c070aa851..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 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 oBo%DI*Kv;w;*%(i9W@e^(7u_y7O^ diff --git a/courseware/static/css/cupertino/images/ui-icons_72a7cf_256x240.png b/courseware/static/css/cupertino/images/ui-icons_72a7cf_256x240.png deleted file mode 100644 index 0d20b7308331069ee2950fa64cb15f4a29ca55f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 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 diff --git a/courseware/static/css/cupertino/jquery-ui-1.8.16.custom.css b/courseware/static/css/cupertino/jquery-ui-1.8.16.custom.css deleted file mode 100644 index 3324b5f093..0000000000 --- a/courseware/static/css/cupertino/jquery-ui-1.8.16.custom.css +++ /dev/null @@ -1,568 +0,0 @@ -/* - * jQuery UI CSS Framework 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { display: none; } -.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } -.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 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - * - * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=deedf7&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=100&borderColorHeader=aed0ea&fcHeader=222222&iconColorHeader=72a7cf&bgColorContent=f2f5f7&bgTextureContent=04_highlight_hard.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=362b36&iconColorContent=72a7cf&bgColorDefault=d7ebf9&bgTextureDefault=02_glass.png&bgImgOpacityDefault=80&borderColorDefault=aed0ea&fcDefault=2779aa&iconColorDefault=3d80b3&bgColorHover=e4f1fb&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=74b2e2&fcHover=0070a3&iconColorHover=2694e8&bgColorActive=3baae3&bgTextureActive=02_glass.png&bgImgOpacityActive=50&borderColorActive=2694e8&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=ffef8f&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=25&borderColorHighlight=f9dd34&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=cd0a0a&bgTextureError=01_flat.png&bgImgOpacityError=15&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffffff&bgColorOverlay=eeeeee&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=90&opacityOverlay=80&bgColorShadow=000000&bgTextureShadow=04_highlight_hard.png&bgImgOpacityShadow=70&opacityShadow=30&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&cornerRadiusShadow=8px - */ - - -/* Component containers -----------------------------------*/ -.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1.1em; } -.ui-widget .ui-widget { font-size: 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-content { border: 1px solid #dddddd; background: #f2f5f7 url(images/ui-bg_highlight-hard_100_f2f5f7_1x100.png) 50% top repeat-x; color: #362b36; } -.ui-widget-content a { color: #362b36; } -.ui-widget-header { border: 1px solid #aed0ea; background: #deedf7 url(images/ui-bg_highlight-soft_100_deedf7_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; } -.ui-widget-header a { color: #222222; } - -/* Interaction states -----------------------------------*/ -.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #aed0ea; background: #d7ebf9 url(images/ui-bg_glass_80_d7ebf9_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #2779aa; } -.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #2779aa; text-decoration: none; } -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #74b2e2; background: #e4f1fb url(images/ui-bg_glass_100_e4f1fb_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #0070a3; } -.ui-state-hover a, .ui-state-hover a:hover { color: #0070a3; text-decoration: none; } -.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #2694e8; background: #3baae3 url(images/ui-bg_glass_50_3baae3_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #ffffff; } -.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #ffffff; text-decoration: none; } -.ui-widget :active { outline: none; } - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #f9dd34; background: #ffef8f url(images/ui-bg_highlight-soft_25_ffef8f_1x100.png) 50% top repeat-x; color: #363636; } -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #cd0a0a url(images/ui-bg_flat_15_cd0a0a_40x100.png) 50% 50% repeat-x; color: #ffffff; } -.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } -.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } -.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } -.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_72a7cf_256x240.png); } -.ui-widget-content .ui-icon {background-image: url(images/ui-icons_72a7cf_256x240.png); } -.ui-widget-header .ui-icon {background-image: url(images/ui-icons_72a7cf_256x240.png); } -.ui-state-default .ui-icon { background-image: url(images/ui-icons_3d80b3_256x240.png); } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_2694e8_256x240.png); } -.ui-state-active .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } -.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); } -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffffff_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-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.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-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 6px; -webkit-border-top-left-radius: 6px; -khtml-border-top-left-radius: 6px; border-top-left-radius: 6px; } -.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 6px; -webkit-border-top-right-radius: 6px; -khtml-border-top-right-radius: 6px; border-top-right-radius: 6px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 6px; -webkit-border-bottom-left-radius: 6px; -khtml-border-bottom-left-radius: 6px; border-bottom-left-radius: 6px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 6px; -webkit-border-bottom-right-radius: 6px; -khtml-border-bottom-right-radius: 6px; border-bottom-right-radius: 6px; } - -/* Overlays */ -.ui-widget-overlay { background: #eeeeee url(images/ui-bg_diagonals-thick_90_eeeeee_40x40.png) 50% 50% repeat; opacity: .80;filter:Alpha(Opacity=80); } -.ui-widget-shadow { margin: -7px 0 0 -7px; padding: 7px; background: #000000 url(images/ui-bg_highlight-hard_70_000000_1x100.png) 50% top repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/* - * jQuery UI Resizable 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Resizable#theming - */ -.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: 0; } -.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } -.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } -.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; 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;}/* - * jQuery UI Selectable 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Selectable#theming - */ -.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } -/* - * jQuery UI Accordion 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Accordion#theming - */ -/* IE/Win - Fix animation bug - #4615 */ -.ui-accordion { width: 100%; } -.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } -.ui-accordion .ui-accordion-li-fix { display: inline; } -.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } -.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } -.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } -.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } -.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } -.ui-accordion .ui-accordion-content-active { display: block; } -/* - * jQuery UI Autocomplete 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Autocomplete#theming - */ -.ui-autocomplete { position: absolute; cursor: default; } - -/* workarounds */ -* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ - -/* - * jQuery UI Menu 1.8.16 - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Menu#theming - */ -.ui-menu { - list-style:none; - padding: 2px; - margin: 0; - display:block; - float: left; -} -.ui-menu .ui-menu { - margin-top: -3px; -} -.ui-menu .ui-menu-item { - margin:0; - padding: 0; - zoom: 1; - float: left; - clear: left; - width: 100%; -} -.ui-menu .ui-menu-item a { - text-decoration:none; - display:block; - padding:.2em .4em; - line-height:1.5; - zoom:1; -} -.ui-menu .ui-menu-item a.ui-state-hover, -.ui-menu .ui-menu-item a.ui-state-active { - font-weight: normal; - margin: -1px; -} -/* - * jQuery UI Button 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Button#theming - */ -.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ -.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ -button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ -.ui-button-icons-only { width: 3.4em; } -button.ui-button-icons-only { width: 3.7em; } - -/*button text element */ -.ui-button .ui-button-text { display: block; line-height: 1.4; } -.ui-button-text-only .ui-button-text { padding: .4em 1em; } -.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } -.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } -.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } -.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } -/* no icon support for input elements, provide padding by default */ -input.ui-button { padding: .4em 1em; } - -/*button icon element(s) */ -.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } -.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } -.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } -.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } -.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } - -/*button sets*/ -.ui-buttonset { margin-right: 7px; } -.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } - -/* workarounds */ -button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ -/* - * jQuery UI Dialog 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Dialog#theming - */ -.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } -.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } -.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } -.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 { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } -.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 .ui-dialog-buttonset { float: right; } -.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } -.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } -.ui-draggable .ui-dialog-titlebar { cursor: move; } -/* - * jQuery UI Slider 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Slider#theming - */ -.ui-slider { position: relative; text-align: left; } -.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } -.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } - -.ui-slider-horizontal { height: .8em; } -.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } -.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } -.ui-slider-horizontal .ui-slider-range-min { left: 0; } -.ui-slider-horizontal .ui-slider-range-max { right: 0; } - -.ui-slider-vertical { width: .8em; height: 100px; } -.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } -.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } -.ui-slider-vertical .ui-slider-range-min { bottom: 0; } -.ui-slider-vertical .ui-slider-range-max { top: 0; }/* - * jQuery UI Tabs 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Tabs#theming - */ -.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ -.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } -.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } -.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } -.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ -.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } -.ui-tabs .ui-tabs-hide { display: none !important; } -/* - * jQuery UI Datepicker 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Datepicker#theming - */ -.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } -.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 { 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 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:both; width:100%; font-size:0em; } - -/* 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*/ -}/* - * jQuery UI Progressbar 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Progressbar#theming - */ -.ui-progressbar { height:2em; text-align: left; } -.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/courseware/static/css/images/css/bottomWrapper-bg.jpg b/courseware/static/css/images/css/bottomWrapper-bg.jpg deleted file mode 100644 index 7e56627dac2eba3ced6d7ac854f02dafed02fa35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 679 zcmex=``2_j6xdp@o1cgOJMMZh|#U;coyG6VInuyV4pa*FVB^NNrR z{vTivwh= zDOELf4NWZ*Q!{f5ODks=S2uSLPp{yR(6I1`$f)F$)U@=B%&g*)(z5c3%Btp;*0%PJ z&aO$5r%atTea6gLixw|gx@`H1m8&*w-m-Pu_8mKS9XfpE=&|D`PM*4S`O4L6*Kgds z_3+W-Cr_U}fAR9w$4{TXeEs(Q$Io9Ne=#yJL%ap|8JfQYf&OA*VPR%r2lxYE z#}NLy#lXYN2#h>tK?Zw#(t3twW$lHkox-#Iy_5W`I0Nm-* A)c^nh diff --git a/courseware/static/css/images/css/footerWrapper-bg.jpg b/courseware/static/css/images/css/footerWrapper-bg.jpg deleted file mode 100644 index 93eba982bf370329fc1c9b89bf564c2336d23c15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 931 zcmex=``2_j6xdp@o1cgOJMMZh|#U;coyG6VInuyV4pa*FVB^NNrR z{vTivD9GqO-Km}U`7?>ED znVDFaL9Pa>t_8|7un4jWDH=Mm2?r*!D;0_uHBMZ}q3pErplHy=4=Tnkx|JhscGpMnOVgprDf$6l~v6xt!?cc zon4bAPnkMx`iz;g7A;<~blLJ1D_3pWyk+aQ?K^hvI&}ER(PPI?oIG{u@|COCuHU$M z>*1rvPo6$|{^I4UkDoq&`TFhqkDtFl{$gZchIk9^Gc3M&~ka)>xhT)6Qdr?PR-2hpUWi(FzVCJ$9Vg1iRy8F3zKBFkrR ik0JbZi-Cuk5g2*Qf(-Tye}flwX)ugpqQijs|4jfW1}E?U diff --git a/courseware/static/css/images/css/hat.jpg b/courseware/static/css/images/css/hat.jpg deleted file mode 100644 index d2b008fcfba069a5a722be24216ad263faaf6992..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8227 zcmex=Jq?U}9uuW@2GxWo2Ojs;&jfGq4D< z3Mm>ovIz$!vMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51d zF0O9w9-dyoA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OP zfBE|D`;VW$K>lK6V1@@7#A9gw5(N5-iG_ukg&pKCMy7HgW)@^&RWxK1atvfoEEHBU zYUB`cnz(S|K~81kpbw%+MHjimR7@VKegt_9>@(s#)lOnKGb1qam<1W^ z8UFp#Sk%QZibum>G!2ZVfzdQDng&MGz-Ss6O#`E8U^ESkrh(BkFq#HN)4*sN7)=AC oX<#%BjHZFnG%%V5M$^D(8W>FjqiJ9?4UDFN(KJB+H1Pi>08TKOaR2}S diff --git a/courseware/static/css/images/css/hmenu-sel.jpg b/courseware/static/css/images/css/hmenu-sel.jpg deleted file mode 100644 index d4a0d40ed19a4801fce7091e72473dde5ef8c94d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 653 zcmex=``2_j6xdp@o1cgOJMMZh|#U;coyG6VInuyV4pa*FVB^NNrR z{vTivwh= zDOELf4NWZ*Q!{f5ODks=S2uSLPp{yR(6I1`$f)F$)U@=B%&g*)(z5c3%Btp;*0%PJ z&aO$5r%atTea6gLixw|gx@`H1m8&*w-m-Pu_8mKS9XfpE=&|D`PM*4S`O4L6*Kgds z_3+W-Cr_U}fAR9w$4{TXeEs(Q$Io9Ne=#yJL%ap|8JfQYf&OA*VPR%r2lxYE z#}NLy#lXYN2#h>tK?Zw<-`9Uf{r*>^G!}Jjl>dJd0PYIW AbpQYW diff --git a/courseware/static/css/images/css/hmenu.jpg b/courseware/static/css/images/css/hmenu.jpg deleted file mode 100644 index d0ae8683fce0967f5a92cf5c2b81e5e75535a902..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 655 zcmex=``2_j6xdp@o1cgOJMMZh|#U;coyG6VInuyV4pa*FVB^NNrR z{vTivwh= zDOELf4NWZ*Q!{f5ODks=S2uSLPp{yR(6I1`$f)F$)U@=B%&g*)(z5c3%Btp;*0%PJ z&aO$5r%atTea6gLixw|gx@`H1m8&*w-m-Pu_8mKS9XfpE=&|D`PM*4S`O4L6*Kgds z_3+W-Cr_U}fAR9w$4{TXeEs(Q$Io9Ne=#yJL%ap|8JfQYf&OA*VPR%r2lxYE z#}NLy#lXYN2#h>tK?Zw%kxU@K!VDr=Sy-4^*jU-vz?hwr zgN>b&osEryn}d@J1b{3aZY~}W2V@9DD-$a-Gb`H|qMvW5}awt1(JSZA;@q>zSQc)8pmzcPOq?D?fx`w8fiK&^ng{76V zi>sTvho@I?NN8AiL}XNQN@`kqMrKxVNoiSmMP*fUOKV$uM`zch$y26In?7UatVN5L zEM2yI#mZHiHgDOwZTpU$yAB;ba`f2o6DLnyx_ss8wd*%--g@}x@sp>|p1*kc>f@)+ zU%r0({^RE_kiQrim?7Q*k`Rxf`AZP!FD6hNu!H=?$W#u*%z`YeiiT`Lj)Clng~Cck zjT|CQ6Blkg$f;}`^g%SK=pvVxipfLOk07sseMX$en#l4Q++zrT-D2QjW&}navmk># R!{0xPx-=Mu0cQSx695u_0p9=s diff --git a/courseware/static/css/images/css/page-vbg.jpg b/courseware/static/css/images/css/page-vbg.jpg deleted file mode 100644 index 93eba982bf370329fc1c9b89bf564c2336d23c15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 931 zcmex=``2_j6xdp@o1cgOJMMZh|#U;coyG6VInuyV4pa*FVB^NNrR z{vTivD9GqO-Km}U`7?>ED znVDFaL9Pa>t_8|7un4jWDH=Mm2?r*!D;0_uHBMZ}q3pErplHy=4=Tnkx|JhscGpMnOVgprDf$6l~v6xt!?cc zon4bAPnkMx`iz;g7A;<~blLJ1D_3pWyk+aQ?K^hvI&}ER(PPI?oIG{u@|COCuHU$M z>*1rvPo6$|{^I4UkDoq&`TFhqkDtFl{$gZchIk9^Gc3M&~ka)>xhT)6Qdr?PR-2hpUWi(FzVCJ$9Vg1iRy8F3zKBFkrR ik0JbZi-Cuk5g2*Qf(-Tye}flwX)ugpqQijs|4jfW1}E?U diff --git a/courseware/static/css/images/css/topBanner-old.xcf b/courseware/static/css/images/css/topBanner-old.xcf deleted file mode 100644 index 32e747241137d5c6fac92b06c5058de8b1819adc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51420 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 SctcD7X5!g<=$z_hbpBuMc7MeH diff --git a/courseware/static/css/images/css/topBanner.jpg b/courseware/static/css/images/css/topBanner.jpg deleted file mode 100644 index b6aa4058723cccac408cea3243f181a69ec85c0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15065 zcmeHtWmMZww{CFv;$Eaeako;SNYOt~+=^>Rkp?K%mf}u}7q{ZB!QCxLAOwd}N+3va zx#|DB=ic|6FZZ0a?z&&j`^(C#%*-=;_B^v^&z{Ne9(KP5AXig(3jU&KU&#D6k> zg#24mOdKpM96~%?yuTs;t>nH7K!Fdi#bU$4cnH9xz`&xwxbFinqg4f9Vxd(7{QHBA z^G6j7Oe}P@4mkh=tuHP%CLR_Z0S*BG@CS{JgNsM?0H1CpfNWsAUD^x^DS>MnuseXo&OZ;Ou_hV5pTl?giBeX~+bXOQS|I{B^<{y!GxcKN= z2?{h@m{>SCc<6!tn@$*1m=svp>^QiT4+Qb#b*yq9x+m0hPor!+K3dnVQ*#I@^c>wU z0f@2Cs!?E30OSBDMmCS47u$wTm`<2up9hl2w@6RUl?q%hC9#r( z@SZ|csZ=Q`p0W=ymBdTxFTF^A5g(yL`eIw-<4ENU_6+uCwQvu-r?#Z};CSwM&WEoR z<0bXjJj&`nihN|J%wzgEl7^LJUO-Slfd8+~{zc<|$3P%Fxf+!rwqEU2>eIkA(b{jL z1Yp~an#AQePdK%+Mq3-ff?E5Rqm7zvqz#KIap*e4b8zznZ>`Roub(d88JuzU$Ue#xzyrQZog!a^P50X5nY zBwwhXz;vrw>EZ`EIC>e(UT~6ZftJb6_*QN|)p%bG1MdO;srLYkxBl!Y>-`z#@D9TV zDZgq!9^)${x#^3|vw9&wz4vA5EEC@9HXt!|R$8f2x5z{T@N`)^NtBVi`x;^p6V~#> zwuqZ!Sj;IdKK#5|aMBOJwePgr9)`M6>9#$9~jFm=Z=K z#5TYOM}lCBeb;X*_khj)=$GsHkxRew3}*LuQmmtO8h|4qlYdoBvGQvsMu{@V+vlgW z#KSDsrrvzeTJr{RY+h7WHdYLemTnfqA6&#Q3hHKt@L(K85W8&12p0BXzF1Md?Yak8 zuRgP2GSc)CpFm{Z;#COu&<8RZHy|L}?ymwNRMtQ0ByY0#__(UHHDxNrH^E|BU2tQW zO8w_drtapecf(HWxf614%FXX;O@mgs<+{v$|4UqfM&`_0*mkVPCE=aZFu5v$YB2Zw z1d{l;yU%$Zl-se|J_wWUg#308`Z`;tuiH?%H(41*)MK8;UvAsPv3%BV@`axt^W999 z?Tt^lub%cxr1K_Y>xqdx?Hmc_QZA@!4P2MX@GjUczSjrV{Kji3*CE#Sxf zj0Vf!&3+T!VjQ0?KCaVQ#C4YROCt$6Ai>4QKEMMXKbMPK79Di=akmnkT9pQSpR&|c zdj~si*yyP{j~7D6mK-302-gmETAE0gc9GeI`m2J)9C~v?J1-uN!rgR>sJt%!=_kXD z0gKtJVikS9t`8S`@qaC34vP}^g{kEXNy#WHVB;x;zgQ0;DTp~@G3jmtalD6-o+pSK^5V+(@_+ueKCa?tF#8T7*`k5CVbpEZ{W_5-=-)e^+PjpY>?U^-P z1^FqeqoMLnY!bb40Mf13MKfyWonf9e;$R50xU^-v$WS58obdDqy+B+Ks0Ym3Sx36S zNMkPj!iK58N~>(+_4$%NqCu;{-ob8BkTjcnSWFViABM{*^h5bVqM7`Kd+0<#7fA-# zVj!Co*(_F&(xZCZpdnTUo32iR>Ms`eHx=wP5s$U`kP(N&^xT9h!tgtUS)1!3+W0v0 zUX{T$WzBFlgaV1lHGJ%{R0 zt8gYJ)<$-;iV(ev`s7K}s~dwkA1C$wPSd(Fu`KorNo$tbl$>%pl#OvpyK^RKnwA$G z&{q6Kp?bgPYC3FUGjL7u!(C*%0WFDm(@=w^zrN8-d1Z)DD|JVf5F^%`tg*%-LZoEf z4*9B)1IR{`w2Bf$Si__&s%}!Eo*u$43TTx!rJpj-CYc)38Q6)Hz0R6%vN>C+zri`f zhfhG(w+Rkb9Uws^n>&UI5KF7u7(qi2@;efkfKtm<{@QZzV}j6iykDFW`a|a39b}q_{D5NYAh7`qS)3ibq>K+GmeQtbR$uvAqlZ#HM`0PnzWvs z(}%9tzq&ar;N%d0O2*U}xQ=nK9%+2UyP_|;_!r{om09U$#4G)xMj5%0U4v!U{xzkI zl12l(zs?dCA$DKf7rj}EcTFZ2BAK%CwS{R6#1HI?t@<5^9Vv{@Q^iq-j7#!THHEwF z&Mjv|w~aF7Vk{tJ+y~gJ-!@48djO+5*)D70JMqW&fQPqzW;f+==4qvY=~qjqkri(iq~7=~EZ|8B$p% z*Ecq=A?MQGjBr02GXofz)2|fUHn;5jF$7IMCyB0Tr#Pid(Paz0FAQj_8o%DsrZ?hu#j<^`?h*d6jiX##u}mx zw34f5UwK*=L`1m~JKFw!`8e+HNYIam$g2G_aCF!8oa$26)OG=B|9g4_5cd|ujp9nqd~xA&9BuzL`<8V|@^_&CGSlKN*GnRT+45qG?4Ia$0JnHg;spkxSzU}U7it=odAeXKK%J`wy2TUo`)L;v} z9VNlkmkg843KhapROb(#e*5tG3?=md&cLQ5NGuMrV#7_isJOV(;f6kEIy(%H4CD?;g;2RmeP(u=iJ9qlg4$B2pl` zmlA7b>W7G%pGn}$M0NE?K_s{xPY2U{biy7{*NA-#4KhPsgMRL{wS~D5`| zI&d8h=QqbG zrok{bS1^9Grv-zFPxD9Ld@>nHF`X=UiVI|u$@^{DpurrDKpu&b67mvTV1=9sF^ z?i4q-*$J}*L*Z~MKoBjzbC-1i^- z)hVX&4du~Kh~u1w2~K&l**_lnj(2XjQE)7!q*41xtzeF9m(u!Ya;j*CNFhwPB}L?u_EettyZ07UP&9?^^1uA>Ke?$}+RBJi=6-o-cFBHv zU~%p83l~l?b!$g^7V6gwLFE)d3Yhy$CQL^9p5ha$=<`-3K~268s>eU5Gw<#*&ZPTa z?p7f~GP}arIlqU*3dL5W7JgUd{@(coIeYi%9-v&6q?~E>43ZJqINDZ8z(07gZ#qz4 zM!5ENBcRbcJLJ7K>Q0(wucG66x;wr5wra z75v1$^NoHW>_q+iCSl^p(cMaaY*jiCeb%Y}qyw$LY}Pxb(qU8iNKwN!5KP{HT7kAn z7Wm6!W8z=(uJ_CLhtjg0e4}4gMbWx{u zn*F5)k1tez4iBb4pX#_@*ksvrW4OBjaNxnp_kgT5nUvgN8#}?H3jx#||G?0;W_$QIuQ7LroIeYkpkSJYz>W_E~cjC9$2LRA6b+)rn%^kFo z^(nDU}@a2q`W zk?-{8NAqJZsX6hgmzBu;Cil{Nz(1>S@~zKb^Shc-e0HDOz7NHEE0d#O>Cv~L=(o!z zYv#?L2(VexqqJwwH0AUb-#66N4kP~Rz~8QN1xh7l$%1d^0>%RWlYw_)1hconA6l;r zUE90jJz4+KXdvFz6BXJIDLP=H>?bUU+Ib@Ic^4O)@SOd2mptz!eMJn)(H%P>nVvRs zllF7ygEz`l%c+?@K8>z}Z^v|hQWOEN9Y{b%zxQJ7?JBsLD$OK_p{?x8E8>*%U(TCI zwwzi1v9@Z4XG_~fjeQ)=cbvSI3c+rqa9B#HHz@d^H`T_)S`@d~!$i(0+oa+uz#7|W zPpow9BaNvcMyw#$Np5`yi;d~Plo?_Tq`ggSZ9%{35KY5x4JO$T#YHym1-%Ghd}}Hi zPIWA7489e6pwWzC+6ApgknDRC#r_Z+mkwulI{Swj=|XCeUpnK;n#+XtidGJlY@jhU zZ`JK48DtcSfw!S79CSP(hB2cqGlfU?T?3GGE=t+wRa{(zTAapopB~6d;-Jh1%Cr67zkzaFOJ0;JrzS>Fa<5s9jHRT6 zS1w}#R-2o#^8WZ5r>m@yqy*-_4{t_gh+=Hkmfgvzl)8?7l}1 zH|h}gP_A%ZLQ?Y8fjZ{#LPL$d;YcB??YliWy33fU?6zP?kQ%T(!p8x8@qAx0RIHKX zFK2JA{Ij&*rK`pBY|2^r&XxESb`5XoHYqKo7}eKzMB9Kk<14toi^GSgHOfav7Tui`GL&D65C*bBWs)IDzjBYyy`Gk5a$D%1 z!d~CxS^SXF&w0t`;*;eKawG*S_Nw(Rx!5z3P7Uy8`1^x>t9jp-f348{)vLZqk%yls z_)xSeEh*|{3@)d{(T9~mDf-ZJigSzA;ILGNAmlw@h#Ngu`3a?u4~x^y33g_`ffrUL zE{<&aG}GKu`t+#XrET87tWRc|JHSt(aTchxRM7$AFzpY zydj_6KhP6HMoG|%O5|4CPT!c?fLUa<_~htGvB=MgIk(R4-ISPvN3RUQ;)~)K{3NYF z;=sPK=VAWQ@@+uI9o}A&rKRX-Cl<+}af*irDQ`X#b;+H1;B{fXhg>SsrG)w{ZsJA3 zGJ}0$?u|iGn#R0?3?Hn^G?kWDn1!JDaH$HML*`A&6Y7wtqpvWfZ{#BKb)lc zQino2)vqAY8qf+^DfqO}?=q)Oa^5eflS@U|dAN7rLsfGLju<*15$VBoPhW{bNpG;m zcT=zL6h(y_>M6Bi8hv#psEJ2_p%0>yAdI^X8fgmGhIPaSy)AOo^P+RV+kL$~|Fln4 z==9eSs`5#*-s`ks38mRV1#Y6=BBLL|f_;EB@yxDE_M$yKwBs>YnQ%uvttiaSzT|s$ z*wnWWFy@=&o&K9!Y>duf17q#FmWFQWj@?vry?;0)+w!i#^r9*1FUOOqjxWu^cFk{u zm>h%sC9O|V>Dz0pB-`ZSgQ**)*LoTU-`rSz z_nQx0Rt+JLWuH7zU{KT!{{H#~UZi+Ry-GHbZ(^j1KIWjo{=eho`XZ!m1~up|nIIUj66rrk*Ti&Y^%p^BYdROsEM zncN~d4;~s+Z`gAp+U4_SIG)?MOp zTk3Xbcr+DRr&Vgwn9h=9Ga&T_Xw#?CYjIw%sZ=bgTq9tL#|esTYZ!cXX&UIPTt&&b zMX*~Dgk7LY%zkA2puUGODp=t%46eDK;f+jciXHShiAkh6U<8T>%~_i^muRu7>J>Z{ zqGejX<#yx9p?vsCN${1R(Z&oB8M#fg@?}L4i%P3gSi-^gdw_P)eCPI|N2N#E%4%{= zou8tQwGl+Bzh2`oLTh57p0V=uOTH4AVWr0TFz=P}#%8Iuh`hZ9oqT>wP78b)U=gvO z>pv&PRmU@5wEA4+`uXPkcn$LD=WhoTx>b%Tc5Wpd1{}6)uSWYnX0Yw_3pBY!T2*7U ziLX;+J^qQ-ApH+9+{)!9x}{Z07a{ZwVfsHU$_IBR)AlyZdF0aI1nPeDJNRywOpLZMFZa=*#xJ$Wi06u6d6&BcU*lW z_W-Qh;_UXC|MWF&%(Xe9{XxG^>N3VJncyd|Blo$kI(@Bdq9=?`%l!xW;XXnjgszGxcw^{X#9_j z#`c5izeN4vDrCw2`biO}wrU9UL?iS#srkeFs7^H_YcDx!#y9`gkM{IUrDw!u6bT>q zvQ@} z1=n-2op4P2hzJipxxL4h74)8&aqHnePBPPX?NL_(hQ>BAw=etPwHED)Uo%1oNhA{w zT;U80wD<|kZMZGH;2&{=y2VdLGr^`-|rI9xQ~GS9#T4 z0`r&d90Zdq^uu)foGN3CnI@?QX&B5jPjb=YpRaoJ6=E7aAJtarOE!29_#WCAM;Uq} zSrsS6xw_lpqD3t4IKZfJAV-v}cxM$UPDK`HZ*Q4>rzQ<5fi@oVT(O?Be5#N>!u|Bn zMpSU{ss``Q+Rp9ata(Q+-X@7ie9)yc*-c;11nj{P61y#J4BT!e$$c{&54)oa3;iXkK_4Go5{$@U3?-${EFX9*meNdYHSzl=9~&WkuDL6flLd7nUtVYv$p53BKVxi zt-Jp zMb6Iq@}YkIm0Y4z#^@zat?5ulL?A~?_4xtg#I^th?@I>z2KL)2yGr?XX!#Y09ByFnG}1r5tObE4c!*FI-NChi9MH`pv=Re9O-Bq7e+0yP zL44wfg(0Yw4kt7=p1>IQPwT&jdx{>;f9^1WQrnA)Nr8#in?U+b#a-@-`k0Bk`Y08n z*PStLbPL@+?w^%&D!yZQ!Dag&Y4RTijsC~s+13Zi3uO#na$*nbkpAiaCe8lPFqKzs z`p+ciVQ`^|{%4o+^@F+&Zd%6(dRohl8PWG^ZG~)<W%TM-16=Cosnb}shM|EC$k=4$H zGw}BP(_Jr%j6A1S94b`v2Rw-T@Ns(K;%3J&9`SFV_>B16Pk)`h+t?p-qHQa8(AfB$aN8mtN ziLX#~eJQ{8vR^lhs0KN=A<5JhExFqkw12h&gODvDmUF+Nt_#SHQq+*F5nqX|I=I|i z+|_z#NE?*UCMEu=I)Gfc!{`ujbgomw&6;U)Tjyt08_FQ`MA3=3?DUdHuHF=;(w zdi2cL-hx$2{Pu+EG^f%gJU@!8tl}hJGw@5w>$RO{a35b+mArY*M|u5G&v%ht<=m2O zT+wcaZ7Aubl_`qq5w3038fB-3n)B&2>s^3r)!5MK)w7q=Doz{>k0 z6zZv$6tweQWyA9ih>CNBMzI6TSjH9cV56L&#H;bpPgaVVwrDrqEfT@5$!?yX@?7U@ zl;*Sug1S{9UEy2v*PV-~+6m6}EF7!5Y3kJapBdg1wmUmdwBl3!HdWJnFI$*e8YN@M zvne^Fd)M9gT$L3Af4D1#4|qnNhl%kUdmKYyG5$*i`(@Pw3fHA$uk9VI11QwfTXNu` zOru?GSGn%~)2716*%pV0^W;BZ{u@8{lXI=~-G zNr*EF@tiC3YT4zpcZwW(m;=+HI}_*+VekO(y6R8|g2o&7qYiO?xGs$~j7z)EiTMDN zUYAaEecBmYunh0nixWHlK`Vu|Jqk}XO|?Pa0nuOgSNZs^a5j5wG~86)sc#mirI(JN zngW2(iB-=JHd+1219*WfXiKa(k3u+dOxNPDmOTKHEeR`bISY)Jyi zFQin~ps;LKZmO(>hAM8xUi*P%-6p|DBm#lsxkHl*>Ag2n={W}0nmsmF18ET+27597 zlnc$REJ|uvuio0!(UZST4sBT;NePGWZmbZ%&PbdxQaHov!Rmn+L>fMa4QF;e@I`GybGrQpSi#oEw9?9)v~ ze$qguZ_(h{v~JO-XOhvM*RKbECzB%`g2gN*=Iv_0X6OE}$Caqf;*3D_DrP1FTN2r6J zN0ynunMqigE51+Iney#d_a{x3)2wQ@Mq<1#UVAYqwYH0Cxv7wI2#1CFa0GR~L7HbC ztz0*hosTDc@_uI@;jHL)klz0ko}QYN-w?y+SCrRlW!vl`&)LVjjPYozNeFR-vnVxK zi2&~~n*8Q@p9!AX6{c37gFONnuu?W@rI)<)@&RuffbG?^h#mD%!Ji2lB@+tz4Bj^K zti@8;0tJJ83V|ESjGNm(%~~IUM)x`m>x~U+oxDnnrN&K|B%W0%m&kut5c!fiB*<;M zh-q%(+g)C0ESija>Q+ z{p@S}Dmy>(bY*D%~!PtKaf9M@HthdB9t<1;%tIn&Fp@IvLb40@>8n zd993Q7(SnmrxdjgH(z(P+2zj1G@0~BXKCeemQsZ(I0p-o3Zx|X_dd#hEBSHJ#xxr`0L%8eO*0 zDs##_`86SWNAY$HAIiQSJ?eMSIBLN`V~@MG<>>u8OuyxbQmb7QGeJL90P#rBZO(zy z-o-e$EL{q_d8yR^F~S?WqKeOE87iUCY*$ zxzcjni!JohdBK9(QNny1iZ+V2V37{`Wp4>g(!+G*lEIu8k=D<}($l=9FQSi|*;P}* zObh0)tVZ?i-yr6k*Ft+1WK#KqrTIxF{7ih{Xz$%n>20?;FZw1B*3j&=wg zkn;I`(qt}0Gt*rf!_w*#Bo}!rDn*5PW|%x6Bi1Si{<(xZ*gFcItJHNoc}FyXV=q<; z&d1GVuy{b{RqFq1^5EweEzhiZ5w|zkDQ-rR71{1;7OPd(cKP=6d@htL<$Xn38@z-o z*&-^CxR0^3Dk-6F!gI$w>6xqZ4#KB)f$rvlffc`P%naapYDmDb@X-Eq_Y7%ofT9g4 z3#B!W(P-K#v_r_3y{PEV_AAwM&t$H#(s*$t56>0DmZzAZ)EWy*Rxk`p%WF+HG<@Y( zad0$q9w^%fHNbhziO9^nlLNkI#`4;S$2HP0&A3NicN29)I4$HU0!eqv;KClWdtdSt zy$tZF1lhxNqH-H19c^OIKB;tp%p&(-Cl8(>l8_Y@dv&ji;oiJfGnBRQ_E|qK!71at zAB7nxLK$Eb8+v=>>oT(a6A7_IrY(i5;DY{i8u1NLzWoNfJ#x;1w|kR0FN1Y#OiqMf zHU6A!3HvbEY}YDN;Giho8^toSQ`1-Psx091*%cZt;R)V{gIu>y1HMoZexIL90i(16 ztc7P22(1ldwjiZ(#fo7x?$8~M!nN>1ZtKUI{#`9*mEy=!qvZk>*XyojPJj=8I#}J@EDArzjqjj; zBc2_)7RY5_C-aFwA)WyL6v>L!5Mrq(pL}Z=x=;y8~>? zn8>Jly(!Rtyr2VN9YB1-%ot;n1l7gC4ehwZZu!iE8EOFng7unmT*eR2z#A$$=)c_q z)1KgI9Z2N+`dpxHI`G!-0Y8I)PgujYI({O0On1C*60u)?j{eX!h&kQ%5mMYAK#5W$ zTR~%^f>^>9^_@Cc$1RCVL5bGvu66iRN9Ej9D>ZUK7C_P*G77MGTlgUDK|sYuq*M8rC)I8rB?8 za%LEY0fq@M5s{(6PMgC*LsovJ-+$HW6=9)a;ZFTEr$OPXmj^kyxwvUQ z|Kh^^TPTeDSA`$T25s3865$lGVa1x@ z%>+Me)vC?G5uZCqu>WgOSIOT|K^n?^+c3~+?1so~Yl6dr2Rf|+SzTOQ z2qKI8;G>O$aE-yC`|+C8qWAF{CrbZ|YlAPY4ZpZH`r_II*QBm>I7Z{p!9m&}pD(3^ zNXA-}bxB4<@b-v7p+S+s;RFtSpl9?aWlsNLKoM(#oyG-k2wnwtgspNK8yeaZ#9tM* z0hj^Hw`_>m^67ri=8zr1PVOF`B&G{WQ`*InjUn5ELkTz6glr(3aEjFMHV8LCp&>z= zKi-E1ZCJepV(ip2c*CGAn@RP{gEj{bS{V`^yn@i&DKsJ+h5wY}{~&^Ew``6GSrzFN z8oVlkR2jB?(E6~I!I*{HgUQ4o1=~VaMyzr2_WC5uAB)!nhpb)`;pF*`VvUG?8Wf@G z#}B)_>*BNAfIA#;)^H?_$vFIREc-hQX9PuQb%2>72*)vsGMJA;4LC@Fp&gEa1U^b9 zhWUI@HB@IAWlput%W2J>OLe0-j26|&K!vo-l#I|GDfx!7CHJ~rg&he~!S;%&@f4NZ z&~z92#pYRSKAKHcwev?(Yy!ohn(aQcrbAj8z}DidccQZG14R`yQ%(8=UB3y>3=B`- zqNuwIw5M=!XRH;P4RkicqM9G>*Y)}W`{!%6S`N@iKeIMgKn)Lf)=au!C8+fk9^unp$6xgy_ zFI{S;WT@6K(1T*UbiaK>QMa#Ka(WY(FR_bmpElG7T2`1AIsJComhDK@x@%F?0zq5e zd<{V|+ulPNnEzhamh=TWhXG}*A2v6oQPdE=T9pcwbFrp9omyMl+C~0Rq?b{gh<|V} zky2X}n^NvnX9XEU1=>(smY8B1t7kC&UF_40tvjW@`{)4*TG6wuXqv?+$q>80Z;k2x ziG|u!n{lI4ojGbL?qX_QAL?r!CGJ7ll+l!(h+?GeHKgAx4R7xq&^>Suw;Bcld1(Um zXca;3Dmk>3irPV)Uq&tO98Rq`M=`cqXz>$ry%}W&HlhUV1M;g~)RGt=7j=~kO{8*r zQnUY{9$z^_J()q^@YhKLq5&5Trj!|&_>loxR7Z~v$U|F4kFGKS9u)f|VhSjn>#ZgB zHF_T_C>aNy0RO>$o&EQ_VB6874veUAOC_}0n~1JbLZ?%_4QNh!BmD{WQ_6KxP8Cqp zyt4KLa%mUa_Tgi5sKT-mRdi%u0YY0Sk!oC!I>vT%!&T!1W*+6jj3?!`REPhcm}F|b z;3rgHs^iX5a#Nh&2mGD+5B`d%_EG$HJ{EKEwl~$Dzl>u=8Iv0p5s2PYM<<6eC6}6e z9jYpO*ynlqys9Jr;~dq-?5h97Y)v@}B@)8Vj|imCpC+U^+vel7c30I6pEymPXj&oy zV5{{J2@KRs$9Bzh#B(w?I|)}c9c%u~YK?kfQA*II3x^?u{4^6mKV0g4MEcBOFjvEN z)J0P@UGN0$^BjcQ=(+|QHNuX9&-~S*T0io<3mK3E`ST0}Y}Yjy_zC$lXMy~Y+g;2A zB&HT&-$)JLqByJn!LSmlWoTx*)C`l-_#^MMsa9!IhvLl$m|9JO)mkQIGE=I8GW^I* zJZ3nw)ygV7CfwwZ@f&I`X{rPIm5uoXmA4oS`kTW2bcdd<8pk0Yt zEo~q37jHFl^)sizOvo;=VSb@8_0v#R|Yt3P9Z=COuzt8I3}tvLPEBmfeq7F+Q`mYr=oNWl=4_*6{R8J_8>r75GK1 z>hj+(FF$j*3;*+N7rutA!2itZC{FA@SeZ(-S5RP-XO}MhL@C@7P5SB9<1d}rMGF*s z(u1E1KIyiu0{4&Fs<}&Bf%@)L-Dl;~+?T?i+ecl}NT%4~dIS7HJt+R(MV*-ce9zv` zME!NZ1fY%aLrg&OIfR3lf8+z@1p0M-oN+$r4#Hl zJ~U|a=J2qv^?3Au-BcweE9vV$O;yroVye!@`M)z&y+4|&|4sKlS)l*gBK7e4|GY)& z={@AHF%U!bqebfVkK+H%A~lW#aq;;q3}AxsIqY(<9`-21q5AuC<2Tre{)FvBGL+VN zm>JsvlR{vk3}AtNI_SMry8**YgpJcaiDC3Gt7uq(28=GHu3-9722@*5hRLLfeL!b1 zjNO+2FPH@Y=p0Jc8b7ku1d=OP4TuivF{0E*m>(f7>QLq^O53I}iFKLKbgeY6HW6zv zY3w6lAd^4<-!MfeZC%3LJitsxLF)`=?=2?a3&{3fOtUtr%)FgpTrekE!P2+CT9GUusd%+@cVpD_^x`USI)$tKXp zm_5`0<|cu@)%i6Q#T@z)dN=bBKqc1de3(rADe4jvMo}-@q5169&nRjm^V1j5;&F@u zTgp&WagvF`YQQX|sHx0;iaN+lrl_UN^)G?-TNyWsN?}~7F-$&1yf)8a{Ov*YP3HWHHiV`z@@U;CB!<@re-G|Bh0=SheXD(}6 zYoTF8RxsTOtS7^G5ZE4!>@zG3rb|Rtf}rnO4>6RAF~KHUZOSOV0D-tL*i8W9YX*y? z7J<-W+P;8j*HJN-Ay1vDR1_@R&r(gKn_fb7ysCtJcD$Eki=`gGlvCD_H$xm2lzJKS z?91D;%)u{j(;2_dx8_uxemmoYUH+D|hK95)`sh)^;%oeRb=6ZW++@pD*X_8lr7mVA zZa|@-08lSxw%|dF4^v4|PWcRn>Bx6N&(Z$`4HBE`7^+~jvF%WwXLb>ctIT6yD0hOn z+FT}cl7YdbOeRYUl&6^{Zv&1!+!AO2#+zvw^Kz)3(YQOLJwGN6Wo>i?Q^!Fy&Ci(a z)Ji7T5QXiA0wzdlT&Ofy&7a+y(( zXJAD#uPE@87+V^ieu34Fo_1kX*mt&?QeQJUR3S46E6iIAjjHZy%I5D)b(NAqRwgpR z)PAt@M@+8u=53e~)SFL(dhuoV-a&nlhS*fa1}2FTF@vdbjEKs(##CXZu44H5goXxu zX8C8VPG~EteH~L^sv#qrs<&=u!kHpiQZ>wGLdlB&sMpSB(tHgJeA5{&NTDH!Le4~E z!>%h}@&nCj{r+Gbn`*nysG08pp}vR%Qv;Ze-UW~s7^jm7 zq&rGFC&0+;sMjTIH;Bw=Xvl~((DVyP2FD~HP(hP^ctUMQL*bL1c+gH4Fg!9Qb~%&# zFJ_D{)!w(H$Qc^|GH3c|<`0Kz?^i18i830~xoO13{Fe5r_j`y!pcx1dgUyub9dxWS z|8tQIRd1Zd)b95%<~Ys26ZJ)T`&EW#uc-_AWH5+LBpP<^U-Jh;(OUjS(JH$+l&ndv zOuaMaJ(1X!oy^Z4XF%7~!4$GdCNryJ9n2E-3FbIvy9P3zfhmHTVR(KySHKxoBJ*yt ziB_LOYPB0yEOi#+qd{t-tUB6YmuZmxnkS&uV&(yMYLq&hxj+!=8FLLnI~5EOCPcuT z_}ld8OJv#ibkP#q0a% za%?A^io}50F#*PFFu^yCDC2CG#%M8}A|i2L^N0`$0jY+-YbGY=@8a9UUi_%ErM2ws zPIS4Ev+!YQdwW&fVK;&TasRIZ&H9#VKAl$6-k5vT8ZEcD-6~hBGEQKeUtWGvvhJixxV@wlHj_Gvmw4PwM;&{odh3)LYXucT={}v?2&BYE5H~J8{g% z`~B^j(7K{atN%^g6WtH$smH)KfN{0LBm>XMi5N;+RQpHW-lWm(MAH*!El3zhT*MsJ z#d6qnCQ4X~QgOShkfudNagJ7H-I1z z6dnYnt$ij1dkPYR3xcElH(joF&i{borvAT(TRUnC-krlu^Ns{%N1ODz_usCGZ0LNU z(jkr5d;ZhFVMS9de_14o9k;nPt!+i;dN>`-Y-$((XhAu{+UT-6beIl#3+WivEhnn! z@3w_~mde*`O);zZoy;YVcog!eO#}`q;r!Nvi4D3P_JLWwaKMp}H3G+^zr)y% zqNp*y!BGz9_#!zrB$!gmk5E*|uN1WjVAJrh(JV)bMQc$U znr4A12;#M}*tn)C7fQ*-iG=mYEq++E18s%^Qru3Hpr0d+d4Z=a__5$O1T>{)u~7k= z=4gr>06??U1cQZkunA$cuvwrJi-5tPLG=K1pbS{rl*+)i*H>Q;baV3_J;84+3foXK zKuHB01Q{s>ZS%Fa=aAt;hK?FDamJF!^M9g8tsE^p!T>ldO3t<#INZy7=y?AX5r^%n$ z9yVj+nJf36y^e`bN=@a8%1TShD0@oG($a=%KqSe-%iU|vw$s1edGP4z%Qx>oBxmHw zDk{rl08+ECbh4;YyJ6lgV}kde`Sr^6yZ7!reiN6Ro+Fl(mzK!TS|_nel{#M!A3XS* z@FOSAod5Oey;tc%TG&)vR$5kGQ7SE@EzoIQP^j3*YlMfl-_~#U|M=6{^Uu<=6W+Z` z$SSQ?)mD`ii)mBvOGA5_&Ig^qD7Y-Whj|PR2;aTuz_H_(-ljdfe*NzKr*T4Ag`!R+ zE1``sTEb9tGmk}VeV|y6^c>(mbM4lxyS_biF7d_1i@*MU>-OV!xsswHd9A7lH~>eF z)HLQGo03=#^Ky6d30b>wTlB8eA8wsK_siAGSAW0rBsM3nxU^DU%`)ziBwBz)n)JzF zsE5aZVG92iD0=7arg9| zHg8Gr+AWc{f7*5M`ybB$=hBtm{`ip3lVrqakikQkAdWOfPKkPr^l)?YnKN(EvbAe2 z{JJeND*EX0lV^T9cjfl8RAFIWN)8X>AT%P9*9Hepx1nydTao*u8GeDwmhZl{Gh+Lm z14q99;pEv1Hy&r^B!QlPxH%s&7vi|%ZND(Rz`e(?NQw0<6D=`UlP1=)3&qmvWgmo0@5rh$QQEAS)GLO0@UyA z>Nau4n31Et35mM&;@8WUe)@h}==y`V67r-Xk))f4y+>y9+Tl?$9Q57Q})BC1f?k%iZ0} z)!pZt#bJAn?A!nB-rC8&lNN7%o}SK2&#n-@zV_q6eaFB3UW0AOcE^dPcjypJg@RZ3j0{v%Bn=)xm_!Cr|l9pO5NXyL3$Vfxa zI+F>>I7InUy}ey%7ukT7;UmXSndRp{f7bL_GZsa?Nl)gcrDv7!QZv%i*lBcnXByj_ zT>?$wi1{~Y=!U>?)4rKACt$&BzuAGy_CC)_&7?Ei__ECOj8t}NdwNDz2Bsh!#t=$2 z-Obz0W6=0D-%Oe_*Uv9-!Gc8r^Oo*?i2-M22&L&68L6o$DXHl|;uvvqz!WWQ=ts-J zZf=9dg-o3l;J09b|B|2u3+Jso5(kvbG^sc<0~|?Bqtob&&P))Qw4@E9alAd;22ETw z)h}S)f_V#<1ua~(B>2!9ZbnWPP!mf;BA^?MRGoldVS5pgq9(=xcgO5>(OMO0$4vbD5f0`~WIbsst}Xx74|E0zZ> zr@s0?4upUUqNp>nGBGSJ3=)pEwib)B^Kx?^I%(yS#Y<&z7nvD_5;vy=v9U z6~SvZ?YsOsB}bSX|LWQMqzo=Mi_7J4j5);asbh06QQbV$OAaYyewjD=)iOtT=;bjr_Vl*HI+QMA*9zJ#MinZb4n>KD(zdmGLC{oiR z!mnQo3*WddeD|3c9yf>21JSFX9?8P0g=zGa``{72fkA6GY>J>G=uLEZ)u!<9&099! z_$74Hh7B7dkH6w)@^Z+uqdDya3Dl^gtUbMkPo5RDZew`FmaP%2h^oyI5nHxxy?Jr{ zmd)XtwjH>goSnzdCJTU81=bk0mXpO*vbskJ$T5|xk(4%L0w&`~oNt=Sl{ef!RxJ9b1y?x1%lc11t9x@9-6 zckMlOpPS3e=a@t8YB^f8Hpg|C&!oVWVOw_W*r~Hqv1k8--*!ar-nA?0+tc^51Og!- z*=!{=6=gPb%;?!m*KgUid(ZAYT6+|GzrBBL*MWV}yP^)9d6H9*UjR@rl2%|D(xrM0 z9X@UT>hN8A_C`nVrT4O;^Y`w*e{J`HZ}&$Pzhk}KO8yYuQ zs38P zv`pP+_|KWUI_muWR|)Cad|{ESs9CBvzL_=Kf8Ei0&psrlra{YP z=E`amH8na8Iuc!N4qIQ(pubnEiH%Q8PEN|m5mhP`@^S*h($Ut{G8sB= z-t3i!t~_}1`01r#85|9r^om}KfiT9T)TPe-ouBlQiSDY zvPwm@yjosfEY`KqW$EeYO7wKKd(H@)F+1$UFXw-|edBh5u!x_YnjxsJZ*HimERpIP z>$CNE`Ud)X`nvjhdYbcBv**v5v+2Zz^OvsvdM{0w{1hFCNi8myD^>MnW%?%iEqc0o zK+)Hu^$N6&aHTz9zWKjY-jPzOorVBKd zev_VomM)OL3J9bFOM(v{{Qmgq8lM44fJXK z90Nl`BRzc`bkfPs&wtj^Jv+bs?#Pjg84u21zj5dOAAi1l{Wg{>kXFk0AJ2b0ed*$rYro&Rd+*8X1VLGegqxpdU~JH7Xh0JrLjxlN zBRxIWxd8!werq;v-M(kX$(N^&o;-W;7i>#z-Fx~$C@HRyN@PWb#)g?jXo3vH$XMT? zyFW1e7pw{2xNYmUdzW{g`0>=~pD+G;<+lg1d8K9YDru2OW@Kyxi^`zG(8!oJ&eJzB z7&ph?-_LJp@Y={7+fUrxe(2B-KOQ@E{?e7lZ}}A^<>e*PqVh^(BjZ*RQxii&V-uE1 zo`GpUzu9yA=geNTCOmrI_kWz;9)0M@cgIiveCgH)K}iv@>8ooL)j(pIbQl>Lvy261 zrY1fCfpg}}p1V9O`sA6*f9{Kn-2dIThkiKyFheA%sH$&JR8`0%MJC23*a#WZCVb39 z<30-mX3bt2vFqUJo3CPdAFiE<+PP=X!Gqu5;8iP>FzYKyi$sN8I9etG3$rn^{Q}m8 zuUfuh)4`wrNO|<<(?4&X*c#gJVLQJ&dGYK|X&?5lS-)ZTv6O;*alWvwEa8vK=g;2w<+26`jhW(aY=GZv zzq$VN)`cHDbMk(6-t{%h*CW;Tz}>i%^tYL1vN~zTjeXx9_|C%EqRG@!p-G=a;-`{!_mr+(J6jrNqPHcXl%ZKU!=&-&Ew}LaOIgdt&FW2EUkfKW$6|O8K?b3 z0dr=aO+38sY*ggNHK7>H{u}&!UUo@Yt{_*)7xHr}D}ki8ur{}%t@sv$0|NsB{O9;h z-~Vz~Xw=b&%^TKl*tj|RQfwZNFHlJMxw(A4AYZ^0SsPh*+E~-p0vl^9%i(ha{Q~{` zXN14py=?8asIZOUn>K|<{hD4N$jQm8%jM_ranLy({2XgD>ueiqYpYR#bHUMBOYR+8 zv3}#`1IVG?8L{KUJ3(Gt<`)&1UFazW~1_XCgy(?ApD1|B>BMQTq>F&Xj;e0+GBR zuK*SaUC^GNC&;%ow$1Ej+r5WvcN>pD|A0Abe+*l<^FVa;!Nbw}_8$EHI#*nP(U(-_ zu)V@6eG$M~?k)@eUA|V{&Ryi9slm=k0(!^W}mJ&b^6q$=Yle+Od%;0 zON*q%Vvz*C2|E)z+Me#Auye2*Fc*HCRfo=;K7H!c>9ar4Ke5ir&;K5iCn~AT&B@5f z7fAt+rtFRFX$P*Oy`8;-z0<6~`AgUBJbv-Qxu1Ue`R8-zF8qA%{KcEkpJwO&asSS} zKjYJdQn5rVaxigdceDor%f7+KKX6&twu2Xb`SsET)&=?!>tgMNiaV~2a_N^#zh3@@{zY-|Y;wxEU$0#F z^|wEBOT>~QiKCGt%c0ZJiFTsxK%fWu|+{LT5>^+TDj{Z%3{o3{4>EGqofqE$``O=MB zH-EozH&G-jEiQI4cA^~>PR>1@9UL5;dd*(20xQw4zulm3sBhl5ag)Bux}ms!Ej#(w z+js8Xy>;tZrmRd>;%w}!c5-&^N%vGaIXF2vj99p2&F*6tf4fEBqVLeR$x(Cb=5=1` z)!Vo4-n)P2QM^J>||$&i1`}&0M@D;?U1mQSrTdckkX~-J|a+Z}L)q zy91nu5C4oWDk&-dh|_`o(auT-Cr6J(tJm&5b@}##2Y=v?^M~TW-JG=F@8A35-owW) z(o4(BJ~rdnNxG+S?rGoKY4Vbl+rK}5Nuc(we zVBbNU1Tf`s*0{!A+WyeS?k;$DTuL(>fj4f8&FVXAMVNUsnq)Y3q<}9$QOC2lg;qhoepGdj;7B!@J1h zXz6Ne>A(r2ZLi&?qo=2Xy|@mo%|>lXEo~i?7?>Di4X`%VH-wGbY=}yAbaZtACD+v_ z_L+%AH^<)n2aoa@GyH2OXTZ?)|wL!TEcS z9>Ylprgx7~dDXPmgaN{(PasZ>@~T_abh8X8o! zb*A>FVq-%iJC}Ktw&ZewhdX=S77o29jlLr=GL4`Y%N-}7>ExH;Lf4sJGC9*ShLB9TPaSXb9k zt7>f`>#Mb`on3cpE30mH-3R#p{yIJ(A&HyM<))-{%Hy%u7ZpjRg?R;Ks+OkaCPiIc z6V{^KZZ_Q<9PF`J+Sxg|pL+EnAvrN4Gc%W)Bx*?)@^Xa*l45bbRH|sJr|aA5YHFJr z?Tqc(y4yKAJJ`{70!NVTaeRD2{D-9U^qj05RepvbHz!Xl6&DE0Rn0Y3O|31hZEejC zMh+}H#M~VC&W;ZKh97v79{>LJ+xX<+y zw`V)?d-v?|^~$Gl@$oPV%PSSl?M%BgFC{)XgBu^iZ(*3umZrLfx|(Wv9W*Lg!<>4u zdkUOAPrr*#DvyFhYpPWBN@pWymJ_E}ZlACH zpTs8dxiN9EG4b5&k_v8OTuNbeTN}faZ%l~MrTv!l3rL*oWB~f`Egu) zW?XE1YC>#!wp^N#^6FLsa;j?EOJ(xv>h_ANmX7+0lKP&;Jz2f8dpbKhyMFW2tGJYu zm=E!(>1o;NRlHYE(iuh>_d(Xiv?(hq8ijeHineCCqPKDH%$~h__36{Am)nX5?-P>~ zKfH^}%;s^0Wv^bynWogYZ*!E@<+Ytkb$M=K9=DjOEC-IdSMNT3>Aw6vo;zR0CnY9* zc%PER%NJtL#4rgD<5RP9)#`dxWfh~Y67e#*rNaEaMtw7S_v+QRU!T7HhM#9C>q{Jg>C1o@tQt;)XQt;isvG4Ej8dUeC<;oM4)Fk^0U2NQ|N5%|U%L$3@FF=mH8nZu_1!9lnO=gBE(Dds@|lO3B~%;Te1 z@U7<8Hda>PlIyi;)X!AlJp!eel@b&l3|;QxpHpWVr7$^Tb(MnVC6U zuB5q5g+Lcmu2fW2)z;N1<&`dGF0F2!LnlN(OP~{k>2KdLWp8)|d8P2&=H_JQsaor5 zYpYeA6^dH991>lpP`H}7D)7Fn*N6#w|4c}VO?gqlB&G;xY`J;4JbsR#oN2|rSl+I# ztgWqsI#*y?yP3FUA&@v^#JIiB;}bu;PG&Naq}c5U3k3Wufw-+*rL0y|Gfh=Wf}v6> zRVq&tPoQ{s4;vHpA|WC6X+>QOPgq!xFA)j^+4-`z#@Z%%wUVi=0->=6;ZS&*dUD-8 zy+(}P@hUYX=3T8IDL1cBC@d-z3vzR%b(oRWRVqeNU0a9MqXs`pG(vmSdU^~W6Y(xH z^-X*^Hx0UvM)b6_v>+!(Qs1bmQOXt4Ruu&a%Fvkm$6r-x2N}D_hF;gzspE{ zmr%|X6bPh6`6U%aVlw>3+8R|&OG9;CePg4lx>BxaXdY}lxYpZq@DT68qZc546`NYY zg|%8#B$3EUB$5I_1;fY{O%3hJDj+p9)YdDNjSWDm7&3S;{)W%Fo06K8Tp9c4`a?o0zotkmDJd;um6ey57GtN(FwG5& zsFuf|P{mVYO0GQ7WtNY=${8&S)HKOvSh{BSuY}G->*>t8qEG zqH^$|x~f_(ucE7Hd5uzoR8y;{E-$KV>S$Kgk2fAqk1ZcRcC^o=sgozq+VdtgOH{6` zRaVQ3WWK|@d?jQ zOf(_+?p+m@R90ec7s*7Ty!5#Dv3G;|X(Q&3PWGicYcRLyA|q(t=#<)r;V>$cLH5%S?Uu>Rrs+wH63Wkf;cSdOGA%2}?p3 zRu$ys=H&3W8Sx)p#5_e3FIa}19HB4Eo+Xi2N(v?LN1!Q~qS;W$ub+Omum^>-2QVCm z16?FjRusW?L3)$T%g)M3O?-ARVB84ul>8z0iEa>8E6XIJLO7v#*>rXzH#0Nt= zx(ZoDCB?W}?rc{=fh=hXd%&hF>r?+lhJ-le(An#GO zsDlKF99SiVB1u_oX{i*ic2yr80@nsTX#L|k9~ z6tQH^lySqyulQltC@*_(9T7BiNepkKu(%{67FzVl4{I0rO`b5`$HQ&ZmOW#=AR8nY zWzVAdMFM_0|HXx~w{IOuxJAQ!(W128om>85qdm(H8(x9__dQ|KwJlg5u8KExBbN)4_^nDFo$>S6DN!wIUMON z1jxnL*L$cf%ZVk)PkML%aB#>0zj4r{6R}R9A_CzxafG|K6O;wWUs9Hl{vv8~RNy$& zGI`v1td8Eu-*ELAlBqgS%rWaLb9at4GW!m&^SBXU&>1dF*g67kApd&DE=)21t?y6E`h2OIrM3J0vF1Z_eyl(9qof$}MkfmW4f(r9)?1%^pS-LQA#+cFG?k=8#hvMxh zLZI}twDj~$BnaeWrtzQsc60BlrSoU_jvnj+%XhFbArLEzmBHawrR9_sB%TOcwqW+u z(L-F_-Ml@JG>5LRvWw7{%&eTutb8u7Ch2h4@`Zkr#|=YHkJmsFwN(T#nlt91CTruD3lzu zn46oQpZ)&V1CbFCn(5QW*F71^Kz}&+Xm0ee1T!(BJO_ zjvMCY=3xxI3hx-2lj3<^0i4l-+3KtZ2s0i;7B71Lr`S|$>t-}x?j&)%I|H?2H$eDKg= z-JmTndTmgNF2-UYD=w0VlCK?!-V?neV(q-`#|97inhggYS?B>1BP*7bmdfDqj=6MX z-=5t&H?ErY{ciVRhEN*#(<6Ci|Mp83TB4k2ZOWK-rkcqm!G+p4fp3+qF*~$KYJr|6 zwSZl&Mz>X9@~q)n2%0|MCGe~kY$ z7jvi>V&2f~P7d3J-Td9vN7r{vbv9%VX49$lDH-v%whl#l0FeTk-Aa0cgqMEo^4u(J zMKfd1j5F5-Gg$CFvRS%Xls2a?r@XwZNR*wNo_ceUw*^ZN%eyw(Mly+3U#;>QMMZgq zDEno47(d^mO$d z^qY}pTvQC(M@ma+QMHhtk(8A2a*KzBk%1oEp$NePNFpsnGg#pfZ}OXa2Tj!Ce2*@Vc5HKu;=CNoBQ)a=6HgrD9pK?(`p@?7 zZ>nRYuV-XHe6dJ|z}`Titbxu|L%I^ly3qTxER41jfl8|v7}fgtE?@Ri4ofpHMzsEK+PmDcxbnl)gr^7aHTEBKpaL|&4^ZXGFpEG;r_VuGp z5MwvDHa#q$t`)>IX-d`2%bGYbccnnOpw-4nU-#EmUs8`g)cSst`xK>!^<`#1W{ zS-5dwzyK2~a|?S5>HSCd&+pxO^m-&}S`!kyeA%LTfdOc4=IYgfb3Lsr9W5m#0$$wJ z=mWp+3Jcq?cHNqg6+w&U5s(06qXvwyF|%^8lE|wI3e(OW{dG^+#<2Baq3c%#2Q4I| zSrHWA7vN)V4Hzk}SSiW-aPDfCLWJG}=LGn6w{f(Qg*99*^rvWm)yN#`bZKn_cUzsqMUsjiJCOUf0{^-5YyAa@CJdbcBV5}_x zlH~CPSh))FBy}HP1NC@SF9OwLO4nQ4zpIVoXh8uC%^N^2gcZKkVPW zW-$Wj{xckH35=GgL?V^u6-e{NE%{f^oci&=*3hN%kQp+$yB$Ku_C4rAT11OWp>MG4 zO2ow_H&32DeQ?``rN~5BFtnR}4+L<_Nh8?hNwFD}NQz?8voD=I^IhcHWk_M_nBNB; zbw_MWIwe?=k%c3b7MB;kyn7)x=G@8ex33PG7dUsCy?qZ7q;=?&5N#|0RI#*-|MLEC z=k65WIeu_k$ddVU0*4{=+k-$!Wkp5Bs0aEz^VyAS*RP&S%sshxYw$9}?Z2{jw0CrL zY=aA^SO%q1R+Rhp?(f%s|NY7h>HQsHAke%~J?x#(8sIo3@T?S<=DxT|BB!^1PEOw$ zx)S0#(B7GL?yz@svUj3OrR4385?Prz?!ld#H*ep*a=GyEnkDn+`#ARQ=gjcPNi_! z;5~zi${Jzp^FNgUw+Zy{0V|8mz%tQ8W!L~Ig!U6u*u z$ZF(ZIfq>V>jEpjK8b;nI|sHBn|%P1+-n+{lQ0(akcA5{+L5Hyl3F;#4ARzt5y)}j zsI+u-$VMBHPCXrBuyk^?2Wczy&8#hS0ib7Kphp0;U9^=RzH?`K*yv;V!@5S6Wf$G% zOAp>YJRCU4#*l4D>l-6_>8Pu!fC(UZe`J!4p$?*`EZtVrtfQ}|tEG8du9Rbumlxjh zcQ7+X<;ZE%#R{iopvTdp4IK5#5ja$q%c?5VqUL;UZh@pcLlXmC11!ueyo!ZjmtlELJwlUB4P_-Y@(SMZX}!!Xu)>%a7#gvRdYP2N zr$l0ijV*1;8in}DioVvGR4il7(<&9>n(*DWH?=k?%FE^4og=#2TAR^kY*V(mqiLzS zzM)Bl>YG%J4Rxi(m4)Z#^s}`>s*)+PqtvG6=42&nYE{I@;UWI4Y;COUtz>OY zwZxMK_a7X7@aU=JwQaH|O9wexSy))omQGeuRa-OMb+vN12CEf_#MZYp7bL#8G|ADz z#@fQl#>&x3s%U9%P$G6v1FF^3R4E$OCCP7Mo*!|w?qP3hP4qFXXlz3qPX*%FDG~IA z6HpNQ^j-Y>2lM*dIofqY=8UbqEqpKVb~iP5c6O-STiQFBy1e)s_u}JTou2d+W_Ay! z9u7Ukjp!mq0~d8gSyjENM#V6Vf`>2PJ>TYy6bL91J9|3`{E3Q|x|XK;I)vI(g|Tlx z6et)b`|h)w(+4=(_q20xaFD=rU#D(sYp<`ZZ*45fOi53QdGs`gX^FeHY0!Y~P$dqI zVnX6JrcPef#?%+4Bxj~1CC0sc`k}Gy;pypp9qqakWzt!%qE*F;4tWm0R#lLknwgfK zfRItr>p#mIZ>)Fk;bcd&i3I*jRlcGw5dlk>z8QG6BRM@TA@0qqI{vrA5j%5sa2D6A z)XkY??a6UjS?QU`t>@PhW?=9a(8e22&-KtJ2|9%jRWerllm( zi46&fDT%S7*XI{`_wVP>Pn?2u{;YU$Gu~UsLfSmG@QEZiml&TSe0_8M5SOp|+4mF6 zDyl>o33(0NbZm2pA1gH_i2%j$d2b%=@EQ1ZfBXJorm3Y~6r0hQlai5{&CkTE7HJ?k z`jwmh_W9un0|pJSA0X~T)Ur7(ql%w`4Sp{6%v`twl2Q`6nTc_)PmXof09Caz4UJXY zO2q1rK9&cwIx{sX38~3(N%0?k_Qk&1-bGwfT-(VslvN1Qu>VF*7l6ns7ocZK!iV#d zJP43Psgf%hroJ{WODN5QU6GfYosofeK;k~6Bz?Fr#naWnRg6$uby+L^GX!E+Vi9u6 z^7&l6O_3Cvkecw}+*CMJ?Ar*Mz~2gXy{==#WN*qP|&K%hXnM)?kw&6lA5QVEp$sj2$}IVX#V3tAgfJC=sex zw&87gWvvWbth|i0%&g?MSC@_%KFnbltt>_a3ju?+#>Tc<71Jy%1WZnL21M}X$vG2- zI}WFntoqVAg|eYVRoB?i!iag2BBTt$mz(@*yYE;)NJtbA;knvcY;szd;$|jaP$bUH z;Uc8@Z0T5pb{s~~4ed~R4Rv%~rK+J*jp!rORv<1CWN}jx&i9Sv97d$5vL#`dNOd@1Rum) z#@mmVG&Q#X3Mn<}`m%CF>6F!3jPgzV+Z*er!IKC#po6a%Fwmd~zo=DZl}b>vGN+08 z^Zo06bH5ose%!>VlYH%c+tKazR#t1dx}{dGMEXLdj914zdUb8-^lyA8jF~u*RMd#h zKszE_S6fR`97@D-OzXWz+x(|YnLKgaHxnmMw4WG7;h(}$F*G^*&^|b#sAwvR9z*-E zNVyLSr8rQE`)D|gqyL>l`2Wc>;&u5y`Jx*iyG1&LPO_p9knrJugeIg3Egx-^=-|-Bq3@&TqmL&BK88LN3i{J;Gi z-7v>t;bVzkD|FJ@#|FQ)KHc!!-KU3-osT`9IN)&faq@9SsZ-2+?U-{BK>JpXB_1r1^iO8P4T@_5DB5%LEtG@qcvl zfACTMrSU*)gFRcxdXToOTeNRAZ94Q1!jd%^5Ec$q_8-X7)M0H9?R0lvBr;H}Opz94$ zlEQ(=P#X*Xw27_x*BZ#%z?a>O`p^;56-}gv#yg>;2167eW`zGJLE|645MK?THEHdd z&XRZ&3-zE`OM-{DI+56pW=Sv61@ez2`T?&UUBQdIDAz_JJi8Yv(q`koFXJ^+TxyY* zu{DKo3gH3iiY8RmUvq)D6V1}?Dx+ClWgQd;AuXC7h{KenMIuwZ(VR7@eH6O`dG90H z=m*;iiSe|SH%FU9zP=$p-AEuzpXG>nq&_fo*u6N00Qw5+{vMcR(X27-U4(Zd(BD1? zS@z`Aep-S4I(H%j$;tie{=dKCAc9IlV=bRR{@*TREORZhcFa+8GhH(+^Xk8*<6l=a zK-6R!vj9PxaZSxFEKPvW^))lMv>@pJ;%hv+(FcCyVdFbr(5mTQBVXTTYx~eTKL~{D?va}+j(aG z>F1Z?R^9t;_p2q}d(L~#ca9ni)j(JXH3(BH(88mRP@B~(Y%l`7LdjiSjBu$V;D&CF z;MA`0h$wXg7r~+wk=}?%T_l~jK~F{UI8DY8jDtn9C@$J4zw*)E$S8$;%A&myQPS|K zCp;!f#JNaY)bt}KXc!|#dt;;Z(eg=5v?AIa6B`rD$9ke-WArf|`8+hn6CWKjA;uFK z9g`KKjAd~-v3wjCE5&(Zv9k(K5pmx5xJWuimy-A7riCmJD$b;!+N#`%8T)89>_3+zfNgrNbevNZ&5(x~v_CnHE zH0}=N)+Oq%~-DNqVN| z(3Bb7dV@i))DIY>L~WwhpbyiZmJBG*0K@Gnh;UlhJ54;7+LL44lzzHJglqMkaYp#z-S4^%?Xg)Em%>nK>gfyRFF*%H)EwK}1?9DK9P2lmwx&v_vdnJKO>kii1{!jw2t9x)6qx}az!P3j6p=po zU;y37sf!_k5?YYI0-)+7*&EQ3y1_^=iXm#c53b06ZveZY&BKZN#7%dTg0%ZX>dgUR@2_^)705I({e`kfC%?hswWtp-FMu?T#An)D@pjO*`y{1Cjn zF_eXQ!^1?tARh)yA*}KtqaT$EVS_RV5>WO6r%)XNI|vLMFqeb?+k|ixVIiO@JUoP2 z(I#^@wyL9s4?BU*G719cfS1^QMHYSzeOUPU$gq&ms8BUwWH=x027rbu(D~%ma0qP1 zrt$&Y0>&5LEjYCYr2)gJ=z&RwAd^#jBY>EFk)bfdM1;b+&SCqPCn_9;EG!`60)ZpI z7cXj2JrIs|A(#_k?GRyactmgnKs8d3u@ayeM##w`2O=UP(K9Aeg^B-q@J%%dpZI69KF= z#Rd{EasW&-odjG0%osY$i{sk%dQCxzv-b(Vo5H!hSv^Y%V%Pe!KhQ{IIT|i!{Bmll9C`&)N*?4 zBGqdNH$8aa_2GEc0T{8J6`=Sz0VZy!H31f38Zm115}+Dzt=CI>iI;`|hz6aOX}tz? zV!%-BT{2=EH??5W$zkx6fSo$PV=~=~!@VUz0J$(MKY>}Vb*H~kopj|pFrAdG#HGcaZobrEt1vDnFXWAESXet8?ObMk_dA{ zt=?oSXJr=7TpZ+RuFbXSy>S7O&+Nrt{i#fps?DOfCz*rz8ISgJ4lE3spAX)Wg00zzxlw$mE$K*kU>~AQe zFb5qJs6~)_ZD>AC&`d*9LwSO7-}62MM|V;lWrY;sjK~E6U>3{`0;jPRgLF~!x}>%G zU_3}xSW(BRWSEv^1ccy3%kRMPJ|B+LtP$-8HCg7*X-4!)vB7)>1vGz6YVQKt#!;+P;z8n!6RrwTO(KU5#c2lFXc zgS=93QEVBSD1AvGCYAXrNq`IM_u)9u7wYD)=8OH? z*A@wed?EoK-gC7Y3=!emq=GX(setYWr5IpM=*)%j*A@&0Wx*g^&6Cm`cIry$0a#B% z^!oH>5?D|WtR4jPt7C%He%~xXK#X8epnYBBL`U&gN*8eCfG`owe-9xeA!ZDO z3{9*DAxFYT1Pv{n$g22P>Up?NAELC#z2HBh|e6Y9K(-JPYBR>6Eta>yu@`$0VJBJt|6Z&w8Dt) z-tW`hzn`FT*e9rvRC1L*|NR7&6T^bau$FIxKqHGR9>_)CC8-ROq>>~-{@|sat7IC9 zSOV#sj}y@9A%k2dy7WPGNlr4FA)6?_Nx1PEP0S=3UBiM)KZGO$woRLi{P&k|1|Z>> ztl$@XqR{scbC}hWnqu|;24N>L6~u#bSmH@SBv$cisYf%GWwLbP+Om(vM=}J;jDsfA zo0TIF#}If)4ob)x$Qh;>E*FTBhG~Y7VVOvu!+cajPM#aQL_Q+-<-}cFLyk(grW`d9(i543vbc$?h$~_f5p%`HjR%U`unPf{ zg;E%Rq$59qd=!QNk;7LY03*Sh%Us1tS-Js~1I&4He1y2dfrcIh&6k*I#-9P%;FD?q z*K*WEZfJzG=n+U9L!4r~@I+{!>j0v-Q($g1?nO1&6M4TTZ7(HRM`rR}XpJt|7y|xb z6etnwJvoOVuq_UyaLbhU_K~Y4cBrBVHUosQ#O@{xK(Q=wFHkfJ?if$vBWe67#5;nd z1@BF2kL!K()KcWidWR?(_3Oxj_p8`LQLhM<{X*~ZK z*b&?jH$+q#lA3To`V{D0gDsKG0>c&pxf~%%Az4A3I7^cmg`k&^H}R>X99W%uf`| zBeY9^;0{oUf&~IuG=5bihVg<2p0Tm`LOftp6!4F|ihdzN#Xk%+@W~|!{;FzxR`gKt z=dP5z6#QWf7mn|UK6rTt(r{B>yKfW2@TUSd5^sQi0c5b71F{1B19E~?f#ZUeLAK!h z5FywWGCq_Kv4tv#cu|H8Kn9W@L3GXgSQ^=8A%w9|&n2?ubZA%v_AL-8L)#xfmVnLi zhCu4^1d;4>hIkhg!o?Nip&JhoZiIC?qedhiIHb~zA|gT3D8r6L1*>6;K(A1ed|;A@ z!mwa;KnAgJf%q9>fPAzL$e`dDR4c+y!s``Q477v<7Y&*yJR}rSlqVuM+#ix+56m9n z;TS6-EHVPoaw1^DIEL7I;EfPkDKZ?^2;x|xac7kItMOA*_lAZ=hGC#Ebrg&$Jh+^0 zby#Rr2#6VV2;?{rJZK#niAz!KA0Z$(f|_gy8McYANER_jzOsk7)qIwHUYC8mrBa6w5PeNv*2 zHVRI38|4cwDVEGGL6G3ML|0NGq`Bxs2J*-!%_08RRkE9GQqd(QNvSYyXgTdE9XOjS zAG$~$8p%AS?uaajyLKdCS>CK>kke09rw5%Ef9nL;w+bAW(HBOJ7#n+_ZmEH|Kz zjAn}kV`y~-xt`i6_3ukYlY}x!XVhygXh_8%s3;_k!GtM6Y_m!roiIOU@JNY1VoH#B z{b@4uK-{ueP01#65++E-8bi0qBAJa4sEkI*qJ`XMlFVSY^u_>Ga>hQB-he(PE17n@ z1`^W@$BdBibg&2+brAi`V7xFVNS8)4Z-#v5lgiu{jKxgn&DPXZvt%(^Efy0;v{dpb zvqcBtEm<;|Av#)2xFv>lL#TsMs2|25G=+4>nL%19tY^tuWHF=~QD(K8tn5lIE6~cN zgy9&nCL2o&tYKC+TBV93mLz2=OW~6TQ&Un>Q&UnChiytKuw0r{0UVbfj>I%^gyTvd zdl}u8FjoA^s^mA!c@@fZmzIbwF3TtKC1kQJ#g)w0m@L#QzJvbC%2Sbqw_;ejn@`f6 z+GZV=?t&(zj7WC@#jFIfSIH$3%)i8AFDENgDJ$`omV}iIo0}pb(!m<#kC*dgbt)@` zvjR5Q#MoB8Z45K`r>v0GaTCU|bTA$STVz zHeQWa3m3uLpi)J1Iw2l@5j#kbNhkY{FznI5AiL}zktAfP;VOCKYWd@vuD@Hh_+RUy zY76(O!wbS~YDGk@T8#7nkaHr$5e{T*q#{a`nGY2#E5QIlvZF|s(;eC ztK+Pr)$!Ib>e1E&^%z@%MH2xpR%2qcMwgVImVeFpijlx03E z64v?=llDqlf&D9`aX-u;26-{$KrT{?SAJ$Ne5748RqySc3k4@hP^IwvB3IZKE_ygM$R1 zN0G~=4F^ha*uXUIA0`xiwBk2BgR1$~hi!N`8{bBBCa)1}aCy}Tbl4!+X~@-8IP^^- z+2v&#?5t|z+Nh(bQP`9=mCaw{r}1wK&;)A0@YulY>>p-yuJ}Ixkun=(C{2VdvMovz z-4>&XZHv>yYp}=P2EjxFr;oP8L*KL(U0$ZaXNEVXXj5T!m>bQD25pPfL~CN?;Sw|$ z%$B6l+VmR9X4F7pu%*H#GPW&KlVyYZoGo7i^tIVElQhL`C7RNcBeLz~uRM|w5hKXL zawn8FA=AW$O>EQ2jhk-Wym`y5PyS}(t(&)Q*?PyruYLFl`y`tG5FT&%n#9;~<7=ib zUb}w7t()ZrJGVXgZ(DBNynWlYo%cNZSH#K}q6BIS@@*8;=9kya>{@-(rrS0neaO}w z+aG`K&fB)`*s<-l+kgHa2S51~ZBKxw<-yT$oK#d*KWq8*H{Y^l>vp!C?L70)z6a5E z=k~3;9{D5UE5m*(g30|59l#{w7-g7P+1S>#2B}H5@7Rt!h`;;gu3c!qWBa`?eDKjo zdl%Y+4i-KITR6&4Qr6V5gzkZXckO@ecmC_|Km1&b5&up*_USI%sHDl| z4IK+suHCeiT0C>$-rMiE>)t)PZ-40d_dgS(MURpO<-|ky48^$o(%R{By4GyiylwX# zKYRPZJNMju|6RN9eBhVw{7py@zJv=m^pXh6Bs!zT;?*10-Sg)CJMP+b$6ebW{mp$l`4|KmIHbVbC}dx_ zXZqM|Lf5n=+-@AqGP|@)P@!847W+ z@VPMYI0iNBjSNVMIqpo0V1sQm^(tfBTf}EC&6_d&6tSHN%V~%{JWB;aO?_1 zTfl5U>?eSLcT+7>bmPlFgaz~+g=;}TmZ#9rKyc0)Bm0-sw@#AvPFl97@%zO*Pe6Dj{P(S%nXRw4KiJ_x_?SgkPy zuC5uj#`fmc>D9LJc{!p6KLkp@1h(2wJ;q>xq@IS{t~2V3ipCc^os;ql@f{<38s5W_bmoSYGC3^fx}O3cJAb=f`SRyEt{8L zTwaRb9)1EaG4$g53qf3agVCCrp2;%LAj!A&8 zl{p0o{CW`ewVN{p1*WKPL|%dT%kr79paA}T629)U?Tnk1HV zTAQRx*6Bb=LMPK((lWA?qm>u@{6oMeN5;m*j^;+6K;!}Zm*SCN0uJV567`nkWJSE< zywWcS^flODBq0%Fhhn1RHPJCFrjM>iC+Z9aH2P1ae^4kq2wfNwt>AIO(7A}S`9#m3{!B7xLkKyV1MB8B>edcdc1 zp+g|@!BTUPu}EalPuZvf0z*QO{zwdALGZT>3lT#+Xu{OqaAlP80)AC0#MD45M9}Ag z#9$Wa#+`%3U{6RWZWyL>Ye6S6{f7oEXjN_Ij0LN=KJ<&He*4_sz0W`Y!ro_}d-8*i zpV|Au-she}qCp{yZ+^gXI^~y<(FQ<|7YJj^xBKBy!6s5FYbHy z$jR<6(e{MwHYdUVu4>+@jd%a+lStt8%4^(fJ+HiV^sN{7z53c~ufG0=L#Mv%mVzaP zp&JaOM2x3Fr>~lS{jGOA{+s7tes%xr``ErS`@7$L`M|!{_w9eAf$#dSL$_PQQKN%>xHsfAe?0fA8=~V>m42D&s+ry>KDSbuPGm<4%0!&%OBS z%ZEOB^}w5Ny?)@W*Z=*KKck%>DU1hcJp4D8w=TKywma{C^jFV3{nnYcUU&nued(Q# z-h9OrY+~kM(;?8gk{Of8tL<32_SRkZKm6F^?;L;WnWy(Y_a7ha|Lv2ec#~lK%xod@ z)hd~C9UYxF+;rRRckcOJ_uKpb@aa4M`tSpfn1ju{#ox?Kha?cM;D#+GG|nh#p1o+* znssX*e(jBC?%#rhOsg%y7T)S-Vdj1i2PQLi0a%#jEG+uTDe0xo*0$@eTeuV{58X=_ zc32`TaP>!1m(kbks2NGQW3{9q4m&zxPlDN!lB`YUQn=)95X)A188O2r z(rg-=nLQ5SI#ZGplZhnm!4N5_sIaD{AU{WGRRvcuWUr|zo1Bt>-nc^wOF1?+1(Qh0 zoKR}F*G;XTHf!>Vl&%JKutObh~rbZLz z4bRO(>0?vV^5E}S?Wk{RX_-Ewy>-c~8Le$?t*vdXGiEPJ8S>#k9-DqD1JO~_v0xXVWd+7_)*-`HPu-N}mMJ)|!)1MA zODkG>Gq4HcTv~R)q~hYz$_l%^rn-jJ3{=-NIjimVYOZ>yrnbJR871Z?>mk(r`P-rVC zEMNs(;e~<;1;xdMg+)b$HfB3Esd&<);;ihiKNQ)=kRv@m7mzkSA5q6g9tB0V0cSI&aupo-Aef-opM07tnFmPeWRS}FHLPbwm zMR`?KjiYhxEARdN(1{D@kz~Vt=JYwd^n7vg;*l>A-KV$b1fmiRxhg{|xhk&mcvX2- zb!}Zu>wWwF&nG>IlyTww*`9M3*o7Vhk3WH6^L;J^=;^~f&_SsB0A>SwRkhREJoot{#LB3elwf?x~`ox6DQ^Rs=f!NI;Wy%*g>!+rRg4;@wZ>YAEbN9~lhyAQm3sQYX$ z?$h5t;Oe>9d-%)+*T6vExic=0+Y#g#qMx9{$()?y?=`i~T8G2#a5Qas`OjaRM0}?6 z=yw6Z&QJ9sntlIJf6uugk0aQ@s+mJ{dL8%~f8wZxnCWQU@Z38eAyMVo-rjTlr%zox zhqNYm+XH8NJQtlo&LKxNZi2rL&Z%%5szNg0re*i+`^%xDJ;*e3{v4739PdTUss0Nm zFI?<%20NL9IfW@W90&1-+E8CRWya2@e*eKiiV1T5gzMtDW4*n7z1;%{>R%sJKU7y+ zi&%*i98g(z2=NH(5s>R3IG##|j& zKh#j)*wk3h>QC3zPF=p|={Nu5{r^02@B_+Yf;ca(6Gx65ZwzV_8u&&GKZP}X(%9TG z6^k1sdaP?`X`8=x&r>hI_4d2JKYa0``{bcdKl}WzO~FlkBiF<=vigr3v35*vLE^ur z=B7s62oVKaI=An6>{q{e;+dCT|Kp$D`{NrgHbtQA`Fd10O`VDrrU|n-Dz7_uYHDe1 zX`j0S>D)GL-FnN08&)+(HuFuanVaUCN+YtSqf=X^PHjftrsl?}Ee+GAPMguuiYZQQ zo)$TcZx*HvO>J(T)-s(a=F8Z;dSpEo_>*rL}bin{ljl zdJEzeViiUX<+d5qXU|*IxoF-joN8vURyKp7Y4`Njj*hnWnX_jtU$th#)@?g?K@Zxs z?bgBecn2~G->`8rl1%Qt@25}w>am|Z^w7gUk=uOUI-|99I&vp3 zT)lC}-4Fcaf&1=w@TnJ`e(}X8fBKV09%>!a%GwXLwRd1iZf%>la>I^2_ulv50}np% z=-yxL*>lGOzk1@4dmnC3Xg}D|-i~?9n!o&}%{zA8bbC`jzjGovu4j(a>FfKckaC7t~+<#xpVh}kKJ?ko_p`V=l0!u?%gvpdM4}OXZCfp z&zv=D{>qy-Z)4kz@7TU`$Clf++;-oN&D*x^*tUJgwynGFo|Q0*U3YBu!jzPtU9e=;>Kj%e>GAnhD_5;pwPMA}<;&NtWGh|QuUUOPUfC+|in*ib_RU|k zeAVie%T}&fE-XKZMqSI+bagFVzH;UA6?j^)Y(e~jfrX2gEM1D|lx(SYNf+y4%h-yu z%aK-j$>PpVgza3qeA#lg{N$nqUw^0;^eyaMx}Z{2vq@(Yec~67 zJ^Jti_uPNq+zb<}r2?W6e{r(=^P?ZX@$^q0x&Q7vcW+rYvkZCL$$^R@6?Y?J!MjiY z{DUoT7hgzB>97CkuPu_Xq@w>O)v~p3qv#fZ65l(tg_%KVY(Ea(x zAHDbNzwEhfZP&aRj#680!YFVWQ2G@JzzqHP*gJoC?a4>(y7h+6nN9X$TUs>k3H1}3 zGoY%1aqD^P(Fb?ma?`T;)9cD7<{3jr37|1VgV3{m(@ocR&1-F_o?MU~J8G2QNcr-v zg|l0x)RY%yYEWAnL;V6_;^=5f;cBC z`tbJP2nT%}Btr(?$T_8mR=BmO#K4L)MbGHyP!-+@s1&eM3Q!REz(8(jgq~!RQ9C*! z5T7ruDT5scdP7ud#4`x7Z!zh$qreU%WawN;@!<$EE%<{7NDz983Jb<(XQro^b%+BR9iqgi!Yec)D>+tNgwXgI z$tFY6=-8+T?1jYp!PhN_dXbf#LUgTs3}`m$G{}pl4#3R>(V*Za9WS!wBgnhOXh<9r z3->KVkjC5AId$ky`(Jqe=_ek4XxC5Q zxv$oS@TFASckDQ_!kq5@;7Xo>X!OS?3jc95i=y|j~%1><9~biz?*Nr zzVGFyAG>XSV+}l#$UjN0KYp_Nc+VGqdTZZHzy0;U+`YcDV`>?6NS)5W8Q|7wNRW=5 z`tsE2FFt(ljn`gy`tiFrE}J)_%&aw8;OxX3yrdYTNzciiV}E)3%~ziN_0RTfK=|EB za2S`2*sU%}-G{&U1f#$3^v@sMxqjKgrUHWzo>E3^fs@!fCx8Fib5H&J;oX~7b#_!| z!LOZEY;0_YI!`X?8e`9Ed!K&du?KJ8j2Q6Kz)4%+ScI*2xH0)UNeRYNzx?^5_wBl6 z?TQ7hWntyXw%L1VPQ3(6u`Tu^h(mPAYc zSTht;R8U{*04cCkfo()&ct-(@^2QWh?#gH1zIsFwz$Nm zKJti4vAR$|zif}0RACqGu}@A-9-LG#E*%r$QU+;ID7YN7U2}5(l-ioA$%WbS-vXSY zNcT-SgV@xKwY60x<8z?J!edHIVX4NHo|$bkTAG`uI4VmgWI{DfOA&nK*Ujo^o7P%w6>QmXgQ*&q2BsY@#sfMDavqb1JYEjGvI7pPOHphng&KqkQ&f zU)L=!FDX(Kxot&7&?(PT*Kv6Txzv@*V%eH3Rl!i94LT*%#sTaN$Q_@PnavR4Ae%#_ z61lgaDGGT5s6noh98~c+nrt?3WN-+YliP(HZ|D2Zb{~H8?TdeT`qrs6@a@9x$Ag}J zmkSv{2hW{2(R2DsgzGizwDAD>=Z1u9t+R=bb=|^OB zXmZGCli>Uu=`InN_shc{|7rgdo7?LeoKW+eP>g(SxG4$FQ?xE0Km6%mUVn1u;`SLc z8tUunxq4R1)w^V+O;b-2*!%DQ`M{HRu9)7~42`G0zNx99zNV%QY7k$isXzPIe}D72 zpYK_}V8%53qU)gM4Kz-l-sqbwYj#g@HZ+cDJpReTsZ zGp3P3G_`r^)D~3>KSR^fvuW+J`7@zhwYRoSN8OATp~XC-@4h{|w{BRyc-G8z*52O% z%?ni7^j1sjiANuK;NCrVY~OVK;@Pcj9ng7N@!;Bxt=@+oWDoW}aQ~h=wr#wA;jFff zS?$VpsnvDgy?gfD$?ojiy=(WjjjI>VZtD;`Ozo%dyyN!UcOe`0?rmFc*>vNwd9!DV zGmRbGj^jIbz(BX<)?1*ctiN%=b+fL+8a8XDG?Q&Tv2E+t+iu;o;pUAS5k4M?MrKo` zX%@HP_{|%judH9cal`txt5+Zy!MwS1uDfoIG>5I`)||ZI#v5*2bK}|@*DPNO>3z|B z(uh#C!o6zsnj6`TUeZ^3SFMDafjk8B=b^7O$4ffL1vI!Gip`1@t5$QXT`QL^nm^Yx z*R^c<(xqKo7q@h1`HEH7uezSQesI~sxpU{uTcBTXVfl(>vc3RqfpvM8K&fG!gUhMw zyamby2fwbvTwbzlS(ngt5{iYaI4ncTf~70F7DAO-#1`?3Kl{28b9qUZqRU094D^dW zXe^7mRxDZAxma9mTEd{VEbfF_(uskWb&3P)6IvjeG$sr|iZnBy2 zY{5aHC6m!F#YO=pao{}NmVwgDeV4D!Kj?g2mMt42!F~4TN*s0^4jfJ#^|nSlH`$tP z(`+ra8Mte!t=-mPn`xVc^EtM;wgoqj+Hm=o_(RSw{~mwP`MM>xAHTLAzqTL$+P=?U z-w*l=yPQCxzcw$qLVO_W^WSTYRPYoEKz{g^N0sPRh>66B#ED3B4`u|{;i5(GfEE}- z!3W|ga)Bs>3c+GLb|NC804ND`z>U!qbc#acs4HAK+#=Lpq>Mlr&+{HI7e-9YpGM&Y ziwNfjIC=;{bhkX}$BW|>UJUX57UWS|C3qw!N?wB$hbUzfsvg(j*fc_3$zv$YSUl-x z6m1OWfyOb=za$A8jFl!Om2k$iF1;3PN3mGkIIx!_2p-LrJd4+A z;Vt9HP+0QczU1f7R*KR~tG>$Nt#u?iyfuzEhX*oo0$qnYEKU#71&wif>zwgUcOA|{ zab9n#XASOp$d|$O-iCSwJ#q9DTknRz*T6L>>%EQjJc=4kP=Nd!y-kgLqov6WX1$SX z3~KT=Hsv*Wo16Hian0VQX7Qf@VTOFaUj^TD`PNDNGzESv9BhKHQG@TNpC@f`#l8u* zpNfa;Qy*OU6!0HYDFnpR5>E<>0CKd#PZPgrMF3bI5fvwRfAC+}JBqOd_~!@$vYg>( z`~_O_@DLJ3e{f?e#OuNzkCb|gI{K;8 z?_LlGh@zwa{^CapxDg@4nyADkXPgs7i7Lzqq#p5bhzf#B@Sb9y09s4#CQy7ZM*Bh# zX$*fuLV!TrAKtZ0DdPQMS1tHVj{f!#^^NM#Tm&&GpCjrFN)U-gWZ2ol6fxo;%?>60 zxEjI?;g^Ju3*Ju%A~sAYM#zmZe--FDCc0^sa!@lo(H}Mw)ik3>ObvhGGzF|Cf*6Hv zxS-j{_kur=d@V0MbO$T}^d9i!BDW^o*LO$Dx2_8TSMKt2>2-+Ll&*8@Qw-Sj*H1i_ z0VVo$z1wUemz6#QXp*#g9d@B5gQY@PLo1v?@Q}C8S+Ss`A}~|3!5|rkM>0tk?39zR znG6?S7(qN)@nlTKRy24Q7>IB}`U>n#lOiM+8X6=&X^7Y<;+nn$VT1=F9$++b@xXpL z&`*+rmMlRUpmmA<`%52zJi=Bw+)t0rdK2g>s>1k2Js2XRq^DVc5aSVF5$+nO!wTmI zwh0^UBx3}^EMjR3zz#eVV}5uR!Bina6zC?7mc4M_qKM`cY(ZWiIim}WDQ*L`VWt>_ zhQfSN;*YB#-#El)(Op~^lEN|IR=xpM2t-S=D$^_7j+zR@f$A%-EVq|eR@B%llPg)(=}Nn^0*po#+EwDby2_qv zKT%azg@mcKAdYJ6;FZ7;IBV=i`;lsxt>N8JU0nz2qPE6KWQU^;D}1dZ(&4IcIBFbz zjv-W`fH}T|;TaESZ4EN3I`Har;^ zFm~5g!w3u_%t?c@8s5=YgS2$01A6#5xjN?b);c4=fB;kioP7i;xDB2~C+xu}XLTF_ zPPh+n(7ev6^qq4~R|CNgh>Hd~V(JH{z$lFpe_Rd0-ds=U!_{*zD!VBA97u`?xiQd5 zCEJ>Z8h}BKDEHPk@C`yEYf?7?r()=d!M3buj3#)Bf@zn@2iMHuHG243MX&{%GQk$} zJ-I+oOl{_xU1a=iw)_)dnFyH)K=MskHU?{X(0>unWC1Sl8lV=11)Fe71u*$mcvBOs z5xRYUe1i`z3{UV}l>5N$MaTm$TOb_JOi(I-a#ujxc|aQ~$UPP=tAr;2EE&Yqc=f|E zG*Tx^pg!OtAvFx+4%fqU1N<6+E!d#cfEqt>kR}5R3xqfTd_u4VeB%BxegSiU>v(s# zVKB+BOt~J7Wk`d_fq{LH3g23kg_8F$ zHH=cYF$IO|2cezHBA_hPI^;9Y zL|NVBs95^n4s9Xd0Bs2sLS@kRgSYrf!5;9<5T~(wtL=f;z_}f-{;)jCx`spA01THsravlh5_1=yVj*g5Gxj6r}qVAlw&snO97 z$IwWftU>vp%!90(VZcU}v!6)&`UWJ}^aqOhkPNz%8X)FZKS+oMSPQ6UjT`}(0G#6+ z{GoQqP$%F*AZ06P1kGZBZ>q+SCe|p(049SM;7uTm^P?vQpC_@&MbL$F)T6PCeB|8Z zkAu)p)g+)Sw0Ve}Fq@jAn%%&@0O%=I zbV5tEkc6ceehz*LKkQQwu@3|l7nEp-jSm78Dg(3`Tynyx02EPo1v+yo6*-V7eOd{O zvH+%O z;{j4v2dMm@A<8`gbAr;J)G{WX_Q50uA%zb-2$VW(N1OOGosG@u7#-l0u6=t@H4{&?8KV-Y6*vhByfX3^Tc~T$`l;X%Oo+ zv>MpnyG`a)Sjb5;LXBj=xfy*85)Xi~La!P$k~=rq)IBKmlMX>i()-qZ3oPMqkw<(H zKns8hu}ClslTPCtpoQk7hQT+VCecq5g9fL^$k5fut$>hf1eJ!hxLz7thuP^Vb}xAd zcqC$%22GeQ_QU7m3>uewHh?k{u*{fZ3^2K5ut5k1#IR!~jWOJ$0`K%cXGYMEtnwZx zF|0DA!cchxDh#xg@+t=`wRluk*U$-cmFmhQtn|H=cKEqg!r!+Z3JqU*p&AWg_O66h zqqiTagtfF1%FGmUzQv=a)^4wa4?tzLT}gnz*=65X7mVc&dw_iqijLjxsAkpOHI91d z9I&F>QDd(n{e#pK=r{lhCmeYPtFdllX@`evjlbg%v=-r7iSry0!?A{1Mq5XfbT3;de0PRy_I-1;@J3xJOF_RHHH5tGS2Y)0jwWC_@O|4 z7n|T!3I)SYBF2*{V;K^Qq zUof72G~fJazWEIc!c_y{6ID zq-oYn)3j)2w6$v5H65CnnptggG;=iz_I=l{`#TMjg-bMDh;DlOs8ORbaL~WEalji| Q{x=)Xfy3uiub}h)3qQA?VE_OC diff --git a/courseware/static/css/images/css/topWrapper-bg.jpg b/courseware/static/css/images/css/topWrapper-bg.jpg deleted file mode 100644 index 7a86a1c1c4faa87e307bf6bd9407c21ca1068631..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 707 zcmex=``2_j6xdp@o1cgOJMMZh|#U;coyG6VInuyV4pa*FVB^NNrR z{vTivwh= zDOELf4NWZ*Q!{f5ODks=S2uSLPp{yR(6I1`$f)F$)U@=B%&g*)(z5c3%Btp;*0%PJ z&aO$5r%atTea6gLixw|gx@`H1m8&*w-m-Pu_8mKS9XfpE=&|D`PM*4S`O4L6*Kgds z_3+W-Cr_U}fAR9w$4{TXeEs(Q$Io9Ne=#yJL%ap|8JfQYf&OA*VPR%r2lxYE z#}NLy#lXYN2#h>tK?ZwD0CLX}_~;mE4&}&vbv5g!XH7eX-=TOS*SHOY8d7x2{z(?edn%xgvqF?w0>= F0sxnp>%#y5 diff --git a/courseware/static/css/images/ui-bg_flat_0_aaaaaa_40x100.png b/courseware/static/css/images/ui-bg_flat_0_aaaaaa_40x100.png deleted file mode 100644 index 5b5dab2ab7b1c50dea9cfe73dc5a269a92d2d4b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FscKIb$B>N1x91EQ4=4yQ7#`R^ z$vje}bP0l+XkK DSH>_4 diff --git a/courseware/static/css/images/ui-bg_flat_0_eeeeee_40x100.png b/courseware/static/css/images/ui-bg_flat_0_eeeeee_40x100.png deleted file mode 100644 index e44f861be1ccdfec4275eb20d9b056f14992f649..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FscKIb$B>N1x91EQ4=4yQ7#`Sv zZF_)9$%zYm;;c7~Kd+Iuj%U9o62cnl7#bi-T}u4XA(n|-?{<9$I)lN})z4*}Q$iB} D#5ytf diff --git a/courseware/static/css/images/ui-bg_flat_55_ffffff_40x100.png b/courseware/static/css/images/ui-bg_flat_55_ffffff_40x100.png deleted file mode 100644 index ac8b229af950c29356abf64a6c4aa894575445f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsY*{5$B>N1x91EQ4=4yQYz+E8 zPo9&<{J;c_6SHRil>2s{Zw^OT)6@jj2u|u!(plXsM>LJD`vD!n;OXk;vd$@?2>^GI BH@yG= diff --git a/courseware/static/css/images/ui-bg_flat_75_ffffff_40x100.png b/courseware/static/css/images/ui-bg_flat_75_ffffff_40x100.png deleted file mode 100644 index ac8b229af950c29356abf64a6c4aa894575445f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsY*{5$B>N1x91EQ4=4yQYz+E8 zPo9&<{J;c_6SHRil>2s{Zw^OT)6@jj2u|u!(plXsM>LJD`vD!n;OXk;vd$@?2>^GI BH@yG= diff --git a/courseware/static/css/images/ui-bg_glass_65_023063_1x400.png b/courseware/static/css/images/ui-bg_glass_65_023063_1x400.png deleted file mode 100644 index 644a1f78e3f832c7fa64423dd63305d796f34ded..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAGVZ#9R3S1=>7a978O6lMDRb{yTr z3@pr(9Y58pdE2J4srjmURz=%QuuI=n^<9&B^5T_h%);jCw>v)lY!EuGcP}v^Xo3)s zm?W5*FiGU0JkPpC%!W;mYn}+PpTC!q@aSPmdV{+tN>ySr~=F{k$>;_x^_y?afmf9pRKH0)6?eSP?3s5hEr>mdKI;Vst E0O;M1& diff --git a/courseware/static/css/images/ui-bg_highlight-soft_100_7fbcdf_1x100.png b/courseware/static/css/images/ui-bg_highlight-soft_100_7fbcdf_1x100.png deleted file mode 100644 index 6c372415beee3da1e3a7546fed6ce3af5d4fe841..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l!vE_V~E7mtNo5#4FLj9^7sCy z$u5@O^0t55%w^mx7v1JHb>#dOWc=fy<>(jibKBDePq)PKMVY3wHTmt{?H_hIcaiy| d_5b(ji2DdQKTyk!>Ia(1;OXk;vd$@?2>^e*EI$AM diff --git a/courseware/static/css/images/ui-bg_highlight-soft_100_bddeff_1x100.png b/courseware/static/css/images/ui-bg_highlight-soft_100_bddeff_1x100.png deleted file mode 100644 index 2f6196c9b3e190ad8731fdeb74c8c64461c482a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l$EE8V~E7m3f3H_#V`FPu o==SIT|M?Z1Nk>0;^9VCB@IMn?A*z)j3{=eE>FVdQ&MBb@0KuRb)c^nh diff --git a/courseware/static/css/images/ui-bg_highlight-soft_25_7fbcdf_1x100.png b/courseware/static/css/images/ui-bg_highlight-soft_25_7fbcdf_1x100.png deleted file mode 100644 index 994b7557c4b32b210f0ca53388e3bad1bcdfd8d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l#{26V~E7mtNjOg8w>;v*WCPn zG{EPOOsV~aLkyuu)xFke1X-Lr&G5$~gTe~DWM4fg%c@c diff --git a/courseware/static/css/images/ui-bg_highlight-soft_25_bddeff_1x100.png b/courseware/static/css/images/ui-bg_highlight-soft_25_bddeff_1x100.png deleted file mode 100644 index 77f2cf7bc214c79f29cfca00458791a520d0fae4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l%uDMV~E7mtNjN#4;b(;pTAYV zo^O)ly7^Z=GPGXmx8T%KUbmF-$HW!6-5tIHTRMIFqB%l0yDFM)3jX!yN8Oj|BIe`$ WG6`Q_^=1GKWAJqKb6Mw<&;$TvzA9({ diff --git a/courseware/static/css/images/ui-bg_highlight-soft_50_7fbcfd_1x100.png b/courseware/static/css/images/ui-bg_highlight-soft_50_7fbcfd_1x100.png deleted file mode 100644 index 6f70ca4003f3de9ae47181dcef98b5885013e466..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3Ja)XlH!`a?(6q9780gZtZjAYH{FU>HhcM z{7=7s;nxReW_jAMI=V+p+$*BE#QLbgHh}|@R~_av&C)*cxQfYPy#mvgkP9IWN99uT z6X%6pby(fFkL}i$A4J(AaxeG_rUVQ#9r*JhxN44$rj JF6*2UngIVeI`04g diff --git a/courseware/static/css/images/ui-icons_031634_256x240.png b/courseware/static/css/images/ui-icons_031634_256x240.png deleted file mode 100644 index 09c70d6470b38c25363eaeed70aca5b369556ef1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5355 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 XNDhD%Z$j4p@0a;V!$7@S)iL&eH{f0) diff --git a/courseware/static/css/images/ui-icons_fa720a_256x240.png b/courseware/static/css/images/ui-icons_fa720a_256x240.png deleted file mode 100644 index b70cbd1ab7d3655f99f38dab72271da742c90b0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 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 diff --git a/courseware/static/css/images/ui-icons_ffffff_256x240.png b/courseware/static/css/images/ui-icons_ffffff_256x240.png deleted file mode 100644 index 42f8f992c727ddaa617da224a522e463df690387..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 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 diff --git a/courseware/static/css/jquery-ui-1.8.16.custom.css b/courseware/static/css/jquery-ui-1.8.16.custom.css deleted file mode 100644 index d03e1ca7a2..0000000000 --- a/courseware/static/css/jquery-ui-1.8.16.custom.css +++ /dev/null @@ -1,568 +0,0 @@ -/* - * jQuery UI CSS Framework 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { display: none; } -.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } -.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 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - * - * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Helvetica,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=2px&bgColorHeader=7fbcfd&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=50&borderColorHeader=dae5c9&fcHeader=031634&iconColorHeader=031634&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=dae5c9&fcContent=031634&iconColorContent=adcc80&bgColorDefault=7fbcdf&bgTextureDefault=03_highlight_soft.png&bgImgOpacityDefault=100&borderColorDefault=dae5c9&fcDefault=7a994c&iconColorDefault=adcc80&bgColorHover=bddeff&bgTextureHover=03_highlight_soft.png&bgImgOpacityHover=25&borderColorHover=7fbcdf&fcHover=7a994c&iconColorHover=adcc80&bgColorActive=023063&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=dae5c9&fcActive=dae5c9&iconColorActive=454545&bgColorHighlight=ffffff&bgTextureHighlight=01_flat.png&bgImgOpacityHighlight=55&borderColorHighlight=cccccc&fcHighlight=444444&iconColorHighlight=adcc80&bgColorError=ffffff&bgTextureError=01_flat.png&bgImgOpacityError=55&borderColorError=fa720a&fcError=222222&iconColorError=fa720a&bgColorOverlay=eeeeee&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=80&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=60&thicknessShadow=4px&offsetTopShadow=-4px&offsetLeftShadow=-4px&cornerRadiusShadow=0px - */ - - -/* Component containers -----------------------------------*/ -.ui-widget { font-family: Helvetica, Arial, sans-serif; font-size: 1.1em; } -.ui-widget .ui-widget { font-size: 1em; } -.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Helvetica, Arial, sans-serif; font-size: 1em; } -.ui-widget-content { border: 1px solid #dae5c9; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #031634; } -.ui-widget-content a { color: #031634; } -.ui-widget-header { border: 1px solid #dae5c9; background: #7fbcfd url(images/ui-bg_highlight-soft_50_7fbcfd_1x100.png) 50% 50% repeat-x; color: #031634; font-weight: bold; } -.ui-widget-header a { color: #031634; } - -/* Interaction states -----------------------------------*/ -.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #dae5c9; background: #7fbcdf url(images/ui-bg_highlight-soft_100_7fbcdf_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #7a994c; } -.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #7a994c; text-decoration: none; } -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #7fbcdf; background: #bddeff url(images/ui-bg_highlight-soft_25_bddeff_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #7a994c; } -.ui-state-hover a, .ui-state-hover a:hover { color: #7a994c; text-decoration: none; } -.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #dae5c9; background: #023063 url(images/ui-bg_glass_65_023063_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #dae5c9; } -.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #dae5c9; text-decoration: none; } -.ui-widget :active { outline: none; } - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #cccccc; background: #ffffff url(images/ui-bg_flat_55_ffffff_40x100.png) 50% 50% repeat-x; color: #444444; } -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #444444; } -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #fa720a; background: #ffffff url(images/ui-bg_flat_55_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; } -.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #222222; } -.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #222222; } -.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } -.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_adcc80_256x240.png); } -.ui-widget-content .ui-icon {background-image: url(images/ui-icons_adcc80_256x240.png); } -.ui-widget-header .ui-icon {background-image: url(images/ui-icons_031634_256x240.png); } -.ui-state-default .ui-icon { background-image: url(images/ui-icons_adcc80_256x240.png); } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_adcc80_256x240.png); } -.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); } -.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_adcc80_256x240.png); } -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_fa720a_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-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.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-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 2px; -webkit-border-top-left-radius: 2px; -khtml-border-top-left-radius: 2px; border-top-left-radius: 2px; } -.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 2px; -webkit-border-top-right-radius: 2px; -khtml-border-top-right-radius: 2px; border-top-right-radius: 2px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 2px; -webkit-border-bottom-left-radius: 2px; -khtml-border-bottom-left-radius: 2px; border-bottom-left-radius: 2px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 2px; -webkit-border-bottom-right-radius: 2px; -khtml-border-bottom-right-radius: 2px; border-bottom-right-radius: 2px; } - -/* Overlays */ -.ui-widget-overlay { background: #eeeeee url(images/ui-bg_flat_0_eeeeee_40x100.png) 50% 50% repeat-x; opacity: .80;filter:Alpha(Opacity=80); } -.ui-widget-shadow { margin: -4px 0 0 -4px; padding: 4px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .60;filter:Alpha(Opacity=60); -moz-border-radius: 0px; -khtml-border-radius: 0px; -webkit-border-radius: 0px; border-radius: 0px; }/* - * jQuery UI Resizable 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Resizable#theming - */ -.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: 0; } -.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } -.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } -.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; 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;}/* - * jQuery UI Selectable 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Selectable#theming - */ -.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } -/* - * jQuery UI Accordion 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Accordion#theming - */ -/* IE/Win - Fix animation bug - #4615 */ -.ui-accordion { width: 100%; } -.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } -.ui-accordion .ui-accordion-li-fix { display: inline; } -.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } -.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } -.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } -.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } -.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } -.ui-accordion .ui-accordion-content-active { display: block; } -/* - * jQuery UI Autocomplete 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Autocomplete#theming - */ -.ui-autocomplete { position: absolute; cursor: default; } - -/* workarounds */ -* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ - -/* - * jQuery UI Menu 1.8.16 - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Menu#theming - */ -.ui-menu { - list-style:none; - padding: 2px; - margin: 0; - display:block; - float: left; -} -.ui-menu .ui-menu { - margin-top: -3px; -} -.ui-menu .ui-menu-item { - margin:0; - padding: 0; - zoom: 1; - float: left; - clear: left; - width: 100%; -} -.ui-menu .ui-menu-item a { - text-decoration:none; - display:block; - padding:.2em .4em; - line-height:1.5; - zoom:1; -} -.ui-menu .ui-menu-item a.ui-state-hover, -.ui-menu .ui-menu-item a.ui-state-active { - font-weight: normal; - margin: -1px; -} -/* - * jQuery UI Button 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Button#theming - */ -.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ -.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ -button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ -.ui-button-icons-only { width: 3.4em; } -button.ui-button-icons-only { width: 3.7em; } - -/*button text element */ -.ui-button .ui-button-text { display: block; line-height: 1.4; } -.ui-button-text-only .ui-button-text { padding: .4em 1em; } -.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } -.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } -.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } -.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } -/* no icon support for input elements, provide padding by default */ -input.ui-button { padding: .4em 1em; } - -/*button icon element(s) */ -.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } -.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } -.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } -.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } -.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } - -/*button sets*/ -.ui-buttonset { margin-right: 7px; } -.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } - -/* workarounds */ -button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ -/* - * jQuery UI Dialog 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Dialog#theming - */ -.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } -.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } -.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } -.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 { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } -.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 .ui-dialog-buttonset { float: right; } -.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } -.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } -.ui-draggable .ui-dialog-titlebar { cursor: move; } -/* - * jQuery UI Slider 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Slider#theming - */ -.ui-slider { position: relative; text-align: left; } -.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } -.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } - -.ui-slider-horizontal { height: .8em; } -.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } -.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } -.ui-slider-horizontal .ui-slider-range-min { left: 0; } -.ui-slider-horizontal .ui-slider-range-max { right: 0; } - -.ui-slider-vertical { width: .8em; height: 100px; } -.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } -.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } -.ui-slider-vertical .ui-slider-range-min { bottom: 0; } -.ui-slider-vertical .ui-slider-range-max { top: 0; }/* - * jQuery UI Tabs 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Tabs#theming - */ -.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ -.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } -.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } -.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } -.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ -.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } -.ui-tabs .ui-tabs-hide { display: none !important; } -/* - * jQuery UI Datepicker 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Datepicker#theming - */ -.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } -.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 { 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 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:both; width:100%; font-size:0em; } - -/* 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*/ -}/* - * jQuery UI Progressbar 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Progressbar#theming - */ -.ui-progressbar { height:2em; text-align: left; } -.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/courseware/static/css/local.css b/courseware/static/css/local.css deleted file mode 100644 index 288d92cacb..0000000000 --- a/courseware/static/css/local.css +++ /dev/null @@ -1,58 +0,0 @@ -#coursenav { - background-color:#031634; - padding: 4px 8px 8px 0px; - margin: 4px 8px 8px 0px; - width: 100%; - text-align: right; -} - -#left_nav { - border: 0; - padding: 0; - margin: 0; - float: left; - width: 276; -} - -#hide_acc { - min-height:600; -} - -#mainblock { - border: 0; - padding: 0; - margin: 0; - width: 200; - min-height:600px; - margin-left: 276px; - margin-right: 0px; -} - - -#bodyContent { - width: 100%; -} - -.bordered { border: 1px solid #AAAAAA; border-style : dotted; } - -.seq_problem_visited { background-color: #ccccaa;} -.seq_video_visited { background-color: #ccaacc;} -.seq_video_visited { background-color: #cccaac;} -.seq_html_visited { background-color: #caaccc;} -.seq_tab_visited { background-color: #aacccc;} -.seq_vertical_visited { background-color: #acaccc;} -.seq_sequential_visited { background-color: #cacacc;} -.seq_problem_visited { background-color: #ccacac;} -.seq_schematic_visited { background-color: #cccaca;} - -.seq_problem_inactive { background-color: #aaaa99;} -.seq_video_inactive { background-color: #aa99aa;} -.seq_video_inactive { background-color: #aaa99a;} -.seq_html_inactive { background-color: #a99aaa;} -.seq_tab_inactive { background-color: #99aaaa;} -.seq_vertical_inactive { background-color: #9a9aab;} -.seq_sequential_inactive { background-color: #a9a9aa;} -.seq_problem_inactive { background-color: #aa9a9a;} -.seq_schematic_inactive { background-color: #aaa9a9;} - -.seq_active { background-color: red;} \ No newline at end of file diff --git a/courseware/static/css/theme.css b/courseware/static/css/theme.css deleted file mode 100644 index 48d12f3e1c..0000000000 --- a/courseware/static/css/theme.css +++ /dev/null @@ -1,363 +0,0 @@ - -/* ----------------------------------------------------------------------------------------- - -Copyright 2010 - Thierry Ruiz - www.dotemplate.com - All rights reserved. - -THIS TEMPLATE IS FREE AS LONG AS YOU KEEP THE LINK TO WWW.DOTEMPLATE.COM IN THE FOOTER -TO REMOVE THE LINK, PLEASE MAKE A 10 DOLLARS DONATION at www.dotemplate.com/#donate - -pmitros donated $10 - -Colors: -Light blue: bddeff - Blue: 7fbcfd -Very dark blue: #031634 - -Dark blue: #023063; -Dark Greenish: #7a994c; -Greenish: #adcc80; -Very light greenish: #dae5c9; -Bright orange: #fa720a; - - ----------------------------------------------------------------------------------------- -*/ - - -html { - background: $bottomWrapper.bg.color; - margin:0 0 0 -1px; - padding:0; - overflow-Y: scroll; -} - - -body { - padding:0; - margin :0; - display:table; - width:100%; -} - - -body { - color:#023063; - font-family: Helvetica, Arial, sans-serif; - font-size: 0.8em; - font-style: normal; - font-weight: normal; - text-transform: normal; -} - -p { - letter-spacing: normal; - line-height: 20px; -} - -h1 { - color:#adcc80; - font-size:1.6em; - margin:25px 0 10px 0; - clear:both; -} - - -h2 { - color:#adcc80; - font-size:1.1em; - margin:20px 0 10px 0; - clear:both; -} - - -h3 { - color:#adcc80; - font-size:1em; - margin:20px 0 5px 0; - clear:both; -} - - - -a:link, a:visited { - color:#adcc80; - text-decoration:none; -} - - -a:hover { - color:#fa720a; - text-decoration:underline; -} - -#sectiondesc { - font-size:8px; -} - -#wrapper { - background: transparent url( images/css/page-vbg.jpg ) repeat-y scroll 50% 0px; - margin:0 auto ; - width:100%; -} - - body { - background-color:#FFFFFF; -} - -#wrapper { - border-top: 1px solid #ffffff; -} - - - -#topWrapper { - width:100%; - height:100px; - background-color:${topWrapper.bg.color}; - background-image:url(images/css/topWrapper-bg.jpg); - background-position:center top ; - background-repeat:repeat-x; -} - - - -#topBanner { - width:800px; - margin:0 auto; - height:100px; - background-image:url(images/css/topBanner.jpg); - background-repeat:no-repeat; -} - - - -#topnav { - background:transparent url('images/css/hmenu.jpg') repeat-x top left; -} - - - - -#topnav { - height:20px; - margin:0 auto ; - text-align:center; -} - -#topnav ul { - display:table; - margin:0 auto; - padding:0; - list-style-type:none; - position:relative; - height:20px; - text-transform:uppercase; - font-size:0.9em; - font-family:Arial,sans-serif; -} - - -#topnav ul li { - display:block; - float:left; - margin:0; - padding:0; - background:transparent url('images/css/hmenu.jpg') repeat-x top left; - -} - - -#topnav ul li a { - display:block; - float:left; - color:#031634; - text-decoration:none; - padding:0px 50px ; - line-height:20px; - font-weight:bold; -} - - -#topnav ul li a:hover, #topnav li#current a { - color:#7a994c; - background:transparent url('images/css/hmenu-sel.jpg') repeat-x top left; -} - - - -#topnav ul { - width:800px; -} - - - - -body { - background-position : center 120px; -} - - - -#bg { - margin:0 auto; - padding:0; - background:transparent ; - background-image:url(images/css/hat.jpg); - background-repeat:no-repeat; - background-position: center top ; -} - - - - #header { - margin: 0 auto; - min-height:0px; - height: 0px; - width: 800px; -} - - -#page { - background: transparent url( images/css/page-bg.jpg ) no-repeat center top; -} - - - - - -#container { - margin:0 auto; - width:800px; -} - - -#content { - width:780px; - margin:0 auto ; - text-align:left; - min-height:800px; -} - - -#content p { - text-align:justify; -} - - - - - -#footerWrapper { - margin:0 auto; - height:10px; - padding:0; - background:transparent url( images/css/footerWrapper-bg.jpg ) no-repeat scroll center top; -} - - -#footer { - margin:0 auto; - padding:0; - width:800px; - height:10px; -} - - - - - -#right { - width:200px; - padding:10px 20px 20px 20px; - float:left; -} - - -#center { - width:500px; - padding:10px 20px 20px 20px; - float:left; -} - - -#content p { - margin-top:10px; - text-align:justify; -} - - - -#sidebar ul.vmenu { - list-style: none; - text-align: left; - margin: 7px 0px 8px 0px; - padding: 0; - text-decoration: none; - border-top: 1px solid #eeeeee; -} - - -#sidebar ul.vmenu li { - list-style: none; - padding: 4px 0 4px 0px; - margin: 0 2px; - border-bottom: 1px solid #eeeeee; -} - - - -#sidebar ul.vmenu li a { - text-decoration: none; - color:#023063; -} - - -#sidebar ul.vmenu li a:hover { - color:#adcc80; -} - - -#sidebar ul.vmenu ul { margin: 0 0 0 5px; padding: 0; } -#sidebar ul.vmenu ul li { border: none; } - - - - - -#bottomWrapper { - height:140px; - background-color:#031634; - background-image:url(images/css/bottomWrapper-bg.jpg); - background-position:center top ; - background-repeat:repeat-x; - text-align:center; - color:#adcc80; - text-align:center; -} - -#bottomWrapper a:link, #footer a:visited { - color:#dae5c9; -} - - -#bottomWrapper a:hover{ - color:#adcc80; - text-decoration:none; -} - - - -a img { - border:none; -} - - -.clear { - clear: both; - display: block; - overflow: hidden; - visibility: hidden; - width: 0; - height: 0; -} diff --git a/courseware/static/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/courseware/static/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png deleted file mode 100644 index 954e22dbd99e8c6dd7091335599abf2d10bf8003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEr#)R9Ln2z=UU%d=WFXS=@V?HT z#xG*`>Yvsgk=}99w^d^D^d*@m74oMo<%#FcopJf?u00-~YVKV2wzrI*_R6;UORMea zBFVSEnN~eiVA6V&z`E)YLz5Aok^D)In}Yn=OzDpgR5Wv0XfT8pOkmV{sKAJ-PO9#T zZK}IXj&Q-V!U)!LcB_3K0&C*{ diff --git a/courseware/static/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png b/courseware/static/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png deleted file mode 100644 index 64ece5707d91a6edf9fad4bfcce0c4dbcafcf58d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmVbvPcjKS|RKP(6sDcCAB(_QB%0978a<$Ah$!b|E zwn;|HO0i8cQj@~)s!ajF0S002ovPDHLkV1oEp BYH0uf diff --git a/courseware/static/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png b/courseware/static/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png deleted file mode 100644 index abdc01082bf3534eafecc5819d28c9574d44ea89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsY*{5$B>N1x91EQ4=4yQY-ImG zFPf9b{J;c_6SHRK%WcbN_hZpM=(Ry;4Rxv2@@2Y=$K57eF$X$=!PC{xWt~$(69B)$ BI)4BF diff --git a/courseware/static/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png b/courseware/static/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png deleted file mode 100644 index 9b383f4d2eab09c0f2a739d6b232c32934bc620b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnour1U*q978O6-yYw{%b*}|_(02F z@qbE9)0CJMo;*v*PWv`Vh2h6EmG8IS-Cm{3U~` zFlmZ}YMcJY=eo?o%*@I?2`NblNeMudl#t?{+tN>ySr~=F{k$>;_x^_y?afmf9pRKH0)6?eSP?3s5hEr>mdKI;Vst E0O;M1& diff --git a/courseware/static/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/courseware/static/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png deleted file mode 100644 index 39d5824d6af5456f1e89fc7847ea3599ea5fd815..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3762 zcmb_eYgiKKwx-=Q?Pdi0+w!yaC|_1uvA>yaxz|iX3eBv#HR0ASmSVIKMS&kf`CSAV4g0DJLgPkRO79xj%J<(hH6`bTGj zrr^$JeiHJI?;s&<5pRw-^kj}=E;X0OX+pgz+f5GVt0NQv_gbu0>-8J+F$O>HpW?Lx z+YFO`CV&6VV9fsEwG#js0_-|v*!ujZ*M=jfo457?0Do-z<^}+8bI+qk+W~+$zz%Z& z;L7&@&ns`l8Ofh*WdU0pO%RP^?Xa_h7I}7K#}4Xt`s%-(m-enaPWX$O&- zX~a1aOzn?!r?5wJVBNPJ_o8-(9Fz<_c1LYGxUl(E+Wdx?wkNHH2T%eWq9Kz00h#RB zYKI~=a<9_QqC^n<>hyWlS66waWgyAP#t&TfTWP=Sxa)ukRY%j7WH}(@r=B^W_;b&M zRzPYsb*j^Kou%%`K6VP+dKtR@x~qEHq4rXMxoX-gcSf&->lMY%TMXF!Gw_A)(tp6} z2A%kN3twbr%KyUrrmw24V3d%wzK<-q(M;MTr41}un`P!!xejADEv_CJ{CTif907B& zEP`pDJIZHVgnmxh$EZnBOUxz~Ap+ZzKbFmg39_n-)$wY!Q@i~5aGmHbN7&*gkq9zWgV|2(Zhxl zoDqJp&MxW(qX#C@oF8L)*r$RdSjVFSc$%z?*9%YoZ6sOZ!vtxXtBM<*r82vyC}_Eiz1PJ2L$bttko`=+fH{Ne@G#lMDxkKt_y)O(J5&Ak)w-I znm!vzYX3$kLDG$hOp-KJg~7}M;73BFWA{!a61fe?NJkjR_}Xw+*`O0=AGg7&dUA`A?9`whW zM{fkFf`G`P^9j*|-q9KLvS<191z9a^mK3Lss}W8O=sZ}N$V4Fh*SWF5NbZQ>p{0>$ z0pe}d$*s!y*R&NSXbjmld6{4Y;O89MuDTK0Hn0C?QdL9z1qGegXs! z7$MIGkPkwdHF2os-Z-e85B?5An>yc|m<}>!Iirg%H-%F11XY{{>@kgL>a#6fM9JzBE&an&F>eWh|b0^kJ zNBM5*nCa~(xwn~rG~>GSG9mz3h z9F~64y}giIrz^lfl|_5HpUsG}?Wpr*&f?bS=|9biqivN)-a~u>uK<{Lfcng{663QL zLXzO@*N5)q4C=j6E8nC+P%lEwI#~0wkt;M4Y8!+DYzN2rBuYao1*HRIa^NC9nFeep z+ns5$X9Bh48S-`ss!k&!J#Ddd=j1O-9}?`v(B|>R7wD97BV;nK~quUHx^mj^G6K2GZ1*uSN?iLm!7vHB7_1^TGbKhmnK+K`GYA zocp2=on8LxJH^`7^1ch0ft(MTU$vJB!R@gQ^R`qoX>(=iY#u++3K>oqSpG={?#YVw zp3m99FXk^~<6#X9X1oKYXEH%8t2btG65(u0zF-J)^>8dj0Evc+9_Bd^Y)k9AfW~FV z%iDV(ClS6)TC7eVzh{ml;p4cx8)$TV&qhRWp+dqiw>i32?1;5d>HLrNj=^OdJ<}L) zWxqw8aFI<~_TkMDQHS?`z+KQ?+{ASoy%}RBu6i9?BXbh%OEx1OuZ}?n(VjrT(!B1; zQ!#WA0NBx=^6rJrFVsDCuT4)OTGzZ3$Z4Yqz z&c9+7%g!%zxtv#p2fhHbo98KBwfE&Y(&2#=}qEEU`ECEjlCp=X^_tIoMx>%kBT5k)^c=zyV5w3 zc>DLKY6%=y0igWi9B@4hB}bR6K|+jYBt+}i6Ld|b`*s62c6Ge?zGYvdW)=p90~$Ad zxGB>c<3Dy~hPJ#vNXierOl41xBn_0L<5NhK6JO-LvtS&Z{xjGKfIC6*9%*?tv*?+! zv;Q{?mHN2b|3DEJO}R9w11ZT5QVC(H0u|0n9cVK_@2r%C<)OnZ(3aS0Ux^6G$ja*< z9R~o~9XjhPL)w@vYi6r;H$tR>wW`0-Z&Qed`X0LZY9-~mfso!@dt?5Q;@|K6$mAB& z$J41&y)<{N;QATPeU}BC{lM_@-LlQ2hjX;}6~qdglT zGm%qJm*F^in=w*?j;@C_PCMnXK5Fd^wXV**pZOdS1KbSJsC~s#R;tmXIMb` zHB>sxQg&E5Yf@}d#~Z9D4R{}ZpLm7S=bY0x#k<=H?=R+=W$=Bm2aU*n z)qgD*0#4>GGlHhQ`bx#k=Njc;+9D@{F5`xI^tMkBf{XIzwB=b9KbuuLF7jMTR~Mwt zN#!)9J4&^V@JRe9Y!b2!;$rCLPWZfG`C;Qz`u~TJdCzv->e`=R8uHX_2{Fp&pWJ*h z#A60&bY(j(^P@t_`_pktBV7{tFVoeNWlNA|zgNr&DMjJ_!k2%2s2~F@la$M6k%hWi z7}}hoDuoaN7?lchVk@4DunpEIS$72&uuF&F;&4uhC$L)6IzHHUryR9emzpxwsRXmj zfc}pI#oRCB7Y1;t=*58Gsv7x3PGuW^spn6V&dWf#?*TQ0(|*rr=EeE1o~y1wyQi%)e*oX6iX@$m0F1RtKUT0vgg!8^fWhYLqS zF@EOpFld7>f^kprb~YwMq=^<e|gw?QFyf8ck|ZC^>)3c`b$^C>jCB4Fne_1e$Cqt=4Ud#K~~8Nfa91W zwk17&D?X?4FRzR+5qCiIqPf0};K4$tW$}l~A?u_E=JSe;*f_DO>r{z=U4_<)dY)M! z7O#mizC+GN&#;)k)vkBUS@fZesb{v?YuFlCPRjsT5bxB4@+sqdq}xvvBhTngZ(N1LUCS-ei=5sgE-Tbc z7HK+A_O23MP@sUoc?I?*ZB|F)&%us|2O$#G7V$6z zq>G%6!cu7OEf+_#^A=23Hd6Db9-yK*NQ#S+kjJI7 zhLiLz{>zKKtHH>H;B-cALzj`>@+-~?X2aP7ypf9WMf8q0m)wS!Nkf+&R&&zEjFOUx zlq^>v#VAq}=)?dKRMe+010g9O;qAiaTA4dV+==mw%i3Re)DwZ$Wd5CK1m4Ivy&&Ef zO8W!SpcgA>zfTGAE!{IPJMhdZ`T4{K#7ndDT8K2&*jf=J8O>H*iDJ}ZK}z|$C3U62 z$nZhk4v$QIYzMaV+0`B8S!=9RSYzi*QG#tp>ZY|lY_`}A-zI7)(tV$B9G-tC#zt8m zre~pD7oIFkmIAM=s zw+Iili%nSC?yks)t~q4lTlZW(#5^yUV@+^KvIuQzZDO^*TBz!j#nX%*uiW|{x9q0w diff --git a/courseware/static/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/courseware/static/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png deleted file mode 100644 index f1273672d253263b7564e9e21d69d7d9d0b337d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l%l7LV~E7mxPQ=F85a&M@g_{ d|GeK{$Y5lo%PMu^>wln`44$rjF6*2UngE4^EGqy2 diff --git a/courseware/static/css/ui-lightness/images/ui-icons_222222_256x240.png b/courseware/static/css/ui-lightness/images/ui-icons_222222_256x240.png deleted file mode 100644 index b273ff111d219c9b9a8b96d57683d0075fb7871a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 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 diff --git a/courseware/static/css/ui-lightness/images/ui-icons_228ef1_256x240.png b/courseware/static/css/ui-lightness/images/ui-icons_228ef1_256x240.png deleted file mode 100644 index a641a371afa0fbb08ba599dc7ddf14b9bfc3c84f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 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 oBo%DI*Kv;w;*%(i9W@e{{5C=l}o! diff --git a/courseware/static/css/ui-lightness/images/ui-icons_ef8c08_256x240.png b/courseware/static/css/ui-lightness/images/ui-icons_ef8c08_256x240.png deleted file mode 100644 index 85e63e9f604ce042d59eb06a8428eeb7cb7896c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 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 diff --git a/courseware/static/css/ui-lightness/images/ui-icons_ffd27a_256x240.png b/courseware/static/css/ui-lightness/images/ui-icons_ffd27a_256x240.png deleted file mode 100644 index e117effa3dca24e7978cfc5f8b967f661e81044f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 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 diff --git a/courseware/static/css/ui-lightness/jquery-ui-1.8.16.custom.css b/courseware/static/css/ui-lightness/jquery-ui-1.8.16.custom.css deleted file mode 100644 index 5547c7b9dd..0000000000 --- a/courseware/static/css/ui-lightness/jquery-ui-1.8.16.custom.css +++ /dev/null @@ -1,568 +0,0 @@ -/* - * jQuery UI CSS Framework 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { display: none; } -.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } -.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 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - * - * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px - */ - - -/* Component containers -----------------------------------*/ -.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; } -.ui-widget .ui-widget { font-size: 1em; } -.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; } -.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; } -.ui-widget-content a { color: #333333; } -.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } -.ui-widget-header a { color: #ffffff; } - -/* Interaction states -----------------------------------*/ -.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; } -.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; } -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; } -.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; } -.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; } -.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; } -.ui-widget :active { outline: none; } - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; } -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; } -.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } -.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } -.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } -.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } -.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } -.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } -.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); } -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_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-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.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-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; } -.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } - -/* Overlays */ -.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); } -.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/* - * jQuery UI Resizable 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Resizable#theming - */ -.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: 0; } -.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } -.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } -.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; 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;}/* - * jQuery UI Selectable 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Selectable#theming - */ -.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } -/* - * jQuery UI Accordion 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Accordion#theming - */ -/* IE/Win - Fix animation bug - #4615 */ -.ui-accordion { width: 100%; } -.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } -.ui-accordion .ui-accordion-li-fix { display: inline; } -.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } -.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } -.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } -.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } -.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } -.ui-accordion .ui-accordion-content-active { display: block; } -/* - * jQuery UI Autocomplete 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Autocomplete#theming - */ -.ui-autocomplete { position: absolute; cursor: default; } - -/* workarounds */ -* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ - -/* - * jQuery UI Menu 1.8.16 - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Menu#theming - */ -.ui-menu { - list-style:none; - padding: 2px; - margin: 0; - display:block; - float: left; -} -.ui-menu .ui-menu { - margin-top: -3px; -} -.ui-menu .ui-menu-item { - margin:0; - padding: 0; - zoom: 1; - float: left; - clear: left; - width: 100%; -} -.ui-menu .ui-menu-item a { - text-decoration:none; - display:block; - padding:.2em .4em; - line-height:1.5; - zoom:1; -} -.ui-menu .ui-menu-item a.ui-state-hover, -.ui-menu .ui-menu-item a.ui-state-active { - font-weight: normal; - margin: -1px; -} -/* - * jQuery UI Button 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Button#theming - */ -.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ -.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ -button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ -.ui-button-icons-only { width: 3.4em; } -button.ui-button-icons-only { width: 3.7em; } - -/*button text element */ -.ui-button .ui-button-text { display: block; line-height: 1.4; } -.ui-button-text-only .ui-button-text { padding: .4em 1em; } -.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } -.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } -.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } -.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } -/* no icon support for input elements, provide padding by default */ -input.ui-button { padding: .4em 1em; } - -/*button icon element(s) */ -.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } -.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } -.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } -.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } -.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } - -/*button sets*/ -.ui-buttonset { margin-right: 7px; } -.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } - -/* workarounds */ -button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ -/* - * jQuery UI Dialog 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Dialog#theming - */ -.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } -.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } -.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } -.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 { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } -.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 .ui-dialog-buttonset { float: right; } -.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } -.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } -.ui-draggable .ui-dialog-titlebar { cursor: move; } -/* - * jQuery UI Slider 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Slider#theming - */ -.ui-slider { position: relative; text-align: left; } -.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } -.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } - -.ui-slider-horizontal { height: .8em; } -.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } -.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } -.ui-slider-horizontal .ui-slider-range-min { left: 0; } -.ui-slider-horizontal .ui-slider-range-max { right: 0; } - -.ui-slider-vertical { width: .8em; height: 100px; } -.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } -.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } -.ui-slider-vertical .ui-slider-range-min { bottom: 0; } -.ui-slider-vertical .ui-slider-range-max { top: 0; }/* - * jQuery UI Tabs 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Tabs#theming - */ -.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ -.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } -.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } -.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } -.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ -.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } -.ui-tabs .ui-tabs-hide { display: none !important; } -/* - * jQuery UI Datepicker 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Datepicker#theming - */ -.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } -.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 { 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 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:both; width:100%; font-size:0em; } - -/* 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*/ -}/* - * jQuery UI Progressbar 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Progressbar#theming - */ -.ui-progressbar { height:2em; text-align: left; } -.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/courseware/static/js/schematic.js b/courseware/static/js/schematic.js deleted file mode 100644 index 0e6aca9547..0000000000 --- a/courseware/static/js/schematic.js +++ /dev/null @@ -1,2016 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// Simple schematic capture -// -//////////////////////////////////////////////////////////////////////////////// - -// Chris Terman, Nov. 2011 - -// add schematics to a document with -// -// -// -// other attributes you can add to the input tag: -// width -- width in pixels of diagram -// height -- height in pixels of diagram -// parts -- comma-separated list of parts for parts bin (see parts_map) - -// JSON schematic representation: -// sch := [part, part, ...] -// part := [type, coords, properties, connections] -// type := string (see parts_map) -// coords := [number, ...] // (x,y,rot) or (x1,y1,x2,y2) -// properties := {name: value, ...} -// connections := [node, ...] // one per connection point in canoncial order -// node := string - -// TO DO: - -// - draggable overlay window base class (dialogs, scope, ...) -// - wire labels? -// - devices: diode, nfet, pfet, opamp, scope probe -// - icons for test equipment? (scope, sig gen, counter, ...) - -// - zoom/scroll canvas -// - freeze_diagram, freeze_properties attributes (freeze certain components/properties?) -// - rotate multiple objects around their center of mass -// - rubber band wires when moving components - -// - simulation: operating points, trans, ac analysis, sweeps? - -// set up each schematic entry widget -function update_schematics() { - // set up each schematic on the page - var schematics = document.getElementsByClassName('schematic'); - for (var i = schematics.length - 1; i >= 0; i--) - if (schematics[i].getAttribute("loaded") != "true") { - new Schematic(schematics[i]); - schematics[i].setAttribute("loaded","true"); - } -} - -// add ourselves to the tasks that get performed when window is loaded -function add_schematic_handler(other_onload) { - return function() { - // execute othe onload functions first - if (other_onload) other_onload(); - - update_schematics(); - } -} -window.onload = add_schematic_handler(window.onload); - -background_style = 'rgb(220,220,220)'; -element_style = 'rgb(255,255,255)'; -thumb_style = 'rgb(128,128,128)'; -normal_style = 'rgb(0,0,0)'; // color for unselected components -selected_style = 'rgb(64,255,64)'; // highlight color for selected components -grid_style = "rgb(128,128,128)"; - -// list of all the defined parts -parts_map = { - 'g': [Ground, 'Ground connection'], - 'v': [VSource, 'Voltage source'], - 'i': [ISource, 'Current source'], - 'r': [Resistor, 'Resistor'], - 'c': [Capacitor, 'Capacitor'], - 'l': [Inductor, 'Inductor'], -}; - -// fix cursor bug in Chrome (default behavior: change to text cursor -// whenever a drag is initiated). -document.onselectstart = function() { return false; }; - -/////////////////////////////////////////////////////////////////////////////// -// -// Schematic = diagram + parts bin + status area -// -//////////////////////////////////////////////////////////////////////////////// - -// setup a schematic by populating the

with the appropriate children -function Schematic(input) { - this.div = document.createElement('div'); - // set up div so we can position elements inside of it - this.div.style.position = 'relative'; - this.div.style.cursor = 'default'; - - this.grid = 8; - this.scale = 2; - this.origin_x = 0; - this.origin_y = 0; - this.clipboard = null; - - // start with a background element with normal positioning - this.background = document.createElement('canvas'); - this.background.style.backgroundColor = background_style; - this.background.style.borderStyle = 'solid'; - this.background.style.borderWidth = '2px'; - - this.status_div = document.createElement('div'); - //this.status_div.style.borderStyle = 'solid'; - //this.status_div.style.borderWidth = '1px'; - this.status_div.style.position = 'absolute'; - this.status_div.style.padding = '2px'; - //this.status_div.style.backgroundColor = element_style; - this.status = document.createTextNode(''); - this.status_div.appendChild(this.status); - - this.connection_points = new Array(); // location string => list of cp's - this.components = []; - - // this is where schematic is rendered - this.canvas = document.createElement('canvas'); - this.canvas.tabIndex = 1; // so we get keystrokes - this.canvas.style.borderStyle = 'solid'; - this.canvas.style.borderWidth = '1px'; - this.canvas.style.borderColor = grid_style; - this.canvas.style.position = 'absolute'; - this.canvas.style.outline = 'none'; - - this.canvas.schematic = this; - this.canvas.addEventListener('mousemove',schematic_mouse_move,false); - this.canvas.addEventListener('mouseover',schematic_mouse_enter,false); - this.canvas.addEventListener('mouseout',schematic_mouse_leave,false); - this.canvas.addEventListener('mousedown',schematic_mouse_down,false); - this.canvas.addEventListener('mouseup',schematic_mouse_up,false); - this.canvas.addEventListener('dblclick',schematic_double_click,false); - this.canvas.addEventListener('keydown',schematic_key_down,false); - this.canvas.addEventListener('keypress',schematic_key_press,false); - - // toolbar - this.tools = new Array(); - this.toolbar = []; - this.tools['cut'] = this.add_tool(cut_icon,'Cut: move selected components from diagram to the clipboard',this.cut); - this.tools['copy'] = this.add_tool(copy_icon,'Copy: copy selected components into the clipboard',this.copy); - this.tools['paste'] = this.add_tool(paste_icon,'Paste: copy clipboard into the diagram',this.paste); - - // make the canvas "clickable" by registering a dummy click handler - // this should make things work on the iPad - this.canvas.addEventListener('click',function(){},false); - - this.dragging = false; - this.drawCursor = false; - this.cursor_x = 0; - this.cursor_y = 0; - this.draw_cursor = null; - this.select_rect = null; - this.wire = null; - - // repaint simply draws this buffer and then adds selected elements on top - this.bg_image = document.createElement('canvas'); - - // use user-supplied list of parts if supplied - // else just populate parts bin with all the parts - var parts = input.getAttribute('parts'); - if (parts) parts = parts.split(','); - else { - parts = new Array(); - for (var p in parts_map) parts.push(p); - } - - // now add the parts to the parts bin - var parts_left = this.width + 3 + background_margin; - var parts_top = background_margin; - this.parts_bin = []; - for (var i = 0; i < parts.length; i++) { - var part = new Part(this); - var pm = parts_map[parts[i]]; - part.set_component(new pm[0](part,0,0,0),pm[1]); - this.parts_bin.push(part); - } - - // add all elements to the DOM - this.div.appendChild(this.background); - for (var i = 0; i < this.toolbar.length; i++) - this.div.appendChild(this.toolbar[i]); - this.div.appendChild(this.canvas); - this.div.appendChild(this.status_div); - for (var i = 0; i < this.parts_bin.length; i++) - this.div.appendChild(this.parts_bin[i].canvas); - input.parentNode.insertBefore(this.div,input.nextSibling); - - // make sure other code can find us! - input.schematic = this; - this.input = input; - - // set locations of all the elements in the editor - var w = parseInt(input.getAttribute('width')); - var h = parseInt(input.getAttribute('height')); - this.set_locations(w,h); - - // process initial contents of diagram - this.load_schematic(this.input.value); -} - - -Schematic.prototype.load_schematic = function(value) { - if (value) { - // convert string value into data structure - var json = JSON.parse(value); - - // top level is a list of components - for (var i = json.length - 1; i >= 0; --i) { - var c = json[i]; - if (c[0] == 'view') { - // special hack: view component lets us recreate view - this.origin_x = c[1]; - this.origin_y = c[2]; - this.scale = c[3]; - } else if (c[0] == 'w') { - // wire - this.add_wire(c[1][0],c[1][1],c[1][2],c[1][3]); - } else { - // ordinary component - // c := [type, coords, properties, connections] - var type = c[0]; - var coords = c[1]; - var properties = c[2]; - - // make the part - var part = new parts_map[type][0](this,coords[0],coords[1],coords[2]); - - // give it its properties - for (var name in properties) - part.properties[name] = properties[name]; - - // add component to the diagram - this.add_component(part); - } - } - - // see what we've got! - this.redraw_background(); - } -} - -background_margin = 5; -part_w = 42; // size of a parts bin compartment -part_h = 42; -status_height = 18; - -// w,h are the dimensions of the canvas, everyone else is positioned accordingly -Schematic.prototype.set_locations = function(w,h) { - // limit the shrinkage factor - w = Math.max(w,120); - h = Math.max(h,120); - - this.width = w; - this.height = h; - this.bg_image.width = w; - this.bg_image.height = h; - - this.min_x = 0; - this.min_y = 0; - this.max_x = w/this.scale; - this.max_y = h/this.scale; - - var left = 2*background_margin; // space to the left - - // start with tool bar - var top = background_margin; - if (this.toolbar.length > 0) { - tool_left = left; - for (var i = 0; i < this.toolbar.length; i++) { - var img = this.toolbar[i]; - img.style.left = tool_left + 'px'; - img.style.top = top + 'px'; - tool_left += 24; // width + 2*padding + 2*border + gap - } - top += 27; // height + 2*padding + 2*border + gap; - } - - // configure canvas - this.canvas.style.left = left + 'px'; - this.canvas.style.top = top + 'px'; - this.canvas.width = w; - this.canvas.height = h; - this.redraw_background(); // redraw diagram - - // configure status bar - this.status_div.style.left = left + 'px'; - this.status_div.style.top = this.canvas.offsetTop + this.canvas.offsetHeight + 3 + 'px'; - this.status_div.style.width = (w - 4) + 'px'; // subtract interior padding - this.status_div.style.height = status_height + 'px'; - - // configure parts bin - var total_w = this.canvas.offsetLeft + this.canvas.offsetWidth; - var parts_left = total_w + 5; - var parts_top = top; - var parts_h_limit = this.canvas.offsetTop + this.canvas.offsetHeight; - for (var i = 0; i < this.parts_bin.length; i++) { - var part = this.parts_bin[i]; - part.set_location(parts_left,parts_top); - - total_w = part.right(); - parts_top = part.bottom() + 2; - if (parts_top + part_h > parts_h_limit) { - parts_left = total_w - 1; - parts_top = top; - } - } - - // configure background - var total_h = this.status_div.offsetTop + this.status_div.offsetHeight + background_margin; - total_w += background_margin; - this.background.height = total_h; - this.background.width = total_w; - - /* enable when there's support for resizing schematic - // redraw thumb - var c = this.background.getContext('2d'); - c.clearRect(0,0,w,h); - c.strokeStyle = thumb_style; - c.lineWidth = 1; - c.beginPath(); - w = total_w - 1; - h = total_h - 1; - c.moveTo(w,h-4); c.lineTo(w-4,h); - c.moveTo(w,h-8); c.lineTo(w-8,h); - c.moveTo(w,h-12); c.lineTo(w-12,h); - c.stroke(); - */ -} - -// label all the nodes in the circuit -Schematic.prototype.label_connection_points = function() { - // start by clearing all the connection point labels - for (var i = this.components.length - 1; i >=0; --i) - this.components[i].clear_labels(); - - // components are in charge of labeling their unlabeled connections. - // labels given to connection points will propagate to coincident connection - // points and across Wires. - - // let special components like GND label their connection(s) - for (var i = this.components.length - 1; i >=0; --i) - this.components[i].add_default_labels(); - - // now have components generate labels for unlabeled connections - this.next_label = 0; - for (var i = this.components.length - 1; i >=0; --i) - this.components[i].label_connections(); -} - -// generate a new label -Schematic.prototype.get_next_label = function() { - // generate next label in sequence - this.next_label += 1; - return this.next_label.toString(); -} - -// propagate label to coincident connection points -Schematic.prototype.propagate_label = function(label,location) { - var cplist = this.connection_points[location]; - for (var i = cplist.length - 1; i >= 0; --i) - cplist[i].propagate_label(label); -} - -// update the value field of our corresponding input field with JSON -// representation of schematic -Schematic.prototype.update_value = function() { - // label connection points - this.label_connection_points(); - - // build JSON data structure, convert to string value for - // input field - this.input.value = JSON.stringify(this.json()); -} - -// produce a JSON representation of the diagram -Schematic.prototype.json = function() { - var json = []; - - // output all the components/wires in the diagram - for (var i = this.components.length - 1; i >=0; --i) - json.push(this.components[i].json()); - - // capture the current view parameters - json.push(['view',this.origin_x,this.origin_y,this.scale]); - - return json; -} - -Schematic.prototype.add_component = function(new_c) { - this.components.push(new_c); - - // create undoable edit record here -} - -Schematic.prototype.remove_component = function(c) { - var index = this.components.indexOf(c); - if (index != -1) this.components.splice(index,1); -} - -// add connection point to list of connection points at that location -Schematic.prototype.add_connection_point = function(cp) { - var cplist = this.connection_points[cp.location]; - if (cplist) cplist.push(cp); - else { - cplist = [cp]; - this.connection_points[cp.location] = cplist; - } - - // return list of conincident connection points - return cplist; -} - -// remove connection point from the list points at the old location -Schematic.prototype.remove_connection_point = function(cp,old_location) { - // remove cp from list at old location - var cplist = this.connection_points[old_location]; - if (cplist) { - var index = cplist.indexOf(cp); - if (index != -1) { - cplist.splice(index,1); - // if no more connections at this location, remove - // entry from array to keep our search time short - if (cplist.length == 0) - delete this.connection_points[old_location]; - } - } -} - -// connection point has changed location: remove, then add -Schematic.prototype.update_connection_point = function(cp,old_location) { - this.remove_connection_point(cp,old_location); - return this.add_connection_point(cp); -} - -// add a wire to the schematic -Schematic.prototype.add_wire = function(x1,y1,x2,y2) { - var new_wire = new Wire(this,x1,y1,x2,y2); - this.add_component(new_wire); - new_wire.move_end(); - return new_wire; -} - -// see if connection points of component c split any wires -Schematic.prototype.check_wires = function(c) { - for (var i = this.components.length - 1; i >=0; --i) { - var cc = this.components[i]; - if (cc != c) { // don't check a component against itself - // only wires will do return non-null from a bisect call - var cp = cc.bisect(c); - if (cp) { - // cc is a wire bisected by connection point cp - - // remove biscted wire - cc.delete(); - - // add two new wires with cp in the middle - this.add_wire(cc.x,cc.y,cp.x,cp.y); - this.add_wire(cc.x+cc.dx,cc.y+cc.dy,cp.x,cp.y); - this.redraw_background(); - break; - } - } - } -} - -Schematic.prototype.unselect_all = function(which) { - for (var i = this.components.length - 1; i >= 0; --i) - if (i != which) this.components[i].set_select(false); -} - -Schematic.prototype.drag_begin = function() { - // let components know they're about to move - for (var i = this.components.length - 1; i >= 0; --i) { - var component = this.components[i]; - if (component.selected) component.move_begin(); - } - - // remember where drag started - this.drag_x = this.cursor_x; - this.drag_y = this.cursor_y; - this.dragging = true; -} - -Schematic.prototype.drag_end = function() { - // let components know they're done moving - for (var i = this.components.length - 1; i >= 0; --i) { - var component = this.components[i]; - if (component.selected) component.move_end(); - } - this.dragging = false; -} - -Schematic.prototype.cut = function() { - // clear previous contents - this.clipboard = []; - - // look for selected components, move them to clipboard. - for (var i = this.components.length - 1; i >=0; --i) { - var c = this.components[i]; - if (c.selected) { - c.delete(); - this.clipboard.push(c); - } - } - - // update diagram view - this.redraw(); -} - -Schematic.prototype.copy = function() { - // clear previous contents - this.clipboard = []; - - // look for selected components, copy them to clipboard. - for (var i = this.components.length - 1; i >=0; --i) { - var c = this.components[i]; - if (c.selected) - this.clipboard.push(c.clone(this,c.x,c.y)); - } -} - -Schematic.prototype.paste = function() { - // compute left,top of bounding box for origins of - // components in the clipboard - var left = null; - var top = null; - for (var i = this.clipboard.length - 1; i >= 0; --i) { - var c = this.clipboard[i]; - left = left ? Math.min(left,c.x) : left; - top = top ? Math.min(top,c.y) : top; - } - - // clear current selections - this.unselect_all(-1); - this.redraw_background(); // so we see any components that got unselected - - // make clones of components on the clipboard, positioning - // them relative to the cursor - for (var i = this.clipboard.length - 1; i >= 0; --i) { - var c = this.clipboard[i]; - var new_c = c.clone(this,this.cursor_x + (c.x - left),this.cursor_y + (c.y - top)); - this.add_component(new_c); - new_c.set_select(true); - } - - // see what we've wrought - this.redraw(); -} - -/////////////////////////////////////////////////////////////////////////////// -// -// Drawing support -- deals with scaling and scrolling of diagrama -// -//////////////////////////////////////////////////////////////////////////////// - -// here to redraw background image containing static portions of the schematic. -// Also redraws dynamic portion. -Schematic.prototype.redraw_background = function() { - var c = this.bg_image.getContext('2d'); - var w = this.bg_image.width; - var h = this.bg_imageheight; - - // paint background color - c.fillStyle = element_style; - c.fillRect(0,0,this.width,this.height); - - // border - //c.strokeStyle = "rgb(0,0,0)"; - //c.strokeRect(0,0,this.width,this.height); - - // grid - c.strokeStyle = grid_style; - var first_x = this.min_x; - var last_x = this.max_x; - var first_y = this.min_y; - var last_y = this.max_y; - for (var i = first_x; i < last_x; i += this.grid) - this.draw_line(c,i,first_y,i,last_y,0.1); - for (var i = first_y; i < last_y; i += this.grid) - this.draw_line(c,first_x,i,last_x,i,0.1); - - // unselected components - for (var i = this.components.length - 1; i >= 0; --i) { - var component = this.components[i]; - if (!component.selected) component.draw(c); - } - - this.redraw(); // background changed, redraw on screen -} - -// redraw what user sees = static image + dynamic parts -Schematic.prototype.redraw = function() { - var c = this.canvas.getContext('2d'); - - // put static image in the background - c.drawImage(this.bg_image, 0, 0); - - // selected components - var selections = false; - for (var i = this.components.length - 1; i >= 0; --i) { - var component = this.components[i]; - if (component.selected) { - component.draw(c); - selections = true; - } - } - this.enable_tool('cut',selections); - this.enable_tool('copy',selections); - this.enable_tool('paste',this.clipboard); - - // connection points: draw one at each location - for (var location in this.connection_points) { - var cplist = this.connection_points[location]; - cplist[0].draw(c,cplist.length); - } - - // draw new wire - if (this.wire) { - var r = this.wire; - c.strokeStyle = selected_style; - this.draw_line(c,r[0],r[1],r[2],r[3],1); - } - - // draw selection rectangle - if (this.select_rect) { - var r = this.select_rect; - c.lineWidth = 1; - c.strokeStyle = selected_style; - c.beginPath(); - c.moveTo(r[0],r[1]); - c.lineTo(r[0],r[3]); - c.lineTo(r[2],r[3]); - c.lineTo(r[2],r[1]); - c.lineTo(r[0],r[1]); - c.stroke(); - } - - // finally overlay cursor - if (this.drawCursor && this.draw_cursor) { - //var x = this.cursor_x; - //var y = this.cursor_y; - //this.draw_text(c,'('+x+','+y+')',x+this.grid,y-this.grid,10); - this.draw_cursor(c,this.cursor_x,this.cursor_y); - } -} - -// draws a cross cursor -Schematic.prototype.cross_cursor = function(c,x,y) { - this.draw_line(c,x-this.grid,y,x+this.grid,y,1); - this.draw_line(c,x,y-this.grid,x,y+this.grid,1); -} - -Schematic.prototype.draw_line = function(c,x1,y1,x2,y2,width) { - c.lineWidth = width*this.scale; - c.beginPath(); - c.moveTo((x1 - this.origin_x) * this.scale,(y1 - this.origin_y) * this.scale); - c.lineTo((x2 - this.origin_x) * this.scale,(y2 - this.origin_y) * this.scale); - c.stroke(); -} - -Schematic.prototype.draw_arc = function(c,x,y,radius,start_radians,end_radians,anticlockwise,width,filled) { - c.lineWidth = width*this.scale; - c.beginPath(); - c.arc((x - this.origin_x)*this.scale,(y - this.origin_y)*this.scale,radius*this.scale, - start_radians,end_radians,anticlockwise); - if (filled) c.fill(); - else c.stroke(); -} - -Schematic.prototype.draw_text = function(c,text,x,y,size) { - c.font = size*this.scale+'pt sans-serif' - c.fillText(text,(x - this.origin_x) * this.scale,(y - this.origin_y) * this.scale); -} - -// add method to canvas to compute relative coords for event -HTMLCanvasElement.prototype.relMouseCoords = function(event){ - // run up the DOM tree to figure out coords for top,left of canvas - var totalOffsetX = 0; - var totalOffsetY = 0; - var canvasY = 0; - var currentElement = this; - do { - totalOffsetX += currentElement.offsetLeft; - totalOffsetY += currentElement.offsetTop; - } - while(currentElement = currentElement.offsetParent); - - // now compute relative position of click within the canvas - this.mouse_x = event.pageX - totalOffsetX; - this.mouse_y = event.pageY - totalOffsetY; -} - -/////////////////////////////////////////////////////////////////////////////// -// -// Event handling -// -//////////////////////////////////////////////////////////////////////////////// - -// process special keys here since they don't get delivered correctly on keypress -function schematic_key_down(event) { - if (!event) event = window.event; - var sch = (window.event) ? event.srcElement.schematic : event.target.schematic; - var code = event.keyCode; - - if (code == 8 || code == 46) { - // delete selected components - for (var i = sch.components.length - 1; i >= 0; --i) { - var component = sch.components[i]; - if (component.selected) component.delete(1); - } - sch.redraw(); - event.preventDefault(); - return false; - } - return true; -} - -// process normal characters -function schematic_key_press(event) { - if (!event) event = window.event; - var sch = (window.event) ? event.srcElement.schematic : event.target.schematic; - var code = window.event ? event.keyCode : event.charCode; - var char = String.fromCharCode(code); - - // rotate - if (!event.control && !event.altKey && (char == 'r' || char == 'R')) { - // rotate - for (var i = sch.components.length - 1; i >= 0; --i) { - var component = sch.components[i]; - if (component.selected) component.rotate(1); - } - sch.redraw(); - event.preventDefault(); - return false; - } - - // cut - if ((event.ctrlKey || event.altKey) && char == 'x') { - sch.cut(); - event.preventDefault(); - return false; - } - - // copy - if ((event.ctrlKey || event.altKey) && char == 'c') { - sch.copy(); - event.preventDefault(); - return false; - } - - // paste - if ((event.ctrlKey || event.altKey) && char == 'v') { - sch.paste(); - event.preventDefault(); - return false; - } - - - return true; -} - -function schematic_mouse_enter(event) { - if (!event) event = window.event; - var sch = (window.event) ? event.srcElement.schematic : event.target.schematic; - - // see if user has selected a new part - if (sch.new_part) { - // grab incoming part, turn off selection of parts bin - var part = sch.new_part; - sch.new_part = null; - part.select(false); - - // make a clone of the component in the parts bin - part = part.component.clone(sch,sch.cursor_x,sch.cursor_y); - - // unselect everything else in the schematic, add part and select it - sch.unselect_all(-1); - sch.redraw_background(); // so we see any components that got unselected - sch.add_component(part); - part.set_select(true); - - // and start dragging it - sch.drag_begin(); - } - - sch.drawCursor = true; - sch.redraw(); - sch.canvas.focus(); // capture key strokes - return false; -} - -function schematic_mouse_leave(event) { - if (!event) event = window.event; - var sch = (window.event) ? event.srcElement.schematic : event.target.schematic; - sch.drawCursor = false; - sch.redraw(); - return false; -} - -function schematic_mouse_down(event) { - if (!event) event = window.event; - else event.preventDefault(); - var sch = (window.event) ? event.srcElement.schematic : event.target.schematic; - - // determine where event happened in schematic coordinates - sch.canvas.relMouseCoords(event); - var x = sch.canvas.mouse_x/sch.scale + sch.origin_x; - var y = sch.canvas.mouse_y/sch.scale + sch.origin_y; - sch.cursor_x = Math.round(x/sch.grid) * sch.grid; - sch.cursor_y = Math.round(y/sch.grid) * sch.grid; - - /* - // for debugging... triggered by clicks in upper left corner - if (sch.cursor_x < 10 && sch.cursor_y < 10) { - sch.label_connection_points(); - sch.append_message(JSON.stringify(sch.json())); - } - */ - - // is mouse over a connection point? If so, start dragging a wire - var cplist = sch.connection_points[sch.cursor_x + ',' + sch.cursor_y]; - if (cplist && !event.shiftKey) { - sch.unselect_all(-1); - sch.wire = [sch.cursor_x,sch.cursor_y,sch.cursor_x,sch.cursor_y]; - } else { - // give all components a shot at processing the selection event - var which = -1; - for (var i = sch.components.length - 1; i >= 0; --i) - if (sch.components[i].select(x,y,event.shiftKey)) { - if (sch.components[i].selected) { - sch.drag_begin(); - which = i; // keep track of component we found - } - break; - } - // did we just click on a previously selected component? - var reselect = which!=-1 && sch.components[which].was_previously_selected; - - if (!event.shiftKey) { - // if shift key isn't pressed and we didn't click on component - // that was already selected, unselect everyone except component - // we just clicked on - if (!reselect) sch.unselect_all(which); - - // if there's nothing to drag, set up a selection rectangle - if (!sch.dragging) sch.select_rect = [sch.canvas.mouse_x,sch.canvas.mouse_y, - sch.canvas.mouse_x,sch.canvas.mouse_y]; - } - } - - sch.redraw_background(); - return false; -} - -function schematic_mouse_move(event) { - if (!event) event = window.event; - var sch = (window.event) ? event.srcElement.schematic : event.target.schematic; - - sch.canvas.relMouseCoords(event); - var x = sch.canvas.mouse_x/sch.scale + sch.origin_x; - var y = sch.canvas.mouse_y/sch.scale + sch.origin_y; - sch.cursor_x = Math.round(x/sch.grid) * sch.grid; - sch.cursor_y = Math.round(y/sch.grid) * sch.grid; - - if (sch.wire) { - // update new wire end point - sch.wire[2] = sch.cursor_x; - sch.wire[3] = sch.cursor_y; - } else if (sch.dragging) { - // see how far we moved - var dx = sch.cursor_x - sch.drag_x; - var dy = sch.cursor_y - sch.drag_y; - if (dx != 0 || dy != 0) { - // update position for next time - sch.drag_x = sch.cursor_x; - sch.drag_y = sch.cursor_y; - - // give all components a shot at processing the event - for (var i = sch.components.length - 1; i >= 0; --i) { - var component = sch.components[i]; - if (component.selected) component.move(dx,dy); - } - } - } else if (sch.select_rect) { - // update moving corner of selection rectangle - sch.select_rect[2] = sch.canvas.mouse_x; - sch.select_rect[3] = sch.canvas.mouse_y; - //sch.message(sch.select_rect.toString()); - } - - // just redraw dynamic components - sch.redraw(); - - return false; -} - -function schematic_mouse_up(event) { - if (!event) event = window.event; - else event.preventDefault(); - var sch = (window.event) ? event.srcElement.schematic : event.target.schematic; - - // drawing a new wire - if (sch.wire) { - var r = sch.wire; - sch.wire = null; - - if (r[0]!=r[2] || r[1]!=r[3]) { - // insert wire component - sch.add_wire(r[0],r[1],r[2],r[3]); - sch.redraw_background(); - } else sch.redraw(); - } - - // dragging - if (sch.dragging) sch.drag_end(); - - // selection rectangle - if (sch.select_rect) { - var r = sch.select_rect; - - // if select_rect is a point, we've already dealt with selection - // in mouse_down handler - if (r[0]!=r[2] || r[1]!=r[3]) { - // convert to schematic coordinates - var s = [r[0]/sch.scale + sch.origin_x, r[1]/sch.scale + sch.origin_y, - r[2]/sch.scale + sch.origin_x, r[3]/sch.scale + sch.origin_y]; - canonicalize(s); - - if (!event.shiftKey) sch.unselect_all(); - - // select components that intersect selection rectangle - for (var i = sch.components.length - 1; i >= 0; --i) - sch.components[i].select_rect(s,event.shiftKey); - } - - sch.select_rect = null; - sch.redraw_background(); - } - return false; -} - -function schematic_double_click(event) { - if (!event) event = window.event; - else event.preventDefault(); - var sch = (window.event) ? event.srcElement.schematic : event.target.schematic; - - // determine where event happened in schematic coordinates - sch.canvas.relMouseCoords(event); - var x = sch.canvas.mouse_x/sch.scale + sch.origin_x; - var y = sch.canvas.mouse_y/sch.scale + sch.origin_y; - sch.cursor_x = Math.round(x/sch.grid) * sch.grid; - sch.cursor_y = Math.round(y/sch.grid) * sch.grid; - - // see if we double-clicked a component. If so, edit it's properties - for (var i = sch.components.length - 1; i >= 0; --i) - if (sch.components[i].edit_properties(x,y)) break; - - return false; -} - -/////////////////////////////////////////////////////////////////////////////// -// -// Status message and dialogs -// -//////////////////////////////////////////////////////////////////////////////// - -Schematic.prototype.message = function(message) { - this.status.nodeValue = message; -} - -Schematic.prototype.append_message = function(message) { - this.status.nodeValue += ' / '+message; -} - -// set up a dialog with specified title, content and two buttons at -// the bottom: OK and Cancel. If Cancel is clicked, dialog goes away -// and we're done. If OK is clicked, dialog goes away and the -// callback function is called with the content as an argument (so -// that the values of any fields can be captured). -Schematic.prototype.dialog = function(title,content,callback) { - // create the div for the top level of the dialog, add to DOM - var dialog = document.createElement('div'); - dialog.sch = this; - dialog.content = content; - - // div to hold the title - var head = document.createElement('div'); - head.style.backgroundColor = 'black'; - head.style.color = 'white'; - head.style.textAlign = 'center'; - head.style.padding = '5px'; - head.appendChild(document.createTextNode(title)); - dialog.appendChild(head); - - // div to hold the content - var body = document.createElement('div'); - body.appendChild(content); - body.style.padding = '5px'; - dialog.appendChild(body); - - // OK button - var ok_button = document.createElement('span'); - ok_button.appendChild(document.createTextNode('OK')); - ok_button.dialog = dialog; // for the handler to use - ok_button.addEventListener('click',dialog_okay,false); - ok_button.style.border = '1px solid'; - ok_button.style.padding = '5px'; - ok_button.style.margin = '10px'; - - // cancel button - var cancel_button = document.createElement('span'); - cancel_button.appendChild(document.createTextNode('Cancel')); - cancel_button.dialog = dialog; // for the handler to use - cancel_button.addEventListener('click',dialog_cancel,false); - cancel_button.style.border = '1px solid'; - cancel_button.style.padding = '5px'; - cancel_button.style.margin = '10px'; - - // div to hold the two buttons - var buttons = document.createElement('div'); - buttons.appendChild(ok_button); - buttons.appendChild(cancel_button); - buttons.style.padding = '5px'; - buttons.style.margin = '10px'; - dialog.appendChild(buttons); - - // add to DOM - dialog.style.background = 'white'; - dialog.style.zindex = '1000'; - dialog.style.position = 'absolute'; - dialog.style.left = this.canvas.mouse_x+'px'; - dialog.style.top = this.canvas.mouse_y+'px'; - dialog.style.border = '2px solid'; - dialog.callback = callback; - this.div.appendChild(dialog); -} - -// callback when user click "Cancel" in a dialog -function dialog_cancel(event) { - if (!event) event = window.event; - var dialog = (window.event) ? event.srcElement.dialog : event.target.dialog; - - // remove the dialog from the top-level div of the schematic - dialog.parentNode.removeChild(dialog); -} - -// callback when user click "OK" in a dialog -function dialog_okay(event) { - if (!event) event = window.event; - var dialog = (window.event) ? event.srcElement.dialog : event.target.dialog; - - // remove the dialog from the top-level div of the schematic - dialog.parentNode.removeChild(dialog); - - // invoke the callback with the dialog contents as the argument - if (dialog.callback) dialog.callback(dialog.content); -} - -/////////////////////////////////////////////////////////////////////////////// -// -// Toolbar -// -//////////////////////////////////////////////////////////////////////////////// - -Schematic.prototype.add_tool = function(icon,tip,callback) { - var img = document.createElement('img'); - img.src = icon; - img.style.borderWidth = '1px'; - img.style.borderStyle = 'solid'; - img.style.borderColor = background_style; - img.style.position = 'absolute'; - img.style.padding = '2px'; - - img.addEventListener('mouseover',tool_enter,false); - img.addEventListener('mouseout',tool_leave,false); - img.addEventListener('click',tool_click,false); - - img.sch = this; - img.tip = tip; - img.callback = callback; - this.toolbar.push(img); - - img.enabled = false; - img.style.opacity = 0.2; - - return img; -} - -Schematic.prototype.enable_tool = function(tname,which) { - var img = this.tools[tname]; - img.style.opacity = which ? 1.0 : 0.2; - img.enabled = which; - - // if disabling tool, remove border and tip - if (!which) { - img.style.borderColor = background_style; - img.sch.message(''); - } -} - -// highlight tool button by turning on border, changing background -function tool_enter(event) { - if (!event) event = window.event; - var img = (window.event) ? event.srcElement : event.target; - - if (img.enabled) { - img.style.borderColor = normal_style; - img.sch.message(img.tip); - img.opacity = 1.0; - } -} - -// unhighlight tool button by turning off border, reverting to normal background -function tool_leave(event) { - if (!event) event = window.event; - var img = (window.event) ? event.srcElement : event.target; - - if (img.enabled) { - img.style.borderColor = background_style; - img.sch.message(''); - } -} - -// handle click on a tool -function tool_click(event) { - if (!event) event = window.event; - var img = (window.event) ? event.srcElement : event.target; - - if (img.enabled) img.callback.call(img.sch); -} - -cut_icon = 'data:image/gif;base64,R0lGODlhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAEAAAcALAAAAAAQABAAAAQu8MhJqz1g5qs7lxv2gRkQfuWomarXEgDRHjJhf3YtyRav0xcfcFgR0nhB5OwTAQA7'; - -copy_icon = 'data:image/gif;base64,R0lGODlhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAEAAAcALAAAAAAQABAAAAQ+8MhJ6wE4Wwqef9gmdV8HiKZJrCz3ecS7TikWfzExvk+M9a0a4MbTkXCgTMeoHPJgG5+yF31SLazsTMTtViIAOw=='; - -paste_icon = 'data:image/gif;base64,R0lGODlhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAEAAAcALAAAAAAQABAAAARL8MhJqwUYWJnxWp3GDcgAgCdQIqLKXmVLhhnyHiqpr7rME8AgocVDEB5IJHD0SyofBFzxGIQGAbvB0ZkcTq1CKK6z5YorwnR0w44AADs='; - -/////////////////////////////////////////////////////////////////////////////// -// -// Parts bin -// -//////////////////////////////////////////////////////////////////////////////// - -// one instance will be created for each part in the parts bin -function Part(sch) { - this.sch = sch; - this.component = null; - this.selected = false; - - // set up canvas - this.canvas = document.createElement('canvas'); - this.canvas.style.borderStyle = 'solid'; - this.canvas.style.borderWidth = '1px'; - this.canvas.style.borderColor = background_style; - this.canvas.style.position = 'absolute'; - this.canvas.style.cursor = 'default'; - this.canvas.height = part_w; - this.canvas.width = part_h; - this.canvas.part = this; - - this.canvas.addEventListener('mouseover',part_enter,false); - this.canvas.addEventListener('mouseout',part_leave,false); - this.canvas.addEventListener('mousedown',part_mouse_down,false); - this.canvas.addEventListener('mouseup',part_mouse_up,false); - - // make the part "clickable" by registering a dummy click handler - // this should make things work on the iPad - this.canvas.addEventListener('click',function(){},false); -} - -Part.prototype.set_location = function(left,top) { - this.canvas.style.left = left + 'px'; - this.canvas.style.top = top + 'px'; -} - -Part.prototype.right = function() { - return this.canvas.offsetLeft + this.canvas.offsetWidth; -} - -Part.prototype.bottom = function() { - return this.canvas.offsetTop + this.canvas.offsetHeight; -} - -Part.prototype.set_component = function(component,tip) { - this.component = component; - this.tip = tip; - - // figure out scaling and centering of parts icon - var b = component.bounding_box; - var dx = b[2] - b[0]; - var dy = b[3] - b[1]; - this.scale = 0.8; //Math.min(part_w/(1.2*dx),part_h/(1.2*dy)); - this.origin_x = b[0] + dx/2.0 - part_w/(2.0*this.scale); - this.origin_y = b[1] + dy/2.0 - part_h/(2.0*this.scale); - - this.redraw(); -} - -Part.prototype.redraw = function(part) { - var c = this.canvas.getContext('2d'); - - // paint background color - c.fillStyle = this.selected ? selected_style : background_style; - c.fillRect(0,0,part_w,part_h); - - if (this.component) this.component.draw(c); -} - -Part.prototype.select = function(which) { - this.selected = which; - this.redraw(); -} - -Part.prototype.update_connection_point = function(cp,old_location) { - // no connection points in the parts bin -} - -Part.prototype.draw_line = function(c,x1,y1,x2,y2,width) { - c.lineWidth = width*this.scale; - c.beginPath(); - c.moveTo((x1 - this.origin_x) * this.scale,(y1 - this.origin_y) * this.scale); - c.lineTo((x2 - this.origin_x) * this.scale,(y2 - this.origin_y) * this.scale); - c.stroke(); -} - -Part.prototype.draw_arc = function(c,x,y,radius,start_radians,end_radians,anticlockwise,width,filled) { - c.lineWidth = width*this.scale; - c.beginPath(); - c.arc((x - this.origin_x)*this.scale,(y - this.origin_y)*this.scale,radius*this.scale, - start_radians,end_radians,anticlockwise); - if (filled) c.fill(); - else c.stroke(); -} - -Part.prototype.draw_text = function(c,text,x,y,size) { - // no text displayed for the parts icon -} - -function part_enter(event) { - if (!event) event = window.event; - var canvas = (window.event) ? event.srcElement : event.target; - var part = canvas.part; - - canvas.style.borderColor = normal_style; - part.sch.message(part.tip+': drag onto diagram to insert'); - return false; -} - -function part_leave(event) { - if (!event) event = window.event; - var canvas = (window.event) ? event.srcElement : event.target; - var part = canvas.part; - - canvas.style.borderColor = background_style; - part.sch.message(''); - return false; -} - -function part_mouse_down(event) { - if (!event) event = window.event; - var part = (window.event) ? event.srcElement.part : event.target.part; - - part.select(true); - part.sch.new_part = part; - return false; -} - -function part_mouse_up(event) { - if (!event) event = window.event; - var part = (window.event) ? event.srcElement.part : event.target.part; - - part.select(false); - part.sch.new_part = null; - return false; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Rectangle helper functions -// -//////////////////////////////////////////////////////////////////////////////// - -// rect is an array of the form [left,top,right,bottom] - -// ensure left < right, top < bottom -function canonicalize(r) { - var temp; - - // canonicalize bounding box - if (r[0] > r[2]) { - temp = r[0]; - r[0] = r[2]; - r[2] = temp; - } - if (r[1] > r[3]) { - temp = r[1]; - r[1] = r[3]; - r[3] = temp; - } -} - -function between(x,x1,x2) { - return x1 <= x && x <= x2; -} - -function inside(rect,x,y) { - return between(x,rect[0],rect[2]) && between(y,rect[1],rect[3]); -} - -// only works for manhattan rectangles -function intersect(r1,r2) { - // look for non-intersection, negate result - var result = !(r2[0] > r1[2] || - r2[2] < r1[0] || - r2[1] > r1[3] || - r2[3] < r1[1]); - - // if I try to return the above expression, javascript returns undefined!!! - return result; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Component base class -// -//////////////////////////////////////////////////////////////////////////////// - -property_size = 5; // point size for Component property text - -function Component(sch,x,y,rotation) { - this.sch = sch; - this.x = x; - this.y = y; - this.rotation = rotation; - this.selected = false; - this.properties = new Array(); - this.bounding_box = [0,0,0,0]; // in device coords [left,top,right,bottom] - this.bbox = this.bounding_box; // in absolute coords - this.connections = []; -} - -Component.prototype.json = function() { - var props = {}; - for (var p in this.properties) props[p] = this.properties[p]; - - var conns = []; - for (var i = 0; i < this.connections.length; i++) - conns.push(this.connections[i].json()); - - var json = [this.type,[this.x, this.y, this.rotation],props,conns]; - return json; -} - -Component.prototype.add_connection = function(offset_x,offset_y) { - this.connections.push(new ConnectionPoint(this,offset_x,offset_y)); -} - -Component.prototype.update_coords = function() { - var x = this.x; - var y = this.y; - - // update bbox - var b = this.bounding_box; - this.bbox[0] = this.transform_x(b[0],b[1]) + x; - this.bbox[1] = this.transform_y(b[0],b[1]) + y; - this.bbox[2] = this.transform_x(b[2],b[3]) + x; - this.bbox[3] = this.transform_y(b[2],b[3]) + y; - canonicalize(this.bbox); - - // update connections - for (var i = this.connections.length - 1; i >= 0; --i) - this.connections[i].update_location(); -} - -Component.prototype.rotate = function(amount) { - var old_rotation = this.rotation; - this.rotation = (this.rotation + amount) % 8; - this.update_coords(); - - // create an undoable edit record here - // using old_rotation -} - -Component.prototype.move_begin = function() { - // remember where we started this move - this.move_x = this.x; - this.move_y = this.y; -} - -Component.prototype.move = function(dx,dy) { - // update coordinates - this.x += dx; - this.y += dy; - this.update_coords(); -} - -Component.prototype.move_end = function() { - var dx = this.x - this.move_x; - var dy = this.y - this.move_y; - - if (dx != 0 || dy != 0) { - // create an undoable edit record here - - this.sch.check_wires(this); - } -} - -Component.prototype.delete = function() { - // remove connection points from schematic - for (var i = this.connections.length - 1; i >= 0; --i) { - var cp = this.connections[i]; - this.sch.remove_connection_point(cp,cp.location); - } - - // remove component from schematic - this.sch.remove_component(this); - - // create an undoable edit record here -} - -Component.prototype.transform_x = function(x,y) { - var rot = this.rotation; - if (rot == 0 || rot == 6) return x; - else if (rot == 1 || rot == 5) return -y; - else if (rot == 2 || rot == 4) return -x; - else return y; -} - -Component.prototype.transform_y = function(x,y) { - var rot = this.rotation; - if (rot == 1 || rot == 7) return x; - else if (rot == 2 || rot == 6) return -y; - else if (rot == 3 || rot == 5) return -x; - else return y; -} - -Component.prototype.draw_line = function(c,x1,y1,x2,y2) { - c.strokeStyle = this.selected ? selected_style : normal_style; - var nx1 = this.transform_x(x1,y1) + this.x; - var ny1 = this.transform_y(x1,y1) + this.y; - var nx2 = this.transform_x(x2,y2) + this.x; - var ny2 = this.transform_y(x2,y2) + this.y; - this.sch.draw_line(c,nx1,ny1,nx2,ny2,1); -} - -Component.prototype.draw_circle = function(c,x,y,radius,filled) { - if (filled) c.fillStyle = this.selected ? selected_style : normal_style; - else c.strokeStyle = this.selected ? selected_style : normal_style; - var nx = this.transform_x(x,y) + this.x; - var ny = this.transform_y(x,y) + this.y; - - this.sch.draw_arc(c,nx,ny,radius,0,2*Math.PI,false,1,filled); -} - -rot_angle = [ - 0.0, // NORTH (identity) - Math.PI/2, // EAST (rot270) - Math.PI, // SOUTH (rot180) - 3*Math.PI/2, // WEST (rot90) - 0.0, // RNORTH (negy) - Math.PI/2, // REAST (int-neg) - Math.PI, // RSOUTH (negx) - 3*Math.PI/2, // RWEST (int-pos) -]; - -Component.prototype.draw_arc = function(c,x,y,radius,start_radians,end_radians) { - c.strokeStyle = this.selected ? selected_style : normal_style; - var nx = this.transform_x(x,y) + this.x; - var ny = this.transform_y(x,y) + this.y; - this.sch.draw_arc(c,nx,ny,radius, - start_radians+rot_angle[this.rotation],end_radians+rot_angle[this.rotation], - false,1,false); -} - -Component.prototype.draw = function(c) { -} - -// result of rotating an alignment [rot*9 + align] -aOrient = [ - 0, 1, 2, 3, 4, 5, 6, 7, 8, // NORTH (identity) - 2, 5, 8, 1, 4, 7, 0, 3, 6, // EAST (rot270) - 8, 7, 6, 5, 4, 3, 2, 1, 0, // SOUTH (rot180) - 6, 3, 0, 7, 4, 1, 8, 5, 3, // WEST (rot90) - 2, 1, 0, 5, 4, 3, 8, 7, 6, // RNORTH (negy) - 8, 5, 2, 7, 4, 1, 6, 3, 0, // REAST (int-neg) - 6, 7, 8, 3, 4, 5, 0, 1, 2, // RSOUTH (negx) - 0, 3, 6, 1, 4, 7, 2, 5, 8 // RWEST (int-pos) -]; - -textAlign = [ - 'left', 'center', 'right', - 'left', 'center', 'right', - 'left', 'center', 'right' -]; - -textBaseline = [ - 'top', 'top', 'top', - 'middle', 'middle', 'middle', - 'bottom', 'bottom', 'bottom' -]; - -Component.prototype.draw_text = function(c,text,x,y,alignment,size) { - var a = aOrient[this.rotation*9 + alignment]; - c.textAlign = textAlign[a]; - c.textBaseline = textBaseline[a]; - c.fillStyle = this.selected ? selected_style : normal_style; - this.sch.draw_text(c,text, - this.transform_x(x,y) + this.x, - this.transform_y(x,y) + this.y, - size); -} - -Component.prototype.set_select = function(which) { - if (which != this.selected) { - this.selected = which; - // create an undoable edit record here - } -} - -Component.prototype.select = function(x,y,shiftKey) { - this.was_previously_selected = this.selected; - if (inside(this.bbox,x,y)) { - this.set_select(shiftKey ? !this.selected : true); - return true; - } else return false; -} - -Component.prototype.select_rect = function(s) { - this.was_previously_selected = this.selected; - if (intersect(this.bbox,s)) - this.set_select(true); -} - -// if connection point of component c bisects the -// wire represented by this compononent, return that -// connection point. Otherwise return null. -Component.prototype.bisect = function(c) { - return null; -} - -Component.prototype.edit_properties = function(x,y) { - if (inside(this.bbox,x,y)) { - var content = document.createElement('table'); - content.style.marginBotton = '5px'; - content.fields = []; - - // add an field for each property - for (var i in this.properties) { - var label = document.createTextNode(i + ': '); - var field = document.createElement('input'); - field.type = 'text'; - field.value = this.properties[i]; - field.size = 10; - content.fields.push([i,field]); - - var col1 = document.createElement('td'); - col1.appendChild(label); - var col2 = document.createElement('td'); - col2.appendChild(field); - var row = document.createElement('tr'); - row.appendChild(col1); - row.appendChild(col2); - row.style.verticalAlign = 'center'; - - content.appendChild(row); - } - - var component = this; // capture in closure below - this.sch.dialog('Edit Properties',content,function(content) { - var fields = content.fields; - for (var i = fields.length - 1; i >= 0; i--) - component.properties[fields[i][0]] = fields[i][1].value; - component.sch.redraw(); // component is selected, so this will redraw it - }); - return true; - } else return false; -} - -// clear the labels on all connections -Component.prototype.clear_labels = function() { - for (var i = this.connections.length - 1; i >=0; --i) { - this.connections[i].clear_label(); - } -} - -// default action: don't propagate label -Component.prototype.propagate_label = function(label) { -} - -// give components a chance to generate default labels for their connection(s) -// default action: do nothing -Component.prototype.add_default_labels = function() { -} - -// component should generate labels for all unlabeled connections -Component.prototype.label_connections = function() { - for (var i = this.connections.length - 1; i >=0; --i) { - var cp = this.connections[i]; - if (!cp.label) - cp.propagate_label(this.sch.get_next_label()); - } -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Connection point -// -//////////////////////////////////////////////////////////////////////////////// - -connection_point_radius = 2; - -function ConnectionPoint(parent,x,y) { - this.parent = parent; - this.offset_x = x; - this.offset_y = y; - this.location = ''; - this.update_location(); - this.label = null; -} - -ConnectionPoint.prototype.toString = function() { - return ''; -} - -ConnectionPoint.prototype.json = function() { - return this.label; -} - -ConnectionPoint.prototype.clear_label = function() { - this.label = null; -} - -ConnectionPoint.prototype.propagate_label = function(label) { - // should we check if existing label is the same? it should be... - - if (this.label == null) { - // label this connection point - this.label = label; - - // propagate label to coincident connection points - this.parent.sch.propagate_label(label,this.location); - - // possibly label other cp's for this device? - this.parent.propagate_label(label); - } -} - -ConnectionPoint.prototype.update_location = function() { - // update location string which we use as a key to find coincident connection points - var old_location = this.location; - var parent = this.parent; - var nx = parent.transform_x(this.offset_x,this.offset_y) + parent.x; - var ny = parent.transform_y(this.offset_x,this.offset_y) + parent.y; - this.x = nx; - this.y = ny; - this.location = nx + ',' + ny; - - // add ourselves to the connection list for the new location - parent.sch.update_connection_point(this,old_location); -} - -ConnectionPoint.prototype.coincident = function(x,y) { - return this.x==x && this.y==y; -} - -ConnectionPoint.prototype.draw = function(c,n) { - if (n != 2) - this.parent.draw_circle(c,this.offset_x,this.offset_y,connection_point_radius,n > 2); -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Wire -// -//////////////////////////////////////////////////////////////////////////////// - -near_distance = 2; // how close to wire counts as "near by" - -function Wire(sch,x1,y1,x2,y2) { - // arbitrarily call x1,y1 the origin - Component.call(this,sch,x1,y1,0); - this.dx = x2 - x1; - this.dy = y2 - y1; - this.add_connection(0,0); - this.add_connection(this.dx,this.dy); - - // compute bounding box (expanded slightly) - var r = [0,0,this.dx,this.dy]; - canonicalize(r); - r[0] -= near_distance; - r[1] -= near_distance; - r[2] += near_distance; - r[3] += near_distance; - this.bounding_box = r; - this.update_coords(); // update bbox - - // used in selection calculations - this.len = Math.sqrt(this.dx*this.dx + this.dy*this.dy); -} -Wire.prototype = new Component(); -Wire.prototype.constructor = Wire; - -Wire.prototype.toString = function() { - return ''; -} - -Wire.prototype.json = function() { - var json = ['w',[this.x, this.y, this.x+this.dx, this.y+this.dy]]; - return json; -} - -Wire.prototype.draw = function(c) { - this.draw_line(c,0,0,this.dx,this.dy); -} - -Wire.prototype.clone = function(sch,x,y) { - return new Wire(sch,x,y,x+this.dx,y+this.dy); -} - -Wire.prototype.near = function(x,y) { - // crude check: (x,y) within expanded bounding box of wire - if (inside(this.bbox,x,y)) { - // compute distance between x,y and nearst point on line - // http://www.allegro.cc/forums/thread/589720 - var D = Math.abs((x - this.x)*this.dy - (y - this.y)*this.dx)/this.len; - if (D <= near_distance) return true; - } - return false; -} - -Wire.prototype.select = function(x,y,shiftKey) { - this.was_previously_selected = this.selected; - if (this.near(x,y)) { - this.set_select(shiftKey ? !this.selected : true); - return true; - } else return false; -} - -// selection rectangle selects wire only if it includes -// one of the end points -Wire.prototype.select_rect = function(s) { - this.was_previously_selected = this.selected; - if (inside(s,this.x,this.y) || inside(s,this.x+this.dx,this.y+this.dy)) - this.set_select(true); -} - -// if connection point of component c bisects the -// wire represented by this compononent, return that -// connection point. Otherwise return null. -Wire.prototype.bisect = function(c) { - for (var i = c.connections.length - 1; i >= 0; --i) { - var cp = c.connections[i]; - var x = cp.x; - var y = cp.y; - - // crude check: (x,y) within expanded bounding box of wire - if (inside(this.bbox,x,y)) { - // compute distance between x,y and nearst point on line - // http://www.allegro.cc/forums/thread/589720 - var D = Math.abs((x - this.x)*this.dy - (y - this.y)*this.dx)/this.len; - // final check: ensure point isn't an end point of the wire - if (D < 1 && !this.connections[0].coincident(x,y) && !this.connections[1].coincident(x,y)) - return cp; - } - } - return null; -} - -Wire.prototype.move_end = function() { - this.sch.check_wires(this); -} - -// wires "conduct" their label to the other end -Wire.prototype.propagate_label = function(label) { - // don't worry about relabeling a cp, it won't recurse! - this.connections[0].propagate_label(label); - this.connections[1].propagate_label(label); -} - -// some actual component will start the labeling of electrical nodes, -// so do nothing here -Wire.prototype.label_connections = function() { -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Ground -// -//////////////////////////////////////////////////////////////////////////////// - -function Ground(sch,x,y,rotation) { - Component.call(this,sch,x,y,rotation); - this.add_connection(0,0); - this.bounding_box = [-6,0,6,8]; - this.update_coords(); - this.type = 'g'; -} -Ground.prototype = new Component(); -Ground.prototype.constructor = Ground; - -Ground.prototype.toString = function() { - return ''; -} - -Ground.prototype.draw = function(c) { - this.draw_line(c,0,0,0,8); - this.draw_line(c,-6,8,6,8); -} - -Ground.prototype.clone = function(sch,x,y) { - return new Ground(sch,x,y,this.rotation); -} - -// give components a chance to generate a label for their connection(s) -// default action: do nothing -Ground.prototype.add_default_labels = function() { - this.connections[0].propagate_label('0'); // canonical label for GND node -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Resistor -// -//////////////////////////////////////////////////////////////////////////////// - -function Resistor(sch,x,y,rotation,name,r) { - Component.call(this,sch,x,y,rotation); - this.properties['name'] = name; - this.properties['r'] = r ? r : '1'; - this.add_connection(0,0); - this.add_connection(0,48); - this.bounding_box = [-4,0,4,48]; - this.update_coords(); - this.type = 'r'; -} -Resistor.prototype = new Component(); -Resistor.prototype.constructor = Resistor; - -Resistor.prototype.toString = function() { - return ''; -} - -Resistor.prototype.draw = function(c) { - this.draw_line(c,0,0,0,12); - this.draw_line(c,0,12,4,14); - this.draw_line(c,4,14,-4,18); - this.draw_line(c,-4,18,4,22); - this.draw_line(c,4,22,-4,26); - this.draw_line(c,-4,26,4,30); - this.draw_line(c,4,30,-4,34); - this.draw_line(c,-4,34,0,36); - this.draw_line(c,0,36,0,48); - if (this.properties['r']) - this.draw_text(c,this.properties['r']+'\u03A9',5,24,3,property_size); - if (this.properties['name']) - this.draw_text(c,this.properties['name'],-5,24,5,property_size); -} - -Resistor.prototype.clone = function(sch,x,y) { - return new Resistor(sch,x,y,this.rotation,'',this.properties['r']); -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Capacitor -// -//////////////////////////////////////////////////////////////////////////////// - -function Capacitor(sch,x,y,rotation,name,c) { - Component.call(this,sch,x,y,rotation); - this.properties['name'] = name; - this.properties['c'] = c ? c : '1p'; - this.add_connection(0,0); - this.add_connection(0,48); - this.bounding_box = [-8,0,8,48]; - this.update_coords(); - this.type = 'c'; -} -Capacitor.prototype = new Component(); -Capacitor.prototype.constructor = Capacitor; - -Capacitor.prototype.toString = function() { - return ''; -} - -Capacitor.prototype.draw = function(c) { - this.draw_line(c,0,0,0,22); - this.draw_line(c,-8,22,8,22); - this.draw_line(c,-8,26,8,26); - this.draw_line(c,0,26,0,48); - if (this.properties['c']) - this.draw_text(c,this.properties['c']+'F',9,24,3,property_size); - if (this.properties['name']) - this.draw_text(c,this.properties['name'],-9,24,5,property_size); -} - -Capacitor.prototype.clone = function(sch,x,y) { - return new Capacitor(sch,x,y,this.rotation,'',this.properties['c']); -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Inductor -// -//////////////////////////////////////////////////////////////////////////////// - -function Inductor(sch,x,y,rotation,name,l) { - Component.call(this,sch,x,y,rotation); - this.properties['name'] = name; - this.properties['l'] = l ? l : '1n'; - this.add_connection(0,0); - this.add_connection(0,48); - this.bounding_box = [-4,0,5,48]; - this.update_coords(); - this.type = 'l'; -} -Inductor.prototype = new Component(); -Inductor.prototype.constructor = Inductor; - -Inductor.prototype.toString = function() { - return ''; -} - -Inductor.prototype.draw = function(c) { - this.draw_line(c,0,0,0,14); - this.draw_arc(c,0,18,4,6*Math.PI/4,3*Math.PI/4); - this.draw_arc(c,0,24,4,5*Math.PI/4,3*Math.PI/4); - this.draw_arc(c,0,30,4,5*Math.PI/4,2*Math.PI/4); - this.draw_line(c,0,34,0,48); - - if (this.properties['l']) - this.draw_text(c,this.properties['l']+'H',6,24,3,property_size); - if (this.properties['name']) - this.draw_text(c,this.properties['name'],-3,24,5,property_size); -} - -Inductor.prototype.clone = function(sch,x,y) { - return new Inductor(sch,x,y,this.rotation,'',this.properties['l']); -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Source -// -//////////////////////////////////////////////////////////////////////////////// - -function Source(sch,x,y,rotation,name,type,value) { - Component.call(this,sch,x,y,rotation); - this.type = type; - this.properties['name'] = name; - this.properties['value'] = value ? value : '1'; - this.add_connection(0,0); - this.add_connection(0,48); - this.bounding_box = [-12,0,12,48]; - this.update_coords(); -} -Source.prototype = new Component(); -Source.prototype.constructor = Source; - -Source.prototype.toString = function() { - return '<'+this.type+'source '+this.properties['params']+' ('+this.x+','+this.y+')>'; -} - -Source.prototype.draw = function(c) { - this.draw_line(c,0,0,0,12); - this.draw_circle(c,0,24,12,false); - this.draw_line(c,0,36,0,48); - - if (this.type == 'v') { // voltage source - // draw + and - - this.draw_line(c,8,5,8,11); - this.draw_line(c,5,8,11,8); - this.draw_line(c,5,40,11,40); - // draw V - this.draw_line(c,-3,20,0,28); - this.draw_line(c,3,20,0,28); - } else if (this.type == 'i') { // current source - // draw arrow: pos to neg - this.draw_line(c,0,16,0,32); - this.draw_line(c,-3,24,0,32); - this.draw_line(c,3,24,0,32); - } - - if (this.properties['name']) - this.draw_text(c,this.properties['name'],-13,24,5,property_size); - if (this.properties['value']) - this.draw_text(c,this.properties['value']+(this.type=='v'?'V':'A'),13,24,3,property_size); -} - -Source.prototype.clone = function(sch,x,y) { - return new Source(sch,x,y,this.rotation,'',this.type,this.properties['value']); -} - -function VSource(sch,x,y,rotation,name,value) { - Source.call(this,sch,x,y,rotation,name,'v',value); - this.type = 'v'; -} -VSource.prototype = new Component(); -VSource.prototype.constructor = VSource; -VSource.prototype.toString = Source.prototype.toString; -VSource.prototype.draw = Source.prototype.draw; -VSource.prototype.clone = Source.prototype.clone; - -function ISource(sch,x,y,rotation,name,value) { - Source.call(this,sch,x,y,rotation,name,'i',value); - this.type = 'i'; -} -ISource.prototype = new Component(); -ISource.prototype.constructor = ISource; -ISource.prototype.toString = Source.prototype.toString; -ISource.prototype.draw = Source.prototype.draw; -ISource.prototype.clone = Source.prototype.clone; diff --git a/courseware/static/js/video_player.js b/courseware/static/js/video_player.js deleted file mode 100644 index 811f69eca4..0000000000 --- a/courseware/static/js/video_player.js +++ /dev/null @@ -1,317 +0,0 @@ -// Things to abstract out to another file - -function postJSON(url, data, callback, csrf) { - $.ajax({ - url: url, - dataType: 'json', - data: data, - success: callback - }); -} - -var global=5; - -// Video player - -var load_id = 0; - -var video_speed = 1.0; - -function change_video_speed(speed, youtube_id) { - new_position = ytplayer.getCurrentTime() * video_speed / speed; - video_speed = speed; - ytplayer.loadVideoById(youtube_id, new_position); -} - -function caption_at(index) { - if (captions==0) - return " "; - - text_array=captions.text - - if ((index>=text_array.length) || (index < 0)) - return " "; - return text_array[index]; -} - -function caption_time_at(index) { - if (captions==0) - return 0; - - time_array=captions.start; - - if (index < 0) - return 0; - if (index>=time_array.length) - return ytplayer.getDuration(); - - return time_array[index] / 1000.0 / video_speed; -} - -function caption_index(now) { - // Returns the index of the current caption, given a time - now = now * video_speed; - - if (captions==0) - return 0; - - time_array=captions.start - - // TODO: Bisection would be better, or something incremental - var i; - for(i=0;i(now*1000)) { - return i-1; - } - } - return i-1; -} - -function update_captions(t) { - var i=caption_index(t); - $("#std_n5").html(caption_at(i-5)); - $("#std_n4").html(caption_at(i-4)); - $("#std_n3").html(caption_at(i-3)); - $("#std_n2").html(caption_at(i-2)); - $("#std_n1").html(caption_at(i-1)); - $("#std_0").html(caption_at(i)); - $("#std_p1").html(caption_at(i+1)); - $("#std_p2").html(caption_at(i+2)); - $("#std_p3").html(caption_at(i+3)); - $("#std_p4").html(caption_at(i+4)); - $("#std_p5").html(caption_at(i+5)); - $("#std_p6").html(caption_at(i+6)); -} - -function title_seek(i) { - // Seek video forwards or backwards by i subtitles - current=caption_index(getCurrentTime()); - new_time=caption_time_at(current+i); - - ytplayer.seekTo(new_time, true); -} - -function updateHTML(elmId, value) { - document.getElementById(elmId).innerHTML = value; -} - -function setytplayerState(newState) { - // updateHTML("playerstate", newState); -} - -// Updates server with location in video so we can resume from the same place -// IMPORTANT TODO: Load test -// POSSIBLE FIX: Move to unload() event and similar -var ajax_video=function(){}; - -function onYouTubePlayerReady(playerId) { - ytplayer = document.getElementById("myytplayer"); - setInterval(updateytplayerInfo, 1000); - setInterval(ajax_video,1000); - ytplayer.addEventListener("onStateChange", "onytplayerStateChange"); - ytplayer.addEventListener("onError", "onPlayerError"); - if((typeof load_id != "undefined") && (load_id != 0)) { - var id=load_id; - loadNewVideo(id, 0); - } - -} - -function videoDestroy() { - load_id = 0; - // TODO/BUG: Figure out why removeEventListener doesn't work - ytplayer.removeEventListener("onStateChange", "onytplayerStateChange"); - ytplayer.removeEventListener("onError", "onPlayerError"); - ytplayer = false; -} - -function log_event(e, d) { - // CRITICAL TODO: Change to AJAX - //$("#eventlog").append("
"); - //$("#eventlog").append(JSON.stringify(e)); - - // TODO: Figure out - // XMLHttpRequest cannot load http://localhost:7000/userlog. Origin http://localhost:8000 is not allowed by Access-Control-Allow-Origin. - - /*window['console'].log(JSON.stringify(e)); - $.get("http://localhost:7000/userlog", - {'user':'pmitros', - 'key':'key', - 'event_type':'unknown', - 'data':'e'}, - function(data) { - });*/ -} - -function seek_slide(type,oe,value) { - //log_event('video', [type, value]); - if(type=='slide') { - // HACK/TODO: Youtube recommends this be false for slide and true for stop. - // Works better on my system with true/true. - // We should test both configurations on low/high bandwidth - // connections, and different browsers - // One issue is that we query the Youtube window every 250ms for position/state - // With false, it returns the old one (ignoring the new seek), and moves the - // scroll bar to the wrong spot. - ytplayer.seekTo(value, true); - } else if (type=='stop') { - ytplayer.seekTo(value, true); - log_event('video', [type, value]); - } - - update_captions(value); -} - -function get_state() { - if (ytplayer) - return [ytplayer.getPlayerState(), - ytplayer.getVideoUrl(), - ytplayer.getDuration(), ytplayer.getCurrentTime(), - ytplayer.getVideoBytesLoaded(), ytplayer.getVideoBytesTotal(), - ytplayer.getVideoStartBytes(), - ytplayer.getVolume(),ytplayer.isMuted(), - ytplayer.getPlaybackQuality(), - ytplayer.getAvailableQualityLevels()]; - return []; -} - -function onytplayerStateChange(newState) { - setytplayerState(newState); - log_event('video', ['State Change',newState, get_state()]); -} - -function onPlayerError(errorCode) { - alert("An error occured: " + errorCode); -} - -function updateytplayerInfo() { - if(ytplayer.getPlayerState()!=3) { - $("#slider").slider("option","max",ytplayer.getDuration()); - $("#slider").slider("option","value",ytplayer.getCurrentTime()); - } - if (getPlayerState() == 1){ - update_captions(getCurrentTime()); - } - - // updateHTML("videoduration", getDuration()); - // updateHTML("videotime", getCurrentTime()); - // updateHTML("startbytes", getStartBytes()); - // updateHTML("volume", getVolume()); -} - -// functions for the api calls -function loadNewVideo(id, startSeconds) { - captions={"start":[0],"end":[0],"text":["Attempting to load captions..."]}; - $.getJSON("/static/subs/"+id+".srt.sjson", function(data) { - captions=data; - }); - load_id = id; - //if ((typeof ytplayer != "undefined") && (ytplayer.type=="application/x-shockwave-flash")) { - // Try it every time. If we fail, we want the error message for now. - // TODO: Add try/catch - try { - ytplayer.loadVideoById(id, parseInt(startSeconds)); - load_id=0; - } - catch(e) { - window['console'].log(JSON.stringify(e)); - } -} - -function cueNewVideo(id, startSeconds) { - if (ytplayer) { - ytplayer.cueVideoById(id, startSeconds); - } -} - -function play() { - if (ytplayer) { - ytplayer.playVideo(); - } -} - -function pause() { - if (ytplayer) { - ytplayer.pauseVideo(); - } -} - -function stop() { - if (ytplayer) { - ytplayer.stopVideo(); - } -} - -function getPlayerState() { - if (ytplayer) { - return ytplayer.getPlayerState(); - } -} - -function seekTo(seconds) { - if (ytplayer) { - ytplayer.seekTo(seconds, true); - } -} - -function getBytesTotal() { - if (ytplayer) { - return ytplayer.getVideoBytesTotal(); - } -} - -function getCurrentTime() { - if (ytplayer) { - return ytplayer.getCurrentTime(); - } -} - -function getDuration() { - if (ytplayer) { - return ytplayer.getDuration(); - } -} - -function getStartBytes() { - if (ytplayer) { - return ytplayer.getVideoStartBytes(); - } -} - -function mute() { - if (ytplayer) { - ytplayer.mute(); - } -} - -function unMute() { - if (ytplayer) { - ytplayer.unMute(); - } -} - -function getEmbedCode() { - alert(ytplayer.getVideoEmbedCode()); -} - -function getVideoUrl() { - alert(ytplayer.getVideoUrl()); -} - -function setVolume(newVolume) { - if (ytplayer) { - ytplayer.setVolume(newVolume); - } -} - -function getVolume() { - if (ytplayer) { - return ytplayer.getVolume(); - } -} - -function clearVideo() { - if (ytplayer) { - ytplayer.clearVideo(); - } -} \ No newline at end of file diff --git a/courseware/static/js/video_player.js~ b/courseware/static/js/video_player.js~ deleted file mode 100644 index 3b47fe942e..0000000000 --- a/courseware/static/js/video_player.js~ +++ /dev/null @@ -1,260 +0,0 @@ -var load_id; - -function caption_at(index) { - if (captions==0) - return " "; - - text_array=captions.text - - if ((index>=text_array.length) || (index < 0)) - return " "; - return text_array[index]; -} - -function caption_time_at(index) { - if (captions==0) - return 0; - - time_array=captions.start; - - if (index < 0) - return 0; - if (index>=time_array.length) - return ytplayer.getDuration(); - - return time_array[index]/1000.0; -} - -function caption_index(now) { - // Returns the index of the current caption, given a time - if (captions==0) - return 0; - - time_array=captions.start - - // TODO: Bisection would be better, or something incremental - var i; - for(i=0;i(now*1000)) { - return i-1; - } - } - return i-1; -} - -function update_captions(t) { - var i=caption_index(t); - $("#std_n5").html(caption_at(i-5)); - $("#std_n4").html(caption_at(i-4)); - $("#std_n3").html(caption_at(i-3)); - $("#std_n2").html(caption_at(i-2)); - $("#std_n1").html(caption_at(i-1)); - $("#std_0").html(caption_at(i)); - $("#std_p1").html(caption_at(i+1)); - $("#std_p2").html(caption_at(i+2)); - $("#std_p3").html(caption_at(i+3)); - $("#std_p4").html(caption_at(i+4)); - $("#std_p5").html(caption_at(i+5)); - $("#std_p6").html(caption_at(i+6)); -} - -function title_seek(i) { - // Seek video forwards or backwards by i subtitles - current=caption_index(getCurrentTime()); - new_time=caption_time_at(current+i); - - ytplayer.seekTo(new_time, true); -} - -function updateHTML(elmId, value) { - document.getElementById(elmId).innerHTML = value; -} - -function setytplayerState(newState) { - updateHTML("playerstate", newState); -} - -function onYouTubePlayerReady(playerId) { - ytplayer = document.getElementById("myytplayer"); - setInterval(updateytplayerInfo, 250); - ytplayer.addEventListener("onStateChange", "onytplayerStateChange"); - ytplayer.addEventListener("onError", "onPlayerError"); - if((typeof load_id != "undefined") && (load_id != null)) { - var id=load_id; - load_id = null; - loadNewVideo(id); - } - -} - -function log_event(e) { - //$("#eventlog").append("
"); - //$("#eventlog").append(JSON.stringify(e)); - window['console'].log(JSON.stringify(e)); -} - -function seek_slide(type,oe,value) { - //log_event([type, value]); - if(type=='slide') { - // HACK/TODO: Youtube recommends this be false for slide and true for stop. - // Works better on my system with true/true. - // We should test both configurations on low/high bandwidth - // connections, and different browsers - // One issue is that we query the Youtube window every 250ms for position/state - // With false, it returns the old one (ignoring the new seek), and moves the - // scroll bar to the wrong spot. - ytplayer.seekTo(value, true); - } else if (type=='stop') { - ytplayer.seekTo(value, true); - log_event([type, value]); - } - - update_captions(value); -} - -function get_state() { - if (ytplayer) - return [ytplayer.getPlayerState(), - ytplayer.getVideoUrl(), - ytplayer.getDuration(), ytplayer.getCurrentTime(), - ytplayer.getVideoBytesLoaded(), ytplayer.getVideoBytesTotal(), - ytplayer.getVideoStartBytes(), - ytplayer.getVolume(),ytplayer.isMuted(), - ytplayer.getPlaybackQuality(), - ytplayer.getAvailableQualityLevels()]; - return []; -} - -function onytplayerStateChange(newState) { - setytplayerState(newState); - log_event(['State Change',newState, get_state()]); -} - -function onPlayerError(errorCode) { - alert("An error occured: " + errorCode); -} - -function updateytplayerInfo() { - if(ytplayer.getPlayerState()!=3) { - $("#slider").slider("option","max",ytplayer.getDuration()); - $("#slider").slider("option","value",ytplayer.getCurrentTime()); - } - update_captions(getCurrentTime()); - - updateHTML("videoduration", getDuration()); - updateHTML("videotime", getCurrentTime()); - updateHTML("startbytes", getStartBytes()); - updateHTML("volume", getVolume()); -} - -// functions for the api calls -function loadNewVideo(id, startSeconds) { - if (typeof ytplayer != "undefined") { - ytplayer.loadVideoById(id, parseInt(startSeconds)); - } else { - load_id = id; - } - - $.getJSON("/static/subs/"+id+".srt.sjson", function(data) { - captions=data; - }); - -} - -function cueNewVideo(id, startSeconds) { - if (ytplayer) { - ytplayer.cueVideoById(id, startSeconds); - } -} - -function play() { - if (ytplayer) { - ytplayer.playVideo(); - } -} - -function pause() { - if (ytplayer) { - ytplayer.pauseVideo(); - } -} - -function stop() { - if (ytplayer) { - ytplayer.stopVideo(); - } -} - -function getPlayerState() { - if (ytplayer) { - return ytplayer.getPlayerState(); - } -} - -function seekTo(seconds) { - if (ytplayer) { - ytplayer.seekTo(seconds, true); - } -} - -function getBytesTotal() { - if (ytplayer) { - return ytplayer.getVideoBytesTotal(); - } -} - -function getCurrentTime() { - if (ytplayer) { - return ytplayer.getCurrentTime(); - } -} - -function getDuration() { - if (ytplayer) { - return ytplayer.getDuration(); - } -} - -function getStartBytes() { - if (ytplayer) { - return ytplayer.getVideoStartBytes(); - } -} - -function mute() { - if (ytplayer) { - ytplayer.mute(); - } -} - -function unMute() { - if (ytplayer) { - ytplayer.unMute(); - } -} - -function getEmbedCode() { - alert(ytplayer.getVideoEmbedCode()); -} - -function getVideoUrl() { - alert(ytplayer.getVideoUrl()); -} - -function setVolume(newVolume) { - if (ytplayer) { - ytplayer.setVolume(newVolume); - } -} - -function getVolume() { - if (ytplayer) { - return ytplayer.getVolume(); - } -} - -function clearVideo() { - if (ytplayer) { - ytplayer.clearVideo(); - } -} \ No newline at end of file diff --git a/courseware/static/pixel.jpg b/courseware/static/pixel.jpg deleted file mode 100644 index 8fbe381c7a10554725740e293b400d2901426637..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmex=LJ%Z3btM5{dxG z5Q+={Y5sqJL6C!ik%5t!QHg;`kdaxC@&6G9QJ~`(PyrWESVRC_lmR4)p%yGEh^h7# V0}nGJ&=zJv278A64UGS90sx~CAwvKF diff --git a/courseware/static/staff/agarwal-mit-news-small.jpg b/courseware/static/staff/agarwal-mit-news-small.jpg deleted file mode 100644 index 900038d394837dfeeb95d6584e7d530e58edebcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11325 zcmbukRaYEL7p>cP(9pO;aA^omNaId$ryF;7Pmln?-5YmzcL)Thf#5E|ofi+j^PREJ zFW9s0s^)xFUDOy=W7XTz+ZF)#i;TPs00993Aop(o-d+JhlIqgpnkwp_X{^lIZJjNw zXgs+%IBA$Y+-w}JXym`h(tJ^smZkCJ=Vk%XxOkY@+qnDC2-9$Ja$>x#0wn*(`hU{@ zApcK*|ApUv0)X!TjsQm_1X=(h5CI8@@HPOT1OO0`{y#S0|LPq&DjEg~G7=)@zhwbj z03sp+(*J~r^bYBt<)0fF1r>;ghX3Im0T+N)9Gy^&j$6XS1%sY}M?EmVk2j(IUyuUf z|8oC-ECB7@zZ?=G;D1%Qf&Ukah>D1Sg7D9SfQSS{M#1|4;1Wm0r{z{dBcL;J2_#H# zrDu@Hub+Nf0bn8hLjsY208xOEdxM^a8rFal63@jgeUUr70GOf6@MQig@e*;J|3P53!V9P z7fhK|SO89zl|VlzR>tZ>rSt@a<4Xt@$^%^5l@;7@=~jbyD0<6p+fCR@cJPUh%0^P& zkD!&@#V=P%2-NL{t~7b!=l^bM(=V~l`?5M3DPR=y0rQ-*x2z$);E)jHuQj)$Wo!5M zxIS#=GI<24oYFUCao(JXxh24sU?pxiw*+L7`iK?l({ibLWGtldXPbas(Sz4*$Fi z#Lg(HIfm|Bvs!`uv~%_>iE6Ju|1aA}o|57A#|*TLUAMl=0Ik@Sdn|~Nn+|~a6uXw1 zq2`yD=+6&Da8QAW+{m{w7v^PlWF?I4k-n30H> z(gqNaL(VL_PI+Ww)P!+?&7PsG0+-wyz#}ii%=U{elR)(}^;l#FZ*Y_og^+=SET}?} zl4C8DXdT9&E0MqOpZO|oMCvl4-&lEaLJMok*WCrVVdLMU*1dhiQcFw|Ih&2n(r$fN zg0JXjq(T+5%$)=X$Ysdft#h9qgNOXLbogo-XG3HVSKMy7Qy4pFt354G_LmJTR+v>A za8$z;r|io)CC0q_S3)QhfAHX!^XLj?D|o|0p8X=#>$R%{EXGsU zXSfAOvHC(rh4~lAhQZLNYRg7}1|9_Hq_%64>yzMrbOv_)2Rb#Gc-A^7G5)lYtOr=} z!METNXjqBQF>I}ve<4Z}AC||2kGc|PM#wo;Ct5x#qwhOXmIB%u;rloT`P-YWkDo+3 zW^SX-zG}|eY%holSJX3OzfP-3$w} zJ|0Y1!;7&jYv-67_1^$_QSI##$IIk^dJFrBda~*uMj9~=b87BHK;x$FuuI&kq}>a6 zUWqVnKEoz{j6WhJr;LknrY#U6QXRWYB1wovN`wRrV-75L)8ceVAS3B=tgDR34=dDe zQHMuSjC$F1TR*%vIq~Il)C$DQa8z+zxxlwgf}d8aPWP&86dxOA-L3+sF^NNmB91wT zKYnq!tt#0Q;%J&BS@m&Wt~8#gHEJ(bpGVV95FgdADV-k}ER) zJ~EiW2-bS%xTialvK=B2DMUYvM-$JAny=0@sOxN#)@E`~WeqgX$yJW-8Z_XIj{lzg zLlHgzzZf#JiQ5;2?OpLSN%2!JcOr5Y*y;5E6= z=77%%tw*UHw8^o8iB=u>VJi8Ob`|cxwG%*XANnd34NunH`DF384Ea0D_uc=5VxOs7 zg(I%NkLsx7{Lyy_xZHIcIS9V5-6;k>hMr_(v{s}v{oKW_nEvcoO)!lIsp45)HB0Oo z;{9Sl(*<<_zX!7L1Nj2kT;*7196BW?Ql^oc^ALM>`+ur$r8KrFSvSaOo8h7BBZQGQ zwe*!I+-{t7XD)Qi&kL;8Eed}<(8y<^<5Y?i{KkvV_C1G9Oh-&CjxHpc-N<)9QR+qy z6#KPY$2Wh}o%2lg1MWj2+GjZi6R;TkRE&U`brhyjBjL?XAH4$_(zIlDEPv}sNKk$|(~niRVB@H`?hf_zNMlQetIVr@{% zu(fIm>*#{TcM>Gu4OoC|Y?%A-UDc+Jrm(_-8G5&COvTXp$7q*07Z28*UHXq8WdP&g z&8mV}NErF;a4+7r0j*|0)HEZUqiJJ;Sf~GiNhJVvbB^*MGmKs#Z6B{6rmfU;i`OPc+3RT z)F6o$?GUZh4@3!7g@o`n!i!t)dL2v+zZnUWH97tIsBH6_c|6iUhqbk-u~Qb822*z{ zBt=X9oZbfdR8N88F*79vbt~3N#FX2s>BmMgqhas#Y=H8dvlX50f=JkWj0f_#&R0ZY@p-cRvy4FLtz@1Nm*4q)a0FRUw zhz@O_5EcbQD?C~eMnw|Qqp=bnF80eRF20Zqu+F!{FPeJTw9y#{x zdoY^i5)2&*NygRZ-(`M`B6O8cS*9TRmDKVBuE6z@Shkuy8!M0|?y$!tQu%0;T&UzKZWmCol+Xqs;s=|+xkm6vHlYN z@_4|(?!Xkd^_L=w;FIV&j{NonV~5wbv|ZyoOEjDBFxVx}zNwJZvy{r@2GhQOwXmQq z;S9Er+#Q4Tg>4Qw zmfjTav(Zg$!YtINU>&;@W(%o z2ic8urn`U4GFn@X&+%ww@XCtJsV$4q%V@P`2p7flg$>`EielV2kV7)Lm6TCN!qCw0 z#2R?Y?kycEWLw52B$%)Sv8tuGc+o$85lO%7=KsYpFD<}ShFVwf`gM!hp=|(Jad!( z!7&j-nOhw{!2MGmIBZPi<`55|<{#urf zZ5bJ#&G}bfNhRT+npr)!`=ZBS-yQMQF`c6KU2RK6L9z^+)0`6EJ-;kdW$aM6rluW1 ze>g@TCmQ1Q!K#_DrUC2|eS=&&xWVLyY?t`Y#@VnViPM@+c6xw*&(+FRAeEvX*q=nB z#K4iK>H-9^~9G}PIx&#*L@tJefGE&IzVz>7ffx!}Y80XUDOd;$j&UAdcjx(`k=?M#TeQle zO#V$t!XFD66TBeJUe^+NZ8w*&yj7(_FKSoI{hT4oIo67nnMMnm^rUaHUkiTP5p?UG zl0(0<+IWid=@DMN=Ob&&Cpyudr{mO#i zgWVetXMTt+y*yZQ0f_;roT-g#$lY#v3Sres2@$ae)O_ai7=5HH057T0M`_xsyosqn z#e7-D*cf5Vjk&4A)Qr*NR{Z4@qi=XbB(tV2!o?g-m%d5g>7TMYCb^Bpl7IQNFG`!m zDk9RF1Ove`(_ks@h&Mom=cdn+S9alcKmt=q6eVGSdk#7x%_n_S+Q9MvckIZUB%*B` zWcoj8e!s%^Or;!H{s6nA9y%rm&S+$~F1w_Z-vA=~s{;WW0WpQvYkkFgMQR|cW(=XE zHWaj+?Gb|ad@mkZsknW_9`WFe&SLDoJg3w5fm8meUn?+nv$)kJ&5M4RdBd*hdLvfo zhMpdBv*oF1hmMZLd9I4aZo*(p}Gq?8xO4 z=GF~P9N67G&vE+=5R0%sg_a|@Um2ArxtJ@}NY)Z6P?6#IeYLTat9HmXxoiuhOvvu= z?5XvIo3LKDRDh;39_3tKAaMkhHWTcik`EoRel$MZFRP5M&Kil6yJ^-an#dY$kDk4) zZzUJET2tLnI_9@iyaRDjKJZm^22oSw<*T2WR$I{AKo#ut6p%7bwY_l#anLugIS>>2i|vICOIVIwGX%yq($J+Ch)HXM_t>En1`C_giPSM1 zN2ClzyQYLA2@#AM%y)9xi%E@-uQHkJAGf~;0s($X^lVq+F}G>)3Kn}_ntXo-j-@dP zXbgtWh2a2=9g%L&8HGHfQ`O~aGng;Ne%Gg-1ZeQ$6wUFuTjnTNg0ExB^LV`8E9_Hs z!YH0wMN4ieF=6XWu|r4MGF5mDZ4+K@T*(W%bKU(`swX$LA^lOPg9u#okJ?jW=0^3+US)ku zt&aRCTAwZ5`nG?Gpj z{pxx{emP@4?aGWKTK-6sBB9N=x z1kK%IH-_y&??AmSRmy0bup8s}Xvz`lQE5zlD+_XmM0kjW$UC%L0Ny&u3t9AhPmce% zWmEmGYnN7~IL(Q|SJN*t<|;7>pO`;n?-C=@#_oz^Tr7yBsmR?fYTWvfIlGb-^r>S6 zT7`sEUB($?KuDx3yoNw#qGes464mA+*+F21I(sc?ZC5|xWIC1ELc;GlF`D5;Ln!8m zZHc<$5o}+^VT~hW53u+anivz!Tf)NlDaI1d?ciQS~i^QZV z(|LYyK-fvLsB$yY!ah&M=6y@01UOWM+428}aa9%mlM4Ve#$hw#$C#pSWlhC4r;ae~ zKlFQ0{~5Th8{`|pp8or9x60h}y`~3~Qhn=VT6sWW>YR>Cn_738sAGl(vFmg+#e7jW z4NEId(Pdl9Ps8(wT2qZu5tz+h|9S14W`dP~4V&vRM?*pCrx4?QWnmenwVvj<=2jSA z!H^8`GL(y?L#v**%3ejQLpJs}WHQULlcd@z3hK(HVE@Z@Bi|k-->lvjwCBmjNeVp| z{EtHe`5pMSN~6;z*m}GQXxeEjA)&LK3b?=rygXGaXlZ%!Xxs z1$>koKh|g;vS&sg>`7|DJ;c za1IjuSk6@P)DnhlCs2IJGL|u>@}$JdJ{T;e)Y%og=`ZqN;w<;+;5Z;Ev=0R3zYyHG z$)eO2B+RRhl~8m zF{jy3@%Wx;5b(QNPcj$pJ9W}vgWx$!CE@Oy32WMzo3$#^21W}hMWN70dCj!HzR`A9 z=bhrv{rOwyu+~MT1APf-R7sL9Sbd(NI*N0J9t-20yxWjifz%IkOS(PJx`<)peVW4L zhs)keat9GwvuAJsSb6&P<`}2LuxfFoQ)9lIWZ;-xIs?9#kH^4!vg;%=V+RC;XKJ?q z_`cJkPVjQ&4uW zFVXCD(ME_R9<>{Y=rg1uRb1&4r6bjgzJ=Gy?S0%iXW-IUImvq>kGqQ$p{14S=faCA zD)rl^@L|_i!58@<}jDDsSmKSKrZf`vq!~L8~oCP%y?cx zc+NQ?Oxz!UV3qLfmQ9CkGlx>s%ie+KiyNP>?#CNN;71*?UDqgoI>q^^)fwd9;oY$o z*M&|Wq74#YOw*=El*QW3SQ$et>{tZ2c{)==Zvf@v&le^5JQ&t5F+_@0>yo5_sJi5& z1^5G6kZ!mP1Kcv@PofovA+NTGKgQQMrD;F$q~LU{sHAGin26Fn9Boke6`qr+Rx{NG z^jRv8r|5Topr<@t81_PJjWI7yTzyJI#>{U1-G|!b_>WBmO#GH&QbEK`)Crf=TfqR7 z%cEaak;h5g!s5rFTHalZRd9$*T+{--VKX*gRD%Z>5km+9o3_oh6|0mguB|^82gzMz zLV>WOouAsb(m1KP&Xl1Qz3yY?z|RxA1=UgYu_bNRS+Uw|sH|O>ns+_hC-iik?COry za~yfcX9$^nqI|H~AL56BN&w4SGB`Mafpby=B`kbKYgi7}qPmkl5%93UF zs!ksYPHK;j@UQ9CeYC&1;G3_!tpS6p$)TjdGi@^de=_Pyo`N)9LR@&HHNSs4Teblp zvMt#Nrq~KcPVEOz8+Ok`6QPsEm96j;Ei9JuDPyWFO>H%LgJO}m2(BXG+vSjPz{))@ zH#)pwgL^NAV|>AJX;3NB(|P9>e3W}6KX2IX(MwtdI*u+?Yt(L5=dj{_OqlE;G9|a7 zX)UEcDJ|taT4?-Iq2+q_HHGFU4_g@jd=t?5yk3~CsFM$fbeCN42qXl!RIV@B4fvZAWcK z>+$>d^Ie&ryNiH)jj+`n!Zm`G`i4+Z<7y&vbZsTondW#t>5j1hj)7#1IV>c!={G=a zWX8-bPR_FHi7g+?_ca&8Ek)?Q7JF3*(5oWh!&M?7gXsB!E&M4mm5r6~7=Jq3Ptd8@ zfaGRgYz~I6_6(a@Sf+I>^IZ zyC$@Z=pD4k?97gM)~0Cpy&bFKkLX?FPc(A4gb`R}W29!DEn1IbnV1qC!GQ_K3Ar&G zQh&>1ctDW97ZhcNX+GWp+S?VLMOk#fK1b>j2RHuHWn!N!JsZWdU>y143C^QfywQU; zbW%96hq(}zsreniPuV7`d$PoRTx+H>*^{v)ZLY(J-Nk)$DOs;Qe%O+$qCNSEZN7oI zFex&*K1D-$7;}bn4yu~SC@xk54XhEh>~ra8_YT zi$Ui!;3WFubGhxA`~0G1z;=tKSHASQot#%MV!Wo?(r8eieN@eaQ|#tGwULk<`R7Rs z;{>Cub;S+5C^UT9t2zl9!lF1tj6lES>4oh*!ymG{oJ7e7UcRD6 z4hI>VBQtvc-C*?E2!O2wOnN?CQ&TIRJ3}lI@zsLLo2L+#67G7Db@_IwK4F^Ur~!w^ zs^Ud25o_K6FW2{!gQDvBNOBr4yXII=zEm4@54qtRW-iw}f8#1uWG7zuvVI*@3`n{x zq*)So4RE=PP?dj*YoH3{;{i|hkETZeANNuTDpzfsD6kW!mn<0tvhQNQQiagzgV*A)plsKlZ9v9%Ad4p{$|0 zHj;~FA`Y_NqcpGzF(yFn3Jd1zab5D~#M4g*7an-WbG3p7UCzeKD0r@N& zF9(t$CAJ{1($#T!1=%CPGljOy%TpcbxiHrbA?Z1}9#<;Dvh=6pPf~pq3tvUO{V=&y-s-TF;^@u(~8qxgR-NTo}^X4|Stn8c5cwbtYYO%&@g9I8BQ`C`WVw$Dun z8XbfT*-bbjR2NIt2+z@4s)x?TZmEGVy>hGD`L#Rt1ws?=Xob$UmL?PyJ%>Npp079@ zVqw-GN^)W^R5)&1mIL{Xg~fD3G(!fw83MP{;;+gK%BNoYOMt+cBNz0At@aHN&CRA~ z#GXX7ayq=7V1X0%EVBg&aE=eA&zBtW_ZZEr~rF zgJ|K`(JUdGKruGZ{}V>xDP~8|0l;hMskM$;Hu6Y5k9Veaf=IKXn=0uWssY-=lRvHM zgu7(a>z%$9rIWbL>Hmg|PfzPg>5ZE+u^6U+l-Z?|dQ;)%`W2d7b1dpe^36U{9<(|^QXv6eUJb~~(8Ae?%y5bum4$Wp4C<1%nup)$NI`r|V1 zCh7(bf1}SpO0<3a;Kz3p26>D*CJH}niH3XxS6t{cmo<#3*D}c+p87@B&OP?L0sIHm zGIXI#D9}m=EzqRx1{hn)>O)Ees9ki$@OHLPSolV-h`Jac z|5+=rsEa6ea37)>_9{@0LW)&!ybN7w{#{s>&6-I-HVZvado+8*_0M@6p9|9uCd|6k zm|sD!F1=yu)^M`$NGcazp)2xED*cGtZ)57l^Z5-R5G7feBi+u8=|iE+q|9eD=~U_G zaZFt%Qtk1+w%d5Fh0jXsYjMTL;}<I1f^gli8DwGW z9`B-FhMe2|{;2jpGCiSx9Wm#*FG{IO`oIip7c>e^>~oa^H)K1E(&CFnk)k(%XeH}T zv(2Nkcio}RzU7ums`RwF&g$^?7~7Y3YdV$RB#&i|6k~blB15aj2f@57=b54a)n2B^D(YiHl_UY`7NtzMAT2uguFpLDp(}h37Xh#){eN5f& zh0W=*cm9TbAi35SbBY0qW$^9vJ{=|Q9ZP9rVlIVn5P3f!Y}#bsKg5aR_e@ih%Pt>-T+0h{X`yrxbTsfK8W~E#o_nvI2^nIHgjwJ!K7zL zn1TpYS88134oKj$m)@i6e|r{V5n{{p0kAmVpmo3E7KK zvNr(vS1dwE6ogsJcI2JrJ3@`Ai)3@3boXuSbE?Q{NN>M6z390lk5 zF+CEZ;RF|BOqX4X-p}?LJY9b`Jj0KVC=KF&9wa0Tt*}lgp#CJL4RI8uHS5L0$1(2v zl)#W4h%WUIXnSI(MBa|+_e+@%%{fGZei;S1>5sEzUDA?OG%)<)N|JnP=KNU4(1WV3 zZ4DK-$_9?5sBK%>Ch;mmqJeO6hRiLFOouy`a;G1Nx1>!=Gh%l9A)I!!e=10*OR=p# z3j#E-kU*)#d#6;A^$9%v-FoQHG_ja(-rx2mx6zoC=s&%j(du$boJ4HLYwQrELKfDo za+>24jT6WbQ8oPLsZv+-$WN)r6?@2VL~Pj+?|9F3Y#GZ@DJ5q9zXw}wHj6{b6$gvR zMf!Z1*1JirjN9PZ&)PYytAi}#wWyi5-F391)niB|dvdgL;qZ2;1YQCLeOcI*9`)@T zVERm8jwAHZ`qnA5R*yL8_(JltU;xCVI!~&B_*$4_wxf{n-zUUH`CUqA!zqVYL?wH@ zw@b~ePCK(cCGX9xM%nTid&zbSg3hgD{=gAjaQU949C~iJ?q2*ru65Y)TLS`7YyoP| z<{Rvl`CyPRzX8f!xZDj49r*RVEPUon!|BBg7%lFSo5EK~P{sB(YE$TO4009a9w)=1 zDu+|+fw84*8$l9usl2GB1uO&|5Ys>auWd(l`f-@St(BT-ht0GSL)OB|usTGB4V}QH zX(6CByVpLb@tKBDZ?Tiew<}*Q(y}dl@|$V^HcSwE{7H!-ey=H-yo-j{5Nio4mTPz z{4hN(UK?AgQVUkV@%q=bud0i{tYuGXWgTXIlbgrv50v@l>thWa9D5lD932&VPA}yb zQ0Onbb>Ly9e8?Jq?!pq`EoPaZu_=NNHiMC1^5E7@Gmz9SEihtN53SgP^0c>hEU|%3zm1_el1)$ zsc4a*$^?~SfI}7Itan6o*JS3x&l5@LX*S!=c!tp0M*XKC6))Ov01b|U*Al8SH(}@m zv^V;QG0yKr@OL*R|1yLmhA|U4&0-@o-=5;UzE~aS4m;!Q zm;%xfHR#R2NdD^s-cm}PdKkP9G4gVWZ1Vrbo2Hf`%W*DfO}JSqL&+zKN0NbkY#z~d zKQw7WRF$--K#Ah?NqZ4JnlN)F0#lEVG5#c_{o|k~P<^Kc!(>=HV diff --git a/courseware/static/staff/cjt-small.jpg b/courseware/static/staff/cjt-small.jpg deleted file mode 100644 index 4e8537de0bd5edb455451265442169f543c696ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10196 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 diff --git a/courseware/static/staff/pmitros-small.jpg b/courseware/static/staff/pmitros-small.jpg deleted file mode 100644 index ff63f6f9fd2e54b35596b2eb3e91d65df8e5119e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56491 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 sLf70