/*
 *     Generated by class-dump 3.1.2.
 *
 *     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2007 by Steve Nygard.
 */

struct $_281 {
    union $_282 representation;
    int type;
};

struct $_289 {
    char isEnabled;
    SEL didEndSelector;
    NSMutableArray *tiles;
    char isPulsingIn;
    char isPulsingOut;
    char startingPulse;
};

struct CGColor;

struct CGImage;

struct CGPath;

struct CGPoint {
    float x;
    float y;
};

struct CGRect {
    struct CGPoint origin;
    struct CGSize size;
};

struct CGSize {
    float width;
    float height;
};

struct CPRecord;

struct ClientLocationRequester {
    void **_field1;
    int _field2;
    struct Connection *_field3;
    char *_field4;
    _Bool _field5;
    _Bool _field6;
    struct LocationRequest *_field7;
    struct LocationResponse *_field8;
    id _field9;
};

struct ClientRouteRequester {
    void **_field1;
    int _field2;
    struct Connection *_field3;
    char *_field4;
    _Bool _field5;
    _Bool _field6;
    struct RouteResponse *_field7;
    id _field8;
};

struct ClientSearchRequester {
    void **_field1;
    int _field2;
    struct Connection *_field3;
    char *_field4;
    _Bool _field5;
    _Bool _field6;
    struct SearchResponse *_field7;
    id _field8;
};

struct ClientTileRequester {
    void **_field1;
    int _field2;
    struct Connection *_field3;
    char *_field4;
    _Bool _field5;
    _Bool _field6;
    struct TileResponse *_field7;
    struct __CFRunLoop *_field8;
    struct __CFRunLoopTimer *_field9;
    unsigned int _field10;
    id _field11;
    struct __CFSet *_field12;
};

struct Connection;

struct GMMRouteLocation {
    id _field1;
    struct MapPoint _field2;
};

struct GMMSegment {
    id _field1;
    struct MapPoint _field2;
};

struct GVector<GMM::Cell> {
    void *_field1;
    unsigned int _field2;
    unsigned int _field3;
    unsigned int _field4;
};

struct GVector<GMM::WiFiAP> {
    void *_field1;
    unsigned int _field2;
    unsigned int _field3;
    unsigned int _field4;
};

struct LocationRequest {
    void **_field1;
    int _field2;
    int _field3;
    _Bool _field4;
    _Bool _field5;
    _Bool _field6;
    long long _field7;
    int _field8;
    id _field9;
    struct MapPoint _field10;
    unsigned char _field11;
    _Bool _field12;
    int _field13;
    int _field14;
    int _field15;
    id _field16;
    struct GVector<GMM::Cell> _field17;
    struct GVector<GMM::WiFiAP> _field18;
    _Bool _field19;
};

struct LocationResponse;

struct MapPoint {
    int latitude_;
    int longitude_;
    int x_pixels_at_max_zoom_;
    int y_pixels_at_max_zoom_;
};

struct RouteResponse;

struct SearchResponse;

struct SkyHookLocation {
    double _field1;
    double _field2;
    double _field3;
    double _field4;
    double _field5;
};

struct Tile {
    unsigned char _field1;
    unsigned char _field2;
    int _field3;
    int _field4;
    int _field5;
};

struct TileResponse;

struct _NSRange {
    unsigned int _field1;
    unsigned int _field2;
};

struct _NSZone;

struct __CFArray;

struct __CFDictionary;

struct __CFMachPort;

struct __CFRunLoop;

struct __CFRunLoopSource;

struct __CFRunLoopTimer;

struct __CFSet;

struct __CFString;

struct __CTServerConnection;

struct __GSEvent;

struct __GSFont;

struct __SCDynamicStore;

typedef struct {
    double _field1;
    double _field2;
} CDAnonymousStruct1;

typedef struct {
    int sourceType;
    struct {
        double _field1;
        double _field2;
    } location;
    double accuracy;
    char isATTLocation;
    double scanStartedTime;
    double scanCompletedTime;
} CDAnonymousStruct2;

union $_282 {
    struct CGColor *color;
    struct CGImage *image;
    id generic;
};

/*
 * File: Applications/Maps.app/Maps
 */

@protocol HistoryItem <NSObject>
- (id)initWithDictionaryRepresentation:(id)fp8;
- (id)dictionaryRepresentation;
- (int)type;
@end

@protocol NSObject
- (BOOL)isEqual:(id)fp8;
- (unsigned int)hash;
- (Class)superclass;
- (Class)class;
- (id)self;
- (struct _NSZone *)zone;
- (id)performSelector:(SEL)fp8;
- (id)performSelector:(SEL)fp8 withObject:(id)fp12;
- (id)performSelector:(SEL)fp8 withObject:(id)fp12 withObject:(id)fp16;
- (BOOL)isProxy;
- (BOOL)isKindOfClass:(Class)fp8;
- (BOOL)isMemberOfClass:(Class)fp8;
- (BOOL)conformsToProtocol:(id)fp8;
- (BOOL)respondsToSelector:(SEL)fp8;
- (id)retain;
- (oneway void)release;
- (id)autorelease;
- (unsigned int)retainCount;
- (id)description;
@end

@interface Application : UIApplication
{
    MapController *_mapController;
    NSTimer *_hideSpinnerTimer;
    NSTimer *_exitTimer;
    unsigned int _loadingRequestCount;
}

- (void)applicationDidFinishLaunching:(id)fp8;
- (void)_setHideSpinnerTimer:(id)fp8;
- (void)_startedLoading;
- (void)_doneLoading;
- (void)applicationWillSuspendForEventsOnly;
- (void)applicationDidResumeForEventsOnly;
- (void)applicationWillSuspend;
- (void)applicationDidResume;
- (void)applicationWillTerminate;
- (BOOL)applicationSuspend:(struct __GSEvent *)fp8 settings:(id)fp12;
- (void)applicationResume:(struct __GSEvent *)fp8 withArguments:(id)fp12;
- (id)nameOfDefaultImageToUpdateAtSuspension;
- (void)applicationOpenURL:(id)fp8;
- (id)settingsDirectoryPath;
- (void)setLoading:(BOOL)fp8 updateNow:(BOOL)fp12;
- (void)setLoading:(BOOL)fp8;
- (id)mapController;

@end

@interface MapTile : TrafficTile
{
    struct $_281 _content;
    struct ClientTileRequester *_requester;
    TrafficTile *_highlightTile;
    BOOL _trafficEnabled;
    BOOL _needsTrafficTile;
}

+ (struct CGColor **)trafficColors;
+ (struct CGColor **)highlightTrafficColors;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)releaseContent;
- (void)dealloc;
- (BOOL)hasContent;
- (void)resetContent;
- (void)drawContent;
- (BOOL)_canDrawContent;
- (BOOL)_drawsContent;
- (void)setRequester:(struct ClientTileRequester *)fp8;
- (struct ClientTileRequester *)requester;
- (void)_updateTraffic;
- (void)setImage:(struct CGImage *)fp8;
- (void)setBackgroundColor:(struct CGColor *)fp8;
- (void)setTrafficEnabled:(BOOL)fp8;
- (BOOL)trafficEnabled;
- (void)cancelTrafficHighlightAnimation;
- (void)setTrafficHighlightAlpha:(float)fp8;
- (float)trafficHighlightAlpha;
- (BOOL)hasExpired;
- (BOOL)needsTrafficTile;
- (void)invalidateTrafficTileIfNecessary;
- (void)setTrafficTile:(id)fp8;
- (id)trafficTile;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface TrafficTile : TileView
{
    GMMTrafficTile *_trafficTile;
    struct CGColor **_trafficColors;
}

- (BOOL)_canDrawContent;
- (BOOL)_drawsContent;
- (void)dealloc;
- (void)setTrafficColors:(struct CGColor **)fp8;
- (struct CGColor **)trafficColors;
- (void)setTrafficTile:(id)fp8;
- (id)trafficTile;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface TileView : UITile
{
    struct Tile *_tile;
}

- (void)dealloc;
- (void)setTile:(struct Tile *)fp8;
- (struct Tile *)tile;

@end

@interface MapLevelView : LevelView
{
    NSMutableSet *_loadingTileViews;
    NSMutableSet *_loadingTrafficViews;
    unsigned int _loadingCount;
    BOOL _isLoadingEnabled;
    BOOL _trafficEnabled;
    struct CGPoint _loadingStartPoint;
    struct $_289 _pulsatingTraffic;
    NSMutableSet *_expiringTiles;
}

+ (Class)tileClass;
+ (struct CGImage *)missingImage;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)_updateLoadingCount;
- (void)_removeRequesterForTileView:(id)fp8;
- (void)_removeTrafficRequesterForTileView:(id)fp8;
- (void)_removeMapRequesterForTileView:(id)fp8;
- (void)_removeRequestersForTileView:(id)fp8;
- (void)_removeTile:(id)fp8 cache:(BOOL)fp12;
- (void)updateTileAfterReceivingContentForTile:(id)fp8;
- (void)setTrafficHighlightAlpha:(float)fp8 forAnimation:(BOOL)fp12;
- (void)stopPulsatingTraffic;
- (void)_pulsateTraffic:(BOOL)fp8 delay:(double)fp12 didEndSelector:(SEL)fp20;
- (void)pulsateTrafficInAndOutAfterDelay:(double)fp8 didEndSelector:(SEL)fp16;
- (void)startPulsatingTraffic;
- (void)pulsatedTrafficIn:(id)fp8 finished:(id)fp12;
- (void)_pulsatedTrafficOutFinished:(id)fp8 pulsateAgainSoon:(BOOL)fp12;
- (void)pulsatedTrafficOutFirstTime:(id)fp8 finished:(id)fp12;
- (void)pulsatedTrafficOutSecondTime:(id)fp8 finished:(id)fp12;
- (void)_updatePulsingTraffic;
- (void)setPulsatesTraffic:(BOOL)fp8;
- (void)tileRequesterReceivedMissingImageForTile:(id)fp8;
- (void)tileRequesterReceivedColor:(struct CGColor *)fp8 forTile:(id)fp12;
- (void)tileRequesterReceivedTraffic:(id)fp8 forTile:(id)fp12;
- (void)tileRequesterReceivedImage:(struct CGImage *)fp8 forTile:(id)fp12;
- (void)tileRequesterProgress:(struct ClientTileRequester *)fp8;
- (void)tileRequesterFailed:(id)fp8;
- (void)setLoadingEnabled:(BOOL)fp8;
- (BOOL)_zoomLevelSupportsTraffic;
- (void)setZoomLevel:(int)fp8;
- (void)startTileLoading;
- (void)layoutSubviews;
- (void)stopTileLoading;
- (void)setLoadingStartPoint:(struct CGPoint)fp8;
- (BOOL)hasTileContainingWindowPoint:(struct CGPoint)fp8;
- (BOOL)_tilesCoverRect:(struct CGRect)fp8;
- (BOOL)tilesCoverVisibleRect;
- (BOOL)hasTilesFromTopLeftLongLat:(struct CGPoint)fp8 bottomRightLongLat:(struct CGPoint)fp16;
- (struct __CFArray *)tilesForRoute:(id)fp8 visibleSize:(struct CGSize)fp12;
- (void)setTrafficEnabled:(BOOL)fp8;
- (void)updateExpiredTilesAsFocused:(BOOL)fp8;

@end

@interface LevelView : UITiledView
{
    id _delegate;
    struct __CFDictionary *_tileToTileView;
    int _zoomLevel;
    int _mapType;
    struct {
        double x;
        double y;
    } _offset;
}

+ (Class)tileClass;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (unsigned char)_tileFlags;
- (id)_createTileWithFrame:(struct CGRect)fp8;
- (void)_removeTile:(id)fp8 cache:(BOOL)fp12;
- (void)setDelegate:(id)fp8;
- (void)setZoomLevel:(int)fp8;
- (int)zoomLevel;
- (void)setMapType:(int)fp8;
- (struct Tile)_topLeftTileInRect:(struct CGRect)fp8 foundTile:(char *)fp24;
- (struct Tile)_tileAfterTile:(struct Tile)fp8 inRect:(struct CGRect)fp24 foundTile:(char *)fp40;
- (struct CGPoint)convertPoint:(struct CGPoint)fp8 toLongitudeLatitudeFromView:(id)fp16;
- (struct CGPoint)convertLongitudeLatitude:(struct CGPoint)fp8 toPointToView:(id)fp16;
- (double)_levelSize;
- (void)setOffset:(CDAnonymousStruct1)fp8;
- (void)setOffsetWithMiddleLongLat:(struct CGPoint)fp8;
- (void)setOffsetWithLongLat:(struct CGPoint)fp8 point:(struct CGPoint)fp16;
- (CDAnonymousStruct1)offset;

@end

@interface MapAccessoryView : UIView
{
    NSMutableArray *_searchResultPins;
    NSMutableArray *_awaitingDropPins;
    NSMutableArray *_pendingSearchResults;
    MapPin *_bubblePin;
    UICalloutView *_bubble;
    UICalloutView *_userPositionBubble;
    struct CGPoint _userPositionLongLat;
    float _userPositionYOffset;
    ClientSearchResult *_searchResultToSelect;
    id _delegate;
    MapPin *_draggingPin;
    struct CGPoint _draggingPinPosition;
    struct CGPoint _mouseDownPoint;
    int _mapType;
    BOOL _clickedOnPin;
    BOOL _isHandlingDrags;
    BOOL _didDragPin;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (void)_updatePinTypeForPin:(id)fp8;
- (void)setMapType:(int)fp8;
- (id)_bubble;
- (void)_removeBubbleWithAnimation:(BOOL)fp8 tellDelegate:(BOOL)fp12;
- (void)_removeBubbleWithAnimation:(BOOL)fp8;
- (struct CGRect)_visibleRect;
- (void)_clickedBubbleButton;
- (void)hideUserPositionInfo;
- (void)_showBubbleForPin:(id)fp8 bounce:(BOOL)fp12 pressed:(BOOL)fp16 scrollToFit:(BOOL)fp20;
- (void)resetBubble;
- (void)showUserPositionInfoAtLongLat:(struct CGPoint)fp8 withLevelView:(id)fp16 YOffset:(float)fp20 animate:(BOOL)fp24;
- (BOOL)isShowingUserPositionInfo;
- (id)_pinForSearchResult:(id)fp8;
- (struct CGRect)pinAndBubbleRectForSearchResult:(id)fp8;
- (void)_scrollToBubble;
- (void)showBubbleAfterScroll;
- (id)selectedSearchResult;
- (void)_updatePin:(id)fp8 location:(struct CGPoint)fp12 withLevelView:(id)fp20;
- (void)updatePinLocationsWithLevelView:(id)fp8;
- (BOOL)_pinPositionAvailableAtPoint:(struct CGPoint)fp8;
- (struct CGPoint)availablePinLongLatFromCenterLongLat:(struct CGPoint)fp8 withLevelView:(id)fp16;
- (id)_pinForBubbleAtPoint:(struct CGPoint)fp8 avoidCurrent:(BOOL)fp16;
- (BOOL)checkHandlingDragsFromPoint:(struct CGPoint)fp8;
- (id)searchResultForPinAtPoint:(struct CGPoint)fp8;
- (void)mouseDown:(struct __GSEvent *)fp8;
- (void)mouseDragged:(struct __GSEvent *)fp8;
- (void)_dropPin;
- (void)mouseUp:(struct __GSEvent *)fp8;
- (void)pinDidLift:(id)fp8;
- (void)_clearPendingSearchResults;
- (void)_clearSearchResult:(id)fp8;
- (void)_clearPin:(id)fp8;
- (void)clearPinForSearchResult:(id)fp8;
- (void)clearSearchResultPinsExcluding:(id)fp8;
- (void)clearSearchResultPins;
- (void)addSearchResults:(id)fp8 selectSearchResult:(id)fp12;
- (id)_createPins;
- (void)_selectPendingSearchResultAnimated:(BOOL)fp8;
- (BOOL)dropPinsWithLevelView:(id)fp8 animate:(BOOL)fp12;
- (void)pinDidDrop:(id)fp8 animated:(BOOL)fp12;
- (void)setSelectedSearchResult:(id)fp8;
- (struct CGSize)accessoryPadding;
- (void)replaceSearchResult:(id)fp8 withSearchResult:(id)fp12;
- (BOOL)hasPendingAnimations;

@end

@interface MapAccessoryView (UICalloutViewDelegate)
- (void)calloutView:(id)fp8 didMoveToAnchorPoint:(struct CGPoint)fp12 animated:(BOOL)fp20;
- (void)calloutView:(id)fp8 willMoveToAnchorPoint:(struct CGPoint)fp12 animated:(BOOL)fp20;
@end

@interface MapPin : UIImageView
{
    ClientSearchResult *_searchResult;
    UIImageView *_shadowView;
    id _delegate;
    struct CGPoint _position;
    float _pinDropDelay;
    int _pinType;
    int _state;
}

+ (struct CGSize)pinSize;
+ (struct CGRect)pinFrameForPosition:(struct CGPoint)fp8;
- (id)_pinShadowImage;
- (id)initWithSearchResult:(id)fp8;
- (void)dealloc;
- (id)description;
- (id)searchResult;
- (void)setSearchResult:(id)fp8;
- (struct CGPoint)longLat;
- (int)compareLongitudeToSearchResultPin:(id)fp8;
- (int)compareLatitudeToSearchResultPin:(id)fp8;
- (void)setDelegate:(id)fp8;
- (id)_pins;
- (id)_pinImage;
- (id)_pinFloatingImage;
- (id)_pinBounceImages;
- (id)_pinJumpImages;
- (void)_removeAllAnimations;
- (void)setPinType:(int)fp8;
- (void)stopDrop;
- (void)setPosition:(struct CGPoint)fp8;
- (void)setPosition:(struct CGPoint)fp8 inView:(id)fp16;
- (struct CGPoint)position;
- (void)_bounce:(BOOL)fp8 withBeginTime:(double)fp12;
- (void)dropToPosition:(struct CGPoint)fp8 inView:(id)fp16 inRect:(struct CGRect)fp20;
- (void)liftForDragging;
- (void)dropAfterDraggingAndRevertPosition:(BOOL)fp8;
- (void)_dropAnimationDidEnd:(id)fp8;
- (void)_liftBeforeDropAnimationDidEnd:(id)fp8;
- (void)_liftAnimationDidEnd:(id)fp8;
- (void)animationDidStop:(id)fp8 finished:(BOOL)fp12;
- (void)setPinDropDelay:(float)fp8;
- (void)setPressed:(BOOL)fp8;
- (int)state;

@end

@interface SearchController : NSObject
{
    id _delegate;
    UITable *_searchResultsTable;
    UITextLabel *_textLabel;
    NSMutableArray *_searchResults;
    ClientSearchResult *_selectedSearchResult;
    struct ClientSearchRequester *_searchRequester;
    BOOL _scrollToResults;
    struct ClientRouteRequester *_routeRequester;
    ClientSearchResult *_routeStartSearchResult;
    ClientSearchResult *_routeEndSearchResult;
    AddressBookAddress *_routeStartAddress;
    AddressBookAddress *_routeEndAddress;
    GMMRoute *_route;
    int _selectedRouteSegment;
    struct CGSize *_segmentTextSizes;
    BOOL _routeChangedSinceLaunch;
    BOOL _isUpdatingCurrentLocation;
    NSString *_routeStartAddressString;
    NSString *_routeEndAddressString;
    struct CGPoint _routeStartLongLat;
    struct CGPoint _routeEndLongLat;
    ClientSearchResult *_customSearchResult;
    AddressBookAddress *_address;
    id <HistoryItem> _searchHistoryItem;
    id <HistoryItem> _routeHistoryItem;
    int _searchMode;
    BOOL _isTrafficEnabled;
}

- (id)init;
- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (id)_searchResultsTable;
- (void)_createTextLabel;
- (void)setDimmed:(BOOL)fp8 duration:(float)fp12;
- (void)_tileTextLabel;
- (void)_reloadData;
- (void)repositionWithYDelta:(float)fp8 startTime:(double)fp12 duration:(double)fp20;
- (void)setSearchMode:(int)fp8;
- (void)setTrafficEnabled:(BOOL)fp8;
- (id)searchResults;
- (void)setSearchResults:(id)fp8;
- (void)replaceSearchResult:(id)fp8 withSearchResult:(id)fp12;
- (void)setCustomSearchResult:(id)fp8;
- (id)customSearchResult;
- (void)_setUpdatingCurrentLocation:(BOOL)fp8;
- (void)cancelSearches;
- (BOOL)isSearching;
- (BOOL)isRouting;
- (void)setSelectedSearchResult:(id)fp8;
- (id)selectedSearchResult;
- (void)clearSearchResults;
- (void)_clearRoute;
- (void)_clearSearchResultsAndRoute;
- (void)_searchForString:(id)fp8 searchKind:(int)fp12 centerLongLat:(struct CGPoint)fp16 longLatSpan:(struct CGSize)fp24 zoomLevel:(int)fp32 saveToHistory:(BOOL)fp36 scrollToResults:(BOOL)fp40;
- (void)searchForString:(id)fp8 centerLongLat:(struct CGPoint)fp12 longLatSpan:(struct CGSize)fp20 zoomLevel:(int)fp28 scrollToResults:(BOOL)fp32;
- (void)searchForAddress:(id)fp8;
- (void)_startRoute;
- (void)_routeFailed:(int)fp8;
- (void)locationManagerUpdatedLocation:(id)fp8;
- (void)locationManagerFailedToUpdateLocation:(id)fp8;
- (void)routeFromAddress:(id)fp8 startLongLat:(struct CGPoint)fp12 toAddress:(id)fp20 endLongLat:(struct CGPoint)fp24;
- (void)searchForHistoryItem:(id)fp8;
- (void)setSelectedRouteSegment:(int)fp8;
- (void)_setSelectedRouteSegmentAndUpdateUI:(int)fp8;
- (int)selectedRouteSegment;
- (id)route;
- (void)setRouteChangedSinceLaunch:(BOOL)fp8;
- (BOOL)routeChangedSinceLaunch;
- (void)setRoute:(id)fp8;
- (id)routeStartSearchResult;
- (id)routeEndSearchResult;
- (void)setRouteStartSearchResult:(id)fp8;
- (void)setRouteEndSearchResult:(id)fp8;
- (void)setRouteStartAddress:(id)fp8;
- (void)setRouteEndAddress:(id)fp8;
- (id)routeStartAddress;
- (id)routeEndAddress;
- (void)reverseRoute;
- (void)routeRequesterFailed;
- (void)_createRouteSearchResultWithType:(int)fp8;
- (void)routeRequesterReceivedRoute:(id)fp8;
- (void)showListInView:(id)fp8 withFrame:(struct CGRect)fp12;
- (void)hideList;
- (void)setSize:(struct CGSize)fp8;
- (int)numberOfRowsInTable:(id)fp8;
- (BOOL)_isSingleLocationList;
- (struct CGSize)_textSizeForSegmentRow:(int)fp8;
- (id)_overviewString;
- (struct CGSize)_textSizeForOverview;
- (float)table:(id)fp8 heightForRow:(int)fp12;
- (id)table:(id)fp8 cellForRow:(int)fp12 column:(id)fp16;
- (BOOL)table:(id)fp8 disclosureClickableForRow:(int)fp12;
- (void)tableSelectionDidChange:(id)fp8;
- (void)table:(id)fp8 disclosureClickedForRow:(int)fp12;
- (void)searchRequesterReceivedSearchResults:(id)fp8;
- (void)searchRequesterFailed:(id)fp8;

@end

@interface CustomAnimation : UIAnimation
{
    SEL _progressSelector;
}

- (id)initWithTarget:(id)fp8 progressSelector:(SEL)fp12;
- (void)setProgress:(float)fp8;

@end

@interface MapView : UIView
{
    UIScroller *_scroller;
    MapLevelView *_standardMapLevelViews[16];
    MapLevelView *_satelliteMapLevelViews[20];
    MapLevelView *_hybridMapLevelViews[20];
    MapAccessoryView *_accessoryView;
    UIImageView *_badgeView;
    RouteView *_routeView;
    UIImageView *_routePositionView;
    RouteLoader *_routeLoader;
    PositionView *_positionView;
    InnerCirclePositionView *_innerCirclePositionView;
    BOOL _isShowingUserPosition;
    BOOL _needToShowUserPosition;
    struct __GSEvent *_mouseDownEvent;
    struct __GSEvent *_mouseUpEvent;
    NSTimer *_accessoryTimer;
    NSTimer *_pinDropTimer;
    id _delegate;
    int _animationType;
    CustomAnimation *_scrollAnimation;
    struct CGSize _maximumSize;
    struct CGPoint _startOffset;
    struct CGPoint _endOffset;
    struct CGPoint _routePositionViewLongLat;
    struct CGPoint _routeCenterLongLat;
    struct CGPoint _startRoutePosition;
    struct CGPoint _endRoutePosition;
    int _routeSegment;
    int _routeSummaryZoomLevel;
    struct CGPoint _doubleTapStartPosition;
    double _doubleTapStartTime;
    double _doubleTapDelay;
    int _zoomType;
    unsigned int _mouseDownCount;
    BOOL _callingScroller;
    unsigned int _eventMode;
    unsigned int _eventModeHistory;
    unsigned int _gestureCount;
    double _lastGestureEndedInterval;
    int _mapType;
    int _minZoomLevel;
    int _maxZoomLevel;
    struct CGPoint _zoomLongLat;
    struct CGPoint _zoomStartWindowPoint;
    struct CGPoint _zoomEndWindowPoint;
    float _startScale;
    float _endScale;
    struct CGRect _centeringRect;
    unsigned int _tileCount;
    unsigned int _levelViewLoadingCount;
    struct CGPoint _billingPointLongLat;
    int _billingPointZoomLevel;
    int _searchMode;
    NSTimer *_tileExpirationTimer;
    BOOL _trafficEnabled;
    BOOL _isLoadingEnabled;
    BOOL _showingRoute;
    BOOL _needToShowRoute;
    BOOL _allowsPulsatingTraffic;
}

- (void)setDelegate:(id)fp8;
- (void)_setDrawsGridBackground:(BOOL)fp8;
- (void)_updateBadge;
- (int)_viewIndexForSubview:(id)fp8;
- (void)_insertSubview:(id)fp8;
- (id)initWithFrame:(struct CGRect)fp8;
- (id)hitTest:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;
- (BOOL)_isInteractionEnabled;
- (BOOL)_isTilingEnabled;
- (BOOL)shouldPulsateTraffic;
- (id)_createLevelViewWithScale:(int)fp8;
- (void)_setScale:(float)fp8 forLevelView:(id)fp12;
- (void)_updateScaleForLevelView:(id)fp8;
- (id *)_mapLevelViews;
- (float)_scaleForScale:(float)fp8;
- (int)zoomLevel;
- (id)_mapLevelViewForLevel:(int)fp8;
- (id)_mapLevelViewForScale:(float)fp8;
- (id)_addLevelViewAtLevel:(int)fp8 updateScale:(BOOL)fp12;
- (id)_mapLevelView;
- (void)_updateTraffic;
- (void)_resetRouteLoader;
- (void)updateExpiredTiles;
- (void)_stopTileLoading;
- (void)setMapType:(int)fp8;
- (int)mapType;
- (void)setTrafficEnabled:(BOOL)fp8;
- (void)setAllowsPulsatingTraffic:(BOOL)fp8;
- (BOOL)allowsPulsatingTraffic;
- (void)_updateScrollingAndGestures;
- (struct CGRect)_positionFrame;
- (void)_updateUserPositionInfoAndAnimate:(BOOL)fp8;
- (void)_showUserPositionInfoAtWindowPoint:(struct CGPoint)fp8;
- (void)_updatePositionView;
- (void)_fadeInUserPosition:(BOOL)fp8 didStopSelector:(SEL)fp12;
- (void)_userPositionFadedOut;
- (void)removeUserPosition;
- (void)_fadeInUserPosition;
- (void)goToUserPosition;
- (BOOL)isShowingUserPosition;
- (void)_setAnimationType:(int)fp8;
- (void)_switchToAnimationType:(int)fp8;
- (int)animationType;
- (unsigned int)eventMode;
- (void)_logViews;
- (void)_updateRouteView;
- (struct CGRect)_routePositionFrame;
- (void)_updateRoutePositionView;
- (struct CGPoint)_routePositionLongLat;
- (void)_updateRoutePosition;
- (void)_updateAccesories;
- (void)_updateTiling;
- (void)setLoadingEnabled:(BOOL)fp8;
- (void)_setAccessoryTimer:(id)fp8;
- (void)_setEventMode:(int)fp8;
- (void)_clearEventMode:(int)fp8;
- (void)_cancelAccessories;
- (void)_cancelDoubleTap;
- (void)_cancelAccessoriesAndDoubleTap;
- (void)_showAccessories;
- (void)_setScrolling:(BOOL)fp8;
- (void)animator:(id)fp8 stopAnimation:(id)fp12 fraction:(float)fp16;
- (void)_scrollerProgress:(id)fp8;
- (void)_animateScrollToOffset:(struct CGPoint)fp8 duration:(double)fp16;
- (void)scrollWithOffset:(struct CGPoint)fp8 toRevealBubbleInAccessoryView:(id)fp16;
- (struct CGPoint)_scrollPointForLongLat:(struct CGPoint)fp8;
- (void)goToCenterLongLat:(struct CGPoint)fp8 zoomLevel:(float)fp16 animationType:(int)fp20;
- (float)_zoomLevelForTopLeftLongLat:(struct CGPoint)fp8 andBottomRightLongLat:(struct CGPoint)fp16;
- (float)_zoomLevelForSpan:(struct CGSize)fp8;
- (void)goToCenterLongLat:(struct CGPoint)fp8 longLatSpan:(struct CGSize)fp16 animationType:(int)fp24;
- (void)zoomToScale:(float)fp8;
- (void)willStartGesturesInView:(id)fp8 forEvent:(struct __GSEvent *)fp12;
- (void)gestureDidChange:(int)fp8 inView:(id)fp12 forEvent:(struct __GSEvent *)fp16;
- (void)didFinishGesturesInView:(id)fp8 forEvent:(struct __GSEvent *)fp12;
- (void)animationDidStop:(id)fp8 finished:(id)fp12 context:(void *)fp16;
- (void)_sendScrollerEvent:(struct __GSEvent *)fp8 selector:(SEL)fp12;
- (void)_prepareForZoomAnimationToScale:(float)fp8 fromEvent:(struct __GSEvent *)fp12;
- (void)_zoomToNextLevel:(BOOL)fp8 event:(struct __GSEvent *)fp12;
- (void)mouseDown:(struct __GSEvent *)fp8;
- (void)mouseDragged:(struct __GSEvent *)fp8;
- (void)mouseUp:(struct __GSEvent *)fp8;
- (void)gestureStarted:(struct __GSEvent *)fp8;
- (void)gestureChanged:(struct __GSEvent *)fp8;
- (void)gestureEnded:(struct __GSEvent *)fp8;
- (BOOL)didScrollOrZoomAccessoryView:(id)fp8;
- (void)scrollerDidScroll:(id)fp8;
- (void)scrollerWillStartDragging:(id)fp8;
- (void)scrollerDidEndDragging:(id)fp8 willSmoothScroll:(BOOL)fp12;
- (void)scrollerWillStartSmoothScrolling:(id)fp8;
- (void)scrollerDidEndSmoothScrolling:(id)fp8;
- (void)reachabilityManager:(id)fp8 hostname:(id)fp12 isReachable:(BOOL)fp16;
- (void)levelView:(id)fp8 didAddTile:(id)fp12;
- (void)levelView:(id)fp8 willRemoveTile:(id)fp12;
- (void)_removeTilesFromLevelViews:(id *)fp8;
- (void)levelViewDidLayoutTiles:(id)fp8;
- (void)accessoryView:(id)fp8 didClickDisclosureForSearchResult:(id)fp12;
- (void)accessoryView:(id)fp8 didSelectSearchResult:(id)fp12;
- (void)accessoryView:(id)fp8 didMoveSearchResult:(id)fp12 toPoint:(struct CGPoint)fp16;
- (void)_setPinDropTimer:(id)fp8;
- (void)_removeRoute;
- (void)setShowingRoute:(BOOL)fp8 animate:(BOOL)fp12;
- (void)accessoryViewPinsDidDrop:(id)fp8;
- (void)_dropPinsAndShowRouteAnimated:(BOOL)fp8;
- (void)_dropPinsAndShowRouteAnimated;
- (void)_updateNeedToShowRoute;
- (void)setSearchMode:(int)fp8;
- (void)dropPinsForSearchResults:(id)fp8 selectedSearchResult:(id)fp12 animate:(BOOL)fp16;
- (void)dropCustomPinForSearchResult:(id)fp8 animate:(BOOL)fp12;
- (struct CGPoint)pinDroppingLongLat;
- (void)goToBookmark:(id)fp8;
- (void)dropPinsForSearchResults:(id)fp8 centerLongLat:(struct CGPoint)fp12 longLatSpan:(struct CGSize)fp20 selectedSearchResult:(id)fp28 animate:(BOOL)fp32;
- (void)levelView:(id)fp8 didLoadTile:(id)fp12;
- (struct CGPoint)centerLongLat;
- (struct CGSize)longLatSpan;
- (id)accessoryView;
- (void)mapLevelViewDidStartLoading:(id)fp8;
- (void)mapLevelViewDidFinishLoading:(id)fp8;
- (void)routeLoaderDidStartLoading:(id)fp8;
- (void)routeLoaderDidStopLoading:(id)fp8;
- (void)dropPinsForRouteFromSearchResult:(id)fp8 toSearchResult:(id)fp12 animate:(BOOL)fp16;
- (void)setRoute:(id)fp8;
- (void)goToRouteSegment:(int)fp8 animate:(BOOL)fp12;
- (void)repositionWithYDelta:(float)fp8;
- (void)centerSelectedPinInRect:(struct CGRect)fp8;
- (void)applicationSuspendedEventsOnly:(id)fp8;
- (void)applicationResumedEventsOnly:(id)fp8;
- (void)accessoryViewDidAnimateBubble:(id)fp8;
- (void)accessoryViewWillAnimateBubble:(id)fp8;
- (struct CGRect)accessoryViewVisibleRect:(id)fp8;
- (void)setFrame:(struct CGRect)fp8;
- (void)setCenteringRect:(struct CGRect)fp8;

@end

@interface InfoCardController : NSObject
{
    id _delegate;
    UINavigationBar *_topBar;
    ClientSearchResult *_searchResult;
    int _addedAddressID;
    ABCardViewer *_addressBookCardView;
    ABMapsCardViewer *_mapCardView;
    MapLevelView *_mapView;
    UIView *_mapClipView;
    UIImageView *_smallPinView;
    UIView *_pickerOverlay;
}

- (id)init;
- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (void)_updateMapSnapShot;
- (id)_addressBookCardView;
- (id)_mapCardView;
- (void)_checkValid;
- (void)showCardInView:(id)fp8 withFrame:(struct CGRect)fp12;
- (int)_setValue:(id)fp8 property:(int)fp12 label:(struct __CFString *)fp16 onContact:(struct CPRecord *)fp20 onlyIfNotPresent:(BOOL)fp24;
- (void)_addPropertiesToContact:(struct CPRecord *)fp8 onlyIfNotPresent:(BOOL)fp12;
- (struct CPRecord *)mapsCardViewerCreateNewContact:(id)fp8;
- (void)mapsCardViewer:(id)fp8 mergePropertiesWithExistingContact:(struct CPRecord *)fp12;
- (void)unknownPersonCardViewer:(id)fp8 didResolveToPerson:(struct CPRecord *)fp12;
- (void)mapsCardViewerAddToBookmarksClicked:(id)fp8;
- (void)mapsCardViewerRemovePinClicked:(id)fp8;
- (void)mapsCardViewerDirectionsToClicked:(id)fp8;
- (void)mapsCardViewerDirectionsFromClicked:(id)fp8;
- (void)mapsCardViewerAttributionStringClicked:(id)fp8;
- (void)unknownPersonCardViewer:(id)fp8 presentPickingOverlay:(id)fp12;
- (void)unknownPersonCardViewer:(id)fp8 dismissPickingOverlay:(id)fp12;
- (void)animationDidStop:(id)fp8 finished:(id)fp12 context:(void *)fp16;
- (void)mapsCardViewerAddToExistingContact:(id)fp8;
- (void)mapsCardViewerAddressClicked:(id)fp8;
- (void)cardViewer:(id)fp8 selectedPerson:(struct CPRecord *)fp12 property:(int)fp16 identifier:(int)fp20;
- (void)_clearViews;
- (void)setVisible:(BOOL)fp8;
- (void)mapLevelViewDidFinishLoading:(id)fp8;
- (void)setSearchResult:(id)fp8;
- (id)searchResult;
- (void)setBackButtonTitle:(id)fp8;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;
- (void)setScrollOffset:(float)fp8;
- (float)scrollOffset;

@end

@interface ClientSearchResult : MacSearchResult
{
    NSDictionary *_info;
    NSString *_singleLineAddress;
    NSString *_singleLineAddressWithHomeCountry;
    int _mapType;
    int _type;
    int _originalType;
    unsigned int _zoomLevel;
}

+ (id)currentLocationSearchResultName;
+ (id)customLocationSearchResultName;
+ (id)searchResultWithDictionaryRepresentation:(id)fp8;
+ (id)currentLocationSearchResult;
+ (id)customSearchResultWithLongLat:(struct CGPoint)fp8;
- (id)init;
- (id)initWithSearchResult:(id)fp8;
- (id)initWithType:(int)fp8;
- (id)copyWithType:(int)fp8 name:(id)fp12 mapType:(int)fp16 zoomLevel:(unsigned int)fp20;
- (id)copyWithType:(int)fp8;
- (id)copyWithLongLat:(struct CGPoint)fp8;
- (void)dealloc;
- (id)dictionaryRepresentation;
- (int)mapType;
- (unsigned int)zoomLevel;
- (int)type;
- (int)originalType;
- (id)displayTitle;
- (id)_addressWithHomeCounty:(BOOL)fp8;
- (id)addressDictionary;
- (id)singleLineAddress;
- (id)singleLineAddressWithHomeCountry;
- (id)_longLatString;
- (struct GMMRouteLocation)routeLocation;
- (int)directionsAddressType;
- (struct CGPoint)longLat;
- (BOOL)isValid;

@end

@interface AddressBookSearchResult : ClientSearchResult
{
    AddressBookAddress *_address;
}

- (id)initWithSearchResult:(id)fp8 address:(id)fp12;
- (id)initWithSearchResult:(id)fp8;
- (void)dealloc;
- (id)address;
- (id)name;
- (id)singleLineAddress;
- (id)singleLineAddressWithHomeCountry;
- (id)dictionaryRepresentation;
- (BOOL)isValid;

@end

@interface AddressBookAddress : NSObject <HistoryItem>
{
    NSMutableDictionary *_info;
    int _recordID;
    struct CPRecord *_addressBookRecord;
    int _addressID;
}

- (void)_checkValid;
- (BOOL)isValid;
- (id)initWithRecord:(struct CPRecord *)fp8 addressID:(int)fp12;
- (id)initWithDictionaryRepresentation:(id)fp8;
- (void)dealloc;
- (unsigned int)hash;
- (BOOL)isEqual:(id)fp8;
- (id)dictionaryRepresentation;
- (int)type;
- (struct CPRecord *)record;
- (int)recordID;
- (int)addressID;
- (id)singleLineAddress;
- (id)singleLineAddressWithHomeCountry;

@end

@interface GMMRoute (MapsExtras)
- (id)expandedDistance;
- (unsigned int)_minutesForGoogleTime:(id)fp8;
- (id)_timeForMinutes:(unsigned int)fp8 withTraffic:(BOOL)fp12 abbreviated:(BOOL)fp16;
- (id)expandedTravelTime;
- (id)abbreviatedTravelTime;
- (id)expandedTravelTimeWithTraffic;
- (id)abbreviatedTravelTimeWithTraffic;
@end

@interface LocationTableCell : UISimpleTableCell
{
    NSString *_name;
    NSString *_address;
}

- (void)dealloc;
- (void)setName:(id)fp8;
- (void)setAddress:(id)fp8;
- (void)drawContentInRect:(struct CGRect)fp8 selected:(BOOL)fp24;

@end

@interface MapsWindow : UIWindow
{
}

- (void)handleStatusBarHeightChange;

@end

@interface MapAndSearchListView : UIView
{
    MapController *_mapController;
}

- (void)setMapController:(id)fp8;
- (id)hitTest:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;

@end

@interface MapController : NSObject
{
    UIWindow *_window;
    UIView *_contentView;
    UITransitionView *_transitionView;
    UIView *_cardViewContainer;
    SearchBar *_searchBar;
    ButtonBar *_buttonBar;
    UIView *_topButtonBarBorder;
    UIView *_mainViewContainer;
    MapAndSearchListView *_mapAndSearchListContainer;
    BookmarksView *_bookmarksView;
    AddBookmarkView *_addBookmarkView;
    UIKeyboard *_keyboard;
    UIView *_dimmingView;
    MapView *_mapView;
    NotePad *_notePad;
    SettingsView *_settingsView;
    SEL _hideSettingsViewDidEndSelector;
    ClientSearchResult *_bookmarkToShow;
    SearchController *_searchController;
    InfoCardController *_infoCardController;
    int _alertType;
    UIAlertSheet *_simpleAlert;
    UIAlertSheet *_multipleRefinementAlert;
    UIAlertSheet *_spellingSuggestionAlert;
    SearchInfo *_refinementSearchInfo;
    Goog411Loader *_goog411Loader;
    struct ClientLocationRequester *_locationRequester;
    int _viewMode;
    int _searchMode;
    int _postTransitionSearchMode;
    int _postBookmarksSearchType;
    float _searchBarHeightDelta;
    unsigned int _animationCount;
    BOOL _isShowingBookmarks;
    BOOL _isShowingAddBookmark;
    BOOL _isShowingKeyboard;
    BOOL _isLoadingFromLaunchURL;
    BOOL _ignoresSearchBarModifications;
    BOOL _ignoresAccessoryViewModifications;
}

- (id)init;
- (void)setViewMode:(int)fp8;
- (void)_setTrafficEnabled:(BOOL)fp8;
- (id)_routePath;
- (id)_preexistingSearchResultForSearchResult:(id)fp8;
- (void)_restoreSearchBarString:(id)fp8 isAtom:(BOOL)fp12 forSearchType:(int)fp16;
- (void)_restoreFromDefaults;
- (void)updateDefaults;
- (id)window;
- (id)mapView;
- (void)layoutSubviews;
- (void)setup;
- (void)_handleStatusBarHeightChange;
- (void)_cancelSearches;
- (void)dealloc;
- (void)mapView:(id)fp8 setMapType:(int)fp12;
- (id)_keyboard;
- (void)searchForString:(id)fp8 centerLongLat:(struct CGPoint)fp12 longLatSpan:(struct CGSize)fp20 scrollToResults:(BOOL)fp28;
- (void)searchForString:(id)fp8 scrollToResults:(BOOL)fp12;
- (void)searchForAddress:(id)fp8;
- (void)displayAlertWithMessage:(id)fp8 alertType:(int)fp12;
- (void)_setShowing:(BOOL)fp8 panel:(id)fp12 inView:(id)fp16 withAnimationName:(id)fp20;
- (void)_setShowingKeyboard:(BOOL)fp8 animate:(BOOL)fp12;
- (void)_setShowingBookmarks:(BOOL)fp8 forSearchType:(int)fp12;
- (void)_setSearchResult:(id)fp8 forSearchType:(int)fp12;
- (void)_replaceSearchResult:(id)fp8 withSearchResult:(id)fp12;
- (void)settingsViewDidRequestPinDrop:(id)fp8;
- (void)settingsViewDidReceiveExtraneousClick:(struct __GSEvent *)fp8;
- (void)_choseBookmark:(id)fp8 forSearchType:(int)fp12;
- (void)searchBar:(id)fp8 searchForString:(id)fp12;
- (void)searchBar:(id)fp8 choseBookmark:(id)fp12 forSearchType:(int)fp16;
- (id)keyboardForSearchBar:(id)fp8;
- (void)showKeyboardForSearchBar:(id)fp8;
- (void)hideKeyboardForSearchBar:(id)fp8;
- (void)showBookmarksForSearchBar:(id)fp8 forSearchType:(int)fp12;
- (void)_clearRouteStartPreservingText;
- (void)_clearRouteStart;
- (void)_clearRouteEndPreservingText;
- (void)_clearRouteEnd;
- (void)_clearSearchResults;
- (void)_clearCustomSearchResult;
- (void)_clearRoute:(BOOL)fp8 saveRoute:(BOOL)fp12 clearSearchResults:(BOOL)fp16 saveSearchResults:(BOOL)fp20;
- (void)_clearRouteLeavingPins;
- (void)searchBar:(id)fp8 didModifyForSearchType:(int)fp12;
- (void)searchBar:(id)fp8 didClearStringForSearchType:(int)fp12;
- (void)searchBarDidClearSearchResults:(id)fp8;
- (void)searchBarDidClearRoute:(id)fp8;
- (BOOL)searchBar:(id)fp8 shouldEnableClearButtonForSearchMode:(int)fp12;
- (void)_refreshPins;
- (void)_setSearchMode:(int)fp8;
- (void)_displayRouteSameLocationsError;
- (void)_routeFromAddress:(id)fp8 toAddress:(id)fp12;
- (void)routeFromAddress:(id)fp8 toAddress:(id)fp12 forSearchBar:(id)fp16;
- (void)routeFromAddress:(id)fp8 toAddress:(id)fp12;
- (void)searchBarRestoreRoute:(id)fp8;
- (BOOL)_handleMouseDown;
- (void)searchBarDidReverseRoute:(id)fp8;
- (BOOL)searchBar:(id)fp8 shouldAnimateToRouteSegment:(int)fp12;
- (void)bookmarksView:(id)fp8 choseBookmark:(id)fp12;
- (void)bookmarksView:(id)fp8 choseAddress:(id)fp12;
- (void)_searchForHistoryItem:(id)fp8;
- (void)bookmarksView:(id)fp8 choseHistoryItem:(id)fp12;
- (void)searchBar:(id)fp8 choseHistoryItem:(id)fp12;
- (void)closeBookmarksView:(id)fp8;
- (void)animationDidStart:(id)fp8;
- (void)animationDidStop:(id)fp8 finished:(BOOL)fp12;
- (void)animationWillStart:(id)fp8;
- (void)animationDidStop:(id)fp8 finished:(id)fp12 context:(void *)fp16;
- (void)settingsViewDidChangeViewMode:(id)fp8;
- (void)searchBar:(id)fp8 willChangeFrame:(struct CGRect)fp12 toFrame:(struct CGRect)fp28;
- (void)searchBar:(id)fp8 didChangeFrame:(struct CGRect)fp12;
- (void)searchBar:(id)fp8 showCompletionTable:(id)fp12;
- (void)_startCurrentLocationUpdate;
- (void)_stopCurrentLocationUpdate;
- (void)_cancelCurrentLocationUpdate;
- (void)locationManagerUpdatedLocation:(id)fp8;
- (void)_reportCurrentLocationFailure;
- (void)locationManagerFailedToUpdateLocation:(id)fp8;
- (BOOL)searchControllerShouldSendMapPosition:(id)fp8;
- (void)revealSettingsView;
- (void)hideSettingsView;
- (void)buttonBarDidChangeTrackingEnabled:(id)fp8;
- (void)_showDirectionsForCurrentSearchResult;
- (void)buttonBarDidChangeSearchMode:(id)fp8;
- (void)notePad:(id)fp8 didCurlView:(id)fp12;
- (void)notePad:(id)fp8 willCurlView:(id)fp12;
- (void)notePad:(id)fp8 didUncurlView:(id)fp12;
- (void)notePad:(id)fp8 willUncurlView:(id)fp12;
- (void)buttonBarDidChangeSettingsViewEnable:(id)fp8;
- (void)settingsViewDidChangeTrafficEnabled:(id)fp8;
- (BOOL)shouldSaveSpringBoardScreenShot;
- (void)setSuspended:(BOOL)fp8;
- (void)setLoadingFromLaunchURL:(BOOL)fp8;
- (void)_dropPinsForSearchResults:(id)fp8 scrollToResults:(BOOL)fp12;
- (void)searchController:(id)fp8 didReceiveResults:(id)fp12 scrollToResults:(BOOL)fp16;
- (void)searchController:(id)fp8 didReceiveSpellingSuggestion:(id)fp12;
- (void)_searchForResult:(id)fp8 atIndex:(unsigned int)fp12;
- (void)searchController:(id)fp8 didReceiveRefinementResults:(id)fp12;
- (int)numberOfRowsInTable:(id)fp8;
- (id)table:(id)fp8 cellForRow:(int)fp12 column:(id)fp16 reusing:(id)fp20;
- (void)tableSelectionDidChange:(id)fp8;
- (void)willPresentAlertSheet:(id)fp8;
- (void)didDismissAlertSheet:(id)fp8;
- (void)alertSheet:(id)fp8 buttonClicked:(int)fp12;
- (void)searchControllerSearchFailed:(id)fp8;
- (void)searchController:(id)fp8 didReceiveRoute:(id)fp12;
- (void)searchControllerRouteFailed:(id)fp8 routeError:(int)fp12;
- (void)searchControllerDidSelectRouteSegment:(int)fp8 selectResultPin:(id)fp12;
- (id)_infoCardController;
- (void)_showInfoCardForSearchResult:(id)fp8 animate:(BOOL)fp12;
- (void)searchControllerDidClickDisclosureForSearchResult:(id)fp8;
- (void)_goToSearchResult:(id)fp8;
- (void)searchControllerDidClickRowForSearchResult:(id)fp8;
- (void)mapView:(id)fp8 showInfoForResult:(id)fp12;
- (void)mapView:(id)fp8 didSelectSearchResult:(id)fp12;
- (void)_transitionToMapAndSearchMode:(int)fp8;
- (void)_setShowingAddBookmark:(BOOL)fp8;
- (void)closeInfoCardController:(id)fp8;
- (void)addBookmarkForSearchResult:(id)fp8 forInfoCardController:(id)fp12;
- (void)removeCustomSearchResult:(id)fp8 forInfoCardController:(id)fp12;
- (void)infoCardController:(id)fp8 didReplaceSearchResult:(id)fp12 withSearchResult:(id)fp16;
- (void)mapView:(id)fp8 replaceSearchResult:(id)fp12 withSearchResult:(id)fp16;
- (void)searchController:(id)fp8 didReplaceSearchResult:(id)fp12 withSearchResult:(id)fp16;
- (void)cancelAddBookmarkView:(id)fp8;
- (void)addBookmarkWithName:(id)fp8 forAddBookmarkView:(id)fp12;
- (void)_showDirectionsFromSearchResult:(id)fp8 orToSearchResult:(id)fp12 selectSearchResult:(BOOL)fp16;
- (void)_centerSelectedPinForDirections;
- (void)_showDirectionsForInfoCardControllerFromSearchResult:(id)fp8 orToSearchResult:(id)fp12;
- (void)showDirectionsToSearchResult:(id)fp8 forInfoCardController:(id)fp12;
- (void)showDirectionsFromSearchResult:(id)fp8 forInfoCardController:(id)fp12;
- (void)showSearchResult:(id)fp8 forInfoCardController:(id)fp12;
- (void)searchForAddress:(id)fp8 forInfoCardController:(id)fp12;
- (void)transitionViewDidComplete:(id)fp8;
- (id)CIDFromString:(id)fp8;
- (int)_performSearchFromQuery:(id)fp8 includingCustomParameters:(BOOL)fp12;
- (int)_performSearchFromURL:(id)fp8;
- (void)performSearchFromURL:(id)fp8;
- (void)loadGoog411URL:(id)fp8;
- (void)goog411Loader:(id)fp8 receivedURL:(id)fp12;
- (void)goog411LoaderFinishedLoading:(id)fp8;
- (void)searchControllerWillStartSearch:(id)fp8;
- (void)searchControllerWillStartRoute:(id)fp8;

@end

@interface ButtonBar : UIButtonBar
{
    unsigned int _controlsMask;
    UISegmentedControl *_searchModeControl;
    UIImageView *_trackingImageView;
    struct CGRect _trackingImageViewFrame;
    struct CGRect _trackingShrinkFrame;
    UIView *_trackingSpinner;
    UIImageView *_disabledSpinnerView;
    UIImageView *_disabledTrackingView;
}

- (id)initInView:(id)fp8 withFrame:(struct CGRect)fp12 delegate:(id)fp28;
- (void)_removeTrackingSpinner;
- (void)dealloc;
- (int)searchMode;
- (void)setSearchMode:(int)fp8;
- (BOOL)isTrackingEnabled;
- (void)setTrackingEnabled:(BOOL)fp8;
- (void)toggleTrackingEnabled;
- (void)_disabledSpinnerShrinkAnimationDidEnd:(id)fp8;
- (void)_targetShrinkAnimationDidEnd:(id)fp8;
- (BOOL)isSettingsViewEnabled;
- (void)setSettingsViewEnabled:(BOOL)fp8;
- (void)toggleSettingsViewEnabled;
- (void)showButtonGroup:(int)fp8 withDuration:(double)fp12;
- (void)positionButtons:(id)fp8 tags:(int *)fp12 count:(int)fp16 group:(int)fp20;
- (void)segmentedControl:(id)fp8 selectedSegmentChanged:(int)fp12;
- (id)createButtonWithDescription:(id)fp8;

@end

@interface LocationResult : NSObject
{
    struct ClientLocationRequester *_requester;
    GMMLocation *_location;
}

- (void)dealloc;

@end

@interface SearchInfo : NSObject
{
    NSArray *results;
    NSString *message;
    NSString *spellingSuggestion;
    struct CGPoint centerLongLat;
    struct CGSize longLatSpan;
    unsigned char status;
    unsigned char flags;
}

- (void)dealloc;

@end

@interface TileResult : NSObject
{
    struct ClientTileRequester *_requester;
}

- (void)dealloc;

@end

@interface SeparatorView : UIView
{
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface SearchBar : UIView
{
    UIGradientBar *_gradientBar;
    UISearchField *_searchField;
    UITextField *_startDirectionsField;
    UITextField *_endDirectionsField;
    UITextField *_textFieldToFocus;
    UIPushButton *_swapDirectionsButton;
    UIView *_routeSegmentBar;
    UIView *_routeBottomLineView;
    UIView *_transitionView;
    UIPushButton *_startButton;
    UIPushButton *_editButton;
    UIPushButton *_cancelButton;
    UIPushButton *_clearButton;
    UISegmentedControl *_arrowsButton;
    UIView *_labelView;
    UIView *_nextLabelView;
    UITextLabel *_textLabel;
    UITextLabel *_nextTextLabel;
    UITextLabel *_titleLabel;
    UIView *_distanceTimeView;
    UITextLabel *_travelTimeLabel;
    UITextLabel *_distanceLabel;
    SeparatorView *_separatorView;
    struct CGRect _oldGradientBarFrame;
    UICompletionTable *_completionTable;
    NSArray *_completionResults;
    id _delegate;
    GMMRoute *_route;
    int _routeStep;
    int _barState;
    int _oldBarState;
    int _searchMode;
    int _viewMode;
    BOOL _isTrafficEnabled;
    BOOL _isSwitchingFirstResponder;
    BOOL _textNotUserModified;
    BOOL _textChangeNotificationSuppressed;
    unsigned int _animationsSuspendedCount;
    double _animationStartTime;
    double _animationDuration;
    BOOL _isAnimating;
    BOOL _needAnimation;
}

+ (float)defaultHeight;
+ (float)directionsEditingHeight;
- (struct CGRect)_minTransitionViewFrame;
- (id)_gradientBarSubviews;
- (id)_gradientBarSubviewsNotInSet:(id)fp8;
- (id)_searchBarSubviews;
- (id)_searchBarSubviewsNotInSet:(id)fp8;
- (struct CGRect)_titleFrame;
- (struct CGRect)_titleLabelFrame;
- (void)_updateTitle;
- (void)_updateBarState;
- (void)_preTile;
- (void)_tile;
- (void)_postTile;
- (void)_restoreAnimationSettings;
- (void)_finalTile;
- (void)_completeTile;
- (void)_animate;
- (void)animationDidStop:(id)fp8 finished:(id)fp12 context:(void *)fp16;
- (float)routeSegmentBarOffset;
- (void)suspendAnimations;
- (void)resumeAnimations;
- (void)setAnimationStartTime:(double)fp8;
- (double)animationStartTime;
- (void)setAnimationDuration:(double)fp8;
- (double)animationDuration;
- (void)_updateRightButtonStyles;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (id)hitTest:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;
- (int)_searchTypeForTextField:(id)fp8;
- (id)_textFieldForSearchType:(int)fp8;
- (void)_route;
- (void)setLoadingRoute:(BOOL)fp8;
- (void)_addCompletionString:(id)fp8 toCompletions:(id)fp12 query:(id)fp16;
- (BOOL)_removeCompletionString:(id)fp8 fromCompletions:(id)fp12 query:(id)fp16;
- (id)_completionsResultsMatchingQuery:(id)fp8 forSearchType:(int)fp12;
- (void)_updateCompletionTable;
- (unsigned int)numberOfCompletionsInTable:(id)fp8;
- (id)table:(id)fp8 cellForCompletionAtIndex:(int)fp12 reusing:(id)fp16;
- (void)table:(id)fp8 didSelectCompletionAtIndex:(unsigned int)fp12;
- (void)_updateEditingButtons;
- (void)_updateSwapDirectionsButton;
- (void)_updateReturnKey;
- (void)_didModifyField:(id)fp8;
- (void)_userModifiedField:(id)fp8;
- (BOOL)textField:(id)fp8 shouldInsertText:(id)fp12 replacingRange:(struct _NSRange)fp16;
- (void)_textFieldDidChange:(id)fp8;
- (void)textFieldClearButtonPressed:(id)fp8;
- (void)textFieldRightButtonPressed:(id)fp8;
- (BOOL)textFieldShouldStartEditing:(id)fp8;
- (void)textFieldDidBecomeFirstResponder:(id)fp8;
- (void)textFieldDidResignFirstResponder:(id)fp8;
- (void)becomeFirstResponderForDirections;
- (void)searchFieldSubmitted;
- (void)startDirectionsFieldSubmitted;
- (void)endDirectionsFieldSubmitted;
- (void)_editRoute;
- (void)editButtonClicked;
- (void)cancelEditing;
- (void)cancelButtonClicked;
- (void)clearButtonClicked;
- (void)_updateTextLabel:(id)fp8 withRouteStep:(int)fp12;
- (void)_updateDistanceAndTravelTimeLabels;
- (void)_updateTextLabelsWithRouteStep:(int)fp8;
- (void)_updateArrows;
- (void)_goToRouteStep:(int)fp8;
- (void)startButtonClicked;
- (void)segmentedControl:(id)fp8 selectedSegmentChanged:(int)fp12;
- (void)leftButtonClicked;
- (void)setSearchMode:(int)fp8;
- (void)setViewMode:(int)fp8;
- (void)setTrafficEnabled:(BOOL)fp8;
- (void)setRoute:(id)fp8 selectedSegment:(int)fp12;
- (void)goToRouteSegment:(int)fp8;
- (void)setDelegate:(id)fp8;
- (void)_setString:(id)fp8 forSearchType:(int)fp12;
- (void)setString:(id)fp8 forSearchType:(int)fp12;
- (void)setAtomString:(id)fp8 atomStyle:(int)fp12 forSearchType:(int)fp16;
- (id)stringForSearchType:(int)fp8;
- (BOOL)stringIsAtomForSearchType:(int)fp8;
- (void)becomeFirstResponderWithSearchType:(int)fp8;
- (void)resignFirstResponder;

@end

@interface NSString (MapExtras)
- (id)stringByRemovingPunctuation;
@end

@interface UITextLabel (UIKitExtras)
+ (id)standardTextLabelWithText:(id)fp8 font:(struct __GSFont *)fp12;
@end

@interface UIPushButton (UIKitExtras)
+ (id)standardPushButtonWithFrame:(struct CGRect)fp8 imageName:(id)fp24;
+ (id)standardPushButtonWithTitle:(id)fp8;
@end

@interface UITextField (UIKitExtras)
+ (id)standardTextFieldWithFrame:(struct CGRect)fp8;
@end

@interface BookmarksNavigationBar : UINavigationBar
{
    float _leftButtonWidth;
}

- (void)setLeftButtonWidth:(float)fp8;
- (id)createButtonWithContents:(id)fp8 width:(float)fp12 barStyle:(int)fp16 buttonStyle:(int)fp20 isRight:(BOOL)fp24;

@end

@interface BookmarksView : UIView
{
    BookmarksNavigationBar *_navigationBar;
    UINavigationItem *_bookmarksNavigationItem;
    UINavigationItem *_recentsNavigationItem;
    UIView *_tableAndButtonBarView;
    UITransitionView *_transitionView;
    UITable *_bookmarksTable;
    EditBookmarkView *_editView;
    UITable *_recentsTable;
    ABPeoplePicker *_peoplePicker;
    UIButtonBar *_buttonBar;
    UISegmentedControl *_viewTypeControl;
    UIAlertSheet *_clearRecentsAlert;
    ClientSearchResult *_currentLocationSearchResult;
    ClientSearchResult *_customSearchResult;
    id _delegate;
    BOOL _isVisible;
    BOOL _isEditing;
    BOOL _recentsTableNeedsReload;
    int _searchType;
}

+ (struct CGColor *)currentLocationTextColor;
+ (struct CGColor *)customLocationTextColor;
- (void)_updateNavigationBarWithAnimation:(BOOL)fp8;
- (void)_setEditing:(BOOL)fp8;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;
- (unsigned int)_customSearchResultRow;
- (unsigned int)_firstBookmarkRow;
- (void)navigationBar:(id)fp8 poppedItem:(id)fp12;
- (void)alertSheet:(id)fp8 buttonClicked:(int)fp12;
- (void)peoplePicker:(id)fp8 selectedPerson:(struct CPRecord *)fp12 property:(int)fp16 identifier:(int)fp20;
- (BOOL)peoplePicker:(id)fp8 shouldShowCardForPerson:(struct CPRecord *)fp12;
- (void)peoplePickerDidEndPicking:(id)fp8;
- (void)segmentedControl:(id)fp8 selectedSegmentChanged:(int)fp12;
- (int)numberOfRowsInTable:(id)fp8;
- (id)table:(id)fp8 cellForRow:(int)fp12 column:(id)fp16;
- (void)tableSelectionDidChange:(id)fp8;
- (void)table:(id)fp8 deleteRow:(int)fp12;
- (void)table:(id)fp8 movedRow:(int)fp12 toRow:(int)fp16;
- (BOOL)_canEditRow:(int)fp8 inTable:(id)fp12;
- (BOOL)table:(id)fp8 showDisclosureForRow:(int)fp12;
- (BOOL)table:(id)fp8 canMoveRow:(int)fp12;
- (BOOL)table:(id)fp8 canDeleteRow:(int)fp12;
- (int)table:(id)fp8 moveDestinationForRow:(int)fp12 withSuggestedDestinationRow:(int)fp16;
- (void)setDelegate:(id)fp8;
- (void)_reloadTable:(id)fp8;
- (void)_historyChanged;
- (void)_bookmarksChanged;
- (void)setVisible:(BOOL)fp8;
- (BOOL)isVisible;
- (void)setSearchType:(int)fp8;
- (int)searchType;
- (void)setCustomSearchResult:(id)fp8;

@end

@interface RouteView : LevelView
{
    GMMRoute *_route;
    struct CGPath *_path;
    struct CGPoint _routeTopLeftLongLat;
    struct CGPoint _routeBottomRightLongLat;
    struct CGPoint _routeCenterLongLat;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (id)_createTileWithFrame:(struct CGRect)fp8;
- (void)_setNeedsNewPath;
- (struct CGRect)_pathRect;
- (void)setOffset:(CDAnonymousStruct1)fp8;
- (void)setZoomLevel:(int)fp8;
- (void)setRoute:(id)fp8;
- (id)route;
- (struct CGPoint)routeTopLeftLongLat;
- (struct CGPoint)routeBottomRightLongLat;
- (struct CGPoint)routeCenterLongLat;
- (void)layoutSubviews;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface DirectionsTableCell : UITableCell
{
    struct GMMSegment *_segment;
    unsigned int _step;
    BOOL _isCurrentStep;
    struct CGSize _textSize;
    BOOL _isLastRouteSegment;
}

+ (float)rowHeightForTextSize:(struct CGSize)fp8;
+ (struct CGSize)textSizeForDescription:(struct GMMSegment)fp8 cellWidth:(float)fp28;
- (void)dealloc;
- (struct CGRect)_stepRect;
- (struct CGRect)_descriptionRect;
- (void)setLastRouteSegment:(BOOL)fp8;
- (void)drawBackgroundInRect:(struct CGRect)fp8 withFade:(float)fp24;
- (void)drawContentInRect:(struct CGRect)fp8 selected:(BOOL)fp24;
- (void)setSegment:(struct GMMSegment)fp8 step:(unsigned int)fp28;
- (void)setCurrentStep:(BOOL)fp8;
- (void)setTextSize:(struct CGSize)fp8;

@end

@interface Bookmarks : NSObject
{
    NSMutableArray *_bookmarks;
    BOOL _savingEnabled;
    BOOL _hasPendingChanges;
}

+ (id)sharedBookmarks;
- (id)_bookmarksPath;
- (id)init;
- (id)orderedBookmarks;
- (void)_saveBookmarks;
- (void)_madeChanges;
- (void)setSavingEnabled:(BOOL)fp8;
- (void)addBookmark:(id)fp8;
- (void)replaceBookmark:(id)fp8 withBookmark:(id)fp12;
- (void)removeBookmarkAtIndex:(unsigned int)fp8;
- (void)moveBookmarkAtIndex:(unsigned int)fp8 toIndex:(unsigned int)fp12;

@end

@interface AddBookmarkView : UIView
{
    EditBookmarkView *_editView;
    UINavigationBar *_navigationBar;
    id _delegate;
    ClientSearchResult *_bookmark;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (void)setBookmark:(id)fp8;
- (id)bookmark;
- (void)setVisible:(BOOL)fp8;
- (void)editViewTextDidChange:(id)fp8;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;

@end

@interface History : NSObject
{
    NSMutableArray *_history;
}

+ (id)sharedHistory;
- (id)_historyPath;
- (void)_saveHistory;
- (void)_madeChanges;
- (void)_removeInvalidItems;
- (id)init;
- (id)orderedHistory;
- (void)addHistoryItem:(id)fp8;
- (void)removeAllItems;

@end

@interface DirectionsHistoryItem : NSObject <HistoryItem>
{
    NSString *_startAddress;
    NSString *_endAddress;
    int _startAddressType;
    int _endAddressType;
    struct CGPoint _startLongLat;
    struct CGPoint _endLongLat;
    NSMutableDictionary *_info;
}

- (id)initWithStartAddress:(id)fp8 startLongLat:(struct CGPoint)fp12 startAddressType:(int)fp20 endAddress:(id)fp24 endLongLat:(struct CGPoint)fp28 endAddressType:(int)fp36;
- (id)initWithDictionaryRepresentation:(id)fp8;
- (void)dealloc;
- (BOOL)isEqual:(id)fp8;
- (id)dictionaryRepresentation;
- (int)type;
- (id)startAddress;
- (id)endAddress;
- (struct CGPoint)startLongLat;
- (struct CGPoint)endLongLat;
- (int)startAddressType;
- (int)endAddressType;

@end

@interface SearchHistoryItem : NSObject <HistoryItem>
{
    NSString *_query;
    NSString *_location;
    NSMutableDictionary *_info;
    int _searchKind;
    struct CGSize _longLatSpan;
    struct CGPoint _centerLongLat;
    int _zoomLevel;
}

- (id)initWithQuery:(id)fp8 location:(id)fp12 searchKind:(int)fp16 longLatSpan:(struct CGSize)fp20 centerLongLat:(struct CGPoint)fp28 zoomLevel:(int)fp36;
- (id)initWithDictionaryRepresentation:(id)fp8;
- (void)dealloc;
- (BOOL)isEqual:(id)fp8;
- (id)dictionaryRepresentation;
- (int)type;
- (id)query;
- (id)location;
- (int)searchKind;
- (struct CGSize)longLatSpan;
- (struct CGPoint)centerLongLat;
- (int)zoomLevel;

@end

@interface HistoryItemTableCell : UITableCell
{
    id <HistoryItem> _item;
}

- (id)initWithHistoryItem:(id)fp8;
- (void)dealloc;
- (void)setHistoryItem:(id)fp8;
- (float)_labelMaxX;
- (void)drawContentInRect:(struct CGRect)fp8 selected:(BOOL)fp24;

@end

@interface AddressTableCell : UIImageAndTextTableCell
{
}

+ (struct __GSFont *)defaultTitleFont;
- (struct CGPoint)textInset;

@end

@interface AddressBookTableCell : UITableCell
{
    AddressBookAddress *_address;
}

- (id)initWithAddress:(id)fp8;
- (void)dealloc;
- (void)setAddress:(id)fp8;
- (void)drawContentInRect:(struct CGRect)fp8 selected:(BOOL)fp24;

@end

@interface EditBookmarkView : UIView
{
    UIPreferencesTable *_table;
    UIPreferencesTextTableCell *_textCell;
    id _delegate;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)_textDidChange:(id)fp8;
- (void)setTitle:(id)fp8;
- (id)title;
- (void)setVisible:(BOOL)fp8;
- (void)setDelegate:(id)fp8;
- (int)numberOfGroupsInPreferencesTable:(id)fp8;
- (int)preferencesTable:(id)fp8 numberOfRowsInGroup:(int)fp12;
- (id)preferencesTable:(id)fp8 cellForRow:(int)fp12 inGroup:(int)fp16;

@end

@interface RouteLoader : NSObject
{
    struct __CFArray *_tiles;
    struct __CFDictionary *_loadingTiles;
    struct ClientTileRequester *_requester;
    id _delegate;
    unsigned int _loadingCount;
    BOOL _isLoading;
}

- (id)initWithTiles:(struct __CFArray *)fp8;
- (void)dealloc;
- (void)setDelegate:(id)fp8;
- (void)_setLoading:(BOOL)fp8;
- (void)startLoading;
- (void)_checkLoading;
- (void)stopLoading;
- (void)tileRequesterProgress:(struct ClientTileRequester *)fp8;
- (void)tileRequesterFailed:(id)fp8;

@end

@interface Goog411Loader : NSObject
{
    NSURLConnection *_connection;
    NSURL *_URL;
    id _delegate;
    BOOL _isLoading;
}

- (id)initWithURL:(id)fp8 delegate:(id)fp12;
- (void)dealloc;
- (void)start;
- (void)stop;
- (id)connection:(id)fp8 willSendRequest:(id)fp12 redirectResponse:(id)fp16;
- (void)connection:(id)fp8 didReceiveResponse:(id)fp12;
- (void)connectionDidFinishLoading:(id)fp8;
- (void)connection:(id)fp8 didFailWithError:(id)fp12;

@end

@interface LocationLoader : NSObject
{
    int _requestType;
    int _queryType;
    NSString *_queryTerm;
    struct MapPoint *_centerPoint;
    unsigned char _zoomLevel;
    struct __CTServerConnection *_cellConnection;
    BOOL _didCellMonitor;
    struct ClientLocationRequester *_requester;
    id _delegate;
    BOOL _isWaiting;
}

- (void)_setWaiting:(BOOL)fp8;
- (BOOL)_addCellsToRequest:(struct LocationRequest *)fp8 timestamp:(long)fp12 connection:(struct __CTServerConnection *)fp16;
- (void)_reportFailure;
- (void)_startLocationRequest;
- (void)cellMonitorReadyWithConnection:(struct __CTServerConnection *)fp8;
- (void)cellMonitorFailed;
- (BOOL)_collectCellInfo;
- (id)initWithDelegate:(id)fp8;
- (id)initWithQueryType:(int)fp8 queryTerm:(id)fp12 centerPoint:(struct MapPoint)fp16 zoomLevel:(unsigned char)fp32;
- (void)dealloc;
- (void)cancel;
- (void)_finishedWithResult:(id)fp8;
- (void)locationRequesterReceivedLocation:(id)fp8;
- (void)locationRequesterFailed:(id)fp8;

@end

@interface LocationManager : NSObject
{
    NSMutableArray *_observers;
    CDAnonymousStruct2 lastLocationEstimate;
    BOOL _trackingLocation;
    LocationLoader *_locationLoader;
    struct {
        CDAnonymousStruct2 locationEstimate;
        double scanFailedTime;
        unsigned int completed:1;
        unsigned int failed:1;
    } locationSources[2];
}

+ (id)sharedLocationManager;
- (id)init;
- (void)dealloc;
- (void)_resetLocationSources;
- (void)_reportFailure;
- (void)_reportSuccess;
- (void)_checkPolicy;
- (void)skyHookReceivedLocation:(struct SkyHookLocation)fp8;
- (void)skyHookFailedToReceiveLocation;
- (void)googleLocationLoader:(id)fp8 receivedLocation:(id)fp12 HTTPHeaders:(id)fp16;
- (void)googleLocationLoaderFailed:(id)fp8;
- (void)_requestGoogleLocation;
- (void)_markSourceAsCompleteAndFailed:(int)fp8;
- (void)_setTrackingLocation:(BOOL)fp8;
- (void)startLocationUpdateWithObserver:(id)fp8;
- (void)stopLocationUpdateWithObserver:(id)fp8;
- (CDAnonymousStruct2)lastLocationEstimate;
- (struct CGPoint)longLat;
- (int)accuracy;

@end

@interface CellMonitor : NSObject
{
    NSMutableArray *_observers;
    struct __CTServerConnection *_connection;
    struct __CFMachPort *_machPort;
    struct __CFRunLoopSource *_runLoopSource;
    BOOL _isWaitingForRefresh;
}

+ (id)sharedCellMonitor;
- (id)init;
- (BOOL)_isCellReady;
- (void)_monitorReady;
- (void)_monitorFailed;
- (void)_monitorUpdate;
- (void)_startMonitor;
- (void)_initConnection;
- (void)addObserver:(id)fp8;
- (void)removeObserver:(id)fp8;

@end

@interface InnerCirclePositionView : UIView
{
}

- (id)initWithFrame:(struct CGRect)fp8;
- (id)hitTest:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface PositionView : UIView
{
    int _mapType;
}

+ (struct CGColor *)positionColor;
+ (struct CGColor *)highlightColor;
- (id)initWithFrame:(struct CGRect)fp8;
- (id)hitTest:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;
- (void)_drawTargetWithCenterPoint:(struct CGPoint)fp8 radius:(float)fp16 thickness:(float)fp20 tickLength:(float)fp24;
- (void)drawRect:(struct CGRect)fp8;
- (void)setMapType:(int)fp8;

@end

@interface SettingsView : UIView
{
    id _delegate;
    UIThreePartButton *_dropPinButton;
    UIThreePartButton *_trafficButton;
    UISegmentedControl *_viewModeControl;
    int _viewMode;
    BOOL _isTrafficEnabled;
}

+ (struct CGColor *)backgroundColor;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)setDelegate:(id)fp8;
- (int)viewMode;
- (void)setViewMode:(int)fp8;
- (BOOL)isTrafficEnabled;
- (void)setTrafficEnabled:(BOOL)fp8;
- (void)toggleTrafficEnabled;
- (void)setDropPinIsReplace:(BOOL)fp8;
- (void)dropPin;
- (void)mouseUp:(struct __GSEvent *)fp8;

@end

@interface SettingsView (UISegmentedControlDelegate)
- (void)segmentedControl:(id)fp8 selectedSegmentChanged:(int)fp12;
@end

@interface UIDefaultNotePadDelegate : NSObject
{
}

- (void)notePad:(id)fp8 didCurlView:(id)fp12;
- (void)notePad:(id)fp8 willCurlView:(id)fp12;
- (void)notePad:(id)fp8 didUncurlView:(id)fp12;
- (void)notePad:(id)fp8 willUncurlView:(id)fp12;

@end

@interface NotePad : UIView
{
    UIView *_curledView;
    UIInformalDelegate *_delegate;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (BOOL)containsCurledView;
- (void)curlView:(id)fp8;
- (void)uncurlView:(id)fp8;
- (void)setDelegate:(id)fp8;
- (id)delegate;
- (void)animationDidStart:(id)fp8;
- (void)animationDidStop:(id)fp8 finished:(BOOL)fp12;
- (id)hitTest:(struct CGPoint)fp8 forEvent:(struct __GSEvent *)fp16;

@end

@interface DirectionsHeaderTableCell : UITableCell
{
    NSString *_text;
    BOOL _isCurrentStep;
}

+ (float)rowHeightForTextSize:(struct CGSize)fp8;
+ (struct CGSize)textSizeForOverviewString:(id)fp8 cellWidth:(float)fp12;
- (void)dealloc;
- (void)setText:(id)fp8;
- (struct CGRect)_stepRect;
- (void)drawBackgroundInRect:(struct CGRect)fp8 withFade:(float)fp24;
- (void)drawContentInRect:(struct CGRect)fp8 selected:(BOOL)fp24;
- (void)setCurrentStep:(BOOL)fp8;

@end

@interface DirectionsStartEndTableCell : UITableCell
{
    NSString *_text;
    BOOL _isEndCell;
    BOOL _isCurrentStep;
}

- (void)dealloc;
- (void)setText:(id)fp8;
- (void)setEndCell:(BOOL)fp8;
- (struct CGRect)_stepRect;
- (void)drawBackgroundInRect:(struct CGRect)fp8 withFade:(float)fp24;
- (void)drawContentInRect:(struct CGRect)fp8 selected:(BOOL)fp24;
- (void)setCurrentStep:(BOOL)fp8;

@end

@interface SkyHook : NSObject
{
    id delegate;
    unsigned int _shouldCallDelegate:1;
}

+ (id)sharedSkyHookInstance;
- (id)init;
- (void)setDelegate:(id)fp8;
- (id)delegate;
- (void)startLocationScan;
- (void)cancelLocationScan;
- (void)_scanComplete;

@end

@interface YTNetworkController : NSObject
{
    struct __SCDynamicStore *_store;
    NSTimer *_notificationTimer;
    int _networkType;
}

+ (id)sharedNetworkController;
- (void)start;
- (int)networkType;

@end

@interface YTNetworkController (Internal)
- (void)_scheduleCheckForNetwork;
- (void)_checkForNetwork;
- (void)_checkForNetworkAndNotify;
@end

