From d636d7110f1299813a7d69fc6e08e01b8cd06973 Mon Sep 17 00:00:00 2001 From: Oliver Schmidt Date: Sat, 1 Jun 2013 22:49:00 +0200 Subject: [PATCH] Added platform 'Atari XL'. Don't be afraid, I'm not trying to have more retro platforms than "real" platforms ;-) The platform 'atarixl' will replace the platform 'atari'. However I need both for some transition period. --- examples/webbrowser/Makefile.atarixl.defines | 1 + platform/atarixl/Makefile.atarixl | 62 +++++++++++ platform/atarixl/README.md | 16 +++ platform/atarixl/contiki-conf.h | 67 ++++++++++++ platform/atarixl/contiki-main.c | 108 +++++++++++++++++++ platform/atarixl/lib/error.c | 49 +++++++++ tools/atarixl/default.cfg | Bin 0 -> 29 bytes tools/atarixl/dos25/dos.sys | Bin 0 -> 4625 bytes tools/atarixl/dos25/dup.sys | Bin 0 -> 5126 bytes tools/atarixl/mydos4534/dos.sys | Bin 0 -> 4375 bytes tools/atarixl/mydos4534/dup.sys | Bin 0 -> 6708 bytes tools/atarixl/sample.cfg | Bin 0 -> 29 bytes 12 files changed, 303 insertions(+) create mode 100644 examples/webbrowser/Makefile.atarixl.defines create mode 100644 platform/atarixl/Makefile.atarixl create mode 100644 platform/atarixl/README.md create mode 100644 platform/atarixl/contiki-conf.h create mode 100644 platform/atarixl/contiki-main.c create mode 100644 platform/atarixl/lib/error.c create mode 100644 tools/atarixl/default.cfg create mode 100644 tools/atarixl/dos25/dos.sys create mode 100644 tools/atarixl/dos25/dup.sys create mode 100644 tools/atarixl/mydos4534/dos.sys create mode 100644 tools/atarixl/mydos4534/dup.sys create mode 100644 tools/atarixl/sample.cfg diff --git a/examples/webbrowser/Makefile.atarixl.defines b/examples/webbrowser/Makefile.atarixl.defines new file mode 100644 index 000000000..7f438d1d1 --- /dev/null +++ b/examples/webbrowser/Makefile.atarixl.defines @@ -0,0 +1 @@ +DEFINES = WITH_CLIENT,WITH_DNS,WITH_GUI diff --git a/platform/atarixl/Makefile.atarixl b/platform/atarixl/Makefile.atarixl new file mode 100644 index 000000000..0997899ee --- /dev/null +++ b/platform/atarixl/Makefile.atarixl @@ -0,0 +1,62 @@ +# +# Copyright (c) 2007, Adam Dunkels. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote +# products derived from this software without specific prior +# written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# This file is part of the Contiki operating system. +# +# Author: Oliver Schmidt +# +# $Id: Makefile.atari,v 1.3 2011/01/23 16:25:45 oliverschmidt Exp $ +# + +ETHERNET = cs8900a + +CONTIKI_CPU = $(CONTIKI)/cpu/6502 +include $(CONTIKI_CPU)/Makefile.6502 + +STARTADDR_FLAG = -S 0x2300 + +ifeq ($(MAKECMDGOALS),disk) + ifndef DIR2ATR + ${error DIR2ATR not defined! You must specify where dir2atr resides} + endif +endif + +disk: all + mkdir atr + cp $(CONTIKI)/tools/$(TARGET)/dos25/dos.sys atr/dos.sys + cp $(CONTIKI)/tools/$(TARGET)/dos25/dup.sys atr/dup.sys + cp $(CONTIKI_PROJECT).$(TARGET) atr/autorun.sys + cp $(CONTIKI)/tools/$(TARGET)/sample.cfg atr/contiki.cfg +ifeq ($(HTTPD-CFS),1) + cp httpd-cfs/index.htm atr/index.htm + cp httpd-cfs/backgrnd.gif atr/backgrnd.gif + cp httpd-cfs/contiki.gif atr/contiki.gif + cp httpd-cfs/notfound.htm atr/notfound.htm +endif + $(DIR2ATR) -b Dos25 1040 contiki.atr atr + rm -r atr diff --git a/platform/atarixl/README.md b/platform/atarixl/README.md new file mode 100644 index 000000000..fee88dec6 --- /dev/null +++ b/platform/atarixl/README.md @@ -0,0 +1,16 @@ +Atari +===== + +The platform/atari/ directory is used for targeting an Atari 8-bit computer. +Most things are shared between the 6502-based targets so please consult +cpu/6502/README for further details. + + +The following Atari 8-bit Ethernet card is supported: + +- Atari 8-bit Ethernet Project: Use driver cs8900a.eth with address $D500. + +The 'disk' make goal requires HiassofT's dir2atr program. It is available at +http://www.horus.com/~hias/atari/ - either as source code (being part of the +'AtariSIO driver and utilities for Linux') or as Win32 binary program (being +part of the 'Atari Tools for Win32'). diff --git a/platform/atarixl/contiki-conf.h b/platform/atarixl/contiki-conf.h new file mode 100644 index 000000000..67dfbddd1 --- /dev/null +++ b/platform/atarixl/contiki-conf.h @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2007, Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Institute nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This file is part of the Contiki operating system. + * + * Author: Oliver Schmidt + * + */ + +#ifndef __CONTIKI_CONF_H__ +#define __CONTIKI_CONF_H__ + +#include "6502def.h" + +#define CTK_CONF_MENU_KEY CH_ESC +#define CTK_CONF_WINDOWSWITCH_KEY 0x17 /* Ctrl-W */ +#define CTK_CONF_WIDGETUP_KEY 0x01 /* Ctrl-A */ +#define CTK_CONF_WIDGETDOWN_KEY '\t' /* Tab or Ctrl-I */ + +#define textcolor(color) COLOR_WHITE + +#define BORDERCOLOR COLOR_BLACK +#define SCREENCOLOR COLOR_BLACK + +#define EMAIL_CONF_WIDTH 39 +#define EMAIL_CONF_HEIGHT 19 +#define EMAIL_CONF_ERASE 0 + +#define FTP_CONF_WIDTH 18 +#define FTP_CONF_HEIGHT 21 + +#define IRC_CONF_WIDTH 40 +#define IRC_CONF_HEIGHT 23 + +#define WWW_CONF_WEBPAGE_WIDTH 40 +#define WWW_CONF_WEBPAGE_HEIGHT 19 +#define WWW_CONF_HISTORY_SIZE 0 +#define WWW_CONF_MAX_URLLEN 80 +#define WWW_CONF_MAX_NUMPAGEWIDGETS 20 +#define WWW_CONF_FORMS 0 + +#endif /* __CONTIKI_CONF_H__ */ diff --git a/platform/atarixl/contiki-main.c b/platform/atarixl/contiki-main.c new file mode 100644 index 000000000..fa4fd7844 --- /dev/null +++ b/platform/atarixl/contiki-main.c @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2006, Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Institute nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This file is part of the Contiki operating system. + * + * Author: Oliver Schmidt + * + */ + +#include "contiki-net.h" +#include "ctk/ctk.h" +#include "sys/log.h" +#include "lib/config.h" +#include "net/ethernet-drv.h" + +#if WITH_GUI +#define CTK_PROCESS &ctk_process, +#else /* WITH_GUI */ +#define CTK_PROCESS +#endif /* WITH_GUI */ + +#if WITH_DNS +#define RESOLV_PROCESS &resolv_process, +#else /* WITH_DNS */ +#define RESOLV_PROCESS +#endif /* WITH_DNS */ + +PROCINIT(&etimer_process, + CTK_PROCESS + RESOLV_PROCESS + &tcpip_process); + +/*-----------------------------------------------------------------------------------*/ +void +main(void) +{ + struct ethernet_config *ethernet_config; + + clrscr(); + bordercolor(BORDERCOLOR); + bgcolor(SCREENCOLOR); + + process_init(); + +#if 1 + ethernet_config = config_read("contiki.cfg"); +#else + { + static struct ethernet_config config = {0xD500, "cs8900a.eth"}; + uip_ipaddr_t addr; + + uip_ipaddr(&addr, 192,168,0,128); + uip_sethostaddr(&addr); + + uip_ipaddr(&addr, 255,255,255,0); + uip_setnetmask(&addr); + + uip_ipaddr(&addr, 192,168,0,1); + uip_setdraddr(&addr); + + uip_ipaddr(&addr, 192,168,0,1); + resolv_conf(&addr); + + ethernet_config = &config; + } +#endif + + procinit_init(); + + process_start((struct process *)ðernet_process, (char *)ethernet_config); + + autostart_start(autostart_processes); + + log_message("Contiki up and running ...", ""); + + while(1) { + + process_run(); + + etimer_request_poll(); + } +} +/*-----------------------------------------------------------------------------------*/ diff --git a/platform/atarixl/lib/error.c b/platform/atarixl/lib/error.c new file mode 100644 index 000000000..2c5d5572e --- /dev/null +++ b/platform/atarixl/lib/error.c @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2007, Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Institute nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This file is part of the Contiki operating system. + * + * Author: Oliver Schmidt + * + */ + +#include + +#include "sys/log.h" + +#include "lib/error.h" + +/*-----------------------------------------------------------------------------------*/ +void +error_exit(void) +{ + log_message("Press any key to continue ...", ""); + ctk_arch_getkey(); + exit(EXIT_FAILURE); +} +/*-----------------------------------------------------------------------------------*/ diff --git a/tools/atarixl/default.cfg b/tools/atarixl/default.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f2cf1eb3118ada532ceee72ba83a3b043146d73e GIT binary patch literal 29 WcmZQzKm%8ki!Ce-3=;KHOELf+Bm_+W literal 0 HcmV?d00001 diff --git a/tools/atarixl/dos25/dos.sys b/tools/atarixl/dos25/dos.sys new file mode 100644 index 0000000000000000000000000000000000000000..12c3eaa56c08043318ada38adbba20cf93c90d0e GIT binary patch literal 4625 zcmb_feQ*=!ncv-4vc9FYUdfW6hS$`Y+7yVO$wio4_>g2vzQqnUBqiyz`-d}Q7Y_D1Max->~$VNpzzm(9)cvNBIEdMp0l?2;{la zCS2KUB4#o-<5EqM5XsXH@*^MZ%VjWm*>50erGF`0N;z25MeKCu4q|vXf^)}kPQ@~q zJdj835T3FGa)Wrv8psV{Y2K&Q;?h=>X#mJhJMomjS1uPVl*_CFu$t}W+OtRS$fd(r zttIaj)WFwf}IfC_CoNc39>N6O2he)Jjc7UY6l)+I;Os1R?#*|lf;KC|^ z@Nr{t*uuZJc^!Z_&X(|eDHy4_s=L*fn z+Z{Ww3%p|f-lx3@E1taLH5 ztaOnEmlN0`Z3S%&tvHBR_Zznui%Z*3<&N1}`P_W0@}=U6*j1uNoD);qU8$)KS4wur z+$UYnxG%e}cxpXg1N3`@x8QF;_z1lvvI}^mFjW%2mknt{{G_4x9G>$I5n>4KDca!EdsIi{s zbOBWwOd($bF(1n&`;E^^Uw0{XJO^LdWO>?Ze4;t2FPo%`<@0uI+|VAQ90=%3+2k2J z7JXVzHmMEJhuIpRO;)j*0NkL(sf_`X5HI?$_!qLy5BNbtlcV0e6WSuz3UlKo>48#t zpbzYM4)TI3R6EA7Uku_)t=M?1)cRlp8Sgh42wbtoai0NYYv8OUK%Vi#HaaA1CAYom z8Q4gg^D@_Ox~nb5ETE1cyAA=eII7JIJJUW^4jeQtfLH0@FYQtRwTj zqO;V27>R343pf~Otxz3WKZFj*b)eEwoRd�Oz(NCb;HRpCvm*ZD2B~q44v`R2gmt zpHH6ZofrV<>M)6VH8cRNHT9kcuG6A%gQUD*db$pa2->LHMGJMfGG<(zt}WVWpHjy- z4X_joWYzUkrjGN^$1>PurJlR-T zXSm>~v6iXJSWwqgRvQkw`I;XWA5t4(0a<%-!dk`u{VT)ZS+9yFb>NxpxD`?Sn~V9Hg^<*v)lld8Fi7g z-v^8JFm8pI4Axj4OOn6jLBh@kJ-bJ{hmD&O?jRMjAu0KWYYM%lMS?e+HMAhctpEl%8~9_ z+H-nd5CuALvSBogVKzY+BAFNAZ6p~c6C(Lcl%X?VfWZQ+$ClP&(s{AaI-b;ehnz^` zhg=Be z+2nMOhE##IZ+H*PN$B1^Fh^z0!NzLw>B*#dBfmK3RBxAlXWIe#1F7-!NbIT;fThzb z2J!0Rr+{>CJrrpWSDm@F0XU+Xf9l}jNQ+G-uP(X03T~@Y3@XV8oIjlY@!Z_76OT6x z^XOcu8E2BE^*Ga7ieU3mfO9;3wjUeesRk@M%F}lB1{l2#bFqOPx&63*q&-Esz2Dr3 zGi|-!Y{8in^QwW3>F9^@_G8eL$J+qf@zk&tN&9TTCtwwu%029KW_@9U!@!E5*Da__ zxft1J(=9072d7pPEm+ZMCpypDj9GceXH!HQ<&E>?8@4J%;dP?Wc)@KeJapY-E7riP zg|yEv=Q%ciYXXB1LtCjJQeLUSHCpxDd|C{CytOIBt)yMWeo?E>0`R&iHeXaU@ ze%Z3>cjUXv9|$ns`Q+}e?CjhS@7!LM{(mm^Z9?Axj{ic{M;NZ#IC#GMS$ps1Z}uJM zI1BecDt|M_|3^o<6J_Fd-Gyr6t1A}O+N2E{Pmp)~g?Mald*&;^*USbWSSGGp5pdw8 zCe<++&u-`!Z$)jB8?te@p%(Jrer*~Gu5pL9eYGsZ)?TNr!)c@ImCZr=VLm|i1*tn9 zlJ*4?EnQo;C(_;junvkfMx_fc5Ccht^+4@hkY3OG$%T;Q2o^TMsyaWClHQnqW4@Zp zkD>F}xy{SfyI0v=49rdh>1!D$4P{*V@%f5sIB8gM3pA*B1TtfrpPw(-jUf4bKvs65 z;a!OQYmiQp@u2j*h@K0Ywfc#W=_i{bWL*SAp*N(_gNVEX?{{B8_tZg6Y@O~mHj?i})|?2!uReQ-a%)}-!v4|awYOLL z&k)27SuW3q$aqBJ!<0KEg9Sy#&5;z`^iCKHc~RGbutQ3Jo$WEvTQ*isl#S(jKB#Cx z{Rcti^&rjP4?&Qubs&me2cr}M@pUjuBQUN!GGDaALZyDb=+RxFD7@`>suA5uAvg@v z2;z%kCh=Z$g~-N86+b`|a%@wsFw8y>SY}A-tXs;;8j@~;L$#*z$m%rTF7LY{?3)p| z#QK)4yWoXsSI0USI%6HlWP)r@ZeQ2E^(nHmlSrLg6J%#9-A!84QgYo`BGz(OI>xfM zvvRx`ipHpmRp-0+t1-afW!bPQECbbOP~+sK8g61*Apl4k3d#EBpz?S~iH4=8W<#1P zZwW5K`{0St@N2Euq zqk_Vypj0>4Ili*n0Lo_Uc|zSwyePPpv{feOcGNOMVDCG#fa!PqC zLIv_CARb7664qy`()X*e8hUH(t6{Td;nlE&!_o^x`FUh+_!kl7ZN`qbSe6mi z0X6qJ0FZxxLHj=a>4Q(pIQ@7ieq O)WHwT<8XN0|NJkGC@R+g literal 0 HcmV?d00001 diff --git a/tools/atarixl/dos25/dup.sys b/tools/atarixl/dos25/dup.sys new file mode 100644 index 0000000000000000000000000000000000000000..2aa1ba4fa992e4c035165c104fc134830c4570ec GIT binary patch literal 5126 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 YNG?Un`O*l<_1cfmE7zQFI=@B!52pt%5dZ)H literal 0 HcmV?d00001 diff --git a/tools/atarixl/mydos4534/dos.sys b/tools/atarixl/mydos4534/dos.sys new file mode 100644 index 0000000000000000000000000000000000000000..3171b55c4eafae06d7ffdea4da79027ffa6d856d GIT binary patch literal 4375 zcmbVQe{dVsonL9?>|05;*S}<0PT)Cp63H?4+DWd8+vW$hm6fUljB&1PZbLW43;WzJp_{o1%R#gi%wRQCkwnlrCqj~*?yY9v<8^6-JY4aARt8Huh zJsq85SNFEEfT*dCn3x z{4Q-`mF?*YR@tF4&WL?>`*?R=_@ihWGqdxj+6vZ4&PjeG*3Wj2Z-@D07i=N(aMoeC z3Cm7)q+}d##JijDVtukLb`-gc8tc#3#U4YklL)`qfHE8r@M8{In`oOy+Wqq;t$*IC z?U?65?ttLT?8Ds-e5oqCieitVYzf5z2%oh@zR1Z4M{K!A5oIq2(B(&w|E@}B#;QxN z*!*92I3p`$N*r=#c$}&BFIg`iMd@>#(l6eJQ}*OmSF5*ox`^i4h>%~vl$f?*dgx5K!du|Zrh7eYp(zTq@o37)OK8gtO?{Z+(rZTg= z??E&*L?@rHgS)-vaAL-OBF;Qn(`No7xyK7EHq1o1P&)Psg)1N`@Y^&1g|3jt9 zBs*7+qj3+}v*8#5XHX}E#tsnxJBC}8)`;Z)h5R3o0Ins{q zI))-AaL|Uo)(CM+^iHgzTmVf#?n7y;g1>W*p$#XIw&TVlNHgos*8`ogrXNDFL6m+N z#fFd_Z?~muI8Y42bC5#M+k^`84BVcSVtZJ^K#utza_Fj-@HU(Or7E%x(#tn8GP2<) zg2gPu$A(eXz{gIYWPj`k)Ggcy&V%%V+>%KK&QclDlYg_7evzMTE$oSGEj%1Sg=3Mg z6uzIiTfZ2XcDg}(D>s5txgZ+La^YWb$(FE%6ONOhY7lOMkZQ?(X`U$ZA-bX`<8;hcv^!Mm?RX61`xC1O}x7kW(OE+;tdA{R0?T~nqSyak)dDLo%y{wCaR ztt7w%+KxZBVacvL>b6Xt)7^mE38QqvUh*DXyrT2YzE3j?>N43qfy{aOITT*xO@ct| ziSqWB>lQlcE&pQu+%Y8X&h2L}4Izqhe)iHJ($+^c1g?{ArF?r0Csxig0v|q% z>_N7C0iX@C0{D*)*zv#C6-@LNxQ>2G42lP!c{@*@4DaC8_H+@sKQihE7|c_zlG3YU zm4v&S0%p2A!SNyCCX8u@2R2F@cpw!#)u`tquB_Ev27xC4S&)7UeZn8-zN4r9chJPU zDCq%5e9uUYYQ=B4SP(^HBS>ZBWSg?NfHE!Qz3>$ysSW?ZNK8swZVxL2@DZ!ngcoYH zqw4dbpr&MyxvI;&Z^VO@;z^YmZ~dT^0xl$-6cAy-Nk0VqdOx|TV5Duy&A!a0rzG{W zY`b2xi+Or0FeTyTS{T*OK*2C$h@rBYlx(OcKK_+6zyRWw@&gk_`iYxOY^_QYC z5Qs|nNL2t#U=*j~($x!+K0;Z|m#DE&k^}Q0`gR}yYJCV~otc{_uNY5WH3BI?C1enp zo++a^5QKOOKi&w$5DJZUlE?Mn8X$mhwDf_5e^!^N*jYpoc4v{NMn%Fe*CnL_qSqj1 zu;?vi5G;eIBRohzh8`F|5S|5zUWQ1(>3G)~&kU7$W>DuD!TO4S3N8$@$M z$bY2<@N%X6!)(X*FZuu~HxZ&)hfbK*=Iq(USgutHhoM`up+0{@!oh_rSrYRXo|7 zDp7fT?_;hh7hjO4Al@v?Utb%VKX+`d8d^mV@<# z6kpc2wb5#_J0C;lMWOpjk>1iiDRj^Zg7fs#!tRI_XrUfx!BqHu#Cl~}YcGhAdkQ@n z7i`EciZ8UX`IZolO)ufM6iCi_<6uT&`|D!v?`sTf@Ojl zK}3*Id^ypZL*~M6y3UCrpnSr}!|6AiiQdT$y}OE+&Ya^;_v1EuvgLI^K-**okWwK? zE8(_`9S?Hi0f4d(`jh>*%bt0avbety{9Z(wOWfjmufReRvv;7JxGn>IJHA|2r&U}u z^0WY|G<)QyGv_#=VzM7JO^LsBXR_{uC%F$`7GMgxA_U;7!?f8c=@=XE4|4u(R%o=K z)9^)j=)LeooBwZYbHE)y9M9XtZ>;K_+iF06hbn{4t6XM4E5I)hS)Jo$WS4Wt^gaey z>0ivkf0==)fr*5V{reqK6uKrzE&%>KB=fju?kEzikilj%EYx_$J^pPr{qV=iho3}e z9zjqv;fM4VF8nZpRiJSY*l+@AU)6bVyG?u+wt~t0lcHtT0{Zfd)Yz@72Pr@RMs2|k+2gtn(R390td0MC;NU7g!W(r1sNyaYZG22&&-enG{sHj08{|&+wqM?wKVnuH+C51#}2{o02+g@1rH)QeF$kQVFUCx;X?=} z(gs#?gLnYu(gTPdCnYI;7%dGTcgFhqVWc%m_@%~xWS0o979man{3!?@MlzU27$n_c z!@w1zW-xn8?qDDVkF~_$MEH0k@JxY?SnzUF=+2B2+8YBa6QmaXk8mn8+Uq-U=cDu$ zP$*+O(JKR1fO$&{PuV5FiZ%FhjCx<^Eg3eN^)7x&a^(Jp|f5a-1=t%Px#S2IY zZoLQ?y#)l8c*}w$TziAJkT{f_JO13rB5aPZc6w`|tY5I*ndHlpVBkR6zNmS#ckQD{ zPYp|eIKwFE4VEAq01YYohJk;B;q7vw<#fln#lk0k*Q3jOfdA8+9mSr3^B~iaX$y&^s=dB=R5;64EYIZkY-tWt$c0m_kU_Mv^NvI zJ0alE`xlYl*GQTb3)!bYK*RIR(7C?IQBU|qj)>uR9C3j-WB0P;tymvR9I<|um||WQ zAG#)*m)>!t-*FUrBEQG;AlDwp#0sMRL)YR0NJl|f?(6Dl+xvic)=lgI#Su`NRl}?! zQW5j9naZjBtRp6|`sgi>_m;=L^4QNt?Zb`~VTPNfs03#&%{HfJn_blfK4PU6y8kOk zS9rF0D)$pkyGq;e51Zox9&K({4P!4i!yW$m9-#r}9Qa)aVxMUid3@O+{CK@(ar4^b zx-FSzaVlvI=bDq1;g_26Ifwsyu9I&uuvMs!W7uc<(?0y;_1xlS|GWdPv%i0T$HBda n&i41fOW(Ke?|`73Wtb}*!*~ue`# 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