P B rX XCo FDS S0eiEEGH ʽP)B:F4Fi!CȩCȽC'eCCDi)EП Lq)_AFGHI C D%C E FCD CDFCEH ehи hLtI`G Hk)  H  Y0ʽIG~)HllRR? R* R* RJ R R̭^ST`'LI1 5x 5 7}헩 =. 0ݱJŘ]f iiLj(i i v/ & Q-9~]: ~ ~Y~}$j@  ~0%Fx*ׄ$ҍn%nj*P+j021j67`<=~) e TtNPJL7 )]4۩} 5L*(!+0)+ ~* +BI1ɾH7E*@M*NlOҎ󦖏wRlU^6+ޡ?` 0YYY }X =. Ɂ<콼8@$LM*8 8ʉ8,6h@, qh0h +K@ }0   &%8啐őЅe4~`L(,  j/ [ .P @ 5ɀ* ӥ0C} } `SH O-Pxvn@\;-"Ѧ 9C D%-ݽ~4膞 O!L+!ɀI1ɾ7abj }iL,*)( @ L, %c[L,) # 0] ă:7q ypkb]#iMn}i`Ԣ @) 0`JJ)`}~#}mxԆ'%$ 5 !Lc@/褕+搼A @ᄍeƉƐBɴ5#*Și}ȩƈȟͻBЈA\L8(Aؖ* @ e;<腪=܆>Ї?}&ޢ(!ԩ Ԍ`8 #SL/ *j]9!C~:ƋFr^ L301uu_}}}5~~Bz$ cJi @`8 L/`TC?0\ ȩxߙ~ Ȋ@ _>݋L08 ]}9:˟^Jf@i@` 0,ɩ R0 l0@L?Щ:`4`VtJ# ,=}SL@eN e`5l 4-5@Q`U?^|^ | 3UJ0 "2 P3L( R4X}Y [4Rݻ=$ܗ a4 .7))"'%L6Ɔ؅? 3/^}0҅惥^DZ怨ˁ|`Z@` w2 3 38c$ @|@ @8}_$L4J 0 3(' e L@8eΐe i)ހȂŐ!Ɉ @9/.} 3ƆХh#)i!EA `@ڙA`i(`8ZB6P' `腄@}ȩ 7``iX6i4 U R XY@툩 [4 a4QVP4WQ4L6ZÀTUR }V2/8Ȱid i:|R}z~ ͦ`U$ 5 E. O- 55lʠE=} @.6+Q z.و}4z;7={ ԰%^ g+G40y0 -a [CW0,#2i0WL4!I@}L4L5-`  Ə%ة 5hh 5ҥNX` `pʩ `)_#}`}(1M`LL4 N6ʐzʆ66 6 )2PݪIiݑ$0i2]@@j&HiPॅŚ}I(h(hHh` `?L6 L 6 X Y }`hho J i9)v]:` 3A,@, 7)  7ɀ*V)̀ $P天!}0 7ƆЦ````RL eHeԅh@5i#)Ȑ `Ĉڰ3rwl@#} J@mL8;报y 8雼NjH 8h`Fj , 8) `|p?0B#}A}&),%.!-%%84 H$}_0m-$#q3-'_2A_+:,$"Hȁ !%}ہ-/ U0-3'P2+'$;-##2350?:*8 U%>=(W=|%| !'-3AGMSYagmsy&}9  PGR6CPR686MIC6@P6Diskg error #@0Bad fmat ofile.Picture to'}o highNoneD1:.PowerGFX`(`6CPR686MIC6@P6Diskg error #@0Bad fmat ofile.Picture to5PowerGraphics 1.0 - instrukcja obs ugiNie wiem, czy pisanie tego tekstu majakikolwiek sens, bo na wstpie muszostrzec, )}e programik jest troch trudnyw obs udze. Jeli dla kogo jest zbytskomplikowany, to niech go nie uywaalbo si ze mn sko*}ntaktuje.No a do czego s uy takie cudo?Oglnie rzecz biorc, do tworzeniagrafiki. A tak naprawd to programochrzci em ja+}ko asembler graficzny.Graficzny - wiadomo, ale dlaczegoasembler? Ano dlatego, e w asemblerzemona najwicej osign. Tym,} programemda si zrobi prawie wszystko, na copozwala atarowska grafika.Jak to dzia a?Po uruchomieniu ekran nie wyglda -}zbytzachcajco, no ale c...Na dole ekranu jest troch tekstu,szczeglnie naley zwrci uwag nanapis 'LOAD'. Nie to, .}eby by takipikny, ale poniewa oznacza, e abycokolwiek zrobi, trzeba co wczyta.Tym programem nie mona nic narysowa/}!Naley mie wczeniej przygotowanyrysunek w jednym z nastpujcychformatw:*.CPR - "Trzmiel" skompresowany*.GR8 - "Trz0}miel" nieskompresowany*.PIC - "Koala"/"XL-Art"*.MIC - "Microillustrator"/"Kleks"*.PGR - "PowerGraphics"Format jest utosa1}miany z odpowiadajcymmu rozszerzeniem nazwy. Jeeli tak niejest, to zostanie wywietlony odpowiednikomunikat. Tak wic pa2}kujemy dyskietkdo stacji 1, wpisujemy nazw i spacjwybieramy format.Jeeli odczyt przebieg bezb dnie,to znowu zobaczy3}my czarny ekran.W rogu powinien znajdowa si napis'LINK' oznaczajcy, e moemy do juwczytanego rysunku do czy drugi.4}Po co to wszystko? Ano dlatego, eniemal wszystkie programy graficznemaj rozdzielczo pionow 192 linie.Jest to pewne ma5}rnotrawstwo, poniewaatarka bez problemu wywietla 239 linii.Aby je wykorzysta, naley narysowadwa rysunki: jeden przeds6}tawiajcygrn cz obrazka, drugi doln.Najwygodniej, aby obrazki czciowopokrywa y si. Nie stanowi to problemu,ponie7}wa PowerGFX automatycznie wykrywa,w ktrym miejscu obrazki nachodz nasiebie i prawid owo je skleja. Naleytylko pamita8}, aby obrazki by yw tym samym formacie oraz abyna pierwszym obrazku wykorzystana by aostatnia linia, a na drugim pierwsza.9}Nie wykorzystane fragmenty rysunkupowinny pozosta puste (w kolorze t a!).Jeeli obrazki nie zachodz na siebie,to zostan:} umieszczone jeden pod drugim.Oczywicie nie ma przymusu, abydo cza drugi rysunek, wyborudokonujemy spacj. 'None'-'ad;}en'oznacza, e wystarczy nam ju wczytanyrysunek. W drugim przypadku naleywpisa nazw pliku (uwaga! w celuwymazania sta<}rej uywamy BackSpace).Jeeli po z czeniu oba obrazki bdazajmowa wicej ni 239 linii, topokae si komunikat 'Picture =}too high'.A i jeszcze jedno! Jeeli wybralimyformat PGR, to nie bdzie 'LINK'a, leczod razu przejdziemy do edycji.Jeli>} szczliwie przebrnlimy przezproces wczytywania, to naszym oczompowinien ukaza si nasz obrazekna ekranie edycyjnym ('?}EDIT').Niby nic si nie sta o, a jednakpo wczytaniu program wykona parczynnoci nad obrazkiem. Jak juwczeniej wspomni@}a em, o ile wczytalimydwa obrazki, to zosta y sklejone.Nastpne zosta y obcite puste linii,to znaczy te, ktre nie zawieA}rajadnej grafiki. Ponadto jeli to by omoliwe, to zosta zwony ekran(32 zamiast 40 bajtw w linii).Obrazek zosta auB}tomatyczniewyporodkowany w pionie.Majc wczytany rysunek moemy przystpido jego obrbki. Zasadniczo pracujemyw jednymC} z dwch trybw: EDIT oraz INIT,midzy ktrymi przechodzimy przy pomocyklawisza RETURN. Wciskajc spacjmoemy obejrze osD}tateczny efekt naszejpracy. CTRL-L umoliwia wczytanieinnego rysunku. CTRL-S powodujeprzejcie do opcji SAVE, w ktrejwysE}tarczy wpisa nazw, aby ca y rysunekzosta zapisany w formacie PGR.ESC umoliwia rezygnacj z LOAD/SAVE,w pozosta ych sytF}uacjach powodujepowrt do DOSa.Najpierw omwimy opcj INIT, do ktrej,jak ju napisa em, wchodzimy RETURNem.Jest to edycG}ja tabeli inicjacji.Co to jest, spytasz pewnie? Aby ci towyt umaczy, musz ci wyjani, jakw ogle dzia a ten program. JeH}lijeste koderem, to nie powinno by todla ciebie zbyt skomplikowane.Gdyby kto nie wiedzia , to obrazna ekranie nie jeI}st wywietlany ca yw jednej chwili, lecz jest tworzonylinijka po linijce, a kada liniaod prawej do lewej. Obraz jest tworJ}zonyprzez uk ady ANTIC i GTIA na podstawiezawartoci pamici oraz rejestrwsprztowych. W pamici s dane okszta cie rysuK}nku, duszkw itp.,a w rejestrach kody kolorw, pozycjiduszkw i takie tam. Wystarczy wicwpisa co trzeba tam gdzie trzebaL} iobraz zostanie wywietlony. Zgoda, aletym sposobem atarowska grafika by abyzwykle czterokolorowa w rozdzielczoci160*19M}2. A jak to wyglda, to chyba niemusz kademu przypomina (chociaczasami trafi si ciekawy rysunek...).Co robi? Aby uzyN}ska wicej kolorw iduszkw naley zatrudni procesor.Wystarczy zmienia zawartoodpowiednich rejestrw w czasie,gdy jeO}st wywietlany obraz.Po tym nieco d ugim i moe niepotrzebnymwstpie czas na konkrety: jak juwspomnia em obraz tworz ANP}TIC i GTIA.Ten pierwszy pobiera dane z pamicii przesy a je do GTIA. Jego pracsteruje g wnie program zapisany wpamici,Q} znany jako DL. Jest take kilkamniej lub bardziej wanych rejestrw.Dla nas istotny jest tylko jeden:DMACTL. Aby nieco upR}roci prac,skrci em jego nazw do 'DC', podobneskrty maj pozosta e rejestry, nalecedo uk adu GTIA. Trzeba tylko wpiS}sa donich odpowiednie wartoci. A jakie?Takie, jakie umiecimy w tabeli 'INIT'.Teraz wyjani, co oznaczaj dziwneznaczkT}i w tabeli. Jest tam zapisane,jaka warto ma si znale  w kadymz rejestrw. Np. zapis 32DC oznacza,e do rejestru DC zU}ostanie zapisanaliczba $32 szesnastkowo. Jedna z liczbjest wyrniona kursorem, ktryprzesuwamy strza kami, ale tylko nabV}oki! Przejcie do innego wiersza osigasi przez wyjechanie za koniec wiersza,w ktrym jestemy. Troch to niewygodne,ale W}mona si przyzwyczai. Strza ki"gry" i "d " s u do zmniejszanialub zwikszania o jeden. Mona tezwyczajnie wpisa liX}czb (dwie cyfryhex.). Tutaj pewna uwaga odnonierejestru DC. Jego starsza (lewa) cyfrajest na sta e rwna 3. Po prostu niY}e mapotrzeby jej zmieniania. Drugiej cyfryte nie moemy ustawi dowolnie. Rwnazero oznacza wy czenie obrazu.Warto 1 Z}oznacza obraz wski,2 - szeroki. Szeroko jest automatycz-nie ustawiana przez program po wczytaniurysunku. Jeli do tej l[}iczby dodamy 4,to oznacza to w czenie przepisywaniapociskw z pamici, 8 odnosi si dograczy. Mam nadziej, e wszyscy wi\}edz,co to gracze i pociski, bo to nie jesttemat na ten artyku . Dla przyk adu:3EDC oznacza w czony szeroki obraz,przep]}isywanie graczy i pociskw($E=2+4+8). Pozostaje omwi pozosta erejestry:P0 - pozycja pozioma gracza 0.Uwaga! Mona j us^}tawi w ten sposb, eduszek bdzie widoczny na ekranie tylkoczciowo, albo w ogle!P1,P2,P3 - jw. dla pozosta ych graczy_}M0,M1,M2,M3 - jw. dla pociskwS0,S1,S2,S3 - szeroko/rozmiar graczy:00 - normalna (tak jak GR.15)01 - podwjna (jak GR.9`})03 - poczwrnaSM - szeroko pociskw. Za kady pociskodpowiedzialne s dwa bity. Koderzywiedz, o co chodzi, pozosta yma}proponuj ponisz metod:SM = szeroko pocisku 0 + 4*sz.p.1 + $10*sz.p.2 + $40*sz.p.3gdzie kada szeroko jest ustb}alana tak,jak dla graczy (czyli 0, 1 lub 3)G0,G1,G2,G3 - rejestry grafiki graczyJeli w czy e przepisywanie duszkww DCc}, to zawarto Gx nie jest wana,w przeciwnym wypadku okrelaj kszta tduszka. Duszek ma szeroko 8 pixli,kademu pixlowid} odpowiada 1 bit.Znowu nie bd si wdawa w szczeg owewyjanianie, jeli dla kogo jest totrudne, to niech si poradzi oe}sobyznajcej si na tym.GM - rejestr grafiki pociskw.Pociski maj szeroko 2 pixle,bity 0 i 1 odpowiadaj pociskowi 0,f}2 i 3 - 1 itd.R0,R1,R2,R3 - kolory duszkw.GC - rejestr kontroli uk adu GTIA.Lewa cyfra okrela w czenie dodatkowychtrybg}w graficznych: 4-"GR.9" 8-"GR.10"C-"GR.11". Dodanie do niej 2 powoduje,e w miejscu, gdzie pokrywaj siduszki 0 i 1 orazh} 2 i 3 kolor czciwsplnej bdzie rwny wartoci OR ichkolorw. Moemy doda te 1, co spowodu-je, e pociski bd mia y i}wsplny kolorokrelony w K3 (normalnie pocisk 0 makolor taki, jak gracz 0 itd.).Prawa cyfra okrela priorytet duszkw,czyj}li to, czy duszki maj przykrywagrafik, czy na odwrt. Mona j dobradowiadczalnie albo zerkn do odpowied-niej literk}atury.K0,K1,K2 - kolory grafiki.W rozdzielczoci "semce" K2 oznaczakolor t a, a K1 jasno atramentu,K0 jest nieuywany.l} W "pitnastce"wszystkie trzy s odpowiedzialne zaodpowiednie fragmenty rysunku.K3 - jego rola zosta a omwiona przy GCK4m} - kolor ramki/t aTo wszystko, co moemy zmieni w 'INIT'.Efekty mona od razu zaobserwowa naekranie.Teraz 'EDIT'. Tutan}j wpisujemy, jakierejestry zmieni w poszczeglnychliniach. Odpowiedni lini wybieramynaciskajc SHIFT oraz strza ki "gro}a""d ". Po wciniciu SHIFT zostanie"ucita" cz rysunku poniej linii,w ktrej jestemy. Tak wic moemyzobaczy, jakp} wyglda linia, nad ktrpracujemy. CTRL  lub  pozwala naprzeniesienie do pierwszej/ostatniejlinii (jest ich 240, ostatnq}ia ma numer239=$EF). Pewna niedogodno - przyskrolowaniu rysunku obraz troch"mruga". Numer linii jest widoczny po'L='. r}Obok tego widnieje napis 'D=',ktry oznacza, jaki rozkaz DL dotyczytej linii. Dalej mamy 'B=', po ktrymjest dwjkowy zapis}s liczby, na ktrejstoi kursor. Poniej widnieje napisw stylu '00A0 00A1 ... 00AM'.Oznacza on, jakie wartoci dotyczcet}duszkw w tej linii znajduj si wpamici. Pamitaj, e jeli niew czy e przepisywania duszkw, to teliczby nie bd miu}a y adnego znaczenia.Jeli jednak je w czy e, to wtedy rolaAx jest taka, jak Gx z tym, e odnosisi tylko do jednej linv}ii. Kursoremporuszamy w sposb identyczny, jak w'INIT', rwnie tak samo wpisujemyliczby. Jeeli zejdziemy do wierszateksw}tu poniej, ktry na razie jestpusty, to okae si, e tam te moemywpisywa liczby (i nie tylko). Jest toobszar, w ktryx}m wklepujemy PROGRAM wdo specyficznym jzyku, ktry jestbardzo podobny do asemblera. Wana jestwic znajomo podstaw asy}emblera.Koderzy mog pomin nastpny akapit.W procesorze jest kilka rejestrw,w ktrych mona umieszcza liczby.Nas bdz}zie interesowa tylkonajwaniejszy, czyli tzw. akumulator.Aby wpisa liczb do jakiego rejestru,to naley j najpierw "za{} adowa" doakumulatora i dopiero std zapisa jdo rejestru, przy czym raz za adowanliczb mona wpisa po kolei do kilku|}rejestrw. Instrukcja odpowiedzialnaza za adowanie liczby do akumulatorawyglda tak: LDA #liczba, np. LDA #$3EInstrukcja}} powodujca zapisanie akumula-tora brzmi tak: STA gdzie, np. STA $d400Poznamy jeszcze jedn bardzo ciekawinstrukcj: NOP~}Ta instrukcja po prostu nic nie robi(!).Wbrew pozorom nie jest to bezsensowne,gdy "wykonanie" tej instrukcji zabieraproc}esorowi troch czasu. Otnalea oby powiedzie, e wykonanieinnych instrukcji te zajmuje trochczasu. Czas jest mierzony} w cyklach.LDA # trwa 2 cykle, STA - 4 cykle,NOP - 2 cykle. To by by o na tylewyk adu o asemblerze.Jak wic napisa ten }program?Pos ugujemy si trzema typamiinstrukcji, dla przyk adu:00 : tak, tak, te dwa zera to jestinstrukcja. Powoduje ona} wpisanie liczbyzero do akumulatora. Jest to po prostuLDA #$00. Moemy poda dowoln,jednobajtow liczb szesnastkow.P0} : a ta instrukcja powoduje zapisaniezawartoci akumulatora do rejestru P0.Odpowiada to instrukcji STA. Nie mapotrzeby wpi}sywania strza ki, naleywpisa pierwsz liter, a potem drug(ewentualnie cyfr).-- : instrukcja NOP, uzyskujemy jprzez }wcinicie CLEAR.Oprcz wpisywania komend mamy pewne(prymitywne) opcje edycyjne:INSERT - dzia a jak CTRL-INSERTw edytorz}e systemowymDELETE - jak standardowy CTRL-DELETESHIFT-INSERT - skopiwanie zapisu w tejlinii do linii poniej z jednoczesny}mprzejciem do tej linii/ - zmiana LDA/STA, w aciwie tonieprzydatna.Poprawiania dokonujemy najedajcw odpowiednie mie}jsce i wpisujc nowinstrukcj. Warto zauway, e czastrwania instrukcji jest proporcjonalnydo tego, ile znakw ona zajmu}je('xx' - 2 cykle, 'xx ' - 4, '--' - 2).W kadej linii mamy pewn ilo czasu,ktra ogranicza ilo instrukcji, jakiemo}emy wpisa. Trzeba te pamita,e jeli zmienimy kolor w po owiewywietlania linii, to kolor zmieni siw rodku linii. Te}n sam kolor mona wiczmienia kilkukrotnie uzyskujac wicejni 4 kolory w linii, nie mwic juo tym, e w kadej linii m}oemy ustawiinne kolory. Moliwa jest take zmianarozdzielczoci w rodku linii,dwukrotne wywietlenie tego samegoduszka} itp. Efektw moliwych douzyskanie jest naprawd sporo, chociawymagaj one pewnego nak adu pracy.To by by o na tyle o o}bs udze tegoskromnego programiku. Jeli maszz nim jakie problemy, chcesz co wicejwiedzie, to skontaktuj si ze mn.Zr}b to take, jeli uda o ci sicokolwiek zmajstrowa przy pomocy PG.Nie bd wicej pisa , bo ten teksti tak jest za d ugi}.Program powsta w styczniu 1996.Program i instrukcj napisa Fox01/03/96 18:11Adres: P}iotr Fusik / Fox ul. Cicha 9 05-300 Misk Mazowieckinapisa Fox01/03/96 18:11Adres: P:UHPowerGFXOO}O}A}}}}@2}}}}}}eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx#Eg}ܺvT2#EgܺvT2#EgEgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#EgeC!4Vx˩}eC!4Vx˩eC!4VxT2#EgܺvT2#EgܺvT2#EgEgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2}#EgܺvT2#Eg!4Vx˩eC!4Vx˩eC!4VxvT2#EgܺvT2#EgܺvT2#EgEgܺvT2#Egܺ}vT2#EgܺvT2#EgܺvT2#EgܺvT2#Eg4Vx˩eC!4Vx˩eC!4Vx˩ܺvT2#EgܺvT2#Eg}ܺvT2#EgVx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4VxgܺvT2#EgܺvT2#Eg}ܺv˩eC!4Vx˩eC!4Vx˩eC!gܺvT2#EgܺvT2#EgܺvvT2#EgܺvT2#EgܺvT2#Eg}͉ܺvT2#EgܺvT2#EgܺvTܺvT2#EgܺvT2#EgܺvTܺvT2#EgܺvT2#EgܺvTeC!}4Vx˩eC!4Vx˩eC!4VxޫܺvT2#EgܺvT2#EgܺvT24Vx˩eC!4Vx˩eC!4Vx˩˩eC}!4Vx˩eC!4Vx˩eC!T2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2C!4Vx˩}eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!C!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx}eC!4Vx˩eC!eC!4Vx˩eC!4Vx˩eC!4VxܺvT2#EgܺvT2#EgܺvT2#EC!4Vx˩eC!4Vx}˩eC!4VxܺvT2#EgܺvT2#EgܺvT2#˩eC!4Vx˩eC!4Vx˩eC!4VxvT2#EgܺvT2#Eg}ܺvT2#Eg2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#ܺvT2#EgܺvT2#Egܺ}vT2#vT2#EgܺvT2#EgܺvT2#Eg2#EgܺvT2#EgܺvT2#Eg˩eC!4Vx˩eC!4Vx˩eC!}˩eC!4Vx˩eC!4Vx˩eC!!4Vx˩eC!4Vx˩eC!4VxC!4Vx˩eC!4Vx˩eC!4Vx}vT2#EgܺvT2#EgܺvT2ܺvT2#EgܺvT2#EgܺvTT2#Eg4Vx˩eC!4Vx˩eC!4Vx˩C}!4Vx˩eC!4Vx˩eC!4VxܺvT2#EgܺvT2#EgܺvT2gܺvT2#EgܺvT2#Egܺv}vT2#EgܺvT2#EgܺvTT2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvTVx˩e}C!4Vx˩eC!4Vx˩ܺvT2#EgܺvT2#EgܺvT2eC!4Vx˩eC!4Vx˩eC!4VxgܺvT2#Eg}ܺvT2#EgܺvVx˩eC!4Vx˩eC!4Vx˩ܺvT2#EgܺvT2#EgܺvT2#EeC!4Vx˩eC!4}Vx˩eC!4VxVx˩eC!4Vx˩eC!4Vx˩Vx˩eC!4Vx˩eC!4Vx˩˩eC!4Vx˩eC!4Vx}˩eC!4VxeC!4Vx˩eC!4Vx˩eC!4Vx#EgܺvT2#EgܺvT2#EgܺgܺvT2#EgܺvT2#Eg}ܺvvT2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#Eg#EgܺvT2#EgܺvT2#Eg}܉ܺvT2#EgܺvT2#EgܺvTvT2#EgܺvT2#EgܺvT2#Eg˩eC!4Vx˩eC!4Vx˩eC!4!}4Vx˩eC!4Vx˩eC!4VxܺvT2#EgܺvT2#EgܺvT2T2#EgܺvT2#EgܺvT2#Eg˩}eC!4Vx˩eC!4Vx˩eC!C!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!C!4Vx}˩eC!4Vx˩eC!4VxܺvT2#EgܺvT2#EgܺvT2C!4Vx˩eC!4Vx˩eC!4VxܺvT2#Eg}ܺvT2#EgܺvT2#EC!4Vx˩eC!4Vx˩eC!4Vxx˩eC!4Vx˩eC!4Vx˩eT2#EgܺvT2#Eg}ܺvT2#EgﺘvT2#EgܺvT2#EgܺvT2#EgT2#EgܺvT2#EgܺvT2#EgVx˩eC!4Vx˩e}C!4Vx˩T2#EgܺvT2#EgܺvT2#EgeC!4Vx˩eC!4Vx˩eC!4VxvT2#EgܺvT2#Egܺv}T2#Eg4Vx˩eC!4Vx˩eC!4Vx˩T2#EgܺvT2#EgܺvT2#EgC!4Vx˩eC!4Vx˩eC!4Vx}vT2#EgܺvT2#EgܺvT2#Eg4Vx˩eC!4Vx˩eC!4VxT2#EgܺvT2#EgܺvT2#Eg}4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx#EgܺvT2#EgܺvT2#EgC!4Vx}˩eC!4Vx˩eC!4VxEgܺvT2#EgܺvT2#Egܺ˩eC!4Vx˩eC!4Vx˩eC!4!4Vx}eC!4Vx˩eC!4Vx!4Vx˩eC!4Vx˩eC!4Vxx˩eC!4Vx˩eC!4Vx˩e˩eC!4Vx}˩eC!4Vx˩eC!#EgܺvT2#EgܺvT2#Eg!4Vx˩eC!4Vx˩eC!4VxܺvT2#Egܺ}vT2#EgܺvT2gܺvT2#EgܺvT2#Egܺv#EgܺvT2#EgܺvT2#Eg4Vx˩eC!4Vx˩}eC!4VxܺvT2#EgܺvT2#EgܺvT24Vx˩eC!4Vx˩eC!4Vx#EgܺvT2#EgܺvT2#}Egܺ#EgܺvT2#EgܺvT2#EgܺܺvT2#EgܺvT2#EgܺvT2#T2#EgܺvT2#EgܺvT2#Eg}EgܺvT2#EgܺvT2#Egܺ4Vx˩eC!4Vx˩eC!4Vx˩ܺvT2#EgܺvT2#EgܺvT2#E}vT2#EgܺvT2#EgܺvT2#Egx˩eC!4Vx˩eC!4Vx˩eEgܺvT2#EgܺvT2#EgܺܺvT}2#EgܺvT2#EgܺvT2#E˩eC!4Vx˩eC!4Vx˩eC!4V˩eC!4Vx˩eC!4Vx˩eC!Vx˩e}C!4Vx˩eC!4Vx˩˩eC!4Vx˩eC!4Vx˩eC!4VܺvT2#EgܺvT2#EgܺvT2˩eC!4Vx}˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩˩eC!4Vx˩eC!4Vx˩eC!4VܺvT2#Eg}vT2#EgܺvT˩eC!4Vx˩eC!4Vx˩eC!4VxVx˩eC!4Vx˩eC!4Vx˩˩eC!4Vx˩eC!4Vx}˩eC!4VVx˩eC!4Vx˩eC!4Vx˩vT2#EgܺvT2#EgܺvT2#EgEgܺvT2#EgܺvT2#E}gܺܺvT2#EgܺvT2#EgܺvT2#E#EgܺvT2#EgܺvT2#Egܺ!4Vx˩eC!4Vx˩eC!4Vx}#EgܺvT2#EgܺvT2#Egܺ˩eC!4Vx˩eC!4Vx˩eC!4#EgܺvT2#EgܺvT2#EgE}gܺvT2#EgܺvT2#EgܺeC!4Vx˩e#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#Eg}ܺvT2#2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2C!4Vx˩eC!4Vx˩eC!4V}x˩eC!4Vx˩eC!4Vx˩eC!T2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#}eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!eC!4Vx˩eC!4Vx˩eC!4Vx˩eC}!4Vx˩eC!4Vx˩eC!4VxvT2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2T2#Eg}ܺvT2#EgܺvT2#EgeC!4Vx˩eC!4Vx˩eC!4VxܺvT2#EgܺvT2#EgܺvT2#Eg˩eC!4Vx}˩eC!4Vx˩eC!T2#EgܺvT2#EgܺvT2#EgC!4Vx˩eC!4Vx˩eC!4VxܺvT2#Egܺ}vT2#EgܺvT2#˩eC!4Vx˩eC!4Vx˩eC!2#EgܺvT2#EgܺvT2#Eg!4Vx˩eC!4Vx}˩eC!4Vx횼˩eC!4Vx˩eC!4Vx˩eC˩eC!4Vx˩eC!4Vx˩eC!!4Vx˩eC!4Vx˩eC}!4Vx#EgܺvT2#EgܺvT2#EgܺVx˩eC!4Vx˩eC!4Vx˩ܺvT2#EgܺvT2#Egܺ}vT24Vx˩eC!4Vx˩eC!4Vx4Vx˩eC!4Vx˩eC!4Vx˩#EgܺvT2#EgܺvT2#Eg}ܺvT2#EgܺvT2#EgܺvT2#4Vx˩eC!4Vx˩eC!4Vx˩EgܺvT2#EgܺvT2#EgܺT2#E}gܺvT2#EgܺvT2#Eg˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩Egܺ}vT2#EgܺvT2#EgܺeC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4V}x˩eC!4Vx˩e4Vx˩eC!4Vx˩eC!4Vx˩˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC}!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC4Vx˩eC!4Vx˩eC!4VxܺvT2#EgܺvT2#E}gܺvT2#EvT2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2!4Vx˩eC!4Vx˩eC}!4Vx˩eC!4Vx˩eC!4Vx˩eC!4vT2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#Egܺ}vT2C!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!4Vx˩eC!C!4Vx˩eC!4Vx˩eC!4Vx}˩eC!4Vx˩eC!4Vx˩eC!vT2#EgܺvT2#EgܺvT2#Eg˩eC!4Vx˩eC!4Vx˩eC!!4Vx}˩eC!4Vx˩eC!4VxܺvT2#EgܺvT2#EgܺvT2#vT2#EgܺvT2#EgܺvT2#Eg˩eC!}4Vx˩eC!4Vx˩eC!#EgܺvT2#EgܺvT2#EgܺܺvT2#EgܺvT2#EgܺvT2#˩eC!4Vx}˩eC!4Vx˩eC!4VܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#Egܺ˩eC!4Vx˩}eC!4Vx˩eC!˩eC!4Vx˩eC!4Vx˩eC!ܺvT2#EgܺvT2#EgܺvT2#EgܺvT2#Egܺv}T2#Egܺv˩eC!4Vx˩eC!4Vx˩eC!ܺvT2#EgܺvT2#EgܺvT2ܺvT2#EgܺvT2#Eg}ܺvT2#EgܺvT2#EgܺvT2#EgܺvTܺvT2#EgܺvT2#EgܺvT2gܺvT2#EgܺvT2#Eg}ܺvvT2#EgܺvT2#EgܺvT2#Eg˩eC!4Vx˩eC!4Vx˩eC˩eC!4Vx˩eC!4Vx˩eC!}#EgܺvT2#EgܺvT2#EgܺT2#EgܺvT2#EgܺvT2#Egp`}P@0 }p`P@0 dPowerGFXO }OA } } } } }@1 } } } } } }wA !3!"Cxwwx@12 "$2gxwx0!#3B! }$Chxwx !#2!#3Wwwwx "$"!#3Fwwvx #!!!1!#7wwwwx !! "3"" }"&wwwwx""#!!"!!"&wxwffwvB"2##"1"!""5wffffUC"C!#"A!!!"4xwxwwwveC3!!!! }A!"!"ChwwgwwwvTC2""1A"!!3HwwwvvvwveD3""1A2"!"7wwwxxve32!3432!"2!"3$""%wfwgwS3!"332 }3!"3"34wwxxwwwd3334D2$2$2!!T4WwxvdB""#3DB$2#"#!!U$WwwfwxvC""#3D! $C2!"TDWwwxT"2# }422!""""3DGwxd"3"422"!""#"3EWwxwwBE3"""43!3EGwwBVS2"2""!""EGww }RVS2!!!"!!FGwxcEC"#"2!5GwdED1 #3!"$GwdDDB""$"$Gwx }e4DQ"!#"#!!"hwU4EQ"2#!2"gwgd2#D@3!""!2"$gwgS33D@!3""""!"B!CVww }wwvveC4340!""""13DEwfvwvffeC#3!#3"!"#GSwVffeUTDC33!!4"!!$HtwVffUC"#"4121"Gug }DEUUB"33D12A!FvwDDDD2"$4D1! 3A"FuwfdTD2""33!33""22"""!"FewxtDD3"#4C"32!"!!3B""!Fu }wDC2!3C#22"2334DC#!&dwTD3!#C3!"!"2#3$4D$!&dwdDD0$C3 ##!2#344C#6Uwfe0$DC#!"!4CDTC }$VwAD3$3!""!#C2CC0#gq"$D2!#!""1#2#B #gw D3!#D2"!#1!"3!gwDC"4EB""!"!! }3!"fwTD3DDB"1""!!fwxD3EUeS1"#1!WwD3DUeS!!!#11Vw$TDEEUC!2 }2DGw$TDVfeT!2"2D6w4TDUeUD!#" !T6w35eEffUC!30!"C&w3DUUfhfT! }3!#2D%wDFvVfheT2""$1D%wDVhvheT"!"2"#2CwDFwxe2#34#5B4gDWxwfD }2"#3$B3%gEWuD2##33#21$WDGvUB"CC3B14WwxUXxeTB#2#31TWDWvh }vUB2"!D6xDXgvUC230D7wUhguTB!2!F&wxDhgeC" &7wDx }ffS!!!&WwVfxvUC!!!%WwExvffC! fwFwdfvS!@#gx }VvbFweD!0 $2GwVfCWvT! $17wVeDGwd!$BwguVfT1Twx }xgdXvT1DwxwXvTATwwvieT1C'xxvuhwe10& }wwxve2DwwveA!FwxvxeA!"5FwxxveB2! }$gwxxvgvUA"" !gwwxeTDheA"""gwwvTDWveA"gwweUTGvT1 }"fwwTDeGeA vwwxdFVWvT!#ggxSFwxvT gwxxSVhwT! }"#VgwxRxhvfT!UwwxTwxvS#VvwwTfehwT!DWwwUfUweB }CggwwxDUEwvB"CfgwTDExvC" !DffgxeDFxwvT2"1FfwwxxT3Fxwd2" } DffwwxuDWxfT23115VfwxxUhvC23225VwwxxtFxvT33!$VfvxWe }C3DB4Vgwwgd3#422FfwwxWuC3D117fwwxgT34DCBggwwxg }C33DC""2gggwxVxvDCDEC"!$gfwwxxgxdC3DEC "#Vfwwxgxd324ED !fgwww }fwvTCDDUD UfgwwvffC33DUT VfvwwfeC3DDUD VffwweTC44DeD1ffgvx }TD2##DfUAVffwwxDDC34DUD1FfgwwxDFCCDEUT2!fffww3##FUUBff }gwwxC44FUD1"ffgwwC3DFeT24fffwwwR"3FfUB&fffwgwxS4DVfTBf }fgwwSDDVfTB &ffffwwc34VfeDFfffgwwwt3DffTCFfffgwwxxc34ffeT! }&ffffgwxs#4UfeTfffgwwwwsDDffUCffffgwws3EVgfT Vfffgww3EfffT } V } zPowerGFXOO}OA}} }!}"}@2#}$}%}&}'}(}#"!!"34C4A"""""!E"vQ"""34C31""32"!E1)}3333332""33C31""33"!%C3333334 "!3331"#332""""""""# ""333!"#4C2""""""*}"#2""333!"3DD3"xq""""""#6"!#3C!"4ETC"d1""""""33D!"!"#3C!#4UUC"s!""""""334P+}"""#3C"#EVeC"!2!""""""324P"""3C"#EffT2!"""""""#32#S""!43"#FwvT2!-""""""3"3I"",}!42"4Vd2!E2""""""3"33D"!"$B"4We2!s2"!"""""3"338"!"#2"4huB!R!"!"""""2"325"!"2"-}5iʅC!"!""""""""324@"!""2"5zC! u!""""""""#"3x"!""2"EC!C!""""""""#"3CR!""2#F.}C!E2!"T""#"33F!""B#FC!S"!""#23"E!"#2#GC!2"!"#23"5"#1#FS!/}!"!"""#"3#4q""#1#GS!!"!"!"3"3#4Q!#!#WS!%"D ""3#3C!"1#WS!d!0}"#33E!"!#XS!2"#33D!"!#XS!23336A"!!#XS!!"1}3334@"!#XS!!"!33#4Q!#XC!E#3#3c!#WC!C2}3#3C"!#WC!23#3G2!#WC!!3#3612!#GC!!3}!2#34B"!#FC!!2#33"!#FB!!"333T!!#Fu2!3334}D!!#Ed2!%UUUUP333D"!#E{̹d2333331!3333!":iT2332""#!3332!"5}4hT""""""# !"332"4WuC"" !332"TVweC"w"4i!"333EfTC6}!t"46"333!EUT2!2"340""333!DUD2!6"""#p!333!4DC2!7}"3"#@!"32B3D3"13!#C!"32"333" @#!#G!32"#32"8} ""#5"32""3"!"24`""32"""!!0$"3#P!22"""C"9}"""3#Q "2""!$d"Q""2#V31"8"0"!"2#D3Al! :}"!""53q!!""503ߵ!!""$03sA!1;}!"#a3 F(!a "!"#S!3 9s!0"!"#D" 3 HS<}"""7" 30GB"2"5 " #1AFu2""2"$@"1AET1a"2"#=}!"14C!A""#B"24C! ""#5"2#2"228"3>}""""25"3"!1"2$p3!a"#23p3 !?}!`""23@30!F!P""#3@31v""@"#3@32s@}""@"#3@33B"""0X0"##@33!"#4 p"#3@"33"#3:A}""30"32 233""2 " 321#35Q ""21"313C7B} ""22"#35CQ #2433V3!@#"3330E2C}""3"33C 2"j1"#3"33G35nc! "#3"33F36B>D}"#3@33E3GB"#3@33E3M1"0"#3@33F3ne!"""#E}3@33E!3D""""#3@33F"$a""" ""3`33E"!!6dQ"""N2"3pF}33F""36F!""""""3p33D""2D5""""""3`33D""3CS""""""3@33F"G}"#CQ"""""""3@33E""#41"""""""3@33D""34""""""""3033F""3C"H}""""""3033F""3C""""""""3033F""3B""""""2"3033F"#D"""""""I}2"3033F"#D""""""2"3033H"#C""""""2"3@33H"$B"""""""J}""3@336"3B"""""""""3@337"C1"""""""""3@337#42"""""""K}""3@337$D"""""""""3@33644""""""""3@33543"""""""OL}3@3373C"""""""">3@3353B"""""""#)03@3374B"""""""3%M}3@335!C1""""""#33#`334C1""""""33#@34D""""""#33o0N}#3#4""""""#33O 2#4"""""333;@ 1#3"""""333( 1#3O}""""#333&!#3""""#3343B"""""333D3A"""""P}334D#A""""#33DDMP 31""""#34DE* 131""""#34DUQ}Q(#`31$3A""""33DEU`"""p32#4!""""33DEU`32#5""""34DUU`R}3325""""34EUV`p3333"""#3DEUfq3332"""#3DUVgS}#331"""#3DUfxb`31"""34DUgCP31"""34EVx&T}02!"""34EVx%3!"""3DUg2!"""3DUg`rU}3""#3DVhqp3""#3DVxAP#""#4EVCP V}"""#4Eg5 """#4Eg"0""""34Uh0c2#!"W}""34Uh`!"""3DVy@`"!"""3DVyA332`!"""3DVX}b0!"""3EV2"""3EW$#""#3EgY}0sr""#4Eh0Qr""#4Eh@`RZ}""#4EhPB""#4EhP="""#4Uy2M""#4V[}y)t]"""#4Vy a{"""#4V0`{!""#4V\}``!""3DV` !""3DV@!""3DV]}9'""3DV'FQ!""3DV""3EW^}!""3EW""3EW""3Eg_}""3Eg5WUUUU""3Eg"""3Eg`}""3Egq""3EgA""3Ega}""3Eg!""3Eg""3Egb}""3Eg""3Eg""3Eg""3Egc}B""3EW""3EW`""3EVd}P""3EVp1""3DV""3DVe}"3DVr"3DV!"3DVyf}P!"3DVyP"3DVx "#4Uhg}q} B$PGR COMBj(PGR DOCB[PLAZMA PGRB/LOOK PGRBMENDRM PGRB2rJOYRIDE PGRB#LOTUS PGRf.8PowerGFXNs}NAt}u}v}w}x} 2y}z}{}|}}}~}ok@o@;@k@0@ 000oPpQ}p 4p DDDG0EEEEL0EEUE10 DEUVUUDp UP Ep 4p PEUpW5p \}Tp _Pup50 9WVeUp _ p \Up \%p%p p p _Yep ^@ p \Up \p)p p p ^@ }p l }l&p pp } pxp\Yp\p)  x   fp *pp pll*}p*:: z z}j@j@kk}o/oo / oo ?}/ @o ///p///o/P}/ /    /   o @  }/d  Pp Fp@p }p  /  7 7 P p)op}G@60 H0Pa 0p p0kTp?00_0}H)p0/P0y0PV@0n _0y0o Uphp Up0Q@0hp_ Vp Up VAp 4\@0 }Up L Upp UpK@pp@ Utpp~E UtUp/Ppp~Ep"@ U\ 0)p U\U \K UUp 0)p} 0eWp peWp P eUp p p  0U    p 0U 0%@Pie pAZie @_T ii pAZ peQ}Pp pUfp U[P p pUf pUf UZf T`j UZ f`pUiǕ`pUpj}  n kep n  i Ù꫰ ii ª }              }ooo?oo?}/@@@@@*P*P*P} *Q*P@@@ApF@@?}?}??}?|q?sppg0??σ}p ??pGϿ???gxOϟ?#}cxϟǘb0qq??#?1}?s??}}?}}}?y}#}}}6$(7}7BϒPowerGFXN}NAAA}}}}}TX\1}}}}}}UUUUUUUUUUUUUUUUUUUUUUUUUP}}jP}UUUUUUTU@UTPUUU}Ti@UUt@eAPUf }C UUUUUgЕUUu?U@U@UUf?PUUU}ZAUUUUۼUZ@i@iUUUۼUUUoU\^d UUUUUUU[W UU}U@ _V UUUUoo^UUU_UUUTUU@UUU_@U_}UUUUUUUUUjUUUAUUUUUUUUUUUUUUAUoUWUU_UUUUUTVUWVUUUUUUUo} UeoUUUTUUUUUUUW UUVUUUTUUUUUUUU~ UUuoUUUUUUUUUW UU UUUTUUUUUU]UU}UU@U[UUUUUUUUUUUUV@UWU[UUUUUU[UUUToUUUUUUUUUUUPeUUUUX~UUUUUUUUUTiUUU}@.ըꪪ@UU@uhUUUUUUUUUTyUVyTUUUUUUUUUUUUUxUUPUUUUUUUUUTT}WUUUPUUUUUUUUUUTVUUP<UUUUUUUUUUP UUVUUP%<0UUUUUUUUUUPqUUVUUP8<<UUUUUUUUUUP}(pUUUUU@8<UUUUUUUUUUP4ptUUUU@oUUUUUUUUUU@8xUUUU@UUUUUUUUUU@UUU@UUUUUUUU}UU@UUUU@UUUUUUUUUU@UUTU@UUUUUUUUUU@UU@U@UUUUUUUUUQ@IUUTU@?UUP}7 UUTU@UUUUUUUUUTU@~UUUUUUUUUuUP@UUUUUUUUUUP@U@}UUUUUUUUUPEUߚU@VUUUUUUlUEUU@ UEUUUUUUUU<UEUUPLUUUUUUUUUUc,UEZUT>}UUUUUUUUUU'UUUUT;UP?OiYUT+/jjeUTZjUUT} UZUUUZieUU@UjUU@UTUUEUUUUT@j}jjU@P@UVZ@UUUUUUUUUUUUTUjYjjiUUjjjiji}UUUUUUUUUUUUUUUUUUUUUUUUUP}}6