adium 5485:bff389662124: Upgrade Twitter to API 1.1 by switching...

commits at adium.im commits at adium.im
Sun May 12 03:18:43 UTC 2013


details:	http://hg.adium.im/adium/rev/bff389662124
revision:	5485:bff389662124
branch:		adium-1.5.7
author:		Frank Dowsett <wixardy at adium.im>
date:		Sat May 11 23:04:13 2013 -0400

Upgrade Twitter to API 1.1 by switching from MGTwitterEngine to STTwitter.
(Collapsed revision version)
(transplanted from a1f0282331b815ef25f63df09a5954fe0928d466)
(transplanted from 75e25d1deff2aa9bc8d7cff2aa6bc4e117c01064)
* Fix some memory management from the transplant.
* Update STTwitter to remove nulls from returned data.
* This is the method we want to call.
* Need to send something with the retweet request in order for it to authenticate properly.
* Our buildbot doesn't like this new dictionary syntax, it seems.
* Fix STTwitter to use ivars and @synthesize all properties, and not use [] syntax for dictionaries or arrays, so it can work on 32 bit Macs.
* Fix Twitter account creation.
* Use Matt Gallagher's NSData+Base64 for 10.6 compat.
* NSURLConnection blocks don't work on 10.6 either.
* No more t.co links! (Well, almost none).

Use the entities that Twitter sends to parse and link URLs, users, and hashtags. Fixes #13947
* Stupid me stupidly thought the computers would do what I was thinking for me.
* nextPageNecessary is no longer necessary.
* Fix 3 leaks in STTwitterAPIWrapper.m.
* Fixed another leak in STTwitterAPIWrapper.m.
* Bring STTwitter more up to date with what's on github (specifically, merge a leak fix from upstream).

diffs (truncated from 11375 to 1000 lines):

diff -r 85ef46fdc097 -r bff389662124 Adium.xcodeproj/project.pbxproj
--- a/Adium.xcodeproj/project.pbxproj	Fri May 10 15:35:41 2013 +0200
+++ b/Adium.xcodeproj/project.pbxproj	Sat May 11 23:04:13 2013 -0400
@@ -110,17 +110,12 @@
 		1130EA99109B445500FB3454 /* pref-defaultclient.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 1130EA98109B445500FB3454 /* pref-defaultclient.tiff */; };
 		1130EA9D109B445D00FB3454 /* pref-mention.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 1130EA9B109B445D00FB3454 /* pref-mention.tiff */; };
 		1130EA9E109B445D00FB3454 /* pref-messagealerts.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 1130EA9C109B445D00FB3454 /* pref-messagealerts.tiff */; };
-		113891830F6B6AFF00A7D7DC /* AILaconicaService.m in Sources */ = {isa = PBXBuildFile; fileRef = 113891820F6B6AFF00A7D7DC /* AILaconicaService.m */; };
-		1138918A0F6B6B2800A7D7DC /* AILaconicaAccount.m in Sources */ = {isa = PBXBuildFile; fileRef = 113891890F6B6B2800A7D7DC /* AILaconicaAccount.m */; };
-		1138918D0F6B6B3F00A7D7DC /* AILaconicaPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 1138918C0F6B6B3F00A7D7DC /* AILaconicaPlugin.m */; };
-		113891950F6B6B9C00A7D7DC /* AILaconicaAccountViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 113891940F6B6B9C00A7D7DC /* AILaconicaAccountViewController.m */; };
 		113892270F6B70CA00A7D7DC /* laconica-small.png in Resources */ = {isa = PBXBuildFile; fileRef = 113892250F6B70CA00A7D7DC /* laconica-small.png */; };
 		113892280F6B70CA00A7D7DC /* laconica.png in Resources */ = {isa = PBXBuildFile; fileRef = 113892260F6B70CA00A7D7DC /* laconica.png */; };
 		113900B10F85BEF60081A418 /* AIURLHandlerPreferences.nib in Resources */ = {isa = PBXBuildFile; fileRef = 113900B00F85BEF60081A418 /* AIURLHandlerPreferences.nib */; };
 		113900B40F85BF880081A418 /* AIURLHandlerAdvancedPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 113900B30F85BF880081A418 /* AIURLHandlerAdvancedPreferences.m */; };
 		1139011C0F85C9450081A418 /* AIURLHandlerPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 1139011B0F85C9450081A418 /* AIURLHandlerPlugin.m */; };
 		1139FFAA0F85260E0081A418 /* AIIRCChannelLinker.m in Sources */ = {isa = PBXBuildFile; fileRef = 1139FFA90F85260E0081A418 /* AIIRCChannelLinker.m */; };
-		113F26A00F5CC03F00954772 /* AITwitterURLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 113F269F0F5CC03F00954772 /* AITwitterURLParser.m */; };
 		114849B90F7841C600EA5264 /* AIAuthorizationRequestsWindowController.h in Headers */ = {isa = PBXBuildFile; fileRef = 114849B70F7841C600EA5264 /* AIAuthorizationRequestsWindowController.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		114849BA0F7841C600EA5264 /* AIAuthorizationRequestsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 114849B80F7841C600EA5264 /* AIAuthorizationRequestsWindowController.m */; };
 		114849BC0F78420300EA5264 /* AIAuthorizationRequestsWindow.nib in Resources */ = {isa = PBXBuildFile; fileRef = 114849BB0F78420300EA5264 /* AIAuthorizationRequestsWindow.nib */; };
@@ -150,9 +145,6 @@
 		117866E30EC759B9003E9B97 /* FTProgressResendRollover.tif in Resources */ = {isa = PBXBuildFile; fileRef = 117866DD0EC759B9003E9B97 /* FTProgressResendRollover.tif */; };
 		117D6DC00BC5F0C40080D02B /* msg-request-attention.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 117D6DBF0BC5F0C40080D02B /* msg-request-attention.tiff */; };
 		11819A1B10D0B95D003E8ECA /* AIMediaControllerProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 11819A0910D0B90E003E8ECA /* AIMediaControllerProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
-		11879C0B0F6FF4C400CACFB1 /* AITwitterAccountOAuthSetup.m in Sources */ = {isa = PBXBuildFile; fileRef = 11879C0A0F6FF4C400CACFB1 /* AITwitterAccountOAuthSetup.m */; };
-		11879DF80F6FFC0B00CACFB1 /* OAuthConsumer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 11879DF70F6FFC0B00CACFB1 /* OAuthConsumer.framework */; };
-		11879E0A0F6FFC1000CACFB1 /* OAuthConsumer.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 11879DF70F6FFC0B00CACFB1 /* OAuthConsumer.framework */; };
 		118A44500FEEA828008153C0 /* libjson-glib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 118A444F0FEEA828008153C0 /* libjson-glib.framework */; };
 		118A44510FEEA828008153C0 /* libjson-glib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 118A444F0FEEA828008153C0 /* libjson-glib.framework */; };
 		118A44540FEEA82E008153C0 /* libjson-glib.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 118A444F0FEEA828008153C0 /* libjson-glib.framework */; };
@@ -202,15 +194,6 @@
 		11F738F90F58D18700B3285B /* AITwitterService.m in Sources */ = {isa = PBXBuildFile; fileRef = 11F738F80F58D18700B3285B /* AITwitterService.m */; };
 		11F738FC0F58D19B00B3285B /* AITwitterPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 11F738FB0F58D19B00B3285B /* AITwitterPlugin.m */; };
 		11F739020F58D1C400B3285B /* AITwitterAccountViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 11F739010F58D1C400B3285B /* AITwitterAccountViewController.m */; };
-		11F7397A0F58D4DC00B3285B /* MGTwitterEngine.m in Sources */ = {isa = PBXBuildFile; fileRef = 11F7395B0F58D4DC00B3285B /* MGTwitterEngine.m */; };
-		11F7397B0F58D4DC00B3285B /* MGTwitterHTTPURLConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 11F7395F0F58D4DC00B3285B /* MGTwitterHTTPURLConnection.m */; };
-		11F7397E0F58D4DD00B3285B /* MGTwitterMessagesParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 11F739650F58D4DC00B3285B /* MGTwitterMessagesParser.m */; };
-		11F739800F58D4DD00B3285B /* MGTwitterMiscParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 11F739690F58D4DC00B3285B /* MGTwitterMiscParser.m */; };
-		11F739820F58D4DD00B3285B /* MGTwitterStatusesParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 11F7396F0F58D4DC00B3285B /* MGTwitterStatusesParser.m */; };
-		11F739840F58D4DD00B3285B /* MGTwitterUsersParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 11F739730F58D4DC00B3285B /* MGTwitterUsersParser.m */; };
-		11F739850F58D4DD00B3285B /* MGTwitterXMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 11F739750F58D4DC00B3285B /* MGTwitterXMLParser.m */; };
-		11F739860F58D4DD00B3285B /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 11F739770F58D4DC00B3285B /* NSData+Base64.m */; };
-		11F739870F58D4DD00B3285B /* NSString+UUID.m in Sources */ = {isa = PBXBuildFile; fileRef = 11F739790F58D4DC00B3285B /* NSString+UUID.m */; };
 		11FC23C20F768C1600C1C906 /* AIXMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 11FC23BF0F768C0900C1C906 /* AIXMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		11FC23C30F768C2900C1C906 /* AIXMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 11FC23C00F768C0900C1C906 /* AIXMLElement.m */; };
 		31034EFF0C8142680003F5AA /* TestStringAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 31034EFE0C8142680003F5AA /* TestStringAdditions.m */; };
@@ -1098,9 +1081,15 @@
 		4F1CB6400D640DA40073A1E6 /* get-info-advanced.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 4F1CB63C0D640DA40073A1E6 /* get-info-advanced.tiff */; };
 		4F1CB6410D640DA40073A1E6 /* get-info-events.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 4F1CB63D0D640DA40073A1E6 /* get-info-events.tiff */; };
 		4F1CB64C0D640F4F0073A1E6 /* ContactInfoInspector.nib in Resources */ = {isa = PBXBuildFile; fileRef = 4F1CB64B0D640F4F0073A1E6 /* ContactInfoInspector.nib */; };
+		5A0D236A16F4C7BC005DF211 /* STTwitterAppOnly.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A0D236816F4C7BC005DF211 /* STTwitterAppOnly.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
 		5A1781860EC1215D00BA1E04 /* AIAutoScrollTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A1781850EC1215D00BA1E04 /* AIAutoScrollTextView.m */; };
 		5A17D65D130F76B4002C852F /* AIGradientView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A17D65C130F76B4002C852F /* AIGradientView.m */; };
 		5A22D6E214834F44004E15F7 /* AIFacebookXMPPAccountView.nib in Resources */ = {isa = PBXBuildFile; fileRef = 5A22D6E014834F44004E15F7 /* AIFacebookXMPPAccountView.nib */; };
+		5A3B4D7916D878AC00903E40 /* NSString+STTwitter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A3B4D6C16D878AB00903E40 /* NSString+STTwitter.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
+		5A3B4D7A16D878AC00903E40 /* STTwitterAPIWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A3B4D6E16D878AB00903E40 /* STTwitterAPIWrapper.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
+		5A3B4D7C16D878AC00903E40 /* STTwitterOAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A3B4D7216D878AB00903E40 /* STTwitterOAuth.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
+		5A3B4D7E16D878AC00903E40 /* STHTTPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A3B4D7816D878AC00903E40 /* STHTTPRequest.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
+		5A4B77E916FBDDC700DF398C /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A4B77E716FBDDC600DF398C /* NSData+Base64.m */; };
 		5A5F601D12962EC0007A2232 /* AISegmentedControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A5F601A12962D06007A2232 /* AISegmentedControl.m */; };
 		5A5F601E12962ECE007A2232 /* AISegmentedControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A5F601912962D06007A2232 /* AISegmentedControl.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		5A5F8BBD12D560E400019727 /* AIDockNameOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A5F8BBC12D560E400019727 /* AIDockNameOverlay.m */; };
@@ -1399,6 +1388,7 @@
 		76889DEB12D3CA17007AEF00 /* get-info.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 76889DEA12D3CA17007AEF00 /* get-info.tiff */; };
 		76889DEF12D3CA40007AEF00 /* Personal.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 76889DEE12D3CA40007AEF00 /* Personal.tiff */; };
 		76C1AF9C125A906A00D269A9 /* AIAdiumURLProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = 76C1AF9B125A906A00D269A9 /* AIAdiumURLProtocol.m */; };
+		76FBDAC91733B9CA00C9F10B /* STTwitterHTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 76FBDAC61733B9C900C9F10B /* STTwitterHTML.m */; };
 		7E6F8A94105611B700C6D80D /* libotr.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E6F8A93105611B700C6D80D /* libotr.framework */; };
 		7E6F8ACD105613AD00C6D80D /* libotr.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7E6F8A93105611B700C6D80D /* libotr.framework */; };
 		7E824CDD06387FAF00813072 /* LinkEditor.nib in Resources */ = {isa = PBXBuildFile; fileRef = 7E824CCE06387FAF00813072 /* LinkEditor.nib */; };
@@ -1638,7 +1628,6 @@
 				118A44540FEEA82E008153C0 /* libjson-glib.framework in Copy Frameworks */,
 				633404710F9C18EF003C77A9 /* AIUtilities.framework in Copy Frameworks */,
 				639DF9D80F97E678003C9A32 /* AdiumLibpurple.framework in Copy Frameworks */,
-				11879E0A0F6FFC1000CACFB1 /* OAuthConsumer.framework in Copy Frameworks */,
 				11EE1CCF0CDD01120097F246 /* libglib.framework in Copy Frameworks */,
 				11EE1CD00CDD01120097F246 /* libgmodule.framework in Copy Frameworks */,
 				11EE1CD10CDD01120097F246 /* libgobject.framework in Copy Frameworks */,
@@ -1798,8 +1787,6 @@
 		1139FFA90F85260E0081A418 /* AIIRCChannelLinker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIIRCChannelLinker.m; path = Source/AIIRCChannelLinker.m; sourceTree = "<group>"; };
 		113E06A910D0ABA0005D5B9A /* adiumPurpleMedia.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = adiumPurpleMedia.m; path = "Plugins/Purple Service/adiumPurpleMedia.m"; sourceTree = "<group>"; };
 		113E06AE10D0ABE3005D5B9A /* adiumPurpleMedia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = adiumPurpleMedia.h; path = "Plugins/Purple Service/adiumPurpleMedia.h"; sourceTree = "<group>"; };
-		113F269E0F5CC03F00954772 /* AITwitterURLParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AITwitterURLParser.h; path = "Plugins/Twitter Plugin/AITwitterURLParser.h"; sourceTree = "<group>"; };
-		113F269F0F5CC03F00954772 /* AITwitterURLParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AITwitterURLParser.m; path = "Plugins/Twitter Plugin/AITwitterURLParser.m"; sourceTree = "<group>"; };
 		1147FCC210D1CB4C004E9E8D /* AIMediaWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIMediaWindowController.h; path = Source/AIMediaWindowController.h; sourceTree = "<group>"; };
 		1147FCC310D1CB4C004E9E8D /* AIMediaWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIMediaWindowController.m; path = Source/AIMediaWindowController.m; sourceTree = "<group>"; };
 		1147FCC710D1CB83004E9E8D /* AIMediaWindow.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = AIMediaWindow.nib; path = Resources/AIMediaWindow.nib; sourceTree = "<group>"; };
@@ -1864,9 +1851,6 @@
 		11819A0210D0B8BE003E8ECA /* AIMediaController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIMediaController.h; path = Source/AIMediaController.h; sourceTree = "<group>"; };
 		11819A0310D0B8BE003E8ECA /* AIMediaController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIMediaController.m; path = Source/AIMediaController.m; sourceTree = "<group>"; };
 		11819A0910D0B90E003E8ECA /* AIMediaControllerProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIMediaControllerProtocol.h; path = "Frameworks/Adium Framework/Source/AIMediaControllerProtocol.h"; sourceTree = "<group>"; };
-		11879C090F6FF4C400CACFB1 /* AITwitterAccountOAuthSetup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AITwitterAccountOAuthSetup.h; path = "Plugins/Twitter Plugin/AITwitterAccountOAuthSetup.h"; sourceTree = "<group>"; };
-		11879C0A0F6FF4C400CACFB1 /* AITwitterAccountOAuthSetup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AITwitterAccountOAuthSetup.m; path = "Plugins/Twitter Plugin/AITwitterAccountOAuthSetup.m"; sourceTree = "<group>"; };
-		11879DF70F6FFC0B00CACFB1 /* OAuthConsumer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OAuthConsumer.framework; path = Frameworks/OAuthConsumer.framework; sourceTree = "<group>"; };
 		118A444F0FEEA828008153C0 /* libjson-glib.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "libjson-glib.framework"; path = "Frameworks/libjson-glib.framework"; sourceTree = "<group>"; };
 		1192E6B10FD30307003CAEF5 /* AIAnnoyingIRCMessagesHiderPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIAnnoyingIRCMessagesHiderPlugin.h; path = "Plugins/Purple Service/AIAnnoyingIRCMessagesHiderPlugin.h"; sourceTree = "<group>"; };
 		1192E6B20FD30307003CAEF5 /* AIAnnoyingIRCMessagesHiderPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIAnnoyingIRCMessagesHiderPlugin.m; path = "Plugins/Purple Service/AIAnnoyingIRCMessagesHiderPlugin.m"; sourceTree = "<group>"; };
@@ -1944,28 +1928,6 @@
 		11F738FB0F58D19B00B3285B /* AITwitterPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AITwitterPlugin.m; path = "Plugins/Twitter Plugin/AITwitterPlugin.m"; sourceTree = "<group>"; };
 		11F739000F58D1C300B3285B /* AITwitterAccountViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AITwitterAccountViewController.h; path = "Plugins/Twitter Plugin/AITwitterAccountViewController.h"; sourceTree = "<group>"; };
 		11F739010F58D1C400B3285B /* AITwitterAccountViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AITwitterAccountViewController.m; path = "Plugins/Twitter Plugin/AITwitterAccountViewController.m"; sourceTree = "<group>"; };
-		11F7395A0F58D4DC00B3285B /* MGTwitterEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGTwitterEngine.h; sourceTree = "<group>"; };
-		11F7395B0F58D4DC00B3285B /* MGTwitterEngine.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGTwitterEngine.m; sourceTree = "<group>"; };
-		11F7395C0F58D4DC00B3285B /* MGTwitterEngineDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGTwitterEngineDelegate.h; sourceTree = "<group>"; };
-		11F7395D0F58D4DC00B3285B /* MGTwitterEngineGlobalHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGTwitterEngineGlobalHeader.h; sourceTree = "<group>"; };
-		11F7395E0F58D4DC00B3285B /* MGTwitterHTTPURLConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGTwitterHTTPURLConnection.h; sourceTree = "<group>"; };
-		11F7395F0F58D4DC00B3285B /* MGTwitterHTTPURLConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGTwitterHTTPURLConnection.m; sourceTree = "<group>"; };
-		11F739640F58D4DC00B3285B /* MGTwitterMessagesParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGTwitterMessagesParser.h; sourceTree = "<group>"; };
-		11F739650F58D4DC00B3285B /* MGTwitterMessagesParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGTwitterMessagesParser.m; sourceTree = "<group>"; };
-		11F739680F58D4DC00B3285B /* MGTwitterMiscParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGTwitterMiscParser.h; sourceTree = "<group>"; };
-		11F739690F58D4DC00B3285B /* MGTwitterMiscParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGTwitterMiscParser.m; sourceTree = "<group>"; };
-		11F7396A0F58D4DC00B3285B /* MGTwitterParserDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGTwitterParserDelegate.h; sourceTree = "<group>"; };
-		11F7396B0F58D4DC00B3285B /* MGTwitterRequestTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGTwitterRequestTypes.h; sourceTree = "<group>"; };
-		11F7396E0F58D4DC00B3285B /* MGTwitterStatusesParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGTwitterStatusesParser.h; sourceTree = "<group>"; };
-		11F7396F0F58D4DC00B3285B /* MGTwitterStatusesParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGTwitterStatusesParser.m; sourceTree = "<group>"; };
-		11F739720F58D4DC00B3285B /* MGTwitterUsersParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGTwitterUsersParser.h; sourceTree = "<group>"; };
-		11F739730F58D4DC00B3285B /* MGTwitterUsersParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGTwitterUsersParser.m; sourceTree = "<group>"; };
-		11F739740F58D4DC00B3285B /* MGTwitterXMLParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGTwitterXMLParser.h; sourceTree = "<group>"; };
-		11F739750F58D4DC00B3285B /* MGTwitterXMLParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGTwitterXMLParser.m; sourceTree = "<group>"; };
-		11F739760F58D4DC00B3285B /* NSData+Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+Base64.h"; sourceTree = "<group>"; };
-		11F739770F58D4DC00B3285B /* NSData+Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+Base64.m"; sourceTree = "<group>"; };
-		11F739780F58D4DC00B3285B /* NSString+UUID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+UUID.h"; sourceTree = "<group>"; };
-		11F739790F58D4DC00B3285B /* NSString+UUID.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+UUID.m"; sourceTree = "<group>"; };
 		11FC23BF0F768C0900C1C906 /* AIXMLElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIXMLElement.h; path = "Frameworks/Adium Framework/Source/AIXMLElement.h"; sourceTree = "<group>"; };
 		11FC23C00F768C0900C1C906 /* AIXMLElement.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIXMLElement.m; path = "Frameworks/Adium Framework/Source/AIXMLElement.m"; sourceTree = "<group>"; };
 		31034EFD0C8142680003F5AA /* TestStringAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TestStringAdditions.h; path = UnitTests/TestStringAdditions.h; sourceTree = "<group>"; };
@@ -4039,12 +4001,25 @@
 		4F1CB63C0D640DA40073A1E6 /* get-info-advanced.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = "get-info-advanced.tiff"; path = "Resources/get-info-advanced.tiff"; sourceTree = "<group>"; };
 		4F1CB63D0D640DA40073A1E6 /* get-info-events.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = "get-info-events.tiff"; path = "Resources/get-info-events.tiff"; sourceTree = "<group>"; };
 		4F1CB64B0D640F4F0073A1E6 /* ContactInfoInspector.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = ContactInfoInspector.nib; path = Resources/ContactInfoInspector.nib; sourceTree = "<group>"; };
+		5A0D236816F4C7BC005DF211 /* STTwitterAppOnly.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = STTwitterAppOnly.m; path = "Plugins/Twitter Plugin/STTwitter/STTwitterAppOnly.m"; sourceTree = "<group>"; };
+		5A0D236916F4C7BC005DF211 /* STTwitterAppOnly.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = STTwitterAppOnly.h; path = "Plugins/Twitter Plugin/STTwitter/STTwitterAppOnly.h"; sourceTree = "<group>"; };
 		5A1781840EC1215D00BA1E04 /* AIAutoScrollTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIAutoScrollTextView.h; path = Source/AIAutoScrollTextView.h; sourceTree = "<group>"; };
 		5A1781850EC1215D00BA1E04 /* AIAutoScrollTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIAutoScrollTextView.m; path = Source/AIAutoScrollTextView.m; sourceTree = "<group>"; };
 		5A17D65B130F76B4002C852F /* AIGradientView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIGradientView.h; path = Source/AIGradientView.h; sourceTree = "<group>"; };
 		5A17D65C130F76B4002C852F /* AIGradientView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIGradientView.m; path = Source/AIGradientView.m; sourceTree = "<group>"; };
 		5A1FEA601334549300C14951 /* MessageView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = MessageView.xib; path = "Plugins/Dual Window Interface/MessageView.xib"; sourceTree = "<group>"; };
 		5A22D6E114834F44004E15F7 /* en */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = en; path = "Plugins/Purple Service/Resources/en.lproj/AIFacebookXMPPAccountView.nib"; sourceTree = "<group>"; };
+		5A3B4D6B16D878AB00903E40 /* NSString+STTwitter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSString+STTwitter.h"; path = "Plugins/Twitter Plugin/STTwitter/NSString+STTwitter.h"; sourceTree = "<group>"; };
+		5A3B4D6C16D878AB00903E40 /* NSString+STTwitter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSString+STTwitter.m"; path = "Plugins/Twitter Plugin/STTwitter/NSString+STTwitter.m"; sourceTree = "<group>"; };
+		5A3B4D6D16D878AB00903E40 /* STTwitterAPIWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = STTwitterAPIWrapper.h; path = "Plugins/Twitter Plugin/STTwitter/STTwitterAPIWrapper.h"; sourceTree = "<group>"; };
+		5A3B4D6E16D878AB00903E40 /* STTwitterAPIWrapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = STTwitterAPIWrapper.m; path = "Plugins/Twitter Plugin/STTwitter/STTwitterAPIWrapper.m"; sourceTree = "<group>"; };
+		5A3B4D7116D878AB00903E40 /* STTwitterOAuth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = STTwitterOAuth.h; path = "Plugins/Twitter Plugin/STTwitter/STTwitterOAuth.h"; sourceTree = "<group>"; };
+		5A3B4D7216D878AB00903E40 /* STTwitterOAuth.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = STTwitterOAuth.m; path = "Plugins/Twitter Plugin/STTwitter/STTwitterOAuth.m"; sourceTree = "<group>"; };
+		5A3B4D7516D878AB00903E40 /* STTwitterOAuthProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = STTwitterOAuthProtocol.h; path = "Plugins/Twitter Plugin/STTwitter/STTwitterOAuthProtocol.h"; sourceTree = "<group>"; };
+		5A3B4D7716D878AC00903E40 /* STHTTPRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = STHTTPRequest.h; path = "Plugins/Twitter Plugin/STTwitter/Vendor/STHTTPRequest.h"; sourceTree = "<group>"; };
+		5A3B4D7816D878AC00903E40 /* STHTTPRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = STHTTPRequest.m; path = "Plugins/Twitter Plugin/STTwitter/Vendor/STHTTPRequest.m"; sourceTree = "<group>"; };
+		5A4B77E716FBDDC600DF398C /* NSData+Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSData+Base64.m"; path = "Plugins/Twitter Plugin/STTwitter/NSData+Base64.m"; sourceTree = "<group>"; };
+		5A4B77E816FBDDC700DF398C /* NSData+Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSData+Base64.h"; path = "Plugins/Twitter Plugin/STTwitter/NSData+Base64.h"; sourceTree = "<group>"; };
 		5A5F601912962D06007A2232 /* AISegmentedControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AISegmentedControl.h; path = "Frameworks/AIUtilities Framework/Source/AISegmentedControl.h"; sourceTree = "<group>"; };
 		5A5F601A12962D06007A2232 /* AISegmentedControl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AISegmentedControl.m; path = "Frameworks/AIUtilities Framework/Source/AISegmentedControl.m"; sourceTree = "<group>"; };
 		5A5F8BBB12D560E400019727 /* AIDockNameOverlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIDockNameOverlay.h; path = "Plugins/Dock Icon Badging/AIDockNameOverlay.h"; sourceTree = "<group>"; };
@@ -4540,6 +4515,10 @@
 		76889DEE12D3CA40007AEF00 /* Personal.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = Personal.tiff; path = Resources/Personal.tiff; sourceTree = "<group>"; };
 		76C1AF9A125A906A00D269A9 /* AIAdiumURLProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIAdiumURLProtocol.h; path = "Plugins/WebKit Message View/AIAdiumURLProtocol.h"; sourceTree = "<group>"; };
 		76C1AF9B125A906A00D269A9 /* AIAdiumURLProtocol.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIAdiumURLProtocol.m; path = "Plugins/WebKit Message View/AIAdiumURLProtocol.m"; sourceTree = "<group>"; };
+		76FBDAC51733B9C900C9F10B /* STTwitterHTML.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = STTwitterHTML.h; path = "Plugins/Twitter Plugin/STTwitter/STTwitterHTML.h"; sourceTree = "<group>"; };
+		76FBDAC61733B9C900C9F10B /* STTwitterHTML.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = STTwitterHTML.m; path = "Plugins/Twitter Plugin/STTwitter/STTwitterHTML.m"; sourceTree = "<group>"; };
+		76FBDAC71733B9C900C9F10B /* STTwitterOAuthOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = STTwitterOAuthOSX.h; path = "Plugins/Twitter Plugin/STTwitter/STTwitterOAuthOSX.h"; sourceTree = "<group>"; };
+		76FBDAC81733B9C900C9F10B /* STTwitterOAuthOSX.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = STTwitterOAuthOSX.m; path = "Plugins/Twitter Plugin/STTwitter/STTwitterOAuthOSX.m"; sourceTree = "<group>"; };
 		77D903500B78CF1000B86C42 /* zhm */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = zhm; path = "Plugins/Purple Service/zhm"; sourceTree = "<group>"; };
 		7E1E8176063A3EEC00EB00F7 /* AIContextMenuTextView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AIContextMenuTextView.h; path = "Frameworks/Adium Framework/Source/AIContextMenuTextView.h"; sourceTree = "<group>"; };
 		7E1E8177063A3EEC00EB00F7 /* AIContextMenuTextView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = AIContextMenuTextView.m; path = "Frameworks/Adium Framework/Source/AIContextMenuTextView.m"; sourceTree = "<group>"; };
@@ -4881,7 +4860,6 @@
 				11AA1EFA0BCAE9C3003DDA66 /* Quartz.framework in Frameworks */,
 				340C1ABF0BD58FAB00D09235 /* Security.framework in Frameworks */,
 				31E0CD810C5EEF5200271DB1 /* CoreAudio.framework in Frameworks */,
-				11879DF80F6FFC0B00CACFB1 /* OAuthConsumer.framework in Frameworks */,
 				118A44510FEEA828008153C0 /* libjson-glib.framework in Frameworks */,
 				34C846AF101E515900140B4B /* QTKit.framework in Frameworks */,
 				9719C92C1530EDF700217FBE /* FriBidi.framework in Frameworks */,
@@ -5089,7 +5067,7 @@
 		11F738F40F58D15500B3285B /* Twitter */ = {
 			isa = PBXGroup;
 			children = (
-				11F739590F58D4DC00B3285B /* MGTwitterEngine */,
+				5A3B4D6A16D878AB00903E40 /* STTwitter */,
 				113891850F6B6B0300A7D7DC /* Laconica */,
 				1197F66F0FCF8D180032F19B /* AITwitterStatusFollowup.h */,
 				1197F6700FCF8D180032F19B /* AITwitterStatusFollowup.m */,
@@ -5098,15 +5076,11 @@
 				110966190F61D3E70064CA0E /* AITwitterReplyWindowController.m */,
 				11F739000F58D1C300B3285B /* AITwitterAccountViewController.h */,
 				11F739010F58D1C400B3285B /* AITwitterAccountViewController.m */,
-				11879C090F6FF4C400CACFB1 /* AITwitterAccountOAuthSetup.h */,
 				11D135D80FBE4C65000B0A5E /* AITwitterAccountView.nib */,
-				11879C0A0F6FF4C400CACFB1 /* AITwitterAccountOAuthSetup.m */,
 				11BD73D10F5A54BB007D438A /* twitter-small.png */,
 				11BD73D20F5A54BB007D438A /* twitter.png */,
 				EFB1C3120DDBDA3100B3973D /* AITwitterIMPlugin.h */,
 				EFB1C3130DDBDA3100B3973D /* AITwitterIMPlugin.m */,
-				113F269E0F5CC03F00954772 /* AITwitterURLParser.h */,
-				113F269F0F5CC03F00954772 /* AITwitterURLParser.m */,
 				112523170F5F7F86003FC58A /* AITwitterURLHandler.h */,
 				112523180F5F7F86003FC58A /* AITwitterURLHandler.m */,
 				11F738FA0F58D19B00B3285B /* AITwitterPlugin.h */,
@@ -5121,36 +5095,6 @@
 			name = Twitter;
 			sourceTree = "<group>";
 		};
-		11F739590F58D4DC00B3285B /* MGTwitterEngine */ = {
-			isa = PBXGroup;
-			children = (
-				11F7395A0F58D4DC00B3285B /* MGTwitterEngine.h */,
-				11F7395B0F58D4DC00B3285B /* MGTwitterEngine.m */,
-				11F7395C0F58D4DC00B3285B /* MGTwitterEngineDelegate.h */,
-				11F7395D0F58D4DC00B3285B /* MGTwitterEngineGlobalHeader.h */,
-				11F7395E0F58D4DC00B3285B /* MGTwitterHTTPURLConnection.h */,
-				11F7395F0F58D4DC00B3285B /* MGTwitterHTTPURLConnection.m */,
-				11F739640F58D4DC00B3285B /* MGTwitterMessagesParser.h */,
-				11F739650F58D4DC00B3285B /* MGTwitterMessagesParser.m */,
-				11F739680F58D4DC00B3285B /* MGTwitterMiscParser.h */,
-				11F739690F58D4DC00B3285B /* MGTwitterMiscParser.m */,
-				11F7396A0F58D4DC00B3285B /* MGTwitterParserDelegate.h */,
-				11F7396B0F58D4DC00B3285B /* MGTwitterRequestTypes.h */,
-				11F7396E0F58D4DC00B3285B /* MGTwitterStatusesParser.h */,
-				11F7396F0F58D4DC00B3285B /* MGTwitterStatusesParser.m */,
-				11F739720F58D4DC00B3285B /* MGTwitterUsersParser.h */,
-				11F739730F58D4DC00B3285B /* MGTwitterUsersParser.m */,
-				11F739740F58D4DC00B3285B /* MGTwitterXMLParser.h */,
-				11F739750F58D4DC00B3285B /* MGTwitterXMLParser.m */,
-				11F739760F58D4DC00B3285B /* NSData+Base64.h */,
-				11F739770F58D4DC00B3285B /* NSData+Base64.m */,
-				11F739780F58D4DC00B3285B /* NSString+UUID.h */,
-				11F739790F58D4DC00B3285B /* NSString+UUID.m */,
-			);
-			name = MGTwitterEngine;
-			path = "Plugins/Twitter Plugin/MGTwitterEngine";
-			sourceTree = "<group>";
-		};
 		19C28FACFE9D520D11CA2CBB /* Products */ = {
 			isa = PBXGroup;
 			children = (
@@ -7367,6 +7311,38 @@
 			name = Growl;
 			sourceTree = "<group>";
 		};
+		5A3B4D6A16D878AB00903E40 /* STTwitter */ = {
+			isa = PBXGroup;
+			children = (
+				5A4B77E716FBDDC600DF398C /* NSData+Base64.m */,
+				5A4B77E816FBDDC700DF398C /* NSData+Base64.h */,
+				5A0D236816F4C7BC005DF211 /* STTwitterAppOnly.m */,
+				5A0D236916F4C7BC005DF211 /* STTwitterAppOnly.h */,
+				5A3B4D6B16D878AB00903E40 /* NSString+STTwitter.h */,
+				5A3B4D6C16D878AB00903E40 /* NSString+STTwitter.m */,
+				5A3B4D6D16D878AB00903E40 /* STTwitterAPIWrapper.h */,
+				5A3B4D6E16D878AB00903E40 /* STTwitterAPIWrapper.m */,
+				5A3B4D7116D878AB00903E40 /* STTwitterOAuth.h */,
+				5A3B4D7216D878AB00903E40 /* STTwitterOAuth.m */,
+				5A3B4D7516D878AB00903E40 /* STTwitterOAuthProtocol.h */,
+				76FBDAC51733B9C900C9F10B /* STTwitterHTML.h */,
+				76FBDAC61733B9C900C9F10B /* STTwitterHTML.m */,
+				76FBDAC71733B9C900C9F10B /* STTwitterOAuthOSX.h */,
+				76FBDAC81733B9C900C9F10B /* STTwitterOAuthOSX.m */,
+				5A3B4D7616D878AC00903E40 /* Vendor */,
+			);
+			name = STTwitter;
+			sourceTree = "<group>";
+		};
+		5A3B4D7616D878AC00903E40 /* Vendor */ = {
+			isa = PBXGroup;
+			children = (
+				5A3B4D7716D878AC00903E40 /* STHTTPRequest.h */,
+				5A3B4D7816D878AC00903E40 /* STHTTPRequest.m */,
+			);
+			name = Vendor;
+			sourceTree = "<group>";
+		};
 		5A8A6A46124456B1004965A8 /* Segmented control with menu popup */ = {
 			isa = PBXGroup;
 			children = (
@@ -8252,7 +8228,6 @@
 				3496A8E707CE6CA30055BBAB /* AutoHyperlinks.framework.xcodeproj */,
 				9719C92B1530EDF700217FBE /* FriBidi.framework */,
 				7E9A8CB2104DEBC400F210CC /* Growl.framework */,
-				11879DF70F6FFC0B00CACFB1 /* OAuthConsumer.framework */,
 				377EC8930AE9525B00CB7BDF /* PSMTabBarControl.framework */,
 				9719C92D1530EE0C00217FBE /* ShortcutRecorder.framework */,
 				9E1E1DFC0A96741500E16DFC /* LMX.framework */,
@@ -10432,24 +10407,9 @@
 				11F738F90F58D18700B3285B /* AITwitterService.m in Sources */,
 				11F738FC0F58D19B00B3285B /* AITwitterPlugin.m in Sources */,
 				11F739020F58D1C400B3285B /* AITwitterAccountViewController.m in Sources */,
-				11F7397A0F58D4DC00B3285B /* MGTwitterEngine.m in Sources */,
-				11F7397B0F58D4DC00B3285B /* MGTwitterHTTPURLConnection.m in Sources */,
-				11F7397E0F58D4DD00B3285B /* MGTwitterMessagesParser.m in Sources */,
-				11F739800F58D4DD00B3285B /* MGTwitterMiscParser.m in Sources */,
-				11F739820F58D4DD00B3285B /* MGTwitterStatusesParser.m in Sources */,
-				11F739840F58D4DD00B3285B /* MGTwitterUsersParser.m in Sources */,
-				11F739850F58D4DD00B3285B /* MGTwitterXMLParser.m in Sources */,
-				11F739860F58D4DD00B3285B /* NSData+Base64.m in Sources */,
-				11F739870F58D4DD00B3285B /* NSString+UUID.m in Sources */,
-				113F26A00F5CC03F00954772 /* AITwitterURLParser.m in Sources */,
 				112523190F5F7F86003FC58A /* AITwitterURLHandler.m in Sources */,
 				1109661A0F61D3E70064CA0E /* AITwitterReplyWindowController.m in Sources */,
-				113891830F6B6AFF00A7D7DC /* AILaconicaService.m in Sources */,
-				1138918A0F6B6B2800A7D7DC /* AILaconicaAccount.m in Sources */,
-				1138918D0F6B6B3F00A7D7DC /* AILaconicaPlugin.m in Sources */,
-				113891950F6B6B9C00A7D7DC /* AILaconicaAccountViewController.m in Sources */,
 				1163F0EC0F6C7A8300F12F5D /* AIURLShortenerPlugin.m in Sources */,
-				11879C0B0F6FF4C400CACFB1 /* AITwitterAccountOAuthSetup.m in Sources */,
 				11700A350F7E8BE80078D6AB /* AISpecialPasswordPromptController.m in Sources */,
 				112B490A0F82FB1700690E84 /* AIGroupChatStatusTooltipPlugin.m in Sources */,
 				112B4A250F83194700690E84 /* AIMentionAdvancedPreferences.m in Sources */,
@@ -10478,6 +10438,13 @@
 				5A5F8BBD12D560E400019727 /* AIDockNameOverlay.m in Sources */,
 				5A17D65D130F76B4002C852F /* AIGradientView.m in Sources */,
 				97AF5CDB13191DE200550C41 /* AIContactListUserPictureMenuController.m in Sources */,
+				5A3B4D7916D878AC00903E40 /* NSString+STTwitter.m in Sources */,
+				5A3B4D7A16D878AC00903E40 /* STTwitterAPIWrapper.m in Sources */,
+				5A3B4D7C16D878AC00903E40 /* STTwitterOAuth.m in Sources */,
+				5A3B4D7E16D878AC00903E40 /* STHTTPRequest.m in Sources */,
+				5A0D236A16F4C7BC005DF211 /* STTwitterAppOnly.m in Sources */,
+				5A4B77E916FBDDC700DF398C /* NSData+Base64.m in Sources */,
+				76FBDAC91733B9CA00C9F10B /* STTwitterHTML.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Headers
--- a/Frameworks/OAuthConsumer.framework/Headers	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Versions/Current/Headers
\ No newline at end of file
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/OAuthConsumer
--- a/Frameworks/OAuthConsumer.framework/OAuthConsumer	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Versions/Current/OAuthConsumer
\ No newline at end of file
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Resources
--- a/Frameworks/OAuthConsumer.framework/Resources	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Versions/Current/Resources
\ No newline at end of file
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Headers/NSMutableURLRequest+Parameters.h
--- a/Frameworks/OAuthConsumer.framework/Versions/A/Headers/NSMutableURLRequest+Parameters.h	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-//
-//  NSMutableURLRequest+Parameters.h
-//
-//  Created by Jon Crosby on 10/19/07.
-//  Copyright 2007 Kaboomerang LLC. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-#import "OARequestParameter.h"
-#import "NSURL+Base.h"
-
-
- at interface NSMutableURLRequest (OAParameterAdditions)
-
-- (NSArray *)parameters;
-- (void)setParameters:(NSArray *)parameters;
-
- at end
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Headers/NSString+URLEncoding.h
--- a/Frameworks/OAuthConsumer.framework/Versions/A/Headers/NSString+URLEncoding.h	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-//
-//  NSString+URLEncoding.h
-//
-//  Created by Jon Crosby on 10/19/07.
-//  Copyright 2007 Kaboomerang LLC. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-
-#import <Foundation/Foundation.h>
-
-
- at interface NSString (OAURLEncodingAdditions)
-
-- (NSString *)URLEncodedString;
-- (NSString *)URLDecodedString;
-
- at end
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Headers/NSURL+Base.h
--- a/Frameworks/OAuthConsumer.framework/Versions/A/Headers/NSURL+Base.h	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-//
-//  NSURL+Base.h
-//  OAuthConsumer
-//
-//  Created by Jon Crosby on 10/19/07.
-//  Copyright 2007 Kaboomerang LLC. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-
-#import <Foundation/Foundation.h>
-
-
- at interface NSURL (OABaseAdditions)
-
-- (NSString *)URLStringWithoutQuery;
-
- at end
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAAsynchronousDataFetcher.h
--- a/Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAAsynchronousDataFetcher.h	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-//
-//  OAAsynchronousDataFetcher.h
-//  OAuthConsumer
-//
-//  Created by Zsombor Szabó on 12/3/08.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-
-#import "OAMutableURLRequest.h"
-
- at interface OAAsynchronousDataFetcher : NSObject {
-    OAMutableURLRequest *request;
-    NSURLResponse *response;
-    NSURLConnection *connection;
-    NSMutableData *responseData;
-    id delegate;
-    SEL didFinishSelector;
-    SEL didFailSelector;	
-}
-
-+ (id)asynchronousFetcherWithRequest:(OAMutableURLRequest *)aRequest delegate:(id)aDelegate didFinishSelector:(SEL)finishSelector didFailSelector:(SEL)failSelector;
-- (id)initWithRequest:(OAMutableURLRequest *)aRequest delegate:(id)aDelegate didFinishSelector:(SEL)finishSelector didFailSelector:(SEL)failSelector;
-
-- (void)start;
-- (void)cancel;
-
- at end
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAConsumer.h
--- a/Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAConsumer.h	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-//
-//  OAConsumer.h
-//  OAuthConsumer
-//
-//  Created by Jon Crosby on 10/19/07.
-//  Copyright 2007 Kaboomerang LLC. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-
-#import <Foundation/Foundation.h>
-
-
- at interface OAConsumer : NSObject {
- at protected
-	NSString *key;
-	NSString *secret;
-}
- at property(retain) NSString *key;
- at property(retain) NSString *secret;
-
-- (id)initWithKey:(NSString *)aKey secret:(NSString *)aSecret;
-
- at end
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Headers/OADataFetcher.h
--- a/Frameworks/OAuthConsumer.framework/Versions/A/Headers/OADataFetcher.h	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-//
-//  OADataFetcher.h
-//  OAuthConsumer
-//
-//  Created by Jon Crosby on 11/5/07.
-//  Copyright 2007 Kaboomerang LLC. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-#import "OAMutableURLRequest.h"
-#import "OAServiceTicket.h"
-
-
- at interface OADataFetcher : NSObject {
- at private
-    OAMutableURLRequest *request;
-    NSURLResponse *response;
-    NSURLConnection *connection;
-    NSError *error;
-    NSData *responseData;
-    id delegate;
-    SEL didFinishSelector;
-    SEL didFailSelector;
-}
-
-- (void)fetchDataWithRequest:(OAMutableURLRequest *)aRequest delegate:(id)aDelegate didFinishSelector:(SEL)finishSelector didFailSelector:(SEL)failSelector;
-
- at end
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAHMAC_SHA1SignatureProvider.h
--- a/Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAHMAC_SHA1SignatureProvider.h	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-//
-//  OAHMAC_SHA1SignatureProvider.h
-//  OAuthConsumer
-//
-//  Created by Jon Crosby on 10/19/07.
-//  Copyright 2007 Kaboomerang LLC. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-
-#import <Foundation/Foundation.h>
-#import "OASignatureProviding.h"
-
-
- at interface OAHMAC_SHA1SignatureProvider : NSObject <OASignatureProviding>
- at end
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAMutableURLRequest.h
--- a/Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAMutableURLRequest.h	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-//
-//  OAMutableURLRequest.h
-//  OAuthConsumer
-//
-//  Created by Jon Crosby on 10/19/07.
-//  Copyright 2007 Kaboomerang LLC. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-
-#import <Foundation/Foundation.h>
-#import "OAConsumer.h"
-#import "OAToken.h"
-#import "OAHMAC_SHA1SignatureProvider.h"
-#import "OASignatureProviding.h"
-#import "NSMutableURLRequest+Parameters.h"
-#import "NSURL+Base.h"
-
-
- at interface OAMutableURLRequest : NSMutableURLRequest {
- at protected
-    OAConsumer *consumer;
-    OAToken *token;
-    NSString *realm;
-    NSString *signature;
-    id<OASignatureProviding> signatureProvider;
-    NSString *nonce;
-    NSString *timestamp;
-	NSMutableDictionary *extraOAuthParameters;
-}
- at property(readonly) NSString *signature;
- at property(readonly) NSString *nonce;
-
-- (id)initWithURL:(NSURL *)aUrl
-		 consumer:(OAConsumer *)aConsumer
-			token:(OAToken *)aToken
-            realm:(NSString *)aRealm
-signatureProvider:(id<OASignatureProviding, NSObject>)aProvider;
-
-- (id)initWithURL:(NSURL *)aUrl
-		 consumer:(OAConsumer *)aConsumer
-			token:(OAToken *)aToken
-            realm:(NSString *)aRealm
-signatureProvider:(id<OASignatureProviding, NSObject>)aProvider
-            nonce:(NSString *)aNonce
-        timestamp:(NSString *)aTimestamp;
-
-- (void)prepare;
-
-- (void)setOAuthParameterName:(NSString*)parameterName withValue:(NSString*)parameterValue;
-
- at end
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAPlaintextSignatureProvider.h
--- a/Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAPlaintextSignatureProvider.h	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-//
-//  OAPlaintextSignatureProvider.h
-//  OAuthConsumer
-//
-//  Created by Jon Crosby on 10/19/07.
-//  Copyright 2007 Kaboomerang LLC. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-
-#import <Foundation/Foundation.h>
-#import "OASignatureProviding.h"
-
- at interface OAPlaintextSignatureProvider : NSObject <OASignatureProviding>
- at end
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Headers/OARequestParameter.h
--- a/Frameworks/OAuthConsumer.framework/Versions/A/Headers/OARequestParameter.h	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-//
-//  OARequestParameter.h
-//  OAuthConsumer
-//
-//  Created by Jon Crosby on 10/19/07.
-//  Copyright 2007 Kaboomerang LLC. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-
-#import <Foundation/Foundation.h>
-#import "NSString+URLEncoding.h"
-
-
- at interface OARequestParameter : NSObject {
- at protected
-    NSString *name;
-    NSString *value;
-}
- at property(retain) NSString *name;
- at property(retain) NSString *value;
-
-+ (id)requestParameterWithName:(NSString *)aName value:(NSString *)aValue;
-- (id)initWithName:(NSString *)aName value:(NSString *)aValue;
-- (NSString *)URLEncodedName;
-- (NSString *)URLEncodedValue;
-- (NSString *)URLEncodedNameValuePair;
-
- at end
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAServiceTicket.h
--- a/Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAServiceTicket.h	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-//
-//  OAServiceTicket.h
-//  OAuthConsumer
-//
-//  Created by Jon Crosby on 11/5/07.
-//  Copyright 2007 Kaboomerang LLC. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-
-#import <Foundation/Foundation.h>
-#import "OAMutableURLRequest.h"
-
-
- at interface OAServiceTicket : NSObject {
- at private
-    OAMutableURLRequest *request;
-    NSURLResponse *response;
-    BOOL didSucceed;
-}
- at property(retain) OAMutableURLRequest *request;
- at property(retain) NSURLResponse *response;
- at property(assign) BOOL didSucceed;
-
-- (id)initWithRequest:(OAMutableURLRequest *)aRequest response:(NSURLResponse *)aResponse didSucceed:(BOOL)success;
-
- at end
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Headers/OASignatureProviding.h
--- a/Frameworks/OAuthConsumer.framework/Versions/A/Headers/OASignatureProviding.h	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-//
-//  OASignatureProviding.h
-//
-//  Created by Jon Crosby on 10/19/07.
-//  Copyright 2007 Kaboomerang LLC. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-
-#import <Foundation/Foundation.h>
-
-
- at protocol OASignatureProviding <NSObject>
-
-- (NSString *)name;
-- (NSString *)signClearText:(NSString *)text withSecret:(NSString *)secret;
-
- at end
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAToken.h
--- a/Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAToken.h	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-//
-//  OAToken.h
-//  OAuthConsumer
-//
-//  Created by Jon Crosby on 10/19/07.
-//  Copyright 2007 Kaboomerang LLC. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-
- at interface OAToken : NSObject {
- at protected
-	NSString *key;
-	NSString *secret;
-}
- at property(retain) NSString *key;
- at property(retain) NSString *secret;
-
-- (id)initWithKey:(NSString *)aKey secret:(NSString *)aSecret;
-- (id)initWithUserDefaultsUsingServiceProviderName:(NSString *)provider prefix:(NSString *)prefix;
-- (id)initWithHTTPResponseBody:(NSString *)body;
-- (int)storeInUserDefaultsWithServiceProviderName:(NSString *)provider prefix:(NSString *)prefix;
-
- at end
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAToken_KeychainExtensions.h
--- a/Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAToken_KeychainExtensions.h	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-//
-//  OAToken_KeychainExtensions.h
-//  TouchTheFireEagle
-//
-//  Created by Jonathan Wight on 04/04/08.
-//  Copyright 2008 __MyCompanyName__. All rights reserved.
-//
-
-#import "OAToken.h"
-
-#import <Security/Security.h>
-
- at interface OAToken (OAToken_KeychainExtensions)
-
-- (id)initWithKeychainUsingAppName:(NSString *)name serviceProviderName:(NSString *)provider;
-- (int)storeInDefaultKeychainWithAppName:(NSString *)name serviceProviderName:(NSString *)provider;
-- (int)storeInKeychain:(SecKeychainRef)keychain appName:(NSString *)name serviceProviderName:(NSString *)provider;
-
- at end
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAuthConsumer.h
--- a/Frameworks/OAuthConsumer.framework/Versions/A/Headers/OAuthConsumer.h	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-//
-//  OAuthConsumer.h
-//  OAuthConsumer
-//
-//  Created by Jon Crosby on 10/19/07.
-//  Copyright 2007 Kaboomerang LLC. All rights reserved.
-//
-//  Permission is hereby granted, free of charge, to any person obtaining a copy
-//  of this software and associated documentation files (the "Software"), to deal
-//  in the Software without restriction, including without limitation the rights
-//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the Software is
-//  furnished to do so, subject to the following conditions:
-//
-//  The above copyright notice and this permission notice shall be included in
-//  all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-//  THE SOFTWARE.
-
-#import <Foundation/Foundation.h>
-#import <OAuthConsumer/OAToken.h>
-#import <OAuthConsumer/OAConsumer.h>
-#import <OAuthConsumer/OAMutableURLRequest.h>
-#import <OAuthConsumer/NSString+URLEncoding.h>
-#import <OAuthConsumer/NSMutableURLRequest+Parameters.h>
-#import <OAuthConsumer/NSURL+Base.h>
-#import <OAuthConsumer/OASignatureProviding.h>
-#import <OAuthConsumer/OAHMAC_SHA1SignatureProvider.h>
-#import <OAuthConsumer/OAPlaintextSignatureProvider.h>
-#import <OAuthConsumer/OARequestParameter.h>
-#import <OAuthConsumer/OAServiceTicket.h>
-#import <OAuthConsumer/OADataFetcher.h>
-#import <OAuthConsumer/OAAsynchronousDataFetcher.h>
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/OAuthConsumer
Binary file Frameworks/OAuthConsumer.framework/Versions/A/OAuthConsumer has changed
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Resources/English.lproj/InfoPlist.strings
Binary file Frameworks/OAuthConsumer.framework/Versions/A/Resources/English.lproj/InfoPlist.strings has changed
diff -r 85ef46fdc097 -r bff389662124 Frameworks/OAuthConsumer.framework/Versions/A/Resources/Info.plist
--- a/Frameworks/OAuthConsumer.framework/Versions/A/Resources/Info.plist	Fri May 10 15:35:41 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>BuildMachineOSBuild</key>
-	<string>11C74</string>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>English</string>
-	<key>CFBundleExecutable</key>




More information about the commits mailing list