From 07caf43ebd94892accc57a63db35bb02ac5f44a3 Mon Sep 17 00:00:00 2001 From: Hans Knoechel Date: Tue, 3 Nov 2015 19:45:40 -0800 Subject: [PATCH] Support polygon, polyline & circle, add basic docs --- example/app.js | 94 +++++++++----- .../DeHansknoechelGooglemapsCircleProxy.h | 19 +++ .../DeHansknoechelGooglemapsCircleProxy.m | 41 ++++++ .../DeHansknoechelGooglemapsMapView.h | 0 .../DeHansknoechelGooglemapsMapView.m | 0 .../DeHansknoechelGooglemapsMapViewProxy.h | 13 +- .../DeHansknoechelGooglemapsMapViewProxy.m | 121 ++++++++++++++++++ .../DeHansknoechelGooglemapsMarkerProxy.h | 0 .../DeHansknoechelGooglemapsMarkerProxy.m | 0 .../DeHansknoechelGooglemapsPolygonProxy.h | 19 +++ .../DeHansknoechelGooglemapsPolygonProxy.m | 55 ++++++++ .../DeHansknoechelGooglemapsPolylineProxy.h | 19 +++ .../DeHansknoechelGooglemapsPolylineProxy.m | 53 ++++++++ iphone/DeHansknoechelGooglemapsMapViewProxy.m | 46 ------- .../ti.googlemaps.xcodeproj/project.pbxproj | 104 +++++++++++---- .../UserInterfaceState.xcuserstate | Bin 92796 -> 60305 bytes 16 files changed, 483 insertions(+), 101 deletions(-) create mode 100644 iphone/Classes/DeHansknoechelGooglemapsCircleProxy.h create mode 100644 iphone/Classes/DeHansknoechelGooglemapsCircleProxy.m rename iphone/{ => Classes}/DeHansknoechelGooglemapsMapView.h (100%) rename iphone/{ => Classes}/DeHansknoechelGooglemapsMapView.m (100%) rename iphone/{ => Classes}/DeHansknoechelGooglemapsMapViewProxy.h (72%) create mode 100644 iphone/Classes/DeHansknoechelGooglemapsMapViewProxy.m rename iphone/{ => Classes}/DeHansknoechelGooglemapsMarkerProxy.h (100%) rename iphone/{ => Classes}/DeHansknoechelGooglemapsMarkerProxy.m (100%) create mode 100644 iphone/Classes/DeHansknoechelGooglemapsPolygonProxy.h create mode 100644 iphone/Classes/DeHansknoechelGooglemapsPolygonProxy.m create mode 100644 iphone/Classes/DeHansknoechelGooglemapsPolylineProxy.h create mode 100644 iphone/Classes/DeHansknoechelGooglemapsPolylineProxy.m delete mode 100644 iphone/DeHansknoechelGooglemapsMapViewProxy.m diff --git a/example/app.js b/example/app.js index 891c4b4..b433f46 100644 --- a/example/app.js +++ b/example/app.js @@ -1,39 +1,73 @@ -// This is a test harness for your module -// You should do something interesting in this harness -// to test out the module and to provide instructions -// to users on how to use it by example. +var win = Ti.UI.createWindow(); +var maps = require("de.hansknoechel.googlemaps"); +maps.setAPIKey("AIzaSyC8XCAFXe_oGrkM0o7God1YNeMApwLFQ3c"); +/* + * MapView + */ +var mapView = maps.createMapView(); +mapView.setMapType(maps.MAP_TYPE_TERRAIN); -// open a single window -var win = Ti.UI.createWindow({ - backgroundColor:'white' +/* + * Marker + */ +var marker = maps.createMarker({ + latitude : -32.9689, + longitude : 151.7721, + title : "Newcastle", + snippet : "Australia" }); -var label = Ti.UI.createLabel(); -win.add(label); -win.open(); -// TODO: write your module tests here -var ti_googlemaps = require('de.hansknoechel.googlemaps'); -Ti.API.info("module is => " + ti_googlemaps); +mapView.addMarker(marker); +// mapView.addMarkers([marker]); +// mapView.removeMarker(marker); -label.text = ti_googlemaps.example(); +/* + * Overlays - Polyline + */ +var polyline = maps.createPolyline({ + points : [{ // Can handle both object and array + latitude : -37.81319, + longitude : 144.96298 + }, [-31.95285, 115.85734]], + strokeWidth : 3, + strokeColor : "#f00" +}); -Ti.API.info("module exampleProp is => " + ti_googlemaps.exampleProp); -ti_googlemaps.exampleProp = "This is a test value"; +mapView.addPolyline(polyline); +// mapView.removePolyline(polyline); -if (Ti.Platform.name == "android") { - var proxy = ti_googlemaps.createExample({ - message: "Creating an example Proxy", - backgroundColor: "red", - width: 100, - height: 100, - top: 100, - left: 150 - }); +/* + * Overlays - Polygon + */ +var polygon = maps.createPolygon({ + points : [{ // Can handle both object and array + latitude : -37.81819, + longitude : 144.96798 + }, + [-32.95785, 115.86234], + [-33.91785, 115.82234]], + strokeWidth : 3, + fillColor : "yellow", + strokeColor : "green" +}); - proxy.printMessage("Hello world!"); - proxy.message = "Hi world!. It's me again."; - proxy.printMessage("Hello world!"); - win.add(proxy); -} +mapView.addPolygon(polygon); +// mapView.removePolygon(polygon); +/* + * Overlays - Circle + */ +var circle = maps.createCircle({ + center : [-32.9689, 151.7721], // Can handle both object and array + radius : 500 * 1000, // 500km + // fillColor: "blue", + strokeWidth : 3, + strokeColor : "orange" +}); + +mapView.addCircle(circle); +// mapView.removeCircle(circle); + +win.add(mapView); +win.open(); diff --git a/iphone/Classes/DeHansknoechelGooglemapsCircleProxy.h b/iphone/Classes/DeHansknoechelGooglemapsCircleProxy.h new file mode 100644 index 0000000..a51eb68 --- /dev/null +++ b/iphone/Classes/DeHansknoechelGooglemapsCircleProxy.h @@ -0,0 +1,19 @@ +/** + * Appcelerator Titanium Mobile + * Copyright (c) 2009-2015 by Appcelerator, Inc. All Rights Reserved. + * Licensed under the terms of the Apache Public License + * Please see the LICENSE included with this distribution for details. + */ +#import "TiProxy.h" +#import +#import "TiUtils.h" + +@interface DeHansknoechelGooglemapsCircleProxy : TiProxy { + GMSCircle *circle; +} + +@property(nonatomic,retain) GMSMutablePath *path; + +-(GMSCircle*)circle; + +@end diff --git a/iphone/Classes/DeHansknoechelGooglemapsCircleProxy.m b/iphone/Classes/DeHansknoechelGooglemapsCircleProxy.m new file mode 100644 index 0000000..1ed7add --- /dev/null +++ b/iphone/Classes/DeHansknoechelGooglemapsCircleProxy.m @@ -0,0 +1,41 @@ +/** + * Appcelerator Titanium Mobile + * Copyright (c) 2009-2015 by Appcelerator, Inc. All Rights Reserved. + * Licensed under the terms of the Apache Public License + * Please see the LICENSE included with this distribution for details. + */ + +#import "DeHansknoechelGooglemapsCircleProxy.h" + +@implementation DeHansknoechelGooglemapsCircleProxy + +-(GMSCircle*)circle +{ + if (circle == nil) { + circle = [GMSCircle circleWithPosition:[self positionFromPoint:[self valueForKey:@"center"]] + radius:[TiUtils doubleValue:[self valueForKey:@"radius"]]]; + + circle.fillColor = [[TiUtils colorValue:[self valueForKey:@"fillColor"]] _color]; + circle.strokeColor = [[TiUtils colorValue:[self valueForKey:@"strokeColor"]] _color]; + circle.strokeWidth = [TiUtils floatValue:[self valueForKey:@"strokeWidth"] def:1]; + } + + return circle; +} + +-(CLLocationCoordinate2D)positionFromPoint:(id)point +{ + if ([point isKindOfClass:[NSDictionary class]]) { + CLLocationDegrees latitude = [TiUtils doubleValue:[point valueForKey:@"latitude"]]; + CLLocationDegrees longitude = [TiUtils doubleValue:[point valueForKey:@"longitude"]]; + + return CLLocationCoordinate2DMake(latitude, longitude); + } else if ([point isKindOfClass:[NSArray class]]) { + CLLocationDegrees latitude = [TiUtils doubleValue:[point objectAtIndex:0]]; + CLLocationDegrees longitude = [TiUtils doubleValue:[point objectAtIndex:1]]; + + return CLLocationCoordinate2DMake(latitude, longitude); + } +} + +@end diff --git a/iphone/DeHansknoechelGooglemapsMapView.h b/iphone/Classes/DeHansknoechelGooglemapsMapView.h similarity index 100% rename from iphone/DeHansknoechelGooglemapsMapView.h rename to iphone/Classes/DeHansknoechelGooglemapsMapView.h diff --git a/iphone/DeHansknoechelGooglemapsMapView.m b/iphone/Classes/DeHansknoechelGooglemapsMapView.m similarity index 100% rename from iphone/DeHansknoechelGooglemapsMapView.m rename to iphone/Classes/DeHansknoechelGooglemapsMapView.m diff --git a/iphone/DeHansknoechelGooglemapsMapViewProxy.h b/iphone/Classes/DeHansknoechelGooglemapsMapViewProxy.h similarity index 72% rename from iphone/DeHansknoechelGooglemapsMapViewProxy.h rename to iphone/Classes/DeHansknoechelGooglemapsMapViewProxy.h index 83fa253..f943f5e 100644 --- a/iphone/DeHansknoechelGooglemapsMapViewProxy.h +++ b/iphone/Classes/DeHansknoechelGooglemapsMapViewProxy.h @@ -11,8 +11,19 @@ DeHansknoechelGooglemapsMapView* mapView; } +-(void)setMapView:(GMSMapView*)mapView; + -(void)addMarker:(id)args; +-(void)addMarkers:(id)args; -(void)removeMarker:(id)args; --(void)setMapView:(GMSMapView*)mapView; + +-(void)addPolyline:(id)args; +-(void)removePolyline:(id)args; + +-(void)addPolygon:(id)args; +-(void)removePolygon:(id)args; + +-(void)addCircle:(id)args; +-(void)removeCircle:(id)args; @end diff --git a/iphone/Classes/DeHansknoechelGooglemapsMapViewProxy.m b/iphone/Classes/DeHansknoechelGooglemapsMapViewProxy.m new file mode 100644 index 0000000..442b3be --- /dev/null +++ b/iphone/Classes/DeHansknoechelGooglemapsMapViewProxy.m @@ -0,0 +1,121 @@ +/** + * Appcelerator Titanium Mobile + * Copyright (c) 2009-2015 by Appcelerator, Inc. All Rights Reserved. + * Licensed under the terms of the Apache Public License + * Please see the LICENSE included with this distribution for details. + */ + +#import "DeHansknoechelGooglemapsMapViewProxy.h" +#import "DeHansknoechelGooglemapsMarkerProxy.h" +#import "DeHansknoechelGooglemapsPolylineProxy.h" +#import "DeHansknoechelGooglemapsPolygonProxy.h" +#import "DeHansknoechelGooglemapsCircleProxy.h" +#import "TiUtils.h" + +@implementation DeHansknoechelGooglemapsMapViewProxy + +-(DeHansknoechelGooglemapsMapView*)mapView +{ + return (DeHansknoechelGooglemapsMapView*)[self view]; +} + +-(void)setMapView:(GMSMapView*)_mapView +{ + [self setMapView:_mapView]; +} + +#pragma mark Public API's + +-(void)addMarker:(id)args +{ + DeHansknoechelGooglemapsMarkerProxy *marker = [args objectAtIndex:0]; + + ENSURE_TYPE(marker, DeHansknoechelGooglemapsMarkerProxy); + ENSURE_UI_THREAD_1_ARG(args); + + [[marker marker] setMap:[[self mapView] mapView]]; +} + +-(void)addMarkers:(id)args +{ + id markers = [args objectAtIndex:0]; + + ENSURE_TYPE(markers, NSArray); + ENSURE_UI_THREAD_1_ARG(args); + + for(DeHansknoechelGooglemapsMarkerProxy *marker in markers) { + [[marker marker] setMap:[[self mapView] mapView]]; + } +} + +-(void)removeMarker:(id)args +{ + DeHansknoechelGooglemapsMarkerProxy *marker = [args objectAtIndex:0]; + + ENSURE_TYPE(marker, DeHansknoechelGooglemapsMarkerProxy); + ENSURE_UI_THREAD_1_ARG(args); + + [[marker marker] setMap:nil]; +} + +-(void)addPolyline:(id)args +{ + id polyline = [args objectAtIndex:0]; + + ENSURE_UI_THREAD_1_ARG(args); + ENSURE_TYPE(polyline, DeHansknoechelGooglemapsPolylineProxy); + + [[polyline polyline] setMap:[[self mapView] mapView]]; +} + +-(void)removePolyline:(id)args +{ + id polyline = [args objectAtIndex:0]; + + ENSURE_UI_THREAD_1_ARG(args); + ENSURE_TYPE(polyline, DeHansknoechelGooglemapsPolylineProxy); + + [[polyline polyline] setMap:nil]; +} + +-(void)addPolygon:(id)args +{ + id polygon = [args objectAtIndex:0]; + + ENSURE_UI_THREAD_1_ARG(args); + ENSURE_TYPE(polygon, DeHansknoechelGooglemapsPolygonProxy); + + [[polygon polygon] setMap:[[self mapView] mapView]]; +} + +-(void)removePolygon:(id)args +{ + id polygon = [args objectAtIndex:0]; + + ENSURE_UI_THREAD_1_ARG(args); + ENSURE_TYPE(polygon, DeHansknoechelGooglemapsPolygonProxy); + + [[polygon polygon] setMap:nil]; +} + +-(void)addCircle:(id)args +{ + id circle = [args objectAtIndex:0]; + + ENSURE_UI_THREAD_1_ARG(args); + ENSURE_TYPE(circle, DeHansknoechelGooglemapsCircleProxy); + + [[circle circle] setMap:[[self mapView] mapView]]; +} + +-(void)removeCircle:(id)args +{ + id circle = [args objectAtIndex:0]; + + ENSURE_UI_THREAD_1_ARG(args); + ENSURE_TYPE(circle, DeHansknoechelGooglemapsCircleProxy); + + [[circle circle] setMap:nil]; +} + +@end diff --git a/iphone/DeHansknoechelGooglemapsMarkerProxy.h b/iphone/Classes/DeHansknoechelGooglemapsMarkerProxy.h similarity index 100% rename from iphone/DeHansknoechelGooglemapsMarkerProxy.h rename to iphone/Classes/DeHansknoechelGooglemapsMarkerProxy.h diff --git a/iphone/DeHansknoechelGooglemapsMarkerProxy.m b/iphone/Classes/DeHansknoechelGooglemapsMarkerProxy.m similarity index 100% rename from iphone/DeHansknoechelGooglemapsMarkerProxy.m rename to iphone/Classes/DeHansknoechelGooglemapsMarkerProxy.m diff --git a/iphone/Classes/DeHansknoechelGooglemapsPolygonProxy.h b/iphone/Classes/DeHansknoechelGooglemapsPolygonProxy.h new file mode 100644 index 0000000..f312eed --- /dev/null +++ b/iphone/Classes/DeHansknoechelGooglemapsPolygonProxy.h @@ -0,0 +1,19 @@ +/** + * Appcelerator Titanium Mobile + * Copyright (c) 2009-2015 by Appcelerator, Inc. All Rights Reserved. + * Licensed under the terms of the Apache Public License + * Please see the LICENSE included with this distribution for details. + */ +#import "TiProxy.h" +#import +#import "TiUtils.h" + +@interface DeHansknoechelGooglemapsPolygonProxy : TiProxy { + GMSPolygon *polygon; +} + +@property(nonatomic,retain) GMSMutablePath *path; + +-(GMSPolygon*)polygon; + +@end diff --git a/iphone/Classes/DeHansknoechelGooglemapsPolygonProxy.m b/iphone/Classes/DeHansknoechelGooglemapsPolygonProxy.m new file mode 100644 index 0000000..e82a703 --- /dev/null +++ b/iphone/Classes/DeHansknoechelGooglemapsPolygonProxy.m @@ -0,0 +1,55 @@ +/** + * Appcelerator Titanium Mobile + * Copyright (c) 2009-2015 by Appcelerator, Inc. All Rights Reserved. + * Licensed under the terms of the Apache Public License + * Please see the LICENSE included with this distribution for details. + */ + +#import "DeHansknoechelGooglemapsPolygonProxy.h" + +@implementation DeHansknoechelGooglemapsPolygonProxy + +-(GMSPolygon*)polygon +{ + if (polygon == nil) { + _path = [GMSMutablePath path]; + polygon = [GMSPolygon polygonWithPath:_path]; + + id points = [self valueForKey:@"points"]; + + ENSURE_TYPE_OR_NIL(points, NSArray); + + if (points != nil) { + if ([points count] < 2) { + NSLog(@"[WARN] GoogleMaps: You need to specify at least 2 points to create a polygon"); + return polygon; + } + + for(id point in points) { + + if ([point isKindOfClass:[NSDictionary class]]) { + CLLocationDegrees latitude = [TiUtils doubleValue:[point valueForKey:@"latitude"]]; + CLLocationDegrees longitude = [TiUtils doubleValue:[point valueForKey:@"longitude"]]; + + [self.path addLatitude:latitude longitude:longitude]; + } else if ([point isKindOfClass:[NSArray class]]) { + CLLocationDegrees latitude = [TiUtils doubleValue:[point objectAtIndex:0]]; + CLLocationDegrees longitude = [TiUtils doubleValue:[point objectAtIndex:1]]; + + [self.path addLatitude:latitude longitude:longitude]; + } + } + } + + polygon.path = self.path; + polygon.fillColor = [[TiUtils colorValue:[self valueForKey:@"fillColor"]] _color]; + polygon.strokeColor = [[TiUtils colorValue:[self valueForKey:@"strokeColor"]] _color]; + polygon.strokeWidth = [TiUtils floatValue:[self valueForKey:@"strokeWidth"] def:1]; + polygon.geodesic = [TiUtils boolValue:[self valueForKey:@"geodesic"] def:NO]; + + } + + return polygon; +} + +@end diff --git a/iphone/Classes/DeHansknoechelGooglemapsPolylineProxy.h b/iphone/Classes/DeHansknoechelGooglemapsPolylineProxy.h new file mode 100644 index 0000000..db87c30 --- /dev/null +++ b/iphone/Classes/DeHansknoechelGooglemapsPolylineProxy.h @@ -0,0 +1,19 @@ +/** + * Appcelerator Titanium Mobile + * Copyright (c) 2009-2015 by Appcelerator, Inc. All Rights Reserved. + * Licensed under the terms of the Apache Public License + * Please see the LICENSE included with this distribution for details. + */ +#import "TiProxy.h" +#import +#import "TiUtils.h" + +@interface DeHansknoechelGooglemapsPolylineProxy : TiProxy { + GMSPolyline *polyline; +} + +@property(nonatomic,retain) GMSMutablePath *path; + +-(GMSPolyline*)polyline; + +@end diff --git a/iphone/Classes/DeHansknoechelGooglemapsPolylineProxy.m b/iphone/Classes/DeHansknoechelGooglemapsPolylineProxy.m new file mode 100644 index 0000000..95de6c1 --- /dev/null +++ b/iphone/Classes/DeHansknoechelGooglemapsPolylineProxy.m @@ -0,0 +1,53 @@ +/** + * Appcelerator Titanium Mobile + * Copyright (c) 2009-2015 by Appcelerator, Inc. All Rights Reserved. + * Licensed under the terms of the Apache Public License + * Please see the LICENSE included with this distribution for details. + */ + +#import "DeHansknoechelGooglemapsPolylineProxy.h" + +@implementation DeHansknoechelGooglemapsPolylineProxy + +-(GMSPolyline*)polyline +{ + if (polyline == nil) { + _path = [GMSMutablePath path]; + polyline = [GMSPolyline polylineWithPath:_path]; + + id points = [self valueForKey:@"points"]; + + ENSURE_TYPE_OR_NIL(points, NSArray); + + if (points != nil) { + if ([points count] < 2) { + NSLog(@"[WARN] GoogleMaps: You need to specify at least 2 points to create a polyline"); + return polyline; + } + + for(id point in points) { + + if ([point isKindOfClass:[NSDictionary class]]) { + CLLocationDegrees latitude = [TiUtils doubleValue:[point valueForKey:@"latitude"]]; + CLLocationDegrees longitude = [TiUtils doubleValue:[point valueForKey:@"longitude"]]; + + [self.path addLatitude:latitude longitude:longitude]; + } else if ([point isKindOfClass:[NSArray class]]) { + CLLocationDegrees latitude = [TiUtils doubleValue:[point objectAtIndex:0]]; + CLLocationDegrees longitude = [TiUtils doubleValue:[point objectAtIndex:1]]; + + [self.path addLatitude:latitude longitude:longitude]; + } + } + } + + polyline.path = self.path; + polyline.strokeColor = [[TiUtils colorValue:[self valueForKey:@"strokeColor"]] _color]; + polyline.strokeWidth = [TiUtils floatValue:[self valueForKey:@"strokeWidth"] def:1]; + polyline.geodesic = [TiUtils boolValue:[self valueForKey:@"geodesic"] def:NO]; + } + + return polyline; +} + +@end diff --git a/iphone/DeHansknoechelGooglemapsMapViewProxy.m b/iphone/DeHansknoechelGooglemapsMapViewProxy.m deleted file mode 100644 index c25a228..0000000 --- a/iphone/DeHansknoechelGooglemapsMapViewProxy.m +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Appcelerator Titanium Mobile - * Copyright (c) 2009-2015 by Appcelerator, Inc. All Rights Reserved. - * Licensed under the terms of the Apache Public License - * Please see the LICENSE included with this distribution for details. - */ - -#import "DeHansknoechelGooglemapsMapViewProxy.h" -#import "DeHansknoechelGooglemapsMarkerProxy.h" -#import "TiUtils.h" - -@implementation DeHansknoechelGooglemapsMapViewProxy - --(DeHansknoechelGooglemapsMapView*)mapView -{ - return (DeHansknoechelGooglemapsMapView*)[self view]; -} - --(void)setMapView:(GMSMapView*)_mapView -{ - [self setMapView:_mapView]; -} - -#pragma mark Public API's - --(void)addMarker:(id)args -{ - DeHansknoechelGooglemapsMarkerProxy *marker = [args objectAtIndex:0]; - - ENSURE_TYPE(marker, DeHansknoechelGooglemapsMarkerProxy); - ENSURE_UI_THREAD_1_ARG(args); - - [[marker marker] setMap:[[self mapView] mapView]]; -} - --(void)removeMarker:(id)args -{ - DeHansknoechelGooglemapsMarkerProxy *marker = [args objectAtIndex:0]; - - ENSURE_TYPE(marker, DeHansknoechelGooglemapsMarkerProxy); - ENSURE_UI_THREAD_1_ARG(args); - - [[marker marker] setMap:nil]; -} - -@end diff --git a/iphone/ti.googlemaps.xcodeproj/project.pbxproj b/iphone/ti.googlemaps.xcodeproj/project.pbxproj index 9f29929..4fa8bba 100644 --- a/iphone/ti.googlemaps.xcodeproj/project.pbxproj +++ b/iphone/ti.googlemaps.xcodeproj/project.pbxproj @@ -26,10 +26,18 @@ 24DD6CFA1134B3F500162E58 /* DeHansknoechelGooglemapsModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 24DD6CF81134B3F500162E58 /* DeHansknoechelGooglemapsModule.m */; }; 24DE9E1111C5FE74003F90F6 /* DeHansknoechelGooglemapsModuleAssets.h in Headers */ = {isa = PBXBuildFile; fileRef = 24DE9E0F11C5FE74003F90F6 /* DeHansknoechelGooglemapsModuleAssets.h */; }; 24DE9E1211C5FE74003F90F6 /* DeHansknoechelGooglemapsModuleAssets.m in Sources */ = {isa = PBXBuildFile; fileRef = 24DE9E1011C5FE74003F90F6 /* DeHansknoechelGooglemapsModuleAssets.m */; }; - 3AF9008D1BC1E21300172627 /* DeHansknoechelGooglemapsMapView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AF9008B1BC1E21300172627 /* DeHansknoechelGooglemapsMapView.h */; }; - 3AF9008E1BC1E21300172627 /* DeHansknoechelGooglemapsMapView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AF9008C1BC1E21300172627 /* DeHansknoechelGooglemapsMapView.m */; }; - 3AF900911BC1E22400172627 /* DeHansknoechelGooglemapsMapViewProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AF9008F1BC1E22400172627 /* DeHansknoechelGooglemapsMapViewProxy.h */; }; - 3AF900921BC1E22400172627 /* DeHansknoechelGooglemapsMapViewProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AF900901BC1E22400172627 /* DeHansknoechelGooglemapsMapViewProxy.m */; }; + 3A433EF21BE9AAF00005C8AE /* DeHansknoechelGooglemapsMarkerProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A433EF01BE9AAF00005C8AE /* DeHansknoechelGooglemapsMarkerProxy.h */; }; + 3A433EF31BE9AAF00005C8AE /* DeHansknoechelGooglemapsMarkerProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A433EF11BE9AAF00005C8AE /* DeHansknoechelGooglemapsMarkerProxy.m */; }; + 3A433EF81BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A433EF41BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapView.h */; }; + 3A433EF91BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A433EF51BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapView.m */; }; + 3A433EFA1BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapViewProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A433EF61BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapViewProxy.h */; }; + 3A433EFB1BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapViewProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A433EF71BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapViewProxy.m */; }; + 3A433EFE1BE9AB0C0005C8AE /* DeHansknoechelGooglemapsPolylineProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A433EFC1BE9AB0C0005C8AE /* DeHansknoechelGooglemapsPolylineProxy.h */; }; + 3A433EFF1BE9AB0C0005C8AE /* DeHansknoechelGooglemapsPolylineProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A433EFD1BE9AB0C0005C8AE /* DeHansknoechelGooglemapsPolylineProxy.m */; }; + 3A433F021BE9AB270005C8AE /* DeHansknoechelGooglemapsPolygonProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A433F001BE9AB270005C8AE /* DeHansknoechelGooglemapsPolygonProxy.h */; }; + 3A433F031BE9AB270005C8AE /* DeHansknoechelGooglemapsPolygonProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A433F011BE9AB270005C8AE /* DeHansknoechelGooglemapsPolygonProxy.m */; }; + 3A433F071BE9AE620005C8AE /* DeHansknoechelGooglemapsCircleProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A433F051BE9AE620005C8AE /* DeHansknoechelGooglemapsCircleProxy.h */; }; + 3A433F081BE9AE620005C8AE /* DeHansknoechelGooglemapsCircleProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A433F061BE9AE620005C8AE /* DeHansknoechelGooglemapsCircleProxy.m */; }; 3AF900AB1BC1ED7800172627 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF9009B1BC1ED7800172627 /* Accelerate.framework */; }; 3AF900AC1BC1ED7800172627 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF9009C1BC1ED7800172627 /* AVFoundation.framework */; }; 3AF900AD1BC1ED7800172627 /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF9009D1BC1ED7800172627 /* CoreBluetooth.framework */; }; @@ -47,8 +55,6 @@ 3AF900C41BC1F05900172627 /* libz.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF900C11BC1F05900172627 /* libz.1.dylib */; }; 3AF900C61BC1F08200172627 /* libc++.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF900C51BC1F08200172627 /* libc++.1.dylib */; }; 3AF900CA1BC1F8B600172627 /* GoogleMaps.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF900C91BC1F8B600172627 /* GoogleMaps.framework */; }; - 3AF900D71BC2290200172627 /* DeHansknoechelGooglemapsMarkerProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AF900D51BC2290200172627 /* DeHansknoechelGooglemapsMarkerProxy.h */; }; - 3AF900D81BC2290200172627 /* DeHansknoechelGooglemapsMarkerProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AF900D61BC2290200172627 /* DeHansknoechelGooglemapsMarkerProxy.m */; }; AA747D9F0F9514B9006C5449 /* DeHansknoechelGooglemaps_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = AA747D9E0F9514B9006C5449 /* DeHansknoechelGooglemaps_Prefix.pch */; }; AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; }; /* End PBXBuildFile section */ @@ -69,10 +75,18 @@ 24DD6D1B1134B66800162E58 /* titanium.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = titanium.xcconfig; sourceTree = ""; }; 24DE9E0F11C5FE74003F90F6 /* DeHansknoechelGooglemapsModuleAssets.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeHansknoechelGooglemapsModuleAssets.h; path = Classes/DeHansknoechelGooglemapsModuleAssets.h; sourceTree = ""; }; 24DE9E1011C5FE74003F90F6 /* DeHansknoechelGooglemapsModuleAssets.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DeHansknoechelGooglemapsModuleAssets.m; path = Classes/DeHansknoechelGooglemapsModuleAssets.m; sourceTree = ""; }; - 3AF9008B1BC1E21300172627 /* DeHansknoechelGooglemapsMapView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeHansknoechelGooglemapsMapView.h; sourceTree = ""; }; - 3AF9008C1BC1E21300172627 /* DeHansknoechelGooglemapsMapView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DeHansknoechelGooglemapsMapView.m; sourceTree = ""; }; - 3AF9008F1BC1E22400172627 /* DeHansknoechelGooglemapsMapViewProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeHansknoechelGooglemapsMapViewProxy.h; sourceTree = ""; }; - 3AF900901BC1E22400172627 /* DeHansknoechelGooglemapsMapViewProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DeHansknoechelGooglemapsMapViewProxy.m; sourceTree = ""; }; + 3A433EF01BE9AAF00005C8AE /* DeHansknoechelGooglemapsMarkerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeHansknoechelGooglemapsMarkerProxy.h; path = Classes/DeHansknoechelGooglemapsMarkerProxy.h; sourceTree = ""; }; + 3A433EF11BE9AAF00005C8AE /* DeHansknoechelGooglemapsMarkerProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DeHansknoechelGooglemapsMarkerProxy.m; path = Classes/DeHansknoechelGooglemapsMarkerProxy.m; sourceTree = ""; }; + 3A433EF41BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeHansknoechelGooglemapsMapView.h; path = Classes/DeHansknoechelGooglemapsMapView.h; sourceTree = ""; }; + 3A433EF51BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DeHansknoechelGooglemapsMapView.m; path = Classes/DeHansknoechelGooglemapsMapView.m; sourceTree = ""; }; + 3A433EF61BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapViewProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeHansknoechelGooglemapsMapViewProxy.h; path = Classes/DeHansknoechelGooglemapsMapViewProxy.h; sourceTree = ""; }; + 3A433EF71BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapViewProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DeHansknoechelGooglemapsMapViewProxy.m; path = Classes/DeHansknoechelGooglemapsMapViewProxy.m; sourceTree = ""; }; + 3A433EFC1BE9AB0C0005C8AE /* DeHansknoechelGooglemapsPolylineProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeHansknoechelGooglemapsPolylineProxy.h; path = Classes/DeHansknoechelGooglemapsPolylineProxy.h; sourceTree = ""; }; + 3A433EFD1BE9AB0C0005C8AE /* DeHansknoechelGooglemapsPolylineProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DeHansknoechelGooglemapsPolylineProxy.m; path = Classes/DeHansknoechelGooglemapsPolylineProxy.m; sourceTree = ""; }; + 3A433F001BE9AB270005C8AE /* DeHansknoechelGooglemapsPolygonProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeHansknoechelGooglemapsPolygonProxy.h; path = Classes/DeHansknoechelGooglemapsPolygonProxy.h; sourceTree = ""; }; + 3A433F011BE9AB270005C8AE /* DeHansknoechelGooglemapsPolygonProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DeHansknoechelGooglemapsPolygonProxy.m; path = Classes/DeHansknoechelGooglemapsPolygonProxy.m; sourceTree = ""; }; + 3A433F051BE9AE620005C8AE /* DeHansknoechelGooglemapsCircleProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeHansknoechelGooglemapsCircleProxy.h; path = Classes/DeHansknoechelGooglemapsCircleProxy.h; sourceTree = ""; }; + 3A433F061BE9AE620005C8AE /* DeHansknoechelGooglemapsCircleProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DeHansknoechelGooglemapsCircleProxy.m; path = Classes/DeHansknoechelGooglemapsCircleProxy.m; sourceTree = ""; }; 3AF9009B1BC1ED7800172627 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; 3AF9009C1BC1ED7800172627 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; 3AF9009D1BC1ED7800172627 /* CoreBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreBluetooth.framework; path = System/Library/Frameworks/CoreBluetooth.framework; sourceTree = SDKROOT; }; @@ -96,8 +110,6 @@ 3AF900C11BC1F05900172627 /* libz.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.1.dylib; path = ../../../../../../usr/lib/libz.1.dylib; sourceTree = ""; }; 3AF900C51BC1F08200172627 /* libc++.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.1.dylib"; path = "../../../../../../usr/lib/libc++.1.dylib"; sourceTree = ""; }; 3AF900C91BC1F8B600172627 /* GoogleMaps.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GoogleMaps.framework; path = platform/GoogleMaps.framework; sourceTree = ""; }; - 3AF900D51BC2290200172627 /* DeHansknoechelGooglemapsMarkerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeHansknoechelGooglemapsMarkerProxy.h; sourceTree = ""; }; - 3AF900D61BC2290200172627 /* DeHansknoechelGooglemapsMarkerProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DeHansknoechelGooglemapsMarkerProxy.m; sourceTree = ""; }; AA747D9E0F9514B9006C5449 /* DeHansknoechelGooglemaps_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeHansknoechelGooglemaps_Prefix.pch; sourceTree = SOURCE_ROOT; }; AACBBE490F95108600F1A2B1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; D2AAC07E0554694100DB518D /* libDeHansknoechelGooglemaps.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libDeHansknoechelGooglemaps.a; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -186,6 +198,7 @@ isa = PBXGroup; children = ( 3AF900D11BC2288600172627 /* Module */, + 3A28A4C91BE9204C0004FCE9 /* Overlays */, 3AF900D31BC2289C00172627 /* Map View */, 3AF900D41BC228C300172627 /* Marker */, ); @@ -201,6 +214,43 @@ name = "Other Sources"; sourceTree = ""; }; + 3A28A4C91BE9204C0004FCE9 /* Overlays */ = { + isa = PBXGroup; + children = ( + 3A433F041BE9AB2C0005C8AE /* Polygon */, + 3A28A4CA1BE920530004FCE9 /* Polyline */, + 3A433F091BE9AE650005C8AE /* Circle */, + ); + name = Overlays; + sourceTree = ""; + }; + 3A28A4CA1BE920530004FCE9 /* Polyline */ = { + isa = PBXGroup; + children = ( + 3A433EFC1BE9AB0C0005C8AE /* DeHansknoechelGooglemapsPolylineProxy.h */, + 3A433EFD1BE9AB0C0005C8AE /* DeHansknoechelGooglemapsPolylineProxy.m */, + ); + name = Polyline; + sourceTree = ""; + }; + 3A433F041BE9AB2C0005C8AE /* Polygon */ = { + isa = PBXGroup; + children = ( + 3A433F001BE9AB270005C8AE /* DeHansknoechelGooglemapsPolygonProxy.h */, + 3A433F011BE9AB270005C8AE /* DeHansknoechelGooglemapsPolygonProxy.m */, + ); + name = Polygon; + sourceTree = ""; + }; + 3A433F091BE9AE650005C8AE /* Circle */ = { + isa = PBXGroup; + children = ( + 3A433F051BE9AE620005C8AE /* DeHansknoechelGooglemapsCircleProxy.h */, + 3A433F061BE9AE620005C8AE /* DeHansknoechelGooglemapsCircleProxy.m */, + ); + name = Circle; + sourceTree = ""; + }; 3AF900D01BC2287A00172627 /* Module Asses */ = { isa = PBXGroup; children = ( @@ -223,10 +273,10 @@ 3AF900D31BC2289C00172627 /* Map View */ = { isa = PBXGroup; children = ( - 3AF9008B1BC1E21300172627 /* DeHansknoechelGooglemapsMapView.h */, - 3AF9008C1BC1E21300172627 /* DeHansknoechelGooglemapsMapView.m */, - 3AF9008F1BC1E22400172627 /* DeHansknoechelGooglemapsMapViewProxy.h */, - 3AF900901BC1E22400172627 /* DeHansknoechelGooglemapsMapViewProxy.m */, + 3A433EF41BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapView.h */, + 3A433EF51BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapView.m */, + 3A433EF61BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapViewProxy.h */, + 3A433EF71BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapViewProxy.m */, ); name = "Map View"; sourceTree = ""; @@ -234,8 +284,8 @@ 3AF900D41BC228C300172627 /* Marker */ = { isa = PBXGroup; children = ( - 3AF900D51BC2290200172627 /* DeHansknoechelGooglemapsMarkerProxy.h */, - 3AF900D61BC2290200172627 /* DeHansknoechelGooglemapsMarkerProxy.m */, + 3A433EF01BE9AAF00005C8AE /* DeHansknoechelGooglemapsMarkerProxy.h */, + 3A433EF11BE9AAF00005C8AE /* DeHansknoechelGooglemapsMarkerProxy.m */, ); name = Marker; sourceTree = ""; @@ -247,11 +297,14 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 3A433F021BE9AB270005C8AE /* DeHansknoechelGooglemapsPolygonProxy.h in Headers */, + 3A433EFA1BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapViewProxy.h in Headers */, AA747D9F0F9514B9006C5449 /* DeHansknoechelGooglemaps_Prefix.pch in Headers */, - 3AF900D71BC2290200172627 /* DeHansknoechelGooglemapsMarkerProxy.h in Headers */, + 3A433EF21BE9AAF00005C8AE /* DeHansknoechelGooglemapsMarkerProxy.h in Headers */, 24DD6CF91134B3F500162E58 /* DeHansknoechelGooglemapsModule.h in Headers */, - 3AF900911BC1E22400172627 /* DeHansknoechelGooglemapsMapViewProxy.h in Headers */, - 3AF9008D1BC1E21300172627 /* DeHansknoechelGooglemapsMapView.h in Headers */, + 3A433F071BE9AE620005C8AE /* DeHansknoechelGooglemapsCircleProxy.h in Headers */, + 3A433EFE1BE9AB0C0005C8AE /* DeHansknoechelGooglemapsPolylineProxy.h in Headers */, + 3A433EF81BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapView.h in Headers */, 24DE9E1111C5FE74003F90F6 /* DeHansknoechelGooglemapsModuleAssets.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -326,11 +379,14 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3AF9008E1BC1E21300172627 /* DeHansknoechelGooglemapsMapView.m in Sources */, 24DD6CFA1134B3F500162E58 /* DeHansknoechelGooglemapsModule.m in Sources */, - 3AF900921BC1E22400172627 /* DeHansknoechelGooglemapsMapViewProxy.m in Sources */, 24DE9E1211C5FE74003F90F6 /* DeHansknoechelGooglemapsModuleAssets.m in Sources */, - 3AF900D81BC2290200172627 /* DeHansknoechelGooglemapsMarkerProxy.m in Sources */, + 3A433F031BE9AB270005C8AE /* DeHansknoechelGooglemapsPolygonProxy.m in Sources */, + 3A433EF91BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapView.m in Sources */, + 3A433EFF1BE9AB0C0005C8AE /* DeHansknoechelGooglemapsPolylineProxy.m in Sources */, + 3A433EFB1BE9AAFE0005C8AE /* DeHansknoechelGooglemapsMapViewProxy.m in Sources */, + 3A433F081BE9AE620005C8AE /* DeHansknoechelGooglemapsCircleProxy.m in Sources */, + 3A433EF31BE9AAF00005C8AE /* DeHansknoechelGooglemapsMarkerProxy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/iphone/ti.googlemaps.xcodeproj/project.xcworkspace/xcuserdata/hans.xcuserdatad/UserInterfaceState.xcuserstate b/iphone/ti.googlemaps.xcodeproj/project.xcworkspace/xcuserdata/hans.xcuserdatad/UserInterfaceState.xcuserstate index 3eaa3b3270d1580ba4af2d08aad7088cc300ac9d..c741340eb8a89189a28610554ce796e776fa21f3 100644 GIT binary patch delta 28974 zcma&O2S8NE^8kFWTzUPScSn&9(z_to1w{l4MWl#@A_z!_I|NaWO;KZPaT7IaRIs;L zVo5Z1V>fn|73@#!CiWM04||9`!T!dcW3RBcIEItB8mDm%7jYeKh1=rx zxD)P*yW?KCFCKsg{X;_LCB@y+;Fd593Gi6ZmQTEPesMj9SYkXek(fe2VjA&1F`Jl6G!P4kCB$;#M`8`Jj@U?SBDN6QiCx4V zVn1<+I6@pJP7!|)=ZQ&XS=VsaU|l3Y#xL~bB|A%7*ekvqxX z$bIBN()>Glj66x6A>9d`vzepOG)fH_C3x9?BSHZ)G24qOz|t zMVYD`pd6^oRAwo2l|z-ol!eMtWtq~bG%0J8Bb1|+X65I~FO=hyUnwUlCn={Yp>n!% zhH|#@2W7poLAgk|Sh-xeLb+PGM!8rt)GF7>1lxnoftg2H@P?;yHCaET? zW~pYYeo)O(EmJL5tx&C0{is@{TCG~6+M?R3+NRpBI;1+R`dxKIbzXHrby0Ombw_nq zbx-wN^+NShtx~Ji8a1UhsIAo2Y8!PcwY%Cw?Wqn?hpOAC!_-~X-PBR)?&?H!Uv-i? zL!GJ4QfI46)TQb&^+>aNlzOzZ;qxxs{FY4da zd(?Z?`_w1Zr_`s_XVeeXPu0)V&($x~Z`5x!xQ5WEH5v`8;WS!J3yqb=T4SfN*Enlj zG@cqSjh`k|(@xV#(^V6r>88DB84A$gmhG|MPMvb{zGg|YRW}Ie{W~yd}W|pR2 zvrw~KvqrOCvstr4^PA?N=9uP`=CtO5=A!1R=9cER<}b|y%`?s4ntv#oVknm4D4r51 zk^Dz43rgRO}S96lpEEG@}t72aH=iUj%rVJpgK~~R1YeKilvgMepE7*Vx}^w zEGnBCN)4k%P_@)ZY7{k^`i%OL8bghx#!(Zf@2MZCIaC8RpIS^Up?;;dP+O^O)OKnI zwUgRK?WTUC4p3L9tJF2>PwF~#gStuGqHa@v(HM=>1WnRPT1BgA4NcKB&CohpPa9|} z+L3mmooOH1>`VL6{&XZlq`#$S(BIQP(Dif!y@*~$FQ?bjzt9KiL-cX_1bv3S zKwqRU(bwra^aJ`K{fK@>Kc`>NZ_M;t24_@^n&B87Bw|qIx{_)UQBPM50k_UU^19YCX2~shBCvLLZ+0dWQ$8X4|ms*e+}o+nepfCbKDQ4x7skW%Jm4wt%f+N3gZ* zNOlxEnl-auvSZi@>_ql^b|yQEoy{&_SFkJDpV(j6ZR~ICLG~DXoc)8nz&$P2s-fzUS(>25vsLfLq9| zpYvbvU-IAZQ+a6SzvXB0v-k#n5x$ z2l*5HdHzrSI)8(|&;QH65;%buS_*c8z2GW%3;sfY&{}9ObPzfUorG>eln^7t3Vnn` zp|3Dd$P_AsYGI@RgwKR=!X#m;Fin^#%o64b^M%ENd5N%2STAf4b_%O^bNUUU{cL|-vP>>$R9J;h#PZ?TUU zCk_@f#7r?u%oc};IpQ#}P%IZK#1Uex_@y{T94k%~q4>QxS6nDA7gvcphKf7IUE*%> zH*t@+SKKEa6#o>ji#NoZ;w|yE_?LJ`yer-l?~4z`r{X{2Ypp^{XjNKP%W1V*Ppy~M zTkE6s)%t1uwE@~dZICuZ8>Vfi?Wpad?XK;mP0|j~4%FsobKy3o3pNG5W6WGXfTsdH z7vSRn{uTV1y-D>3xDMbw>wLcZ8f*X4I<6YSdi~@tRN+`GT%c`7_jHTgd};ff8>VCM zmUcP$Xyd4~%)SgK**HtBYp`gWpVYbmf7sSaYTbsM zZIINu3tw$(BefpDk+$-@$8e=>dkOXo-m?vrTK~dJ+g+vBOVqN4_B$A<_Xhgy2(Ywp z1E^zfOdHq(<$3fZ&?g<@s`%9xfFn+fr1>7Ib z*=-M}?4~4m5bC*0tq>?U%Djfb$Gc@-+rbh?nR-V!+c8j@*9ETmttH>1Z+vn>qp>mtE2;Yw#oDfke0$ysJ}DBQkR7FPj$)QC|8e|52ko%d;Iiz-U%x@3s) zSYvBD#16}x?t(#wW!yb*;9+^S{SY*c9)hb6%gQ+d9X(|k9EY)bbGT|4{$;S>J_SQ;RuMyl1zV(*H{SJ*u_Cnw=!AHU*lrZ?1 zv^=4K8OJ0Q5DYx$BdL_&q2MbCiqOI?zS1TLJ@h>;DVMN@bA2UCBwE7J$0gAc4si8x znTj*?^^=Ya;Rdt(B#sFWIKfY*;tjX?$&~%zLqD0TKOHlQMoA)a!29 z578E0^_L8R=m41jna9pBB0$<75ec&bBo{zL!TJE1pB`{hpe?)?z)Sc&;ky8N{XQ@= z&69xs7Fz63QX;O)0Qdcx75dI!)ElnziSKC@mZ7mrf zVSJAvo|Q3%%NW6}y9i3eB(AQsZY|-Df=ADWNUb^;AJS23eGaFDbdg$P;HA6G zyly%tol@c}7!huP8em)~C(WAxGeaY#*5tjT+{MSxI;cV8@G+=OGruEn$)qC6>W8 z7rRNLD-mDP?Lw@Eqr!Vhu%F=J#?}Vt&^AI6<1ZGW_`&+NPO!^m>HHACqQO>hdt2GQ zwjqW(N$5L~c+gfa^HZ+~67Fvn+)fg%xt-(yh<(zQkG5xE-4)5X5(g3E@|J%`%sImN ztJcu*s%)9ZVDQyW5~-6GQt43pr#*aqRe*Qe%X&D2cz1*m9sH$9=PZ-jNt1eCbCEz7 zEuaqX@&4+dmsq_5cRa9yWq;bhppLSp|3vb(KoGS*4bq&Ou)bptsr8q|Zs3&b0_3i% zp=~Ew4EGSbO;DM}L$o>hNIro(I;Bgve?#ZavL2sHRLUaMuv2F}oZFd|#$O=|i;-Gy zp>uB+7McoLB#oxE zgS~G_njtxf!LkT9ct1iq(WD47Zg+r>Zb@f`)WP`3z7lyW1dp@Gi?p@KD++2O!r=Ye zEu=wv#D%m=O~sUXq4q(F)QWx2)x91vSG|!<^p=DWZxI5TiiFVTp=2;* zUo_YOMm$o&`!SN@$mGW5k-;En=U7T2n+AKw_K{ix-j82-q=r{w)e>~DMCZyQ$%M!( z*r}&<^vImX*(99TO9_h}%fie<;~uC-LAsZ{#M-bX*6bT6QZT)jbQ_b!($Ol5V9`Vwi~vXT{S|Fcmo`eAfJTkur{H+B!HO~0ffN11P6E_K|TsUz*h;< zu_Na}@vSu+m?*hday}gJJX#{S2;NVWwXzf*>uU{#7oie-1)SVh@?GRA1eZ0j7P=(G zNu%o#HD~y+p9?H`DR1g$cq~cY@Md`VWui1|E1Dk(xAc>oJGlcM=_kW?!%MGZQ`-yc zlI3%D08V)=Z~rjtlp+i9D4dhhU!rsZVRVI8Qdq8UWL#8Z%uJp}T%<|kXJPT%RH=0V zifPhyKwgHO(xf|@yoOq>;N&!=B&Hh{F|~wcY1Xjhoosry;f^$a{T)SlJ$V;k(eKkF z@*#@AZJ}L%R(RT=n50NNuIQtPBmXAn>$yW-GdGqRgPADh^ ztzgKvN@s<~DijX<+P}S7X|HrpIx3w2)(2qm080c|62OuHmI|=`02=_XK>*7DSQfyB z04x_^c>pT_SRufQ0agmIa)4C=%mlFE0ILC5Ex<+r%nUF9u+IVZCBVi4>??qM4X}x5 zNu`U@Rq3W|rF2(%C_R;4N@z;=HY+09yvI9|5)o zVCw<)3&6GjYzM&h1MD!sjsffx!2ST(d4OF8*q;Eq1u!I|hX8v5uzvvd0$^_djsaW= za1Fp2fD0BWL@O9Y4@Hb3RvBHVs51a17MCG@2_rM2Vdj8dOfLzDC1i+W8ew6uLynau zL5BB*2?Hl7;euPsi~AZnP_SS+>mL|RLg*DG@1+TCRnk`Q8FYaLriR3 z(pvMG3>yk}6qZ2$Y)&&)2IRxl;|kz%1ehQLh9S;B*L)*)iqNQuRZf$8B^hFkh2Ycz z6q*gRVP?tTvJ9~R27fgeZpyJ{=E<;%3~}r9auVwXopQ%&7Ro>){4sZwW|`cnLfb2b z^M-QFDj86nAr3>-bueK zuJWGpKES2`>>Geh1sGhQe5ib+e5^z!`z^q}1K2cxO|SETo#%{%dByI5Z&diFFja(# zR6bUz0QNn=W=fc|;O1h_Kvt#wBu)#J4&fL8_5;A?NH}w$wxpHWPKCU}e{-mEQMt-E z^#E&-aq4_fp=YPp=(tBc(`tkKoLjdJ9@XezRNkt9Pm&5$1<9lq0Bqq0q~N*|>%eeT z$4?@5Qgud%5dd2Zuq6`WQuwmOH!xb&>ytRWRecanJiwL%Y=wlg680 zY@>wpGmII|C zf0H!cCNyMJ|Jslcr2IDF?{&Xcwegc=e^&j1$RfrM0PLVd_K;*om$t7S8&xL}4GnKI zDy=po6cG)2PjiQAPviF7|Ig`B?N#kVL=nZ`0d_xOz7F`I@5mm{Aw#rS|{i(gEr~L?#$uw*mH-MCK0cX7maSSAWtO zs5_~VGf*REa1UU}nUgfmAy|C2Zi)C;Bk;3|Nt8~1a*$~ka_dd(+s)~bJ!aVUV(jW|BT9RfG0w|x?4 zyLt!WZ5O~z-a45)|&| z+_r59ygFQG{zLtz!eg2Gtooe#y!wLrqWY5hvigeps`?th^#Hd5xDCKt0^A%2m@!;Zd(~1Gsm+#vR~3bv_xQEj%LF zdLFl=1sZR~w0eyXz$ae55E4@Bm!J!${OIU-!nx%(zFG*e`83Z zN!Fw`Q%?hUXcP4T7U}~5Zf^6Rx$f@SiymOaZUlqOe`*Gw)S;NeZ=3N7S{0N(b$ zsA;ffYIYw`Gij<6<_}XeO^v3unf^$CcW9z-w$QHwc*p;w&om3e$s&wKZokre-Aru) zz&kfln{1&r1>jv!%JzR{s}VKRn>OzP@QC-a)qJmME2=+`?rhDR<^|>gylc|}4VDGw z1H9XRvTJA-hnx8Wd92X<*i3E}z`Hk*TWcZr6TqYYlU&PYc9DHYH0}OZ&DLgW+W;QZ zL~W;q8uB->7HaYTYw;SVX6`&cVD69xxubf`VSx9l*Bk+OpO4PE=A?Y)dP8l43oJ5g ztj=i8TIT-&@VI)-Ie^E%KX);*eP6P$aT(wVh>eq)Yl`m`GZ8OaHPgPBY-E@Yn}i+1x~H=NcxvjC|WGhJlDL?ywtqXyw<$Yyw$t| zI65l*0iF)<0RTs*WDvjy13Y61g(;krk13K;QYuQVZ~}N{9V_|YEP!VNdRMR#q}Ev%hC${wQqLqod;`*#fw z4f2l;Y1cJ0s&!z(?14H%f@| zr-CgM1E@eM2;hYPN9VbCKGm8Ep+W&(0`O9Rmszyv0kb}LgkGPIGk2mQ{|lun)r~^e zK?T4o0d7P$Q-nhPFVQ)@f~o>I zVXOg;9BU3RBc|#okQ$d1U@R!kwIrM2N6xFt0RDx{;pfyBGBddi)aTH9oL~A^s79vX z>j+DU3|(l{L`C^BC97nVI;E46S42|ZQr}V2)F{NxlPXyzRFguLtU4XQ#{(Ss#Yrd# zu$aO70ueP^KFx4@VJ$_~%bkgh6&P#HA{j6l0V-0YJfB)htyOp|p_Wn0sTI^p>PKo7 zwVGN3@NWP<72puy-vazQfTLgyxz-s=sGq2H)OrPvrv0pNvYeyu0X`Gpv+4-TB;xm< z@QK-&d5>aR1DdizLWIaqG|B%Ug_4}5)FJ9H^*eQhI!Ya*j#DS7lK`I$@E-s^2jFu7 zJ`dpa0B->Je1I=lN}Wb4ZKcjq=cw}vC+Z?~3E&GYr?&?n;sKEih#ja$90J7QI-fyE zGu`cT3eahdtjNvE5Jdz?$}b%rmsM4eXF0@h?qpkd`KK@8l*xj502=L=mEAilJGZEb z$2-*DDD0x{QunC))C1}v^@w^*J)xdb&j7v%;EMsi1mH^nz6{{Y0gm>#65u}qeAP1Q zAL?J_V+*s0-PhC`>MivS;Hv@t8hIL-VGGYLfCvXf7eGYR*&tieTR4^&?o*nRo6#e; zq`*`OCEHA6aC~ttiPd=JxB8RZ!A|<3hVDTFj?iX*U|ho<9Tp z7l3b?PkSh~(p~^ZxifP6f5JI1Co=$hlM zKez_bz3D_niv@HaI*yK~69B#k;ClhS58(S3(0%D7InqA>a5<-+3p>u4svS&cC>T1E z&Z4vFA#{!+29|%9Y`zF^ba7s(Q=olFhm_7&Oj|$~(8K6Lx(MLE1N=C^PXQbq(%2Jp zDP4w$bfzol%JkSA^lZ9dXhCj8vJ_fMd>#e(u|Y)z*+YDNv$6{UjM+J&UUCoga2gdF z?UAM^%5ksCQ*Pfr2( z1-NH!JC^>Ao~A%94;{11(~C%K93^u&lb&U{m=Qm-;p6F!#2k7qY%#+hn+GFi_!E}f zyuL!YJ3X=I)s0Q|lj-1zltwx-MU6*`Ch zQh_Y`Uw}VC#$?e%lQrE?Oq);Nq;JuPv&R5O9_H^43~3L2&!TI@=u@O?_)UY(=f8}g z$?pC}5=7I{g9LQu&@=7nR?InBm58s)@L_|u9eqyL%zbH741qSqkN`(1eC+gFD$H>p zqhV-^P4LKf)HCP_#GCieVHlnfEknpTY^Z0DQ+eAwq-Si9P8kDZ#aILU9Uv5dz~(cy zimi+tAaDyugcI@tL$Vkb%bKo$Kfs8gV)4r9!WNwNgO zLAHd^7Oj{8;f#1kcT%mTh!-@<&$%`{xQ(B4SXlU|rg|dtIWrE`H<&M&FPSmSSU@0M zx&fjUAlw%)UoqnqJD3T8@BoCLC0-%|>U`3A=MFVm_T0a3L0-PpN>Ax6U0u?ZCmN93 zlddMqr1w``qdQ|DGsCjpx6F6UG-f&=JOSYa2ya06EI_yIR%R9oLo5|FWMaP4C#kVo z4|z-T71QQ@U}KAzCCGZ2#endyN2d|%F@2i`b7;Y=WL8<=KLR4Ko>>iuAlOT^%VX9l z${U#V%mzRN10wYOmBswR{HkctpfD;-buM+T4a^p1Dq75Lz;DM?3J(0it6w4}UP{ zKO%R5xd@2%0KJzrdzORkHRi@gqc@pbfanB>&hYpw_m=mV`|{J(lguOLG4n*hFi#aR z%-_sEaPy4buIOPRAR++~cba+5yg-95nODqfG~p@pj(p52$Vbro`*?FNK=c7b*HiTS z^TOgR(R5yV0;1c;=Y`dv^TJXr%`z;@qB9o-i0*)h1_aU?imIFL&i^?tO(&rFfLPAQ z2|7Y@gUrVVqsa|^d_y)uS!elFpxn99IU3?WJ{2ErnDs_men&o1#E_2w(c2=FK6MJo zuGj#}QTf{pqR3W!8NB)zu}wmTd1p#><$ zus!QM0nxY4-7R87=7*Na#<3_=YBp!Zm}EA|GPj>)Zppll=BBcP6dnuNG`2sR&JJJ) z0wM(vseniW1oD9C3)#VJ2Aj!dvDtta0Ej9;Acyh;Am-HhOutHDEn&cdaRZ03HUg>zD=sbWZOWs~}TVCSK5jLBms1HuNOHL&%TW+7_6zd+fA zEb>kbOg7sB4OvOE&`R?QUxdxgEqUSt1cuLA;U zz8VlUfEWRYT6aK<1jMMt>`hA{N8!Xymi#_3+LBjUk}Hcke5c2A*dsIhkD`2D^J#d& zktm;IU$U>**X$eiE&GmBa2SVk=-2=10D;WnGe97-_yQ1L0%8mx#sUIa#aGKXrD7|m zMt>=ew&ZjQCyoaMdYah-5EG>TBSSzBDtn+G3kS0-hS@51Iw4|i8}IU%6@~>&e}Mj- zUMgVf>F0P%+u=B8hf2_oIQxNdNqw_Q@^ZVCno5j-_*(KLoFnIyA!^?jGNi;IDc3lk zbLL#2cBM<^3C>NyaIH9Z&V%!O|62x#SfmmCzCpIhn2Vx~iGV;yWm4m-J)BQnm*gIO zP~6d|8_tglM2DX9=K=tMY-~yc7sR1k?i)Zr*m1d|5XOabZBb1xhHFng<~qQFBCe1t;)=Nvu9Pd|$^kJ~ za%S@YQ4fd)K+Ffk0zfPT#G<9j$DENfaaHKwY7RY2=W3$5n3wmc|7+u(sN^pOEQY_+yq5pGWu1MTqI3YLEL z>r32s=(^yhamZ*_0%Gm^1H#SZez2IsEN(U+P#CnTft$mjU93ir+}1#Dm20fEeE~uZu*?vq*TM9Ge$cRHoH?;T9zOe_ zd@snICX2YtU9~t(DURf>0b*z4EzR9fl+WjGa<{nKfIxnB4cjvv*e$a+Lfhl1!LFRw&ecio_{p;1@{sVdjWdadE{E>mfSlY|8STmcoGl?0DAFx z!`i9l|MJm1!yAwh^DNKtJTLGfujN}%CwM&|jsOA$qQ?Mn91te}aS{+H^+l$9dMR&Z zDRA+&d`sR=`IvX$9RYF1;)HtuG6|5WfJE=yOatU%KrU%4$D!hu?f+*v?!QWLyf+_; zTsQB-`|^IgKOevc@VOMtixh%11&x{Pnbhc%Vr z_zrwWz7yXW5J)S3BIaanEexvwNdqzrkUi=!A2@HlJ4~En-B@>vhNkttZT@eGjqk2~MG z@L!{p`9Ggs^Aq@qNa5(dcm@bmr9d~#KPX7F{Px`Hu|F;Tzi-2QkR0&e@zdxWeg?|B zNE{F^EXe_Z-ZkivAqHApEPVGas0}|GmDczl_&NMs9(g@v+^+%g7LW?d&S@#)=WFCB z9@Q%>QM~0>M6^R};mRTEe)&yPmMC^uGVV8)>=QqhhORwlOIq19yi%rsUO_eLN@DUTDxny(%CS=JjO9zYb7PsyEXR1=(Cr|32L4xznzjH^iI~k04bAy;a8PTM zN`II@^E>!m$S|aIkKYYQb)%!;_agty@8kCaQUgfpy^r7z@u)V{9HTQR-HVg+z4zXi zKgpl@XwLhjuX)M^{xS+N`HRRH~`v90W&871(02&VaN+7Ta6|7Tl1f3atcp!9(x_ zvlL=Uvlk%!7V!B3CY6w3YB7o@xs@_1V9D=G7ykK z&Dunqe^`qBg#KhFB}|u{2zvjcsnigvxgn{>^7I=O;68X_r@0{)WYOF3C}tBDSa!G& zkZsV?QbE=%EEUkp1yZ?9SRtUm&DBzFBf|mNc7d=;SdEmm7Le@#*;x`mM4eCi|L@Y8 zuu(wi;R4}j;TK_(uo;l;0oehN9Rb;?skBCaTwD9Bg|JuHkBm>)2goiT*3pFDg`*bu z5kN-P3&#N2)lx?@3#X7%6HW_f0ND+Y-QT+b;hb>sBZsv`KzBFNOB6bs5nm>JSa=Zr z6mEVrcdvl%OLRD*EptusBj)$zEa9FaMtH#d1IWZWg&B}B|F@VW+_Mz3glFU#M1TwZIa%kcFsk z`D5uzKXpDSeX=SFb1SCbW-&*zI8Gej%*xk*Y%T_glf)^_?0f^r=3qR8+=3%{fq25}=G(H@b99}dWBK-K^fIrrMdQs9nWF0j;i zL`ynche~)&B_2SI#F2!5SmFtZCFmks>@ocbhv{M5lEf~Se5w0~MM24_iu*q-2Z@Ko zGbpDJ4~xHxN5rGzG4Z%~LOdy+5>LZ+TO31|iGL`zis#VZ3*tq&>La2kX`JL;(aWpI zGSLNr-ot3D`jC@Rb@QEod48hef%0 zDj!-5RX)f`&6N+Wvbpl1Rck3kU8@1)lzJ`7e!j6}ngWtsN>&j{#3SM1g{)c2YtefI zAN&%QwuRPS;jvV!6BD%tt(DeVYooQ*w$!5d1WM=bTR?sXNVFYfSTg|mJs@YIf``^o z>!d|*U29#nZs`B+miUXD1<2WeM8D2~+H(LoS8AZ&_sS4$EDEfsD1`@BZk!(20;A2^ z;15!6ZRm%ca7nF_inZ-O9O(2>Vy=zQBB#@MF=^2y)X?baw9zOr*Y?oHXk!66ACL{1@y)^mChj*BE zkQSwU&2yX6bBp*>pv!qL(o0 zFoi~8t8i8LD%vR8E4rXpg=V2oD6OV8qfaO8rS?+?(c3l0sZ-P$>H+#Fk}LWOQV4p< zBAjlAUZv|0cVB{(Je+D|4oncK=eKp)?+MkNJ%-U)qz z$Bhr?Bh2WFJ3Y|Xc6#w?C{fPfv(UG8^7&!tTRS88iRd#roA_P)QT`NvjlaeJ#oy&0 z@lW_?{6GA^fx;#?PQ3J-+8#g?Mk3*AM1&=u2HOhzBPDMg>UsYFhBxLAWecY_=- z`q<4B^tqd9=z}-2#2w;AEs4HX(^Ffjt=5gxjn_@kP0~%#P1Sv?o2Hwgo2i?vo1>ej zYtSvwEz&K~Ez_;g{is{5TdP~A+o1bdw@LS_ZmVv)Zl`XyZjWxC?tt!)S@*l{sP4G# zr0%rt58XN41>Ggx72P%6b=^(fZQUK+J>3J{Bi$3-Gu=PB=en1=*SfcQg&x09eV^+AHN>A%pA(T~%Q*H6$-(ofM()qks>rk|mosh_Q%qo1d5&@a$0(l603 z)34C~s9&vLt6!(zp#NFFN&l;UtA4wFr+&A7kA9#2fLVV?|GWOE{3^mH+UI*4FQH=L#QF#(B9C=5Mk(Mh&IF;dK=;meGSQmG{XSHU_+K6$B<_* z4>J@S$_$l;DnpH7q`_?X%^AH*955U<95tLUoHm>_oHtxIJTN@6YGGw(g)yXQ_D#j|)s=%ty z>PxFhR#U7tSZ%Y~VRhN+w$&YLy|sh2li51XI@P+rwb^={^?2*8)_bk@TmNgLu)%E{ zZ9HwfZMxgU*(BIh+W?!-Z5G(9v{_|y*ygm&AGU-oYs=e4*v8uSvMsVT*$%gzZM)ER zvF$P2bG8>+I<@p_>CqPUt`~3zubPM{Q>(E_NVNh z*uS!WEP`U;SlT4%OTI9%%Q?zro()Pg$}12E;(Frc&y<^u5zYr|nKV zo&I#X=k&l?TsW6Nm$okLT?V`4 zxfHm3?eeY5G?x`F>s>aw9CbPCa^976OxeO>#xR=SRK9ql^9wcd5U z>vmW3e%FJpPhDTTzIC&9b9Qre>*m(mEzWJ6+c$2|ZIjzBx8L0ExIK0IyH(3pZmrx~ z#kT6(s$VNptI@6MTFq=VztzH4`&%7vb+Xl?Rxet;a<_AD=*O*}dF-g!@SM zAKVwYFL6KWe%AfG2kT+*u=WV`=;YDGBip0Uqu67j$27CY439k?M?8*s{O$49Q{n0C z>Fw$38RMDgndJF}=S0uRp6flgdT#f8?D^93wU?`xub019Pp>4eWUp#3;PtuJ3a|BE z8@;Z2-SN8Tt@Uo{ZSNiB-N!rLyWD$(_ek&Q-t)X0y!U$__deqwi0?zxr_qJaP zKRZ7MzYxEUex3a){YLtY_FL%pqu*-3V}9rSF8GuFoWJ1T+P{N;C;v?U0{=q)3I5;t zPxs&KzuSM0|1t9>H3L!&OAss@ZLZU;y3Yi-6ZOGw}(;#YKNPDimRePKEgWKn|FKEA_{rdJB+dnsV zz&a2e+IQ&Ip?inVI(*$>VuwQ=PIWlb(YIr0$FPny9Y5>%MaRt@cX!;=Nz+N&N!KZ> z)38oOowjt^(`jF4>(0)dT|4J?F6ms>d0Xdwoey+TcM-d^=#t)LNSE9$Yr1Ue@@oVc z!9@rWDG?bFSrKa^Hb-oU)JHl*Iz^fyM@QC0?u#@Zi#*ZQp{qw%ude2<dJ|Vt;{DAnC@f+fQj(?tjC76kXo(V|_$q6$P z<|iynxR7uo;Z~wwVw=S9M04V}#PNw25^p5l>Koj*ecz6K$M&7lcWU2regEuxBPl4U zT~ddnuamw_nwE4e>2A{felh(L`z7^T+HY;Yb;;^vF}X!@c5-2Iaq_n0eaQz>>{42# zc%;OnB&H;#RHc|xK+1xYl_{&tDTh){rJPB5ovKXLq%x^os#U5@YG7(`YDj9w)X3DH zsl!ssQ@=@FoVqS`ed>nPpHqKJqtm!FF-@0dm1dh}pXQY2n&zJ7mFAlkkQSU4niihc zKCM$)L|V7B=(O0h-f8h^ebbWD($WT`4Nl8S%Sp>i8vzjgms{XP17_4n=nQ~&M#clO`ie{Xt1`k?fT^sMxp^jqoA(*H?+p8je;#Q^gF zFyQk6V+LFvaBska0gnbe9k^=XuLHLZ+-@GYYf$Gwy$1Ce6hEl%pzVVW4>~gF*r1bx zqXs7qP8ys%IBoEW!B+-f8+?86t&G%+oQ$Cv`5A>7+cFMi{GM?%<3wiH%=pa2%%see z%vMMI?9SPfvp+X1w_9%a+#b0-bLZ!-&Rv_k zE_dV5)9PKQg~t ze)s&C{Mq?S^OxtZ%wJvLRnVp&yr5k{$ATRNzZV=WI9_mSSd@8K;;^J)$-~ly?HP7r z*o9%2hg}uukwxkvx`-`@$C+_|_%anIsD#RQNe4+Of2IX-uiPS7}^nVrhEmpwi6JA*Dl0^GiQ3T~_*Y>6OyIN}rUz zE~Cm?lo`rw%IwM<%RI|`%KXcM%0kN8lyxraQI=3PsBCCiL0M5*X<0>CZQ1BDQ1(UH z*s`z6rk2erTTr&9Y*X2mvh8KN%J!5UDLY&mUn<+kPa zg^DIZ#1P+nASDz7fDEgxMD%0DlkQ2uRsefhHT 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 ABme*a literal 92796 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