diff options
author | Marc Blank <mblank@google.com> | 2012-01-04 21:49:33 -0800 |
---|---|---|
committer | Marc Blank <mblank@google.com> | 2012-01-04 21:49:33 -0800 |
commit | 67423171bc101157a0ca485d57d5c1b2bcb5f1de (patch) | |
tree | 74671ba7feb946accd47cccaa4dc70be4238e807 | |
parent | 2a0eb57b33b0a66579a75ebe309a90a9d7fd4037 (diff) | |
parent | e71d73cbfe67063539796b4805004cc75ecfb7aa (diff) | |
download | android_packages_apps_Exchange-67423171bc101157a0ca485d57d5c1b2bcb5f1de.tar.gz android_packages_apps_Exchange-67423171bc101157a0ca485d57d5c1b2bcb5f1de.tar.bz2 android_packages_apps_Exchange-67423171bc101157a0ca485d57d5c1b2bcb5f1de.zip |
resolved conflicts for merge of e71d73cb to master
Change-Id: I38a87255467e30640081027f40663c6c835398c6
-rw-r--r-- | assets/FolderSyncParserTest.txt | 870 | ||||
-rw-r--r-- | assets/FolderSyncParserTest2.txt | 870 | ||||
-rw-r--r-- | src/com/android/exchange/adapter/FolderSyncParser.java | 143 | ||||
-rw-r--r-- | src/com/android/exchange/adapter/Parser.java | 2 | ||||
-rw-r--r-- | src/com/android/exchange/adapter/Tags.java | 28 | ||||
-rw-r--r-- | tests/src/com/android/exchange/adapter/FolderSyncParserTests.java | 211 |
6 files changed, 2047 insertions, 77 deletions
diff --git a/assets/FolderSyncParserTest.txt b/assets/FolderSyncParserTest.txt new file mode 100644 index 00000000..805e98c9 --- /dev/null +++ b/assets/FolderSyncParserTest.txt @@ -0,0 +1,870 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +[14:02:28] EAS Parser| <FolderSync> +[14:02:28] EAS Parser| <FolderStatus> +[14:02:28] EAS Parser| FolderStatus: 1 +[14:02:28] EAS Parser| </FolderStatus> +[14:02:28] EAS Parser| <FolderSyncKey> +[14:02:28] EAS Parser| FolderSyncKey: 1 +[14:02:28] EAS Parser| </FolderSyncKey> +[14:02:28] EAS Parser| <Changes> +[14:02:28] EAS Parser| <Count> +[14:02:28] EAS Parser| Count: 60 +[14:02:28] EAS Parser| </Count> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 35 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 34 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Intro +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 36 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 24 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Online +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 18 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 9 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Vader +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 19 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 18 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Max +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 20 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 19 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Thomas +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 21 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 18 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Parser +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 37 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 24 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Sports +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 1 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 38 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Journal +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 11 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 1 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 0 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Calendar +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 8 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 2 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 1 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: calendar_export.ics +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 13 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 3 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 0 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Contacts +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 9 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 4 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 3 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Play +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 14 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 5 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 3 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Sox +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 14 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 6 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 3 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Wed +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 14 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 7 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 0 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Deleted Items +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 4 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 25 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 7 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: aFamily_old +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 1 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 8 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 0 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Drafts +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 3 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 9 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 0 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Inbox +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 2 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 10 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 9 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Gecko +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 1 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 11 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 9 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Wombat +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 12 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 9 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Laslo +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 1 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 13 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 12 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Lego +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 14 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 9 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Tomorrow +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 1 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 15 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 14 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: HomeRun +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 1 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 16 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 15 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Review +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 17 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 14 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Services +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 1 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 22 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 18 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Scott +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 23 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 18 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Surfing +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 24 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 9 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Personal +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 59 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 24 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Famine +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 26 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 59 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Buffalo +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 1 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 27 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 59 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: CornedBeef +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 1 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 28 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 24 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Bar +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 29 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 28 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Daylight +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 30 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 24 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Bill +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 31 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 24 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Boss +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 1 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 32 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 24 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Houston +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 1 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 33 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 32 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Rebar +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 34 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 24 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Mistake +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 1 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 39 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Junk E-mail +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 40 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Notes +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 10 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 41 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Outbox +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 6 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 42 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: RSS Feeds +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 43 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 42 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: aTwitRob +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 44 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 42 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Cheris +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 45 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Sent Items +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 5 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 46 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Suggested Contacts +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 14 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 47 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Sync Issues +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 48 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 47 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Conflicts +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 49 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 47 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Local Failures +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 50 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 47 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Server Failures +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 51 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Tasks +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 7 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 52 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 51 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: ForRoom +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 15 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 53 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 51 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Nazgul +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 15 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 54 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 51 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Sort by Priority +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 15 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 55 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 51 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: ToArrange +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 15 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 56 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 51 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: ToBuy +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 15 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 57 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 51 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: ToCall +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 15 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 58 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 51 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: ToRead +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 15 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: RI +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: RecipientInfo +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 19 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| </Changes> +[14:02:29] EAS Parser| </FolderSync> + diff --git a/assets/FolderSyncParserTest2.txt b/assets/FolderSyncParserTest2.txt new file mode 100644 index 00000000..3aba78ae --- /dev/null +++ b/assets/FolderSyncParserTest2.txt @@ -0,0 +1,870 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +[14:02:28] EAS Parser| <FolderSync> +[14:02:28] EAS Parser| <FolderStatus> +[14:02:28] EAS Parser| FolderStatus: 1 +[14:02:28] EAS Parser| </FolderStatus> +[14:02:28] EAS Parser| <FolderSyncKey> +[14:02:28] EAS Parser| FolderSyncKey: 1 +[14:02:28] EAS Parser| </FolderSyncKey> +[14:02:28] EAS Parser| <Changes> +[14:02:28] EAS Parser| <Count> +[14:02:28] EAS Parser| Count: 60 +[14:02:28] EAS Parser| </Count> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 1 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 0 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Calendar +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 8 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 2 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 1 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: calendar_export.ics +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 13 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 3 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 0 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Contacts +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 9 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 4 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 3 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Play +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 14 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 5 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 3 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Sox +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 14 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 6 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 3 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Wed +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 14 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 7 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 0 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Deleted Items +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 4 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 25 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 7 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: aFamily_old +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 1 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 8 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 0 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Drafts +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 3 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 9 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 0 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Inbox +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 2 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 10 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 9 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Gecko +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 1 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 11 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 9 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Wombat +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 12 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 9 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Laslo +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 1 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 13 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 12 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Lego +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 14 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 9 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Tomorrow +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 1 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 15 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 14 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: HomeRun +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 1 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 16 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 15 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Review +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 17 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 14 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Services +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 1 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 18 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 9 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Vader +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 19 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 18 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Max +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 20 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 19 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Thomas +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 21 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 18 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Parser +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 22 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 18 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Scott +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:28] EAS Parser| <FolderServerId> +[14:02:28] EAS Parser| FolderServerId: 23 +[14:02:28] EAS Parser| </FolderServerId> +[14:02:28] EAS Parser| <FolderParentId> +[14:02:28] EAS Parser| FolderParentId: 18 +[14:02:28] EAS Parser| </FolderParentId> +[14:02:28] EAS Parser| <FolderDisplayName> +[14:02:28] EAS Parser| FolderDisplayName: Surfing +[14:02:28] EAS Parser| </FolderDisplayName> +[14:02:28] EAS Parser| <Type> +[14:02:28] EAS Parser| Type: 12 +[14:02:28] EAS Parser| </Type> +[14:02:28] EAS Parser| </FolderAdd> +[14:02:28] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 24 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 9 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Personal +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 59 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 24 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Famine +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 26 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 59 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Buffalo +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 1 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 27 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 59 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: CornedBeef +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 1 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 28 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 24 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Bar +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 29 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 28 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Daylight +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 30 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 24 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Bill +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 31 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 24 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Boss +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 1 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 32 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 24 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Houston +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 1 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 33 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 32 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Rebar +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 34 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 24 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Mistake +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 1 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 35 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 34 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Intro +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 36 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 24 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Online +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 37 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 24 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Sports +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 1 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 38 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Journal +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 11 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 39 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Junk E-mail +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 40 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Notes +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 10 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 41 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Outbox +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 6 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 42 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: RSS Feeds +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 43 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 42 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: aTwitRob +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 44 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 42 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Cheris +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 45 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Sent Items +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 5 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 46 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Suggested Contacts +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 14 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 47 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Sync Issues +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 48 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 47 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Conflicts +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 49 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 47 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Local Failures +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 50 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 47 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Server Failures +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 12 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 51 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Tasks +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 7 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 52 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 51 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: ForRoom +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 15 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 53 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 51 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Nazgul +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 15 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 54 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 51 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: Sort by Priority +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 15 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 55 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 51 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: ToArrange +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 15 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 56 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 51 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: ToBuy +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 15 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 57 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 51 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: ToCall +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 15 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: 58 +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 51 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: ToRead +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 15 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| <FolderAdd> +[14:02:29] EAS Parser| <FolderServerId> +[14:02:29] EAS Parser| FolderServerId: RI +[14:02:29] EAS Parser| </FolderServerId> +[14:02:29] EAS Parser| <FolderParentId> +[14:02:29] EAS Parser| FolderParentId: 0 +[14:02:29] EAS Parser| </FolderParentId> +[14:02:29] EAS Parser| <FolderDisplayName> +[14:02:29] EAS Parser| FolderDisplayName: RecipientInfo +[14:02:29] EAS Parser| </FolderDisplayName> +[14:02:29] EAS Parser| <Type> +[14:02:29] EAS Parser| Type: 19 +[14:02:29] EAS Parser| </Type> +[14:02:29] EAS Parser| </FolderAdd> +[14:02:29] EAS Parser| </Changes> +[14:02:29] EAS Parser| </FolderSync> + diff --git a/src/com/android/exchange/adapter/FolderSyncParser.java b/src/com/android/exchange/adapter/FolderSyncParser.java index c899cb2d..3b0bc7ce 100644 --- a/src/com/android/exchange/adapter/FolderSyncParser.java +++ b/src/com/android/exchange/adapter/FolderSyncParser.java @@ -47,6 +47,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; +import java.util.concurrent.ExecutionException; /** * Parse the result of a FolderSync command @@ -102,6 +103,9 @@ public class FolderSyncParser extends AbstractSyncParser { long mAccountId; @VisibleForTesting String mAccountIdAsString; + @VisibleForTesting + boolean mInUnitTest = false; + private String[] mBindArguments = new String[2]; private ArrayList<ContentProviderOperation> mOperations = new ArrayList<ContentProviderOperation>(); @@ -558,75 +562,90 @@ public class FolderSyncParser extends AbstractSyncParser { skipTag(); } - EmailAsyncTask.runAsyncParallel(new Runnable() { - @Override - public void run() { - // Synchronize on the parser to prevent this being run multiple times concurrently - // (an extremely unlikely event, but nonetheless possible) - synchronized (FolderSyncParser.this) { - // Mailboxes that we known contain email - ArrayList<Mailbox> validMailboxes = new ArrayList<Mailbox>(); - // Mailboxes that we're unsure about - ArrayList<Mailbox> userMailboxes = new ArrayList<Mailbox>(); - // Maps folder serverId to mailbox type - HashMap<String, Mailbox> mailboxMap = new HashMap<String, Mailbox>(); - int mailboxCommitCount = 0; - for (Mailbox mailbox : addMailboxes) { - // Save away the type of this folder - mailboxMap.put(mailbox.mServerId, mailbox); - // And add the mailbox to the proper list - if (type == USER_MAILBOX_TYPE) { - userMailboxes.add(mailbox); - } else { - validMailboxes.add(mailbox); - } - // On initial sync, we commit what we have every 20 mailboxes - if (initialSync && (++mailboxCommitCount == MAILBOX_COMMIT_SIZE)) { + EmailAsyncTask<?, ?, ?> task = + EmailAsyncTask.runAsyncParallel(new Runnable() { + @Override + public void run() { + // Synchronize on the parser to prevent this being run concurrently + // (an extremely unlikely event, but nonetheless possible) + synchronized (FolderSyncParser.this) { + // Mailboxes that we known contain email + ArrayList<Mailbox> validMailboxes = new ArrayList<Mailbox>(); + // Mailboxes that we're unsure about + ArrayList<Mailbox> userMailboxes = new ArrayList<Mailbox>(); + + // Maps folder serverId to mailbox (used to validate user mailboxes) + HashMap<String, Mailbox> mailboxMap = new HashMap<String, Mailbox>(); + for (Mailbox mailbox : addMailboxes) { + mailboxMap.put(mailbox.mServerId, mailbox); + } + + int mailboxCommitCount = 0; + for (Mailbox mailbox : addMailboxes) { + // And add the mailbox to the proper list + if (type == USER_MAILBOX_TYPE) { + userMailboxes.add(mailbox); + } else { + validMailboxes.add(mailbox); + } + // On initial sync, we commit what we have every 20 mailboxes + if (initialSync && (++mailboxCommitCount == MAILBOX_COMMIT_SIZE)) { + if (!commitMailboxes(validMailboxes, userMailboxes, mailboxMap, + ops)) { + mService.stop(); + return; + } + // Clear our arrays to prepare for more + userMailboxes.clear(); + validMailboxes.clear(); + ops.clear(); + mailboxCommitCount = 0; + } + } + // Commit the sync key and mailboxes + ContentValues cv = new ContentValues(); + cv.put(AccountColumns.SYNC_KEY, mAccount.mSyncKey); + ops.add(ContentProviderOperation + .newUpdate( + ContentUris.withAppendedId(Account.CONTENT_URI, + mAccount.mId)) + .withValues(cv).build()); if (!commitMailboxes(validMailboxes, userMailboxes, mailboxMap, ops)) { mService.stop(); return; } - // Clear our arrays to prepare for more - userMailboxes.clear(); - validMailboxes.clear(); - ops.clear(); - mailboxCommitCount = 0; - } - } - // Commit the sync key and mailboxes - ContentValues cv = new ContentValues(); - cv.put(AccountColumns.SYNC_KEY, mAccount.mSyncKey); - ops.add(ContentProviderOperation - .newUpdate( - ContentUris.withAppendedId(Account.CONTENT_URI, mAccount.mId)) - .withValues(cv).build()); - if (!commitMailboxes(validMailboxes, userMailboxes, mailboxMap, ops)) { - mService.stop(); - } - String accountSelector = Mailbox.ACCOUNT_KEY + "=" + mAccount.mId; - // For new boxes, setup the parent key and flags - if (mFixupUninitializedNeeded) { - MailboxUtilities.fixupUninitializedParentKeys(mContext, accountSelector); - } - // For modified parents, reset the flags (and children's parent key) - for (String parentServerId: mParentFixupsNeeded) { - Cursor c = mContentResolver.query(Mailbox.CONTENT_URI, - Mailbox.CONTENT_PROJECTION, Mailbox.PARENT_SERVER_ID + "=?", - new String[] {parentServerId}, null); - try { - if (c.moveToFirst()) { - MailboxUtilities.setFlagsAndChildrensParentKey(mContext, c, + String accountSelector = Mailbox.ACCOUNT_KEY + "=" + mAccount.mId; + // For new boxes, setup the parent key and flags + if (mFixupUninitializedNeeded) { + MailboxUtilities.fixupUninitializedParentKeys(mContext, accountSelector); } - } finally { - c.close(); - } - } + // For modified parents, reset the flags (and children's parent key) + for (String parentServerId: mParentFixupsNeeded) { + Cursor c = mContentResolver.query(Mailbox.CONTENT_URI, + Mailbox.CONTENT_PROJECTION, Mailbox.PARENT_SERVER_ID + "=?", + new String[] {parentServerId}, null); + try { + if (c.moveToFirst()) { + MailboxUtilities.setFlagsAndChildrensParentKey(mContext, c, + accountSelector); + } + } finally { + c.close(); + } + } - // Signal completion of mailbox changes - MailboxUtilities.endMailboxChanges(mContext, mAccount.mId); - } - }}); + // Signal completion of mailbox changes + MailboxUtilities.endMailboxChanges(mContext, mAccount.mId); + } + }}); + // Make this synchronous if in a unit test + if (mInUnitTest) { + try { + task.get(); + } catch (Exception e) { + } + } } /** diff --git a/src/com/android/exchange/adapter/Parser.java b/src/com/android/exchange/adapter/Parser.java index 3b898638..fe257516 100644 --- a/src/com/android/exchange/adapter/Parser.java +++ b/src/com/android/exchange/adapter/Parser.java @@ -361,7 +361,7 @@ public abstract class Parser { */ public void setInput(InputStream in, boolean initialize) throws IOException { this.in = in; - if (initialize) { + if ((in != null) && initialize) { // If we fail on the very first byte, report an empty stream try { readByte(); // version diff --git a/src/com/android/exchange/adapter/Tags.java b/src/com/android/exchange/adapter/Tags.java index f5fe60c6..183a1032 100644 --- a/src/com/android/exchange/adapter/Tags.java +++ b/src/com/android/exchange/adapter/Tags.java @@ -680,8 +680,8 @@ public class Tags { }, { // 0x06 ItemEstimate - "GetItemEstimate", "Version", "Collections", "Collection", "Class", "CollectionId", - "DateTime", "Estimate", "Response", "Status" + "GetItemEstimate", "Version", "IECollections", "IECollection", "IEClass", + "IECollectionId", "DateTime", "Estimate", "IEResponse", "ItemEstimateStatus" }, { // 0x07 FolderHierarchy @@ -693,17 +693,17 @@ public class Tags { { // 0x08 MeetingResponse "CalId", "CollectionId", "MeetingResponse", "ReqId", "Request", - "Result", "Status", "UserResponse", "Version" + "MeetingResponseResult", "MeetingResponseStatus", "UserResponse", "Version" }, { // 0x09 Tasks - "Body", "BodySize", "BodyTruncated", "Categories", "Category", "Complete", - "DateCompleted", "DueDate", "UTCDueDate", "Importance", "Recurrence", "RecurrenceType", - "RecurrenceStart", "RecurrenceUntil", "RecurrenceOccurrences", "RecurrenceInterval", - "RecurrenceDOM", "RecurrenceDOW", "RecurrenceWOM", "RecurrenceMOY", - "RecurrenceRegenerate", "RecurrenceDeadOccur", "ReminderSet", "ReminderTime", - "Sensitivity", "StartDate", "UTCStartDate", "Subject", "CompressedRTF", "OrdinalDate", - "SubordinalDate" + "TasksBody", "TasksBodySize", "TasksBodyTruncated", "TasksCategories", "TasksCategory", + "Complete", "DateCompleted", "DueDate", "UTCDueDate", "TasksImportance", "Recurrence", + "RecurrenceType", "RecurrenceStart", "RecurrenceUntil", "RecurrenceOccurrences", + "RecurrenceInterval", "RecurrenceDOM", "RecurrenceDOW", "RecurrenceWOM", + "RecurrenceMOY", "RecurrenceRegenerate", "RecurrenceDeadOccur", "ReminderSet", + "ReminderTime", "TasksSensitivity", "StartDate", "UTCStartDate", "TasksSubject", + "TasksCompressedRTF", "OrdinalDate", "SubordinalDate" }, { // 0x0A ResolveRecipients @@ -746,10 +746,10 @@ public class Tags { { // 0x0F Search "Search", "Stores", "Store", "Name", "Query", - "Options", "Range", "Status", "Response", "Result", + "SearchOptions", "Range", "SearchStatus", "Response", "Result", "Properties", "Total", "EqualTo", "Value", "And", "Or", "FreeText", "SubstringOp", "DeepTraversal", "LongId", - "RebuildResults", "LessThan", "GreateerThan", "Schema", "Supported" + "RebuildResults", "LessThan", "GreateerThan", "Schema", "SearchSupported" }, { // 0x10 Gal @@ -759,7 +759,7 @@ public class Tags { { // 0x11 AirSyncBase "BodyPreference", "BodyPreferenceType", "BodyPreferenceTruncationSize", "AllOrNone", - "--unused--", "BaseBody", "BaseData", "BaseEstimatedDataSize", "BaseTruncated", + "--unused1--", "BaseBody", "BaseData", "BaseEstimatedDataSize", "BaseTruncated", "BaseAttachments", "BaseAttachment", "BaseDisplayName", "FileReference", "BaseMethod", "BaseContentId", "BaseContentLocation", "BaseIsInline", "BaseNativeBodyType", "BaseContentType" @@ -787,7 +787,7 @@ public class Tags { { // 0x15 ComposeMail "SendMail", "SmartForward", "SmartReply", "SaveInSentItems", "ReplaceMime", - "--unused--", "ComposeSource", "ComposeFolderId", "ComposeItemId", "ComposeLongId", + "--unused2--", "ComposeSource", "ComposeFolderId", "ComposeItemId", "ComposeLongId", "ComposeInstanceId", "ComposeMime", "ComposeClientId", "ComposeStatus", "ComposeAccountId" }, diff --git a/tests/src/com/android/exchange/adapter/FolderSyncParserTests.java b/tests/src/com/android/exchange/adapter/FolderSyncParserTests.java index 1538f995..dc5d15bb 100644 --- a/tests/src/com/android/exchange/adapter/FolderSyncParserTests.java +++ b/tests/src/com/android/exchange/adapter/FolderSyncParserTests.java @@ -17,15 +17,21 @@ package com.android.exchange.adapter; import android.content.ContentResolver; +import android.content.res.AssetManager; +import android.database.Cursor; import android.test.suitebuilder.annotation.MediumTest; import com.android.emailcommon.provider.Account; import com.android.emailcommon.provider.Mailbox; import com.android.emailcommon.service.SyncWindow; +import com.android.exchange.CommandStatusException; import com.android.exchange.EasSyncService; import com.android.exchange.provider.EmailContentSetupUtils; +import java.io.BufferedReader; import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; import java.util.HashMap; /** @@ -38,6 +44,7 @@ public class FolderSyncParserTests extends SyncAdapterTestCase<EmailSyncAdapter> // We increment this to generate unique server id's private int mServerIdCount = 0; private final long mCreationTime = System.currentTimeMillis(); + private final String[] mMailboxQueryArgs = new String[2]; public FolderSyncParserTests() { super(); @@ -204,4 +211,208 @@ public class FolderSyncParserTests extends SyncAdapterTestCase<EmailSyncAdapter> assertTrue(syncOptionsSame(boxd, boxdx)); assertTrue(syncOptionsSame(boxe, boxex)); } + + private static class MockFolderSyncParser extends FolderSyncParser { + private BufferedReader mReader; + private int mDepth = 0; + private String[] mStack = new String[32]; + private HashMap<String, Integer> mTagMap; + + + public MockFolderSyncParser(String fileName, AbstractSyncAdapter adapter) + throws IOException { + super(null, adapter); + AssetManager am = mContext.getAssets(); + InputStream is = am.open(fileName); + if (is != null) { + mReader = new BufferedReader(new InputStreamReader(is)); + } + mInUnitTest = true; + } + + private void initTagMap() { + mTagMap = new HashMap<String, Integer>(); + int pageNum = 0; + for (String[] page: Tags.pages) { + int tagNum = 5; + for (String tag: page) { + if (mTagMap.containsKey(tag)) { + System.err.println("Duplicate tag: " + tag); + } + int val = (pageNum << Tags.PAGE_SHIFT) + tagNum; + mTagMap.put(tag, val); + tagNum++; + } + pageNum++; + } + } + + private int lookupTag(String tagName) { + if (mTagMap == null) { + initTagMap(); + } + int res = mTagMap.get(tagName); + return res; + } + + private String getLine() throws IOException { + while (true) { + String line = mReader.readLine(); + if (line == null) { + return null; + } + int start = line.indexOf("| "); + if (start > 2) { + return line.substring(start + 2); + } + // Keep looking for a suitable line + } + } + + @Override + public int getValueInt() throws IOException { + return Integer.parseInt(getValue()); + } + + @Override + public String getValue() throws IOException { + String line = getLine(); + if (line == null) throw new IOException(); + int start = line.indexOf(": "); + if (start < 0) throw new IOException("Line has no value: " + line); + try { + return line.substring(start + 2).trim(); + } finally { + if (nextTag(0) != END) { + throw new IOException("Value not followed by end tag: " + name); + } + } + } + + @Override + public void skipTag() throws IOException { + if (nextTag(0) == -1) { + nextTag(0); + } + } + + @Override + public int nextTag(int endingTag) throws IOException { + String line = getLine(); + if (line == null) { + return DONE; + } + if (line.startsWith("</")) { + int end = line.indexOf('>'); + String tagName = line.substring(2, end).trim(); + if (!tagName.equals(mStack[--mDepth])) { + throw new IOException("Tag end doesn't match tag"); + } + mStack[mDepth] = null; + return END; + } else if (line.startsWith("<")) { + int end = line.indexOf('>'); + String tagName = line.substring(1, end).trim(); + mStack[mDepth++] = tagName; + tag = lookupTag(tagName); + return tag; + } else { + return -1; + } + } + } + + private Mailbox getMailboxWithName(String folderName) { + mMailboxQueryArgs[1] = folderName; + Cursor c = mResolver.query(Mailbox.CONTENT_URI, Mailbox.CONTENT_PROJECTION, + Mailbox.ACCOUNT_KEY + "=? AND " + Mailbox.DISPLAY_NAME + "=?", mMailboxQueryArgs, + null); + try { + assertTrue(c.getCount() == 1); + c.moveToFirst(); + Mailbox m = new Mailbox(); + m.restore(c); + return m; + } finally { + c.close(); + } + } + + private boolean isTopLevel(String folderName) { + Mailbox m = getMailboxWithName(folderName); + assertNotNull(m); + return m.mParentKey == Mailbox.NO_MAILBOX; + } + + private boolean isSubfolder(String parentName, String childName) { + Mailbox parent = getMailboxWithName(parentName); + Mailbox child = getMailboxWithName(childName); + assertNotNull(parent); + assertNotNull(child); + assertTrue((parent.mFlags & Mailbox.FLAG_HAS_CHILDREN) != 0); + return child.mParentKey == parent.mId; + } + + /** + * Parse a set of EAS FolderSync commands and create the Mailbox tree accordingly + * + * @param fileName the name of the file containing emaillog data for folder sync + * @throws IOException + * @throws CommandStatusException + */ + private void testComplexFolderListParse(String fileName) throws IOException, + CommandStatusException { + EasSyncService service = getTestService(); + EmailSyncAdapter adapter = new EmailSyncAdapter(service); + FolderSyncParser parser = new MockFolderSyncParser(fileName, adapter); + mAccount.save(mProviderContext); + mMailboxQueryArgs[0] = Long.toString(mAccount.mId); + parser.mAccount = mAccount; + parser.mAccountId = mAccount.mId; + parser.mAccountIdAsString = Long.toString(mAccount.mId); + parser.mContext = mProviderContext; + parser.mContentResolver = mResolver; + + parser.parse(); + + assertTrue(isTopLevel("Inbox")); + assertTrue(isSubfolder("Inbox", "Gecko")); + assertTrue(isSubfolder("Inbox", "Wombat")); + assertTrue(isSubfolder("Inbox", "Laslo")); + assertTrue(isSubfolder("Inbox", "Tomorrow")); + assertTrue(isSubfolder("Inbox", "Vader")); + assertTrue(isSubfolder("Inbox", "Personal")); + assertTrue(isSubfolder("Laslo", "Lego")); + assertTrue(isSubfolder("Tomorrow", "HomeRun")); + assertTrue(isSubfolder("Tomorrow", "Services")); + assertTrue(isSubfolder("HomeRun", "Review")); + assertTrue(isSubfolder("Vader", "Max")); + assertTrue(isSubfolder("Vader", "Parser")); + assertTrue(isSubfolder("Vader", "Scott")); + assertTrue(isSubfolder("Vader", "Surfing")); + assertTrue(isSubfolder("Max", "Thomas")); + assertTrue(isSubfolder("Personal", "Famine")); + assertTrue(isSubfolder("Personal", "Bar")); + assertTrue(isSubfolder("Personal", "Bill")); + assertTrue(isSubfolder("Personal", "Boss")); + assertTrue(isSubfolder("Personal", "Houston")); + assertTrue(isSubfolder("Personal", "Mistake")); + assertTrue(isSubfolder("Personal", "Online")); + assertTrue(isSubfolder("Personal", "Sports")); + assertTrue(isSubfolder("Famine", "Buffalo")); + assertTrue(isSubfolder("Famine", "CornedBeef")); + assertTrue(isSubfolder("Houston", "Rebar")); + assertTrue(isSubfolder("Mistake", "Intro")); + } + + // FolderSyncParserTest.txt is based on customer data (all names changed) that failed to + // properly create the Mailbox list + public void testComplexFolderListParse1() throws CommandStatusException, IOException { + testComplexFolderListParse("FolderSyncParserTest.txt"); + } + + // As above, with the order changed (putting children before parents; a more difficult case + public void testComplexFolderListParse2() throws CommandStatusException, IOException { + testComplexFolderListParse("FolderSyncParserTest2.txt"); + } } |