From 154c02e8f700a0bd9d9d9192c96beb605e10ad77 Mon Sep 17 00:00:00 2001 From: "Tomas \"Jethro\" Pokorny" Date: Sat, 24 Oct 2015 16:38:38 +0200 Subject: [PATCH 01/41] SQL skript pro generovani obalek. --- obalky.sql | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 obalky.sql diff --git a/obalky.sql b/obalky.sql new file mode 100644 index 00000000..d503fe62 --- /dev/null +++ b/obalky.sql @@ -0,0 +1,25 @@ +WITH akt_rocnik AS ( + SELECT rocnik FROM seminar_rocniky + WHERE id=(SELECT aktualni_rocnik_id FROM seminar_nastaveni) +), id_rocniku AS ( + SELECT id FROM seminar_rocniky + WHERE rocnik=(SELECT * FROM akt_rocnik) OR rocnik=(SELECT * FROM akt_rocnik)-1 +), id_cisel AS ( + SELECT seminar_cisla.id FROM seminar_cisla + INNER JOIN id_rocniku ON rocnik_id=id_rocniku.id +), problemy AS ( + SELECT seminar_problemy.id FROM seminar_problemy + INNER JOIN id_cisel ON cislo_zadani_id = id_cisel.id +), resitele AS( + SELECT DISTINCT resitel_id FROM seminar_reseni + INNER JOIN problemy ON problem_id=problemy.id +) +SELECT pohlavi_muz,jmeno,prijmeni,NULL,ulice,mesto,psc,stat FROM seminar_resitele +INNER JOIN resitele ON seminar_resitele.id=resitel_id +WHERE zasilat='domu' +UNION +SELECT res.pohlavi_muz,res.jmeno,res.prijmeni,sk.nazev,sk.ulice,sk.mesto,sk.psc,sk.stat +FROM seminar_resitele AS res +INNER JOIN resitele ON res.id=resitel_id +INNER JOIN seminar_skoly AS sk ON sk.id=skola_id +WHERE zasilat='do_skoly' \ No newline at end of file From b6f1cc11a2cf5844488e167d067047854d0317c8 Mon Sep 17 00:00:00 2001 From: "Tomas \"Jethro\" Pokorny" Date: Sat, 24 Oct 2015 22:05:36 +0200 Subject: [PATCH 02/41] Odstranen bordel na zacatku. --- obalky.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/obalky.sql b/obalky.sql index d503fe62..dede13b7 100644 --- a/obalky.sql +++ b/obalky.sql @@ -1,4 +1,4 @@ -WITH akt_rocnik AS ( +WITH akt_rocnik AS ( SELECT rocnik FROM seminar_rocniky WHERE id=(SELECT aktualni_rocnik_id FROM seminar_nastaveni) ), id_rocniku AS ( @@ -22,4 +22,4 @@ SELECT res.pohlavi_muz,res.jmeno,res.prijmeni,sk.nazev,sk.ulice,sk.mesto,sk.psc, FROM seminar_resitele AS res INNER JOIN resitele ON res.id=resitel_id INNER JOIN seminar_skoly AS sk ON sk.id=skola_id -WHERE zasilat='do_skoly' \ No newline at end of file +WHERE zasilat='do_skoly' From 4f0d2cdc9adbe3faaec3826dd70df661b0039218 Mon Sep 17 00:00:00 2001 From: "Tomas \"Jethro\" Pokorny" Date: Sat, 24 Oct 2015 23:28:15 +0200 Subject: [PATCH 03/41] Dokonceni obalek. - jsou v samostatne slozce - negeneruji se pro odmaturovane --- obalky/lisak.eps | 1603 +++++++++++++++++++++++++++++++ obalky/obalky-template.tex | 78 ++ obalky/obalky.py | 52 + obalky.sql => obalky/obalky.sql | 9 +- 4 files changed, 1738 insertions(+), 4 deletions(-) create mode 100644 obalky/lisak.eps create mode 100644 obalky/obalky-template.tex create mode 100755 obalky/obalky.py rename obalky.sql => obalky/obalky.sql (71%) diff --git a/obalky/lisak.eps b/obalky/lisak.eps new file mode 100644 index 00000000..3a136212 --- /dev/null +++ b/obalky/lisak.eps @@ -0,0 +1,1603 @@ +%%BeginDocument: ./Eps/lisak.eps +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: -191 -97 769 946 +%%Creator: CorelDRAW 8 +%%Title: L:\Prace\MaM\Obrazky\Lisak.eps +%%CreationDate: Tue May 11 17:28:49 1999 +%%For: Halef +%%DocumentProcessColors: Black +%%DocumentSuppliedResources: (atend) +%%EndComments +%%BeginProlog +/AutoFlatness false def +/AutoSteps 0 def +/CMYKMarks true def +/UseLevel 1 def +%Color profile: PROFILES.CCM - Obecn profil tiskrny CMYK - d. +%%BeginResource: procset wCorel8Dict 8.0 0 +/wCorel8Dict 300 dict def wCorel8Dict begin +% Copyright (c)1992-97 Corel Corporation +% All rights reserved. v8.0 r0.7 +/bd{bind def}bind def/ld{load def}bd/xd{exch def}bd/_ null def/rp{{pop}repeat} +bd/@cp/closepath ld/@gs/gsave ld/@gr/grestore ld/@np/newpath ld/Tl/translate ld +/$sv 0 def/@sv{/$sv save def}bd/@rs{$sv restore}bd/spg/showpage ld/showpage{} +bd currentscreen/@dsp xd/$dsp/@dsp def/$dsa xd/$dsf xd/$sdf false def/$SDF +false def/$Scra 0 def/SetScr/setscreen ld/setscreen{pop pop pop}bd/@ss{2 index +0 eq{$dsf 3 1 roll 4 -1 roll pop}if exch $Scra add exch load SetScr}bd +/SepMode_5 where{pop}{/SepMode_5 0 def}ifelse/CurrentInkName_5 where{pop} +{/CurrentInkName_5(Composite)def}ifelse/$ink_5 where{pop}{/$ink_5 -1 def} +ifelse/$c 0 def/$m 0 def/$y 0 def/$k 0 def/$t 1 def/$n _ def/$o 0 def/$fil 0 +def/$C 0 def/$M 0 def/$Y 0 def/$K 0 def/$T 1 def/$N _ def/$O 0 def/$PF false +def/s1c 0 def/s1m 0 def/s1y 0 def/s1k 0 def/s1t 0 def/s1n _ def/$bkg false def +/SK 0 def/SM 0 def/SY 0 def/SC 0 def/$op false def matrix currentmatrix/$ctm xd +/$ptm matrix def/$ttm matrix def/$stm matrix def/$ffpnt true def +/CorelDrawReencodeVect[16#0/grave 16#5/breve 16#6/dotaccent 16#8/ring +16#A/hungarumlaut 16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle +16#60/grave 16#7C/bar +16#82/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl +16#88/circumflex/perthousand/Scaron/guilsinglleft/OE +16#91/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash +16#98/tilde/trademark/scaron/guilsinglright/oe 16#9F/Ydieresis +16#A1/exclamdown/cent/sterling/currency/yen/brokenbar/section +16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/minus/registered/macron +16#b0/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered +16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown +16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis +16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply +16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls +16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla +16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis +16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide +16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def +/L2?/languagelevel where{pop languagelevel 2 ge}{false}ifelse def +/@BeginSysCorelDict{systemdict/Corel30Dict known{systemdict/Corel30Dict get +exec}if systemdict/CorelLexDict known{1 systemdict/CorelLexDict get exec}if}bd +/@EndSysCorelDict{systemdict/Corel30Dict known{end}if/EndCorelLexDict where +{pop EndCorelLexDict}if}bd AutoFlatness{/@ifl{dup currentflat exch sub 10 gt{ +([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator]\n)print flush +@np exit}{currentflat 2 add setflat}ifelse}bd/@fill/fill ld/fill{currentflat{ +{@fill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@eofill/eofill ld/eofill +{currentflat{{@eofill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@clip +/clip ld/clip{currentflat{{@clip}stopped{@ifl}{exit}ifelse}bind loop setflat} +bd/@eoclip/eoclip ld/eoclip{currentflat{{@eoclip}stopped{@ifl}{exit}ifelse} +bind loop setflat}bd/@stroke/stroke ld/stroke{currentflat{{@stroke}stopped +{@ifl}{exit}ifelse}bind loop setflat}bd}if L2?{/@ssa{true setstrokeadjust}bd}{ +/@ssa{}bd}ifelse/d/setdash ld/j/setlinejoin ld/J/setlinecap ld/M/setmiterlimit +ld/w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd/W/eoclip ld/c/curveto ld/C/c ld/l +/lineto ld/L/l ld/rl/rlineto ld/m/moveto ld/n/newpath ld/N/newpath ld/P{11 rp} +bd/u{}bd/U{}bd/A{pop}bd/q/@gs ld/Q/@gr ld/&{}bd/@j{@sv @np}bd/@J{@rs}bd/g{1 +exch sub/$k xd/$c 0 def/$m 0 def/$y 0 def/$t 1 def/$n _ def/$fil 0 def}bd/G{1 +sub neg/$K xd _ 1 0 0 0/$C xd/$M xd/$Y xd/$T xd/$N xd}bd/k{1 index type +/stringtype eq{/$t xd/$n xd}{/$t 0 def/$n _ def}ifelse/$k xd/$y xd/$m xd/$c xd +/$fil 0 def}bd/K{1 index type/stringtype eq{/$T xd/$N xd}{/$T 0 def/$N _ def} +ifelse/$K xd/$Y xd/$M xd/$C xd}bd/x/k ld/X/K ld/sf{1 index type/stringtype eq{ +/s1t xd/s1n xd}{/s1t 0 def/s1n _ def}ifelse/s1k xd/s1y xd/s1m xd/s1c xd}bd/i{ +dup 0 ne{setflat}{pop}ifelse}bd/v{4 -2 roll 2 copy 6 -2 roll c}bd/V/v ld/y{2 +copy c}bd/Y/y ld/@w{matrix rotate/$ptm xd matrix scale $ptm dup concatmatrix +/$ptm xd 1 eq{$ptm exch dup concatmatrix/$ptm xd}if 1 w}bd/@g{1 eq dup/$sdf xd +{/$scp xd/$sca xd/$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd/$SCA xd/$SCF xd} +if}bd/@D{2 index 0 eq{$dsf 3 1 roll 4 -1 roll pop}if 3 copy exch $Scra add exch +load SetScr/$dsp xd/$dsa xd/$dsf xd}bd/$ngx{$SDF{$SCF SepMode_5 0 eq{$SCA} +{$dsa}ifelse $SCP @ss}if}bd/p{/$pm xd 7 rp/$pyf xd/$pxf xd/$pn xd/$fil 1 def} +bd/@MN{2 copy le{pop}{exch pop}ifelse}bd/@MX{2 copy ge{pop}{exch pop}ifelse}bd +/InRange{3 -1 roll @MN @MX}bd/@sqr{dup 0 rl dup 0 exch rl neg 0 rl @cp}bd +/currentscale{1 0 dtransform matrix defaultmatrix idtransform dup mul exch dup +mul add sqrt 0 1 dtransform matrix defaultmatrix idtransform dup mul exch dup +mul add sqrt}bd/@unscale{}bd/wDstChck{2 1 roll dup 3 -1 roll eq{1 add}if}bd +/@dot{dup mul exch dup mul add 1 exch sub}bd/@lin{exch pop abs 1 exch sub}bd +/cmyk2rgb{3{dup 5 -1 roll add 1 exch sub dup 0 lt{pop 0}if exch}repeat pop}bd +/rgb2cmyk{3{1 exch sub 3 1 roll}repeat 3 copy @MN @MN 3{dup 5 -1 roll sub neg +exch}repeat}bd/rgb2g{2 index .299 mul 2 index .587 mul add 1 index .114 mul add +4 1 roll pop pop pop}bd/WaldoColor_5 where{pop}{/SetRgb/setrgbcolor ld/GetRgb +/currentrgbcolor ld/SetGry/setgray ld/GetGry/currentgray ld/SetRgb2 systemdict +/setrgbcolor get def/GetRgb2 systemdict/currentrgbcolor get def/SetHsb +systemdict/sethsbcolor get def/GetHsb systemdict/currenthsbcolor get def +/rgb2hsb{SetRgb2 GetHsb}bd/hsb2rgb{3 -1 roll dup floor sub 3 1 roll SetHsb +GetRgb2}bd/setcmykcolor where{pop/SetCmyk_5/setcmykcolor ld}{/SetCmyk_5{ +cmyk2rgb SetRgb}bd}ifelse/currentcmykcolor where{pop/GetCmyk/currentcmykcolor +ld}{/GetCmyk{GetRgb rgb2cmyk}bd}ifelse/setoverprint where{pop}{/setoverprint{ +/$op xd}bd}ifelse/currentoverprint where{pop}{/currentoverprint{$op}bd}ifelse +/@tc_5{5 -1 roll dup 1 ge{pop}{4{dup 6 -1 roll mul exch}repeat pop}ifelse}bd +/@trp{exch pop 5 1 roll @tc_5}bd/setprocesscolor_5{SepMode_5 0 eq{SetCmyk_5}{0 +4 $ink_5 sub index exch pop 5 1 roll pop pop pop pop SepsColor true eq{$ink_5 3 +gt{1 sub neg SetGry}{0 0 0 4 $ink_5 roll SetCmyk_5}ifelse}{1 sub neg SetGry} +ifelse}ifelse}bd/findcmykcustomcolor where{pop}{/findcmykcustomcolor{5 array +astore}bd}ifelse/setcustomcolor where{pop}{/setcustomcolor{exch aload pop +SepMode_5 0 eq{pop @tc_5 setprocesscolor_5}{CurrentInkName_5 eq{4 index}{0} +ifelse 6 1 roll 5 rp 1 sub neg SetGry}ifelse}bd}ifelse/@scc_5{dup type +/booleantype eq{setoverprint}{1 eq setoverprint}ifelse dup _ eq{pop +setprocesscolor_5 pop}{findcmykcustomcolor exch setcustomcolor}ifelse SepMode_5 +0 eq{true}{GetGry 1 eq currentoverprint and not}ifelse}bd/colorimage where{pop +/ColorImage{colorimage}def}{/ColorImage{/ncolors xd pop/dataaq xd{dataaq +ncolors dup 3 eq{/$dat xd 0 1 $dat length 3 div 1 sub{dup 3 mul $dat 1 index +get 255 div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div rgb2g +255 mul cvi exch pop $dat 3 1 roll put}for $dat 0 $dat length 3 idiv +getinterval pop}{4 eq{/$dat xd 0 1 $dat length 4 div 1 sub{dup 4 mul $dat 1 +index get 255 div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div +$dat 4 index 3 add get 255 div cmyk2rgb rgb2g 255 mul cvi exch pop $dat 3 1 +roll put}for $dat 0 $dat length ncolors idiv getinterval}if}ifelse}image}bd +}ifelse/setcmykcolor{1 5 1 roll _ currentoverprint @scc_5/$ffpnt xd}bd +/currentcmykcolor{0 0 0 0}bd/setrgbcolor{rgb2cmyk setcmykcolor}bd +/currentrgbcolor{currentcmykcolor cmyk2rgb}bd/sethsbcolor{hsb2rgb setrgbcolor} +bd/currenthsbcolor{currentrgbcolor rgb2hsb}bd/setgray{dup dup setrgbcolor}bd +/currentgray{currentrgbcolor rgb2g}bd/InsideDCS false def/IMAGE systemdict +/image get def/image{InsideDCS{IMAGE}{/EPSDict where{pop SepMode_5 0 eq{IMAGE} +{dup type/dicttype eq{dup/ImageType get 1 ne{IMAGE}{dup dup/BitsPerComponent +get 8 eq exch/BitsPerComponent get 1 eq or currentcolorspace 0 get/DeviceGray +eq and{CurrentInkName_5(Black)eq{IMAGE}{dup/DataSource get/TCC xd/Height get +abs{TCC pop}repeat}ifelse}{IMAGE}ifelse}ifelse}{2 index 1 ne{CurrentInkName_5 +(Black)eq{IMAGE}{/TCC xd pop pop exch pop abs{TCC pop}repeat}ifelse}{IMAGE} +ifelse}ifelse}ifelse}{IMAGE}ifelse}ifelse}bd}ifelse/WaldoColor_5 true def/@sft +{$tllx $pxf add dup $tllx gt{$pwid sub}if/$tx xd $tury $pyf sub dup $tury lt +{$phei add}if/$ty xd}bd/@stb{pathbbox/$ury xd/$urx xd/$lly xd/$llx xd}bd/@ep{{ +cvx exec}forall}bd/@tp{@sv/$in true def 2 copy dup $lly le{/$in false def}if +$phei sub $ury ge{/$in false def}if dup $urx ge{/$in false def}if $pwid add +$llx le{/$in false def}if $in{@np 2 copy m $pwid 0 rl 0 $phei neg rl $pwid neg +0 rl 0 $phei rl clip @np $pn cvlit load aload pop 7 -1 roll 5 index sub 7 -1 +roll 3 index sub Tl matrix currentmatrix/$ctm xd @ep pop pop pop pop}{pop pop +}ifelse @rs}bd/@th{@sft 0 1 $tly 1 sub{dup $psx mul $tx add{dup $llx gt{$pwid +sub}{exit}ifelse}loop exch $phei mul $ty exch sub 0 1 $tlx 1 sub{$pwid mul 3 +copy 3 -1 roll add exch @tp pop}for pop pop}for}bd/@tv{@sft 0 1 $tlx 1 sub{dup +$pwid mul $tx add exch $psy mul $ty exch sub{dup $ury lt{$phei add}{exit} +ifelse}loop 0 1 $tly 1 sub{$phei mul 3 copy sub @tp pop}for pop pop}for}bd/$fm +0 def/wfill{1 $fm eq{fill}{eofill}ifelse}bd/wclip{1 $fm eq{clip}{eoclip}ifelse +}bd/@pf{@gs $ctm setmatrix $pm concat @stb wclip @sv Bburx Bbury $pm itransform +/$tury xd/$turx xd Bbllx Bblly $pm itransform/$tlly xd/$tllx xd newpath $tllx +$tlly m $tllx $tury l $turx $tury l $turx $tlly l $tllx $tlly m @cp pathbbox +@rs/$tury xd/$turx xd/$tlly xd/$tllx xd/$wid $turx $tllx sub def/$hei $tury +$tlly sub def @gs $vectpat{1 0 0 0 0 _ $o @scc_5{wfill}if}{$t $c $m $y $k $n $o +@scc_5{SepMode_5 0 eq $pfrg or{$tllx $tlly Tl $wid $hei scale <00> 8 1 false[8 +0 0 1 0 0]{}imagemask}{/$bkg true def}ifelse}if}ifelse @gr $wid 0 gt $hei 0 gt +and{$pn cvlit load aload pop/$pd xd 3 -1 roll sub/$phei xd exch sub/$pwid xd +$wid $pwid div ceiling 1 add/$tlx xd $hei $phei div ceiling 1 add/$tly xd $psx +0 eq{@tv}{@th}ifelse}if @gr @np/$bkg false def}bd/@Pf{@sv SepMode_5 0 eq $Psc 0 +ne or $ink_5 3 eq or{0 J 0 j[]0 d $t $c $m $y $k $n $o @scc_5 pop $ctm +setmatrix 72 1000 div dup matrix scale dup concat dup Bburx exch Bbury exch +itransform ceiling cvi/Bbury xd ceiling cvi/Bburx xd Bbllx exch Bblly exch +itransform floor cvi/Bblly xd floor cvi/Bbllx xd $Prm aload pop $Psn load exec +}{1 SetGry wfill}ifelse @rs @np}bd/F{matrix currentmatrix $sdf{$scf $sca $scp +@ss}if $fil 1 eq{@pf}{$fil 2 eq{@ff}{$fil 3 eq{@Pf}{$t $c $m $y $k $n $o @scc_5 +{wfill}{@np}ifelse}ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp @ss}if setmatrix} +bd/f{@cp F}bd/S{matrix currentmatrix $ctm setmatrix $SDF{$SCF $SCA $SCP @ss}if +$T $C $M $Y $K $N $O @scc_5{matrix currentmatrix $ptm concat stroke setmatrix} +{@np}ifelse $SDF{$dsf $dsa $dsp @ss}if setmatrix}bd/s{@cp S}bd/B{@gs F @gr S} +bd/b{@cp B}bd/_E{5 array astore exch cvlit xd}bd/@cc{currentfile $dat +readhexstring pop}bd/@sm{/$ctm $ctm currentmatrix def}bd/@E{/Bbury xd/Bburx xd +/Bblly xd/Bbllx xd}bd/@c{@cp}bd/@p{/$fil 1 def 1 eq dup/$vectpat xd{/$pfrg true +def}{@gs $t $c $m $y $k $n $o @scc_5/$pfrg xd @gr}ifelse/$pm xd/$psy xd/$psx xd +/$pyf xd/$pxf xd/$pn xd}bd/@P{/$fil 3 def/$Psn xd/$Psc xd array astore/$Prm xd +}bd/@ii{concat 3 index 3 index m 3 index 1 index l 2 copy l 1 index 3 index l 3 +index 3 index l clip pop pop pop pop}bd/tcc{@cc}def/@i{@sm @gs @ii 6 index 1 ne +{/$frg true def pop pop}{1 eq{s1t s1c s1m s1y s1k s1n $O @scc_5/$frg xd}{/$frg +false def}ifelse 1 eq{@gs $ctm setmatrix F @gr}if}ifelse @np/$ury xd/$urx xd +/$lly xd/$llx xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul 8 div ceiling cvi +string def $bkg $frg or{$SDF{$SCF $SCA $SCP @ss}if $llx $lly Tl $urx $llx sub +$ury $lly sub scale $bkg{$t $c $m $y $k $n $o @scc_5 pop}if $wid $hei abs $bts +1 eq{$bkg}{$bts}ifelse[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]/tcc load +$bts 1 eq{imagemask}{image}ifelse $SDF{$dsf $dsa $dsp @ss}if}{$hei abs{tcc pop} +repeat}ifelse @gr $ctm setmatrix}bd/@I{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd +/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div +ceiling cvi string def $ngx $llx $lly Tl $urx $llx sub $ury $lly sub scale $wid +$hei abs $bts[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]/@cc load false $ncl +ColorImage $SDF{$dsf $dsa $dsp @ss}if @gr $ctm setmatrix}bd/COMP 0 def +/MaskedImage false def L2?{/@I_2{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd/$llx +xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div ceiling +cvi string def $ngx $ncl 1 eq{/DeviceGray}{$ncl 3 eq{/DeviceRGB}{/DeviceCMYK} +ifelse}ifelse setcolorspace $llx $lly Tl $urx $llx sub $ury $lly sub scale 8 +dict begin/ImageType 1 def/Width $wid def/Height $hei abs def/BitsPerComponent +$bts def/Decode $ncl 1 eq{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0 1 0 1 0 1 0 1]} +ifelse}ifelse def/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def +/DataSource currentfile/ASCII85Decode filter COMP 1 eq{/DCTDecode filter}{COMP +2 eq{/RunLengthDecode filter}if}ifelse def currentdict end image $SDF{$dsf $dsa +$dsp @ss}if @gr $ctm setmatrix}bd}{/@I_2{}bd}ifelse/@I_3{@sm @gs @ii @np/$ury +xd/$urx xd/$lly xd/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul +$ncl mul 8 div ceiling cvi string def $ngx $ncl 1 eq{/DeviceGray}{$ncl 3 eq +{/DeviceRGB}{/DeviceCMYK}ifelse}ifelse setcolorspace $llx $lly Tl $urx $llx sub +$ury $lly sub scale/ImageDataDict 8 dict def ImageDataDict begin/ImageType 1 +def/Width $wid def/Height $hei abs def/BitsPerComponent $bts def/Decode $ncl 1 +eq{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0 1 0 1 0 1 0 1]}ifelse}ifelse def +/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def/DataSource +currentfile/ASCII85Decode filter COMP 1 eq{/DCTDecode filter}{COMP 2 eq{ +/RunLengthDecode filter}if}ifelse def end/MaskedImageDict 7 dict def +MaskedImageDict begin/ImageType 3 def/InterleaveType 3 def/MaskDict +ImageMaskDict def/DataDict ImageDataDict def end MaskedImageDict image $SDF +{$dsf $dsa $dsp @ss}if @gr $ctm setmatrix}bd/@SetMask{/$mbts xd/$mhei xd/$mwid +xd/ImageMaskDict 8 dict def ImageMaskDict begin/ImageType 1 def/Width $mwid def +/Height $mhei abs def/BitsPerComponent $mbts def/DataSource maskstream def +/ImageMatrix[$mwid 0 0 $mhei neg 0 $mhei 0 gt{$mhei}{0}ifelse]def/Decode[1 0] +def end}bd/@B{@gs S @gr F}bd/@b{@cp @B}bd/@sep{CurrentInkName_5(Composite)eq +{/$ink_5 -1 def}{CurrentInkName_5(Cyan)eq{/$ink_5 0 def}{CurrentInkName_5 +(Magenta)eq{/$ink_5 1 def}{CurrentInkName_5(Yellow)eq{/$ink_5 2 def}{ +CurrentInkName_5(Black)eq{/$ink_5 3 def}{/$ink_5 4 def}ifelse}ifelse}ifelse} +ifelse}ifelse}bd/@whi{@gs -72000 dup m -72000 72000 l 72000 dup l 72000 -72000 +l @cp 1 SetGry fill @gr}bd/@neg{[{1 exch sub}/exec cvx currenttransfer/exec +cvx]cvx settransfer @whi}bd/deflevel 0 def/@sax{/deflevel deflevel 1 add def} +bd/@eax{/deflevel deflevel dup 0 gt{1 sub}if def deflevel 0 gt{/eax load}{eax} +ifelse}bd/eax{{exec}forall}bd/@rax{deflevel 0 eq{@rs @sv}if}bd/@daq{dup type +/arraytype eq{{}forall}if}bd/@BMP{/@cc xd UseLevel 3 eq MaskedImage true eq and +{7 -2 roll pop pop @I_3}{12 index 1 gt UseLevel 2 eq UseLevel 3 eq or and{7 -2 +roll pop pop @I_2}{11 index 1 eq{12 -1 roll pop @i}{7 -2 roll pop pop @I} +ifelse}ifelse}ifelse}bd systemdict/pdfmark known not{/pdfmark/cleartomark ld} +if +end +%%EndResource +%%EndProlog +%%BeginSetup +wCorel8Dict begin +@BeginSysCorelDict +2.6131 setmiterlimit +1.00 setflat +/$fst 128 def +%%EndSetup + +%%Page: 1 1 +%LogicalPage: 1 +%%BeginPageSetup +@sv +@sm +@sv +%%EndPageSetup +@rax %Note: Object +482.82180 -96.51912 768.51780 183.48888 @E + 1 O 0 @g +0.00 0.00 0.00 1.00 k +/$fm 0 def +614.79780 -96.51912 m +610.54980 -96.23112 606.30180 -96.01512 602.05380 -95.79912 C +594.49380 -90.75912 581.53380 -79.52712 580.23780 -71.31912 C +573.54180 -72.90312 569.86980 -76.71912 564.46980 -80.75112 C +552.15780 -82.69512 539.12580 -86.94312 527.60580 -86.36712 C +523.57380 -78.30312 530.26980 -71.10312 536.96580 -68.29512 C +538.76580 -62.10312 543.30180 -61.16712 548.62980 -57.71112 C +548.05380 -50.00712 537.32580 -44.82312 535.88580 -36.61512 C +535.38180 -36.61512 534.87780 -36.61512 534.37380 -36.61512 C +532.50180 -26.82312 531.70980 -26.10312 531.34980 -23.79912 C +533.65380 -22.64712 533.65380 -22.64712 534.37380 -20.77512 C +547.33380 -17.96712 552.58980 -17.03112 564.82980 -26.10312 C +565.04580 -28.04712 576.56580 -35.39112 580.23780 -35.89512 C +582.54180 -11.48712 580.59780 7.59288 565.98180 27.10488 C +565.18980 27.24888 564.39780 27.39288 563.67780 27.46488 C +562.23780 18.17688 557.84580 10.32888 552.01380 2.55288 C +540.92580 -2.05512 538.54980 13.64088 536.60580 19.90488 C +535.81380 19.90488 535.09380 19.90488 534.37380 19.90488 C +529.40580 9.89688 520.69380 -0.83112 508.81380 -0.83112 C +494.26980 8.88888 501.90180 18.60888 506.94180 32.00088 C +510.03780 38.04888 513.13380 44.09688 516.30180 50.07288 C +502.62180 47.69688 487.28580 43.37688 482.82180 60.58488 C +482.82180 75.92088 495.99780 80.81688 508.81380 83.62488 C +509.17380 86.21688 509.17380 86.21688 507.66180 90.03288 C +511.62180 108.96888 509.53380 106.66488 525.73380 108.82488 C +525.80580 109.83288 525.94980 110.84088 526.09380 111.84888 C +531.06180 111.56088 536.31780 105.94488 538.11780 100.54488 C +543.08580 102.27288 544.45380 108.17688 546.75780 112.64088 C +552.80580 120.12888 556.18980 122.79288 556.90980 124.66488 C +559.21380 123.58488 559.21380 123.58488 561.80580 123.94488 C +562.16580 125.09688 562.52580 126.24888 562.95780 127.32888 C +566.34180 126.68088 572.67780 117.10488 574.54980 113.36088 C +574.54980 105.87288 573.68580 99.60888 571.95780 91.54488 C +577.50180 91.83288 580.09380 94.92888 587.00580 94.92888 C +589.95780 92.91288 592.98180 90.89688 596.00580 88.88088 C +606.15780 73.32888 587.65380 57.34488 575.70180 48.20088 C +568.93380 45.17688 568.93380 45.17688 565.54980 42.51288 C +565.40580 41.28888 565.26180 40.06488 565.18980 38.76888 C +565.69380 38.76888 566.19780 38.76888 566.70180 38.76888 C +575.12580 25.16088 585.85380 9.10488 587.72580 -7.95912 C +592.83780 -6.08712 598.74180 27.75288 600.90180 34.23288 C +603.99780 38.76888 605.72580 44.45688 606.87780 49.28088 C +618.97380 73.40088 624.94980 83.19288 625.30980 85.49688 C +605.86980 84.77688 614.79780 105.15288 618.18180 116.38488 C +622.42980 122.72088 625.74180 126.39288 631.35780 131.14488 C +631.21380 151.08888 626.38980 166.28088 648.63780 171.39288 C +648.34980 172.40088 648.13380 173.40888 647.91780 174.41688 C +658.42980 174.05688 660.15780 170.45688 661.45380 158.57688 C +667.93380 160.16088 680.46180 184.42488 687.01380 177.87288 C +688.74180 178.37688 690.46980 178.88088 692.26980 179.38488 C +692.62980 181.25688 692.62980 181.25688 691.47780 183.48888 C +700.90980 182.98488 702.42180 175.13688 702.42180 166.13688 C +697.09380 155.62488 697.09380 155.62488 696.73380 153.32088 C +709.47780 152.88888 712.14180 142.30488 712.14180 129.99288 C +706.95780 120.63288 695.50980 108.96888 684.70980 106.95288 C +681.90180 104.57688 680.74980 103.35288 677.22180 102.84888 C +677.72580 90.24888 664.33380 71.67288 652.38180 67.06488 C +639.49380 70.16088 648.34980 87.36888 644.17380 94.92888 C +643.38180 95.07288 642.58980 95.21688 641.86980 95.28888 C +641.14980 93.41688 637.76580 90.75288 625.66980 72.68088 C +611.91780 47.40888 601.26180 22.64088 597.51780 -6.44712 C +612.63780 -1.04712 612.49380 24.29688 632.07780 22.92888 C +632.07780 22.42488 632.07780 21.92088 632.07780 21.41688 C +632.58180 21.41688 633.08580 21.41688 633.58980 21.41688 C +635.10180 12.99288 632.29380 6.72888 629.84580 -1.98312 C +638.62980 3.99288 643.23780 15.36888 654.68580 18.03288 C +660.01380 23.64888 665.41380 25.95288 672.32580 29.69688 C +673.26180 48.12888 680.02980 58.78488 697.09380 66.63288 C +695.43780 84.92088 694.28580 92.19288 710.26980 103.20888 C +714.08580 103.20888 714.80580 102.48888 721.21380 102.84888 C +721.71780 103.85688 722.22180 104.86488 722.72580 105.87288 C +723.58980 106.01688 724.45380 106.16088 725.31780 106.23288 C +729.06180 102.48888 731.94180 99.75288 732.87780 93.05688 C +740.29380 95.21688 745.04580 103.20888 753.90180 103.20888 C +754.69380 102.48888 754.69380 102.48888 757.64580 102.48888 C +762.03780 106.88088 763.98180 104.50488 768.51780 100.54488 C +767.65380 91.25688 763.33380 83.84088 757.64580 76.06488 C +753.32580 75.05688 749.07780 67.13688 747.92580 62.88888 C +749.36580 62.67288 750.87780 62.38488 752.38980 62.09688 C +754.47780 57.05688 758.79780 53.60088 758.79780 46.25688 C +751.30980 29.62488 738.06180 20.26488 720.06180 20.26488 C +715.45380 15.00888 703.64580 1.47288 695.65380 6.36888 C +691.11780 13.13688 694.57380 20.84088 695.29380 27.46488 C +675.78180 25.01688 656.34180 16.16088 642.66180 2.19288 C +640.35780 -1.55112 638.48580 -2.70312 638.12580 -5.00712 C +643.38180 -5.36712 643.38180 -5.36712 645.25380 -6.44712 C +645.25380 -20.84712 643.74180 -31.14312 637.76580 -44.89512 C +636.25380 -46.40712 636.25380 -46.40712 635.89380 -48.71112 C +648.99780 -49.07112 665.12580 -49.79112 678.73380 -51.73512 C +678.73380 -52.23912 678.73380 -52.74312 678.73380 -53.24712 C +663.39780 -63.61512 643.09380 -80.31912 623.86980 -81.11112 C +625.81380 -93.99912 627.97380 -95.00712 614.79780 -96.51912 C +@c +F + +@rax %Note: Object +587.00580 -92.77512 618.15345 -70.52712 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +613.28580 -92.77512 m +609.68580 -86.58312 600.61380 -91.40712 596.79780 -82.62312 C +596.29380 -82.62312 595.78980 -82.62312 595.28580 -82.62312 C +591.61380 -77.36712 589.16580 -75.85512 587.00580 -70.52712 C +594.49380 -70.88712 598.88580 -71.03112 603.92580 -78.08712 C +609.54180 -80.75112 609.54180 -80.75112 617.10180 -82.62312 C +618.39780 -87.15912 619.69380 -92.77512 613.28580 -92.77512 C +@c +F + +@rax %Note: Object +534.37380 -79.95912 573.46980 -64.09020 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +535.88580 -79.95912 m +535.38180 -79.81512 534.87780 -79.67112 534.37380 -79.59912 C +539.77380 -60.80712 558.34980 -63.54312 573.46980 -65.27112 C +567.13380 -78.01512 550.14180 -74.19912 539.62980 -78.44712 C +538.11780 -79.95912 538.11780 -79.95912 535.88580 -79.95912 C +@c +F + +@rax %Note: Object +612.20580 -75.42312 656.91780 -55.75946 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +620.05380 -75.42312 m +616.88580 -74.63112 612.63780 -68.79912 612.20580 -66.06312 C +630.34980 -54.75912 634.95780 -54.03912 656.91780 -57.71112 C +651.44580 -68.15112 631.64580 -75.42312 620.05380 -75.42312 C +@c +F + +@rax %Note: Object +-104.09528 -70.16712 339.97380 514.40088 @E + 1 O 0 @g +0.00 0.00 0.00 1.00 k +/$fm 0 def +226.14180 -70.16712 m +220.81380 -64.83912 220.23780 -58.86312 212.60580 -56.99112 C +211.66980 -58.21512 210.80580 -59.43912 209.94180 -60.73512 C +201.08580 -61.02312 198.63780 -59.36712 198.63780 -50.94312 C +196.04580 -47.41512 195.90180 -47.19912 197.55780 -44.17512 C +195.54180 -44.17512 193.52580 -44.17512 191.50980 -44.17512 C +185.82180 -54.83112 185.96580 -59.22312 174.22980 -61.09512 C +169.18980 -57.71112 169.62180 -56.55912 168.61380 -51.73512 C +167.67780 -51.59112 166.81380 -51.44712 165.94980 -51.30312 C +153.34980 -67.43112 148.02180 -71.17512 140.38980 -51.73512 C +133.62180 -54.32712 133.62180 -54.32712 127.64580 -58.07112 C +116.48580 -58.07112 114.75780 -54.18312 114.10980 -44.89512 C +106.04580 -45.47112 99.63780 -55.19112 92.29380 -59.58312 C +89.26980 -59.58312 86.24580 -59.58312 83.29380 -59.58312 C +78.46980 -54.75912 78.32580 -52.81512 78.75780 -47.19912 C +72.06180 -48.49512 70.47780 -55.11912 62.19780 -55.11912 C +57.66180 -49.35912 58.38180 -47.05512 57.73380 -40.43112 C +53.91780 -41.51112 53.91780 -41.51112 47.94180 -44.53512 C +24.54180 -44.53512 29.36580 -27.11112 40.45380 -14.36712 C +48.66180 -9.83112 47.79780 -10.62312 56.94180 -10.62312 C +77.24580 9.68088 33.90180 36.53688 22.38180 45.17688 C +2.36580 55.18488 -17.72220 68.07288 -33.99420 82.11288 C +-37.66620 83.91288 -45.44220 89.60088 -47.53020 90.03288 C +-47.53020 90.53688 -47.53020 91.04088 -47.53020 91.54488 C +-60.56220 102.63288 -68.84220 110.04888 -77.98620 122.43288 C +-79.49820 126.96888 -82.52220 130.71288 -91.52220 146.55288 C +-107.50620 182.40888 -113.69820 219.12888 -77.62620 243.46488 C +-59.26620 249.65688 -50.26620 247.64088 -30.25020 244.90488 C +-29.31420 243.96888 -8.21820 236.12088 -4.69020 235.47288 C +-4.47420 234.89688 -4.25820 234.24888 -3.97020 233.60088 C +4.23780 232.23288 8.19780 227.40888 16.33380 224.96088 C +16.33380 224.45688 16.33380 223.95288 16.33380 223.44888 C +19.06980 221.93688 21.80580 220.42488 24.61380 218.91288 C +24.61380 218.40888 24.61380 217.90488 24.61380 217.40088 C +34.26180 213.44088 44.84580 189.68088 49.45380 178.95288 C +57.08580 182.84088 50.60580 193.78488 52.04580 201.56088 C +52.04580 207.82488 50.82180 221.00088 54.27780 226.47288 C +51.61380 269.67288 66.66180 315.53688 81.34980 355.35288 C +84.37380 359.09688 84.37380 359.09688 93.37380 377.96088 C +109.71780 400.35288 123.39780 430.23288 135.49380 454.85688 C +141.97380 473.57688 150.68580 493.88088 154.28580 512.88888 C +155.43780 514.04088 155.43780 514.04088 159.97380 514.40088 C +154.71780 483.22488 139.81380 451.47288 126.13380 422.81688 C +125.62980 422.74488 125.12580 422.60088 124.62180 422.45688 C +120.37380 404.38488 103.74180 389.55288 97.90980 371.91288 C +95.10180 366.44088 92.36580 360.89688 89.62980 355.35288 C +85.74180 353.91288 78.18180 327.84888 76.88580 320.64888 C +67.23780 302.07288 65.14980 271.11288 61.04580 249.80088 C +61.04580 236.98488 58.81380 218.91288 58.09380 200.84088 C +60.32580 164.62488 60.32580 164.62488 60.32580 155.62488 C +58.74180 153.96888 56.79780 151.88088 54.70980 151.44888 C +51.18180 157.92888 51.54180 163.25688 47.50980 168.44088 C +36.99780 191.04888 34.04580 195.51288 32.53380 199.32888 C +8.77380 229.06488 -34.28220 244.61688 -70.85820 238.92888 C +-76.76220 236.55288 -83.81820 233.74488 -86.26620 227.19288 C +-102.17820 211.28088 -97.06620 190.32888 -93.82620 169.95288 C +-88.28220 156.12888 -74.09820 119.55288 -59.55420 113.36088 C +-56.60220 108.10488 -39.97020 91.18488 -32.48220 90.03288 C +-32.48220 89.52888 -32.48220 89.02488 -32.48220 88.52088 C +-29.38620 86.79288 -26.29020 84.99288 -23.12220 83.19288 C +-23.05020 82.76088 -22.90620 82.25688 -22.76220 81.75288 C +-12.17820 77.00088 -1.16220 63.75288 10.35780 61.01688 C +12.51780 58.85688 23.53380 52.52088 27.63780 51.58488 C +30.73380 43.16088 45.27780 42.15288 49.45380 32.72088 C +57.15780 29.98488 64.71780 19.11288 67.81380 10.83288 C +67.81380 2.33688 69.61380 -5.36712 63.70980 -12.85512 C +51.18180 -16.23912 38.50980 -18.90312 38.50980 -34.38312 C +40.02180 -35.89512 40.02180 -35.89512 40.45380 -37.40712 C +44.70180 -36.75912 48.94980 -36.11112 53.19780 -35.46312 C +55.71780 -31.14312 61.33380 -27.83112 66.37380 -28.33512 C +66.37380 -34.31112 64.93380 -40.14312 65.22180 -47.19912 C +77.38980 -43.45512 72.70980 -30.92712 84.80580 -29.84712 C +85.23780 -36.90312 83.86980 -43.88712 85.52580 -51.73512 C +98.26980 -50.72712 104.67780 -40.64712 115.62180 -34.74312 C +119.43780 -25.23912 121.30980 -18.18312 132.90180 -16.31112 C +132.90180 -17.03112 132.90180 -17.75112 132.90180 -18.54312 C +145.64580 -14.65512 139.59780 -8.46312 143.77380 0.32088 C +143.77380 10.11288 143.77380 19.90488 143.77380 29.69688 C +140.89380 49.49688 138.66180 68.86488 134.77380 87.72888 C +134.77380 126.68088 107.70180 164.26488 107.70180 203.07288 C +106.18980 206.88888 103.16580 233.24088 102.44580 233.96088 C +96.32580 258.51288 101.07780 285.94488 102.44580 310.13688 C +103.16580 313.16088 104.67780 314.67288 105.10980 319.20888 C +106.69380 318.99288 108.27780 318.70488 109.93380 318.41688 C +107.70180 289.76088 107.70180 289.76088 106.90980 289.04088 C +106.90980 256.85688 110.65380 226.04088 114.46980 193.28088 C +117.99780 181.11288 123.18180 165.92088 124.98180 152.60088 C +132.97380 144.60888 141.75780 91.54488 143.77380 80.96088 C +145.28580 64.40088 146.79780 59.07288 150.54180 24.44088 C +150.25380 12.63288 150.03780 0.82488 149.82180 -10.98312 C +142.69380 -25.31112 131.67780 -18.75912 123.46980 -31.35912 C +122.31780 -36.47112 119.14980 -44.46312 122.38980 -49.79112 C +132.46980 -55.04712 136.21380 -39.35112 146.43780 -38.48712 C +146.94180 -45.25512 146.07780 -50.58312 150.18180 -56.55912 C +153.20580 -56.55912 153.20580 -56.55912 158.02980 -54.75912 C +161.05380 -47.91912 167.10180 -38.12712 169.76580 -32.43912 C +171.49380 -32.58312 173.22180 -32.72712 175.02180 -32.87112 C +175.38180 -47.19912 175.38180 -47.19912 176.53380 -52.09512 C +185.67780 -52.09512 184.38180 -46.40712 187.40580 -38.91912 C +188.91780 -21.71112 190.71780 -3.85512 184.38180 12.34488 C +183.22980 23.36088 182.43780 30.12888 184.02180 40.28088 C +183.51780 40.28088 183.01380 40.28088 182.50980 40.28088 C +182.07780 54.39288 183.30180 68.14488 184.38180 81.75288 C +180.13380 90.10488 179.41380 99.39288 177.97380 107.74488 C +177.46980 107.88888 176.96580 108.03288 176.53380 108.10488 C +175.38180 114.87288 176.10180 115.66488 175.02180 124.66488 C +165.66180 122.50488 166.02180 122.57688 163.35780 131.50488 C +163.35780 140.50488 164.07780 141.29688 164.79780 148.06488 C +164.07780 148.78488 164.79780 167.64888 164.07780 193.28088 C +163.06980 201.63288 162.06180 209.91288 161.05380 218.19288 C +155.72580 218.62488 156.51780 215.52888 151.33380 219.70488 C +145.57380 239.93688 152.98980 260.88888 153.92580 280.76088 C +151.69380 280.40088 149.46180 278.09688 147.94980 278.09688 C +138.22980 287.81688 162.34980 335.91288 163.71780 344.84088 C +157.59780 344.26488 152.19780 327.63288 146.79780 332.74488 C +146.79780 337.28088 148.30980 340.30488 149.02980 344.04888 C +154.21380 353.62488 179.55780 393.36888 177.97380 404.02488 C +177.18180 404.02488 176.46180 404.02488 175.74180 404.02488 C +172.50180 400.13688 170.77380 397.18488 165.94980 397.18488 C +161.48580 401.64888 168.97380 410.14488 171.56580 414.17688 C +179.26980 431.45688 190.14180 449.60088 194.17380 467.67288 C +198.34980 473.50488 197.91780 485.24088 205.04580 486.53688 C +205.90980 467.38488 189.92580 438.80088 181.35780 421.66488 C +178.83780 419.14488 179.19780 419.72088 178.76580 415.68888 C +181.71780 416.33688 184.74180 416.98488 187.76580 417.56088 C +188.48580 417.05688 189.20580 416.55288 189.99780 416.04888 C +191.29380 396.46488 165.15780 373.42488 160.69380 352.32888 C +165.30180 354.99288 168.03780 359.52888 173.50980 359.52888 C +175.02180 358.01688 175.02180 358.01688 175.38180 356.14488 C +166.45380 336.92088 159.68580 321.44088 155.43780 300.34488 C +160.90980 303.08088 156.58980 308.91288 165.58980 307.83288 C +165.58980 305.60088 165.58980 303.36888 165.58980 301.06488 C +159.75780 280.61688 156.73380 260.09688 156.22980 238.49688 C +158.60580 239.36088 158.53380 240.94488 159.18180 243.03288 C +161.41380 243.03288 163.64580 243.03288 165.94980 243.03288 C +167.53380 211.42488 170.62980 179.60088 171.99780 147.27288 C +172.57380 147.56088 173.22180 147.84888 173.86980 148.06488 C +175.38180 156.34488 175.38180 156.34488 177.97380 163.11288 C +179.70180 163.11288 181.50180 163.11288 183.30180 163.11288 C +183.44580 155.55288 183.22980 150.65688 181.35780 142.80888 C +182.14980 125.45688 182.86980 124.66488 182.50980 114.87288 C +183.01380 114.87288 183.51780 114.87288 184.02180 114.87288 C +183.58980 104.00088 184.02180 99.75288 188.55780 89.24088 C +194.53380 90.68088 208.35780 129.05688 211.45380 136.76088 C +212.17380 144.03288 211.81380 152.16888 219.73380 145.76088 C +220.30980 140.50488 220.95780 135.24888 221.60580 129.99288 C +222.46980 130.28088 223.33380 130.49688 224.19780 130.71288 C +227.22180 138.27288 230.24580 143.52888 236.22180 160.08888 C +240.54180 168.58488 241.83780 180.75288 248.31780 187.23288 C +248.17380 189.75288 248.02980 192.27288 247.95780 194.79288 C +251.70180 195.15288 251.70180 195.15288 254.72580 194.07288 C +257.02980 188.81688 259.40580 183.56088 261.78180 178.23288 C +262.42980 178.16088 263.07780 178.01688 263.72580 177.87288 C +270.13380 197.96088 269.34180 223.44888 269.34180 243.82488 C +270.85380 247.56888 270.85380 252.10488 272.00580 253.97688 C +279.99780 252.46488 282.73380 238.78488 284.74980 231.00888 C +286.62180 231.72888 286.62180 231.72888 287.41380 233.24088 C +288.34980 262.04088 284.53380 290.98488 285.90180 319.20888 C +287.41380 320.64888 287.41380 320.64888 289.28580 321.08088 C +292.52580 318.48888 296.05380 311.43288 300.51780 310.49688 C +301.95780 318.27288 294.10980 335.98488 291.87780 343.32888 C +288.85380 349.44888 278.77380 368.96088 282.08580 374.21688 C +287.12580 374.57688 290.29380 369.39288 294.90180 370.40088 C +292.66980 377.96088 292.66980 377.96088 289.64580 384.72888 C +280.64580 397.54488 267.10980 413.38488 266.74980 414.89688 C +246.51780 429.87288 232.18980 452.55288 221.24580 473.72088 C +218.22180 477.03288 215.19780 480.27288 212.17380 483.51288 C +210.66180 488.76888 210.66180 488.76888 209.22180 490.28088 C +211.09380 510.51288 215.34180 492.22488 219.73380 488.76888 C +221.10180 480.63288 230.31780 470.04888 233.98980 460.90488 C +249.03780 440.52888 249.03780 440.52888 258.03780 430.73688 C +260.98980 429.65688 276.03780 412.37688 276.46980 410.36088 C +276.97380 410.36088 277.47780 410.36088 277.98180 410.36088 C +277.98180 409.85688 277.98180 409.35288 277.98180 408.84888 C +278.48580 408.84888 278.98980 408.84888 279.49380 408.84888 C +279.56580 408.12888 279.70980 407.40888 279.85380 406.61688 C +290.94180 394.23288 299.29380 382.49688 303.54180 365.14488 C +304.04580 365.14488 304.54980 365.14488 305.05380 365.14488 C +307.21380 360.82488 305.41380 356.50488 300.51780 356.50488 C +297.78180 360.10488 295.26180 362.26488 291.51780 362.91288 C +295.04580 340.80888 308.43780 322.30488 308.43780 297.32088 C +307.93380 296.60088 307.42980 295.88088 306.92580 295.08888 C +306.06180 295.01688 305.19780 294.87288 304.33380 294.72888 C +300.15780 298.83288 297.13380 307.11288 292.30980 307.83288 C +291.87780 298.04088 294.18180 258.08088 294.18180 236.98488 C +293.82180 231.08088 295.76580 212.72088 287.77380 210.99288 C +285.10980 215.16888 285.10980 215.16888 283.23780 220.42488 C +283.81380 220.71288 284.46180 220.92888 285.10980 221.14488 C +284.96580 221.79288 284.82180 222.44088 284.74980 223.08888 C +279.20580 225.39288 278.91780 232.88088 277.98180 237.77688 C +277.18980 237.77688 276.46980 237.77688 275.74980 237.77688 C +274.95780 215.02488 274.38180 188.52888 268.54980 165.41688 C +265.88580 162.60888 265.59780 162.39288 262.21380 162.39288 C +261.78180 165.92088 261.42180 169.44888 261.06180 172.90488 C +255.37380 175.56888 255.80580 176.93688 253.93380 181.61688 C +252.92580 181.76088 251.91780 181.90488 250.90980 181.97688 C +241.54980 157.85688 233.91780 137.69688 230.24580 111.84888 C +224.41380 90.17688 215.55780 70.01688 207.70980 48.56088 C +204.68580 32.00088 204.68580 32.00088 198.63780 6.36888 C +198.34980 -8.96712 198.06180 -23.22312 199.42980 -38.91912 C +202.45380 -46.40712 202.45380 -46.40712 203.53380 -51.30312 C +204.75780 -51.30312 206.05380 -51.30312 207.34980 -51.30312 C +210.44580 -47.48712 209.86980 -46.40712 209.58180 -41.94312 C +212.67780 -39.99912 212.38980 -39.99912 216.70980 -40.43112 C +220.02180 -46.98312 220.45380 -54.18312 225.34980 -61.88712 C +226.42980 -61.74312 227.58180 -61.59912 228.73380 -61.52712 C +231.54180 -54.68712 230.46180 -45.90312 230.60580 -38.91912 C +239.53380 -41.51112 238.95780 -53.60712 247.16580 -53.60712 C +255.94980 -42.66312 244.14180 -32.29512 236.22180 -26.10312 C +229.30980 -11.55912 231.68580 13.49688 240.75780 25.16088 C +253.06980 55.32888 270.13380 81.17688 285.90180 108.82488 C +309.94980 168.44088 309.94980 168.44088 314.41380 181.97688 C +323.34180 215.45688 327.30180 248.64888 330.97380 282.27288 C +335.36580 286.23288 330.39780 325.25688 334.35780 332.38488 C +343.35780 332.38488 338.10180 314.16888 339.97380 306.39288 C +337.02180 261.89688 337.02180 261.89688 334.71780 245.26488 C +329.67780 231.72888 328.23780 216.46488 326.50980 201.56088 C +318.51780 172.68888 307.14180 144.53688 296.41380 116.38488 C +281.36580 88.52088 278.34180 84.70488 269.70180 67.78488 C +269.19780 67.71288 268.69380 67.56888 268.18980 67.42488 C +253.06980 37.47288 235.93380 15.65688 240.75780 -18.54312 C +245.22180 -24.23112 254.14980 -28.83912 256.16580 -37.40712 C +257.89380 -37.26312 259.62180 -37.11912 261.42180 -36.97512 C +264.94980 -41.15112 275.67780 -57.85512 284.38980 -56.19912 C +284.24580 -52.88712 284.10180 -49.64712 284.02980 -46.40712 C +289.57380 -47.41512 293.53380 -48.35112 294.54180 -55.47912 C +295.04580 -55.47912 295.54980 -55.47912 296.05380 -55.47912 C +293.74980 -61.59912 290.86980 -64.04712 285.54180 -68.65512 C +274.09380 -65.34312 266.67780 -52.81512 254.72580 -52.81512 C +250.18980 -60.66312 250.33380 -63.03912 241.18980 -60.73512 C +241.18980 -60.23112 241.18980 -59.72712 241.18980 -59.22312 C +239.67780 -58.71912 238.16580 -58.21512 236.65380 -57.71112 C +234.27780 -63.32712 233.34180 -70.16712 226.14180 -70.16712 C +@c +F + +@rax %Note: Object +298.07433 -67.14312 601.62180 853.66488 @E + 1 O 0 @g +0.00 0.00 0.00 1.00 k +/$fm 0 def +303.54180 -67.14312 m +302.02980 -66.63912 300.51780 -66.13512 299.07780 -65.63112 C +297.92580 -63.03912 297.92580 -63.03912 298.28580 -58.86312 C +300.01380 -58.86312 301.74180 -58.86312 303.54180 -58.86312 C +307.50180 -54.90312 306.70980 -44.53512 306.20580 -39.63912 C +311.10180 -39.27912 311.10180 -39.27912 314.05380 -40.43112 C +320.82180 -51.30312 322.69380 -52.45512 323.84580 -55.11912 C +327.30180 -54.97512 330.82980 -54.83112 334.35780 -54.75912 C +334.35780 -53.75112 334.35780 -52.74312 334.35780 -51.73512 C +334.86180 -51.73512 335.36580 -51.73512 335.86980 -51.73512 C +337.02180 -47.19912 337.02180 -47.19912 337.02180 -44.17512 C +327.80580 -25.67112 327.44580 -15.66312 330.25380 3.34488 C +332.34180 8.96088 337.16580 16.08888 338.17380 21.41688 C +338.74980 21.70488 339.32580 21.92088 339.97380 22.13688 C +346.38180 37.68888 373.66980 51.36888 389.29380 57.20088 C +406.57380 69.87288 430.47780 82.11288 444.51780 98.31288 C +454.38180 105.65688 464.31780 113.14488 470.43780 123.94488 C +483.39780 133.95288 486.99780 162.24888 488.86980 178.23288 C +482.38980 195.80088 481.30980 201.92088 463.66980 206.52888 C +442.64580 206.52888 442.64580 206.52888 441.92580 205.73688 C +427.74180 200.55288 413.19780 196.66488 399.80580 190.68888 C +390.22980 183.20088 380.72580 175.64088 371.22180 168.08088 C +364.52580 159.51288 354.22980 131.28888 347.89380 130.35288 C +345.30180 132.94488 346.23780 134.60088 346.02180 137.48088 C +354.87780 167.43288 364.52580 198.24888 369.34980 228.70488 C +381.44580 270.10488 388.86180 308.91288 390.37380 351.60888 C +388.86180 373.42488 388.86180 373.42488 384.39780 409.64088 C +383.60580 411.15288 382.88580 417.92088 381.37380 420.94488 C +380.58180 425.48088 379.86180 426.20088 373.81380 456.36888 C +370.86180 464.64888 364.81380 475.95288 358.83780 489.56088 C +357.03780 501.72888 349.69380 514.11288 345.66180 524.98488 C +344.65380 524.98488 343.64580 524.98488 342.63780 524.98488 C +342.27780 528.00888 340.76580 529.52088 339.25380 533.26488 C +338.60580 536.79288 337.95780 540.32088 337.38180 543.84888 C +336.87780 543.84888 336.37380 543.84888 335.86980 543.84888 C +332.77380 559.97688 327.80580 575.81688 324.99780 591.29688 C +321.32580 630.10488 322.76580 667.40088 323.48580 705.92088 C +327.94980 740.55288 327.94980 740.55288 329.46180 744.36888 C +331.33380 745.16088 333.20580 745.88088 335.14980 746.60088 C +336.44580 742.85688 334.28580 731.98488 332.48580 728.52888 C +328.95780 684.89688 327.44580 639.46488 331.76580 595.11288 C +335.36580 576.75288 339.75780 557.74488 345.66180 539.31288 C +346.23780 539.09688 346.88580 538.80888 347.53380 538.52088 C +349.40580 530.09688 353.86980 523.11288 357.32580 514.40088 C +358.18980 514.18488 359.05380 513.96888 359.91780 513.68088 C +365.89380 545.43288 375.18180 574.88088 382.88580 605.62488 C +401.53380 651.27288 424.42980 692.74488 448.26180 736.01688 C +458.12580 763.37688 472.38180 786.70488 476.84580 815.93688 C +476.84580 828.60888 479.58180 841.92888 482.46180 853.66488 C +484.47780 853.66488 486.49380 853.66488 488.50980 853.66488 C +488.43780 834.94488 486.13380 815.36088 490.38180 796.35288 C +493.26180 789.72888 496.14180 783.10488 499.02180 776.40888 C +507.44580 777.41688 514.14180 809.96088 526.09380 807.29688 C +527.24580 805.42488 527.24580 805.42488 528.68580 798.58488 C +528.25380 776.55288 526.81380 759.12888 533.65380 737.52888 C +534.58980 737.67288 535.59780 737.81688 536.60580 737.96088 C +542.22180 746.60088 542.22180 746.60088 552.80580 766.18488 C +555.39780 767.33688 555.39780 767.33688 558.42180 767.33688 C +560.29380 765.46488 560.43780 756.53688 558.78180 753.36888 C +560.14980 737.67288 562.88580 723.27288 565.98180 707.43288 C +566.41380 707.43288 566.91780 707.43288 567.42180 707.43288 C +567.78180 704.40888 568.57380 703.61688 572.31780 692.31288 C +577.57380 664.44888 579.08580 660.63288 582.10980 642.56088 C +585.13380 631.25688 588.08580 615.41688 589.59780 611.67288 C +596.79780 564.80088 599.96580 516.05688 601.62180 467.67288 C +598.74180 428.57688 594.06180 394.52088 585.85380 356.14488 C +581.31780 341.81688 579.87780 340.30488 573.82980 321.44088 C +555.82980 286.30488 540.78180 254.48088 516.66180 222.65688 C +508.52580 217.97688 501.32580 198.68088 493.04580 196.30488 C +492.61380 194.28888 492.25380 192.27288 491.89380 190.25688 C +492.90180 188.02488 493.90980 185.79288 494.91780 183.48888 C +496.28580 148.49688 481.45380 117.60888 452.43780 96.44088 C +426.80580 70.80888 395.05380 55.11288 364.81380 36.46488 C +364.45380 35.88888 364.09380 35.24088 363.73380 34.59288 C +342.70980 24.87288 336.66180 4.78488 335.50980 -17.03112 C +341.55780 -32.94312 352.06980 -51.66312 333.63780 -64.11912 C +322.83780 -64.11912 320.60580 -52.88712 314.05380 -51.73512 C +313.26180 -57.99912 312.10980 -67.14312 303.54180 -67.14312 C +@c +F + +@rax %Note: Object +541.14180 -56.55912 585.85380 -26.96088 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +570.44580 -56.55912 m +563.46180 -53.24712 556.11780 -54.68712 552.44580 -47.91912 C +551.94180 -47.91912 551.43780 -47.91912 550.93380 -47.91912 C +547.26180 -39.20712 540.42180 -37.55112 541.14180 -27.18312 C +559.35780 -25.95912 558.78180 -29.70312 574.18980 -40.43112 C +577.35780 -44.96712 579.73380 -50.07912 585.49380 -52.81512 C +585.56580 -53.46312 585.70980 -54.11112 585.85380 -54.75912 C +583.26180 -55.11912 580.23780 -53.60712 574.18980 -53.96712 C +573.90180 -54.83112 573.68580 -55.69512 573.46980 -56.55912 C +572.46180 -56.55912 571.45380 -56.55912 570.44580 -56.55912 C +@c +F + +@rax %Note: Object +598.30980 -56.55912 637.40580 -21.56712 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +602.77380 -56.55912 m +601.26180 -56.41512 599.74980 -56.27112 598.30980 -56.19912 C +599.82180 -48.35112 607.95780 -48.63912 614.07780 -44.53512 C +618.90180 -36.90312 629.98980 -23.79912 637.40580 -21.56712 C +635.82180 -34.02312 633.87780 -42.37512 624.58980 -50.58312 C +612.56580 -53.60712 605.79780 -56.55912 602.77380 -56.55912 C +@c +F + +@rax %Note: Object +-189.56041 -47.56365 -38.17020 169.95288 @E + 1 O 0 @g +0.00 0.00 0.00 1.00 k +/$fm 0 def +-111.46620 -47.55912 m +-128.09820 -39.13512 -147.17820 -16.16712 -147.17820 2.55288 C +-140.19420 11.33688 -142.42620 15.65688 -129.46620 11.98488 C +-126.51420 9.96888 -106.42620 -5.72712 -103.90620 -5.72712 C +-103.90620 -6.44712 -103.90620 -7.16712 -103.90620 -7.95912 C +-98.93820 -11.48712 -95.91420 -15.59112 -91.88220 -21.13512 C +-91.01820 -20.99112 -90.15420 -20.84712 -89.29020 -20.77512 C +-90.73020 17.67288 -95.98620 41.64888 -120.10620 71.88888 C +-120.75420 72.17688 -121.40220 72.46488 -121.97820 72.68088 C +-121.97820 73.18488 -121.97820 73.68888 -121.97820 74.19288 C +-122.98620 74.19288 -123.99420 74.19288 -125.00220 74.19288 C +-128.31420 62.02488 -131.12220 48.20088 -146.02620 48.20088 C +-155.53020 54.17688 -156.82620 67.49688 -155.02620 77.21688 C +-164.09820 76.35288 -177.56220 44.96088 -189.29820 60.58488 C +-190.30620 82.25688 -189.44220 95.07288 -172.37820 109.97688 C +-172.30620 110.91288 -172.16220 111.77688 -172.01820 112.64088 C +-188.43420 129.48888 -190.16220 134.16888 -186.63420 157.13688 C +-185.91420 157.49688 -185.19420 157.85688 -184.40220 158.21688 C +-179.79420 172.11288 -168.70620 168.87288 -158.05020 163.54488 C +-157.33020 161.60088 -150.92220 156.34488 -150.56220 154.83288 C +-149.55420 154.97688 -148.54620 155.12088 -147.53820 155.26488 C +-142.85820 161.88888 -136.01820 162.17688 -133.28220 169.95288 C +-112.76220 169.01688 -117.44220 150.00888 -120.89820 135.24888 C +-120.75420 133.73688 -120.61020 132.22488 -120.46620 130.71288 C +-87.05820 139.13688 -95.77020 106.80888 -106.57020 87.72888 C +-110.53020 84.27288 -112.69020 83.26488 -117.44220 81.75288 C +-115.42620 71.88888 -107.36220 66.48888 -102.39420 56.84088 C +-92.89020 53.31288 -84.17820 2.62488 -82.52220 -6.44712 C +-81.65820 -6.51912 -80.79420 -6.66312 -79.85820 -6.80712 C +-69.99420 3.05688 -64.23420 16.66488 -52.06620 24.80088 C +-42.34620 34.52088 -41.98620 32.50488 -38.17020 19.90488 C +-38.17020 -14.36712 -48.53820 -36.83112 -85.11420 -42.30312 C +-95.12220 -47.91912 -100.81020 -47.55912 -111.46620 -47.55912 C +@c +F + +@rax %Note: Object +588.87780 -47.55912 627.61380 15.36888 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +590.74980 -47.55912 m +590.10180 -47.12712 589.45380 -46.76712 588.87780 -46.40712 C +588.87780 -37.62312 595.42980 -24.01512 599.38980 -17.03112 C +599.53380 -16.81512 619.54980 13.92888 627.61380 15.36888 C +626.38980 4.42488 602.70180 -47.55912 590.74980 -47.55912 C +@c +F + +@rax %Note: Object +-139.86539 -40.79112 -93.03420 6.00888 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-106.21020 -40.79112 m +-121.61820 -36.83112 -128.67420 -23.43912 -137.38620 -11.77512 C +-138.68220 -4.14312 -143.29020 0.39288 -135.51420 6.00888 C +-126.94620 6.00888 -99.94620 -15.08712 -98.65020 -24.59112 C +-93.82620 -27.83112 -94.40220 -31.28712 -93.03420 -37.40712 C +-94.18620 -38.48712 -99.44220 -39.99912 -106.21020 -40.79112 C +@c +F + +@rax %Note: Object +-81.37020 -33.23112 -44.62016 20.62488 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-77.62620 -33.23112 m +-78.92220 -32.72712 -80.14620 -32.22312 -81.37020 -31.71912 C +-83.60220 -18.25512 -57.89820 18.39288 -45.29820 20.62488 C +-41.84220 -1.04712 -51.41820 -33.23112 -77.62620 -33.23112 C +@c +F + +@rax %Note: Object +629.12580 -17.39112 637.40580 -7.95912 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +630.63780 -17.39112 m +629.48580 -16.31112 629.48580 -16.31112 629.12580 -14.00712 C +632.94180 -12.56712 632.79780 -8.75112 637.40580 -7.95912 C +635.38980 -11.99112 633.80580 -14.22312 630.63780 -17.39112 C +@c +F + +@rax %Note: Object +506.97326 6.00888 539.26980 55.32888 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +509.53380 6.00888 m +498.73380 12.70488 521.55780 53.60088 533.65380 55.32888 C +534.73380 50.79288 536.31780 48.56088 539.26980 44.02488 C +537.68580 32.57688 522.99780 6.00888 509.53380 6.00888 C +@c +F + +@rax %Note: Object +543.60794 8.96088 557.79506 45.17688 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +547.18980 8.96088 m +543.80580 18.10488 540.78180 38.04888 547.90980 45.17688 C +549.49380 45.03288 551.14980 44.88888 552.80580 44.74488 C +552.87780 44.31288 553.02180 43.80888 553.16580 43.30488 C +554.17380 43.08888 555.18180 42.80088 556.18980 42.51288 C +560.22180 31.20888 556.26180 18.68088 549.42180 8.96088 C +548.62980 8.96088 547.90980 8.96088 547.18980 8.96088 C +@c +F + +@rax %Note: Object +188.91780 12.34488 223.83780 123.15288 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +191.50980 12.34488 m +189.42180 32.00088 188.91780 50.28888 188.91780 69.65688 C +193.81380 75.56088 193.81380 77.28888 194.89380 84.70488 C +201.37380 96.80088 206.41380 110.98488 212.96580 122.43288 C +213.82980 122.72088 214.69380 122.93688 215.62980 123.15288 C +216.42180 121.06488 216.49380 121.35288 219.37380 120.12888 C +218.22180 117.89688 218.22180 117.89688 218.22180 113.36088 C +220.09380 111.48888 220.38180 110.76888 223.83780 110.33688 C +214.26180 85.35288 203.24580 59.36088 198.63780 32.72088 C +195.39780 29.48088 195.68580 21.27288 195.68580 16.16088 C +195.03780 15.94488 194.38980 15.65688 193.81380 15.36888 C +193.52580 14.50488 193.23780 13.64088 193.02180 12.77688 C +192.51780 12.63288 192.01380 12.48888 191.50980 12.34488 C +@c +F + +@rax %Note: Object +699.67219 12.77688 716.67780 40.64088 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +700.54980 12.77688 m +697.38180 15.72888 703.35780 27.96888 704.65380 32.00088 C +708.39780 36.17688 709.83780 39.92088 715.59780 40.64088 C +715.95780 35.52888 716.31780 30.34488 716.67780 25.16088 C +711.78180 20.55288 706.95780 14.14488 700.54980 12.77688 C +@c +F + +@rax %Note: Object +724.59780 27.82488 753.30454 57.27969 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +728.34180 27.82488 m +727.04580 28.25688 725.82180 28.61688 724.59780 28.97688 C +727.18980 37.97688 727.98180 38.76888 728.34180 41.79288 C +727.69380 42.08088 727.04580 42.29688 726.46980 42.51288 C +726.46980 43.30488 726.46980 44.02488 726.46980 44.74488 C +736.69380 52.23288 737.55780 60.94488 753.18180 55.76088 C +755.55780 42.58488 740.72580 27.82488 728.34180 27.82488 C +@c +F + +@rax %Note: Object +678.83386 34.59288 711.42180 59.81074 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +680.24580 34.59288 m +674.98980 39.84888 685.14180 50.14488 687.73380 54.24888 C +699.68580 60.94488 699.03780 62.02488 711.42180 55.32888 C +711.42180 42.51288 689.67780 34.59288 680.24580 34.59288 C +@c +F + +@rax %Note: Object +719.07591 48.20088 727.83128 59.07288 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +719.34180 48.20088 m +718.90980 53.81688 718.90980 53.81688 720.06180 59.07288 C +727.62180 58.71288 730.28580 58.92888 725.31780 51.22488 C +720.85380 48.20088 720.85380 48.20088 719.34180 48.20088 C +@c +F + +@rax %Note: Object +557.36759 50.79288 593.94898 88.52088 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +558.42180 50.79288 m +555.54180 56.62488 559.35780 65.84088 560.29380 71.16888 C +570.22980 81.10488 576.06180 89.38488 591.54180 88.52088 C +601.98180 73.76088 578.36580 56.62488 565.98180 51.22488 C +563.46180 51.08088 560.94180 50.93688 558.42180 50.79288 C +@c +F + +@rax %Note: Object +540.92665 51.58488 551.95087 69.33402 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +541.86180 51.58488 m +540.78180 56.84088 540.78180 56.84088 541.14180 59.50488 C +541.71780 59.86488 542.36580 60.22488 543.01380 60.58488 C +543.22980 62.88888 543.44580 65.19288 543.73380 67.42488 C +555.61380 76.28088 554.38980 52.73688 541.86180 51.58488 C +@c +F + +@rax %Note: Object +488.86980 54.24888 525.73380 75.31569 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +496.78980 54.24888 m +492.75780 56.12088 490.81380 56.98488 488.86980 59.86488 C +488.86980 72.96888 502.11780 78.15288 513.34980 73.83288 C +517.16580 68.93688 519.25380 65.33688 525.73380 62.88888 C +524.94180 58.71288 501.68580 54.24888 496.78980 54.24888 C +@c +F + +@rax %Note: Object +-148.92803 55.76088 -131.77020 92.92195 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-145.30620 55.76088 m +-145.81020 55.90488 -146.31420 56.04888 -146.81820 56.12088 C +-150.41820 68.28888 -149.05020 78.72888 -145.66620 90.03288 C +-141.63420 92.55288 -138.03420 95.72088 -137.02620 88.52088 C +-136.52220 88.52088 -136.01820 88.52088 -135.51420 88.52088 C +-130.25820 81.03288 -129.53820 60.58488 -139.25820 55.76088 C +-141.27420 55.76088 -143.29020 55.76088 -145.30620 55.76088 C +@c +F + +@rax %Note: Object +-184.04220 63.24888 -154.66620 105.08088 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-182.89020 63.24888 m +-183.32220 63.89688 -183.68220 64.54488 -184.04220 65.12088 C +-184.04220 83.04888 -181.16220 106.30488 -158.48220 105.08088 C +-157.69020 100.54488 -156.17820 98.31288 -154.66620 90.03288 C +-160.06620 82.11288 -173.89020 63.24888 -182.89020 63.24888 C +@c +F + +@rax %Note: Object +726.10980 64.04088 761.46180 97.16088 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +731.36580 64.04088 m +729.85380 65.55288 729.85380 65.55288 726.10980 66.63288 C +734.53380 86.00088 738.70980 95.00088 761.46180 97.16088 C +762.39780 85.92888 740.36580 64.04088 731.36580 64.04088 C +@c +F + +@rax %Note: Object +701.93367 66.63288 726.32353 97.52088 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +714.80580 66.63288 m +714.80580 67.13688 714.80580 67.64088 714.80580 68.14488 C +711.99780 68.07288 709.26180 67.92888 706.52580 67.78488 C +694.86180 84.92088 706.81380 98.45688 724.95780 97.52088 C +728.12580 89.81688 725.74980 83.26488 719.70180 77.21688 C +718.98180 73.68888 718.62180 68.28888 714.80580 66.63288 C +@c +F + +@rax %Note: Object +514.93266 70.01688 535.14000 103.06035 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +533.65380 70.01688 m +516.73380 80.31288 510.75780 83.19288 517.81380 102.05688 C +521.55780 103.20888 521.55780 103.20888 530.19780 102.84888 C +536.10180 92.40888 535.38180 82.97688 534.73380 70.37688 C +534.37380 70.30488 534.01380 70.16088 533.65380 70.01688 C +@c +F + +@rax %Note: Object +651.61899 74.55288 671.53380 110.33688 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +654.68580 74.55288 m +653.67780 74.69688 652.66980 74.84088 651.66180 74.91288 C +651.51780 89.88888 651.30180 97.80888 658.42980 110.33688 C +659.65380 110.33688 660.87780 110.33688 662.17380 110.33688 C +662.46180 105.51288 666.63780 104.36088 671.53380 102.05688 C +670.45380 89.31288 664.69380 84.77688 656.19780 74.55288 C +655.69380 74.55288 655.18980 74.55288 654.68580 74.55288 C +@c +F + +@rax %Note: Object +544.45153 76.85688 568.13386 119.04888 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +550.14180 76.85688 m +549.63780 77.36088 549.13380 77.86488 548.62980 78.36888 C +547.33380 78.22488 546.10980 78.08088 544.88580 77.93688 C +543.08580 96.22488 546.10980 107.31288 561.44580 119.04888 C +562.45380 119.04888 563.46180 119.04888 564.46980 119.04888 C +574.54980 108.96888 561.87780 76.85688 550.14180 76.85688 C +@c +F + +@rax %Note: Object +-133.33408 89.67288 -102.20400 126.60888 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-119.74620 89.67288 m +-134.07420 91.25688 -135.15420 102.99288 -131.77020 115.30488 C +-122.12220 122.14488 -117.80220 126.60888 -105.41820 126.60888 C +-97.57020 116.16888 -105.56220 101.26488 -110.31420 90.75288 C +-113.69820 89.67288 -113.69820 89.67288 -119.74620 89.67288 C +@c +F + +@rax %Note: Object +580.23780 90.75288 584.77380 93.05688 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +580.23780 90.75288 m +580.23780 91.54488 580.23780 92.33688 580.23780 93.05688 C +581.74980 92.98488 583.26180 92.84088 584.77380 92.69688 C +583.26180 92.04888 581.74980 91.40088 580.23780 90.75288 C +@c +F + +@rax %Note: Object +619.22239 92.69688 651.30180 125.09688 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +620.84580 92.69688 m +614.72580 102.56088 626.24580 119.33688 633.58980 125.09688 C +638.84580 125.09688 639.63780 124.30488 650.94180 123.94488 C +650.50980 117.17688 651.30180 115.66488 651.30180 113.36088 C +642.87780 105.65688 632.00580 94.06488 620.84580 92.69688 C +@c +F + +@rax %Note: Object +-152.07420 97.95288 -138.89820 120.81515 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-148.25820 97.95288 m +-149.05020 98.31288 -149.84220 98.67288 -150.56220 99.03288 C +-150.56220 99.53688 -150.56220 100.04088 -150.56220 100.54488 C +-151.06620 100.54488 -151.57020 100.54488 -152.07420 100.54488 C +-152.00220 106.01688 -150.41820 129.41688 -138.89820 117.89688 C +-138.89820 111.84888 -139.97820 97.95288 -148.25820 97.95288 C +@c +F + +@rax %Note: Object +668.58180 110.76888 708.03780 145.07943 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +672.68580 110.76888 m +671.31780 111.63288 669.94980 112.49688 668.58180 113.36088 C +668.58180 118.54488 672.10980 120.41688 675.34980 123.94488 C +678.15780 136.40088 691.04580 146.55288 704.29380 145.04088 C +705.08580 142.66488 704.86980 142.16088 708.03780 140.50488 C +704.50980 120.41688 691.98180 113.93688 672.68580 110.76888 C +@c +F + +@rax %Note: Object +-183.02854 116.81688 -152.93820 161.29474 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-167.12220 116.81688 m +-180.44220 127.32888 -186.49020 138.92088 -181.01820 154.83288 C +-174.03420 163.47288 -170.21820 162.17688 -160.35420 158.57688 C +-160.35420 158.14488 -160.35420 157.64088 -160.35420 157.13688 C +-148.83420 149.00088 -153.73020 135.89688 -155.45820 123.15288 C +-159.77820 119.69688 -161.72220 116.81688 -167.12220 116.81688 C +@c +F + +@rax %Note: Object +659.14980 119.04888 668.26687 128.48088 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +659.14980 119.04888 m +658.64580 125.24088 662.82180 127.54488 668.22180 128.48088 C +668.43780 124.23288 667.93380 123.72888 665.55780 119.40888 C +663.39780 119.33688 661.23780 119.19288 659.14980 119.04888 C +@c +F + +@rax %Note: Object +-144.71291 122.79288 -122.98989 162.75288 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-134.72220 122.79288 m +-138.10620 125.60088 -140.62620 127.25688 -144.51420 126.17688 C +-144.15420 144.39288 -147.97020 150.65688 -134.00220 162.75288 C +-114.05820 162.75288 -126.08220 134.38488 -130.97820 123.58488 C +-132.49020 122.79288 -132.49020 122.79288 -134.72220 122.79288 C +@c +F + +@rax %Note: Object +665.14394 133.73688 696.37380 175.20888 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +665.91780 133.73688 m +665.48580 143.16888 662.89380 150.65688 670.09380 157.85688 C +671.31780 163.11288 683.91780 172.11288 688.52580 174.84888 C +690.97380 174.99288 693.49380 175.13688 696.01380 175.20888 C +696.08580 172.47288 696.22980 169.73688 696.37380 166.92888 C +692.62980 159.36888 674.98980 135.96888 665.91780 133.73688 C +@c +F + +@rax %Note: Object +636.69175 135.60888 655.88287 167.28888 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +638.84580 135.60888 m +634.02180 140.43288 638.41380 156.77688 640.35780 162.39288 C +644.96580 164.04888 645.25380 167.28888 652.38180 167.28888 C +656.91780 162.75288 657.06180 142.59288 652.74180 135.96888 C +648.06180 135.89688 643.45380 135.75288 638.84580 135.60888 C +@c +F + +@rax %Note: Object +694.14180 147.70488 699.03780 151.80888 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +694.50180 147.70488 m +694.35780 148.85688 694.21380 150.00888 694.14180 151.08888 C +695.22180 151.37688 696.37380 151.59288 697.52580 151.80888 C +697.52580 151.30488 697.52580 150.80088 697.52580 150.29688 C +698.02980 150.29688 698.53380 150.29688 699.03780 150.29688 C +698.74980 149.72088 698.46180 149.07288 698.24580 148.42488 C +696.94980 148.20888 695.72580 147.99288 694.50180 147.70488 C +@c +F + +@rax %Note: Object +363.73380 173.69688 594.13380 799.37688 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +363.73380 173.69688 m +364.81380 180.46488 370.86180 203.07288 376.83780 231.00888 C +377.62980 231.72888 380.58180 242.31288 381.37380 243.03288 C +388.42980 277.59288 394.98180 310.78488 397.93380 345.56088 C +397.93380 357.65688 397.14180 359.09688 397.14180 367.44888 C +391.16580 413.38488 391.16580 413.38488 390.37380 414.17688 C +387.27780 428.14488 383.38980 442.18488 381.73380 455.64888 C +381.22980 455.64888 380.72580 455.64888 380.22180 455.64888 C +379.06980 462.41688 376.11780 469.18488 372.73380 482.79288 C +372.22980 482.79288 371.72580 482.79288 371.22180 482.79288 C +369.78180 488.33688 368.41380 493.88088 367.04580 499.35288 C +365.74980 522.24888 371.22180 547.44888 378.70980 568.32888 C +379.28580 568.25688 379.93380 568.11288 380.58180 567.96888 C +382.52580 555.94488 384.25380 532.25688 398.29380 526.85688 C +416.29380 526.85688 428.74980 537.72888 443.36580 547.95288 C +444.37380 548.09688 445.38180 548.24088 446.38980 548.31288 C +446.74980 547.59288 447.10980 546.87288 447.54180 546.08088 C +448.18980 527.43288 444.30180 464.28888 473.46180 464.28888 C +484.40580 472.35288 489.80580 482.21688 499.02180 491.43288 C +499.88580 491.36088 500.74980 491.21688 501.68580 491.07288 C +501.68580 479.26488 501.68580 467.45688 501.68580 455.64888 C +503.62980 446.21688 505.14180 430.52088 514.78980 424.32888 C +533.72580 424.32888 535.09380 444.48888 550.14180 446.57688 C +552.80580 426.20088 552.80580 426.20088 553.52580 412.66488 C +558.06180 400.20888 568.28580 389.19288 582.10980 399.84888 C +582.10980 405.60888 575.12580 403.44888 571.23780 403.59288 C +570.80580 404.38488 570.44580 405.17688 570.08580 405.89688 C +567.70980 406.18488 565.33380 406.40088 562.95780 406.61688 C +558.42180 421.08888 558.13380 435.20088 556.54980 449.60088 C +553.88580 452.98488 552.44580 453.34488 552.44580 454.85688 C +541.35780 452.62488 536.46180 446.28888 529.47780 438.29688 C +525.51780 435.27288 521.77380 431.16888 517.09380 431.16888 C +501.97380 449.96088 511.54980 482.93688 506.58180 504.60888 C +489.51780 503.96088 486.27780 471.84888 466.69380 471.84888 C +457.62180 480.92088 455.89380 512.24088 455.02980 523.47288 C +455.02980 533.26488 455.24580 549.03288 451.64580 557.38488 C +450.13380 557.52888 448.62180 557.67288 447.18180 557.74488 C +433.71780 551.33688 410.60580 528.22488 396.78180 535.13688 C +386.98980 553.20888 386.62980 568.25688 386.62980 588.27288 C +398.36580 638.45688 425.07780 681.44088 449.77380 726.22488 C +452.00580 732.27288 455.02980 736.80888 467.05380 762.44088 C +471.44580 774.75288 475.83780 787.06488 480.22980 799.37688 C +480.94980 799.37688 481.66980 799.37688 482.46180 799.37688 C +491.10180 775.97688 491.10180 775.97688 495.63780 766.18488 C +496.78980 765.10488 496.78980 765.10488 500.17380 765.46488 C +506.50980 775.54488 514.35780 784.90488 519.32580 795.63288 C +520.33380 795.63288 521.34180 795.63288 522.34980 795.63288 C +522.27780 785.91288 517.59780 728.88888 536.60580 728.88888 C +539.62980 731.91288 539.62980 731.91288 549.42180 748.47288 C +550.28580 748.40088 551.14980 748.25688 552.01380 748.11288 C +552.80580 746.60088 552.80580 746.60088 554.24580 728.52888 C +562.09380 698.00088 570.66180 668.62488 576.06180 636.51288 C +588.37380 596.69688 589.59780 550.11288 594.13380 508.35288 C +593.34180 506.12088 593.34180 506.12088 594.13380 462.41688 C +589.16580 405.24888 584.19780 356.21688 557.26980 304.88088 C +549.56580 283.92888 537.10980 267.87288 527.24580 247.56888 C +526.30980 247.06488 525.44580 246.56088 524.58180 246.05688 C +523.93380 236.48088 501.54180 217.68888 494.55780 206.52888 C +493.54980 206.16888 492.54180 205.80888 491.53380 205.37688 C +491.24580 204.29688 490.95780 203.14488 490.74180 201.99288 C +489.22980 201.20088 489.22980 201.20088 485.48580 201.56088 C +473.38980 217.90488 461.94180 215.45688 443.36580 214.01688 C +434.29380 211.42488 427.88580 209.69688 420.10980 205.01688 C +396.27780 205.01688 384.46980 179.60088 363.73380 173.69688 C +@c +F + +@rax %Note: Object +-27.22620 483.15288 195.36180 602.63660 @E + 1 O 0 @g +0.00 0.00 0.00 1.00 k +/$fm 0 def +41.17380 483.15288 m +28.42980 484.80888 15.75780 488.33688 5.46180 494.81688 C +5.17380 497.26488 -3.32220 500.57688 -5.41020 502.01688 C +-8.14620 507.20088 -12.17820 508.56888 -13.69020 512.88888 C +-14.69820 513.32088 -15.70620 513.68088 -16.71420 514.04088 C +-18.51420 521.31288 -28.16220 522.68088 -27.22620 533.62488 C +-24.27420 535.92888 -24.27420 535.92888 -22.76220 535.92888 C +-19.09020 532.25688 -16.64220 520.80888 -9.94620 518.93688 C +-7.42620 513.68088 5.60580 506.04888 6.61380 502.37688 C +11.86980 499.71288 11.86980 499.71288 22.38180 496.32888 C +22.38180 495.82488 22.38180 495.32088 22.38180 494.81688 C +42.68580 491.43288 42.68580 491.43288 49.45380 491.43288 C +50.96580 492.22488 69.75780 494.45688 93.80580 498.99288 C +97.04580 501.29688 100.28580 503.52888 103.59780 505.76088 C +113.24580 507.41688 132.90180 522.96888 137.79780 530.24088 C +149.24580 539.38488 155.79780 556.44888 160.33380 569.48088 C +160.18980 575.24088 160.04580 581.00088 159.97380 586.76088 C +160.54980 587.04888 161.19780 587.33688 161.84580 587.55288 C +161.91780 588.56088 162.06180 589.56888 162.20580 590.57688 C +161.41380 590.57688 160.69380 590.57688 159.97380 590.57688 C +158.31780 595.32888 157.09380 597.41688 158.02980 601.88088 C +159.18180 602.02488 160.33380 602.16888 161.48580 602.24088 C +171.63780 596.26488 182.58180 604.47288 194.53380 602.24088 C +195.61380 599.57688 195.54180 598.56888 194.89380 595.11288 C +185.24580 594.03288 175.38180 593.67288 166.74180 590.57688 C +167.17380 560.98488 161.62980 547.16088 141.54180 523.47288 C +141.39780 522.75288 141.25380 521.96088 141.18180 521.16888 C +157.23780 523.47288 169.69380 532.11288 180.99780 543.48888 C +183.01380 543.63288 185.02980 543.77688 187.04580 543.84888 C +187.04580 543.34488 187.04580 542.84088 187.04580 542.33688 C +187.54980 542.33688 188.05380 542.33688 188.55780 542.33688 C +186.97380 530.81688 155.58180 517.78488 146.43780 513.32088 C +143.98980 513.46488 141.61380 513.60888 139.23780 513.68088 C +138.87780 515.48088 138.51780 517.20888 138.15780 518.93688 C +130.59780 516.70488 129.37380 509.86488 121.59780 507.27288 C +98.70180 490.35288 68.89380 483.15288 41.17380 483.15288 C +@c +F + +@rax %Note: Object +-72.73020 540.46488 248.32205 910.38784 @E + 1 O 0 @g +0.00 0.00 0.00 1.00 k +/$fm 0 def +-45.29820 540.46488 m +-47.60220 540.96888 -49.83420 541.47288 -52.06620 541.97688 C +-66.61020 549.10488 -69.77820 554.50488 -72.73020 569.48088 C +-69.85020 596.98488 -42.77820 613.40088 -26.14620 585.24888 C +-25.06620 582.00888 -23.91420 578.76888 -22.76220 575.45688 C +-8.65020 576.46488 6.90180 589.35288 18.63780 596.98488 C +30.87780 608.64888 58.81380 634.71288 58.81380 653.14488 C +56.50980 655.95288 54.27780 658.68888 52.04580 661.42488 C +50.24580 677.76888 50.96580 688.49688 54.27780 703.61688 C +57.01380 707.72088 57.94980 708.87288 56.22180 712.68888 C +55.71780 712.68888 55.21380 712.68888 54.70980 712.68888 C +53.34180 720.75288 49.66980 727.52088 55.42980 733.42488 C +56.94180 733.06488 58.45380 732.70488 59.96580 732.27288 C +61.62180 739.47288 62.12580 740.26488 67.81380 744.36888 C +66.66180 752.07288 62.62980 751.85688 58.45380 756.03288 C +54.78180 761.14488 53.12580 763.73688 48.66180 766.61688 C +33.32580 785.33688 13.45380 808.37688 5.46180 830.26488 C +3.94980 838.54488 3.15780 850.64088 0.20580 866.48088 C +1.28580 881.31288 6.03780 894.99288 7.69380 908.67288 C +11.29380 912.27288 14.38980 909.39288 18.63780 907.59288 C +29.94180 905.79288 40.16580 903.63288 51.68580 900.03288 C +52.69380 897.00888 74.43780 889.37688 79.54980 888.29688 C +79.54980 887.79288 79.54980 887.28888 79.54980 886.78488 C +80.26980 886.78488 80.98980 886.78488 81.78180 886.78488 C +81.78180 886.28088 81.78180 885.77688 81.78180 885.27288 C +84.66180 884.19288 90.70980 879.08088 90.06180 874.40088 C +84.01380 875.40888 84.08580 878.79288 80.26980 881.16888 C +68.74980 882.60888 58.74180 890.02488 47.94180 892.83288 C +47.94180 893.33688 47.94180 893.84088 47.94180 894.34488 C +36.27780 897.15288 25.04580 900.46488 13.74180 899.60088 C +12.22980 894.34488 11.43780 893.62488 11.07780 891.32088 C +17.70180 889.08888 31.38180 881.74488 33.68580 873.96888 C +34.54980 873.75288 35.41380 873.53688 36.27780 873.24888 C +36.34980 871.95288 43.47780 862.30488 46.06980 861.15288 C +46.14180 860.43288 46.28580 859.71288 46.42980 858.92088 C +47.00580 858.70488 47.65380 858.48888 48.30180 858.20088 C +62.19780 838.76088 69.10980 816.51288 78.03780 793.76088 C +78.54180 793.61688 79.04580 793.47288 79.54980 793.32888 C +83.00580 809.38488 85.45380 817.01688 93.37380 831.05688 C +100.93380 840.05688 100.93380 840.05688 101.29380 841.56888 C +87.39780 840.92088 80.62980 835.59288 80.62980 850.64088 C +92.65380 864.96888 92.65380 864.96888 98.70180 870.94488 C +113.60580 881.96088 125.12580 885.63288 143.41380 889.08888 C +143.41380 889.88088 143.41380 890.60088 143.41380 891.32088 C +142.62180 891.32088 141.90180 891.32088 141.18180 891.32088 C +141.18180 891.82488 141.18180 892.32888 141.18180 892.83288 C +140.53380 893.12088 139.88580 893.40888 139.23780 893.62488 C +139.45380 894.92088 139.74180 896.14488 140.02980 897.36888 C +166.59780 907.08888 193.88580 913.92888 222.39780 905.28888 C +229.09380 899.24088 229.09380 899.24088 230.60580 898.88088 C +231.82980 895.92888 231.68580 894.34488 235.14180 892.47288 C +235.50180 890.60088 235.86180 888.72888 236.22180 886.78488 C +236.86980 886.56888 237.51780 886.35288 238.16580 886.06488 C +238.02180 884.55288 237.87780 883.04088 237.73380 881.52888 C +247.59780 848.48088 253.78980 819.03288 241.54980 784.25688 C +234.56580 771.51288 237.44580 776.26488 226.86180 777.48888 C +225.56580 769.06488 213.10980 758.26488 206.55780 753.00888 C +193.38180 753.00888 195.25380 765.24888 194.53380 774.46488 C +182.36580 773.60088 175.66980 746.67288 159.97380 743.21688 C +157.95780 744.72888 155.94180 746.24088 153.92580 747.75288 C +152.70180 757.76088 153.99780 764.96088 155.43780 774.46488 C +142.26180 769.78488 132.03780 733.78488 115.62180 744.72888 C +108.13380 761.00088 114.46980 783.39288 119.36580 799.37688 C +105.97380 797.21688 99.27780 777.84888 83.29380 776.76888 C +82.93380 773.52888 82.42980 770.43288 78.03780 769.64088 C +75.08580 772.44888 76.09380 773.38488 72.78180 774.46488 C +73.14180 769.20888 78.32580 766.25688 79.90980 760.13688 C +79.40580 759.41688 78.90180 758.69688 78.39780 757.90488 C +76.95780 757.68888 75.58980 757.47288 74.22180 757.18488 C +74.43780 754.95288 74.72580 752.64888 75.01380 750.34488 C +76.23780 750.12888 77.46180 749.91288 78.75780 749.62488 C +80.12580 745.95288 84.22980 748.25688 83.29380 742.49688 C +81.78180 741.70488 81.78180 741.70488 69.75780 742.85688 C +69.82980 741.34488 69.97380 739.83288 70.11780 738.32088 C +65.07780 733.28088 68.24580 727.37688 69.75780 720.96888 C +74.94180 720.53688 79.47780 721.90488 85.52580 720.60888 C +88.62180 733.92888 91.42980 749.84088 92.29380 763.16088 C +92.79780 763.16088 93.30180 763.16088 93.80580 763.16088 C +93.80580 760.71288 93.80580 758.19288 93.80580 755.67288 C +94.52580 755.31288 95.24580 754.95288 96.03780 754.52088 C +96.10980 748.40088 96.25380 742.20888 96.39780 736.01688 C +90.85380 716.64888 92.72580 698.21688 88.90980 677.98488 C +86.24580 671.28888 76.81380 653.28888 69.75780 651.63288 C +67.16580 642.99288 66.51780 646.52088 61.47780 641.48088 C +51.46980 613.97688 24.75780 593.45688 1.35780 577.40088 C +-6.13020 573.58488 -12.89820 567.75288 -21.25020 567.17688 C +-24.85020 552.56088 -28.52220 540.46488 -45.29820 540.46488 C +@c +F + +@rax %Note: Object +-53.21820 559.25688 -38.27197 582.29688 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-46.01820 559.25688 m +-49.83420 562.28088 -49.83420 562.28088 -51.27420 562.64088 C +-51.27420 563.64888 -51.27420 564.65688 -51.27420 565.66488 C +-51.92220 565.95288 -52.57020 566.24088 -53.21820 566.45688 C +-53.21820 576.96888 -53.21820 576.96888 -52.06620 579.63288 C +-50.19420 580.78488 -50.19420 580.78488 -49.83420 582.29688 C +-36.73020 581.86488 -35.14620 568.97688 -43.06620 559.25688 C +-44.07420 559.25688 -45.08220 559.25688 -46.01820 559.25688 C +@c +F + +@rax %Note: Object +147.81487 656.52888 195.99846 740.98488 @E + 1 O 0 @g +0.00 0.00 0.00 1.00 k +/$fm 0 def +156.94980 656.52888 m +150.18180 661.06488 150.18180 661.06488 149.02980 662.93688 C +147.08580 679.35288 146.14980 700.08888 156.58980 713.40888 C +156.66180 714.92088 156.80580 716.43288 156.94980 717.94488 C +160.26180 718.59288 161.91780 718.80888 164.43780 721.32888 C +179.77380 725.14488 180.20580 727.73688 187.76580 740.98488 C +189.34980 740.84088 191.00580 740.69688 192.66180 740.55288 C +192.66180 732.27288 182.86980 724.28088 184.02180 719.09688 C +184.52580 719.09688 185.02980 719.09688 185.53380 719.09688 C +188.12580 722.55288 191.07780 726.72888 195.32580 727.37688 C +198.42180 721.97688 190.50180 712.47288 185.89380 708.87288 C +185.89380 699.36888 184.45380 671.50488 172.71780 668.19288 C +171.42180 662.86488 161.98980 657.75288 156.94980 656.52888 C +@c +F + +@rax %Note: Object +56.77965 660.27288 85.64995 708.51288 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +61.47780 660.27288 m +52.33380 671.64888 56.79780 704.91288 71.98980 708.51288 C +85.16580 708.51288 86.10180 707.14488 85.52580 692.74488 C +85.02180 692.74488 84.51780 692.74488 84.01380 692.74488 C +80.70180 697.71288 78.25380 697.13688 73.50180 698.72088 C +55.71780 692.38488 60.54180 675.96888 62.98980 661.06488 C +62.48580 660.84888 61.98180 660.56088 61.47780 660.27288 C +@c +F + +@rax %Note: Object +153.92580 682.52088 180.26476 710.53682 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +153.92580 682.52088 m +155.79780 698.57688 159.03780 718.66488 178.76580 707.43288 C +179.55780 702.89688 181.50180 699.36888 179.12580 694.61688 C +175.02180 700.44888 173.65380 700.23288 167.46180 700.23288 C +163.86180 696.27288 157.30980 684.03288 153.92580 682.52088 C +@c +F + +@rax %Note: Object +86.24580 748.83288 242.26980 902.10132 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +120.08580 748.83288 m +114.46980 772.44888 126.13380 790.95288 129.51780 812.19288 C +122.10180 819.60888 98.62980 786.20088 86.24580 785.04888 C +86.60580 791.60088 86.96580 798.15288 87.39780 804.63288 C +95.67780 826.16088 102.30180 835.16088 120.87780 847.97688 C +122.24580 850.20888 123.61380 851.72088 123.10980 854.02488 C +120.08580 854.81688 120.08580 854.81688 115.62180 854.02488 C +106.40580 849.41688 96.82980 847.32888 87.03780 846.82488 C +92.65380 870.44088 128.00580 880.59288 148.66980 883.40088 C +157.66980 883.68888 166.66980 883.97688 175.74180 884.19288 C +177.97380 886.42488 178.69380 886.92888 179.12580 889.80888 C +175.52580 893.40888 159.32580 892.68888 153.20580 893.62488 C +153.20580 894.41688 153.20580 895.13688 153.20580 895.85688 C +175.88580 901.47288 197.26980 905.21688 220.88580 898.52088 C +227.22180 892.83288 227.22180 892.83288 230.96580 887.57688 C +230.96580 878.28888 233.98980 863.02488 238.88580 854.02488 C +239.38980 853.95288 239.89380 853.80888 240.39780 853.66488 C +238.88580 843.72888 241.83780 828.96888 242.26980 817.44888 C +241.54980 809.16888 241.54980 809.16888 235.86180 785.40888 C +234.85380 785.33688 233.84580 785.19288 232.90980 785.04888 C +232.47780 791.81688 232.62180 791.96088 227.65380 793.32888 C +224.12580 784.40088 213.90180 759.27288 202.09380 760.92888 C +201.80580 770.72088 201.51780 780.51288 201.30180 790.30488 C +199.50180 790.30488 197.77380 790.30488 196.04580 790.30488 C +190.57380 781.66488 169.62180 752.14488 159.97380 751.13688 C +159.46980 764.45688 161.77380 774.24888 165.58980 786.56088 C +165.44580 789.00888 165.30180 791.38488 165.22980 793.76088 C +149.89380 793.76088 138.58980 751.42488 120.08580 748.83288 C +@c +F + +@rax %Note: Object +252.06180 759.77688 393.39780 945.96888 @E + 1 O 0 @g +0.00 0.00 0.00 1.00 k +/$fm 0 def +332.12580 759.77688 m +331.33380 759.92088 330.61380 760.06488 329.89380 760.13688 C +329.60580 762.65688 329.31780 765.17688 329.10180 767.69688 C +333.42180 768.34488 338.02980 768.27288 338.89380 773.74488 C +350.91780 778.85688 365.10180 789.36888 373.81380 799.37688 C +395.05380 838.90488 384.97380 892.04088 376.47780 933.51288 C +369.42180 930.99288 368.70180 928.83288 367.04580 922.20888 C +344.43780 914.79288 332.77380 895.06488 319.74180 876.27288 C +308.58180 858.20088 288.92580 830.12088 292.30980 806.93688 C +303.61380 812.55288 310.09380 821.84088 320.10180 829.90488 C +322.33380 830.04888 324.56580 830.19288 326.86980 830.26488 C +326.50980 823.06488 319.45380 813.56088 315.92580 806.93688 C +315.27780 802.18488 314.62980 797.43288 314.05380 792.60888 C +322.40580 793.04088 323.26980 798.29688 334.35780 795.63288 C +336.73380 790.52088 337.30980 778.20888 333.99780 772.95288 C +333.13380 772.88088 332.26980 772.73688 331.40580 772.59288 C +328.23780 775.76088 329.89380 785.55288 329.89380 789.58488 C +327.37380 789.22488 324.85380 788.86488 322.33380 788.43288 C +300.15780 777.12888 307.21380 792.75288 310.30980 809.88888 C +301.52580 809.31288 299.22180 798.22488 289.28580 798.22488 C +280.71780 811.32888 286.90980 824.07288 291.15780 837.82488 C +303.18180 861.15288 303.18180 861.15288 315.20580 880.80888 C +320.24580 887.14488 330.18180 898.37688 332.91780 905.64888 C +307.64580 899.67288 288.27780 875.33688 265.23780 864.17688 C +262.64580 859.13688 259.54980 855.53688 253.93380 855.53688 C +251.70180 857.76888 252.27780 858.70488 252.06180 861.15288 C +257.24580 863.52888 258.46980 864.75288 261.78180 869.50488 C +288.27780 887.79288 315.70980 905.07288 344.14980 920.40888 C +355.52580 927.89688 369.56580 934.80888 377.98980 945.96888 C +385.83780 945.96888 383.31780 942.00888 383.60580 933.51288 C +386.05380 923.21688 390.44580 908.24088 389.29380 897.36888 C +389.79780 897.36888 390.30180 897.36888 390.80580 897.36888 C +392.60580 872.45688 393.39780 870.94488 393.39780 855.89688 C +390.44580 849.92088 390.73380 829.47288 390.37380 825.00888 C +384.75780 798.51288 374.89380 788.43288 351.27780 772.95288 C +347.60580 766.25688 339.68580 759.77688 332.12580 759.77688 C +@c +F + +@rax %Note: Object +6.60359 765.82488 72.78180 884.91288 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +62.19780 765.82488 m +57.30180 769.56888 50.67780 774.96888 47.94180 779.79288 C +47.43780 779.79288 46.93380 779.79288 46.42980 779.79288 C +34.33380 794.33688 21.66180 812.19288 13.74180 828.03288 C +9.63780 842.14488 2.36580 872.38488 9.56580 884.91288 C +18.56580 883.32888 33.54180 869.57688 37.42980 860.43288 C +37.93380 860.43288 38.43780 860.43288 38.94180 860.43288 C +44.19780 852.51288 44.19780 852.51288 46.06980 851.36088 C +53.05380 838.90488 74.94180 795.41688 72.78180 785.40888 C +70.47780 785.40888 68.96580 786.20088 64.50180 786.20088 C +63.34980 785.04888 63.34980 785.04888 62.98980 781.30488 C +63.56580 781.08888 64.21380 780.80088 64.86180 780.51288 C +64.86180 779.00088 64.06980 778.28088 63.70980 772.95288 C +66.51780 771.65688 67.23780 771.00888 66.73380 767.33688 C +64.50180 765.82488 64.50180 765.82488 62.19780 765.82488 C +@c +F + +%%PageTrailer +@rs +@rs +%%Trailer +@EndSysCorelDict +end +%%DocumentSuppliedResources: procset wCorel8Dict +%%EOF + +%%EndDocument + diff --git a/obalky/obalky-template.tex b/obalky/obalky-template.tex new file mode 100644 index 00000000..c7490f1b --- /dev/null +++ b/obalky/obalky-template.tex @@ -0,0 +1,78 @@ +\input czech.sty +\input epsf +\special{landscape} +\nopagenumbers +\hoffset=-1in +\voffset=-1in +\advance\voffset by 0.9cm +%nove pridano, aby to fungovalo... +\advance\hoffset by 6.5cm +\hsize=22cm +\vsize=16cm + +\font\adrfonta=csssbx10 at 14pt +\font\adrfontb=csssbx10 at 12pt +\font\adrfontc=csss12 +\font\tofont=csr12 at 16pt + +\newdimen\fromskip +\newdimen\toskip +\fromskip=4.35cm +\toskip=13.2cm + +\def\first{\relax} + +\catcode`_=13 +%\catcode`_=12 + +\def_{$\_$} + +\advance\voffset by 2.5cm + + +\def\obalka#1#2#3#4#5#6#7{ + +\def\jmeno{#1} +\def\prijm{#2} +\def\skola{#3} +\def\popis{} +\def\first{} +\def\ulice{#4} +\def\PSC{#5} +\def\mesto{#6} +\def\stat{#7} +\vskip-4mm\vbox to 0pt{\hbox to 0pt{\hskip1.4cm\epsfysize=2.55cm\epsfbox{lisak.eps}\hss}\vss} + +\baselineskip=13pt +\parindent=\fromskip +\line{\indent\adrfonta Časopis M\&M,\hfil} +\vskip3pt +\line{\indent\adrfontb OVVP UK MFF\hfil} +\vskip3pt +\line{\indent\adrfontc Ke Karlovu 3, 121 16 Praha 2\hfil} +\line{\indent\adrfontc Tel.: +420 221 911 235\hss} +\line{\indent\adrfontc mam@atrey.karlin.mff.cuni.cz\hfil} + +\vskip6.15cm +\vbox to 0pt{\parindent=1.4cm\hsize=\toskip\advance\hsize by -1cm +\vbox to 60pt{\vfil} \popis\vss} +\parindent=\toskip +\baselineskip=18pt +\line{\indent\tofont\first\hfil} +\line{\indent\tofont\jmeno\ \prijm\hfil} +\ifx \skola \empty +{} +\else +\line{\indent\tofont\skola\hfil} +\fi +\line{\indent\tofont\ulice\hfil} +\line{\tofont\item{\PSC} \mesto\hfil} +\vskip5pt +\line{\indent\tofont\stat\hfil} + +\vfil\eject +} + +%\obalka{Lenka}{Kopfová}{Leknínová 10}{746 01}{Opava} + + diff --git a/obalky/obalky.py b/obalky/obalky.py new file mode 100755 index 00000000..9f7ae95a --- /dev/null +++ b/obalky/obalky.py @@ -0,0 +1,52 @@ +#!/usr/bin/python + +import psycopg2 +import sys +import subprocess +import re + +dbname="mam-prod" +user="mam" + +conn = psycopg2.connect("dbname={0} user={1}".format(dbname,user)) +cur = conn.cursor() + +names = [] + +with open("obalky.sql") as qfile, open("obalky-template.tex") as texheader, open("obalky.tex","w") as texout : + texout.write(texheader.read()) + cur.execute(qfile.read()) + for row in cur.fetchall(): + (muz,jmeno,prijmeni,skola,ulice,mesto,psc,stat)=row + if (stat=='CZ'): + stat = "" + elif (stat=='SK'): + stat = "Slovenská republika" + else: + print("Neznamy stat: {}\n".format(stat)) + if (skola==None): + skola="" + psc = psc.replace(" ","") + psc = psc[0:3]+" "+psc[3:] + + texout.write("\\obalka{{{0}}}{{{1}}}{{{2}}}{{{3}}}{{{4}}}{{{5}}}{{{6}}}\n".format(jmeno,prijmeni,skola,ulice,psc,mesto,stat)) + names.append((jmeno,prijmeni)) + texout.write("\\bye\n") + +cur.close() +conn.close() + +print("Spoustim csplain ...") +output = subprocess.check_output(["csplain","obalky.tex"],stderr=subprocess.STDOUT) +page = 0 +for line in output.decode("utf-8").splitlines(): + pmatch = re.search("\[([0-9]+)\]",line) + if pmatch: + page = int(pmatch.group(1)) + errmatch = re.match("Overfull",line) + if errmatch: + print("Preteceni na strane",page,"u osoby",names[page][0],names[page][1]) + +print("Spoustim dvipdf ...") +subprocess.call(["dvipdf","obalky.dvi"]) +print("Hotovo.") diff --git a/obalky.sql b/obalky/obalky.sql similarity index 71% rename from obalky.sql rename to obalky/obalky.sql index dede13b7..930dd640 100644 --- a/obalky.sql +++ b/obalky/obalky.sql @@ -2,7 +2,7 @@ WITH akt_rocnik AS ( SELECT rocnik FROM seminar_rocniky WHERE id=(SELECT aktualni_rocnik_id FROM seminar_nastaveni) ), id_rocniku AS ( - SELECT id FROM seminar_rocniky + SELECT id,prvni_rok FROM seminar_rocniky WHERE rocnik=(SELECT * FROM akt_rocnik) OR rocnik=(SELECT * FROM akt_rocnik)-1 ), id_cisel AS ( SELECT seminar_cisla.id FROM seminar_cisla @@ -14,12 +14,13 @@ WITH akt_rocnik AS ( SELECT DISTINCT resitel_id FROM seminar_reseni INNER JOIN problemy ON problem_id=problemy.id ) -SELECT pohlavi_muz,jmeno,prijmeni,NULL,ulice,mesto,psc,stat FROM seminar_resitele +SELECT pohlavi_muz,jmeno,prijmeni,NULL AS skola,ulice,mesto,psc,stat FROM seminar_resitele INNER JOIN resitele ON seminar_resitele.id=resitel_id -WHERE zasilat='domu' +WHERE zasilat='domu' AND rok_maturity > (SELECT MAX(prvni_rok) FROM id_rocniku) UNION SELECT res.pohlavi_muz,res.jmeno,res.prijmeni,sk.nazev,sk.ulice,sk.mesto,sk.psc,sk.stat FROM seminar_resitele AS res INNER JOIN resitele ON res.id=resitel_id INNER JOIN seminar_skoly AS sk ON sk.id=skola_id -WHERE zasilat='do_skoly' +WHERE zasilat='do_skoly' AND rok_maturity > (SELECT MAX(prvni_rok) FROM id_rocniku) +ORDER BY prijmeni ASC, jmeno ASC From 14efcbbe258860125eee3cbe38c42a0fc93d7109 Mon Sep 17 00:00:00 2001 From: Tomas Gavenciak Date: Sun, 25 Oct 2015 12:22:55 +0100 Subject: [PATCH 04/41] Update logging - vystup i do konzole --- mamweb/settings_common.py | 37 ++++++++++++++++++++++++++++++++++++- mamweb/settings_local.py | 3 +++ mamweb/settings_prod.py | 18 +++--------------- mamweb/settings_test.py | 4 +++- 4 files changed, 45 insertions(+), 17 deletions(-) diff --git a/mamweb/settings_common.py b/mamweb/settings_common.py index 5833d80b..4fe25374 100644 --- a/mamweb/settings_common.py +++ b/mamweb/settings_common.py @@ -186,7 +186,42 @@ try: except: SECRET_KEY = '12345zmr_k53a*@f4q_+ji^o@!pgpef*5&8c7zzdqwkdlkj' - +# Logging + +LOGGING = { + 'version': 1, + 'disable_existing_loggers': True, + + 'formatters': { + 'verbose': { + 'format': '%(levelname)s %(asctime)s %(module)s: %(message)s' + }, + }, + + 'loggers': { + # Catch-all logger + '': { + 'handlers': ['console'], # Add 'mail_admins' in prod (and test?) + 'level': 'DEBUG', + }, + + }, + + 'handlers': { + + 'console': { + 'level': 'INFO', ## Set to 'DEBUG' in local (and test?) + 'class': 'logging.StreamHandler', + 'formatter': 'verbose', + }, + + 'mail_admins': { + 'level': 'ERROR', + 'class': 'django.utils.log.AdminEmailHandler', + 'formatter': 'verbose', + }, + }, + } # MaM specific diff --git a/mamweb/settings_local.py b/mamweb/settings_local.py index f55679f8..54bef63e 100644 --- a/mamweb/settings_local.py +++ b/mamweb/settings_local.py @@ -36,3 +36,6 @@ DATABASES = { } } +# LOGGING + +LOGGING['handlers']['console']['level'] = 'DEBUG' diff --git a/mamweb/settings_prod.py b/mamweb/settings_prod.py index 0267c733..1ffb4f7b 100644 --- a/mamweb/settings_prod.py +++ b/mamweb/settings_prod.py @@ -60,20 +60,8 @@ CSRF_COOKIE_SECURE = True -# LOGGING = { -# 'version': 1, -# 'disable_existing_loggers': True, -# 'handlers': { -# 'console': { -# 'class': 'logging.StreamHandler', -# }, -# }, -# 'loggers': { -# 'django': { -# 'handlers': ['console'], -# 'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'), -# }, -# }, -# } +# LOGGING + +LOGGING['loggers']['']['handlers'].extend('mail_admins') diff --git a/mamweb/settings_test.py b/mamweb/settings_test.py index 8f18bb5d..d7cbcd2d 100644 --- a/mamweb/settings_test.py +++ b/mamweb/settings_test.py @@ -50,7 +50,6 @@ import os SERVER_EMAIL = 'mamweb-test-errors@mam.mff.cuni.cz' ADMINS = [ ('Petr Pecha', 'nejlepsitextovyeditorjevim@gmail.com'), - ('Tomas Gavenciak', 'gavento@gmail.com'), ] @@ -59,5 +58,8 @@ ADMINS = [ SESSION_COOKIE_SECURE = True CSRF_COOKIE_SECURE = True +# LOGGING + +LOGGING['loggers']['']['handlers'].extend('mail_admins') From 049eec24c9a639d4f04a28f648c288abd9462a8c Mon Sep 17 00:00:00 2001 From: Tomas Gavenciak Date: Sun, 25 Oct 2015 12:23:38 +0100 Subject: [PATCH 05/41] Mergovadlo Resitelu --- seminar/tools.py | 81 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 seminar/tools.py diff --git a/seminar/tools.py b/seminar/tools.py new file mode 100644 index 00000000..7d7aac1d --- /dev/null +++ b/seminar/tools.py @@ -0,0 +1,81 @@ +# -*- coding: utf-8 -*- + +import logging as log +from .models import Resitel +import reversion + +def merge_props(r1, r2, prop, pretend=True, smaller=False, equal=True): + """Merge r2.`prop` into r1.`prop`. + + If r1.`prop` unset, use r1.`prop`=r2.`prop`. + If both set and equal=True, warn if not equal. + If both set and smaller=True, use the smaller one. + With pretend=True does not modify r1. + """ + a1 = r1.__getattribute__(prop) + a2 = r2.__getattribute__(prop) + if not a1: + if not pretend: + r1.__setattr__(prop, a2) + elif a2: + if equal and a1 != a2: + log.warn(u"merge: Ruzna %s: %s VS %s", prop, a1, a2) + if smaller: + if not pretend: + r1.__setattr__(prop, min(a1, a2)) + + +def merge_Resitel(rbase, rmerge, pretend=True): + """Zahrne data a vztahy Resitele rmerge do Resitele rbase, pak smaze rmerge. + + Selze pro uzivatele s user!=NULL. S pretend=True nezmeni databazi. + """ + # Ma relace: skola + # Je v relaci: user, reseni, soustredeni_ucastnici, vysledky_base(VIEW) + + log.info(u"merge: %s <- %s", unicode(rbase), unicode(rmerge)) + + assert not rbase.user + assert not rmerge.user + assert rbase != rmerge + + if (rbase.jmeno != rmerge.jmeno) or (rbase.prijmeni != rmerge.prijmeni): + log.error(u"merge: Ruzna jmena: %s VS %s", rbase, rmerge) + if rbase.rok_maturity != rmerge.rok_maturity: + log.error(u"merge: Ruzne roky maturity: %s VS %s", rbase.rok_maturity, rmerge.rok_maturity) + + with reversion.create_revision(): + reversion.set_comment('Merge duplicitnich Resitelu: %r <- %r' % (rbase.pk, rmerge.pk)) + + merge_props(rbase, rmerge, 'skola', pretend=pretend) + merge_props(rbase, rmerge, 'datum_narozeni', pretend=pretend) + merge_props(rbase, rmerge, 'datum_prihlaseni', pretend=pretend) + merge_props(rbase, rmerge, 'datum_souhlasu_zasilani', pretend=pretend, smaller=True, equal=False) + merge_props(rbase, rmerge, 'datum_souhlasu_udaje', pretend=pretend, smaller=True, equal=False) + merge_props(rbase, rmerge, 'email', pretend=pretend) + if rmerge.import_mamoper_id and not pretend: + rbase.import_mamoper_id += ' ' + rmerge.import_mamoper_id + if rmerge.poznamka and not pretend: + rbase.poznamka += ' ' + rmerge.poznamka + merge_props(rbase, rmerge, 'mesto', pretend=pretend) + merge_props(rbase, rmerge, 'pohlavi_muz', pretend=pretend) + merge_props(rbase, rmerge, 'psc', pretend=pretend) + merge_props(rbase, rmerge, 'stat', pretend=pretend) + merge_props(rbase, rmerge, 'telefon', pretend=pretend) + merge_props(rbase, rmerge, 'ulice', pretend=pretend) + merge_props(rbase, rmerge, 'zasilat', pretend=pretend) + + for res in rmerge.reseni.all(): + if not pretend: + res.resitel = rbase + res.save() + + for uc in rmerge.soustredeni_ucastnici_set.all(): + if not pretend: + uc.resitel = rbase + uc.save() + + if not pretend: + rmerge.delete() + + From 8245897d0072cfd1391803bcdf5d1234532edc77 Mon Sep 17 00:00:00 2001 From: Tomas Gavenciak Date: Sun, 25 Oct 2015 12:27:53 +0100 Subject: [PATCH 06/41] Fix konfigurace loggeru --- mamweb/settings_prod.py | 2 +- mamweb/settings_test.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/mamweb/settings_prod.py b/mamweb/settings_prod.py index 1ffb4f7b..48646ebb 100644 --- a/mamweb/settings_prod.py +++ b/mamweb/settings_prod.py @@ -62,6 +62,6 @@ CSRF_COOKIE_SECURE = True # LOGGING -LOGGING['loggers']['']['handlers'].extend('mail_admins') +LOGGING['loggers']['']['handlers'] = ['console', 'mail_admins'] diff --git a/mamweb/settings_test.py b/mamweb/settings_test.py index d7cbcd2d..b1d3a7c1 100644 --- a/mamweb/settings_test.py +++ b/mamweb/settings_test.py @@ -60,6 +60,7 @@ CSRF_COOKIE_SECURE = True # LOGGING -LOGGING['loggers']['']['handlers'].extend('mail_admins') +LOGGING['loggers']['']['handlers'] = ['console', 'mail_admins'] + From e0430aad7c470569753ef24e17d308735ac5c269 Mon Sep 17 00:00:00 2001 From: Tomas Gavenciak Date: Sun, 25 Oct 2015 12:31:21 +0100 Subject: [PATCH 07/41] Minor tweak to test logging --- mamweb/settings_common.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mamweb/settings_common.py b/mamweb/settings_common.py index 4fe25374..7c44d571 100644 --- a/mamweb/settings_common.py +++ b/mamweb/settings_common.py @@ -201,7 +201,7 @@ LOGGING = { 'loggers': { # Catch-all logger '': { - 'handlers': ['console'], # Add 'mail_admins' in prod (and test?) + 'handlers': ['console'], # Add 'mail_admins' in prod and test 'level': 'DEBUG', }, @@ -210,7 +210,7 @@ LOGGING = { 'handlers': { 'console': { - 'level': 'INFO', ## Set to 'DEBUG' in local (and test?) + 'level': 'WARNING', ## Set to 'DEBUG' in local 'class': 'logging.StreamHandler', 'formatter': 'verbose', }, From d646c88c0cf8ed3470f9834a117998887fbc60ca Mon Sep 17 00:00:00 2001 From: Tomas Gavenciak Date: Sun, 25 Oct 2015 12:43:12 +0100 Subject: [PATCH 08/41] Dalsi upravy loggeru ... --- mamweb/settings_common.py | 8 +++++++- mamweb/settings_prod.py | 1 + mamweb/settings_test.py | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/mamweb/settings_common.py b/mamweb/settings_common.py index 7c44d571..e4f3ddd5 100644 --- a/mamweb/settings_common.py +++ b/mamweb/settings_common.py @@ -190,7 +190,7 @@ except: LOGGING = { 'version': 1, - 'disable_existing_loggers': True, + 'disable_existing_loggers': False, 'formatters': { 'verbose': { @@ -199,6 +199,12 @@ LOGGING = { }, 'loggers': { + + 'django': { + 'handlers': ['console'], + 'level': 'DEBUG', + }, + # Catch-all logger '': { 'handlers': ['console'], # Add 'mail_admins' in prod and test diff --git a/mamweb/settings_prod.py b/mamweb/settings_prod.py index 48646ebb..ee8233e3 100644 --- a/mamweb/settings_prod.py +++ b/mamweb/settings_prod.py @@ -63,5 +63,6 @@ CSRF_COOKIE_SECURE = True # LOGGING LOGGING['loggers']['']['handlers'] = ['console', 'mail_admins'] +LOGGING['loggers']['django']['handlers'] = ['console', 'mail_admins'] diff --git a/mamweb/settings_test.py b/mamweb/settings_test.py index b1d3a7c1..abe315ad 100644 --- a/mamweb/settings_test.py +++ b/mamweb/settings_test.py @@ -61,6 +61,7 @@ CSRF_COOKIE_SECURE = True # LOGGING LOGGING['loggers']['']['handlers'] = ['console', 'mail_admins'] +LOGGING['loggers']['django']['handlers'] = ['console', 'mail_admins'] From 2117f44e544d57fe77ab406abbe19927f7e5eea0 Mon Sep 17 00:00:00 2001 From: Tomas Gavenciak Date: Sun, 25 Oct 2015 13:17:14 +0100 Subject: [PATCH 09/41] Lokalni logy - mene podrobnosti --- mamweb/settings_common.py | 1 + mamweb/settings_local.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/mamweb/settings_common.py b/mamweb/settings_common.py index e4f3ddd5..4330c9e7 100644 --- a/mamweb/settings_common.py +++ b/mamweb/settings_common.py @@ -57,6 +57,7 @@ TEMPLATE_LOADERS = ( ) MIDDLEWARE_CLASSES = ( + 'reversion.middleware.RevisionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', diff --git a/mamweb/settings_local.py b/mamweb/settings_local.py index 54bef63e..ba85274a 100644 --- a/mamweb/settings_local.py +++ b/mamweb/settings_local.py @@ -38,4 +38,5 @@ DATABASES = { # LOGGING -LOGGING['handlers']['console']['level'] = 'DEBUG' +# set to 'DEBUG' for EXTRA verbose output +LOGGING['handlers']['console']['level'] = 'INFO' From 3c501cdda52038efd7ceee709bf7dc2bd9ae5035 Mon Sep 17 00:00:00 2001 From: Tomas Gavenciak Date: Sun, 25 Oct 2015 13:17:49 +0100 Subject: [PATCH 10/41] Spravne pridano Reversion pro zaznamenavani zmen (modely, middleware) --- seminar/admin.py | 20 ++++++++++---------- seminar/models.py | 3 +++ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/seminar/admin.py b/seminar/admin.py index 299e6c75..377f1664 100644 --- a/seminar/admin.py +++ b/seminar/admin.py @@ -3,7 +3,7 @@ from django.contrib import admin from django import forms from django.forms import widgets -import reversion +from reversion.admin import VersionAdmin from solo.admin import SingletonModelAdmin from ckeditor.widgets import CKEditorWidget from django.db.models import Count @@ -165,7 +165,7 @@ class Soustredeni_UcastniciInline(admin.TabularInline): ### Resitel -class ResitelAdmin(reversion.VersionAdmin): +class ResitelAdmin(VersionAdmin): form = autocomplete_light.modelform_factory(Resitel, autocomplete_fields=['skola'], fields=['skola']) fieldsets = [ (None, {'fields': ['jmeno', 'prijmeni', 'user']}), @@ -192,7 +192,7 @@ admin.site.register(Resitel, ResitelAdmin) ### Skola -class SkolaAdmin(reversion.VersionAdmin): +class SkolaAdmin(VersionAdmin): fieldsets = [ (None, {'fields': ['nazev', 'kratky_nazev', 'je_zs', 'je_ss']}), (u'Interní ID', {'fields': ['aesop_id', 'izo'], 'classes': ['collapse']}), @@ -209,7 +209,7 @@ admin.site.register(Skola, SkolaAdmin) ### Cislo -class CisloAdmin(reversion.VersionAdmin): +class CisloAdmin(VersionAdmin): fieldsets = [ (None, {'fields': ['cislo', 'rocnik', 'verejne_db', 'verejna_vysledkovka', 'poznamka', 'pdf']}), (u'Data', {'fields': ['datum_vydani', 'datum_deadline']}), @@ -232,7 +232,7 @@ admin.site.register(Cislo, CisloAdmin) ### Rocnik -class RocnikAdmin(reversion.VersionAdmin): +class RocnikAdmin(VersionAdmin): fieldsets = [ (None, {'fields': ['rocnik', 'prvni_rok', 'exportovat']}), ] @@ -264,7 +264,7 @@ admin.site.register(Rocnik, RocnikAdmin) ### Reseni -class ReseniAdmin(reversion.VersionAdmin): +class ReseniAdmin(VersionAdmin): form = autocomplete_light.modelform_factory(Reseni, autocomplete_fields=['problem', 'resitel'], fields=['problem', 'resitel']) fieldsets = [ (None, {'fields': ['problem', 'resitel', 'forma', 'body', 'cislo_body', 'timestamp']}), @@ -299,7 +299,7 @@ class ProblemAdminForm(forms.ModelForm): model = Problem exclude = [] -class ProblemAdmin(reversion.VersionAdmin): +class ProblemAdmin(VersionAdmin): form = ProblemAdminForm fieldsets = [ (None, {'fields': ['nazev', 'typ', 'stav', 'autor', 'zamereni', 'body', 'timestamp', 'import_dakos_id']}), @@ -354,7 +354,7 @@ class SoustredeniAdminForm(forms.ModelForm): model = Soustredeni exclude = [] -class SoustredeniAdmin(reversion.VersionAdmin): +class SoustredeniAdmin(VersionAdmin): form = SoustredeniAdminForm fieldsets = [ (None, {'fields': ['rocnik', 'misto', 'typ', 'verejne_db', 'exportovat', 'text']}), @@ -399,7 +399,7 @@ def zneverejnit_novinky(modeladmin, request, queryset): zneverejnit_novinky.short_description = 'Zneveřejnit vybrané novinky' -class NovinkyAdmin(admin.ModelAdmin): +class NovinkyAdmin(VersionAdmin): form = NovinkyAdminForm list_display = ['datum', 'autor', 'text', 'zverejneno', 'obrazek'] actions = [zverejnit_novinky, zneverejnit_novinky] @@ -444,7 +444,7 @@ deaktivovat_organizatory.short_description = 'Deaktivovat organizátory' @admin.register(Organizator) -class OrganizatorAdmin(admin.ModelAdmin): +class OrganizatorAdmin(VersionAdmin): list_filter = ['organizuje_do_roku'] list_display = [jmeno_organizatora, je_organizator_aktivni,] actions = [zaktivovat_organizatory, deaktivovat_organizatory,] diff --git a/seminar/models.py b/seminar/models.py index 1b862200..0f65c272 100644 --- a/seminar/models.py +++ b/seminar/models.py @@ -630,6 +630,7 @@ class Soustredeni(SeminarModelBase): return reverse('seminar_seznam_soustredeni') +@reversion.register(ignore_duplicate_revisions=True) @python_2_unicode_compatible class Soustredeni_Ucastnici(models.Model): @@ -747,6 +748,7 @@ class Nastaveni(SingletonModel): return False +@reversion.register(ignore_duplicate_revisions=True) @python_2_unicode_compatible class Novinky(models.Model): datum = models.DateField(auto_now_add=True) @@ -765,6 +767,7 @@ class Novinky(models.Model): verbose_name_plural = 'Novinky' +@reversion.register(ignore_duplicate_revisions=True) @python_2_unicode_compatible class Organizator(models.Model): user = models.OneToOneField(settings.AUTH_USER_MODEL, verbose_name='Osoba', From b3b33a6972c8f2f8496632dfd40c3e47d64c3d4a Mon Sep 17 00:00:00 2001 From: "Bc. Petr Pecha" Date: Sun, 25 Oct 2015 18:01:32 +0100 Subject: [PATCH 11/41] obalky kodovani --- obalky/obalky.py | 1 + 1 file changed, 1 insertion(+) diff --git a/obalky/obalky.py b/obalky/obalky.py index 9f7ae95a..27257e19 100755 --- a/obalky/obalky.py +++ b/obalky/obalky.py @@ -1,4 +1,5 @@ #!/usr/bin/python +#coding: utf-8 import psycopg2 import sys From f9e037163a054be794783c712efc10973739eb1d Mon Sep 17 00:00:00 2001 From: "Bc. Petr Pecha" Date: Sun, 25 Oct 2015 19:07:05 +0100 Subject: [PATCH 12/41] galerie | float nahledy --- galerie/templates/galerie/GalerieNahled.html | 36 +++++--------------- mamweb/static/css/mamweb.css | 34 ++++++++++++------ 2 files changed, 31 insertions(+), 39 deletions(-) diff --git a/galerie/templates/galerie/GalerieNahled.html b/galerie/templates/galerie/GalerieNahled.html index a2dce6fc..e2ce3416 100644 --- a/galerie/templates/galerie/GalerieNahled.html +++ b/galerie/templates/galerie/GalerieNahled.html @@ -34,41 +34,21 @@ {# obrazky v galerii #} {% if obrazky %} - +
{% for obrazek in obrazky %} - {% if forloop.counter|add:-1|divisibleby:3 %} -
- {% endif %} - - {% if forloop.last %} - {% if not forloop.counter|divisibleby:3 %} - - {% endif %} - {% if not forloop.counter|divisibleby:2 %} - - {% endif %} - {% endif %} - {% if forloop.counter|divisibleby:3 or forloop.last %} - - {% endif %} + + {% endfor %} -
- +
+
+ {% else %}
V galerii nejsou žádné fotky. diff --git a/mamweb/static/css/mamweb.css b/mamweb/static/css/mamweb.css index b7431e15..7ba04987 100644 --- a/mamweb/static/css/mamweb.css +++ b/mamweb/static/css/mamweb.css @@ -467,27 +467,39 @@ div.zadani_azad_termin { background-repeat: no-repeat; } -.galerie{ +/*.galerie{ position: relative; -} +}*/ .galerie_nahledy{ - margin: 1em 0; - text-align: center; + /*margin: 1em 0;*/ + margin: 0 auto 0 auto; } -.galerie_index{ + +.galerie_nahledy a{ + height: 100%; width: 100%; } -.galerie_index td{ - width: 50%; -} + .galerie_nahled{ - width: 100%; + float: left; + width: 190px; + height: 190px; + vertical-align: middle; + text-align: center; + border: solid; + border-width: 4px; + border-radius: 5px; + border-color: #ffa500; + background-color: #ffa500; + margin: 10px; } -.galerie_nahled td{ - width: 33%; + +.galerie_nahled img{ + border-radius: 2px; } + /* titulni stranka */ .zjistit_vic{ From ed81bf65770ea735afabe1cbcfc8ea3ef9c1e3ce Mon Sep 17 00:00:00 2001 From: "Bc. Petr Pecha" Date: Sun, 25 Oct 2015 19:44:45 +0100 Subject: [PATCH 13/41] galerie | vystredeni nahledu --- galerie/templates/galerie/GalerieNahled.html | 3 +-- mamweb/static/css/mamweb.css | 24 ++++++++++++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/galerie/templates/galerie/GalerieNahled.html b/galerie/templates/galerie/GalerieNahled.html index e2ce3416..49ccbd50 100644 --- a/galerie/templates/galerie/GalerieNahled.html +++ b/galerie/templates/galerie/GalerieNahled.html @@ -37,7 +37,7 @@
{% for obrazek in obrazky %}
-
+
-
{% endfor %}
diff --git a/mamweb/static/css/mamweb.css b/mamweb/static/css/mamweb.css index 7ba04987..d9ea899c 100644 --- a/mamweb/static/css/mamweb.css +++ b/mamweb/static/css/mamweb.css @@ -467,13 +467,20 @@ div.zadani_azad_termin { background-repeat: no-repeat; } -/*.galerie{ +.galerie{ position: relative; -}*/ + text-align: center; +} + +.popis{ + text-align: center; + margin: 10px; +} .galerie_nahledy{ /*margin: 1em 0;*/ margin: 0 auto 0 auto; + text-align: center; } .galerie_nahledy a{ @@ -481,11 +488,10 @@ div.zadani_azad_termin { width: 100%; } -.galerie_nahled{ +.galerie_nahled{ /* frame */ float: left; width: 190px; height: 190px; - vertical-align: middle; text-align: center; border: solid; border-width: 4px; @@ -493,10 +499,20 @@ div.zadani_azad_termin { border-color: #ffa500; background-color: #ffa500; margin: 10px; + white-space: nowrap; +} + +.vystredeno{ /* helper */ + display: inline-block; + height: 100%; + vertical-align: middle; } .galerie_nahled img{ border-radius: 2px; + vertical-align: middle; + max-height: 180px; + max-width: 180px; } From 9defd0ef68595d57a1e57095665320a1726e45c1 Mon Sep 17 00:00:00 2001 From: "Bc. Petr Pecha" Date: Sun, 25 Oct 2015 20:51:12 +0100 Subject: [PATCH 14/41] galerie | vystredeni detailu obrazku --- mamweb/static/css/mamweb.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mamweb/static/css/mamweb.css b/mamweb/static/css/mamweb.css index d9ea899c..1fbcc49f 100644 --- a/mamweb/static/css/mamweb.css +++ b/mamweb/static/css/mamweb.css @@ -470,6 +470,8 @@ div.zadani_azad_termin { .galerie{ position: relative; text-align: center; + width: 620px; + margin: 0 auto 0 auto; } .popis{ From ec020bd5e8a383f967712d783d25938864449b15 Mon Sep 17 00:00:00 2001 From: "Bc. Petr Pecha" Date: Tue, 27 Oct 2015 20:00:01 +0100 Subject: [PATCH 15/41] galerie | vylepseni css --- galerie/templates/galerie/Galerie.html | 6 ++++-- mamweb/static/css/mamweb.css | 18 +++++++++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/galerie/templates/galerie/Galerie.html b/galerie/templates/galerie/Galerie.html index c37f5a62..e699e243 100644 --- a/galerie/templates/galerie/Galerie.html +++ b/galerie/templates/galerie/Galerie.html @@ -5,14 +5,16 @@ {% endblock %}{% endblock %} {% block content %} -

{{galerie.nazev}}

+ {# TODO šipky na přecházeni dodelat ve stylech #}
{% if obrazky_predchozi %} {% with obrazky_predchozi|last as predchozi_obrazek %} -
+
{% endwith %} diff --git a/mamweb/static/css/mamweb.css b/mamweb/static/css/mamweb.css index 1fbcc49f..6316c6a2 100644 --- a/mamweb/static/css/mamweb.css +++ b/mamweb/static/css/mamweb.css @@ -470,13 +470,17 @@ div.zadani_azad_termin { .galerie{ position: relative; text-align: center; - width: 620px; + width: 630px; margin: 0 auto 0 auto; } +.galerie h2{ + text-align: center; +} + .popis{ text-align: center; - margin: 10px; + margin: 10px 10px 30px 10px; } .galerie_nahledy{ @@ -485,6 +489,10 @@ div.zadani_azad_termin { text-align: center; } +.galerie_nahledy img{ + margin: 0 10px 0 10px; +} + .galerie_nahledy a{ height: 100%; width: 100%; @@ -496,12 +504,12 @@ div.zadani_azad_termin { height: 190px; text-align: center; border: solid; - border-width: 4px; + border-width: 2px; border-radius: 5px; border-color: #ffa500; - background-color: #ffa500; - margin: 10px; + background-color: #ffb52d; white-space: nowrap; + margin: 10px; } .vystredeno{ /* helper */ From 3647aeb40aa9c140377ddaa8f47fa8bd3d7dcc1d Mon Sep 17 00:00:00 2001 From: Tomas Gavenciak Date: Fri, 6 Nov 2015 00:41:49 +0100 Subject: [PATCH 16/41] Fix merge script --- seminar/tools.py | 1 + 1 file changed, 1 insertion(+) diff --git a/seminar/tools.py b/seminar/tools.py index 7d7aac1d..686ccb02 100644 --- a/seminar/tools.py +++ b/seminar/tools.py @@ -77,5 +77,6 @@ def merge_Resitel(rbase, rmerge, pretend=True): if not pretend: rmerge.delete() + rbase.save() From fe548335cf73a27dfb05a7503b1719b2a9602904 Mon Sep 17 00:00:00 2001 From: "Bc. Petr Pecha" Date: Sun, 8 Nov 2015 21:06:02 +0100 Subject: [PATCH 17/41] galerie | u prohlizeni fotek prechody pres galerie U posledni respektive prvni fotky v galerii pridan odkaz na dalsi respektive predchozi galerii (pokud takova existuje) --- galerie/admin.py | 2 +- galerie/templates/galerie/Galerie.html | 21 ++++++++++++++++--- galerie/views.py | 29 ++++++++++++++++++++++++-- 3 files changed, 46 insertions(+), 6 deletions(-) diff --git a/galerie/admin.py b/galerie/admin.py index 60af9e3d..4f95c951 100644 --- a/galerie/admin.py +++ b/galerie/admin.py @@ -34,7 +34,7 @@ class ObrazekAdmin(admin.ModelAdmin): class GalerieAdmin(admin.ModelAdmin): model = Galerie - fields = ('zobrazit', 'nazev', 'titulni_obrazek', 'popis', 'galerie_up', 'soustredeni') + fields = ('zobrazit', 'nazev', 'titulni_obrazek', 'popis', 'galerie_up', 'soustredeni', 'poradi') list_display = ('nazev', 'pk', 'datum_zmeny', 'zobrazit', 'soustredeni') inlines = [GalerieInline] actions = [zverejnit_fotogalerii, prepnout_fotogalerii_do_org_rezimu] diff --git a/galerie/templates/galerie/Galerie.html b/galerie/templates/galerie/Galerie.html index e699e243..07aaca5c 100644 --- a/galerie/templates/galerie/Galerie.html +++ b/galerie/templates/galerie/Galerie.html @@ -52,16 +52,31 @@
+ {# odkaz na predchozi galerii #} + {% if predchozi_galerie %} + Predchozi: + {{predchozi_galerie}} + + {% endif %} + {# nahledy predchozich obrazku #} {% for obrazek in obrazky_predchozi %} {% endfor %} + {# nahled aktualniho obrazku -- TODO po kliknuti vypsat: Prohrál jsi #} {{obrazek.popis}} + width="{{obrazek.obrazek_maly.width}}" + alt="{{obrazek.popis}}" + class="obrazek"> + {# nahledy nasledujicich obrazku #} {% for obrazek in obrazky_dalsi %} {% endfor %} + {# odkaz na nasledujici galerii #} + {% if nasledujici_galerie %} + Nasledujici: + {{nasledujici_galerie}} + + {% endif %}
{% endblock %} diff --git a/galerie/views.py b/galerie/views.py index f33c2ff6..9ae7103d 100644 --- a/galerie/views.py +++ b/galerie/views.py @@ -64,12 +64,35 @@ def detail(request, pk, fotka, soustredeni): # Obrazek neni v galerii/stitku. raise Http404 - # Nacteni okolnich obrazku. + + # Nacteni okolnich obrazku a galerii + # TODO vyjmout zjisteni predchozich a nasledujicich galerii + # a udelat z toho funkci, ktera se pouzije u nahledu + predchozi_galerie = None + nasledujici_galerie = None obrazky_dalsi = obrazky[znacka+1:znacka+NAHLEDU+1] - if znacka > NAHLEDU: + if (znacka+1) > NAHLEDU: obrazky_predchozi = obrazky[znacka-NAHLEDU:znacka] else: obrazky_predchozi = obrazky[0:znacka] + if galerie.poradi > 1: + predchozi_galerie = Galerie.objects.\ + filter(galerie_up=galerie.galerie_up).\ + filter(poradi=(galerie.poradi-1)) + if predchozi_galerie: + predchozi_galerie = predchozi_galerie[0] + else: + predchozi_galerie = None + if (znacka+1) == len(obrazky): + nasledujici_galerie = Galerie.objects.\ + filter(galerie_up=galerie.galerie_up).\ + filter(poradi=(galerie.poradi+1)) + if nasledujici_galerie: + nasledujici_galerie = nasledujici_galerie[0] + else: + nasledujici_galerie = None + + # Preskalovani obrazku do vybraneho prostoru. vyska = obrazek.obrazek_stredni.height @@ -83,6 +106,8 @@ def detail(request, pk, fotka, soustredeni): return render(request, 'galerie/Galerie.html', {'galerie' : galerie, + 'predchozi_galerie' : predchozi_galerie, + 'nasledujici_galerie' : nasledujici_galerie, 'obrazek' : obrazek, 'vyska' : vyska, 'sirka' : sirka, From b8d1ef420a558a055b724ad27d15aa6fce7f47d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20Koci=C3=A1n?= Date: Sun, 8 Nov 2015 21:11:45 +0100 Subject: [PATCH 18/41] =?UTF-8?q?settings=5Flocal:=20necachuj=20=C5=A1ablo?= =?UTF-8?q?ny?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Aby nebylo nutné s každou změnou šablony restartovat server --- mamweb/settings_local.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mamweb/settings_local.py b/mamweb/settings_local.py index ba85274a..5ac59cd0 100644 --- a/mamweb/settings_local.py +++ b/mamweb/settings_local.py @@ -40,3 +40,8 @@ DATABASES = { # set to 'DEBUG' for EXTRA verbose output LOGGING['handlers']['console']['level'] = 'INFO' + +# So that it is not necessary to restart the server every time a template is +# changed +TEMPLATE_LOADERS = ('django.template.loaders.filesystem.Loader', + 'django.template.loaders.app_directories.Loader') From fea69385fd56a34d7ab1c83b453c1246335bb190 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20Koci=C3=A1n?= Date: Sun, 8 Nov 2015 21:15:06 +0100 Subject: [PATCH 19/41] =?UTF-8?q?Galerie:=20drobn=C3=A9=20=C3=BApravy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- galerie/models.py | 2 +- galerie/templates/galerie/Galerie.html | 21 +++++---- galerie/templates/galerie/GalerieNahled.html | 45 +++++++++++++------- galerie/views.py | 4 +- mamweb/static/css/mamweb.css | 34 ++++++++++----- 5 files changed, 69 insertions(+), 37 deletions(-) diff --git a/galerie/models.py b/galerie/models.py index c4839541..2bb793ac 100644 --- a/galerie/models.py +++ b/galerie/models.py @@ -104,7 +104,7 @@ class Obrazek(models.Model): datum_int[3], datum_int[4], datum_int[5]) jmeno = os.path.basename(self.obrazek_velky.file.name) if not self.obrazek_stredni: - Obrazek._vyrobMiniaturu(original, jmeno, 600, self.obrazek_stredni) + Obrazek._vyrobMiniaturu(original, jmeno, 1024, self.obrazek_stredni) if not self.obrazek_maly: Obrazek._vyrobMiniaturu(original, jmeno, 200, self.obrazek_maly) super(Obrazek, self).save() diff --git a/galerie/templates/galerie/Galerie.html b/galerie/templates/galerie/Galerie.html index e699e243..f016770e 100644 --- a/galerie/templates/galerie/Galerie.html +++ b/galerie/templates/galerie/Galerie.html @@ -1,12 +1,13 @@ {% extends "galerie/Base.html" %} -{% block title %}{% block nadpis1a %} -{{galerie.nazev}} | Galerie -{% endblock %}{% endblock %} +{% block nadpis1a %} +{{galerie.nazev}}: {{ obrazek.popis | default:"Fotka" }} +{% endblock %} {% block content %} -
-

{{galerie.nazev}}

+

{{ obrazek.nazev }}

+ @@ -15,23 +16,27 @@ {% if obrazky_predchozi %} {% with obrazky_predchozi|last as predchozi_obrazek %}
- +
{% endwith %} {% endif%} - {{obrazek.popis}} + {% if obrazky_dalsi %} {% with obrazky_dalsi|first as dalsi_obrazek %}
- +
{% endwith %} {% endif%}
+ {#
#} + {# Obrázek v plné velikosti #} + {#
#} {# Popisek fotky #}
diff --git a/galerie/templates/galerie/GalerieNahled.html b/galerie/templates/galerie/GalerieNahled.html index 49ccbd50..6aaafb28 100644 --- a/galerie/templates/galerie/GalerieNahled.html +++ b/galerie/templates/galerie/GalerieNahled.html @@ -1,8 +1,8 @@ {% extends "galerie/Base.html" %} -{% block title %}{% block nadpis1a %} -{{galerie.nazev}} | Galerie TODO title -{% endblock %}{% endblock %} +{% block nadpis1a %} +Galerie {{galerie.nazev}} +{% endblock %} {% block content %}

{{galerie.nazev}}

@@ -10,20 +10,33 @@ {# podgalerie #} {% if podgalerie or galerie.galerie_up %}

PODGALERIE

-
    {% if galerie.galerie_up %} -
  • .. + .. + {% endif %} + + {% if podgalerie %} +
    + {% for galerie in podgalerie %} +
    + {% if galerie.zobrazit < 1 or user.is_staff %} + {% with galerie.titulni_obrazek.obrazek_maly as obrazek %} + + {% endwith %} + + {# {% if user.is_staff and galerie.zobrazit > 0 %} #} + {# ({{galerie.poradi}}) #} + {# + #} + {# - #} + {# {% endif %} #} + {% endif %} +
    + {% endfor %} +
    {% endif %} - {% for galerie in podgalerie %} - {% if galerie.zobrazit < 1 or user.is_staff %} -
  • {{galerie}} - {% if user.is_staff and galerie.zobrazit > 0 %} - ({{galerie.poradi}}) - + - - - {% endif %} - {% endif %} - {% endfor %}
{% endif %} {% if user.is_staff and galerie.zobrazit > 0 %} @@ -38,7 +51,7 @@ {% for obrazek in obrazky %} - {#
#} - {# Obrázek v plné velikosti #} - {#
#} + + + {# Popisek fotky #}
- {% if preview %} -
+ {% if not preview %} + {% csrf_token %} @@ -58,7 +63,7 @@
{% for obrazek in obrazky_predchozi %} - + {% endfor %} {{obrazek.popis}} {% for obrazek in obrazky_dalsi %} - + {% endfor %}
{% endblock %} diff --git a/galerie/templates/galerie/GalerieNahled.html b/galerie/templates/galerie/GalerieNahled.html index 6aaafb28..2148131d 100644 --- a/galerie/templates/galerie/GalerieNahled.html +++ b/galerie/templates/galerie/GalerieNahled.html @@ -5,15 +5,44 @@ Galerie {{galerie.nazev}} {% endblock %} {% block content %} -

{{galerie.nazev}}

+ +

+ {% for g in cesta %} + {% if not forloop.last %} + {{ g.nazev }} > + {% else %} + {{ g.nazev }} + {% endif %} + {% endfor %} +

+ + {% if not obrazky %} +
+ {% if galerie.titulni_obrazek %} + + {% endif %} + {% if galerie.popis %} +
+ {{ galerie.popis }} +
+ {% endif %} +
+ {% endif %} {# podgalerie #} {% if podgalerie or galerie.galerie_up %} -

PODGALERIE

- {% if galerie.galerie_up %} - .. + + {% if sourozenci|length > 1 %} + {% for g in sourozenci %} + {% if g.pk != galerie.pk %} + {{ g.nazev }} + {% else %} + {{ g.nazev }} + {% endif %} + + {% endfor %} {% endif %} - + {% if podgalerie %}
{% for galerie in podgalerie %} @@ -37,12 +66,11 @@ Galerie {{galerie.nazev}} {% endfor %}
{% endif %} - {% endif %} {% if user.is_staff and galerie.zobrazit > 0 %} - + {% endif %} {# obrazky v galerii #} @@ -61,9 +89,25 @@ Galerie {{galerie.nazev}} {% endfor %}
+ +
+ {% if predchozi %} + + {% endif %} + {% if nasledujici %} + + {% endif %} +
+ {% else %} -
- V galerii nejsou žádné fotky. -
+ {% if not podgalerie %} +
+ V galerii nejsou žádné fotky. +
+ {% endif %} {% endif %} {% endblock content %} diff --git a/galerie/views.py b/galerie/views.py index 72c8fda4..4abe01ce 100644 --- a/galerie/views.py +++ b/galerie/views.py @@ -20,18 +20,50 @@ def zobrazit(galerie, request): raise Http404 return preview + +def cesta_od_korene(g): + """Vrátí seznam galerií od kořene ke g""" + cesta = [] + while g != None: + cesta.append(g) + g = g.galerie_up + return reversed(cesta) + + def nahled(request, pk, soustredeni): - """Zobrazeni nahledu vsech fotek ve skupine.""" - galerie = get_object_or_404(Galerie, pk=pk) - podgalerie = Galerie.objects.filter(galerie_up = galerie).order_by('poradi') - obrazky = Obrazek.objects.filter(galerie = galerie).order_by('datum') - preview = zobrazit(galerie, request) - return render(request, 'galerie/GalerieNahled.html', - {'galerie' : galerie, - 'podgalerie' : podgalerie, - 'obrazky' : obrazky, - 'preview' : preview, - }) + """Zobrazeni nahledu vsech fotek ve skupine.""" + galerie = get_object_or_404(Galerie, pk=pk) + podgalerie = Galerie.objects.filter(galerie_up = galerie).order_by('poradi') + obrazky = Obrazek.objects.filter(galerie = galerie).order_by('datum') + preview = zobrazit(galerie, request) + + sourozenci = [] + if galerie.galerie_up: + sourozenci = galerie.galerie_up.galerie_set.all().order_by('poradi') + + predchozi = None + nasledujici = None + minuly = None + for g in sourozenci: + if g.pk == galerie.pk: + predchozi = minuly + if minuly != None and minuly.pk == galerie.pk: + nasledujici = g + break + minuly = g + + cesta = cesta_od_korene(galerie) + + return render(request, 'galerie/GalerieNahled.html', + {'galerie' : galerie, + 'podgalerie' : podgalerie, + 'obrazky' : obrazky, + 'preview' : preview, + 'cesta': cesta, + 'sourozenci': sourozenci, + 'predchozi': predchozi, + 'nasledujici': nasledujici, + }) def detail(request, pk, fotka, soustredeni): """Zobrazeni nahledu fotky s id 'fotka'.""" @@ -90,6 +122,7 @@ def detail(request, pk, fotka, soustredeni): 'obrazky_dalsi' : obrazky_dalsi, 'preview' : preview, 'form' : form, + 'cesta': cesta_od_korene(galerie), }) diff --git a/mamweb/static/css/mamweb.css b/mamweb/static/css/mamweb.css index 2689df15..cc4a4fba 100644 --- a/mamweb/static/css/mamweb.css +++ b/mamweb/static/css/mamweb.css @@ -15,6 +15,7 @@ body { background: #fff0d7; padding: 10px; margin: 10px -10px; + border: orange 2px dashed; } table .border-r { @@ -150,6 +151,10 @@ div.menu li.selected a { z-index: 15px; } +h2 a:hover { + text-decoration: none; +} + #submenu { position: relative; top: -15px; @@ -471,15 +476,20 @@ div.zadani_azad_termin { position: relative; text-align: center; /*width: 100%;*/ - margin: 0 auto 0 auto; + margin: 20px auto 0 auto; } .galerie h2 { text-align: center; } +.galerie_hlavicka { + margin: 30px auto 30px auto; +} + .popis { - margin: 10px 10px 30px 10px; + margin: 10px 10px 30px 0px; + clear: all; } #nahoru { @@ -488,7 +498,7 @@ div.zadani_azad_termin { .galerie_nahledy{ /*margin: 1em 0;*/ - margin: 0 auto 0 auto; + margin: 0 auto 30px auto; text-align: center; overflow: auto; } @@ -503,6 +513,7 @@ div.zadani_azad_termin { } .galerie_nahled{ /* frame */ + display: inline-block; position: relative; float: left; width: 200px; @@ -516,7 +527,7 @@ div.zadani_azad_termin { /*background-color: #ffb52d;*/ background-color: white; white-space: nowrap; - margin: 10px; + margin: 10px 20px 10px 0px; } .vystredeno{ /* helper */ @@ -526,10 +537,15 @@ div.zadani_azad_termin { } .galerie_nahled img { - border-radius: 2px; vertical-align: middle; max-height: 180px; max-width: 180px; + /*border: 1px solid white;*/ + +} + +.galerie_nahled img:hover { + /*border: 1px solid #ffa500;*/ } .galerie_nahled div { @@ -540,6 +556,44 @@ div.zadani_azad_termin { } +.podgalerie_nahled { + position: relative; + float: left; + width: 200px; + height: 200px; + text-align: center; + border: solid; + border-width: 2px; + border-radius: 5px; + border-color: #ffa500; + /*border-color: #ffd546;*/ + background-color: #ffd546; + /*background-color: white;*/ + white-space: nowrap; + margin: 10px 20px 10px 0px; +} + +.podgalerie_nahled img { + margin-top: 20px; + margin-bottom: 15px; +} + + +/* Odkazy na předchozí a následující podgalerii */ +.galerie_predchozi_nasledujici { + overflow: auto; + margin: 10px auto 10px auto; +} + +.galerie_predchozi_nasledujici .predchozi { + float: left; +} + +.galerie_predchozi_nasledujici .nasledujici { + float: right; +} + + /* titulni stranka */ .zjistit_vic{ From 03c8c1c8ddc7e3ef24896146d531e40a1ea6d8f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20Koci=C3=A1n?= Date: Mon, 9 Nov 2015 15:09:56 +0100 Subject: [PATCH 21/41] =?UTF-8?q?Galerie:=20p=C5=99ep=C3=ADn=C3=A1n=C3=AD?= =?UTF-8?q?=20fotek=20kl=C3=A1vesnic=C3=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- galerie/templates/galerie/Galerie.html | 29 ++++++++++++++++++++++++++ mamweb/templates/base.html | 3 +++ 2 files changed, 32 insertions(+) diff --git a/galerie/templates/galerie/Galerie.html b/galerie/templates/galerie/Galerie.html index 38e93b4c..4e9019ab 100644 --- a/galerie/templates/galerie/Galerie.html +++ b/galerie/templates/galerie/Galerie.html @@ -1,10 +1,39 @@ {% extends "galerie/Base.html" %} + {% block nadpis1a %} {{galerie.nazev}}: {{ obrazek.popis | default:"Fotka" }} {% endblock %} +{% block script %} + {% with obrazky_predchozi|last as predchozi_obrazek %} + {% with obrazky_dalsi|first as dalsi_obrazek %} + + {% endwith %} + {% endwith %} +{% endblock %} + {% block content %} + +

{% for g in cesta %} {{ g.nazev }} > diff --git a/mamweb/templates/base.html b/mamweb/templates/base.html index a97d5168..2f5826ef 100644 --- a/mamweb/templates/base.html +++ b/mamweb/templates/base.html @@ -29,6 +29,9 @@ src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> + {# script specifický pro stránku #} + {% block script %}{% endblock %} + {% if user.is_staff %} From 36f308ed32cf2657028a9ba3811825a303e60347 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20Koci=C3=A1n?= Date: Mon, 9 Nov 2015 19:45:50 +0100 Subject: [PATCH 22/41] =?UTF-8?q?Admin:=20=C5=99a=C4=8F=20probl=C3=A9my=20?= =?UTF-8?q?podle=20=C4=8Dasu=20vytvo=C5=99en=C3=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (požadováno na schůzce) Je otázka, jestli je to vhodné i pro zadané problémy --- seminar/admin.py | 1 + 1 file changed, 1 insertion(+) diff --git a/seminar/admin.py b/seminar/admin.py index 377f1664..3a680fc4 100644 --- a/seminar/admin.py +++ b/seminar/admin.py @@ -310,6 +310,7 @@ class ProblemAdmin(VersionAdmin): list_select_related = True search_fields = ['nazev', 'text_zadani', 'text_reseni', 'text_org'] view_on_site = Problem.verejne_url + ordering = ['-timestamp'] def get_queryset(self, request): qs = super(ProblemAdmin, self).get_queryset(request) From 464984b740d1409fd428c34486be2f0d7476484c Mon Sep 17 00:00:00 2001 From: "Bc. Petr Pecha" Date: Mon, 9 Nov 2015 21:12:38 +0100 Subject: [PATCH 23/41] galerie | prechody mezi galeriemi v detailech aktualizace Prechody mezi galeriemi v detailech aktualizace z #popis --> #nahoru --- galerie/templates/galerie/Galerie.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/galerie/templates/galerie/Galerie.html b/galerie/templates/galerie/Galerie.html index b85ddbd8..94a3390c 100644 --- a/galerie/templates/galerie/Galerie.html +++ b/galerie/templates/galerie/Galerie.html @@ -93,7 +93,7 @@
{# odkaz na predchozi galerii #} {% if predchozi_galerie %} - Predchozi: + Predchozi: {{predchozi_galerie}} {% endif %} @@ -113,7 +113,7 @@ {% endfor %} {# odkaz na nasledujici galerii #} {% if nasledujici_galerie %} - Nasledujici: + Nasledujici: {{nasledujici_galerie}} {% endif %} From 801195178a6f0bd61af944c462190ce98f1e071d Mon Sep 17 00:00:00 2001 From: "Bc. Petr Pecha" Date: Mon, 9 Nov 2015 21:14:09 +0100 Subject: [PATCH 24/41] galerie | pokud neni nahled --> nezobrazuj --- galerie/templates/galerie/GalerieNahled.html | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/galerie/templates/galerie/GalerieNahled.html b/galerie/templates/galerie/GalerieNahled.html index 2148131d..ffdcf9d3 100644 --- a/galerie/templates/galerie/GalerieNahled.html +++ b/galerie/templates/galerie/GalerieNahled.html @@ -48,11 +48,13 @@ Galerie {{galerie.nazev}} {% for galerie in podgalerie %}
{% if galerie.zobrazit < 1 or user.is_staff %} - {% with galerie.titulni_obrazek.obrazek_maly as obrazek %} - - {% endwith %} + {% if galerie.titulni_obrazek %} + {% with galerie.titulni_obrazek.obrazek_maly as obrazek %} + + {% endwith %} + {% endif %} From 2a7d5dab36022556a399c02b507576eaa898d945 Mon Sep 17 00:00:00 2001 From: "Bc. Petr Pecha" Date: Tue, 10 Nov 2015 16:24:58 +0100 Subject: [PATCH 25/41] galerie | Packy od Anet MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pařbáááááááááááááááááááááááááá --- galerie/static/galerie/prvky/dalsi.png | Bin 1180 -> 15842 bytes galerie/static/galerie/prvky/nahoru.png | Bin 0 -> 18205 bytes galerie/static/galerie/prvky/predchozi.png | Bin 1256 -> 19643 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 galerie/static/galerie/prvky/nahoru.png diff --git a/galerie/static/galerie/prvky/dalsi.png b/galerie/static/galerie/prvky/dalsi.png index 37064569ebd92225468203c597325ed203f259ca..e22d7ab1518d0a2187532a13f9942d35244c6f6c 100644 GIT binary patch literal 15842 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 P*Z`8Eaw0WC`hougqT!1m literal 1180 zcmV;N1Y`S&P)fDwzX}5Z?k=m|Z*CyY*dCm9MChZF!o;+*XEFJ*p zy^SD%>i}-TozfWraChbg)M`6;ig?oiVy@SQGY6o*8X_wuFD6S27mma+eDa)22H?TO zIL49*=xg~{(dgDj`+1GS*2VjGhEJZug(Gp}VbyB$mcGE9O2o~^>oPSrmI8iV`hn@p zoD0|}-o0l}aA)ix5;N~yz^zU=7(&~wD1Is{c$`cKn?%b1gR&n(JqO{F7-qjLVD#m4 zArUR@z?N_X-MjZ9x0c8B!WIwDyDYxSU$5y=2I>p`a?GRnm^>p>?Xl6|Fb z^k6-B<%pxN`28x3G=cT@U^$|3#&Q{_xJx4Gk4i=lZgmVq9+SwZ7mS3q!_R!sws0u( zoJ7(D8a=pGJf4$Cp1?+Wkmn?l|FGU@5AvEsX2+t9_8^Z*Bu`+oJ;+-UZAoCWJ;+lM zZMnE890;Mi$sXh-iMAvV0Ct$rgB7QJ^PiySa)|dH!ui9;#Z91@Jy<$gK8LAH3iqEs zCA*->w(A2!a=?=J^>{quAHu4xA@yw$lGls1^>x$US7ts8cJ^SX=OE&}gW>`%s|w!E ze>4>@;FB@X(T&STY5x-2atJSH70iCgI3CY7z$IlBt0sH~{EOFa51uW6rTu3b-m(Aa zRL-pa;{neeKok1U&wO0q*#g*X|M{5@hdO$=z#|82w*Pp;BL`eo6}(F~)_*+W(F0}` zd|1o~gGUb7NdNJSM+#{4AM;AW;E@6v{g+=~69$hKFsop8aX~0NQoto;6)T!56doC1 zz5VAjJTky~KL5!QLw|eBQFwHK#r`XxP!(^WqZ?O_pLX28IgkL>>OUvrkpR}}Kd0l7 z09NZi5%6dLH|Rf6@JIm5`%ff1%K^*#Pc%Hs0ZaRjNs@4QmIMA$70i52!{Y(^+PZ|p zvlOsUC?J`dfvRihYT1LU@w39=Sqhl`{ta*EKVq9dfJ;Lsgv0|Zyf&sY+KOvuF5>&j zG7iV~L)5YK;-b!ID>|dC5P97D2bu-=U}D_WD4Tjry!dmgUyLOaE@BzpSTbQe9I3XS udmH48{0OX*iJUKZQHiFvCYlK_Qtkt`^mTO#ee@QQCdn&<)01w*VAF3{*73Tf%5+hl(DR&7|8d3t)RO+<=+gfqm-7* zza1<8bx;xN9M6A~(5}+*;?O(raLCxOLi2URARxpb(qh6tJ=ZV0tzt{pymnrEroGxa zmug$9y|c3NaFYjdlZ#H1XhvDc#)FK8&^7N}ZmOFbUc}~V7Ub@xVs;WDxIwSD3 z&qNm+I;+pOKk`lj@{Ydgq4Vm>FV4I>{$B&8BP7aoXyb9=U z^xip4$h5b})WnpKlp*j~gI}6JW~* z(_~e@mMl^QmAsn1$s>KW^Q{9DhOWQkB6oo2Zn59&6Ed~w%CXc{V9nq832t~sG~RL* z?}>Uz5}Th(g=52+LV`(r*M-Z4ND zNFR5ARw0o}_F`f>8FS|;n$1DsI24OiJ*cr&hGI!jFjc{k`=YfIaWLv4;4qGH1)x7M zidAl+g-kJm4P!+fZhAm7{({;a3&SWuI@01ahdEyoFkqyY!4e^ zQbFCp_FNXO4-!+u3X>tgW|{shlvfh|i^2jKjY1AWct>z6&G2_unV%L?LSof3pMGO> zorV#o29+680>dP}MQOcN3=dExfEAc7i^7Y`bTec5eATEgh zcNRy@PTzUC<<1TxSk1!M$;+yc2gq!;*HKW>co zlc}8{9Eco+L@Nkn=-lK`*_BZ7RGo6f!ac3_DA6bGD2esQyqT4}<1;ji(48-E$ZBdw6n4N=5Wao9 zQ!CO)GWMhuTLzANAgh3nd1bzWXgfRbl8pIvb;-AVUzBVybXn^lNp#z+NoBAHak zhuY+-Do5-p(-$HA5e4-0GxRbD-kE)Wz=2fN}LK6 z&gBbz{UNrN)1u7^G1%Phv%tLg4#KiZuHc0et zferGG7fuA!z_zT{6aO@0ZslUyHnfw&!-W7(LJ98g#8T^tX3#G>FrZ+&DCizR=Q@=v zPgdAMT>uf9ZnN-In*gEcJoJW-3y7ihPoVEkh=QwG)Pka(~B{5JzHCsn*mZbD`5Vvo=P`84AAk(fm z@sMSsh?*W*DpOMU1$oVU5>jL1sfYCWJ4z*>3f2iOsn3|6euBvKG=KCeApO@Zl=L&< z$g%4>U+VPYvC*`0E|&lyc$xTLQspM8$LTs+VDU284kluOV1n7zsLmgH3RqaHCNXQq zAU%i;im0OSctp)gTyBFWNBgv0ePdSdH1|K#$?}m9`&khHK8iy1&UXl~4Dtrg2f5Dk|6~Fd|$&~*l3G_h%d0)2)7X zjO$EXab=;&o}#c1V{b29LH-JkOD|pLa1Q)^_tpD5m7dZrmk7Cvt&I&1*5ZPg=dc9~lq#<@ zuVlgshW88XJ=K$Uy~s}{e438C78~Nv^e2~gA2l6N8&5vgVMx3&l@CCzd;9U_=s zV4E?LeJOv6=ei#EAErm9v%9uD*l?Z)Ly#v)g(558X3jaf{SgZF9O!D8W3=Ljc76DgtL2|L)gA%b{hbF8Ep zQI~j8cIdb|D-%)6M_OhgYR@zein}pPO@{i$G+N}GEPnyN?`L2A^{+mZuytQ!1Rd1+ zY8`YqcmAGAl`A~9f^#mrIB9?vk(lF4_PI=1SdtWs zJ@|4YBI>0Vc&G6P;GSR$Gq9&ANVY>*kwy#k6{GE0UTg(W0RR>Bt6GMpVm!#H7viM;!2rAC_2m3FQu{_H`C!kaLQF@+`u;*NRmAneJm)LHhU2iwl zT$q)W?$Q=^zTyxnS%RP*+q$@naqX~v4j5=3&;>lvejhrRU;0r;I`r)iB<(oEM0z1} zQtKgfpX131&Uk)mNu(f(WbNwJ>MyQ*D1~*jFhImO+3EI-`5ff+Jc}mL7TtXN9Ctc^ z`2$DU(htOo{v@>Cg$Swie_)w426ZSd#MCV$tPjQA5^y4~abb&9FJ;HI7A$6XKbIJck* zD7z*Kc~P-j{LTsA(qXaN88%c>n+Waz9FS?IkaRuhpl&$0o>?cz5Pa}Wcq+~^Lt~Un z8b1FG(mn}tuv{oo)gw8~x8Mh|51XQ5Bj7zcI{1Ph=2g*V9qUOHyZtVj90~{!?|oNY z^FRctg0ab9^|irGGt0&Hh3t2#D1(tvE5SH|vh&MBnv@z0rAaWnd6HTJDEQJf^wM`McnA_&8%sBo63pbG84eQ_3aNg7V{zC z?#B&k3haaA8K&|0KG?9_0E-D@7BK14lav37VC3J=oyY-6-bGAEkH5EBh<^|N@y?=Q z#+)1&5TrD;31`mCrY9Sb3byXEjM3DVYM^Xqg|F8ci0N}p1EBn5+y9VM2bC$W=YM%i?tcb__81+4r(m*&0DMK@|MIU@ zK7s}L{Z_ZP(VI*hLP)@ifl+Z6sch>yg!*d&)KWE%lPvN00a1a3BRUj9wYzVO#z#%O z^NW&l;(}l1KrRX*m(RJRtZvc+a9QE(m~_kRP5$)#%}C!+QH`_EFB_Vc-5Q;vMDZHy z{0=R(nQ^*`Xq>`dknvOkmx~UR69*X8P4Y?J=DDvtgb8vUoy(#l{ict}K#2JCK9c0=DV3;rxA-YTqa)F%k%hi8-kO24B5r%TVk>WpKp3;Q3e>x){6!S$5t0(YU1~oOafJJM!XtOU2q=0zyHJ?mfe@AE&&oVr6xl)DA5W#T)|0b=pH1a4d_SraLSp?q3$1<`H z;NSV}Y2f+oL0UCMDB$hM&%=Yqqh1HqbPdS^g*Zhxt-3a+t4#^|> zO2zY-pmY_1LQSRm+rDe^8k&oxu*ggR3<9+aZzP8Wjly+hSyQuD%)u^;dy%uj zid>pt!C6L3OnQ7kW;ZKCV5<~9Gjr`hV}c|i7=HzVR74P~OUGhB7UstA3Z-VSs`7!J z)NQbe3xXE0UT*J(p9kdeL_h9rA6YXP&-MoGJOj0Isl(3usE8UxRvK`gax1Qq@+*tw zKujMSG4ux0qt{UTjzYzO*Yo8_$R3xiM|A99u&l7k+7hhu`+EnB@x?QQx^ zY6GtUxO(0F0sedEEAY!GKZ>BK=~&BWnuum3#u1indXSF%-tc)2PE%##oQD(;=7Nr( zgTuCi4ogZvs+W3l4`}!j`w#B?3}3;VI3rbSlrvsoPBt#;=;VCmZOd0QnfUaw1%{Z) zOFs`1`qdRY7dyZDYBfFp8Qgci1Ao#oGW8pOyb7y?sUy@vTqDzt@NMAJKc3Pv8QZFs zJCmHutmwuwc%8+NRh?xb_i*e2efa2yPAlzbF&e9+-)Z58XA!C7^zQe?Wn(yRcu&Ro%QVaS z+OVQTjaypj^c#dSU(o7ub}=p7`iaz}8s?kh(ASR}mdy_2Ix&$b;V7|0Vz(*T_CDa1 zThSxW`WNtEVUm$uyAL0;24>+IJ~Tg!Z-=J2Ribj-ZAS7NMje>U-@#)tnfDqVjyhw z?;zLRHkn9a7x@pa8H@wZunS+{P#!m^Ho{zd!j1Xj0dPa82oJeuhGG_GS=0amx1K5- zyPKxB=T14!o7w2JVa^g3a^)}lQq|`XW*njh557cq-XX0RZh1l?h;ps@bWAiW^h3z& zG^PR-k&7GS+IpAy2;>SOF)TMHAWzY7cgW4>D&TW}kRveoHUu7Zsh?L^LkW^@bTZ9i z|B10Ivq!FMh9DW+`+XentVBCH*^!-k6}Ljx^BhnT3Huop&{nVnzv|-4rjd?t}AO)bY8OnMtN>Dg#JU|{&{My63IFfA>V|jV`Rzw*IuX8wa@YEnNyR6gX-%$ zQ`zRLc0z3%>-7$MITfNJcS=7`SqLg8H?P(gDpONUkOEW`qMZB7I5ZhMKTcamk>N*o z4#LfLX$Gy0z-eoC2a3zj3lfzO!*=*BjFAmK1kRg-YO1pXZuzwF*vFv1Wn%ANILk?i z%S2<&nM|2qYm~583V)w$fQ944kaP7w&kSRaFzfkn8D{+p2*p9|MKdN5z$JQFep%@Z zTDI6sJFVR{ve9^7xUd?A z%ay;R?Y^Z&#@@1@wv(Y-A=H#p({*ULf?=cT2lkTbd!G$Jq3X>ROPRP;Myp4L#Vell z##o`{S6CU3aO_b?wKF9MMri$~rAR7+i6&Wm$LdHS+XJ(e^@^So?12GsQkV(lz7Z}! zKv|0AWuiQ zy6ipcU~u|(KAMCz$e4d1ZMZnZFprwgHgFF8gBw1d1F9{aZut%{0xj@&q6*sWssE`i zA;3c3;G^)=74bH$H?zUjEh$vCfQ}lsABF_q!T2$dPUrO=FRNV+kKzPw$K_|ASMZ5O z7;VHBGDC8?si~NH1sqQ=5gUZA^8Q5h5MkwE%rabPnI=`ViET2m%XCO2^ZM4o?zEmU z!&wP7_zL}EZ0!Ez`JG%~F7YH1yiwSodTZ8*-4B#*Ip!a$VvSDRKffi9iAfZ^XUAXR zzpp}+1AD@aTJsB!&`9-STcm3GE72$~^{VShGKg>uYW9^J0~YU88j$X1M+Di<|+ z8H8c8S|}V0QpDZnk{cE23~=AtrY~YIQ*Tc=w?3jcRFL|x+gE=Mbm3XwF3gtG8nZsR zCf!xBYmoslA(J!Bm;2I)n_#~;)Ze7T(2v4Z4Np~auQXLcZn6Ex92Ri@jF1aCnEGCI zBwaFpol&~}au?qPNs>?W6BGFrmF=?=+2Jh+Axm{VA9J-wC1B&Ba1i?FDZxNAxZBfj zEhZwO;{NB`e`wmyr4E)^IX13nP@yU&S4FLYAK}6KQ>eOED7SR9%gsPd4jBr^Am9H3 zCcD&mcQMhOPt57lQ@O7T3&sLNTr+4D&blM=Us4TOq}k|#M;xC@9?d+0B8h46P6q5x z)Kt1x@6U0#R=#o&@j`!s<}Ux~@=PAu@mI|+VhApLpI+nyl+0!M1v9!bQPCQ#A`dO8 zF@S4-S|{DuIi8D1>nHs}71nuiF3<=`xmwi2>`jx=FkQK(j7OS2;aC?=j!r3OR{I>C zB4Hey|8N!`9z6!ct3uMiyEpiSVPJE$D_iRkMP+~X=;rr=svpQ(6qC>PxAu6%4jzkn z{=7U4VljJfBVl49niPyRl0YuoQwu;7isSnjOPA*96f-n3G8XGdcpzej1!KXb0aHAa zyUbO@OV~w+clF0$3C6l?OiRZ5Xo_%EY6^bF330j1d<=O+-F{J5IZ~uTMu_s0k&NxWaVAr-gC{4{?$?SbVb)$aRgh(gU=poj=hhGQiQDQ)!Zh zo`$B{k&VU1CNKKtjiT|txx$4c^WMrJ3bGhdg^wgi25yY)TEZiVd z%nz3!K~M~t!}vAVCnsC5KMSN-V(r0ltv3r2B zr~x+ta<9`4n$de!PQ3seq;N{NF3ZsP8 zhvGvv1LwyTLg0rn!j*pl_vBc)YIGHiYT|<8x2yTb0#=L$r&Q-J6NPo#KbjS^MU)*4 z$HwJ?q1v58S`rpkNvB=>LI*;EiEnc0tfo@x_v!llh3)nOY_857ubEQVnH`HK0e$>Jg7zn z8P;U;X+Rl?OBuY9Uvjz@0DsLH&klEBE;J@W{?J}dCqUloNs>-I|4t5xHl1rk_iYID zg9wR5f;oxe!dBw zj$Xe#m<1Ut=x+!8u+-Md%4K)bgLJ7As5RRAkBb&8?~_I5K2wlhV1Q)T$E3ir)!{X<$$GXlf}vxMP728sq*871uW;aIb=%?0%3xJO zCw{&cg$OUa=hb5K$KNFTma|OfM|!J85k=gR0;=48E%}zbnLIu3x`HKwMvn`mVb6qG zuJF*R8Vgo%K4b9I z6qH)pCU@sY$1hWrPmm+)c$UgyM-yuh0}*x7pdkZ^j10{U{%4zTWX&~QcWI%$cNu)P z4S!v18>SdPbi#q!#TkQEg@!J-e`$_O?7~>-Sq#ItD^Xn7dGvm8Dl`MET(biF_W-$2 zftO)0Hk~**OACLHPi}O^GR`C@qACga1dc@iUM|sxoX$90-KCjybxtnpaN*e6CyC22 zA+~rYuCAT&8aA=*0(S$A9}y;J^vN#VkcCk!aAP#MET4R0-Ip`3uh?)AD$39?LZpp5 zE~+1y>KAmhNM!b#$0=;2`3U4N*lJ~Hp`B&2z1)dMA#D*0XES9pmgD{EnwKvGi5_GF zD2nC(qQT2$CX!FEG4c7P1o(gm7QQL6*&KkPgo04w*lLpI)1y;u80G*$`zrQBNJ5eL z)HKqPV7&1`?urJ<2@>rOK$px6v~(NWUihPY!X^N^Wz8%|A*=tV1&G3vA=sH*6RxXL zi5;=+c|!VVyP2OfG(qjq`a&C7WNMxbmafE?lR&Wd3&a^*kC{QYIKC|zwu+83S n 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 QC;$Ke07*qoM6N<$f-)Z&x&QzG literal 0 HcmV?d00001 diff --git a/galerie/static/galerie/prvky/predchozi.png b/galerie/static/galerie/prvky/predchozi.png index 7a091bd65acde5c157bca45dc49a041d28fa2092..761fc0cee67cea0efa5a2c307db8448f80e763f0 100644 GIT binary patch literal 19643 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 SFuunC0000 Date: Tue, 10 Nov 2015 16:35:54 +0100 Subject: [PATCH 26/41] galerie | komentovani, kdyz jsou neverejne Formular pro zmenu komentaru prave tehdy kdyz jsou galerie neverejne a zobrazit vycentrovany komentar jen kdyz jsou verejne (nezobrazovat ve verejnych galeriich formular) --- galerie/templates/galerie/Galerie.html | 2 +- mamweb/static/css/mamweb.css | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/galerie/templates/galerie/Galerie.html b/galerie/templates/galerie/Galerie.html index 94a3390c..7ece4ae4 100644 --- a/galerie/templates/galerie/Galerie.html +++ b/galerie/templates/galerie/Galerie.html @@ -74,7 +74,7 @@ {# Popisek fotky #}
- {% if not preview %} + {% if preview %} {% csrf_token %}

{{obrazek.popis}}
diff --git a/mamweb/static/css/mamweb.css b/mamweb/static/css/mamweb.css index cc4a4fba..430bd30e 100644 --- a/mamweb/static/css/mamweb.css +++ b/mamweb/static/css/mamweb.css @@ -490,6 +490,7 @@ div.zadani_azad_termin { .popis { margin: 10px 10px 30px 0px; clear: all; + text-align: center; } #nahoru { From d356cbb1de6abfeb774127d37da743b689d3b85c Mon Sep 17 00:00:00 2001 From: "Tomas \"Jethro\" Pokorny" Date: Tue, 10 Nov 2015 21:04:14 +0100 Subject: [PATCH 27/41] Nacitat fonty pres HTTPS. --- mamweb/static/css/mamweb.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mamweb/static/css/mamweb.css b/mamweb/static/css/mamweb.css index 430bd30e..8d20cdeb 100644 --- a/mamweb/static/css/mamweb.css +++ b/mamweb/static/css/mamweb.css @@ -1,4 +1,4 @@ -@import url(http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,400,300,600&subset=latin,latin-ext); +@import url(https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,400,300,600&subset=latin,latin-ext); body { font-family: 'Open Sans', sans-serif; From 1a768bef08bf54b0c1c3b4e1ee0b4cb93e130f8b Mon Sep 17 00:00:00 2001 From: "Bc. Petr Pecha" Date: Wed, 11 Nov 2015 21:19:40 +0100 Subject: [PATCH 28/41] galerie | aktualizace tlapek otisk do pisku uz nezanecha krvave stopy --- galerie/static/galerie/prvky/dalsi.png | Bin 15842 -> 15649 bytes galerie/static/galerie/prvky/predchozi.png | Bin 19643 -> 15797 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/galerie/static/galerie/prvky/dalsi.png b/galerie/static/galerie/prvky/dalsi.png index e22d7ab1518d0a2187532a13f9942d35244c6f6c..b5c68dcca0c1707f568771ba7df1e91ed45f42d4 100644 GIT binary patch literal 15649 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 P*Z`8Eaw0WC`hougqT!1m diff --git a/galerie/static/galerie/prvky/predchozi.png b/galerie/static/galerie/prvky/predchozi.png index 761fc0cee67cea0efa5a2c307db8448f80e763f0..dc657411b4a165c04b27d60ddd1e57e4d69a662a 100644 GIT binary patch literal 15797 zcmV;mJxaofP)w;aDCfZuZbjsSkk@jC+eEywQ&;I|yVBY@v>{Eh&A%kf)8 z0GA{P@oD$svj*`SVG0&PuJfY$GxbGhv+ZUfat%XhOOm(E)*UNoO%S3hg`%^-kF zmn0W2TCRLQfh%21CP}((Df%UHo+Py%5++?l)}!d>Ns0lCsU!SN=F z~IErBiM@Y~WjNHUn zgON27wuIFw0y&8g8KiZP)*$2pLfocUFXFfv(sByK5fm=k3X~LRYp`~Wkad!_&YHhM zK3L?j|D*EjP6(fE0{Dx6lwiEB;6gy+gGs8zlSq-pl~uIeM5vG;NTbMMMG9+kSm~gQ z#c?cx01apzU~LH_B#zCX9S_GytdU5-b9{`fB1oWY4nxr15i39nFcvE`MidbC24Q6$ zsRP!O=IKAJeHue_zxZqtz@VzV8dRL0m$ktst}lDK-egS(Lj@;1{WuHK~lE8Wujw+~KoD0GBRF4$Uc^ z43DDJ6G%0HWxJZDI?NYA7fnufxvm%XOaKjND^M*QLz@6&Lo_Z*McYnjH>jH#lFW1A zhrtf5eJc2r37|z+zx=G?`0+7R={P1F2L^DZgY96+y(U!~+DN4r0Z3uDID%-bU%Ycgn^MPflngb+wH7K0xQLOqXEMT9$#lx2ig0O^8WaJZFW};40^y4;~bk za2`aXy&(ix;F4f6JIstdh7^Nnodq+1LV>WjJvL=2EV?1Qn|SaI27|1_<;JMkh!LpHOasw}B(-7@%I8CT$0B?I50ost*ALs%9PO+{1Aea1-}P zc=K3l2x))-L4cI~nUY;xT*pC>LR*7EVdWIQe~LF|myxzksPagWLMnr*hY0PlezyeH zzyGoCj!%#S2*KrNBxC0V)m6o?e+*YVim*9^kQm!g-+J6`g~cL~!eXqzqEKi8J%$d) zF?tN64xMF_e3c45VqToGu2wFV*d{@E zou__urenl{ne~%Y%ZCVpDMFhh z;nfggj37LPP$Aa3cs7GH!({9L38^tckrv=Mpe-Q4Z7_|L1H&k=3L`+;E%|K=iijXG zBq^FCDWp{>Ycn`D`n_x`Sh4KYS9BXc267$8zQq@Q zH1nVY!3RqKm!DOfojio8jS?ykZ9E*(2swx}DUhNo%a_7ptzl#R9AW7R!tkq1XH&RR zk!akYZG3GsfyVAU*_{xL|Li8l38HpG3xNekK%zlt#x}(oOSH9Ygy3tao9hU12dNeq z82?+G1`%{lK6D`fKxm1UGZgf%SSzgX%#S~@Ks+g0U z!PnC)`5Tm0Av^N7xXSNq@&T+eC_6yPCVA$^zh-LS2mgJJwbBHM;1p6FYD(;|HDj_t z05Kidh5#7qB&Cfn9#Y@HRl{KHj+3tdp)`&R+1NNqt@Qg$%BRRV2^11z zyRgR=L9N?l#jj!;lWA;|0D3`)CJT?ZnJxL?0J(z#w6!dU1vcHk!pppY>#Xi-X12yB zWChFuDQAJT$u*w7cwmu92Pp#xqQ0n7}ec}E&z?;vxFqB5DPGi)0T$1RHeZCFGLHi!H z%||I$pJv>9gz@C=!ra#FG^Ou&;B^a|Kgb@|^}T=h2lWA}o74EUCrQc2IFuYD?X>UFokpBaSio)Y8<;Q&h`eV^BT8cru3)I~#Ah5rJ+PV}6|= zI*1_t#P)+#4eRnI>C7!)0mr#YBC)iib`WSm7#f6A#K<|UT_9av=7U;ouLh(0%M5z+ z2Pve^B82Q}%LmY*!lJ0uA0?-rVl0tE5KZPzbJ_7*Wo3hVzkHANdvh55K#XD!2G%xY zlom5{{B9Z;alq9_sny3Z<`_D7l6rl-Ya~<*DJ;T~zyLCQ7-hdiE%7BzXO6<9Jqh;v z)B=QnXCzFGA}hmKBfF|IR!jWa5S8+iWW~3cOeEX%@SV^)P!{IixrSGm;pTfFU6*5@ ze~j^mPVBGyePZGIO%Q^y6VoWqy}!m{p|SJ*jfHV1$!0iBU@`Ik?g-d&V@?ng85TwmLQdj9$6_xL6akpfSI@7)#`;-;F7iNUc$^g$VKhn(l64;AgFnjl z)1|!=z~PY*%FaWCiw|L$Xz;b>D=7)qrYM)c$e86gg;{i zwbB$$_%y@b@K$_&t7WbqgN49OZ(?KomR_UV9J~&gdV*TzYn;vw;E1NxPKtPoXkKe+?DKRP2)pe&<+&Vw z>>LXluvv+kdw2>)a}g2T`nxyx^g6pCJv2aSAkXX?)O?s4g6UB(q2|`le}T38^vlGK zsa8(V?V8ZQpeq^T>#Q&T1IioI811zYf$r7^A<(#ZLxa0@r9T1?LU84hgHsiCmM9E<*G#1TM&e4wCBacr@+h84Bc*M-RVafo3F@^o zBshxK!-KYUeXA|M#bIKI2w@i^QGRlqV^2QDN)g_<18XH1J8_(#?r%+gHVMPoXnRPz zmcqgkAHDVqK6vR>bkKi>Rx+0(Gck{z7DSbUpAWOp@Q^k)aS_j-?&rs6<;0 zKrM*21nKV6m}-fT>pjAK=5iL(p4<_(~EIM$zs)!bewWEY)Vy7l|CxCnZO%fZ7 zkZ=-Ml3OIZwRnVNvvv+I{2KW_msGs3#ec_Iz&o%B8Rny zutGLHhg~1w;kv`@u+i*J03Q}dkQ_$HBuQoQWYgkjg{4$JhA#ZaOnI{J{VX(55`FW&(!E}GupBRU90@h|``S|tzRL7yihdBA=FObaV2!%^_e3VDN^>u`l%)I?B zx8Hc1x%aPAFIRSNtQE1qtGkRrH$pJLpa&^&2IG&SWcM6JYb^#BVKQ9#exldocjsSe zHHjngjWp@#yC|2(P!9$Oi(g|*O_7ojCGUn-Rv+5_g`gfVp{BaANjBMkOs5oZb_%Y} z!1ArzI0=tqPdv8kePbt%Gj`%Q)>>9>-{IEJ-=JPDw_P*y_Iu>UM>%x%G($%Z_x~cj zG=k2rOhf*jN)2+?KTN&;5sB1#&vvbu#FZ}4wMfOz1aRg1gA95TIC0o)Ys11)DNiur zoFFf|Q*bv#dGiMr#iPRzYi-}PAYynbB7*nt!ThxwWQKS0mqs=hm$~+nD^xd&92$bhk44%=%8N|WBiYDNb?yixU0C|? z7Vp3CBB9@BaK?&QVIm6VVpk zf><0E(!(-AZf=~*&u*K`?yq2<7mSR$SnUvYm~@Si)arwT)hC!rI9s9IJ9&7l?P=LN z2n-#W!dO_@XNcsX!AMPWHuBaJzvhjdw z?GTRs94XaIx$fCRwkE$;EHQuW2Bp=tonLH^7&|cyLa?+?0+6C%DDr&@3rk(Esg=r@ zQ140BkRp;10OsDmPIY644#ra#4`-{Ptrx-u7m)fXg4)DZ2|Q@BCo3$%dPp^ammKDe zAGFDR+aFQ=oFY3qj+=OxggcDWQ31mkNl-sRP97$`gWBKb=!w3%_48ja^VY9;|Am*B zeec?RtA8=lLxW77IYrfvZ1np1jUtRXNE3#q$f(rL z*1PRqJ~x>prwhTljTIHc_I?FmCfV5+%*S~7V_Fo z07q6WGEAUw+k!omuxJfIeTbAiixSSxdVh<{w}FY%r>OXmkTf*}n+r?4^Jjm_?O(iw zU)jIQ79wli@e5C2EZmrn?DTs<+|Al%_kjrM`D@##PZ4gS9N(yw%@Lv4ybH zP2Nq^vPiPdA%buKW4-nWEgD211fGOsIMRCSb^<8W4N`4lsGwUcOrcizl^n*OX57v8 zU09(7`N?r6&YWUyJtBg$hd^Oiy!jFD{Mlc!dS_;rMt8>0(J96sI!U16`rO`#AZ!Rt zy=?nJ2r|P%7z@RH(CS#jiL^R%um7#Dl@r7s(oXAOY!k@2bu=DIRJ)pnx43|tZrxwH z?`Q?Hinhy*`aOUZSnCkhN3p?KT-n`f)!F$jn7;5h`H3+;T!f?tpF0+*Vn%E3zV&X~ zwY6fA!u(=Sw%iRTo_dnWv!|&AaP=OP``ixZ8xdZEhbDVoGk*Fc0EK<*T1hV&vY=X{ zTG*qY5}S+Lz7y>il=U!Dcsm!`vJS=?EfgS= z!i^6puW#&Xu$jK_I8)~zCeZNyY~-}r2@8cN?oW9xlMkQndELnLQIzMhQ~-Y;3EHu% zY+s>d@#>EekF5|9caS2DVicidSMMMqDw?fropV>WW~Mv8yLZp$_}D7S`amQ#)`41( zVNea=irr0bogHq0<9VF=>Qh{O;Uzv^YMOB;&YZ%pR=NJ-%hbyiq=0-nV&&DsCU@R= zyYbGF)Ig3SpF7Xc(W$P_IQsabIG)Shx8LK&yyeg!92wcpxK>MWcNv^Sf``BPdn9wc zqp77*9DV#zZvWyf?ykT?y_v-})B*?^L?ik#4R=ACz0EeQga*h;%c4GpAn2J^7Fvri zAlb$oXe1t5=ff`a>8L1_HRKVI)ycc#d|AM zeHflT%Gk-{Tz~Op{8EYOv1owDauJ8fH5}2d6TN)3QfKw<41T4`;Ne4E6E<>VqvR*X z*j!kmPz+fwM_qGdR15O%D$K4$+R3?Zf4#5JuI$J#rIl6I*UDrQ5o_-UGiy+;Lw;h6 zLyznufCQQermcUA#>WwYjUY)X|5Gd>qBSN@0TQIOxKx?=AMR~6+0`F@>5}Aob4QTk z>8&D;_0lAj!XI!t{rB3-tgwAq>4y5!M+)Eat=kA87(ITB>o2`Rd3lL*ha>y?PAFF4 z=0fCv89jcCQ(t+i=e42lGxPR)tlpW~X6YL`e28Ng9w(XYD~|#Izgp$JKmQ5ZuXB15 z1~a={A4Z{T2EpgP`|bV35CU7ps^W=nEneYCDA^g7(*GOT^vB(~fE5VVSxf&7U;QUV z=tTe@{-Xq&;iE|VBvSZb9Lk%g(B*%hBgyk5WYf75dx>Krh;9G7C4Y8c>BC!m{CB_P zp~Bs*6+6?S2b5QPyTu{e!$+o%GW~_mGkNBreNR3_to+nho&qWPa1q{}iG<0}L|my* ziME&bXQRmCwGrI=-v62Akwy4Mh$2STIUgF0Ij!s{v_bnE%m@B3=<4YC!v=R z7$z)EkU}+73T-S#2Bf5eOZ();weq%B{N5cu8?y_9^*RHid%6vPTq-gu&8}H)z5WJ| ze)rq=nZVgUMy8MArBcjYyG~(li95@NJIn3Yc&QX8zVsx6Q-|*FVQ~ya&+`&2q#aoI zAHnd~+w{926j)P4ut*TB<9}d5i0%a7)I+Rtq9Vo!+=NeB&mw}zh|nqA#kF+0>8pJp zPTbh9XJBe5@&Qyf3d~=-vA-zYeIhqL%GvS1N9g;k-cRm!$3C_9Z6nvnAxX5W3Ek?A8OGP_7-2Mova7(02Kv6IIS zzHv*${vFj^Xx+G+DX>~(Du^pp zaC|%p#ajO8_MWnTKJ#cxAn7r-@%9jgqo{C_KznU!xReSQ!WCm=$;TX|I|29^i`AAe zPCYeXjEB~#tq$~><9)8+$%oGXFt@WHzax~0l0S49vV80I{u}zN!I-8H7)Mui8|TnK z)&XS(F!k&l%TDO?9MbTQ1NFA`=fx|*a(AD zhbY%!;XdjwWD-$#mOlJ=|BXBVm{4!|0CW&gTwZ1E?mbrT+})j985$lz)6g?b_u7gE zNUBI3v^v${F#@DO>MWUrA3KD$3xO~E!wkdOVT@=}kklZt2w9Kfu!XaI4{GuM?~@Ch zc1I`-daE|37K8X8*GOVQQqGDq=X+7bP%w5_Z};^Zc|*2Jeu83x>t_F=*ejg zKY9)~*&~OeHMqtSse^GD!59KS7($&P2r_INKVy+H#faJxx7!Ke$|Z;CLz2?QAVMS% zjg7~sND~mk5*oGDiEi-CzEnYo`~%0He2kA@f0JvoaQ1NI1K0~J5Qc0kr16P}0S*8F z9VSUcK~zbiy0OXJ``1~UnZ;<0qaxF`BSAF!<*JBKJqI=_A&WOYqPV=mBj5Tuj@QKw z-np>4Ib@}PnwEqnj}Fq&M6~P!S_*`&ajP`QxjQxJB!F=wmDORSGlUUNOC<+^&kYpkA(U?^jn@xqTO` zC7Xn)aTwY~Bb^wCl1^_f7Wm-GtDO7&ukT#LAT|pNOB)pkA~U3-DZGpLm^B(zMlra4 zmS-*-=p=xvS2c%+91=E(=ZGlcSAi4;Z6zLxoa#Nnv3?p`1ow%F)2HxKDL#Dlbv~Ha zk*&QC6S1*PA#&{GiG4qRukgzi=C9vm>E=fmW5^{V*Kj+`6p@VWljBZegjI;p*vBKR>X3zXsV?v9kOmuu>g9BI$AsSam zyqyw&?Uv{9elc`pibuZnbrRVuA1=U~AH#=>uu|-v0HQ5?Fb{=_;MAAD$l&2UIP3R` z&4ndyyz;la{crw)g%57xD#Pi?C^Kj;lOJPzAR6(x_pa{}G}00l)*2_MZDb5G)UZNE z*~6_c7GaYJN5CZs+k`+Nkbhjl+B!ms_KnmSl4Q0X+6{4y{kSIJeI|osM~8Xrd*5O8 z&J1(!U1xQ3lhtA)A0ipCR!2dh8WoMwC{F+0ml!(IJxJsrpu>=rTen%f@e$QVRkDN= z)ef2%*k9Ce3`a(sZn;=y{oXvoJ0+L)@(DNsd|M%DJdBZBr>Sq7iRBCOrL*P8&MDBtbh zO97$rql2_{j{U(d}wrkn(YzjRud2o}z%Hlydnl`Npb&!L zV@DW1b_4*wQl-4Qj>VElr^$>A9q}0Jqi+XD1{=gkTdO zEJA3EO|a&}WRioQ-Mzz0r|{DI*l70%Yb`fld5yySBI!gFf3RD$(*0t506ty{sBCPK z8SX6g7sp>T7PXCyaYQmeIS>d8TGnx;kAvQ-rx!(cZBi90ackQ*l4ma)bdZW7OB+8M zBz~BpZWgv8fV!eZIsJru@(&sxzy2nL`9(&u&GNJl8nNx8veCsPx@}k+5@4J!Pze>1 zIszX@RS@Xr(R@ZixX!WER$O|wD%2J$^Vm>rZQ{ZTl&GQE*it`sLpMXkuNgMx7FfP@ zo0JD9CqB8?NqW)x*;bP{*8f$9`8`h269RnWBW(?-DmbYE!qHKDpo#1P#+FztZw0k) zCxFY(dYE9Cx>j2?+jS@qZW-SeP$KNh-n(V2*#1)-n^!&H+P(*kx%aOlL=>I8muhbJ zi+Jr+TJs16k(%JN8h%>+F%YqSyNZwjj#EUrm5zor#?-m+qb&m1t_B|e{sfN9pjw_3 zg@$RQm?gAd0MoL*BaBnUSFbiNGl~%DfC^qe>#529(p79!cW}yB(-d3aIK3D5Km0iS#_mu}ve80b?p? zS#FKGXeWTn&q$8Q1WF|ETF$t~3Z%6tcZ1csVj|hF2HJKa*jC!CyU8#;Jctxg5ywJd zoe!@3jNJGrlV=_xKRMpr7Ty9KhTM7c9oFvN+vZ6VQj(t-V`Ta$qbH{K9UnM*^%?-< zJ)(UdB+88h)MPH(5)HhIY1mrW^bJB5@Dd;4CQ4`{8rp#XQ^$zAeIK#(|kR2IrySG}{27sF3Jlqji_%c zWOTfJc#9`~+?M{_dF+J6l?8-qPhz*iVwJ{CEKw78Dd~20v@K(`@waJot_x0m^@W$v*2EWGw&5%dzw8uvvw{sY6lNx?p#WDmK}Kc7bH-7M@p) zf-@m<QGFdHqCyg3y^gh(4_|#98wNalcxPLCHW^jxIyny3 z7;gUTHP&WkcOJwRlvks18vTUX|4K1RS4(6vochWao96U>l5DgAquwHsokb|!o*86I zl;twt{qt?*%DQbV7M}v4u}ERjCOW6iQ5uUPm6&6$UZScScXv@oVr(50AtDL3(=6?| zJp7HXkshDmy_u-&d)Tm93}vFq8W7dpTbr4sw6ezJVE?-KSiX_KX)U*Y{sw-Z)kw-~ zkxQ}PyuX9M+&X-;2+~oU`TAFya!`EEP%poV1Oi~Dwn2LMHIiOORHd+3Y4Kg3E@ae& z04_;9$0zJ`M+u9Y+(agpNoD_%xxh4=6U|S2)=$j3;!@^4xR`VlXTSbcCLcM&!bX%s z7YByMrqx7+=FjgRpAgpzzpe_V(RUmbUR3${m?+Ld?GF`w; zUBfsxwyAirPAVHxYitLwHi}{E5%VpiT`4Rq?s~4!`n`E{5a1o;x#~UOhfyxWN)g;-f``BL^>znPe5OFJa|HxYvrrau zxS8nSg3f$EZ5`@V2vpZn8QTfq()niCSL;5aP4oYgUKQb7r>yB&jUtAnIr)MeEh_nm zF&_Ja-)HLF!_;g7Ka7GyG9yC-wW$C5alkkVM)T3%t26g@ymtAcD44XLT7dV1Vin%I z7ez3o2M0L+oo|sF8)?5N&b;oX1;nd=Er3vcKqj@YZSswfSX&~nGkkBV&sxD3FB*RF zUs{CL7#o5RZNZ1i3WTU(SSsAS`S|s-7iEZ9o3hlTD*fD@4b?t*}Jr zC>JS{PrZebRZPc%4ty~BCZ2N_E_QX!_s9##ZeUmo>UY!=BP__o@5pKPjTaTWDsnw!W>{fUtsu zyGfOIsT;kkxYYVG`wS8pIUZH=UMcP`&?vq~b{lM9<>NaP78c1QAB_5Efe#m=U=J^q z;{12Mx%1h_okMCnK8^q(%2;_FDNTD_AS=N780PuX|GA^k)4NzS`6|-6gS6|QB71AA z&}Xe8JNUQE2TMEF3+yauw$EVE(c{O+PmZHaw2JncLs)2V{%q$y8~@%Y5qsnT#FfOg z3)f1KdH3AE`}EFLLgF(PMUVYIPRTFXC0y?&N_Er)Qqc*bD$wjQ;5~{(Tgwaov`$KI zfLTSvT%cq5dWixm^)FfSd-Ke0U&|if?}Afb`U1&Zmeo?EA?&5xUVP$Leyn>Df;f?6 zKglS&;pPHtlp|s9+_#_JIdfUi9G}j~j~#3hSPP-duSlov5$Z0YxCZU+%5Qt`-WRQ5 zb)tx54I`^jgir?@p-JXH#CNYy4tumF+W(X?`s`zq^)hMBf9IRz#z$E%N5vrfDGPgR zF;Zeijvc{Gb)Vs&QbmcTtZ-0REk%>B9EXR$`FlN|541Rb;ty>m78Fp>Fdx)e;eEWp z7fGdx+tl@_F^iItE0=auXm=Lhp1v4TwTqZ=2}jhrxDFIbmZ^s`)J$#H6PsFBY(Ix4 zc7fx0Jo3%2F?wQ}&1z&XxOy)d=vn~vFw(Dm9esCwE|MFR>vHVE<2~E;t2Gh_9OGv! z%rqQ3hd=iSZgPjoS0W1Oc0@C>x^?ma7DLOb`hc=~mF)1p!gWg6Ze@NngrZDcS9yA8 zscUz0$5;Q?BCr0@ED3iKCDPjx4y~|w-aS?}%M3e7q-;M7Y9~J3T3=`n5K?mL%U@*T z%qiAq=2*Ws%ZCfSWu5%wI48dNBwnhA1HoE!5a1keh~Z)(BFJPe%jDVK1t_=j{~dbo z*kz+Bh((f#dq{N$*O_ZX_;l$0R$xpGPhMlhU+Sg)#puu86&zclG&@5|W)ULMR)Jbt zMKXJrTJ;4sf`7nBqTzzv!G7I}n9}!gbX<01nC!?fM?e24)s0P7@61qITfJ0ba^t%c9})sLl_b#nC^Oyz#=>0VScK^(KfiNv$at0aQunllx+oys1*F`-ac?0+ zh_Rx1cyyx{on{-wG=tF1}4XM&Qgj^K5hqwP2zh`Xb zWxIm4bzRj!Ma(1JC6rtw;obq^W0CD@xv>acBw=TPIP81Zx7kA$-!qz2Wd&nPQNrjp zaXG+AeZ+?TB^&ilqh$L_?Sxh}=o3VoW3Zo6@SP~vqfcgdi2USu`;YO&JF@BM=_L#c z0c8!S0z#JYyf=`lDeSbShY2gtHbmKVZmsuSZfkF8oY|Z~NgvUp3S~02j74aS6%nw(1X8ZYoz0f}a2qEybL5Vz8s;(6ngd391e~d`H%t9V6d>>G*_J zpi*VBBOj0&{TGzof6b~{qt+QU`dufK*y~2MZ;YKfftyUSRM`9JW9y|R;T(G8 zECZ9{(fh=Pot*+Z6z$*p7K&^llP{CW{{-bNgXyBNSql`f;R3hTH@Ud8&fg7t8(QZ^ z86)P<@p(d;u9+XEkyD_&B3|xAR@E!ag{6J*Rw+I)B5*v9N51tn+(d$pm;09oO0}qX z1;Ft15sp6fxrSA*g{!r4x7eQFYV(g_fT{)~Z{Q@}KscLSPX~v_(3?$$>gn$tU$U2a=Djr)2~v{`yMEp$KrrGXGl zExgIuW94n7$NEI~^8$9chc}-a!Pql69K))e{byE0(Z!YWDF$l)5tH&Xf!SMJK-+2K zwsE%Z0V(V~P+2c<=dE|xTv$R7MHHpIsH#^jh}69J+#oNV;@E}9qSMFS9>p7WLQEK; zg*83Ty8M3_9DEz$ggb`ZSyRJTukpnHcqd{b` zC!;`Up-Rl{;HLs9;OfuYxtiO2;nt)<1<+cd*lffY4$_yKFq4W9m!GW#&6 z?vDTf-h3{N)n}3N97H9h&{m*?jmneBsJdt?1xsP6l@H;s|JNKzOySC%iJ)8GEX|WN zd!f^^+{4Pc7lgi#4g!qU7;SJ89*LoBk9dbYJj|1@QitX618njyNab$g$Qo94=aE}P zUsD^~ow zRC{c$J9!ZWU4$ypOg!20tchk;k|#U->@9n9pKv^nL?%NjpC>akNFtx!%`sq`=s^irje_AIt4xQS%$2RYc zvu$=f{u9gcJT4P{9-BCU;25qN#53mXu5X`;TkLAFUSwSf|sZgYS|wFG`OZg zBg8MbwSIFirr%ENKmWyA%bU;nB-94ke8^*O)ZwL&XbY%t<XGpqJ#0OAD zy%z|tj+?$sSe2~SHz|c@7)_+fIKAD*2Z>nnc4_3-^?0CcS?T@m?VXp!&(apkp<&Hm zqON{QX6Wzm+zPf4)7S6nH_~8PCavz>&*a1XaDW(>gybT7v`r<1c5$=M>m$6p?avK2%s0Og) zm#CT#aMTSFxvQje^Ei!6UcXQFFSJCnLa2Vlzw^&;@3Cjwo4aoU*bP^{;gEjxD5`o6 z)F_US*v4^mu|p}WJexppp`<}b!z?$+Fc=-n&at<`#8S3OLspJ0*LX#f0tpnbOy<}sA#c>NL~R_8f=3o zj8=p}mg>eS0y9n+K15obz?e}6T*+X=duZu$gx!7gZ>u5>{mCG4&SZRj)xf&0gSyRn zus}BRQ!<$uT*t>KBH5>lU0+*45Lz?=mI|(1#cBtm6v9@qYMFX{j;|go?-t~_SA4Pr z0C4;JN!FYb7|tV|?3Qz+8*CWG9Z2a=4?RqH6yraMs9j*l86p>-$KGSdr>~gyXj25`c5*Urq6{MPB)69_bt9VKhx(?3d23N1@ z`xW+jzQrd_05RVAug(yJ7jQ(PnRIH!Hk*MasuiQHz#56MNy^2u=-Sg9a*mQyd17rQ zDWd?>KsPx3_Olgzw=a#m2@I<8v+A)>S2UPAdSTkL=`P|(6^*D7$K=t z4^bO!Ff1b3;kaZyAKteW+F|iOAA7~8`+m2!vBH_!Ek@rpz37zpFO|6D0-Ov;q zX;`jF3c)hQd!1zFO_J$lq^e`l?cTdC+&XBu%0sh(RSQ_VK&`gG(|>w!A<28dCr}4t z2b6=G2o>UrOe4xQz={Es9R=L3u29p^BGQ?8(&+{K>UHX+Us4OEsQ8nF)oENYM#f2y zQIXx;5#T9{(;%$%5K6X;5oKyRg|SIoStjjlk|jY(BymNO&?H#*p%{i3TV^xRB-BSZ zvV`?+lN)#kC$+iN&;GWbfY5mr=?nIe`_#Ui?_F6-ca|p&Gu)m;aZw2Qg&(!Dp8M0JtQ1Yjp(QA47>OAug^T4YHCB z(#<2~K+~|&QQz2zXcZfXZ0=nQF#SL%1Hxjoj1n+ff3yN^ErAXYY8ETYI69Bk38bSD zI)RoR5`!`yFn8}mzWe92{$uj(gVOK)@1R7gX^R~ zCAO_=fslLmH0RI5(rrm9@Gwb-frLk) zo<*jY_|iWs^59)vedE`M0J`DQC5NY0)8xvd2!=_xLwI5YNA_9g!wR&pQ5icE9gU-e zXdJB~5JI$9j4%;F>3~LrY8h+p@x=f9+V0QVU(DWv#;-R4fZ+0FN%_xR9&rZn^$007 zPTD&R*4ri|Mz=@|;GhW`-WP2Ge4k`7w;?(CM zahD4}{Ixx+{@0xV00dkTyg8?s4U>$fhVlHB{F&g zZ55#yj}FXk9Fi4=0j^sitXJ`Ylw+tmWqh|lu40)d;Cnx+eim2tUhtbh0PVPP$zfpT zFjgGGh#`_H7pZjAspv(Phu&ob2uhZpj#uC!{HK>ZmhX%qvmSL5qUxG3X^?J>fq@cN z&uN}{=7HGaKW+Tx5dcK)=hROU3_)Gynh~0K@#d#sMcGS*v01 zSltcyyd;1)0mKO)P5^NNh!a4Z0OAA?CxEyCtI8kEYvZl>00000NkvXXu0mjffE6Of literal 19643 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 Date: Wed, 11 Nov 2015 21:21:30 +0100 Subject: [PATCH 29/41] =?UTF-8?q?Galerie:=20stylov=C3=A1n=C3=AD=20podle=20?= =?UTF-8?q?sch=C5=AFzky?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- galerie/templates/galerie/Galerie.html | 104 ++++++++++-------- galerie/templates/galerie/GalerieNahled.html | 37 +++---- mamweb/static/css/mamweb.css | 37 +++++-- .../soustredeni/seznam_soustredeni.html | 10 +- 4 files changed, 104 insertions(+), 84 deletions(-) diff --git a/galerie/templates/galerie/Galerie.html b/galerie/templates/galerie/Galerie.html index 7ece4ae4..35779fc3 100644 --- a/galerie/templates/galerie/Galerie.html +++ b/galerie/templates/galerie/Galerie.html @@ -5,27 +5,36 @@ {{galerie.nazev}}: {{ obrazek.popis | default:"Fotka" }} {% endblock %} + +{# přecházení mezi fotkami pomocí šipek #} {% block script %} {% with obrazky_predchozi|last as predchozi_obrazek %} {% with obrazky_dalsi|first as dalsi_obrazek %} {% endwith %} {% endwith %} @@ -36,16 +45,11 @@

{% for g in cesta %} - {{ g.nazev }} > + {{ g.nazev }}{% if not forloop.last %} >{% endif %} {% endfor %} - {{ obrazek.nazev }}

- - - - {# TODO šipky na přecházeni dodelat ve stylech #}
{% if obrazky_predchozi %} {% with obrazky_predchozi|last as predchozi_obrazek %} @@ -92,30 +96,36 @@
{# odkaz na predchozi galerii #} - {% if predchozi_galerie %} - Predchozi: - {{predchozi_galerie}} - - {% endif %} - {# nahledy predchozich obrazku #} - {% for obrazek in obrazky_predchozi %} - - {% endfor %} - {# nahled aktualniho obrazku -- TODO po kliknuti vypsat: Prohrál jsi #} + + {{obrazek.popis}} - {# nahledy nasledujicich obrazku #} - {% for obrazek in obrazky_dalsi %} - - {% endfor %} - {# odkaz na nasledujici galerii #} - {% if nasledujici_galerie %} - Nasledujici: - {{nasledujici_galerie}} - - {% endif %} + height="{{obrazek.obrazek_maly.height}}" + width="{{obrazek.obrazek_maly.width}}" + alt="{{obrazek.popis}}" + class="obrazek" + id="prostredni"> + +
{% endblock %} diff --git a/galerie/templates/galerie/GalerieNahled.html b/galerie/templates/galerie/GalerieNahled.html index ffdcf9d3..f7026a11 100644 --- a/galerie/templates/galerie/GalerieNahled.html +++ b/galerie/templates/galerie/GalerieNahled.html @@ -21,11 +21,6 @@ Galerie {{galerie.nazev}} {% if galerie.titulni_obrazek %} {% endif %} - {% if galerie.popis %} -
- {{ galerie.popis }} -
- {% endif %}
{% endif %} @@ -46,25 +41,29 @@ Galerie {{galerie.nazev}} {% if podgalerie %}
{% for galerie in podgalerie %} -
+ + {% if galerie.zobrazit < 1 or user.is_staff %} {% if galerie.titulni_obrazek %} {% with galerie.titulni_obrazek.obrazek_maly as obrazek %} - + height={% widthratio obrazek.height 200 167 %} /> {% endwith %} {% endif %}
- {{ galerie }} + {{ galerie }}
- {# {% if user.is_staff and galerie.zobrazit > 0 %} #} - {# ({{galerie.poradi}}) #} - {# + #} - {# - #} - {# {% endif %} #} + + + {% comment %} + {% if user.is_staff and galerie.zobrazit > 0 %} + ({{galerie.poradi}}) + + + - + {% endif %} + {% endcomment %} {% endif %} -
{% endfor %}
{% endif %} @@ -79,15 +78,11 @@ Galerie {{galerie.nazev}} {% if obrazky %}
{% for obrazek in obrazky %} -
- - - - -
+ {% endfor %}
diff --git a/mamweb/static/css/mamweb.css b/mamweb/static/css/mamweb.css index 8d20cdeb..76adb545 100644 --- a/mamweb/static/css/mamweb.css +++ b/mamweb/static/css/mamweb.css @@ -489,7 +489,6 @@ div.zadani_azad_termin { .popis { margin: 10px 10px 30px 0px; - clear: all; text-align: center; } @@ -504,17 +503,22 @@ div.zadani_azad_termin { overflow: auto; } -.galerie_nahledy img{ - margin: 0 10px 0 10px; +.galerie_nahledy div.navigace { + display: inline-block; + width: 150px; } -.galerie_nahledy a{ - height: 100%; - width: 100%; -} +/*.galerie_nahledy img{*/ +/*margin: 0 10px 0 10px;*/ +/*}*/ -.galerie_nahled{ /* frame */ - display: inline-block; +/*.galerie_nahledy a{*/ +/*height: 100%;*/ +/*width: 100%;*/ +/*}*/ + +.galerie_nahled { /* frame */ + display: block; position: relative; float: left; width: 200px; @@ -531,6 +535,11 @@ div.zadani_azad_termin { margin: 10px 20px 10px 0px; } +.galerie_nahled:hover { + background-color: #ffd546; + border-color: #ffa500; +} + .vystredeno{ /* helper */ display: inline-block; height: 100%; @@ -545,8 +554,8 @@ div.zadani_azad_termin { } -.galerie_nahled img:hover { - /*border: 1px solid #ffa500;*/ +.galerie_nahled img, .podgalerie_nahled img { + border-radius: 2px; } .galerie_nahled div { @@ -558,6 +567,7 @@ div.zadani_azad_termin { .podgalerie_nahled { + display: block; position: relative; float: left; width: 200px; @@ -572,6 +582,11 @@ div.zadani_azad_termin { /*background-color: white;*/ white-space: nowrap; margin: 10px 20px 10px 0px; + font-weight: bold; +} + +.podgalerie_nahled:hover { + background-color: #ffa500; } .podgalerie_nahled img { diff --git a/seminar/templates/seminar/soustredeni/seznam_soustredeni.html b/seminar/templates/seminar/soustredeni/seznam_soustredeni.html index 74bbee3b..be7a3644 100644 --- a/seminar/templates/seminar/soustredeni/seznam_soustredeni.html +++ b/seminar/templates/seminar/soustredeni/seznam_soustredeni.html @@ -43,19 +43,19 @@ {% for galerie in soustredeni.galerie_set.all %} {% if galerie.zobrazit == 0 or user.is_staff %}
  • - FOTOGALERIE: {{galerie}} + Fotogalerie {# TODO kdyz je titulni obrazek, tak asi i titulni obrazek #}
  • {% endif %} {% endfor %} {% endif %} + {% if user.is_staff %} -
  • - VYTVOŘIT NOVOU FOTOGALERII -
  • + {% endif %} - {# popis soustredeni #} {% if soustredeni.text %} From 09c015c0ddc67c6a833b63387757d2f1b86891a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20Koci=C3=A1n?= Date: Wed, 11 Nov 2015 21:28:12 +0100 Subject: [PATCH 30/41] =?UTF-8?q?Galerie=20models.py:=20nevy=C5=BEaduj=20u?= =?UTF-8?q?=20fotky=20galerii?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0004_nepovinna_galerie_u_obrazku.py | 20 +++++++++++++++++++ galerie/models.py | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 galerie/migrations/0004_nepovinna_galerie_u_obrazku.py diff --git a/galerie/migrations/0004_nepovinna_galerie_u_obrazku.py b/galerie/migrations/0004_nepovinna_galerie_u_obrazku.py new file mode 100644 index 00000000..c522adfe --- /dev/null +++ b/galerie/migrations/0004_nepovinna_galerie_u_obrazku.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('galerie', '0003_add_galerie_poradi'), + ] + + operations = [ + migrations.AlterField( + model_name='obrazek', + name='galerie', + field=models.ForeignKey(blank=True, to='galerie.Galerie', null=True), + preserve_default=True, + ), + ] diff --git a/galerie/models.py b/galerie/models.py index 2bb793ac..b5a1c0a8 100644 --- a/galerie/models.py +++ b/galerie/models.py @@ -77,7 +77,7 @@ class Obrazek(models.Model): popis = models.TextField('Popis', blank = True, null = True) datum_vlozeni = models.DateTimeField('Datum vložení', auto_now_add = True) datum = models.DateTimeField('Datum pořízení fotografie', blank = True, null = True) - galerie = models.ForeignKey('Galerie') + galerie = models.ForeignKey('Galerie', blank=True, null=True) poradi = models.IntegerField('Pořadí', blank = True, null = True) def __unicode__(self): return self.nazev + " -- " + unicode(self.obrazek_velky.name) + " (" + str(self.datum) + ")" From 1f64739adae3a20fd831931c47d03693b735ae43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20Koci=C3=A1n?= Date: Wed, 11 Nov 2015 22:49:48 +0100 Subject: [PATCH 31/41] =?UTF-8?q?Galerie:=20responzivn=C3=AD=20zmen=C5=A1o?= =?UTF-8?q?v=C3=A1n=C3=AD=20fotky?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mamweb/static/css/mamweb.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/mamweb/static/css/mamweb.css b/mamweb/static/css/mamweb.css index 76adb545..f3c705dd 100644 --- a/mamweb/static/css/mamweb.css +++ b/mamweb/static/css/mamweb.css @@ -445,6 +445,13 @@ div.zadani_azad_termin { /* galerie */ +/* velká fotka */ +.galerie .obrazek { + max-width: 100%; + height: auto; + width: auto\9; /* ie8 */ +} + .predchozi_obrazek{ position: absolute; z-index: 1; From eca5011a59a03f752c47fb72e36fc0da22f7bb49 Mon Sep 17 00:00:00 2001 From: "Bc. Petr Pecha" Date: Sun, 15 Nov 2015 13:49:23 +0100 Subject: [PATCH 32/41] galerie | popis nevyuzivame --- galerie/forms.py | 2 +- galerie/views.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/galerie/forms.py b/galerie/forms.py index 3e09fe15..1cadb3fc 100644 --- a/galerie/forms.py +++ b/galerie/forms.py @@ -8,4 +8,4 @@ class KomentarForm(forms.Form): class NewGalerieForm(forms.Form): nazev = forms.CharField(label = "Název galerie", max_length = 100) - popis = forms.CharField(label = "Popis", required = False, max_length = 2000, widget = forms.Textarea) + #popis = forms.CharField(label = "Popis", required = False, max_length = 2000, widget = forms.Textarea) diff --git a/galerie/views.py b/galerie/views.py index bf04beed..04a574a4 100644 --- a/galerie/views.py +++ b/galerie/views.py @@ -171,7 +171,7 @@ def new_galerie(request, galerie, soustredeni): # vytvoreni nove galerie gal = Galerie() gal.nazev = form.cleaned_data['nazev'] - gal.popis = form.cleaned_data['popis'] + #gal.popis = form.cleaned_data['popis'] # popis nepouzivame gal.zobrazit = 1 # galerie je v procesu vytvareni ''' pokud je to podgalerie pridej nadrazenou galerii a nadrazene soustredeni nechej volne, From b04caee5662cf02b6dde3d3ea893a24cf15297ad Mon Sep 17 00:00:00 2001 From: "Bc. Petr Pecha" Date: Sun, 15 Nov 2015 13:49:40 +0100 Subject: [PATCH 33/41] galerie | pridani tlacitek plus a minus --- galerie/templates/galerie/GalerieNahled.html | 8 ++++---- mamweb/static/css/mamweb.css | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/galerie/templates/galerie/GalerieNahled.html b/galerie/templates/galerie/GalerieNahled.html index f7026a11..49d72e46 100644 --- a/galerie/templates/galerie/GalerieNahled.html +++ b/galerie/templates/galerie/GalerieNahled.html @@ -56,13 +56,13 @@ Galerie {{galerie.nazev}} - {% comment %} {% if user.is_staff and galerie.zobrazit > 0 %} +
    ({{galerie.poradi}}) - + - - + + + - +
    {% endif %} - {% endcomment %} {% endif %} {% endfor %} diff --git a/mamweb/static/css/mamweb.css b/mamweb/static/css/mamweb.css index f3c705dd..bfdb87b0 100644 --- a/mamweb/static/css/mamweb.css +++ b/mamweb/static/css/mamweb.css @@ -601,6 +601,24 @@ div.zadani_azad_termin { margin-bottom: 15px; } +/* plus a minus tlacitka */ +.mam-org-only-galerie { + background: #fff0d7; + padding: 10px; + margin: 10px 10px 10px -20px; + border: orange 2px dashed; + float: left; +} + +.mam-org-only-galerie a{ + padding: 3px 5px; + margin: 5px; + border-radius: 20px; + background-color: lightblue; + color: black; + float: left; +} + /* Odkazy na předchozí a následující podgalerii */ .galerie_predchozi_nasledujici { From b5a9d677e52f3f46049f4361dd36574d598399c8 Mon Sep 17 00:00:00 2001 From: "Tomas \"Jethro\" Pokorny" Date: Sun, 15 Nov 2015 15:14:21 +0100 Subject: [PATCH 34/41] Obalky v Djangu. --- seminar/static/seminar/lisak.eps | 1603 +++++++++++++++++++ seminar/templates/seminar/archiv/obalky.tex | 103 ++ seminar/templatetags/tex.py | 6 + seminar/urls.py | 1 + seminar/views.py | 45 + 5 files changed, 1758 insertions(+) create mode 100644 seminar/static/seminar/lisak.eps create mode 100644 seminar/templates/seminar/archiv/obalky.tex create mode 100644 seminar/templatetags/tex.py diff --git a/seminar/static/seminar/lisak.eps b/seminar/static/seminar/lisak.eps new file mode 100644 index 00000000..3a136212 --- /dev/null +++ b/seminar/static/seminar/lisak.eps @@ -0,0 +1,1603 @@ +%%BeginDocument: ./Eps/lisak.eps +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: -191 -97 769 946 +%%Creator: CorelDRAW 8 +%%Title: L:\Prace\MaM\Obrazky\Lisak.eps +%%CreationDate: Tue May 11 17:28:49 1999 +%%For: Halef +%%DocumentProcessColors: Black +%%DocumentSuppliedResources: (atend) +%%EndComments +%%BeginProlog +/AutoFlatness false def +/AutoSteps 0 def +/CMYKMarks true def +/UseLevel 1 def +%Color profile: PROFILES.CCM - Obecn profil tiskrny CMYK - d. +%%BeginResource: procset wCorel8Dict 8.0 0 +/wCorel8Dict 300 dict def wCorel8Dict begin +% Copyright (c)1992-97 Corel Corporation +% All rights reserved. v8.0 r0.7 +/bd{bind def}bind def/ld{load def}bd/xd{exch def}bd/_ null def/rp{{pop}repeat} +bd/@cp/closepath ld/@gs/gsave ld/@gr/grestore ld/@np/newpath ld/Tl/translate ld +/$sv 0 def/@sv{/$sv save def}bd/@rs{$sv restore}bd/spg/showpage ld/showpage{} +bd currentscreen/@dsp xd/$dsp/@dsp def/$dsa xd/$dsf xd/$sdf false def/$SDF +false def/$Scra 0 def/SetScr/setscreen ld/setscreen{pop pop pop}bd/@ss{2 index +0 eq{$dsf 3 1 roll 4 -1 roll pop}if exch $Scra add exch load SetScr}bd +/SepMode_5 where{pop}{/SepMode_5 0 def}ifelse/CurrentInkName_5 where{pop} +{/CurrentInkName_5(Composite)def}ifelse/$ink_5 where{pop}{/$ink_5 -1 def} +ifelse/$c 0 def/$m 0 def/$y 0 def/$k 0 def/$t 1 def/$n _ def/$o 0 def/$fil 0 +def/$C 0 def/$M 0 def/$Y 0 def/$K 0 def/$T 1 def/$N _ def/$O 0 def/$PF false +def/s1c 0 def/s1m 0 def/s1y 0 def/s1k 0 def/s1t 0 def/s1n _ def/$bkg false def +/SK 0 def/SM 0 def/SY 0 def/SC 0 def/$op false def matrix currentmatrix/$ctm xd +/$ptm matrix def/$ttm matrix def/$stm matrix def/$ffpnt true def +/CorelDrawReencodeVect[16#0/grave 16#5/breve 16#6/dotaccent 16#8/ring +16#A/hungarumlaut 16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle +16#60/grave 16#7C/bar +16#82/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl +16#88/circumflex/perthousand/Scaron/guilsinglleft/OE +16#91/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash +16#98/tilde/trademark/scaron/guilsinglright/oe 16#9F/Ydieresis +16#A1/exclamdown/cent/sterling/currency/yen/brokenbar/section +16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/minus/registered/macron +16#b0/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered +16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown +16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis +16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply +16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls +16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla +16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis +16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide +16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def +/L2?/languagelevel where{pop languagelevel 2 ge}{false}ifelse def +/@BeginSysCorelDict{systemdict/Corel30Dict known{systemdict/Corel30Dict get +exec}if systemdict/CorelLexDict known{1 systemdict/CorelLexDict get exec}if}bd +/@EndSysCorelDict{systemdict/Corel30Dict known{end}if/EndCorelLexDict where +{pop EndCorelLexDict}if}bd AutoFlatness{/@ifl{dup currentflat exch sub 10 gt{ +([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator]\n)print flush +@np exit}{currentflat 2 add setflat}ifelse}bd/@fill/fill ld/fill{currentflat{ +{@fill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@eofill/eofill ld/eofill +{currentflat{{@eofill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@clip +/clip ld/clip{currentflat{{@clip}stopped{@ifl}{exit}ifelse}bind loop setflat} +bd/@eoclip/eoclip ld/eoclip{currentflat{{@eoclip}stopped{@ifl}{exit}ifelse} +bind loop setflat}bd/@stroke/stroke ld/stroke{currentflat{{@stroke}stopped +{@ifl}{exit}ifelse}bind loop setflat}bd}if L2?{/@ssa{true setstrokeadjust}bd}{ +/@ssa{}bd}ifelse/d/setdash ld/j/setlinejoin ld/J/setlinecap ld/M/setmiterlimit +ld/w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd/W/eoclip ld/c/curveto ld/C/c ld/l +/lineto ld/L/l ld/rl/rlineto ld/m/moveto ld/n/newpath ld/N/newpath ld/P{11 rp} +bd/u{}bd/U{}bd/A{pop}bd/q/@gs ld/Q/@gr ld/&{}bd/@j{@sv @np}bd/@J{@rs}bd/g{1 +exch sub/$k xd/$c 0 def/$m 0 def/$y 0 def/$t 1 def/$n _ def/$fil 0 def}bd/G{1 +sub neg/$K xd _ 1 0 0 0/$C xd/$M xd/$Y xd/$T xd/$N xd}bd/k{1 index type +/stringtype eq{/$t xd/$n xd}{/$t 0 def/$n _ def}ifelse/$k xd/$y xd/$m xd/$c xd +/$fil 0 def}bd/K{1 index type/stringtype eq{/$T xd/$N xd}{/$T 0 def/$N _ def} +ifelse/$K xd/$Y xd/$M xd/$C xd}bd/x/k ld/X/K ld/sf{1 index type/stringtype eq{ +/s1t xd/s1n xd}{/s1t 0 def/s1n _ def}ifelse/s1k xd/s1y xd/s1m xd/s1c xd}bd/i{ +dup 0 ne{setflat}{pop}ifelse}bd/v{4 -2 roll 2 copy 6 -2 roll c}bd/V/v ld/y{2 +copy c}bd/Y/y ld/@w{matrix rotate/$ptm xd matrix scale $ptm dup concatmatrix +/$ptm xd 1 eq{$ptm exch dup concatmatrix/$ptm xd}if 1 w}bd/@g{1 eq dup/$sdf xd +{/$scp xd/$sca xd/$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd/$SCA xd/$SCF xd} +if}bd/@D{2 index 0 eq{$dsf 3 1 roll 4 -1 roll pop}if 3 copy exch $Scra add exch +load SetScr/$dsp xd/$dsa xd/$dsf xd}bd/$ngx{$SDF{$SCF SepMode_5 0 eq{$SCA} +{$dsa}ifelse $SCP @ss}if}bd/p{/$pm xd 7 rp/$pyf xd/$pxf xd/$pn xd/$fil 1 def} +bd/@MN{2 copy le{pop}{exch pop}ifelse}bd/@MX{2 copy ge{pop}{exch pop}ifelse}bd +/InRange{3 -1 roll @MN @MX}bd/@sqr{dup 0 rl dup 0 exch rl neg 0 rl @cp}bd +/currentscale{1 0 dtransform matrix defaultmatrix idtransform dup mul exch dup +mul add sqrt 0 1 dtransform matrix defaultmatrix idtransform dup mul exch dup +mul add sqrt}bd/@unscale{}bd/wDstChck{2 1 roll dup 3 -1 roll eq{1 add}if}bd +/@dot{dup mul exch dup mul add 1 exch sub}bd/@lin{exch pop abs 1 exch sub}bd +/cmyk2rgb{3{dup 5 -1 roll add 1 exch sub dup 0 lt{pop 0}if exch}repeat pop}bd +/rgb2cmyk{3{1 exch sub 3 1 roll}repeat 3 copy @MN @MN 3{dup 5 -1 roll sub neg +exch}repeat}bd/rgb2g{2 index .299 mul 2 index .587 mul add 1 index .114 mul add +4 1 roll pop pop pop}bd/WaldoColor_5 where{pop}{/SetRgb/setrgbcolor ld/GetRgb +/currentrgbcolor ld/SetGry/setgray ld/GetGry/currentgray ld/SetRgb2 systemdict +/setrgbcolor get def/GetRgb2 systemdict/currentrgbcolor get def/SetHsb +systemdict/sethsbcolor get def/GetHsb systemdict/currenthsbcolor get def +/rgb2hsb{SetRgb2 GetHsb}bd/hsb2rgb{3 -1 roll dup floor sub 3 1 roll SetHsb +GetRgb2}bd/setcmykcolor where{pop/SetCmyk_5/setcmykcolor ld}{/SetCmyk_5{ +cmyk2rgb SetRgb}bd}ifelse/currentcmykcolor where{pop/GetCmyk/currentcmykcolor +ld}{/GetCmyk{GetRgb rgb2cmyk}bd}ifelse/setoverprint where{pop}{/setoverprint{ +/$op xd}bd}ifelse/currentoverprint where{pop}{/currentoverprint{$op}bd}ifelse +/@tc_5{5 -1 roll dup 1 ge{pop}{4{dup 6 -1 roll mul exch}repeat pop}ifelse}bd +/@trp{exch pop 5 1 roll @tc_5}bd/setprocesscolor_5{SepMode_5 0 eq{SetCmyk_5}{0 +4 $ink_5 sub index exch pop 5 1 roll pop pop pop pop SepsColor true eq{$ink_5 3 +gt{1 sub neg SetGry}{0 0 0 4 $ink_5 roll SetCmyk_5}ifelse}{1 sub neg SetGry} +ifelse}ifelse}bd/findcmykcustomcolor where{pop}{/findcmykcustomcolor{5 array +astore}bd}ifelse/setcustomcolor where{pop}{/setcustomcolor{exch aload pop +SepMode_5 0 eq{pop @tc_5 setprocesscolor_5}{CurrentInkName_5 eq{4 index}{0} +ifelse 6 1 roll 5 rp 1 sub neg SetGry}ifelse}bd}ifelse/@scc_5{dup type +/booleantype eq{setoverprint}{1 eq setoverprint}ifelse dup _ eq{pop +setprocesscolor_5 pop}{findcmykcustomcolor exch setcustomcolor}ifelse SepMode_5 +0 eq{true}{GetGry 1 eq currentoverprint and not}ifelse}bd/colorimage where{pop +/ColorImage{colorimage}def}{/ColorImage{/ncolors xd pop/dataaq xd{dataaq +ncolors dup 3 eq{/$dat xd 0 1 $dat length 3 div 1 sub{dup 3 mul $dat 1 index +get 255 div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div rgb2g +255 mul cvi exch pop $dat 3 1 roll put}for $dat 0 $dat length 3 idiv +getinterval pop}{4 eq{/$dat xd 0 1 $dat length 4 div 1 sub{dup 4 mul $dat 1 +index get 255 div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div +$dat 4 index 3 add get 255 div cmyk2rgb rgb2g 255 mul cvi exch pop $dat 3 1 +roll put}for $dat 0 $dat length ncolors idiv getinterval}if}ifelse}image}bd +}ifelse/setcmykcolor{1 5 1 roll _ currentoverprint @scc_5/$ffpnt xd}bd +/currentcmykcolor{0 0 0 0}bd/setrgbcolor{rgb2cmyk setcmykcolor}bd +/currentrgbcolor{currentcmykcolor cmyk2rgb}bd/sethsbcolor{hsb2rgb setrgbcolor} +bd/currenthsbcolor{currentrgbcolor rgb2hsb}bd/setgray{dup dup setrgbcolor}bd +/currentgray{currentrgbcolor rgb2g}bd/InsideDCS false def/IMAGE systemdict +/image get def/image{InsideDCS{IMAGE}{/EPSDict where{pop SepMode_5 0 eq{IMAGE} +{dup type/dicttype eq{dup/ImageType get 1 ne{IMAGE}{dup dup/BitsPerComponent +get 8 eq exch/BitsPerComponent get 1 eq or currentcolorspace 0 get/DeviceGray +eq and{CurrentInkName_5(Black)eq{IMAGE}{dup/DataSource get/TCC xd/Height get +abs{TCC pop}repeat}ifelse}{IMAGE}ifelse}ifelse}{2 index 1 ne{CurrentInkName_5 +(Black)eq{IMAGE}{/TCC xd pop pop exch pop abs{TCC pop}repeat}ifelse}{IMAGE} +ifelse}ifelse}ifelse}{IMAGE}ifelse}ifelse}bd}ifelse/WaldoColor_5 true def/@sft +{$tllx $pxf add dup $tllx gt{$pwid sub}if/$tx xd $tury $pyf sub dup $tury lt +{$phei add}if/$ty xd}bd/@stb{pathbbox/$ury xd/$urx xd/$lly xd/$llx xd}bd/@ep{{ +cvx exec}forall}bd/@tp{@sv/$in true def 2 copy dup $lly le{/$in false def}if +$phei sub $ury ge{/$in false def}if dup $urx ge{/$in false def}if $pwid add +$llx le{/$in false def}if $in{@np 2 copy m $pwid 0 rl 0 $phei neg rl $pwid neg +0 rl 0 $phei rl clip @np $pn cvlit load aload pop 7 -1 roll 5 index sub 7 -1 +roll 3 index sub Tl matrix currentmatrix/$ctm xd @ep pop pop pop pop}{pop pop +}ifelse @rs}bd/@th{@sft 0 1 $tly 1 sub{dup $psx mul $tx add{dup $llx gt{$pwid +sub}{exit}ifelse}loop exch $phei mul $ty exch sub 0 1 $tlx 1 sub{$pwid mul 3 +copy 3 -1 roll add exch @tp pop}for pop pop}for}bd/@tv{@sft 0 1 $tlx 1 sub{dup +$pwid mul $tx add exch $psy mul $ty exch sub{dup $ury lt{$phei add}{exit} +ifelse}loop 0 1 $tly 1 sub{$phei mul 3 copy sub @tp pop}for pop pop}for}bd/$fm +0 def/wfill{1 $fm eq{fill}{eofill}ifelse}bd/wclip{1 $fm eq{clip}{eoclip}ifelse +}bd/@pf{@gs $ctm setmatrix $pm concat @stb wclip @sv Bburx Bbury $pm itransform +/$tury xd/$turx xd Bbllx Bblly $pm itransform/$tlly xd/$tllx xd newpath $tllx +$tlly m $tllx $tury l $turx $tury l $turx $tlly l $tllx $tlly m @cp pathbbox +@rs/$tury xd/$turx xd/$tlly xd/$tllx xd/$wid $turx $tllx sub def/$hei $tury +$tlly sub def @gs $vectpat{1 0 0 0 0 _ $o @scc_5{wfill}if}{$t $c $m $y $k $n $o +@scc_5{SepMode_5 0 eq $pfrg or{$tllx $tlly Tl $wid $hei scale <00> 8 1 false[8 +0 0 1 0 0]{}imagemask}{/$bkg true def}ifelse}if}ifelse @gr $wid 0 gt $hei 0 gt +and{$pn cvlit load aload pop/$pd xd 3 -1 roll sub/$phei xd exch sub/$pwid xd +$wid $pwid div ceiling 1 add/$tlx xd $hei $phei div ceiling 1 add/$tly xd $psx +0 eq{@tv}{@th}ifelse}if @gr @np/$bkg false def}bd/@Pf{@sv SepMode_5 0 eq $Psc 0 +ne or $ink_5 3 eq or{0 J 0 j[]0 d $t $c $m $y $k $n $o @scc_5 pop $ctm +setmatrix 72 1000 div dup matrix scale dup concat dup Bburx exch Bbury exch +itransform ceiling cvi/Bbury xd ceiling cvi/Bburx xd Bbllx exch Bblly exch +itransform floor cvi/Bblly xd floor cvi/Bbllx xd $Prm aload pop $Psn load exec +}{1 SetGry wfill}ifelse @rs @np}bd/F{matrix currentmatrix $sdf{$scf $sca $scp +@ss}if $fil 1 eq{@pf}{$fil 2 eq{@ff}{$fil 3 eq{@Pf}{$t $c $m $y $k $n $o @scc_5 +{wfill}{@np}ifelse}ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp @ss}if setmatrix} +bd/f{@cp F}bd/S{matrix currentmatrix $ctm setmatrix $SDF{$SCF $SCA $SCP @ss}if +$T $C $M $Y $K $N $O @scc_5{matrix currentmatrix $ptm concat stroke setmatrix} +{@np}ifelse $SDF{$dsf $dsa $dsp @ss}if setmatrix}bd/s{@cp S}bd/B{@gs F @gr S} +bd/b{@cp B}bd/_E{5 array astore exch cvlit xd}bd/@cc{currentfile $dat +readhexstring pop}bd/@sm{/$ctm $ctm currentmatrix def}bd/@E{/Bbury xd/Bburx xd +/Bblly xd/Bbllx xd}bd/@c{@cp}bd/@p{/$fil 1 def 1 eq dup/$vectpat xd{/$pfrg true +def}{@gs $t $c $m $y $k $n $o @scc_5/$pfrg xd @gr}ifelse/$pm xd/$psy xd/$psx xd +/$pyf xd/$pxf xd/$pn xd}bd/@P{/$fil 3 def/$Psn xd/$Psc xd array astore/$Prm xd +}bd/@ii{concat 3 index 3 index m 3 index 1 index l 2 copy l 1 index 3 index l 3 +index 3 index l clip pop pop pop pop}bd/tcc{@cc}def/@i{@sm @gs @ii 6 index 1 ne +{/$frg true def pop pop}{1 eq{s1t s1c s1m s1y s1k s1n $O @scc_5/$frg xd}{/$frg +false def}ifelse 1 eq{@gs $ctm setmatrix F @gr}if}ifelse @np/$ury xd/$urx xd +/$lly xd/$llx xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul 8 div ceiling cvi +string def $bkg $frg or{$SDF{$SCF $SCA $SCP @ss}if $llx $lly Tl $urx $llx sub +$ury $lly sub scale $bkg{$t $c $m $y $k $n $o @scc_5 pop}if $wid $hei abs $bts +1 eq{$bkg}{$bts}ifelse[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]/tcc load +$bts 1 eq{imagemask}{image}ifelse $SDF{$dsf $dsa $dsp @ss}if}{$hei abs{tcc pop} +repeat}ifelse @gr $ctm setmatrix}bd/@I{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd +/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div +ceiling cvi string def $ngx $llx $lly Tl $urx $llx sub $ury $lly sub scale $wid +$hei abs $bts[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]/@cc load false $ncl +ColorImage $SDF{$dsf $dsa $dsp @ss}if @gr $ctm setmatrix}bd/COMP 0 def +/MaskedImage false def L2?{/@I_2{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd/$llx +xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div ceiling +cvi string def $ngx $ncl 1 eq{/DeviceGray}{$ncl 3 eq{/DeviceRGB}{/DeviceCMYK} +ifelse}ifelse setcolorspace $llx $lly Tl $urx $llx sub $ury $lly sub scale 8 +dict begin/ImageType 1 def/Width $wid def/Height $hei abs def/BitsPerComponent +$bts def/Decode $ncl 1 eq{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0 1 0 1 0 1 0 1]} +ifelse}ifelse def/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def +/DataSource currentfile/ASCII85Decode filter COMP 1 eq{/DCTDecode filter}{COMP +2 eq{/RunLengthDecode filter}if}ifelse def currentdict end image $SDF{$dsf $dsa +$dsp @ss}if @gr $ctm setmatrix}bd}{/@I_2{}bd}ifelse/@I_3{@sm @gs @ii @np/$ury +xd/$urx xd/$lly xd/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul +$ncl mul 8 div ceiling cvi string def $ngx $ncl 1 eq{/DeviceGray}{$ncl 3 eq +{/DeviceRGB}{/DeviceCMYK}ifelse}ifelse setcolorspace $llx $lly Tl $urx $llx sub +$ury $lly sub scale/ImageDataDict 8 dict def ImageDataDict begin/ImageType 1 +def/Width $wid def/Height $hei abs def/BitsPerComponent $bts def/Decode $ncl 1 +eq{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0 1 0 1 0 1 0 1]}ifelse}ifelse def +/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def/DataSource +currentfile/ASCII85Decode filter COMP 1 eq{/DCTDecode filter}{COMP 2 eq{ +/RunLengthDecode filter}if}ifelse def end/MaskedImageDict 7 dict def +MaskedImageDict begin/ImageType 3 def/InterleaveType 3 def/MaskDict +ImageMaskDict def/DataDict ImageDataDict def end MaskedImageDict image $SDF +{$dsf $dsa $dsp @ss}if @gr $ctm setmatrix}bd/@SetMask{/$mbts xd/$mhei xd/$mwid +xd/ImageMaskDict 8 dict def ImageMaskDict begin/ImageType 1 def/Width $mwid def +/Height $mhei abs def/BitsPerComponent $mbts def/DataSource maskstream def +/ImageMatrix[$mwid 0 0 $mhei neg 0 $mhei 0 gt{$mhei}{0}ifelse]def/Decode[1 0] +def end}bd/@B{@gs S @gr F}bd/@b{@cp @B}bd/@sep{CurrentInkName_5(Composite)eq +{/$ink_5 -1 def}{CurrentInkName_5(Cyan)eq{/$ink_5 0 def}{CurrentInkName_5 +(Magenta)eq{/$ink_5 1 def}{CurrentInkName_5(Yellow)eq{/$ink_5 2 def}{ +CurrentInkName_5(Black)eq{/$ink_5 3 def}{/$ink_5 4 def}ifelse}ifelse}ifelse} +ifelse}ifelse}bd/@whi{@gs -72000 dup m -72000 72000 l 72000 dup l 72000 -72000 +l @cp 1 SetGry fill @gr}bd/@neg{[{1 exch sub}/exec cvx currenttransfer/exec +cvx]cvx settransfer @whi}bd/deflevel 0 def/@sax{/deflevel deflevel 1 add def} +bd/@eax{/deflevel deflevel dup 0 gt{1 sub}if def deflevel 0 gt{/eax load}{eax} +ifelse}bd/eax{{exec}forall}bd/@rax{deflevel 0 eq{@rs @sv}if}bd/@daq{dup type +/arraytype eq{{}forall}if}bd/@BMP{/@cc xd UseLevel 3 eq MaskedImage true eq and +{7 -2 roll pop pop @I_3}{12 index 1 gt UseLevel 2 eq UseLevel 3 eq or and{7 -2 +roll pop pop @I_2}{11 index 1 eq{12 -1 roll pop @i}{7 -2 roll pop pop @I} +ifelse}ifelse}ifelse}bd systemdict/pdfmark known not{/pdfmark/cleartomark ld} +if +end +%%EndResource +%%EndProlog +%%BeginSetup +wCorel8Dict begin +@BeginSysCorelDict +2.6131 setmiterlimit +1.00 setflat +/$fst 128 def +%%EndSetup + +%%Page: 1 1 +%LogicalPage: 1 +%%BeginPageSetup +@sv +@sm +@sv +%%EndPageSetup +@rax %Note: Object +482.82180 -96.51912 768.51780 183.48888 @E + 1 O 0 @g +0.00 0.00 0.00 1.00 k +/$fm 0 def +614.79780 -96.51912 m +610.54980 -96.23112 606.30180 -96.01512 602.05380 -95.79912 C +594.49380 -90.75912 581.53380 -79.52712 580.23780 -71.31912 C +573.54180 -72.90312 569.86980 -76.71912 564.46980 -80.75112 C +552.15780 -82.69512 539.12580 -86.94312 527.60580 -86.36712 C +523.57380 -78.30312 530.26980 -71.10312 536.96580 -68.29512 C +538.76580 -62.10312 543.30180 -61.16712 548.62980 -57.71112 C +548.05380 -50.00712 537.32580 -44.82312 535.88580 -36.61512 C +535.38180 -36.61512 534.87780 -36.61512 534.37380 -36.61512 C +532.50180 -26.82312 531.70980 -26.10312 531.34980 -23.79912 C +533.65380 -22.64712 533.65380 -22.64712 534.37380 -20.77512 C +547.33380 -17.96712 552.58980 -17.03112 564.82980 -26.10312 C +565.04580 -28.04712 576.56580 -35.39112 580.23780 -35.89512 C +582.54180 -11.48712 580.59780 7.59288 565.98180 27.10488 C +565.18980 27.24888 564.39780 27.39288 563.67780 27.46488 C +562.23780 18.17688 557.84580 10.32888 552.01380 2.55288 C +540.92580 -2.05512 538.54980 13.64088 536.60580 19.90488 C +535.81380 19.90488 535.09380 19.90488 534.37380 19.90488 C +529.40580 9.89688 520.69380 -0.83112 508.81380 -0.83112 C +494.26980 8.88888 501.90180 18.60888 506.94180 32.00088 C +510.03780 38.04888 513.13380 44.09688 516.30180 50.07288 C +502.62180 47.69688 487.28580 43.37688 482.82180 60.58488 C +482.82180 75.92088 495.99780 80.81688 508.81380 83.62488 C +509.17380 86.21688 509.17380 86.21688 507.66180 90.03288 C +511.62180 108.96888 509.53380 106.66488 525.73380 108.82488 C +525.80580 109.83288 525.94980 110.84088 526.09380 111.84888 C +531.06180 111.56088 536.31780 105.94488 538.11780 100.54488 C +543.08580 102.27288 544.45380 108.17688 546.75780 112.64088 C +552.80580 120.12888 556.18980 122.79288 556.90980 124.66488 C +559.21380 123.58488 559.21380 123.58488 561.80580 123.94488 C +562.16580 125.09688 562.52580 126.24888 562.95780 127.32888 C +566.34180 126.68088 572.67780 117.10488 574.54980 113.36088 C +574.54980 105.87288 573.68580 99.60888 571.95780 91.54488 C +577.50180 91.83288 580.09380 94.92888 587.00580 94.92888 C +589.95780 92.91288 592.98180 90.89688 596.00580 88.88088 C +606.15780 73.32888 587.65380 57.34488 575.70180 48.20088 C +568.93380 45.17688 568.93380 45.17688 565.54980 42.51288 C +565.40580 41.28888 565.26180 40.06488 565.18980 38.76888 C +565.69380 38.76888 566.19780 38.76888 566.70180 38.76888 C +575.12580 25.16088 585.85380 9.10488 587.72580 -7.95912 C +592.83780 -6.08712 598.74180 27.75288 600.90180 34.23288 C +603.99780 38.76888 605.72580 44.45688 606.87780 49.28088 C +618.97380 73.40088 624.94980 83.19288 625.30980 85.49688 C +605.86980 84.77688 614.79780 105.15288 618.18180 116.38488 C +622.42980 122.72088 625.74180 126.39288 631.35780 131.14488 C +631.21380 151.08888 626.38980 166.28088 648.63780 171.39288 C +648.34980 172.40088 648.13380 173.40888 647.91780 174.41688 C +658.42980 174.05688 660.15780 170.45688 661.45380 158.57688 C +667.93380 160.16088 680.46180 184.42488 687.01380 177.87288 C +688.74180 178.37688 690.46980 178.88088 692.26980 179.38488 C +692.62980 181.25688 692.62980 181.25688 691.47780 183.48888 C +700.90980 182.98488 702.42180 175.13688 702.42180 166.13688 C +697.09380 155.62488 697.09380 155.62488 696.73380 153.32088 C +709.47780 152.88888 712.14180 142.30488 712.14180 129.99288 C +706.95780 120.63288 695.50980 108.96888 684.70980 106.95288 C +681.90180 104.57688 680.74980 103.35288 677.22180 102.84888 C +677.72580 90.24888 664.33380 71.67288 652.38180 67.06488 C +639.49380 70.16088 648.34980 87.36888 644.17380 94.92888 C +643.38180 95.07288 642.58980 95.21688 641.86980 95.28888 C +641.14980 93.41688 637.76580 90.75288 625.66980 72.68088 C +611.91780 47.40888 601.26180 22.64088 597.51780 -6.44712 C +612.63780 -1.04712 612.49380 24.29688 632.07780 22.92888 C +632.07780 22.42488 632.07780 21.92088 632.07780 21.41688 C +632.58180 21.41688 633.08580 21.41688 633.58980 21.41688 C +635.10180 12.99288 632.29380 6.72888 629.84580 -1.98312 C +638.62980 3.99288 643.23780 15.36888 654.68580 18.03288 C +660.01380 23.64888 665.41380 25.95288 672.32580 29.69688 C +673.26180 48.12888 680.02980 58.78488 697.09380 66.63288 C +695.43780 84.92088 694.28580 92.19288 710.26980 103.20888 C +714.08580 103.20888 714.80580 102.48888 721.21380 102.84888 C +721.71780 103.85688 722.22180 104.86488 722.72580 105.87288 C +723.58980 106.01688 724.45380 106.16088 725.31780 106.23288 C +729.06180 102.48888 731.94180 99.75288 732.87780 93.05688 C +740.29380 95.21688 745.04580 103.20888 753.90180 103.20888 C +754.69380 102.48888 754.69380 102.48888 757.64580 102.48888 C +762.03780 106.88088 763.98180 104.50488 768.51780 100.54488 C +767.65380 91.25688 763.33380 83.84088 757.64580 76.06488 C +753.32580 75.05688 749.07780 67.13688 747.92580 62.88888 C +749.36580 62.67288 750.87780 62.38488 752.38980 62.09688 C +754.47780 57.05688 758.79780 53.60088 758.79780 46.25688 C +751.30980 29.62488 738.06180 20.26488 720.06180 20.26488 C +715.45380 15.00888 703.64580 1.47288 695.65380 6.36888 C +691.11780 13.13688 694.57380 20.84088 695.29380 27.46488 C +675.78180 25.01688 656.34180 16.16088 642.66180 2.19288 C +640.35780 -1.55112 638.48580 -2.70312 638.12580 -5.00712 C +643.38180 -5.36712 643.38180 -5.36712 645.25380 -6.44712 C +645.25380 -20.84712 643.74180 -31.14312 637.76580 -44.89512 C +636.25380 -46.40712 636.25380 -46.40712 635.89380 -48.71112 C +648.99780 -49.07112 665.12580 -49.79112 678.73380 -51.73512 C +678.73380 -52.23912 678.73380 -52.74312 678.73380 -53.24712 C +663.39780 -63.61512 643.09380 -80.31912 623.86980 -81.11112 C +625.81380 -93.99912 627.97380 -95.00712 614.79780 -96.51912 C +@c +F + +@rax %Note: Object +587.00580 -92.77512 618.15345 -70.52712 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +613.28580 -92.77512 m +609.68580 -86.58312 600.61380 -91.40712 596.79780 -82.62312 C +596.29380 -82.62312 595.78980 -82.62312 595.28580 -82.62312 C +591.61380 -77.36712 589.16580 -75.85512 587.00580 -70.52712 C +594.49380 -70.88712 598.88580 -71.03112 603.92580 -78.08712 C +609.54180 -80.75112 609.54180 -80.75112 617.10180 -82.62312 C +618.39780 -87.15912 619.69380 -92.77512 613.28580 -92.77512 C +@c +F + +@rax %Note: Object +534.37380 -79.95912 573.46980 -64.09020 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +535.88580 -79.95912 m +535.38180 -79.81512 534.87780 -79.67112 534.37380 -79.59912 C +539.77380 -60.80712 558.34980 -63.54312 573.46980 -65.27112 C +567.13380 -78.01512 550.14180 -74.19912 539.62980 -78.44712 C +538.11780 -79.95912 538.11780 -79.95912 535.88580 -79.95912 C +@c +F + +@rax %Note: Object +612.20580 -75.42312 656.91780 -55.75946 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +620.05380 -75.42312 m +616.88580 -74.63112 612.63780 -68.79912 612.20580 -66.06312 C +630.34980 -54.75912 634.95780 -54.03912 656.91780 -57.71112 C +651.44580 -68.15112 631.64580 -75.42312 620.05380 -75.42312 C +@c +F + +@rax %Note: Object +-104.09528 -70.16712 339.97380 514.40088 @E + 1 O 0 @g +0.00 0.00 0.00 1.00 k +/$fm 0 def +226.14180 -70.16712 m +220.81380 -64.83912 220.23780 -58.86312 212.60580 -56.99112 C +211.66980 -58.21512 210.80580 -59.43912 209.94180 -60.73512 C +201.08580 -61.02312 198.63780 -59.36712 198.63780 -50.94312 C +196.04580 -47.41512 195.90180 -47.19912 197.55780 -44.17512 C +195.54180 -44.17512 193.52580 -44.17512 191.50980 -44.17512 C +185.82180 -54.83112 185.96580 -59.22312 174.22980 -61.09512 C +169.18980 -57.71112 169.62180 -56.55912 168.61380 -51.73512 C +167.67780 -51.59112 166.81380 -51.44712 165.94980 -51.30312 C +153.34980 -67.43112 148.02180 -71.17512 140.38980 -51.73512 C +133.62180 -54.32712 133.62180 -54.32712 127.64580 -58.07112 C +116.48580 -58.07112 114.75780 -54.18312 114.10980 -44.89512 C +106.04580 -45.47112 99.63780 -55.19112 92.29380 -59.58312 C +89.26980 -59.58312 86.24580 -59.58312 83.29380 -59.58312 C +78.46980 -54.75912 78.32580 -52.81512 78.75780 -47.19912 C +72.06180 -48.49512 70.47780 -55.11912 62.19780 -55.11912 C +57.66180 -49.35912 58.38180 -47.05512 57.73380 -40.43112 C +53.91780 -41.51112 53.91780 -41.51112 47.94180 -44.53512 C +24.54180 -44.53512 29.36580 -27.11112 40.45380 -14.36712 C +48.66180 -9.83112 47.79780 -10.62312 56.94180 -10.62312 C +77.24580 9.68088 33.90180 36.53688 22.38180 45.17688 C +2.36580 55.18488 -17.72220 68.07288 -33.99420 82.11288 C +-37.66620 83.91288 -45.44220 89.60088 -47.53020 90.03288 C +-47.53020 90.53688 -47.53020 91.04088 -47.53020 91.54488 C +-60.56220 102.63288 -68.84220 110.04888 -77.98620 122.43288 C +-79.49820 126.96888 -82.52220 130.71288 -91.52220 146.55288 C +-107.50620 182.40888 -113.69820 219.12888 -77.62620 243.46488 C +-59.26620 249.65688 -50.26620 247.64088 -30.25020 244.90488 C +-29.31420 243.96888 -8.21820 236.12088 -4.69020 235.47288 C +-4.47420 234.89688 -4.25820 234.24888 -3.97020 233.60088 C +4.23780 232.23288 8.19780 227.40888 16.33380 224.96088 C +16.33380 224.45688 16.33380 223.95288 16.33380 223.44888 C +19.06980 221.93688 21.80580 220.42488 24.61380 218.91288 C +24.61380 218.40888 24.61380 217.90488 24.61380 217.40088 C +34.26180 213.44088 44.84580 189.68088 49.45380 178.95288 C +57.08580 182.84088 50.60580 193.78488 52.04580 201.56088 C +52.04580 207.82488 50.82180 221.00088 54.27780 226.47288 C +51.61380 269.67288 66.66180 315.53688 81.34980 355.35288 C +84.37380 359.09688 84.37380 359.09688 93.37380 377.96088 C +109.71780 400.35288 123.39780 430.23288 135.49380 454.85688 C +141.97380 473.57688 150.68580 493.88088 154.28580 512.88888 C +155.43780 514.04088 155.43780 514.04088 159.97380 514.40088 C +154.71780 483.22488 139.81380 451.47288 126.13380 422.81688 C +125.62980 422.74488 125.12580 422.60088 124.62180 422.45688 C +120.37380 404.38488 103.74180 389.55288 97.90980 371.91288 C +95.10180 366.44088 92.36580 360.89688 89.62980 355.35288 C +85.74180 353.91288 78.18180 327.84888 76.88580 320.64888 C +67.23780 302.07288 65.14980 271.11288 61.04580 249.80088 C +61.04580 236.98488 58.81380 218.91288 58.09380 200.84088 C +60.32580 164.62488 60.32580 164.62488 60.32580 155.62488 C +58.74180 153.96888 56.79780 151.88088 54.70980 151.44888 C +51.18180 157.92888 51.54180 163.25688 47.50980 168.44088 C +36.99780 191.04888 34.04580 195.51288 32.53380 199.32888 C +8.77380 229.06488 -34.28220 244.61688 -70.85820 238.92888 C +-76.76220 236.55288 -83.81820 233.74488 -86.26620 227.19288 C +-102.17820 211.28088 -97.06620 190.32888 -93.82620 169.95288 C +-88.28220 156.12888 -74.09820 119.55288 -59.55420 113.36088 C +-56.60220 108.10488 -39.97020 91.18488 -32.48220 90.03288 C +-32.48220 89.52888 -32.48220 89.02488 -32.48220 88.52088 C +-29.38620 86.79288 -26.29020 84.99288 -23.12220 83.19288 C +-23.05020 82.76088 -22.90620 82.25688 -22.76220 81.75288 C +-12.17820 77.00088 -1.16220 63.75288 10.35780 61.01688 C +12.51780 58.85688 23.53380 52.52088 27.63780 51.58488 C +30.73380 43.16088 45.27780 42.15288 49.45380 32.72088 C +57.15780 29.98488 64.71780 19.11288 67.81380 10.83288 C +67.81380 2.33688 69.61380 -5.36712 63.70980 -12.85512 C +51.18180 -16.23912 38.50980 -18.90312 38.50980 -34.38312 C +40.02180 -35.89512 40.02180 -35.89512 40.45380 -37.40712 C +44.70180 -36.75912 48.94980 -36.11112 53.19780 -35.46312 C +55.71780 -31.14312 61.33380 -27.83112 66.37380 -28.33512 C +66.37380 -34.31112 64.93380 -40.14312 65.22180 -47.19912 C +77.38980 -43.45512 72.70980 -30.92712 84.80580 -29.84712 C +85.23780 -36.90312 83.86980 -43.88712 85.52580 -51.73512 C +98.26980 -50.72712 104.67780 -40.64712 115.62180 -34.74312 C +119.43780 -25.23912 121.30980 -18.18312 132.90180 -16.31112 C +132.90180 -17.03112 132.90180 -17.75112 132.90180 -18.54312 C +145.64580 -14.65512 139.59780 -8.46312 143.77380 0.32088 C +143.77380 10.11288 143.77380 19.90488 143.77380 29.69688 C +140.89380 49.49688 138.66180 68.86488 134.77380 87.72888 C +134.77380 126.68088 107.70180 164.26488 107.70180 203.07288 C +106.18980 206.88888 103.16580 233.24088 102.44580 233.96088 C +96.32580 258.51288 101.07780 285.94488 102.44580 310.13688 C +103.16580 313.16088 104.67780 314.67288 105.10980 319.20888 C +106.69380 318.99288 108.27780 318.70488 109.93380 318.41688 C +107.70180 289.76088 107.70180 289.76088 106.90980 289.04088 C +106.90980 256.85688 110.65380 226.04088 114.46980 193.28088 C +117.99780 181.11288 123.18180 165.92088 124.98180 152.60088 C +132.97380 144.60888 141.75780 91.54488 143.77380 80.96088 C +145.28580 64.40088 146.79780 59.07288 150.54180 24.44088 C +150.25380 12.63288 150.03780 0.82488 149.82180 -10.98312 C +142.69380 -25.31112 131.67780 -18.75912 123.46980 -31.35912 C +122.31780 -36.47112 119.14980 -44.46312 122.38980 -49.79112 C +132.46980 -55.04712 136.21380 -39.35112 146.43780 -38.48712 C +146.94180 -45.25512 146.07780 -50.58312 150.18180 -56.55912 C +153.20580 -56.55912 153.20580 -56.55912 158.02980 -54.75912 C +161.05380 -47.91912 167.10180 -38.12712 169.76580 -32.43912 C +171.49380 -32.58312 173.22180 -32.72712 175.02180 -32.87112 C +175.38180 -47.19912 175.38180 -47.19912 176.53380 -52.09512 C +185.67780 -52.09512 184.38180 -46.40712 187.40580 -38.91912 C +188.91780 -21.71112 190.71780 -3.85512 184.38180 12.34488 C +183.22980 23.36088 182.43780 30.12888 184.02180 40.28088 C +183.51780 40.28088 183.01380 40.28088 182.50980 40.28088 C +182.07780 54.39288 183.30180 68.14488 184.38180 81.75288 C +180.13380 90.10488 179.41380 99.39288 177.97380 107.74488 C +177.46980 107.88888 176.96580 108.03288 176.53380 108.10488 C +175.38180 114.87288 176.10180 115.66488 175.02180 124.66488 C +165.66180 122.50488 166.02180 122.57688 163.35780 131.50488 C +163.35780 140.50488 164.07780 141.29688 164.79780 148.06488 C +164.07780 148.78488 164.79780 167.64888 164.07780 193.28088 C +163.06980 201.63288 162.06180 209.91288 161.05380 218.19288 C +155.72580 218.62488 156.51780 215.52888 151.33380 219.70488 C +145.57380 239.93688 152.98980 260.88888 153.92580 280.76088 C +151.69380 280.40088 149.46180 278.09688 147.94980 278.09688 C +138.22980 287.81688 162.34980 335.91288 163.71780 344.84088 C +157.59780 344.26488 152.19780 327.63288 146.79780 332.74488 C +146.79780 337.28088 148.30980 340.30488 149.02980 344.04888 C +154.21380 353.62488 179.55780 393.36888 177.97380 404.02488 C +177.18180 404.02488 176.46180 404.02488 175.74180 404.02488 C +172.50180 400.13688 170.77380 397.18488 165.94980 397.18488 C +161.48580 401.64888 168.97380 410.14488 171.56580 414.17688 C +179.26980 431.45688 190.14180 449.60088 194.17380 467.67288 C +198.34980 473.50488 197.91780 485.24088 205.04580 486.53688 C +205.90980 467.38488 189.92580 438.80088 181.35780 421.66488 C +178.83780 419.14488 179.19780 419.72088 178.76580 415.68888 C +181.71780 416.33688 184.74180 416.98488 187.76580 417.56088 C +188.48580 417.05688 189.20580 416.55288 189.99780 416.04888 C +191.29380 396.46488 165.15780 373.42488 160.69380 352.32888 C +165.30180 354.99288 168.03780 359.52888 173.50980 359.52888 C +175.02180 358.01688 175.02180 358.01688 175.38180 356.14488 C +166.45380 336.92088 159.68580 321.44088 155.43780 300.34488 C +160.90980 303.08088 156.58980 308.91288 165.58980 307.83288 C +165.58980 305.60088 165.58980 303.36888 165.58980 301.06488 C +159.75780 280.61688 156.73380 260.09688 156.22980 238.49688 C +158.60580 239.36088 158.53380 240.94488 159.18180 243.03288 C +161.41380 243.03288 163.64580 243.03288 165.94980 243.03288 C +167.53380 211.42488 170.62980 179.60088 171.99780 147.27288 C +172.57380 147.56088 173.22180 147.84888 173.86980 148.06488 C +175.38180 156.34488 175.38180 156.34488 177.97380 163.11288 C +179.70180 163.11288 181.50180 163.11288 183.30180 163.11288 C +183.44580 155.55288 183.22980 150.65688 181.35780 142.80888 C +182.14980 125.45688 182.86980 124.66488 182.50980 114.87288 C +183.01380 114.87288 183.51780 114.87288 184.02180 114.87288 C +183.58980 104.00088 184.02180 99.75288 188.55780 89.24088 C +194.53380 90.68088 208.35780 129.05688 211.45380 136.76088 C +212.17380 144.03288 211.81380 152.16888 219.73380 145.76088 C +220.30980 140.50488 220.95780 135.24888 221.60580 129.99288 C +222.46980 130.28088 223.33380 130.49688 224.19780 130.71288 C +227.22180 138.27288 230.24580 143.52888 236.22180 160.08888 C +240.54180 168.58488 241.83780 180.75288 248.31780 187.23288 C +248.17380 189.75288 248.02980 192.27288 247.95780 194.79288 C +251.70180 195.15288 251.70180 195.15288 254.72580 194.07288 C +257.02980 188.81688 259.40580 183.56088 261.78180 178.23288 C +262.42980 178.16088 263.07780 178.01688 263.72580 177.87288 C +270.13380 197.96088 269.34180 223.44888 269.34180 243.82488 C +270.85380 247.56888 270.85380 252.10488 272.00580 253.97688 C +279.99780 252.46488 282.73380 238.78488 284.74980 231.00888 C +286.62180 231.72888 286.62180 231.72888 287.41380 233.24088 C +288.34980 262.04088 284.53380 290.98488 285.90180 319.20888 C +287.41380 320.64888 287.41380 320.64888 289.28580 321.08088 C +292.52580 318.48888 296.05380 311.43288 300.51780 310.49688 C +301.95780 318.27288 294.10980 335.98488 291.87780 343.32888 C +288.85380 349.44888 278.77380 368.96088 282.08580 374.21688 C +287.12580 374.57688 290.29380 369.39288 294.90180 370.40088 C +292.66980 377.96088 292.66980 377.96088 289.64580 384.72888 C +280.64580 397.54488 267.10980 413.38488 266.74980 414.89688 C +246.51780 429.87288 232.18980 452.55288 221.24580 473.72088 C +218.22180 477.03288 215.19780 480.27288 212.17380 483.51288 C +210.66180 488.76888 210.66180 488.76888 209.22180 490.28088 C +211.09380 510.51288 215.34180 492.22488 219.73380 488.76888 C +221.10180 480.63288 230.31780 470.04888 233.98980 460.90488 C +249.03780 440.52888 249.03780 440.52888 258.03780 430.73688 C +260.98980 429.65688 276.03780 412.37688 276.46980 410.36088 C +276.97380 410.36088 277.47780 410.36088 277.98180 410.36088 C +277.98180 409.85688 277.98180 409.35288 277.98180 408.84888 C +278.48580 408.84888 278.98980 408.84888 279.49380 408.84888 C +279.56580 408.12888 279.70980 407.40888 279.85380 406.61688 C +290.94180 394.23288 299.29380 382.49688 303.54180 365.14488 C +304.04580 365.14488 304.54980 365.14488 305.05380 365.14488 C +307.21380 360.82488 305.41380 356.50488 300.51780 356.50488 C +297.78180 360.10488 295.26180 362.26488 291.51780 362.91288 C +295.04580 340.80888 308.43780 322.30488 308.43780 297.32088 C +307.93380 296.60088 307.42980 295.88088 306.92580 295.08888 C +306.06180 295.01688 305.19780 294.87288 304.33380 294.72888 C +300.15780 298.83288 297.13380 307.11288 292.30980 307.83288 C +291.87780 298.04088 294.18180 258.08088 294.18180 236.98488 C +293.82180 231.08088 295.76580 212.72088 287.77380 210.99288 C +285.10980 215.16888 285.10980 215.16888 283.23780 220.42488 C +283.81380 220.71288 284.46180 220.92888 285.10980 221.14488 C +284.96580 221.79288 284.82180 222.44088 284.74980 223.08888 C +279.20580 225.39288 278.91780 232.88088 277.98180 237.77688 C +277.18980 237.77688 276.46980 237.77688 275.74980 237.77688 C +274.95780 215.02488 274.38180 188.52888 268.54980 165.41688 C +265.88580 162.60888 265.59780 162.39288 262.21380 162.39288 C +261.78180 165.92088 261.42180 169.44888 261.06180 172.90488 C +255.37380 175.56888 255.80580 176.93688 253.93380 181.61688 C +252.92580 181.76088 251.91780 181.90488 250.90980 181.97688 C +241.54980 157.85688 233.91780 137.69688 230.24580 111.84888 C +224.41380 90.17688 215.55780 70.01688 207.70980 48.56088 C +204.68580 32.00088 204.68580 32.00088 198.63780 6.36888 C +198.34980 -8.96712 198.06180 -23.22312 199.42980 -38.91912 C +202.45380 -46.40712 202.45380 -46.40712 203.53380 -51.30312 C +204.75780 -51.30312 206.05380 -51.30312 207.34980 -51.30312 C +210.44580 -47.48712 209.86980 -46.40712 209.58180 -41.94312 C +212.67780 -39.99912 212.38980 -39.99912 216.70980 -40.43112 C +220.02180 -46.98312 220.45380 -54.18312 225.34980 -61.88712 C +226.42980 -61.74312 227.58180 -61.59912 228.73380 -61.52712 C +231.54180 -54.68712 230.46180 -45.90312 230.60580 -38.91912 C +239.53380 -41.51112 238.95780 -53.60712 247.16580 -53.60712 C +255.94980 -42.66312 244.14180 -32.29512 236.22180 -26.10312 C +229.30980 -11.55912 231.68580 13.49688 240.75780 25.16088 C +253.06980 55.32888 270.13380 81.17688 285.90180 108.82488 C +309.94980 168.44088 309.94980 168.44088 314.41380 181.97688 C +323.34180 215.45688 327.30180 248.64888 330.97380 282.27288 C +335.36580 286.23288 330.39780 325.25688 334.35780 332.38488 C +343.35780 332.38488 338.10180 314.16888 339.97380 306.39288 C +337.02180 261.89688 337.02180 261.89688 334.71780 245.26488 C +329.67780 231.72888 328.23780 216.46488 326.50980 201.56088 C +318.51780 172.68888 307.14180 144.53688 296.41380 116.38488 C +281.36580 88.52088 278.34180 84.70488 269.70180 67.78488 C +269.19780 67.71288 268.69380 67.56888 268.18980 67.42488 C +253.06980 37.47288 235.93380 15.65688 240.75780 -18.54312 C +245.22180 -24.23112 254.14980 -28.83912 256.16580 -37.40712 C +257.89380 -37.26312 259.62180 -37.11912 261.42180 -36.97512 C +264.94980 -41.15112 275.67780 -57.85512 284.38980 -56.19912 C +284.24580 -52.88712 284.10180 -49.64712 284.02980 -46.40712 C +289.57380 -47.41512 293.53380 -48.35112 294.54180 -55.47912 C +295.04580 -55.47912 295.54980 -55.47912 296.05380 -55.47912 C +293.74980 -61.59912 290.86980 -64.04712 285.54180 -68.65512 C +274.09380 -65.34312 266.67780 -52.81512 254.72580 -52.81512 C +250.18980 -60.66312 250.33380 -63.03912 241.18980 -60.73512 C +241.18980 -60.23112 241.18980 -59.72712 241.18980 -59.22312 C +239.67780 -58.71912 238.16580 -58.21512 236.65380 -57.71112 C +234.27780 -63.32712 233.34180 -70.16712 226.14180 -70.16712 C +@c +F + +@rax %Note: Object +298.07433 -67.14312 601.62180 853.66488 @E + 1 O 0 @g +0.00 0.00 0.00 1.00 k +/$fm 0 def +303.54180 -67.14312 m +302.02980 -66.63912 300.51780 -66.13512 299.07780 -65.63112 C +297.92580 -63.03912 297.92580 -63.03912 298.28580 -58.86312 C +300.01380 -58.86312 301.74180 -58.86312 303.54180 -58.86312 C +307.50180 -54.90312 306.70980 -44.53512 306.20580 -39.63912 C +311.10180 -39.27912 311.10180 -39.27912 314.05380 -40.43112 C +320.82180 -51.30312 322.69380 -52.45512 323.84580 -55.11912 C +327.30180 -54.97512 330.82980 -54.83112 334.35780 -54.75912 C +334.35780 -53.75112 334.35780 -52.74312 334.35780 -51.73512 C +334.86180 -51.73512 335.36580 -51.73512 335.86980 -51.73512 C +337.02180 -47.19912 337.02180 -47.19912 337.02180 -44.17512 C +327.80580 -25.67112 327.44580 -15.66312 330.25380 3.34488 C +332.34180 8.96088 337.16580 16.08888 338.17380 21.41688 C +338.74980 21.70488 339.32580 21.92088 339.97380 22.13688 C +346.38180 37.68888 373.66980 51.36888 389.29380 57.20088 C +406.57380 69.87288 430.47780 82.11288 444.51780 98.31288 C +454.38180 105.65688 464.31780 113.14488 470.43780 123.94488 C +483.39780 133.95288 486.99780 162.24888 488.86980 178.23288 C +482.38980 195.80088 481.30980 201.92088 463.66980 206.52888 C +442.64580 206.52888 442.64580 206.52888 441.92580 205.73688 C +427.74180 200.55288 413.19780 196.66488 399.80580 190.68888 C +390.22980 183.20088 380.72580 175.64088 371.22180 168.08088 C +364.52580 159.51288 354.22980 131.28888 347.89380 130.35288 C +345.30180 132.94488 346.23780 134.60088 346.02180 137.48088 C +354.87780 167.43288 364.52580 198.24888 369.34980 228.70488 C +381.44580 270.10488 388.86180 308.91288 390.37380 351.60888 C +388.86180 373.42488 388.86180 373.42488 384.39780 409.64088 C +383.60580 411.15288 382.88580 417.92088 381.37380 420.94488 C +380.58180 425.48088 379.86180 426.20088 373.81380 456.36888 C +370.86180 464.64888 364.81380 475.95288 358.83780 489.56088 C +357.03780 501.72888 349.69380 514.11288 345.66180 524.98488 C +344.65380 524.98488 343.64580 524.98488 342.63780 524.98488 C +342.27780 528.00888 340.76580 529.52088 339.25380 533.26488 C +338.60580 536.79288 337.95780 540.32088 337.38180 543.84888 C +336.87780 543.84888 336.37380 543.84888 335.86980 543.84888 C +332.77380 559.97688 327.80580 575.81688 324.99780 591.29688 C +321.32580 630.10488 322.76580 667.40088 323.48580 705.92088 C +327.94980 740.55288 327.94980 740.55288 329.46180 744.36888 C +331.33380 745.16088 333.20580 745.88088 335.14980 746.60088 C +336.44580 742.85688 334.28580 731.98488 332.48580 728.52888 C +328.95780 684.89688 327.44580 639.46488 331.76580 595.11288 C +335.36580 576.75288 339.75780 557.74488 345.66180 539.31288 C +346.23780 539.09688 346.88580 538.80888 347.53380 538.52088 C +349.40580 530.09688 353.86980 523.11288 357.32580 514.40088 C +358.18980 514.18488 359.05380 513.96888 359.91780 513.68088 C +365.89380 545.43288 375.18180 574.88088 382.88580 605.62488 C +401.53380 651.27288 424.42980 692.74488 448.26180 736.01688 C +458.12580 763.37688 472.38180 786.70488 476.84580 815.93688 C +476.84580 828.60888 479.58180 841.92888 482.46180 853.66488 C +484.47780 853.66488 486.49380 853.66488 488.50980 853.66488 C +488.43780 834.94488 486.13380 815.36088 490.38180 796.35288 C +493.26180 789.72888 496.14180 783.10488 499.02180 776.40888 C +507.44580 777.41688 514.14180 809.96088 526.09380 807.29688 C +527.24580 805.42488 527.24580 805.42488 528.68580 798.58488 C +528.25380 776.55288 526.81380 759.12888 533.65380 737.52888 C +534.58980 737.67288 535.59780 737.81688 536.60580 737.96088 C +542.22180 746.60088 542.22180 746.60088 552.80580 766.18488 C +555.39780 767.33688 555.39780 767.33688 558.42180 767.33688 C +560.29380 765.46488 560.43780 756.53688 558.78180 753.36888 C +560.14980 737.67288 562.88580 723.27288 565.98180 707.43288 C +566.41380 707.43288 566.91780 707.43288 567.42180 707.43288 C +567.78180 704.40888 568.57380 703.61688 572.31780 692.31288 C +577.57380 664.44888 579.08580 660.63288 582.10980 642.56088 C +585.13380 631.25688 588.08580 615.41688 589.59780 611.67288 C +596.79780 564.80088 599.96580 516.05688 601.62180 467.67288 C +598.74180 428.57688 594.06180 394.52088 585.85380 356.14488 C +581.31780 341.81688 579.87780 340.30488 573.82980 321.44088 C +555.82980 286.30488 540.78180 254.48088 516.66180 222.65688 C +508.52580 217.97688 501.32580 198.68088 493.04580 196.30488 C +492.61380 194.28888 492.25380 192.27288 491.89380 190.25688 C +492.90180 188.02488 493.90980 185.79288 494.91780 183.48888 C +496.28580 148.49688 481.45380 117.60888 452.43780 96.44088 C +426.80580 70.80888 395.05380 55.11288 364.81380 36.46488 C +364.45380 35.88888 364.09380 35.24088 363.73380 34.59288 C +342.70980 24.87288 336.66180 4.78488 335.50980 -17.03112 C +341.55780 -32.94312 352.06980 -51.66312 333.63780 -64.11912 C +322.83780 -64.11912 320.60580 -52.88712 314.05380 -51.73512 C +313.26180 -57.99912 312.10980 -67.14312 303.54180 -67.14312 C +@c +F + +@rax %Note: Object +541.14180 -56.55912 585.85380 -26.96088 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +570.44580 -56.55912 m +563.46180 -53.24712 556.11780 -54.68712 552.44580 -47.91912 C +551.94180 -47.91912 551.43780 -47.91912 550.93380 -47.91912 C +547.26180 -39.20712 540.42180 -37.55112 541.14180 -27.18312 C +559.35780 -25.95912 558.78180 -29.70312 574.18980 -40.43112 C +577.35780 -44.96712 579.73380 -50.07912 585.49380 -52.81512 C +585.56580 -53.46312 585.70980 -54.11112 585.85380 -54.75912 C +583.26180 -55.11912 580.23780 -53.60712 574.18980 -53.96712 C +573.90180 -54.83112 573.68580 -55.69512 573.46980 -56.55912 C +572.46180 -56.55912 571.45380 -56.55912 570.44580 -56.55912 C +@c +F + +@rax %Note: Object +598.30980 -56.55912 637.40580 -21.56712 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +602.77380 -56.55912 m +601.26180 -56.41512 599.74980 -56.27112 598.30980 -56.19912 C +599.82180 -48.35112 607.95780 -48.63912 614.07780 -44.53512 C +618.90180 -36.90312 629.98980 -23.79912 637.40580 -21.56712 C +635.82180 -34.02312 633.87780 -42.37512 624.58980 -50.58312 C +612.56580 -53.60712 605.79780 -56.55912 602.77380 -56.55912 C +@c +F + +@rax %Note: Object +-189.56041 -47.56365 -38.17020 169.95288 @E + 1 O 0 @g +0.00 0.00 0.00 1.00 k +/$fm 0 def +-111.46620 -47.55912 m +-128.09820 -39.13512 -147.17820 -16.16712 -147.17820 2.55288 C +-140.19420 11.33688 -142.42620 15.65688 -129.46620 11.98488 C +-126.51420 9.96888 -106.42620 -5.72712 -103.90620 -5.72712 C +-103.90620 -6.44712 -103.90620 -7.16712 -103.90620 -7.95912 C +-98.93820 -11.48712 -95.91420 -15.59112 -91.88220 -21.13512 C +-91.01820 -20.99112 -90.15420 -20.84712 -89.29020 -20.77512 C +-90.73020 17.67288 -95.98620 41.64888 -120.10620 71.88888 C +-120.75420 72.17688 -121.40220 72.46488 -121.97820 72.68088 C +-121.97820 73.18488 -121.97820 73.68888 -121.97820 74.19288 C +-122.98620 74.19288 -123.99420 74.19288 -125.00220 74.19288 C +-128.31420 62.02488 -131.12220 48.20088 -146.02620 48.20088 C +-155.53020 54.17688 -156.82620 67.49688 -155.02620 77.21688 C +-164.09820 76.35288 -177.56220 44.96088 -189.29820 60.58488 C +-190.30620 82.25688 -189.44220 95.07288 -172.37820 109.97688 C +-172.30620 110.91288 -172.16220 111.77688 -172.01820 112.64088 C +-188.43420 129.48888 -190.16220 134.16888 -186.63420 157.13688 C +-185.91420 157.49688 -185.19420 157.85688 -184.40220 158.21688 C +-179.79420 172.11288 -168.70620 168.87288 -158.05020 163.54488 C +-157.33020 161.60088 -150.92220 156.34488 -150.56220 154.83288 C +-149.55420 154.97688 -148.54620 155.12088 -147.53820 155.26488 C +-142.85820 161.88888 -136.01820 162.17688 -133.28220 169.95288 C +-112.76220 169.01688 -117.44220 150.00888 -120.89820 135.24888 C +-120.75420 133.73688 -120.61020 132.22488 -120.46620 130.71288 C +-87.05820 139.13688 -95.77020 106.80888 -106.57020 87.72888 C +-110.53020 84.27288 -112.69020 83.26488 -117.44220 81.75288 C +-115.42620 71.88888 -107.36220 66.48888 -102.39420 56.84088 C +-92.89020 53.31288 -84.17820 2.62488 -82.52220 -6.44712 C +-81.65820 -6.51912 -80.79420 -6.66312 -79.85820 -6.80712 C +-69.99420 3.05688 -64.23420 16.66488 -52.06620 24.80088 C +-42.34620 34.52088 -41.98620 32.50488 -38.17020 19.90488 C +-38.17020 -14.36712 -48.53820 -36.83112 -85.11420 -42.30312 C +-95.12220 -47.91912 -100.81020 -47.55912 -111.46620 -47.55912 C +@c +F + +@rax %Note: Object +588.87780 -47.55912 627.61380 15.36888 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +590.74980 -47.55912 m +590.10180 -47.12712 589.45380 -46.76712 588.87780 -46.40712 C +588.87780 -37.62312 595.42980 -24.01512 599.38980 -17.03112 C +599.53380 -16.81512 619.54980 13.92888 627.61380 15.36888 C +626.38980 4.42488 602.70180 -47.55912 590.74980 -47.55912 C +@c +F + +@rax %Note: Object +-139.86539 -40.79112 -93.03420 6.00888 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-106.21020 -40.79112 m +-121.61820 -36.83112 -128.67420 -23.43912 -137.38620 -11.77512 C +-138.68220 -4.14312 -143.29020 0.39288 -135.51420 6.00888 C +-126.94620 6.00888 -99.94620 -15.08712 -98.65020 -24.59112 C +-93.82620 -27.83112 -94.40220 -31.28712 -93.03420 -37.40712 C +-94.18620 -38.48712 -99.44220 -39.99912 -106.21020 -40.79112 C +@c +F + +@rax %Note: Object +-81.37020 -33.23112 -44.62016 20.62488 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-77.62620 -33.23112 m +-78.92220 -32.72712 -80.14620 -32.22312 -81.37020 -31.71912 C +-83.60220 -18.25512 -57.89820 18.39288 -45.29820 20.62488 C +-41.84220 -1.04712 -51.41820 -33.23112 -77.62620 -33.23112 C +@c +F + +@rax %Note: Object +629.12580 -17.39112 637.40580 -7.95912 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +630.63780 -17.39112 m +629.48580 -16.31112 629.48580 -16.31112 629.12580 -14.00712 C +632.94180 -12.56712 632.79780 -8.75112 637.40580 -7.95912 C +635.38980 -11.99112 633.80580 -14.22312 630.63780 -17.39112 C +@c +F + +@rax %Note: Object +506.97326 6.00888 539.26980 55.32888 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +509.53380 6.00888 m +498.73380 12.70488 521.55780 53.60088 533.65380 55.32888 C +534.73380 50.79288 536.31780 48.56088 539.26980 44.02488 C +537.68580 32.57688 522.99780 6.00888 509.53380 6.00888 C +@c +F + +@rax %Note: Object +543.60794 8.96088 557.79506 45.17688 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +547.18980 8.96088 m +543.80580 18.10488 540.78180 38.04888 547.90980 45.17688 C +549.49380 45.03288 551.14980 44.88888 552.80580 44.74488 C +552.87780 44.31288 553.02180 43.80888 553.16580 43.30488 C +554.17380 43.08888 555.18180 42.80088 556.18980 42.51288 C +560.22180 31.20888 556.26180 18.68088 549.42180 8.96088 C +548.62980 8.96088 547.90980 8.96088 547.18980 8.96088 C +@c +F + +@rax %Note: Object +188.91780 12.34488 223.83780 123.15288 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +191.50980 12.34488 m +189.42180 32.00088 188.91780 50.28888 188.91780 69.65688 C +193.81380 75.56088 193.81380 77.28888 194.89380 84.70488 C +201.37380 96.80088 206.41380 110.98488 212.96580 122.43288 C +213.82980 122.72088 214.69380 122.93688 215.62980 123.15288 C +216.42180 121.06488 216.49380 121.35288 219.37380 120.12888 C +218.22180 117.89688 218.22180 117.89688 218.22180 113.36088 C +220.09380 111.48888 220.38180 110.76888 223.83780 110.33688 C +214.26180 85.35288 203.24580 59.36088 198.63780 32.72088 C +195.39780 29.48088 195.68580 21.27288 195.68580 16.16088 C +195.03780 15.94488 194.38980 15.65688 193.81380 15.36888 C +193.52580 14.50488 193.23780 13.64088 193.02180 12.77688 C +192.51780 12.63288 192.01380 12.48888 191.50980 12.34488 C +@c +F + +@rax %Note: Object +699.67219 12.77688 716.67780 40.64088 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +700.54980 12.77688 m +697.38180 15.72888 703.35780 27.96888 704.65380 32.00088 C +708.39780 36.17688 709.83780 39.92088 715.59780 40.64088 C +715.95780 35.52888 716.31780 30.34488 716.67780 25.16088 C +711.78180 20.55288 706.95780 14.14488 700.54980 12.77688 C +@c +F + +@rax %Note: Object +724.59780 27.82488 753.30454 57.27969 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +728.34180 27.82488 m +727.04580 28.25688 725.82180 28.61688 724.59780 28.97688 C +727.18980 37.97688 727.98180 38.76888 728.34180 41.79288 C +727.69380 42.08088 727.04580 42.29688 726.46980 42.51288 C +726.46980 43.30488 726.46980 44.02488 726.46980 44.74488 C +736.69380 52.23288 737.55780 60.94488 753.18180 55.76088 C +755.55780 42.58488 740.72580 27.82488 728.34180 27.82488 C +@c +F + +@rax %Note: Object +678.83386 34.59288 711.42180 59.81074 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +680.24580 34.59288 m +674.98980 39.84888 685.14180 50.14488 687.73380 54.24888 C +699.68580 60.94488 699.03780 62.02488 711.42180 55.32888 C +711.42180 42.51288 689.67780 34.59288 680.24580 34.59288 C +@c +F + +@rax %Note: Object +719.07591 48.20088 727.83128 59.07288 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +719.34180 48.20088 m +718.90980 53.81688 718.90980 53.81688 720.06180 59.07288 C +727.62180 58.71288 730.28580 58.92888 725.31780 51.22488 C +720.85380 48.20088 720.85380 48.20088 719.34180 48.20088 C +@c +F + +@rax %Note: Object +557.36759 50.79288 593.94898 88.52088 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +558.42180 50.79288 m +555.54180 56.62488 559.35780 65.84088 560.29380 71.16888 C +570.22980 81.10488 576.06180 89.38488 591.54180 88.52088 C +601.98180 73.76088 578.36580 56.62488 565.98180 51.22488 C +563.46180 51.08088 560.94180 50.93688 558.42180 50.79288 C +@c +F + +@rax %Note: Object +540.92665 51.58488 551.95087 69.33402 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +541.86180 51.58488 m +540.78180 56.84088 540.78180 56.84088 541.14180 59.50488 C +541.71780 59.86488 542.36580 60.22488 543.01380 60.58488 C +543.22980 62.88888 543.44580 65.19288 543.73380 67.42488 C +555.61380 76.28088 554.38980 52.73688 541.86180 51.58488 C +@c +F + +@rax %Note: Object +488.86980 54.24888 525.73380 75.31569 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +496.78980 54.24888 m +492.75780 56.12088 490.81380 56.98488 488.86980 59.86488 C +488.86980 72.96888 502.11780 78.15288 513.34980 73.83288 C +517.16580 68.93688 519.25380 65.33688 525.73380 62.88888 C +524.94180 58.71288 501.68580 54.24888 496.78980 54.24888 C +@c +F + +@rax %Note: Object +-148.92803 55.76088 -131.77020 92.92195 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-145.30620 55.76088 m +-145.81020 55.90488 -146.31420 56.04888 -146.81820 56.12088 C +-150.41820 68.28888 -149.05020 78.72888 -145.66620 90.03288 C +-141.63420 92.55288 -138.03420 95.72088 -137.02620 88.52088 C +-136.52220 88.52088 -136.01820 88.52088 -135.51420 88.52088 C +-130.25820 81.03288 -129.53820 60.58488 -139.25820 55.76088 C +-141.27420 55.76088 -143.29020 55.76088 -145.30620 55.76088 C +@c +F + +@rax %Note: Object +-184.04220 63.24888 -154.66620 105.08088 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-182.89020 63.24888 m +-183.32220 63.89688 -183.68220 64.54488 -184.04220 65.12088 C +-184.04220 83.04888 -181.16220 106.30488 -158.48220 105.08088 C +-157.69020 100.54488 -156.17820 98.31288 -154.66620 90.03288 C +-160.06620 82.11288 -173.89020 63.24888 -182.89020 63.24888 C +@c +F + +@rax %Note: Object +726.10980 64.04088 761.46180 97.16088 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +731.36580 64.04088 m +729.85380 65.55288 729.85380 65.55288 726.10980 66.63288 C +734.53380 86.00088 738.70980 95.00088 761.46180 97.16088 C +762.39780 85.92888 740.36580 64.04088 731.36580 64.04088 C +@c +F + +@rax %Note: Object +701.93367 66.63288 726.32353 97.52088 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +714.80580 66.63288 m +714.80580 67.13688 714.80580 67.64088 714.80580 68.14488 C +711.99780 68.07288 709.26180 67.92888 706.52580 67.78488 C +694.86180 84.92088 706.81380 98.45688 724.95780 97.52088 C +728.12580 89.81688 725.74980 83.26488 719.70180 77.21688 C +718.98180 73.68888 718.62180 68.28888 714.80580 66.63288 C +@c +F + +@rax %Note: Object +514.93266 70.01688 535.14000 103.06035 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +533.65380 70.01688 m +516.73380 80.31288 510.75780 83.19288 517.81380 102.05688 C +521.55780 103.20888 521.55780 103.20888 530.19780 102.84888 C +536.10180 92.40888 535.38180 82.97688 534.73380 70.37688 C +534.37380 70.30488 534.01380 70.16088 533.65380 70.01688 C +@c +F + +@rax %Note: Object +651.61899 74.55288 671.53380 110.33688 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +654.68580 74.55288 m +653.67780 74.69688 652.66980 74.84088 651.66180 74.91288 C +651.51780 89.88888 651.30180 97.80888 658.42980 110.33688 C +659.65380 110.33688 660.87780 110.33688 662.17380 110.33688 C +662.46180 105.51288 666.63780 104.36088 671.53380 102.05688 C +670.45380 89.31288 664.69380 84.77688 656.19780 74.55288 C +655.69380 74.55288 655.18980 74.55288 654.68580 74.55288 C +@c +F + +@rax %Note: Object +544.45153 76.85688 568.13386 119.04888 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +550.14180 76.85688 m +549.63780 77.36088 549.13380 77.86488 548.62980 78.36888 C +547.33380 78.22488 546.10980 78.08088 544.88580 77.93688 C +543.08580 96.22488 546.10980 107.31288 561.44580 119.04888 C +562.45380 119.04888 563.46180 119.04888 564.46980 119.04888 C +574.54980 108.96888 561.87780 76.85688 550.14180 76.85688 C +@c +F + +@rax %Note: Object +-133.33408 89.67288 -102.20400 126.60888 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-119.74620 89.67288 m +-134.07420 91.25688 -135.15420 102.99288 -131.77020 115.30488 C +-122.12220 122.14488 -117.80220 126.60888 -105.41820 126.60888 C +-97.57020 116.16888 -105.56220 101.26488 -110.31420 90.75288 C +-113.69820 89.67288 -113.69820 89.67288 -119.74620 89.67288 C +@c +F + +@rax %Note: Object +580.23780 90.75288 584.77380 93.05688 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +580.23780 90.75288 m +580.23780 91.54488 580.23780 92.33688 580.23780 93.05688 C +581.74980 92.98488 583.26180 92.84088 584.77380 92.69688 C +583.26180 92.04888 581.74980 91.40088 580.23780 90.75288 C +@c +F + +@rax %Note: Object +619.22239 92.69688 651.30180 125.09688 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +620.84580 92.69688 m +614.72580 102.56088 626.24580 119.33688 633.58980 125.09688 C +638.84580 125.09688 639.63780 124.30488 650.94180 123.94488 C +650.50980 117.17688 651.30180 115.66488 651.30180 113.36088 C +642.87780 105.65688 632.00580 94.06488 620.84580 92.69688 C +@c +F + +@rax %Note: Object +-152.07420 97.95288 -138.89820 120.81515 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-148.25820 97.95288 m +-149.05020 98.31288 -149.84220 98.67288 -150.56220 99.03288 C +-150.56220 99.53688 -150.56220 100.04088 -150.56220 100.54488 C +-151.06620 100.54488 -151.57020 100.54488 -152.07420 100.54488 C +-152.00220 106.01688 -150.41820 129.41688 -138.89820 117.89688 C +-138.89820 111.84888 -139.97820 97.95288 -148.25820 97.95288 C +@c +F + +@rax %Note: Object +668.58180 110.76888 708.03780 145.07943 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +672.68580 110.76888 m +671.31780 111.63288 669.94980 112.49688 668.58180 113.36088 C +668.58180 118.54488 672.10980 120.41688 675.34980 123.94488 C +678.15780 136.40088 691.04580 146.55288 704.29380 145.04088 C +705.08580 142.66488 704.86980 142.16088 708.03780 140.50488 C +704.50980 120.41688 691.98180 113.93688 672.68580 110.76888 C +@c +F + +@rax %Note: Object +-183.02854 116.81688 -152.93820 161.29474 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-167.12220 116.81688 m +-180.44220 127.32888 -186.49020 138.92088 -181.01820 154.83288 C +-174.03420 163.47288 -170.21820 162.17688 -160.35420 158.57688 C +-160.35420 158.14488 -160.35420 157.64088 -160.35420 157.13688 C +-148.83420 149.00088 -153.73020 135.89688 -155.45820 123.15288 C +-159.77820 119.69688 -161.72220 116.81688 -167.12220 116.81688 C +@c +F + +@rax %Note: Object +659.14980 119.04888 668.26687 128.48088 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +659.14980 119.04888 m +658.64580 125.24088 662.82180 127.54488 668.22180 128.48088 C +668.43780 124.23288 667.93380 123.72888 665.55780 119.40888 C +663.39780 119.33688 661.23780 119.19288 659.14980 119.04888 C +@c +F + +@rax %Note: Object +-144.71291 122.79288 -122.98989 162.75288 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-134.72220 122.79288 m +-138.10620 125.60088 -140.62620 127.25688 -144.51420 126.17688 C +-144.15420 144.39288 -147.97020 150.65688 -134.00220 162.75288 C +-114.05820 162.75288 -126.08220 134.38488 -130.97820 123.58488 C +-132.49020 122.79288 -132.49020 122.79288 -134.72220 122.79288 C +@c +F + +@rax %Note: Object +665.14394 133.73688 696.37380 175.20888 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +665.91780 133.73688 m +665.48580 143.16888 662.89380 150.65688 670.09380 157.85688 C +671.31780 163.11288 683.91780 172.11288 688.52580 174.84888 C +690.97380 174.99288 693.49380 175.13688 696.01380 175.20888 C +696.08580 172.47288 696.22980 169.73688 696.37380 166.92888 C +692.62980 159.36888 674.98980 135.96888 665.91780 133.73688 C +@c +F + +@rax %Note: Object +636.69175 135.60888 655.88287 167.28888 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +638.84580 135.60888 m +634.02180 140.43288 638.41380 156.77688 640.35780 162.39288 C +644.96580 164.04888 645.25380 167.28888 652.38180 167.28888 C +656.91780 162.75288 657.06180 142.59288 652.74180 135.96888 C +648.06180 135.89688 643.45380 135.75288 638.84580 135.60888 C +@c +F + +@rax %Note: Object +694.14180 147.70488 699.03780 151.80888 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +694.50180 147.70488 m +694.35780 148.85688 694.21380 150.00888 694.14180 151.08888 C +695.22180 151.37688 696.37380 151.59288 697.52580 151.80888 C +697.52580 151.30488 697.52580 150.80088 697.52580 150.29688 C +698.02980 150.29688 698.53380 150.29688 699.03780 150.29688 C +698.74980 149.72088 698.46180 149.07288 698.24580 148.42488 C +696.94980 148.20888 695.72580 147.99288 694.50180 147.70488 C +@c +F + +@rax %Note: Object +363.73380 173.69688 594.13380 799.37688 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +363.73380 173.69688 m +364.81380 180.46488 370.86180 203.07288 376.83780 231.00888 C +377.62980 231.72888 380.58180 242.31288 381.37380 243.03288 C +388.42980 277.59288 394.98180 310.78488 397.93380 345.56088 C +397.93380 357.65688 397.14180 359.09688 397.14180 367.44888 C +391.16580 413.38488 391.16580 413.38488 390.37380 414.17688 C +387.27780 428.14488 383.38980 442.18488 381.73380 455.64888 C +381.22980 455.64888 380.72580 455.64888 380.22180 455.64888 C +379.06980 462.41688 376.11780 469.18488 372.73380 482.79288 C +372.22980 482.79288 371.72580 482.79288 371.22180 482.79288 C +369.78180 488.33688 368.41380 493.88088 367.04580 499.35288 C +365.74980 522.24888 371.22180 547.44888 378.70980 568.32888 C +379.28580 568.25688 379.93380 568.11288 380.58180 567.96888 C +382.52580 555.94488 384.25380 532.25688 398.29380 526.85688 C +416.29380 526.85688 428.74980 537.72888 443.36580 547.95288 C +444.37380 548.09688 445.38180 548.24088 446.38980 548.31288 C +446.74980 547.59288 447.10980 546.87288 447.54180 546.08088 C +448.18980 527.43288 444.30180 464.28888 473.46180 464.28888 C +484.40580 472.35288 489.80580 482.21688 499.02180 491.43288 C +499.88580 491.36088 500.74980 491.21688 501.68580 491.07288 C +501.68580 479.26488 501.68580 467.45688 501.68580 455.64888 C +503.62980 446.21688 505.14180 430.52088 514.78980 424.32888 C +533.72580 424.32888 535.09380 444.48888 550.14180 446.57688 C +552.80580 426.20088 552.80580 426.20088 553.52580 412.66488 C +558.06180 400.20888 568.28580 389.19288 582.10980 399.84888 C +582.10980 405.60888 575.12580 403.44888 571.23780 403.59288 C +570.80580 404.38488 570.44580 405.17688 570.08580 405.89688 C +567.70980 406.18488 565.33380 406.40088 562.95780 406.61688 C +558.42180 421.08888 558.13380 435.20088 556.54980 449.60088 C +553.88580 452.98488 552.44580 453.34488 552.44580 454.85688 C +541.35780 452.62488 536.46180 446.28888 529.47780 438.29688 C +525.51780 435.27288 521.77380 431.16888 517.09380 431.16888 C +501.97380 449.96088 511.54980 482.93688 506.58180 504.60888 C +489.51780 503.96088 486.27780 471.84888 466.69380 471.84888 C +457.62180 480.92088 455.89380 512.24088 455.02980 523.47288 C +455.02980 533.26488 455.24580 549.03288 451.64580 557.38488 C +450.13380 557.52888 448.62180 557.67288 447.18180 557.74488 C +433.71780 551.33688 410.60580 528.22488 396.78180 535.13688 C +386.98980 553.20888 386.62980 568.25688 386.62980 588.27288 C +398.36580 638.45688 425.07780 681.44088 449.77380 726.22488 C +452.00580 732.27288 455.02980 736.80888 467.05380 762.44088 C +471.44580 774.75288 475.83780 787.06488 480.22980 799.37688 C +480.94980 799.37688 481.66980 799.37688 482.46180 799.37688 C +491.10180 775.97688 491.10180 775.97688 495.63780 766.18488 C +496.78980 765.10488 496.78980 765.10488 500.17380 765.46488 C +506.50980 775.54488 514.35780 784.90488 519.32580 795.63288 C +520.33380 795.63288 521.34180 795.63288 522.34980 795.63288 C +522.27780 785.91288 517.59780 728.88888 536.60580 728.88888 C +539.62980 731.91288 539.62980 731.91288 549.42180 748.47288 C +550.28580 748.40088 551.14980 748.25688 552.01380 748.11288 C +552.80580 746.60088 552.80580 746.60088 554.24580 728.52888 C +562.09380 698.00088 570.66180 668.62488 576.06180 636.51288 C +588.37380 596.69688 589.59780 550.11288 594.13380 508.35288 C +593.34180 506.12088 593.34180 506.12088 594.13380 462.41688 C +589.16580 405.24888 584.19780 356.21688 557.26980 304.88088 C +549.56580 283.92888 537.10980 267.87288 527.24580 247.56888 C +526.30980 247.06488 525.44580 246.56088 524.58180 246.05688 C +523.93380 236.48088 501.54180 217.68888 494.55780 206.52888 C +493.54980 206.16888 492.54180 205.80888 491.53380 205.37688 C +491.24580 204.29688 490.95780 203.14488 490.74180 201.99288 C +489.22980 201.20088 489.22980 201.20088 485.48580 201.56088 C +473.38980 217.90488 461.94180 215.45688 443.36580 214.01688 C +434.29380 211.42488 427.88580 209.69688 420.10980 205.01688 C +396.27780 205.01688 384.46980 179.60088 363.73380 173.69688 C +@c +F + +@rax %Note: Object +-27.22620 483.15288 195.36180 602.63660 @E + 1 O 0 @g +0.00 0.00 0.00 1.00 k +/$fm 0 def +41.17380 483.15288 m +28.42980 484.80888 15.75780 488.33688 5.46180 494.81688 C +5.17380 497.26488 -3.32220 500.57688 -5.41020 502.01688 C +-8.14620 507.20088 -12.17820 508.56888 -13.69020 512.88888 C +-14.69820 513.32088 -15.70620 513.68088 -16.71420 514.04088 C +-18.51420 521.31288 -28.16220 522.68088 -27.22620 533.62488 C +-24.27420 535.92888 -24.27420 535.92888 -22.76220 535.92888 C +-19.09020 532.25688 -16.64220 520.80888 -9.94620 518.93688 C +-7.42620 513.68088 5.60580 506.04888 6.61380 502.37688 C +11.86980 499.71288 11.86980 499.71288 22.38180 496.32888 C +22.38180 495.82488 22.38180 495.32088 22.38180 494.81688 C +42.68580 491.43288 42.68580 491.43288 49.45380 491.43288 C +50.96580 492.22488 69.75780 494.45688 93.80580 498.99288 C +97.04580 501.29688 100.28580 503.52888 103.59780 505.76088 C +113.24580 507.41688 132.90180 522.96888 137.79780 530.24088 C +149.24580 539.38488 155.79780 556.44888 160.33380 569.48088 C +160.18980 575.24088 160.04580 581.00088 159.97380 586.76088 C +160.54980 587.04888 161.19780 587.33688 161.84580 587.55288 C +161.91780 588.56088 162.06180 589.56888 162.20580 590.57688 C +161.41380 590.57688 160.69380 590.57688 159.97380 590.57688 C +158.31780 595.32888 157.09380 597.41688 158.02980 601.88088 C +159.18180 602.02488 160.33380 602.16888 161.48580 602.24088 C +171.63780 596.26488 182.58180 604.47288 194.53380 602.24088 C +195.61380 599.57688 195.54180 598.56888 194.89380 595.11288 C +185.24580 594.03288 175.38180 593.67288 166.74180 590.57688 C +167.17380 560.98488 161.62980 547.16088 141.54180 523.47288 C +141.39780 522.75288 141.25380 521.96088 141.18180 521.16888 C +157.23780 523.47288 169.69380 532.11288 180.99780 543.48888 C +183.01380 543.63288 185.02980 543.77688 187.04580 543.84888 C +187.04580 543.34488 187.04580 542.84088 187.04580 542.33688 C +187.54980 542.33688 188.05380 542.33688 188.55780 542.33688 C +186.97380 530.81688 155.58180 517.78488 146.43780 513.32088 C +143.98980 513.46488 141.61380 513.60888 139.23780 513.68088 C +138.87780 515.48088 138.51780 517.20888 138.15780 518.93688 C +130.59780 516.70488 129.37380 509.86488 121.59780 507.27288 C +98.70180 490.35288 68.89380 483.15288 41.17380 483.15288 C +@c +F + +@rax %Note: Object +-72.73020 540.46488 248.32205 910.38784 @E + 1 O 0 @g +0.00 0.00 0.00 1.00 k +/$fm 0 def +-45.29820 540.46488 m +-47.60220 540.96888 -49.83420 541.47288 -52.06620 541.97688 C +-66.61020 549.10488 -69.77820 554.50488 -72.73020 569.48088 C +-69.85020 596.98488 -42.77820 613.40088 -26.14620 585.24888 C +-25.06620 582.00888 -23.91420 578.76888 -22.76220 575.45688 C +-8.65020 576.46488 6.90180 589.35288 18.63780 596.98488 C +30.87780 608.64888 58.81380 634.71288 58.81380 653.14488 C +56.50980 655.95288 54.27780 658.68888 52.04580 661.42488 C +50.24580 677.76888 50.96580 688.49688 54.27780 703.61688 C +57.01380 707.72088 57.94980 708.87288 56.22180 712.68888 C +55.71780 712.68888 55.21380 712.68888 54.70980 712.68888 C +53.34180 720.75288 49.66980 727.52088 55.42980 733.42488 C +56.94180 733.06488 58.45380 732.70488 59.96580 732.27288 C +61.62180 739.47288 62.12580 740.26488 67.81380 744.36888 C +66.66180 752.07288 62.62980 751.85688 58.45380 756.03288 C +54.78180 761.14488 53.12580 763.73688 48.66180 766.61688 C +33.32580 785.33688 13.45380 808.37688 5.46180 830.26488 C +3.94980 838.54488 3.15780 850.64088 0.20580 866.48088 C +1.28580 881.31288 6.03780 894.99288 7.69380 908.67288 C +11.29380 912.27288 14.38980 909.39288 18.63780 907.59288 C +29.94180 905.79288 40.16580 903.63288 51.68580 900.03288 C +52.69380 897.00888 74.43780 889.37688 79.54980 888.29688 C +79.54980 887.79288 79.54980 887.28888 79.54980 886.78488 C +80.26980 886.78488 80.98980 886.78488 81.78180 886.78488 C +81.78180 886.28088 81.78180 885.77688 81.78180 885.27288 C +84.66180 884.19288 90.70980 879.08088 90.06180 874.40088 C +84.01380 875.40888 84.08580 878.79288 80.26980 881.16888 C +68.74980 882.60888 58.74180 890.02488 47.94180 892.83288 C +47.94180 893.33688 47.94180 893.84088 47.94180 894.34488 C +36.27780 897.15288 25.04580 900.46488 13.74180 899.60088 C +12.22980 894.34488 11.43780 893.62488 11.07780 891.32088 C +17.70180 889.08888 31.38180 881.74488 33.68580 873.96888 C +34.54980 873.75288 35.41380 873.53688 36.27780 873.24888 C +36.34980 871.95288 43.47780 862.30488 46.06980 861.15288 C +46.14180 860.43288 46.28580 859.71288 46.42980 858.92088 C +47.00580 858.70488 47.65380 858.48888 48.30180 858.20088 C +62.19780 838.76088 69.10980 816.51288 78.03780 793.76088 C +78.54180 793.61688 79.04580 793.47288 79.54980 793.32888 C +83.00580 809.38488 85.45380 817.01688 93.37380 831.05688 C +100.93380 840.05688 100.93380 840.05688 101.29380 841.56888 C +87.39780 840.92088 80.62980 835.59288 80.62980 850.64088 C +92.65380 864.96888 92.65380 864.96888 98.70180 870.94488 C +113.60580 881.96088 125.12580 885.63288 143.41380 889.08888 C +143.41380 889.88088 143.41380 890.60088 143.41380 891.32088 C +142.62180 891.32088 141.90180 891.32088 141.18180 891.32088 C +141.18180 891.82488 141.18180 892.32888 141.18180 892.83288 C +140.53380 893.12088 139.88580 893.40888 139.23780 893.62488 C +139.45380 894.92088 139.74180 896.14488 140.02980 897.36888 C +166.59780 907.08888 193.88580 913.92888 222.39780 905.28888 C +229.09380 899.24088 229.09380 899.24088 230.60580 898.88088 C +231.82980 895.92888 231.68580 894.34488 235.14180 892.47288 C +235.50180 890.60088 235.86180 888.72888 236.22180 886.78488 C +236.86980 886.56888 237.51780 886.35288 238.16580 886.06488 C +238.02180 884.55288 237.87780 883.04088 237.73380 881.52888 C +247.59780 848.48088 253.78980 819.03288 241.54980 784.25688 C +234.56580 771.51288 237.44580 776.26488 226.86180 777.48888 C +225.56580 769.06488 213.10980 758.26488 206.55780 753.00888 C +193.38180 753.00888 195.25380 765.24888 194.53380 774.46488 C +182.36580 773.60088 175.66980 746.67288 159.97380 743.21688 C +157.95780 744.72888 155.94180 746.24088 153.92580 747.75288 C +152.70180 757.76088 153.99780 764.96088 155.43780 774.46488 C +142.26180 769.78488 132.03780 733.78488 115.62180 744.72888 C +108.13380 761.00088 114.46980 783.39288 119.36580 799.37688 C +105.97380 797.21688 99.27780 777.84888 83.29380 776.76888 C +82.93380 773.52888 82.42980 770.43288 78.03780 769.64088 C +75.08580 772.44888 76.09380 773.38488 72.78180 774.46488 C +73.14180 769.20888 78.32580 766.25688 79.90980 760.13688 C +79.40580 759.41688 78.90180 758.69688 78.39780 757.90488 C +76.95780 757.68888 75.58980 757.47288 74.22180 757.18488 C +74.43780 754.95288 74.72580 752.64888 75.01380 750.34488 C +76.23780 750.12888 77.46180 749.91288 78.75780 749.62488 C +80.12580 745.95288 84.22980 748.25688 83.29380 742.49688 C +81.78180 741.70488 81.78180 741.70488 69.75780 742.85688 C +69.82980 741.34488 69.97380 739.83288 70.11780 738.32088 C +65.07780 733.28088 68.24580 727.37688 69.75780 720.96888 C +74.94180 720.53688 79.47780 721.90488 85.52580 720.60888 C +88.62180 733.92888 91.42980 749.84088 92.29380 763.16088 C +92.79780 763.16088 93.30180 763.16088 93.80580 763.16088 C +93.80580 760.71288 93.80580 758.19288 93.80580 755.67288 C +94.52580 755.31288 95.24580 754.95288 96.03780 754.52088 C +96.10980 748.40088 96.25380 742.20888 96.39780 736.01688 C +90.85380 716.64888 92.72580 698.21688 88.90980 677.98488 C +86.24580 671.28888 76.81380 653.28888 69.75780 651.63288 C +67.16580 642.99288 66.51780 646.52088 61.47780 641.48088 C +51.46980 613.97688 24.75780 593.45688 1.35780 577.40088 C +-6.13020 573.58488 -12.89820 567.75288 -21.25020 567.17688 C +-24.85020 552.56088 -28.52220 540.46488 -45.29820 540.46488 C +@c +F + +@rax %Note: Object +-53.21820 559.25688 -38.27197 582.29688 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +-46.01820 559.25688 m +-49.83420 562.28088 -49.83420 562.28088 -51.27420 562.64088 C +-51.27420 563.64888 -51.27420 564.65688 -51.27420 565.66488 C +-51.92220 565.95288 -52.57020 566.24088 -53.21820 566.45688 C +-53.21820 576.96888 -53.21820 576.96888 -52.06620 579.63288 C +-50.19420 580.78488 -50.19420 580.78488 -49.83420 582.29688 C +-36.73020 581.86488 -35.14620 568.97688 -43.06620 559.25688 C +-44.07420 559.25688 -45.08220 559.25688 -46.01820 559.25688 C +@c +F + +@rax %Note: Object +147.81487 656.52888 195.99846 740.98488 @E + 1 O 0 @g +0.00 0.00 0.00 1.00 k +/$fm 0 def +156.94980 656.52888 m +150.18180 661.06488 150.18180 661.06488 149.02980 662.93688 C +147.08580 679.35288 146.14980 700.08888 156.58980 713.40888 C +156.66180 714.92088 156.80580 716.43288 156.94980 717.94488 C +160.26180 718.59288 161.91780 718.80888 164.43780 721.32888 C +179.77380 725.14488 180.20580 727.73688 187.76580 740.98488 C +189.34980 740.84088 191.00580 740.69688 192.66180 740.55288 C +192.66180 732.27288 182.86980 724.28088 184.02180 719.09688 C +184.52580 719.09688 185.02980 719.09688 185.53380 719.09688 C +188.12580 722.55288 191.07780 726.72888 195.32580 727.37688 C +198.42180 721.97688 190.50180 712.47288 185.89380 708.87288 C +185.89380 699.36888 184.45380 671.50488 172.71780 668.19288 C +171.42180 662.86488 161.98980 657.75288 156.94980 656.52888 C +@c +F + +@rax %Note: Object +56.77965 660.27288 85.64995 708.51288 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +61.47780 660.27288 m +52.33380 671.64888 56.79780 704.91288 71.98980 708.51288 C +85.16580 708.51288 86.10180 707.14488 85.52580 692.74488 C +85.02180 692.74488 84.51780 692.74488 84.01380 692.74488 C +80.70180 697.71288 78.25380 697.13688 73.50180 698.72088 C +55.71780 692.38488 60.54180 675.96888 62.98980 661.06488 C +62.48580 660.84888 61.98180 660.56088 61.47780 660.27288 C +@c +F + +@rax %Note: Object +153.92580 682.52088 180.26476 710.53682 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +153.92580 682.52088 m +155.79780 698.57688 159.03780 718.66488 178.76580 707.43288 C +179.55780 702.89688 181.50180 699.36888 179.12580 694.61688 C +175.02180 700.44888 173.65380 700.23288 167.46180 700.23288 C +163.86180 696.27288 157.30980 684.03288 153.92580 682.52088 C +@c +F + +@rax %Note: Object +86.24580 748.83288 242.26980 902.10132 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +120.08580 748.83288 m +114.46980 772.44888 126.13380 790.95288 129.51780 812.19288 C +122.10180 819.60888 98.62980 786.20088 86.24580 785.04888 C +86.60580 791.60088 86.96580 798.15288 87.39780 804.63288 C +95.67780 826.16088 102.30180 835.16088 120.87780 847.97688 C +122.24580 850.20888 123.61380 851.72088 123.10980 854.02488 C +120.08580 854.81688 120.08580 854.81688 115.62180 854.02488 C +106.40580 849.41688 96.82980 847.32888 87.03780 846.82488 C +92.65380 870.44088 128.00580 880.59288 148.66980 883.40088 C +157.66980 883.68888 166.66980 883.97688 175.74180 884.19288 C +177.97380 886.42488 178.69380 886.92888 179.12580 889.80888 C +175.52580 893.40888 159.32580 892.68888 153.20580 893.62488 C +153.20580 894.41688 153.20580 895.13688 153.20580 895.85688 C +175.88580 901.47288 197.26980 905.21688 220.88580 898.52088 C +227.22180 892.83288 227.22180 892.83288 230.96580 887.57688 C +230.96580 878.28888 233.98980 863.02488 238.88580 854.02488 C +239.38980 853.95288 239.89380 853.80888 240.39780 853.66488 C +238.88580 843.72888 241.83780 828.96888 242.26980 817.44888 C +241.54980 809.16888 241.54980 809.16888 235.86180 785.40888 C +234.85380 785.33688 233.84580 785.19288 232.90980 785.04888 C +232.47780 791.81688 232.62180 791.96088 227.65380 793.32888 C +224.12580 784.40088 213.90180 759.27288 202.09380 760.92888 C +201.80580 770.72088 201.51780 780.51288 201.30180 790.30488 C +199.50180 790.30488 197.77380 790.30488 196.04580 790.30488 C +190.57380 781.66488 169.62180 752.14488 159.97380 751.13688 C +159.46980 764.45688 161.77380 774.24888 165.58980 786.56088 C +165.44580 789.00888 165.30180 791.38488 165.22980 793.76088 C +149.89380 793.76088 138.58980 751.42488 120.08580 748.83288 C +@c +F + +@rax %Note: Object +252.06180 759.77688 393.39780 945.96888 @E + 1 O 0 @g +0.00 0.00 0.00 1.00 k +/$fm 0 def +332.12580 759.77688 m +331.33380 759.92088 330.61380 760.06488 329.89380 760.13688 C +329.60580 762.65688 329.31780 765.17688 329.10180 767.69688 C +333.42180 768.34488 338.02980 768.27288 338.89380 773.74488 C +350.91780 778.85688 365.10180 789.36888 373.81380 799.37688 C +395.05380 838.90488 384.97380 892.04088 376.47780 933.51288 C +369.42180 930.99288 368.70180 928.83288 367.04580 922.20888 C +344.43780 914.79288 332.77380 895.06488 319.74180 876.27288 C +308.58180 858.20088 288.92580 830.12088 292.30980 806.93688 C +303.61380 812.55288 310.09380 821.84088 320.10180 829.90488 C +322.33380 830.04888 324.56580 830.19288 326.86980 830.26488 C +326.50980 823.06488 319.45380 813.56088 315.92580 806.93688 C +315.27780 802.18488 314.62980 797.43288 314.05380 792.60888 C +322.40580 793.04088 323.26980 798.29688 334.35780 795.63288 C +336.73380 790.52088 337.30980 778.20888 333.99780 772.95288 C +333.13380 772.88088 332.26980 772.73688 331.40580 772.59288 C +328.23780 775.76088 329.89380 785.55288 329.89380 789.58488 C +327.37380 789.22488 324.85380 788.86488 322.33380 788.43288 C +300.15780 777.12888 307.21380 792.75288 310.30980 809.88888 C +301.52580 809.31288 299.22180 798.22488 289.28580 798.22488 C +280.71780 811.32888 286.90980 824.07288 291.15780 837.82488 C +303.18180 861.15288 303.18180 861.15288 315.20580 880.80888 C +320.24580 887.14488 330.18180 898.37688 332.91780 905.64888 C +307.64580 899.67288 288.27780 875.33688 265.23780 864.17688 C +262.64580 859.13688 259.54980 855.53688 253.93380 855.53688 C +251.70180 857.76888 252.27780 858.70488 252.06180 861.15288 C +257.24580 863.52888 258.46980 864.75288 261.78180 869.50488 C +288.27780 887.79288 315.70980 905.07288 344.14980 920.40888 C +355.52580 927.89688 369.56580 934.80888 377.98980 945.96888 C +385.83780 945.96888 383.31780 942.00888 383.60580 933.51288 C +386.05380 923.21688 390.44580 908.24088 389.29380 897.36888 C +389.79780 897.36888 390.30180 897.36888 390.80580 897.36888 C +392.60580 872.45688 393.39780 870.94488 393.39780 855.89688 C +390.44580 849.92088 390.73380 829.47288 390.37380 825.00888 C +384.75780 798.51288 374.89380 788.43288 351.27780 772.95288 C +347.60580 766.25688 339.68580 759.77688 332.12580 759.77688 C +@c +F + +@rax %Note: Object +6.60359 765.82488 72.78180 884.91288 @E + 1 O 0 @g +0.00 0.00 0.00 0.00 k +/$fm 0 def +62.19780 765.82488 m +57.30180 769.56888 50.67780 774.96888 47.94180 779.79288 C +47.43780 779.79288 46.93380 779.79288 46.42980 779.79288 C +34.33380 794.33688 21.66180 812.19288 13.74180 828.03288 C +9.63780 842.14488 2.36580 872.38488 9.56580 884.91288 C +18.56580 883.32888 33.54180 869.57688 37.42980 860.43288 C +37.93380 860.43288 38.43780 860.43288 38.94180 860.43288 C +44.19780 852.51288 44.19780 852.51288 46.06980 851.36088 C +53.05380 838.90488 74.94180 795.41688 72.78180 785.40888 C +70.47780 785.40888 68.96580 786.20088 64.50180 786.20088 C +63.34980 785.04888 63.34980 785.04888 62.98980 781.30488 C +63.56580 781.08888 64.21380 780.80088 64.86180 780.51288 C +64.86180 779.00088 64.06980 778.28088 63.70980 772.95288 C +66.51780 771.65688 67.23780 771.00888 66.73380 767.33688 C +64.50180 765.82488 64.50180 765.82488 62.19780 765.82488 C +@c +F + +%%PageTrailer +@rs +@rs +%%Trailer +@EndSysCorelDict +end +%%DocumentSuppliedResources: procset wCorel8Dict +%%EOF + +%%EndDocument + diff --git a/seminar/templates/seminar/archiv/obalky.tex b/seminar/templates/seminar/archiv/obalky.tex new file mode 100644 index 00000000..7a6795ff --- /dev/null +++ b/seminar/templates/seminar/archiv/obalky.tex @@ -0,0 +1,103 @@ +{% autoescape off %} +{% load staticfiles %} +{% load tex %} +\input czech.sty +\input epsf +\special{landscape} +\nopagenumbers +\hoffset=-1in +\voffset=-1in +\advance\voffset by 0.9cm +%nove pridano, aby to fungovalo... +\advance\hoffset by 6.5cm +\hsize=22cm +\vsize=16cm + +\font\adrfonta=csssbx10 at 14pt +\font\adrfontb=csssbx10 at 12pt +\font\adrfontc=csss12 +\font\tofont=csr12 at 16pt + +\newdimen\fromskip +\newdimen\toskip +\fromskip=4.35cm +\toskip=13.2cm + +\def\first{\relax} + +\catcode`_=13 +%\catcode`_=12 + +\def_{$\_$} + +\advance\voffset by 2.5cm + + +\def\obalka#1#2#3#4#5#6#7{ + +\def\jmeno{#1} +\def\prijm{#2} +\def\skola{#3} +\def\popis{} +\def\first{} +\def\ulice{#4} +\def\PSC{#5} +\def\mesto{#6} +\def\stat{#7} +\vskip-4mm\vbox to 0pt{\hbox to 0pt{\hskip1.4cm\epsfysize=2.55cm\epsfbox{lisak.eps}\hss}\vss} + +\baselineskip=13pt +\parindent=\fromskip +\line{\indent\adrfonta Časopis M\&M,\hfil} +\vskip3pt +\line{\indent\adrfontb OVVP UK MFF\hfil} +\vskip3pt +\line{\indent\adrfontc Ke Karlovu 3, 121 16 Praha 2\hfil} +\line{\indent\adrfontc Tel.: +420 221 911 235\hss} +\line{\indent\adrfontc mam@atrey.karlin.mff.cuni.cz\hfil} + +\vskip6.15cm +\vbox to 0pt{\parindent=1.4cm\hsize=\toskip\advance\hsize by -1cm +\vbox to 60pt{\vfil} \popis\vss} +\parindent=\toskip +\baselineskip=18pt +\line{\indent\tofont\first\hfil} +\line{\indent\tofont\jmeno\ \prijm\hfil} +\ifx \skola \empty +{} +\else +\line{\indent\tofont\skola\hfil} +\fi +\line{\indent\tofont\ulice\hfil} +\line{\tofont\item{\PSC} \mesto\hfil} +\vskip5pt +\line{\indent\tofont\stat\hfil} + +\vfil\eject +} + + +{% for r in resitele %} + {% spaceless %} + {% if r.zasilat == "do_skoly" %} + {% if r.stat == "CZ" %} +\obalka{{r.jmeno|sloz}}{{r.prijmeni|sloz}}{{r.skola.nazev|sloz}}{{r.skola.ulice|sloz}}{{r.skola.psc|sloz}}{{r.skola.mesto|sloz}}{{''|sloz}} + {% else %} +\obalka{{r.jmeno|sloz}}{{r.prijmeni|sloz}}{{r.skola.nazev|sloz}}{{r.skola.ulice|sloz}}{{r.skola.psc|sloz}}{{r.skola.mesto|sloz}}{{r.stat.name|sloz}} + {% endif %} + + {% elif r.zasilat == "domu" %} + {% if r.stat == "CZ" %} +\obalka{{r.jmeno|sloz}}{{r.prijmeni|sloz}}{{''|sloz}}{{r.ulice|sloz}}{{r.psc|sloz}}{{r.mesto|sloz}}{{''|sloz}} + {% else %} +\obalka{{r.jmeno|sloz}}{{r.prijmeni|sloz}}{{''|sloz}}{{r.ulice|sloz}}{{r.psc|sloz}}{{r.mesto|sloz}}{{r.stat.name|sloz}} + {% endif %} + {% else %} +% zasilat: {{r.zasilat}} +%\obalka{{r.jmeno|sloz}}{{r.prijmeni|sloz}}{{''|sloz}}{{r.ulice|sloz}}{{r.psc|sloz}}{{r.mesto|sloz}}{{r.stat.name|sloz}} + {% endif %} + {% endspaceless %} +{% endfor %} +\bye + +{% endautoescape %} diff --git a/seminar/templatetags/tex.py b/seminar/templatetags/tex.py new file mode 100644 index 00000000..90e56013 --- /dev/null +++ b/seminar/templatetags/tex.py @@ -0,0 +1,6 @@ +from django import template +register = template.Library() + +@register.filter(name='sloz') +def sloz(value): + return u"{{{}}}".format(value) diff --git a/seminar/urls.py b/seminar/urls.py index 6beec024..be8c26d5 100644 --- a/seminar/urls.py +++ b/seminar/urls.py @@ -35,4 +35,5 @@ urlpatterns = patterns('', url(r'^aesop-export/mam-sous-(?P[\d-]+)\.csv$', export.ExportSousView.as_view(), name='seminar_export_sous'), url(r'^aesop-export/index.csv$', export.ExportIndexView.as_view(), name='seminar_export_index'), url(r'^cislo/(?P\d+).(?P\d+)/vysledkovka.tex$', views.CisloVysledkovkaView.as_view(), name='seminar_cislo_vysledkovka'), + url(r'^cislo/(?P\d+).(?P\d+)/obalky.pdf$',views.cisloObalkyView, name='seminar_cislo_obalky') ) diff --git a/seminar/views.py b/seminar/views.py index ce698fb4..e6e8363b 100644 --- a/seminar/views.py +++ b/seminar/views.py @@ -2,6 +2,7 @@ from django.shortcuts import get_object_or_404, render from django.http import HttpResponseRedirect +from django.http import HttpResponse from django.core.urlresolvers import reverse from django.views import generic from django.utils.translation import ugettext as _ @@ -13,6 +14,11 @@ from . import utils from datetime import timedelta, date, datetime from itertools import groupby +import tempfile +import subprocess +import shutil +import os +from django.conf import settings def verejna_temata(rocnik): @@ -334,6 +340,45 @@ class RocnikVysledkovkaView(RocnikView): content_type = 'text/plain; charset=UTF8' #vypise na stranku textovy obsah vyTeXane vysledkovky k okopirovani +### Generovani obalek +class CisloObalkyStruct: + resitele = None + rocnik = None + problemy = None + +def cisloObalkyView(request,rocnik,cislo): + letos = CisloObalkyStruct() + loni = CisloObalkyStruct() + + letos.rocnik = Rocnik.objects.filter(rocnik = rocnik) + loni.rocnik = Rocnik.objects.filter(rocnik = int(rocnik)-1) + letos.problemy = Problem.objects.filter(cislo_zadani = Cislo.objects.filter(rocnik=letos.rocnik,cislo__lte = cislo)) + loni.problemy = Problem.objects.filter(cislo_zadani = Cislo.objects.filter(rocnik=loni.rocnik)) + letos.resitele = Resitel.objects.filter(reseni = Reseni.objects.filter(problem=letos.problemy)).distinct() + loni.resitele = Resitel.objects.filter(reseni = Reseni.objects.filter(problem=loni.problemy)).distinct() + + if int(cislo) > 3: + resitele = letos.resitele + else: + resitele = list(letos.resitele) + list(loni.resitele) + return obalkyView(request,resitele) + + +def obalkyView(request,resitele): + tex = render(request,'seminar/archiv/obalky.tex', {'resitele': resitele}).content + + tempdir = tempfile.mkdtemp() + with open(tempdir+"/obalky.tex","w") as texfile: + texfile.write(tex.decode("utf-8").encode("utf-8")) + shutil.copy(os.path.join(settings.STATIC_ROOT, 'seminar/lisak.eps'),tempdir) + subprocess.call(["csplain","obalky.tex"],cwd = tempdir) + subprocess.call(["dvipdf","obalky.dvi"],cwd = tempdir) + + + with open(tempdir+"/obalky.pdf","rb") as pdffile: + response = HttpResponse(pdffile.read(),content_type='application/pdf') + return response + ### Soustredeni From 5ac41bc821f16553126f7f1fbc4e85fbd08293a8 Mon Sep 17 00:00:00 2001 From: "Tomas \"Jethro\" Pokorny" Date: Sun, 15 Nov 2015 15:35:47 +0100 Subject: [PATCH 35/41] Obalky pro ucastniky soustredeni. --- seminar/urls.py | 1 + seminar/views.py | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/seminar/urls.py b/seminar/urls.py index be8c26d5..04f04292 100644 --- a/seminar/urls.py +++ b/seminar/urls.py @@ -18,6 +18,7 @@ urlpatterns = patterns('', name = 'seminar_seznam_soustredeni'), url(r'^soustredeni/probehlo/(?P\d+)/$', views.SoustredeniView.as_view(), name='seminar_soustredeni'), url(r'^soustredeni/(?P\d+)/fotogalerie/', include('galerie.urls')), + url(r'^soustredeni/(?P\d+)/obalky.pdf', views.soustredeniObalkyView,name='seminar_soustredeni_obalky'), url(r'^zadani/aktualni/$', views.AktualniZadaniView, name='seminar_aktualni_zadani'), url(r'^zadani/temata/$', views.ZadaniTemataView, name='seminar_temata'), diff --git a/seminar/views.py b/seminar/views.py index e6e8363b..59941fdf 100644 --- a/seminar/views.py +++ b/seminar/views.py @@ -8,7 +8,7 @@ from django.views import generic from django.utils.translation import ugettext as _ from django.http import Http404 -from .models import Problem, Cislo, Reseni, Nastaveni, Rocnik, Soustredeni, Organizator, Resitel, Novinky +from .models import Problem, Cislo, Reseni, Nastaveni, Rocnik, Soustredeni, Organizator, Resitel, Novinky, Soustredeni_Ucastnici from .models import VysledkyZaCislo, VysledkyKCisluZaRocnik, VysledkyKCisluOdjakziva from . import utils @@ -369,14 +369,15 @@ def obalkyView(request,resitele): tempdir = tempfile.mkdtemp() with open(tempdir+"/obalky.tex","w") as texfile: + # Pokud TeX chce ISO Latin, tak se da encode nastavit texfile.write(tex.decode("utf-8").encode("utf-8")) shutil.copy(os.path.join(settings.STATIC_ROOT, 'seminar/lisak.eps'),tempdir) subprocess.call(["csplain","obalky.tex"],cwd = tempdir) subprocess.call(["dvipdf","obalky.dvi"],cwd = tempdir) - with open(tempdir+"/obalky.pdf","rb") as pdffile: response = HttpResponse(pdffile.read(),content_type='application/pdf') + shutil.rmtree(tempdir) return response @@ -390,6 +391,11 @@ class SoustredeniView(generic.DetailView): model = Soustredeni template_name = 'seminar/archiv/soustredeni.html' +def soustredeniObalkyView(request,soustredeni): + soustredeni = Soustredeni.objects.filter(id = soustredeni)[0] + return obalkyView(request,soustredeni.ucastnici.all()) + + ### Články class ClankyResitelView(generic.ListView): From 358ecaa1e358843d03dc8f1e1ed81489a0a5e357 Mon Sep 17 00:00:00 2001 From: "Bc. Petr Pecha" Date: Sun, 15 Nov 2015 16:14:07 +0100 Subject: [PATCH 36/41] tituly | view --- seminar/templates/seminar/archiv/Tituly.tex | 0 seminar/urls.py | 5 ++++- seminar/views.py | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 seminar/templates/seminar/archiv/Tituly.tex diff --git a/seminar/templates/seminar/archiv/Tituly.tex b/seminar/templates/seminar/archiv/Tituly.tex new file mode 100644 index 00000000..e69de29b diff --git a/seminar/urls.py b/seminar/urls.py index 04f04292..bf5f113e 100644 --- a/seminar/urls.py +++ b/seminar/urls.py @@ -36,5 +36,8 @@ urlpatterns = patterns('', url(r'^aesop-export/mam-sous-(?P[\d-]+)\.csv$', export.ExportSousView.as_view(), name='seminar_export_sous'), url(r'^aesop-export/index.csv$', export.ExportIndexView.as_view(), name='seminar_export_index'), url(r'^cislo/(?P\d+).(?P\d+)/vysledkovka.tex$', views.CisloVysledkovkaView.as_view(), name='seminar_cislo_vysledkovka'), - url(r'^cislo/(?P\d+).(?P\d+)/obalky.pdf$',views.cisloObalkyView, name='seminar_cislo_obalky') + url(r'^cislo/(?P\d+).(?P\d+)/obalky.pdf$',views.cisloObalkyView, name='seminar_cislo_obalky'), + + url(r'^cislo/(?P\d+).(?P\d+)/tituly.tex$', views.TitulyView, + name='seminar_cislo_titul'), ) diff --git a/seminar/views.py b/seminar/views.py index 59941fdf..8a625909 100644 --- a/seminar/views.py +++ b/seminar/views.py @@ -380,6 +380,21 @@ def obalkyView(request,resitele): shutil.rmtree(tempdir) return response +### Tituly + +def TitulyView(request, rocnik, cislo): + resitele = Resitel.objects.all() + for resitel in resitele: + rocnik_obj = Rocnik.objects.filter(rocnik = rocnik) + cislo_obj = Cislo.objects.filter(rocnik = rocnik_obj, cislo = cislo).first() + body = VysledkyKCisluOdjakziva.objects.filter(resitel = resitel, cislo = cislo_obj).first().body + resitel.titul = resitel.get_titul(body) + + return render(request, 'seminar/archiv/Tituly.tex', + {'resitele': resitele, + } + ) + ### Soustredeni From a40488a4c824ff864ffab3525bcab1aab73efe63 Mon Sep 17 00:00:00 2001 From: "Tomas \"Jethro\" Pokorny" Date: Sun, 15 Nov 2015 17:06:50 +0100 Subject: [PATCH 37/41] Dokonceni generovani titulu, bugfixy --- seminar/templates/seminar/archiv/Tituly.tex | 0 seminar/templates/seminar/archiv/tituly.tex | 9 +++++++ seminar/views.py | 27 ++++++++++++--------- 3 files changed, 25 insertions(+), 11 deletions(-) delete mode 100644 seminar/templates/seminar/archiv/Tituly.tex create mode 100644 seminar/templates/seminar/archiv/tituly.tex diff --git a/seminar/templates/seminar/archiv/Tituly.tex b/seminar/templates/seminar/archiv/Tituly.tex deleted file mode 100644 index e69de29b..00000000 diff --git a/seminar/templates/seminar/archiv/tituly.tex b/seminar/templates/seminar/archiv/tituly.tex new file mode 100644 index 00000000..323cf3b5 --- /dev/null +++ b/seminar/templates/seminar/archiv/tituly.tex @@ -0,0 +1,9 @@ +{% autoescape off %} +{% load tex %} + +{% for r in resitele %} + {% spaceless %} +\def\{{r.ascii}}{\titul{{r.titul|sloz}}\relax} + {% endspaceless %} +{% endfor %} +{% endautoescape %} diff --git a/seminar/views.py b/seminar/views.py index 8a625909..47316329 100644 --- a/seminar/views.py +++ b/seminar/views.py @@ -19,7 +19,7 @@ import subprocess import shutil import os from django.conf import settings - +import unicodedata def verejna_temata(rocnik): """Vrací queryset zveřejněných témat v daném ročníku. @@ -350,13 +350,15 @@ def cisloObalkyView(request,rocnik,cislo): letos = CisloObalkyStruct() loni = CisloObalkyStruct() - letos.rocnik = Rocnik.objects.filter(rocnik = rocnik) - loni.rocnik = Rocnik.objects.filter(rocnik = int(rocnik)-1) + letos.rocnik = Rocnik.objects.filter(rocnik = rocnik)[0] + loni.rocnik = Rocnik.objects.filter(rocnik = int(rocnik)-1)[0] letos.problemy = Problem.objects.filter(cislo_zadani = Cislo.objects.filter(rocnik=letos.rocnik,cislo__lte = cislo)) loni.problemy = Problem.objects.filter(cislo_zadani = Cislo.objects.filter(rocnik=loni.rocnik)) letos.resitele = Resitel.objects.filter(reseni = Reseni.objects.filter(problem=letos.problemy)).distinct() loni.resitele = Resitel.objects.filter(reseni = Reseni.objects.filter(problem=loni.problemy)).distinct() + loni.resitele = loni.resitele.filter(rok_maturity__gt = letos.rocnik.prvni_rok) + if int(cislo) > 3: resitele = letos.resitele else: @@ -383,17 +385,20 @@ def obalkyView(request,resitele): ### Tituly def TitulyView(request, rocnik, cislo): - resitele = Resitel.objects.all() + rocnik_obj = Rocnik.objects.filter(rocnik = rocnik).first() + resitele = Resitel.objects.filter(rok_maturity__gte = rocnik_obj.prvni_rok) + cislo_obj = Cislo.objects.filter(rocnik = rocnik_obj, cislo = cislo).first() + for resitel in resitele: - rocnik_obj = Rocnik.objects.filter(rocnik = rocnik) - cislo_obj = Cislo.objects.filter(rocnik = rocnik_obj, cislo = cislo).first() - body = VysledkyKCisluOdjakziva.objects.filter(resitel = resitel, cislo = cislo_obj).first().body + vys = VysledkyKCisluOdjakziva.objects.filter(resitel = resitele, cislo = cislo_obj).first() + if vys == None: + body = 0 + else: + body = vys.body resitel.titul = resitel.get_titul(body) + resitel.ascii = unicodedata.normalize('NFKD',resitel.jmeno+resitel.prijmeni).encode("ascii","ignore").replace(" ","") - return render(request, 'seminar/archiv/Tituly.tex', - {'resitele': resitele, - } - ) + return render(request, 'seminar/archiv/tituly.tex',{'resitele': resitele}) ### Soustredeni From 8b3073a4f66c67aefc63b906ef3e3ef9dec2d2e9 Mon Sep 17 00:00:00 2001 From: "Tomas \"Jethro\" Pokorny" Date: Sun, 15 Nov 2015 17:18:40 +0100 Subject: [PATCH 38/41] Bugfix pro atrey a jeho latin TeX --- seminar/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seminar/views.py b/seminar/views.py index 47316329..1f51048a 100644 --- a/seminar/views.py +++ b/seminar/views.py @@ -372,7 +372,7 @@ def obalkyView(request,resitele): tempdir = tempfile.mkdtemp() with open(tempdir+"/obalky.tex","w") as texfile: # Pokud TeX chce ISO Latin, tak se da encode nastavit - texfile.write(tex.decode("utf-8").encode("utf-8")) + texfile.write(tex.decode("utf-8").encode("iso-8859-2")) shutil.copy(os.path.join(settings.STATIC_ROOT, 'seminar/lisak.eps'),tempdir) subprocess.call(["csplain","obalky.tex"],cwd = tempdir) subprocess.call(["dvipdf","obalky.dvi"],cwd = tempdir) From c83e355efd4d5777a7262dcdea1e0daeb912276c Mon Sep 17 00:00:00 2001 From: "Bc. Petr Pecha" Date: Sun, 15 Nov 2015 22:12:09 +0100 Subject: [PATCH 39/41] tituly | oprava ziskavani titulu --- seminar/views.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/seminar/views.py b/seminar/views.py index 1f51048a..aadca056 100644 --- a/seminar/views.py +++ b/seminar/views.py @@ -384,13 +384,16 @@ def obalkyView(request,resitele): ### Tituly +# TODO udelat neco jako get_objects_or_404 def TitulyView(request, rocnik, cislo): rocnik_obj = Rocnik.objects.filter(rocnik = rocnik).first() resitele = Resitel.objects.filter(rok_maturity__gte = rocnik_obj.prvni_rok) cislo_obj = Cislo.objects.filter(rocnik = rocnik_obj, cislo = cislo).first() for resitel in resitele: - vys = VysledkyKCisluOdjakziva.objects.filter(resitel = resitele, cislo = cislo_obj).first() + rocnik_obj = Rocnik.objects.filter(rocnik = rocnik) + cislo_obj = Cislo.objects.filter(rocnik = rocnik_obj, cislo = cislo).first() + vys = VysledkyKCisluOdjakziva.objects.filter(resitel = resitel, cislo = cislo_obj).first() if vys == None: body = 0 else: From dacb0fa183bcdf7eb057154cea1807c4fa6da133 Mon Sep 17 00:00:00 2001 From: "Tomas \"Jethro\" Pokorny" Date: Sun, 15 Nov 2015 22:21:25 +0100 Subject: [PATCH 40/41] Odstreny nadbytecne operace. --- seminar/views.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/seminar/views.py b/seminar/views.py index aadca056..36002799 100644 --- a/seminar/views.py +++ b/seminar/views.py @@ -391,8 +391,6 @@ def TitulyView(request, rocnik, cislo): cislo_obj = Cislo.objects.filter(rocnik = rocnik_obj, cislo = cislo).first() for resitel in resitele: - rocnik_obj = Rocnik.objects.filter(rocnik = rocnik) - cislo_obj = Cislo.objects.filter(rocnik = rocnik_obj, cislo = cislo).first() vys = VysledkyKCisluOdjakziva.objects.filter(resitel = resitel, cislo = cislo_obj).first() if vys == None: body = 0 From 6dbd80c2a5d036634ac48e897c18bdb5bd6c32a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20Koci=C3=A1n?= Date: Sun, 15 Nov 2015 23:10:58 +0100 Subject: [PATCH 41/41] =?UTF-8?q?Galerie:=20nezobrazuj=20neve=C5=99ejn?= =?UTF-8?q?=C3=A9=20podgalerie=20neorg=C5=AFm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- galerie/templates/galerie/GalerieNahled.html | 34 +++++++++----------- galerie/views.py | 6 ++++ 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/galerie/templates/galerie/GalerieNahled.html b/galerie/templates/galerie/GalerieNahled.html index 49d72e46..1a4656b4 100644 --- a/galerie/templates/galerie/GalerieNahled.html +++ b/galerie/templates/galerie/GalerieNahled.html @@ -42,28 +42,24 @@ Galerie {{galerie.nazev}}
    {% for galerie in podgalerie %} - - {% if galerie.zobrazit < 1 or user.is_staff %} {% if galerie.titulni_obrazek %} - {% with galerie.titulni_obrazek.obrazek_maly as obrazek %} - - {% endwith %} + {% with galerie.titulni_obrazek.obrazek_maly as obrazek %} + + {% endwith %} {% endif %} -
    - {{ galerie }} -
    - -
    - {% if user.is_staff and galerie.zobrazit > 0 %} -
    - ({{galerie.poradi}}) - + - - +
    + {{ galerie }}
    - {% endif %} - {% endif %} + + {% if user.is_staff and galerie.zobrazit > 0 %} +
    + ({{galerie.poradi}}) + + + - +
    + {% endif %} {% endfor %}
    {% endif %} diff --git a/galerie/views.py b/galerie/views.py index 04a574a4..9e23133f 100644 --- a/galerie/views.py +++ b/galerie/views.py @@ -33,13 +33,19 @@ def cesta_od_korene(g): def nahled(request, pk, soustredeni): """Zobrazeni nahledu vsech fotek ve skupine.""" galerie = get_object_or_404(Galerie, pk=pk) + podgalerie = Galerie.objects.filter(galerie_up = galerie).order_by('poradi') + if not request.user.is_staff: + podgalerie = podgalerie.filter(zobrazit__lt=1) + obrazky = Obrazek.objects.filter(galerie = galerie).order_by('datum') preview = zobrazit(galerie, request) sourozenci = [] if galerie.galerie_up: sourozenci = galerie.galerie_up.galerie_set.all().order_by('poradi') + if not request.user.is_staff: + sourozenci = sourozenci.filter(zobrazit__lt=1) predchozi = None nasledujici = None