summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Blank <mblank@google.com>2012-01-04 21:49:33 -0800
committerMarc Blank <mblank@google.com>2012-01-04 21:49:33 -0800
commit67423171bc101157a0ca485d57d5c1b2bcb5f1de (patch)
tree74671ba7feb946accd47cccaa4dc70be4238e807
parent2a0eb57b33b0a66579a75ebe309a90a9d7fd4037 (diff)
parente71d73cbfe67063539796b4805004cc75ecfb7aa (diff)
downloadandroid_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.txt870
-rw-r--r--assets/FolderSyncParserTest2.txt870
-rw-r--r--src/com/android/exchange/adapter/FolderSyncParser.java143
-rw-r--r--src/com/android/exchange/adapter/Parser.java2
-rw-r--r--src/com/android/exchange/adapter/Tags.java28
-rw-r--r--tests/src/com/android/exchange/adapter/FolderSyncParserTests.java211
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");
+ }
}