From: dsc Date: Tue, 14 Jun 2011 14:37:14 +0000 (-0700) Subject: Checkpoint. Builds with cocos2d. Renders-ish. X-Git-Url: http://git.lttlst.com:3516/?a=commitdiff_plain;h=e8f9f088cb9e7a5dcb2e7b71645f30c4f3e5c51a;p=tanks-ios.git Checkpoint. Builds with cocos2d. Renders-ish. --- diff --git a/assets/images/1x1-trans.png b/assets/images/1x1-trans.png new file mode 100644 index 0000000..48931c6 Binary files /dev/null and b/assets/images/1x1-trans.png differ diff --git a/assets/images/1x1-white.png b/assets/images/1x1-white.png new file mode 100644 index 0000000..fc4efe0 Binary files /dev/null and b/assets/images/1x1-white.png differ diff --git a/assets/images/circle-32x32-white.png b/assets/images/circle-32x32-white.png new file mode 100644 index 0000000..96c8905 Binary files /dev/null and b/assets/images/circle-32x32-white.png differ diff --git a/assets/images/circle.ai b/assets/images/circle.ai new file mode 100644 index 0000000..abc0dd5 --- /dev/null +++ b/assets/images/circle.ai @@ -0,0 +1,1310 @@ +%PDF-1.5 %âãÏÓ +1 0 obj <>/OCGs[5 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + application/pdf + + + circle + + + + + 2011-06-14T06:15:04-07:00 + 2011-06-14T06:15:04-07:00 + 2011-06-14T06:15:04-07:00 + Adobe Illustrator CS5 + + + + 256 + 256 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX//2Q== + + + + + + uuid:e2895204-5773-5e48-8043-486470056d3a + xmp.did:F77F1174072068118C14A5C3A1917AA1 + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + uuid:ae9148ef-3000-a144-9ee3-ddb3557e196e + xmp.did:8AF5709C0E20681188C6A12CE4B46A4D + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + + + + saved + xmp.iid:F77F1174072068118C14A5C3A1917AA1 + 2011-06-14T06:15:03-07:00 + Adobe Illustrator CS5 + / + + + + + + Document + Print + + + False + False + 1 + + 32.000000 + 32.000000 + Pixels + + + + + Default Swatch Group + 0 + + + + White + RGB + PROCESS + 255 + 255 + 255 + + + Black + RGB + PROCESS + 34 + 31 + 32 + + + CMYK Red + RGB + PROCESS + 204 + 62 + 43 + + + CMYK Yellow + RGB + PROCESS + 255 + 242 + 35 + + + CMYK Green + RGB + PROCESS + 48 + 161 + 84 + + + CMYK Cyan + RGB + PROCESS + 0 + 169 + 237 + + + CMYK Blue + RGB + PROCESS + 49 + 50 + 144 + + + CMYK Magenta + RGB + PROCESS + 203 + 54 + 139 + + + C=15 M=100 Y=90 K=10 + RGB + PROCESS + 164 + 52 + 48 + + + C=0 M=90 Y=85 K=0 + RGB + PROCESS + 208 + 83 + 59 + + + C=0 M=80 Y=95 K=0 + RGB + PROCESS + 211 + 103 + 49 + + + C=0 M=50 Y=100 K=0 + RGB + PROCESS + 224 + 153 + 45 + + + C=0 M=35 Y=85 K=0 + RGB + PROCESS + 232 + 179 + 73 + + + C=5 M=0 Y=90 K=0 + RGB + PROCESS + 245 + 237 + 69 + + + C=20 M=0 Y=100 K=0 + RGB + PROCESS + 216 + 222 + 57 + + + C=50 M=0 Y=100 K=0 + RGB + PROCESS + 159 + 196 + 72 + + + C=75 M=0 Y=100 K=0 + RGB + PROCESS + 111 + 177 + 79 + + + C=85 M=10 Y=100 K=10 + RGB + PROCESS + 80 + 144 + 72 + + + C=90 M=30 Y=95 K=30 + RGB + PROCESS + 54 + 101 + 58 + + + C=75 M=0 Y=75 K=0 + RGB + PROCESS + 108 + 178 + 117 + + + C=80 M=10 Y=45 K=0 + RGB + PROCESS + 91 + 164 + 157 + + + C=70 M=15 Y=0 K=0 + RGB + PROCESS + 103 + 167 + 223 + + + C=85 M=50 Y=0 K=0 + RGB + PROCESS + 71 + 116 + 186 + + + C=100 M=95 Y=5 K=0 + RGB + PROCESS + 49 + 57 + 142 + + + C=100 M=100 Y=25 K=25 + RGB + PROCESS + 38 + 35 + 96 + + + C=75 M=100 Y=0 K=0 + RGB + PROCESS + 91 + 50 + 143 + + + C=50 M=100 Y=0 K=0 + RGB + PROCESS + 127 + 51 + 142 + + + C=35 M=100 Y=35 K=10 + RGB + PROCESS + 137 + 47 + 98 + + + C=10 M=100 Y=50 K=0 + RGB + PROCESS + 187 + 57 + 92 + + + C=0 M=95 Y=20 K=0 + RGB + PROCESS + 205 + 69 + 123 + + + C=25 M=25 Y=40 K=0 + RGB + PROCESS + 190 + 181 + 156 + + + C=40 M=45 Y=50 K=5 + RGB + PROCESS + 149 + 134 + 121 + + + C=50 M=50 Y=60 K=25 + RGB + PROCESS + 110 + 102 + 89 + + + C=55 M=60 Y=65 K=40 + RGB + PROCESS + 85 + 75 + 66 + + + C=25 M=40 Y=65 K=0 + RGB + PROCESS + 185 + 156 + 110 + + + C=30 M=50 Y=75 K=10 + RGB + PROCESS + 157 + 126 + 82 + + + C=35 M=60 Y=80 K=25 + RGB + PROCESS + 127 + 96 + 62 + + + C=40 M=65 Y=90 K=35 + RGB + PROCESS + 107 + 78 + 43 + + + C=40 M=70 Y=100 K=50 + RGB + PROCESS + 87 + 59 + 22 + + + C=50 M=70 Y=80 K=70 + RGB + PROCESS + 54 + 37 + 22 + + + + + + Grays + 1 + + + + C=0 M=0 Y=0 K=100 + RGB + PROCESS + 34 + 31 + 32 + + + C=0 M=0 Y=0 K=90 + RGB + PROCESS + 65 + 64 + 66 + + + C=0 M=0 Y=0 K=80 + RGB + PROCESS + 88 + 89 + 91 + + + C=0 M=0 Y=0 K=70 + RGB + PROCESS + 109 + 110 + 113 + + + C=0 M=0 Y=0 K=60 + RGB + PROCESS + 129 + 130 + 133 + + + C=0 M=0 Y=0 K=50 + RGB + PROCESS + 148 + 149 + 152 + + + C=0 M=0 Y=0 K=40 + RGB + PROCESS + 168 + 169 + 172 + + + C=0 M=0 Y=0 K=30 + RGB + PROCESS + 189 + 190 + 192 + + + C=0 M=0 Y=0 K=20 + RGB + PROCESS + 210 + 211 + 212 + + + C=0 M=0 Y=0 K=10 + RGB + PROCESS + 231 + 231 + 232 + + + C=0 M=0 Y=0 K=5 + RGB + PROCESS + 241 + 242 + 242 + + + + + + Brights + 1 + + + + C=0 M=100 Y=100 K=0 + RGB + PROCESS + 204 + 62 + 43 + + + C=0 M=75 Y=100 K=0 + RGB + PROCESS + 213 + 112 + 44 + + + C=0 M=10 Y=95 K=0 + RGB + PROCESS + 249 + 223 + 52 + + + C=85 M=10 Y=100 K=0 + RGB + PROCESS + 88 + 158 + 79 + + + C=100 M=90 Y=0 K=0 + RGB + PROCESS + 47 + 64 + 152 + + + C=60 M=90 Y=0 K=0 + RGB + PROCESS + 114 + 69 + 150 + + + + + + + + + Adobe PDF library 9.90 + + + + + + + + + + + + + + + + + + + + + + + + + endstream endobj 3 0 obj <> endobj 7 0 obj <>/Resources<>/Properties<>>>/Thumb 11 0 R/TrimBox[0.0 0.0 32.0 32.0]/Type/Page>> endobj 8 0 obj <>stream +H‰&¸ÎKá¤ýçL®9(Yû§jµe£õ6¤ÃOX»yQ{®*þº4ÑiÔý'ú0Ò¡( endstream endobj 11 0 obj <>stream +8;Xp,*>JPW(]\SI%<2~> endstream endobj 12 0 obj [/Indexed/DeviceRGB 255 13 0 R] endobj 13 0 obj <>stream +8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> endstream endobj 5 0 obj <> endobj 14 0 obj [/View/Design] endobj 15 0 obj <>>> endobj 10 0 obj <> endobj 9 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <>stream +%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 15.0 %%AI8_CreatorVersion: 15.0.2 %%For: (dsc) () %%Title: (Untitled-1) %%CreationDate: 6/14/11 6:15 a %%Canvassize: 16383 %%BoundingBox: 0 -32 32 0 %%HiResBoundingBox: 0 -32 32 0 %%DocumentProcessColors: %AI5_FileFormat 11.0 %AI12_BuildNumber: 399 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%RGBProcessColor: 0 0 0 ([Registration]) %AI3_Cropmarks: 0 -32 32 0 %AI3_TemplateBox: 16.5 -16.5 16.5 -16.5 %AI3_TileBox: -272 -372 304 362 %AI3_DocumentPreview: None %AI5_ArtSize: 14400 14400 %AI5_RulerUnits: 6 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI9_OpenToView: -1 2 42 1449 1488 18 0 0 6 102 0 0 0 1 1 0 1 1 0 1 %AI5_OpenViewLayers: 7 %%PageOrigin:-290 -412 %AI7_GridSettings: 50 10 50 10 1 0 0.8 0.8 0.8 0.9 0.9 0.9 %AI9_Flatten: 1 %AI12_CMSettings: 00.MO %%EndComments endstream endobj 18 0 obj <>stream +%%BoundingBox: 0 -32 32 0 %%HiResBoundingBox: 0 -32 32 0 %AI7_Thumbnail: 128 128 8 %%BeginData: 2006 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFFFFFFFF %%EndData endstream endobj 19 0 obj <>stream +%AI12_CompressedDataxœì½éŽ]DZ&úëêþ0`7šÕ9F£=Tvƒ¶Omãà@à¡h™Ýв¯ïÓߌˆ/båZ{oŠ’øCç@•R±*jíÌ\9ÅôEäÏþŸÏ~ÿäðÅÛñ$Þ»»åg?;½{ñìýÛw¿¼cêݯ^½úæë÷ïˆôóßýâÎç{7:üª}ŽÿôâÝ×/ß¾ù%ÿé>Œ?>Ò§þÅ×Ïq÷ó_Œßÿðòý«ƒòÇ7ïé§/žø_h;ãƒçgïÇËóé¿yW~éóÝ3úó³7öõ×/ÿ¿ñG_b‹ƒv|û͛/^¾ùòøöÿý坻{ÃÝøúó?_þîÅ×·ÿ|~ûü›×/Þ¼ÿìÝÛç/¾þúôöÕÛw_ÿr¯‘?|ùêÅèñëgïï¼§—;üʇϏ߼|õÅo¾yýï/Æ»Äމ?çþñëg_ŽNñÏD®Ÿÿêõ üþÅû÷£ñ¯É-þî_ŽscÔ*?ÿ×ß½øò%çxõûª}÷ö«×ÏÞý߯·Ý¦?ýáÅë¯^âwòå>ß=áïëxn¼?ó$Ô0êߢKw±ùû:/þþòÅ?~y÷›·o^ÈÞ½ÿ½ sJÎÉwùËï¾yõâÝß¼|?:VˆÔe~ýö‹¯ÆóöùÇWÏøÅ¹øõ»<ð‡gï¾|ñ~LÐÛWß¼ç¥Ò´…1ÂOŸýs¬ ÔÖ?ÿíW/ÞüáퟸOü]¸KºÔÇ·Öî|ãÊ˝wÁšóëw©•ê ´ê:&ä³1E¿}÷ò˗o~ù$ô1ÌÉ™½y÷ò‹uòò¨Åá;¿Ã}›þïú¿tv¼÷û÷/Þ ócٜ~=-wÿëߎ–Þ|qzûšÿkZÃcþߌ¥ñêí—ò7û™ÿ2>þÍWòüûçcž>{÷ò Õ¹ü†ÿÒ>ÿìÕ7ãOÿòîí7_ýêÍ_ß.?—­ú‡wϞÇî~ûïÿçÅó÷có°þôûo^¾qÿìåW¿ø`EãµÞ½¸“?Žó¯úï·úüâ¯c;­êÛ¿¿xõö«©Z£<{óÅÝÿ~öî«o¯ú³WÏÞ<{wÇt«ùéË¿¿<c´Ö½Ò>¢Ò±F¾ÆáGv |àéOÑг÷»;¾zñ拯­nùuÛq¡}{}¿N«ïÝÝñÝ7_ÿíîoß¾²j·²ÚAf*=ÿãhã3þÀ›ß¾‘ºl ì[Ϗ®•ñôíÆ̵Ÿž½zõòËwϾúÛËç׸òwkIþö]Ö?_ÿûÛW/¿~½®§‰òÙ³wï_>õâ÷ÿüúý‹×ªFã¯/ß|1"Ÿnkoß¾þŠ‚»ßÿíÙW/¸Î÷{ä'oæÏÇ <Ÿ±Ož|àð,áøfúû¿¼{öÅËq®ÙæñÙ/îÞ¿ûùÙóÿû‹e÷ûà#áîøÅò¯‹»/=טé‡Zs­ôC,­”ñC½uú“ôE?ŸKçrêKºûÙçÇwS5wZ͝Vs§ÕÜi5wZͪ¹ ÌB™Ç9ªñ÷ËÏ>ÿ„5¿þÁý‚à]|ªÞY}£odzͼNàõ9ý—w/^¼ù¯wyñêÕÛü׻߾{öæËcn¯ÓGåUæø¿/nˆ'nÈ_.»êš;¸“;»GïG¿’ϾúæþèÏþ!¸àC )ä!·µÐÃ1œÂ9äs~(¡äRÆèÊ©V¯¨0fÍY9¹9Œ9êc®Ê˜³ñ‡1{cªÇLž—1¥}”Ñ0Àãi”#?óÿüÿÃã#þ=sYÿ=q9 4.%=Æe|óËXK£8þ7Lßé_?ÑôßÈ?Güœè=Ó"ÿ<æñ}ŒÔøi¬•Ñ&ýOí÷Ñû#¾øûßå}´<ê÷…_î‘^ŽGÀí¿ü¦”È%ñn)£TÞ3caŽ}3 Q—ñ2Î{ÞFcwðV¢R¸TÞVRúTøŸJ³RyžPÁØS\aôòåÆÈ>p9q¡^¸GKå~f.‰‹¼Ã8±õ¥ÀØilŒ0–‡“ûp:ýr<ÆÎic•±ÒØMáäG#cǜÇ~9ŽmÑyÇÞ1qìA?:0öÌ26͉7M[”6N«˜¶ŽçÍóÐϼ}½óʲ…Æ«;ÙFí46=í¤6¶ÎØMËØNê±>Ô3o«ÃØ|´±Ê86xs±u¼ÁÎã@¡-ÖÇáBÛ,í3tLl¶‡|^Æ~;ŽShì8šÌÊs3j £.*‰Ë8¯F Tä‹63oûÑ>:2N\Î\¨,•֧̃Lå85Ç+PI\ÆVoF…klò5†c¼7•#—1þc4Ît°ç¾ï/c¿ôq&ÇÙ$Kú1YÉüÁ¿3}þMMÚý½2‹ßpÊH +oHû.]ÿ¶ÿY)Ÿï ØÖ øÆ+Üé̌ùFË2‡±8~þ:÷ú_?¶ +e&;YPč<͟rby“;ˆCò >ÈיËiyL¿‡—ÎEY9 —ÌEN +9£äpô\˜ù’X±Œo¨ü,_'.G..ràÊq.¼¢pÛE¸ð#øÄèüPù!œy¹Æš7œùÛørÙræåkþxÎÌ/i Cʇ¾ÂŠ2#¿¬?Zq·Šr´«»è›rþ@9Íeæ$7&p><™ºU¤ÚΚÍÙa*™BÓE“%"Ԙ&ˆO2C՝›£ÍK¢9Y ,‘¨D‚’ˆI$$=°FÂòÑ8×óàíaôŽ4’Á@I!©ƒ dSHƒ8ƾ n1Ôß1±G[5‘6¸Kó†ò86Ή”+oIª ,ˎù•„±ÌÒj U Ï*¯²pâÿ~Šø)ðOúq§ß!œ»eý‘iýÓôӃüÎB6þ2ý´ûWˆêüôS°ÿ×¾ÄMÿ¢õ>AYÀÿ ¿pæ@ߓý®ÿWû[µÿ›ýßíÖ,úQÎӇ‰Ó|‚¯åÓUõ}+|°ïó›ÙÏËæÑ•µvð합”é§²£ëoC”XˆófÕú;”½†)´OÅ0¯°Ðÿò`Žó†¬C"E>@Ž ,IfȒ}œVÇ¡à ‰r̉c•-²¢VX=묔X<˱òYÄ,¬huV¯H±z`mʳ•Xoª¬-XG:³Ôé w¦Á,Ë¡.,|Xü<³êXBë$†žÇ©N¦(ÏÆ¨4ÎûƒÔMRçÁ†èàs«ajpþ>$€ãÎC"x2Æԇ䑆$2¤è!¡ô!±‡s"Í£ODÄ­$¦Ê6g¡æ‘ßÁñ{Л~›Õ(ó[Q©,W7~=zÁÛ½è5O"¿^ÿ Â(YÈ@ÆoD¡c+s)<•Ç¢‰ÆÉuÉ׉G†ÊÙßyˆ“<\‰‡Œ­ðÀÑÐ5>À" ㉇’óa¡==Ž!u<¬L:òðÒgä ¬ñ`wð¤µü™ÿaaéŽ*ÁÃTÎS9Må8•ÃTúTÚ]•JJ™JžÊü5ËPAË2¾ù©¸µ¨^Íåa*穜¦Âº@U?L¥O¥M¥N¥L%O%±ô·Ñµ2@ÿd€þɽÿúÉý“ú'ôOèO(\ÿX*üÉý“úÃ_?¶ +2@ÿd€þÏm€¾e‚¾0B/˜:5Co Ñ«)º˜1z5G«AÚLÒC¶|\Ƅ`—>`ÂÄ6‡àùÈ;à m¥ÁD-¢›©a¨&ÝEŒÕ}a{5Y¬ÅfXpu¦­ŸØzÝØ~]MÅ5Zõä¶f‹Ü蹕íÚG€ªóÈ6î33­›V:[»[¼ÉæÙîMê'ëwp ›Àeûz¶yˆ!ų}ÆÄîÊÆq*"Â'6¯_j7|XL«ÇF×­T+ª>ˆ¥}-,ô,«Ù`¿|¯–o3v~üü] ýqgä6:“±Ÿ¾/j‹_Mö«ù~2å?¨_ þ[€ýLêÕTÙôÀìO°öÕ ßµ‡‘¿£×˞€× z2m.ؒˆ¤¼ýw1oA†Ê·ª35Ùo³Š˜§'ªü´à—2•ºÓ)ëægZÄÛߚý6~_Lý¬WÒvEE]wÇ^qe±íÓ?ª6Õí ;K>®¢ÿ´•ïYá¥÷åúÐ<ìé·{¨¦ŸäÑU*íVT6›DÞeãÈ);7Îõ¿]>µ–²|§Ç×Fn6¸V˜Q>ܧüÁ’ÈT•>®|?ÇÕuו9¯~l’ûOþçªð»8o¹/œ„‹ø ÍM¸u®®ÂÕY¸º Õa¸º Oý¼˜Ï͛ç0ÁËVÍ»v„ñ,.5¸Ói«­‘µzÏÄsö¿âê2‹g™ºÊúÆIÙéqƒLÝcqãSçX3çØ ×ìñCZØEé¡«ˆ–*«h¯¢ÉŠV+nGÝ÷ˆrB9/¬È®_Ê+ QC¿öfç«ýZö”¼ÜòðÓUÉ¡‡Î…±è)0Vs êZÊ=Wçb¤˜ÁsèToŠ=x¢ QfÕµAòuíä'­•úIì½rÀbÏ5øÄéz-©R­­¦Lÿ7* k%Y§~@õ,F÷ƒfÐç<ƒ£ŠO5ƒ¡Ý}Ú½È~—@ÛϾy÷Õ«w¿„g¯~±ì~¿ó< Ÿ˜¢7VÜF‚™uFo€Þü†`8€8†1ø¸68‚C½v¤ž$5Ê#ÛdÉÖØîœØM¶h‚MÑÿd£>,㟻ÔÛþ;ý/~õÈg7±ÊF\èݜçgs”Ã9àO̼Å^Í ~d‡íI=Þ09{vßæ‰ÑY„?ªÜBºƒ D4&¸„˜úÉäO‚<;èÍÀ¯Dl(¬VV+ƒ]äÞ¨z$û?À¾Â.$‘š¢~Í`‹Ã +µXXBT…—뿱æŒR­è×Á +¤ñ…ÿY…ÍG@.Ø#=—½ r+0¹–¾2*£°Sm.J­ß^þ6y}u}˪Ö ,’à#ëŠç£åªKUp}qk¨¬ëÓ`²$Cü P'@À™ gY/òÚSƐ6+F€—›.´Ìþ¡:&å¸ÀƒÛ¯ÖRÁS¹œØCy•Ž ±»ñˆuñDaÓØv„–¡H®øš rx6ö¢‘^vfԁ荪1ΐ]ò©~hZ¡jƒ¢’ÿ.3,Q5¾ÉË·*y[î¤Ê‰—wÐÛ¾SÕVÍ :˜Ûé`YU­ZV3/´êQGSž®«FçÁiYøQ®úP¹¤—…¿}G\ÃÖ>ºÿ›»ô‚íº¬PŸY ¬kõhlÙüy_é·5qåë?‘©ð?@…q×ãA¨ÂkVúí×Çûcýb¬ïÿ–׿~ªð§ +4Š[V‡'s6àçÄc×r€h18 ¨¬,– °µz% «À¥Nà^<­u#¸› ,‘äT¡:œú NeÙ4O€FT1,ç‘-°g «Žl©í ґh…곏 ó}²;Æ[=²•øÌ¨« ,64 *¢2#± ‚¸ÇI7Y؊ýÀЬ3p>b7>°¤Òð­,½¬Òebà–ˆ£\^„×Vt‘lEéBD”ÀB!^a^R +àCRĂH7YÐR¹[}ø +AW“>Ü“mW­ÒG+ñþg•z'Ù½n¿Ê®ä]8ºl͜ßb¦ ß^þ6­ð‚umËʖuý°[Óë9ÊRžò‘ŒØ+ðoۂÿføß +œ!€\a€€“PÁ€ +ÔW¨~²eè°þ΀ œ.5[d;;cMlXEºzdÑøØÁG['`6ý:Ù:©:O¤8:Æü+X5…0kèV‚]«¬œf`ØÔÖÀax6ñR=×&ȶÓ"փ;Ât¨è:+†yË0–«ñ4ôÊëñÒ¶iÓ¿nÏßj”fÈ_®Xó/-ú²îïÊÂßl…ë)¾ ÛmS@nWá·ÎÎt=Õ±€mh« [Ø*¸ÀZCÔ®xZÅÒG»Ø‘¯‡~œ~*Óá6pT&À¥ŒMµ€dL…2„·›Û0†hqRãÑXÄÞ=ö 7qb +ÉÆ1À5x_*ãóûPò`~®“AOpIú…³kèyZ¬À–3¹‡àþX°ßÃÄ|À€ ǸúT6eöǙ_q™ÕZåÚW»Vð¸—òñeáo³ÏbÊìa£Œî®Ä{ŸkŸL±zŠ­­¹‡Ê†ÏÖãØil¥@=±û@ö䔪˔{0Œ=<¾‡˜oø>>]•ßÅâúûo¾¢„™oÿú^2TÞýéå—o^¼Oé oÿm´5eõ®sŠJ2&Ê^YÆÈ?´H†l2߳͐~ {1ÿ›º :3Ÿ¤’µ/wZ͝Vs§ÕÜi5w¨æN«Ñ̕åÞÕÐïr½'è:=Ÿ¾j^H?°Úñ´c±Œêï[qñ®öûZý§ëøí>Iÿ{¾²>e¥ße3üñ͛g¯_|q÷%Hw~ì‚+č#b °.±&㬸 ³âM8‡ðÿADP–„[Ã"»ÀS ÑYb’­`'&Ù3Gi93ÇJøõcÞØ +«Ø&¶×†×È×Îöù9ûÈZdK-lA=³Ñ4²¹ú@уƒIPH–b/lò,‡í…MVË3[(ÃàхMÇÁÖ ÀD˜¥ŒÄ +’Vá!Àœè£2äç !½kÔöãEÖ¬ úò;>÷€€ ü¶˜’÷ЍÈÐ"G+Gßï°çvSí·eóëü¯V&¢Ây5SŸ¸(ªG„xM€ZDQ Ž˜}# ?ic㝭ºç fLþ‘_81ñN•ôU´K£=ĹKo…¥5–Ó ¡˜ÿ“Y_y k•0—À!.ô¦cÏñõ,ۜˆ$‘,$4tV*"+ôVi•¯BÑ*¤ +ý%Ô·³l¯é“!¹wv3 ¢ž%î3Ë\$9s¦Âñô籃Ë!I1AGÞ~MBIh{Ž·&!­3ä^âB8„¼. "?$»Þ²ó]0é‘Ì£³Æ˜ËÑÁmœ7ÊÙ3)>É£& Òsˆd‚G²¨>»„¶+D³ª¼5‰ÿœLŠ*ÕhjNÒJ!ÓQAv©„pu'±rêk Ìô²R¯Ù¨~AëåÛÂ֗ï÷1aë /k„­³Þ™YהÜ`Èvd5±!C˜äŒðÈvftԁAM•ÐG™—:ÅÓ¹ðh‘ðÏ|0­š5k.Šd<ìlU²EÍ6U{1sÕ·7:÷NïVͺ7Tï#TŽ1û°~]ßià³ú½ìtï­Î½Õ´gµz Œ›Pps&˜±¢5¼^\ý`à!ô l¼ ^¾#Fþvþ'¿ÄÁG0öqruµ2‡—øvŽk§_=®âØ/ Ýà>ð žx hð—6Ï]áÄWL· ºW_l¶;!MB¾»/–A²"<å½â¼R T¤>8í-©¡é@ßq™@ßCÚâÍ> bç“C€€5ë=¹Ú¨Cëê A\Ù8™‰â[Š„ë¹YǛºÚn(„Ÿ¬Æ$‡tMÔù*ƒ±âÆ17~§¥(kã,Ž/.Hµ %‚‰~CæŸæ)ޏÔg?;:xd}?§ê{ñrõÅ ½xÜÀV–ï®°ü¸ƒ'%$lÑ´-+`iÌÜ2…VËñQC0®_ Cݘsˆ /?Œ++j.î¼)îᢠ0`Á-ö~r˜>î þ²‹¨Ý8Y¹ÂGÿý¾®ú_v~Lù¨¯å{öî?L…³ LU݊8⥂\–<™8)ÊqªU.L30H"hgk¤XFO3TΒÒh"šñ]aÊ›´u3Ü\7ø6íŒ%žYÁè +M_XgeF¹ï¿öæók÷›6úöåp­,;oÀ‡ÊñcÊòq}|ù±U¸.åÀ ¹Â‹—–­çÅ*¹¯ÌÀ«Qâ<'‹‰¯BZ–ò׉qnœ ‡í+͒á<0NRQm˜È“ljßQÓâ@p"]á‘ô†!0EΐS#G ‹'`W!I“@ ”M“? mfY³>1¦í,v|XøÃ mq•)-¥”ÕjXÌçpœÊùpšÊÃEy¼V„á,æùؗð½J\ŽñӖ[…c);ñÎ]úçæàìk)s.æXʜeʘóhñ +üÓÁ£•Ã&}ΚBÇé,êøGbÙäÕɛü:k¹ár)¼„®åЍ²/‹¹?QY¾cÄØ·–ÿôކRlÀœâ8E7/²zÍ¼À}|6Ð&´õ§xá7^¸]]dzó¸Y”¥F]æ9Mj0ñ.æRž˓{y.»r-Äñ´OWËÇ|®•å:ùj¹ðö^+ËÇ=öñåÇV¡.å3ç$­œµÔe{“ÖÇBÍl8w¼.¼ ¯=Ïk-'1^ŽÕ!†ËåÊÕÎæui²œ–iÝò:\§\§là:Ñ^+² ˜eæZñ[[ÔÖ¥u ÇZíÍ~Ñ\5uΛ´ ¸(竅w£ÆŸ\–ã÷*‡¥>mù±U¸ØŠç2[ÝJstaâ=£¿ÈøT]ôA.DV‚˜ÄÜ}òy¬'öÁúrŎó)*;~½x½û9Þ%‹ Ûõ©ûZw6¢=ù‰¢»f$ԍ‹XÜ"ø÷aóï£ým²«Àj¢ß½Ÿ/¾‹· Ÿý1ˆöJ‡û‡”lU®OÈá9ÞL‚{ԏ¼z‘% ‡ëEü¿ðEeˆ3TÆ·…MGÿŸdæ‚YL–Ý —‡™÷yã66Ç;À˜Âƒãä<Úº¾Å´à”‡KâKº±§?ˆMî 1«3­«q½XœؗyËý«@XÆß%ö¡ ²Áݳ-Ú+œ¤ÞiMƒö§¨Mâm¿çF­ŸpÓ×OdÁŽWQƒ:r½fŽÛï8‡ôujÝÔ]{¶Dv›¿àoˤ~¨UuoK-®T`$YÄêÔ&W”7oŸ$7¨œ:1JṉUNœ4ñ`Yâ+»„ÅÒEÆ8¿°ýóqJ•ø0IªĽ®åÛS´M¡p™z†}xÜ]>yïiìÛ>u íÑòËVòpµ<~\Á ÄÚS$Û­Œ:ÅtÛ)Rtέ³Læ ~—tç[‹Œâí»MÖÛMºe’ô-·-S–Ëœ+ûl+›|+—…{ŸðÖ¬ë4¹€¯9€Í$`A‹‹­[ð¶>®lò| ›=£}0Fˎ ý®Œ–ý£õÛLÚÌ_ÃÄ]âî{®°á|uƒÎ"ï­±Ue¨†Íˆ>93RÏêÀ 6ºå¢Ê?ûU¨õl}·V¦ùm)ˆ¿e¡»Å‹•ío[zÞ&¢Z¦,Ëߖyùz.æe½aåÔïvˆðU¨àrõ?à듄}ŠLr4¬°¢l*5QØDU„²Æ–=pîòs?rörD1 +Î'a•:¾ôäÌÀ Ib¾ÆâEŒQ8v`ëá*;Ô2a“KhþÈéÌ5<ŒxLÐNä“``šØü ñBÑfŒ3[¦ôæÁeÛ$ç‚«pùÊõM ä( Ó±Î$µÙòfHnn \É{`Ñ®™r j·ËoϐôìFo”ˆvžà+ÈÃî±íï(M½W Mð̄Í,Õ Ü.p¦Ü€'ÆYJ~¿Â*ra)`eõÊÔç[ ŽÌ¿OïîŒX) 3ïkÛLÙµ·¼©gãÓÛûÖÖ%IûœÙ]3ÌçÍmô76¼õye¹ o¯™ãêÛrÚ61Ö-#Ý^W`[.í¶×µvýò‚/Üs¹¼ý>ݖ3ÉIï‡P!I'Á"³÷œMî¹¼‚e˜­Ô²—Mnß‡‹|Š×µ×þ”•ýTáO~—JhËYÚ-&Í)š5=ózWîtS®eõÞ\“K6H‚}§[r5Öì"ór\6÷ä^¿)w¾+ww[®¥í²DÊËîÎ\͜¼M•<›é¶†¹m®cËa¬@ ‹þÚ¤íRö7†Îdàœ2›;—öÎk†ÎÕx¹B=.’Š/›Ìâsnq¿»¡éV†ñ´½ˆaMÄ·ç¿L¾Á¨-+XíF¹mX¾ŠZv„‡ïQ>ê2ïô%Ö[gV¹dö¸mJÿ5©¿ß„~hàÇÁîÿ>¯÷`êý—Û Mð?¥øß$ùÛˆ’GÜbyÂáÛdÿasP¬ÇÄöˆØ˔÷{0è±°&ÿ?ÍÂî»`¹q]öåöÜXæ¯]À{~¹zYöõ;¶{|ÞßÓî^nø1¶{z¿Ÿ÷{yÚÇ·öðµ½{}ßî6ìrc¿~pŸ^ݠ؈ËÇìËï²—ýüÞ[n¸¦ÐífÐâ5¬Ë#¤+#œ«O¡\|Dz âºu%ÇõK9ìZ^ˆ×Z°s³]ÌÑ6ûVCµÖ«9’]A«WÏyËÊ}³ËæzŽ¸Û¯óÛݺÞw¿nUÞ¨‹íԋ}zk—î.êØ]Õ±¬;tw—ý–'_Þd¿nÍ9…&$¯ïÌ_×Q¯lI~±åbG~Ûe—›q³—ë;ñ*Óü¨-¸|€9~¯Í·Ø?lË}0ãËÎEtû v¯„0dUrÔPиdâ.Cßç໡’KökŽh#ˆfëBÇ¦ÜwçÊìhù¤µ~Èå2Ÿÿæí›ÏÞ½|óþå›/Ÿ<™<1ó–ß|E‰ò—Ïž½ÿâݛ_Þýüé³/¿yóì‹þ@˜‰ûq ¤»–î}.‘þ­Ý·ú†GÓc<ÿüOþõÿÏ þã.Ýýúî_ÿÍÝ}Áô?ÿŽÿA]¯ù©éîéøe[ù†„<?O¿¼aÂoٙ]ÌÐÙé3ã‡qJö"‘]<[4 È³1þõîÏÏ æî~=þIáÞÕæï☀>ƙúèØ¹ñÜø·ÕÚïú½K­Ñ¯Éµp÷§ñH½mL–½­Žgúù¿ÐçG)—zp÷ٓG¯ßûÁȧcëwû6Oã3ú’ë}î®mú’œü }‰ý¾¸žæ¾$?–­-ûüܗTï£h֗<úǘïÛÜ÷S3w¥ŒëX èJ)÷͍AŸºRÚ}®Ž‚4ññ¹'5ÝS~yíHK.ÜíÔ~üÀŒI<Õ¶¦¦9Îé>:×l޳¿÷2å6Ç©ßǒƒMò~Úè¥r¾'—žMuõcŒJ±©Þ7­¯¥ôyªµK:ÕèÒ<ÕÚ%ëýìÍ]Ò×.éŒï›Þwišqí‘Î8z4ϸöH§|7s‡0ñڝø]»ëÄÿ « x⃿wôÊ1Žõdwy|ÍÔ1Èat"ÄõwÌ×súh¡Ý—0æT«cTå"B+ú;}&ŒeE#gϤñÒ-[úû܎ÑЭ]ݽÌsŒ“’Ë=¹Ð6ï’ö Ž~}E9Tç7ô÷iì_{AgmºÍK9ë>>`=_«TՏ¢K»N_¼Ëà˜-l'LiÚ×Ü ™×ß±œç÷+¯…QŸÖA빏­¤íèïóËÙ3x­Ã~ŸÚ1úbo‰¾îßgÿž­ÖÒæ=•¦ïÐÊ}Ω®¿Ë6™_³EÎ`¯ÙüèâØŸÖ ~Ÿ_ӞÁ+höûڌ‘Ы=Ý¿¾%¥ÒºÉ¼ûÊ8·†Â£¤1n=äf+Þ~Ÿv…Òtçhº³´•y÷•tO–ë3c9:•µü>·c4ôEë@Ww/³Çi÷iAÒþc#Ø+®[EIØLúygmºÍK9ë¾~@{¾V©$4ªE—v¾x—i÷Ùˀ¦}Õo¿O»ÂhØ9Z‡î,mgÞ}ÚC{/`uèïS;FC_ì-Ñ×ýûìßsÞ}ÚG¥é;蚷ß×ma$ì«;˚™vŸvўÁ+Xúûڌ‘Ы=Ý¿¾å§œ6’ûØZ¦$”bK̇\ 68„‚K‘úMçPò“t‚JH;pü8NäñaêӐ·F/ÇéæDF°M ØHmڇ!Ût£õ!µ!¥© ©Ü³„pMfÓ> 9+”T¬‘2628~/­¹œ¦¨yhq1['Æï¹æ0õ¢Æûæ‡xMLÓ^ يð£Ö‹1¿%QRš í*<»Ù 7¢XãS:¥üFt¶NSZ‡°W„‡ò¤î4z•J’±fLêØ´ŽV•Nê®å½Š1O°öH'X{4M°vH§x/bÏ=Ò)Öé L»¤Ó­]š§[û¤¾—±ç>é„kŸtÂoib\DgJ>4öï¥ô7ùËñÝ7_ÿMëùùo^üã¿PLwwÿÿùË7ËFÇ¿®á³~ÿ¤ùJ‡ÞøöÚ~ñel‰Lû Œƒ’¡¤7Éã#Oçzž.oÒñ‡Tßså_VÙ\2–ta“ +m†ðÒýƘwþ ¬cѳޝ‡Ñxneêe LaíÎ8X?@ÆçŸ^Ôøtù«ÑÒPüZlS+c^[/y_Ý-2>ÿô¢FmeðôÞ¹ù±' + V[rë©§‹îß £’§×ë¾h4*†¶otl¬N9µvµß"£’§×ë¾l´Œ¥’ýE£ùžpµß £’}£FÞ7:ökìùbxéô¿2Ž×ÉZɾQ#ïãlÏéâMÃ}Œ—•_§¢Š}“Fþëò_¾YüÝÙ>Ö°}ʯ«ä]mÉߗ拑K&[áMò4†6QÉM²z/éàMòZÉ ·ä>D¦¦rQÉ ²½ü_ǁÄVÉ’óô0‚ï÷¾¯j"oÞu­äÙ*ù+þІ8=/†û‹¿¨f%oú²Vrƒl•p£¥ßWŸÒþMّÉeWÍDžû2Urƒ¼}Ó2ΗÂE£ÄÛEß'ò¦öµ’ä]£…Eä‹F˽o-_4º’7µ¯•Ü ï§T‹—Ã;ÇZ/‡w%oj_+¹AÞ5š†ŒáÛE£ƒÅ”.]ɛÚ×Jnw†ûRüåðzºõrxWò¦öµ’ä]£þž@ݍ'åtÑèJÞÔ¾Vrƒ¼Û§ãŒMdÊÜqÈÁ®^켕¼Ù¾k%7ÈS£ÿåËE¸ÒàF´û‰/ü0‰N춗úNh•õn’ññ§ûúHúƒú¤BàP! oå,¥¥çCèEåþ‰ˆã`ñ¤t“LÒi+‘­Œð-’JOì“"WTRsžÍã]"76ˆÌØD¢FE »¤‚!$Ռc|œ,òìÐO÷¡‰bDÌ÷!T/}-䓐 +Øzޟª— +»$c=‹ =Dy¯‹1x¾²¶ñ~ãeºÔΪù j@í%£'cí†ä¥"Vc¤{OfŠËèÞáÀrÀxŠÃû…¢ìž`¨€Ò£ÉÉN¨ ‘¡ ƒéûèµ {­¥C’¦OÉ+t<éå³ãÇ«ðLÒ비é­QzTîóÝÕw.»KŽðy$‡fÊØ±¯qȦ^ÈC¢ëw¯”LãF§ã`¯p¾ô”!'öÑÈ5¿’ƒd DOŽë2ސA0ƒõqf)l°¨À2št<«ƒœ²×µ}KBäîé²äµ:ÔùFõž0ÀãDñÒ\÷­£ÞtO!+ ÓjQr’C6“n™ÌBû\×Iqlðòí¾AtÝG!?tè–±¾]œßn´íx'¹šÀ;¤œ›T2¶•7rp|¨r›X×ÊÐ,@$ÛµCIJ¤®P‹•†(± èK/|"p½&éÅ;~C/¨›X…x’"†@bË3s :ð4_¼õÇXeyŠíPEƒw˜Z£©d©cˆO8;Ç +¯‰— q‰Q7zˆ˜#—Rq¼ˆÚúxdY!/ÁjM…Ï”@ŒÇ£kìTä3ª£WŒ=¥²U€¨Uv +MXá<èî´Ø¥?h.éîé*˜56G“(΃˜°èó΃ÈGÛ/àéyº…Xc ¯ç +õ´ÉöMrrêAV[REÂ̍—Ç)ÎÙ±÷U‰‚&àsv<µž³%&žÒW²Ãi؃H®D¬ J?"ÛºpÎ&QC¢³‡T§@¤?9††°Œ£0zå-l5æ-šÈ}ÒÔpAs›§‹?Hbé f“ÿF·‡TŒA|‡WòåœdhÆjëUç-øõ"ÙÊE¼qfBŒ"¬1ÞJ*’$¸X« 3Ýeœ€|~ |ctƒãI X·'­ ±.5Èn¨UhK¼€TkóÂìè$é`¬Ú âx Õë f=•h˜©*4帩HÖݦ—#õˆÅ̀Âù5äâ"ìëޙì?îà1ò¤—'Çà–ÒÐ^'Ä.†œÂíñ(»_X¨c…ëç…э·pCØÂ9î2g•Or™Gl ‚òv¥ EN%ޕúqö +pÿ]áîê»þÓ¶TÉÌ+Ç ±•ù5ȔAÞ7“h÷„×lê\I€\/Ë´•‚Þ®Kš|¤Û«< 8¯ZQ®j­X!M„v©`ÅöAÏ6Y#$iäŽadÅTˆ¼•…HŒâ9*UVƒYÉÂq⧑ÉI©bSÁ°?Æ x=^/‡ ‡Ä+È_ÌÌ!î ò`Çð×°æùD&8†-‰•cUOα÷ì CÔ!ËvEµ\"‹äOÕ€DjÅ{„.¨M!b™B̺Jùt ^ÈìèâPÉu‘ +ðÏëï«UÒ?±òûÇ©Ž'Éw'/5³%Q?¢Ç:í$û¤$»èôÙ&³§kw"ˆ ì䟸ŒÓ£<ùjL Ç6Yy*šEqHµxÙìpZбJo2•WãÕ÷ü ސ±™rA,·½™.¡”%­V“äµg,xñ±ÏjêÎ~.Ùä"”$dVÒ¥6ˆ0‘Å7!fÏö’Qk¨¼È"ngÙ#µŽ†"µ€%ºB3&%ª˜ 9)pNŸuxH8mÂ<=߯‰ +.†F­R¤Dðd‘„&j•Š§cüÄV»'¬‰zÇ"隐ÇÇ ¢qè‚PÚHoŠ 'd ʅ^£Pl´^j—OÈâDÕ +Šã3>ó¬m¬Ê³¤>t­ÀË"ÄJb«@&¨©¨ªŽêD¢%û˜ZÐ.ÆlœT_'JC`¼úsèÊÃ;m'Êk)b±vè ê+(*«š¤XÔÌEF}t,­Ð!kWï;ˆ‘ŒÇb±m5È]võ«BV$íӃÈ8ôʋ’T筟Wj6ó¹]¼(db·zÂCï*¯gê©7ëöŸ¼²›BxsºšÈTԙœ‚(T4+)ÁŠÛ!o3OŽ';=ù#î{Š•š'âÊrY]0)(qðnèy+,d³,èò:òn…ssÔa`y +]Uíšl½ MMÛ﮾,¸xî²XPYá…vÉ/ª!ÑÆŒUÖs!é-V4m¹¢–¾ÇšE 6ÁŠÕ¦°áDv×b.+›¾3ö‰VàÄ6͖V1† "ÅÄ@ª3Æ«ñÂÄTô¡gûIs€Ù‰¦¦2_æ`Xƒs¼Â)¼€[ϯ̺np²!Ú6M3Æœ†Üz…ÏR²!Ñ!ô'< +™ÌE$ Z™Ó!S¥¢‘9f]§8w>›ˆ —á?ŽLfzXDÈU(fc:% ·ùÓ[\íz´—È]yÞÉøõÏëï;Çbê&‰Ò¯ñ<´2絤gYwl£Ÿ°¦idžˆcsð2ìxꇘvY[…ѳQÖ^3füXºœüMFD­€Ìëåïôx*!“Δ&fì +VϞ/JgX—ÁÅiå­ªLžŒ@ôânb }~}`há|3ÊÖë1÷Cg#ú‚;†fZ„ªr= +9”LN²ÈXØœ5,2™S,™ä2r +,#+B« Õj5Î0h¨|.q0¢Œ~‘Ï &5B—dȦsjð“t2ûâ\ƒ°¦N2͈i“./Ouj%í£‹ºH¦!¼,qzk½Ê‚$EGÚ“¦±iLÞGè¢/©¹fˆ î£fZá—']ÕGí;äV9ªµŽI‰$ôàÝ[õ‚q€SµÃ‰u$’Ü\XÍE)7Íá@ ’[õJ{)p9Ò¼:`ɬÓE´¦ >í@IÖ½B[³ãÁÕ»CÖ¢¢fÆ܌m?^­xjfI"m<‡yþS2¼ë³ÕT±¡5°Ã±.aŽ¡‘V›§êÕY¥)9띘ðà¡'l®SÇ0O…6ïJW‹;\ $¯U}Öj-*„‘T³ü– +o~VÆ[ÔbIööd$'Êäf= ƾ‡ù+’ü€#*³1†5æ¢Ç™G­ƒ8¾›TDIÑ@îb),º‰mcÕâÉx´N??¤qøpg£žÿ¹ª!¨ä_d/Š%!6•Ñ+9ð€`û—ýLü»r ¨Ïº¤Â6&U œI9°cVRTôè-âÙ¢ÇX©TހL W±*‚dj•ºÕ¬Ø,æVÃÈ­VޒÒUbfÆ=ÄÐFd˜rˆýTYñõÞ÷¼¬)-vnðk&˂!n*ÊéX\µEu„µèñžÐ0:ÜN q“uK¤ªÃbB½iD*l:]ólw‚LtÓ°/Ïü>D¶Õ©k~,ôîu ‡ò‰¦ØM¥ ‚!›bDÍç¨ÓLF÷¶g„“³Ž"Ý_ìńÕŸuðú,ÃRÑUÑ‘ýæºbbуmÑp'ñ‡‘ó@–a.vŽ!4· +-z³Y³ö D?m¸E`ˆ€@\)© +Q]ǬÊt=áHÜÖà d5RŒ!€|DD]èÙ>Â^lÇia×õa«a֝aÒ÷A§ Šö:ÎóººÓèärpÀ¦I:i®pø”Ó2Yú ÐCË(G´_RR?14ݘME#7¯H±ˆì¡Ã͆™b-FìÑ“á´ê .ä¡JêËÖnâa«à^͜òôf°îEs`ÓÈ`Û`!«» 6{â©5ĕ}âä ó³j\Í]䆫 œºÕ%³Å³Æ(|SoëÁÒÕÜøwnɶç8DẄ́M-âåH㴔-GJJ.×HU‡vZÚ°Y2±qÈ7:ÜÊ+“M «ßvE^&Ò-€8æ2E;{aG ;ÄBqÙòØuÅ6ÔêDPyI!_nÕr»Ú£† V ±{²Á7À@î 3~7]‡ 1"0“77e¶CÉ@S¥û ·V‚a-g;Nø‘ I×7ñ€;b`:à€†ò1×ôYxy•øwh[5g¬Ú±ï<|03ˆ‡>èòŒ[‡‹Ô=ãu)cdrs*IzñERœZH:†C#Òƒ’$ §R•H­@²Tq|éFðð{ðÓñæØ q›”b'}LÚj@$ž"ÐüAdùÒÆR·r{VƒŠ§’d­ÐÁ[â:Ø>V¢½¾ÄÇt{ Y@[%ž NJ 6 …äbRA4éâ$K2Ý㮣ísƒsd’ÛƒØóHg)N5„­†FˆÄ?.ýî翸ûóÿ†7¢˜xf[ +\‡µŒP89­ÜԆËöɇµ8ͤőäǝ07 6–ј€%(FÇv¥Ã)¶9éxˆ UP²ò3dбiâ“v,JëèALKwvÀÐ¥Iå*Øö(Ʊ¨Œå&.à: +›ñ Çí`¸E‰aG" “Ñ€Z2«S >½VÔp–I§&›ã@KAiÀþ”ŒâÍ6#†WÂMQ¼/Žrø'F¥Q\½¹i0 –†¬À# Œ»S55:ˆsVˆI\²!Nr-‰4¾·F÷+×p }Í+ØyìZ¨ü̹ŸÃÒÞìY@2¿ç ô_rØÁن:ŠwBMõ°KRǰY“¹R¢í2¢Å„µÍ™O¤iB™6õ+$3[¬L+G…>³=Ûq A„‘éUN6©voD%¾ªDUÅr/»øbœ0C"%˜ ’BÄÜá7âË*Hj͈ÎÜ´¶· !6N+Ò´¶„mXuÁgcYl) HdÚ©xÛÆœ€ÉMÌYÕnZï*"‘ÑUxÔ0=Hؒ$K‡.õµç¦Côîl ;Iíx`Æ’(ž—4®Ÿ%PDÒnÁÙžPè$«NݺšbWd2©¢M£ÄИfTk¬ÂߢœCÏUþNįMÕX™I›ØC7ÀàÐ#uÊŽí¤²Ä¤/5±p“£¸E2 ì¯Y Õڃ€`‡ºª„!ê§Z²á¨S:ت0&5 2ÍO4êIJU•îZœžŠß¯jû¡]™Õl΁3žîÕî‘wŽf÷'? à/Œ:]ý•úlܵǃE*º–ôxœAQKõ~¨4Kñ +ðf:²ª0W¼²è˜+ºÊ± +Æ£E;°–ȸ yʒbˆï%µ–æ¶zÝ/P4èˆz…Ô)gsà{ˆøÃ$9@î«èÐË;Œ³ë$@?4õšÁ•FBÕª² ²$X¦›!èµed­ K…/'`Æ0éÜNq§„sƒ•È©„÷Tº½Albž/«¢P(ªK!/]DJr!¦„eÜb^eÌ)¥wÝòXpJü;f±ø š‚ºáu#㝠*9ÅÕ(ŸLÇ¡bYAenC°ÅU¢ÆRÑæ¾ZY²€oŒ¯܎Còƒ'ÅFò’o«8ÁçÍê0‹4fru@lÃà{4µ¢ð†"ê"¶¢`=4m +ÎתF9·ú³Ւ8͕èhìТ`&é…ܬXˆ¤b6ímC`T™Wg4!¹D5H±Š¨äÚ-0ZLŽkT\4ƒ¥â5e89þÅä¥'§ÁkëaÁã`€§ ijY—d¹«YáÏi¥ª •u$èÀ1áNÂdçô–7ÆÐTD¶*Î*ÕF0Éq\4*#2ˆG!‚½5#3ÖU¶"ŽDPƒ¬ž J÷*JP,¿ô"©Û-°dy'•ÖTɁ“8šú§”|¾(þlsn‘ϸ´q¨\[WöɑL"fã½qÒs«™œ×óNö¯–ÄŒ ²à̺Qwzڝ³ ?ݑ›¤4r·-³#³‹™Éj€æðU+t¢Rleԃ®e]îSs ïzÁé_Z^›+­_!#†|ùpÊù. "Ä!TœByƒÚ$Ù)±ë…’÷½ˆÓyŠ#¿NšÏDîIUõyÒ49¯Q ˜)§‹ã.zò¾€`=Õ`>õ-¸ˆbáølBTß±ZÅ,h©‡®ŒÈû^4AxêK€Žg²ïªñs‰Ä…к@(N…Kˆx’“Ö„yuÆ>‘Ÿ^Ù¦§äXƒÿÙK<꾒dŠYS2[®b¹ '5ú¥5~•c»sPž‡(­@ú&þ£M½Ñ)þ™ƒäÑc›ÇzŠ!·Å®^:Y$v[o¤“YA™]ô:²÷{eªNCGfÕ7ctún](y·.4¥ÃS›ޒÉ@¡é ,â¢L!y-Š 7ŸâEQ÷"U1;ïê]Édš³Ü]Îém0bøIÕð¢Y¬QZ Ë XÉú¾. 󒒫¨öJF0 Ãñ4ª¼ˆA5#¥[å¡"·¹9N˖<؟Å:>-óräLM¼n2˜¢8j8·UP¼›»zٛ WÁ"9êœÀº‰(Œ’\L~­·q´T©2}%ÏÙJ($HÖÁM*›ö5˜¶›Ûd«ƒˆbSºA ‚(V2€þ™Š1F¥3KªÞ€þ9($´:ƪ‰zµR“˜âŸÂ‚ Ã-29[ûJΙÅ$BÎÿ#‡:65Ã!䗰o9¯¹'@Þ6Gˆüø2Ubqô¾=£›¨AõkPˆ8k1懲#¤D¦·Pµ~%nÚjjL¼E&äݔhnlú dóÌtR¯pc=,@Šä¶˜ÈssºÎo“½X*•¬ÓV{LP}ŒDò„e2 +3·ÈҕºiÄþ~Ù·•ì$´YÉ©Da‚cÀ’eÝâä8ƒ!,CX²ˆfý»©•1àyÌ!—vÐv{¯º •\I\3TÁ©HÙg¢Püª‘M}×ɰóùÞruŠB8 5ž¼}ZRú¨ÃLˆl¼f"›ÚÔ|…ÌVDnšÿŒ½9™”i4>Yñ\TrYCÖ%0[<ԃi1e„¾0hï*BVgMPœÂÝÈpgò1gHff•ûùO€·ªa5lˆT2@`ÅYB bgÃTYCèȽ\ØÂL¶ ¨1RÐ#2Ù¸zX“pEÏ*0 5êuNbù¤(Z$Jæ,â¿U,wÕ‚¯!t—ˆ’‡Ö[Jkœ†“ 'd +šødCž–:ÙG%B(ÞÛ)NT9ɰ†\/Ô30®d©è-¹ÀkºO›ÞË[$qëa‚dˆ%i¾ +©&AFyÖ)qƒ”ÿ£í9ìÐB€S},ñÊ˄üódêÔ> Ô`¤“År;ɗ"5ôlö¡ûÌu%;ò3XI—%œhH ïØÅĨÜX¦…)“<^fÈÒ¶7-a$›&Aà=ËR~ikÚ:v$ɧ-0pLtD)Ì7 + Qø¡ùU [2Æd0í GT[Ñ5~ù0›`AÒIPà£é–8‚+¥Øìܒ +Ú½eOY©¶1³ +F—i¨²ÈS!§k0‹,.Ʌ + ZOøSC¼­²bÙv¤µ auÑkŒÂ9:±>dÿêáðW…»*™¢~”'ãÀ9˜mžNd‰ëAâtUÄWNr”×,­ñŒR +‹b †eí¬éöršy'צ˪úÔsñ–q#K’"QÚ&읠ƒ8cOÒA€AlÛ1›F„<9 îê&V?(ØVÖcܛ¡‚œD½bÄ3â»è §8qKuSuÍUA2,e3P_¿{P•…å,UCâEQPòš8Á¹‘êˆòŒTU*&RX¨¢S¼lõ©¤ýGÂD’vb74·€ÆJ³¸*òô‹¹x|Öï4¬½®‘0™Ò⫌ÙÑ­lqU,¨˜3Ç«u¶zµÎR†>ÉJ7÷ÊiŽÒÅýmž~an k3Oÿzb9ä!P€XùlrkZƒ6¼Nu3NÛ/AêÔSÁø¶ç5k_ðŠ:9 .JN(wœ@/™³nk9ןڡ˜Óa޼zƒ êÆîÐL *÷V ¦$žp´Oј(ÅŸ¢ ӍŽjÕö5>VqÓ<  +L%¡YÖE*mÍôÙÍb´‚ÿ)ÀðèlyL8:FÊi2OŸ,ß E• ±&ÛYHWÂáՖ˜JSéø,KÍ7M}ìš5_ÅåC•,¬±AÀ×1Uû|/ ÙQ;òndNí¢‰†+Ѕµ#·Á”C 8ΌhÎj j]“‘¾mT-\ˆÑXðùIDIŸBù}²‚ ‚xÕ9ñ™-«,QÛÔŸ4X‡óŠTE iš£$™»ŸCµm¡ÃœQ†#U5’“í J7Bš„.hBÍ”ÅÆÇFv pP²#uEÅkQRÇ'Å4.×4l–ý—“dZZ¾d^uöŽ<‡*¯=ÄO{ö@;]XΜ¿~Ž€t.!ÿöÖÔú›, @’s¢}ˆ×È1BF2 ÓÉp9ä`y2 +ô‘áÉ>ˆ|NÙ Oú¢ £St3_5·RG,&ಇ¤j©‘_ÜOñN©kH#UÐL*ˆG䈳®‰ +=©î÷ç°QU‰â£‰A¤%¥Bɚù¼ád¡„‚bƒç¼:ê¢àôR'²i¼Á(œ…–ôºh,ÂKUe1k]·7ÍS6€Küb4¬'û¤¥Ž{Mǜ_|«Mі›G®‚À—» èŠíúY„ì‘Õ£³wö‰X^…EEò“ ß"©U´»He}{nÌ–å +ØJ0ÿwDøí8g3 äœ×G*ˆ“Ý¼°^ܲmb äì)÷Ž‚aÈa!¸ÊÇÖ%ñŒ_CºüBDº†ˆ(æŠFDC7D[°tc¸*4PJX-«Ó½‚E FCø®ŠmˆjÔä}ۗB}…è47 {f…’<©ÀÁRöÕ^YOÊçƒ×ìµ(Š\_êõ¶Ãá»Èåá%å¦|¾ª£•vH…{‘VœæPAä^ *ÑÐ_«†sÓêvêå‚q€Bû [˜å@¾Í8?oûQœ³ªDƒ4Âäû†c}#'Šjd”[Ùé:'uEւ-‘Û€»ÂÊ¿íV” /é—S{yš&)*pدÎ* +,l}å˜sÄF…2Yý»à‰TE±ÁöÈYµfk#£Wb·£“>&±¶ + +Ãî’ó˜Ñ +Q÷¡æ¤œ;69çŽ]"H¦K (ÓVÔ”ìd“l>këÙ÷Æ Ô¢ÆØª§·«=šó¼5͹„M­NÁšCö‚¯0euÐSȊ²¸¬¨±Ëþj.4z·®)(-¥ù¶ƒžN«ûŽã†#œ}E32¤ ìВ¯‘ù?i°¯¡ù)šDÓo܍ô~ˆÉ,†ðæ¤*á£|N\í/^„ù€‰;t4ë‹À7»)(„J…B O">HݎPP6®ÉdyJ¼ ™2 «h—•9,÷Ù)Û¡k6®IÊ~.éÞèDâR¬°@D‰+IHl#øvQïÅ8<µL\œKª™wóõ™Åu±åRT'€ZDkÇn Aþä‹Cµ§ë­i7ªFÁm»aÑ}ÉI¥Õ+è„[J͐tˆ˜òzè®äÕy{Ùú‘Ì$ºéÇDž½º”ß ©‚nçF/ëÖF R¶mt%ϵ“â&¹Än‘7^Ô­Z¾šm£+yS{Ð\ã·È›F/ê~j9s»2¼+yS»™n‘7^Ô­fµin]ɛÚ)‡AûyÓèEÝhTŒû^‚2^%!¼Ë‡b­£t±5kžD½Æ ­±üä"ôÐð²™ÎW2¡ŠÉG­õ"äÛ]Í7Àçf|4ðö´v;Îþ4¯±xMúßÄE@òVm^Y³qéeÇl>ªšqõÑ*yçºÍ´Ý5³úTÉ ²Uò×m5œ^3mÈÁÒ-¯ÕÜ&s%O¯×}Ù(%ÔÐ Î&r]i_û 2*Ù7jä}£ÈÕ»o´ÈE{ûÚoQɾQ#ïÍü·o4KØâ¾ö›d®dߨ‘÷&Q +öF=öµß £’}£FÞ7Ö°Î 5TåÑÉ|Ìt*"·)àâ8á´sjœ„°‚ZOWÛÒ>?3Ï'¯^—R8º=¦Vòæ˜Z+¹A¶J¤Q²ô|Ñhsø¾Ñ•ìÄûf ‰„#ÓgM¹šƒÞõ¥(¦Ëæôø0PBʒ€ùõ–Ì7±¨+’àÍãˆs­z™‹89…Ütñ²é% ¯7hEÔT6À6µ%æʼ—‹â-vÝ=YŠ0M-.Á0¯·Tºi‚NQhr7/ ÑWyÍož‘ÏWúHXSÅëƒL›È(Uã'‘•¤Ïš‘yßÝÓ~?ðIiº™¸ Ÿ^k½ÇçÜ$£’}£™’¬ÍØzY©ÚdÀQ\%¢x)ÉC¡w­órÝÐi×gR˜Õ<õáY;±ï²“Hí³â‡@ÖZzupÁ0DÉl^Ùfø.!¶³V@«OÝ`ò¾wÖÜ®{är¡¬É6†aòSé +ÄÈdoEØ %µj ˤà:ø^¹rq²)ùéõ^\v·Ïê± hy\‹Ys‘¬„œ?¾«‰Á}?f$Çesk?Æ~Ð-gWPRíâ ßYC>Sò¦°¡™E£¨"—«kžH MõjæÌȰŽE*á4{땈´ìØ~5+CߦSH³w½"‘'ˆo°©8ü8üS~ì&`û>äðòHY$ÿ +Û>ù.×UèÊžÓù>aO +ò'doéHÉ¥\¢ž¿ݘœzÒØÂ¤®8ؘ8fJE_8W(æJ㩝á=]¦9#¨„&ÇrŸXàÓZçP§¨gs0$• ·–H}¾AòQÒÌPÓ$éÚë1,”A È_ —0"#ª\€›sțl¡b´ä$™1aü*/H¶(Ύd)|½D“³9h¶CZ}¢0Ø Zâd4ŽvSÅÑ|mM½¾&öµ[v𯂒ÿ !OÉBLÈÿfÙî»ø4˜ª©i½&髼 ¸$ۙru[P¾×ĊŒIÂÒ$Ù©*®ŠNÀ¿èi/e¾ïÆk¿ªÜ²#æ¨Ïэ¬)Є.%˚*ÔD¶ª iZŽð_žÏ/Ö=K,³Gn”Šž®F¤:Ñ́®ŠgeûLÛ+BFþ«¦h§œZ̙&ªV8šO½Ž“ž÷0'j­§ë=µ^à^£ŽÕk½®©áŒñÆlè~ͺ²VLЋ+­q¥O¯·¥6ͦ Uƒ^ƒŒ»CҚ慬ÈÉA'T«v\sÆ +²ßaL˜þ A…J†öBÖ¢f˜þ(5“(€læÉ2Õd\? Í! ñ&6ãòíôµ)È9Ì´× ÃÙH–J\c™z[±úÒ9s½L×lÇ$Ñ·KSîJÞØ`/z±vOCc6¯¨â­áD¸Ã{qŽÈq¥hæ§ò­Kø¢öºJ&ª—]öáOÒ9Ž fpŠKë=ÕúêÁ® d„NÕ rZÕ°=üŒͨ–TŽÑ0¡•¼ŽÝԋä­­“þír&Ò`÷°{¹k÷à, ;Cq$_¼Ғϙ®–<¡‚ŒT£Ý@á›g;\7D,êW˜â/:¦=¶ôI›5JyY’š„9ٓS×ìôÌʄˆ›Mh5G½|cCžFî¢9íGPwÂ={®·€y»3ˆü”E#Ë4¼‰³=l–ùé¢Þ©Í­ýЄÅMB}µ€[Åfª_°[CÉ× Ò¤ÈU1äÒ. +€¡dAÌQð[Qcˆeì&¥ÂA­2DbBN +¾ììֈ<¸½)0·é]ã¬ÜÊ I«åV MAX|/‹Ø‰øIðš®iH4'2ûXäôD¶r7Ž]¾Ô½]6e(ºh·©Mš˜ÚÅ7ڝ6Á"՛Aƒ¨N!%ÎÀyÈçôîkDbrªãìu—#â®ÊeXM€FØ /E”p¦á¬;VA5ä­Q§Ku->ú¢Îblz¿Â>©!)`Şdû<å@²»òôÆ®$Èf*z 4ç¯Tbµì«q¾0Àœ¥9>øµ4ÿ+aKpåW›îNã°÷€“DC´8>c\ea”áv–ޛOãÛx¨™³‰˜a¹âg4]&˜6®å±Ìë„q|™¢ß½ú÷ø]ÉÈÅÂh€¦+¹¶öä‘Û7¬é8›xlìlT0Cq¸Å%€zŸ£xFf®º™9¸¼’û“þÓj§ºt¶zÖ$3y + +ž›»Aæ^h÷ª$DÙq-_5Ã߶𕼉[^+¹AÞ²(oi{·65ªn]ɛÚÇ˗ÞS"wí¢jQ!!ʹ2uÂɦ=]ïÛS¹-üËÏ¿jŸ?¼ùâøî›¯ÿöÙ³÷ï_¼{#Äã‹/_¾ÙþÇ7ož½~ñÅ]üÅâîãÿ?ÿƒïgpwþÎqùó?Ç/ÿküðéwéî×wÿúoîî zöwË’sîóÿCW!JÁE §6êÓ 5´,9€ž®Ÿ¿F[?ýúíBÁ™®&h%‰ƒ†¥P¶( +¼ïœ¦‹é‹~elmÎÕ06㟟qG64¿4*ô:KJs&3ÖXˆldb+¤³0‘•ÉA bØ>¡vöH½tÇ)ˆ”oDžÍYk哐ŸT ß ' ©dJ-Ф1ò{£W‰Ä <¨çKíôãìf”Z½¸V¥‚(= ¹W#s~en,÷(EñH|ÚÏ×Ù ­9Ɯ2¹"Jȱâ%2ܞLfI^žNÃÀ¹H¥bNé#cC)Tåó5\_ð('…Ö>ùTJÇ#Y9aÒË•1åü(Íäm9‡ 1&]‚§‘ÏׂÁeS¢Ð\ÎJëñîêêbÿ¡§„aô¢+ j  {¡¶–u¸ªøehZÏ+yìy¬ìe5áúy™à‚¾5±³Ê»õ¬ÃÐäšóí+ãö&²ù +‘˄Øm‘UIæ Q«®b°l›\ÿÍëÞçÖö1:A~Ò:[ų,N0‘á2ŽÕukŸï —µ°ŠÀ¥SëDòÊÒp›LNö²˜5ˆèÁ´u *`!È]*Bíl†„ ­ +Bd$˜k0b_?ÏÐÙ¡èéXÄQ"3ËR!9ý‹,º</K6 +!ÆÖ­^«× ˆÀ­Z,¯F—èDo,‚F… +"›Ý˜Èy10Þ¨’ÓÊ´ +9Aðµ¥½.ùí¾Vj²ÑÊVEˆ]÷{;>´¯?;ÕºwSÈ+AlÜúkP› ‘ñn%ÇIÀ.h±¨£A&±¸wCÂIKäVðt¡ðB´H’G¦q¸ 5]“ùV§AÎâ:"_åÙµ_Ìb˜˜²¤:•gIì•g}ÂÚà¨|²$‰gb h‹cÕñ øáU#V2—{QrÃU³EWÚp2i¥2’©Cÿ‘¦´ª=À꼘ÌYGjéZÁœuºHZvY–ý.DvŽ +Ñe%ô ˽~'TÀ !Sþ›pÝlKô¢º˜WŽ_m #¤ ¾k.ó 5Éûõd·ÆO³×Uªà™X½pùËzµA/é®y&–);sì[R.aW‹yUˆRqã[Ϫ-öÁ1™“Õ<5r,Y‰¡^!ú™hõú õúVm­3ïmˆÊ¹öbxaÊ:ž>½0Q‹LèzŒSßeЄ8Æ´€30?[ª’åx%b®ú¬—©¿è:Æî\æ­ÈâážQvЬd2ß;ödÈ ­Húe!ÉUð¡!D6"0QaBnςÑRšÏªméLp¾Ù¤•:íó):+]é¥ý‚ÜÙªm®‚yO#Gqb“P”A\£¯¥‚Âç#IÀ×]ÇÈè´·œ¹‚‰«èL/Vxý7Čc;ËÞ ‘ú F© Ê=Ã'Lgf“k÷r~žÊÄ5Üd$ ¿GL‘Éa+ä¨Õ0¹ëÓT¹ +¯Ä*[ë²ÞÓÚ +ø¥Ìý–örWÙ+9ÔY•CѺ·Õ®gRirŠ"Ãk%w¯g3' e"çYf¢Ê„ןîYøf(Vš"}UzÀáÍ׺µö— òràFn±˜u?g1ÜCë•/û‹Ù‰2ˆèŠvnלž4N’»òFg«¥5ÂÇê#•<«cߨ;ˆnéåÐg ’œ4¸×É;Œ‚Ü«Œ;…1”|ã¤A·\C·¼=Éq_Ü'ÞÌR§¨TDÔ»T¥WŽõr•ŸÐÁD¹®š+åTàLä{Bô¤dœ«MUÔ'ª€7-9n +/E–JÀî× +D7¦g=͇Ëtþ1(Œ¡¦€R©q|ƒ™'=H•…•*)P¹³)™€$é;äA@ʈCÝâZù>5&Ên ¢ª—ɰDm>Kâ6J@:¯¸E‡Ÿ”L8LÔ~ŠõB›w”+F¨¾ÍDÏ9bDʚ$ ÙYqÅ­<‹¤'ò4/Aê‚ +ô,aádX‚ðÛN!¯U}±z×ù4'O‹¼LƒlJ4¼*c¬ìÓ® +•/;xйæ•/¢?„È‚œŒ +9¥˜(¿kòt~Œ_ít}'ÇPY) Z@Xv柮y*:$t Ë±IŒÆ8$Nˆ‘/Ò#¾WˆÌa¹R]?œ‡Dǟ/b¶åϺ²9 A¿çµÑîxHÈ@Ä +=J nD)¶#H»V%ð¶(˦}&KÒ&òeéL´C8‰ãIˆ)®õ2 +‡Ù¤Åg"ã$„Øä°£ +Bž¹‰VÀ±ÂLf˜Ÿ9ՃHؐøÊºŽ +T§WA9ŸÀÖøãœ‡1ìó“jD#ÇUÑö‹ÄBKû*sW¹ï‡@5§Ð +`‘ÀÞ¦…QÀ~D0ìڕP·SLI«¸ÏãZ½hÐ'3d;¹é䵒¡Õ8 N2tDgۗˆ)¡Š€µKÄtH‘ãZsk¢S\A +z„\$"ø±Úp’° 'ŸðG"™3—Å ŸN+¡O÷b϶œÂ”¸k~€0hàR…‹…Èrj9ÛÈ3DA±0~ºiE7J›äýÎGGÄ"¾rT`=V÷7ç.Tbª2÷—=ÐÁ,¸8‰Ãb#²pF"Cä¡4O¾Àk˖_sÔ}TŽ»¬cAŸæ +Ç 7‡ÝÑ)H¹Ö,9“¡ø4h¥BL¨›¢á±¼¨÷dƒ/uYˆ*ýrÞLjõÉÌD¯¯-éӄOd—L :øœÚ[ž¶M4 n+Ýu@7ºS¿grUçkáÊW2ˆ²,˜ˆmND‘@™Év£kߘÇäÉmPf÷Ê>Y Süc«*ù®èIÝ®nÅÃ5óP;:]º}^QnÎÎ8‹Vœ$PŽéó1@˜ÑÈ2…Êbj¸¾p;BÎlKT©IõΠ æÂD½Â“CäOÚ>¥‰èÇ­ç órèAãsóñÈ9Pˆ­ÙÕv2®”ùSØܐë÷÷¬ê!È e¤‚bái;èª M¬ê ֌ãēoÈڇ-ÝÉMaOõT€Ë™#Æq ³È4މh!4D—K¼"(›™Y_m%ËÍf»™Ï ªµòÞ'-¯âü+ (q»Þ׍À—"³‰s0èFhA Vzc˜áÁ@ÚV ykJÔ5× ü@Ȳöx×Ü$àt'O—2E"wUܒ«ÕäƒUU—<L\õ95Í^Ö»rá$*B¬ý½6jš¨ÊB|cjՙnnGÜÔª@² ÷9H7ÈAúÚÈjŠø +f!îrO ˆX®}õó£jó˜]‰s¥›hϰrD˜$uõµ‘[Tyj4{ÝJ®ÙK^e!&= (-_¨Z\§|¥6¦kó²ó )Vf’g²šò T¤ÉµW¾øøô¬¡ƒXÊ.›WÑ0ü$(«†Kän0)˜À(„/›SŠÎƒ?áÙP£úµäèØ<êƒ}~זv"WâüõuòS%Ã2TRUˆ±À aÇ'"L%Å.û¼^¯ +k°'6`ÿUZã›ÆÇ'`¶P%½< +@'ݝ¢~Þ°›Þ:!ÙŠrâ†+$®v`Z>›-c«§«I1ª%&²Ç ˆ?A*¨ç‹>«v;xÏóŒJi%(آГø)^ƒÌxG!‘â:‘l‘MoDÌNDFdN2h,W =K¸˜Bˆ^Ä¢$×Ӝ®wLMEþ ;¯• CB0ù6]!Båh࿱3ß%E†4ª÷¯bž}:ó‘2&gœªþ-z6{‘c1ïg2}>âÆ7>—Ù›¨Ðj£d5ÍÙ+PL\ !2!ª™…Á`/!®¯ÊŽMrý|2ëE40ug ®xN$41rʳ¦@s½^ß·+tëÚ ƒ,ð\"[z +b Å[_M±;iŠ:ŠÅ°i5äT“Ä2ŽéËut²¶[ºÀV ‚+6¿*Qêo9ˆØÕ—îUÚ *ÜnYЎÚYuÅó5Ã7¨ô,°:Il†íÕ5’$ D¯aŠ«¡Ðwôœ«Ë!BdL[–+¨PAŽVœBXƒJnÓk€޳œÞBtúd)M= j}¥KXÜ#°#«#À=”W7Š7ÌV^CTüš±Â.z«Ü#XPDÀk%wÝ®Š AC +˜(FxŠÈF¼]­¤P"ÿÿì½ér^Ǒ&|¼üq„ý…×¾´~Y´»£'à%,Û펉 BF !A-}õ_åòdð‚"@Ðò!ùŠ! LœS§Ö¬\ŸŒI…3HŒÏPõ¬°n¬Dœ5ŽÜ³÷}ÓfÍØ°ö +–‘ÝÌ= M€ªÔdÛÒAÃ0ԓ©ÜI­<Øò“, AyQkÑAêTUçûOmÊ!¦$±Å`ÊśAdd1ÎÞZmb¢§êêÑOKpÕçÐxdÁMÁLI«1 !æZSïà„wé·Ô‘lëî#ó7 -{½¦˜Œ»£è…À½©¾¡cjøy·ÍI»ñù›þxrŽu²dr}kûyº®ƒT%ÑK°"OëVX¼ùÎE=¦v‹Côfཝ’¯ 8%"ÎEè´«™+DÖke/…ØòÒ`îJâ‡G¹AÌXžÍ*U'­[­­B’¨}Œ«µ µtÁ'‰< ÖÉE!b +³.ª q–ÃV8j&‚ß +lƒHž¥Œ‰xÕ]S©Ù‚rvC1ôÑ ¢´zc¸b§C²"r’E®dN޳@»,x'›¢’쨗™ÚžE¦Eø«ÚÆù2hð<8G:aË ºK‚WBˆ³¸Ò…¨Š6}n¦ÔUØ8ÊúfyŒÕ”Ñ4c +œD´f$!rqØô!¡͏O*E,aUI®%¼]*Deëj³(2¿ÉÕ@ö_ð¡…ÄeXÝß ÂÁÀ‚¥¸î™“n©»6ÁwK7Sk§e†f©¢ô¬ŠÒÉà3*Bõ(¡dk ™Ú Y±™§w™˜æ–Ì˯yÎÈÛv¬dt,›q¶¹åJb_Û E'œ I£]lð)Ñ4Ǻ£^ŸBÐ㑖ÏæTÆ¥_òG½¨E½Qâ’ÏÐf0e4õ€ßw˜W – '×$ŠÑ t*ZJU b®J‹¦Øã#¢#näL‹M r ²Fª%-ì1ˆÑ$Ý$„B„·,-Þ½A^Œz)bL©âЈµz!=’L€¨ú˜&LnDÓh”LzzP"GC*xë8kgÕܨº{ÇÞR[ËR¢IžÔ:h7’]°ËO&¶iþ÷•ëO1)nÓCñ·8ÛÛúýn‰Y, B„O-I¦¿O;u]/¡­9’)Ö½eŽæEc"r·¥p`’T¨–äɚ“UéŠH|æsž¼Ýò]Q:…›Ùf<‹0`õø+Ù[Ձ—:4&j5õKsÄ1˜yT £`Y||qT ý(üN÷æp K07{ÉfA…{ŽH\3@†¤U3ö+áT¥.· Gª%`f©Ñ•ƒO1ҖLÎê¦y1S+™G©O‹÷ˆ²îDü%¬CO h·*ç _ ÓÜÚHJbýIg²}ë¦NEm•9˜ œYÌ@@הsv,& ÎªF“·)[«Ü(ÄX·È¥Õ’gtÁŽ•<ׁÑڔ˜œ†^pªÐa2¼%†Ù.47¯ð¢"Y4â\Û¼ÿ<<¥¡tÀàœ5ƒsp0]#rŠ…‡Òûz«¹ Ráï35¥Uƒ)4gcülˆ"ï%=9löÚlÕÄöEˆt’÷.Íj1nì_˖æEô!â +èT›«_RÎYÑÑYMwhÁb9œøï…¨Îã֑¤ªr¿ÄŠ7N‡6b¡6HíhÎü¾]FÞwñ/Íj¾XsÆåœ…{P£ª(Æ&ˆ‘6%@As3ð[ Sµ÷‹âtâ|iÐÎBj71؋YEžäÜo™K¤gÕ¾7Áúj7^àíÔÖnR˜“¤Yk !X‹)‡¬å*‚k©¤/‹l_A@!¢X(1cÕ¶ ¿e5cU:œIca«å"Y,ñnÖa)ȈClB­R»]:`9ë _MS`Óè^—ÛìUÕÈÎDÃZMrˆY–÷/ÚM©ÙL™N„êCÅò‚]·DĤé"Vª> +ÿå«F¥…€}ź¼Ÿ¥ö©,,Ð<Š`=˳ ɦ“&¼½ —=å>ê¾¢•Ê]1m鐗¬k¼ž:^çðŒc%Ã&£ým«g¨!†·ÈæÏC¶‹K·˜é|„üâ‘\À¦C!êEÉPcÙ¿r£2Ò`š¨+Uª˜E†ˆ*A‘ÅSŪõ*êŽ}ÁðÔB„ Ka¹Ùó¹ ¾ƒ7…û2ùº™œ- ™a]×hî)¿É¶"Œ½hhtd°6¸îÈ,0H<Ö>mÉU¼‚MQåôَàLóÈÌìe·f6A…׳ÑÀL˜(½Ãš­)3´tBFn‰¿ê3 ©¬ †½Q‘ƒnÁœ¯Ð¸ÊÙ£¹ ZBÆ —d¢J@´7%W ZÒP5 x%ÔÿBýՈ”’-¬›1—‘:„ä=b €bé~™P·¿Dÿš»M^Žf~r‚!Dó"@sS¨ÚNÂŽæ}-Ár7ˆ§Û³êl^g5—Š|àJ@*o¢§¹¦9Ò³!Aò\<éŒ3­óoÞ>«¿Ù‡M¨šþz?'xÇç $èÑ(’:wAü9í®ÏÔ-¥=.!rÐF²Ô¼¯Q«C^² bg7Q›»Â‰¥YD3|нNº†yQ©%I—‚­´ff%rϊ÷‰DÜ0±5³æ¹Tƒ†£Â^šuVµæ¼dæ‰ÿ©Qqï>Ó½øŠ¿Omáf¡$ Qo=-1Ú¢ø9±¬Í€ …é%òNóâÑ 5/kNVÕ:kº“b9;ܰg]% [VmHLÖ}>‘ ¨E‰i¤Õ +ez%•¡- ²m8Õä¡;Ã@|‚$$ ðuAò­™†Ôì_%vÎ|Bœ#`ÁQ°ÈPšlMp¡lXҕ›IjºÝäýMˆ: ’U®ð„óÅc±jke±Øَ=\ +ô±Š`½É 6Ǧ~fô@ÝàóÇJnАÞä~R¢ÊÁM¨Î¡8{ˆo$·2^Šrð¨Ü€çL¬S•t"š`5T­Pz“k³¨ú ã¶ciÕkN=s¹¢ö¬|«Ï ᢁ9€vV†*3ó¼iË× +%¿U€hH Éàêl£ZSf¦m‘ä t1šlïMh@Á‚ØòçÖºé ì^µæ¶:ÏWý~,¨èy‚Șvh—–ºpÕÆG=(z9Øgâ Aà¢í9¤& < I9Á\Á"×tSÜTM‡•Lª¯[¡UÃ+@5s•Ç•å +¤êÇ:'X±Aõˆmœ(* ÂìDäŽK:l2ìR^Ç"{esd°Nªukì¤+ftjØ%ÕC‘æR1Ý¥·‘ +Š ßI^a“£¬Œz¬}ÇAȯ/š¢©e‰ùMÞ1šq2ë#_Ñw@ç$uÙ¤¸°”®(å)OlKì3}N`ŠiɊDy§„Dxb*ID™”ìëÖ)Ki9¦0ë‰DòEJ‚dFô$‘ìB]fFíåõ˜B˜MꂇFdÓ¸gFpGÕr%Œ4ÏCE¼E©ÊUu¬Ëª±UÙsÉ|$q¨–¶A‡Ä3Ët¥¢(Û&#£Ñ¤#È¡X«Š tcZ‹lkÙà›@»(BûQl¡ASˆFb®ÏÄhWõ5W0D÷zä!ky)¾ëtU*¬+ô’HøŒ„“Á$[™ïw þÉð¦êbû Xìiî׳¬D‡S?ݞ©.²œw@•ivÛf+€x¢-`w8Áñ(ãj&ŸªIãͼ÷wÒ(¹Ã±€.FÅ‡£PÛ´˜sê@²@¼0Ü yŸË¡á +ž«µW¡¶ +:qR±Œ ·àܧb·òĽ =,‘±Ô+ÕiwŠl_UÈpdpÅqdÅîÛ yj`À‚NÙ²"4ÒD7|SWT*›“iDVµ.ÝpG;²8_I†¨&w’ˆˆ¶ +;°i`š$q†,ž¢áÈLï?ñg„Á°“ïÏà¶}(‡7˜äó± ¼ÅÅ:¹vдUg…Q¨p|@°¬3T©5G]Û©|qW{T9‰7ãP‡í’ÊO[C†O“×½Õ¿é’÷¡Ï6صǝ”+Fc(>?ïé¦mêSŒ¦¼)àCt†(ʲo8ìó²ÛP-ZÚduÊ#¦W–v"ÀNš’ÁÓuIðµK2 0Â)fNB%‰¼ +©Œ!Źàе›¸—u9™“ÿmiHY3ˆš z-ûxÈó3+¢0=A6g +æu\åyZ„ŠV‘-B3› zduS—Œ·3y€¾o¦(TóHÞB0šøÝtköW°ôBÕ«êUoÍ¢p¨¬ íÌ¿©N¡¶Õ»sÈx„ó>A "•°nxŸ×•ߏ}Áã[²¿iE3¬Ÿ²r¬O+¦$!Fø€( Á¾ié7| £&£c¦£,…˜UqjÀÉbá£Á, lÔD‘ˆ}Ys`,E+¾ÐêÂ#b[äG¾6 &›5ϋUS`ùÑ¢Rüôµ Ž0ÍwÔ30†9º1‹Íâ^‰–c¡•¥„œf³5+¶Â3® òÃEcÉÊ;ÆnRX!AƒA¨W +¶•¬Ž!C/eð9 ]bKŠípgUͨ*‚\ø¼ Á;e®L`à°¬Aêð¿Áq-XµÁ‰âÒí&ÜÁ-Kp +î •" ]ÀLÐH5¤Ìè}h–‰ªµ&SôŽ•ìL”W¯`Ìæ,®bä:T< +¨"3 f$í°C+ E‡Õη hÁJŸb²kE ÇJwœ_z>¢Õ,a¢pYêmešo[t ›»§§>Tsêiäõ֛ÞaÐ43V.VEBMpæEÅp‹PËp;_ #CÒ[x<ªq¯‹‘)Öeł¡Ɗh7ð4!VƒéDzç©€é 4›˜†×=ޱWotÜ4Þ@˜ º ›!ÑH#˜Ž·LüiýD3e×OÒ¢34R‹€ƒˆv6¸H6ÁˆŽ†-h~t4¢§€«%n9q­cÃIBP6¬ì n‰k‘­B‹xÌl,¨Šo‚Ð3P0n ¯Îù ¯˜MMk3å‚Ï‘3fˆ{&[(ČڠCà<æÑ$1™d¤ ÀhVa~˜ñê~Kæ(lb¢”.㡕4Ûu¶:"ňj +´ 4à“ž‹Ø—|²ðzì&oD… IW׿šÌ®Ò–èí˜,¶S Q`pŸª™OÈÀltdZžd_ ž –“›º4n8FÅz¿)Þĸp9¥”vƒUŸœ¼èÑªÙì 㷂ùóâFgAÓÅݺ åîÂÖG«ÇyRЏ藊”E£¶ Ôã}‚ mÖò‰Þ,r³¢}ɘ—öCÞcbàVÓ²øÿT§ˆ†ÙÀìßxT$s•+ dº äHATÞ9#N¡s!š`’ •Ñ×hH" +¸Ï@žPĝÖ-'æîCHî‹'<鍐õ Èó!íCÍ^D4g![¼ñ>NX·åö(©Áʒ5I¹õŠÈ#$–»¥ +IôâØÌ›@[3Û§.:s*ŸlsgYEݦžô謚³Ú;„iüŽ‹(t«ßáÄu rŸ~ªZŒŒÓ?C$C7ö×­nYèÈ"»1‹¡¯¢éÑh·e-Î>‡€:êԞ5DÃEõpS,‹#| nþfr_èZ‘9{ðƒ"@á”𹂵6ͱ’qg5ñüœ=¯^»¡‰E™¸ˆ'¡±1QZµXjz=àc úlÍðåjX'Í­qö©„f¶5ª qš¾š€h̃4PG |±¡®^ku+½oFÏÁ0GØxf‚+ê9§P»d—Œw a¢Ä¹‰zkˆÞ^]‹›:×!¶¹`^JeÑâàÕúh­›ù‰V<¢jõBCÙ©…ÏЄ›mO£MC³Œõµ^J0˜VvWCû-ÉxÇN_r±¢ëDn†ÝJa×ÇJFÚ¿ÒÈ ;bè…qËBàÒ¢êúk ©ó †W*$«±åæYÊf}YÍu!Y +ƒ= ¤#c_P-C4¯ƒz‡ðúŒ&g¿¯ *ú•Ã$V!$3=L¨þñ$B‘ÛâH$²®M³Jœð#aüÐL ziڔB‚Õ1 “Ï¼î ‡ä²¦a‘Ò€3Y¹«|ЌM"¨ÒwdvñÅ #¦·ŒB’æ³ðÏNñÈ7‹(lKÙqoEŸ›Æ…h)91ù†\O Â%ìÛ"¦&­Tèë‚׌ˆUow­-a~¾Yíu¯…C}Y£šV}‘œ:=~¾¿«~.ÜI¾.eâ$úº˜³¾Šž®$}=Ç+oÁÑö3’lª¾ +¦˜|=Íù7U%Xµr^´ “µÚLÕÑÃB‘bP Å1Fd{ .‘#(ס×J™š¦’ê|ß {å+9$~Ä`ùO¾bûŠˆeb ê-öôSëê¨*¸ÅŒô³ˆ¦®}¬d³y³ Õ¨dvŠëPÓf÷¦ÛÓÆJȟ`¡’ˆH'lâ±c@<²¡vg¤”òÙph ×‡K ÉÛë“nj×j_'¢‡Or–¤¦ o’$B*èÙ +?ÀÕ'µˆ¢ôW|¿™|‡ô?ýOގF†S ÉÆx_Ã֖´An WÊ}¶dŠcusüÀ£rƈ}6<`ga­DÔ8β“÷“–ÒŠ;ODEÉð†hᓥ—¹ùÎ'¨q:*¤SŸ¬F·PQŸàãP0=µQæX=x¸{}„žÖ—zBÑÊ5:óÌâ̂šP>Ú.š¥¾ü¼·ºÁ/Ï!´5&Ó'ÅÚX¹I’L^ÙênõÉ"OºH,x‚p_ÜÀ>-ö”çv‘·æZñVU,ùÔÊ&”µkú.$tZɂþu‰ÐÇ‚–¦í˯Ú}WäKZÇ Ÿ³æøÓ$z؋›YˆœÀ(‘cåÀØz¤K~G'!/élª"P8Âß*@©ô€'ѐkUù׏y$c#€ºTÓ~IÅ3J1a !ïÜÕØö~¦Û¹óReAÓr—Ñò…¡C1£^êf{g°AnɎñ΀Áœap{¿T€aÐâ§!œÞ¯V-@‹ÞY®k0Ü\× ºÉ š"7@d­BéÍÔæºUDõ‚áxxw½!«)œÈåº%ÓûY󢈶ŠT¶" 1sÝ$á`h­Ôۄ¬wø ¨„Üí„6ӜÚ[eræD¿`‘êÞÔ~B´èµN4ƒ\¶vëDnQp2ï$é Ù¼\ Bߟ…ë¼[šå ++Bœ€³È‘ß©F`ãÒ ;Š3ãF7¾î$ëk‡ÔèmÏÅõ{©1”tž*y´8Xj ¡_eì;£N’+Ğ$“1ût0_æ½ :u AËò +U’YÞ¥‰¬£¦Ú®·d;Zîq@œPh7¬ÄÚ;ð©“ÂÉù ‹'î\õê3Š bv˜ À¥ˆ´.’†Î„°10°‰4õÙc~+d¨·-B6Ê*'Xl ?[¶ f¿.z¥™Ôî{‚UãS”ˆÝË|X<‹¸Šê)§ÈÐÿYBÕÏ, w 4v‚p xâAžÅþ’¥('©ªh—Ê-ø‰>.ðéZ’h݀¥¦òWpQ­ŽF{¨eíÛ¥ôC€Ý,ècÁ *ÏjY¼XnÞU¡œA‘õ^V#2œ¨˜’V•É ?Ý5 ø¤Ë†]!?mbÝkY¼1JôÀ’›Ð “Ë“y“Cd¤;𗰲Å@ ¼W_ m"T$øDÄ2/:lÐÞçE¡‰œŒf¨_Qy“€¬>ü—Êà( ”F=J!Ÿ‰rg1iÎâ&v¯›ÀYŒ¿Êmo0Þ?f ÷Z–ôu*_sš¦òãQÃ,¥af©Î+½-Z,Ñ +h·*íØ­ªweYcޙªB¾KÕœ‹„ÕüµE½Ô>Ïe² +.:Lk•€qÝz«jT¿mN2Š9±Ô‡è0ÏøäÞºò'£EgìDâ¡"ÍD1–î +˜zå¬FZ-…®ݱÕj_ø µš¹€™¥[ÐǬΠ+"s©³5àÔÇ}•ómÅñlW²©*a©Sµ–…ŸèZm•†£ÅôU³^×H( Ó´P9+Џe‹¤lm¬, ÙÝz™­F“›uf­½,û›Ø±B{“áºá¢ÅdqüËÔ-ïIÕ͜·;»«‰&«w‡†5N=#‰ÿSÞϋž‚MÛ æm÷[Ú/=^UÒ­†Ýø ꀢŒÔiÑ#ãiÒVë߄‰© [}V§kË]¯éöÔ]…9csHò˜qEø‰£Ý—x‘i”#Ü=MÖöe)Ye¦ÂwYïKf‘õél ã j¾6Á"b5¥éˆôu©N=Ù™ëtgÉ6„ÇÜÀ„6߯r/Â;zµx=߬dpCˆ@ì닏ƒÈôÙ¦àj^ž.I™×GçÉC²Í)€\7€Iß n¦/ÙÞ²A©¤L]ÍàûÑ48jp½o‰áô¨"ðv %ë²j@}òƒn~„.y„Ò@·À]ôÀŠ]B…ÆÕcœ•8´tÃ@«§åoɄ®eÚº¸6ä}o —s«ÌºÝpoC°B—}9²!,» + zTª5–B¦  /‰T7B«zLsoÒ¦±ª¤BFT<ŸTª£€m!…ŸžMØjì_×(Ïh’ÉŠHh ½_Dõ£jJ‚}ˆ:ª·l[rÇéKÆ`™Õ+YXÀ¡á\Q? +]”ä§4r?‡EŒ&!ëÉZ&¶[AÌÅåmWC ÉÄPÍ|µº“"?¦. [œ .Ë\™™´Ø§ ØÑ¼¶à´ÌÎnI,Ã4"Xb§_Š¿UÕÕÓ,˜šÙžbË(YyKM¡Ala–¥+,#åfÞêÚfÉXµq™  «¥–‹#I«Rfi‘³Cžj³˜¦m™dҋqSf©êªkáJišE ½K<±(ß²ãfëæÄ¤,T[q«ñ™P2“±RºÀUW8'š150Mn’UjæÛ%¢V÷[%y"ãŒr·‘+‡‹´ÍŒÁY屛í2›‚¶ ,R~¨ '.î4ÔÍœ)92˜N7³ç-Zæ'ox49‹!âVKI£®(Ÿ*t ŸêûIjuSoLÒ#Uµ_2lÉvP*¾ü®Ô y»KtØ1ÈÕ*Œª•2Àt'D¥¤nÕ¼ÖùÊμÑM.ªCM7÷h@õ쬐ÒYɈ³¡(ä }Ý-˜>…‹0AÕͳ"I~s¨ÈP^¢Ú6÷F2E›$ÛÄ脓 aÔ@!£™7‘)ÂA½ÔàÅ<‹4 ìnjÉÑéÝòl ·HU°nÃüdÖ'ٗó€Ø #I³ÚXéÖóA÷4Š ³qE(¦_Odм¹P°.+PۗàB2Ɓܕlù@}A*蒾‹÷a§ëÒCm4â}ç ¥Påº-n¢<ƒvTw•g5h™ù‘ǰ’éÆ3“à§´@üfƒŸR'è‚kBPOÇ|0šù煉°*TIëBYì㜞…‰1Kz…*žë"+#‹!—ÅދX¦A„ã¤-Ñ5£é @%Ï\,€}ٞõâð„¿Z/PdŽ•¬0‡}–îÎH6tFԀéȦ›ÒI¡Þ%û>£åò66¢¦øÂDŒ†«NˆeØ$ël«KD¾U‰È¾§¢É1¹ +„. ƒQƒ>çQ9Pѹ/²+XÚÍÚº©y¼KÕmÔÌSfQŠ$q™B„þ‘V|ºnZwwÅ1ÈVª ö¥³j +ÉbߋÓ0\vBó&ˆ9«I6á5üŽG`Xz^ ´¹pѲ^`ñÐݔñ4ÏF7E6JÖ¾ê4iÞÖ$Û$<«V"ÈKˆqh†ËP,¢BwÝÒ+¶Ð¨SM« ca èÇ-Œ@‰õnŽDs˜PùbDtg‘¡2€1jC%œßŒjAý…e*ÓIB¡mÇ4Tºœð»¥—AF!ºYÑ†­²¶ÎînZ-¬Û-?ƒõ«ñôÈ*™O-[9¬>«Föi!OâU=Eê6äB\J²Ýd¿v¾OsRV—K‡*‹q3+I‹ô¨PŠP&D:Rü° B ØCIb{t¨vÒ` fµÊ +*§EYBá¢$r«q%åÔ0!°gÁ?4t¸ýÇuT¦ŸÍ¾œEM2uQÏN115 ¨i}ç.ÛW«©—Äé{²•'‡Åγÿ ,Q7ՀÖé¡Ü‹†:–ÞRÅ|3Ó¬ò¾$¤™¨Ó—(Ê6£ùûR"U*ü,£˜Ä¬-DµãV×%MȈw즸¦™£Ð­Ây3ÜÜÎgÁFàM"TŸÑîÔ.×uHf³W»Ã…’qª¢pD%*ËâÌëÿæ' `€N¶â&rö#nªñå¡ZåÉåZ飆†œ=Tò˖2V–*ȳP(‹YÙ[ý Ô¬f}Ɂð™K%LØ©H„+ +ŠIû¡X”qYê¬Qv¡” +YLí4%p^$^ˆ0Td‰æF +±)Q„p*s-ÌϐÅÁՙ… ‡„ –,q OŸ€Šh;g¾æd×:à‚A!sùT¼nyA|/7s`ϓ âJÈË­-s>̼–h©”µp˜6¢…%Idƒ É.Y@Já™×TY.j*ði!*¸nOzȇ®nÁ°”âhÌA]I!YþÔ¦b"Ї**ÂgSÆ)2ÀT.ÈØü,œa‰ÏPGcYRJ(èA;–M,¡è„Š a;.v +'H· +‘Á/vŠåcN%Ébé|ô¤Æ÷”åÂáh”ŽŽiÒXðK¡wˆ­ü¤ÕеÒ4Ô®X”!"„Kd´P¯¬P=ð¾f9bmŽ•­/r?1#Aòæ2i©,B d(ä@‹£0_@Ùh´º¹’@µžj·.J’Ѩw(ˆE0d ŽŒ·µõ汏, 噣aº„µ,섛#²] Á¼‚R ÓÑÒ+-ZžNК±LœõDyæ°5@ö+Ê´EñMéÑðÖ'«ýEg+¡œÌs(hª|=äkɜ%c÷~Qq.ÍÏ öâ %#3>~2Ä Öl@Ê• Ë-²üÔµÒb& 0¬dÙþj‹­*Iœ™I„ƒÌXÂÍ*˜%ʰU–èPNŠîjȶÂm=ñŽXŠ@ö +EM)"!ýÈŲGr˜ Y3óЇå3&ÖÕ $¤Í% ۵ȵYö>IQƒh°ùÔ5$àŽAÊæâAh ˜ÝÖÐÕâh,-pJ”,·™¯ãLȖ#xè}EbšDEâ]ð¾V5äˆe<Á"ÿòdhÁ.Æ,S9xŒl”hxž‘4Ï\°Ø»´âyœݖ¸¤^ìã"L¨èI‰&g[LáÌÃMËþtƨ“*Ó£Z° ˜49 +»Å ȫʗïϰ&ŽN£«"»]ÍA£¤ßqì ÏŒFBUq’Ä §'¥¢UŠáQæm·”€`&ÅhEùèÙ)³ug¡·ÌÆÛ®ÚCIv³g +ÞÚ5Ý]˜!¬A2—Hì Ù¢E«]1Jã®Î +e6™±G3ù.”<õ|-”C‘–jً³DK^4rÞÒál1~ѐ¹@IJ»DÕV¢Ä‡¡MoPÝÁžI•¶d å)¯1ÀÚÏ¢n'qZ5—l¡oi-‚€µdå éIsœÓS‘®BCš‘EÑj&SÑó'% ˙ERøWԒ€ÿ,›"YYº~*\ìYM +§pUý]@%>Ú§¬6ÉêÁü.ÏârJ3ø»Zœ_ZÙ)4ÕU@:Rhj…K9¨º’ÚÒ_RÒnzíÛ£„¨€—lNoŽ™ælαãm¾H+…ëȶW³ÏbûG‹üŒÃ×,73À;ü¬nßn IZµa;žÑ6©¡ÌtO 8@êˆm]ö\GµEzJÝ.rõÕãý M2 é¤>Ú+M"è–=•´”ÔÍN¤‡lƒ ”ºî2]Øà}ÑlØpwª (þüâÖ£jR. ±IT¶*Øö4<…›í–Y ú5-;Èñ Oyò„å1t”¿$5ÄÍù†9°¬Et€)b•a—=[–˜ÝÔ¤þj)aEHùŒì›‹c¿2æ6(æ¹3pfÁ[W«qœð ñ + +¸L«~šq°ÅtâÞÀKÁœtÃËXQÎb:ã\¶’SZ¼k@|ï e¡VMåDÅٔ,Œ#ɕ‹Æ®Vn¾t¤LT Qa.9ŒDØ ŠzX5-¾-4Ùhçf[œ¶¹,?8Ñãdƒû¶Ðô" –JDÄ£!ÂÎۅŸœ…4-är©x² •‰Oïî…süƒÏ“p:ä6~íBɊªÅ‚ŸA/¥¹ …# ·"C šª˜ë–í,O—€'úuRw; rµ`zÉPèLœQЊч¨ wµì ‡ š÷°à£ÑÈ"Ä牾óµcë¢dŠdI7ڑ¡ .À>l‹–‰2YGy>Õ÷‘_V`Çr ®V2Š̎GÏHXpZ~=±uNõ\j±ÀþuÕ²0Êâ.wÕÂü²DWȧ (V£Ýý\­½AfG·±:þ©Â'0¹HD¨bWyZdYB8¾»m] o\€ª".BÒ ëUYÅ:8 ÷§hq(§Ùä2³¸ˆ€b YÃÓ)RÀ§ çòÖ÷„è`ÍiR"MbgU!›åᱜɨfUO‚rífõs¡XjŠ“0Ÿ %; !ç¬8¸ÚkDX„šrúµÁOÖ%Ѻ9yºa">8‰ä>”Tc-˜Ñ—x»ý:¶kp#Hgož•“œÇÀÒ]™!ºˆ"Q\ ÔLÀkj/¬6… +³ÙDù{zwÇÐcʇìÈ/oàæä-L–fõ¢é邜³kànÚ8Yƒ¬Ûì3¸Pë™ú„PŸÃrŸÐÊYR:¾»t½[­ì&gð§Z=ùV#sbò—ø”b^¶­`½@è,wq§¹MÀØÚ[m›L£9‹ҁ$Õábµºz$½8DËÜjVχ­¼n/”Œâ¥M0SaÓÐÞWq––ˆ°–lÏ9¾»m ²Y&Jí ˜.‘•…¼qÊÈOæ/ð@7KÞZTôÎ÷›åøÌšœ»ßÇlZYÊ£_D5MÖÊØ¬g€¸#¢E„sT?|ÈbK¡F+’ü7¿ÿ¦~!3øF¿´žEO³zՎYߜ ÎìÊÉ|_“Ö»×vŒü$x¸Òm~¡dd3jò™xéˆÉ¯âª/ˆ–ϰ†"YVÑê`3òqitx©šeB ¶’Ñ*ìí.N£Ԋe¼ÉÐНȈ¯±fšwÌLöÉY·²¥]Ž ֢ѭ‚H>Rû©—VüéÖÄÎ8 Ԙ)â +¹P[–ÊnTùTˆ)Û_lØT ‡G@-W~µÚˆ†O¹Ô¾õV^ Xu3²°9ÔX¡T„ ñ\óËÒï6¢‹Ì܆¶Óò…’#^,í,Í5Kc‡z…e;¢Gn½˜Ç—‘*ú|xÝÈpüåEéD5N¾!Ä Çœ†¤ÃûýøîFŽmEÕBL“d§›ä=Váy)A‚ˆ¦IÔ×- nùT_WDö2m|“ŠÔbœ­> AžbF y´™ÂC_«€1‚»}Iuœø‡Ô¹kâi~zwwu¥kf#פŠÊ‰J1´ ZéKÑ䤨D´2ÄÕ +M•8©V-L¢tõ·©0•¨V…!Y•fÅ$µJɱ’5ŝ, +ê +ã&:ìNšÊR:@ ¹â#b:J³¥MJU q–ÕBݗҐ¯ÈDËáE6z›ˆ¥!ªi”¡ÕkÇ3€ØG"ÏB³ZȤTø¡h +hêÂiu±¦•Ê -². +þUª•¨™¥  ጁ›°¸‡÷Õ¹Ä"²=«ç~‘ƒ‰X±óÙÆŒ¼É·° • +ÿKãhT‘¿[Y€ÝŠE¶²À¢‹ô$^[m^ÔòÃ'X.U+«üi£¥Aй–JEvP+¦¦”f{³Z@¡bíÛ[¯õVÄ.ÄÉX@ƞGQ\™„cœ/UŠ +/Qµ~x1ÜÁby³ÌÖí€U[°< [¨b±>u½A€¦\"÷¨vuV8MNeõð­·bÁ'Õ[Ñ5êPbqºifUˆ×(Q‰Zp·Xònõ1‹x᥁½*Ò¯ +¨™V Z½V0ø¹ïk]8·’6UÑ/’U4%b1£S5¤Z¤¤“\ æªÕÊh5I©u1|B¨z^U°GÒ‘›Z²DïX«Q¢Î“O\ჵ Ë¿)s¢:_iXêe­ZqIཱུÀ`ŽLŠš‘ùß&ºFÍÆºÚ’4R³æ 7ÁdaÌJBQ3H+§:¢lŒæÛÖ´Ôw› >Õ¢¨¸>YÈÖ®o¨ UD4¬q)\m¼FàqQo-ˆÈVK}lÇØž—bÜ1[!)”8«^3¬i\f)¢ó1ÇJU ²ÆÌr™?J>Tv슪ڬRGSxpy?ˆ1<­ÚW³Z­Yâé ®uЁL[Tk—W‰=Öv5‰¢i +Ö1ž.˜¯94áZÓ¼g£’w¸f¡Ýæ–õm­¡,uê¸ ®éøDÀŸiAöƒª)e­Y|a3 Ckz׉ÒÎzH ðãՎ”—Ö$mèΓ7£/¼)Ò¥‚EYL pùƒ,.¾6QɨŠgñÝvõƒ­›¤ß_ צƖ˜ã\Z[ŠáȎº{êI_÷ +$êÜk~…s„ +Ñ- 0|·oà© Î´èî¸P²Ös˜<Šh3ÎEã-ÛZQx2¡Œ¯¶$A£l¹è07h•‚ÄšN|ëp‹riL 7¤'Tdi–XÊÂ(6UE8×î°0Þ,Iâr(«êBÉ0µK¡%¤¦Ïx‡;™­ßj­ãè­kMd ²Ð²aD ¸vPã­edˆÞÐkîê´t£XðÖ”¹P²æ=,¶-’zÌÖTõf‹ÎC?½»Ù9lMHa²‘!l;+uW+B†Ú´°ã‚’Z­˜ôîמZ7nM3º¡i”´‡†ˆ *8´?ú\Â-<…þ׌ãŽEýRu"¤ÁH͗ Õßfu•)øY“NºÄªC-«E f…ɝ¦ñÉh%ôÚ"vÕ´…d­T £i2ºš÷¨¡á¢ú ±:¹7k4¤wE¾»³Œhò#c[z‰ƒ¹P²—±ÏJyAtAHz¤ý³‰ˆ¢ƒÈ]õZ²¨fs¹rP›iô⇠8X'"2{"ˆS±Ú©¶Mq«ßgàZƝµ ÜU}›Å5¡ LÃxˆ•¬e^‚÷§çÏ4ìdù«ÝÐö_¿4@ +š –&%ˆk·®x¸Þyk1lçná÷dª!ìOBQsYÑÐZZAf¥x_F@ä¦Ù´ڼaˆ0óÝ-€½‘ÔA]Õ»¶„$Tࠑ­…å y´G›¯¦DöÙÜV¯ßkö¾XÕù},÷Î÷ѱnˆ¶”:ž¦4¯VÊ%¡{[EjûD’~?Eid—j©Îc%[QJ„¤R0KyÍ;»eýÕïÐÆÅO +ÉØÙRi«yB–t–M.ӂR„Î!‚°v ðʆâ\ûRùžwõ_Ɋʗ J‰{çßé5ŸIˆ© ÍtŠ($º]Ôþ\Í$LŒ=ÀgÁEzŸj +ç´Þuñ0A!Úí¤Ðb‚TcW„к–ÙL‡l@T>rIó·;PcwZ•¯1ã±L—±-åD ¬°.g)MSÍ3ò˘X-0Ü©IòÖ³’s«XÅJûÑß?»Ù0:†òd8=|#ØÞQ僎2‘ÓIzæ©.§P9†óX© ¹ã@+-RžQ» ¡–sç<|ùäoOúÁ/uðÿzÍO¿øí¶ÏùìÓ¯^~ýç“ëë³—Büôì«óËä_þíòòäâìÙSù ¹_=q¿ÿþãû'¯Æÿüã?ÿøqüåþï }þpð¿ÿ;xFOþåÉaê…XÆO73fw +Nj?Lòñ ò¸b$‹ôøF#¯!/\Ž/ÿé 5“ëØT}¡RtŽ”6îHJ`ïd‚ rNôý0zè;|±¦~ð“'ž»?:”%¶†œ}"FH÷«$MòaíŽHÆñDRü®¥ŽëŸ s4P¯,flŽæåy–(Ïr&Ó -9ˆUòô1QöQªò) Ë"tÆñVP*;ù‘b+ç$"9ÞÉq1ˆZމœ +{J Pý„ArjÄ?1Š¡š‰DKÄ$1ïL rîøQN[aªcè=yŸ›Œ +ûÀ$Oep˜8„L¯¯ÓUGÄэ’v”“ ‘ЂƒŽ¨U™~õ¸ÉۃL—“VZˆœ-Ð<%̐´£Ä¢3õþTܗJ),$˜é³±)Qêá2q01ú”«ìªÁûØÀT¹™ØI‡a"§{˨ƏüdSž4àE|er‰©¡ÊAd"CÜë“ h‚!SÙ#ÂTŸ¾Åq-¤OLêW"c  ±¾Jvó[lïÄ$™²TÞñ8•"±Æ–.Bflp!޵+1ê©ö,D2›£’xcº¤÷0o—=¯A”¸Vހº1\”®ÊûˆšŠ’³kجEFKÉV)+qˆ‰xR«÷2™ÃB™Ò­²4Å:ÀD© ÈDÆe"Éöҁ2vaQêÐDe(Z´àýTå‘›O«S8n€ÀÏé˜ð Ĝù[…áñš,Œ(½LLCÉÑ­EÁRҀ—$$Ù±¬ïp«¥H·ºD}IÆd491Žø A=EL5 +°'{‹²0E"I˜È‘Ou +ñ29 " >ú1=ÊUôî‹÷Ò^e¸šó +bÑ£ÌÖyî*Û I´6zÀÕ1˜lŒŒT° Ï†d+¢ÒØ_…mÄÊ=K²È˜È6-™—Ö½6ÀܙA±Þ!ÐRáL–Ô&2z£0³ªŠÊa ‰§»ˆå-慁Ñ5˜ˆ×ÃdÄ*ÎD +}Â:ra3•dµŸ®ßÞt[àÆÐËÒö ÞQŠÏ +±;R‰©bcºñ_%VIÅFKnBŽ:ÒRí"àòqƒTäøIïCÑå#²G÷§Nú¬n +&&#ڜäಀҽ«>+Á|ƒHPq,^ >µtª;>ÚT>žÔ>i Ê‘”uáQ&2¨‰õ‚ 7] ¸¡ÈÉ$ ; )yðoÞ­DLÒ/ê°›^Д=£5cõBNÿ!Äàƒ6ÀéwDÌäHQ"#bê°õ’·kv² +á$Õ¤;‘ÍïÌHØy&‹ÅnÅ׉T\àVòQ8Q–K®d‰˜Ð{£)/$ïlv“`ÿio©ãB,JýÇeÒ6¡ñy½L¸¬,»?ùSâ`"×Ց›×árD®éXñ¨ò&G®$§8†Íëûê̒M¤÷9ŌÃáýUv\@Ù”‚ÄOr$ÀëÉd©\ÈĚºrœ¬»ée)¶#Ö9­•3HçÕ WªŽ@*ŒðÆ"6À*Ou± H؛ÓKNÚZpØ9À`»€âdBeT®]°åk‹õ¦¤Eñ™?ÅwABMΓ e* Qç`yÁeºAœ·1_8ÊldÐÝ­ëiÇÄà|0f’@l¸‘«T93^„R"öbɃ ^¯ü™¹`@9‰:áƒÈàÂ÷)ÆˆÄ +ˆ© ÍárËúh­ÑOÆÕ ®CÊëZ•Y„‰€#iºVjJ0±Ž)P¦3VÒhI¯HLì5„[Ä(J ºkS ¬WÐÙ¢;&ë}\TΨ]ta•!6ºX¤ YI•j€(›ëóxTâ›.ȓ¨yÄÏöRT*Â>lT9£êÇ8Ž€žL˙ +Ã%ĉ´–ÅÓ.Ãåòñ£Nü/Ú×Ìê&år‘ׇ‡@ÈIž.Z×5휞¥0Ù`{«Ú-6‰øƒ) ‹³ Ì£Ø&sSvqb±p©3w}9Ò:•Ì$cc¾TMÐéI5FI9ß'?Çmbމ¬Å¨þô(CF^‚®Ù|Í¿%váÑj/ÿÄNVésZ +IÙòd)t:¹H8¤Œ÷'óGªŸ`Þ¢J-Z˜]ñréR½æšA•mX yæM™ð²ã‚“˜±CÑTLCçû_z@ÞpQñ5OãPd4*„)Nj+­‰b/7鈃WHԝ"wš‰I`¤^Ð@ƾCGXCr]÷†4à2žàe:dÓB¬¢8ÉI“) +ú ÉۘCšU闈‘¬DÖ¬bßSé¨cèV]Cn¿ò‘£Óe ëÜyYo•u| I£Té?»L¸Ð%ÁrüÔ$CTÎlt,,h¶]ÊI‹÷EªàbÐL–ºr«Çè…Ø½ÝhœL ýƒTD¡‘‘U³Wf®±„ƒF‹]Ð'y¬ÉU g€ë½9Ž™j^fÚÙuH.V|(t|’š­<ü˜%¼Eø¾ˆæ>iMµ<±~驊I­ ÷ž^È>3„iL¬ #¬Œy…ß1 +„EÆZøö 'ÁJŽB¾@jU!\ù²»ˆUíŽÜ + +êÎ=[´ ™uB!úZƒp]Q/}îR]NhÉ:@HêÅë½Á±nܤäÝÊ&"²<\d_¦è…“yÊýK½J»œ.JD’…èd:rø²zê©Xa+Iö% {ÜrîP0:“…áT5Ð4%<…¦%‘ºhÆ2ùQ€9ÇOA7= b g¹ + ö¸ºV‹Kó|1&v`š …ò÷]¸‡ãô)z’2· ×òAõ|ø LÊË£ä +èÔÕlB84Ÿ’dPҁ¦ìÞsÈ¢(f]s[GϜĴ SÌbô!¡„|£"TÆä“»’ƒšù1Önٞ›3kzt†³×“7Èl à-Xª0jŠ(ê,”`J +ÅO‰>‚BnòqªÚÀDދɉ}”¦ÚóT͓{«ÉñfcãSm@¹÷ø˜C݀‘‰éàüþ¸¨hJ(U£½øl i7 +9«L¨<%%ZÜ«Œ^Q4Àé#{jTLd‰·±`¬qÞÁQF6X +*•nùȌŽj3‡0„Êâ8ÕRœä¨ä(Ò4ž•ÃÇD¾˜…’íF"ž;Sˆ©ñ­F5²•‹ý„¹ÕÓÜ?œÄ‡Ø©e€ŸeþÉù¿*…U 1a"'€að.a2Ã`²äÀàM” eæ'ÄpšÔM- ¨ÚÉd—J±CˆaS³gî´¼OÒ‹ØDîº_’2&BGá'½>Éuš K3˜¯«zr ¢(„A(7€kNåLDB +“ÇÉìJ† G†òª 0¤8Óô s)oAÍÁöKï«m‹‚)ŸÂߊO½\+DŒ8‡”ø!¢,u6©î’„CËm&¶ëaî –Mò?ôöÆòΒÐQ¨\W6š@$Չ…(‚5¥0eSˆÄ +Bx«ê¡þXÌR,Oºš ›|š¶ÃQR’‘ŸMG8óNŒü¨ )è53옠ÍÐd7aÙEKÆË´&¾¬b§ˆÌ`á4ÙN"„eƒW‹Do wãû:VSFèI±ôs‰R¬Á±pDȬjSo¤XðzSaˆ¦Û˜ ò©.«]˜ÄHL(²j‡¡ëP .„çO2ß¡^ìV‰Å^x +kvY%!¹„YŽlΣÊR ‹F•kÆ%ËC ü¤lÆ®™¢Ïº"^8Fµ)±ÉI&¢ô•ˆÓÊ%‰Q>æÄ×@‚¿Xåªb³îňzLdÀpØ·²hÀ„f£&íÂ*U¢ï œõDÁ ÂæÙ2,Õ˜rôš#hnՕ‹Iƒi·Tsˆ(¹+Ö(œà‘ªØËâ 9aæ™&NŒÄfr(Ö1ÑEð"뒼ŒlÈyª ¨/-6cÈH”=“ I¬|±KÎ)&1Ô¦û«UØ]Nú>— “•â~b÷ç½qN§pýâZ‰E÷¡™½œêrfõ>£ë•6*SÁ·¸mU"_žBlbý¥òä]E87˜E5°n2’¡ˆ‰pC‘²ß»9¶r/œ“ÈÎ%4 f³H:¸¨Å%ª®L=ü¼èw™ñxæ“ä0ÑÔÓÓÄ&e3-çMGÖ +Ö`Œ«J]š‰^”RÚ.æ¸$•@ìÚåŽ9àáz!‚ZS +k8‡êύN®=œ¢ªB˜î Gb ƒmÀ!RˆÉ‚ûËDFےc/g^t9ǼCà1Ë"¾½%”è¢>Ëa¼BLâ- "dÑç¼29yÛoœöËD08ÆôSÎ,„™ÍfÊâš:g¸>4_ß¡jöì0YƒÃg¦Ê ¯Gˆ\˙‰^m„¬h9pSع$xÑG¥æ{܏•QUԈÈ%‰…èÍû^d“(~W=›\~OŽfDàƒá¥éºfóßNS…NéÆ QD¼p4(Üg> §c­¼P@º„Y°ü ©ÖNˆUÔò ‰ ãõÚ(甜Íò:)ÛÏQ %Awºú¡´SŽüb¡¹ñ¤³­Sr“(ˆF§7ã^(F„K‚­mÎh’;"ON9Îçu‘<™ˆŸÿñêòÏ/Î/¯Ï/¿:<2ø¬¿xòÇoé7Þɯ>ûûüûùóÑÌ“ßØÿöä7ÿøÃñ¯žù%uð›Ï®G_üò‡‹ç—ãw‡ôŠúÕÁ¯ŸÜýÛïNž¿â_ûƒßüçåõÍ_^ÿø-ÿî7¿}ñâäÇÛ=ûë«_¼z~vyzö3|ú“ùûӯϟ?{qvÉ¿ÿÝùéõùÕåɋÛý“~ó·ËóÓAù©îýòzÈO¼`=ï¬ÇËCc¯¼8ÿâÕõÙKzlüÂZ\FuùêâO§×'ßÑC÷[ØÔÖîߨ'/ÏþýÅÙÿ{5–áÇ{ŽÄŒM ïÖ nŽðåõùõé×=~ïµ»¼úŒßÙÔo ãæ_œ½|õüú‡nSCïýSOýú|zuñíÕËóëM²ÀóË7œþí.wý×·FsÏÁ|võêÅéÙ¼8ùöëóӍêö ®¾={qr}õâžC{ÓüÌ㙽áyðÖýþüÙõøžMŠwíü͕þúìü«¯ïË77$ôþæ˜î}Qok0;Wóïç8~Øa‘ÏÞp ýò·ÿùùoŸûõÉç~S#¡Žÿúfôðú¾ÒÒÕÿ÷ìôúÓ«W—ÏÆCŸ^½aQæÞÏOrËßüîì˃OöÚÞ?KÛûòÅÉPAžÿñêüå¨ï¥M é]ë{ÛâZ{uo¯îmˆîÕ½½º·W÷~þiÙ«{ÛV“öêÞÉçÛ ÷êÞæÕ½ÿ8yõòåùÉå§Ï_ýðñòúÙïξ;?¡ß¾—ªÑÍýÀÎýæøØƒügߞ¾z~ò☄çÑûŸýÒþóÕùåõ±*›ã:ÿsύpÜøgS[áÞV:ô›Ë[«C‡ykCùáÝ["^^ÿøü¾ž„çzÎO¯ž_½ø·ï¿ÃàvæGsË0­\êéÕåËë“Ë{Û(¶5²AÜä«_žœž}vzrïÕÜV(ÙÍܽ‚¿ÿá۫˳û¯à¶ïî(!Qczõ†§÷òÐÏ+mÚ[òÁn¯û:¶«g¿½/h‹ëôÑzÞ#fðÍìÓ%°©¥ nߜçoÞ ¦mu ~g ÷ecےK¿Ùá]ßÄ÷s ñQòØóóë?Ÿœ¿I4}ÏnÌmÞ.ûȉ;†vòâüú닳덍ë-ïÎ?œ½øêç¸7ïø*ýu‹7ö½7ùFåV¦>ŒÕØä½pµxì7þÙ1Qic±*ï &jkCz\LÔaØØpÞÞ °µ‘¼]\Ô§gߝ=ÿìë“gWßo2æý úÃՋo¿¾z~õՏ[¼¢^œ<;ußà2´­¼ytþÙ¶Œ|tŒÐ#ô–gçÏO6æD\u–.ûþí¼7r×Á{ÏÖ6ÌÖ¶•ÇòH¶¶±“²gf[ßoff@LêáÆb9w©‡ñ¯m鏍YØÔ`vØýù¶–åÁç|Ÿ­ÿÏ^’w’­¿­˜³w­¿-asŸ­ÿ€[i[K÷Ø[icÌü×Ò¶ÖåÁ×ÒïÎ_~ûüäôìâìòú'ßnñnúáé×'——gÏ?;{~vz]ç/›Z˜ÝAÜòZ¼Ý »©AîâO@ð÷‚t~n6~WÔ÷Ãø¶ôØÈ›­ñ½GÝ|@—Ѷö؃/£§”µó‡“ñÐ[¼ˆ $]`ÛY»Ô#îÂ}åkw€?;?ú?njÜãcx÷¶ \¾7Æ%Áï¶µ.æw?3¤Çúñ“Ëó‹“m†þyþüù½mQggÿ³-+”ôþæJŸ<{v~}þÝ}/g¬’mjXs·6ñ‹«‹÷2œ^:~s0CÈ?ýÃÕ³û®Óóó˳“m±ÎÜ2Rá’ûÞóo~n+¡týæxž½)xxt·5îøÍ±\_½—¶iêö-6wzúêâ՛=̋Åörc\nÁ޼x}òâÞ¡]Ï¿?ùq[ÏpkÍðܹï÷˺¹7Ò×Ͻ|7óî‘(Œp¶­;ïÝ!œm‹=V!ژñ…h[ëòQôM-Á#ƒaN·ÅÀöÁ0›\–}0̇ ³1|¢}­Â}8 à¶Ü¼—¶ÆÎq1mk]öá0ûp˜Ý ße8̶´ŠÇ‡ÃœnË ùØp˜­ñ½G„Ã|@—ѶöØ>fK«ñîÃaüÇsº-{éc…ïq‰Gð»m­ËÖÃaöþŸ·çÛ²œ<–lìÜ<‚lk]Žì°‡Õ»Ý½ûï⍭ýåÛ¬ý{¿ +[óÀ~œ«°E؎ÇÇ¢¼Ûh–¡ú!ÌíÑ o‡lm8(j´­¼˜áÓ««çŸn/:}_çuÚø¨+øAèfÛ²¬Üm¶Çfß<,Ø»•{îžÇ3òù¶6ð†ö_ÎÑʦ6Ğ£í9Ú9Ú¶6ðž£ýË9Ú¶®¸=G{ÝÐÎ^\½)1õãbh¿§ ÙKh{~¶—ÐöüìƒágÛÚ¾ï+?û#I¶£p;’ä_p^Ö5þ|[³³?6›96uSckÇf[³ó~›IëÅÙÅ՛ªöHZïbX¯CÒzPð¹?ðŸwàóø¯;ÿ~2~ÿÿdüâ`Sý;ÞüH[/¿%¬­Mk´µ³'76œ; ¶öUB•y;ýWÃSÝ\¾oÏN®wïÓv~ùììËóËóy¹–a|ì¹Û®ßö×Ö +·4•Kï¶µ%z‹Ô׋o¯^žoS­zXªFò§Woxe#Çæ¾)ï[öM<¢ÄæŽÎc-oúV½,ïCøæ æç©ðmj)¨Û7çù›7ä«nu ~g ÷åbÛJÐýf‡q}󆇭$>JÆ\/Ím ìÝܚ[”6³UçÑwçɋóë¯/ή7&à¼åºÏ®~Dvõf9Ò6³Kïi›µ ÜAޖP±Œà5üMnÖ?ŸÿpöüÏÏO~ü|c»eŸ¸w'ïÝɘì½;yr_r(÷Éö8ñ;q!ï‹5í]È{òޅ¼w!ï]È{òޅ¼w!¿_KôPþ_~ùêåÙ1¡*ÎïÕ8›š½÷ªq?ž=~õý'_½8;»üdœà³OÆþÕÕ'ߝ_=?»þäÅÙ³O®^œ\~µ­±ïõ»F¿Û~5Þ½~÷qèwÏU.8<¥* ›å^Éû)©nì€ËëcEúܜpuö||á^ٖ©uéþ­#ö?ç¯îÛ¶5,ëý»N¹|ùêŗC”ü앜¶}swéôÛ¶|7úsháþ·ÄëM ñö8n f¢?½ºd¦ù^.âÎawÒ¶65¾Ç–4ޜæímN[\ž›>ûöìtß/öv§½Ýéc±;©•IìNj„bóÓÞî´·;ííN{»ÓÞî´·;mcŒ{»ÓÞîô3ž¨iwz+èù› mOz¸MU¦‡Ú)¶µÖ»£øõcM…þý±bô¿ÿáÛ!—Ü 76Q¼³áÐ~65ȟ¶>È †ùÚZâ߇iT{€¸²étùz‹}̉À[]«=†Æö™ÂLJ¡±-?Û#046¶"o¡±±<CãùùõŸOÎß$‰¿g·æ&]„¸1· ¢õÈ;óÃÂÎØß›º;76=þÔÖònîÎm 걗çvÕ³·¿@7)åìïÎ=îÔOߨÞßÛâD{Ì©μ¾+Ì©7Ü{Ì©ʺýí}Ŝú ±¶uöØ ?iÙ¢äRΟ¾üòåÙ&cƒžýxϵØVEêöÍI~ö®¿Õüð¨Å‹8ó‹³gÛ;(½¯}¯Þ¼½z³ñ½ýv{á½_•­{%¶¦xÞK;ûìë“gWßïá€÷ªÙG¯šm«Èý^5Û«f›WÍÚ¦VàªÙƲWÍÞ#~¶WÍöªÙ^5Û«f˜ØïϟÝ?{0¹_ljJµó7wò×goN +œCŠzsL÷•‚}ÞÖpvä ûŠA›Ɏ ô£Æ¶|m{£Ææ}õâ‹WÏÏ.OnélôÏے>җ/®.î«|´­$géúÍá|¸ G÷ Ú>FÐõÕ½·Ü¶*‡PÇo±†=ÜÑGwôÅÉ˳qöÿ^»þ Rþíè_ˆvô`iE:{¯ÉùòÅÉéõÉó?^o,sÏZ\ÆuùêâO£·ßÝ;Šxc04kÿoŽìGq³²Ë­1ÜàËëóëÓ¯ÿzþüÞkwyõ¿³©1ÞÆ#œ§ÛÒÊéŒ8ÝXàĎ«øÞ ^[—#o:öã`ÙÚÖúXqW¾mïel½>ÙZFàÞÔº7µ>Š_?@¸^² òN”ˆmEżkÂ핈÷U‰ C·©M5b/²neM#²nnƒí…ÖJlÛX Ê;ˆ­Ùڐ[³±Á¼udÍÆÆñvq5Shÿü L{…o¯ð}  +߇í7ÚVŽú»Vù¶5º½Æ·×ø6Ä÷߯³×øößû8¤½Æ·ÁqÝn:ê[hmn‘¢õ^l‹ì±õ"ß6(À‡ xñVLì +,`C£y(û÷çWWo’ÿE͏÷.âú% BjmþÛÏON¿ùä@HWߞœž_ÿøo[3–êàÁ%¶WÚü5ŒáÞ!ۛЇµý1ÜA÷5ùn|x +OßÞ1ú€M¿oÅé^2 ÇÓí-ÔCùÝï¤Rà±»þÙm2¿;ç*ðÇj^ÞË={>¾ðÌÎm¥9.Ý¿¹ò'ÿs~ñêþNЏ-c«õþ-/×vßXЛOîÃåïW/¾<9=ûìôäÞbø¶Öùæîµ2¶m¥FÞèÿÍ¡=Wn|xIÀF÷ý×[K«¿=Œ[–!¹yž^]ò ð^®áΡ n±fïÞP´éåy°´÷™–¶Ü‹{{qïc÷65¢Š´§‡û½¾QwñëG¤Åàÿ÷W—g÷_Ám1¡ÝQ|„ÒíƒD¿­Vœþ0Å¿Òð¾m±9ò{«kõ!{>¦ðÍœä3xSKAݾ9Ïß¼A.ݨüJݾ5û²²­Èÿúæ )¶[H|”löüüúÏ'ço’Åß³[s“ƬGܘïS|íï̓ç×__œm Ñlwnf)qwnl ownLxû»scÙߝ;ƒÚ®vöö÷ç&juÞ¸:÷EïøP‚Eßf/¼÷«²a®óxÏÜVsDôÏ^Ô}‹7 n>ûóñ]Aýu›ˆÏï$gú¸¬9Kà'ã¡Þsþ~Alg5îâì܅{sõ§îúÉ(›4øžñ£+/ßDó~±Œ2ÂsŒ=PÉ?ýæ}G@%›U)÷—ïÁ‡ñq¸-Éü‡ÛâùøÓ¶Jä›×GÄG#¡uùëÖ AëSÙøQzŒke›‚ö>”ïC´ýÆJѾ3Q{e~ÛJÝ~äM»Y®þv7-¥|üõÅÉåË/ÿŸÿþêòô/[<ɰ²]Ÿ|±±Ûâ.#÷òï±´…ƒm9PnŒàa€kc—ýÇ~—mr—Õw°­q=jŸ}ºßgÛÜgþ=fgÿ|5õãöÿ÷óÛZùG +j[Vå>Z{ˆXªß›­ö°¼Æmf4¼½1d³œaoÙǘ>2šqÃÌè]Å4¾5£æþíó盚•{L{ðÌ<¨úSÞXUžwPýikCz\õ§C¿±á¼uý§Íäí*@ý×ÕÕ³¯^œlìÂݗšjù§_üö?½ûü÷—Ϭ ‘2Q>ÿãÕåŸÇˆ?çPȟž}u~¹þâÉ¿å6’üê³/¾¸zþ䗟^}ÿ«'îà·ãß|ÿä•ýqz⎜Ë.æwÔ[Ï%Ò¥Ô^èW®{ú¡CŠ>Öñƒ/­„zð“'3îï?Ž¿ü¯ñÃÿ¤ïÒÁþ÷ÿqÏè“yҏBó!–£{­ƒ”Z‰ñà0•^Gsí¨úÔÒÁa¿é¡”#ú{¢þ„z<8}rèŽr-¾†ƒ~ÔjȅZLyôë ŽÇº¯ã‘ÖJõý ¶#Wk9xúäПÃx(!ù|àb‰¡„6ÞŸúû“pÔ}ðþ †#ïK=¨G¡Äñÿ8Ú§fÿþ¤E—J?c0}t«õšŠ?þ¨ùÞ¾{Rrì®ø|”½cD¥ÖG_CMýÀû£ZÇÇÓøxªyôˏõâQˆ±'ÂQŽº×\Óå£üÞ¥Ç Æ RãeRì%S«ÍµBóÂX™ƒ¹~úäË'¿ø|ìêë÷Ÿö6¦Ó¥^xȧŸþöôôÕÅ_®®Íÿô‹ÏÇÎü|ìܘ·±ÀžöƘþB{£:ß Q‚«-ÑþñÉû1ñcƒŒ©¨.{ê]N¥µ±ð>ùõ¯‹/Ѩ¡Ãv”[Ûn,m®)ö£\Æ@NŸ4]¾ÁŽÇ {¦EN>ç±k}9’tÛ†0ð¼îulåÓÆ¢õƒã'Ôߔûx1å>收D¦ ýð)屐åÈ¥Ô¹c£×ŽÆË!Pk÷.Ü5É; ±»Tw,çí¿½#îÚ3µõ±íŽÆž3;¦sìè±éÆ&kÍóæs±Ó9ÇÛñô oÈÈgÃù±«?y 16|¡OÓXüøåœÑw9Ic½ÓÕS*_´ £ÑtðßOøêã´2mœZ¤<–»ñqì›úqL¬?ûêè¼Ó*ŒÖÆS.ՖyŒvi¦³ëã6 G‚ït.Ç%ä™;Ð΃òôT—#C«êz¢¹M.ÂÁfjŒ‰¶íâ*-¹î¼Á b¦k­éý1šî²€ãòIi¼wJ½ô…®ŸA+ƒñ¾Ì´Úã#ƒáŒ}°3O?BØÌœ;†¼;-wÌݘWYåÁSSö×ß×Ôh+oëC_"¯ú8| i©wî•8b¡÷Əreœ®ñýõ­4Nf¼2‡À>~{`\æ•:Hü¡ÅBŽ©Ž F…ÏTôÔyÏë>vW§VzjüÌX­’Çjý–{䮏«d,Î#âX6z&§—2}šÙ‡#~;ŽEô;7Ő4=Ù í¨Ï< †Do ö“r£m˜Ç`#ï—Zös"v3H½¿¤D7ÏØ3¡Ðu99Œ‡ïØD;mw/Þµc·Á<ˆk'G³8r\ª¶ß˜êšjaÚ¸šé QÒóI™ö31ˆèhªÆêŽFí?b´ýˆ$wÄ 4bè´ˆ1…®c¦Ôċ5hãôHSÉ ÎJŸc¹>ׅӌ}Á“<(™úNïeeô´yÙFNj£5$[ÒqÃk>uþUë|ÿMùñÉ\å.ó<Î1|pq=> +AnúÞX×q.ùxð’;®#ßu ãñlÊFmÓ÷†¤h^ç‡nÅÞ»låT=WîµA E‡7ºÞøzG+ÐlÐðHd"1hHH4žY,í¸¦s’™kkÈçòLãû™„ù@ cP:r|½Å S¢ß§ûfpœ Y”ñu–ô©k‰N/6óUKL ¹"]Ó½Ïü 󢌓±ÝÜaïNÄy ßM*RÐ^|¡ ßÍ=ñõG 3¦†xϸϢPxöÆt0³¤mÛ¼#¶AÒHŽÄáHµq,.¥N‰ö4qNšYZtOb3iU‰Y(Ÿ*–Të`2E™Ä8ä^ûkÎÙîiÜ=±»³~ÇÚܱ~w­òÎ^ØÝ/wmª!xe™ÄL|·Hç˧ðçFCÙS—-™Mêz2 +ÑXÊgJ’kÌO|”‡×¹m?¼ë&îúTç-ȏ-‰jã¹rµÒ2úR\ÐïõÖX¨l2¯ƒ¹»\e~Bs|-Œ‰5ÑÂæ ’ÊàÿÄc)'â1c +†BÞäð:ºãìÅ‹§yxÔéËÐ8¸›t³u×x“¥0.ÆÝÍùîd•‡«»ÌðâÉ],s—­ÞÅ|Ç1h]8eJ¦YÙq©îd¢»¬ö.v|›ioã–%ebˆÌÒ±!‘ŸõÈÓ¡¤»Ž&+иw§mÈZc󔡧’€×ê'†–2´äX‹n)ÑK£•±^²c‰Åэ€ƒ)W]¿õÖà{¥U½W†¼D‡¹éÙ4˜ñÒX\ ó†¢;Œ-wX8à%jU—ˆÙïˆàu…†ÌÅ Ôº.Ð8)´>¬ðúâIôRÈM·Ñí"ÖyÓÌó¢n¢B›ˆ¯ù,RÁØ9¢ïÊG6™á¤»’åÀyWC,fˆŠ6~p,¥ŒiGä.&r›Ñì°¢;öÚÎv¼½_ïØÓ»û~çdÜyzDât„iDy(¬dK[,–±h·÷Ü¿Òb¶ÃÑ.žÜÅõnñÅ;xgЧ;pp9$1;¹&]º“ î°ÊfºËpßõ…HJx ­L3Ãоh†ÂàŸ•&o 8f¾ ëÄdâ4\Ý>8ouphZyϏÃëc"û½‡YìÓÄ´ßѡ޻e¹°ò捹«Ò¦y‘›oI—§˜1ßxêF[ÿýΆøÖ[bW>sÄm)~WÒ¿C áIÂÄÆ8$¦Åê¶Æ]rý®ð¿« Ü¡F¼£¹ã…Ïd£ÆH:y'¡HÌ×im,oö6ø‚NšòÞ8xI:i­NÉQAëMbžB!¥öà;–ªÇøEßì^̊Yû¸¯y¬?²þ7¦­*ß®•y›è5‘ãýŽ%ûIŽ잭,hÒ6„¤ZêÍ~¾«YJ¯¨£Ó.'òŽŽÅO‘{XäÞE¤Qƒðq¾ªæ3¤XÓnˆ¤‚’¹oÜK¼OÆœ +¬¡ÒtŽó-’³íÖ·üÞGd  ?ÉÝ{A.çÕ4À†€AHrKy²Ñڑç-ŠÕ¿Å!$rQؽ»ìGb™ì!ҘE2ŠX—Ç6%ß-™cÛ@È֜HÐË͹¦û UiDŸ!cF++/ÀµñCCÈäBÊ¢²üó#õWY|‘co½3µ3d™Î.HO"P&yîq'‹Kª‹#ºÒœ>íßÎ|¾«Å=LÓrӒc•Ú{‘l¥ØQÒوcKEVu×»Ÿ‹E—N†%^,ùÄfS#¯ý½UµÀ ®ÂíоðA×+³a¼©F®÷Çõ)‘]²…6¾[ä.ö>Õ¬‹Ö¢¶ÅW7-šwbf‘^òªUiЏo/sÙȪB+©ëÖÙª’bveY¸9èæíù}W ÷v€Ì7l:0ÇÄÅZq?ôqŽãKº}sbÏpŽök©ÂXèD°ÜrH_ql/o¹*Ƶ;7=8Q‘[ªtÇÁ`É«WMLjôP”R }ž}MEŽ-wq\ÕôZ<*žd¾ÈÄ"þ(:ՐÒwÆõ/µSÝÁ‘r¤=“ˆwùØjC1ʼéÄIéØñ…O÷»éÆ!æå‰²6Ibš[Ê,²³IþMR/Iì’º‰àÅ-ZÇKwM×íݝó;f¢èÎJ~ï*v,Zk:Óqû— '[iNŸŒÁ² +ÊéÆÂÃ~Ÿ븋˜ªžËSvS‹D×.›7'2GdãÖ‡`÷¤ì§;Ý;טÞFÄ#Ñ76aòCÞà½=¸´‹U¼]ÔiŠÜòRÒw #¤:¾•H ¯Yï†qÍüø„Ä骚d.¤±§?1—jÜË&jg5ïÒ±”£D6~ßöKmŸR7ƒ¸¤p? oö~~nwxïJ2䐥”. ֖/ÄÁÀÒBƒB1.›Îþ »î; Yê0í4õÝ;ê¤'c"{ú(J©ÓYbÃn#³¬ ÝÛ| qã¡Iªí×øJvšyWý›{÷îŸîü†æúÌ Ë”€Ê»B,_}AI›7£,9¾òu!’Þ݌‘$)dp´ñû û¹Œc=6-ýÌ؞šò^|vüÏq xî —ßB»ñ»C~íÑßð©Ù"ºqúäÓ/žÍñÓ¯Ÿøƒ_þí’"oŸ|õâäÙùÙå5<Žƒä;ŸÞ@ +ŽoY +1[p!ýÁ§_=‘k%2á9lã| é©4ß$ôààӋ±ô㛟ŽÕIàNüãٓòn—ìé«/n.Ø;‡ýËh`Hܕ(µæJO ¦ÒDȊÔ(½nùÿ³÷n;š$YvÞÔ;ä ê" +nfîfîàÕtA"„I@¼4sšdƒ™ÝB³Þ^þ}k{deduÏ §£D xU–¿Ÿì¸k­Ýúí\þÏq[‰ÿ᯾0 óýñ3Sæe¿·€¶³û¥ï‰ƒA!ŒmÖ¸†€Çj‘íó6@JÍï=§¦˜›“¦7÷úñ»ÿøóݼtúþ—ý‡ßþí_úõï~“ÕvÿË¿ýͯ?}ýOšÜ—=íä°<º¹Ú½öá&:ÚŒM^±UïxÞ`®m‘yOÌþ»+ü™û½ß«ß£u¯Ü¹»]Îó a†­ßúó¢ñÎxÑ£ h·£>—Ùém$OýãÏÝóýÞïß/šÃóʄY8–xãv»f™1¤6ŽL¢±×ì8Z\ÞÛøðsÞÞìý^{ÝÓoóf¬û‰G°<üüéÃóŠG^ñúÉÔÈyþêí½Þq²lÀwO6b‡Ÿópl¸^lözE¬K'ϱÏ/3¸–/»2£¾¾Ûû½7‰‰ccFˆrvŽ“Ÿ5”ÐðÅÄÄn}Ç«`îlm{Dà˜MXæ77|Ǚ‚uwç‰Ù<ÜZ|:àÛíz0à_MÝs›¯óÁ=/n»Ð¦77{¿×¾î© tøÀ€oF@—T‡ÎÃo+ïuê‚Cà·ÌæÌŠ{óaVÀSøñۛ½Ûk;)î³.öÿmçaöëð^"'9æV¿÷ÀÙ'€ÚŠg¹ç;ËÝ·ÎÒÅ»½CŽ«3ÜôooȽtî~øÛÛýÉolÿÄodS!ûʱ¸›æÑ»~öm|ÃS|ëý†‡ŸÂñµdpĞl4oïõn/͑fo4Ï>Hjp¼Ÿ­^ð`çñËP¸t¾ …cßÚöÜéÝÞùžÜ·[âúó`¿'s›ü-éŽ5_͙þ̄Ùñ'x7½½ÕûMŽ~;Œ·a7grŸ}ô¸wq–èµÎz?)(N7ĽB.Ž…}úöFï93Nq 9îÎo €„=/x̖‰º|®38Ä<èëiúúVï77îåE +†ø’ØqQ¾§å½ÇÝ»Îé<ƒ$oÄ`ÚYó€à ó`ø£·7z·7fzØ¿€`31¶¼ÝýäAxÕ·;îiÍÛÝ{ÚÊ,¸¶{Þ6ÞîÍmÞqZ4)+më~æÑ·½wøl!™¥d¥×t´) \ `m™oîõŽo}ÛR³ã=ÝçéBN¤‹\©¾Z;õ°îMN7nÔ¡tۍDÈ7Áæ`Éis^î:ìå¤ÝËÇù3ÇRŽ a:þö¡O ôÏ7·û“ŸÞÿé6G82cO"C;9¢ö¼åmàä-“lÈïÖʬÚUír­«FòÍ ßíåݼƒ3b>Ïuîϛ^·§7MRöõ‡?þô‡Î°ÿßÞòûþ6 +A8Cæä¬ò0=ë0l\FÁ<ŸŸ­#3ä¸ìdÀÍNþövï×ñ;ÁOCúÎw_˜T<s60“¶ä¸êwY×m¯Ï ‰|sÇ÷{ûsT~;KÎ`èýü]ÄxÖÜ㿆M÷úÚ m¼N¥®óÍßï卸ì_".™ñcð%0ã<"[øÅjägf‹¿Ø–ßÜìý^›Yœvvt ¿7äùûqÔIpÞ÷ü®&Çu<ƒsÌ'2òõ ßñåAá_3;¦yê Ϫ՛î×Uoz»OýËkrÇíäí‰á|}Ëw{ýöu ШñÏÓυøø]¥òSWŠXí} `"ù¹ÆŸú¨_ýǟ øöýy­øóM„÷vx¾?ÇÖ*ÄÛBÛ»;zÀíã÷ÿ‘½º ÈÿpŸWpQA¾ýùêEþòó_}üGÝýWæîÛ½ÜO˜_ß½Îï3¿õïÆJúÙ@íÏÇ ¿uñÿ{†‹{ß7¬í`sáùt¨=»á¬¥ÏwÿÃbëßüú0zÏ©/¿þÕÇÔÍõ§o~ß8Ä¡¯nþçëŸÕøÆþoãçV×Ï àόóŸªãø{†Š ñk÷썄Ý#BÀîi|Ô½ÆCûó핉óåç5TÿÀ›ÿêÏÜü˺úéÍÿÜPýS€?‘z½í¿iã¯ýÇ?þæ¿û_ÿïÿë÷øã¿/…—ñ7µ‘¶>ôMÄՇ7ìvÀW ؋oó R„î¾â«Û]ÿîÓo?þæß}üõ§ßþî?ó~ÿûoþŸ×ÿÕïÿéë‡ÿÑýw¿ýÛȽü‹¿9¾}Ãû›ÿüÛÿöÇ?˜¼üòžÿ؜Öÿöé÷÷Û|øwüÃïÿëý°oE_’’üÏÿ˜´d',˜ìž>›™v‹, ì>Ò¹mBa¹’Ûv»aß ë‚„}*Ñ·V+à÷ôúv>ܝ+N;ã`Ör0sÎBCÑv‚.ïßë÷å2ðΐõƖËöѺ ô s6€‰¯÷<¶Xn7ØÿT£%ùÈCBt¿W*r-BZ–¤¤íނŽ ޅ˜õc}!A ¸¯š÷ZÉÁzøƒpۙ—â¸ýS[îY—‘Ô–ÈùŽöŒ„Ç~圱ÅӃ·Xô T#®¼ã…è ÛρN w˜íጇü}Ý£Ð÷£åÛî.ÊÞÛ ?5Š—X`dçùa(‹r÷iyhï÷E¨TÀêçjr4зÇ@ÇB‡zl»ä†9¥iŒ¾Å!cdt„ 1,dnFW{£}¸G¥ÃÛ࢖¹ÆÙ—Ž‹ÜRö-¹NìÕï·yïÝ×cÛ¹?xç–o'…a1<úÏÇýeLV.‘ž|8õ™÷»l0¯Øáo/aݖí=­¿Ë¿¯¶Íê:€fÇýÍäIoCÄ>´á•{ï¿øÛ<£tÊ·÷.ܵkÆ¿Ž!ë*«äžP"3´  ®Àd‹bü!Å$~`~+D·c‹Ê4*²Ê>#BCõԍsÍÝQ÷Ø]ŽsÍ@˽š¯ÎàWà‰ÏŜ +þÃ8^×ðÕ³¾AËô¸FxP`Žï™t7¯ÅFª–‹î‘Ale@"†qw•Ù¤Q‡âؘLŠǓþVρ ðÛyá£w‡H%ŸÁx×±çî“èöÿîß²½O§ÏdŸáFîn~·åF`s.ž3’õÁ%¸mú$±ƒ½Ë5¨¤E 9Ǚ}e–8.Ǚ¸ØýècÚ÷p¢!ÀmOÑO²µw€¼Õ`*ç~“{ứ\G:înôLCþsÚàdß_'7M´ãܹñݧ\E5,'GoW."¿»ÃìNÌë~ þw/Ú çùîJÍ:®ÜƳk¡}²IIš»i?Ç¢Á•|‘Z™ñ`O{y“nÆ7¹¸›vœö„ "ac·á"r78Í?ڟ· ãûä,¹ft`땯Tòæn`̓LyøQëJïy“Fdó¬†yØ3}{zæiš¤œlpôïÉK0ÇÛb 2$%jàî®ß¡6=/× ò©µHf'"ôŒŠé>62¦YÊ»¡fs ¸|h°jW *w` nK÷8Ò¸_Ɣ7S^‚Ÿ´œV4`vé*`¨bÝ,~Ã]8Gè²yÎÉB=¢>ÅêÜùÖ{yiá]åê@…Ç÷\¡°3Œëò@ɆéþyÝG ÁÓsd•4k££z0ò-HwWKðÁWÉÚº7.OqŽÛ/rËÔê6³â\a 2ÂÀì罇õÚ'?q×.b²F^Chk¿¯¹M‘zè€,¾ò2"aqÄ&ëÎÚ½¡›óÎÊWކ=žØŽ}Þ3õ “Ȭ&xŽ¾Š§Ïž!‹¸hê¶Ô6Æ~¶Œ+SénØîyèE÷g{ÝMþKOë6*‚d$BÚàôè`}s¸+àaâxr¶cÜ§é¶í»gûÁ1}O(¹B\s¯KÈ ÷üÉñÉ©Ìæ6óŸÃ†ÉŽ(Ñøšu‘Âdý +µÇsûÀ>¸GóðÁÒ:†Ç>Ÿw[ww )g[Ȭh¼œÏéjÁùt`è„xìYiNUSWhBÕbœLLè]Ê70HP ‚_ޏûªNpH•ÜXL̵PÞQÞk“E£/²˜x$€õ\£r²O›Ó”ÅŠ­x²§(#p¢rÖC˜¼ˆÇ¢íÔÁ’n=ô‚5†Û +$%Lú»'XŸë@¬j@‡éP?ÁðFˆéª6ä80Åok47¿§Ömî]{å«Ñ;"ÿvÂ{Û"Ùrî¿ÏR„èFL؋\ö=•ÓPŠî¥q?²xÁÞG)9¹ëÑüÀÇ«JÌ3il§HÛa´˜Ï9J Ož­š4ÞÈ!;'lƒôOÂtà?è4]‚¡— BX!\Ðt/0ê?álþËµ×ø‡2ä~ +e¼UlQ(là—Ȉ»6–R˜gjlJŽÄ  +¼Ç=õ¢6ÇËþÈunb[Ñ”¼Â²Í4ºg»ðàð;Kxêð²~ïgcôš¢Nö½rØÎe^#!—^4®ÓÞ:ÀdŸ1¯À¡£šÆÂ=n›F/Û~tX^-fŽ[&îE㘤æ|ÖŸ+é;_‘íxð%ìlY ¸י“B å>)vvt/‹åÀógÛro%'X(ìJN üÕ¶á»öïe· ¾ÃÝwæó±H€q÷ß§M5Z]6TÙå Ÿ&«ÿÞL¯3ï~Ä»Ê;â:v{¤é'ÒÆjï¡«kr` ˜“®ÿ?þ"³±}ø—õ»ßÿîÃm7=ú 8H6ܝ¸£3֙•·‹?CÜq=ïŽ@[^Úd÷vxï·³<Œ•þá»kÆWGÔ=î•/ÙÐåò­ÌÉ+)p¶€Ą@qO¡­×ñ†ÞÅɆѲ3M8÷)Ì}M³#JŒž£#9lÑp>lÆ÷LÝä ´‰ +g‹šÛBmáwu51΃FÖ#_´çAWE0àãÝߺóŒµÅ¾z$2q/(¯eóQ¹ác_ z(_tDI)+ôÞ}œÿg"%W$&®10“¨ÆMþ0P}CU@VüFI„„°’ õ';RO Æ$6= ¼Ü"¿÷ç"Uk`àm±g´Ûº‰ê¨k¾’ý·+qØu÷)(ÅDqîëä0Æb[@èÄKY9‚èù»‡Nö +âD³9hÏÇÚzìºÿñôíÈ ¢Ht1+ènmž»áX Q‰q‰;˅`ŒV¸ï>‰#ƒãž³ç„®Áa¤1¾û.=ÃzD„ãdÏB‚Ÿü}l>wÏz7ÜFQhûÐød©ƒÍçžà; XР‘ º="@Ì\ç5ããò÷u›§ֈaÈ=ÚLÅ©Õē¥åÞ£zwÊ=M10÷{ã™;Æðk:\²yÆÌNCš+úí:Ãg¹îM”Þ߂´ŸhZ(¿Hÿ{þLäÀX+èm¯ÌŠ#ÝND¼¯ûÑÇ=ùj.h®ßo|I̗VsläéÏ÷Ì]¼æÈ¤“Ê}wÄY¦Ô–%[ºZ—­ÇAa„f¼£Fƒ‡¬º7Ư¹÷Ëșj«÷VL\cě@ß i‰óŒÀ .ŽóŠÛÄüÖ­8‘?»Jz‡O<ï~¾ÿV1ÊÁ†Äèí׳ŠÜà®:Š?Ùäp)½Ó¼Íâu¯Ç+Óח‰ÄN÷Q;íÀi`Ý£Ç !^؋œ .ÔÕãÁrÑÊØ^Æ£ž *_ÐîãD믮Ûàéœ'I¤é¬Méä ´¡6%¢uþ-iıfhišìÈ|#êr=Ö²{p¼;Ó»§k.Ü·Çsb܉j͑!‘Ü Vû¨ Âùp¿ð‰´C?kqÓ þ^ í˜ ]i®®Ì=ÑîI$¶ÚID/2ͦ -1{*޽DŸ8ޓ~¡Orf˜œ·lšItï½.&ý ù‘IÏæx¿Å<³)»tZOÖÝ<\^Œ5ëo3†Ê +Ô ›:¢Ë ÖÈ<‚a+v2 vû·¥û0w½q`°dG|dÃ0xµZ#\Ô»¿HI7"˜l; ›úêÙ3›i4¥™ƒ÷D†m÷eFøw,ȶ⸜=ª>y;‰g¹x|Æ ›þȞÓÐF=÷/›ÙePJ +Ölï¸wç^&Ýí•$ß´hF_£îuïFÁ¦ð›ÝåyVœÁŒ.p¬u暅¼ûðí f±®ÆÝ~q뎲÷ªäjv2â늄¿…q2ë¶´§ç”Zi±I&Ë8ë7¨“¬-҈ÞuË)]!=Þ# ºÉ¢ÙÎðù'<§àŠïõö<`;_‚; bF¬º™¸+v‹¨s¿‰ö=›žب–ºÐgÄZŒßŒéœÃX'ŠMDiˆìÑçŒôAîC~òÙ²bˆtñà5+v§hs%­ÆûŒ̲àœ³©Ý°Áe¼-<Ãñ¯†ñˆaüƒ¦2bi¹7ÿƒ)ڌ˜ÜæîÉ%­léڎ¿š1æ%€Ós='ñßomñwôFò¨#fÿ¿ø›³¹\÷žó¥±ËC6F¾c‚ô±¹(ºL=QìkÂ+ƍé†Íñ±{’F&Ó^¾Û­ìëEl,)6½:ÖܳtÕ Zvbù¯š¤÷Ô>åu,­Ë¦9vær÷ÒËÍÊmÝW¼¶HçŸÛcĵRË|Ë>®Þ±ûã,?&ΜÁMw¢QŒÓYzc¾´ã«ßÃaëo6¦NZä`ûeäÆu¨QJu„¦°qÒÝç û‹@,S9RWOÚXè&ž&IŽEujªèß*f­M{ÕFŠÛ†ƒW3—ÔÁJÀÃP ¯AçoÕÕ·hƒç¾z;"9Ÿ‰D‘’ùÁŒó4Z²0.{!`Zi„Ý=pP«!c3‹-㡃YÏá…Ú ;ðæ‰Ušÿª Çô0©4¸ IŽNxŒÁtÐ(Vfq(h¨1D0#œ ÍR,ðî3›Š’BØ~G½,ý8c­ÌÒ8¼ãýÓyæÄxÒ]€ ý;rÍJsàsÔÆ'#jÕ¢7JzùÚ¶ä!°óXoZÀaš={¢‚ûJȜ8§v)QnØ,I Ž»ÛŽcÚ-ŠoÇSâ;ùÌû#¤4$ÅםTœtVI¹â­=’ýD´ ûà52`Éð-8ù§ù©J½‘P" *ƒ_œh›cͽ®‘øÓ64çØtxЅž ¶ñ1“VÐü4ŒwÌ'«ji€ÖJ¤–𾚠Ä“"m–¤ùÉÄãœ.¯ l{äaû$ÔM–=J Ž\.ó¸Å+"%ÌaL|ÃX.Û*–(4J‹Ü-­$I4´ væóŸ)·}Æ3¸ÎhžÑ ¨Ì5B·ã"ÌÓû½È ca€–or ‹šGßûøZ‘ðàåN„¦^§Æ£HàcÉö~¢‘~bƯBrº¤ŽDß/µwÎ ÿl¡E™=Œ0ðb}±ã“–aß P!ƒ|J À ˜ý¨Ë~MR䀿U> r‘àæ]±òrØuæÍ֓27¡ík4ÿLpç©1·BHC†/ÐYÄn2gÔÛ¹®×ÐS›J ©‚ú÷·]$”i1¥Â*|~â.CïUGÈ +†%G"6"VÇní1¸x˜[^_µÙ^W’:4(˜A„`×êI +ëZì¾ð¥íž”|‚ð¦U'څ6;XŽ{½[ËVt%(v=+c^ù±‰ÎžÍÉ +ûeÙå³6½«@–n`güf£Y4x¼0^WBTlìÄEËåA@)N3n¾Ñ@¡ Y÷ëÇ¡dý\éÛø}n ßÖ幇WSkVc½6<̵"BÉ,#žÌÁ,? Ix(1ŒªZ“ `KƒÉø³Xi`Jq2W]4Ïî1ï1BƒÅøø=¹ò¡×ž`qMÌç'íLð¤18Iׯ|@KþƀÝýo× q~1ËEsϐ)œ~¯ó›AÛò7„N¬#œL>f7˜xÿυ‹Gƒ /qQàâÈpaq_ʹ.6ðA|ã‘Qâ,ãÈűÄE¦!ñbçm8G{çôLçÑ4Ž#M÷2üdӀqõTÄèDDÉ M0+¤y¹¹©q<ÉA6Ã1ýð«¶$0¯-!nk@÷©¨G“ƃÙýªží†¨ŒD9"G²H<‰´ y“ ùóôM”‡Í%åø€SqŽœŠ~u·7­÷D€g¾æÉ2ì†Gb(fØ-¬e§Ù½õ8­ìÑ!œÌ+«ÑãLÂA2›¨°›i¦˜:L"nÿ:gí–ä-Á[xà’sûÄÚ3e6Ÿ-6ÓK žÓwqâ‰b¹ò¶ óٗÛ¨Õê ½H9±ÃֈuI¿µù]žPcÅv[eûpŽǸûÒàÛpm›‹ cWýKK[Uü„’N·ŽÄHô…0Iy´8(Š´ˆšai㉬w1"ÉėVŒ0úDk›"Ð8a+à +ÄQ8¡Æ‚j…~ÎéÜނ +`öÆ'l€iᎥ„'¹+››¸ä¼)Ç`ºôVÄ"fy/„{¾äú×x­F˜î&Dt ×X©9¶ÈŽðAè™îœ™+Ù¦|ó¸Jµøàa¥#b²¹/“ì õÕ[¼uc&ÿ)Uü…óÜÒdGOÊÚSžh¥)ì1T‹äò‘£¤tаqvÿ6²ôŽáÇš|•‡ð£Xée˜ã‚kˆ+GnPeý¥m*8¶€¡=âºÆ÷}tB€þ벚Vù˜Ÿ Ú®ã, ÆˆÊæýÈ3¸66­ªµ„®õí²Én“(—é·ôh‘¶^—»3ëæ0b¶rè>vîW¥¾¶Ä =9@ý™Ïa÷$õc~Ac+O«ÃoUn3Î.±í¥ ²NõœÉ§mƒ9Ë¿Ž{¸]™ç7bGØ'žÕýÍDô¶=ÃZÅZ=#Õï© aîÈûéÙ\å&x• ã˜ä Þ&ÒAÚCK<‹ôœ×ëyXaèH IX§É\;{•ô  §ý(Ì Gv§¨ ÀtùJCP[ëÊÁ¥$0}_¯_¦Š/_2y؜n—E´â ÐfÜh¼æf¼ áFþ“ˆ:^뱂 +4ˆ»=R…ÍäA‰6Žb—ìî–åJ~§ÌÅ*žî}õqˆ—xx+àéˆ;´ì@÷΃1ȌAŽov1¤›ªSɪNàÖÙÙ¿OíÙ%T‘W"BºMs=nQÖǵ¹5üeNóe¶‚ÒÞaØì4z¬°ùßa³ý±«c³á¸ÿ9Tˆá¸@ÉÞh,^¥ MÔqŽØFU¾ŽÀÈ9: ë…]¹¾$šw¤Êê=ì@ˆa‰Ï( ­:À@_­y?yÓã*`åH)Ѧþ B@{ù[¦A9O_€u÷À8AI„Ú¯2BàYêâÀï¼§Ÿø§ûOŽ¢VQæHÀ3LC˜Y~°aŽn:{¬WdÂÜKÕöž™HàWZ ØV¶$´î¾_åÑ¯/Ø7û‘І®otËM‡`4õ¬GÒ>œEä0Q†«¢½¬‡¶åÃô÷ ³¥ÆÛQòë©Sw´çÌ©–TÎÀÛ¬S¶…`)·leŽ× +VëåÉIjžpÕöB2…óa`|lá}§¶L4PÄkoы½¶ãW_)ðXÊß´V|u« Z¾¤e93ë· +ã¾,­–½Àƒ—unRÛCx½¸Ú‘òã‰t[AY\¢ M£x™| ·¤8<‰\Ðñ Í…Ej30¦`ŒÈ!©8ïîº}píVæÒ=åÆt¿ÀEB¡E9ò‹AIgŠàFy!ÿƈíUS‚¡á%Í+F' ¥)kö¾ Ü3ËU nq4Yh_› üA’œî ëœoáÞ[ô¿[bp<^¼û¡øÄ +@[Úq½Qßå,üjézÃÚØ­RÞ!!l)؄“¿€éyéâ#d†U¥;î7jψõª;°o¦:W=ŽYÔæ!¿ªÞÈÒq¤It“7´Œ!î Û0ª g(w˜mãz*T†ûº»›[`ú6{2š‘£b "{“AÑøŒÌ®ëÿÇ»)èH¥x— ó­fªÒ‹±?g@° ʎ½…jb)¦ÍœÛRÔS^Ý@-5þJ²¾qJìŽÎAN› Â‹9Ì=¿ê³ê²ßōª®ÞtØGn¡GÌF¸=½ZLOÓRß[\®kaØq’P€Ó… °enUÆ ßQT"›Àž~²Ið39íºH ÷`íß°SG’Ö5 ­ˆ¨ñ:{²œ™¯ +N0¦-ðد1Ó%PŒh® ìdrTmòJ–09ú÷U ´å4k{„aV:íNà£8$= T±99̜YȋrÙ£(ªg4_FŠ'´ga‘×À´,l‰ì £Š^p 9…SZbëٛ8@‚j¿÷Ÿkæ¹6 îô¬u}yŠÿO ߨŽb×Fw¿Ò©Ge'Û°É'5€J}geŒå”Ì +U܃¼ÒÃF²˜?a¿Íh üÎý\à<õªÍv *—¯òìœA¥¾O¬ͯmoòBXýh½N¥l‡]Ή“ŸEŸq¤bâqÄe2a/R íìµí¸ê¥Ï²dÔ¹yeޤù(‚¦eä[Y2§t)p¢çéx…±²ó™xaÍJ‡¾FRiØ8IŸ¢ÄÂ9Ús^Äìzx¹ý1ì9㭓GÈDzËAxP„ß-5Ö£å À°Fd½[®î6AFS +y¶SÈçctì…û0 П*%¦ÑQGèËìV¦ó¸S7˜¯™“X» ®ÎRípӍ®•ö+»°•8³8Bgâš5P’ÜuI:ìم9†$Îˏ: +tFÂ{O›Õ5A9÷ݪr·S4zŽN =`̝ã|¥M‚LIï£}!Wk¹ÊĈ·—ý¹Ž#]£ŒÂéN´bbkx¬”uãÊRú@¯y¼3i%Ö-|õ¨ï9ýp'ƒ¥TÞ%ñWY +ª 8ñ_4t(Úa8““Tò[7@½ˆNùÖT劸ò˜­búÛÃÉBvѩҲTÜwƒib;±†Ã‘6ÄM‘ŠáÇá‹Ó5S£̈́ÊnŒtˆiXgEb}K¬‡êd/XB˜¿Ä;Kbÿ^_û(bq±68E…A) "ƈ6íjfVďz;ƒg²UFWm‘™rÊ\Fó_yŽ–c,°¿÷,É! ߄S¯=W˜tÛB±Ð¾Âû²ó·TÖ sœ†‘J ‚º¥õr´Å,ВàÑ@¿X/Œ|¡s…ß÷Hî*Œü|´uVž›ÇKœÆCPbg‡zlì{Îà_ê՝Á:Þô«A´àÝg‰ßÐrEYÇlëÅ62©*¢p«e(„OÒìߟŒ“™h$ôn[ìÉJmª±™( ï ©`•“°•JÏ*P#›–Ø3z@7š +搖-Q,¿V”“ÐD¼ì$ ˆ "+1Ao«B²mk³ü §[ Æ  endstream endobj 20 0 obj <>stream +|JZÄÄüRåk·y¬öÏ×Yý­ï°‰=Ù~>eëv¹I¢±¨ó>‹œ€Óã$@Œ+]@‘#gÿ ÷ŒòÀ ¶žÁhV[-Ҁ|Š`Ï{mÕSä\‰³KðAßÞ™£Äà +DÈėc}˜vۗð®Ñq–Ó‰ŒA_Á ®ò„$RcÜÑÒ1='‡§ò/€"ƒ œÅ(dÖGhaöšš +.a=£Êº­J‰$ÄçP²¡"¾Î²·$ +†ø‡­Äm¡+'* jbj-ƒÞ»îAt˜`{ôÊ»&¸h(Ø4ÀÛì‹ "ŽÆY/Ì – +ÂÉ, ù…ÏPŠ4›j‘½EÙÃÒ*œØ‘úÀï>{­Í¨#)™=³Cp7ύ{ÂÔf#WÇjXŠFÁ_G•D\RYwh€fñ¶GÓպѧ^'úå2Œë½b½_·^¬ÈÚ+‘ËþÈSùVÑ xäUir£|§: N $QØj+6çÊèVبq/TWùýí™(Š&µè_ͧªj¼Î¼ +qǞG,£ñÛ*Ò +xbõ¶¶•üúG_Wñ*ïv¢¼!£ž¹Ÿg}ԕ·Iä[.Õë·qƒPþÉFÝ¿UÂnr|›]Ÿ¾¬ÐÕ֓SMŸ§b¹[+ûpT¡çëŠø-¢©L_ÚÌ};ž]‚úxjÛt؁X·ŽZpŽä5hÐp˜ È[J£‰³\š{ah‰UaŒîÖbÅǚѷ‹½}_™ªÖ¬tå ”iɈ7¿lÓüù:ºÍP4 ½¥ìp›Ëç +¶åù¡g²a ™MÙ<‡®£‡ÈKè(ƒï>uC^†ÔK ¢ ‚ã/Ç÷ÝVÎFGâá:i§&Žô +S‡oåkŸD@Ër™àÇÚô*Âô´ ýe«#|‚ӝºÍz!Vº–ÑlUB+ ¶])–*f‹í‡ó0"žoÜ÷¿H4ë¾ø¿ÎE?ùßV*² +³éûiÿz{aÿê×Оÿ̏ÇW?îŒéŸùõþÕ¯ŒÀ·¿þWþåý«ó«ßüúïþøÛÿôwŸJÁõoþÏßþíÿË_ÿá÷ÿ鷟~óW¿ûø_~ÿ‡’½JBöï»èßþæóo>ÿÇßüá7û×üá÷÷»?¾Ñ©ýG\ÿë?þ—>ýþ¿ýÝ~ógCˆV2‹TÐ.óØ"y¡ æ­ÿ½(7hsÄ£6½ ˜TxýÀ +Ð +´C€p„œ8©ÈtÝëð¨rÆ$֞¸#§ ùí2C¶H_Ñ(Nzt-Ü?f±AÇS(õ*l„&}ÿÔ½½û¡¶–;gÒ±(®•†å 甿öAWÍÀ†9'Ä;?Á9EðqzSu/,1#¨ê(uÁx$âˆÕˆ¾¥ÕOÂz$cÌ\LÁ AzÔ©ZìóL¤³Øø‘.˜‹J\rb¾WÄüôýcº¯¿üé.Òÿ¯é—hêñ6šzTLW^Åò€ß‰v¥~ÆN­p ©\Íð3îͶ>×Y!×®ëz©Ã·Ë}ëæQ6eZÍVw¿Zέ%ÉȁßTkJö›´ÓE‘a•ù#]O½Ôé ¢SIÞnÉ2݋•L €9’ÛS°©ÈùÿB ¡Š¡±n,ÀVBôf>®½ÉÐû€#‚!zm$®àι‚AcÔ~07^ǛèêT·_Šˆ'¸ÿh,´Ò»0Ó³bˆÀ™SLüï”ÆÎ`ÔF Ëi|óî¬Óýʽ@¨›ðÃzšÑD3“n 9­÷;«6ÅC‘hðÏÆ­¦u;Ãø¦pšYȟÛ~”$€e/:¯ùn ڍ®aH™›Õ]ºÃX¿fƒ”Ô)ƒßÞEÛ —n°g׿)qhZ,Õe"ÔüŠe rÙÈþÍwßq}Úιe×s7kÆÞ¼UUW§%ÅÎx­hîO j7¶ƒˆáж%4 M†–Œ­œæ“Mœ¶ri vdKúÀ"P»-±ÑyM\\W›3ñÊ3×õ|ï‚Ùø“ê©Wóї´$.ßFðÛ¯½Vfԇ–Ý"~\v*&ÚDÉ`·3;{Š*îM—“õ` ,4±zBRŒ”®`•&)>á œ³£È1;¾l3R†}ˆßÏÔ ÀižWz>áÚqeå?´igê«;ygð&ëô46¿ CU$êjÀ©ø²n?XxIUz\eɹ×ñ -ðJ±žÒL¤Ò“:‹TGØÿàØ'ØáÂí[ÂV¨Ø£‰¨Fý½“›I î„VäGÅSpZåÛ^fdÃï-cå‹X:XòïÉ[KfBñu©NºŸj™³±ŒýnÞ„/‚´ŽÐ~ù¡æ¼úTc{Íg[ª­«Òi~VÒŞ=¯e;’)£gO,wMóˆL±®TT†ƒLؒj¬ÀSC³sÓñUkë…&†À.ö—ç‰: ÆÉÙö&ie eV:£l¸(IÜëFøššbtŠèÆóÌlBr˜<½z*£7q|{©}Rs^1­JÃúuÔíyÏß‚?þr>É9þÉVÆüÄÊøÖƦnQá`hXl` +²Æ½4;]&›a:ðÜk±`1;VÝy†S´ëÚº™0µõ´5€p®£’ì#AH‹zQèj;¡sÒsŽ+åƒ<­þ¾^à +w[<imFK©`ÐC^¤‡jI÷âˆÛ@ ™d¦PmOùqz ó¬Ôí¾‡hÇ.-ëà4§ÿͯ/Vì|kŎB-‚–äûlÓ¶.›¶‘_DÎóÚ +ëM ì~´: ¢(.(,<0Q1Ȑ*Vþ}ï8`)é½¥:6Ühù‰QRæO— [r I²Þ´o±åöqT­×<ê™"$³?´l3í)"ïL‚Ûp5£yɾå"<*4X·¨¿ ³ý-•€ha$ qnð9 ü 3ʓm + +ó­<ÎýôKÕ4Ú°`|=×´’Å—Ý+ׇÈy3n=J¾Ã*_Ô¼àƒ¨š_ÇЅv–ÄÖ ÷šp.ª4}$S¬^RJ2ûzD&ñn·ˆéc„\-‰åö¯W˜˜§™5 R¼&ayb¦ ñ®fÜ2®*œçX@héG)8BESº¾¯ÒFjÁ>ÃÙh=L“-¯|™ %‰ÏµØó4„:¢[z +pXÔu¤‹óÁyʏ`¤lzGTg!T‚âΐ´vF¬I…DC°%z<œZpƒW‹ž*l0$tDæJµ~L0``28ôÔ)t–O{ôöž*ÝIڝWä¸V썙~0µN6¦ûî™03Öü…¸¨%´C’늊O‰jÐLñ³È úL:J½4µ&T;Iû•ΐº£XºgùsPvEfÄùž·³=_@1‹sì,ÖÔªI ‹ãNA“%qO +™”çY&¼&$ rŒd€a2’´#=H°ý)bv•³ðl‰Ù3J¸7@~á}HëŒÂdß)t©ìx£ebœl©Bh߸Nq¨tîÕKÎNÔ/ŒU; »pB™pì£ÌÀ "s¤.9Óâ0 ™JÌÁ³dÕEÉÄÕµê]‘íÅ_óE}AÄf%ûDS~4ÛÝ UfbEvTw!ºÜžÑu/Yé/ö¥f¹„î0Ÿ®æ +ï­õIäê¯<'s ٙ¤KAÿMÉmQ±¨ ‰½98¶Êf - `WeQš²eæarBWÁ4: +ã#·D2ê“óHJ#œÌL/íÆ+b šà¶ÛS§=¶H*aþï¥ ċ¥¨\âoXrÓbUᎽªÄߞUé(*v‹Ýã° ÅJ¡® ޙ$EjÈ¿[*‰PQä¨ôŒwýæýÚ¡‚)ê̏ÇwOþ}Ÿ…œ>[Sœ'’m­Àu vÀ\F[غ$÷Ô!’å˜a͐ZB®ˆ2¨ª£…š•3Š{|8‡µäfž±^b)̰Åã‹]!b^Äji)IÜ©ƒ7‹²«=Ÿ¢-X--rÔ>Õ²²WIÜ W±O°í`sÆ\êúðZPõ(;°ëön1q° ®j°»F‰ú`‡‘ûҘÓOÄd;”3Ø!Ü[^QnQ•aùAkO…F(ØìÍZ„Š"ŒdJ…î]›=Û/ñ¿4 ŽrJUq¤a¿·LždRô幷ǍÏEê¨ð¢"À7_iPºåcô=ñڣѥ'?ò¹@ÜcMM1§ÁÈÒz£äÙ9 É1nÛÖBƒÄ7"öŠØ2&"Œ´íp­Y¬ò=H'8¢(7Ì+BäÀ(Z=\‹ã.­Ì'íyD}Ϥ̡¸©[–(4I¶JwHÏݕ4=f•»±àæ-Ò9ر„W…ºé[tšfÊ(ŽÈz "^]xèòzë¦ì#Öëïöw£í½ ´m"Ê(˜Dè#lâu¸L«¦ 3þRùÌ»ø‚[sÍâ(úëQç-…sƒÚs\Åd ©’êKî²gØÌ»p1[®YëxlW«6¹‰+»wRúr‘:¡´ŒÐ5ü¹nÑý-œïü϶$˜=À Îçt‚vÙf’%¿ÈZ›!"ÞvB¸¶êö¼$ݞéíçá|ˆš ÃöÔ~á +H±†' †Âh¿@ʄ­ý2z±pÒið¨é Y99 6U·¢0H܋ÄD¶ ò×vAÙ»’¹^]Ùýû”0­>4„ˆQœ£ƒ@šî›1{boì=n½­D׀ZÿèŒàB÷]?º=œWc¤˜Xd-^ mʺ°¨Ÿ”n2¦—u<¬3øòéßâ ûÅj˜ô➚1;°‘ûoM®Ê~¨Iܪ–󸼁EDÀ"œ!r/V>F±oÁ…<&yyJî‘ˆ?!ì ŸØ•OnVˆÃn‚lÙ9ã6㿁TX EPQß³´qòž5h{W¥Ø0uÄ¢+ ‹0N/œƒô—]…™&Ýä ˆ¨Òþ[ÙH) ¿?‚#̇ãÑîdGG‹~›òÄËÔ9¼¯e¯ h¼Réj?k:(nƒÉòYüLœp HËØ:k{09 ÉÒÉ¯Ü é£OŽxÜVŽ!"+z¾»£[,ɇZ…}X7rËÒÑ­³ÐԘ“}øòèºÚ 5²n.Ó#U‘ ¯d?®B㻕_[ôlgJÏØãÐ8w•׈µÄ‹TlöY݈…¦pšÿö‚6Vk)wšè–Êöí¬uäYX'¤º¦Ã½Ï0„Iy+MÞø™Š @¢1DpbFkUÿè%ó{Ëä/UQ*#H3Âø/ªÓâ³3ýÛý„*2OìÚjœÅséJ!H&©„mº&dÞ­êz½$|žÐúö„ûZÕDeD2FDÃïévB3D•Z­¯²A]uÿV‰D卨kºW)u´m2uõQPR‰æ5µÿŒHøõ½KÕngD–zb\\ú:6Dv֖õ·§€0y·üE ­Ú$:Á&ÓËù­ŒÉþæÀX¡™Üi¶:ŸÉ% Èz—éhÒðhÉÏI0´w#d´¨p‘IŒ, »c45Ä9¦gÒs¯‰y §Ôq=S7$2w7Ê*,XÐ v;l•®ÏLÜ"Àá)lU~ 6I;‹á„:Kãú>èÜL…yǙ4ËVXèïgæŠsÄ{)þ¸ŽM_82Å«hdWñ)y; ¼Ëb'eØFøÖ +äR»á,º’ö…b1&H`OŸöÔ^“w„˜({¤!¨ªeñƒk§R­ÚÓ/:Alo¸Èª8Ï2*/ªÀkѲ»¸8NÈiNâýS‹(±&8bÆ£·(ôL +Ê3–žÀ™4pt«2c´¸@ÒjòsZ™fÆÅº[.SoG-]*¬¤&,phBµf/£¶¡*a³J[Ó"¢ÓÒkÆKאSv‡˜œóšH¦ÓSvFòØæñ,‚œ»0 +¢˜N¼z•œ¬ Zf3ª€f‰!UD%¯*h®qB†pƒÏ¹G¼2¼QX*«™èr«TÅö4õ+R–O²øûDVb]`7òNÅÞ ¶\%EɳWÕÆ~Õq’¼kò<«Œ¢Ãü½ÞŸN½Äé¬â¦–üzÄ6IÓ`œö=à«Ý8ÝYêsxœÓù*[U­BÑX‰ç¯ÃÄLwUxZ)ót£’bª—ì…0¯æPÁû!q?èhÑÇ;4EJ¼µÈd¨àÈÆ¾ÈÃËQ"=ǖZ†j¯6±ltX]t‰Úà7ꂑÇ07ùÖÝxÏRo­ÀӇµ©“:bf„¥UÕkˆ-ɁɰcuIúUh^ðÖεNQ!ÌÊÄ2ЅÛÍtW˜¬G8Á œEí©#º®lÒÛ×J0I}b…ÄÖn_²HØÖ=‹(ê=„ÐS}Ai"rBj}IZãÉ?=¯oõåSß,“•PÉSÖõ%êýyàõˆâF€Ÿ€Y~ªE~Vù)ö&‹Ջb›DEv³.gÙl9º±¹æ–S_²ÏKÔöûûø¶—ÿ—™MWM£¯!xž4î%}Oâ[:N$sf‡ðƒüM|ø^j-Iýž‰‰Ë +5{F,LÊ·Üׂµ(¯¹B¤I E@U˜gÀø®k¾Í8Ãb¸Õ³¸’óY‰GQxï—@ƒ"ŽÔ²ÁW#à¿$¦ŽC —æÛ¯Tß=Z0pËîOîYÊ qE¥ ˜aÕ>Ÿ<×NXՊ÷DÌ P„m&àÇäÀ·Dqdª£âái¹D­ª—]>XûðdFî‹X´¨Ù1y_rQÇŌ'vT=úû´Být³"%Œ½I„ŽH(àAžøÈ!ãépqÞ“—B\Êû“#÷4aô›ÎýÜ¿ Z?© 1_ÿ IBÕħÎÒÏD"5"6`ráЌe~ÀPÈíŸ)!|^Q9M!,Ò<ì”Õ#^{•¶ÓØc +*vpÚp&ùZs°ènàl¯¹"À¬Ÿ¥¼x +%Ž#ð'E°¶€l?ò$U6Å¡WÞØÅÀo0T…æ¶ÜVïØ‹Z +ÁØñÂq$Ò/6¸¯2ñõ^/ŠŸ@XÄ +ˆ{¾‘¸3í‡KÂá¾¢“ao ´kÚiY’<PàÖr>›×4::"¶¦v `â4‘€Ûx@›è<^k陔qÊèÁª‘:¬Ml< Û炢-„J¬=è=²ªgՁÚ3ÀA®˜#R8Oñ#K€(z¼°§ÄÇF:ӅLíP;Šu"6`ÄãçgеN„…õIÑ‹ž°Û½ +‘§p‚ZYÖM†à^ÚCÅöµù³Àµ¯#§¥ÛÇý\QU°DÛÿÆíD +ö -H@L˜Ë_±BœïT¨Új/…¨ä ”r$µAÛÒ0Õr|<ø-N~H­“Qøo%g¯Ô®óA3ÔR³ „íVNá8ÍsSÌ~ˆÑ#:D9¶}Ö>”Bj]à$§!CŽqA +lž%7¼ÛúÑ6 6öˆN•ê§Kx¨€Ý|ùS È*ª"G·›ÈO՗#ºIëJ!H{X#¦6b”?ª¤JÀ¯S'޶{Ø7ÖÚ%즇©±ÀC-s#ÑÇ{³ùíðMv¤|õíš :ƀê%ø­F%ÂjM`Ú þfoÑ«J«E•Ð’¤¡`sÉu„% ç’ÛŽëŠ ÝÁ?aÚÀÒ`Ì©>ÎÙ@OUýcn7œ£{ÚBO_šö©•)H¿^{™ŽÅÁöóTz ZCJ½Ñ°©u{…î›–RNT t¹€aþ¥ +ÁÊùcÙ&/˜{¦â`ê(€U¦àö Òvü"õ°Vù-á÷ë: +ËxÏpî +¡Tà"Q8ðÚZ]Ó«Vp!¬Hֆ&Óªä5%ÚmËꖏÆ1÷¦ÎÂLb nj«ä +JÁmyJè [Aº¸GäX½„ñpüDHÃé¸ù›%Ȋe…âڅ¨Ú}ùÀ6 j5-#l¦ur©$9û󤯗_üwüÃ¥6Âwÿ`­Î°ÖÁóÏüúx£ŒpýÙ÷ž_ýz²Xþ¹è(ü,þV"ÎÜâ|®FëVÊà°¼âϑ̓-AÀ!ór/ÀjÛï쐡Væqßö’¾·Äfiî+ÀñpŠš…½T—‡ˆT;Tyê-Ú^&¢1täÜÁéÃ$ThA´Ä*PH“ç8{Î&xÞ-u<Ÿ¿GÕ¦¶#äaö˜Iœó—eÓzĉî¥LjJKdËi|¥4ëýj3äëJaHàã¯W)ú7¢2+âõvsžb¸™0¤ ˆn/™2­Èê€_JÌä.ðÿ_-ð×hÙ¹½‰o¡èLh¢k¸Aƒyãl9+ܗšhÃȳܢiÇ,§ù^„õK_H5Ño ûo:…—Ž™r‡j×£ØuF®w‰JÖ `EèÿØRU$…ÐW9<0-  N‡€›˜S&˜UãEä€ +v\WªL/1’>Ö¶¬#­¹ÌC’ µqqE<Îm-€Œ +%£`_áà‚Æ{*9菙"1¾¯¸p‡”6°Ù.X,p«]º4¬L±Ò[tøY±¿—Þe„£·'h«¿9e¤¹9ð@Šù¢$»ö òÄ»%èxïì«yœ;skã{Ì6>+uÝ÷þúšÂ+î®h h[N1näžüÍmçÐý؈àu/£ÖTì7AÍÃF#˜¦‚¶#,@ëQJÔ×S5~‘ÑëUĸñ™uK"Ç¢’su +ñ¸Ô;ª^3›$žÌIãì©ë†p ðôk¨C 4Ò`³&Œ² n¥}7cŌÃ{Ÿ´`± çJ4ããwºæÝ–PS'ñ|ÿ´¢ÄLÀ…¿OÏ[Vµœù¬ Wcé­ÿtu¾cބwÅۜfŒ/O|ðbŽU>¼!@ˆžš‹BªÎGlŒÊWRMõ®ý>’#”tÅS‘ ƒæa:صò${K&âuªÍ”Ýf¶’Ó{‡ ÂÙÞ¢ã +‚¿W±•Ïß©z^aM'Üن?ÙȨoy=xb!ðVt¿-#BáëÔ[qîUЋ œ ,‚s<_T>°hÒ«Ì\æ5c() \œ)‚£7„$¬=ØBÌ(zs>UDU„Ø0{ Wjv•íò(60Ù(ø0¸IE²vb zÒ± ¨I5ّUùävês z˜2}È],&g0!R³¼,S‰5Âú$›•ˆöªúÛ󊝵jg•Å?†”‹õýŽ x†¾01¿>}÷t>l]dHIp¢«Jcs‚¥ºéÚx%ÙüøJà_±b2ƒªüË×þ8ìZ˜ë©pF³œÀ1ærEÛ²ÎcóäS÷Š¿-»Âý)ïݔg21}^ ð}>!µÁyÀ¶IGé>7'•÷#¡¨);+ñêi¹ú“¿…43”mÔØËfg° J +ª`¶\t]ìfíd¶$w S ÞË +K¹(ƒ +Ö'¥ÎiBú|í5. +ƒ#ù +À‹<6ARHHœhÉg‰ôXi£»›ù¾e"°¦T8ÛR=ó‡ïxÔÂÄiÆ7󷄽A€G뿈(„M’ö$?*Rp”ð9ÂÆGÅr?~÷DtöB¯rÅêí1¶ÄaHíg¡Ï\ae/[š)ªã¬l†ˆÌº»•œg.øjsù‹¸å">‚bÓ‹dÙá™ìâ~Å¢`¸ÝìC’ŠÀ!ÚKC#gÜ*ÓUµÓ)ê ŽJ›-rÂ|$ ¬ö”D£±V†0'?<jFT‘!´LYN‚¡Â®h[a;§«ZÊ‹ˆò»ïqô7'âÈ9ë™[§bW¢óPRJ>HÇ3%æúè{ö¾'Ä×¾Ôíâ$$p v µ«ÄQP ƒŽªœæß©¾¥žH5±MS³kÕoÖAH{¯º"Ho©=·ËˆPPMIæ–ñÈ1JmfcÆMÑ]mq”ü†õa4sŸGOT“-زòQÇc!Â)[²©o~Z(ÃJ1ÍLAWüÚD_{ÅH«®Vß”‰5Ïø2B´sDC)½ù2‹#ÇXÛ­­¶%þÙj’P0(%©É¤´TãlI4ØtwÓ'›,Z›ßZ \ŠE'•oU¤¨pª¿K%¢k$ Ùó$³W@)À±„!NËXÓ$TÜòìWÞWjN‚e4j$Lî4I¯TDْ´Q&8+Ûyå…P÷8S b˜u n×ÊÄ'Qy¦ú­œG&ϧKx¶UÏL¢:†XÀh¡¥$Ê Ôº h‹Dýx)•ˆ˜¶  +FD¬•˜r>™E«ÕÀ\éD¥«è]¨([’î&t˜·Q]9Òs©¬ ƉÍJ/ÄÔ)AdýeVžê4©Zä"É 4/&©5È¯ûq)¦~׌°«5Ù¹#ôஈÀÖ"GŽ¦Í°DêfÐÛ¦ƒ +4%ŸXb,4D8cÏao=ëáì)ÔýыÔlkNíF…ö^z‹ûWÎ{V¥çYv÷mŽ+îP§€cÿïf¦ýu"\"¯Rzìní¨ZñÇS4GÏê$å²_V+Ï3GÖívﷅÇr7,UaUߨM$S–‚S2ޝÒS€‹bÖ¯Ç=e²’öƒÌ‰ÿŽ-J߀ª%’±“b¢j.©:yëáDBèLќ}¥Þ‘ðl||Rç·éž$ +ÈWªÃXÀ/§±9Èî|j?˜ní®32ܚ’É€Ws‘{ XÎpÝ£U&• wöu¸’ˆ`†x—«%FÁ“ÙækìçëìíôCš„%ÔUé©xŽÐ{U7ð”in‰&I¯õêùôäßcuñß.G/,ìSëœ0‘²‡ ¨Bµj:MÕ J¨ ¤•\4^ë‚Áž´šîæ%zét·IwuY"ðEíÈC¹­±QĂz2T¤Þg°YÝì銯ÊU¨kEøV‚iZ8 +°—ð\Ùó›uESâÆv‰=\‘é]aî5á%T3¡œ¾µUî6¡Ú ?8yÝ+@{ôüčKÌéà³Ê“úY.DšP)vÂ[8î ^ÖAÀ™2`£(ê¿]%¿X¢¼Ì?5Â:þ‰°~O9+“0¾ì®î>Š“ƒ;»Ï!9—štìM–½áµ³Åî[ièì•7`›âsýŒ¬wÖ½¼É_,ðÏiü¾œ"o 3ö׺D€ÉadãP´Žö»”™g<œ®\VK¢êÙuGôȬNb핣êy²ãa_5 æ + 8öx[´*Øå-üÒûS'›‚»\D}ËyUeî3ÇO%õ€¨üböM^çôKÙÁz委 +ðaöDP ©®D0-§¸þªyëŠ»ñýЛÐ㱎†žZ½g‘7T’N $Bÿa‹_FJ>ÙT¤MñÝ SÌIݑ+/uVËîIñÑWP +÷Ž^VW™\>+Ðj }F»úÅ¢†ú㽗HÙ òrø=]eKEt@í9ëÏÍ"Îçi½Î§t)ϗ K²3÷”w¼´ÓQé„3å9i{q=¢'¼µŒ‘K< ‡7Ì˩揎ïŸÚïv%s 5±Ží1uÕ+L-ö#çsê(á•Áþä¨Õ«N•í˜È֏(V¯1GNהRm¥ŸÎ쎔 FäÌäa 8r-q.“V5sâJ’Ï +Õ*º`Û#IÕjæÑªd ¹WµÔÖP Ü6 ·xà[ʹUpâíš}O3šge0(ã˜È9ýóZß^GϚ¼*©Ò‡:2c%®Ddå=lⷅ:¤ªÓÒ],Ç £˜Ú¹y5PœnÔW–ËgµÔ¥‹Î˾' ˜ÒîŒÙ£4dqàðEöãPÅ °Ï.ÛjpìƒÖ{¤”²©–=u è £•Ùæe#•äµ?ÃøÆpr Ï(‡H¯½ˆÓ©i8ඦ%ŸXçèG‰÷[…LÜ5Fú™zf{jQVªÕNtxîïGÛ¬¯ ˜ƒ®*úD–rÀo*cÊY#ž¶”RA|Ùô--ÆÐ†â¶U÷@ÞÇï†Ð`9G*½ !ÔJ‹­ó8ÐÚ2RJ¸Þ—³S¼ßJöÇéÍCAÜëQÈˏѯ;‹WDÚ¶X€Ñ ]g gM®;®¡ Ç'ÛÂ6ØGÈtUκ½Jgт IÞ3*9Œ„Ñ=GkvúQt®½G^!Íᆶ„"Ž¢·0ï֕^ïÉ.:…ØH‡vVKXf<NZö\¦Îiú”pºŽ=SØ5à¤Îê²fq],Ú½RΰTÎz2ÖŸQ©}—L0øJâ’ñCý…µŽñ±fŪ2Kñ;M‹¾KÛn“®Ë'›ZÆj…›D‹²›/{í›þf­T÷¶šÃÇÜ*¥[Ï(XvÁ9÷3ÓÕMC›ÆR˜Ä¶Y¿º·ˆ=¿rɲ³Ìßn5ï¹ _O…’ýË.̤(ì{gs§)à‹SZ3+è½¶á·Êޜ•²Ó^°ë|Öû—q–e%#%UïŒ'œµf^0n¬1#;D›,“Ü9ôGÚ¯;s-Ó½ô­·"Þ2Ì1ڊ5KyĦõWD`VÛrÙ^ VÆSÙ*I Â>ÚÙpdž‹sŒõ;¶’a›¥“Öå¿°Ã„i"˃äP*Þ÷{ÊñF•…hÎõ²±ëp›Kâ)=öRB +MÉq˜}jY@óÅB'À®ü MíLŽÕ/ւÆÖÆ–êƒ;—buäÖF\rÝ5«f¤@xZ"Ò&ü Þ ÏK-«=|û¾fèçszY0Ú­öÜ܀–•C­ºÊ¤Œº³+~³>ß1O—oky%ãÌ1!{½(½GUwz8: ô¹E˜“èOPUÔôW¶*s®&z)c­wÙôÞê„6䙅ŠS£© 2iPÞCÏïáY4%túQ ù¹,1ÅÜ)`\biÁˆ¬Ìð¨iIõ‰fI)7àBjMÁ¤Æï-xÝjaÞ6jû¦´ÐÙÝÎ"Q( ù!¢9NÙ}¤PWï)¤zwç}˭Ⱥdm‘OºY)óPýI”H­Á%;Köï5öWz?ŠBAl²È뵆)YEeüëëxH¦Í²õc)’M[¼n…‚lDPÅ嫄§êãš.çY²pÕ¸®ðˆŽlÊÞmÁE%t8«¢õ–D ªåVø•Öwù¦ÖOð'®ü~Ÿ–ÜŒô>!ÑȦÞOkÓ΀YG:F‡mm;0|Ò¦Ø/ÍO¿[Rß-yæÑ›§on‡=ãš6|ž¢¡)oa?›åîŠì¨]ÙÓ²Ô¬ }ºÕu1öV(ßùÄӁó‘ËŽG„ñ8ŸÙ¡‹é$ÄνL6óžÎªöY±þ¤Ocöªª•Œ*3U™ËS‘ˆa2KÃ@Iie£` Ýü”ŠiV¦§?géΰ®¢äǁt¥þ·(…Œ‹öR…d*~v7ìɒ¦LãÌ +ÝM,eb?´Hgœ6xv¸!ï’e!Aœ¶htÍ*:EKe‚Cliùz#ùŪ­vJ÷þs zþ pDˆ™Ž¹eØz¾*FJ[1oªhö-A盇¯ú$³@ï¬C2e/±¹–Ú:ºQ–žw#+å ö_°*ç?«Áürî¾Uû#õª@’?Ÿ¿³ø„,´½ÇGRò(“Ì6ÎWN´‚ªÓýãÚÂÎSføU¥\BK;”ù*©ìïྈûh¡€_”±’í–Ì +W¤7Z{j¯ɒ+‚ÔåP¤Z‚Xi;Te+Çz{-ûŠJ¸,ME”Vigè´%ºƒÐù +Ím\= ä’s¹6⪑J>´¥Ê 5ó6½N^”;ƒ£ÅôÑÂQ¾!%h´’ Tâzè͊˜ŽÒÉuF ¥ÒYD»U‰p‹u!ûÏDYiÌé­v%¿Qªc¼yâT£j†Ð¢cF‹¤öJlzzÊúÛ-jéò媈 ªqñZ£ »|&¨ý£’F9$IqN®0|IM&G=2¤äâ{J:¢1 #íoH—Ñ—°úÀÙ¥ k)³y´Ò¯‹ïe0lWü$A#Z› + +q`úŠ/fÅ ·£îžÊ-{Éúu¼ÊÃ%ëŠ8½d\Ñ$=i‡Hȶ*ó'Áü="IÕmÍXV6Ž|&*åpŊ¾lÔ¾Y¯ïè{–:¢›/j‡ ÿzt³ñxõÕ <Žý!:XBï6¹Þìd‚Í•Sí‰3þNÉ–¸†rÝ­ªdè'ÀnX㠝]R)H¨¶"K­‘„ø“ùØëPÌ)ÂkX#»JÀ€x{ܦà³ÄæYÁîûM\âŒt OŠä4¨ùJš[ >­Šñ¬-‚*–%r Ž9šð ¶šÀåè«¡1u¶à§ˆ*¥ªšØ(<9Z.)A:éíÑ*º·Ž³@ç.xJëÓÙ½=¥gÁ†³Q‘$ªR”`Ž G¨:¼(:m¨ç”^añÒ°œÑ č®òPæã¼b&ÛèZ¥¦ïN“Ê4í…*µK"âY•S,XúzMŽUäMêÉûIÔcÀlOÚQ0mKCoŠtÌ+ÊZê¨1uü檪±#¸ñêÉ*ý,ÿSóAù'ò‘†”7ŒlgUjÌÐiÄÜ”³„¨xËkéÞL +;Z-ÓÕh¦s܆{B»Ciéo)¸>/ëÇ¢kk j@¸[i­œâzOͬ®ð¨¸h«( ðùŠ¿7/Š áQ >áïRlêaá$ž÷+¤ÎžÔ¶BÙÿ¤iŸ¾Zë(}ՐTÇ7ûÁ;î”ÏúôYlxì”~ٕ8'µ–(Ð=T©6‘ñÓµêwØ$¯·”> ]dYQ~Ŧùüb”Ö¯Bgñy"FÖòt©ËÅÖy©Ó$„ìæTŽTNŽTõö™6½=ˆôg¶ªgmW3/„«’U¨J0Ýþ¡˜ˆ*8qÐIâš4¼p†Uy Š OI ^÷’ÞÑC‹a”Ä‚%¡”×¥° ´½½ÖÞ£åE*n¿ aMSûe 0¬¥®äu;½dºÈ´+ÒÌo®H¯†Á߯§ne‹þÓG%”ç©vevo‹V¦ùzÈýˆü¨jìë3‘<5ê6%;Ô¬¢á^Ì*©üò’ê#OR±—¦£*xJzQ!*OJ4÷*©›ÀoD¡ªˆ|²:g &§•GúÁƒñåô(ò7º™€df!E5ç¨'»a‘^Ã`@ ý‹È0 1úRàCµt/SɧïÑôz’'•’J&±'^‡âÇe²eí”\ôL5¶;Í #)¥¢'@Ãf`VWj~CK9ÑxwcW‚hãïßæžù%ˆcîh¸ ÷béÈAè‰Ð»R)– í…vÅõÀË¥“«z·e‡Åë-º°<`>cSDêR”ò ÷k8—*λ-w÷Pÿ֍…q¨Ýûf©ÿÙ0§þ~wúßö˕h·2Áƒg#Ⱦ1M侑:§;óJ”x?þžÝïõz_v¿·ä=ñÐÊ ü™çL'ðNû^bwVr÷ï³Xq©@ɬ^Z€›µ‘ñ@f0°ÿ6ødm°)ÝÅ0ü>KÊÅjvâIWÄèDgÁÊÀ²¡až¡““S6z¯3祜¨ë +‰×zy³ÜLþ>£É¯QêòÏ]_îyüíHõ²Ë Ì%쪏ùg“¾ÅGyä¶hkJœ¾£" VØ}§Þ4(ö‡Ü·U=Á=þÆ ôŠ(¨(öÑ+ˆôÌ"ùw.èÀyß Ý;¦‹}òțÌ3gù.ËÑ.) §´'¢mGíKù=Nò·ô#|„)ÝÒ×çØ;—´©û ÒøÚÔÛpþ…™…»1‹ÿ çëÎ#}Ì5€óˆÜÌ*«¿Ç(“Ï(éNö(Ö÷ù¦ï¿NñyeŽJ˧UO¶8=«È€öiîɦ6“äë#zo¿ûªå˜ùE®P1ë«¿¯\`\~–b†¹žµ§+6K‹i²ó"óÔãs0’¸ß“ğ9c©ÇåY£Læ84¡æŒ­›+dH-Ëgâà ReZú8BZëy&²IŒ(Ty)UO ++çÒáC:ëÌC ”ò'µ«ø›àý›IñŽ‹d•dÚ¬šÆŸc Sâƒ(•³êTæ7-"ΊY’¨¿Ä2¹¶ÀpȐà&N¤²K‰–OAM]âXËÁQÇ%:ÅÛõeŕô¨Àµ"÷–Ô’CÞ¢ŠJ‘obñoj•«—ÅŸl(WI¯•A/˜$:!Úrh’=“r)¤·mùsj®Úp…,O^þ“-$™Án]¥åÉßÝ,$vù÷}[šo…§· {æTø÷äÔ@>L9ä`b¾WÕÅâoLñ«Å-†¸w®*Raz\jøRÿ/Z3‰ƦÈè²=Œ"[\žm_~pä ¼Š½û ÄG/8jt§rsúºþ½×ß?ýw\<Š`šUÁˆ©†a¥~Ñ#è ¥‹ýzÁ(¿Äj0h«5±Gøî³MÊÙO2#òjµí)<ïßP†Ãš‚­0r¦öÎÔ×Ðmš{ÉxÒ@‚–Dß%ûö…ì}Yo‚7<â1Û^²Á$»½/b¼#‰#_†Ð(ó¨Ú,gØÃ3)I›Ž4íز…•6G¤”òѧ?‰ m´ž§–ZÕÖBÖT3 [¢ò–†Üü|-ohò ÈõªÔ7gyð‘,‚ÒÏôLU¨± É9ºWJÐË ËÛʓÄV3(OwöÀ7x¥æ2èÆP“Å´öðörÑF|Φ{Ò¥oÜÿ”xûǕŸl•5ùéœyO¡_&ÓF"ªž¶ûBã¬ïŠªßˆÇ˜Ñlaã ÿKIâ|j64–Ëçï¤Å§jˆÚ—¨ȫڎĉiX+¿²lBAm4Í=Šœ!€ÙO d%X"uÐ0h©Þ°!a¡N@­¬^ÄÌÿ6ã˜{MKé“)»è“-íH‹ê²‡¸Uÿœ3”¼1량àï>ô5–•( `¯Â„Öoæ#8EÞjœ‰¶XChfF8Ü$IDݽ3ò¦>•'°Î÷J´QþKºû,ž&ÿ^“f†˜¿ˆ —Ú§ú¼SøÙ*îšÄe¤×¢¦VÄL #¼`¤ñÐq¡ù(å4ÏӄN ˤŸ)ÇlÖBÓaÁ~Ox;¡Ù-¢¼~ÒMZ3ÖÔЇãdfÈÉ£üͦ?Ì$Å!TtTÅM ÃÌ+^ÞÄ;Nϟ> +³ÇrŒäŠ3E†fU‹ÅFSš-|öã—Ù+A/+œ‹þ2@³ÛÆYŸ¬!γóø¾*n~ÕѦHùR¤rî—ÚgÞ±ª¡gm®€‘è t@áÇQ ½Žä·E@1[²æI‰]¬² 틔è6DïA¸ì–íôou¥à™¬¨²Ódu%¯þÉ&%q`žìgns€™A•!/ÚsѤ4 /’É—†­z5`~ìu¨å"í­}xêgcÁÂúØVújÑ5(e€!šÚ™!p•¨¨¿åô‡4BÔíÁéÐ ÈÒàò¤3;Ü" +Ù+÷e˙‘îáLª´ã\¨Ku4äÔ·Z÷7{ø;OùIÛR!x‹A`ËUÒ!Æ¢ÑQ.’òcévœ£Ú0ª½®³Ï7ƒ÷ž§€¯ªÎéÕÏÕj™ eO[ú\:èËx;.ȳ:¼óš×äfÔžXg(Í1Æ èÒMcÌS™#ý Ú`Fþ‘33#Žšº6(HJ!×3än-VA {.ê)2‰Êßvù–¶Xà¢n¦È&à„4Ý«¿èÂVx” ନìȗЀ׻'õóC¾šœ»F'»/%ÈöîuOÌÜúYÖ¹M£Ø·ºhTͱCæû›Î|Wâù¼Á·yfCWŸqtN««Å|ú*r¼"˜vé/£±ÏJ–8ßÏÕ¶‡ƒ%@”–Ð ‘!—˼¶b`mQ—%=*§ \-nw9 WñÄï‚7Zá +hy%ø¼B“þœ6߄b֛üÏò¬wNvEþæJô{)‡þ¹¢ýÓt8-©Ku¹C"ç*‰«rF¹.wÚ(ENKÔj®‚Ñ¢Ýa˾uÝ)+ƶfþ“6é4¶Iy]&Q¼94¤V^ź…Q{F:ß·ê?iÙ疗 +ö|-§H› +$tžVâ¹"—"Õ¹«58“ûµe ܵmóº3pQ»\” w‚ÙÿíÀ¼g6’r×xÿ*Ô'ià¹2.Aÿ´›TÉ¢3Ï_Èü䥂@•Rºó³Z‹6ÊãðwòŽ,éL‚Ц2ìFd:Èý܎hD´’†™? µhÆ „­­õ^—¢´q¿î±¥É +ƒ6éGÒ>ºéÑã¬+•¶OëçSGO›%l‘ÀmÓ¬‘H˜ÔªF²¿³®]~œ?U mZí|íô$nOþ"c3g5mÖø'í‘`˕sÖÝjz<£\E HêVÓ3«Îø€ŽYò˝ú‘¦ö\7.ÓfÔ+0è¿nš¯öçs îü¹•ñŽs^áªÎš­4;ì}_³ð¦ˆ°š@„¨3·Ïšf·gõ w¦K5a®XNŸÓ&¿Ç40¡è®›¹’΢%¢¢f”&FÕ<£-¥w)«N¤ì5®q•ü Ü©¶žëTÇ*Jԇ¶WmžÞ7#K6\QWط╘ØTÕ¼%ƒë¯šžÒt÷béØÖë^R8?¥Mžm¨ãÐ"™×ï×ão$BY{@ +¯Mù:xùÌöYµ]mñܤ%ÙpÚrr>µG|s÷F‘¦ÎØL˽Öûë××l©6°ÒveT¥^AA:îWž·ÁPmR•k„sݨúä¶ì¡-{ЌRñb‰ú¼¨ZÙLäm¡n¨[”\¶&\‰Ù7ú¶O?“ªÌ¯½8 ¯U·µêFÚΧÍŸým •óm‹úxßÎèw\ñ>Œ­>/?Ï~5¾Vf4ÍD8 ^gJIsç/“ˆäØ8%Ñ´°Ê葉X#Ñ +ÿZ΁ÃËmtTÜ-Š= ÙGÍÎÑ㢷W;B’ÿHK(Š\ą!»k´§®ûs +Ó²ºçš>¯E5åc]ׯj«ËŽú»‹M*;`ÔêÎEkË}FኆÆhO}壆šÕˆÀ¶÷ùøC´d8m!|NGºÈ¼ÓI}d@iÚ}£ +˜Û 0?ÙZ €Ç7mmÔ¯z5@[z;lïiøò¬ÝmñÐÛ^¦$µºÐæ¤ç"œC}g*$9JU2í|ê÷·\ˆ^!ÇÕBDþ,#[OLjk æ_áK¡ýMà4úlE¸5Ô+ušMg•”â*T§Ü…6pé1ùS ÂÅE³jU ·Úì=¿ ËÓôp(º£ˆŸ!Zô«l°(ZOyv{‘&MW›¦·D³ }¥áz´Ö#JqÿÏíZ8'Œ\‰ß‡å؞/¼}/!]#¹ ;Aÿ¨x¹xþ–nJ´®þ Þ¹²w«ENŽoôÀ“OŸâ|GÑ3¬mÚjІ8]»y¯_I‘è)þ—·¿…¬Y‚³¼©÷«†¬y†É«¼·ksæ5¼g°î[1lóÁ~ùe?‹jFw TXŽˆ£Q<Þ%Ô¬Ù¢26{áäÌ4ÛWô“āø*Ý:NZnì+|c°.û½ö_,1Yï?@K¾lÚ¦]tFVÜôn\¢ñ‰ÒèoDɯL<­E¿þ¢“ÔŠ7#p¼jŒ¶ò0øó¿§NœŽ#¦eWÇE´-\KDg4¤[v×7œÌ哳BƒtZÓÝ@h_)Ù5ëé;W´kû*nlÜvDLy3CÈÀìûFÙ?ÐÕ,6ñMÀÚ8•˜njÜf 5àñ߯w@Sª3^}(ÛkÑ7 ‹ØT}¯R¬WJÛÿÖ`]9 + ÑM³óí)­ž qâ K¯†$7¬²Êq€`VŽøvë +þë’n3€KYD5n®–}Œ»Ü`ùõÅè©5m³ðÜܑÌyýf;ƒú"1âPôxú…«‰ :Ês£…3jOèv“2þRòÂ<çu¤œ32°±/à†|ô¬ºÃ1£Ùð3¯;“ËèʳÈü~%ºðå=-9:²ÉÉÞ#%ÞòPl %–m„w·ÍF~3Õ NsbY$ÎÅdnžc +î¼ïio«þ›V‚ÔÛtŒ!ßè^OMa8Ý6Z‰–Èý¶ÿÞć*\3Â]ëD’Jüˆ¼?ԂàožRGøáaà2M¨ÒÔÞÞþÈÖvšê+ D:rÇ!».@eJÑéA g$Åeª/BéŒÈy¸ ¥‡@§”7˜C<Ø¢¼fâ@¿K2‘'XfԄ˜-ÕC=k›U(fäëŒjã-QB(K1¹~,tŸ¼o»0‡I» :æï™žÊß(³\€»˜®6ŠÀ›] –Ž”(֒‚+ ° +Xm4m‰tIݹ6%3HS„EàNì峖h‹i\ÁzAï\ay~ù%1Â{ŸEîä02Îèh˜o÷xۃ¯Ÿ>?‹æ}J ‚­Ißä~µ9 ’²‰×¬3Ÿ³¤ˆ' +7=îZ0åwvØa‚ï‹fY9…x‚WR{þníò‡^Á«|a›¾Z´„9Ó⛘}§×ŽØrØ_¹"j w̉Ö8ن Y¿ßøÿÍPf¼CÀû¸<ÿ›—? +´ï,m^еJwÙŽã@ÀFC3$„p— & iK:@zqÐ$˜Èíë\^†µr@8sÏB=XŠ÷º9]ה!•QåFІ­f†—»¥ñÖ¿ýz¥ß" ï­¥_U¹Âƒà}lROB:UÉDŒ8âÙ)\õž—îÌÄANý Î@Ð9ӮǛƒ-]ÓÌ«àœ5—¸·Sk…›Q´½%ñê²a°l˜¤¯¥ã^Γ +KÚ#ôMɎ”œÕcBV<¦>=2ÈÚüED¹DRÿ.ë°J-¶úPUŽèÇÉøLÜã™yYnÿøE/kýSS‹"2`+…¬fÙ½]–cݎY"qÓE +ÑÚ=b86»ŽÃ@\C[xo»qÅ{Çqå¥g{¼W–_i&j‡jGȽ ¦ºbÞÈ2ë%+‚ƒœœôŠmhR<‚ÞÖZiz +íŠß§µÕ6ée¸cO,>tJùɧâúޚŽ8ÀÊLAˆ)Ö«R¼&MñSXŠ‘òBak[áŔoï>b¨1C}‘÷ˆ¾¹ˆ†Q·Ý÷IPI¬Õ¾uH,t^»[ïîßî˜À¾çg8:¥êæÖ“á0 GÊ'Ÿ¾¥¿eç+®°k{*^ln/’mžô*Ué2 äeÜ;ogy]1PÞ½6¥hýÞE¥Ó¡xŽ¢«­?s}Zﮩdì¬/ï-¢˜c*‰ôžoï(,Ä!Ã(ªï‡Âê½xüͳ1³v¶‡CC½ŠRUKñ,l)¼;’ÝQ`–…ïw«ê‡Eõþm.ª÷&Ô]‹š0Ã-†—Rü´“iññšITÔîXYôw>"]†Çy÷†µÎãÅ­Àæºvñã”è\ԍcó~âzBœŒ˜‹×Î9…<Þú){ªÅ–áíÆºÛ嚯E‡/iÄÚÅìՄܱ;Ò*•ÕJS‘úQšÉ ãsLV Fñ‡ì”^'¯SŠú[]×ì÷ÝRf}0ÀqûâiÁC:JÿçÅQì¯ë%qûÃîŸ8è‡àå7\©{1ÀfO&^3²X4ªê&Ë-ž·Ïï«ÎÈ6À´Ú€ÅàÇT5x·†~øâFX9Ê¿bß[Ù¢Ý.½è:“pxˆM½žH"9°óÇëöH1\ë¥e˜î,æô¥fÕ;M¦÷ŠþôÎ2"Yîñw±ÝÂéuñû„`Ñ©;œã +^þzr¯{}RôM>:¢ÛO©PÈ92èìQÃ^3nó.0{ç˜ûq$»Vàˆ +Ah¢:÷^px#Ú.Ã㌠Ã=€Ø;ZþfK– Np*Ô³½¯ç}Â"¸wÁ9LJ@{Gª…"N×õ¢Â$oÃR·ù¢>©æ•Vó › +Ówe'/)Ó¿ó%^¤N¥õºÙYÿÁdJÅ(ÿígÂáÓ_÷ð±æ¾PX¸Ï܎^'üvݟ¨ö ¼¼B¡ܬwóÍ¡B’ü:¼sñÊÐw¥ó^Ô¬Z-ÙÞÊt¢¨~Ûrk‚¸ʧ‹°«îyWŽÉT•Òþ¨V0<©ˆ9*"¹Ö­Ï×»ÃnöäYêt²ò +¨zø–"Æ» +°FR)¦gõ³¦Ë²oÒZ1تãw\~§µßÁ?}l·Õ*rXTZ*2+>S¸7B`Ÿ[-À9™ÕX|åÞÑ<;FJ袳1§;ՑÈà` ß53ä•fہ—!‡­˜D¡ÛçC£~*]흕íA”#uìl×9§ß™!°A4oD›¿q®w%o×òÏQæâGv\z¤µŸ¨†]Ã'¸†G„p/“U†ÄºsÒ^º%³ +ŽÒÂ-s +qUnp&7?ìyÿøO¶nÌàˆÂÑ:}Èá3¦ H­•=Ð=×e杪Uzël۔B”('Ô B¯Š{Ùéù| Ëô翲eŸêÓbðõÞ;8Q8ebg%ˆ^?>6L‘ö½ô5z N0²lç¿~Ò. ?¯¬H±éîÚÌÀÞK•Ç·ŽòWÄ'{ ê0 }áÀfâX6ƒ‡Ý/íÛÁ)¿¨.ºŠ=!yGáÁŽÀ¼ôÜ1#[#—Z¹1g«à婟_‹ºtn¶«EKœ÷½Ã½Ó²ê5/}O±?0<¾µç~ożZý;‘:yöX뾇Ú*4`ÄêØîšˆ¿5U ·ØŠüçô'´3~rÜðm ÎO]ÆOÚÞï3¦=1LåÇ_ùÒwÐàcð!™ÄÜÇPƇ™ìó}€‡9±ËÙP²­Q&ày¾‡§¤oÐøöˆ˜"o9J$‡&G<G¬_­LT˜/Ú³7B#å1ì„â#>Ç:s|ÁdãØc³£Ý2Ð?˜eš©xãm©Ž‘Kþîb¶Òÿ²l¨ŽLè‘à*ü%uã0øžÝÙngcç¡Á=È+#wÓY 9š;΄b!¼îTÎ2c¹îŒn‚«ÑòûõùŸ…†ÏÊ÷&ȧØ`˜žû ‰†]sgîÔ³ Òg‘º;sæñc 7¿ï׬ÒÞcwdö=‚‰ñÅòŒÀÀÕûHÅÖn/ÿ}ÅCgÅp‚‚ð*êôïX1 GÊývìwN٤ԝt¬{‘ µÖÄ.Ý~íe¦Îó3ueÅX°.B[êwò~MÑïTøí¤^Ǔ&§NzËÞû^㩙aAlS±ˆ+þ-©¥´8îâz …çQÑ^™éÑË0i¹ªèJÕm£×U’ê%œ~{ [cÄpÝ1¿ãš’xÄT,è5ެ+Æx¡šÍR]÷´³ÕtxV}†š°žÎ+ý/Úe\²ÓŒöџŠ¿ƒ¯ég´~YYØ^ãi]ê²-(æ_‹×4—9Õ¶lä}ñÚªÝÊ?f(v"fÐn ,Âw0;6ÂsI[Qöð†ÍYâ_ú¬É'¥¸“¿†5ϱkHÃWI û2êÍS±mJ×ìì3RÀ7!ž¯Š?¯ý^á:ò˜¹„¼ölÕ+˜I•©Ñ4ÛD»%¶Ñq&äýNGŽN"‹’yìn8ÏÈXR俞&rƒáDzÁ¬£C}ÙàYaŸ«üšeó#ºI û­ìtO ¼Ò’¢Î*ÿàÚ¥:v*?Q6«Qü¹#LæêÏîvîcg™JDobDÓ׿nEÏìÿ!˜Ë”Ûnj³|屏*µ®l)àû-è?ÙýX÷cwvªwu#~j(|åáI —  '~ßNOWW¡Å5pb ޏjáó®Ú豗¤8B%Ó«F”õâØNó3Áì|:ù»³´_ÿBŽM >£%?~¡ 7ùãçC¦6KY¢?-9S1¶€;Àq´jHêÕO=´PÖé ýjaŒÅŽŽÐvý˜¥‰¾S‹Yh²ôگܖˎn7e¾YPtκ“Ö°7Ý·ìǔ€Yà7Œà÷ĚÄäàdHŠßqâ{*F-`Ã@›î~m•¹óTâýï¡™9Ÿh ‡DŽY: ˆÝÑ–=ɟ3_t†…ΐéu¦Ü8q%ä÷(>}øMåzŒÒ0X#F*®™F|ϟÖ¹w+5„!Qâ3z®þ­Æ®¨j˜7”M½~›Ïeä#@Žæ,‹ ~Oá +uNÍCøüæYáóTD§û䯕‡°ïzÚÒ:}rTyüGn_ïud[ Dy«;-H~ój…Oà\ä©Ð®t"Pœœóƒì—¨øwß³ƒP¬ép´œMïà`ˆF V:Yȃâ­Mfî…â=H Ñð(¦nïX!Àƒ+Ü÷£SWêy¥yìaŽÐÏY-áÙ#qàJÃcöêޞ…eàð3*wå¢3vfM“Ï–;Ÿ®W¤U±Ä5ƒVô²•q¡Já¸ØµÇ-ƒ2qAC""tcæõȝ¹Œ—Ù®ù¿Üa=zèƒî{§*ƒÈí%M ȱQýéV"8¥âŠëƒ+•”‹uôUb^Â߆2é—èTÃ"sHsÁ#ê2J“ ¥Ÿe7;R  ì•ÒÚ¸f4¨Fò 5yihąôlŸé‹sÑ9'ó1ôÀN4º1ê;å¯ìÛ.<ðû"ÌP²˜G7ºvêŠ{d`’Î!” ×°Õ[ ÿ¢¼GZŽÿy.™!¹‰ó.uv>þw–â‚-çDä‹y¸9º;[úâˆÁ£MA<›-q¾z‘2G³,NýjÀØT‹;b‚óa®ÌЯþ³mþ+È +4³ŒŸË½4ó‡Þïô*òï-Ê9(m;‡<šçóܝ¤»o?ûˆ„Ð,Iæ€ð0m´9ê ™`cÍÇy„Æ9GďÞCyœêbuºö$-&,»Þ÷Jሖ:@ TÛ´ln‹m £¦Š"S3QÔXð²gµ™Þé0õ˜öàÒÀâ`RßG -Iß«:m|ÑT4™øþ=).‘¹vسÄdo“Ü]%ا›*ñ¤@b°Û”G/sÑ?‹÷潌'gpïÚ* §á×Ö»`-P+‡ÞaÐïÉoéŀô3‘‘~ÿÿÕüÃÝv’K'oߪß]‘gÀ#€¨)?l?ÿÉv˜¿Ôݓ¬^Gbî ›VrØ]s’Ë'$ƒ“çLð,¼ùNh'¸ÍoDx©Šå¡ôÑÄc³y‚›VE¼×e…Ú>Kr<³îèqmuw!ý úmë½ý-ÿ5 •]Oæÿñÿ>õ=½¤PÂÐaȎы$™>4……TÀÝDÓßJmD³%kô[ªhÆ®jÓ(CÛì{雷.ý•–ÕQ6ÍE»z5Šœ: Ûx¤ÏD‘)YËR ¨"eˆHóHY‘ô>ÐK¢"býX%úCOßûèßtcþ@ñ߃+ m·}³„¼F"’×»JMùûetóR$ø¨Ï”¾˜pѦócã¡Ô0ó)Kæ\:­vñh’¾ºfk”Z¨èrà½LÞª„í*äs%6&ìã¯JD^]B¼z* +èQü†»…ùŧ|H ìèn?£[.Â÷ç=Án5Z4Ö* ï)Âï=vƖ“"¡ä{„~đ„ë=ò>Ç@aYy]þ,‹4‚çeâÊP/VF¤g I™uÝNÚ/Ì$ß·‰Ö¯OíÑ¿­ZXÐËF¿÷àq îö<ë>ϑ“8"1ÃL€ð*æ@ñ4E”à=iÀ4iãëÁ¯Za‰Ò¥õaŽØAp¶9¥XX0ps…xú!8<ËÔLåõ필†`^ÞU³”P;¬8ú&dGF +ón4)eïy°+ÓAø½GîØÛ›×§Bûþª²ßx?ËC¯åu¥…{ö@ùr]b‹eü[¿Éè^ºúu²ÆŒ˜·¤0²5³–ô±Äàé ì…Þ-ÂQŠr]þÛ±C—ê™Òï‚!…*¥Ü¾w©âq4ïz–±9?#™ùLhã4ð÷¥Xõ–,.—DØÁY‚$°Â>› +¬ébrd.慓óQK¿Ó5å/©{ÏÁ½ý{žžûñ6w +®–|ž•΍Ëì$‹X®t¦@‹÷Š>äN6/2ïyՓ¼r&SŲŒÎ“@"±Ä0ìêáŸâï²'ÁÚ +¢FñGNß·LÊgÀ‘Þ³v2†´jO«þ8]ê³8&ޏõÈ˜ûs—<ÎtdòSDŸ!-v§JÎæ?3½º¸fÇTÚGîžõë$‰2Ò¼íÓ8øƒ¯:K±`§÷ž:\ —¯~fÄLÎE3˜uÌÞÿY%¨ß3æÆëÏ;ê9yBóîzNþ9gc='óÆ^ 0ÀSëåe΄ȼ•ÏÛ¤¥yµ$xW}›â$j}Ö·quš‹Ïu–£Ïz«>_ýìEx=#”SF?žu¸b´Ä² â4¼WªiÏ\5¯ ”¾îϞv¤¯“¦“ÞR +`15*¢Õ˜¥1îºìŠ!ÎQBqÊRp§ßã”gäÐà¾׳ ÜœGénºž•é8£kéM‹3<3U-A†"úÌîá“4A<ë\¨À #/±cG±ÿÓõdéî(uR§ø 9$?ÎmõtNñ%br)íoÑÞ T†4Ñx„0ßc³Zªýê€þ¢&.L$~Á8Žc?û®&eä$‰ °Y©T&lWÆÑ<Ÿä•ÔBu0W˜y™X “ Í,ÍdäÜù¾½Rê+§ØPvށ3ó5ƒü™ö¼9„ûF˹æìérb¿>47yY +}Vtëq´L¯Ò^~@iƒ¥9k¡ôìØýHAö#žsôn‡Q00Çòõ%ßëìfÉD4ÞyØ“ìW²#o@JhÅ«µO!åyÈð™1ä%žI 1ZìЯ\GãIz+ÅÀ«Î#«˜]·Žš¬‹Ò4}î2 ò…¦ËʁbÛÍó"Bp*­æ¹ý‹¼ëRaMóiç=Ôó”_R ¹ßOy:á¾s£‚¦Ãñ&;¬!èÆàð%8Ì! + Oˆ;jSâõöêï½J¶§à6ü†ÒJ)ƒ¡ëù¥¬Hz) îaÃÛ9ŒÜwºi/x؇‹¸o´¬{°¢nñ„Œ +‡¹ûúZO€Ñª#WK$̀Ú+}–G‹T4CrµÞÿ# xîìYüÔ¯¾ó@|[/È4+òhtºÍntæxÁr6Ë_ÿY6•Sš*„bzn4+òl˜h]–Pü[* sÔ*ѬD ažÏ¼ýúc²ö ü21^"±gê‰ïTpGØîEînÐÎÒhy‘Æ*ÍG#6¦ƒ¯^LHª’]Óx¼'U+Ü­ãæ‹2A¢Ú,©G¾'ÞH-™”Sà>µQ#¢gá>ýîº%G»1 +Ï(zÀ6W®øåds ØÅ‚çºNQ{YÍ5ìf+p Z?ó;Žl½{ׯ4Ì®ÊüNdÄÍ"Îj9Ôíew—+‰—`1*†W_pÒ¯#· œësØÔéÏo,»æQ¶‹žÌ> ‚ª³"Û{%€í¹’”3‚Š¥úâλv¬¢³B™ºÙ3e@ŠÙÙDÔc¡؁dž]nßkÿí»»ý€X:£IDŒxô¿|Ú@-ç(@0oês‚6ǸqqræÅ:1a©Î#ž0 oƒÆ…JˆŠ³ãD:3B´Ò!ð½ßáÉó¾®lÄ+OšÉV5z·ÒTÁƒèÂÐ4Ééª.·H¡ËŠúUї +ÌԍhO0Ft¹EfSskJ\cÔ|Yª+è«É^ žw'¸}ÑW‘Ôw™GP{á[øÒÚûçX í¢ó +ÊM;´óA‰C_;r¿Çȹ.ûV]Çw ˜j>‹æ6l~?£´Ù¬ í zkëý¾ïV;Å +XBÓWàbê„zIƒ»Ô™3BÚªx‚q#ïE-Îk¶ÏuüR¹Og}ªƒ8€í/ú\M`óXŽÝýsŸJ‹»´¨Å¯±ì·ÊHÄg   ôェju*¸*§}¡n ˜ï,ÛªÍ Hƒf=µ®#'+n°u"nc4»8-ïD8òrcðՠϨ>?é“rUéÅšÁÉ*š‡—ø!’réÒß;9´€}õçß9q°¡Þ¶Y,Ɛ©~”Ió·ÑG¤}]urmšOµ¹OUé½mÊõõº0i‘g:ñÓvÄ® GTWÞc8 Á·¨7ßÕüHâ´òUΨl¬ .œ±5³‰dè¥Ù.­å{¤ÒïÈ;ÁT ó ¹ÔŽÊÜÍ LTÂéÁk¬ó¡D;&Ëw•I¼#rëÖCWŠcñ);ï(‚‚.·µ°—öÒ ™úŒÅ#ÎM-•/VeÉãR˜òYcîòŠ|¢±Ï##«}â¬÷oé³bpÜéà™yŸ÷3rë~ivBzÎÐ + ¡®^ñ€ß¼ÇS~:V< ig®cËÝÒz­9zç‘ôêEq„}‰ï Õ"C·CÇ"NÎH×(3š×QŠýäVO&CT?bÚÿž;X@þÕ15noŠ{:¤ÖÍ绫´ÖTJÝ2aϳ&ÏX§ï)QtùF_ŒÈ®YàÔ^W•¢ËfVìïL­§J›ÙsUí¡3ƒ|ø:‘Í#¾×SBæoSãý~~›=žJЬÚú¶2A:æÅ¯¼”­þ¦¨t}:K,¢4î?®Ã€â8zF-ßeð*ίëÙĆÅêËeÕw4Œ¯¤¯ì ê@ɦGí>3ÿÙú­H±Ë¼_ª»Ì·Í°¥{— ›#®-ö+]öÜÁÀ“­Xó~vµ ­II³‹n¸·ž;°ï ˆâÜÏ®¶8ڗê£v5°»HÏ [ðyuãÙ±/)º”›Ð!éFVìãÊf\´ƒ5#Óåuu +1-n§'ӈ¢ÄÎzê)Þ®2zóÕs}JK”¤ ¾Á×k;H…‰ûú–_½_ѪށÅ®é½ãªÕ3oÕ|kŸsd(R2‚ãüíµx2{ˆXu™‚žl¾ö¹Cˆªz]V…9±wÒ/oíŠ ÂRž<ä=ý îScì@PB˜^¡ «$ҙCÚHÒ¢ˆÞz ÷Lmvåp-5dͺ왭ڞéÃYôÂZv¾‡»k f¾ˆj)äÝDs-щ-¸zSøKÙ°¸†¼š`kš±%{hð9²êÞs®2Q»SÈ}aSU¥¯ ð^ ÝÄìv\ö^ùNÝBýuC¼R·±•<«ŸÀc«tðºgôßGŐDàMù³p ÛS43lÿb$//Ö!9´XžrQO¥'—ål©y_½H>ìYbMþBqy¦ìJ|çu„ºæ/)ÃO4‡¨ßiey&=y"^fòqÏ ŽtHugOÄ dzçDèɧ™ LrÓ÷²UuƒÖj¶³/ßò|’·£¼Ô'*­w-Êéˆÿ]™ì;Hôû|Îk/܉ËWi_%peY+P£lp²¬‘i“›Ý¬W´²]¶4}Ääu>˜¹“}’ÿç8Qk›¶Ýé|QðÚ«îVñ=ºçO±d¾¿O„Zª$ܸbdöÎ5ÇÈGô"Ès E@[¯çY’j䁢$¥Ïhk¤K¶Oí=Ó?Í ·í­‡mrËs²î)µâµF&¶Rvꏟ ÁNdEÆg÷Š̵»83Œ‚“Oi¢Þ’UZÓ +7·s²Z8ì%*×Êæ=¢†(€NHo9ûø= +æ–òÜ{³ZåèA*²²ÇbûúoÏs,B4 ‹=µ@iË­‘¹§êj- O¬›C[Z»©­Ì¬‚¼R]Ôg®Q~¯WšüàR |üZ#<üØ#P +ì©ã˜‰Ì¯žf<’ÿڄC‡¢3ì*ÜM ÷(Vµ×Ò$V9Á™k~Ù­{wûa!Jó·Oø¦7vX-O7†šÒ`çŽÛl K^OX -îbCïXŸ^ÒZªuŸCÖÚªF¼]:0½zU½&q ÞS§ÞÁﱞG•ù=mŒ#$Ħׄ;á.€‘#í +n\BGuJeýFUJ™ÝrՅ‡=›yÔ (Ÿ¶§ÜÊöˆÂuKSû +·ƒJËLÃ)%¸÷^ˆoH@~õ;ù#  £Qš" Ì7Q^»ªˆŽXîÓ®ö¨ —X%ã€:bu Öõ9“ŸÀîfâ{l%|º‹`©_t!]ëӝ—LEånÄ×§Ó°¼¹%pÚÅ¢E–úˆ=%cÓ!õxÚùx‘‚`N¤¿½Ìú¸I™ëö2N°hkÑX­/Y(ø9 ¡ìÆt¦´õµ¤w¨ Ô÷þ\Á²#?Àé–äsǪÝM§Šh=ÒYˆFPo=r›gT´v¨¶R¬¼R_©ÒÒ* Í4͈X•>ÅÀ´Æ¥á"2É¡³ò0hÅKe3Ð(nE÷ 'Õ°T—xCˆ&ؙڣ_.üP)q*+‚:­ç'a×åçR[\­¿U)ŸJ}ñ>Jýx†¿õ< 6|ß³CZ<}m§ËçB|— YÏ¡œ ó‹7™ö[9»$ÀIÅ/¥Àý©û*<|# +{”碌ÑKQœ¾ÖÕs~Њ^Õ¨¾zÀ2ôÌçó© +?e#[œÇ^~À.ë9Ê(PJXQõ¶_ý·©å +¸ÊŽdÓ.¹æs‘}Sr35ªÄÄqly,h}:p]ßU-7Ç܍uˆ¾ÚWB^”-Tá+áèºN؁äšþžÇôNlr íºMªŸ3ËëŒ#;öl™<Àú¨!-}euÚ]--"ð0»ê‘”çmÁµnrDW4lÜ¡¹ óåQ yïÈ¢(vkÁ•j^ LdSXV‘ëÀÏK_”¢…ZÐ0wõai£´ +ÐÍDxï”2©×z›~;jƒÂŠßWтhlV²ƒ——BZY­_-˜ ȀG¡&ìpç"‚’k 9V艅"Úˆœ%ÉÑâVª8 ¬vA@ Pv’wÎÀ€ïD4”Ä*tÒ´ËâIlT{Šîã +MÿëÕ¶ŸY¦õ±…nuöYø—ËK\´’x/ß)Sí7CM¯Ô(^9Sù]BXÑámíú"½ŠAÙànàh(!Ć ým¹ +[©æq˜I­Å›#u‡3„\iDÓ"ø:òæ€͜h yÞp@3xòŸ\+ñí,í1ÏÏY: +vëÝeìûm¡ùP—‚6$¿íjÖù¼‘="¯2zç½fzÕǃ{ZR° Sa¤?äܟÖà 㦉 +Ëõ°… €f¯HNï'Ww*ìi?OöéQã¦5ᰒ±¼Äo;ö‡ –X‰¨qPþüÕâ:ó¨ï2=§Ö1¨{nGæy—?²WêªaRžHtæÇ|Þß~å©~ø•n“iàû˽RŠ9˜1d öægÔ¿¿×åï%(àìYô28‹‰2}úñ×ÑM—)GóUA…Å ¼ºDkxæ©©çÍÎ:ï§ØE@Ó-ÁSL“v¸à6¥U÷‡~ÖA)Ÿn~ 9©w"ipUSgHŒˆšŒ‚PÂü1×jý¹T?ê¤_aœÀ rƒ)bñˆp÷×Üpv Š¥cÈ~¬CXg¨]uéáIî¸|0hºäi*üüøT婯ü±²KÈÛ¹{^ªâ¾vʪò¡À„¯;ÝvÇ4ÓI‘â=;¼¬¬^¢-ÌŸ¦sg¤|õÞö?™ãɗbÙÿV²¿ÚģߟmËÑK}޽õc'ûg˜‚#¬©jP!ò¥}Œâ›Ê$ÂþéÇCTmò +Ùüԇ$ ´²ÎJÝà<Ÿ‰}ik¶+$!*u,D”‰¸Ä)Q¸XEmCq>†\­<諭ÐÓ6Zj|«]#m¦ G%ïNPšöüÐÉÝc`“×Q'‘UŽ=ÐÔÅ.ô2;?t²AéRdvŸ—@ÓH»ÏSíŸþ_·tÅÏæFŸJüù(öýäî¿E=³:¸ê†!€pßϋ´Cr¨¾rÅ,},k²÷sþ”D>¥¼çˆ‹ûmó¸Ž.ÅFX²µ«±¢î3@‡ðÓ·G~­sìNÙ~{ð%ÄE˰/]ýfz½‰Ø˜ÁØÍ†PŠðå1 åˆ<˜â‘bígñÈÒ‰v{ʄ•ó«O]rPA%¦è‘_8»µTh|ÝÊs¾lʜ¢7B85fBêÙU33íF O# ¡ª¾®iÜxÆÇÊ\“’È)bVuhÍ_©_U¸Lq0BJ‚‡NŠ©tÃ]ñø¼Ó{~ê8¶d º–Ç*]H1©ÃQJ0|Ek©Â.}iü™×UBi\­RÀ=šýWLˆgéx#’­ZrZ¹Qç˜7,mµüŒþ «>Z[NEÁ…¤£†·Õxr†~ôEzöRÓº%dЎ áš"QœG"áX—€§Áá否³1”F¬ï»Š’ ’Ɖh‘ô6Z+¾sGh…Ã>²4\Á +>1)Ê€ùž gDq†Š™õÃÆëW´¾Œ:@Ñô’Ô¤lbß·ÅšlèZZB’IH¸7;/6ß"Tß·oÑ´'x"ZÒX +«#v­¨zÂ[}ži.E¬ q_½™2Ÿ¦ø{”‘…‹–€ª—@²„sçæü÷0¤ûª‰É" ü*M¾…(Í_¿O\"Ž›¥Ð ³¼ ·ñá©^âý‡Ïj¦ K±ž5 ጼË"ÀU²÷–s@-Ǿ«ˆtdž¸ñ¨b˜…»“7©3ßFÇà [&·š ûÇýPÊÈ5g¹„ÓJyÔ „4¬‘à¿Ð^&±W¦`Ñ]ñzQe܍ÂîÊ+‚lg¶:ÝauÒ8ªhQé’;¬òÙÂ-U¾dƒï’/i¢žŽ8ë›m¥Äò2½>ŠˆkPvVþÄ©G…HZß| †Ë†‰ƒÍZªk/öömt³ÊëèÅ/Yã)%­+²l!Q‡…~Xø†0so¯€gÐÁ¹acë´.k·5¿v›:vMYBÉü9ŝï-‡(ª8“p4ý¼»N O$"!uM%oý¾4Ž>R¤˜RñXØÎ:…žuãA\…’ׂ‚QXãÝJ¬)qïÚ]¡/–Žº™C«šÒôWëwùP³õ9#Ôܚ}…ý𵪽ðŠÌ}8‹#=Â×Ra¸G\m'³R»2Û&‹(l«T:#G«‚Bû¢Éšîµsw±\˼ƒW³‡W`ÊÅwT£M ð)<˜.Dœaz¼¹ý…² rDÿP^oÖH®ñp‰†§Àà¦WT„t0,mL€A›ìÞOW_Ù'öÌ?ZákúUú@DìÛÀm”Îì ’AZvI½Z§@ô6u1 ¶ÙŒ°x¡„t¡Lˆ‹ ~÷žëéQoòEzq»Þ%QÏ[mç2Ÿè%ÍÿG­Ps`°ž©PÓé+Cç¿vÞdj€¹®…wW_J‚»Ú䉰A‹Î”ÁV•êfZÙê—rŸÐ*BŸ#Å2¥“ýNeä^Týæü$TI§9?Â!ŒSùMçd1A§dÝI1:Ñ7DaEõþJûW¹Kµüû7e¤[,Û(ï©£€Êë1´ +©q‡FÅé’"àðÚLÝqÁñ`»‹BÖ-'&ډÌuCç^MعâÇÎڞ㠞¥c°ºÓ-f2èÉÃKxä%„< yyì½Â<ÀLmÚè\ŒÈ²ó$ï+^}ßOÇÖXV†5hS‚Κ¦|KY£Ä¦[Ì*4gS0,ݝÃTûv&¥ç—)ÒY,@µc“j^Ù¥œä—Çé.mPdz Á%Îû«æMï~nÅÞ3Ý‹³|?)äRö(J‰† ¬_•ŠZ~¡b]AoŠ›lù@;»Á­þåv´' +gßöè9›¾D‰JFÝK/ijÎUK:žö cÆÁ/ÜmÝ ª‚j ×Q¡å¿—2ËÎXÚîþE¹øàÔMŽBŽÙ&cV¾æŽ% rÛ¥"°"jGmðȘفc¸`E.‰4«×'‹“Á31{oG÷¥Ì{>c.Ò¯¹ï€|†\»ÐwÔùŽñ¸x=oÍù¨’X/°›CÚ=?A“0‡òÖõM æòõöMÍê ¯YŸCŠáˆn-`Æ293Ju0OÚݸ+S™çB¦zˆØdœÙÁJ)Æ +¶þDŽ¥Ò5ŠÛ«Q”Á)l7hˆ*ëɏ™ûq=º-ÖÞPINS‚$ÝØÎpáË8¸nÞ½9¬s<(îU +8çž)Î>p=Ñ¿§Ud@ÊO N„–,ñUÁ¹gžêÄŠø]×£$Gº Î_ºBã˜þ»¹IܕGñ?¶Àý`—ReFò.Ò»J²¶,⎊ϪK˖tRÉC 1…©ºVÐò¿vkkoU +V}ĻŇ÷¥PÅÈÄ +å®ölİ´˜ÎIzâ©W¥_¸ÇSÿà½Î)Šßφ¶Zqv®ƒsÊš2{äVÙ¥W‘q*bFŽ÷# ¨a‹}à½(µ¶)YÕn¿[ŏë¬x†ÉNó=,¼3ûºhš—œÛàW•A€šUÙY…=cjõ˃hÐܑ¬DšÔŸ þ€XD©{Ö,•às¾ê0`u¶L´fád†îd¸ž¸çŠà+©†L÷ó®Î«‚"‡JþŠEW# û*‹y%ä3R±_óðZ9gy¦¼oÚ·RrKýç.\Ã[ÝÈ ×.~1.Á¯Ð„dµY']N÷ nLç^éªRVÀw£{C:#þ +2³bHJÙgSzŒí¢QXJM³¯‘äxñÂ)x4už;Áîù1²È8ËÓ”¡øÒcÁ—]¥‡ÀŠd½Ô­a¯Þ¹¥i=1fúØ$³ZÕý©Ü ;Ói&Kø*×2Bw¥?dÊd-Ó¼ßjtw«‰˜\:9gK-Qù +²Ë–S„>¯@UúÒ¾½´c©ÜpK×Ý$Òo$uDâ|fÛ’Ê +}MV…R(¶x>Òw”ûíügÍ œQ•êéA ÐP”õ +IÙfô-šöžiÂ&µUE‚+Å–ºßR.o¨)ÒÆyÒ·ð7 Ìҟ§ÆÊï-Ù[ëjê™)ê[tþã'¾ŽÒ ™KçQ¯²~ÙáU£Aù‰þ§ð¶mí¨¨CV‡|>B1µ”ÜËàRyÆn²ë<Žt;E%˜§Jü· qQ(™2ñגÃI]î_±‘>8H¾·‘þÓ§û_> gâŸ|xüåÝâŸ|úü˧'ñÅ¿ëg½ÿ›øYÿµ{(êýž/ñ(½æ©ëkû•¦=ô-Ã)¾Vy¼d«>YHœóÁ£”G9]ížÍ!ÜÓñ§"* 3¯§ÖÌ)P>c,f§¡¦ ÞJ¾N0£~°³ˆåM1™;üá‘FÁÖà|•êIêÎ2‘„»vxÊC½ Å¡¶ +àv%º$ÝÒWàS^ŒÅæÝµ÷N¿)Z]6]«»Š8µŸO)¼Ò]¸ÍX=wÝRð§/˜ÏF$6k=·ÇnðZ v¶^,î~ÒS +R?™ +þßUûèªýVþÞ×í² Çêy87twú†úhbøýk\pQÁÜâÅ@2°Èb˜€»Ü2ÏUSǨ†<§àQÚ6$szʷǚì•î|šHW2ðÔR,s¬·3LN +¿GՖz´RÛ§K¡Wì¡æ+/õ×þsõ¡\/cÍøAýÂS`IZšFåŸ]‰H…øÃœ›þȝ +Ú2 ©âS£„ì—ÄD±t_jçfõÅ “‘Ò.iž˜Ô—xɄZJò H0À"örÅíó%VXÿ ƒÔ!vlE¢÷ûæ˜ð‹‹¡é¼¥1 àGb*âÎx«Ï+©Ë :ō)»ÈûBÛÎ-•ß¾“%×VúqýÞH‚†\^­Òvé`폺AC˜ˆ‚T´¥Þ)Ø[Ó½R%Zžq1šÔ&ohüw¯üNցᖉnFz”›1"÷JÇ{òaÀÿÈ``_­¡äé½H)^¡Ê›)­õ¢ @žã÷ÝрýÕ¡Ëùq÷PXã`U/ØqôÔ%O™*ú¢Úâ£Pu¼ÝêJËM$q>ÎW’VÜgú¹µÌ¥3R gq+‰¿s)3ìߊ‘º¿áyè©Ïqïö.0éc(ê¯#Ï­Dy Ô7S#` í"nßhÿPÈyÍ#¤•84S!²¡n-ð#zq¥Ôù™YRõ™YvΓW5Cëûi ö‘Ì\ëß$5Ìf邬ä|ž92×|Žeþ>7ÓϬýTpχéËál¥BM}îÙ¥Vòˆ´«øŒ{!}¿´©Y²n%ox—¯á'oø¢æG謭bq–LÂXvìfÖdÔ퍪bv¨!ö—ÀRMv8Â#+ï`bjX»Ÿ4xS¡ã£ÊïdÃ$âV ®O˜¯¡îƒÊ‰®Hµöçþq+ËL/F|Ôÿ¨ãÖ¯šš)g×sºúË2êÌb,î²Á«ª§çV™o`(çÕX…NŠ´Ì‰²1+u¤^o37š¥Û;ãyÿfãòR¸”ñ0ŸÄ)ØdÊ —ãSÈáe±”Ô¥úï×_.ÅohÚ£©Gì×#PÕާ·ƒYûÀ6”ÌéµUùŽÂüQbñ-Zm;$ 0Æ;f¬±SWÓ ë­U@ҎN› *Æ æF[>V"8º€ºÒÍôxÑ}™1¯J¢N‹·§JË íuëÑÇÑ[::ŠêïwnS»ÝMމ>¶ÖH!¼C˄B‹ÔHpé#²¤ª¢˜g+{šq÷`ã%éí#ÉÕÇÔH0@]¢•·T'´@ÍÓ»ô:[³[ñ MüÓHŸ3waƒÚxœA9”E‘ZÜUTh.íjGÔ* æ+ß®^×}:#܀êŒ;_"ARt»êU°·ˆ# ô²3ê¾xYO)b]e†"‰‘G-r»žã +áeÝÕÞ·©J€‰*ޝEµ÷en–€"m˲žmdS¨%$FD#ÊK¥“³K)‹/GœäµKIð®ïH@ŒhÔÌ# úw]Q¼`8•Xùá}îb†½2}÷#"äþ”íãҟ‰‹¸«vˆ6%:ïºçHlyYsTãÄJ­š[¤Ï£^„7BN^…g¡iÜNRyË¯òS²_²£`L|þNTù:U€RzV˜ œ|¤AÎ#©C~ïP³r‘Ô@c0cnK#á‹,Ka°ãÙI›gšš“çƒ åÁµU+¸ ¤4—Ûá{‹ØRZñj+°r`팏•/G]yëg€æ ‚j%j>Ф×=ŸNX+¡ìþ”$´ä[Šÿ–½õV¡‚uoòj•Rº±i¼Üȁ —öMö#·¯hàŒ k¶Õ¨é]M·µ&­ŠŸR˜ÏÒÉs«¶`lv€AA;HT)¬êºt‰>}Ý%qi1£Ïs??«39(‡îòO͊ÎV½5|&ôóÞá§s +G™/h·™Ûm *žsØy„Ó3í¨*œ»ä¤¶g1“LþƒŸ/ošZæiÐHaúbYC-uÌGƒr¸GÌØ8ëí¡Ø©¶I®þ©wfzr„U$¡chkÏ«{îB‡´ÞSoqîî% øðH0cg¯W Ò÷ƒZ¸´ºÅ¹X!U!âÜÍU¡ßÑc•¸R\ļePZ‰*¹ÜˆMž8ç¡![¯‘Ã Ñæ¥:Àk£??‚¤åk‰\ŽÆ”bg¥á^þî×_FU°¸P¡„MÕ' 8ù÷%âG§‘1ò§ûȟÎ_€Õñ}`ûqòغöX°˜éÄ®5û˜¦²))Üåá?"(6"àパWoE‹«ü4 e¤ãٕ-anª5×#?p”g–¿5)ÃYnÞ½¬Ÿ/=}žìë.ç»@>lq»ÏìŒV&¼*’Çӕ‘a¢xÂH!Ä­Ia0±äGíá9SVÂn¯Dü‰Ë¡„Ì;ʕƒGÍŽNB÷Ç:ï¿(~—ýhAx§å­Þ;ýÙUíÕ¹é}Ú°ú£óÔ³0‡M¿T‡ÞQŝد¢ªIC¥Nô^iP+›ÖM§»V{á:¸jÊÕfKż+ÛâÉòzü¾üBõ»{H¿'“"MDªy Ô)íDµæ‚jÖAX#×ýÌ<`è¡ýTƄHíâEÆè`ÿp ä’ˆÑ‡‡•(P}zv2QBî¨à8 ‚)"k…ÀÕÈRXŽDé^@ìñ˜Iõ:XÁkN*K-Hwr¶ÿ?™Érk¨Íøûn+Ûq Ò˜K}žr›–‰Åáð¦™”qçû6[4c¨£ß¸Hz§¯²wŠ!~‹‚ +Z¥ˆc"3îâ=ï•L`–*”èñ‡Pw_¡Q3u.]lÿA­NXòaBAÙ{®ªv×ó}a5Þü)sg1Á<;pE‰荵i.[…TùÈk^åX@¼ª!Ŧ@ÎwéÄL¬ØÂa1'yö. v¸ó Ar#h¶À$ï‡X ÃÖ|G•þ¬m»va‰§PÛñø­â äËÛ#˜J]j¢2’&t¸ìd=2_¤ÈÉgŽ£ì-Äè|F¦g?œÛbR“"É#›÷•Ë‚ÚCµðäíDûárd^±%ã±ù½KSŸï—¨ÈÎüs—¥ÎeT¥¿z“IÎ÷bïï¿XÉc/“RáFu—ߺ7%D•ç4îܦxüà3½%ÈM~Wozþ¼Õë÷ˆ =osŽü#0ò»˜ÍzžÈ!ð›™>q®ëAf®¤åJSӓO;ËêzWͺǣ{Ž*Êh%§G´Œß™uÃBPkâVî¡Öp`«£§‚)©ø7-³¤Ê$tVrà«M&¡«v áp˜Z•MDÌ3Õvžày=¶"+êèâ;o=Í öµ« Ýtã„ÓÊV€yÐ-û{!ßHªÝVðð]¯–žRÀ}u=nÕ t¼+?wÊ#4±ù:/ø%ñW#ÝHbj +¢`Šd cjí¡¦;µ¶K§—ÃäZéû~ž‘&ª§Ò1ãÙâ¯joœjDvÀ‚žM_{󘔨ÊÌHâH} ˆfºl ËÞßԋ臲gèyÏ(ºú H5]l!É@1VWіç›g7’11°NtÎf•H£çƒŸYÊϛiėFÄ0‰0Âi Pkr›¡K5ý)O£÷ò¿ÂBPרÖD3¯&û0pðßBI}f‡@BòäN¡Ñ\ý"öꙅ>Åc‹Ç€¼‡®ä¦n¬Ù;­t팕,é‘J…ÐKfc’‡¥Y}¤Ð-!%°w֛È#È?·uO¬ûá퓟ûà8!ížé´ÉvÄoGa^²ˆÑ­¢ˆy.Þ[='&{ü>BOEÄRôÙhåXüW¤GªBTh¯ÍÂÄÍë”mx–rí=Ë[Áè¥0(:ªÜwÁñ.((ì{Ä(J½^ä‰Ñk8z@áû­Y¢€w…I«,UÉ3gº¦µÜˆtáêBpUËjµçk…k·8«éâÃ¥,5¡ã +÷I•ÿS•hÁ#]á*•‹£ï´ø>+Ô_ýƒÆ9Vª"‡„QX֜‰iB‘£è–¶'Oó>ª6Wtú¾?,#ÿmŽÒœž0æÏ¼<“ç'‚Öl Pamu7chÄ=i›V@ì®ò0$ö­«ÔèÆ°õ Pi”k¡*Oìr‚œ‰â"ÎÅS&ò6wÝéäýō”)qTØzï:QdµkµÞÝÄå砍ÊÕ Ô«ÔËBJÐø±©z?TT nûáeYL®ß£F]gÐ/†ÊËۏظuŽV2Opq«ÿÓSvx[ʬœ3§Z­7͐͞¬ŠÛ‚öµ§ù4! "ÇÙM+e`å +cü%s„ÿ¥˜W¨U_Ó®g†#¢$ƒßo%S ¾,°µï²»9@ììjsUê8?Å!*¢­ø»¸ºU1‡Ëä]:y¾"1­fÇÊë¨È$eðj£ö‡pøÄ Ž•I5QÓõ<Îø:6£K‚ãg°º” -¹¸]ŒU˰…àµ6Pkôño•¶•¨T]äq:âê÷5÷}Ÿù-LJ[ÉÁ•ÉRۗM»~)æ.}5žìy «SxÕDZ%֚³N¼îVÛ٨᫄SïLëçjÖðªi’m¶ DäCúÜ¥4ÆX$ø, ÊÙvjí§?°ÆÜÏô.Uª£xq×TÚ9?g‚cyâÒXm=ó[åO–P$0´ “Ï…Îÿ¼ª¹sbnς|z¿Ìm¨ÝÊ£zG»ïVᳬ~)‘»5k‚õƒEGkH%6\ϖ’cB$tµ]µ!MvÇh‹DoúÌîØ*;º  ÓQ›ÜÚ}·pØÃàmµpÙM>u‰¸Ã¾zHáZ9žgíªû[…Ôs~œ¡º}€"MQK·‹T}¥¿³ÇZ<Â{C;.í8<µg2®¢Lxåx`Qž¨*€ãYzI­Š\=•‡z˜Í`DS¯ùð„­^…Éqê¼Æûûaú*uùwׯ~å£ÝÁ5{x[Ùî8Œ8»Êšz—r&l¬>k(w8÷¬éz*÷¥OPNñ-OËSüþ쬇5hÈ^çóS×#PÀÙ…ë;‚-b[#›Ç«H ñÒº>Î0Æ¡ŽgßÚm0+xc±èÜ.qý +IŸ†ý*¦ÞiGy,W@µ‘ŒÈ몀, If²ìá»jZ~·LžBS#öÑîÀÀ¾…έèÉó7©¼®r–ºëÌÒb«=öm¡t]¤½†L+(Tí7^w€C”EU§ûx”FÎjHÃo5é&\Mëˆ!¹Aí՟ë"ICà+ …±Ç2N!ÏÔSî2 ¦Æ¤ÍxbáëiöSAÖJ˜zEÖ:Îñ\G¨ä¦ºë`«Ç¥¿m–'‚œ×ڇÑ2–ºe¾aœ gI²êÌN»g—¢è<”`ŸÝœ§aI† +˜=>cÕd*‘ëÇV;挭!%5KÄîj¢ó‰$ˆ?æD?Õ1²E!–bô¨9Åö”(« gFÔ³G°ÊïðÇùˆ$ݽœçfKÃØ(¶ýR 4¤öðº52zԊ4óý=‹Nº ÿ}3]Ån{m÷Œv5ËV*®îÌ=,‡VÂIøŸÌQ'ç%s•†Ù=>¶ç‡èĺ‹Vu׊Ԝy¥6=û®ïݏrêêi͹‹¸Ê!Vµgÿ±/úÒ1ä¹ãVQ·öTnÂcµÔK%¨©‚Û — eóÏÈË·Óá¿fŽíš\B0Ž`Y’Fë˜j$\ô@èó>.[Wþ +„íÄcöœaµtqF 5\-‚öt”ÑÙåÌÛ*èÑ­ùNëBåÿ‘¥ÏQ‰Æîì&(D+rÌè#Ãe'BIҐOPãÂ-“‚‘ÖŒ|þ޳t °3 ÁëùBs  p;èzþMȏ*‹vÅö}O:ΰîFðí£é‚Ñ#\T©ùmO# eA=ò,#'AêèAS¶ï·“«NvÀ¥÷¯ýÀ9Âø¶).q*YèìCL’y{… C)þôü³ÞòÞàÑ@’^¹È,‡Ï‡0Ï´`9l ɛȘÛð}„R¸{^³¡®q·j…_~)©Ô_¯] +0­”˜©>ÄÊnÑ×#ºE­áÞ±'ú‡}HYYíUÌEÕ]w¦ïò—"îA`­B«õ]°¸Ò³§ÓŽÛœÅ…Ñb+!r*Ж;›˜ +OC¶ò£¿ý·MtœÕΒծ·VØROX”ï+ýE„Ã÷|nNs0éUÊüò“޲;*1q2âC@=Çóltì`ì2§´Iø jtTõÓ(6†ƒGä'-ãË_]õÿ¦öN§rIÍ´IX(3ÊLÊÉNЏgé¶Ö¢¯¾Kò-—œa‘"ÞÎCVžb§ž¬2Oý,Õ#ª€¼©;(Ú@:DÊ¥¯; ÔâA!!¿¬ZTì</éÑáùvÁã™×ôNÌü’È=кæ¤²9 6¯2¶VM¥=LSñˆCûgtLw•ÿF~\¬šñ·L`ÏtºÙ¤^J‚®[+!=\wçÝ8«Ù{–„"§à´¹Š (§O3J1 h ÅԕãþÃ{€JmF"ŒŒ$ê$÷c¡»Óÿ®{Pv®•sc>…ѳ¡Õ_²Û­QêÐ׃11ÒÂõŒoÏr.öS½XÇáÜL3†z„_§Ý"Brˆ‘,ÁIÕm>—áQ„‚?ÆÀ†Z¦þàӇŽ{ÌÈS)ñü󎡗Oƒ´<)qO>ã»þTxÇ®b+ +Á¾­b’©,ëº{ +5à…U\dù1§+¨3è>¸qL$ +rª5"[(˜”WQ<±ï·INZ^WXÓÚ OM‹QžóâP%X_¡ºK6ŠTïÖ/¯E22õTîGD´Mt–HR®«ø`Jént¬èºÃ‹|jYŒ†@=W ˜½3ÐcYr§³?º³ÜwT?ËX5KX;Í/¡¨Å!\)ºljiºí}ÜþÛÃ`;CWŒ8×ZA½Ä4@‰JŸæu-V•JæÞŽ@K¬ÏvUQ›a˜@é1 0 !"?)‚¬Ð֕­yiVý;„Š5†ƒí›3Ґë̖yäÅ4å;ŽIC˜$«Õ©3eßõxøwÌ<É©q¦dªÎÚ¬1È+wi~xÍwÂ@Ìø£󮰎ë@¤ì欫3]íwÄÒB']¥×ŸÃÍr7üÿ›èþ>ޏ!!¿?L·ª4Å ½èGýÃ÷ ÷,ª@ÓJ(˜@|Gjý§B~0V‰§ðX·±ÞºXÊ£ŸDsö ¨¯Q“7ƒL5Ö'úœ‘¼ÒýŸ +’x™Eåàøžå2lA(õ*ýøH)½•·7îj—;ÏÓÈ>ÙQޏSËCj‰h¤^)³VA +”8!œçühAÖâñÈŒAL°mW//G +a£ÐÏ;óiÎÀXÉs©¡¥zŒš÷ú4肏yEÐÐt-!l ä½bñü@Pð*1}• á¯Áùû¹§“É-@9±.¼Gš.õÛu<'.`Râ-\^‘dûÝ0?h¾W Ñô4Œx€§ Áƒ˜JÕßjˆžÃ‚Þ9bR˔ 9 "¶ùºüïïí„{b/ü.ëù;ÕfþuيÆÂ¿¬[aÒö/ëVœÔæþɧçw*ûŸÞ÷õ—O_œÔÿS41þ#¸²¢ L%Öó8 -á¼âˆøÞš.åø;+JgfãY^×!û˝¶š·8Ì +û8•CüwŒÄȇ¨V€_¤@9{þyPDAC‚j Æ3hÍfp•°o–?êÖ®øËÜù8ÁíÂ.\è ÔàÀú60Ê/ÔÇla'I7âô›°%ë(ÛÌŽ„S¾wnòJ ‡7u¡™ ÷%ó³d,Àÿ2f‘™ðÀ·¯3RÄ_¯pøl‹Â;KØÖ0³Éß%PóúÿQ ýSp[Ç÷@»‡ïc +#eò?ðŒ…šø°»”¥ Q’–㎣)•õÇføHôKèÓ¯@ÍZÁ¨˜ìàÕ ‚ÐzhAlörSê£gP…¹gA´)Cl(ù\¢¶#Ü3š ËH“z @>åæ®ÔýÏÐ÷D|‘8D,ބZ=XIÚg:t·HqÛ3²‚säó¶×X‡þG²dØ~p%UÁ°¸CýŠ@7kT]ñp+=¥ÍŒá*Eèw€!ÑìÞ¬ øi„¹Ta¾Clj0ëJ¡N8f´ï.¬³ûÉ0ÝÅx6+$ÁdÀ~ I! 1ñÂ3Q±Hé*¢ˆ¸F|¡…¾¤ÙwæU³ Zå¿^y6M[2±9B» žU[Åö†\:µ3$*$¯d7ò¹ÃœSptiâ™U"¹N’V©•˜»Ìa˜gç;.gž¹‡'R·GºJX¹Û{ +1Šõ³{ZÿU›Íù@`åÆ<>›, +ÂlEu¯”g/^Equ¯81£+…Ð.‹®¥R·¹Tºª¬âYÔsþ†Õ@èƒO¸4ËšÕz‹E\kXˆÂw‹ú'2œüÑ4Ô¯;Gû8`ȊÙBîP[¢Œ¹‹©§’>²xG„^JR.j“· ¯ÈÈ(çLÓEÙóJØ-<üöØM '՜Y÷£K5êÛò.ÿoêlÿEJßm¬í„áøÍšø@|ð…úǒC©¦Ib®û(|ÅåZŽ|rà« +»€É/{Ø=š¢ÇӖ·ŽGdTæuÀ—ÔN÷”"6‹)'ÎON=2ÿÁ³£­‰aÎr"`>o3Ïhߒ©ÉVáï¤ò$*JúÞwЧtGD6ƒùã!Ð%m±q߉Ñö*Žˆ;£Âô;@1¥ü",îę‚=êWA…"K[šOþ‡«ÏBIÒȽА®ò_À€n(Ì= ôJwö>Â[(°ëÑÑfà3£ú‘V ™ÙÛ`Ín25R¿iæ¢c曊6pûÆ ÚƒO²¯ÙýLù·‚{6Z]ó>üòµg]£:…CQU¿ ƒ]ÐS~v502_îzö´#WO¡+êhÈóÝB.EtÂéN¦«|øYÑü_A ¥©2åMAõ¾ëR£}Š*2ó! Î‚žÌ]´/‘ ÝÞ®0«Ê›› Kò Áð­ûàij$,¸]%3|êby•€4 ៤+ÃUb²üEˆÇ7| !ê¤ð´î¨y؉g9îPïñ4òƒŽßåiª]Ä:C™^¿›Ä?*ê‹T‡Þ÷ö»C‘]Úefjg¬ù™êóÜÜ,篯^$»WZ e7ÐÕüÁyQƎ°Ã-gÕ%TÈÕ Ä[]úëõ3‰YfîU:ˆ:‘ ÀaMØÖo­z˜O¶x?]ȝ^ °œ×ãoOœ ӍëÇj +ԋ[X¹Ældº–ÕjDw ƒûCܼáþç%ëQ˜µ¤Lú-Ë[‘˜VüÏ,ùe¢­yV½š +<¯¤3üž–.ã*} {/zѪ«&Ã9Å¥Ÿ‰ï!òêðýÔ_~Ê{cG$.²Ò/ÒҙŽO •1«Αjà—˜? +¼£Ùu·ó$Àýx˜%E´Tl¸4ól8h¬øº‚Up(&¢ÁFçSç.èÜQ¢’¤;²RÖë³ÀP¦”\V-«Ç˜ÏKOT¢S4Ü^@£ƒ<د¥Ês<~°Š…3ŒDýÿȘ‰+v°;Yµ;Gú¥M‘è`TwÒ©Öèé0­¶â=®Ë´ö†MdýƒVósŠ !h,éHž±a ü,ìµC͝€Ȫ6lNígá¯ùÒ¤_Øcä5 om!–VrkÏϺï|Aõ×ü†˜Ò|ŸŸŸ!ÕL3D’ïаæ“Sv_$ï"Ùu@@›%fóœ7j¬šêžE#x"þ³Êd¾†´[¼ˆsñYL}Õ2¯•ù 8攭þ^O<Î`”,˜])bI×ð–9(0’É5Bst®¨Þj÷rF«_ЦæÊv÷ÌÞÝ¿Û;ú7NÌ`êY–(g‰GjŽÚ”IPC¦°œ{¥ðáKÕh…µ{}­î_’LÉþ®²k@¦Êò»é®x¹¿Gäàz*+Ð1.|EÐ;û.¸Vy½ç©|N¶-í|“¤þaŸ+z.'ñdíÁb8’R†[R»j¨Îåö©ŸZ†Ù³Çù§}œÍmds›ë: SnuóáMÌïP°yQ?k#ÿ^ôÞ8Ö2ç +ÞÒÊz+ 4µgSc+ÛMN…A[÷+ ­æç?Ò±25,èŠv­’ï«rÀ.0pÙ»XÁ)(M6ލ́5ÓO¹=åAÖ¸®ÐÐ]•Ûw„iµåžeði™¿û¹»"˜Žh.¨¸•Ýw%Kwøº"ñ6£1¥Æ6¤´x$޳ÜËõ§OEs–Úu&”¬6¢Y&lè+3圭ÜÑ(¡kz;½gŽ´±m÷„D… Ùx¤Jf*x3TN‡Zð Fæ˜R0o7†üµø3tdÄæ±WžAÕ«Pìÿ°N+M°¦6]yۏrˆéÍå7‚åÜdte\ðÄȘÕ÷­Ø¶)`µp$«ºÖM夝þ0ÐæÔ?ó™"ïٕÁvT+‚£0áRZo•ßR­yó.Ešæ|ŠÄvûGȋVΝÇy<—V!%$âäfÏv”,/é4,¤L|õ‚9¨Õ’ƒGzǪ܉:›—8ÔJQÓóœ‘~—Ó°6Í_seN—SðúZ ögÉ*ÿ+ú熮«ØY8(pÐTìÚK"N·É&9±G(Û@̶sFúNÖx QL`ô±Ÿ%ÚïÔ*A*¢–ž…Á†ëÌ÷þŒíò{•ÜwØM7O':Xï_C }F .õÁ~ÕURCˆ·µú6*²ì2»Ò¡ÛMeÂ70Ôܯò™Qu䦚TʐFÿ^z% +ŠÝšÔM@lêy:ŒÛ–½DŸv U¶åÎ4Uï(ytx>jjjà°kHm­8[çù¡keÇwhéꎤ~܉¹²Ä@¯®ë«Ì‡¢šÖC00ÎØgEßM&¨6XóÃ=d0ݾ­£®·v–ŸÔǶê62 ±”¿Æ·oõñ2x':¦_ð>dî²S¾ê†KÚF¦û_;3¢Ð×<8ÒQÇÙIeG9ù ºÊ¬¥TÜ/†ß5ó½%¦¿Š +¡K„5øswýŽ +µ*¹—QšƒóÊï@éT!ÐvšÉ9D¨ ¡-jë‘Ä(z­Ï#=öÙÓÀ|ü¹jà KgŠ‘U²U؝;Æ vJ©õ™Ç®·ì½’ý%üÿAïôÛÑýƒ檳¹äý5¶EŠ:»pÖeͳ’Èi?ÊFg+èëõìÖðÆ9Ö(—è­ÄiUÕ¨÷ÑZšF;1»ª+Z$½”]ǃAP•Ѻ'mBڙ_¢t¡--8J‚Ibxà¨<+s¦,õ¸R•ÿ©±ˆ+Áý;£×À`æðcõÆÑBñÌUÞ>:)_Êb0ˆWý¹Mæ|mô›Öògú·ÕS8Ý©óŒ;»ì×t&;F£#ä#¼G‹Ò%3ú= Ř¿t(IåÑò¼üV £}D®C²˜ŒfiÝ3Ê êB}QZ+(aÜÚ\7º^éA7A5òöAü¦ÅæWÞ±ÊHbðFWè=!½RÊ —Û[_íÉqX±y'ÀÂ,=îA:)§‹T‚†?,ôŸ™þó®{tö<0ÝK±ð(ù_UÏTÞ" o<uª0—~VÁg¿ BP² †½ oåDznM˜¯ L·Is†û¤ø«õY”/…9ç·ÌG#9óGAȑ=¢¦äa®‹æýU’Vf,N@ŽÚó +|ÝÀmG†ò‹w™hŠŒg”“°î†þ^#¥Þ¦¨¸çÔYþâê#3óýÑð{ €‘½)ÕâHé2"+»JëNÂÆN¬™Ý>ÎÊ騈4ž@¡ß+å`ÁÝQëKíèV;:…¥|Æäâk˜ ŠÖÞgé)_W©µB`èWjC3²v#æ¹.MÝ­{É»ŅÈã $¶ôê +JŸ1‘bŽí\w•S¦ª`(]׉iüšß×´°À[˜ +gÏû¿­ù&}³=ày7Q¯E›O5ø³f`¤)ï"·ûþ«ÿ¢êÝμž÷-_wϨÒÖJ70OXNҙ0O½þªUI5j™°ç¾ëºp(óïYúˆM©¹À©·§êÿ¼#ä‘)«žË(òbJ-f¡E8ø(é –ã(c;c˜ +þž1ÃLŠ'y!R“² p?~ó³@È_C—¸K%®„ÛZüíônºƒ»=ו%m^Ú_¶Ç¯ý/ÉÏÜg}÷Ï ±WºÏâ$¼ý› ·òB®‰hɳˆ€±táÿ‹·Øýǔ胙GU‘ð…/ìÝ©_çî_m=½¹Œ#ªmŒsb­øÿªÜÉØQx2† ½#ä¹bºj}1…ôQ½Ã^Éq'Í·¯fíôW¦ +7‰²H`Lµ q o¿C*¿0ú]¯÷· _˜'_BQ\êƒS†Ùʼpª(¤ü—ÀiïUÝÕ#Ú5}tQ&«z”¥ÊñÚß %dÙö£IcsL¬ÍˆpØ1F­ù«×íuýr%ú;‚Ù!¼E²r GÆÒoõì[tв*Ñat)"ºS»”_}*e}Hl•fWɺh©tæ÷ªÞ£N&ýìú¾KÍ_Ð?A¹ÄRÎ2±XÁï‰ËNÓËvT¼ˆî3ôK=)Ò¼Å[Àgþ¥$vGU>ç¤)EЪ^ððmð…sŠ˜¦g:—ÙÃ_)XØoɤ¦j{Hý&q¢j⤡Ӹ‚¸8©ÑÇúšÕLèÀ»+¿`È `u¥´E‡;Y2ÎѰ¤uc|µ—Í­”ug(p'ø/Hj²,†á+a»Î‡Ü€今“æãZ#1g ¾É ‡ÕMžòõ_L?±ŒµåüyM^Ø.«æ¨kþºIüÓ¾$'íû×ÝÿwO ÐX°¼ïópҜ«@ñyE¾C¹œ?#JøÒFèŠpƒ=ÛÞÍÃù‰V¦¯oåÎ÷ +›$ü룈I؇ê$>!šªðV)T`Q§+ +^Ïö°[çªìNÓ_¾:iIO«é*S.B³+¶s=Æ­W鸘<B6z>—(°Mp½öLßõÑïÑÛãš#;£C睡sÔgF}f>-_†©.ªF¡ +»©_2‘}æö¢õp‹¸Y Ü#Õž&`/†Äx²¾l£W l¢q}°¢|ˆWW­cƒu͎A­úºÎ–§Y~1Gb2^¿­Ÿ»L°8K\hù]óaQÿeÎüL0Ë]Q +ßE:úGÅábe™'íH2g ‘Oµ5*¡:ò²Æü›ÖÒ>²£bÀÖê‡(èݏñ"¾'×ò#+Bÿÿ/{ﺜÇqe Î ð¾s&AhR•÷ªvx"$Êvû´d1D·ÀHÈÍM¸Ó}i±vMÎ*с=ïTcàÕ76GÁÓ%óÙSkh"Å|rWòép¬#>ꚃÍmóÚk4B氖}²÷9”[æÀ~¹ò®/“Ü˜l~ù9ä(cÕlÏ¢Ûè)!û–m¥”&%š#L"!ό†ä%F{“õ‰¡·C÷ن@ŒW¶£²:h‘¤yn#¨¿eQ÷RÍTŸas‚gæ¡Ù@Ùšá`µW‚Ï,ð¾ EڢŊÉ^Çâm,¨o-˜èœÂ¢‡¹7`Z’á–gÁŠºŸ³Lr¡j›×XªÂ>S½ÉŠC|zŽªl—]ƹ±0ÛAa\œÛL‚B˜¦7’;t¸áPz dVv˜ÊlÁN§`6Ja‚ë¢ÜnzÂK 9–™ª<4Ôy!,¨š@JˆgvõŠRƒßsoá:E¯›x:˜ ­WžKNf‰Ä±:¸¢EIEõˆD™E“®H —ôì‰]'q ¡îÑ3ɺ݁f¤g5;!V¿6ÎJ£?]Ì¢oÀô”ä‘å DææuВÿvb+t±EääFŸßH롛6ˆ¤š_À?n4¤/¡ý…W±§µé¼¦›¬Äñ¾¢t”"Ϟ²lu¡¢ Hà}2Ü≻²¸EüD¹Ì¤u:ëc±, P¨ëàÑ­ö€Ø3DrH¬#é l ±Ø]³žLô¤ã;FӐ¨c%Ï¢L¹Qô!TqÚ}À² i6g¢1F…i{Fa6 +Ü©ˆc>ã{„ +md°O±ê¾ øÇK²ée‹NÔa5è +F åaÓô"ó¾d«f*҈Y#³ûús‡Ø¥ ÔE¹5^qvPrØ îIޘ€àö±5¥…ÂJ¹ã}~ÚÝ;à¯ß¿Ñ½g­ ùas¯BòUºl +Ji‹Ú›À5çXƔm[0ãÒºOå¬ÔÛ¥©Bîâ¬$ÉÅzW=Ðôr6@S?Öî>PèÖúrUœ„Ɔæw{Kö oøˆiÍ@1føôÅæY¸ lIŚ6‡¥KÓÙòìë_|úòy¬4ÑÄ×äÙWÓO‹G3)ÄÆNœœQÔ ÄW4(´¤XQóf]Ä9e¿×’².]\{Å} ) ±¬«òj1\;ÁMð¶"7K;}Ha<ãÎ ”ƒÆÅ×-½'ÍGÑìœlæâ¶"E_KŸì±ÁÃÁ퉜V§P½p-½`^ž+ÎúÚڔ”EÈoX…I—Ó-ڜPб~ӎݒTðଞËÄuœFԋ±nDF‹+îiú4'ÿ3IìՊ#Njý$eÚ¡·¯µ”7aʵKæF0„‘oÞèžÂ»PLÌ·Ôö!a³–„õMž]Œ~‹ Å$b$61z;[ +Q ÓÕæí\Ä0©g´š +躠l„¢BØƒëR¡“éL/™” ¡þȨÚTU8k©Èë(] $ù† ³¨áA`fvkò‹r"Eå¿ ©¥48YÝ"#.nn×Áu„¤zል$vBê·zfÈ8õ—^G·0΋D ÙD-ý„å¨ÅfIÚ%Rpˆ*Àä¡2k–Ô§š»³P'»Že|œß¬~˖7ERRKnôQÊR&.z©Õ“Tl ‹o·nVõ²¼7߆2ÍóF,>‡ÎÖ]-®îç(’åzËCÿvØý× M0½"áëㄨµgÊJ<3Õ@áx9²ó—’¸DJI‡!î$ +˜6 »À í"äØncX 4o0ºÎ÷Gy$B’Õ8Å+ה)Ñð œüŽx#»'“‚Že9#„K˜©»¶Ú>J*¾F8ƒ¬î6Ìѳ€‡´y’lÞ +Í&gnñSÜÎïå?6Ó+‹^ßُ£åL>Ûâ1‹G4N8§‹ðÖ|I![ÙA¶Üç"fÂø‘È*åÌS‹&M³¦Ÿõ Yò…g9MRé_q“A¨ˆ$ ë@¨¨AkJ +'eñª,œ<…ÐÉ3›¹íÆê&8—€C^¬pÄ`íêKP‡öâVí¢’Š@Râ$HÑ`wI º•®‘:h‚A&Ï +#‹d¸e…Q˜üÍ@¹kµï![²1†6u°åBÝ ×‹]4Ä#–ø†UU«ÿA[«$¢:íyµVõ8CFšmaæõ­Jfä»Uý+Ùçœu&ÌðF· +Þ¦–í–ûqÞÈBNg§·düB&æg ¼ÑEìB$ô·XžrbA0Š^‰ÒŠúl™F {bÞ^k(V™!@b`éne l^¬VÌ¡ÿ!ÎJ lA¾ S.k+ “hfå£K=Pá Id~’œ*¿@œÚ­€¶9QX@KK)"-¯%‡±¶“²$à6ÚH•.`3,Р[ ÁycÏb|×R²}½YrúX¯Ëc ó"Œ +‘Xn‡©Œ)¶;µaæ¥#ãBd•Å–†¹Èû‹õF{§ÌÙ6‡Ô²#8,¬™6Ö\+yy\b&Uqbç·¥n‡‰ïªÔLhDrnD†kI%ì7iLŽ!Mý;ÄLälÐø„0‹çDc¾:C±]gõÅÐ{¥¿‚ZùҋJ˜F’òb·fºë@[TJê…ÈË{³1¨ „ĵÏX¨Ì’©J·È%j`á ÙR»Y(/ Y}hYšmP;G»»©›Q ˜­ˆF8S{¢‹¢•аáðîLjb»P%C|ŒOBºJJÎ"kS¦˜TÖÉrΊð’¬iÑÔý 4¼åØ&Ü»v7:‹æl8q^Ú"𔠭d×ož¼ Ž…³¾üAߨšV² «18œ)²Sñ6?üjûÙ0¿B%;0tæšWkJ¥ßubß쳱ٌÜW]'@rTé¬' 7RQ(l_Ã*OQ™£*šÕ6 îèp½I)£·Íí\ä!+ àÀáÈ6Ë +ApÙæ0áAËÛJqˆ¡/‹Ê9Z8ŽÊA‘kµŸɳ²$ÁH³´™U…Kë% õҀöò©ˆsã4.N,“‰ ’Ò¹_,S+RÉM{·JùÉ3¹ˆ€‹V†W7„ʘ{–5`Bˆ¢sÑw¢7-—%¦î‚¦CŦ:‘ä¢%×µd„EQ’cÝʬ +)I +öŒfˆDÀÁ¼¨V¸Ýj‹œÁ3ûbP"ƒ@¼Å¯oÑmv!ü+bduŸÍ X•{Àí‡U ³F…¬¢°¯«‘g+Û§Ê͵g‰ÇK˜pH%å¹ßÉÄ,N&³&Á\}å}a~°žo\+#1Ã9áØ’ˆ¦ƒâ/nw²-*çÅ¿ã²µn#1øFœÛuÙØ†`[¬ÿF• ݾ{2ã“{(KÖe7–dXÓH…S<$~A7²·#ŽJ@¸àZ*6åUÐ!îÔGœ$¦\Š”J;1³Jý‰‰†5V®Y²ç 9"5éçî‡vÉœ~ìN­&ˆs±³Všw@éÕÒH“`GQ/F 1#Îv¤JІ†J,ÏD/ls»UÇ1 ‚Wr&xsôP€«#& 5Ô´‡ç©¬Bxœû™Úœ`£oû4GmÁ)A$/ ZÃìÔÒLѦ²}*ˆ.1ÍíºÜ—°=m³ªo”éñ6–âmøjqýíüG§ÁԔ'ÆA’S•kNJGÌ¢›ßRÁ 2ÌEP­5»œ“F[å×*7G»d{ö±µ>fE¹¥¯£¾´Òng-Տ‚V­@ +±>XåR»~kµ'»îhüe²ò•efÙCpÕ¡4v'RÍýl%ú³á‚}4H>qÒb£¹hWÙmÞà”„MŠª¯Ø¯}—.N„zTǰ¶²¬X^ ƒ< ™¨¢ÅîoÅ9L”(^ýǺo)6•¬LàÓ»ÛÂ^·Yµ7 +œT”¹Lj3&ŽŽjO§b•¬™”IñÎ֛º7æ-¿-]'‰kVQ,S²Î…¶.H$ú’A c6R6 þ8+ïLf¶X–Š +²ˆ˜ofS³ç<ї@¡€G6—w®Ý)ˆ > +·›`ґJx~šukSD ɈÉnìJl]H"²I‚«âwµç¹©ØuÓbŸ b—ÉÀºU¼ š°Èb6w'H´_Ua\ ½\^ª˜Z®ƒha±é%–­eÚ2ØÊLs#ÉÅA¢/+ÑH9Ü:.ê5ÿñ6ÂûðsZš=§‘šƒIR;£aaC|—Q„ùèÔ[©ÅJw:˜…*˶mΉ&Tµ$ÄyP -©á(¾aei M*wa¶s@”ºâؘ›f4Íncx€i3}Œ.K9d{Io·etŸa +hÈí>ÂBMX†Uò^ ™£îý‹ŽFL&µQõ¹)f+©*tGºÖ@”Fb Y†cÄb²87\9š*Nø;ZPBÇæ›eɁ\j#'…óê降‚âÁ«t_RgI–ÁYC0vB ¼ÏD íyŸÚ§Ã†4O®ßƚ5¦`F{8“‚0Ä‰à5hÄõœb¿îЬòЧ Î(ö¾ ÿ¼Q[B¯Ÿ5 ˜[Ù¼™3%u‰ó;Û¬dz>°è¨_Çz¦°¼¥âàˆìZJE'k¢ ±€“6BkOObøÛ¸™m¿ø±3ô`뱄–më 嗬6°CnA‹v’Uo‰Åê]’«„E™VÕ4àV\ŠÀ…™åÌ +âbû7ZÚÊRˆä$ú]ZZYXËÒ¶Nëv¹´ äZ?Ö‹ØøÖH$DíøB0 ¼2̊/YðdÌKÂf[MS!¬ƒLpS¦Ð’åpf‚•±$¼4öõ$’sRSr¶þ̋Í7sÉ1S(…m%ïB¿”h·i¢j¸!xà•Ö«µ]…+¾µ¿À¾FR´þL›dsË7BR¸h›ìòn Dc R±tŠÞÀÑY’P„í…>ƒKKߏA€ûlE­¶¯àë +ˍ÷%%—¤ÔŠ…p¢uٚ1WŠWð’õÆû ƒä–Jçƒ5[Z„laœ©ŠÁzD‰ù3HUT‚(“2à…Tm¿RÕ³"¥ðwԜƒýRZ“âà…U––•N(€¾f‰òhOJ9Ðè„a&!N粘õN +ë…&3·|C(³%™XßâÊ<³3¥ŠSº`=gG:{¦GË2˜¶Æø<©ű’° hÈ <!´pÏÉ&†Úl™Í;é‰ ¢~h6ÅïÒQ±ñH-%!¿Dùeyߢfµl?­>ÐN±Î¼´ìg¶?ʧi0ÿ^ðA¬w´EÀTLM ù@l†Þ´³´'Þa h¢¤úVQö d†÷ÍHA¯ô©õ«N:sÐډèÁ“DP|•®³ÈñÀž.Ùz—&ŒŸU ¢„3F¤Š +м `aN(XÔ}„*.:›{&%QG÷ê‘Î\”{ї¤à$|/ô$ÍO¹®#:aSÊè“!,wì:È.È%CȔÀY('¦E Ê¹ÿØD恊_)Y‘qW¬(Q¦¨†rIA„1œa³!¦‘Øã9«„²Ò»[0ŠnžÉî†ûR +=j)##A©È™Œ¯›˜! +®'ŠAal´^¥IpfÔÀ–ò‡'Å÷¡?ê<£>ê§u~ƒbž òÏ9•ŽYv¹“2ŒjÕ 0ÑÄiµ²·P䇠ɡX#ôn“%ZÛl5ˆG®Fnégs¸sžZÀæ¹*Ä?Ý­JÐA+ó/Ëäÿ>§ŽÌ>+¨;wтKu²ãŽÀ킳œä“ +Ö¦’æ¡%^’F™®`쌸:åvAFÅ6FU%rÙ¸i# žÑ嚕œ•›ïÁ,év„‚Áx°£ý~¤·U½'y3!ÐMƒ‹p'-…^|¼È(êCJ(M +V + y±Š3ÐqÂC:͓H€k }³3Cø&ÔÕ±=PkšÓðej&ëÙÆà`ú%ÑXv‹åșü£Ã|YZt É¾p-1‰,åÕaIÀÌ,ˆ­1 ’ôÑd䯎hŸò gt2Ր9[ÖL冡 1c˜³Ü u¡˜Ï¥Œ,o‰Ñó:/-3ÀԏH×¾!4§†¬¡U» :Q“@å]й]™Ë 1‘|™­M– V „¶¯ æ-BO›(‡¿“‚æ0µ–;ÂU™B3_ìI„ê]€’1)‹#•øaX„($‰.köÖÑ¡ˆ1 ·˜ÚíLj6€#¾ð#'k…Ïfb4¾[LOÁ¦ÁŒY1¥q'ŋ·•u‚È +Áþ£/'º_+¥Í:Õ0Á> —$N‚õd+Et£PiIjMnp"[Y.ÜÇHí¥‰ló±E ‡1µF5EÑ|U4Ü“B֩̎Qzâ«ã €¥nÄÚ¢äi¶}Äî¾ôö“Ó ±À±±XñiÆíGl?aۖY}¹°C  +5”’]± Iœff­èáAIU Ð1ÈÝG&tëkí¦²5±KÎΟj~jJ°IèŸK„™¢¸X‹U¬ÛÊE`mK.pIPܺwÀ ÏTž­[O*(Ò,dˆÀF †Ê4Áà yéYØ IœGïHÕëB2ßþlxæØrE­‹gËp«U*µ(ǜ!,;–ÀDñtÕà&àˆ ißy=˜®Xœ ³S~ðx¢¼¢ªD˜‰W=‡ã{rßз àYŠº`› sRumˆÊdYÄ%òB§@hþ@[MÅÖáxa›á”¬Â!DI؋YØ^:(Áܻ޷î@ ¢}ǦêáŽp_ 5CøÉ´õ%#ÕºWT±~RK»ªXqOÅBæO¤rËj`èXŽqA¡æä© Õ£D‰ï‰$Œô9I[ŠÌ!m¶l;¤›å&[@Ué<Ìó£nf݄آ‡Þ)T£yõ±Q ø›¼…Ëæ`'Ð}6’N“¥}° fØÇEç:æTãéŒ(jðI ß{D×#h©õ¡Ãˆê%AIæÀ´KQô¼ªpŸ +®Þ["„ºw –Cçò™œB˜5R›-jŽøú²™Øê³ŒC”–^x̹Ùýœ2DÎì:³“ ¿2ӑV¢|3‚–D‹PÆHhÈcý›*À‰nÝÅÆj=<|X!¶P†¤oÈ:hßÉV¤Œ» +LÅS¸I¢Ñ Û”7Mhÿ[‡QP”¨ëƒeDë®aªî­«=QÒÁc PA§oM¼c2€õÖZ%sJƒB¤8^eò^Î6!_²y«¬Ýk´@^¥¤§ˆÊDÙlÖD>ú–ßÌ!2M"š¦ÀaIZ¥,NΣvMP‹îcQ4»[Eš% +ócçdSBhìÔ;j`âX*ˉcífÀ—&׉âØ\K`®›†€Ä…ÒÂ)™d\JyGÙ¼¢3 +{cMšrõ7‡ó¢<`" É="_[¯«Ùzndo͆\ÖÁ€ž£Ìq͍芖y O—ej‹#—1*ãÉ9ë/0lC«ôÙnÃdûp¦×Œph‹z½ +ùÆÛf•£ÅlJ¡éÍl‹Éý›Äñ3[ °Ckøõ´´%²;U jYý ‚ºQ±MÀLd(t˜bªÞEFÏJôªJi`6hŽBo>r3“ºD•6MJ˜ÔT‚1àX Õ,D„aØRÂÙ¤ðSΚÄP¹’Pð¬³5”?Î(+⢖ïøNlƒ†w°5õ_W(3#agìqp~(óì@—`eÐ Ù Nºa€XØÛZq&kè –Õ¡l«¥@>àM0S­ÄQkʶA N˜°ˆÝpT°6Ï˜ ‡ŒÅ2[¤ºCݺp¸ÂÖCB#fQ*f]âóà%«Æ=ŸÞ! + +€ª‹:ꌯ¬š˜›ïéÖ/Ü€NG•\a£²ƒƒ! +ÿ˜Au„Íé¿ÌIHÓ#òȼÃJ¦¬°à. C™µ¡q} @ú®âxHt!8üά ‚$øê…˜uÉZ|ó%:cøÌ€Þ¦ì8žøDèÇØ\%Ož_ÍùÇ,@™ÀW㛂ms̓QÏkL$XêÓ;*cÖTÃhÃZ0‚ŒQ#uþHÙd£J³¢sŸ_¢ýس›| ¢ádáTfxÁ6‡ub<&9G, +6慓˜Z¨`ÌH.%‰Q‡¯C«[b 9¯Ô\¼± ,ñÒYŸŽcý,ÖOHvûTmOpÈÍÁ*™‰r09À6TYHª˜èfÆNÜ/t°1„ö`™¡7:óï)„ÉàN^” Œ–/ðñÀ@§²E)àþ";éžg)ðg-¨ÈITBöŝÑÝ$1‰n +pXw28bŸÅºŽ”ÊÔgwÛoyAÃüGÐbf‰½'R‚ÃÜñ„ÁkIáÆú0ÄÛqúÀÅ^ruŽ÷ރ›¥vbWHáw¹êÁOð7.$´:L&‰Ç3ô$Ší…a=Ç0¢œ L#&·‚SÚ»Àì%ÄلaŽjH{òrCñf´?B¸‡(^åÌ˅v_%ÊXò[„14œÕtá…œ¶FˆÄ‘@@¨Œði¨w%:©Gªë LGhàŸˆ; ¡5käIõ· :yvÐdÃ͉y¤aQò]͑*Ǥ”&j‹BŒ¨§‚ì˜(tØ¿æ^ç’ÒØá†ƒÆmu›òGD:óuuËMIš/릐]K÷õcGQN™ZM§:B¸*ûÅ0=sÓØo„#@—Ÿùq¦×£UTÁñ‹P2Ó'%#=à(Õû‰SW¥þÚ Ó u~b1+² °BŒ”«b©8Jp’-&ñ Z–¸àü\Th2;æÂAÛG¼Îd«©E+¾‡X±¥^J%Ô–É +cŽd$v&¥XNÜúE½FÃ$ÀÁÄĜ¤>\¿º~-´.’õn€‘ <7(  $Ÿá†¹õ¢Ž¯Ä+·Þ›Œ,À2Or>CAd? Q +âގ{Ž®×v2Ç Kíœô9pªwZ “N {­C¤ŽÅÎ]âiÚ=û2 ˆf‰!98‡Ö҂%º@ËtL@ ê]læY!{5UB ›U EnbvzExîVJìÔ! ϐY¥Y•f ¯éqœ%µº"i"h–°ª)ϯŠíh„zˆÈ`_WØHp`5óÔ#ä +,TY‘ÕÀ8¸L¢Œ¬ºñyJ}¹-‚•“&±Ìÿðp¶":©ây컈x¥a ¶À TsÒ +Y$7Ègxᘚ6Ñæ.f”~B-NÌ«Ec*d?³Ë ‹ºîèW` gSiA[H? ÊàL4¦)° ’¶@d &X8ÇØ±5 ŸÅ,“c¹¶iM ©zs‚þ9s3-c–¯G·Z߁D¸BÅ0·à¨(P‘ãmÀNœ¨V6iq7LT‘G+ÈmÍ noð,r&e«ã¸ýlå¿þ³l!Q‹×{ƒM‘¦V»LìLĆâvTHk/ˆåµÍAͲɅ̞páá]«%̆ÛA/²+RiXRê}{ð©ƒÃ"Ãäԇ™JaTzrÝSLËc«gYÜã´¼àà ‡UMɊ.]S„´bÝÊ,¼L¬êTl×#á;&¥1=P‹ç$D+ŸRvDFseþS¾8AÃfa%/-{"!gvøË‰üo„eáPêQÇÐP9¯‰€ ¡f€Í2 d—±­Aö…ÌDL¨"Õª(?f+î¤dš¿^š)’Š “‡œ2:åX‡# úcÐÊe#ú~*-\ >T8Wtcò¢ÚgI•&/Ô¶<‘æY_ôCúà ³ƒ°AÕ™ñ˜‚šêÄÔbÙ)Z†Sna»„~ÖÜɓåà6Nx'ËB†ª +åcÐï\VeTræE”k‹x™ùˆØªò6CLØfY#ø8Þ§;iòiÍ÷G\·Y›ÆJYÔ¡Î&Vλyø^ëݒ’pZ“’° 4 ½q}Ì3ä°ge1?!²WK’•o` &+óQ† z̐â-ÁîD‘—&¸và¤[B¥.åû-’?'Á$Ëä&…Ij@•Àd*|È¢M@Ž 毑)ñ ñ$ëkÆ·Á@%Å©°C‚çÏfP£†ËÃVüxü¶hµã ùƒ³¤‹‚¦Ä«Ê2Yé®­kû9r[Ê¢’&AÏs’” ÈåÅöO`]Zh¸è>OÇ.9•ÉÌ)Þ”t‘ìl'ÇÉcÚyÉÆÑu_'K4$ƒ'uAbjuÖå‡>_&«äIÐ*„ ·N7Çð{D+ÆÀÎHfqÚxɲ0XÙ£šr#Ò´Å!%$nX†-@ÆM²â¤8Š@>£JCŽuË p2RÀ«’ro•R ž'9ºA£Z^ɱ˜½Bíqi‡ +‘˜šrǃŠº«ïrúa …4.&¹¢åoiwpåՏ÷sëPE^·Sb‰:ެSW]´× +\Pôzú/¬Žà­]É ÄЦœ&HÔ¤#*¤‚™×è`mHCez&X T=zUNà™³®¢·éNÙ…Jʌ€–&‘üËÌ'Fd5a÷²=¤‹œŽqÖÙÁû¾w;ö·ñYͱ~zr BÞc)è+q¨tÀΪÂîÓ;–^W!Á‘çB£¡³3N)ƒLN —L¡wœ.üª‚3;RҕŸê_‘¡E?;È´NÀ9»mÁhÒ¬6¢7Ɍø¤„ILw%A6(~.<Ȋ\AãVI³©ù¤8œ8³×I.HÒ©iw1 FÑEq`H`•äù€ãÐnc^é0N8˜$År’0 ;äÍÍbè­00½ßÌYö60+ 4¼ˆÀR¢±+òŒ˜Ì_,‹™Éÿó-·Ú).Ð#ìµ=`,6tõÁ°Khª'ÛVæþœÎp!"…*LVîÞQš;·𤨟¥(çF¶oȔÌC‰Bœí}ð Ô§úÜ@܉½Q•g\%0ëàT ‹{òåa¢ùÞ@ôxTIßîcwflÿ)·û6’ë9¦»µ /pMÁÄG±Â[ö3§‡M¦ TM¡a‹,Š)˜,…@Öcê|#b +3ê NÝÂß©€Ëî´ò(ðZo +ŒLS:´Íñ2ßú³ð«^O5Ñbsôœ§õT~ãÒÃÓ¿Ÿœ=<¹úóÉñõ£ïο¾<ûåÅÑ×g'9ùNOt–R/®¯O®.~ù÷'—W׿ûî‰åm8¡+`ÇÁYƒ°ÉRAÆò°zÌPùì¨ÿïõ¦Í—Gg§Ç'ŽÎê§ýúêôñ¿·×ƒíïçýìôñ‰%¯¤ÃA~qòÍéÓë+ÎÍ:ÔÍüü¬^>}õˋÇúpþ¿ú¸Þxa”»u,ç'Tæû¨þïË¿Õö=««öI?h§ãÇÕ¿~Wùßõ‡ÿª¤¿íâî³Ýÿ4í×Ë¿ü‚åeÊ®ðÐ` +ëàéÊQû¡ªé4¸GâF±ÂšÁ°ýûÜð,l‘jIYqz2,Y¢ +eeQ0Of‘~ùJaz²[µ48"÷"c…Yxýõ8A•Oºÿ:¨=øÖA;‚›Þƒ.¥JJ:¡\&f²^M÷f/Xì®ENZ¦²QˆŸ³zØ'ƒï:üáDŽ-oÞqVÊášè„g“‚¨# roê5ˆü³3àÁçá£á: A—îüŽ#¬|»¡Y͸ñ³¢h¨ªe9¹·Fºî8«=ÅÃiæ#žìF‚ß¼ˆo*P½ç äÎGîýiH(‚û›EÚ aDæD]"k÷G$¦Ž *F‚š‹ò¹HÍd-îöEx{¢G“íÑ$<¿‡²\g5awAæ£@ +¹E-Á@µ7…IžŽ (iðLDá×_Yè±ÿ~ó4K—æú%nw¢~1iÉÞrəJ¥e<Þ§L…‡B ø’„CəáTäÒ·O¯"ëK˜v3³R8ÎQÏà×MъâÜ"|8ŸYœÒ ŽïÄVþŒ"+8êÀ\ÔÔY/oVÀ,<y·Žï`{¨1“ªªŒ¬†DB¢E[R[‚ã;¨\'JÜéÐ'3ý÷õ G̹ŽÀ© û=ð€ Xáz£4œ ij.27«û{±eUX-DUR&ÝÍÄú#s:6‘bc,uQ@~ŠgÔdðJvÐô)XÌz@ªY.ÆÀÊЃ”L€ Úe¨Ô QãL‡;ÞBÊxXsE÷9/$6‚©@Wo‘õËNuyQ!­ÄÄpHEràÞEqÝÚº»ÌÁ™¦O‹‚ýfR¥³ÏM¶Ð‘æ» +¡?„(Ú@«À—àVÑlìð†¬ÃñÎVA…vJ·l®²h*ÕÄÊíqpÄ2i²$Xôg! ”18¯… ZaÚEØ ôš-&YU%›Ô5PDo†'—xQ‹’Âü¢äP;f$kô9“bk Ckr-Ö+MŽ%tîlvŠ8[Þ`Y°CˆUî;l/â¥ÉR÷{ XVv@jö±De æe Ò3V÷ì± <=á¼z×* ú%(«.Z?pÅãf­œ\ùÍ DõW-y£¾©ôp¡ãòºKnɎ9ƒÐƒOwÒ¡ÆöqxŸ2l;†[Èso;‚„ uÛ­ÑWj¯<5E@më°á¸nh:§Dak‰xÌV³“Ÿ•’©VžP ȓˆ P~B]ÒÑ•¨xL Dð¾u,LÈÖ䯡·ZÛQR´&ZJðMj»`z*£ŒUéü|FNpkiýÉÂÂq@à«°˜½˜Ë„[…žp.SÄ¹ÕÓîq.xŒò‚ 2“u¡Ú0vŒìvF€©ï©Q Cu˜ïd­1AáTBúý.;®S–Hɪ=ž ;’Ý#[ƒèˆŽ¼2ý±ªG8ï3++pøjæT¥ ǔMŠ˜øè¤Ž,jÆ«ùÕÕÈ2ÈÌ¥îSPMäxJ„CÁŒ dá׉‚ìBåe ”€Æh®=ä䩛X0WÜlŽ!ÇS7ìèç~ ½eUnš(cyÚZSB‘ÅŽ¥Ë4ö±ÁÈ+t¹@…bߋ(û<¤Þ¶2ÑÄC.«á„|tuë-–kE<À…©놈˜(Á,_p‹ºÎÑ-ÍÂö l hÝr¸yyjqmhp¬ò2“RvXe¡€‡–sùˆ…³uÀÿ2y%E5I§ŸÊúÒ©öt–V”Kkz9 hìøN«¹ÆxjY+ÊË 67¤& x9–O/ÁjE!‘ŠÄ8z-X¡_×@!t¯ÕÚÓé©.vÁTG¤áì#»CW)ýô€Ngò1êI WÎi–éÊ™-Þ¨—f4ÎÏæd³ÊeÐ +T¹_* Œæ1) }_ÇA䆇äٙå´˜ÒeŸ¨¥<ÆY d›Á¢‘w=•w> • m*¢5ËÕËÖ¨ûÚïßÇQÀ¦õ¦¦œÓŒ Èg댕 Ý·&›fbô¸AGeswùl˜ü`0$ Ãûxð&¾Þ5ÌXÔëcã-×5ؔDS—•éN8}§ŸCs6ÏçÝGO`èfâÓ13³@Üîð}r¨[Ë9vH¥7}–±‹üu"oN “ðqޝEŸ^7_FÅDyB€Ü™“ˆôÛ^íSK$uD ç ?"à›dLXú€sÁ,TbÑzï5ÚûÅåùÑÅîwW§ç»ÏŽ®þòt÷Ÿw—{ì~° »ÝGOêϟe*}’:Ñ3¼¦‡µéM~i2~^ÅS–¹2ѵu«ë2M|A +©WE}Ýîç”g{ÚÛÞUöÎlhIm˰ëÎÌüjã_ýD¤Eg|91É¢‘:²Òx]²•Q 29c*›Oµ +-êlü«lйåslH ôÛ­FL +!ëaArP1,½4¶Í»ôáZ¼0Kñ &„ÄLØHRúž qsð2¼^š»Üfr‘ ©s¾²òxƕ&K{S ÑcYÍÐ Ë­ ÕÏP¶@@v?ԒzjO¬Î¯›¶PÍO‘ÜÝõ5 5ühýnpÁðcYވ~òÂCxÝúI´sŠ.­èš~¢UA•üágFdúˆý´tSi»Îu81ü²Ê7Š?c+¥!I ŒTÊ@ê#,+ц"?Öæf:=õŠ`rP‡a14X{žÐe9ä&€”R‚ï*Ë%-]rušog§°@šL©ž°Ú¨ at$%!æÒô ž«Ô$ž€þŒØ¾ò É>ôµ1³ ‰i[¨«[ÒԚ^¦lúˆ„ÓI©N¹w MÖ¾Òµj¥ ݉JI!‰½?@*m­xD¯£v' ÙtvmìYW ø¬‘s-+©±*s¶·*Ápó|u¸å8ܼªHÊà1Pž–rD´›-iüö•˜SÓl†˜ú¢Wz[©É÷éV†ëfYl¯‹Ç4¸NjßNÁ¸·òÖ¡TJ"F¡z±egÛFq…¾³Yßúï‚s;5å&ò¹˜ÅÜû’$“5iU*IÑ>—$»ÕR¢Æë¼Û{–oMVYþߕÐeohJNâdû¦MômJh2ù3ÎHo­ºÎ]´2Å}by³Qá­Yì +±m®iPRgƒqÝq–¼!ùA‡mÄÆvт@sâ¥ÎíñpÓ^­ëìº#Z„a³™¢ÒÜ·Û)®\»ÞÜ·IƒJ6»e‹·Íßuµ®Êøõ–mÂÕÂgIѺ¡odÒ sØl¦¦m–Ï®q3E«¤Ý[{smd0ÒÊ‘%€£Toµ=ƒèoµÎ›#"¶U?Iú”¯ÇÍHê§ÒH´Ã+*+h<ᢀ̶'a4ÔÍáÄ4håáXªfݞÉ}çŒgrT.ÊöfYàñýåۙ¼.v´ÎM‹ˆ2ZG]#ZJåÞçoµ—O»bè—=Æô@¸÷ÁŽpw"Œí«ÑUÁ\ºÖú"䕺ò5üX/xªà áõ»ª”N:)Þu>jn(óÙArM?W^6Hñ¦¢(¤÷ã/+­nZÈ•2èh¨ŒûÍÔý¹y)-¸îW±Á)•Ww6óÀù¥®¡ûuÆ<^׸ڏWŠÄòáÌíÙ‰%’#ŽfX ß5Ü°3Wbnw¶‡µ¹Œ +Eo¦< +¸\b=çÍbs•°’ÆÃµÑζ4vkh¢oj™¨H¦hDÂÉì…ÇkDI*– 5ÃC„’W™F55[bæ ÀP©¤œá i8ùV¢úíDË­øh˙jýNow2WÐdŸ N>W ~&!»ž¿™íëÕ½gŸˆÇ:>1L– ¼JaÏò+oå ð3šx€%?¶Éþ•4LÊJì“G˜ÌíË;°·ÌçL +ÍfQ£›†uî"=²‰³.pSVçÆýÂfîYO6¼º9gúð‚«¶_D»jiŽ9!’S2’Fk »$b“%-DóXg<¯…1Û¼]Øá ÚòCÑwa¡š ½áVâ»G¤ïjó@bKm_kYnc’JU_6ÆÕÀN#i˜“•Øç®=làþÎq!úØÚr)Ÿj³¤*ØÚpÓðí#7 Äâ)¯tK\åØÞÁ֕„e™tlÖCe"èA1J¤3:떪F2ž×ÜIUúÞ «)õsÛNhÇj¯~X?¦ôFT‡Âë÷"eæžÅeˆrÈ»ˆfA®hÐm Åf1–¤䊂ÿ$±E,ëkéÑ«h¥9ÔN@zo¯›Úؚ-!÷rF“X¬Ááp}S9©µ##wi†éJê±®S¿Ó‰Úw +o©}=àՂ ZÀ+ +'ž¥êÝb\IË:E+Ñ^±uXZÀ ê¬î½¼šVŽÄD xE+6©«ÛŠ´4R_—eÙ».Ûä¶xW47>ªÇ»¢r›ï ™Ñ`’YbÔü,Ú#©Ç»b+Ì_z¼«Ù_ Y¼+¼/Ö ®Žie¢¨YQK›òÉja¨Fâ­É¨6× {—¯P< +þscè5䕬²,.=^”¬·$+ðdõvÒ<„¼b yñi¤X˜"Y¿‘8¯¤R"[Äˍ$Y$+ÉIÐIÍb^¶—E«oŒó³cF3I~PԂÒ^­r<Î=àÕtÃ8¯¦2ᦶ)¥ôƒä{˜‚˜B ¥UÛ¢® šÅ» è“S4µ­À²Nꌟç½ëdŽâiK·P³M[wŶÌswÁš(=Þ5[¼+Zm2!][DI¦gwÒb×MMÕR?6TT¬ÒŠnœ‡xW´šÎ8÷xWlhswEëÊç!ޅ-4à5Þµ°=Ai1¥lšFj[†QèÍu±´§™ÿ'YTwó­@•+6wðjMºâÜ^i xuâÒ^QÇýg¯dº·îÒÇ+? $¾©ÔVtE’E²é0F¼n2^àERÜPÒa4­nºÈyà•¶kb{ZhfÛö@µˆW=µ¥6ycÑ1f# 5ÄlԙijQ/¿ºi~~iPY¸¨C²Ål&ú¢8tMXëãÝH¼Õ¬g#žÑç¼ws;›ªê­ØŸ#i+ìï³?FììÎvê4Uu tïÐ@3š'ö‚Iu×ÞX‚óúÎ$xóÛyUG3©^Î=oæa#ٝE¾ žAߺ̓cÑÒåQêF‰%êÆÉÞ,…j#Æáï6Õ¤Þ +ÇY€•÷)}¥b ÚxUÌhß¶Å"F IÝ¿k@–$š؛Ö7w_±oý¼‰ÚL]ö¬aՔ÷+‹^ ـYB Øã6†»0q›Nã6+±9¥X“ Bw\¹Ù¾stp¹&e׸[…[³¾TEßH6o cí›Åïh>Ë¥:5UO¹Æ?Õ)²Ñ7ÁJ(A²èHXu‚5pƒ* l×¹–¼¥³¤–x$4¥Fjæ[æëu@ÿß{š°0øÖÐßڔ˜upJGã'dûÖ@õOµ;ç¦t“"lнéS-ç>±k}AL?Gÿe;~{è&¨TN\Ðò¶ÐÍH8ªWΓÝð'ûYìó±ð +7ü^:÷]¡‰ÍŽŠfl¶TïÒ5¡›u«ôØ ‹ò¶{;š¦>œÝæäwµØM£Œ±›Nkªr¯ф7Ú5Qƒéš‡Ø KúÆõ‹NÚn¨–P³YühÈa×sm$ +»vïQ`äã€Îûg…•VGJŸóeˆÝ¬¤1xщÝçÚù´Æn³@7G"«ÖhmõÒ¹6¯ÑVis6÷­³lò)Ø»`¼9X{ÖÍñ_Jn‡óÚA%v£Nxm«tò`óýûj̼AÃf&Wñ›4pOÐ/3-¬TP>wpÌúqy†ÑÓ]2u4ˆy>XAæºdø1†7â’yá!¼n—L²p< äº’Ø”ÏP% be±¾$Í4°†&eÉ©«HÃV/D`Aq³Ÿ +ÍH:#fu¿)› ¢Ž˜Fl‘öiö{7 FŒ¯èÁ÷bÈvã–Pw<¹m–”êÃÚ[IÃF\‰}Ã*U¤¶«™|ÖaïB©ØeD “†»JÚ©£~¥µ¯§é ¤ Mò6ö%ë&J0¡.:ëîlD¬5 $ñlðD«¸î”Q¨7bSÕ§ˆ”²æ fu0Ó°1’ðí·» +“4l5›€ÎºëÍëné¯ÈØfƒ'amK4'Ï")˜»¦8Æ X‰Ùf]!½AB%ƒdÚ2`¯X÷æ¶«š'h³†vŽ» +í–¿P'ވã$ð¥"mùA¾'Õ §†bGêzZ ¶ÝN ;Sú¤¯ endstream endobj 21 0 obj <>stream +ÏHêÔH´ƒ,Y|8î 3s{,&Ã8ŽÏd9=Ã!›,õisB÷Ý3žÐÉ*67+î0(Ið“[e!YÏ T$Cÿ[5d¾Ù½ïßê2Ÿn½aÎëy>:¯VD60 ¬ð†Ì7øQXž=2 ·òÊ¥#eð£tb‹Ž æäæ¥Ì«lސ68aFëLv Î7 '_WÀËp]Wè§°wó,ŒÉñ}C<ì0ä`9uÇ ¤Ml'¶$áþ°5“¸Ic±¡Hæ1vZòÞ +l⸙ͳ°ÙÍ+ŽC£-ƶäÌf +ªaÜ‘^ˆF$É9ãI²m¯‘ù»ìº^ð!ëíšzµ’Òš~³ç–Ü*{~£ÐÊ&ÝS|YμUÙÛ¨ÑBYÜìðuRF[P`†ûDoÀY«˜xd »>ؽÙõÁP«‡]ìtçǶ¬Š•Ô'e$v†RiÞ0Å­Üi³Á|šÃ’5‡Î°°aU¥Hêj'»¡­Ó¼u>éÌvŽŒD&¤®øtCêŠOû©+>¤®øtCêÊöº©m›ºâÓ ©+>¤®øtºâÓ ©+>í§®ø´ŸºÃkYSA”ºâ×Z햒âÓAêŠO7¤®øtºâÓ~ê +mÌ!ñ\M_ÒAêŠO©+>ݐº²¹.Ûäî§®0w"í¥®øtºâÓAêŠO7¤®øtºâÓAêŠO7¤®øtºâÓAêŠO7¤®l®SêŠO©+>ݐºâÓAêŠO©+>ސºâã~ꊏû©+>ސºâãAꊏ©+Ôœ2Ëö²–ºâãAꊋµ-uÅǃÔRW|¼!u¥;»ÄHä­xºâãaꊏ©+>¤®4Rg|ƒgßO]éNÈÕèãaꊏ©+>î§®øxCꊏ©+>¤®ømý²RW|¤®l¾µ¥®øxºâãAꊏ7¤®ø´ŸºâÓAêŠO7¤®øtºâÓAêŠO7¤®øtºâÓAêŠO7¤®øtºâÓAêŠO7¦®8k]ph¬7â½Õæ6ÞëÐìk°Ðž±N“*ïSŒußJ÷7Û7Ö}¼ÁXqÏX'?nõFÚ델1Ö77ËXß¼BÆúÞP¬—K<0ևH‡Æú:OÃÃöŒõ͜7c}X›f¬oVÐ:sÄCc½Ñζ4²Íh¬77ÒÆXß'–vtîë>ëÍSµ1ÖAÜ3Öqpíët†íë îëܐ[c¤cúÛÖXç®Úët¼”Cc}Ÿh­Œu¾vk¬sxûÆ:?ck¬óc·ÆúfRF➱>Lq3Ö7Kьõaɚ±>,l3Öi0Ö7lßX߬Ã0¶}c}XU¿¾‡ÆúKÈ.oší>ñÀXo´n¬—z/D=Œ¡àNÈþ›ÐÁÉŒ±£”¬?)pY­u·b…¸+dÀmæ7a«¿à^Fƒð‚œÜ-õ¤æ†÷¸H4#B·Ô“z°‘Ô-õd2хf©'kjHdæñK ¼™¤v'³Þ6×)ÆïB³Ô“)ÆmMoKÁg–zj­ªB·ÔGR·ÔbLýNÁ?6KÝ H6Ýê–z3º@4K$'Ò²\IË:E+Ñ,u| ¦Ð,õd-. –z‹ ÅÝ,uë«HRö$û€ÕPWƒ¼½ËÔÑȅn©'K)ÁGuKDÝÙ õîJ ÝPO­ÉM õԚŒ…n¨·èŸ ÝPOÖ KÐ õdõ¥ RYb ³Íx3Às+ƒ¡Þƒ"ãu‚^á+$ö³Î3Œ£Ûé­}/?_fn¶²d̛Ùéä;} 6;=÷B¾f¨gôm¼ÛéY¸Ý 6;}xw<[ޏó›`­º} ×%AÑ9?8${AêvzR?Kc‹¤ Aã¶¦eÒC=™Bÿ¶'[mo7ԓUVX}^}ɚ5Kù +Çw ¼µ¼l¤ÎøJ®kgN·Ô +-m‚{]ë컡žÔ6‡¤p@é†ú@l†:že³kvz²¾dœÝÕv5„xßíôt_¹U&I¥ÁHOÖ ýÌHGÝ5uoOÑ6:YYÝFO†ìá\·½[®F2þ³-<^§|n…Éæ†Ú|'ç4=ߟyVWR³ÑÒj£wbh6zƒŒggÃŘÞÔ¶ éhwÆh»»Ùè¹-Gè¶÷ V=©1Ãx2/¬½fî"[(G<†¦ÎõÖ»3t=Y± ÝFß?J76z´<ç7™ƒ +Á»°Éœ4Ùa¥³d°`õnuÛl1?~ïFH0aQºÕkQ]ðLÐaØŒª‹››3õ`7B‚ RÕm!Á¬xz„ë'ÎZ ½’†֕ØQÁÔ¶Ï ¨`rº-*Xží°’Ÿ‰ßåMÒ¯°`Ö)t VŒÿFT0ur{@P¾ ρ(›¡¥²IÅÕ ÏS{³ðÌÚü-)ku"¬”ѬlÄÌŸŒdI`Áԕލ°]¦ñà^-b²IT{:·…2b‡¦ñæØšoŒXF®Íј<¨7¢/©ōM4&®Ä–<(Íù!yPÙåÎo’]“´kòà´J¸îB`ò›ógËb\´YýŶâ˜;Ø[ü¹ƒí,°Áüb럺¶ë#6; ‘Øñ¼ØUH¤0QŸn·Åë}¸®Ø2®OR¥Û¢ƒu%f"jn„k‰…x°¹)]ã¬$Äí¡A%HëÊG_ÓNGt0“[x°fÛ³ÜT•[ÒÀR¸²^³±mÃÈjE¹aøÜ¹o yv7{ª‡ç6™ƒ.ÙB®™ƒëV陃ni~ÈlL=øØ›‘2dvҘ9¸›r׿zÈtv|n”Q6m·"€a»¥í:.µÝªF{›õOê7·•Çi=Þ6Äbܚ;ètä¬Ç@Ðö¸HÖ¸~=Uú´‡!wp%¹sØs]š¶^’v·=1g§eÏœd¤®Ç,*ݸ¶”vÏ"L“ÃÍ­…ñ Dké»Õ + ”6Z…LŠQõööæó÷•™Mê _Õäð*xÁFÏÀ1Þ:­n8 IÌ„nӝX+eˆFtâè[£ý¥k`\ xKv¤7dÒÍnnQ‹Ívnq‹Íñê ]fˆF¨“âf(¡õîöC4Â-M8ôhD'ÂJlŠDتm¸¦Î J‰‹MSéʋ*œ7ÎÔN‚±SyЛÝ<Çx„ƒÔï· 3ÖÝuЅÁ}l†`ƒ²%‰•OÜõ«ûØÎ¾0ø»»hõ¯¤Á¼çV_)¯R‰H´§ü +7w£$««õF•ìӞÞget/Íñ³!zsìd¡ß7ÛpÜùh±´lw~óÜòk›y% 䕨7ŸÚ‹ sìâÚ,…W³øqɼÅH‡…Ep0\ÑöTÜã õ°v~ˆGø=61"{‹y3×÷ªÃftvl¿"Åv0õ`úfJVÒ0u+±Ë#3q!æö´nÃõ€Ô4¿¿°ýÖåˆÔ†¡<ñðŽÊIöˆÝîl'ZéäšG¶‡#{0é¤*9‹ðÌ4’úŒŒD›¹õaëôöwŽËÐ8¢/Öªô%ur‡M0¢ùÈ]e\ƒq”d›Ã­#ê!Y”X‡X +ó«-ÊöO—„ÇÄðCªyápº­Ðé+ly  ±è_ØûõޛÍ|¹q¼þB QÆlà 6—‰|¹Ú­-hP*áŽÛز½( Ø +¼ÚmP¦i°ÔÔ{¢¹Ð×i~Ù*‹Z †~󜸏)÷L?d}Þ DÀÝA»:oß'2°Ùˆ¤|Û8½y;[Œ/­)p:n Ú†ù°ß…¢~œ@ÀƖƦùs€ iƨ–Í6d½3ˆ&tÀ• y›Py0ÔÔx2V#¶­DÜÜl*ρ Gýpœ9IÏsîSûƒPmÞ:iüüN\“DÄ6<¢‚Üá<úG¨Ÿúfe<ËÉ6ëgº–‘ŽG ³·øMìÌ õ–N$Ók¼4X¹Ø>ÑuoˆKy3"x’ò¼w°ÒR|l’æq“bXG×u;W5Ä·UXÅNÖpRâ¾ÜÚ:slÎH¤ON Ee»»Éu\TkjR™ljhº]Ñb¢ÕĞH1m…+€dénߓ®ÆhMƒ~-*lØýmwŸÝ±Ž±Ö(™?³ëâ£;$’Ô“nØLÖþ2t ­ëÝeé).…±AmUaú߇nÞ7¼nó¶ÍËöÞµ}Õþ›Z7Êç̅Ó\ ¹uÙ¥¡…u2ôùï™SÚþdñ§c*öM?àŸšT°Ëõ«v’R5úåÃO¡=3 !ºá~·;xGÏí§xj^G­MWl-ôDó-–qu™!Ò¾´ú·ä“^/Ò¿ÔvÞ¼æ^ïdÑ —ëWûRþ¼^Þjñ'sônƒ÷ؗ¾:ß{Ùnÿ,Ëü:Ì4vù•D叝1ÚÛ·O§xZ§¸þ™2H·ö•=¿³eŒíjü´å´-ö…Çe#Klùeà¤-m° lÔ9Íë<´a¡aJ¶ë·ôaÙ· ±å–>©¸l\¹í² ¾e…-Ÿô±½Fáð“]È×% þAâ%¶ÿ äúƒ†úŒn·¾-{î~˜¥ó7m}FûeNÆdŒ"ƒ·ßƧ‡õéýõý‚¸y@ÜLÆëÔ7ndyý*ÉOƒÑ^VS9øúýUða³ +~°œÖÃn}ʆ­¸n˕\»aê‘itò l¶Ço[~<à× ;ãmgà8þ¼™„-'î3âv7«À[æ9`® ïK¡C­¯û[lÙæ€­6\7Ž÷5ë;ÿ¬,ð:U¢\VzIMiÿƒ÷&½Ëž}Ñów~öՇ]]rzŒg]}·û×Jr»sq½»ûÑo\xxt}}ruñË¿?¹¼ºþÝwON>Øý .YŠ\z>Ôá¸I ˆ!×>üâäèì³£ë«Ó¿×K7ÏYŸ<:>:;½øæ×W§ÿýä;{âîÏ//϶o½8úúìä×ÏNŸ<ÕUéphãì¬üyýߝew÷ƒÝ—ÿçÎÏêåÓW¿¼xüè»ó¯/Ïð{¯_ýöòâáÕéÅu̽{"\w1þáÎoŸà/³þòðìYýÿÏ¿þ¯“ãë;w?z|ùõÉîã«gO¿Ý}vtqôÍÉÕîó«Ç'W|ÿßvúャ³³Óo®Žž|{zlWþ®ÎÁ‡;¿{r}÷ù_êχ—~°»W1^Ÿ¾÷ú.å#~uvtýƒ×^ÿÅ峋ÇÛkùˆn(Ï»áðZ}ˆK‡wT¦üü¢.ð·›G?øöèì/»{»GÇW§_WΨWóßs˯Î.¯ŽÎv®OÎÛ³ëïý*>—žž}}rÕgÄØë†g~rr| ~ûk]ÞK¬hýûâ‘ÊTy͜¶?ô³ÊK6ìúÓ´‹¨#µÿA|–*¤ë/a÷Ño¾úøªn“³Þûéé×u³õàQ½pþ +|ðÕN󫿞¼­yWÔ9¿‚Eð_x•égÆM>~ßh_êåëÞã«=þÉ»ûkÝymØûäPÿi<üóÚß«© ðµi§™]øß7ûÒ>Çx©ã ïåÊ­šd÷Þ[ö&¹Ô^p’_ç¸IdÕqí‹92击ÿ¸¸8:?y¼ îÚ?m|¸ã„¹Æmínm÷’³ùœA‚uo|º¬Þ±‹Ó:TŒèyôs`çbA¿ßÖÜ#øaa€ÈךFòG­CýýÖëõ2ࢿÔu|týÝÙÉÓ;þûÅåß.øKÕ÷î~tqyQU·:åþ¶.`UŸ>üèŸÝ®øðÁåùì™zÔԏÄ=•EO/vº@ÔĈvÉ¿TeüÃߟ>=­ì‹>áÑõÑñ_^à ===o¿ºüËɏ¿ßógŸ_ٍõ‰£Ö[?ýòú ,øãÊÁõºÌf`'­ü×wÖåúò»úüÿ]ø¯²•“¸»?þiÚ=®~ùÅ\ûåãú¢“?ï~¾»³»;<ôƒ7M÷ãGÿçôñõ·.Ÿ]ó.×ÿðÑã¿ê‰ës~rõ´þħtuu…~Æþ"­\÷ÛOø—eø5,óúןãN.êdž<æžò‰Ûgwû¼Äá×eÉñ†—ò±¿?º:…jÏÇþî÷GgÏNև×+þòÑo>>9zv}úçggúħ®ŽÎŸâKÍdøùŽó·ûùÝ‡õ×70ɃˋÇÏN¯ |ÏSÀ7/À¨ßËVxÖÊT3MÆLÎà#Mû|ԟ‚y˜šáôOO~ùד‹Ï?~Îô|Ï7~|vrñøu}$öÂ_¹~Þzÿs?ä·¿üûÉñ3Œà½ÏlþV°½¬`«b­¸÷Y°ÍÓ<ˆœä–çȹìG9—|X^^ÎM›gyÔԍR/ù[©w+õÞ¹Ô ·Rïe¥^ +Ñx¥Þo’1ÈË܊Ãü*b. 5È(ØÊM²õV°Ý +¶·+Øâ­`{YÁæK +ï±\#.Սr-Maø5'—^A®-~Þʵ[3õV®½{¹–nåÚËÉ5ÔΠ…ðû+Ø< unVØÂ(‹"ŠK^^°¥´g‰†[Áv+ØÞ¹`Ë·‚íå›C/Æ÷9®€x“\sӜ6†èpÝ Ëµ¸ä¼‘k·úÚ­X{÷b­Üе—k)•ô>ëk9ŽŠÔ´<'zê¦<<Ç»^<¨0å1ªQî<ʼp“ ½z·Bïí +½ùV转‘:å2Ç÷X襶©!þ¹Î¸Ma~¡ÜbSÝ| `In…Þ­Ð{×Bo¹z/mÀžé}zCÆÛ6c$R®„ô +¬ŸòÖ3çnµ¹[ÁöÎÛ<Ý +¶— ¥†9¼×)¿Ñ-y#Ξ“âøëæ®WçÜFs%nÕ¹ù&…òVêÝJ½·+õn ^V{å]Šat˜ùøüà狈´%ݘQ|+´n…ÖÛZ·E ?9¡µ %Äp“úâò + nåÕ­¼z×òê¶üà¥}fSD3Ž÷UjA'ÊÏ)?(ó&Qc¼î…%™›ç1 ºŒ\·‚íV°½+Áv[~ðòÁàN½¿r-¥4Н獆–^EÝÆã¶›¥{+×Þ½\»-?xùt¶’Êû\W•C[™ýF® ež¯"צyãíGš[¹v+×Þµ\»­>xi¹†.´ï¯ûlR§ò!}Ì=?Iö…|håÆª†[Ñu+ºÞ®èº­0xySízß_ɕʴI‰èPþZT²iƒàâmÆ­\{÷rí¶ˆà¥ÓÎ&7¿Ï–f\Ò(×f”yi°á¹¥›/”N»¸ÍѸ•kïƒ\»­xi}mY¡úþ +¶4ùQC+hÖ;(lîÆ +яyæ°  Î·†è­`{ç‚m¹­xiÁæSÉù=leIc82ùK͹ò\“ñ…,Ñyó–åù!‡[¹v+×ޚ\»­xy¹ý{ á1Oq¬ßô>¾ mÉù6]ãVt½{Ñu[𓫨ê֍iµ¯D{ëᅰUï^VÝÖ¼4hPŠåýF¶Ýs°ÑܶAyy!æÓ$w™ãMròV¬Ýе·+Ön+^ÞÝßoôŒäâó€mÝèø/yˆh¾¸»š7ùóMeU·ríV®½]¹v[ ð“3-7Îw·É +s[¤Ùò+ íK´pk€ÞJ´w/Ñnkþé4µÑø/¹UÒnEÚOA¤ÝÖüӉ´ªª¹1 -¾JS•[±v+ÖÞ'±ö›³³gç§G×'»?œœ]þm÷%à^’{_ýKöÆñÑã˯OvŽÎÎN¿¹:zòíéñîã«gO¿Ýý®²Ý\Þç<é®nâÕ¸øþÑ铺Ϟ}szQo9±Å¸{øðzÙïN¯_FpO&?ºøæì䋓³#¬óï.ÁJK“Vú#H͘¼ûÉi §¦>ÿןý__T–ú×ÝÝ´{r}÷«ú˜v?4öeõæ0låd}ÊÞ >9yRüéçã_¾Àš]œ<}ºÿW ¯ÿ™¢óÚ$üftþÇÅéñåãÊÓW§ßà‹ž>9;úN¿Þü° •cÛ<~ڟœý¿rä폛ßt|ޟRô‹ß±ýs¹þ0;ŸÝn¼¿øê¿&\’_¢Û}ùѝe‚8#/vâþˆSãMÊBö¶xýâð¹ßò”¤ûSž§º4hQ釕,SÀ¿±¸eJó ’­vt)Ïù-,ò‹ŸÿùÏOO®w®¿ý~Q¨Ëq$=½¾:º¾¼ºôäfa¸yd—‚ß»-`p÷üìô3p‰ÿSÓºî^þùéõƒJù_×O~änøIK+ýߚô·ÍíøÏOH¨CÀÅå +õ×.»ÞœIóùÍëz³Yã°ª]·áÝÿ¸¸¨|ôxW7ÖãÓjsî|֘î-♩[n÷ñ7õæ?~u‹èírI¹e’W`’&@>þöF~ Óƒ„Y¹ ‹ÿ ü’Þ„åüܯM&§1½M‘ðF§¥ZD¹„°Cn›K?ÌÕþÉÙ,¢ªÓ$ŠÁ…‚Ãqö!…Ý—G/<£·Î£t}ZõÆ]ÕÏ Ì}ùå8zÛFß˺1_\‹»uèþØ=)[åwWGOÿ|yuþºlÓá?Î2ísÝî¬vmÃÅÓ1’qñìüÁå“Ó“­Ir~ùדûêáõÓͬ<=>:;ùôôâ¤=A“üû¯~ut\Ǐ¿{ö“Ó‹‡—§×þ}{´›¦½§<<¹:>é·è½uü/ÏOÿûä¦[þmïýéêòúèúä«ON¾¹:Ùû6ûÓõd;º¸áKþmøׇ qôåv\"þᝫ,ïPXÓ¤Ý=¸¼º8¹zŠ÷=¹~“ûƽ¶ÃëÚo{ýq{έ\VÙëÙÓï»=xnž[eðP¾<úöèñåßn•Àä½øæÙxK߁½wó!÷ÉÕå“]Û ßwÄáB]÷\·ÿæY?òd3îøéÕ±éx:èþzrEÕ+õ£ïñÑÕ_@iù,w¿>{¶Õ¦ž’0Ýï€$w/ŸŠé×gœ L÷¼¤æÊ¥ ¹óœg˜î÷KXærÿÙ1ÍF¦¼cÜë•ôéñÙÕæã¿½¼úïÔÿl2ûw§OŸ>;Ù=¿:ºøæäæíŒÝýÄ6Ø×? ßä{g¹ÕŽ|GÆÎ+õèÙÙõŸKçÑéù“³né<Ç«ðÅ«Z²ÏIäºé³£«°»¾ågýfùꗏ?ººæhŸ‚’@ù귗¯°Ï.¾¹wOäOêF|xtvr}}Â/zø5Mø‰'.Kž˜¼§R0¹ÜØíwsg×éüÓœ‹/ÿûÎ>ýÎÃãÃɺû¾=½>Ñß^Õú¯ _mD{Ö4¥‰ÏÂ}9Ð`ÀwH‘Y”( ¡¥¸ú&_øœŸýáßw_œ×›3Œf8lo~ðÝÑÅþ`êzf$Mׇ„;¬Ž&.4°2$8!͊J9–)¯üøìÙIŸå2á’eñ…³X UÔÆíVX³ËRLÓ2¯úì蛓‹*gõ¬zQÉN3[Èñq%ÉÊ=[cªJ§_gû…K»Ï~øá~±L»¯?6v»?/Uƒe¾‡ç–º?+;³¬ti¯iדêöÂ#þð‹9Õ笏)K‰šº0ÏÅký&&Þϲ2ÑÇ¥Ms¸>qæÈ¶OŒËâ<sÎ%%­ -ßK­ºN¼ž’ð|帘B˜ô%{cÓ:ÍSd’x]EÚÆ`î4<«NÝöïO)±~@sF%§ÔEŒ+[ÕG)Ý\Â¼÷YoOòÓ4›¡,ž·Õ1NisÖ½‡5aOó“=nó‘÷S}Ìd_6Ïõ1¼î¸ wî˜Éƒ‘Ýü¬jÝÄ%êYËì(Aê0×-6˦î0cÕÙÕLê‘%ÝøÈ¹Ê- +)—sªƒsÚWÜD`-2°m¢½AÎâÛþÈÆ·¯ìï¨Ï^¸ÌñBŸäôý%ÎU8òÇØæ2×Ï T&êòøƒ/#ÃÌSerUžÄDÑ“ï"¶՛ÔÅ ãÎVœ ïŸÚ÷ÇñÉu EPšýbvú»r+f™‡¯-|˜z³4±Ôoäf˞›­ŽÌG}¿o›-¶–Atjm¸åÆ'.K"¯-õ"‡TÖ,A>&®B— ¾ÍjÒ,˜¬š(c0Ôõ›%÷ÂTÏ;Vy¸9F>k{ÆÔKF¡ GIîy<Ì§ÎæG\H7I¾WqÃñâûݸ4ƒ ç^Ö\ÞîEÚ¢:q¢ôœªÐÐQ2¹úεñßÿô4ÝøÌ:_E˜5'œ¹{©}¹Ãjasý G†u˜!;hZÒ5ÒE½L9h»×]*¥Ât‰¾Paœ·Ž6Ãí̽T‰›ýp('—ú&áâ¸áûÒûÀLÎóHªzäÁ–ú6å© anR=kã›ÌÄx<2næ´.ŽÌ]%™-KvÔ7¦Ìp?µ M­nhØO#©}{ã«äÊ\(Ï\]íçi†.X'qæ:ŦÅp­È¿ÃêsCåiäՄnDGÕÿ¸¹rr ªbÁ·„¾TM2ûQ@%LBæ£Á±OlðšÍ‰2G7s«ºHáÚ +¦r“¤qT8³±?´Ïl=(©œbBÉ%E ùÊs!/«Ã5í ‘ºjLÛg¢lx6Ô}@ÎLUÖsJæ©ò…}åˆyÜ\&º;lNļ™ãÊ“Ÿ9ÑSY™gˆ2n¹8sj#=Ìín«‹#rj‡}hŽ.o‡¦Vm)%҉çb +mÄ ïº®…ý=($|tYÁÔ¥M=RYöV ñ]©*,½y ž¢±ƒ®m”ͳS6g¤èÑò¨üêèñÉîúr'Ãá<){WÛSšE£ úGϞTƒ÷Ñ埯uÕî÷§ß\À¨úÁ‡?ÿÎu¸/åzÎ]7ÿᳫjÝî˜@wöƒÞ^Þýôè›gGlîÓ?ò§Ý“~©¿:È£ï˜àõð›×`Jζc¦òTÓ+ªž-m¤²ÎÄÓ¥,‰¦mLÙQÏõMðÆMA3>w鏍nâ(«sÔêæhäU>”Âs†^‰;ŒãcçÎüs•+ÛRÏ@Êòj qØ.–E”n{t©;Šƒñ¹¥?×ד:êæ™,N™š`=œ„Bj" µC'l|nnÏ­K•{ni‡ÏM«zPm®5g[™2/Å5kqó7‡Øø¸õLÈ®ÚÕ:’ÂVǙí°5AµžºV1}ðÀ®PWù—¥®úú™âĪþëôž›jÑ­ÄyßÜlô]Á¨6ŽtµúåÒ­ª†“Ùv¶2ͲeüöÀè=Éƒ1ùC´™AíK›?cÎì͂´ÍúñÕé7ß^¯Ûõ•|-¿Xµ¬­Yõª¡({tI7ÍUQU‰4Ó³–v Î¶P¦Õ£Ü³â«}i àÈÉÔª—j§™žµËúÎÏëù:,ؾ ¸q*2•“ãxêfyª¹ +JW‰›¬Úl&344ø¥2).ž—£lƒ°˜÷¦ÂÍNïZlÝ-ù†?ü¸{›#qu-Ž>Ç;¿}"ï$ÿÒü“Ÿž>½]®=?ðæDäƒZ’‘IöVœ¢|éúEo¼›ô§Gߝ}y†Çü_u^ž}]ÏÕz”žãß¿:»¼:…_œP;•ð1¿æãg_}vÂÏ:?ºØý®^½ûìèê/Owÿyw¹÷èìôøä??øÀ^R‡5¾âùCµÙüäòøÙùÉÅõ'G×Gw~öՇí÷Ý¿ò·ÁñŽß¿üìÓß"4‚_îþߏíÚv¶z翟Ÿ]Ô îáÿP6úϾºùïà.X,:2þùú»'ö×s´?‚ó“ë#Å]^uîåðWCPztáöîñÎÇð6gáçë5Çߞž=¾:¹°köØv¸ð躾üëg׊ÊáOÿrø-ÿúô1›ÿ¿»ï\Of×¾î„C/!„:@€ Rè½­r~œkÿlO/ž¬³×þözv^`<’-˲$K\ÿÇ«yHÂÃwÔ»i¿]z£Óá¸YÝaóúø¿f Òé@hàÃÿupp n-ìx&,7£Åd¬N§õf=ù÷‘ˆé½ÌzìÁ2|BPÛp¾ƒçþßøø£ø'¹@‡,ø7/DŽýðóçl<@=ì_¹Wè%"uÍeêÑÿÊ1 »ü'¼ÀRµ›Aöž¡ £ÓݖNÁlÍåÿ¾1ý–ŽèoÕÁxþu£ù[VQñ/Æ_rÃnŽ@ ¬N~ŽÏû90UGÅÍýKF%ÀûÅf{œ¯æÿƒÂÀæ ãÿœw짓ã¼/OÅ@ˆÜìWƒÿKkòLÁ®3Ø@둺„ù·±°°óRîœÃ;Ÿ—ƒ‘žø— ßuéÀ֛¼}"·Y›þˆ&ì¼tp+íC³›Iô¿Ÿ +¾RâŠÒý/dK®ãÿ¤°L4 +P Òö?K.v R.îWå¼ntÿ?)~%ý¿.Sü |`ÿ—Û÷ÿj+wžwè!Pö³ËÉd ÕÑGX†ásûÍ6³Ÿ ¨¤gZ‰cÌÝH™2sê’¬ÿ˜ü¡–&ê¦=³?7ƒýØè—^;ûÄWz¨¾dê"5¨|`@ÐghO’¥J__[£³ø­½˜?6¢?,ʾŠ ½~ZNö|U˜s¬I‡šÕ'Ëæ¦N5A¯¼ls8"ô4À &4¿âM/3¶„o¬™²ßo|ÙO“ýcsò×ÑXϏƒá|9?þ-4j˞ƒqÚ«ƒõô4˜NŒ/›íiKµ„ð +ýNÜ8`&d7N£ßÈî4ª-§(\_[Û!Ë_á@(Ã7 pPmÉë€jÛ¡D½—6Jøœ¯ító±ñÀ²9ÁMSܸ…'¯àáê´d¯9ìÄ]õ=ŸŽÛÓÑXÀ†N[pÆúä°Yž¸wüaÁ;µÉa¦ò!àf©ç <%Â7Š'ãÓûæ~c², Ž``eèÐ-ç<Û +Ó²º –PIå·å7hÂ81ˆU΂¦å9ÏÂP×;àE½r°ÀV-4ÆyϨG€ˆ¤Ù6æ Ë77FƦ”l*°Qá¯íf„Ír†œ¢ï"¥f­jd\PÆâ†¨2ÉR$¹åÞh€å‹Vþöø7äӃ†WPn?ß­çWêSy=ZžÆ°SµB‘&÷B3ÊIòU`¥î”WÀª® ¶o‡ÔÇ VØq>,5¿@ëåGæÅix;LØù hè:äx΄ÔÉèšjʍ5êÖCÅ6íùz¼ùSl¸IہþÏF=¨)âÆcn þ€BÞ¹ÂAج!3¹MÖ¯ñ#œg#A—Ðõ–_nJÔ^¢ýJ~­ƒ¢Þ +ÒbV×K!º!]o…Ïz+rÖ[Qú-}$Œ‰øH#äJDF_¤ÆO„¶W¨ÊO±ò;_ÁðSLç{yÚ«¾<ó= _©¾Ï–ðò[àfû·1;- k-¿Ò»ƒñ½ö" ˆRJL§áÏf9žÐ:‘}åcЅG6oôùÓŒúä¸ñd'3À™Œï‘6j@ó,]!h"ëò<,·cp£Ë$”’Ù#¹&Ft¶jäYZþH4 øÃêoQíń7¥úEU/”Ž•×C¾RðÜÇ»{ID&ñÕLBÕ7ÌÁ|™ÿ5Y=îg2’SC¥p²ø¸ßh?önéó¡Ð·úÊs;/°Y¸v@I€·Ë¨\Â>¤Ò€•ÚŽ6kx-2t­”[®6cæðNêæ7þÝ ½ÒcUq ÔÁÁa8?®[ M‘Ý(ÜbeÛ é P%€ãÉa>]«Qr»Ý{ѱ€HC—4šmxv?¾ÙŸÚšÍ„ª)œiÏO~€%96ÿ6æ÷@Eß+Ï|›x‹ Ø A/ÊF›ëñrã=×wL¹éq³ÕÖp LFÆaˆí+Ÿj?¶l~™9‡MÆÔi#ž1`#*OEÓr8—tóívŒG ›Ñ¨Ùv ƒ¶pa.yGë^Ú£¨µd÷ÂuˆjOÃç_#§€h´YÂTF°Æ¸]2";/ÓÕ»‚ƒ`pl¡¡-Dz 5B{6æó±†æ{•U(lÍöZC[A¯¥ÜÛ¢CÊá`¯ ÇP»=ïB:•¦[°”æëŸæýFAs¡ÛÀJ¬¸æ.ޒÃÉcj؋N;UáoᥚÚß –"·™`‡y`.\Th3YCoÑXaêÑÆýŒ6ÜzÿÐØNZ°ÙÇÌ!¯Ü…m£Ñú ÀeT›í’ í䝇J› –¦ïªífjcÜOÕéÚ(Ñ`åe|“›ãl²W ×r´ú{×@C(áX7¿ýÍÛðۓ!Ði<6~Ùíç—/‡ñ€ŠÔƒ(yº +¦[œ2%7Âýxò–¶z>Œ¿¶*Jh°ÙŽO* jFü@AèœWn@+ È ®ˆ‹nɍ¡ +¹–S±(á" D-÷â–Q9]4øeeÞÁ çLÍlŒÔ8x +(l”_S°él¬Ì‰2¼¥„œfŠíŽ(¯R±èèÓn=™¸H1L£!ºµ˜ ¦ãÜYАŸõÑ{8 •¤l2^n÷?‰ïWڌ[r4 ¾² ¡9OYà,_Ɋ֡4¢öƒõzsTà8Ԉ9°Qâ:ªái=RÐ|*Êé0Ö0:Šà[Þ(H Ic†yÑȝ”¨ØÈŒF&F‹¾ +×UÎz\.™WT >¨‹JΚōö€÷‡ ì²Âž[ó-°­× mTb Ô¨f¼1 Iý¸–ÚfI1‡šš±ià•ÂKÃKcÂÓ#ã`=¦â %Ñi|,ð•gÑ1 lÀ˜)k–¼Td +7ר 8œLf^¡‚¹|-êü6ËÍüÀ +Ôö™>gmrÛ®Iƒ+i…ÎÜrô1sٜ̌yqs€B¬œŸa¸ÞpG®ÆùmCGÒDŽ„ÔÜè£!õŽF"ғ¯HEa,©f—Б‚ LH§ˆ™62X]Æç-ÄÄw韛²OÞÕÿÆó­a9¹ù’'{TÀö|­à¾cš¾€õ^æ[vҝBµÉ³°±@áýu¼X†Ê\ì8–} N +³ÍÙi5\æâ_Ñ;øÎÛa‚]“gÕ(–žü¦$;M©c,¨ÃGNì,kzÂjTŸHO†ä† +ú¼ÝN”é‚ ™½W½·Íý|….[Ò:ùUÖùà—Õ‰™Æ\ ,ŠƒÅ+rÝ$'·Š¬(—ßü¹¦î²áØ Ó'å9åIB3*œ%¥žÕ6ëÍh¶ß¬&rý“·9¨¸×p{ª†G)ZÚ#͵UŽ$«ù²k +y³I@(°ãÿ¹Ù/²<ƒ-: ÎPHîrÎ,b-‘A`{ NU¬j  ä @Ìü¢S¬Ìpó‡2fÔåÆìÍl¨Ž>ʲ;¤‰ouËm&ó$3Úo†ƒcuð÷d¯‰ÂU¬‘%qü®:uÎøÒÅ>°Ð :ž+ÍæŒÚ¯*Lä ¬(„”/PýîÑv£T‘.Ä[a¬ÐАj¢ÄÊùÉá8_ÓáôÜÚ )²ç¬¢c¯ YYÀ½‘‹ÝRF¤ð¨ô:ÍÐC%–i².%í©ò¾+¥ÝJ϶Ã,}žF 3Ï?å[*ÿl~ÞvPU>œh%¶Vɀ /³g|súoz ñ8›éó*だ‚ûs6YTtÅ`Í/Ùe„3làÏT=/€€M“ò¢è‰#.ö÷æd܂é1‚E3¡(…PSরDÛ\€ÈmÈØW×`´ðÎí-¼~À8GÞÀ¸ü S²€zˆÂFà‚<œF3ؽò:N«90¶5 è ônó៌§õÖ|òj„ôh?ßj>saÞ£ !ý-Mɔ›5К¯£bΌÄ*m{¢[®ó“ g*Üwñ¢Ájë»=¬ÖÉ~§dv޵ %æwcðǤ8z–uFâë¢ZI"Žg›?Kó±Ä"Ž‹EÛÁšqÀÚ¹%@õ ž¬m(ÃXìÊàÛ̘t?©Í,G`Ý.GïˆË]c\_åõÂoˆåy½üØá®Åñ#âTb3Š–§ûªPS/ôð|ûéJ¶ïmwƒw÷cðöٓMYbº6=’&·Ý–›¼Kä­Tˆ˜é·bªzHT¿lµôþ4Š’…@-fõ‡Bf‚8äóS7aIßu½ÎtÒ½=¤•€Ï`MßUM{¦Ñã1;-½VÓÉФ‘›ß§Fy¯×6• ªŽ;_4OZяâ1ÿû }xܙզzœrœ¹Ró‰Ì‡,íìïÒÖ6Xó?ÄãP˜%ÿ‰¶^?¿2͜·…GÊo—øN'äw:qð®\y·õDڋニìƒE‘ÿùnG³Ëôò=ñ“s³è‡_@Žþm~ä¯îÒÉ[›‚º|Èu§Ý øt»Ë—ÇeSÖûµdóšêÃû`|2Xã¿vר0 +¿Ús³Pï.™±o]Ù'wߕÎÙÞÈÜääLµͳ»Ñh°€Ÿæ®ÂOuFaö¾At?·ôóîã8»´>Ø<{××)SmÜî`ÿé»ÇYÐ`Üµ¾Ó™õȶrÝ×î|ÑÕ×ý<õ~‚™ý¨ìw-~â(ÿxh²Em“h;HŒóœoæ×_»·{ܓì2ú²¢FЩZÓ¹rÒÜ.¸ãᘗògĜŠæ6]W²5þL†æo6µ¶‚¥"N3œ’ÏH;òº†tJeŽˆ‡fÍÖ¸Jø¿Íµ¼o¼%M®=āº +jb°Ûr}v¥È$ý)Ù.T¨æ9w¡O teÀºï„+•*¸ù‡é= §}Ÿ¼ÿ>uÑL²ðž³a h”}d;ðÍuÀo¿¯ÃF“ú-lÊæ{ˆÔ@J?„"‘ßQ¦™ÿuå|•]a0°Y²‘áÛküÅúþ–yÎe_ò?ù.½ûNL Öl¨ÓìQÄüˆŒ? +=¿«• ½gžÉüo»—›ÿF|w?+ë”Ìý8ý€€©~4Zo8|±ÆnUɝ«ÅLïя8&éÚÞõIûOś!’͏€ÃÒMR’#rªÇ'¤ývëÈÍ"õEÁUõ’§‚ÐÙ@ Ó(Œ!‡¦Á¢Z݂¡™¹é¬pˆÞÞê™èG -žƒ—Ò²%€}S,xÜøܔÄ“JÎ`Í4kc0©x>[í,äz‹ZòÚ;Ѱh +"P Õ¤œs|!/Ë;2þ¸RžÇ`åÆF5ú! ùp4ñ<·ÀñúK-7Bš÷õ·Îìïq¼Ê.×­M¦9{· `[požä­'ú™©ÿÌlàµïÛlÄUQÒґÿ±•" ·›% ­÷#‚Êw3H¦§÷ïPÀ÷óÃЬy³ŽÂv·™zósû]z’H¢qÀÂ=ß<É쾝“É¢ßΓíuç€O°—ð„µŸž +öû]›ÛiDO'ۏÑ)èÞ¤!yë»îʇ ±GæpÖZ~fýÇý4žé§“¥œ4鷀¨Þfý§^¦qj†¸§¨1cà‡Uz?JÜR³Å_Ÿ¾Nòá9·ŽF+3ñxüLûªþŒ³DÅ?ÎPŸa‰ŸŠý=~¤ù¿ù§YôÀÂo9 _¬Ø§9æÅ_ðɡޡßfPp(`[´{¨ƒO¿yª ÝxKaa»ñá ,«¼¯ó쏋qžî Õ%Ø9ôb¡†‰ ÂN9² ê7Âß“ˆí²i5IÓÀCcù|à½ýx|N‚FoàÏg†OJ„ÞÞM3TL¾òH@ÑóÃöÄ@éf8Ê,‰’ŸZ½!šKÀTdˆ:J7ÿL1tƒjÇ}¥øqÄ,íf,Z¦€úÄ@¤Ÿ +¾B¶€ó‚a ¶ø0Uù£âXEJ,ôb‘#5VD †¼1ÃÆ²DE¼Á3M@–bâQƒwh|,aox‹”îgJ€£¾§ÐzáfK8«í Dª9 „ÜR¡$| .>“"T¿Ô¼ÀçzI­Ê/ˆäïÔÐ8c'ž{‡Z†ÓÜYlˆ¦„.¢ZÉ·#òÌ|B‚àFjûª~ÎL³UY“iÛ¤ 4ýŸÈgÖ`¯œVÉ~­“ MN/ØÅˆÉ0cv{h.ùEºm~›ææÝ^º0Zìn©­Œ§N„/xs†¯v¸ÚȜ¶˜Ð AÍO=ŽJõ{);¾¸=N`mætËfçf§úG¾RÙeùÊö&™ú:ÿœnt÷C Á.Ó+¿‹ Ù‰'bÙKzúäFüÔwãøFhk[¹›¾lÄððìFv8ÍOœ…§[AMéñçCka_±gžéÆW"€i +mÛø’ÜüPê™À{¼æÙøjõ¯ ìД€¶þ¸Ä8Ñ`š@MéBãDƒiBk},‡zàÐ(“Y`ûvœ…[z÷%zÞ¬ Z?zÌ"5–£êÿ/ËҌ=UúÊW²@àf_ӟÎì«õûˆÔaâ±èÊЉo‹ ¶OE*Þ|ù7:àÈ, H8šü™u)ÚZV›™ç· +`w°:)æä:‚3*(z¦"'»ŠÙedú‰´ƒ•Óÿ¥<ç‹ ë,¯×$tjŒÀ'÷±¸½Æã®»Ð“lc¤$m”„)fË´ ¼=ÝùGõ‡ç@úͧ-Õ¦sˆµ©ý…97û2%@‡{=fö¿½`¸^°ö³‹š "/?!v$ aÐÍ.÷&îËìDb¼Zpš6r$K& _^J”ì~;Ída}«2`¯bg¹-¾ÏXtT}̾¾¤_ŽÎê‰îè©cͼ>5ZÐÖf´ƒ47·Dtq¾Õ­wY<{@7¹ƒçÇQ¹ˆ¯LÈ⯣t}МN>¼ÝæË«ùg6Üz÷f^/ÓL½é"Áz±¿£Ù…¼ç«*Ԇrï˗?«N¨lÔQ “ ¹Îǚ·–Ù3ßvò?€^ÙeÌâÎ?Úv¤Ü°kiSëðDüæîÇÒ˜É M´~(¸œ‘þöçjÛËvÓ-ËñÈb®‚)žš"Ç* ,¾l¸éõÙLDù³˜¤A°û+òÐÖ~~sÛk ¨tî ™ï”œrC´ » Ö»ïÍç—R£–3ú4º{5¹›t äGKåKÝÃ!ï’…¤Ãb}¼ØÙeWÏ©°”_^oÀöµø€šÒßä\È +Tµ¦/ÿÓÜcøYñV`ùðÝ/ZIS%½7wùŸÍÞ+ðq°kNðlçÌý<¹åCÛ/P9ˆBG,¥b‘–÷ß9/fùbÊ:*FÚP\©ÃGœŽ@ZÂ!ÝÛ_h¡<ùææD’Vh™Fdoé‹Y¦£ïÓB&V<áÑ·‡´?zZ9ÿÛêp7IÜ®À˜ë>æÔn…´H(“F¡´ÞìÁ0bƒ5²óÇ@ßndz +˜¼qjŽÕù7‚Œ^DhÔû´@IÖ2 wÌËÔ¹æcAÌYnz™˜Ç{ˆˆ½Àv´ždC‹ñ8ÒzûnÅ¢¹Rnö9¾ÖM:ùìæ+•ä {X,~ ècäඐ¾û~jgôÕEÜ»ò °çþl3õe¸-ƒ÷ôÁñ~“¯<ۛ³[9ÊœÚ¿|D›½ÓÚ`-s÷ùi8r“tŸ¾æ‘ÔÎYVsG&É͍¬|bE#“h9v Š—[×}:z“G± #ß¹hc¼Im|kéz8çfb<5ó%»ôø›Å÷÷5˜—c–óæQMžºÃÙÿ>Í`´… ÙFžµ»BÁŸlÖ\¦fãÇçiƒ‰³gÖÃ違mˆÝÀ +큼 ØP^»'@ÀŽˆµ×÷”â±v¦ùmr´‹/Ò¿U0òU[಄Tî·Áµ%"ù´åùD±²¶d3ïœûFIw§’ÍÄÜeïvƂÖ*«á(ÏL­á€2•ež+%x\:í@:]z½›ÃäónÐÞüëÕWøµ’…øf^è¾ÏހÀñtdš÷#oϟ¿´„©’_Xؤãx·)Œ"Žp¶æpÌ£ëò« Zâboô+Ø÷k¤ °³å£àéĦÙP;èáÍþ¼ëžfšùƒ3²« îmlÆUÒ/ÄÇBqރõ2L,îóßóŽ™Çh,dփ=g…|ÍÍÒcO¾¼ÌµE[>xý2“öJ6æååýá_à°’aíÏpaØ,„9É(Àü‡Ò9¬ÉGùT $ÆBŸK¢0èÿº3ëÓ Ù·àbøÊ?š~®{ ì^÷®ü\ªGïoC0– I«ˆ€ÕhiñHLÁì5Ï|ñ}õ‘„ù[ShQ8Þsj®8Xu.7XCÍCa”*Po·[Kü­ði‰OÛÀF=+A¿¼·›iÎFGØÇÿM±t½<*AN…×IâòîØòÂRë0 *ÁSþ˜gÐÈÿE6†Î• +÷£®‡ÖÐGø\5·ëav ÂOPò5d¼²ŸÐƒ»àCó˜AqQ2×ïP•O±O®ûzdfrK÷&Ï,x“+µHšOq“{6ú?^“ë”h˜Üµ÷¼ÉCÔ„ï¾cGèæœã5tÀFÎ/BÏýT0 ÆÛ­> ñ÷”(õ&9ƒu¿OÝ3îíÓcº?¤b¥dÛKn>B­ÂþëƒÈ&yŸ¹ùÆ°¦±-¯®œÇYøªÜp©yƒÕ¸PLÒ¨zØïïM€Ä]&|¡5 ®g‡ylº›Å-1¾õ#ÌÏØý7qHر“+U4Ý¢£yÉ/¼¾C¬Šíî~Á×â¼ÝÉ ‘~í¿k_¯òH‹Ñn8Qîze‘v-O@¿¡åF敢UiÒdßüÖ½<ÒÿWè&prH VíÁæ®y0HÃ3ûÀÖ)È# 9¾\ÉÀT~¤7d7d°šß¶ËªÜX 2[IcF̖õÞqAÚéäÏSƒCŠbNY´ESòÖÿØkÊ"-–M,y©f!¼8,ç´ 8ù딪B´é¬Ú;Áϥߐ†6VªYé‹Í&B¯z[)ÇÉÚÞþ{¶nb¦‘(iñË"í>ôë8¤%ƒÕ´ß}ɏ5iú>˜g“º<Òל#µ³¬ªrH]wËDŠC +æEÈJ·ô³<ÒP§CqâIé 9Zê«À³R`õ’ßß$f¬³u±®åpHDÑÝoÉ#-ÛÄí ¤«˜ÀG³ûFÚñØE~x +ÝÓä-|-Hҏ$Qzü©S„Ô`=ܔ&›H}à ´Ñ­˜«Ÿ ҈9º“]Ò­ºÖüÓáóÏ÷TD±ˆùùf4,aގ•nKÉ·õôǶ‹‹Þ}sÍåôÇ“PìmøØXË=§¤\ÞµØcŸ¶­CŸ ÿô+Ÿ¸g(&ó¼oíF-ا¿Ç—m ûtÑ +d_¹§Š­dª‹{téõ.Œ}ú¥Þñ³ŽÖÃF÷ö­é¶üåÄ>-djà öécàáÆ§Xư8˜§áQ¸w2cNØïDO]Í×Ãý4çMŠWe©Ù/:3ÜóÐ!ä® -°1¶}æhùÓ·.áÓ-mŽ’½0%z²›ÃõI ÇG ´0s&Ïc¼,Ìß&üㅿ‘&w¾žƒÚÈ~c­7JFÐøõ,#ùö7Ûý‹‡–çÀÎèc)sÐ^|\¡µ-ފðÕbk°cßO@´ÞÜ|?IŸÙ7¿:€tº)ìO}¯G n÷7+‡Y:¤3´s>呆:X¤`ùõ‹ô1þX‘¥ƒE +·¼阏4Ô62mì)Ûà!ßޚ9¤Hûg‘Eä…Ú?;ÒâR€ÔÑAÖ+­€À÷,R¤ýc{hÿ])‹`¬ßX¤€À‡)Ôþ±H V¨ÿÏäǚ4y•VmX¤H§àÂµ/@ uЦ`V'q=úDO„#÷1^ii×=­Öüµi1ﺅ÷gÕváÍw´´È‚1ehi)Yº}û +R§ÎsФÈӞ.·´hÅÓ7÷'µµ›´±eeï§¶Žä–…hG Rñ’åõ"/~æà æ 'šhô©‚•þã®mhHf°º%èÜý–j$ò>±—õÍ&y+û§ÎטiŸÙ3Û8±ùÃí?>Ð>%Ðå·ðÃ-ThON†:”ÞN‹cÞ^n…d=n ÃÄcØjE C¶…V’\§ñ²¨Sü.õN6Àº5wÀö@ðüh"w "9–ß§lEèðÝyʘ—ŸÍ„ŸÁʍýÁÎ 3õù3³ãsÒ<&7B¨¼¾)KûümR–…Fb)ó;³¿$”A »3ĺóèâ,ޝ;2ÅYů~ÊËÒ(74'_Lù@ö#þ¨LwžXBÑ㐊žnA(z‚XÑcPcÝÂWyÏ' Ûeo)Ñ#O»nê041ýqÜÔšvþµ<í:VlãV%òÇÉ­s£hü] .øÐjÖÔH]¬ÜÒ§ ²É»D£âïb¼QM^¼·ôìKÄh`imt HNÂÞæÜ;¶ì2äóyßq :÷žÇL“{ëXl%ÔÊÏ&aü.=Û¸îÎáq2rêÈók& +ѝwÊ㔮»©uÝ)¯:°WnÞOŠsiö»ßünøçÓÅ;¤°ŒöBEn:Åø +ÿ€ åÑRÞãc¥ ”7ž_Ù.ñú…Ær,Êö,UpƒL“ã›O¢…I§„³øj.锌‹jZ˜Vѳˆ VìÆ¤AgämæóˆÝ– V=ó[„4)éמäÖþ¸(”Ó2Īm¸W¡KLJGì^ù\§û£E¥]Â+tÌÔ¬ÚfXùŠŠ…šÎ/˜ÁµUQ±Ð1ŗŠâä €5ÖúV¥&` Eo¿˜^XGوÑ3H¾Vw1Åzû+RL(Ñtök+ôÃô£{‰ázLÎԎç/ ?%9c§ÐÊnЁìṳ̂"Çx +¶üª<>Ü\mUfßw}†2u+™É<2©r´–¸~êtnnµ¬n)¦NêÀn˪nyŰ$ +²ëE}šReOÔš“¥]Q‘š:"Ò-Ï£‰Ê²çu„²‘]˜-jZ‚®ëO69u() 2bc{߇¡—çПʐç :`œ@4)è0²â³@ÊÊj‡Áª§Sæ3€PZÂ%÷}´*oËZ@™Zí}üølHnÐFt® îÏkòœ¯ï· õÚ×`ªüÑ_ø>9É ˆ…“5|069àýYP+Ò'VJÄҾıf²’±t.q±Ø%ŽÞZ⠟p?±—¸¬Õ­î]\{£ÍC¢äKx»dŽQrɊ<$«G¡1ŠÕ]²`h¼…DϾn7É#ŒK¨iuo°V’¸+'á¶|†{ðÁ.€„"U$³¥}®D{*Æïc°*yéVðp·s‘ß’EÝ×' ¤ND'óä¦ÀÓ°¨Òé“X•|€w&Ò2Yƒ2 ©\«ÒzhGéc¨?Våþhõ/Þ¢6Gðl1]aE¤ Ÿ·^¯å¡©óy…ÛüØýå oô¶"Þ÷p2X8ðŽpÓ;G<¼YÕ9×F˜žŠ“Þ Úêpº, Žh£Sۇøº,5ÞV«lüø 8*ð›fÀ®:'ç@¼ú|ÞÒ1¿7äv;ᩨæ#H ço•ó¶R–Îß +éX|òöX4ëŇh֔·<ƒf8BCR_oè3q +Î¥+‚ÂZ“F&끣ßcí}`‚B}›¨ð|І´ ·]¨qæP˜êUNr(øÔ`U_†¶,àÕ}ƇQ"`,§S)yêgb'ØÅÄí°pH$Úa!>ÀÓ Ñd=$9@˜ôîR‰öÆI4ÆzÕ£Á‹©K4ƒÆ$ì|‰Æ®Êbks‰fMN¢é^ûŽ~‰&ñ]Pp.—hÊåg¯ŽÂi;kgOq|«œ6 ؄Z% št(¯£„Üua¼%°y$¾qøÛ¥°ÌþòcÛáŐFÍ,ÖùóQn1Sx}bk™t Yƒ+fό~.æ²¥–ø9 + +˜5QPN¨ÃѦÚc¡ ? €sy‚‚1¨E'ïêp„‡îÝË2§ Ø5|ÕÔ^Æç‚Ú…p7¿z.ÑïyL:¸©.¶øÞÛZ½Y<ßv7lëÒï•}°Øåúý×Nn/Ô»‹ÁYÓïҒîbÎ%ú= +»ž¿‹!82ú½ÖzÅÀѺ*ï…HÂ|í.Þ {aO|NŒ°€_¯Žål½W +‚§¸0 ¬.ÐÛ+L Ÿ”n §oïï—øªE~~ìÒÕÍë—ÌÚV޵V ˜&u—™Iˆg¹ôjZç +§§9@ϖOÁs¥!œNÔ%,G ØÕå%ޘr^d[Êy}šìJ S û>Ɔçá#×0ö>èY@)5,®áázѶöì†õöh ¨À‚–»Jõ@±¨>ƒg²çÕ䃥€a{G1ø–âã¿×Ô)!Y\ôŽL-]n?K…kkY˂ž”-w˜š<ëמÉÝêLžL° óæ +rtÔÍ-—çÐñw1i(cèì:å :$“¯C‡EŠ2è°Ù‚:sè”3èøÙ‚—äÐ)gÐ ´¾ rè”3èقäÐ)gÐ)d êÊ¡SΠCقWÈ¡SnGçV_œC'Y¸‚ :Ö²¸0‡N9ƒécê9t‚€d… ³)§mãcàñ™@¢` ]’õôæÕ·Úò¥H‘|v0l^¬ýÊ8´zz?óÂÝ^ßÔñÎøò‍³étç°«0W”ÝãíZ’Á&¿“–šExƧL9KÛø¯O-sNóøDž+ézÑNtŸþ.a2Up™)z€©s¼vŠ ¬RL5MTû 9‰vńŽß@ö½ã:•Dõ2™\ÚtY‰ÏWjf±K½.ï·TǁÀXÜwdý@×ÿôWwIƒ±ÇZ|*ÆÞ´¤ÙØÃÇ(žBíj0Ïì­ÚRåΚ¡¡¾¿0*ü²€)nêNƒ¢Kf¥aŒ8 Û+åÈTҜ5y¢)_yb˜W +zdâ å·çHÎ;ÁqòoYŸ{GÆT¢4%•9‰ÔÁgDewó3ô±²ÖÏ­w¬>ö[ÖçÞÁ§Ù‰#ˆÎ¦ÓLÅÓ`™xÐé‘tI :ÐãþPè’p1«ïb +t +ií’rtºzRœR—ÄwwxEþ_*%é™G䑹0J h úŒO%=ǒðÞ^â‘áÙû—{d»Bt‡Ž4´s<2’lÁË=20 Mä‘Áe¤ªåç…tyddýüÒs´%çÀ=°àÔ9Y[ø,ÕA•å +§,ããÆµ(ËÁ‡7—Y3(ç$n+׉d€ó’xµ]Ç©†–°«ÄôjIC;3€¿¿À2¼wIGú˜$tA6[P-¯NwЬ4BåÕiŒ×S̫㥎*d +«;A+Š—TñV/O·T Õ{‘ÞE +Ó¸Ñ19ï¸À¤ëäÃA,׈©S·ÓÿØ9ùprQÐ/«kçÃ]g¡#N)BõzùpÐk}á +Ԑ's#(6‰ëü|8A4óŽíÚùpâ{G©Œ¸kçéÞp•|8Á‰•†PËóòáĶîXf²]žY7¸«ÅDP˜Hœn©%&²µÑ©¶ö‹à¥j@H\žŽà¸Õf_#-y$X(”>†à\!“KÉ ¯.Ñ`rÞ!&wæÕ²ÁD<ÛvNIijm§2¢Eˆõö¼·.Y†\òÏ«pé2À¯•‘“cØeØÙj]† +Ú8¤·>{Q–Ñ®s0‚£où`ò‘œ«$Bæ}Úv1U8ø+1·iᬥW«Þ†&ôJ‹nkt¸¥>,˜|¦|±“ªAÍf¤úoÎ áw±ðY©ƒ›ž†$R©ƒ›¡—JªßU2R¿v×ÉH…p®‘‘ +óÅ.ÏH…P®‘‘ +áh»ZdËÅõ¡‚¿4Uw‘ÃCϾp¾_¼ E©pòrìÚ©p(ž_1¢ç©p²órõT¸óý–BŠ)Ûî:ìÊ Ráøw¡d¸$NÆ«ð¤ÂÉûÇ4Úg%Ő/ +ø÷'+%>Ͱ±ªZn„êc9¯ŠY¤5Ð ‚ +kò(jp C`ø›ítê0’K†õ.ð²Ñ;p”nç¢\nËã°¨'7‹óê¾°×áˆ7Æ;*³=pëVsËá£ç•¸L=ϊËÖ —7O2nIwÉfꥐöm@ò“͇h• ÏöéL)Ò|Ìe½£\.ë«À"-³Y—Â.Ó'a.–\Ö´’è¥O|ÞYì5ñÂg/a²ÛÝè¹Æw>ó†gNkÒ´Áe؅:ïJÉnc)A6³JvÖçym€CÚW@ZôÄyHŹX ׁç…'»…ÞgU¶2¡(ìÆ®”ìæ÷А +ëñÝ­pv³y9}á’Ý>•²ÎVÊv›f‹ô¶:™qH'Êõø^ßñH OŸE,y-ëà]‡ôU˜a‡f,XzÔèÍç íîäÚQ^AËÐWUĐã…jGoÕˆŒ"úÄXI)ò´o¨J¾c !·B Öµ¦Æ"8#z¹Ý\'µG=BUì5Á×±Úièï\L¡SjÁ©jq”õzÍJrreGdîTÑà]Rª$§Ë ÷™×"©’ ‰î„Ô×§VDN1®O;?©‘ÃŽO®î›Z±­ãS¯5 ™èjuFDw©]P?Nûz)Nð…ˆ°á®Z Ð){zÏɦ;Ï£7›NÎ`jq^/›Nãý0fÓÉùÅëåòl:¹\ºs3ñÙtr¾xùHûK²éd¡×¬ìýceÓɁR¹!äŒlº3wdÙtrç4ì^yµl:¹\:¾½l:¹\:±=:²éä|íLöëeÓÉÍ.òô^5›NN¹áǎ^'›N.—sÛüÙtÒ.ÍÌxMéÜl:9åÔ`½v6ÜüÉDC]˜M'¥ZSø¬l:œnyÝl:í»$›NJ|&~¥lº³(¦;›N1ÇêjÙtò¹Õ×Φ“°\9›Nî´D…l:9ñ ´^¯‘M§r2r¥l:õýåÙtrÄà´ñkeÓ©er]'›N.—[ïrÐÀ‚úbº®nÂWñ’©×æÐ˜ø´SYìâ‡6¸Z6ç׫“téOy®]¯¯]h£ÓÑeÓE'ŽJ‚HH˜“©ªXhdA‚&ë×)Q—´Š Õå„Sgu R tJWÙe¥.ÉR`%ŒÊ.cD&Üńуÿñ ²ˆ‚–øV¥°¹²gŽ­–¥Tèîâ2w¼{®4ªä甹ÃV—«hÊUÒXæ—É¥-‘NS€„r|2Wèî²¹*v¶ZªÌ(z©4•¹Sõ(BÂ\\æŽÖa” Ý]\æŽÊ}S)t§íðh[¹Â=WÁ‡7¿ò$jϳ¨\-Di[áTî³syÀÐîZù{Ê Ô©Æªñ'L£ƒÆ³¢^S"–ˆfƒz†!>ˆCs~!À¢v¨#ˆ Rëúr²¶ +[³Ù&Î'‚—¦bÇ,w7î¼§ø²:3±K ˜J%\s4¥?¦9 +ÓÑ­،dßU2/? +®§g_#Mµ]å ð"»×XŠ$“]6SX=—ӔX‹«!N¬m¬¥‰µõõn„À®RÈñè­aÆß»°¤lʑRµÞ«R µSz¤ 3ñ¤Ԋ–8.†zrX\%3…½ùX¿&!U=]«‚!xð‚?"Ö¼ößtªÆ¾ÁÂk«¥¨Np®pKçÒjÕfÊÝp¨/VõMC"ƒ®^‡Kf¶4$2hòÀ_\áŽÉ¯ÄÕ¸;cÊWœ[·Z_…;¥ÌÇ –!Ãht…»«TÊSÍ'ÒV)ïÒ|"¶RÞåËP¡Â0/IK~È9î”ê½Âwú+Üi½Õf?]žXûµãÔœõª9±SWs Zª6Ýy‰µâÌÇð¥þ#˜_X“M‡ÖwÏ‚s†Ü”Üá\%Ÿ³Fh³ÅTáàsaEILµk&P¹<=ùírILüSQ( ܒe˜°«L„¿S÷Mc“–$&Û}Wl‰òv1-iLÂAªøN9Pì¼`ӘvMêŠf;»*v-«RK“í~-V¾Ïµ+ßu%1á"ˆ`íD…VŸbøNçð^p+¿H1”¹,ñ½CՀ¸FŽk΋¿U Ú/z+Òé*÷ˆH‰×Ç:×»šªƒNß®”ãÚÁ^M¥_‡t•{T©”ç;3Ǖ·>Ù0 YÏê9® Kš³ž•r\iœˆjT£úÁŒ·Ò}3¿ðç²¾ÇvÞ;˜|8> oê'üB™,JÃ#œ¸Ü¿ˆÙ­;¾qIx_X¤`,7ä6ˆ+Q4¼a‘ÚÊCïW‡ÍÁ!e3¹8¿„<¤ÂÔ´ƒ-zËÕ вö‡Ï¥RƒX\sN†7çþñÉ[I¾`FÌÖÐS¾Ïù`Åq=¤EK´øjþCŠê¾ÅJ‚ÔJ1ÒºRÁJ ´Px#‘]­>w³Ÿè$̓óÞ'œ}L»`ŽÀ¶ãçW}g"£¢+±9¸mŒ¹+ìa íínž9?1»Ñi ›D ;Ði Š™zआ½À¾'6©zHð)IÒÐ*l— 'ã;•Ó’Ú¤žØt¸VeäÐU©Ì¢Õ“”W­ÂN¤2 @ÐЂ¦”u'ºyò‚¬4•MŠJmü$:ôÒ;>Ök óîtWYÄtI¥%^/š‰®+JË`UêÞO¬¯K@Zâã´èþHbcEâªð•r +¯ Қ)ç™vYÃÕ×*>ØnáZ—7v<&m7jÈFRt/k=åé.¹‰–ËI”\wV²›ü‘µ®{­»…3=ËÂ[4aॗÐÊ݇ÍS³Z¤wÅ)@òþ1aЈÌë€ÔUï/aÈ«ÙÈR,aÎ=õ¦îpëX©—¯ôLìçWwÙ¡z|X¯Jh' XÄöúõLí'Ûý;þpP_"™¤žÅeٔ3™tåXÅuÝsÀë’(ÿe\Tò«jã‚.ñBõéÓjުՙ +¸°hHåäßs¥ +¨VÒXeþ¸“÷qQ=QG33ˆêËV™ÑL­ŠŽMœ]«L´«\F1Õ\탞\^H1Õz:º(V }a€I҅å´CšbgfjÍÔ| .ALS Btº†,@­9€R²ž,@­9€üõgjÍD^ë³³¬¢`aŠã`õejÍ„;? £§²ÜæXéÍԚÈÚÈgebº$ÉäŸWRý‘Žêò¢|Ú+²]R”7–°(ŸÄ«ðåS«Èv¢|TΈ²‚ryQ>ƒUF+¼zQ>i}ä¢(¾>ò5‹òiª_yIQ>¾Wv*‚íM"µÔ`|U¿Ëï†z¼ÆÝPëúiºêâº~¼¡]án(\]?}qJçÖõS®êwÖÝP2uý”½Bò–¸þº~ò̧x7ÔuýÔ9ùuý”#CXÏՅuýÔ2¹®äÐU¬êg°êrèbëú)Mä»8»®Ÿ #’ª~gT‘­ë§< ¹Õsêúɦ#*Ýj®0š3eeï‚>£®ŸòÍ_ì™ø…uý7ºÚÅ®P×OÙ-¬ë*…º~ʦ®lôuýäÒ$¹¥wY=¾+ä¼ëªë§ úù¯Q×Où@Å Î%‰ïâŒÔsëúɨš¼ª~üê ÄuýDːVõÜÙ¥;=…`ëú©æ½^¥®ŸrU?–“/¬ë§pÍËH½¨®—¿%Nj¢{®Î®ë§L@¤Á^¡®ŸÂZ;,‚WªÇçT†¢¹ŸJ99Íõø.ªëÇB‘]>z³9$uýòT£m'zëú)kòðƃkÔõÃíá-éIâyù[Ôyæ$QmªÕõS>oFœ_×OHm±µxn=>}Aøz|WX>lU¿ËëñiIbR»½A«¡¯Ÿ8#õ²º~Ƕ¤ª•1ty]?6UJ©®èÅuý”Õ é®ë§\Õïâ[›èº~úú4ÖõӐ÷z…º~ÊUýt×ã;+ W$-¥uýÎO†çUõãa¹¨®ŸÔ•̯ꇻåLo]?åð.Ñ.vv]?å@'‘Oéìº~2ó«ê§|/œöº~çû-…ӟó„±+/¨ëÇ .¹ª~gGŠêú)r¯Èeuý”CÊz½¼®ŸrB,½#_\×O8HqU?‰>¦ù&+a]?¼Dé0*7Yi¬ë§I‡¹¸®&¥8 +Ùµ˜õ)_×OysPÌâ¼ZB,µïûd¶‡%íùM>âC|¯ÔŒºQQ´W‚_ñ®]åÀ{QÚ¢€›ãNoR÷[~<团QÙ;¤wÆð=O",=Ÿ–hõs߇™ l+&×瓅ð½/¢T#˜Oe²ÔRe/a_›|£Ïm(¸Ÿ=’©åwüõÍi÷¬¶ì.K”¦Oó˜¾ã øÔO[ñ»ÒmíyWïOƒ5ö†F±ùî­x÷¦pµêg닷‡q£iϚ“§ð®eŸüXÚG(ÿ{Ó¬W‰eò}3y°¯w½èκO¯#O¦öӃÍ´#֟ÏrÙqš™?C›¯I‚^û(·3õÖl´L^W7m +Lw-W2hKd¶’%ȟÑ#QŒÜÖ÷û~ܾ?ÄÚ價ÂÃÏ6Ó²éº÷yÚÞ`5~ä½ýúö‡¯ ,67S¹ÕR"È/½û¨öâ™ÑëÔl HXOòÔ÷[™tõQŽXˆ`¸Ç[8/A‹ ;V”ÑhØ&/æÖG3eYï}äm 4=™—cÓf’>2É¡¦“{z‚ñjµ5ÊI4eÈfÓJX&cdï¿l„*ûV´|ÀÐ^r¼¤9ÎßÊkrtHE¬¹“Ášÿ '切fî»X<åÆ7iß1ù˜öÆwdܼx)´ÓÁ. Û:U\¶Þ¿2¥ˆià´v Xª|¦ÝïZDa*c§›¾«šöhT™Õrr¦Òn÷\…Ö{ ~~YzaÒ®›2ëSáÎYN„ïh‡Ñ½#%‰}a¯ùä·#ß1 Ht ¾F(ëœò|½w# c¶]ìs~Èy™IYÔbl‰påÝÖi/•Ë~·m¶*Œ»8áKE¨£°sß~gΗ›|~ðàÞÅ{0°äî VæQÎÃ= +d?Þ˜e_…Ïc)ÏÂ<9€ÈØ,üÅềýÍÅ56XýÅ®wÄ>òðà· þæ£õ£ð³ŒVþR¤€_ìa×ÊÂ~uQM†[?ÔÐ_=<¬%`KÙa¸Õ«—j4Šä œW‡íý£Ò3úJƒ}|úé¹ê._­±‚§M7zpDciÓË`!–X6¬wܸƒhYøö~ßNËQÌ ñÑ.ÑG1» $]owûHê-ô”‰~ípÕeŽ† ± +¤Xç3ÀN|?hI&ûdÏñY 8Nã3ô¶››°@¾tyºí¥H”ÿ(ûáFn äGÏaúÓò-@:}viÝ2Pp zô§À4 A„)½4„øá…ù›@oY%¨·{§: »ïxg¹í#ÀëMÿnü‹ Š}„ØU9䍥ß6åàNsÃêÙ¥wê̼Œ~ªùJÙÔà {˜“c·<Ÿw’˜ ZOå ӟoFð6ðB½ ÞÞ}†éOùÁœm¤ÛµVqožsÍo2¿¼eêÍ/›ÁZzÒmNòã¥%­¡Wü£o¡å‹vWç7y2¹g¿ï&w«[0¹kíwƒÕäxú°›<>ؑO‰¸7—LnÇCÓä˜/S&ÏúõËäyãp;²°`o)W%Žî;v4Rá+c‡ËÉ¬ãÆ–ñÂù;#CvN(²rÌ#Kwð@ Þ>Wr … ýè+øÓÙx)ihK›¾ÑœBÅ׍ò²ß§dFu¾½Ô”ÍÝ`ë‚*MÐrWx” ÈfßS…Zöìøà `‰î%‰h <äç‰O$©Ü„=³¾ÃEvy³&ýîn”å 2SÑV)×_dÆé6KKÕbÂ×v éc€ïbŸû‹oöғ§ÏPö¹i¹: AŠ=QKÎ_²¤}ùÇä†pž ˆÞF:Í0°ßôNªÄ9¡äx_Ä¢‡Uä —;Qœuސ<åýv“Ë܀×êGJëk nw @8ø Üó‚„+gy(° +H)`w‚œJŠ~»¹I=‰±u‡Xî7N¾’4 Ã IZ9Ää&ìxÉP €¹] q‡K‘¼ðuç1XáÂöƒ‰Ï»á~FYÎè7°K·¼Ôo߇ÜA¾ w÷ŽʛmtçÀô•Õ¿9%Ì ,¡ •éø¨#¼ÃÆ)eÎtÛ9`t¯û£vQ÷O@þ ÅŤa¡_n^N&ˆÖDÍAèðy ˔›˜;@âfº ÷òí‰oœtÜkšbYtêP—^”¾½7¿o€N. õzºGéÉÂû0ò г¢‹&BþÐ`‰ðÅÁuwú|fI º‘ÄÅ#Áç>8Úw; G„ÜǸËô‡O¸Ä”Hà´ðHðÛm1ŠP“ ˆ@#eꛣ)AŽAK|ᣐ£Ï š“Õ­f‰ À>ޱßM_"Á>ÛùäH`Zê_r|@Y¯N­IS_Ž•° ¸«B±¼È›}7ÒçôÁc°^ +«aI¬ŠÃ .™ ÀíâٕWëåi·[´,°t@©²½ðjF0ýj·ÓÏB~®+¶J¤t37‡›b%'hçsr‹˜a1ø®’½prì—2ˆãrói`°*‚ð_ÊcŽËỷá1 ŽÇÄ <ØTÐñ0|;g6܄®é{¥„O¼ ÉQB©>±äãv1­ÃðáH©0Â̔¾OˊWìƒ,c#Ši¡Âó—¾ïÒµá `û€Ö¾†µá ª÷¡º¯å\€}*íÈ-L¥Ô‡€[¹´ßÛ â ¦ð^,-Z” +ìD}K\¦~„»J H Àšö[ú€üËW†§é§Šm;eEp¯B7‘¤-µçɚõü/<^iìFÖ2åôø>̐qI™}Á‡·Ê +fŽKÍ6ÔDøÂ!å=,|¥7àkÂE[Ë÷õøšFPlðVÃč>sÎ⧛ž²æªõŸ|c»=Á8NžåËA*íæ¹ mÕçQ$½¼G]S°‡ðùÝÛ‡ÏÏ÷fwpyrò{³Y·¡[èQœ†Xß´ŒÉÓZƔëÈ_òpA>ùi“ù¡¿¾òa§.(þ^i#{d‰&hÇ]CÇY€e乇Œÿ꣝‰ehÓ½Ò`G¯o,¼/i†”uÁë ­Ôü9vö¿Ð.ë°ßŽ ](8ÝhP.Rœ°£) äº^ñ_kÏ8å¢Iêhûç-ñ‰¹H¯/1áxù©âàŸ‘Äp‹­¸ø¿U]p‘V(¦ñ»§÷”o Êdƒ6û’òð‰Î> ù)Ê«7Þ@Þóé"|Å´‹óðт¹H"Iì s± +OÂà +\ñðØIªH•ƒÍÅ>ùߔ!揆è¯~ZNöÏûùt¾6º w_¦ì÷¿­Çr?™4'ó›Ñi5Y £/Óȕ˱p~2ڌ'FOîGYW‚›>½¥ÆAœ'™ùŸxqQ2×ïù¢“û™mÛæú™K+t[MîÞøÓä “½tpïÊåŽLz¶Ù«,â4ç'ûì©àªUÛ"و4ƒx¿Y¼7X í줞ö¦I_)óQɐ­FÚw$6K‹¡ÔHكg™sêý>p¼59’O!èoAŸxŒÅ’ùLnG:M»Ë_ožàøžàƒ“'›Üµ÷’ɹ3ï᣷°+Á¬ µ¢xgqd¯ÇLóËIå5,8MQ‹:—ZÜx©ÃK|u$»×G-¡É g§?ýNàÎY¢ŽáøŽsô5a‡^¢8ÆwWC4°°ŽÌ*,¯¥Á1ÎìãÚO¹³D¾§\tšÈ_QœÓ:õìgtéCØâ=§utù˜‹97ï$¶ËÇ],{¡Œr²ï_.j±}~OàAÝOyÊÞLàëKšƒÝCÝà7)GNN@B¹C‘qÕ^Ï`j_ž}P´¹‚|}C`Ôäø^>ƒì¢‹§Œo½`3èT¹CÖ>ƒ1û XÞ7HÞ&¦kÛ™,„~E._[òÊ”c¢åظŽ8èá:ÇA”ƒG‘j†ÈÜI :c¯ñX‘LÛ&Í|y|o¢WSçÝÏîòÔþd°ÒÊβg¦Ù«3±CðÙkøŒd¢›>e¾ùh¶¾þaµìŸ>ýôÖ4ìRñrÌÕpãVèÏãAOí¢Ž zP0øúî£ß^|̧.ÇmC¤¶Ò½YŒƒ¼Pic¡Îk;+£ +¬"H\³±`ìnÒuüäfò9»Œ™c¹ÃÚ½‹C’Þ„-ÒéHÝE[ž›Ù¯YãlŒ'—È&óCÇ eَ«à¢¢–˜Ã ^lÉþ!jKÜn! }w- nyW<J¢P ƒˆãíxT{̟/ÏàÑý·ÔǹïGs)µ³¬ªâÛÎu+!(:F^ ¹¢‚räՐ+*!ðþ6ŒrE%ÝÝ(¯†hUBÔ9‡Š#®†Å‡ÐÂÃcŽ©ÐVîºoÆÌ1ÜèVtŽ·ß'+mÎ#È5‡!~´2úÕ¼‹œj ˆ¾U â4|Ùñ?â3KÓ}gÅ ÞÐi õ‚PçEåØ3Xþä@4¨怞Šu ¥Ù³«lºì(:fJ@µÄAÿ:Ø9éß7.x´f¹{, <ØÞ5CɟÅQ!ÔYÜݪ.w ‰qÇPœoòÔ0^Lí®7ïFõ,Nr)8‹ƒ1# ÒAÛ‡&BÈçbÏâ`o ¨ËÝeŽ#…gq +’*^7åcd3¡‹¬ èSPJÔÏd©š÷Jg²È#«t ‰îï9ÔxiC’¬ųmèRhu^„: ïhù¬>pÌÆr&tw¡Æ%EU„ƒÀkìµïq< )¦óÝΟ þ²ÀÓ­>Ž˜øa<$k„S €£×®††&ùÄ16QÊ7†liе°ƒ‹Ì Èfö•£Xç[49b8”„“¹çóؼZû€á± W¼O‡3yŒ¿ûh‹‘ð.˜äB< þreH)ÃcJ”Ð5^t¿C%úàà¯xA4G”8p+^ËtRv¥ƒ›ó˜ÊÁߌ¥¤döe¼ ='¼ÈÎIè =sr‚KÔç¥Ô ëÓd˽҇®€“>ó¹€NŽ+•ûÀîÈÒ^ˆv"ý}à¸ò\iéÔ•ì>„Ö¾x'r*ó%¾È<œüN|´©Ï ‚Ö«×à™ŽAh½êp žé¤¼pš]ƒg:i_ŸV×à™ŽAÈÉ:\ƒg:áìëp žéän½Òä<Ó1Ç¢Ã5x¦c΋×à™ŽAƒ>×à™ŽAvíks žé„cÑá¤u‡ø3·øü³!þèT9Yþ‡CüщŸPpý!þÐÛóf]-Äÿð¿)ÃŽe¿¿WXùg«üҘO[Ø ÜËN¦óuuð÷doð©ÿðüý˜1ƒ/aøkuh°£¶F¿ÃXÔéù2ûc~>:Î7ëÁþocþô^«¾•óƄ‘jÛmïŒvТZƒGxàØó}ÙÍf Ÿ4ȶ±ð×v³?)ð͍1×h¨·kÍóár"hFÞ3Æ øÿûŸ`P™-øôl Œ=2øßûÀ@ÐCÍþ_Á‡_ðӟF?a¬?¿ エ‚£Çñ6®Ð·@È †ãFôo$nô€ýôÏÈõú#Áp}#¸¶dàz˜fÌ¿„@€g PÂQ1ù~à¸Ö†j–šD0¥ˆ˜ß—ÁtÒÜæK0¥ÓÃà‰q°^oŽƒãd ž§ûÉá¸ÙOŒ‡ÙæOø x…i˜ã™4ü?Ûg4ÿ endstream endobj 6 0 obj [5 0 R] endobj 22 0 obj <> endobj xref 0 23 0000000000 65535 f +0000000016 00000 n +0000000144 00000 n +0000036431 00000 n +0000000000 00000 f +0000037723 00000 n +0000204294 00000 n +0000036482 00000 n +0000036796 00000 n +0000038022 00000 n +0000037909 00000 n +0000037004 00000 n +0000037162 00000 n +0000037210 00000 n +0000037793 00000 n +0000037824 00000 n +0000038095 00000 n +0000038313 00000 n +0000039242 00000 n +0000041420 00000 n +0000107008 00000 n +0000172596 00000 n +0000204317 00000 n +trailer <<84681A4BC6D14E5F9388EE3CCEEC2AB1>]>> startxref 204487 %%EOF \ No newline at end of file diff --git a/assets/images/fps_images.png b/assets/images/fps_images.png new file mode 100644 index 0000000..e91d0af Binary files /dev/null and b/assets/images/fps_images.png differ diff --git a/assets/images/pink.png b/assets/images/pink.png new file mode 100644 index 0000000..177e647 Binary files /dev/null and b/assets/images/pink.png differ diff --git a/assets/images/white.png b/assets/images/white.png new file mode 100644 index 0000000..1575399 Binary files /dev/null and b/assets/images/white.png differ diff --git a/etc/tanks-Info.plist b/etc/tanks-Info.plist index 39b397f..a72f957 100644 --- a/etc/tanks-Info.plist +++ b/etc/tanks-Info.plist @@ -36,12 +36,19 @@ 1.0 LSRequiresIPhoneOS - NSMainNibFile - MainWindow_iPhone - NSMainNibFile~ipad - MainWindow_iPad + UIInterfaceOrientation + UIInterfaceOrientationPortrait UIPrerenderedIcon + UIRequiredDeviceCapabilities + + accelerometer + + opengles-1 + + + UIStatusBarHidden + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/libs/box2d/src/Box2D/Common/b2Math.h b/libs/box2d/src/Box2D/Common/b2Math.h index c29f594..9c4b1e8 100644 --- a/libs/box2d/src/Box2D/Common/b2Math.h +++ b/libs/box2d/src/Box2D/Common/b2Math.h @@ -80,9 +80,16 @@ struct b2Vec2 /// Set this vector to some specified coordinates. void Set(float32 x_, float32 y_) { x = x_; y = y_; } + /// Clone this vector. + b2Vec2 Clone() const { return b2Vec2(x,y); } + /// Negate this vector. b2Vec2 operator -() const { b2Vec2 v; v.Set(-x, -y); return v; } + // b2Vec2 operator + (const b2Vec2& v) const { return b2Vec2(x+v.x, y+v.y); } + // b2Vec2 operator - (const b2Vec2& v) const { return b2Vec2(x-v.x, y-v.y); } + // b2Vec2 operator * (float32 a) const { return b2Vec2(x*a, y*a); } + /// Read from and indexed element. float32 operator () (int32 i) const { diff --git a/src/Tanks.h b/src/Tanks.h index 6246017..811080e 100644 --- a/src/Tanks.h +++ b/src/Tanks.h @@ -2,19 +2,59 @@ #define TANKS_H +#define kCooldownAttack @"attack" + + +// Pixel to metres ratio. Box2D uses metres as the unit for measurement +// and is optimized for objects of 1x1 metre. Therefore it makes sense +// to define the ratio so that your most common object type is 1x1 metre. +#define PIXELS_PER_METER 32.0f + + + #ifdef DEBUG #define TANKS_DEBUG_LOG 1 - #else // DEBUG #define TANKS_DEBUG_LOG 0 - #endif // DEBUG -#endif // TANKS_H + + +// +// Supported Autorotations: +// None, +// UIViewController, +// CCDirector +// +#define kGameAutorotationNone 0 +#define kGameAutorotationCCDirector 1 +#define kGameAutorotationUIViewController 2 + + + +// Type of autorotation +// 3rd generation and newer devices: Rotate using UIViewController. Rotation should be supported on iPad apps. +// TIP: To improve the performance, you should set this value to "kGameAutorotationNone" or "kGameAutorotationCCDirector" +#if defined(__ARM_NEON__) || TARGET_IPHONE_SIMULATOR +#define GAME_AUTOROTATION kGameAutorotationUIViewController +// ARMv6 (1st and 2nd generation devices): Don't rotate. It is very expensive +#elif __arm__ +#define GAME_AUTOROTATION kGameAutorotationNone +// Ignore this value on Mac +#elif defined(__MAC_OS_X_VERSION_MAX_ALLOWED) +#else +#error(unknown architecture) +#endif + #import "TanksMacros.h" + #import "qq/NSArray+QQExtensions.h" #import "qq/NSDictionary+QQExtensions.h" #import "qq/NSSet+QQExtensions.h" -#import "render/QQSparrowExtensions.h" +#import "render/CCNode+QQExtensions.h" + + + +#endif // TANKS_H diff --git a/src/TanksMacros.h b/src/TanksMacros.h index b2c9fd0..aa4d145 100644 --- a/src/TanksMacros.h +++ b/src/TanksMacros.h @@ -1,10 +1,11 @@ #ifndef TANKS_MACROS_H #define TANKS_MACROS_H -#define b2s(__val) ((__val)?("YES"):("NO")) - - -#define ATTACK_COOLDOWN_NAME @"attack" +#define SQRT_TWO 1.41421356237f +#define b2s(__val) ((__val)?("YES"):("NO")) +#define hex2color(__rgb) (ccc3( (((__rgb)>>16)&0xff), (((__rgb)>>8)&0xff), ((__rgb)&0xff) )) +#define v2p(__vec) (ccp( (__vec).x, (__vec).y )) +#define p2v(__pt) (b2Vec2( (__pt).x, (__pt).y )) #endif \ No newline at end of file diff --git a/src/game/QQDisplayable.h b/src/game/QQDisplayable.h index b7031cf..0a48665 100644 --- a/src/game/QQDisplayable.h +++ b/src/game/QQDisplayable.h @@ -1,4 +1,5 @@ -#import "Sparrow.h" +#import "cocos2d.h" +#import "Tanks.h" /** @@ -6,11 +7,10 @@ */ @protocol QQDisplayable -@property (nonatomic, readwrite, assign, getter=isDirty) BOOL dirty; // TODO: implement this and fix various [shape setPosition] calls -@property (nonatomic, readwrite, retain) SPDisplayObject* shape; +@property (nonatomic, readwrite, retain) CCNode* shape; /** - * Called to setup the Sparrow shape. + * Called to setup the Cocos shape. */ - (void) setupShape; diff --git a/src/game/QQGame.h b/src/game/QQGame.h index aaef0b2..eaf8482 100644 --- a/src/game/QQGame.h +++ b/src/game/QQGame.h @@ -1,15 +1,11 @@ -#import "Sparrow.h" +#import "cocos2d.h" #import "Tanks.h" #import "qq/event/QQNotificationCenter.h" - #import "physics/QQWorld.h" -#import "physics/debug/QQPhysicsDebugView.h" - #import "game/QQGameTime.h" #import "game/unit/QQActor.h" -#import "game/map/QQLevel.h" - +#import "ui/game/QQGameScene.h" @interface QQGame : QQNotificationCenter { @@ -19,14 +15,9 @@ long _ticks; BOOL _running; - BOOL _debugDrawingEnabled; QQWorld* _world; - QQPhysicsDebugView* _debugView; - - SPStage* _stage; - SPSprite* _root; - QQLevel* _level; + QQGameScene* _scene; NSSet* _actors; NSSet* _awake; @@ -34,19 +25,22 @@ NSSet* _bullets; } ++ (QQGame*) current; + + @property (nonatomic, readonly) id time; @property (nonatomic, readonly) float now; @property (nonatomic, readonly) float elapsed; @property (nonatomic, readonly) long ticks; @property (nonatomic, readonly, getter=isRunning) BOOL running; -@property (nonatomic, readwrite, assign) BOOL debugDrawingEnabled; -@property (nonatomic, readonly) SPStage* stage; -@property (nonatomic, readonly) SPDisplayObjectContainer* root; -@property (nonatomic, readonly) QQLevel* level; +@property (nonatomic, readonly) QQGameScene* scene; +@property (nonatomic, readonly) CCNode* viewport; @property (nonatomic, readonly) QQWorld* world; +@property (nonatomic, readwrite, assign) BOOL debugDrawingEnabled; + @property (nonatomic, readonly, retain) NSSet* actors; @@ -55,15 +49,13 @@ - (QQGame*) removeActor:(QQActor*)actor; /** Starts/unpauses the game. */ -- (void) start; +- (QQGame*) start; /** Pauses the game. */ -- (void) stop; +- (QQGame*) stop; /** Advances the game clock one step and elapsed ms. */ - (void) tick:(float)elapsed; -+ (QQGame*) current; - @end diff --git a/src/game/QQGame.mm b/src/game/QQGame.mm index 01cc2bf..704cfcd 100644 --- a/src/game/QQGame.mm +++ b/src/game/QQGame.mm @@ -1,27 +1,25 @@ - #import +#import #import "game/QQGame.h" #import "game/unit/QQActors.h" #import "physics/event/QQContactNotification.h" + +static QQGame* _CurrentGame = NULL; + + @interface QQGame () @property (nonatomic, readwrite, retain) NSSet* actors; - -- (void) onEnterFrame:(SPEnterFrameEvent*)event; - (void) onCollide:(QQContactNotification*)msg; -- (void) logEvent:(SPEvent*)evt; @end - -static QQGame* _CurrentGame = NULL; - @implementation QQGame + (QQGame*) current { + // init assigns to singleton, but singleton is a weakref, so game will still be released if not retained. if (!_CurrentGame) - [[[QQGame alloc] init] // init assigns to singleton, but singleton is a weakref, - autorelease]; // XXX: so game will still be released if not retained + [[[QQGame alloc] init] autorelease]; return _CurrentGame; } @@ -37,7 +35,7 @@ static QQGame* _CurrentGame = NULL; } if ( (self = [super init]) ){ - // We set the singleton here, in init, in case someone referenced during initialization + // We set the singleton here, in init, in case another class that is referenced during initialization // asks for the current game (causing a loop). _CurrentGame = self; _now = 0; @@ -45,55 +43,40 @@ static QQGame* _CurrentGame = NULL; _elapsed = 0; _running = NO; - _stage = [[SPStage alloc] init]; - _root = [[SPSprite sprite] retain]; - [_stage addChild:_root]; - _world = [[QQWorld alloc] init]; _world.proxiedNotifier = self; - // _root.scaleX = _root.scaleY = _world.scale; [_world addObserver:self selector:@selector(onCollide:) name:QQ_EVENT_CONTACT_BEGIN object:nil]; [_world addObserver:self selector:@selector(onCollide:) name:QQ_EVENT_CONTACT_END object:nil]; - _level = [[QQLevel alloc] init]; - [_root addChild:_level]; - _debugView = [[QQPhysicsDebugView alloc] initWithWorld:_world]; - [_root addChild:_debugView]; - self.debugDrawingEnabled = YES; + _scene = [[QQGameScene alloc] initWithGame:self]; _actors = [[NSSet alloc] init]; _awake = [[NSSet alloc] init]; _units = [[NSSet alloc] init]; _bullets = [[NSSet alloc] init]; - CGSize frame = [UIScreen mainScreen].applicationFrame.size; - float wMax = frame.width / _world.scale; - float hMax = frame.height / _world.scale; - [[[QQPlayer alloc] initNamed:@"Pink" atX:wMax/6 y:hMax/6 width:50 height:50 color:0xFF0071] autorelease]; - [[[QQUnit alloc] initNamed:@"Blue" atX:wMax/3 y:hMax/2 width:50 height:50 color:0x4596FF] autorelease]; - - #if TANKS_DEBUG_LOG - [_stage addEventListener:@selector(logEvent:) atObject:self forType:SP_EVENT_TYPE_ANY]; - #endif + CGSize frame = [CCDirector sharedDirector].winSize; + float wMax = frame.width / PIXELS_PER_METER; + float hMax = frame.height / PIXELS_PER_METER; + // [[[QQPlayer alloc] initNamed:@"Pink" atX:wMax/6 y:hMax/6 width:32 height:32 color:0xFF0071] autorelease]; + [[[QQUnit alloc] initAtX:wMax/3 y:hMax/2 width:32 height:32 color:0x4596FF] autorelease]; + // CCSprite* shape = [[CCSprite spriteWithFile:@"1x1-white.png"] retain]; + // shape.color = hex2color(0x4596FF); + // shape.scale = 32; + // shape.position = ccp(50,50); + // [_scene.viewport addChild:shape]; } return self; } - (void) dealloc { - [_stage removeEventListener:@selector(logEvent:) atObject:self forType:SP_EVENT_TYPE_ANY]; - [_stage removeEventListener:@selector(onEnterFrame:) atObject:self forType:SP_EVENT_TYPE_ENTER_FRAME]; - [_actors release]; [_awake release]; [_units release]; [_bullets release]; - [_stage release]; - [_root release]; - [_level release]; - - [_debugView release]; + [_scene release]; [_world release]; _CurrentGame = NULL; @@ -103,33 +86,28 @@ static QQGame* _CurrentGame = NULL; /// properties +- (id) time { return self; } @synthesize now = _now; @synthesize elapsed = _elapsed; @synthesize ticks = _ticks; -- (id) time { return self; } - @synthesize running = _running; -@synthesize stage = _stage; -@synthesize root = _root; -@synthesize level = _level; - +@synthesize scene = _scene; @synthesize world = _world; @synthesize actors = _actors; -@synthesize debugDrawingEnabled = _debugDrawingEnabled; +- (CCNode*) viewport { return _scene.viewport; } -- (void) setDebugDrawingEnabled:(BOOL)enable { - _debugDrawingEnabled = _debugView.visible = enable; -} +- (BOOL) debugDrawingEnabled { return _scene.physicsDebugView.visible; } +- (void) setDebugDrawingEnabled:(BOOL)enable { _scene.physicsDebugView.visible = enable; } /// methods - (void) tick:(float)elapsed { - if (!self.isRunning) return; + if (!_running) return; _ticks++; _elapsed = elapsed; @@ -138,7 +116,6 @@ static QQGame* _CurrentGame = NULL; if (_ticks == 1) NSLog(@"%@", self); - // _root.scaleX = _root.scaleY = _world.scale; for (QQActor* actor in self.actors) [actor tick]; [self.world step]; @@ -173,34 +150,23 @@ static QQGame* _CurrentGame = NULL; return self; } -- (void) start { - if (_running) return; - _running = YES; - [_stage addEventListener:@selector(onEnterFrame:) atObject:self forType:SP_EVENT_TYPE_ENTER_FRAME]; +- (QQGame*) start { + if (!_running) _running = YES; + return self; } -- (void) stop { - if (!_running) return; - [_stage removeEventListener:@selector(onEnterFrame:) atObject:self forType:SP_EVENT_TYPE_ENTER_FRAME]; - _running = NO; +- (QQGame*) stop { + if (_running) _running = NO; + return self; } /// event handlers -- (void) onEnterFrame:(SPEnterFrameEvent*)event { - [self tick:event.passedTime]; -} - - (void) onCollide:(QQContactNotification*)msg { // NSLog(@"\v\t%@", msg); } -- (void) logEvent:(SPEvent*)evt { - // ignore enter-frame events, as they happen constantly - if ([evt.type isEqualToString:SP_EVENT_TYPE_ENTER_FRAME]) return; - // NSLog(@"\v\t%@", evt); -} - (NSString*) description { @@ -208,7 +174,7 @@ static QQGame* _CurrentGame = NULL; [self class], self, b2s(self.isRunning), (self.actors ? [self.actors count] : 0), self.now, self.ticks, self.elapsed, - self.stage + self.scene ]; } diff --git a/src/game/QQPhysical.h b/src/game/QQPhysical.h index ec57aa9..ae98360 100644 --- a/src/game/QQPhysical.h +++ b/src/game/QQPhysical.h @@ -4,6 +4,7 @@ typedef b2Vec2 Vec; + /** * Anything that has a physics representation. */ diff --git a/src/game/QQThing.h b/src/game/QQThing.h index 231988a..0be748b 100644 --- a/src/game/QQThing.h +++ b/src/game/QQThing.h @@ -3,6 +3,7 @@ @class QQGame; @class QQWorld; + /** * Anything in the game-world. */ diff --git a/src/game/map/QQLevel.h b/src/game/map/QQLevel.h index b31fdd9..6670915 100644 --- a/src/game/map/QQLevel.h +++ b/src/game/map/QQLevel.h @@ -1,6 +1,9 @@ -#import "Sparrow.h" +#import +#import "cocos2d.h" -@interface QQLevel : SPDisplayObjectContainer { +#import "Tanks.h" + +@interface QQLevel : CCLayer { @private } diff --git a/src/game/map/QQLevel.mm b/src/game/map/QQLevel.mm index 1c6ec88..9220cfe 100644 --- a/src/game/map/QQLevel.mm +++ b/src/game/map/QQLevel.mm @@ -10,9 +10,5 @@ return self; } -- (void) render:(SPRenderSupport*)support { - // glTranslatef(100, 100, 0); - [super render:support]; -} @end diff --git a/src/game/unit/QQActor.h b/src/game/unit/QQActor.h index abc384e..569fae4 100644 --- a/src/game/unit/QQActor.h +++ b/src/game/unit/QQActor.h @@ -22,11 +22,18 @@ id _delegate; BOOL _active; - BOOL _dirty; BOOL _dead; NSMutableDictionary* _cooldowns; } + +- (id) initAtX:(float)x y:(float)y; +- (id) initAt:(Vec)pos; +- (id) initWithType:(b2BodyType)type atX:(float)x y:(float)y; +- (id) initWithType:(b2BodyType)type at:(Vec)pos; +- (id) initWithBodyDef:(b2BodyDef*)bd; + + @property (nonatomic, readwrite, retain) id delegate; @property (nonatomic, readonly) QQGame* game; @@ -36,10 +43,6 @@ @property (nonatomic, readonly, retain) NSMutableDictionary* cooldowns; -- (id) initAtX:(float)x y:(float)y; -- (id) initWithType:(b2BodyType)type atX:(float)x y:(float)y; -- (id) initWithBodyDef:(b2BodyDef*)bd; - - (void) destroy; diff --git a/src/game/unit/QQActor.mm b/src/game/unit/QQActor.mm index dfb3d32..e05f2c3 100644 --- a/src/game/unit/QQActor.mm +++ b/src/game/unit/QQActor.mm @@ -1,9 +1,63 @@ #import "QQActor.h" #import "game/QQGame.h" +#import "physics/QQWorld_Internal.h" @implementation QQActor +/// initializers + +- (id) init { + return [self initAtX:0 y:0]; +} + +- (id) initAtX:(float)x y:(float)y { + return [self initWithType:b2_dynamicBody at:Vec(x,y)]; +} +- (id) initAt:(Vec)pos { + return [self initWithType:b2_dynamicBody at:pos]; +} + +- (id) initWithType:(b2BodyType)type atX:(float)x y:(float)y { + return [self initWithType:type at:Vec(x,y)]; +} + +- (id) initWithType:(b2BodyType)type at:(Vec)pos { + b2BodyDef bd; + bd.type = type; + bd.position = pos; + bd.userData = self; + return [self initWithBodyDef:&bd]; +} + +- (id) initWithBodyDef:(b2BodyDef*)bd { + if ((self = [super init])) { + _active = YES; + _dead = NO; + + self.implicitSender = self; + self.proxiedNotifier = self.game; + + _cooldowns = [[NSMutableDictionary alloc] initWithCapacity:2]; + [self setupPhysics:bd]; + [self.game addActor:self]; + + if ([self respondsToSelector:@selector(onCollideBegin:)]) + [self addObserver:self selector:@selector(onCollideBegin:) name:QQ_EVENT_CONTACT_BEGIN]; + if ([self respondsToSelector:@selector(onCollideEnd:)]) + [self addObserver:self selector:@selector(onCollideEnd:) name:QQ_EVENT_CONTACT_END]; + } + return self; +} + +- (void) dealloc { + self.delegate = nil; + [_cooldowns release]; + [super dealloc]; +} + + + /// properties - (QQGame*) game { return QQGame.current; } @@ -17,7 +71,6 @@ @synthesize cooldowns = _cooldowns; @synthesize dead = _dead; -@synthesize dirty = _dirty; @synthesize active = _active; - (BOOL) isSleeping { return _active; } @@ -46,8 +99,8 @@ // sync sparrow with box2d - (void) updateShapeX:(float)x y:(float)y { - float px = self.world.scale; - [self.shape setCenterX:x*px y:y*px]; + float px = PIXELS_PER_METER; + self.shape.position = ccp(x*px, y*px); } - (void) updateShapeX:(float)x y:(float)y rotation:(float)r { [self updateShapeX:x y:y]; @@ -60,50 +113,6 @@ -/// initializers - -- (id) init { - return [self initAtX:0 y:0]; -} - -- (id) initAtX:(float)x y:(float)y { - return [self initWithType:b2_dynamicBody atX:x y:y]; -} - -- (id) initWithType:(b2BodyType)type atX:(float)x y:(float)y { - b2BodyDef bd; - bd.type = type; - bd.position = b2Vec2(x,y); - bd.userData = self; - return [self initWithBodyDef:&bd]; -} - -- (id) initWithBodyDef:(b2BodyDef*)bd { - if ((self = [super init])) { - _active = YES; - _dead = NO; - - self.implicitSender = self; - self.proxiedNotifier = self.game; - - _cooldowns = [[NSMutableDictionary alloc] initWithCapacity:2]; - [self setupPhysics:bd]; - [self.game addActor:self]; - - if ([self respondsToSelector:@selector(onCollideBegin:)]) - [self addObserver:self selector:@selector(onCollideBegin:) name:QQ_EVENT_CONTACT_BEGIN]; - if ([self respondsToSelector:@selector(onCollideEnd:)]) - [self addObserver:self selector:@selector(onCollideEnd:) name:QQ_EVENT_CONTACT_END]; - } - return self; -} - -- (void) dealloc { - self.delegate = nil; - [_cooldowns release]; - [super dealloc]; -} - /// subclassing @@ -116,7 +125,7 @@ /// override but call super! - (void) setupPhysics:(b2BodyDef*)bd { if (!_body) { - _body = self.world.world->CreateBody(bd); + _body = self.world.b2world->CreateBody(bd); } } diff --git a/src/game/unit/QQBullet.h b/src/game/unit/QQBullet.h index 5e435d8..224fc34 100644 --- a/src/game/unit/QQBullet.h +++ b/src/game/unit/QQBullet.h @@ -8,11 +8,13 @@ float _speed; } -@property (nonatomic, readonly) QQUnit* owner; +@property (nonatomic, readonly, assign) QQUnit* owner; // weakref @property (nonatomic, readwrite, assign) float speed; - (id) init:(QQUnit*)owner x:(float)x y:(float)y; +- (id) init:(QQUnit*)owner at:(Vec)pos; - (id) init:(QQUnit*)owner x:(float)x y:(float)y towardX:(float)tx y:(float)ty; +- (id) init:(QQUnit*)owner at:(Vec)pos toward:(Vec)to; @end diff --git a/src/game/unit/QQBullet.mm b/src/game/unit/QQBullet.mm index c1109c5..fec3aeb 100644 --- a/src/game/unit/QQBullet.mm +++ b/src/game/unit/QQBullet.mm @@ -1,5 +1,4 @@ -#include -#import "SparrowExtras.h" +#import #import "QQBullet.h" #import "physics/event/QQContactNotification.h" @@ -9,17 +8,22 @@ @implementation QQBullet -@synthesize owner = _owner; -@synthesize speed = _speed; - (id) init:(QQUnit*)owner x:(float)x y:(float)y { - if ((self = [super initAtX:x y:y])){ + return [self init:owner at:Vec(x,y)]; +} + +- (id) init:(QQUnit*)owner at:(Vec)pos { + if ((self = [super initAt:pos])){ _owner = owner; _speed = 50.0f; - float px = self.world.scale; - float radius = 1.5f; - self.shape = [SHCircle circleWithWidth:2*radius*px height:2*radius*px]; +// float px = PIXELS_PER_METER; + float radius = 0.5f; + CCSprite* shape = [CCSprite spriteWithFile:@"circle-32x32-white.png"]; + // shape.color = hex2color(color); + shape.scaleX = 2*radius; + shape.scaleY = 2*radius; b2CircleShape circle; circle.m_radius = radius; @@ -34,8 +38,11 @@ } - (id) init:(QQUnit*)owner x:(float)x y:(float)y towardX:(float)tx y:(float)ty { - if ((self = [self init:owner x:x y:y])) { - Vec imp = Vec(tx,ty); + return [self init:owner at:Vec(x,y) toward:Vec(tx,ty)]; +} +- (id) init:(QQUnit*)owner at:(Vec)pos toward:(Vec)to { + if ((self = [self init:owner at:pos])) { + Vec imp = to.Clone(); imp.Normalize(); imp *= self.speed; [self applyLinearImpulse:imp]; @@ -43,6 +50,15 @@ return self; } + +/// properties + +@synthesize owner = _owner; // weakref +@synthesize speed = _speed; + + +/// methods + - (void) onCollideBegin:(QQContactNotification*)msg { QQActor* other = ((msg.actorA && (msg.actorA != self)) ? msg.actorA : ((msg.actorB && (msg.actorB != self)) ? msg.actorB : nil)); diff --git a/src/game/unit/QQPlayer.mm b/src/game/unit/QQPlayer.mm index e636acc..9679c26 100644 --- a/src/game/unit/QQPlayer.mm +++ b/src/game/unit/QQPlayer.mm @@ -1,5 +1,4 @@ #import "QQPlayer.h" -#import "render/QQSparrowExtensions.h" #import "game/QQGame.h" #import "game/unit/QQBullet.h" @@ -41,21 +40,21 @@ // do { // msg = [msg stringByAppendingFormat:@"\t- %@\v", obj]; // } while ((obj = obj.parent)); - NSLog(msg); + NSLog(@"%@", msg); } - (void) attackOnTouch:(SPTouchEvent*)event { NSLog(@"onTouch: \v\t%@ \v\t%@", self, event); SPTouch* touch = [[event touchesWithTarget:(SPDisplayObject*)self.game.stage] anyObject]; - if (touch && [[self.cooldowns objectForKey:ATTACK_COOLDOWN_NAME] activate]) { - // [self attackToward:[[touch locationInSpace:self.shape.parent] scaleBy:1.0f/self.world.scale]]; + if (touch && [self.attackCooldown activate]) { + // [self attackToward:[[touch locationInSpace:self.shape.parent] scaleBy:1.0f/PIXELS_PER_METER]]; // Touch's normal vector in local coords (rel unit origin) SPPoint* normVec = [[[touch locationInSpace:self.shape.parent] subtractPoint:self.shape.position] normalize]; // Bullet starting position float offset = 7.5f + fmaxf(self.shape.width, self.shape.height) * 1.41421356237f; // bullet_radius + tank_diagonal_length - SPPoint* start = [[self.shape.position addPoint:[normVec scaleBy:offset]] scaleBy:1.0f/self.world.scale]; + SPPoint* start = [[self.shape.position addPoint:[normVec scaleBy:offset]] scaleBy:1.0f/PIXELS_PER_METER]; QQBullet* bullet = [[[QQBullet alloc] init:self x:start.x y:start.y] autorelease]; // Bullet impulse vector @@ -72,7 +71,7 @@ float x = self.shape.x = touchPosition.x - self.shape.width / 2.0f; float y = self.shape.y = touchPosition.y - self.shape.height / 2.0f; - float px = self.world.scale; + float px = PIXELS_PER_METER; [self setPositionX:x/px y:y/px]; // self.body->SetTransform(b2Vec2(x/px, y/px), self.body->GetAngle()); } diff --git a/src/game/unit/QQUnit.h b/src/game/unit/QQUnit.h index 8deceaf..37bf38f 100644 --- a/src/game/unit/QQUnit.h +++ b/src/game/unit/QQUnit.h @@ -1,19 +1,28 @@ -#include -#import "Sparrow.h" -#import "render/QQSparrowExtensions.h" +#import +#import "cocos2d.h" +#import "Tanks.h" #import "game/ability/QQCooldown.h" #import "game/unit/QQActor.h" #import "game/unit/QQActorDelegate.h" +#import "render/CCNode+QQExtensions.h" @class QQBullet; + @interface QQUnit : QQActor { @private - SPDisplayObject* _shape; + CCNode* _shape; } +/// initializers + ++ (id) unitAtX:(float)x y:(float)y width:(float)w height:(float)h color:(uint)color; +- (id) initAtX:(float)x y:(float)y width:(float)w height:(float)h color:(uint)color; +- (id) initAtX:(float)x y:(float)y withShape:(CCNode*)shape; + + /// properties @property (nonatomic, readonly) BOOL canAttack; @@ -22,16 +31,12 @@ - (void) setShapeFromFile:(NSString*)filename; -/// initializers -- (id) initNamed:(NSString*)name atX:(float)x y:(float)y width:(float)w height:(float)h color:(uint)color; -- (id) initAtX:(float)x y:(float)y withShape:(SPDisplayObject*)shape; - - /// methods - (QQBullet*) attack:(QQActor*)actor; -- (QQBullet*) attackToward:(SPPoint*)point; +- (QQBullet*) attackTowardPoint:(CGPoint)target; - (QQBullet*) attackTowardX:(float)x y:(float)y; +- (QQBullet*) attackToward:(Vec)point; @end diff --git a/src/game/unit/QQUnit.mm b/src/game/unit/QQUnit.mm index 7ab1c13..49e4013 100644 --- a/src/game/unit/QQUnit.mm +++ b/src/game/unit/QQUnit.mm @@ -1,7 +1,5 @@ #include -#import "Sparrow.h" -#import "render/QQSparrowExtensions.h" -#import "render/QQQuad.h" +#import "cocos2d.h" #import "game/unit/QQUnit.h" #import "game/QQGame.h" @@ -12,39 +10,30 @@ @implementation QQUnit -@dynamic world; // Eliminates compiler warnings due to inheritance (!) -@dynamic game; - -@synthesize shape = _shape; - -- (float) shapeCenterX { return self.shape.registrationX; } -- (void) setShapeCenterX:(float)x { self.shape.registrationX = x; } -- (float) shapeCenterY { return self.shape.registrationY; } -- (void) setShapeCenterY:(float)y { self.shape.registrationY = y; } - -- (QQCooldown*) attackCooldown { return [self.cooldowns objectForKey:ATTACK_COOLDOWN_NAME]; } -- (void) setAttackCooldown:(QQCooldown*)newAttackCooldown { [self.cooldowns setObject:newAttackCooldown forKey:ATTACK_COOLDOWN_NAME]; } -- (BOOL) canAttack { return self.attackCooldown.isReady; } - - /// initializers ++ (id) unitAtX:(float)x y:(float)y width:(float)w height:(float)h color:(uint)color { + return [[[[self class] alloc] initAtX:x y:y width:w height:h color:color] autorelease]; +} + - (id) init { - return [self initNamed:nil atX:50 y:50 width:50 height:50 color:0xff0071]; + return [self initAtX:50 y:50 width:32 height:32 color:0xff0071]; } -- (id) initNamed:(NSString*)name atX:(float)x y:(float)y width:(float)w height:(float)h color:(uint)color { - SPQuad* shape = [SPQuad quadWithWidth:w height:h color:color]; - shape.name = name; +- (id) initAtX:(float)x y:(float)y width:(float)w height:(float)h color:(uint)color { + CCSprite* shape = [CCSprite spriteWithFile:@"1x1-white.png"]; + shape.color = hex2color(color); + shape.scaleX = w; + shape.scaleY = h; return [self initAtX:x y:y withShape:shape]; } -- (id) initAtX:(float)x y:(float)y withShape:(SPDisplayObject*)shape { +- (id) initAtX:(float)x y:(float)y withShape:(CCNode*)shape { if ((self = [super initAtX:x y:y])) { - [self addCooldown:[QQCooldown cooldown:ATTACK_COOLDOWN_NAME duration:0.5f]]; + [self addCooldown:[QQCooldown cooldown:kCooldownAttack duration:0.5f]]; self.shape = shape; - float dblpx = 2*self.world.scale; + float dblpx = 2*PIXELS_PER_METER; b2PolygonShape box; box.SetAsBox(shape.width/dblpx, shape.height/dblpx); b2FixtureDef fix; @@ -57,28 +46,47 @@ } - (void) dealloc { - [self.game.level removeChild:_shape]; - [_shape release]; + self.shape = nil; [super dealloc]; } + + +/// properties + +@dynamic world; // Eliminates compiler warnings due to inheritance (!) +@dynamic game; + +@synthesize shape = _shape; + +- (float) shapeCenterX { return self.shape.anchorPoint.x; } +- (void) setShapeCenterX:(float)x { self.shape.anchorPoint.x = x; } +- (float) shapeCenterY { return self.shape.anchorPoint.y; } +- (void) setShapeCenterY:(float)y { self.shape.anchorPoint.y = y; } + +- (QQCooldown*) attackCooldown { return [self.cooldowns objectForKey:kCooldownAttack]; } +- (void) setAttackCooldown:(QQCooldown*)newAttackCooldown { [self.cooldowns setObject:newAttackCooldown forKey:kCooldownAttack]; } +- (BOOL) canAttack { return self.attackCooldown.isReady; } + + + /// methods -- (void) setShape:(SPDisplayObject*)newShape { +- (void) setShape:(CCNode*)newShape { if (_shape != newShape) { - [self.game.level removeChild:_shape]; + [self.game.viewport removeChild:_shape cleanup:YES]; [_shape release]; _shape = [newShape retain]; if (_shape) { [self updateShape]; - [self.game.level addChild:_shape]; + [self.game.viewport addChild:_shape]; } } } - (void) setShapeFromFile:(NSString*)filename { - [self setShape:[[[SPImage alloc] autorelease] initWithContentsOfFile:filename]]; + self.shape = [CCSprite spriteWithFile:filename]; } - (void) act { @@ -93,21 +101,27 @@ - (QQBullet*) attack:(QQActor*)actor { - return [self attackTowardX:actor.x y:actor.y]; + return [self attackToward:actor.position]; } - (QQBullet*) attackTowardX:(float)x y:(float)y { - return [self attackToward:[SPPoint pointWithX:x y:y]]; + return [self attackToward:Vec(x,y)]; +} +- (QQBullet*) attackTowardPoint:(CGPoint)target { + return [self attackToward:p2v(target)]; } -- (QQBullet*) attackToward:(SPPoint*)target { - SPPoint* pos = [SPPoint pointFromVec:self.position]; +- (QQBullet*) attackToward:(Vec)target { + Vec pos = self.position; // Touch's normal vector in local coords (rel unit origin) - SPPoint* norm = [[target subtractPoint:pos] normalize]; + Vec norm = -pos; + norm += target; + norm.Normalize(); // Bullet starting position - // FIXME: GAH, unit size is wrong - float offset = 1.5f + MAX(self.shape.width, self.shape.height) * 1.41421356237f; // bullet_radius + tank_diagonal_length - SPPoint* start = [pos addPoint:[norm scaleBy:offset]]; + float offset = 0.5f + MAX(self.shape.width, self.shape.height) * SQRT_TWO; // bullet_radius + tank_diagonal_length + Vec start = pos.Clone(); + start += norm; + start *= offset; QQBullet* bullet = [[[QQBullet alloc] init:self x:start.x y:start.y towardX:norm.x y:norm.y] autorelease]; // Bullet impulse vector diff --git a/src/main.mm b/src/main.mm index fb586b0..5b143ea 100644 --- a/src/main.mm +++ b/src/main.mm @@ -1,11 +1,11 @@ #import -#import "Tanks.h" + int main(int argc, char *argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; // int retVal = 0; - int retVal = UIApplicationMain(argc, argv, nil, nil); + int retVal = UIApplicationMain(argc, argv, nil, @"QQAppDelegate"); [pool release]; return retVal; } diff --git a/src/physics/QQWorld.h b/src/physics/QQWorld.h index 54bf6c9..65a9adc 100644 --- a/src/physics/QQWorld.h +++ b/src/physics/QQWorld.h @@ -1,8 +1,9 @@ -#include +#import + +#import "Tanks.h" #import "qq/event/QQNotifier.h" #import "qq/event/QQNotificationProxy.h" #import "physics/event/QQPhysicalEvents.h" -#import "physics/debug/QQGLESDebugDraw.h" #import "game/QQPhysical.h" @@ -16,16 +17,13 @@ float _scale; - b2World* _world; + b2World* _b2world; QQContactListener _contactListener; - QQGLESDebugDraw* _debugDraw; NSMutableArray* _walls; // Array of NSValue NSMutableSet* _trash; } -@property (nonatomic, readonly) b2World* world; - @property (nonatomic, assign) float timestep; @property (nonatomic, assign) int velocityIterations; @property (nonatomic, assign) int positionIterations; @@ -34,12 +32,9 @@ - (id) init; - -- (void) setGravityX:(float)x y:(float)y; - - (void) step; -- (void) drawDebug; +- (void) setGravityX:(float)x y:(float)y; - (void) destroy:(id)actor; @end diff --git a/src/physics/QQWorld.mm b/src/physics/QQWorld.mm index 02cf916..440fa7f 100644 --- a/src/physics/QQWorld.mm +++ b/src/physics/QQWorld.mm @@ -1,46 +1,33 @@ #import -#include - #import "physics/QQWorld.h" +#import "physics/QQWorld_Internal.h" #import "physics/event/QQContactNotification.h" -// private interface +/// private interface @interface QQWorld () -@property (nonatomic, readonly, getter=isDeleteLocked) bool deleteLocked; - - (void) postContactNotification:(b2Contact*)contact event:(NSString*)evt; - (void) createWalls; @end -@implementation QQWorld - -@synthesize timestep = _timestep; -@synthesize velocityIterations = _velocityIterations; -@synthesize positionIterations = _positionIterations; -@synthesize scale = _scale; - -@synthesize world = _world; +@implementation QQWorld - (id) init { if ((self = [super init])) { _timestep = 1.0f/60.0f; _velocityIterations = 10; _positionIterations = 10; - _scale = 5.0f; + _scale = PIXELS_PER_METER; - _world = new b2World(b2Vec2(0.0f, 0.0f), true); // b2World(gravity, doSleep) + _b2world = new b2World(b2Vec2(0.0f, 0.0f), true); // b2World(gravity, doSleep) + _b2world->SetContinuousPhysics(true); _contactListener.notifier = self; - _world->SetContactListener(&_contactListener); - - _debugDraw = new QQGLESDebugDraw(0.75f); - _debugDraw->SetAllFlags(); - _world->SetDebugDraw(_debugDraw); + _b2world->SetContactListener(&_contactListener); _trash = [[NSMutableSet alloc] initWithCapacity:4]; _walls = [[NSMutableArray alloc] initWithCapacity:4]; // Array of NSValue @@ -51,21 +38,32 @@ } - (void) dealloc { - [_walls removeAllObjects]; [_walls release]; + [_walls removeAllObjects]; [_walls release]; [_trash removeAllObjects]; [_trash release]; - delete _debugDraw; - delete _world; // b2World destructor destroys all physics entities and releases all heap memory. + delete _b2world; // b2World destructor destroys all physics entities and releases all heap memory. + _b2world = NULL; [super dealloc]; } +/// properties + +@synthesize timestep = _timestep; +@synthesize velocityIterations = _velocityIterations; +@synthesize positionIterations = _positionIterations; +@synthesize scale = _scale; + + + + /// methods +// XXX: This is temporary, for testing. - (void) createWalls { - CGSize screen = [UIScreen mainScreen].applicationFrame.size; - float padv = 5; - float w = screen.width / _scale - 2*padv; - float h = screen.height / _scale - 2*padv; + CGSize screen = [CCDirector sharedDirector].winSize; + float padv = 0.5f; + float w = (screen.width / PIXELS_PER_METER) - 2*padv; + float h = (screen.height / PIXELS_PER_METER) - 2*padv; b2Vec2 origin = b2Vec2(0, 0); b2Vec2 pad = b2Vec2(padv, padv); @@ -82,7 +80,7 @@ for (int i=0; i<4; ++i) { b2BodyDef bd; bd.position = positions[i]; - b2Body* wall = _world->CreateBody(&bd); + b2Body* wall = _b2world->CreateBody(&bd); b2PolygonShape shape; shape.SetAsEdge(origin, endpoints[i]); @@ -92,12 +90,9 @@ } } -- (bool) isDeleteLocked { - return _world->IsLocked(); -} - (void) step { - _world->Step(self.timestep, self.velocityIterations, self.positionIterations); + _b2world->Step(self.timestep, self.velocityIterations, self.positionIterations); if (self.isDeleteLocked) { NSLog(@"wtf! still delete-locked after step completed!"); #ifdef DEBUG @@ -110,12 +105,8 @@ } } -- (void) drawDebug { - _world->DrawDebugData(); -} - - (void) setGravityX:(float)x y:(float)y { - _world->SetGravity(b2Vec2(x,y)); + _b2world->SetGravity(b2Vec2(x,y)); } - (void) destroy:(id)actor { @@ -125,7 +116,7 @@ if (actor.fixture) { actor.fixture->GetBody()->DestroyFixture(actor.fixture); } else if (actor.body) { - _world->DestroyBody(actor.body); + _b2world->DestroyBody(actor.body); } else { NSLog(@"wtf! Cannot destroy actor with no body or fixture! %@", actor); } @@ -154,5 +145,12 @@ [msg release]; } +@end + + +@implementation QQWorld (Internal) + +- (b2World*) b2world { return _b2world; } +- (bool) isDeleteLocked { return _b2world->IsLocked(); } @end diff --git a/src/physics/QQWorld_Internal.h b/src/physics/QQWorld_Internal.h new file mode 100644 index 0000000..4b72dc1 --- /dev/null +++ b/src/physics/QQWorld_Internal.h @@ -0,0 +1,11 @@ +#import "physics/QQWorld.h" +#import "physics/event/QQContactNotification.h" + + +/// Internal world interface +@interface QQWorld (Internal) +@property (nonatomic, readonly) b2World* b2world; + +@property (nonatomic, readonly, getter=isDeleteLocked) bool deleteLocked; + +@end diff --git a/src/physics/debug/QQGLESDebugDraw.h b/src/physics/debug/QQGLESDebugDraw.h index 1124397..1bae16a 100644 --- a/src/physics/debug/QQGLESDebugDraw.h +++ b/src/physics/debug/QQGLESDebugDraw.h @@ -21,10 +21,16 @@ #ifndef GLES_DEBUG_DRAW_H #define GLES_DEBUG_DRAW_H +#import + +#ifdef __IPHONE_OS_VERSION_MAX_ALLOWED #import #import #import #import +#elif defined(__MAC_OS_X_VERSION_MAX_ALLOWED) +#import +#endif #include @@ -35,9 +41,10 @@ struct b2AABB; class QQGLESDebugDraw : public b2DebugDraw { public: - float32 globalAlpha; + float32 mGlobalAlpha; + float32 mRatio; - QQGLESDebugDraw(float32 alpha=1); + QQGLESDebugDraw(float32 alpha=1.0f, float32 ratio=1.0f); void SetAllFlags(); @@ -61,4 +68,4 @@ public: }; -#endif +#endif // GLES_DEBUG_DRAW_H diff --git a/src/physics/debug/QQGLESDebugDraw.mm b/src/physics/debug/QQGLESDebugDraw.mm index fb936d5..5561ed3 100644 --- a/src/physics/debug/QQGLESDebugDraw.mm +++ b/src/physics/debug/QQGLESDebugDraw.mm @@ -19,6 +19,7 @@ */ #include "QQGLESDebugDraw.h" +#include #include #include @@ -26,8 +27,10 @@ -QQGLESDebugDraw::QQGLESDebugDraw(float32 alpha) { - globalAlpha = alpha; +QQGLESDebugDraw::QQGLESDebugDraw(float32 alpha, float32 ratio) + : mGlobalAlpha(alpha) + , mRatio(ratio) +{ m_drawFlags = 0; } @@ -42,124 +45,128 @@ void QQGLESDebugDraw::SetAllFlags() { SetFlags((1 << 6) - 1); // should be all flag bits } -void QQGLESDebugDraw::DrawPolygon(const b2Vec2* vertices, int32 vertexCount, const b2Color& color) -{ - glColor4f(color.r, color.g, color.b, globalAlpha); - glVertexPointer(2, GL_FLOAT, 0, vertices); +void QQGLESDebugDraw::DrawPolygon(const b2Vec2* vertices, int32 vertexCount, const b2Color& color) { + GLfloat glVertices[vertexCount*2]; + for(int32 i = 0; i < vertexCount; ++i) { + b2Vec2 v = vertices[i]; + glVertices[i*2] = v.x * mRatio; + glVertices[i*2+1] = v.y * mRatio; + } + glVertexPointer(2, GL_FLOAT, 0, glVertices); + + glColor4f(color.r, color.g, color.b, mGlobalAlpha); glDrawArrays(GL_LINE_LOOP, 0, vertexCount); } -void QQGLESDebugDraw::DrawSolidPolygon(const b2Vec2* vertices, int32 vertexCount, const b2Color& color) -{ - glVertexPointer(2, GL_FLOAT, 0, vertices); +void QQGLESDebugDraw::DrawSolidPolygon(const b2Vec2* vertices, int32 vertexCount, const b2Color& color) { + GLfloat glVertices[vertexCount*2]; + for(int32 i = 0; i < vertexCount; ++i) { + b2Vec2 v = vertices[i]; + glVertices[i*2] = v.x * mRatio; + glVertices[i*2+1] = v.y * mRatio; + } + glVertexPointer(2, GL_FLOAT, 0, glVertices); - glColor4f(color.r, color.g, color.b, 0.5f*globalAlpha); + glColor4f(color.r, color.g, color.b, 0.5f*mGlobalAlpha); glDrawArrays(GL_TRIANGLE_FAN, 0, vertexCount); - glColor4f(color.r, color.g, color.b, globalAlpha); + glColor4f(color.r, color.g, color.b, mGlobalAlpha); glDrawArrays(GL_LINE_LOOP, 0, vertexCount); } -void QQGLESDebugDraw::DrawCircle(const b2Vec2& center, float32 radius, const b2Color& color) -{ +void QQGLESDebugDraw::DrawCircle(const b2Vec2& center, float32 radius, const b2Color& color) { const float32 k_segments = 16.0f; - int vertexCount=16; + int vertexCount = 16; const float32 k_increment = 2.0f * b2_pi / k_segments; float32 theta = 0.0f; - GLfloat glVertices[vertexCount*2]; - for (int32 i = 0; i < k_segments; ++i) - { + GLfloat glVertices[vertexCount*2]; + for (int32 i = 0; i < k_segments; ++i) { b2Vec2 v = center + radius * b2Vec2(cosf(theta), sinf(theta)); - glVertices[i*2]=v.x; - glVertices[i*2+1]=v.y; + glVertices[i*2] = v.x * mRatio; + glVertices[i*2+1] = v.y * mRatio; theta += k_increment; } - - glColor4f(color.r, color.g, color.b, globalAlpha); glVertexPointer(2, GL_FLOAT, 0, glVertices); + glColor4f(color.r, color.g, color.b, mGlobalAlpha); glDrawArrays(GL_TRIANGLE_FAN, 0, vertexCount); } -void QQGLESDebugDraw::DrawSolidCircle(const b2Vec2& center, float32 radius, const b2Vec2& axis, const b2Color& color) -{ +void QQGLESDebugDraw::DrawSolidCircle(const b2Vec2& center, float32 radius, const b2Vec2& axis, const b2Color& color) { const float32 k_segments = 16.0f; int vertexCount=16; const float32 k_increment = 2.0f * b2_pi / k_segments; float32 theta = 0.0f; - GLfloat glVertices[vertexCount*2]; - for (int32 i = 0; i < k_segments; ++i) - { + GLfloat glVertices[vertexCount*2]; + for (int32 i = 0; i < k_segments; ++i) { b2Vec2 v = center + radius * b2Vec2(cosf(theta), sinf(theta)); - glVertices[i*2]=v.x; - glVertices[i*2+1]=v.y; + glVertices[i*2] = v.x * mRatio; + glVertices[i*2+1] = v.y * mRatio; theta += k_increment; } - - glColor4f(color.r, color.g, color.b, 0.5f*globalAlpha); glVertexPointer(2, GL_FLOAT, 0, glVertices); + + glColor4f(color.r, color.g, color.b, 0.5f*mGlobalAlpha); glDrawArrays(GL_TRIANGLE_FAN, 0, vertexCount); - glColor4f(color.r, color.g, color.b, globalAlpha); + + glColor4f(color.r, color.g, color.b, mGlobalAlpha); glDrawArrays(GL_LINE_LOOP, 0, vertexCount); // Draw the axis line - DrawSegment(center,center+radius*axis,color); + DrawSegment(center, center+radius*axis, color); } -void QQGLESDebugDraw::DrawSegment(const b2Vec2& p1, const b2Vec2& p2, const b2Color& color) -{ - glColor4f(color.r, color.g, color.b, globalAlpha); - GLfloat glVertices[] = { - p1.x,p1.y,p2.x,p2.y +void QQGLESDebugDraw::DrawSegment(const b2Vec2& p1, const b2Vec2& p2, const b2Color& color) { + GLfloat glVertices[] = { + p1.x * mRatio, p1.y * mRatio, + p2.x * mRatio, p2.y * mRatio }; glVertexPointer(2, GL_FLOAT, 0, glVertices); + + glColor4f(color.r, color.g, color.b, mGlobalAlpha); glDrawArrays(GL_LINES, 0, 2); } -void QQGLESDebugDraw::DrawTransform(const b2Transform& xf) -{ +void QQGLESDebugDraw::DrawTransform(const b2Transform& xf) { b2Vec2 p1 = xf.position, p2; const float32 k_axisScale = 0.4f; p2 = p1 + k_axisScale * xf.R.col1; - DrawSegment(p1,p2,b2Color(1,0,0)); + DrawSegment(p1,p2, b2Color(1,0,0)); p2 = p1 + k_axisScale * xf.R.col2; - DrawSegment(p1,p2,b2Color(0,1,0)); + DrawSegment(p1,p2, b2Color(0,1,0)); } -void QQGLESDebugDraw::DrawPoint(const b2Vec2& p, float32 size, const b2Color& color) -{ - glColor4f(color.r, color.g, color.b, globalAlpha); - glPointSize(size); - GLfloat glVertices[] = { - p.x,p.y +void QQGLESDebugDraw::DrawPoint(const b2Vec2& p, float32 size, const b2Color& color) { + GLfloat glVertices[] = { + p.x * mRatio, p.y * mRatio }; glVertexPointer(2, GL_FLOAT, 0, glVertices); + + glColor4f(color.r, color.g, color.b, mGlobalAlpha); + glPointSize(size); glDrawArrays(GL_POINTS, 0, 1); glPointSize(1.0f); } -void QQGLESDebugDraw::DrawString(int x, int y, const char *string, ...) -{ - +void QQGLESDebugDraw::DrawString(int x, int y, const char *string, ...) { + // NSLog(@"DrawString: unsupported: %s", string); + // printf(string); /* Unsupported as yet. Could replace with bitmap font renderer at a later date */ } -void QQGLESDebugDraw::DrawAABB(b2AABB* aabb, const b2Color& c) -{ - - glColor4f(c.r, c.g, c.b, globalAlpha); - - GLfloat glVertices[] = { - aabb->lowerBound.x, aabb->lowerBound.y, - aabb->upperBound.x, aabb->lowerBound.y, - aabb->upperBound.x, aabb->upperBound.y, - aabb->lowerBound.x, aabb->upperBound.y +void QQGLESDebugDraw::DrawAABB(b2AABB* aabb, const b2Color& c) { + GLfloat glVertices[] = { + aabb->lowerBound.x * mRatio, aabb->lowerBound.y * mRatio, + aabb->upperBound.x * mRatio, aabb->lowerBound.y * mRatio, + aabb->upperBound.x * mRatio, aabb->upperBound.y * mRatio, + aabb->lowerBound.x * mRatio, aabb->upperBound.y * mRatio }; glVertexPointer(2, GL_FLOAT, 0, glVertices); - glDrawArrays(GL_LINE_LOOP, 0, 8); + glColor4f(c.r, c.g, c.b, mGlobalAlpha); + glDrawArrays(GL_LINE_LOOP, 0, 8); } diff --git a/src/physics/debug/QQPhysicsDebugView.h b/src/physics/debug/QQPhysicsDebugView.h index fbeecda..3d439a2 100644 --- a/src/physics/debug/QQPhysicsDebugView.h +++ b/src/physics/debug/QQPhysicsDebugView.h @@ -1,32 +1,23 @@ -#include -#import "Sparrow.h" -#import "SPRenderSupport.h" +#import +#import "cocos2d.h" +#import "Tanks.h" #import "physics/QQWorld.h" +#import "physics/debug/QQGLESDebugDraw.h" -@interface QQPhysicsDebugView : SPDisplayObjectContainer { +@interface QQPhysicsDebugView : CCLayer { @private QQWorld* _world; - BOOL _panning; - BOOL _zooming; - - CGPoint _lastWorldTouch; - CGPoint _lastScreenTouch; - - b2MouseJoint* _mouseJoint; - b2Vec2 _mouseWorld; + b2World* _b2world; + QQGLESDebugDraw* _debugDraw; } -@property (nonatomic, readwrite, retain) QQWorld* world; - -@property (nonatomic, readonly, getter=isPanning) BOOL panning; -@property (nonatomic, readonly, getter=isZooming) BOOL zooming; - - - (id) initWithWorld:(QQWorld*)world; -- (void) render:(SPRenderSupport*)support; +@property (nonatomic, readwrite, assign) float opacity; + +- (void) draw; @end diff --git a/src/physics/debug/QQPhysicsDebugView.mm b/src/physics/debug/QQPhysicsDebugView.mm index 7b106eb..40fc461 100644 --- a/src/physics/debug/QQPhysicsDebugView.mm +++ b/src/physics/debug/QQPhysicsDebugView.mm @@ -1,54 +1,60 @@ #import "QQPhysicsDebugView.h" +#import "physics/QQWorld.h" +#import "physics/QQWorld_Internal.h" -@implementation QQPhysicsDebugView -@synthesize world = _world; +@implementation QQPhysicsDebugView -@synthesize panning = _panning; -@synthesize zooming = _zooming; +- (float) opacity { return _debugDraw->mGlobalAlpha; } +- (void) setOpacity:(float)v { _debugDraw->mGlobalAlpha = v; } -- (id) init { - return [self initWithWorld:nil]; -} - - (id) initWithWorld:(QQWorld*)world { if ((self = [super init])) { - self.world = world; - self.scaleX = self.scaleY = self.world.scale; // TODO: the view should hold the scale + self.isTouchEnabled = NO; + self.isAccelerometerEnabled = NO; - _panning = NO; - _zooming = NO; + _world = world; + _b2world = _world.b2world; - _lastWorldTouch = CGPointMake(0,0); + _debugDraw = new QQGLESDebugDraw(0.75f, PIXELS_PER_METER); + _debugDraw->SetAllFlags(); + _b2world->SetDebugDraw(_debugDraw); } return self; } - (void) dealloc { - [_world release]; + delete _debugDraw; + _debugDraw = NULL; + _b2world = NULL; + _world = nil; [super dealloc]; } /// Rendering -- (void) render:(SPRenderSupport*)support { - [support bindTexture:nil]; +- (void) draw { + if (!self.visible) return; + + // Default Cocos2D GL states: + // GL_TEXTURE_2D, GL_VERTEX_ARRAY, GL_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY + glDisable(GL_TEXTURE_2D); + glDisableClientState(GL_COLOR_ARRAY); + glDisableClientState(GL_TEXTURE_COORD_ARRAY); - // XXX: i think this is unnecessary based on what i think bindTexture does, but i'm not clear what happens with nil glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - // set viewport pan and zoom - self.scaleX = self.scaleY = self.world.scale; // TODO: the view should hold the scale + _b2world->DrawDebugData(); - glEnableClientState(GL_VERTEX_ARRAY); - [self.world drawDebug]; - glDisableClientState(GL_VERTEX_ARRAY); + glBlendFunc(CC_BLEND_SRC, CC_BLEND_DST); - [super render:support]; + glEnable(GL_TEXTURE_2D); + glEnableClientState(GL_COLOR_ARRAY); + glEnableClientState(GL_TEXTURE_COORD_ARRAY); } @end diff --git a/src/physics/debug/QQPhysicsDebugView2.h b/src/physics/debug/QQPhysicsDebugView2.h deleted file mode 100644 index 261b7b5..0000000 --- a/src/physics/debug/QQPhysicsDebugView2.h +++ /dev/null @@ -1,96 +0,0 @@ -#import -#import -#import -#import - -#include - -#import "physics/QQWorld.h" - - -/* -This class wraps the CAEAGLLayer from CoreAnimation into a convenient UIView subclass. -The view content is basically an EAGL surface you render your OpenGL scene into. -Note that setting the view non-opaque will only work if the EAGL surface has an alpha channel. -*/ -@interface QQPhysicsDebugView : UIView { -@private - QQWorld* _world; - BOOL _panning; - - // Position offset and scale - float sceneScale; - CGPoint positionOffset; - - CGPoint lastWorldTouch; - CGPoint lastScreenTouch; - - b2MouseJoint* mouseJoint; - b2Vec2 mouseWorld; - int32 stepCount; - - /// OpenGL /// - - /* The pixel dimensions of the backbuffer */ - GLint backingWidth; - GLint backingHeight; - - EAGLContext *context; - - /* OpenGL names for the renderbuffer and framebuffers used to render to this view */ - GLuint viewRenderbuffer, viewFramebuffer; - - /* OpenGL name for the depth buffer that is attached to viewFramebuffer, if it exists (0 if it does not exist) */ - GLuint depthRenderbuffer; - -} - -@property (nonatomic, readwrite, retain) QQWorld* world; -@property (nonatomic, readonly, assign, getter=isPanning) BOOL panning; - -- (void) drawView; - -@end - - -// Render Settings -struct Settings { - - Settings() : - hz(60.0f), - velocityIterations(10), - positionIterations(4), - drawStats(0), - drawShapes(1), - drawJoints(1), - drawAABBs(0), - drawPairs(0), - drawContactPoints(0), - drawContactNormals(0), - drawContactForces(0), - drawFrictionForces(0), - drawCOMs(0), - enableWarmStarting(1), - enableContinuous(1), - pause(0), - singleStep(0) - {} - - float32 hz; - int32 velocityIterations; - int32 positionIterations; - int32 drawShapes; - int32 drawJoints; - int32 drawAABBs; - int32 drawPairs; - int32 drawContactPoints; - int32 drawContactNormals; - int32 drawContactForces; - int32 drawFrictionForces; - int32 drawCOMs; - int32 drawStats; - int32 enableWarmStarting; - int32 enableContinuous; - int32 pause; - int32 singleStep; -}; diff --git a/src/physics/debug/QQPhysicsDebugView2.mm b/src/physics/debug/QQPhysicsDebugView2.mm deleted file mode 100644 index 24e9ae5..0000000 --- a/src/physics/debug/QQPhysicsDebugView2.mm +++ /dev/null @@ -1,250 +0,0 @@ -#import -#import - -#import "QQPhysicsDebugView.h" - - -#define USE_DEPTH_BUFFER 0 -#define kAccelerometerFrequency 30 -#define FRAMES_BETWEEN_PRESSES_FOR_DOUBLE_CLICK 10 - - - -// A class extension to declare private methods -@interface QQPhysicsDebugView () - -@property (nonatomic, retain) EAGLContext *context; - -- (void) setup; - -- (BOOL) createFramebuffer; -- (void) destroyFramebuffer; - -- (void) prepContext; -- (void) flushContext; - -@end - - - - -@implementation QQPhysicsDebugView - -@synthesize world = _world; -@synthesize panning = _panning; - -@synthesize context; - - -// You must implement this method -+ (Class)layerClass { - return [CAEAGLLayer class]; -} - -- (id) initWithFrame:(CGRect)aRect { - if ((self = [super initWithFrame:aRect])) { - [self setup]; - } - return self; -} - -//The GL view is stored in the nib file. When it's unarchived it's sent -initWithCoder: -- (id) initWithCoder:(NSCoder*)coder { - if ((self = [super initWithCoder:coder])) { - [self setup]; - } - return self; -} - -- (void) setup { - // Get the layer - CAEAGLLayer *eaglLayer = (CAEAGLLayer *)self.layer; - - eaglLayer.opaque = NO; - eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys: - [NSNumber numberWithBool:NO], kEAGLDrawablePropertyRetainedBacking, - kEAGLColorFormatRGBA8, kEAGLDrawablePropertyColorFormat, - nil]; - - context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES1]; - - if (!context || ![EAGLContext setCurrentContext:context]) { - [self release]; - return; - } - - sceneScale = 10.0f; - positionOffset = CGPointMake(0,0); - lastWorldTouch = CGPointMake(0,0); - -// [[UIAccelerometer sharedAccelerometer] setUpdateInterval:(1.0 / kAccelerometerFrequency)]; -// [[UIAccelerometer sharedAccelerometer] setDelegate:self]; -} - -- (void) dealloc { - if ([EAGLContext currentContext] == context) - [EAGLContext setCurrentContext:nil]; - [context release]; - [_world release]; - [super dealloc]; -} - - - -/// Methods /// - -- (CGPoint) screenSpaceToWorldSpace:(CGPoint) screenLocation { - screenLocation.x -= 160; - screenLocation.y -= 240; - screenLocation.x /= 160; - screenLocation.y /= 160; - screenLocation.x *= sceneScale; - screenLocation.y *= -sceneScale; - - screenLocation.x -= positionOffset.x; - screenLocation.y -= positionOffset.y; - - return screenLocation; -} - - -/// Events /// - -- (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event { - _panning = false; - for (UITouch *touch in touches) { - CGPoint touchLocation = [touch locationInView:self]; - CGPoint worldPosition = [self screenSpaceToWorldSpace:touchLocation]; - //printf("Screen touched %f,%f -> %f,%f\n",touchLocation.x,touchLocation.y,worldPosition.x,worldPosition.y); - lastScreenTouch = touchLocation; - lastWorldTouch = worldPosition; - - // test->MouseDown(b2Vec2(lastWorldTouch.x,lastWorldTouch.y)); - // if (!test->m_mouseJoint) panning=true; - } -} - -- (void) touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event { - for (UITouch *touch in touches) { - CGPoint touchLocation = [touch locationInView:self]; - CGPoint worldPosition = [self screenSpaceToWorldSpace:touchLocation]; - //printf("Screen touched %f,%f -> %f,%f\n",touchLocation.x,touchLocation.y,worldPosition.x,worldPosition.y); - - - CGPoint screenDistanceMoved = CGPointMake(touchLocation.x-lastScreenTouch.x,touchLocation.y-lastScreenTouch.y); - if (_panning) { - screenDistanceMoved.x /= 160; - screenDistanceMoved.y /= 160; - screenDistanceMoved.x *= sceneScale; - screenDistanceMoved.y *= -sceneScale; - positionOffset.x += screenDistanceMoved.x; - positionOffset.y += screenDistanceMoved.y; - } - - lastScreenTouch = touchLocation; - lastWorldTouch = worldPosition; - // test->MouseMove(b2Vec2(lastWorldTouch.x,lastWorldTouch.y)); - } -} - -- (void) touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event { - // test->MouseUp(b2Vec2(lastWorldTouch.x, lastWorldTouch.y)); -} - -- (void) accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration { - // Only run for valid values - if (acceleration.y != 0 && acceleration.x != 0) { - if (self.world) [self.world setGravityX:acceleration.x y:acceleration.y]; - } -} - - - - -/// OpenGL /// - -- (void) layoutSubviews { - [EAGLContext setCurrentContext:context]; - [self destroyFramebuffer]; - [self createFramebuffer]; - [self drawView]; -} - -- (void) prepContext { - [EAGLContext setCurrentContext:context]; - - glBindFramebufferOES(GL_FRAMEBUFFER_OES, viewFramebuffer); - glViewport(0, 0, backingWidth, backingHeight); - - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - - glOrthof(-sceneScale, sceneScale, -sceneScale*1.5f, sceneScale*1.5f, -1.0f, 1.0f); - - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - glTranslatef(positionOffset.x, positionOffset.y, 0); - glClearColor(0.0f, 0.0f, 0.0f, 0.0f); - glClear(GL_COLOR_BUFFER_BIT); - - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - - glEnableClientState(GL_VERTEX_ARRAY); -} - -- (void) drawView { - [self prepContext]; - [self.world drawDebug]; - [self flushContext]; -} - -- (void) flushContext { - glBindRenderbufferOES(GL_RENDERBUFFER_OES, viewRenderbuffer); - [context presentRenderbuffer:GL_RENDERBUFFER_OES]; -} - - -- (BOOL) createFramebuffer { - - glGenFramebuffersOES(1, &viewFramebuffer); - glGenRenderbuffersOES(1, &viewRenderbuffer); - - glBindFramebufferOES(GL_FRAMEBUFFER_OES, viewFramebuffer); - glBindRenderbufferOES(GL_RENDERBUFFER_OES, viewRenderbuffer); - [context renderbufferStorage:GL_RENDERBUFFER_OES fromDrawable:(CAEAGLLayer*)self.layer]; - glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, viewRenderbuffer); - - glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_WIDTH_OES, &backingWidth); - glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_HEIGHT_OES, &backingHeight); - - if (USE_DEPTH_BUFFER) { - glGenRenderbuffersOES(1, &depthRenderbuffer); - glBindRenderbufferOES(GL_RENDERBUFFER_OES, depthRenderbuffer); - glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES, backingWidth, backingHeight); - glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_DEPTH_ATTACHMENT_OES, GL_RENDERBUFFER_OES, depthRenderbuffer); - } - - if(glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES) != GL_FRAMEBUFFER_COMPLETE_OES) { - NSLog(@"failed to make complete framebuffer object %x", glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES)); - return NO; - } - - return YES; -} - - -- (void) destroyFramebuffer { - - glDeleteFramebuffersOES(1, &viewFramebuffer); - viewFramebuffer = 0; - glDeleteRenderbuffersOES(1, &viewRenderbuffer); - viewRenderbuffer = 0; - - if(depthRenderbuffer) { - glDeleteRenderbuffersOES(1, &depthRenderbuffer); - depthRenderbuffer = 0; - } -} - -@end diff --git a/src/prefix.pch b/src/prefix.pch index fd86988..c2c25fe 100644 --- a/src/prefix.pch +++ b/src/prefix.pch @@ -10,7 +10,6 @@ #ifdef __OBJC__ #import - #import #import #endif diff --git a/src/render/CCNode+QQExtensions.h b/src/render/CCNode+QQExtensions.h new file mode 100644 index 0000000..0520fb6 --- /dev/null +++ b/src/render/CCNode+QQExtensions.h @@ -0,0 +1,9 @@ +#import "CCNode.h" + + +@interface CCNode (QQExtensions) + +@property (nonatomic, readonly) float width; +@property (nonatomic, readonly) float height; + +@end diff --git a/src/render/CCNode+QQExtensions.mm b/src/render/CCNode+QQExtensions.mm new file mode 100644 index 0000000..df3be59 --- /dev/null +++ b/src/render/CCNode+QQExtensions.mm @@ -0,0 +1,9 @@ +#import "CCNode+QQExtensions.h" + + +@implementation CCNode (QQExtensions) + +- (float) width { return self.contentSize.width; } +- (float) height { return self.contentSize.height; } + +@end diff --git a/src/render/QQQuad.h b/src/render/QQQuad.h index efca9c1..e69de29 100644 --- a/src/render/QQQuad.h +++ b/src/render/QQQuad.h @@ -1,11 +0,0 @@ -#import "Sparrow.h" - - -@interface QQQuad : SPQuad - -- (id)initWithWidth:(float)width height:(float)height color:(uint)color; - -+ (QQQuad*)quadWithWidth:(float)width height:(float)height; -+ (QQQuad*)quadWithWidth:(float)width height:(float)height color:(uint)color; - -@end diff --git a/src/render/QQQuad.mm b/src/render/QQQuad.mm index 8d46c8b..e69de29 100644 --- a/src/render/QQQuad.mm +++ b/src/render/QQQuad.mm @@ -1,40 +0,0 @@ -#import "QQQuad.h" - - -@implementation QQQuad - -- (id)initWithWidth:(float)width height:(float)height color:(uint)color { - if ((self = [super init])) { - self.autoUpdateReg = YES; - - float halfW = width *0.5f; - float halfH = height *0.5f; - - mVertexCoords[0] = -halfW; - mVertexCoords[1] = -halfH; - - mVertexCoords[2] = halfW; - mVertexCoords[3] = -halfH; - - mVertexCoords[4] = -halfW; - mVertexCoords[5] = halfH; - - mVertexCoords[6] = halfW; - mVertexCoords[7] = halfH; - - self.color = color; - self.registrationX = 0; - self.registrationY = 0; - } - return self; -} - -+ (QQQuad*)quadWithWidth:(float)width height:(float)height { - return [[[QQQuad alloc] initWithWidth:width height:height] autorelease]; -} - -+ (QQQuad*)quadWithWidth:(float)width height:(float)height color:(uint)color { - return [[[QQQuad alloc] initWithWidth:width height:height color:color] autorelease]; -} - -@end diff --git a/src/render/QQShape.h b/src/render/QQShape.h index d975afe..77852c4 100644 --- a/src/render/QQShape.h +++ b/src/render/QQShape.h @@ -1,6 +1,15 @@ -#import "Sparrow.h" +#import "cocos2d.h" +#import "Tanks.h" + + +@interface QQShape : CCSprite { +@private + +} + +@property (nonatomic, readonly) float width; +@property (nonatomic, readonly) float height; -@interface QQShape : SPQuad @end diff --git a/src/render/QQShape.mm b/src/render/QQShape.mm index 2cfb9ec..5ad3699 100644 --- a/src/render/QQShape.mm +++ b/src/render/QQShape.mm @@ -3,8 +3,7 @@ @implementation QQShape -- (void) render:(SPRenderSupport*)support { - [super render:support]; -} +- (float) width { return self.contentSize.width; } +- (float) height { return self.contentSize.height; } @end diff --git a/src/render/sparrow/QQQuad.h b/src/render/sparrow/QQQuad.h new file mode 100644 index 0000000..efca9c1 --- /dev/null +++ b/src/render/sparrow/QQQuad.h @@ -0,0 +1,11 @@ +#import "Sparrow.h" + + +@interface QQQuad : SPQuad + +- (id)initWithWidth:(float)width height:(float)height color:(uint)color; + ++ (QQQuad*)quadWithWidth:(float)width height:(float)height; ++ (QQQuad*)quadWithWidth:(float)width height:(float)height color:(uint)color; + +@end diff --git a/src/render/sparrow/QQQuad.mm b/src/render/sparrow/QQQuad.mm new file mode 100644 index 0000000..8d46c8b --- /dev/null +++ b/src/render/sparrow/QQQuad.mm @@ -0,0 +1,40 @@ +#import "QQQuad.h" + + +@implementation QQQuad + +- (id)initWithWidth:(float)width height:(float)height color:(uint)color { + if ((self = [super init])) { + self.autoUpdateReg = YES; + + float halfW = width *0.5f; + float halfH = height *0.5f; + + mVertexCoords[0] = -halfW; + mVertexCoords[1] = -halfH; + + mVertexCoords[2] = halfW; + mVertexCoords[3] = -halfH; + + mVertexCoords[4] = -halfW; + mVertexCoords[5] = halfH; + + mVertexCoords[6] = halfW; + mVertexCoords[7] = halfH; + + self.color = color; + self.registrationX = 0; + self.registrationY = 0; + } + return self; +} + ++ (QQQuad*)quadWithWidth:(float)width height:(float)height { + return [[[QQQuad alloc] initWithWidth:width height:height] autorelease]; +} + ++ (QQQuad*)quadWithWidth:(float)width height:(float)height color:(uint)color { + return [[[QQQuad alloc] initWithWidth:width height:height color:color] autorelease]; +} + +@end diff --git a/src/render/sparrow/QQShape.h b/src/render/sparrow/QQShape.h new file mode 100644 index 0000000..d975afe --- /dev/null +++ b/src/render/sparrow/QQShape.h @@ -0,0 +1,6 @@ +#import "Sparrow.h" + + +@interface QQShape : SPQuad + +@end diff --git a/src/render/sparrow/QQShape.mm b/src/render/sparrow/QQShape.mm new file mode 100644 index 0000000..2cfb9ec --- /dev/null +++ b/src/render/sparrow/QQShape.mm @@ -0,0 +1,10 @@ +#import "QQShape.h" + + +@implementation QQShape + +- (void) render:(SPRenderSupport*)support { + [super render:support]; +} + +@end diff --git a/src/render/QQSparrowExtensions.h b/src/render/sparrow/QQSparrowExtensions.h similarity index 100% rename from src/render/QQSparrowExtensions.h rename to src/render/sparrow/QQSparrowExtensions.h diff --git a/src/render/QQSparrowExtensions.mm b/src/render/sparrow/QQSparrowExtensions.mm similarity index 100% rename from src/render/QQSparrowExtensions.mm rename to src/render/sparrow/QQSparrowExtensions.mm diff --git a/src/ui/QQAppDelegate.h b/src/ui/QQAppDelegate.h index 2b2e6e4..30bf86b 100644 --- a/src/ui/QQAppDelegate.h +++ b/src/ui/QQAppDelegate.h @@ -1,18 +1,18 @@ -#import "Sparrow.h" +#import "cocos2d.h" + +#import "Tanks.h" #import "game/QQGame.h" -#import "physics/debug/QQPhysicsDebugView.h" +#import "ui/QQCocosAppDelegate.h" +#import "ui/QQRootViewController.h" -@interface QQAppDelegate : NSObject { +@interface QQAppDelegate : QQCocosAppDelegate { @private - UIWindow* window; - SPView* sparrowView; QQGame* _game; + QQRootViewController* _viewController; } -@property (nonatomic, readwrite, retain) IBOutlet UIWindow* window; -@property (nonatomic, readwrite, retain) IBOutlet SPView* sparrowView; @property (nonatomic, readwrite, retain) QQGame* game; @end \ No newline at end of file diff --git a/src/ui/QQAppDelegate.mm b/src/ui/QQAppDelegate.mm index 5cf6f75..f62ff7d 100644 --- a/src/ui/QQAppDelegate.mm +++ b/src/ui/QQAppDelegate.mm @@ -1,52 +1,35 @@ -// -// QQAppDelegate.m -// tanks -// -// Created by dsc on 4/27/11. -// Copyright 2011 lttlst.com. All rights reserved. -// - #import "QQAppDelegate.h" -#import "game/QQGame.h" -@implementation QQAppDelegate +#import "ui/QQRootViewController.h" -@synthesize window; -@synthesize sparrowView; -@synthesize game = _game; +@implementation QQAppDelegate -- (void) applicationDidFinishLaunching:(UIApplication*)app { - SP_CREATE_POOL(pool); - - [app setStatusBarHidden:YES]; - [SPStage setSupportHighResolutions:YES]; - if ( sparrowView.frameRate != 60.0f ) - sparrowView.frameRate = 60.0f; - - self.game = [QQGame current]; - sparrowView.stage = _game.stage; - [_game start]; - - [window makeKeyAndVisible]; - [sparrowView start]; - [SPAudioEngine start]; - - SP_RELEASE_POOL(pool); -} +@synthesize game = _game; +@synthesize viewController = _viewController; -- (void) applicationWillResignActive:(UIApplication*)app { - [sparrowView stop]; +- (UIViewController*) viewController { + if (!_viewController) + _viewController = [[QQRootViewController alloc] initWithNibName:nil bundle:nil]; + return _viewController; } -- (void) applicationDidBecomeActive:(UIApplication*)app { - [sparrowView start]; -} - (void) dealloc { [_game release]; - [sparrowView release]; - [window release]; [super dealloc]; } -@end \ No newline at end of file + + +- (BOOL)application:(UIApplication*)app didFinishLaunchingWithOptions:(NSDictionary*)options { + [super application:app didFinishLaunchingWithOptions:options]; + + self.game = [[QQGame current] start]; + self.game.debugDrawingEnabled = YES; + [[CCDirector sharedDirector] runWithScene: self.game.scene]; + + return YES; +} + + +@end diff --git a/src/ui/QQCocosAppDelegate.h b/src/ui/QQCocosAppDelegate.h new file mode 100644 index 0000000..23407ed --- /dev/null +++ b/src/ui/QQCocosAppDelegate.h @@ -0,0 +1,14 @@ +#import +#import "cocos2d.h" + + +@interface QQCocosAppDelegate : NSObject { + +@private + UIWindow* _window; +} + +@property (nonatomic, readwrite, retain) UIWindow* window; +@property (nonatomic, readwrite, retain) UIViewController* viewController; + +@end \ No newline at end of file diff --git a/src/ui/QQCocosAppDelegate.mm b/src/ui/QQCocosAppDelegate.mm new file mode 100644 index 0000000..80a1240 --- /dev/null +++ b/src/ui/QQCocosAppDelegate.mm @@ -0,0 +1,145 @@ +#import "ui/QQAppDelegate.h" + + +/// private interface +@interface QQCocosAppDelegate () +- (void) removeStartupFlicker; +@end + + +@implementation QQCocosAppDelegate + +/// properties + +@synthesize window = _window; +@dynamic viewController; + +- (UIWindow*) window { + if ( !_window ) + _window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + return _window; +} + + +/// initialization + +- (void) dealloc { + [[CCDirector sharedDirector] end]; + self.viewController = nil; + self.window = nil; + [super dealloc]; +} + +- (void) applicationWillTerminate:(UIApplication*)app { + CCDirector* director = [CCDirector sharedDirector]; + [[director openGLView] removeFromSuperview]; + self.viewController = nil; + self.window = nil; + [director end]; +} + + +/** + * Superclass should override this to create the viewController (or otherwise create it on-demand in the getter) + */ +- (BOOL)application:(UIApplication*)app didFinishLaunchingWithOptions:(NSDictionary*)options { + [app setStatusBarHidden:YES]; + + // Try to use CADisplayLink director + // if it fails (SDK < 3.1) use the default director + if ( ! [CCDirector setDirectorType:kCCDirectorTypeDisplayLink] ) + [CCDirector setDirectorType:kCCDirectorTypeDefault]; + + CCDirector* director = [CCDirector sharedDirector]; + + // Create the EAGLView manually + // 1. Create a RGB565 format. Alternative: RGBA8 + // 2. depth format of 0 bit. Use 16 or 24 bit for 3d effects, like CCPageTurnTransition + EAGLView* glView = [EAGLView viewWithFrame:[self.window bounds] + pixelFormat:kEAGLColorFormatRGB565 // kEAGLColorFormatRGBA8 + depthFormat:0 // GL_DEPTH_COMPONENT16_OES + ]; + + // attach the openglView to the director + [director setOpenGLView:glView]; + [glView setMultipleTouchEnabled:YES]; + + // Enables High Res mode (Retina Display) on iPhone 4 and maintains low res on all other devices + if ( ! [director enableRetinaDisplay:YES] ) + CCLOG(@"Retina Display Not supported"); + + // VERY IMPORTANT: + // If the rotation is going to be controlled by a UIViewController + // then the device orientation should be "Portrait". +#if GAME_AUTOROTATION == kGameAutorotationUIViewController + [director setDeviceOrientation:kCCDeviceOrientationPortrait]; +#else + [director setDeviceOrientation:kCCDeviceOrientationLandscapeLeft]; +#endif + + [director setAnimationInterval:1.0/60]; + +#if DEBUG + [director setDisplayFPS:YES]; +#endif + + // make the OpenGLView a child of the view controller + [self.viewController setView:glView]; + + // make the View Controller a child of the main window + [self.window addSubview: self.viewController.view]; + // why not?? + // self.window.rootViewController = self.viewController; + [self.window makeKeyAndVisible]; + + // Default texture format for PNG/BMP/TIFF/JPEG/GIF images + // It can be RGBA8888, RGBA4444, RGB5_A1, RGB565 + // You can change anytime. + [CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_RGBA8888]; + [self removeStartupFlicker]; + + return YES; +} + + +/// methods + +- (void) removeStartupFlicker { +#if GAME_AUTOROTATION == kGameAutorotationUIViewController + // CC_ENABLE_DEFAULT_GL_STATES(); + // CCDirector *director = [CCDirector sharedDirector]; + // CGSize size = [director winSize]; + // CCSprite *sprite = [CCSprite spriteWithFile:@"Default.png"]; + // sprite.position = ccp(size.width/2, size.height/2); + // sprite.rotation = -90; + // [sprite visit]; + // [[director openGLView] swapBuffers]; + // CC_ENABLE_DEFAULT_GL_STATES(); +#endif +} + +- (void) applicationWillResignActive:(UIApplication*)app { + [[CCDirector sharedDirector] pause]; +} + +- (void) applicationDidBecomeActive:(UIApplication*)app { + [[CCDirector sharedDirector] resume]; +} + +- (void) applicationDidReceiveMemoryWarning:(UIApplication*)app { + [[CCDirector sharedDirector] purgeCachedData]; +} + +- (void) applicationDidEnterBackground:(UIApplication*)app { + [[CCDirector sharedDirector] stopAnimation]; +} + +- (void) applicationWillEnterForeground:(UIApplication*)app { + [[CCDirector sharedDirector] startAnimation]; +} + +- (void) applicationSignificantTimeChange:(UIApplication*)app { + [[CCDirector sharedDirector] setNextDeltaTimeZero:YES]; +} + +@end diff --git a/src/ui/QQLayer.h b/src/ui/QQLayer.h new file mode 100644 index 0000000..845dcbd --- /dev/null +++ b/src/ui/QQLayer.h @@ -0,0 +1,9 @@ +#import "cocos2d.h" + +#import "Tanks.h" + + +@interface QQLayer : CCLayer + + +@end diff --git a/src/ui/QQLayer.mm b/src/ui/QQLayer.mm new file mode 100644 index 0000000..f2e3e00 --- /dev/null +++ b/src/ui/QQLayer.mm @@ -0,0 +1,21 @@ +#import "QQGameLayer.h" + + + +@implementation QQGameLayer + +- (id) init { + if ((self = [super init])) { + self.isTouchEnabled = YES; + self.isAccelerometerEnabled = YES; + // [self scheduleUpdate]; + } + return self; +} + +- (void) dealloc { + [super dealloc]; +} + + +@end diff --git a/src/ui/QQRootViewController.h b/src/ui/QQRootViewController.h new file mode 100644 index 0000000..5906857 --- /dev/null +++ b/src/ui/QQRootViewController.h @@ -0,0 +1,8 @@ +#import + +#import "Tanks.h" + + +@interface QQRootViewController : UIViewController + +@end diff --git a/src/ui/QQRootViewController.mm b/src/ui/QQRootViewController.mm new file mode 100644 index 0000000..7d579df --- /dev/null +++ b/src/ui/QQRootViewController.mm @@ -0,0 +1,137 @@ +#import "cocos2d.h" + +#import "QQRootViewController.h" + + +@implementation QQRootViewController + + +- (id) initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { + if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) { + self.wantsFullScreenLayout = YES; + } + return self; +} + + +/* +// Implement loadView to create a view hierarchy programmatically, without using a nib. +- (void) loadView { +} +*/ + +/* +// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. +- (void) viewDidLoad { + [super viewDidLoad]; +} +*/ + + +// Override to allow orientations other than the default portrait orientation. +- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { + + // + // There are 2 ways to support auto-rotation: + // - The OpenGL / cocos2d way + // - Faster, but doesn't rotate the UIKit objects + // - The ViewController way + // - A bit slower, but the UiKit objects are placed in the right place + // + +#if GAME_AUTOROTATION == kGameAutorotationNone + // + // EAGLView won't be autorotated. + // Since this method should return YES in at least 1 orientation, + // we return YES only in the Portrait orientation + // + return ( interfaceOrientation == UIInterfaceOrientationPortrait ); + +#elif GAME_AUTOROTATION == kGameAutorotationCCDirector + // + // EAGLView will be rotated by cocos2d + // + // Sample: Autorotate only in landscape mode + // + if ( interfaceOrientation == UIInterfaceOrientationLandscapeLeft ) { + [[CCDirector sharedDirector] setDeviceOrientation: kCCDeviceOrientationLandscapeRight]; + } else if ( interfaceOrientation == UIInterfaceOrientationLandscapeRight) { + [[CCDirector sharedDirector] setDeviceOrientation: kCCDeviceOrientationLandscapeLeft]; + } + + // Since this method should return YES in at least 1 orientation, + // we return YES only in the Portrait orientation + return ( interfaceOrientation == UIInterfaceOrientationPortrait ); + +#elif GAME_AUTOROTATION == kGameAutorotationUIViewController + // + // EAGLView will be rotated by the UIViewController + // + // Sample: Autorotate only in landscpe mode + // + // return YES for the supported orientations + + return ( UIInterfaceOrientationIsLandscape( interfaceOrientation ) ); + +#else +#error Unknown value in GAME_AUTOROTATION + +#endif // GAME_AUTOROTATION + + + // Shold not happen + return NO; +} + +// +// This callback only will be called when GAME_AUTOROTATION == kGameAutorotationUIViewController +// +#if GAME_AUTOROTATION == kGameAutorotationUIViewController +- (void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { + // + // Assuming that the main window has the size of the screen + // BUG: This won't work if the EAGLView is not fullscreen + /// + CGRect screenRect = [[UIScreen mainScreen] bounds]; + CGRect rect = CGRectZero; + + if (toInterfaceOrientation == UIInterfaceOrientationPortrait || toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) + rect = screenRect; + + else if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) + rect.size = CGSizeMake( screenRect.size.height, screenRect.size.width ); + + CCDirector* director = [CCDirector sharedDirector]; + EAGLView* glView = [director openGLView]; + float contentScaleFactor = [director contentScaleFactor]; + + if ( contentScaleFactor != 1 ) { + rect.size.width *= contentScaleFactor; + rect.size.height *= contentScaleFactor; + } + glView.frame = rect; +} +#endif // GAME_AUTOROTATION == kGameAutorotationUIViewController + + +- (void) didReceiveMemoryWarning { + // Releases the view if it doesn't have a superview. + [super didReceiveMemoryWarning]; + + // Release any cached data, images, etc that aren't in use. +} + +- (void) viewDidUnload { + [super viewDidUnload]; + // Release any retained subviews of the main view. + // e.g. self.myOutlet = nil; +} + + +- (void) dealloc { + [super dealloc]; +} + + +@end + diff --git a/src/ui/QQViewport.h b/src/ui/QQViewport.h deleted file mode 100644 index f8123fa..0000000 --- a/src/ui/QQViewport.h +++ /dev/null @@ -1,26 +0,0 @@ -#import "Sparrow.h" - -#import "physics/QQWorld.h" - - -/** - * View subclass which optionally tracks user input gestures that would zoom - * or pan the viewport. - */ -@interface QQViewport : SPView - -@property (nonatomic, retain) QQWorld* world; - -@property (nonatomic, assign, getter=isZoomable) BOOL zoomable; -@property (nonatomic, assign) float viewportZoom; - -@property (nonatomic, assign, getter=isPanable) BOOL panable; -@property (nonatomic, retain) SPPoint *viewportCenter; - - -- (void) drawView; - - -@end - - diff --git a/src/ui/QQViewport.mm b/src/ui/QQViewport.mm deleted file mode 100644 index a3a6cdf..0000000 --- a/src/ui/QQViewport.mm +++ /dev/null @@ -1,36 +0,0 @@ -#import -#import -#import - -#import "Sparrow.h" - -#import "QQViewport.h" -#import "physics/QQWorld.h" - - -@implementation QQViewport - -@synthesize zoomable; -@synthesize viewportZoom; - -@synthesize panable; -@synthesize viewportCenter; - -@synthesize world; - - -- (id) initWithFrame:(CGRect)frame { - if ((self = [super initWithFrame:frame])) { - zoomable = NO; - panable = NO; - viewportZoom = 1.0f; - viewportCenter = [[[SPPoint alloc] initWithX:0 y:0] autorelease]; - } - return self; -} - -- (void) drawView { - -} - -@end diff --git a/src/ui/game/QQGameLayer.h b/src/ui/game/QQGameLayer.h new file mode 100644 index 0000000..7a6c3d8 --- /dev/null +++ b/src/ui/game/QQGameLayer.h @@ -0,0 +1,17 @@ +#import "cocos2d.h" + +#import "Tanks.h" +#import "game/QQGame.h" + + +@interface QQGameLayer : CCLayer { +@private + QQGame* _game; +} +@property (nonatomic, readwrite, assign) QQGame* game; // weakref + +- (id) initWithGame:(QQGame*)game; + +- (void) update:(float)elapsed; + +@end diff --git a/src/ui/game/QQGameLayer.mm b/src/ui/game/QQGameLayer.mm new file mode 100644 index 0000000..7f4c567 --- /dev/null +++ b/src/ui/game/QQGameLayer.mm @@ -0,0 +1,119 @@ +#import "QQGameLayer.h" + + + +@implementation QQGameLayer + +@synthesize game = _game; + + +- (id) initWithGame:(QQGame*)game { + if ((self = [super init])) { + _game = game; + self.isTouchEnabled = YES; + self.isAccelerometerEnabled = YES; + + CGSize screenSize = [CCDirector sharedDirector].winSize; + CCLOG(@"GameLayer: %0.2fx%0.2f", screenSize.width, screenSize.height); + + [self scheduleUpdate]; + + // CCSpriteBatchNode* batch = [CCSpriteBatchNode batchNodeWithFile:@"blocks.png" capacity:150]; + // [self addChild:batch z:0 tag:kTagBatchNode]; + // + // [self addNewSpriteWithCoords:ccp(screenSize.width/2, screenSize.height/2)]; + // + // CCLabelTTF* label = [CCLabelTTF labelWithString:@"Tap screen" fontName:@"Marker Felt" fontSize:32]; + // [self addChild:label z:0]; + // [label setColor:ccc3(0,0,255)]; + // label.position = ccp( screenSize.width/2, screenSize.height-50); + } + return self; +} + +- (void) dealloc { + _game = nil; + [super dealloc]; +} + + + +// - (void) addNewSpriteWithCoords:(CGPoint)p { +// CCLOG(@"Add sprite %0.2f x %02.f",p.x,p.y); +// CCSpriteBatchNode* batch = (CCSpriteBatchNode*) [self getChildByTag:kTagBatchNode]; +// +// //We have a 64x64 sprite sheet with 4 different 32x32 images. The following code is +// //just randomly picking one of the images +// int idx = (CCRANDOM_0_1() > .5 ? 0:1); +// int idy = (CCRANDOM_0_1() > .5 ? 0:1); +// CCSprite* sprite = [CCSprite spriteWithBatchNode:batch rect:CGRectMake(32 * idx,32 * idy,32,32)]; +// [batch addChild:sprite]; +// +// sprite.position = ccp( p.x, p.y); +// +// // Define the dynamic body. +// //Set up a 1m squared box in the physics world +// b2BodyDef bodyDef; +// bodyDef.type = b2_dynamicBody; +// +// bodyDef.position.Set(p.x/PTM_RATIO, p.y/PTM_RATIO); +// bodyDef.userData = sprite; +// b2Body* body = world->CreateBody(&bodyDef); +// +// // Define another box shape for our dynamic body. +// b2PolygonShape dynamicBox; +// dynamicBox.SetAsBox(.5f, .5f);//These are mid points for our 1m box +// +// // Define the dynamic body fixture. +// b2FixtureDef fixtureDef; +// fixtureDef.shape = &dynamicBox; +// fixtureDef.density = 1.0f; +// fixtureDef.friction = 0.3f; +// body->CreateFixture(&fixtureDef); +// } + + + +- (void) update:(float)elapsed { + [_game tick:elapsed]; + //Iterate over the bodies in the physics world + // for (b2Body* b = world->GetBodyList(); b; b = b->GetNext()) + // { + // if (b->GetUserData() != NULL) { + // //Synchronize the AtlasSprites position and rotation with the corresponding body + // CCSprite* myActor = (CCSprite*)b->GetUserData(); + // myActor.position = CGPointMake( b->GetPosition().x * PTM_RATIO, b->GetPosition().y * PTM_RATIO); + // myActor.rotation = -1 * CC_RADIANS_TO_DEGREES(b->GetAngle()); + // } + // } +} + +- (void) ccTouchesEnded:(NSSet*)touches withEvent:(UIEvent*)event { + //Add a new body/atlas sprite at the touched location + // for( UITouch *touch in touches ) { + // CGPoint location = [touch locationInView: [touch view]]; + // + // location = [[CCDirector sharedDirector] convertToGL: location]; + // + // [self addNewSpriteWithCoords: location]; + // } +} + +- (void) accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration { + //#define kFilterFactor 0.05f +// #define kFilterFactor 1.0f // don't use filter. the code is here just as an example + + // static float prevX=0, prevY=0; + // float accelX = (float) acceleration.x * kFilterFactor + (1- kFilterFactor)*prevX; + // float accelY = (float) acceleration.y * kFilterFactor + (1- kFilterFactor)*prevY; + // + // prevX = accelX; + // prevY = accelY; + // + // // accelerometer values are in "Portrait" mode. Change them to Landscape left + // // multiply the gravity by 10 + // b2Vec2 gravity( -accelY * 10, accelX * 10); + // world->SetGravity( gravity ); +} + +@end diff --git a/src/ui/game/QQGameScene.h b/src/ui/game/QQGameScene.h new file mode 100644 index 0000000..26f0050 --- /dev/null +++ b/src/ui/game/QQGameScene.h @@ -0,0 +1,32 @@ +#import "cocos2d.h" + +#import "Tanks.h" +#import "physics/debug/QQPhysicsDebugView.h" + +@class QQGame; + + +@interface QQGameScene : CCScene { +@private + QQGame* _game; + + CCLayer* _chrome; + QQPhysicsDebugView* _debugView; + CCLayer* _viewport; +} + +- (id) initWithGame:(QQGame*)game; + +@property (nonatomic, readwrite, assign) QQGame* game; /// weakref + +@property (nonatomic, readonly, retain) CCLayer* chrome; /// Player UI +@property (nonatomic, readonly, retain) QQPhysicsDebugView* physicsDebugView; /// Debugging view of Box2D +@property (nonatomic, readonly, retain) CCLayer* viewport; /// Viewport to gameworld + +// TODO: Add methods for appending to various child-layers + +- (void) update:(float)elapsed; + + + +@end diff --git a/src/ui/game/QQGameScene.mm b/src/ui/game/QQGameScene.mm new file mode 100644 index 0000000..a53d8ef --- /dev/null +++ b/src/ui/game/QQGameScene.mm @@ -0,0 +1,45 @@ +#import "QQGameScene.h" +#import "game/QQGame.h" + + +@implementation QQGameScene + +@synthesize game = _game; + +@synthesize chrome = _chrome; +@synthesize physicsDebugView = _debugView; +@synthesize viewport = _viewport; + + +- (id) initWithGame:(QQGame*)game { + if ((self = [super init])) { + _game = game; + + _viewport = [[CCNode alloc] init]; + [self addChild:_viewport z:1]; + + _debugView = [[QQPhysicsDebugView alloc] initWithWorld:_game.world]; + [self addChild:_debugView z:100]; + + _chrome = [[CCNode alloc] init]; + [self addChild:_chrome z:1000]; + + [self scheduleUpdate]; + } + return self; +} + +- (void) dealloc { + [self unscheduleUpdate]; + _game = nil; // weakref + [_viewport release]; + [_debugView release]; + [_chrome release]; + [super dealloc]; +} + +- (void) update:(float)elapsed { + [_game tick:elapsed]; +} + +@end diff --git a/tanks.xcodeproj/project.pbxproj b/tanks.xcodeproj/project.pbxproj index e63af7e..a6d3222 100644 --- a/tanks.xcodeproj/project.pbxproj +++ b/tanks.xcodeproj/project.pbxproj @@ -8,22 +8,14 @@ /* Begin PBXBuildFile section */ 49193BF5139280180005B3DD /* QQLevel.h in Headers */ = {isa = PBXBuildFile; fileRef = 49193BEF139280180005B3DD /* QQLevel.h */; }; - 49193BF6139280180005B3DD /* QQLevel.mm in Sources */ = {isa = PBXBuildFile; fileRef = 49193BF0139280180005B3DD /* QQLevel.mm */; }; 492D80CC138B231B0042D918 /* QQPhysical.h in Headers */ = {isa = PBXBuildFile; fileRef = 492D80CB138B231B0042D918 /* QQPhysical.h */; }; 492D80E4138BA4910042D918 /* QQCooldown.h in Headers */ = {isa = PBXBuildFile; fileRef = 492D80DE138BA4910042D918 /* QQCooldown.h */; }; 492D80E5138BA4910042D918 /* QQCooldown.mm in Sources */ = {isa = PBXBuildFile; fileRef = 492D80DF138BA4910042D918 /* QQCooldown.mm */; }; 492D80F3138BA4CE0042D918 /* QQThing.h in Headers */ = {isa = PBXBuildFile; fileRef = 492D80F2138BA4CE0042D918 /* QQThing.h */; }; - 492D810C138C07540042D918 /* BEParallaxSprite.h in Headers */ = {isa = PBXBuildFile; fileRef = 492D8101138C07540042D918 /* BEParallaxSprite.h */; }; - 492D810D138C07540042D918 /* BEParallaxSprite.m in Sources */ = {isa = PBXBuildFile; fileRef = 492D8102138C07540042D918 /* BEParallaxSprite.m */; }; - 492D810E138C07540042D918 /* SHCircle.h in Headers */ = {isa = PBXBuildFile; fileRef = 492D8103138C07540042D918 /* SHCircle.h */; }; - 492D810F138C07540042D918 /* SHCircle.m in Sources */ = {isa = PBXBuildFile; fileRef = 492D8104138C07540042D918 /* SHCircle.m */; }; - 492D8110138C07540042D918 /* SHLine.h in Headers */ = {isa = PBXBuildFile; fileRef = 492D8105138C07540042D918 /* SHLine.h */; }; - 492D8111138C07540042D918 /* SHLine.m in Sources */ = {isa = PBXBuildFile; fileRef = 492D8106138C07540042D918 /* SHLine.m */; }; - 492D8112138C07540042D918 /* SHPolygon.h in Headers */ = {isa = PBXBuildFile; fileRef = 492D8107138C07540042D918 /* SHPolygon.h */; }; - 492D8113138C07540042D918 /* SHPolygon.m in Sources */ = {isa = PBXBuildFile; fileRef = 492D8108138C07540042D918 /* SHPolygon.m */; }; - 492D8114138C07540042D918 /* SparrowExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 492D8109138C07540042D918 /* SparrowExtras.h */; }; - 492D8115138C07540042D918 /* SXFPSMeter.h in Headers */ = {isa = PBXBuildFile; fileRef = 492D810A138C07540042D918 /* SXFPSMeter.h */; }; - 492D8116138C07540042D918 /* SXFPSMeter.m in Sources */ = {isa = PBXBuildFile; fileRef = 492D810B138C07540042D918 /* SXFPSMeter.m */; }; + 493643BD13A504B1009FFEDC /* QQGameLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 493643B913A504B1009FFEDC /* QQGameLayer.h */; }; + 493643BE13A504B1009FFEDC /* QQGameLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 493643BA13A504B1009FFEDC /* QQGameLayer.mm */; }; + 493643BF13A504B1009FFEDC /* QQGameScene.h in Headers */ = {isa = PBXBuildFile; fileRef = 493643BB13A504B1009FFEDC /* QQGameScene.h */; }; + 493643C013A504B1009FFEDC /* QQGameScene.mm in Sources */ = {isa = PBXBuildFile; fileRef = 493643BC13A504B1009FFEDC /* QQGameScene.mm */; }; 49454E0F13A1B17000157788 /* CCAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 49454D4013A1B17000157788 /* CCAction.h */; }; 49454E1013A1B17000157788 /* CCAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 49454D4113A1B17000157788 /* CCAction.m */; }; 49454E1113A1B17000157788 /* CCActionCamera.h in Headers */ = {isa = PBXBuildFile; fileRef = 49454D4213A1B17000157788 /* CCActionCamera.h */; }; @@ -222,11 +214,27 @@ 49454ED213A1B17000157788 /* CJSONSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 49454E0C13A1B17000157788 /* CJSONSerializer.m */; }; 49454ED313A1B17000157788 /* JSONRepresentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 49454E0D13A1B17000157788 /* JSONRepresentation.h */; }; 494DE9971376927C00FDB3D7 /* libBox2D.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 494DE9961376927C00FDB3D7 /* libBox2D.a */; }; + 496984B013A78BB50098352E /* pink.png in Resources */ = {isa = PBXBuildFile; fileRef = 496984AF13A78BB50098352E /* pink.png */; }; + 496984B213A78CA90098352E /* white.png in Resources */ = {isa = PBXBuildFile; fileRef = 496984B113A78CA90098352E /* white.png */; }; + 496984B513A78D1E0098352E /* 1x1-trans.png in Resources */ = {isa = PBXBuildFile; fileRef = 496984B313A78D1E0098352E /* 1x1-trans.png */; }; + 496984B613A78D1E0098352E /* 1x1-white.png in Resources */ = {isa = PBXBuildFile; fileRef = 496984B413A78D1E0098352E /* 1x1-white.png */; }; + 496984B813A7966C0098352E /* circle-32x32-white.png in Resources */ = {isa = PBXBuildFile; fileRef = 496984B713A7966C0098352E /* circle-32x32-white.png */; }; + 496984BA13A796720098352E /* fps_images.png in Resources */ = {isa = PBXBuildFile; fileRef = 496984B913A796720098352E /* fps_images.png */; }; + 496984BB13A7A25A0098352E /* QQActor.mm in Sources */ = {isa = PBXBuildFile; fileRef = 499F65D8139CBCBA00309DE4 /* QQActor.mm */; }; + 496984BC13A7A25A0098352E /* QQUnit.mm in Sources */ = {isa = PBXBuildFile; fileRef = 499F65E0139CBCBA00309DE4 /* QQUnit.mm */; }; + 496984BD13A7A3390098352E /* QQBullet.mm in Sources */ = {isa = PBXBuildFile; fileRef = 499F65DC139CBCBA00309DE4 /* QQBullet.mm */; }; + 496984BF13A7A3990098352E /* QQWorld_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 496984BE13A7A3990098352E /* QQWorld_Internal.h */; }; + 496984C213A7A8E00098352E /* CCNode+QQExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = 496984C013A7A8DF0098352E /* CCNode+QQExtensions.h */; }; + 496984C313A7A8E00098352E /* CCNode+QQExtensions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 496984C113A7A8E00098352E /* CCNode+QQExtensions.mm */; }; 4978AD141396139100930447 /* Tanks.h in Headers */ = {isa = PBXBuildFile; fileRef = 4978AD131396139100930447 /* Tanks.h */; }; 4978AD1A1396302300930447 /* QQContactNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 4978AD161396302300930447 /* QQContactNotification.h */; }; 4978AD1B1396302300930447 /* QQContactNotification.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4978AD171396302300930447 /* QQContactNotification.mm */; }; 4978AD1C1396302300930447 /* QQPhysicalEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = 4978AD181396302300930447 /* QQPhysicalEvents.h */; }; 4978AD1D1396302300930447 /* QQPhysicalEvents.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4978AD191396302300930447 /* QQPhysicalEvents.mm */; }; + 4987364313A23D6600CE6BCC /* QQCocosAppDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 4987363D13A23D6600CE6BCC /* QQCocosAppDelegate.h */; }; + 4987364413A23D6600CE6BCC /* QQCocosAppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4987363E13A23D6600CE6BCC /* QQCocosAppDelegate.mm */; }; + 4987364513A23D6600CE6BCC /* QQRootViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4987363F13A23D6600CE6BCC /* QQRootViewController.h */; }; + 4987364613A23D6600CE6BCC /* QQRootViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4987364013A23D6600CE6BCC /* QQRootViewController.mm */; }; 4995ABB213816CCE00334646 /* QQGame.h in Headers */ = {isa = PBXBuildFile; fileRef = 49E834A513812427007A6598 /* QQGame.h */; }; 4995ABF91381C46B00334646 /* Icon-iPad.png in Resources */ = {isa = PBXBuildFile; fileRef = 4995ABCA1381C46B00334646 /* Icon-iPad.png */; }; 4995ABFA1381C46B00334646 /* Icon-iPhone.png in Resources */ = {isa = PBXBuildFile; fileRef = 4995ABCB1381C46B00334646 /* Icon-iPhone.png */; }; @@ -249,20 +257,16 @@ 499F65D0139CBC0C00309DE4 /* QQNotifiers.h in Headers */ = {isa = PBXBuildFile; fileRef = 499F65C7139CBC0C00309DE4 /* QQNotifiers.h */; }; 499F65D1139CBC0C00309DE4 /* QQObservable.h in Headers */ = {isa = PBXBuildFile; fileRef = 499F65C8139CBC0C00309DE4 /* QQObservable.h */; }; 499F65E1139CBCBA00309DE4 /* QQActor.h in Headers */ = {isa = PBXBuildFile; fileRef = 499F65D7139CBCBA00309DE4 /* QQActor.h */; }; - 499F65E2139CBCBA00309DE4 /* QQActor.mm in Sources */ = {isa = PBXBuildFile; fileRef = 499F65D8139CBCBA00309DE4 /* QQActor.mm */; }; 499F65E3139CBCBA00309DE4 /* QQActorDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 499F65D9139CBCBA00309DE4 /* QQActorDelegate.h */; }; 499F65E4139CBCBA00309DE4 /* QQActors.h in Headers */ = {isa = PBXBuildFile; fileRef = 499F65DA139CBCBA00309DE4 /* QQActors.h */; }; 499F65E5139CBCBA00309DE4 /* QQBullet.h in Headers */ = {isa = PBXBuildFile; fileRef = 499F65DB139CBCBA00309DE4 /* QQBullet.h */; }; - 499F65E6139CBCBA00309DE4 /* QQBullet.mm in Sources */ = {isa = PBXBuildFile; fileRef = 499F65DC139CBCBA00309DE4 /* QQBullet.mm */; }; 499F65E9139CBCBA00309DE4 /* QQUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 499F65DF139CBCBA00309DE4 /* QQUnit.h */; }; - 499F65EA139CBCBA00309DE4 /* QQUnit.mm in Sources */ = {isa = PBXBuildFile; fileRef = 499F65E0139CBCBA00309DE4 /* QQUnit.mm */; }; 499F65EC139CBCC000309DE4 /* QQGameTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 499F65EB139CBCC000309DE4 /* QQGameTime.h */; }; 499F65FD139CFD3800309DE4 /* NSArray+QQExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = 499F65F9139CFD3700309DE4 /* NSArray+QQExtensions.h */; }; 499F65FE139CFD3800309DE4 /* NSArray+QQExtensions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 499F65FA139CFD3700309DE4 /* NSArray+QQExtensions.mm */; }; 499F65FF139CFD3800309DE4 /* NSDictionary+QQExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = 499F65FB139CFD3700309DE4 /* NSDictionary+QQExtensions.h */; }; 499F6600139CFD3800309DE4 /* NSDictionary+QQExtensions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 499F65FC139CFD3800309DE4 /* NSDictionary+QQExtensions.mm */; }; 499F6603139D181400309DE4 /* QQPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 499F6601139D181400309DE4 /* QQPlayer.h */; }; - 499F6604139D181400309DE4 /* QQPlayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 499F6602139D181400309DE4 /* QQPlayer.mm */; }; 499F6607139D31FC00309DE4 /* QQQuad.h in Headers */ = {isa = PBXBuildFile; fileRef = 499F6605139D31FC00309DE4 /* QQQuad.h */; }; 499F6608139D31FC00309DE4 /* QQQuad.mm in Sources */ = {isa = PBXBuildFile; fileRef = 499F6606139D31FC00309DE4 /* QQQuad.mm */; }; 49D8645D1392DB2800BC341C /* QQShape.h in Headers */ = {isa = PBXBuildFile; fileRef = 49D8645B1392DB2800BC341C /* QQShape.h */; }; @@ -283,110 +287,10 @@ 49E834C313812555007A6598 /* QQAppDelegate_iPhone.h in Headers */ = {isa = PBXBuildFile; fileRef = 49E834B813812555007A6598 /* QQAppDelegate_iPhone.h */; }; 49E834C413812555007A6598 /* QQAppDelegate_iPhone.mm in Sources */ = {isa = PBXBuildFile; fileRef = 49E834B913812555007A6598 /* QQAppDelegate_iPhone.mm */; }; 49E834C513812555007A6598 /* MainWindow_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 49E834BA13812555007A6598 /* MainWindow_iPhone.xib */; }; - 49E834C613812555007A6598 /* QQViewport.h in Headers */ = {isa = PBXBuildFile; fileRef = 49E834BC13812555007A6598 /* QQViewport.h */; }; - 49E834C713812555007A6598 /* QQViewport.mm in Sources */ = {isa = PBXBuildFile; fileRef = 49E834BD13812555007A6598 /* QQViewport.mm */; }; 49E834CD13814F7D007A6598 /* QQGLESDebugDraw.h in Headers */ = {isa = PBXBuildFile; fileRef = 49E834C913814F7D007A6598 /* QQGLESDebugDraw.h */; }; 49E834CE13814F7D007A6598 /* QQGLESDebugDraw.mm in Sources */ = {isa = PBXBuildFile; fileRef = 49E834CA13814F7D007A6598 /* QQGLESDebugDraw.mm */; }; - 49E834D3138166A6007A6598 /* QQSparrowExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = 49E834D1138166A6007A6598 /* QQSparrowExtensions.h */; }; - 49E834D4138166A6007A6598 /* QQSparrowExtensions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 49E834D2138166A6007A6598 /* QQSparrowExtensions.mm */; }; 49F2D9C413764666000B6B8C /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 49F2D9B013764666000B6B8C /* main.mm */; }; 49F2D9D713764A9B000B6B8C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 49F2D9D413764A9B000B6B8C /* InfoPlist.strings */; }; - 49F2DA8213764ED6000B6B8C /* SPAVSound.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA2613764ED5000B6B8C /* SPAVSound.h */; }; - 49F2DA8313764ED6000B6B8C /* SPAVSound.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA2713764ED5000B6B8C /* SPAVSound.m */; }; - 49F2DA8413764ED6000B6B8C /* SPAVSoundChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA2813764ED5000B6B8C /* SPAVSoundChannel.h */; }; - 49F2DA8513764ED6000B6B8C /* SPAVSoundChannel.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA2913764ED5000B6B8C /* SPAVSoundChannel.m */; }; - 49F2DA8613764ED6000B6B8C /* SPALSound.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA2A13764ED5000B6B8C /* SPALSound.h */; }; - 49F2DA8713764ED6000B6B8C /* SPALSound.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA2B13764ED5000B6B8C /* SPALSound.m */; }; - 49F2DA8813764ED6000B6B8C /* SPALSoundChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA2C13764ED5000B6B8C /* SPALSoundChannel.h */; }; - 49F2DA8913764ED6000B6B8C /* SPALSoundChannel.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA2D13764ED5000B6B8C /* SPALSoundChannel.m */; }; - 49F2DA8A13764ED6000B6B8C /* SPAudioEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA2013764ED5000B6B8C /* SPAudioEngine.h */; }; - 49F2DA8B13764ED6000B6B8C /* SPAudioEngine.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA2113764ED5000B6B8C /* SPAudioEngine.m */; }; - 49F2DA8C13764ED6000B6B8C /* SPSound.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA2213764ED5000B6B8C /* SPSound.h */; }; - 49F2DA8D13764ED6000B6B8C /* SPSound.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA2313764ED5000B6B8C /* SPSound.m */; }; - 49F2DA8E13764ED6000B6B8C /* SPSoundChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA2413764ED5000B6B8C /* SPSoundChannel.h */; }; - 49F2DA8F13764ED6000B6B8C /* SPSoundChannel.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA2513764ED5000B6B8C /* SPSoundChannel.m */; }; - 49F2DA9013764ED6000B6B8C /* SPView.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA2E13764ED5000B6B8C /* SPView.h */; }; - 49F2DA9113764ED6000B6B8C /* SPView.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA2F13764ED5000B6B8C /* SPView.m */; }; - 49F2DA9213764ED6000B6B8C /* SPTouch_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA3B13764ED5000B6B8C /* SPTouch_Internal.h */; }; - 49F2DA9313764ED6000B6B8C /* SPEvent_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA3C13764ED5000B6B8C /* SPEvent_Internal.h */; }; - 49F2DA9413764ED6000B6B8C /* SPEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA3113764ED5000B6B8C /* SPEvent.h */; }; - 49F2DA9513764ED6000B6B8C /* SPEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA3213764ED5000B6B8C /* SPEvent.m */; }; - 49F2DA9613764ED6000B6B8C /* SPEventDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA3313764ED5000B6B8C /* SPEventDispatcher.h */; }; - 49F2DA9713764ED6000B6B8C /* SPEventDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA3413764ED5000B6B8C /* SPEventDispatcher.m */; }; - 49F2DA9813764ED6000B6B8C /* SPTouch.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA3513764ED5000B6B8C /* SPTouch.h */; }; - 49F2DA9913764ED6000B6B8C /* SPTouch.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA3613764ED5000B6B8C /* SPTouch.m */; }; - 49F2DA9A13764ED6000B6B8C /* SPTouchEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA3713764ED5000B6B8C /* SPTouchEvent.h */; }; - 49F2DA9B13764ED6000B6B8C /* SPTouchEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA3813764ED5000B6B8C /* SPTouchEvent.m */; }; - 49F2DA9C13764ED6000B6B8C /* SPEnterFrameEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA3913764ED5000B6B8C /* SPEnterFrameEvent.h */; }; - 49F2DA9D13764ED6000B6B8C /* SPEnterFrameEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA3A13764ED5000B6B8C /* SPEnterFrameEvent.m */; }; - 49F2DA9E13764ED6000B6B8C /* SPRendering.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA5213764ED5000B6B8C /* SPRendering.m */; }; - 49F2DA9F13764ED6000B6B8C /* SPRenderSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA5313764ED5000B6B8C /* SPRenderSupport.h */; }; - 49F2DAA013764ED6000B6B8C /* SPRenderSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA5413764ED5000B6B8C /* SPRenderSupport.m */; }; - 49F2DAA113764ED6000B6B8C /* SPTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA5513764ED5000B6B8C /* SPTextField.h */; }; - 49F2DAA213764ED6000B6B8C /* SPTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA5613764ED5000B6B8C /* SPTextField.m */; }; - 49F2DAA313764ED6000B6B8C /* SPBitmapFont.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA5713764ED5000B6B8C /* SPBitmapFont.h */; }; - 49F2DAA413764ED6000B6B8C /* SPBitmapFont.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA5813764ED5000B6B8C /* SPBitmapFont.m */; }; - 49F2DAA513764ED6000B6B8C /* SPBitmapChar.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA5913764ED5000B6B8C /* SPBitmapChar.h */; }; - 49F2DAA613764ED6000B6B8C /* SPBitmapChar.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA5A13764ED5000B6B8C /* SPBitmapChar.m */; }; - 49F2DAA713764ED6000B6B8C /* SPTouchProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA5B13764ED5000B6B8C /* SPTouchProcessor.h */; }; - 49F2DAA813764ED6000B6B8C /* SPTouchProcessor.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA5C13764ED5000B6B8C /* SPTouchProcessor.m */; }; - 49F2DAA913764ED6000B6B8C /* SPDisplayObject_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA5D13764ED5000B6B8C /* SPDisplayObject_Internal.h */; }; - 49F2DAAA13764ED6000B6B8C /* SPStage_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA5E13764ED5000B6B8C /* SPStage_Internal.h */; }; - 49F2DAAB13764ED6000B6B8C /* SPDisplayObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA4013764ED5000B6B8C /* SPDisplayObject.h */; }; - 49F2DAAC13764ED6000B6B8C /* SPDisplayObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA4113764ED5000B6B8C /* SPDisplayObject.m */; }; - 49F2DAAD13764ED6000B6B8C /* SPDisplayObjectContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA4213764ED5000B6B8C /* SPDisplayObjectContainer.h */; }; - 49F2DAAE13764ED6000B6B8C /* SPDisplayObjectContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA4313764ED5000B6B8C /* SPDisplayObjectContainer.m */; }; - 49F2DAAF13764ED6000B6B8C /* SPSprite.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA4413764ED5000B6B8C /* SPSprite.h */; }; - 49F2DAB013764ED6000B6B8C /* SPSprite.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA4513764ED5000B6B8C /* SPSprite.m */; }; - 49F2DAB113764ED6000B6B8C /* SPStage.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA4613764ED5000B6B8C /* SPStage.h */; }; - 49F2DAB213764ED6000B6B8C /* SPStage.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA4713764ED5000B6B8C /* SPStage.m */; }; - 49F2DAB313764ED6000B6B8C /* SPQuad.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA4813764ED5000B6B8C /* SPQuad.h */; }; - 49F2DAB413764ED6000B6B8C /* SPQuad.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA4913764ED5000B6B8C /* SPQuad.m */; }; - 49F2DAB513764ED6000B6B8C /* SPImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA4A13764ED5000B6B8C /* SPImage.h */; }; - 49F2DAB613764ED6000B6B8C /* SPImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA4B13764ED5000B6B8C /* SPImage.m */; }; - 49F2DAB713764ED6000B6B8C /* SPButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA4C13764ED5000B6B8C /* SPButton.h */; }; - 49F2DAB813764ED6000B6B8C /* SPButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA4D13764ED5000B6B8C /* SPButton.m */; }; - 49F2DAB913764ED6000B6B8C /* SPMovieClip.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA4E13764ED5000B6B8C /* SPMovieClip.h */; }; - 49F2DABA13764ED6000B6B8C /* SPMovieClip.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA4F13764ED5000B6B8C /* SPMovieClip.m */; }; - 49F2DABB13764ED6000B6B8C /* SPCompiledSprite.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA5013764ED5000B6B8C /* SPCompiledSprite.h */; }; - 49F2DABC13764ED6000B6B8C /* SPCompiledSprite.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA5113764ED5000B6B8C /* SPCompiledSprite.m */; }; - 49F2DABD13764ED6000B6B8C /* SPTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA5F13764ED5000B6B8C /* SPTexture.h */; }; - 49F2DABE13764ED6000B6B8C /* SPTexture.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA6013764ED5000B6B8C /* SPTexture.m */; }; - 49F2DABF13764ED6000B6B8C /* SPGLTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA6113764ED5000B6B8C /* SPGLTexture.h */; }; - 49F2DAC013764ED6000B6B8C /* SPGLTexture.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA6213764ED5000B6B8C /* SPGLTexture.m */; }; - 49F2DAC113764ED6000B6B8C /* SPSubTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA6313764ED5000B6B8C /* SPSubTexture.h */; }; - 49F2DAC213764ED6000B6B8C /* SPSubTexture.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA6413764ED5000B6B8C /* SPSubTexture.m */; }; - 49F2DAC313764ED6000B6B8C /* SPRenderTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA6513764ED5000B6B8C /* SPRenderTexture.h */; }; - 49F2DAC413764ED6000B6B8C /* SPRenderTexture.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA6613764ED5000B6B8C /* SPRenderTexture.m */; }; - 49F2DAC513764ED6000B6B8C /* SPTextureAtlas.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA6713764ED5000B6B8C /* SPTextureAtlas.h */; }; - 49F2DAC613764ED6000B6B8C /* SPTextureAtlas.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA6813764ED5000B6B8C /* SPTextureAtlas.m */; }; - 49F2DAC713764ED6000B6B8C /* SPTweenedProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA7313764ED5000B6B8C /* SPTweenedProperty.h */; }; - 49F2DAC813764ED6000B6B8C /* SPTweenedProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA7413764ED5000B6B8C /* SPTweenedProperty.m */; }; - 49F2DAC913764ED6000B6B8C /* SPAnimatable.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA6A13764ED5000B6B8C /* SPAnimatable.h */; }; - 49F2DACA13764ED6000B6B8C /* SPJuggler.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA6B13764ED5000B6B8C /* SPJuggler.h */; }; - 49F2DACB13764ED6000B6B8C /* SPJuggler.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA6C13764ED5000B6B8C /* SPJuggler.m */; }; - 49F2DACC13764ED6000B6B8C /* SPTransitions.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA6D13764ED5000B6B8C /* SPTransitions.h */; }; - 49F2DACD13764ED6000B6B8C /* SPTransitions.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA6E13764ED5000B6B8C /* SPTransitions.m */; }; - 49F2DACE13764ED6000B6B8C /* SPTween.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA6F13764ED5000B6B8C /* SPTween.h */; }; - 49F2DACF13764ED6000B6B8C /* SPTween.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA7013764ED5000B6B8C /* SPTween.m */; }; - 49F2DAD013764ED6000B6B8C /* SPDelayedInvocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA7113764ED5000B6B8C /* SPDelayedInvocation.h */; }; - 49F2DAD113764ED6000B6B8C /* SPDelayedInvocation.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA7213764ED5000B6B8C /* SPDelayedInvocation.m */; }; - 49F2DAD213764ED6000B6B8C /* SPMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA7513764ED6000B6B8C /* SPMacros.h */; }; - 49F2DAD313764ED6000B6B8C /* SPMatrix.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA7613764ED6000B6B8C /* SPMatrix.h */; }; - 49F2DAD413764ED6000B6B8C /* SPMatrix.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA7713764ED6000B6B8C /* SPMatrix.m */; }; - 49F2DAD513764ED6000B6B8C /* SPPoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA7813764ED6000B6B8C /* SPPoint.h */; }; - 49F2DAD613764ED6000B6B8C /* SPPoint.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA7913764ED6000B6B8C /* SPPoint.m */; }; - 49F2DAD713764ED6000B6B8C /* SPRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA7A13764ED6000B6B8C /* SPRectangle.h */; }; - 49F2DAD813764ED6000B6B8C /* SPRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA7B13764ED6000B6B8C /* SPRectangle.m */; }; - 49F2DAD913764ED6000B6B8C /* SPNSExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA7C13764ED6000B6B8C /* SPNSExtensions.h */; }; - 49F2DADA13764ED6000B6B8C /* SPNSExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA7D13764ED6000B6B8C /* SPNSExtensions.m */; }; - 49F2DADB13764ED6000B6B8C /* SPPoolObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA7E13764ED6000B6B8C /* SPPoolObject.h */; }; - 49F2DADC13764ED6000B6B8C /* SPPoolObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA7F13764ED6000B6B8C /* SPPoolObject.m */; }; - 49F2DADD13764ED6000B6B8C /* SPUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA8013764ED6000B6B8C /* SPUtils.h */; }; - 49F2DADE13764ED6000B6B8C /* SPUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 49F2DA8113764ED6000B6B8C /* SPUtils.m */; }; - 49F2DADF13764ED6000B6B8C /* Sparrow.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F2DA1D13764ED5000B6B8C /* Sparrow.h */; }; - 4B8B2A50137D098500CA4076 /* QQAnimationContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B8B2A4E137D098500CA4076 /* QQAnimationContainer.h */; }; - 4B8B2A51137D098500CA4076 /* QQAnimationContainer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4B8B2A4F137D098500CA4076 /* QQAnimationContainer.mm */; }; 4B91A15A138F644000EF4D7C /* QQPhysicsDebugView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 49E834CC13814F7D007A6598 /* QQPhysicsDebugView.mm */; }; /* End PBXBuildFile section */ @@ -414,17 +318,10 @@ 492D80DE138BA4910042D918 /* QQCooldown.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QQCooldown.h; sourceTree = ""; }; 492D80DF138BA4910042D918 /* QQCooldown.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = QQCooldown.mm; sourceTree = ""; }; 492D80F2138BA4CE0042D918 /* QQThing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QQThing.h; sourceTree = ""; }; - 492D8101138C07540042D918 /* BEParallaxSprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BEParallaxSprite.h; sourceTree = ""; }; - 492D8102138C07540042D918 /* BEParallaxSprite.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BEParallaxSprite.m; sourceTree = ""; }; - 492D8103138C07540042D918 /* SHCircle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SHCircle.h; sourceTree = ""; }; - 492D8104138C07540042D918 /* SHCircle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SHCircle.m; sourceTree = ""; }; - 492D8105138C07540042D918 /* SHLine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SHLine.h; sourceTree = ""; }; - 492D8106138C07540042D918 /* SHLine.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SHLine.m; sourceTree = ""; }; - 492D8107138C07540042D918 /* SHPolygon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SHPolygon.h; sourceTree = ""; }; - 492D8108138C07540042D918 /* SHPolygon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SHPolygon.m; sourceTree = ""; }; - 492D8109138C07540042D918 /* SparrowExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SparrowExtras.h; path = ../Extras/SparrowExtras.h; sourceTree = ""; }; - 492D810A138C07540042D918 /* SXFPSMeter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SXFPSMeter.h; sourceTree = ""; }; - 492D810B138C07540042D918 /* SXFPSMeter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SXFPSMeter.m; sourceTree = ""; }; + 493643B913A504B1009FFEDC /* QQGameLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QQGameLayer.h; sourceTree = ""; }; + 493643BA13A504B1009FFEDC /* QQGameLayer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = QQGameLayer.mm; sourceTree = ""; }; + 493643BB13A504B1009FFEDC /* QQGameScene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QQGameScene.h; sourceTree = ""; }; + 493643BC13A504B1009FFEDC /* QQGameScene.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = QQGameScene.mm; sourceTree = ""; }; 49454D4013A1B17000157788 /* CCAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCAction.h; sourceTree = ""; }; 49454D4113A1B17000157788 /* CCAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCAction.m; sourceTree = ""; }; 49454D4213A1B17000157788 /* CCActionCamera.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCActionCamera.h; sourceTree = ""; }; @@ -623,11 +520,24 @@ 49454E0C13A1B17000157788 /* CJSONSerializer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONSerializer.m; sourceTree = ""; }; 49454E0D13A1B17000157788 /* JSONRepresentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSONRepresentation.h; sourceTree = ""; }; 494DE9961376927C00FDB3D7 /* libBox2D.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libBox2D.a; sourceTree = SOURCE_ROOT; }; + 496984AF13A78BB50098352E /* pink.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pink.png; sourceTree = ""; }; + 496984B113A78CA90098352E /* white.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = white.png; sourceTree = ""; }; + 496984B313A78D1E0098352E /* 1x1-trans.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "1x1-trans.png"; sourceTree = ""; }; + 496984B413A78D1E0098352E /* 1x1-white.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "1x1-white.png"; sourceTree = ""; }; + 496984B713A7966C0098352E /* circle-32x32-white.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "circle-32x32-white.png"; sourceTree = ""; }; + 496984B913A796720098352E /* fps_images.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = fps_images.png; sourceTree = ""; }; + 496984BE13A7A3990098352E /* QQWorld_Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QQWorld_Internal.h; sourceTree = ""; }; + 496984C013A7A8DF0098352E /* CCNode+QQExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CCNode+QQExtensions.h"; sourceTree = ""; }; + 496984C113A7A8E00098352E /* CCNode+QQExtensions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "CCNode+QQExtensions.mm"; sourceTree = ""; }; 4978AD131396139100930447 /* Tanks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tanks.h; sourceTree = ""; }; 4978AD161396302300930447 /* QQContactNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QQContactNotification.h; sourceTree = ""; }; 4978AD171396302300930447 /* QQContactNotification.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = QQContactNotification.mm; sourceTree = ""; }; 4978AD181396302300930447 /* QQPhysicalEvents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QQPhysicalEvents.h; sourceTree = ""; }; 4978AD191396302300930447 /* QQPhysicalEvents.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = QQPhysicalEvents.mm; sourceTree = ""; }; + 4987363D13A23D6600CE6BCC /* QQCocosAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QQCocosAppDelegate.h; sourceTree = ""; }; + 4987363E13A23D6600CE6BCC /* QQCocosAppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = QQCocosAppDelegate.mm; sourceTree = ""; }; + 4987363F13A23D6600CE6BCC /* QQRootViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QQRootViewController.h; sourceTree = ""; }; + 4987364013A23D6600CE6BCC /* QQRootViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = QQRootViewController.mm; sourceTree = ""; }; 4995ABCA1381C46B00334646 /* Icon-iPad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-iPad.png"; sourceTree = ""; }; 4995ABCB1381C46B00334646 /* Icon-iPhone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-iPhone.png"; sourceTree = ""; }; 4995ABCC1381C46B00334646 /* Icon-iPhone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-iPhone@2x.png"; sourceTree = ""; }; @@ -708,115 +618,15 @@ 49E834B813812555007A6598 /* QQAppDelegate_iPhone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QQAppDelegate_iPhone.h; sourceTree = ""; }; 49E834B913812555007A6598 /* QQAppDelegate_iPhone.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = QQAppDelegate_iPhone.mm; sourceTree = ""; }; 49E834BB13812555007A6598 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainWindow_iPhone.xib; sourceTree = ""; }; - 49E834BC13812555007A6598 /* QQViewport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QQViewport.h; sourceTree = ""; }; - 49E834BD13812555007A6598 /* QQViewport.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = QQViewport.mm; sourceTree = ""; }; 49E834C913814F7D007A6598 /* QQGLESDebugDraw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QQGLESDebugDraw.h; sourceTree = ""; }; 49E834CA13814F7D007A6598 /* QQGLESDebugDraw.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = QQGLESDebugDraw.mm; sourceTree = ""; }; 49E834CB13814F7D007A6598 /* QQPhysicsDebugView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QQPhysicsDebugView.h; sourceTree = ""; }; 49E834CC13814F7D007A6598 /* QQPhysicsDebugView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = QQPhysicsDebugView.mm; sourceTree = ""; }; - 49E834D1138166A6007A6598 /* QQSparrowExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QQSparrowExtensions.h; sourceTree = ""; }; - 49E834D2138166A6007A6598 /* QQSparrowExtensions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = QQSparrowExtensions.mm; sourceTree = ""; }; 49F2D99B137645DF000B6B8C /* box2d-ios.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "box2d-ios.xcodeproj"; path = "libs/box2d/box2d-ios.xcodeproj"; sourceTree = ""; }; 49F2D9B013764666000B6B8C /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = ""; }; 49F2D9B213764666000B6B8C /* prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = prefix.pch; sourceTree = ""; }; 49F2D9D513764A9B000B6B8C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 49F2D9D613764A9B000B6B8C /* tanks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "tanks-Info.plist"; sourceTree = ""; }; - 49F2DA1D13764ED5000B6B8C /* Sparrow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Sparrow.h; sourceTree = ""; }; - 49F2DA2013764ED5000B6B8C /* SPAudioEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPAudioEngine.h; sourceTree = ""; }; - 49F2DA2113764ED5000B6B8C /* SPAudioEngine.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPAudioEngine.m; sourceTree = ""; }; - 49F2DA2213764ED5000B6B8C /* SPSound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPSound.h; sourceTree = ""; }; - 49F2DA2313764ED5000B6B8C /* SPSound.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPSound.m; sourceTree = ""; }; - 49F2DA2413764ED5000B6B8C /* SPSoundChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPSoundChannel.h; sourceTree = ""; }; - 49F2DA2513764ED5000B6B8C /* SPSoundChannel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPSoundChannel.m; sourceTree = ""; }; - 49F2DA2613764ED5000B6B8C /* SPAVSound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPAVSound.h; sourceTree = ""; }; - 49F2DA2713764ED5000B6B8C /* SPAVSound.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPAVSound.m; sourceTree = ""; }; - 49F2DA2813764ED5000B6B8C /* SPAVSoundChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPAVSoundChannel.h; sourceTree = ""; }; - 49F2DA2913764ED5000B6B8C /* SPAVSoundChannel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPAVSoundChannel.m; sourceTree = ""; }; - 49F2DA2A13764ED5000B6B8C /* SPALSound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPALSound.h; sourceTree = ""; }; - 49F2DA2B13764ED5000B6B8C /* SPALSound.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPALSound.m; sourceTree = ""; }; - 49F2DA2C13764ED5000B6B8C /* SPALSoundChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPALSoundChannel.h; sourceTree = ""; }; - 49F2DA2D13764ED5000B6B8C /* SPALSoundChannel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPALSoundChannel.m; sourceTree = ""; }; - 49F2DA2E13764ED5000B6B8C /* SPView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPView.h; sourceTree = ""; }; - 49F2DA2F13764ED5000B6B8C /* SPView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPView.m; sourceTree = ""; }; - 49F2DA3113764ED5000B6B8C /* SPEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPEvent.h; sourceTree = ""; }; - 49F2DA3213764ED5000B6B8C /* SPEvent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPEvent.m; sourceTree = ""; }; - 49F2DA3313764ED5000B6B8C /* SPEventDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPEventDispatcher.h; sourceTree = ""; }; - 49F2DA3413764ED5000B6B8C /* SPEventDispatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPEventDispatcher.m; sourceTree = ""; }; - 49F2DA3513764ED5000B6B8C /* SPTouch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPTouch.h; sourceTree = ""; }; - 49F2DA3613764ED5000B6B8C /* SPTouch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPTouch.m; sourceTree = ""; }; - 49F2DA3713764ED5000B6B8C /* SPTouchEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPTouchEvent.h; sourceTree = ""; }; - 49F2DA3813764ED5000B6B8C /* SPTouchEvent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPTouchEvent.m; sourceTree = ""; }; - 49F2DA3913764ED5000B6B8C /* SPEnterFrameEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPEnterFrameEvent.h; sourceTree = ""; }; - 49F2DA3A13764ED5000B6B8C /* SPEnterFrameEvent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPEnterFrameEvent.m; sourceTree = ""; }; - 49F2DA3B13764ED5000B6B8C /* SPTouch_Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPTouch_Internal.h; sourceTree = ""; }; - 49F2DA3C13764ED5000B6B8C /* SPEvent_Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPEvent_Internal.h; sourceTree = ""; }; - 49F2DA4013764ED5000B6B8C /* SPDisplayObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPDisplayObject.h; sourceTree = ""; }; - 49F2DA4113764ED5000B6B8C /* SPDisplayObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPDisplayObject.m; sourceTree = ""; }; - 49F2DA4213764ED5000B6B8C /* SPDisplayObjectContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPDisplayObjectContainer.h; sourceTree = ""; }; - 49F2DA4313764ED5000B6B8C /* SPDisplayObjectContainer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPDisplayObjectContainer.m; sourceTree = ""; }; - 49F2DA4413764ED5000B6B8C /* SPSprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPSprite.h; sourceTree = ""; }; - 49F2DA4513764ED5000B6B8C /* SPSprite.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPSprite.m; sourceTree = ""; }; - 49F2DA4613764ED5000B6B8C /* SPStage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPStage.h; sourceTree = ""; }; - 49F2DA4713764ED5000B6B8C /* SPStage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPStage.m; sourceTree = ""; }; - 49F2DA4813764ED5000B6B8C /* SPQuad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPQuad.h; sourceTree = ""; }; - 49F2DA4913764ED5000B6B8C /* SPQuad.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPQuad.m; sourceTree = ""; }; - 49F2DA4A13764ED5000B6B8C /* SPImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPImage.h; sourceTree = ""; }; - 49F2DA4B13764ED5000B6B8C /* SPImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPImage.m; sourceTree = ""; }; - 49F2DA4C13764ED5000B6B8C /* SPButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPButton.h; sourceTree = ""; }; - 49F2DA4D13764ED5000B6B8C /* SPButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPButton.m; sourceTree = ""; }; - 49F2DA4E13764ED5000B6B8C /* SPMovieClip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPMovieClip.h; sourceTree = ""; }; - 49F2DA4F13764ED5000B6B8C /* SPMovieClip.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPMovieClip.m; sourceTree = ""; }; - 49F2DA5013764ED5000B6B8C /* SPCompiledSprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPCompiledSprite.h; sourceTree = ""; }; - 49F2DA5113764ED5000B6B8C /* SPCompiledSprite.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPCompiledSprite.m; sourceTree = ""; }; - 49F2DA5213764ED5000B6B8C /* SPRendering.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPRendering.m; sourceTree = ""; }; - 49F2DA5313764ED5000B6B8C /* SPRenderSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPRenderSupport.h; sourceTree = ""; }; - 49F2DA5413764ED5000B6B8C /* SPRenderSupport.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPRenderSupport.m; sourceTree = ""; }; - 49F2DA5513764ED5000B6B8C /* SPTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPTextField.h; sourceTree = ""; }; - 49F2DA5613764ED5000B6B8C /* SPTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPTextField.m; sourceTree = ""; }; - 49F2DA5713764ED5000B6B8C /* SPBitmapFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPBitmapFont.h; sourceTree = ""; }; - 49F2DA5813764ED5000B6B8C /* SPBitmapFont.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPBitmapFont.m; sourceTree = ""; }; - 49F2DA5913764ED5000B6B8C /* SPBitmapChar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPBitmapChar.h; sourceTree = ""; }; - 49F2DA5A13764ED5000B6B8C /* SPBitmapChar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPBitmapChar.m; sourceTree = ""; }; - 49F2DA5B13764ED5000B6B8C /* SPTouchProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPTouchProcessor.h; sourceTree = ""; }; - 49F2DA5C13764ED5000B6B8C /* SPTouchProcessor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPTouchProcessor.m; sourceTree = ""; }; - 49F2DA5D13764ED5000B6B8C /* SPDisplayObject_Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPDisplayObject_Internal.h; sourceTree = ""; }; - 49F2DA5E13764ED5000B6B8C /* SPStage_Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPStage_Internal.h; sourceTree = ""; }; - 49F2DA5F13764ED5000B6B8C /* SPTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPTexture.h; sourceTree = ""; }; - 49F2DA6013764ED5000B6B8C /* SPTexture.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPTexture.m; sourceTree = ""; }; - 49F2DA6113764ED5000B6B8C /* SPGLTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPGLTexture.h; sourceTree = ""; }; - 49F2DA6213764ED5000B6B8C /* SPGLTexture.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPGLTexture.m; sourceTree = ""; }; - 49F2DA6313764ED5000B6B8C /* SPSubTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPSubTexture.h; sourceTree = ""; }; - 49F2DA6413764ED5000B6B8C /* SPSubTexture.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPSubTexture.m; sourceTree = ""; }; - 49F2DA6513764ED5000B6B8C /* SPRenderTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPRenderTexture.h; sourceTree = ""; }; - 49F2DA6613764ED5000B6B8C /* SPRenderTexture.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPRenderTexture.m; sourceTree = ""; }; - 49F2DA6713764ED5000B6B8C /* SPTextureAtlas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPTextureAtlas.h; sourceTree = ""; }; - 49F2DA6813764ED5000B6B8C /* SPTextureAtlas.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPTextureAtlas.m; sourceTree = ""; }; - 49F2DA6A13764ED5000B6B8C /* SPAnimatable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPAnimatable.h; sourceTree = ""; }; - 49F2DA6B13764ED5000B6B8C /* SPJuggler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPJuggler.h; sourceTree = ""; }; - 49F2DA6C13764ED5000B6B8C /* SPJuggler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPJuggler.m; sourceTree = ""; }; - 49F2DA6D13764ED5000B6B8C /* SPTransitions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPTransitions.h; sourceTree = ""; }; - 49F2DA6E13764ED5000B6B8C /* SPTransitions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPTransitions.m; sourceTree = ""; }; - 49F2DA6F13764ED5000B6B8C /* SPTween.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPTween.h; sourceTree = ""; }; - 49F2DA7013764ED5000B6B8C /* SPTween.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPTween.m; sourceTree = ""; }; - 49F2DA7113764ED5000B6B8C /* SPDelayedInvocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPDelayedInvocation.h; sourceTree = ""; }; - 49F2DA7213764ED5000B6B8C /* SPDelayedInvocation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPDelayedInvocation.m; sourceTree = ""; }; - 49F2DA7313764ED5000B6B8C /* SPTweenedProperty.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPTweenedProperty.h; sourceTree = ""; }; - 49F2DA7413764ED5000B6B8C /* SPTweenedProperty.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPTweenedProperty.m; sourceTree = ""; }; - 49F2DA7513764ED6000B6B8C /* SPMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPMacros.h; sourceTree = ""; }; - 49F2DA7613764ED6000B6B8C /* SPMatrix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPMatrix.h; sourceTree = ""; }; - 49F2DA7713764ED6000B6B8C /* SPMatrix.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPMatrix.m; sourceTree = ""; }; - 49F2DA7813764ED6000B6B8C /* SPPoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPPoint.h; sourceTree = ""; }; - 49F2DA7913764ED6000B6B8C /* SPPoint.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPPoint.m; sourceTree = ""; }; - 49F2DA7A13764ED6000B6B8C /* SPRectangle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPRectangle.h; sourceTree = ""; }; - 49F2DA7B13764ED6000B6B8C /* SPRectangle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPRectangle.m; sourceTree = ""; }; - 49F2DA7C13764ED6000B6B8C /* SPNSExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPNSExtensions.h; sourceTree = ""; }; - 49F2DA7D13764ED6000B6B8C /* SPNSExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPNSExtensions.m; sourceTree = ""; }; - 49F2DA7E13764ED6000B6B8C /* SPPoolObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPPoolObject.h; sourceTree = ""; }; - 49F2DA7F13764ED6000B6B8C /* SPPoolObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPPoolObject.m; sourceTree = ""; }; - 49F2DA8013764ED6000B6B8C /* SPUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPUtils.h; sourceTree = ""; }; - 49F2DA8113764ED6000B6B8C /* SPUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPUtils.m; sourceTree = ""; }; - 4B8B2A4E137D098500CA4076 /* QQAnimationContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = QQAnimationContainer.h; path = animation/QQAnimationContainer.h; sourceTree = ""; }; - 4B8B2A4F137D098500CA4076 /* QQAnimationContainer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = QQAnimationContainer.mm; path = animation/QQAnimationContainer.mm; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -857,22 +667,15 @@ path = ability; sourceTree = ""; }; - 492D8100138C07540042D918 /* Extras */ = { + 493643B813A504B1009FFEDC /* game */ = { isa = PBXGroup; children = ( - 492D8101138C07540042D918 /* BEParallaxSprite.h */, - 492D8102138C07540042D918 /* BEParallaxSprite.m */, - 492D8103138C07540042D918 /* SHCircle.h */, - 492D8104138C07540042D918 /* SHCircle.m */, - 492D8105138C07540042D918 /* SHLine.h */, - 492D8106138C07540042D918 /* SHLine.m */, - 492D8107138C07540042D918 /* SHPolygon.h */, - 492D8108138C07540042D918 /* SHPolygon.m */, - 492D810A138C07540042D918 /* SXFPSMeter.h */, - 492D810B138C07540042D918 /* SXFPSMeter.m */, + 493643B913A504B1009FFEDC /* QQGameLayer.h */, + 493643BA13A504B1009FFEDC /* QQGameLayer.mm */, + 493643BB13A504B1009FFEDC /* QQGameScene.h */, + 493643BC13A504B1009FFEDC /* QQGameScene.mm */, ); - name = Extras; - path = ../Extras; + path = game; sourceTree = ""; }; 49454D3F13A1B17000157788 /* cocos2d */ = { @@ -1204,6 +1007,12 @@ 4995ABD11381C46B00334646 /* tank-pink.png */, 4995ABD21381C46B00334646 /* tank-pink2-big.png */, 4995ABD31381C46B00334646 /* tank-pink2.png */, + 496984AF13A78BB50098352E /* pink.png */, + 496984B113A78CA90098352E /* white.png */, + 496984B313A78D1E0098352E /* 1x1-trans.png */, + 496984B413A78D1E0098352E /* 1x1-white.png */, + 496984B713A7966C0098352E /* circle-32x32-white.png */, + 496984B913A796720098352E /* fps_images.png */, ); path = images; sourceTree = ""; @@ -1340,12 +1149,15 @@ 49E834AF13812555007A6598 /* ui */ = { isa = PBXGroup; children = ( + 493643B813A504B1009FFEDC /* game */, 49E834B213812555007A6598 /* iPad */, 49E834B713812555007A6598 /* iPhone */, 49E834B013812555007A6598 /* QQAppDelegate.h */, 49E834B113812555007A6598 /* QQAppDelegate.mm */, - 49E834BC13812555007A6598 /* QQViewport.h */, - 49E834BD13812555007A6598 /* QQViewport.mm */, + 4987363D13A23D6600CE6BCC /* QQCocosAppDelegate.h */, + 4987363E13A23D6600CE6BCC /* QQCocosAppDelegate.mm */, + 4987363F13A23D6600CE6BCC /* QQRootViewController.h */, + 4987364013A23D6600CE6BCC /* QQRootViewController.mm */, ); path = ui; sourceTree = ""; @@ -1411,6 +1223,7 @@ 4978AD151396302300930447 /* event */, 49E834C813814F7C007A6598 /* debug */, 49DA67D2137847A7004841E9 /* QQWorld.h */, + 496984BE13A7A3990098352E /* QQWorld_Internal.h */, 49DA67D3137847A7004841E9 /* QQWorld.mm */, ); path = physics; @@ -1419,13 +1232,12 @@ 49F2D9B313764666000B6B8C /* render */ = { isa = PBXGroup; children = ( - 4B8B2A4D137D090D00CA4076 /* animation */, + 496984C013A7A8DF0098352E /* CCNode+QQExtensions.h */, + 496984C113A7A8E00098352E /* CCNode+QQExtensions.mm */, 499F6605139D31FC00309DE4 /* QQQuad.h */, 499F6606139D31FC00309DE4 /* QQQuad.mm */, 49D8645B1392DB2800BC341C /* QQShape.h */, 49D8645C1392DB2800BC341C /* QQShape.mm */, - 49E834D1138166A6007A6598 /* QQSparrowExtensions.h */, - 49E834D2138166A6007A6598 /* QQSparrowExtensions.mm */, ); path = render; sourceTree = ""; @@ -1439,222 +1251,6 @@ path = etc; sourceTree = ""; }; - 49F2DA1513764ED5000B6B8C /* Sparrow */ = { - isa = PBXGroup; - children = ( - 49F2DA1613764ED5000B6B8C /* Audio */, - 49F2DA1713764ED5000B6B8C /* System */, - 49F2DA1813764ED5000B6B8C /* Events */, - 49F2DA1913764ED5000B6B8C /* Display */, - 49F2DA1A13764ED5000B6B8C /* Textures */, - 49F2DA1B13764ED5000B6B8C /* Animation */, - 49F2DA1C13764ED5000B6B8C /* Utils */, - 492D8100138C07540042D918 /* Extras */, - 49F2DA1D13764ED5000B6B8C /* Sparrow.h */, - 492D8109138C07540042D918 /* SparrowExtras.h */, - ); - name = Sparrow; - path = libs/sparrow/src/Classes; - sourceTree = ""; - }; - 49F2DA1613764ED5000B6B8C /* Audio */ = { - isa = PBXGroup; - children = ( - 49F2DA1E13764ED5000B6B8C /* AVFoundation */, - 49F2DA1F13764ED5000B6B8C /* OpenAL */, - 49F2DA2013764ED5000B6B8C /* SPAudioEngine.h */, - 49F2DA2113764ED5000B6B8C /* SPAudioEngine.m */, - 49F2DA2213764ED5000B6B8C /* SPSound.h */, - 49F2DA2313764ED5000B6B8C /* SPSound.m */, - 49F2DA2413764ED5000B6B8C /* SPSoundChannel.h */, - 49F2DA2513764ED5000B6B8C /* SPSoundChannel.m */, - ); - name = Audio; - sourceTree = ""; - }; - 49F2DA1713764ED5000B6B8C /* System */ = { - isa = PBXGroup; - children = ( - 49F2DA2E13764ED5000B6B8C /* SPView.h */, - 49F2DA2F13764ED5000B6B8C /* SPView.m */, - ); - name = System; - sourceTree = ""; - }; - 49F2DA1813764ED5000B6B8C /* Events */ = { - isa = PBXGroup; - children = ( - 49F2DA3013764ED5000B6B8C /* Internal */, - 49F2DA3113764ED5000B6B8C /* SPEvent.h */, - 49F2DA3213764ED5000B6B8C /* SPEvent.m */, - 49F2DA3313764ED5000B6B8C /* SPEventDispatcher.h */, - 49F2DA3413764ED5000B6B8C /* SPEventDispatcher.m */, - 49F2DA3513764ED5000B6B8C /* SPTouch.h */, - 49F2DA3613764ED5000B6B8C /* SPTouch.m */, - 49F2DA3713764ED5000B6B8C /* SPTouchEvent.h */, - 49F2DA3813764ED5000B6B8C /* SPTouchEvent.m */, - 49F2DA3913764ED5000B6B8C /* SPEnterFrameEvent.h */, - 49F2DA3A13764ED5000B6B8C /* SPEnterFrameEvent.m */, - ); - name = Events; - sourceTree = ""; - }; - 49F2DA1913764ED5000B6B8C /* Display */ = { - isa = PBXGroup; - children = ( - 49F2DA3D13764ED5000B6B8C /* Rendering */, - 49F2DA3E13764ED5000B6B8C /* Text */, - 49F2DA3F13764ED5000B6B8C /* Internal */, - 49F2DA4013764ED5000B6B8C /* SPDisplayObject.h */, - 49F2DA4113764ED5000B6B8C /* SPDisplayObject.m */, - 49F2DA4213764ED5000B6B8C /* SPDisplayObjectContainer.h */, - 49F2DA4313764ED5000B6B8C /* SPDisplayObjectContainer.m */, - 49F2DA4413764ED5000B6B8C /* SPSprite.h */, - 49F2DA4513764ED5000B6B8C /* SPSprite.m */, - 49F2DA4613764ED5000B6B8C /* SPStage.h */, - 49F2DA4713764ED5000B6B8C /* SPStage.m */, - 49F2DA4813764ED5000B6B8C /* SPQuad.h */, - 49F2DA4913764ED5000B6B8C /* SPQuad.m */, - 49F2DA4A13764ED5000B6B8C /* SPImage.h */, - 49F2DA4B13764ED5000B6B8C /* SPImage.m */, - 49F2DA4C13764ED5000B6B8C /* SPButton.h */, - 49F2DA4D13764ED5000B6B8C /* SPButton.m */, - 49F2DA4E13764ED5000B6B8C /* SPMovieClip.h */, - 49F2DA4F13764ED5000B6B8C /* SPMovieClip.m */, - 49F2DA5013764ED5000B6B8C /* SPCompiledSprite.h */, - 49F2DA5113764ED5000B6B8C /* SPCompiledSprite.m */, - ); - name = Display; - sourceTree = ""; - }; - 49F2DA1A13764ED5000B6B8C /* Textures */ = { - isa = PBXGroup; - children = ( - 49F2DA5F13764ED5000B6B8C /* SPTexture.h */, - 49F2DA6013764ED5000B6B8C /* SPTexture.m */, - 49F2DA6113764ED5000B6B8C /* SPGLTexture.h */, - 49F2DA6213764ED5000B6B8C /* SPGLTexture.m */, - 49F2DA6313764ED5000B6B8C /* SPSubTexture.h */, - 49F2DA6413764ED5000B6B8C /* SPSubTexture.m */, - 49F2DA6513764ED5000B6B8C /* SPRenderTexture.h */, - 49F2DA6613764ED5000B6B8C /* SPRenderTexture.m */, - 49F2DA6713764ED5000B6B8C /* SPTextureAtlas.h */, - 49F2DA6813764ED5000B6B8C /* SPTextureAtlas.m */, - ); - name = Textures; - sourceTree = ""; - }; - 49F2DA1B13764ED5000B6B8C /* Animation */ = { - isa = PBXGroup; - children = ( - 49F2DA6913764ED5000B6B8C /* Internal */, - 49F2DA6A13764ED5000B6B8C /* SPAnimatable.h */, - 49F2DA6B13764ED5000B6B8C /* SPJuggler.h */, - 49F2DA6C13764ED5000B6B8C /* SPJuggler.m */, - 49F2DA6D13764ED5000B6B8C /* SPTransitions.h */, - 49F2DA6E13764ED5000B6B8C /* SPTransitions.m */, - 49F2DA6F13764ED5000B6B8C /* SPTween.h */, - 49F2DA7013764ED5000B6B8C /* SPTween.m */, - 49F2DA7113764ED5000B6B8C /* SPDelayedInvocation.h */, - 49F2DA7213764ED5000B6B8C /* SPDelayedInvocation.m */, - ); - name = Animation; - sourceTree = ""; - }; - 49F2DA1C13764ED5000B6B8C /* Utils */ = { - isa = PBXGroup; - children = ( - 49F2DA7513764ED6000B6B8C /* SPMacros.h */, - 49F2DA7613764ED6000B6B8C /* SPMatrix.h */, - 49F2DA7713764ED6000B6B8C /* SPMatrix.m */, - 49F2DA7813764ED6000B6B8C /* SPPoint.h */, - 49F2DA7913764ED6000B6B8C /* SPPoint.m */, - 49F2DA7A13764ED6000B6B8C /* SPRectangle.h */, - 49F2DA7B13764ED6000B6B8C /* SPRectangle.m */, - 49F2DA7C13764ED6000B6B8C /* SPNSExtensions.h */, - 49F2DA7D13764ED6000B6B8C /* SPNSExtensions.m */, - 49F2DA7E13764ED6000B6B8C /* SPPoolObject.h */, - 49F2DA7F13764ED6000B6B8C /* SPPoolObject.m */, - 49F2DA8013764ED6000B6B8C /* SPUtils.h */, - 49F2DA8113764ED6000B6B8C /* SPUtils.m */, - ); - name = Utils; - sourceTree = ""; - }; - 49F2DA1E13764ED5000B6B8C /* AVFoundation */ = { - isa = PBXGroup; - children = ( - 49F2DA2613764ED5000B6B8C /* SPAVSound.h */, - 49F2DA2713764ED5000B6B8C /* SPAVSound.m */, - 49F2DA2813764ED5000B6B8C /* SPAVSoundChannel.h */, - 49F2DA2913764ED5000B6B8C /* SPAVSoundChannel.m */, - ); - name = AVFoundation; - sourceTree = ""; - }; - 49F2DA1F13764ED5000B6B8C /* OpenAL */ = { - isa = PBXGroup; - children = ( - 49F2DA2A13764ED5000B6B8C /* SPALSound.h */, - 49F2DA2B13764ED5000B6B8C /* SPALSound.m */, - 49F2DA2C13764ED5000B6B8C /* SPALSoundChannel.h */, - 49F2DA2D13764ED5000B6B8C /* SPALSoundChannel.m */, - ); - name = OpenAL; - sourceTree = ""; - }; - 49F2DA3013764ED5000B6B8C /* Internal */ = { - isa = PBXGroup; - children = ( - 49F2DA3B13764ED5000B6B8C /* SPTouch_Internal.h */, - 49F2DA3C13764ED5000B6B8C /* SPEvent_Internal.h */, - ); - name = Internal; - sourceTree = ""; - }; - 49F2DA3D13764ED5000B6B8C /* Rendering */ = { - isa = PBXGroup; - children = ( - 49F2DA5213764ED5000B6B8C /* SPRendering.m */, - 49F2DA5313764ED5000B6B8C /* SPRenderSupport.h */, - 49F2DA5413764ED5000B6B8C /* SPRenderSupport.m */, - ); - name = Rendering; - sourceTree = ""; - }; - 49F2DA3E13764ED5000B6B8C /* Text */ = { - isa = PBXGroup; - children = ( - 49F2DA5513764ED5000B6B8C /* SPTextField.h */, - 49F2DA5613764ED5000B6B8C /* SPTextField.m */, - 49F2DA5713764ED5000B6B8C /* SPBitmapFont.h */, - 49F2DA5813764ED5000B6B8C /* SPBitmapFont.m */, - 49F2DA5913764ED5000B6B8C /* SPBitmapChar.h */, - 49F2DA5A13764ED5000B6B8C /* SPBitmapChar.m */, - ); - name = Text; - sourceTree = ""; - }; - 49F2DA3F13764ED5000B6B8C /* Internal */ = { - isa = PBXGroup; - children = ( - 49F2DA5B13764ED5000B6B8C /* SPTouchProcessor.h */, - 49F2DA5C13764ED5000B6B8C /* SPTouchProcessor.m */, - 49F2DA5D13764ED5000B6B8C /* SPDisplayObject_Internal.h */, - 49F2DA5E13764ED5000B6B8C /* SPStage_Internal.h */, - ); - name = Internal; - sourceTree = ""; - }; - 49F2DA6913764ED5000B6B8C /* Internal */ = { - isa = PBXGroup; - children = ( - 49F2DA7313764ED5000B6B8C /* SPTweenedProperty.h */, - 49F2DA7413764ED5000B6B8C /* SPTweenedProperty.m */, - ); - name = Internal; - sourceTree = ""; - }; 49F2DAE013764EDF000B6B8C /* libs */ = { isa = PBXGroup; children = ( @@ -1662,20 +1258,10 @@ 49454DE813A1B17000157788 /* CocosDenshion */, 49454DF213A1B17000157788 /* FontLabel */, 49454DFE13A1B17000157788 /* TouchJSON */, - 49F2DA1513764ED5000B6B8C /* Sparrow */, ); name = libs; sourceTree = ""; }; - 4B8B2A4D137D090D00CA4076 /* animation */ = { - isa = PBXGroup; - children = ( - 4B8B2A4E137D098500CA4076 /* QQAnimationContainer.h */, - 4B8B2A4F137D098500CA4076 /* QQAnimationContainer.mm */, - ); - name = animation; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -1683,73 +1269,14 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 49F2DA8213764ED6000B6B8C /* SPAVSound.h in Headers */, - 49F2DA8413764ED6000B6B8C /* SPAVSoundChannel.h in Headers */, - 49F2DA8613764ED6000B6B8C /* SPALSound.h in Headers */, - 49F2DA8813764ED6000B6B8C /* SPALSoundChannel.h in Headers */, - 49F2DA8A13764ED6000B6B8C /* SPAudioEngine.h in Headers */, - 49F2DA8C13764ED6000B6B8C /* SPSound.h in Headers */, - 49F2DA8E13764ED6000B6B8C /* SPSoundChannel.h in Headers */, - 49F2DA9013764ED6000B6B8C /* SPView.h in Headers */, - 49F2DA9213764ED6000B6B8C /* SPTouch_Internal.h in Headers */, - 49F2DA9313764ED6000B6B8C /* SPEvent_Internal.h in Headers */, - 49F2DA9413764ED6000B6B8C /* SPEvent.h in Headers */, - 49F2DA9613764ED6000B6B8C /* SPEventDispatcher.h in Headers */, - 49F2DA9813764ED6000B6B8C /* SPTouch.h in Headers */, - 49F2DA9A13764ED6000B6B8C /* SPTouchEvent.h in Headers */, - 49F2DA9C13764ED6000B6B8C /* SPEnterFrameEvent.h in Headers */, - 49F2DA9F13764ED6000B6B8C /* SPRenderSupport.h in Headers */, - 49F2DAA113764ED6000B6B8C /* SPTextField.h in Headers */, - 49F2DAA313764ED6000B6B8C /* SPBitmapFont.h in Headers */, - 49F2DAA513764ED6000B6B8C /* SPBitmapChar.h in Headers */, - 49F2DAA713764ED6000B6B8C /* SPTouchProcessor.h in Headers */, - 49F2DAA913764ED6000B6B8C /* SPDisplayObject_Internal.h in Headers */, - 49F2DAAA13764ED6000B6B8C /* SPStage_Internal.h in Headers */, - 49F2DAAB13764ED6000B6B8C /* SPDisplayObject.h in Headers */, - 49F2DAAD13764ED6000B6B8C /* SPDisplayObjectContainer.h in Headers */, - 49F2DAAF13764ED6000B6B8C /* SPSprite.h in Headers */, - 49F2DAB113764ED6000B6B8C /* SPStage.h in Headers */, - 49F2DAB313764ED6000B6B8C /* SPQuad.h in Headers */, - 49F2DAB513764ED6000B6B8C /* SPImage.h in Headers */, - 49F2DAB713764ED6000B6B8C /* SPButton.h in Headers */, - 49F2DAB913764ED6000B6B8C /* SPMovieClip.h in Headers */, - 49F2DABB13764ED6000B6B8C /* SPCompiledSprite.h in Headers */, - 49F2DABD13764ED6000B6B8C /* SPTexture.h in Headers */, - 49F2DABF13764ED6000B6B8C /* SPGLTexture.h in Headers */, - 49F2DAC113764ED6000B6B8C /* SPSubTexture.h in Headers */, - 49F2DAC313764ED6000B6B8C /* SPRenderTexture.h in Headers */, - 49F2DAC513764ED6000B6B8C /* SPTextureAtlas.h in Headers */, - 49F2DAC713764ED6000B6B8C /* SPTweenedProperty.h in Headers */, - 49F2DAC913764ED6000B6B8C /* SPAnimatable.h in Headers */, - 49F2DACA13764ED6000B6B8C /* SPJuggler.h in Headers */, - 49F2DACC13764ED6000B6B8C /* SPTransitions.h in Headers */, - 49F2DACE13764ED6000B6B8C /* SPTween.h in Headers */, - 49F2DAD013764ED6000B6B8C /* SPDelayedInvocation.h in Headers */, - 49F2DAD213764ED6000B6B8C /* SPMacros.h in Headers */, - 49F2DAD313764ED6000B6B8C /* SPMatrix.h in Headers */, - 49F2DAD513764ED6000B6B8C /* SPPoint.h in Headers */, - 49F2DAD713764ED6000B6B8C /* SPRectangle.h in Headers */, - 49F2DAD913764ED6000B6B8C /* SPNSExtensions.h in Headers */, - 49F2DADB13764ED6000B6B8C /* SPPoolObject.h in Headers */, - 49F2DADD13764ED6000B6B8C /* SPUtils.h in Headers */, - 49F2DADF13764ED6000B6B8C /* Sparrow.h in Headers */, - 492D810C138C07540042D918 /* BEParallaxSprite.h in Headers */, - 492D810E138C07540042D918 /* SHCircle.h in Headers */, - 492D8110138C07540042D918 /* SHLine.h in Headers */, - 492D8112138C07540042D918 /* SHPolygon.h in Headers */, - 492D8115138C07540042D918 /* SXFPSMeter.h in Headers */, - 492D8114138C07540042D918 /* SparrowExtras.h in Headers */, 49DA67D4137847A7004841E9 /* QQWorld.h in Headers */, - 4B8B2A50137D098500CA4076 /* QQAnimationContainer.h in Headers */, 49E834A713812427007A6598 /* QQActive.h in Headers */, 49E834AC13812427007A6598 /* QQDisplayable.h in Headers */, 4995ABB213816CCE00334646 /* QQGame.h in Headers */, 49E834BE13812555007A6598 /* QQAppDelegate.h in Headers */, 49E834C013812555007A6598 /* QQAppDelegate_iPad.h in Headers */, 49E834C313812555007A6598 /* QQAppDelegate_iPhone.h in Headers */, - 49E834C613812555007A6598 /* QQViewport.h in Headers */, 49E834CD13814F7D007A6598 /* QQGLESDebugDraw.h in Headers */, - 49E834D3138166A6007A6598 /* QQSparrowExtensions.h in Headers */, 492D80CC138B231B0042D918 /* QQPhysical.h in Headers */, 492D80E4138BA4910042D918 /* QQCooldown.h in Headers */, 492D80F3138BA4CE0042D918 /* QQThing.h in Headers */, @@ -1882,6 +1409,12 @@ 49454ECF13A1B17000157788 /* CJSONScanner.h in Headers */, 49454ED113A1B17000157788 /* CJSONSerializer.h in Headers */, 49454ED313A1B17000157788 /* JSONRepresentation.h in Headers */, + 4987364313A23D6600CE6BCC /* QQCocosAppDelegate.h in Headers */, + 4987364513A23D6600CE6BCC /* QQRootViewController.h in Headers */, + 493643BD13A504B1009FFEDC /* QQGameLayer.h in Headers */, + 493643BF13A504B1009FFEDC /* QQGameScene.h in Headers */, + 496984BF13A7A3990098352E /* QQWorld_Internal.h in Headers */, + 496984C213A7A8E00098352E /* CCNode+QQExtensions.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1959,6 +1492,12 @@ 4995ABF91381C46B00334646 /* Icon-iPad.png in Resources */, 4995ABFA1381C46B00334646 /* Icon-iPhone.png in Resources */, 4995AC261381C5ED00334646 /* Icon-iPhone@2x.png in Resources */, + 496984B013A78BB50098352E /* pink.png in Resources */, + 496984B213A78CA90098352E /* white.png in Resources */, + 496984B513A78D1E0098352E /* 1x1-trans.png in Resources */, + 496984B613A78D1E0098352E /* 1x1-white.png in Resources */, + 496984B813A7966C0098352E /* circle-32x32-white.png in Resources */, + 496984BA13A796720098352E /* fps_images.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1969,82 +1508,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 49F2DA8313764ED6000B6B8C /* SPAVSound.m in Sources */, - 49F2DA8513764ED6000B6B8C /* SPAVSoundChannel.m in Sources */, - 49F2DA8713764ED6000B6B8C /* SPALSound.m in Sources */, - 49F2DA8913764ED6000B6B8C /* SPALSoundChannel.m in Sources */, - 49F2DA8B13764ED6000B6B8C /* SPAudioEngine.m in Sources */, - 49F2DA8D13764ED6000B6B8C /* SPSound.m in Sources */, - 49F2DA8F13764ED6000B6B8C /* SPSoundChannel.m in Sources */, - 49F2DA9113764ED6000B6B8C /* SPView.m in Sources */, - 49F2DA9513764ED6000B6B8C /* SPEvent.m in Sources */, - 49F2DA9713764ED6000B6B8C /* SPEventDispatcher.m in Sources */, - 49F2DA9913764ED6000B6B8C /* SPTouch.m in Sources */, - 49F2DA9B13764ED6000B6B8C /* SPTouchEvent.m in Sources */, - 49F2DA9D13764ED6000B6B8C /* SPEnterFrameEvent.m in Sources */, - 49F2DA9E13764ED6000B6B8C /* SPRendering.m in Sources */, - 49F2DAA013764ED6000B6B8C /* SPRenderSupport.m in Sources */, - 49F2DAA213764ED6000B6B8C /* SPTextField.m in Sources */, - 49F2DAA413764ED6000B6B8C /* SPBitmapFont.m in Sources */, - 49F2DAA613764ED6000B6B8C /* SPBitmapChar.m in Sources */, - 49F2DAA813764ED6000B6B8C /* SPTouchProcessor.m in Sources */, - 49F2DAAC13764ED6000B6B8C /* SPDisplayObject.m in Sources */, - 49F2DAAE13764ED6000B6B8C /* SPDisplayObjectContainer.m in Sources */, - 49F2DAB013764ED6000B6B8C /* SPSprite.m in Sources */, - 49F2DAB213764ED6000B6B8C /* SPStage.m in Sources */, - 49F2DAB413764ED6000B6B8C /* SPQuad.m in Sources */, - 49F2DAB613764ED6000B6B8C /* SPImage.m in Sources */, - 49F2DAB813764ED6000B6B8C /* SPButton.m in Sources */, - 49F2DABA13764ED6000B6B8C /* SPMovieClip.m in Sources */, - 49F2DABC13764ED6000B6B8C /* SPCompiledSprite.m in Sources */, - 49F2DABE13764ED6000B6B8C /* SPTexture.m in Sources */, - 49F2DAC013764ED6000B6B8C /* SPGLTexture.m in Sources */, - 49F2DAC213764ED6000B6B8C /* SPSubTexture.m in Sources */, - 49F2DAC413764ED6000B6B8C /* SPRenderTexture.m in Sources */, - 49F2DAC613764ED6000B6B8C /* SPTextureAtlas.m in Sources */, - 49F2DAC813764ED6000B6B8C /* SPTweenedProperty.m in Sources */, - 49F2DACB13764ED6000B6B8C /* SPJuggler.m in Sources */, - 49F2DACD13764ED6000B6B8C /* SPTransitions.m in Sources */, - 49F2DACF13764ED6000B6B8C /* SPTween.m in Sources */, - 49F2DAD113764ED6000B6B8C /* SPDelayedInvocation.m in Sources */, - 49F2DAD413764ED6000B6B8C /* SPMatrix.m in Sources */, - 49F2DAD613764ED6000B6B8C /* SPPoint.m in Sources */, - 49F2DAD813764ED6000B6B8C /* SPRectangle.m in Sources */, - 49F2DADA13764ED6000B6B8C /* SPNSExtensions.m in Sources */, - 49F2DADC13764ED6000B6B8C /* SPPoolObject.m in Sources */, - 49F2DADE13764ED6000B6B8C /* SPUtils.m in Sources */, - 492D810D138C07540042D918 /* BEParallaxSprite.m in Sources */, - 492D810F138C07540042D918 /* SHCircle.m in Sources */, - 492D8111138C07540042D918 /* SHLine.m in Sources */, - 492D8113138C07540042D918 /* SHPolygon.m in Sources */, - 492D8116138C07540042D918 /* SXFPSMeter.m in Sources */, - 49E834CE13814F7D007A6598 /* QQGLESDebugDraw.mm in Sources */, - 4B91A15A138F644000EF4D7C /* QQPhysicsDebugView.mm in Sources */, - 49DA67D5137847A7004841E9 /* QQWorld.mm in Sources */, - 4B8B2A51137D098500CA4076 /* QQAnimationContainer.mm in Sources */, - 49E834AE13812427007A6598 /* QQGame.mm in Sources */, - 49E834BF13812555007A6598 /* QQAppDelegate.mm in Sources */, - 49E834C113812555007A6598 /* QQAppDelegate_iPad.mm in Sources */, - 49E834C413812555007A6598 /* QQAppDelegate_iPhone.mm in Sources */, - 49E834C713812555007A6598 /* QQViewport.mm in Sources */, - 49E834D4138166A6007A6598 /* QQSparrowExtensions.mm in Sources */, - 492D80E5138BA4910042D918 /* QQCooldown.mm in Sources */, - 49193BF6139280180005B3DD /* QQLevel.mm in Sources */, - 49F2D9C413764666000B6B8C /* main.mm in Sources */, - 49D8645E1392DB2800BC341C /* QQShape.mm in Sources */, - 4978AD1B1396302300930447 /* QQContactNotification.mm in Sources */, - 4978AD1D1396302300930447 /* QQPhysicalEvents.mm in Sources */, - 49E3C5D3139A73E700A3958A /* NSSet+QQExtensions.mm in Sources */, - 499F65CA139CBC0C00309DE4 /* QQNotification.mm in Sources */, - 499F65CC139CBC0C00309DE4 /* QQNotificationCenter.mm in Sources */, - 499F65CE139CBC0C00309DE4 /* QQNotificationProxy.mm in Sources */, - 499F65E2139CBCBA00309DE4 /* QQActor.mm in Sources */, - 499F65E6139CBCBA00309DE4 /* QQBullet.mm in Sources */, - 499F65EA139CBCBA00309DE4 /* QQUnit.mm in Sources */, - 499F65FE139CFD3800309DE4 /* NSArray+QQExtensions.mm in Sources */, - 499F6600139CFD3800309DE4 /* NSDictionary+QQExtensions.mm in Sources */, - 499F6604139D181400309DE4 /* QQPlayer.mm in Sources */, - 499F6608139D31FC00309DE4 /* QQQuad.mm in Sources */, 49454E1013A1B17000157788 /* CCAction.m in Sources */, 49454E1213A1B17000157788 /* CCActionCamera.m in Sources */, 49454E1413A1B17000157788 /* CCActionEase.m in Sources */, @@ -2136,6 +1599,33 @@ 49454ECE13A1B17000157788 /* CJSONDeserializer.m in Sources */, 49454ED013A1B17000157788 /* CJSONScanner.m in Sources */, 49454ED213A1B17000157788 /* CJSONSerializer.m in Sources */, + 49F2D9C413764666000B6B8C /* main.mm in Sources */, + 49E3C5D3139A73E700A3958A /* NSSet+QQExtensions.mm in Sources */, + 499F65FE139CFD3800309DE4 /* NSArray+QQExtensions.mm in Sources */, + 499F6600139CFD3800309DE4 /* NSDictionary+QQExtensions.mm in Sources */, + 4987364413A23D6600CE6BCC /* QQCocosAppDelegate.mm in Sources */, + 4987364613A23D6600CE6BCC /* QQRootViewController.mm in Sources */, + 493643BE13A504B1009FFEDC /* QQGameLayer.mm in Sources */, + 493643C013A504B1009FFEDC /* QQGameScene.mm in Sources */, + 49E834CE13814F7D007A6598 /* QQGLESDebugDraw.mm in Sources */, + 4B91A15A138F644000EF4D7C /* QQPhysicsDebugView.mm in Sources */, + 49DA67D5137847A7004841E9 /* QQWorld.mm in Sources */, + 49E834AE13812427007A6598 /* QQGame.mm in Sources */, + 49E834BF13812555007A6598 /* QQAppDelegate.mm in Sources */, + 49E834C113812555007A6598 /* QQAppDelegate_iPad.mm in Sources */, + 49E834C413812555007A6598 /* QQAppDelegate_iPhone.mm in Sources */, + 492D80E5138BA4910042D918 /* QQCooldown.mm in Sources */, + 49D8645E1392DB2800BC341C /* QQShape.mm in Sources */, + 4978AD1B1396302300930447 /* QQContactNotification.mm in Sources */, + 4978AD1D1396302300930447 /* QQPhysicalEvents.mm in Sources */, + 499F65CA139CBC0C00309DE4 /* QQNotification.mm in Sources */, + 499F65CC139CBC0C00309DE4 /* QQNotificationCenter.mm in Sources */, + 499F65CE139CBC0C00309DE4 /* QQNotificationProxy.mm in Sources */, + 499F6608139D31FC00309DE4 /* QQQuad.mm in Sources */, + 496984BB13A7A25A0098352E /* QQActor.mm in Sources */, + 496984BC13A7A25A0098352E /* QQUnit.mm in Sources */, + 496984BD13A7A3390098352E /* QQBullet.mm in Sources */, + 496984C313A7A8E00098352E /* CCNode+QQExtensions.mm in Sources */, ); runOnlyForDeploymentPostprocessing = 0; };