Initial version of CrashAnalyser under EPL
authorMatti Laitinen <matti.t.laitinen@nokia.com>
Thu, 11 Feb 2010 15:06:45 +0200
changeset 0 5ad7ad99af01
child 1 1050670c6980
Initial version of CrashAnalyser under EPL
crashanalysis/crashanalyser/com.nokia.carbide.extensions.crashanalyser/build.properties
crashanalysis/crashanalyser/com.nokia.carbide.extensions.crashanalyser/feature.xml
crashanalysis/crashanalyser/com.nokia.carbide.extensions.crashanalyser/license.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/.classpath
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/CACrashAnalysis.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/CLPluginImg.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/CoreDumpLib.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/CoreDumpPlugin.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/CrashAnalyserConsole.exe
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/CrashAnalyserEngine.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/CrashItemLib.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/CrashXml.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/DExc.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/DbgEntCode.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/DbgEntKeyBindings.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/DbgEntMetaDataConfig.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/DbgEntSymbol.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/DbgEntTrace.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/MobileCrash.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/MobileCrashLib.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SLPluginMap.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SLPluginObey.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SLPluginSymbol.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SLPluginZip.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianCodeLib.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianDebugLib.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianImageLib.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianInstructionLib.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianNativeTools.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianOSTLib.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianParserLib.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianStackAlgorithmAccurate.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianStackAlgorithmBasic.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianStackAlgorithmHeuristic.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianStackLib.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianStructuresLib.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianSymbolLib.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianTraceLib.plugin.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianTree.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianUtils.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianXmlInputLib.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianZipLib.dll
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/Tools/ArmDisasm.exe
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/Tools/uputil.exe
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/META-INF/MANIFEST.MF
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/about.html
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/build.properties
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/src/com/nokia/s60tools/crashanalyser/corecomponents/interfaces/CommandLineManager.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/src/com/nokia/s60tools/crashanalyser/corecomponents/model/InputXmlGenerator.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/src/com/nokia/s60tools/crashanalyser/corecomponents/plugin/CrashAnalyserCoreComponentsPlugin.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/.classpath
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/META-INF/MANIFEST.MF
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/about.html
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/book.css
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/build.properties
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/cheatsheets/getStarted_ca_cs.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/analysis_file.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/concepts.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/how_to_analyse_crash.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/CrashVisualiser.PNG
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/Thumbs.db
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/emulator.PNG
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/file_coded.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/file_de_coded.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/file_part_coded.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/panics.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/trace.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/view_selge.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/main_view.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/mc_file.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/preferences.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/selge_vs_symbol.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/contexts.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/gs_index.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/images/Thumbs.db
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/images/about_cpp.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/images/background_carbide.jpg
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/images/brandmark_cpp.gif
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/images/gold_header.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/images/green_fade_left_68_165_28.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/intro/crashanalyser.css
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/intro/crashanalyser.gif
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/intro/crashanalyser.properties
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/intro/crashanalyser_hov.gif
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/intro/overviewCrashAnalyserExtContent.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/intro/tutorialsCrashAnalyserExtContent.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/legal.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/call_stack.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/code_segments.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/images/Thumbs.db
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/images/code_segments1.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/images/stack.1.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/images/stack.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/images/stack2.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/images/stack_int.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/references.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/registers.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/release_notes.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/browsing_error_library.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/decode_crash_files.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/enable_auto_crash_logging.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/export_crash_files.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/images/Import_page2.PNG
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/images/Thumbs.db
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/images/decode_files.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/images/decodedfilesview.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/images/file_remove.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/images/fileselection.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/images/start_wizard.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/images/view_selge.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/import_crash_files.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/tasks.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tocConcepts.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tocReferences.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tocTasks.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tool.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/toolTOC.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/plugin.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/src/com/nokia/s60tools/crashanalyser/help/HelpPlugin.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/.classpath
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/.settings/org.eclipse.jdt.core.prefs
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/.settings/org.eclipse.jdt.ui.prefs
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/META-INF/MANIFEST.MF
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/ReleaseNotes.txt
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/about.html
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/about.ini
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/about.mappings
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/about.properties
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/build.properties
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/ALLOC.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/ALLOC_COUNT.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Agenda_model.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/BAFL.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/BITGDI.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Bitmap_Utility.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/C32-fault.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/CESockIniData.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/CHWComm.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/CInSock.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/CMdaAudioOutputStream.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/CONARC.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/CONE.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/CWAPSession.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Clock.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Comm_Server.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/CommsDbServer.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/E32USER-CBase.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/EIKCOCTL.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/ESock.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/ErrorCodes.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Etel_Server.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Exceptions.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/FBSCLI.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/FSCLIENT_panic.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Form.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/HTTP_COOKIEform.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/HTTP_CORE.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/IMAPServer.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/ImageConversion.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/InSock.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Irda_Fault.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/KERN-EXEC.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/KERN.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/MATX.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/MSGS.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/MSGS_Client.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/MTMUI_Data.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/MTUI.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/PLAT_emulator.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/PLAT_generic_Kernel.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Protocol_panic.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Send.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/TCPIP.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Telephony.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/UI_Graphics.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/USER-EXEC.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/USER.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Versit-Parser.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/ViewSrv.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/W32.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/WSERV.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/eSock_fault.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/eSock_panic.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/schema.xsd
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/smlController.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/symbianPanics.txt
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/crash_analyser_16.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/crash_analyser_55_bannered.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/decode_files.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/emulator.PNG
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/error_library.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/file_coded.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/file_de_coded.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/file_part_coded.png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/selected.Png
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/plugin.properties
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/plugin.xml
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/ALLOC.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/ALLOC_COUNT.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Agenda_model.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/BAFL.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/BITGDI.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Bitmap_Utility.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/C32-fault.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/CESockIniData.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/CHWComm.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/CInSock.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/CMdaAudioOutputStream.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/CONARC.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/CONE.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/CWAPSession.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Clock.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Comm_Server.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/CommsDbServer.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/EIKCOCTL.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/ESock.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/ErrorCodesLatest.csv
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Etel_Server.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Exceptions.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/FBSCLI.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/FSCLIENT_panic.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Form.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/HTTP_COOKIEform.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/HTTP_CORE.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/IMAPServer.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/ImageConversion.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/InSock.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Irda_Fault.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/KERN-EXEC.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/KERN.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/MATX.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/MSGS.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/MSGS_Client.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/MTMUI_Data.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/MTUI.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/PLAT_emulator.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/PLAT_generic_Kernel.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Protocol_panic.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Send.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/TCPIP.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Telephony.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/UI_Graphics.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/USER-EXEC.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/USER.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Versit-Parser.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/ViewSrv.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/WSERV.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/eSock_fault.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/eSock_panic.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/smlController.htm
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/schema/fileprovider.exsd
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/schema/traceprovider.exsd
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/CodeSegment.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/ErrorLibraryError.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/EventLog.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Message.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Process.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Register.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/RegisterBit.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/RegisterDetails.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/RegisterSet.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Stack.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/StackEntry.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Summary.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Symbol.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Thread.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/data/ErrorLibrary.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/data/ErrorLibraryContentProvider.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/export/ICrashFileProvider.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/export/ITraceDataProcessor.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/export/ITraceProvider.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/files/CrashAnalyserFile.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/files/CrashFile.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/files/PanicFile.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/files/SummaryFile.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/files/UndecodedFile.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/handlers/SdkSelectionHandler.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/interfaces/IDecodingObserver.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/interfaces/IErrorLibraryObserver.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/interfaces/INewCrashFilesObserver.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/CrashFileBundle.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/CrashFileManager.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/DecoderEngine.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/DecodingData.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/EditorHandler.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/EmulatorListener.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/ErrorsViewerSorter.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/ErrorsXmlReader.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/FileExportManager.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/FileOperations.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/HtmlFormatter.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/MobileCrashImporter.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/PEBClip.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/PanicsViewerSorter.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/SourceSdkManager.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/StartupHandler.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/TraceListener.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/UserEnteredData.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/XmlUtils.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/plugin/CrashAnalyserPlugin.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/resources/HelpContextIDs.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/resources/ImageKeys.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/resources/ImageResourceManager.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/search/TextViewerFilter.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/actions/ToolbarShortcutAction.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/console/CrashAnalyserEditorConsole.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/dialogs/ErrorLibraryDialog.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/editors/AdvancedPage.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/editors/ErrorPage.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/editors/MultiPageEditor.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/editors/SummaryPage.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/editors/XmlPage.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/preferences/CrashAnalyserPreferenceConstants.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/preferences/CrashAnalyserPreferenceInitializer.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/preferences/CrashAnalyserPreferences.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/viewers/CallStackTableViewer.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/viewers/CodeSegmentsTableViewer.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/viewers/CrashAnalyserTableViewer.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/views/MainView.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/views/MainViewContentProvider.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/views/MainViewLabelProvider.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/wizards/CrashAnalyserWizard.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/wizards/FileOrPathSelectionPage.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/wizards/FilesSelectionPage.java
crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/wizards/ParameterFilesPage.java
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.carbide.extensions.crashanalyser/build.properties	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,3 @@
+bin.includes = feature.xml,\
+				license.htm,\
+				crash_analyser_16.png
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.carbide.extensions.crashanalyser/feature.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+All rights reserved.
+This component and the accompanying materials are made available
+under the terms of "Eclipse Public License v1.0"
+which accompanies this distribution, and is available
+at the URL "http://www.eclipse.org/legal/epl-v10.html".
+
+Initial Contributors:
+Nokia Corporation - initial contribution.
+
+Contributors:
+
+Description: 
+
+-->
+<feature
+      id="com.nokia.carbide.extensions.crashanalyser"
+      label="Carbide.c++ Extensions - Crash Analyser"
+      version="1.2.0"
+      provider-name="Nokia"
+      plugin="com.nokia.s60tools.crashanalyser">
+
+   <description>
+      Crash Analyser Tool is e.g. used for analysing different
+kinds of panic situations.
+   </description>
+
+   <copyright>
+      Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License: http://www.symbianfoundation.org/legal/sfl-v10.html.
+   </copyright>
+
+   <license url="license.htm">
+      Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).All
+rights reserved. This component and the accompanying materials
+are made available under the terms of the License &quot;Symbian Foundation
+License v1.0&quot; which accompanies this distribution, and is available
+at the URL &quot;http://www.symbianfoundation.org/legal/sfl-v10.html&quot;
+   </license>
+
+   <url>
+      <update label="Carbide.c++ Extensions Nokia Update Server" url="http://trwwwaps.nmp.nokia.com/programs/carbide"/>
+      <discovery label="Carbide.c++ Extensions Nokia Update Server" url="http://trwwwaps.nmp.nokia.com/programs/carbide"/>
+   </url>
+
+   <requires>
+      <import plugin="org.eclipse.ui"/>
+      <import plugin="org.eclipse.core.runtime"/>
+      <import plugin="org.eclipse.ui.ide"/>
+      <import plugin="org.eclipse.core.resources"/>
+      <import plugin="com.nokia.s60tools.ui" version="1.2.1" match="greaterOrEqual"/>
+      <import plugin="com.nokia.s60tools.sdk" version="1.1.6" match="greaterOrEqual"/>
+      <import plugin="com.nokia.s60tools.util" version="1.1.11" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.ui.editors"/>
+      <import plugin="org.eclipse.jface.text"/>
+   </requires>
+
+   <plugin
+         id="com.nokia.s60tools.crashanalyser"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="com.nokia.s60tools.crashanalyser.help"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="com.nokia.s60tools.crashanalyser.corecomponents"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.carbide.extensions.crashanalyser/license.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,5 @@
+<h2>Carbide.c++ Extensions - Crash Analyser plug-in</h2>
+
+<h3>License Information</h3>
+<p>Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. This component and the accompanying materials are made available under the terms of "Eclipse Public License v1.0" which accompanies this distribution and is available at the URL <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</p>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/.classpath	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/CACrashAnalysis.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/CLPluginImg.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/CoreDumpLib.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/CoreDumpPlugin.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/CrashAnalyserConsole.exe has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/CrashAnalyserEngine.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/CrashItemLib.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/CrashXml.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/DExc.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/DbgEntCode.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/DbgEntKeyBindings.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/DbgEntMetaDataConfig.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/DbgEntSymbol.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/DbgEntTrace.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/MobileCrash.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/MobileCrashLib.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SLPluginMap.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SLPluginObey.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SLPluginSymbol.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SLPluginZip.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianCodeLib.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianDebugLib.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianImageLib.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianInstructionLib.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianNativeTools.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianOSTLib.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianParserLib.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianStackAlgorithmAccurate.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianStackAlgorithmBasic.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianStackAlgorithmHeuristic.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianStackLib.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianStructuresLib.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianSymbolLib.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianTraceLib.plugin.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianTree.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianUtils.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianXmlInputLib.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/SymbianZipLib.dll has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/Tools/ArmDisasm.exe has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/Binaries/Tools/uputil.exe has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/META-INF/MANIFEST.MF	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Carbide.c++ Extensions - Crash Analyser Core  Components
+Bundle-SymbolicName: com.nokia.s60tools.crashanalyser.corecomponents
+Bundle-Version: 1.2.0
+Bundle-Activator: com.nokia.s60tools.crashanalyser.corecomponents.plugin.CrashAnalyserCoreComponentsPlugin
+Bundle-Vendor: Nokia
+Require-Bundle: org.eclipse.core.runtime
+Eclipse-LazyStart: true
+Export-Package: com.nokia.s60tools.crashanalyser.corecomponents.interfaces;x-friends:="com.nokia.s60tools.crashanalyser"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/about.html	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body>
+
+<h2>About This Content</h2>
+ 
+<p>February 4, 2009</p>	
+
+<h3>Copyright</h3>
+<p>Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. This component and the accompanying materials are made available under the terms of "Eclipse Public License v1.0" which accompanies this distribution and is available at the URL <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/build.properties	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,11 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               Binaries/,\
+               about.html
+javacSource=1.5
+javacTarget=1.5
+ant.build.javac.target=1.5
+ant.build.javac.source=1.5
+  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/src/com/nokia/s60tools/crashanalyser/corecomponents/interfaces/CommandLineManager.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,275 @@
+/*
+ * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+package com.nokia.s60tools.crashanalyser.corecomponents.interfaces;
+
+import com.nokia.s60tools.crashanalyser.corecomponents.model.*;
+import com.nokia.s60tools.crashanalyser.corecomponents.model.InputXmlGenerator.XMLGeneratorAction;
+import com.nokia.s60tools.crashanalyser.corecomponents.plugin.*;
+import java.io.*;
+import java.util.*;
+import org.eclipse.core.runtime.IProgressMonitor;
+
+/**
+ * This class is used for running CrashAnalyser.exe
+ * 
+ */
+public final class CommandLineManager {
+
+	private static final String ACTION_START_TAG = "} START - ";
+
+	/**
+	 * Verbose output
+	 */
+	static final boolean verbose = false;
+
+	/**
+	 * Progress detailed output
+	 */
+	static final boolean progress_detailed = false;
+
+	static final String PARAMETERS_XML = "parameters.xml";
+	static final String EXE_FOLDER = "Binaries";
+	static final String COMMAND_LINE_COMMAND = "CrashAnalyserConsole.exe\" -plugin CRASH_ANALYSIS -input ";
+	static final String PROGRESS_PARAMETER = " -PROGRESS";
+	static final String PROGRESS_DETAILS_PARAMETER = " -PROGRESS_DETAILS";
+	static final String VERBOSE_PARAMETER = " -V";
+
+	private CommandLineManager() {
+		// not meant to be implemented
+	}
+
+	/**
+	 * Executes CrashAnalyser.exe with Full data (i.e. creates an XML file from
+	 * e.g. MobileCrash.bin witht symbol etc. information)
+	 * 
+	 * @param outputFolder
+	 *            where output files are created
+	 * @param crashFiles
+	 *            files to be decoded
+	 * @param symbolFiles
+	 *            paths to symbol files (or null)
+	 * @param mapFilesFolder
+	 *            folder which contains map files (or null)
+	 * @param imageFiles
+	 *            paths to image files (or null)
+	 * @param fileExtension
+	 *            E.g. crashxml (not .crashxml)
+	 * @param failedFileExtension
+	 *            extension for failed files
+	 * @param selgeEventIniFile
+	 *            location of selge_event.ini
+	 * @param monitor
+	 *            for progress bar
+	 * @return true if success, false if not
+	 */
+	public static boolean executeFullAnalysis(String outputFolder,
+			String[] crashFiles, String[] symbolFiles, String mapFilesFolder,
+			String[] imageFiles, String fileExtension,
+			String failedFileExtension, String selgeEventIniFile,
+			IProgressMonitor monitor) {
+		List<String> debugMetadataFiles = new ArrayList<String>();
+
+		// collect symbol files if any provided
+		if (symbolFiles != null && symbolFiles.length > 0) {
+			for (int i = 0; i < symbolFiles.length; i++)
+				debugMetadataFiles.add(symbolFiles[i]);
+		}
+
+		// collect image files if any provided
+		if (imageFiles != null && imageFiles.length > 0) {
+			for (int i = 0; i < imageFiles.length; i++)
+				debugMetadataFiles.add(imageFiles[i]);
+		}
+
+		String[] debugMetadata = null;
+		if (!debugMetadataFiles.isEmpty())
+			debugMetadata = debugMetadataFiles
+					.toArray(new String[debugMetadataFiles.size()]);
+
+		String mapFolder = mapFilesFolder;
+		if (mapFilesFolder != null && "".equals(mapFilesFolder))
+			mapFolder = null;
+
+		InputXmlGenerator xml = new InputXmlGenerator(
+				XMLGeneratorAction.ANALYSE_CRASH_FULL, crashFiles, null,
+				debugMetadata, mapFolder, null, null, outputFolder, "."
+						+ fileExtension, "." + failedFileExtension,
+				selgeEventIniFile);
+		return createAndExecute(xml, monitor);
+	}
+
+	/**
+	 * Executes CrashAnalyser.exe with Summary data (i.e. creates quickly an XML
+	 * file from e.g. MobileCrash.bin without symbol etc. information)
+	 * 
+	 * @param outputFolder
+	 *            where output files are created
+	 * @param fileOrFolder
+	 *            file to be "decoded" or directory from which files are to be
+	 *            decoded
+	 * @param fileExtension
+	 *            E.g. xml (not .xml)
+	 * @param monitor
+	 *            Progress monitor
+	 * @return true if success, false if not
+	 */
+	public static boolean executeSummary(String outputFolder,
+			String fileOrFolder, String fileExtension, IProgressMonitor monitor) {
+		File file = new File(fileOrFolder);
+		// directory was given
+		if (file.isDirectory()) {
+			InputXmlGenerator xml = new InputXmlGenerator(
+					XMLGeneratorAction.ANALYSE_CRASH_SUMMARY, null,
+					fileOrFolder, null, null, null, null, outputFolder, "."
+							+ fileExtension, null, "");
+			return createAndExecute(xml, monitor);
+			// a single file was given
+		} else if (file.isFile()) {
+			InputXmlGenerator xml = new InputXmlGenerator(
+					XMLGeneratorAction.ANALYSE_CRASH_SUMMARY,
+					new String[] { fileOrFolder }, null, null, null, null,
+					null, outputFolder, "." + fileExtension, null, "");
+			return createAndExecute(xml, monitor);
+		}
+		return false;
+	}
+
+	/**
+	 * creates an input.xml for CrashAnalyser.exe and executes CrashAnalyser.exe
+	 * 
+	 * @param xml
+	 *            initialized xml generator
+	 * @param monitor
+	 *            Progress monitor
+	 * @return true if success, false if not
+	 */
+	private static boolean createAndExecute(InputXmlGenerator xml,
+			IProgressMonitor monitor) {
+		String workingDirectory = getCrashAnalyserPath();
+		String fileName = workingDirectory + PARAMETERS_XML;
+		File filename = new File(fileName);
+		BufferedWriter writer = null;
+		try {
+			writer = new BufferedWriter(new FileWriter(filename));
+			// create input.xml for CrashAnalyser.exe
+			xml.GenerateXML(writer);
+
+		} catch (IOException e) {
+			e.printStackTrace();
+			return false;
+		} finally {
+			try {
+				if (writer != null) {
+					writer.flush();
+					writer.close();
+				}
+			} catch (IOException ex) {
+				ex.printStackTrace();
+			}
+		}
+
+		try {
+			String commandLineCommand = "\"" + workingDirectory
+					+ COMMAND_LINE_COMMAND + PARAMETERS_XML;
+			if (monitor != null)
+				if (progress_detailed) {
+					commandLineCommand += PROGRESS_DETAILS_PARAMETER;
+				} else {
+					commandLineCommand += PROGRESS_PARAMETER;
+				}
+
+			if (verbose)
+				commandLineCommand += VERBOSE_PARAMETER;
+
+			// execute CrashAnalyser.exe
+			Process p = Runtime.getRuntime().exec(commandLineCommand, null,
+					new File(workingDirectory));
+			// Get the input stream and read from it
+
+			FileWriter fstream = new FileWriter(workingDirectory + "log.txt");
+			BufferedWriter out = new BufferedWriter(fstream);
+			int c;
+			String line = "";
+			InputStream in = p.getInputStream();
+			boolean monitorStarted = false;
+			while ((c = in.read()) != -1) {
+				if ((char) c == '\n' || (char) c == '\r') {
+					if (line.contains(ACTION_START_TAG)) {
+						int beginIndex = line.indexOf(ACTION_START_TAG)
+								+ ACTION_START_TAG.length();
+						String action = line.substring(beginIndex);
+						if (!line.contains("/???") && !monitorStarted) {
+							int beginOfIndexOfActionsNbr = line.indexOf("/") + 1;
+							int endOfIndexOfActionsNbr = line.indexOf("}",
+									beginOfIndexOfActionsNbr);
+							Integer nbrOfActions = 0;
+							try {
+								nbrOfActions = Integer.valueOf((line.substring(
+										beginOfIndexOfActionsNbr,
+										endOfIndexOfActionsNbr)));
+							} catch (NumberFormatException e) {
+								nbrOfActions = -1;
+							}
+							if (nbrOfActions == -1) {
+								monitor.beginTask(action,
+										IProgressMonitor.UNKNOWN);
+							} else {
+								monitor.beginTask(action, nbrOfActions
+										.intValue());
+							}
+							monitorStarted = true;
+							monitor.worked(1);
+						} else {
+							if (monitorStarted) {
+								monitor.setTaskName(action);
+								monitor.worked(1);
+							}
+						}
+					}
+					line = "";
+				} else {
+					line += (char) c;
+				}
+				out.write((char) c);
+			}
+			in.close();
+			out.close();
+			monitor.done();
+		} catch (Exception e) {
+			e.printStackTrace();
+			return false;
+		}
+
+		return true;
+
+	}
+
+	/**
+	 * Gets the path where CrashAnalyser.exe is located
+	 * 
+	 * @return the path where CrashAnalyser.exe is located
+	 */
+	private static String getCrashAnalyserPath() {
+		String crashAnalyserExePath = CrashAnalyserCoreComponentsPlugin
+				.getPluginInstallPath();
+		if (!crashAnalyserExePath.endsWith(File.separator))
+			crashAnalyserExePath += File.separator;
+		crashAnalyserExePath += EXE_FOLDER + File.separator;
+		return crashAnalyserExePath;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/src/com/nokia/s60tools/crashanalyser/corecomponents/model/InputXmlGenerator.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,539 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.corecomponents.model;
+
+import java.io.BufferedWriter;
+import java.io.IOException;
+
+/**
+ * InputXmlGenerator.
+ * XML file generator that writes configuration XML-files for Heap Analyser and 
+ * Crash Analyser based on parameters it has received.
+ * 
+ * InputXmlGenerator can be used for example like this:
+ * <PRE>
+ * InputXmlGenerator generator = new InputXmlGenerator(XMLGeneratorAction.ANALYSE_HEAP, "c:\\temp\\source.txt", "c:\\directory\\", null, null, "thread", "c:\\temp\\output.xls", null, null);
+ * File filename = new File("c:\\temp\\testxml.xml");
+ * BufferedWriter writer = null;
+ * 	try {
+ * 		writer = new BufferedWriter(new FileWriter(filename)); 
+ * 		generator.GenerateXML(writer);
+ * 	} catch (IOException e) {
+ * 		e.printStackTrace();
+ * 	} 
+ * 	finally {
+ *  	try {
+ *   		if (writer != null) {
+ *   			writer.flush();
+ *   			writer.close();
+ *   		}
+ *  	} 
+ *  	catch (IOException ex) {
+ *  		ex.printStackTrace();
+ *  		return false;
+ *  	}
+ *  }
+ *  </PRE>
+ */
+
+public class InputXmlGenerator {
+	public enum XMLGeneratorAction {
+		ANALYSE_HEAP, COMPARE_HEAPS, ANALYSE_CRASH_SUMMARY, ANALYSE_CRASH_FULL 
+	}
+	
+	private XMLGeneratorAction 	XMLAction;
+	private String[] 			XMLSourceFile;
+	private String 				XMLSourceDirectory;
+	private String[] 			XMLDebugMetaDataFile;
+	private String 				XMLDebugMetaDataDirectory;
+	private String 				XMLThreadName;
+	private String 				XMLExtension;
+	private String				XMLFailedExtension;
+	private String 				XMLAnalyseFileOutput;
+	private String 				XMLAnalyseDirectoryOutput;	
+	private String				XMLSelgeEventIniFile;
+
+	//Commands for XML
+	
+	private final static String COMMAND_VIEWER 			= "Viewer";
+	private final static String COMMAND_COMPARE_HEAPS 	= "CompareTwoHeaps";
+	private final static String COMMAND_SUMMARY 		= "Summary";
+	private final static String COMMAND_FULL_ANALYSIS	= "Full";
+	
+	// XML-tags
+
+	private final static String CRASH_ANALYSER_START 	= "<crash_analysis>";
+	private final static String CRASH_ANALYSER_END 		= "</crash_analysis>";
+
+	private final static String HEAP_ANALYSER_START 	= "<heap_analysis>";
+	private final static String HEAP_ANALYSER_END 		= "</heap_analysis>";
+
+	private final static String SOURCE_START 			= "  <category name=\"source\">";
+	private final static String SOURCE_END 				= "  </category>";
+
+	private final static String DEBUG_META_DATA_START 	= "  <category name=\"debug_meta_data\">";
+	private final static String DEBUG_META_DATA_END 	= "  </category>";
+
+	private final static String FILE_START 				= "    <file name=\"";
+	private final static String FILE_END 				= "\"/>";
+
+	private final static String DIRECTORY_START 		= "    <directory name=\"";
+	private final static String DIRECTORY_END 			= "\"/>";
+	
+	private final static String PARAMETERS_START 		= "  <category name=\"parameters\">";
+	private final static String PARAMETERS_END 			= "  </category>";
+
+	private final static String THREAD_START 			= "<thread>";
+	private final static String THREAD_END 				= "</thread>";
+
+	private final static String COMMAND_START 			= "    <command name=\"analysis_type\">";
+	private final static String COMMAND_END 			= "</command>";
+
+	private final static String OUTPUT_START 			= "  <category name=\"output\">";
+	private final static String OUTPUT_END 				= "  </category>";
+	
+	private final static String EXTENSION_START 		= "    <extension name=\"";
+	private final static String EXTENSION_FAILED		= "\" type=\"failed";
+	private final static String EXTENSION_END 			= "\"/>";
+	
+	/**
+	 * XMLGenerator()
+	 * Constructor
+	 */
+	public InputXmlGenerator() {
+		
+		XMLAction					= null;
+		XMLSourceFile 				= null;
+		XMLSourceDirectory			= null;
+		XMLDebugMetaDataFile 		= null;
+		XMLDebugMetaDataDirectory 	= null;
+		XMLThreadName 				= null;
+		XMLAnalyseFileOutput 		= null;
+		XMLExtension				= null;
+		XMLFailedExtension			= null;
+	
+	}
+
+	/**
+	 * AnalyserXMLGenerator()
+	 * Constructor for XMLGenerator
+	 *
+	 * @param action 
+	 * @param sourceFile file that is added into <source> -section under <file> -tag
+	 * @param sourceDirectory directory that is added into <source> -section under <Directory> -tag
+	 * @param debugMetaDataFile file that is added into <debug_meta_data> -section under <file> -tag
+	 * @param debugMetaDataDirectory directory that is added into <debug_meta_data> -section under <Directory> -tag
+	 * @param threadName thread name that is added into <parameters> -section under <thread> -tag
+	 * @param analyseFileOutput file name that is added into <output> -section under <file> -tag
+ 	 * @param analyseDirectoryOutput directory name that is added into <output> -section under <directory> -tag
+	 * @param extension extension text that is is added into <parameters> -section under <extension> -tag
+	 * @param failedExtension extension text that is is added into <parameters> -section under <extension> -tag
+	 */
+	public InputXmlGenerator( XMLGeneratorAction action,
+								 String[] sourceFile, 
+								 String sourceDirectory,
+								 String[] debugMetaDataFile, 
+								 String debugMetaDataDirectory, 
+								 String threadName, 
+								 String analyseFileOutput,
+								 String analyseDirectoryOutput,
+								 String extension,
+								 String failedExtension,
+								 String selgeEventIniFile) { 
+		
+		XMLAction					= action;
+		XMLSourceFile 				= sourceFile;
+		XMLSourceDirectory			= sourceDirectory;
+		XMLDebugMetaDataFile 		= debugMetaDataFile;
+		XMLDebugMetaDataDirectory	= debugMetaDataDirectory;
+		XMLThreadName 				= threadName;
+		XMLAnalyseFileOutput 		= analyseFileOutput;
+		XMLAnalyseDirectoryOutput	= analyseDirectoryOutput;
+		XMLExtension				= extension;
+		XMLFailedExtension			= failedExtension;
+		XMLSelgeEventIniFile		= selgeEventIniFile;
+	}
+	
+	/**
+	 * GenerateXML()
+	 * Writes XML file.
+	 * @param writer BufferedWriter stream where XML is written. 
+	 * @throws IOException if something goes when writing to stream 
+	 */
+	public void GenerateXML( BufferedWriter writer ) throws IOException{
+		if( XMLAction != null )	{
+			// Begin XML
+			switch( XMLAction ){
+				case ANALYSE_CRASH_FULL:
+				case ANALYSE_CRASH_SUMMARY:
+					writer.write(CRASH_ANALYSER_START);
+					break;
+				case ANALYSE_HEAP:
+				case COMPARE_HEAPS:
+					writer.write(HEAP_ANALYSER_START);
+					break;
+				default:
+					break;
+			}
+					
+			writer.newLine();
+			writer.newLine();
+		}	
+		// Write Sources
+		this.writeSource(writer);
+		
+		// Write debug meta data
+		this.writeDebugMetaData(writer);
+		
+		// Write parameters
+		this.writeParameters(writer);
+		
+		// Write output location
+		this.writeOutput(writer);
+		
+		// End XML
+		if( XMLAction != null )	{
+			switch(XMLAction){
+				case ANALYSE_CRASH_SUMMARY:
+				case ANALYSE_CRASH_FULL:
+					writer.write(CRASH_ANALYSER_END);
+					break;
+				case ANALYSE_HEAP:
+				case COMPARE_HEAPS:
+					writer.write(HEAP_ANALYSER_END);
+					break;
+				default:
+					break;
+			}
+			writer.newLine();
+		}
+	}
+
+	/**
+	 * writeSource()
+	 * Writes <source> - parameters
+	 * @param writer BufferedWriter stream where XML is written. 
+	 */
+	private void writeSource( BufferedWriter writer ) throws IOException{
+		
+		
+		// Start Source definition
+		writer.write(SOURCE_START);
+		writer.newLine();
+	
+		if( XMLSourceFile != null ){
+			// File Definition
+			for(int i = 0; i < XMLSourceFile.length; i++ ){
+				writer.write( FILE_START );
+				writer.write( XMLSourceFile[i] );
+				writer.write( FILE_END );
+				writer.newLine();
+			}
+		}
+		if( XMLSourceDirectory != null ) {
+			writer.write( DIRECTORY_START );
+			writer.write( XMLSourceDirectory );
+			writer.write( DIRECTORY_END );
+			writer.newLine();
+		}
+		
+		// End Source definition
+		writer.write(SOURCE_END);
+		writer.newLine();
+		writer.newLine();
+	}
+	
+	/**
+	 * writeDebugMetaData()
+	 * Writes <debug_meta_data> - parameters
+	 * @param writer BufferedWriter stream where XML is written. 
+	 * @throws IOException
+	 */
+	private void writeDebugMetaData( BufferedWriter writer ) throws IOException{
+		// Start Debug meta data definition
+	
+		if( XMLDebugMetaDataFile != null || 
+			XMLDebugMetaDataDirectory != null ){
+		
+			writer.write(DEBUG_META_DATA_START);
+			writer.newLine();
+			
+			// File Definition
+			if( XMLDebugMetaDataFile != null ){
+				for(int i = 0; i < XMLDebugMetaDataFile.length; i++ ){
+					writer.write( FILE_START );
+					writer.write( XMLDebugMetaDataFile[i] );
+					writer.write( FILE_END );
+					writer.newLine();
+				}
+			}			
+			if( XMLDebugMetaDataDirectory != null ) {
+				writer.write( DIRECTORY_START );
+				writer.write( XMLDebugMetaDataDirectory );
+				writer.write( DIRECTORY_END );
+				writer.newLine();
+			}
+			if (!"".equals(XMLSelgeEventIniFile)) {
+				writer.write( FILE_START );
+				writer.write( XMLSelgeEventIniFile );
+				writer.write( FILE_END );
+				writer.newLine();
+			}
+			
+			// End Debug meta data definition
+			writer.write(DEBUG_META_DATA_END);
+			writer.newLine();
+			writer.newLine();
+		}
+	}
+	
+	/**
+	 * writeParameters(
+	 * Writes <parameters> - parameters
+	 * @param writer BufferedWriter stream where XML is written. 
+	 * @throws IOException
+	 */
+	private void writeParameters( BufferedWriter writer ) throws IOException {
+	
+		if( XMLThreadName != null || XMLAction != null || XMLExtension != null){
+		
+			// Start parameter definition
+			writer.write(PARAMETERS_START);
+			writer.newLine();
+			
+			if( XMLThreadName != null ){
+				// Add thread info 
+				writer.write( THREAD_START );
+				writer.write( XMLThreadName );
+				writer.write( THREAD_END );
+				writer.newLine();				
+				
+			}	
+		
+			if( XMLAction != null ){
+				// Command
+				
+				writer.write(COMMAND_START);
+		
+				// Begin XML
+				switch(XMLAction){
+					case ANALYSE_CRASH_SUMMARY:
+						writer.write(COMMAND_SUMMARY);
+						break;
+					case ANALYSE_CRASH_FULL:
+						writer.write(COMMAND_FULL_ANALYSIS);
+						break;
+					case ANALYSE_HEAP:
+						writer.write(COMMAND_VIEWER);
+						break;
+					case COMPARE_HEAPS:
+						writer.write(COMMAND_COMPARE_HEAPS);
+						break;
+					default:
+						break;
+				}		
+				writer.write(COMMAND_END);
+				writer.newLine();
+			}			
+			
+			if( XMLExtension != null ){
+				// extension
+				writer.write( EXTENSION_START );
+				writer.write( XMLExtension );
+				writer.write( EXTENSION_END );
+				writer.newLine();
+			}
+			
+			if (XMLFailedExtension != null) {
+				// failed extension
+				writer.write( EXTENSION_START );
+				writer.write( XMLFailedExtension );
+				writer.write( EXTENSION_FAILED );
+				writer.write( EXTENSION_END );
+				writer.newLine();
+			}
+			
+			// End parameter definition
+			writer.write(PARAMETERS_END);
+			writer.newLine();
+			writer.newLine();
+		}		
+	}
+	
+	/**
+	 * Writes <output> - parameters
+	 * @param writer BufferedWriter stream where XML is written. 
+	 * @throws IOException
+	 */
+	private void writeOutput( BufferedWriter writer ) throws IOException{
+	
+		if( XMLAnalyseFileOutput != null || XMLAnalyseDirectoryOutput != null ){
+			writer.write(OUTPUT_START);
+			writer.newLine();
+			
+			// Output file
+			if( XMLAnalyseFileOutput != null ){
+				writer.write(FILE_START);
+				writer.write(XMLAnalyseFileOutput);
+				writer.write(FILE_END);
+				writer.newLine();
+			}
+			// Output directory
+			if( XMLAnalyseDirectoryOutput != null ) {
+				writer.write(DIRECTORY_START);
+				writer.write(XMLAnalyseDirectoryOutput);
+				writer.write(DIRECTORY_END);
+				writer.newLine();
+			}
+		
+			writer.write(OUTPUT_END);
+			writer.newLine();
+			writer.newLine();
+		
+			
+		}
+	}
+	
+	/* Getters and setters for private variables */
+	
+	/**
+	 * @return XMLSourceFile
+	 */
+	public String[] getXMLSourceFile() {
+		return XMLSourceFile;
+	}
+
+	/**
+	 * @param sourceFile the XMLSourceFile to set
+	 */
+	public void setXMLSourceFile(String[] sourceFile) {
+		XMLSourceFile = sourceFile;
+	}
+
+	/**
+	 * @return XMLDebugMetaDataFile
+	 */
+	public String[] getXMLDebugMetaDataFile() {
+		return XMLDebugMetaDataFile;
+	}
+
+	/**
+	 * @param debugMetaDataFile the XMLDebugMetaDataFile to set
+	 */
+	public void setXMLDebugMetaDataFile(String[] debugMetaDataFile) {
+		XMLDebugMetaDataFile = debugMetaDataFile;
+	}
+
+	/**
+	 * @return XMLThreadName
+	 */
+	public String getXMLThreadName() {
+		return XMLThreadName;
+	}
+
+	/**
+	 * @param threadName the XMLThreadName to set
+	 */
+	public void setXMLThreadName(String threadName) {
+		XMLThreadName = threadName;
+	}
+
+	/**
+	 * @return XMLAnalyseFileOutput
+	 */
+	public String getXMLAnalyseFileOutput() {
+		return XMLAnalyseFileOutput;
+	}
+
+	/**
+	 * @param analyseFileOutpu the XMLAnalyseFileOutput to set
+	 */
+	public void setXMLAnalyseFileOutput(String analysefileOutput) {
+		XMLAnalyseFileOutput = analysefileOutput;
+	}
+
+	/**
+	 * @return XMLAction
+	 */
+	public XMLGeneratorAction getXMLAction() {
+		return XMLAction;
+	}
+	
+	/**
+	 * @param action the XMLGeneratorAction to set
+	 */
+	public void setXMLAction(XMLGeneratorAction action) {
+		XMLAction = action;
+	}
+
+	/**
+	 * @return XMLSourceDirectory
+	 */
+	public String getXMLSourceDirectory() {
+		return XMLSourceDirectory;
+	}
+
+	/**
+	 * @param sourceDirectory the XMLSourceDirectory to set
+	 */
+	public void setXMLSourceDirectory(String sourceDirectory) {
+		XMLSourceDirectory = sourceDirectory;
+	}
+
+	/**
+	 * @return XMLDebugMetaDataDirectory
+	 */
+	public String getXMLDebugMetaDataDirectory() {
+		return XMLDebugMetaDataDirectory;
+	}
+
+	/**
+	 * @param debugMetaDataDirectory the XMLDebugMetaDataDirectory to set
+	 */
+	public void setXMLDebugMetaDataDirectory(String debugMetaDataDirectory) {
+		XMLDebugMetaDataDirectory = debugMetaDataDirectory;
+	}
+
+	/**
+	 * @return XMLExtension
+	 */
+	public String getXMLExtension() {
+		return XMLExtension;
+	}
+
+	/**
+	 * @param extension the XMLExtension to set
+	 */
+	public void setXMLExtension(String extension) {
+		XMLExtension = extension;
+	}
+
+	/**
+	 * @return XMLAnalyseDirectoryOutput
+	 */
+	public String getXMLAnalyseDirectoryOutput() {
+		return XMLAnalyseDirectoryOutput;
+	}
+
+	/**
+	 * @param analyseDirectoryOutput the XMLAnalyseDirectoryOutput to set
+	 */
+	public void setXMLAnalyseDirectoryOutput(String analyseDirectoryOutput) {
+		XMLAnalyseDirectoryOutput = analyseDirectoryOutput;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.corecomponents/src/com/nokia/s60tools/crashanalyser/corecomponents/plugin/CrashAnalyserCoreComponentsPlugin.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.corecomponents.plugin;
+
+import java.io.File;
+import java.net.URL;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class CrashAnalyserCoreComponentsPlugin extends Plugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "com.nokia.s60tools.crashanalyser.corecomponents";
+	private String pluginInstallPath = ""; //$NON-NLS-1$
+	
+	// The shared instance
+	private static CrashAnalyserCoreComponentsPlugin plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public CrashAnalyserCoreComponentsPlugin() {
+		// No implementation needed
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static CrashAnalyserCoreComponentsPlugin getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * Returns the path where this plugin is installed
+	 * @return the path where this plugin is installed
+	 */
+	public static String getPluginInstallPath() {
+		try {
+			if ("".equals(plugin.pluginInstallPath)) { //$NON-NLS-1$
+				 // URL to the plugin's root ("/")
+				URL relativeURL = plugin.getBundle().getEntry("/"); //$NON-NLS-1$
+				//	Converting into local path
+				URL localURL = FileLocator.toFileURL(relativeURL);
+				//	Getting install location in correct form
+				File f = new File(localURL.getPath());
+				plugin.pluginInstallPath = f.getAbsolutePath();
+			}
+			return plugin.pluginInstallPath;
+		} catch (Exception e) {
+			return ""; //$NON-NLS-1$
+		}
+	}	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/.classpath	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/META-INF/MANIFEST.MF	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,9 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Carbide.c++ Extensions - Crash Analyser Help Plug-in
+Bundle-SymbolicName: com.nokia.s60tools.crashanalyser.help;singleton:=true
+Bundle-Version: 1.2.0
+Bundle-Vendor: Nokia
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime
+Eclipse-LazyStart: true
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/about.html	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+</head>
+<body>
+
+<h2>About This Content</h2>
+<p>November 20, 2009</p>
+
+<h3>Copyright</h3>
+<p>Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.<br>
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.<p>
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/book.css	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,184 @@
+/*	
+	Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+	All rights reserved. 
+	License: http://www.eclipse.org/legal/epl-v10.html
+*/
+
+/*	Add whitespace around entire display to avoid crowding edges of view 	*/
+/* 	20070523-Removed top margin size to close gap between location breadcrumbs and page title	*/
+html {
+	margin: 2px 10px 10px 10px;
+	}
+
+/* 	Set default font to serif style, 12-pt and plain	*/
+body, p, table {
+	font-family: Verdana, Helvetica, Arial, sans-serif;
+	font-size: 13px;
+	font-weight: normal;
+}
+
+/*	Use sans-serif fonts for all title styles	*/
+h1, h2, h3, h4, h5, h6, strong, em {
+	font-family: Verdana, Helvetica, Arial, sans-serif;
+	color: #000000;	
+	}
+
+h1	{ font-size:20px }
+h2	{ font-size:18px }
+h3	{ font-size:16px }
+h4	{ font-size:14px }
+h5	{ font-size:13px }
+h6	{ font-size:12px }
+
+/*	For headlines at the top of a view, add space	*/
+/*	20090224-changed green fade to gold header image	*/
+h1, h2, h3 {
+	background-image: url(html/images/gold_header.png);
+	background-repeat: no-repeat;
+	padding:10px 0px 10px 12px;	
+	}
+
+li	{
+	margin-bottom:8px;	
+	margin-top:8px;
+	}
+
+/*	Footer includes space and a gray line above the company logo	*/
+#footer {
+	padding-top:10px;
+	margin-top:20px;
+	border-top:1px solid #999;
+	font-family: Helvetica, sans-serif;
+	font-size: 11px;
+	color:#333;
+	}
+
+.listing	{
+	font-family: "Courier New", Courier, mono;
+	color: #000000;
+	background-color: #FFFFCC;
+	margin: 5px 0px;
+	}
+		
+.code, pre	{
+	font-family: "Courier New", Courier, mono;
+	font-size: 13px;
+	color: #000000;
+	}
+
+.step	{
+	/* background-color: #EEE; */
+	/* margin: 10px 0px; */
+	/* color: #111; */
+	/* border-bottom:2px solid #EEE; */
+	}
+	
+.substep	{
+	background-color: #EEE;
+	}
+	
+	
+/*	Figure/Listing/Table titles are centered and gray	*/
+p.table {
+	color: #999;
+	font-weight: bold;
+	padding-top: 5px;
+	}
+
+table	{
+	border: solid #999 1px;
+	table-layout: auto;
+	font-size: 13px;
+	}
+
+td, th	{
+	border: solid #999 1px;
+	padding: 5px;
+	vertical-align:top;
+	}
+	
+/*	20070522-replaced gray with green background to match gradiant color for title	*/
+th	{
+	background-color:#FFC550;	/* background-color:#acd79b;
+	background-color:#999;
+	color:#FFF; */
+	}
+
+div.ol.p	{
+	margin-left: 3em;
+	}
+
+/* Make all ordered/unordered list items appear in bold gray */
+div ol > li, div ul > li {
+	font-weight:bold;
+	color: #333;
+	}
+
+div ol > p, div ul > p, div li > p {
+	font-weight:normal;
+	}
+	
+/* Make all H4 and H5 items appear in bold gray against a light green background */
+div h5, div h4	{
+	padding:5px 0px 5px 12px;
+	background-color:#FDCB2F;
+	/* background-color: #EEE; */
+	font-weight:bold;
+	color: #000000;
+	}
+	
+	
+/*	Notes stand out using a light top & bottom borders with dark gray text	*/
+p.note {
+	/* color: #03C; */
+	/* background-color: #FFFF99; */
+	color: #333;
+	padding: 5px;
+	margin-left: 1em;
+	margin-right: 1em;
+	border-top: solid #BBB thin;
+	border-bottom: solid #BBB thin;
+	}
+
+	
+/*	Figure/Listing/Table titles are centered and gray	*/
+p.figure {
+	color: #333;
+	text-align: center;
+	font-weight: bold;
+	}
+
+/*	highly visible red background and white text for things that need fixing before release	*/
+/*  SHOULD NOT BE PRESENT IN RELEASED PRODUCTS */
+.fix	{
+	background-color: red;
+	font-weight: bold;
+	color: white;
+	}
+
+.question	{
+	font-style:italic;
+	font-weight:bold;
+	color: #555;
+	}
+	
+.titleSmall {
+	font-family: Helvetica, sans-serif;
+	font-size: 11px;
+	}
+
+	
+.plain {
+	font-family: Helvetica, sans-serif;
+	font-size: 12px;
+	font-style: normal;
+	line-height: normal;
+	font-weight: normal;
+	font-variant: normal;
+	color: #000000;
+	text-decoration: none;
+	}
+
+a:link 		{ color: #0033CC }
+a:visited	{ color: #555555 }
+a:hover 	{ color: #0033CC }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/build.properties	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,12 @@
+################################################################################
+# Copyright ©2006 Nokia Corporation. All rights reserved.	
+################################################################################
+source.. = src/
+output.. = bin/
+bin.includes = plugin.xml,\
+               META-INF/,\
+               .,\
+               html/,\
+               *.xml,\
+               about.html,\
+               book.css
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/cheatsheets/getStarted_ca_cs.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<cheatsheet title="CrashAnalyser Quick Start Guide: Capturing and analysing crash data">
+   <intro>
+      <description>
+         This tutorial gives instructions on how to capture and analyse crashes that occur in the mobile device using the CrashAnalyser Carbide.c++ Extension. 
+<br/><br/>
+You can obtain crash data in two ways:
+<br/>
+- by retrieving the files manually and transferring them to the PC
+<br/>
+- by using TraceViewer to automatically transfer the files. 
+<br/><br/>To open a related help page, click the question mark icon at the end of the task title row.
+      </description>
+   </intro>
+<item
+         dialog="false"
+         skip="true"
+         title="(Optional) Obtain the crash files from your device manually">
+      <description>
+         A mobilecrash file is generated to the root of the memory card or the C: directory.
+<br/><br/>
+These files are in binary format and need to be moved to your PC and decoded into readable format before you can analyse what caused the crash. 
+<br/><br/>
+To transfer the files to your PC, you can:  
+<br/><br/>
+- Use USB or Bluetooth connection.
+<br/>
+- Send the file as a message from the device by using the FileBrowser tool.
+<br/>
+- Use a file transfer utility (for example, PC Suite or similar).
+      </description>
+   </item>
+   <item
+         dialog="false"
+         href="/com.nokia.s60tools.crashanalyser.help/html/tasks/enable_auto_crash_logging.htm"
+         skip="true"
+         title="(Optional) Capture crash data with TraceViewer">
+      <description>
+         A faster way to capture crash data from the device to the PC is by using traces.
+<br/><br/>
+To use this option, enable TraceViewer in CrashAnalyser&apos;s Preferences. (It is enabled by default.) 
+<br/><br/>
+When activated, TraceViewer will automatically &quot;listen&quot; to crashes and transfer the panic codes to the PC.
+      </description>
+   </item>
+   <item
+         href="/com.nokia.s60tools.crashanalyser.help/html/tasks/import_crash_files.htm"
+         title="Import the crash files in CrashAnalyser">
+      <description>
+         To start working on the files on your PC, start the CrashAnalyser wizard from the <b>Carbide &gt; CrashAnalyser</b> menu and import the files for decoding. 
+<br/><br/>
+<b>Note!</b> It takes time to decode files, so do not select too many files to be decoded at a time.
+      </description>
+   </item>
+   <item title="View and analyse the crashes" dialog="true" skip="false" href="/com.nokia.s60tools.crashanalyser.help/html/concepts/how_to_analyse_crash.htm">
+      <description>
+         To start analysing an imported file, double-click it on the CrashAnalyser main view. 
+<br/><br/>
+The Crash Visualiser contains four different tabs that help you diagnose what caused the crash in the device; what was the reason (for example, Symbian OS panic or exception), and in which process and in which thread the crash occurred.
+      </description>
+   </item>
+</cheatsheet>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/analysis_file.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<title>Analysis file</title>
+<link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>Analysis file</h2>
+<p>An analysis file means an XML file which is created from a MobileCrash or D_EXC file. Analysis files are created with the Crash Analyser Import Wizard, and imported to the Crash Analyser main view.</p>
+<p>MobileCrash files and D_EXC files are data in binary format and for that reason difficult to understand as such. For making the files more readable, the Crash Analyser Import Wizard changes the binary format to XML format. The file extension of an analysis file is <i>.crashxml.</i></p>
+
+<h5>Related concepts</h5>
+<ul>
+<li><a href="../concepts/mc_file.htm">MobileCrash file and D_EXC file</a></li>
+<li><a href="../concepts/how_to_analyse_crash.htm">How to analyse a crash</a></li>
+</ul>
+
+<h5>Related tasks</h5>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/concepts.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 1.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+<meta http-equiv="content-style-type" content="text/css">
+<title>Concepts</title>
+<link href="../../book.css" type="text/css" rel="StyleSheet">
+</head>
+<body>
+
+<h2>Concepts</h2>
+<p>The following concepts provide information on Crash Analyser terminology and processes:</p>
+<ul>
+	<li><a href="mc_file.htm">MobileCrash file and D_EXC file</a></li>
+	<li><a href="selge_vs_symbol.htm">Symbol files, Map files, and Image files</a></li>
+	<li><a href="analysis_file.htm">Analysis file</a></li>
+	<li><a href="how_to_analyse_crash.htm">How to analyse a crash</a></li>
+	<li><a href="main_view.htm">Crash Analyser main view</a></li>
+	<li><a href="preferences.htm">Crash Analyser preferences</a></li>
+</ul>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/how_to_analyse_crash.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<title>How to analyse a crash</title>
+<link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>How to analyse a crash</h2>
+<p>Analysing a crash is started by importing a file to the Crash Analyser main view. By double-clicking the imported file, the Crash Visualiser opens.</p>
+<p></p>
+<img src="images\CrashVisualiser.PNG">
+<p></p>
+<p>The Crash Visualiser contains four different tabs:</p>
+<ul>
+<li><b>1) Crash Data</b>
+<ul>
+<li>Summary<p>The Summary pane shows general issues about a crash, for example: <b>1)</b> In which process and in which thread a crash occurred, <b>2)</b> When a crash occurred, <b>3)</b> Information on which device was used when the crash occurred, <b>4)</b> Etc.</p></li><li>Exit Info<p> The Exit Info pane gives the reason why a crash occurred. The reason might be for example a Symbian OS panic or exception. If the panic or error description can be found in the Crash Analyser error library, then the description is displayed.</p></li>
+<li>Call Stack<p>The <b>Call Stack</b> pane shows the reconstructed call stack from the time of the panic/exception. The call stack appears in a similar layout as you might expect to see with a typical Symbian OS debugger (for example Carbide.c++). The most recently executing function appears near the top of the stack, and the oldest or initial functions appear at the bottom.</p>
+<p>By right-clicking on the <b>Call Stack</b> pane, you get four selections:</p>
+<table width="667" border="1" cellspacing="1" cellpadding="2">
+<colgroup>
+<col width="50*">
+<col width="141*"></colgroup>
+<thead>
+<tr>
+<td><b>Function</b></td>
+<td><b>Description</b></td>
+</tr>
+<tr>
+<td><b>Open Source File</b></td>
+<td>Opens the source file this symbol points to. This is possible only if the source file is in use in your computer.</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><b>Active SDK</b></td>
+<td>Used for selecting the active SDK which is used in the Open Source File function.</td>
+</tr>
+<tr>
+<td><b>Copy Selection to Clipboard</b></td>
+<td> Selected/highlighted rows are copied to clipboard.
+<ul>
+<li>As plain text: Can be pasted for example to Notepad.</li>
+<li>As rich text: Can be pasted for example to MS Word.</li>
+</ul>
+</td>
+</tr>
+<tr>
+<td><b>Copy Whole Stack to Clipboard</b></td>
+<td>All rows are copied to clipboard.
+<ul>
+<li>As plain text: Can be pasted for example to Notepad.</li>
+<li>As rich text: Can be pasted for example to MS Word.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+<p>For more detailed information on call stack and analysing call stacks, see <a href="../reference/call_stack.htm">Call stack.</a></p></li>
+</ul></li>
+<li><b>2) Advanced</b>
+<ul>
+<li>Registers<p>The Registers pane shows the register values at the time of the crash.</p>
+<p>For more detailed information on registers, see <a href="../reference/registers.htm">Registers.</a></p></li>
+<li>Code Segments<p>The code segment list contains a list of binaries (dlls/plugins/exe) that were loaded at the time of the crash.</p><p>For more detailed information on code segments, see <a href="../reference/code_segments.htm">Code segments.</a></p></li>
+<li>Event Log<p>The Event Log pane shows 30 last events that occurred in the device before the crash. Only the window and key events are captured.</p></li>
+<li>CPSR details<p>The ARM processor stores the processor state in "status registers." The current state of the processor is stored within the Current Program Status Register (CPSR). This register contains bits that can be queried to identify certain attributes of the processor at the current point in time. For example, you can check CPSR to identify if the processor is executing code in User, Supervisor or one of the other ARM processor modes. This can give a useful indication of whether a panic/exception occurred whilst executing user or kernel code.  Additionally, another bit within CPSR can indicate what kind of instruction was executing at the time of the problem, that is, was the processor in THUMB or ARM mode. Refer to the ARM architecture manual for your processor for full details. Note that Crash Analyser is unable to discern the type of processor that the device utilizes. Therefore, Crash Analyser prevents several different interpretations of this register, and the appropriate interpretation for the device's hardware architecture must be selected manually.</p></li>
+</ul></li>
+<li><b>3) Errors &amp; Warnings</b><p>Shows all possible errors and warnings occurring during the decoding process.</p>
+<p><b>Note!</b> If no errors or warnings have occurred, then this tab is not shown.</p></li>
+<li><b>4) XML</b><p>Shows the raw data which other tabs are visualising in more readable format. The other tabs do not show all information what the raw data contains, so if some information is missing from a tab, you can try to find it from the XML tab.</p></li>
+</ul>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/CrashVisualiser.PNG has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/Thumbs.db has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/emulator.PNG has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/file_coded.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/file_de_coded.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/file_part_coded.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/panics.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/trace.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/images/view_selge.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/main_view.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<title>Crash Analyser main view</title>
+<link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>Crash Analyser main view</h2>
+<p>The Crash Analyser main view lists all files that have been imported with the Crash Analyser Import Wizard. You can see all files handled during the previous time you used the tool.</p>
+<p>There are four different file types viewable in the main view:</p>
+<table width="667" border="1" cellspacing="1" cellpadding="2">
+<colgroup>
+<col width="50*">
+<col width="141*">
+</colgroup>
+<thead>
+<tr>
+<td><b>File type</b></td>
+<td><b>Description</b></td>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><b>Decoded file</b><p></p><img src="images\file_de_coded.png"></td>
+<td>A file that has been changed from binary format to XML format. You can open this file for further analysis in the Carbide.c++ Editor area. For more information, see <a href="../concepts/analysis_file.htm">Analysis file</a>.</td>
+</tr>
+<tr>
+<td><b>Partially decoded file</b><p></p><img src="images\file_part_coded.png"></td>
+<td>A file that is otherwise same as the decoded file, but the decoding of this file is done without symbol information, that is, neither a symbol file nor map files are included when decoding. You can open this file for further analysis in the Carbide.c++ Editor area, but you have less information available compared to the decoded file.</td>
+</tr>
+<tr>
+<td><b>Undecoded file</b><p></p><img src="images\file_coded.png"></td>
+<td>A MobileCrash file in binary format. This file has not been changed from binary format to XML format. This file is displayed in the main view, but you cannot open it for further analysis. However, if you want to open it for further analysis, you can decode it with the Crash Analyser Import Wizard. After that, the file is ready for further analysis. <b>Note!</b> Normally, the MobileCrash files have the <i>.bin</i> file extension, but if you take the MobileCrash file through TraceViewer, then the file extension is <i>.trace</i>.</td>
+</tr>
+<tr>
+<td><b>Emulator panic file</b><p></p><img src="images\emulator.PNG"></td>
+<td>If a panic occurs when debugging with emulator, Crash Analyser creates an emulator panic file and shows it in the main view. This file differs from the other ones because it does not include any crash data, but only the panic code. You cannot open this file for further analysis and you cannot decode it with the Import Wizard. The only information you can get is the panic code and the panic code description supported by the error library.</td>
+</tr>
+</tbody>
+</table>
+
+<h5>Related concepts</h5><ul>
+<li><a href="../concepts/analysis_file.htm">Analysis file</a></li>
+<li><a href="../concepts/mc_file.htm">MobileCrash file and D_EXC file</a></li>
+<li><a href="../concepts/how_to_analyse_crash.htm">How to analyse a crash</a></li>
+</ul>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/mc_file.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<title>MobileCrash file and D_EXC file </title>
+<link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>D_EXC file</h2>
+<p>D_EXC file is a file which contains crash data. One crash contains two different files:</p>
+<ul>
+<li><b>.TXT</b> file (mandatory). If you want to import the D_EXC file, you should specify this file in the Crash Analyser Import Wizard.</li>
+<li><b>.STK</b> file (optional). If you want to import this file, ensure that you have stored this file in the same directory as the .TXT file.</li>
+</ul>
+
+<h5>Related concepts</h5>
+<ul>
+<li><a href="../concepts/analysis_file.htm">Analysis file</a></li>
+</ul>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/preferences.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<title>Crash Analyser preferences</title>
+<link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>Crash Analyser preferences</h2>
+<p>In the Crash Analyser preferences dialog, you can define if Crash Analyser should listen for MobileCrash files while tracing (with TraceViewer Carbide.c++ Excension) or panics while debugging with emulator. You can open the Crash Analyser preference dialog by selecting <b>Window > Preferences... > Carbide Extensions > Crash Analyser.</b></p>
+<p>If you want to see the details of a panic in the Crash Analyser main view when debugging in an emulator, check the <b>Listen panics from epocwind.out</b> check box.</p>
+<img src="images\panics.png">
+<p></p>
+<p>Check the <b>Listen MobileCrash panics via TraceViewer</b> check box if you want the Crash Analyser to listen trace data provided by the TraceViewer Carbide.c++ Extension.</p>
+<ul>
+<li>If the <b>Show Crash Visualiser when crash occurs</b> is not checked, then crash files received via TraceViewer will be displayed in the Crash Analyser main view in <b>Undecoded</b> state.</li>
+<li>If the <b>Show Crash Visualiser when crash occurs</b> check box is checked, the files received via TraceViewer are automatically decoded and displayed in the <b>Crash Visualiser.</b></li>
+</ul>
+<img src="images\trace.png">
+<p><b>Note!</b> In case of a panic or mobile crash, you get automatically an undecoded MobileCrash file to the <b>Crash file</b> list in Carbide.c++ view.</p>
+<p>See the workflow examples in <a href="../tasks/enable_auto_crash_logging.htm">Enabling automatic crash logging.</a></p>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/selge_vs_symbol.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<title>Symbol files,  Map files, and Image files</title>
+<link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>Symbol files, Map files, and Image files</h2>
+<p>In the Crash Analyser Import Wizard, you have to define either the symbol files or map files or both of them. Defining image files is optional.</p>
+
+<h4>Symbol files</h4>
+<p>When you create an image, symbol files are generated automatically. Symbol files contain the binary structure of an image, which is needed for producing an analysis file. You can find a symbol file for example from <i>\epoc32\rombuild\&lt;device>\core.</i></p>
+<p>If you have defined symbol files, you can define also map files and image files.</p><h4>Map files</h4><p>If you need to define map files, you can select the <b>Map files folder</b> option to define the location of map files, or you can select <b>MapFiles.zip</b> option if you want to provide a ZIP file containing the map files. If you choose the <b>SDK Map files folder</b> option, the Crash Analyser Import Wizard checks which SDKs you have installed in Carbide.c++, and lists the directories of each SDK which contain map files. Choose the directory you want. If you do not want to define any map files, then select the <b>No map files</b> option.</p>
+
+<h4>Image files</h4>
+<p>The following image file types can be selected in the Import Wizard. You can also select more that one type at the time.</p>
+<ul>
+<li><b>R&amp;D image file</b> (.fpsx,), is a flashable Nokia proprietary image file containing the software for the phone.</li>
+<li><b>Core image file</b> (.Cxx), is a language independent flashable phone software file.</li>
+<li><b>Variant image file</b> (.Vxx.), is an image file which contains the language, country or operator variant specific phone software.</li>
+<li><b>(.img) image file</b> is a Symbian OS flashable image file.</li>
+</ul>
+<p>All the files (.fpsx, .Cxx, .Vxx, .img) refer to flash image files. Usually only one / few of them are needed, the extension just differs in different environments. The files are the ones that are flashed to phone e.g. with Phoenix tool. The image files are not absolutely neccessary but they enable the analyser to do more precise decoding than just symbol files.</p>
+<p>Different environments put these files to different locations, common locations under SDK root are for example \epoc32\rombuild and \Rom_images_2009. If you have not flashed your development phone yourself, it may be difficult to find the original flash images anywhere. Most of flash files available can be found from Notes DCT5 database, but the decoding files must match the flash image in phone exactly. Only reliable way is to flash a certain image first and use flash image for decoding only for crashes from that image.</p>
+<h5>Related concepts</h5>
+<ul>
+<li><a href="../concepts/how_to_analyse_crash.htm">How to analyse a crash </a></li>
+</ul>
+
+<h5>Related tasks</h5>
+<ul>
+<li><a href="../tasks/import_crash_files.htm">Importing crash files</a></li>
+</ul>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/contexts.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.contexts"?>
+<contexts>
+
+	<context id="CRASH_ANALYSER_HELP_TOC">
+      <description>Crash Analyser - Help</description>	   
+		<topic label="Crash Analyser Help" href="html/toc.html" >		
+	    </topic>
+    </context>	  
+
+	<context id="CRASH_ANALYSER_HELP_PREFERENCES">
+      <description>Crash Analyser - Preferences</description>	   
+		<topic label="Crash Analyser preferences" href="html/concepts/preferences.htm" >		
+	    </topic>
+		<topic label="Enabling automatic crash logging" href="html/tasks/enable_auto_crash_logging.htm" >		
+	    </topic>
+    </context>	  
+
+	<context id="CRASH_ANALYSER_HELP_MAIN_VIEW">
+      <description>Crash Analyser - Main View</description>	   
+		<topic label="Crash Analyser main view" href="html/concepts/main_view.htm" >		
+	    </topic>
+		<topic label="Browsing error library" href="html/tasks/browsing_error_library.htm" >		
+	    </topic>
+		<topic label="Importing crash files" href="html/tasks/import_crash_files.htm" >		
+	    </topic>
+		<topic label="Exporting crash files" href="html/tasks/export_crash_files.htm" >		
+	    </topic>
+		<topic label="Decoding crash files" href="html/tasks/decode_crash_files.htm" >		
+	    </topic>
+    </context>	  
+
+	<context id="CRASH_ANALYSER_HELP_IMPORT">
+      <description>Crash Analyser - Importing Crash Files</description>	   
+		<topic label="Importing crash files" href="html/tasks/import_crash_files.htm" >		
+	    </topic>
+		<topic label="Symbol files, Map files and Image files" href="html/concepts/selge_vs_symbol.htm" >		
+	    </topic>
+		<topic label="MobileCrash file and D_ECX file" href="html/concepts/mc_file.htm" >		
+	    </topic>
+		<topic label="Analysis file" href="html/concepts/analysis_file.htm" >		
+	    </topic>
+    </context>	  
+
+	<context id="CRASH_ANALYSER_HELP_DECODE">
+      <description>Crash Analyser - Decoding Crash Files</description>	   
+		<topic label="Decoding crash files" href="html/tasks/decode_crash_files.htm" >		
+	    </topic>
+		<topic label="Symbol files, Map files and Image files" href="html/concepts/selge_vs_symbol.htm" >		
+	    </topic>
+    </context>	  
+
+	<context id="CRASH_ANALYSER_HELP_ERROR_LIBRARY">
+      <description>Crash Analyser - Error Library</description>	   
+		<topic label="Browsing error library" href="html/tasks/browsing_error_library.htm" >		
+	    </topic>
+    </context>	  
+
+	<context id="CRASH_ANALYSER_HELP_ANALYSE_CRASH">
+      <description>Crash Analyser - Analysing Crashes</description>	   
+		<topic label="How to analyse a crash" href="html/concepts/how_to_analyse_crash.htm" >		
+	    </topic>
+    </context>	  
+</contexts>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/gs_index.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<title>Getting Started</title>
+<link href="../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>Getting Started</h2>
+<p>The Crash Analyser Carbide.c++ Extension is a tool for decoding different types of crash files from binary format to readable format. The following file types are supported: <b>MobileCrash</b> and <b>D_EXC</b>.</p><p>You can begin analysing the files by activating the <b>Crash Analyser Import Wizard</b>. Select <b>Carbide > Crash Analyser</b> and then take the following steps:</p>
+<ol>
+<li><a href="tasks/import_crash_files.htm#activate">Activate the Import Wizard.</a></li>
+<li><a href="tasks/import_crash_files.htm#select">Select a crash file or the folder where you have crash files.</a></li>
+<li><a href="tasks/import_crash_files.htm#files">Select files to be analysed.</a></li>
+<li><a href="tasks/import_crash_files.htm#define">Define the location of symbol files, map files, and image files.</a></li>
+<li><a href="tasks/import_crash_files.htm#output">Define the reporting settings (optional).</a></li>
+<li><a href="tasks/import_crash_files.htm#view">Start analysing the files.</a></li>
+</ol>
+<p>When the files have been imported, they will be displayed in the <b>Crash Analyser</b> view where they can be viewed and analysed.</p>
+<p>You can launch the Crash Analyser also by selecting <b>Window > Show View > Other > Carbide Extensions > Crash Analyser</b>.</p>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/images/Thumbs.db has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/images/about_cpp.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/images/background_carbide.jpg has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/images/brandmark_cpp.gif has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/images/gold_header.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/images/green_fade_left_68_165_28.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/intro/crashanalyser.css	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,2 @@
+a#crashanalyser img { background-image : url(crashanalyser.gif); }
+a#crashanalyser:hover img { background-image : url(crashanalyser_hov.gif); }
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/intro/crashanalyser.gif has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/intro/crashanalyser.properties	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,6 @@
+
+overview.crashanalyser = html/intro/crashanalyser.gif
+overview.crashanalyser:hover = html/intro/crashanalyser_hov.gif
+
+tutorials.crashanalyser = html/intro/crashanalyser.gif
+tutorials.crashanalyser:hover = html/intro/crashanalyser_hov.gif
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/intro/crashanalyser_hov.gif has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/intro/overviewCrashAnalyserExtContent.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<introContent>
+<!-- Extension to the Overview page. -->
+
+	<extensionContent 
+		id="com.nokia.s60tools.crashanalyser.help-overview" 
+		alt-style="crashanalyser.properties" 
+		style="crashanalyser.css" 
+		path="overview/@">
+		
+		<group 
+			id="content-group" 
+			style-id="content-group">
+			
+			<link 
+				label="Crash Analyser Overview" 
+	       		url="http://org.eclipse.ui.intro/showHelpTopic?id=/com.nokia.s60tools.crashanalyser.help/html/gs_index.htm" 
+				id="crashanalyser"
+				style-id="content-link"> 
+          		<text>Learn about Crash Analyser and what it can do to improve your development efforts.</text>
+			</link>
+			
+		</group>
+		
+	</extensionContent>
+  
+</introContent>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/intro/tutorialsCrashAnalyserExtContent.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<introContent>
+<!-- Extension to the Tutorials page. -->
+
+	<extensionContent 
+		id="com.nokia.s60tools.crashanalyser.help-tutorials" 
+		alt-style="crashanalyser.properties" 
+		style="crashanalyser.css" 
+		path="tutorials/@">
+		
+		<group 
+			id="content-group" 
+			style-id="content-group">
+			
+		<link 
+			label="Crash Analyser tutorial" 
+			url="http://org.eclipse.ui.intro/showStandby?partId=org.eclipse.platform.cheatsheet&amp;input=com.nokia.s60tools.crashanalyser.quickstart" 
+			id="crashanalyser"
+			style-id="content-link">
+				<text>Start analyzing crashes by following step-by-step instructions.</text>
+    	</link>
+			
+		</group>
+		
+	</extensionContent>
+  
+</introContent>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/legal.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<title>License Information</title>
+<link href="../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h3>License Information</h3>
+
+<h5>COPYRIGHTS</h5>
+<p>Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. This component and the accompanying materials are made available under the terms of "Eclipse Public License v1.0" which accompanies this distribution and is available at the URL <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</p>
+<p>Initial Contributors:<br>
+Nokia Corporation - initial contribution</p>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/call_stack.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<title>Call stack</title>
+<link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>Call stack</h2>
+
+<h5>Stack Background</h5>
+<p>Symbian OS stacks are fixed in size. They are allocated during the creation of a thread and they do not grow. Once the stack is exhausted there is no dynamic capability for extension &ndash; which means it tends to be a very scarce and finite resource that must be treated with care (and used sparingly).</p>
+<p>Each user-side thread has two associated stacks. One for when the processor is executing user-side code, and another when the processor executes kernel-side code on behalf of your thread.</p>
+<p>The stack is used as temporary scratch storage inside functions or methods. As the processor executes your program, the stack data is added and removed from the stack. When one method calls another, the return address of the instruction which should be executed upon return from the called function may also be pushed onto the stack &ndash; this is one of the reasons why crash analysis tools such as Crash Analyser are able to obtain a call stack when a thread panics or generates an exception.</p>
+<img src="images\stack.png">
+<p>Stacks are usually placed at the top of a page boundary and the current stack pointer is set to the highest address within the stack. Therefore, stacks can be considered to flow backwards. That is to say, they start at some high memory address, and as data is pushed onto the stack, the current stack pointer address is decremented. The stack pointer always represents the high water mark of current stack usage within any given stack. Therefore, if you start interpreting the stack data at the current stack pointer, and work towards the highest stack address it is possible to build up a picture of function flow and also observe the data that has been pushed onto the stack (for example, Symbian OS descriptors and other local variables).</p>
+<p>In ARM devices, R13 is also known as the current stack pointer. As mentioned above, as data is pushed and popped from the stack, the value of R13 is adjusted accordingly.</p>
+<p> Should the stack usage be so high as to cause the stack pointer to underflow off the top of the stack, a page fault exception will be raised. This typically is represented in User-land by a Kern-Exec 3.</p>
+<p>In EKA2, each thread also has a kernel-side stack, called the supervisor stack. This stack is used for:</p>
+<ul>
+<li>executive calls</li>
+<li>if a hardware interrupt occurs whilst the thread is running and the interrupt queues IDFCs and/or DFCs</li>
+<li>rescheduling. A reschedule always occurs as a result of the current thread calling the scheduler. Inside the scheduler, the current thread&rsquo;s register state is saved on its supervisor stack and the final stack pointer value is saved in the thread control block. Then the stack pointer is loaded using the new thread&rsquo;s saved stack pointer value and its register state is restored from the stack (which is now the new thread&rsquo;s supervisor stack).</li>
+</ul>
+<p>For more detailed information on Symbian OS stacks, see the following references:</p>
+<ul>
+<li>ARM EABI: <a href="http://www.arm.com/products/DevTools/ABI.html">http://www.arm.com/products/DevTools/ABI.html</a></li>
+<li>Symbian OS Internals: <a href="http://www.amazon.com/Symbian-OS-Internals-Real-time-Programming/dp/0470025247">http://www.amazon.com/Symbian-OS-Internals-Real-time-Programming/dp/0470025247</a></li>
+</ul>
+
+<h5>Call Stack pane in Crash Analyser</h5>
+<p>The <b>Call Stack</b> pane shows the reconstructed call stack from the time of the panic/exception. The call stack appears in a similar layout as you might expect to see with a typical Symbian OS debugger (for example Carbide.c++). The most recently executing function appears near the top of the stack, and the oldest or initial functions appear at the bottom.</p>
+<p>Every four bytes of stack data are displayed as a line within the stack viewer. Color coding is used to indicate attributes of the stack line.</p>
+<img src="images\stack.1.png">
+<p><b>PC, and LR</b>: Represents a register value.</p>
+<p><b>00406848</b>: Represents the line that corresponds to the value of the current stack pointer.</p>
+<img src="images\stack2.png">
+<p>Additionally, the top of the stack view also contains some additional entries that are outside of the current stack range. These values provide contextual information that may be relevant to the crash diagnosis. For example, if the crash occurred whilst a large call stack was unwinding, then these values that are de-emphasized (in grey) at the top of the call stack correspond to functions that may have previously executed as the call stack unwound to it&rsquo;s current stack pointer location.</p>
+<p>The following additional notes describe the various attributes of the <b>Call Stack</b> pane.</p>
+
+<table width="667" border="1" cellspacing="1" cellpadding="2">
+<colgroup>
+<col width="50*">
+<col width="141*">
+</colgroup>
+<thead>
+<tr>
+<td><b>Column</b></td>
+<td><b>Description</b></td>
+</tr>
+<tr>
+<td><b>The first column (no name)</b></td>
+<td><p>This column has dual purposes:</p>
+<ul>
+<li>It typically reflects the stack address of the data that has been interpreted/displayed by the Crash Analyser UI. If the stack data range is 0x00402000 &ndash; 0x0040A000 then the first column will contain address values within this stack range.</li>
+<li>Crash Analyser will also include the current values for R14 (link register) and R15 (program counter) at the top of the stack. These register entries are colored light blue to differentiate them from the normal stack address entries.</li>
+</ul>
+</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><b>Symbol</b></td>
+<td>When the address of the data stored on the stack matches a function address, the symbol column will contain the name of the associated symbol, for example, a function or method name. If the data does not match the address of a symbolic, this line will typically be empty.</td>
+</tr>
+<tr>
+<td><b>Address</b></td>
+<td> In Symbian OS ARM devices, the data that is stored on the stack is in little endian notation which means that an address such as 0xABCDEF01 would appear as 0x01EFCDAB within the stack data. This column contains the address in converted form, that is, as 0xABCDEF01.</td>
+</tr>
+<tr>
+<td><b>Offset</b></td>
+<td>Whilst the symbol column shows the name of a function or method, the offset shows the location of the exact instruction that was executing when the function address was pushed onto the stack. In conjunction with assembly listing files for the function in question, it&rsquo;s possible to use the offset to identify the executing instruction.</td>
+</tr>
+<tr>
+<td><b>Object</b></td>
+<td>This represents the name of the binary or object file that contained the corresponding symbolic information that was shown in the symbol column. This information is typically obtained from the map or symbol file</td>
+</tr>
+<tr>
+<td><b>Data</b></td>
+<td>The data column shows an ASCII interpreted visualization of the stack data. Depending on the data that was stored at the stack location, this can make it possible to observer descriptors that have been stored on the stack.</td>
+</tr>
+</tbody>
+</table>
+
+<h5>How to Interpret the Stack</h5>
+<p>Start at the top of the stack &ndash; at the program counter and link register entries. Work downwards, checking each stack entry in turn. To hide any entries which did not match a function address, you can select the option as shown:</p>
+<p></p>
+<img src="images\stack_int.png">
+<p></p>
+<p>Any stack entries which do not match functions, for example, those that relate to data (for example descriptors, integers etc.) are hidden.</p>
+<p>The crash occurs at the program counter location, and then typically the previous function to be executed prior to this is contained within the link register. After this, the stack data must be used to reconstruct the crash location. Work from the current stack pointer downwards and inspect each function in question.</p>
+<p>Note that typically Crash Analyser performs a heuristic match that compares the stack data with supplied symbolic information. In some situations, the stack can contain the addresses of previous function calls that are not relevant to the current call stack. This is called &ldquo;ghosting&rdquo; and usually arises because an unintialised area of memory is reserved from the stack (for example, Symbian OS descriptors behave in this way). In such situations, since the stack memory is not wiped, any prior function addresses within the reserved stack area may contain references to old call chains. As such, it is important to use common sense and basic understanding of the component source code in conjunction with the call stack data in order to rule out irrelevant ghost entries.</p>
+<p>It is also important to verify if the value of the current stack pointer (R13) falls within or outside of the bounds of the stack. If the value of R13 is outside, or then very close to the stack boundary, then it may indicate a stack overflow which will result in an exception, typically reported in Symbian OS as a KERN-EXEC 3 panic.</p>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/code_segments.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<title>Code segments</title>
+<link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>Code segments</h2>
+<p>The code segment list contains a list of binaries (dlls/plugins/exe) that were loaded at the time of the crash.</p>
+<img src="images\code_segments1.png">
+<p></p>
+<p>The kernel creates a code segment for a binary:</p>
+<ul>
+<li>Whenever the binary is explicitly loaded (RLibrary::Load() or ECOM is used)</li>
+<li>When the binary contains global data</li>
+<li>When a process is explicitly created (RProcess::Create())</li>
+<li>When the binary in question is loaded into RAM (for example ROFS/ROFX/User Data Area code)</li>
+</ul>
+<p>This means that in some situations the list may not contain all the dependencies of the code that was executing at the time of the exception/panic. For example, any code that is statically linked to another binary and that resides in an Execute In Place (XIP) location, such as the phone &lsquo;ROM&rsquo;, may not actually appear in the list.</p>
+<p>If you expect a specific binary to be present within the list, and upon inspection you find that it is missing it may indicate that the binary has been unloaded unexpectedly. This in itself can cause an exception &ndash; for example, if a plugin is unloaded before all objects that utlize code from that plugin have been destroyed, then it may lead to an exception were the object code invoked.</p>
+<p>Finally, the list is also color-coded to indicate warnings or errors. For example, items may be highlighted in pink if symbols are unavailable or if the code segment for the binary in question does not align with the code segment information provided by the kernel at the time of the crash. This may indicate that the wrong symbolics have been used to decode the crash file, resulting in incorrect data.</p>
+<p>For reference information, see:</p>
+<ul>
+<li>Symbian OS Internals: <a href="http://www.amazon.com/Symbian-OS-Internals-Real-time-Programming/dp/0470025247">http://www.amazon.com/Symbian-OS-Internals-Real-time-Programming/dp/0470025247</a></li>
+</ul>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/images/Thumbs.db has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/images/code_segments1.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/images/stack.1.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/images/stack.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/images/stack2.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/images/stack_int.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/references.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+<meta http-equiv="content-style-type" content="text/css">
+<title>References</title>
+<link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>References</h2>
+<p>The following references are available for this tool:</p>
+<ul>
+	<li><a href="call_stack.htm">Call stack</a></li>
+	<li><a href="registers.htm">Registers</a></li>
+	<li><a href="code_segments.htm">Code segments</a></li>
+</ul>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/reference/registers.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,123 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<title>Registers</title>
+<link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>Registers</h2>
+<p>When a crash occurs, the processor state is captured and stored to a crash file. For more information on Symbian OS and ARM registers, see the reference links (ARM Architecture Manuals and Symbian OS Internals) in the end of this topic.</p>
+<p>In Crash Analyser, the register values at the time of the crash are partitioned into discrete processor modes that closely mirror the ARM architecture.</p><p>The following ARM processor modes are supported:</p>
+<table width="667" border="1" cellspacing="1" cellpadding="2">
+<colgroup>
+<col width="50*">
+<col width="141*"></colgroup>
+<thead>
+<tr>
+<td><b>Name</b></td>
+<td><b>Description</b></td>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>User</td>
+<td> Contains registers associated with the processor whilst it was executing in USER mode. This is the normal execution mode for ARM processors.</td>
+</tr>
+<tr>
+<td>Fast Interrupt (FIQ)</td>
+<td>Registers that are associated with ARM FIQ mode, a privileged mode in which is used for high speed low latency interrupt handling.</td>
+</tr>
+<tr>
+<td>Interrupt (IRQ)</td>
+<td>General purpose ARM interrupt handling mode.</td>
+</tr>
+<tr>
+<td>Supervisor </td>
+<td>Registers that are associated with code executing within the context of the Symbian OS kernel. </td>
+</tr>
+<tr>
+<td>Abort</td>
+<td>Typically used when the processor was unable to access a memory area.</td>
+</tr>
+<tr>
+<td>Undefined</td>
+<td>Indicates that the processor could not interpret an instruction.</td>
+</tr>
+<tr>
+<td>System</td>
+<td>Not used in Symbian OS.</td>
+</tr>
+</tbody>
+</table>
+
+<p>Additionally the ARM banks are supplemented by:</p>
+<table width="667" border="1" cellspacing="1" cellpadding="2">
+<colgroup>
+<col width="50*">
+<col width="141*"></colgroup>
+<thead>
+<tr>
+<td><b>Name</b></td>
+<td><b>Description</b></td>
+</tr>
+<tr>
+<td>Exception</td>
+<td>Contains exception-specific registers, such as the exception code relevant to the exception that occurred.</td>
+</tr>
+<tr>
+<td>Co-processor</td>
+<td>Contains co-processor registers, such as the fault status register.</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td></td>
+<td></td>
+</tr>
+</tbody>
+</table>
+
+<p>The ARM register modes typically support a register range of R00 to R15. R13, R14 and R15 have special meaning:</p>
+<table width="667" border="1" cellspacing="1" cellpadding="2">
+<colgroup>
+<col width="50*">
+<col width="141*"></colgroup>
+<thead>
+<tr>
+<td><b>Name</b></td>
+<td><b>Description</b></td>
+</tr>
+<tr>
+<td>R13</td>
+<td>Current stack pointer. Adjusted as data is pushed and popped from the stack. </td>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>R14</td>
+<td>Otherwise known as the link register (LR). Contains the address of the instruction to branch to after returning from a subroutine. Can also contain the address to return to after the processor enters an exception mode (for example Abort, Supervisor, FIQ, IRQ etc).</td>
+</tr>
+<tr>
+<td>R15</td>
+<td>Register 15 is the Program Counter (PC). It can be used in most instructions as a pointer to the instruction which is two instructions after the instruction being executed.</td>
+</tr>
+</tbody>
+</table>
+
+<p>Additionally, some register values are preserved when the processor transitions from one execution mode to another (for example, when the process transitions from User to Supervisor mode in order to fulfill a privileged operation). Full details about this preservation or &ldquo;banking&rdquo; are described in ARM Architecture Manuals. See the link below.</p>
+<p>Finally, the CPSR, or Current Program Status Register is also noteworthy. It is one of several Status Registers that is used to hold details about the current state of the processor at the time of a crash. For example, it can indicate if the processor was executing an ARM or THUMB instruction, or whether interrupts were disabled. Most critically, it describes the execution mode of the processor at the time of the panic/exception &ndash; for example, did the exception occur whilst the processor was executing kernel code (Supervisor Mode) or user code (User Mode)?</p>
+<p>Function call arguments are typically passed to the function within register values (were possible, depending on argument type and number of arguments). If a function signature contains too many arguments then the registers may be supplemented by the stack (arguments are pushed on the stack by the function caller and popped of the stack by the function itself). Typically R00 to R03 are used for function passing.</p>
+<p> Additionally, R00 is often utilized as the &ldquo;this&rdquo; pointer when performing method dispatch on an object. A common related problem can be de-referencing a null this pointer or then de-referencing a deleted object in order to invoke a method. Both issues can often be identified based upon the value of the program counter (R15) and the value of R00 (for example is it 0x00000000).</p>
+<p>For reference information, see the following references:</p>
+<ul>
+<li>ARM EABI: <a href="http://www.arm.com/products/DevTools/ABI.html"> http://www.arm.com/products/DevTools/ABI.html</a></li>
+<li>ARM Architecture Manuals: <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0100i/ http://www.arm.com/pdfs/ARMv6_Architecture.pdf">http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0100i/ http://www.arm.com/pdfs/ARMv6_Architecture.pdf</a></li>
+<li>Symbian OS Internals: <a href="http://www.amazon.com/Symbian-OS-Internals-Real-time-Programming/dp/0470025247">http://www.amazon.com/Symbian-OS-Internals-Real-time-Programming/dp/0470025247</a></li>
+</ul>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/release_notes.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+<title>Release Notes</title>
+<link href="../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>Release note</h2>
+<h4>Crash Analyser &ndash; Version 1.2.0</h4>
+<p>Released 20th November 2009</p>
+<ul>
+	<li><a href="#description">Product description</a></li>
+	<li><a href="#features">Main features</a></li>
+	<li><a href="#newfeatures">What's new</a></li>
+	<li><a href="#installation">Installation notes</a></li>
+	<li><a href="#requirements">System requirements</a></li>
+	<li><a href="#compissues">Compatibility issues</a></li>
+	<li><a href="#issues">Known issues</a></li>
+</ul>
+
+<h3><a name="description"></a>Product Description:</h3>
+<p>The Crash Analyser Carbide.c++ Extension is a tool for decoding different types of crash files from binary to readable format and analysing crash/panic situations. Crash Analyser provides an error library containing most of the Symbian OS error codes and panic descriptions.</p>
+<p>You can activate the Crash Analyser by selecting <b>Carbide > Crash Analyser</b>.</p>
+
+<h3><a name="features"></a>Main features</h3>
+<ul>
+	<li>Decode MobileCrash and D_EXC files from binary to readable format.</li>
+	<li>UI visualisation for decoding files (CrashVisualiser).</li>
+	<li>Possibility to create HTML reports about a crash.</li>
+	<li>Open crash related source files from the UI.</li>
+	<li>Pick up MobileCrash files via TraceViewer Carbide.c++ Extension.</li>
+	<li>Error library containing Symbian OS error codes and panic descriptions.</li>
+</ul>
+
+<h3><a name="newfeatures"></a>What's new</h3>
+<ul>
+	<li>Change: Drag & Drop support.</li>
+    <li>Change: Possibility to read crash files directly from the device via PC Suite connection.</li>
+	<li>Change: Support for ELF core dump files.</li>
+	<li>Change: Support for multiple processes.</li>
+	<li>Fix: Bug fixes & UI improvements</li>
+</ul>
+
+<h3><a name="installation"></a>Installation notes</h3>
+<ul>
+	<li>N/A</li>
+</ul>
+
+<h3><a name="requirements"></a>System requirements</h3>
+<p>Basic Requirements:</p>
+<ul>
+	<li>Windows 2000 or Windows XP</li>
+	<li>.NET Framework v2.0.50727 or newer</li>
+</ul>
+<p>Additional Requirements:</p>
+<ul>
+	<li>TraceViewer Carbide.c++ Extension</li>
+</ul>
+
+<h3><a name="compissues"></a>Compatibility issues</h3>
+<ul>
+	<li>N/A</li>
+</ul>
+
+<h3><a name="issues"></a>Known issues</h3>
+<ul>
+	<li>GCCE map files are not supported. Only RVCT map files are supported.</li>
+</ul>
+
+<h3>Version history</h3>
+<h5>Version 1.1.0 &ndash; 1st October 2009</h5>
+<ul>
+	<li>Change: Drag & Drop support.</li>
+    <li>Change: Possibility to read crash files directly from the device via PC Suite connection.</li>
+	<li>Change: Faster and more stable decoding engine.</li>
+	<li>Fix: Bug fixes & UI improvements.</li>
+</ul>
+
+<h5>Version 1.0.0 &ndash; 7th Janury 2009</h5>
+<p>The first version.</p>
+
+<div id="footer">
+Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies).<br>
+All rights reserved. <br>
+This component and the accompanying materials are made available <br>
+under the terms of "Eclipse Public License v1.0" <br>
+which accompanies this distribution and is available <br>
+at the URL <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+<br><br>
+Initial Contributors:<br>
+Nokia Corporation - initial contribution
+<br><br>
+Contributors:<br>
+Description:
+
+</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/browsing_error_library.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<title>Browsing error library</title>
+<link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>Browsing error library</h2>
+<p>To browse the error library:</p>
+<ol>
+<li>Click the <b>Open Error Library</b> button.</li>
+<li>Select if you want to find individual panics (<b>Panic Search tab</b>), panic categories (<b>Category Search tab</b>), or error codes (<b>Error Search tab</b>).</li>
+<li>Select the item from the list.<p>You can also write the name of a panic, category, or error code in the topmost field of the view. The tool filters the list according to the text you write in the field.</p></li>
+<li>(Optional) Report a missing panic or error.</li>
+</ol>
+<p>If you do not find a panic or error code from the library, you can report the missing one by clicking the <b>Report a panic or error</b> link. A draft e-mail opens (<i>To:</i> and <i>Subject:</i> fields are already filled in). Write a description of what is missing.</p>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/decode_crash_files.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<title>Decoding crash files</title>
+<link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>Decoding crash files</h2>
+<p>You can both decode undecoded files and redecode already decoded files with the <b>Decode files</b> functionality. <b>Note!</b> You cannot decode emulator panic files, and also some decoded files cannot be redecoded because their original binary file is not necessarily available. If you try to decode files that are not decodable, an error message will be displayed.</p>
+<p>To decode crash files:</p>
+<ol>
+<li>Select decodable files from the Crash Analyser main view.</li>
+<li>Click the <b>Decode files</b> button.</li>
+<li>Define the location of symbol, map, and image files. You have to define either the symbol files or map files or both of them. Defining image files is optional. For more information, see <a href="../concepts/selge_vs_symbol.htm">Symbol files, Map files, and Image files.</a></li>
+<li>Begin decoding by selecting <b>Finish.</b></li>
+<li>Decoded files are displayed in the Crash Analyser main view. You can start analysing the files, see <a href="../concepts/how_to_analyse_crash.htm">How to analyse a crash.</a></li>
+</ol>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/enable_auto_crash_logging.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<title>Enabling automatic crash logging</title>
+<link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>Enabling automatic crash logging</h2>
+<p>To enable the automatic crash logging, go to Carbide.c++ preferences:</p>
+<ol>
+<li>Select <b>Window > Preferences... > Carbide Extensions > Crash Analyser.</b></li>
+<li>Follow the steps in the workflow examples below.</li>
+</ol>
+<p></p>
+
+<h4>Workflow example (Listen panics from epocwind.out)</h4>
+<p>Before you start:</p>
+<p>Ensure that you have checked the <b>Listen panics from epocwind.out</b> check box.</p>
+<ol>
+<li>Start debugging your project with an emulator</li>
+<li>In the emulator, run something that creates a panic.</li>
+</ol>
+<p>Expected outcome:</p>
+<p>Emulator panic file is displayed in the main view. When you select a file from the list, panic details and descriptions are displayed.</p>
+
+<h4>Workflow example (Listen MobileCrash panics via TraceViewer)</h4>
+<p>Before you start:</p>
+<ul>
+<li>Ensure that you have checked the <b>Listen MobileCrash panics via TraceViewer</b> check box. If you want that the Crash Visualiser is shown when a crash occurs, check also the <b>Show Crash Visualiser when crash occurs</b> check box.</li>
+<li>Ensure that the TraceViewer view is visible in the Carbide.c++ view. If it is not visible, open it from Carbide.c++ menu: <b>Window > Show View > Other... > Carbide Extensions > TraceViewer.</b></li>
+<li>Ensure that TraceViewer connection settings are OK, and the TraceViewer is able to connect to the device.</li>
+</ul>
+<ol>
+<li>Start tracing by clicking the <b>Connect to trace source</b> button in the <b>TraceViewer</b> view.</li>
+<li>In the device, run something that creates a mobile crash.</li>
+<li>Stop the TraceViewer.</li>
+<li>Open the <b>Crash Analyser</b> view.
+<p><i>Expected outcome</i> if the <b>Show Crash Visualiser when crash occurs</b> is not checked: The crash file generated in step 2 is visible in the Crash Analyser view. The undecoded file is now ready to be decoded with the <b>Decode selected files...</b> functionality.</p>
+<p><i>Expected outcome</i> if the <b>Show Crash Visualiser when crash occurs</b> check box is checked: The crash file generated in step 2 is partially decoded and opened automatically to the Crash Visualiser.</p></li>
+</ol>
+
+<h5>Related tasks</h5>
+<ul>
+	<li><a href="../tasks/import_crash_files.htm">Importing crash files</a></li>
+	<li><a href="../tasks/export_crash_files.htm">Exporting crash files</a></li>
+</ul>
+
+<h5>Related concepts</h5>
+<ul>
+	<li><a href="../concepts/preferences.htm">Crash Analyser preferences</a></li>
+</ul>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/export_crash_files.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<title>Exporting crash files</title>
+<link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>Exporting crash files</h2>
+<p>You can export crash files into a .zip file by taking the following steps:</p>
+<ol>
+<li>Select one or more crash files from the list.</li>
+<li>Right-click the desired file or files, and select <b>Export</b> and then select the preferred export type:
+<ul>
+<li><b>to HTML File</b>: (Save single file as HTML). This type is shown if you have selected only one file.</li>
+<li><b>to XML File</b>: (Save single file as crashxml). This type is shown if you have selected only one file.</li>
+<li><b>to Zip as HTML:</b> (Save selected files to Zip). Zip file contains HTML files.</li>
+<li><b>to Zip as XML</b>: (Save selected files to Zip). Zip file contains crashxml files.</li>
+<li><b>All formats to Zip</b>: (Zip file contains html, crashxml and original undecoded binary crash file)</li>
+</ul>
+<p><b>Note!</b> You cannot export emulator panic files.</p>
+</li>
+<li>Specify the location and name for the .zip file, and click <b>Save</b>.</li>
+</ol>
+
+<h5>Related tasks</h5>
+<ul>
+<li><a href="../tasks/import_crash_files.htm">Importing crash files</a></li>
+</ul>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/images/Import_page2.PNG has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/images/Thumbs.db has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/images/decode_files.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/images/decodedfilesview.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/images/file_remove.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/images/fileselection.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/images/start_wizard.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/images/view_selge.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/import_crash_files.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<title>Importing crash files</title>
+<link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+<body>
+
+<h2>Importing crash files</h2>
+<ol>
+<li><a name="activate">Activate the Crash Analyser Import Wizard in the <b>Crash Analyser</b> view by clicking the <b>Import files</b> button.</a><br></li>
+<li><a name="select">Select a crash file or the folder where you have crash files or press <b>Read files from device</b> button to fetch files directly from a device which is connected via PC Suite connection.</a><p></p><p>To select the files to be analysed, you must first input the folder where the crash files are found. The Crash Analyser <b>Import Wizard</b> remembers all previous input folders and files, suggesting the most recently used as the default. To specify the directory or file, either select a previously used directory from the drop-down list, or type in a new directory path.</p>
+<p><b>Note!</b> It takes time to decode files, so do not select too many files to be decoded at a time.</p></li>
+<li><a name="files">From the file table, select files to be analysed.</a>
+<p>When you click <b>Next</b>, the crash files found in the given directory are displayed in the file table. The files are  pre-parsed for their image information, which can be viewed in the <b>File info</b> text field by highlighting the desired file.</p><p><b>Note!</b> You cannot select two files that are not from the same image.</p>
+<img src="../tasks/images/Import_page2.PNG">
+<p></p>
+<p><b>Note!</b> If you are importing decoded files (.crashxml files), this is the last step of the Import Wizard.</p></li>
+<li><a name="define">Define the location of symbol, map, and image files. You have to define either the symbol files or map files or both of them. Defining image files is optional.</a> For more information, see <a href="../concepts/selge_vs_symbol.htm">Symbol files, Map files, and Image files</a>
+<p>Begin importing by selecting <b>Finish</b>.</p></li>
+<li><a name="view">Imported files are displayed in the Crash Analyser main view. You can start analysing the files, see </a><a href="../concepts/how_to_analyse_crash.htm">How to analyse a crash.</a></li>
+</ol>
+
+<h5>Related tasks</h5>
+<ul>
+	<li><a href="../tasks/export_crash_files.htm">Exporting crash files</a></li>
+	<li><a href="../concepts/main_view.htm">Crash Analyser main view</a></li>
+</ul>
+
+<h5>Related concepts</h5>
+<ul>
+	<li><a href="../concepts/how_to_analyse_crash.htm">How to analyse a crash </a></li>
+	<li><a href="../concepts/selge_vs_symbol.htm">Symbol files, Map files, and Image files</a></li>
+</ul>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tasks/tasks.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 1.0 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+<meta http-equiv="content-style-type" content="text/css">
+<title>Tasks</title>
+<link href="../../book.css" type="text/css" rel="StyleSheet">
+</head>
+<body>
+
+<h2>Tasks</h2>
+<p>Entries in this section instruct you how to perform the tasks available in Crash Analyser.</p>
+<p>Topics in this section include:</p>
+<ul>
+	<li><a href="import_crash_files.htm">Importing crash files</a></li>
+	<li><a href="decode_crash_files.htm">Decoding crash files</a></li>
+	<li><a href="export_crash_files.htm">Exporting crash files</a></li>
+	<li><a href="enable_auto_crash_logging.htm">Enabling automatic crash logging </a></li>
+	<li><a href="browsing_error_library.htm">Browsing error library</a></li>
+</ul>
+
+<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tocConcepts.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+
+<toc label="Concepts">
+	
+	<!-- Enter topic entries here for Concepts section of help -->
+	
+	<topic label="MobileCrash file and D_EXC file " href="html/concepts/mc_file.htm" />
+	<topic label="Symbol files, Map files, and Image files" href="html/concepts/selge_vs_symbol.htm" />
+	<topic label="Analysis file" href="html/concepts/analysis_file.htm" />
+	<topic label="How to analyse a crash" href="html/concepts/how_to_analyse_crash.htm" />
+
+<topic label="Crash Analyser main view" href="html/concepts/main_view.htm" />
+<topic label="Crash Analyser preferences" href="html/concepts/preferences.htm" />
+
+</toc>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tocReferences.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+
+<toc label="References"> 
+	<topic label="Call stack" href="html/reference/call_stack.htm" />
+	<topic label="Registers" href="html/reference/registers.htm" />
+	<topic label="Code segments" href="html/reference/code_segments.htm" />
+</toc>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tocTasks.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+
+<toc label="Tasks">
+	
+	<!-- Enter topic entries here for the Tasks section of help -->
+	
+	<topic label="Importing crash files" href="html/tasks/import_crash_files.htm" />
+	
+	<topic label="Decoding crash files" href="html/tasks/decode_crash_files.htm" />
+	
+	<topic label="Exporting crash files" href="html/tasks/export_crash_files.htm" />	
+
+	<topic label="Enabling automatic crash logging" href="html/tasks/enable_auto_crash_logging.htm" />
+
+	<topic label="Browsing error library" href="html/tasks/browsing_error_library.htm" />
+
+</toc>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/tool.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+	<title>Carbide.c++ User Guide</title>
+    <link href="../book.css" rel="stylesheet" type="text/css">
+	<style>
+		table, td, th { border: 0px none #FFF; }
+    </style>
+</head>
+
+<body background="images/background_carbide.jpg" >
+<p>&nbsp;</p>
+<table width="530" border="0" align="center" cellpadding="0" cellspacing="5" bgcolor="#FFFFFF" >
+  <tr>
+    <td width="215"><img src="images/about_cpp.png" width="225" height="200"></td>
+    <td width="294" valign="bottom"><p align="right"><b><img src="images/brandmark_cpp.gif" width="106" height="52"></b></p>
+        <p>&nbsp;</p>
+        <p>&nbsp;</p>
+        <p>&nbsp;</p>
+        <p class="titleSmall">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>
+        License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></p>
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2"><h1 align="center">Crash Analyser User Guide </h1>
+      <p align="center" class="titleSmall">Version 1.2.0; November, 2009</p></td>
+  </tr>
+</table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/toolTOC.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+
+<!-- 
+	Links tool docs to main TOC for Carbide help in the defined location. 
+	NOTE: Tool name seems to be ignored here for display purposes but needed to
+	make the link_to section work.
+-->
+
+<toc label="Crash Analyser" 
+	link_to="../com.nokia.carbide.help.common/carbideHelpTOC.xml#anchorCarbideFeature">
+
+	<!--
+		Define the TOOL NAME as it should appear in the TOC. The tool.htm page
+		is the cover page for the tool help.
+	-->
+	<topic label="Crash Analyser" href="html/tool.htm" >
+		
+	   <!--
+		   Following the Eclipse guidelines, the tool help is arranged as Concepts,
+		   References, and Tasks. Each category has their own associated XML file to make it
+		   easy to edit each section as well as an overview page.
+	   -->
+	   	   <topic label="Release notes" 
+		   href="html/release_notes.htm" >
+	   	   </topic>
+	   		   
+	   		<topic label="Getting Started" 
+		    href="html/gs_index.htm" >
+	   		</topic>
+	   
+	   	   <topic label="Concepts" href="html/concepts/concepts.htm" >
+		   <link toc="html/tocConcepts.xml" />
+	       </topic>
+	   		   
+	       <topic label="Tasks" 
+		   href="html/tasks/tasks.htm" >
+		   <link toc="html/tocTasks.xml" />
+	       </topic>
+
+  		   <topic label="References" href="html/reference/references.htm">
+     		<link toc="html/tocReferences.xml" />
+	       </topic>
+
+	   	   <topic label="Legal" href="html/legal.htm" >
+		   </topic>
+	</topic>
+</toc>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/plugin.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+
+	<extension point="org.eclipse.help.toc">
+		<toc 
+			file="html/toolTOC.xml" 
+			primary="true">
+		</toc>
+		<toc 
+			file="html/tocConcepts.xml" 
+			primary="false"/>
+		<toc 
+			file="html/tocTasks.xml" 
+			primary="false"/>
+		<toc 
+			file="html/tocReferences.xml" 
+			primary="false"/>
+	</extension>
+
+	<extension point="org.eclipse.help.contexts">
+		<contexts
+			file="html/contexts.xml"
+			plugin="com.nokia.s60tools.crashanalyser.help"/>
+	</extension>
+
+	<extension point="org.eclipse.ui.cheatsheets.cheatSheetContent">
+		<category
+			id="com.nokia.carbide.cpp.tools.cheatsheets" 
+			name="Carbide.c++ Tools" /> 
+		<cheatsheet 
+			category="com.nokia.carbide.cpp.tools.cheatsheets"
+			contentFile="html/cheatsheets/getStarted_ca_cs.xml"
+			composite="false" 
+			id="com.nokia.s60tools.crashanalyser.quickstart"
+			name="CrashAnalyser Quick Start Guide: Capturing and analysing crash data"/>
+	</extension>
+   
+	<extension point="org.eclipse.help.index">
+	</extension>
+
+<!-- =================================================================================== -->
+<!-- Universal Intro support for welcome pages                                           -->
+<!-- =================================================================================== -->
+	<extension point="org.eclipse.ui.intro.configExtension">	
+		<configExtension
+			configId="org.eclipse.ui.intro.universalConfig" 
+			content="html/intro/overviewCrashAnalyserExtContent.xml" />		 
+		<configExtension
+			configId="org.eclipse.ui.intro.universalConfig"
+			content="html/intro/tutorialsCrashAnalyserExtContent.xml" />		 
+	</extension>
+   
+</plugin>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/src/com/nokia/s60tools/crashanalyser/help/HelpPlugin.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.help;
+
+import org.eclipse.ui.plugin.*;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The main plugin class to be used in the desktop.
+ */
+public class HelpPlugin extends AbstractUIPlugin {
+
+	//The shared instance.
+	private static HelpPlugin plugin;
+	
+	/**
+	 * The constructor.
+	 */
+	public HelpPlugin() {
+		plugin = this;
+	}
+
+	/**
+	 * This method is called upon plug-in activation
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+	}
+
+	/**
+	 * This method is called when the plug-in is stopped
+	 */
+	public void stop(BundleContext context) throws Exception {
+		super.stop(context);
+		plugin = null;
+	}
+
+	/**
+	 * Returns the shared instance.
+	 */
+	public static HelpPlugin getDefault() {
+		return plugin;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/.classpath	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/.settings/org.eclipse.jdt.core.prefs	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,8 @@
+#Wed Aug 12 14:08:00 EEST 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/.settings/org.eclipse.jdt.ui.prefs	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,3 @@
+#Mon Apr 23 11:28:50 EEST 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/META-INF/MANIFEST.MF	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Carbide.c++ Extensions - Crash Analyser
+Bundle-SymbolicName: com.nokia.s60tools.crashanalyser;singleton:=true
+Bundle-Version: 1.2.0
+Bundle-Activator: com.nokia.s60tools.crashanalyser.plugin.CrashAnalyserPlugin
+Bundle-Vendor: Nokia
+Bundle-Localization: plugin
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.ui.ide,
+ org.eclipse.core.resources,
+ com.nokia.s60tools.ui,
+ com.nokia.s60tools.sdk,
+ com.nokia.s60tools.util,
+ com.nokia.s60tools.crashanalyser.corecomponents,
+ org.eclipse.ui.editors,
+ org.eclipse.ui.workbench.texteditor,
+ org.eclipse.jface.text
+Export-Package: com.nokia.s60tools.crashanalyser.containers;x-friends:="com.nokia.s60tools.crashanalyser.tests",
+ com.nokia.s60tools.crashanalyser.export,
+ com.nokia.s60tools.crashanalyser.model;x-friends:="com.nokia.s60tools.crashanalyser.tests"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/ReleaseNotes.txt	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,54 @@
+=====================================================================
+RELEASE NOTE for Crash Analyser 1.2.0 (20th October 2009)
+=====================================================================
+
+Product Description:
+====================
+The Crash Analyser Carbide.c++ Extension is a tool for decoding different 
+types of crash files from binary to readable format and analysing crash/panic 
+situations. Crash Analyser provides an error library containing most of the 
+Symbian OS error codes and panic descriptions.
+
+You can activate the Crash Analyser by selecting Carbide > Crash Analyser.
+
+Features:
+=========
+- Decode MobileCrash and D_EXC files from binary to readable format. 
+- UI visualisation for decoding files (CrashVisualiser). 
+- Possibility to create HTML reports about a crash. 
+- Open crash related source files from the UI. 
+- Pick up MobileCrash files via TraceViewer Carbide.c++ Extension. 
+- Error library containing Symbian OS error codes and panic descriptions. 
+
+New Features:
+=============
+- Support for multiple processes
+- ELF core dump support
+- Drag & Drop support
+- Possibility to read files directly from the device via PC Suite connection
+
+Enhancements:
+=============
+- Improved progress reporting while handling crash files
+- Removed last wizard page in order to simplify user experience
+- Bug fixes & UI improvements
+
+System Requirements:
+====================
+
+Basic Requirements:
+
+- Windows 2000 or Windows XP 
+- .NET Framework v2.0.50727 or newer 
+
+Compatibility Issues:
+=====================
+- N/A
+
+Known Issues:
+===============
+- GCCE map files are not supported. Only RVCT map files are supported. 
+
+
+Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+License: http://www.symbianfoundation.org/legal/sfl-v10.html.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/about.html	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body>
+
+<h2>About This Content</h2>
+ 
+<p>February 4, 2009</p>	
+
+<h3>Copyright</h3>
+<p>Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. This component and the accompanying materials are made available under the terms of "Eclipse Public License v1.0" which accompanies this distribution and is available at the URL <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/about.ini	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,42 @@
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+#
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+# This text is shown in Feature Details -dialog when feature is selected.
+aboutText=%productBlurb
+
+# Property "windowImage" contains path to window icon (16x16)
+# needed for primary features only
+
+# Property "featureImage" contains path to feature image (32x32)
+# Not using this in here because we do not want the icon to
+# show on about dialog. Only using aboutText above.
+#featureImage=icons/appdep.png
+
+# Property "aboutImage" contains path to product image (500x330 or 115x164)
+# needed for primary features only
+
+# Property "appName" contains name of the application (translated)
+# needed for primary features only
+
+# Property "welcomePerspective" contains the id of the perspective in which the
+# welcome page is to be opened.
+# optional
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/about.mappings	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,22 @@
+# Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Symbian Foundation License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+# about.mappings
+# contains fill-ins for about.properties
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file does not need to be translated.
+
+# The following should contain the build version.
+# e.g. "0=20020612"
+0=0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/about.properties	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,29 @@
+# Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Symbian Foundation License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+# about.properties
+# contains externalized strings for about.ini
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# fill-ins are supplied by about.mappings
+# This file should be translated.
+
+productBlurb=Carbide.c++ Extensions - Crash Analyser \n\
+\n\
+Version: 1.1.0\n\
+Build id: {0}\n\
+\n\
+\n\
+Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. \n\
+License: http://www.symbianfoundation.org/legal/sfl-v10.html.
+\n\
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/build.properties	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,19 @@
+source.. = src/
+output.. = bin/
+bin.includes = icons/,\
+               plugin.xml,\
+               tools/,\
+               META-INF/,\
+               .,\
+               about.html,\
+               plugin.properties,\
+               about.ini,\
+               about.properties,\
+               about.mappings,\
+               data/,\
+               schema/
+bin.excludes = tools/PanicLibraryCreator.exe
+javacSource=1.5
+javacTarget=1.5
+
+               
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/ALLOC.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>ALLOC</category_name>
+  <category_description> &lt;p&gt;These panics are raised in debug builds only and are caused when the heap debugging functions detect a memory leak.&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id> nnnnnnnn</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code class="ApiItem"&gt;RHeap::__DbgMarkEnd()&lt;/code&gt;  and &lt;code class="ApiItem"&gt;User::__DbgMarkEnd()&lt;/code&gt; when the number of heap cells at the current nested level is not as expected. &lt;/p&gt;&lt;p&gt;nnnnnnnn is the hexadecimal pointer to the first orphaned heap cell.&lt;/p&gt;	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/ALLOC_COUNT.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>ALLOC COUNT</category_name>
+  <category_description> &lt;p&gt;These panics are only raised in debug builds and are caused when the heap debugging functions detect a memory leak.&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id> ALLOC COUNT 1 Expected aaaa Allocated bbbb Ln: ccc ddddd</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by  &lt;code class="ApiItem"&gt;RHeap::__DbgMarkCheck()&lt;/code&gt;  and &lt;code class="ApiItem"&gt;User::__DbgMarkCheck()&lt;/code&gt; when the current number of allocated heap cells is not as expected. &lt;/p&gt;&lt;p&gt;&lt;code&gt;aaa&lt;/code&gt; is the expected number of heap cells.&lt;/p&gt;&lt;p&gt;&lt;code&gt; bbb&lt;/code&gt; is the allocated number of heap cells.&lt;/p&gt;&lt;p&gt;&lt;code&gt; ccc&lt;/code&gt; is a line number; typically the source statement line containing the call to &lt;code&gt;__DbgMarkCheck()&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;&lt;code&gt; ddddd&lt;/code&gt; is a file name; typically the file containing the source statement containing the call to &lt;code&gt;__DbgMarkCheck()&lt;/code&gt;.&lt;/p&gt;	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Agenda_model.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,131 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>Agenda model</category_name>
+  <category_description> &lt;p&gt;Agenda model utility panics: &lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;The agenda model is in a state inconsistent with an action being requested of it. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;An entry contains bad or conflicting data. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;A to-do list contains bad or conflicting data. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;The to-do defaults contain bad or conflicting data. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;An agenda entry does not contain any rich text. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;An agenda date/time has a NULL value. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;Attempted to cast a &lt;code&gt;CAgnEntry&lt;/code&gt; to a &lt;code&gt;CAgnAppt&lt;/code&gt; when the entry's type is not &lt;code&gt;EAppt&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;Attempted to cast a &lt;code&gt;CAgnEntry&lt;/code&gt; to a &lt;code&gt;CAgnEvent&lt;/code&gt; when the entry's type is not &lt;code&gt;EEvent&lt;/code&gt; or &lt;code&gt;EAnniv&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;Attempted to cast a &lt;code&gt;CAgnEntry&lt;/code&gt; to a &lt;code&gt;CAgnAnniv&lt;/code&gt; when the entry's type is not &lt;code&gt;EAnniv&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;Attempted to cast a &lt;code&gt;CAgnEntry&lt;/code&gt; to a &lt;code&gt;CAgnTodo&lt;/code&gt; when the entry's type is not &lt;code&gt;ETodo&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;Attempted to set a date outside of the valid agenda model date range. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt;Attempted to access an array element outside the array bounds. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;Null pointer specified. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;Attempted to delete an agenda item that wasn't found. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt;The iterator has been assigned a null index. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt;The iterator is out of range. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt;The entry has a null time. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt;A parameter with a null date value was specified. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt;All instances of a repeating entry are exceptions. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt;Tried to fetch an instance that couldn't be generated from the repeat details. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt;An error has occurred in the entry cluster management. i.e. when storing the buffer there are more entries in it than the allowable maximum. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt;Performed an operation on an entry that has been marked as deleted. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>22</panic_id>
+      <panic_description>&lt;p&gt;Sort entry not found in index. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>23</panic_id>
+      <panic_description>&lt;p&gt;Requested an index that doesn't exist. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>24</panic_id>
+      <panic_description>&lt;p&gt;The stream from which an entry originates is different from the stream to which it is being updated/deleted. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>25</panic_id>
+      <panic_description>&lt;p&gt;Called&lt;code&gt;CAgnAlarm::RequestServerTerminationNotification()&lt;/code&gt; more than once. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>26</panic_id>
+      <panic_description>&lt;p&gt;Called&lt;code&gt;CAgnAlarm::RequestServerTerminationNotification()&lt;/code&gt; with a callback set. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>27</panic_id>
+      <panic_description>&lt;p&gt;Agenda model filter priority is invalid. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>28</panic_id>
+      <panic_description>&lt;p&gt;Agenda model filter maximum priority has not been set. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>29</panic_id>
+      <panic_description>&lt;p&gt;Crossed out entries are not included in tidy filter. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>30</panic_id>
+      <panic_description>&lt;p&gt;Called an unsupported function. &lt;/p&gt; 	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/BAFL.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,99 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>BAFL</category_name>
+  <category_description> &lt;p&gt;Basic Application Framework Library (BFL.lib) panics. A number of APIs raise these panics. &lt;/p&gt; &lt;p&gt;These are:&lt;/p&gt; &lt;p&gt;Application Utilities &lt;/p&gt; &lt;p&gt;Command Line Parsing &lt;/p&gt; &lt;p&gt;Environment Change Notifier &lt;/p&gt; &lt;p&gt;Incremental Matcher &lt;/p&gt; &lt;p&gt;Interface to Resource Files &lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt; &lt;/p&gt; &lt;p&gt;This panic is raised by &lt;code class="ApiItem"&gt;RResourceFile::ReadL()&lt;/code&gt;, when the length of the resource is greater than the maximum length of the target descriptor &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Out of range index passed to &lt;code&gt;RIncrMatcherBase::FirstMatchingIndex()&lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;Maximum length passed to &lt;code&gt;RTextBuf::SetMaxLengthL()&lt;/code&gt; was &amp;lt;=0 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Read...()&lt;/code&gt;  member functions and the &lt;code&gt;Advance()&lt;/code&gt;  member function of &lt;code class="ApiItem"&gt;TResourceReader&lt;/code&gt;, when the current position  in the resource buffer is moved  beyond the end of the buffer. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by &lt;code class="ApiItem"&gt;TResourceReader::Rewind()&lt;/code&gt;, when the current position  in the resource buffer is moved before the start of the buffer. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt;Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt;No path specified in sound info passed to &lt;code&gt;CBaSystemSoundArray::SetSoundL()&lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt;&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;This panic is raised by &lt;code class="ApiItem"&gt;TResourceReader::ReadTPtrC16()&lt;/code&gt;, when it detects that the alignment of Unicode strings within the  resource is incorrect, i.e. the buffer is of an incorrect length for reading  a Unicode string. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt;Unsupported old resource file format&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt;No system sound category set for new system sound &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt;Invalid system sound priority set &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt;NULL UID passed to &lt;code&gt;CBaNamedPlugins::IndexOfUid()&lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt;Bad resource file format found when constructing a &lt;code&gt;CBaNamedPlugins&lt;/code&gt; object. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt;The array position at which the text representing the choice of no plug-in is to  be inserted, is invalid. The panic is raised by &lt;code&gt;CBaNamedPlugins::ConstructL()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>22</panic_id>
+      <panic_description>&lt;p&gt;An invalid comparison algorithm or no comparison algorithm supplied when sorting the plug-in names in the implementation of &lt;code&gt;CBaNamedPlugins::ConstructL()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>23</panic_id>
+      <panic_description>&lt;p&gt;Unused. &lt;/p&gt; 	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/BITGDI.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,83 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>BITGDI</category_name>
+  <category_description> &lt;p&gt;Bitmaps (Graphical device) panics:&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;No graphics device specified for use with &lt;code&gt;CFbsBitGc&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;No font selected&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;Sprite cancelled when no sprite is set&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;Invalid display mode&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;Invalid clipping region&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt;Invalid window handle&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;Invalid font&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;Invalid bitmap&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt;Co-ordinates out of range&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt;Bad parameter used while filling a polygon&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt;Invalid zero-sized parameter&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt; 	   </panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt; 	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Bitmap_Utility.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>Bitmap Utility</category_name>
+  <category_description> &lt;p&gt;TImageBitmapUtilPanic:&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;ECorrupt&lt;/code&gt; - Data is corrupt cannot continue.&lt;/p&gt;	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/C32-fault.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,39 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>C32-fault</category_name>
+  <category_description> &lt;p&gt;Panic due to internal error of Serial Comms Server (or &amp;quot;Comms Server&amp;quot;).&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;Failed to install active scheduler or error running the scheduler.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;Failed to create server&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Failed to start server&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;Could not allocate a Clean Up Stack.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;API or function call not implemented yet.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;Reference counting error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;NULL pointer passed to API.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;Unable to allocate global timer, commonly caused by a memory allocation failure.&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/CESockIniData.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>CESockIniData</category_name>
+  <category_description> &lt;p&gt;Socket panic when reading esock.ini&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;Section name exceeded maximum length&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;Variable name exceeded maximum length&lt;/p&gt; 	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/CHWComm.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>CHWComm</category_name>
+  <category_description> &lt;p&gt;Panic of ECUART module raised by the Serial Comms Server (or &amp;quot;CommsServer&amp;quot;).&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;Bad descriptor passed by client.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;cancel()&lt;/code&gt; method called without calling the respective API first. I.e. an attempt was made to cancel an operation that was not started.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Incorrect usage of an API for the current DTE/DCE role.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;Internal error caused by the notification count being negative.&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/CInSock.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>CInSock</category_name>
+  <category_description> &lt;p&gt;Panic of TCP/IP relating to socket implementation&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;Connectionless socket used when connected type required&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;Attempt to send or receive on socket already in use&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/CMdaAudioOutputStream.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>CMdaAudioOutputStream</category_name>
+  <category_description> &lt;p&gt;Audio streaming panics&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to change the audio stream player's properties while still writing to the stream.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Not currently used.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to set the audio stream player's volume to an invalid value.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to access the stream before opening it.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to open the stream when it is already open.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to set the client's priority to an invalid value.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMdaAudioOutputStream::Open()&lt;/code&gt; was called with an incorrect audio package type&amp;#0160;&amp;#8212; it must be of type &lt;code&gt;TMdaAudioDataSettings&lt;/code&gt;.&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/CONARC.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>CONARC</category_name>
+  <category_description> &lt;p&gt;Converter Architecture panics&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CCnaScanningConverterFinder::NextL()&lt;/code&gt; called before &lt;code&gt;FindAllConvL()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;Attempt to scan unknown drive&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;File error while attempting to restore converter information &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CCnaScanningCnfFinder::NextL()&lt;/code&gt; called before &lt;code&gt;FindAllCnfL()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/CONE.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,235 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>CONE</category_name>
+  <category_description> &lt;p&gt;User Interface Control Framework panics&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt; Environment start up error &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt; Environment already exists &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt; App UI cannot be created &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt; Control cannot be found in the control stack &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt; Environment caught unexpected leave &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt; Non-leaving function CCoeControl::Draw() leaves during a redraw operation &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt; Environment found file server resources had not been freed &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt; Environment found window server resources had not been freed &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt; Environment failed to handle window server event &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt; The control already owns a window &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt; The control cannot close the window as it does not own one &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt; &lt;code&gt;CCoeControl::ComponentControl()&lt;/code&gt; has been called, but the control is not a container &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt; Environment cannot find the resource file in order to delete it &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt; Environment cannot find the specified resource in any resource file &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt; A NULL resource file name was passed to &lt;code&gt;CCoeEnv::AddResourceFileL()&lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt; Resource is wrong length to be read as Unicode string &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt; Internal control set up error &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt; Attempted to add NULL observer &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt; Attempted to remove NULL observer &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt; Attempted to set up NULL FEP &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt; Observer has already been added &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>22</panic_id>
+      <panic_description>&lt;p&gt; Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>23</panic_id>
+      <panic_description>&lt;p&gt; Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>24</panic_id>
+      <panic_description>&lt;p&gt; FEP could not be loaded due to set-up problem &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>25</panic_id>
+      <panic_description>&lt;p&gt; Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>26</panic_id>
+      <panic_description>&lt;p&gt; Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>27</panic_id>
+      <panic_description>&lt;p&gt; NULL GC passed to &lt;code&gt;CCoeEnv::SwapSystemGc()&lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>28</panic_id>
+      <panic_description>&lt;p&gt; Resource file has not been freed &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>29</panic_id>
+      <panic_description>&lt;p&gt; No view server session present &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>30</panic_id>
+      <panic_description>&lt;p&gt; Specified view could not be found &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>31</panic_id>
+      <panic_description>&lt;p&gt; NULL UID passed to &lt;code&gt;CCoeStatic::CCoeStatic()&lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>32</panic_id>
+      <panic_description>&lt;p&gt; Duplicate UID passed to &lt;code&gt;CCoeStatic::CCoeStatic()&lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>33</panic_id>
+      <panic_description>&lt;p&gt; Attempt to use &lt;code&gt;CoeSoundPlayer&lt;/code&gt; without an environment &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>34</panic_id>
+      <panic_description>&lt;p&gt; Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>35</panic_id>
+      <panic_description>&lt;p&gt; Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>36</panic_id>
+      <panic_description>&lt;p&gt; Open handles were found during application shutdown &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>37</panic_id>
+      <panic_description>&lt;p&gt; Unexpected view server event &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>38</panic_id>
+      <panic_description>&lt;p&gt; View observer not found &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>39</panic_id>
+      <panic_description>&lt;p&gt; View notification observer already exists &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>40</panic_id>
+      <panic_description>&lt;p&gt; Embedded app UI is not NULL &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>41</panic_id>
+      <panic_description>&lt;p&gt; Embedded app UI is not NULL &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>42</panic_id>
+      <panic_description>&lt;p&gt; Embedded app UI is not NULL &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>43</panic_id>
+      <panic_description>&lt;p&gt; Embedded app UI is not NULL &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>44</panic_id>
+      <panic_description>&lt;p&gt; Control being destroyed is still on the control stack &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>45</panic_id>
+      <panic_description>&lt;p&gt; Focus observer notification is not pending &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>46</panic_id>
+      <panic_description>&lt;p&gt; The handle for the current Window Server Redraw event is invalid &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>47</panic_id>
+      <panic_description>&lt;p&gt; No longer used &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>48</panic_id>
+      <panic_description>&lt;p&gt; No longer used &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>49</panic_id>
+      <panic_description>&lt;p&gt; The control parent-child hierarchy has become circular &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>50</panic_id>
+      <panic_description>&lt;p&gt; A control's parent has been set to something other than NULL or itself prior to being added to the control stack &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>51</panic_id>
+      <panic_description>&lt;p&gt; Two controls with the same ID exist &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>52</panic_id>
+      <panic_description>&lt;p&gt; An attempt was made to add an item to a control array which does not exist &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>53</panic_id>
+      <panic_description>&lt;p&gt; No longer used &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>54</panic_id>
+      <panic_description>&lt;p&gt; No longer used &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>55</panic_id>
+      <panic_description>&lt;p&gt; No longer used &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>56</panic_id>
+      <panic_description>&lt;p&gt; No longer used &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>57</panic_id>
+      <panic_description>&lt;p&gt; An error occured while notifying the central repository of a FEP change&lt;/p&gt; 	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/CWAPSession.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>CWAPSession</category_name>
+  <category_description> &lt;p&gt;The WAP Stack API can raise panics with the category CWAPSession, and the following codes:&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;Client made unrecognised request to  WAP server&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;An IPC error occurred&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to delete a non-existent sub-session&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to access a non-existent sub-session&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Clock.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,175 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>Clock-client</category_name>
+  <category_description> &lt;p&gt;Panics by the clock library:&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;Clock is already constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;Clock is already constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Clock is already constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt;Incorrect number of additions&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt;Incorrect number of additions&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt;No more additions expected&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt;Too few text sections&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>22</panic_id>
+      <panic_description>&lt;p&gt;Too few hands&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>23</panic_id>
+      <panic_description>&lt;p&gt;Too few hand features&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>24</panic_id>
+      <panic_description>&lt;p&gt;Invalid rectangle parameters&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>25</panic_id>
+      <panic_description>&lt;p&gt;Internal error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>26</panic_id>
+      <panic_description>&lt;p&gt;Internal error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>27</panic_id>
+      <panic_description>&lt;p&gt;Internal error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>28</panic_id>
+      <panic_description>&lt;p&gt;Internal error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>29</panic_id>
+      <panic_description>&lt;p&gt;Internal error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>30</panic_id>
+      <panic_description>&lt;p&gt;Internal error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>31</panic_id>
+      <panic_description>&lt;p&gt;Internal error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>32</panic_id>
+      <panic_description>&lt;p&gt;Internal error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>33</panic_id>
+      <panic_description>&lt;p&gt;Internal error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>34</panic_id>
+      <panic_description>&lt;p&gt;Internal error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>35</panic_id>
+      <panic_description>&lt;p&gt;Internal error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>36</panic_id>
+      <panic_description>&lt;p&gt;Internal error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>37</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>38</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>39</panic_id>
+      <panic_description>&lt;p&gt;Clock is not full constructed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>44</panic_id>
+      <panic_description>&lt;p&gt;Internal error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>45</panic_id>
+      <panic_description>&lt;p&gt;Internal error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>46</panic_id>
+      <panic_description>&lt;p&gt;Internal error&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Comm_Server.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,87 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>Comm server</category_name>
+  <category_description> &lt;p&gt;Panic of client raised by the Serial Comms Server (or &amp;quot;Comms Server&amp;quot;).&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;Write request made when request already in progress.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;Read request made when request already in progress.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Break request made when request already in progress.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;Invalid port handle passed by client.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;Bad descriptor passed by client.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;RComm::SetConfig()&lt;/code&gt; call made when another request already in progress.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;RComm::SetSignals()&lt;/code&gt; call made when another request already in progress.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;RComm::ResetBuffers()&lt;/code&gt; call made when another request already in progress.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;RComm::ReceiveBufferLength()&lt;/code&gt; call made when another request already in progress.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;Cannot have two outstanding &lt;code&gt;RComm::NotifySignalChange()&lt;/code&gt; requests from the same client.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;Cannot have two outstanding &lt;code&gt;RComm::NotifyFlowControlChange()&lt;/code&gt; requests from the same client.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt;Cannot have two outstanding &lt;code&gt;RComm::NotifyConfigChange()&lt;/code&gt; requests from the same client.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;Cannot have two outstanding &lt;code&gt;RComm::NotifyBreak()&lt;/code&gt; requests from the same client.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;Cannot have two outstanding &lt;code&gt;RComm::NotifyDataAvailable()&lt;/code&gt; requests from the same client.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt;Cannot have two outstanding &lt;code&gt;RComm::NotifyOutputEmpty()&lt;/code&gt; requests from the same client. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt;Thread size is negative.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt;Minimum heap size is too small.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt;Maximum heap size is less than minimum heap size.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt;Wrong client session for set access request.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt;Client must close object before setting comm access.&lt;/p&gt; 	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/CommsDbServer.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,55 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>CommsDbServer</category_name>
+  <category_description> &lt;p&gt;CommDb panics:&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CCommsDbTableView::InsertRecord()&lt;/code&gt; called when &lt;code&gt;InsertRecord()&lt;/code&gt; or &lt;code&gt;UpdateRecord()&lt;/code&gt; has already been made.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CCommsDbTableView::UpdateRecord()&lt;/code&gt; called when &lt;code&gt;InsertRecord()&lt;/code&gt; or &lt;code&gt;UpdateRecord()&lt;/code&gt; has already been made.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CCommsDbTableView::DeleteRecord()&lt;/code&gt; called when a previous call to &lt;code&gt;InsertRecord()&lt;/code&gt; or &lt;code&gt;UpdateRecord()&lt;/code&gt; has been made&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CCommsDbTableView::PutRecordChanges()&lt;/code&gt; called without previous call to &lt;code&gt;InsertRecord()&lt;/code&gt; or &lt;code&gt;UpdateRecord()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CCommsDbTableView::CancelRecordChanges()&lt;/code&gt; called without previous call to &lt;code&gt;InsertRecord()&lt;/code&gt; or &lt;code&gt;UpdateRecord()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CCommsDbTableView::GotoFirstRecord()&lt;/code&gt; called while an operation involved in inserting or updating a record is still outstanding, or when the view has been closed.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CCommsDbTableView::GotoNextRecord()&lt;/code&gt; called while an operation involved in inserting or updating a record is still outstanding, or when the view has been closed.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CCommsDbTableView::GotoPreviousRecord()&lt;/code&gt; called while an operation involved in inserting or updating a record is still outstanding, or when the view has been closed.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;Attempt made to read from a column before either &lt;code&gt;PutRecordChanges()&lt;/code&gt; or &lt;code&gt;CancelRecordChanges()&lt;/code&gt; has been called to complete a record insertion or update operation.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;Attempt is made to write to a column without calling &lt;code&gt;CCommsDbTableView::InsertRecord()&lt;/code&gt; or &lt;code&gt;CCommsDbTableView::UpdateRecord()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;Attempt to write to table ID column with &lt;code&gt;CCommsDbTableView::WriteUintL()&lt;/code&gt;.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CCommDbOverrideSettings::GetLongDesOverride()&lt;/code&gt; called with too small &lt;code&gt;aValue&lt;/code&gt; buffer.&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/E32USER-CBase.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,359 @@
+<?xml version="1.0" encoding="utf-8"?>
+<panic_category>
+  <category_name>E32USER-CBase</category_name>
+  <category_description>Panics with this category are raised in user side code by member functions of CBase derived classes that reside in euser.dll. Typically, they are caused by passing bad or contradictory values to class constructors or member functions.&lt;br&gt;&lt;br&gt;The thread causing the panic is terminated.</category_description>
+  <panics>
+	<panic>
+    	<panic_id>1</panic_id>
+    	<panic_description>This panic is raised by the Set() member function of CAsyncCallBack, if this active object is already active when the function is called.</panic_description>
+  	</panic>
+	<panic>
+		<panic_id>2</panic_id>
+	    <panic_description>&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;br&gt;&lt;br&gt;This panic is raised by the Call() member function of CAsyncOneShot if the active object has not already been added to the active scheduler.</panic_description>
+	</panic>
+	<panic>
+    	<panic_id>3</panic_id>
+    	<panic_description>This panic is raised during construction of a dynamic buffer (a CBufFlat or a CBufSeg) when the value of the granularity passed to the constructors is negative.</panic_description>
+  	</panic>
+	<panic>
+		<panic_id>4</panic_id>
+		<panic_description>This panic is raised when reading from a dynamic buffer (a CBufFlat or a CBufSeg) using the Read() member function. It is caused by attempting to read beyond the end of the buffer.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>5</panic_id>
+		<panic_description>This panic is raised when writing to a dynamic buffer (a CBufFlat or a CBufSeg) using the Write() member function. It is caused by attempting to write beyond the end of the buffer.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>6</panic_id>
+		<panic_description>This panic is raised when reading from a dynamic buffer (a CBufFlat or a CBufSeg) using the Read() member function. It is caused by specifying a negative length for the amount of data to be read.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>7</panic_id>
+		<panic_description>This panic is raised when writing to a dynamic buffer (a CBufFlat or a CBufSeg) using the Write() member function. It is caused by specifying a negative length for the amount of data to be written.</panic_description>
+	</panic>
+	<panic>
+    	<panic_id>8</panic_id>
+    	<panic_description>This panic is raised when inserting data into a dynamic buffer (a CBufFlat or a CBufSeg) using the InsertL() member function or when inserting an uninitialized region into the dynamic buffer using the ExpandL() member function. It is caused by passing a negative length value to these functions.</panic_description>
+	</panic>
+	<panic>
+    	<panic_id>9</panic_id>
+    	<panic_description>This panic is raised when inserting data into a dynamic buffer (a CBufFlat or a CBufSeg) using the InsertL() member function. It is caused when the variant of InsertL() which takes a pointer to TAny, is passed a NULL pointer value.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>10</panic_id>
+		<panic_description>This panic is raised when specifying the minimum amount of space which a flat dynamic buffer (a CBufFlat) should occupy using the SetReserveL() member function. It is caused when the size value passed to the function is negative.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>11</panic_id>
+		<panic_description>This panic is raised when specifying the minimum amount of space which a flat dynamic buffer (a CBufFlat) should occupy using the SetReserveL() member function. It is caused when the size value passed to the function is less than the current size of the buffer.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>12</panic_id>
+		<panic_description>This panic is raised by the Delete(), Ptr(), BackPtr() member functions of a flat dynamic buffer (a CBufFlat); the panic can also be raised by InsertL() and ExpandL(). It is caused when the position value passed to these functions is either negative or represents a position beyond the end of the current buffer.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>13</panic_id>
+		<panic_description>This panic is raised by the Delete() member function of a flat dynamic buffer (a CBufFlat). It is caused when the combination of position and length values passed to the function implies an attempt to delete data beyond the end of the flat buffer.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>14</panic_id>
+		<panic_description>This panic is raised by the Delete(), Ptr(), BackPtr() member functions of a segmented dynamic buffer (a CBufSeg); the panic can also be raised by InsertL() and ExpandL(). It is caused when the position value passed to these functions is either negative or represents a position beyond the end of the current buffer.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>15</panic_id>
+		<panic_description>This panic is raised by the Delete() member function of a segmented dynamic buffer (a CBufSeg). It is caused when the combination of position and length values passed to the function implies an attempt to delete data beyond the end of the segmented buffer.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>16</panic_id>
+		<panic_description>&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;br&gt;&lt;br&gt;This panic is raised by the InsertL(), Delete(), Ptr() and BackPtr() member functions as implemented for segmented buffers (CBufSeg), when the offset within a segment, where data is to be inserted or removed, is greater than the buffer granularity.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>17</panic_id>
+		<panic_description>This panic is raised by the constructors of arrays of fixed length objects as represented, for example, by the classes CArrayFixFlat, CArrayFixSeg and CArrayFixFlat&lt;TAny&gt;. It is caused when the record length is either negative or zero.&lt;br&gt;&lt;br&gt;The record length is either explicitly specified as in the case of the CArrayFixFlat&lt;TAny&gt; class or is implied by the length of the template class as in the case of the CArrayFixFlat class.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>18</panic_id>
+		<panic_description>This panic is raised by the constructors of arrays of fixed length objects as represented, for example, by the classes: CArrayFixFlat and CArrayFixSeg. It is caused when the granularity passed to the constructors is either negative or zero.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>19</panic_id>
+		<panic_description>This panic is raised by the constructors of arrays of variable length objects as represented, for example, by the classes: CArrayVarFlat and CArrayVarSeg. It is caused when the granularity passed to the constructors is either negative or zero.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>20</panic_id>
+		<panic_description>This panic is raised by the constructors of packed arrays as represented, for example, by the class CArrayPakFlat. It is caused when the granularity passed to the constructors is either negative or zero.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>21</panic_id>
+		<panic_description>This panic is raised by any operation which accesses an element of an array by explicit reference to an index number, for example, the Delete(), InsertL() and At() member functions or the operator Operator[]. It is caused by specifying an index value which is either negative or is greater than or equal to the number of objects currently within the array.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>22</panic_id>
+		<panic_description>This panic is raised when deleting contiguous elements from an array of fixed length objects (derived from CArrayFixBase) using the Delete() member function. It is caused by specifying the number of contiguous elements as a zero or negative value.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>23</panic_id>
+		<panic_description>This panic is raised when inserting contiguous elements into an array of fixed length objects (derived from CArrayFixBase) using the InsertL() member function. It is caused by specifying the number of contiguous elements as a zero or negative value.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>24</panic_id>
+		<panic_description>This panic is raised when resizing an array of fixed length objects (derived from CArrayFixBase) using the ResizeL() member function. It is caused by specifying the number of contiguous elements as a zero or negative value.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>25</panic_id>
+		<panic_description>This panic is raised when deleting contiguous elements from an array of variable length objects (derived from CArrayVarBase) using the Delete() member function. It is caused by specifying the number of contiguous elements as a zero or negative value.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>26</panic_id>
+		<panic_description>This panic is raised when deleting contiguous elements from a packed array (derived from CArrayPakBase) using the Delete() member function. It is caused by specifying the number of contiguous elements as a zero or negative value.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>27</panic_id>
+		<panic_description>This panic is raised when reserving space in flat arrays of fixed length objects, (the CArrayFixFlat,CArrayFixFlat&lt;TAny&gt; and CArrayPtrFlat classes ) using the SetReserveL() member function. It is caused by specifying the number of elements, for which space is to be reserved, as less than the current number of elements in the array.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>28</panic_id>
+		<panic_description>This panic is raised when inserting or appending replicated elements to the arrays of fixed length objects CArrayFixFlat and CArrayFixSeg using the InsertL() or AppendL() functions. It is caused by specifying the number of replicas as negative or zero.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>29</panic_id>
+		<panic_description>This panic is raised when deleting elements from a fixed length, variable length or packed array (derived from CArrayFixBase, CArrayVarBase and CArrayPakBase) using the Delete() function. It is caused when the specification of the position of the first element to be deleted and the number of contiguous elements to be deleted refers to elements which are outside the bounds of the array.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>30</panic_id>
+		<panic_description>This panic is raised when inserting into, appending onto, expanding or extending a variable length array or a packed array (i.e. arrays derived from CArrayVar or CArrayPak) using the InsertL(), AppendL(), ExpandL() or ExtendL() functions respectively. It is caused by specifying the length of the element as a negative value.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>33</panic_id>
+		<panic_description>This panic is raised by the destructor of a CObject. It is caused, if an attempt is made to delete the CObject when the reference count is not zero.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>34</panic_id>
+		<panic_description>This panic is raised by the Close() member function of a CObject. It is caused, if the reference count is negative.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>35</panic_id>
+		<panic_description>This panic is raised by the Remove() member function of an object container, a CObjectCon. It is caused when the CObject to be removed from the container is not contained by the container.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>36</panic_id>
+		<panic_description>This panic is raised by the Remove() member function of a container index, a CObjectConIx. It is caused when the object container, a CObjectCon, to be removed from the index is not contained by the index.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>37</panic_id>
+		<panic_description>This panic is raised by the Remove() member function of an object index, a CObjectIx. It is caused when the handle passed to the Remove() function does not represent a CObject known to the object index.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>38</panic_id>
+		<panic_description>This panic is raised by the At(), FindByName() and FindByFullName() member functions of an object container, a CObjectCon. It is caused when the unique ID as derived from the handle is not the same as the unique ID held by the object container.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>39</panic_id>
+		<panic_description>This panic is raised by the At() member function of an object container, a CObjectCon. It is caused when the index represented by the handle is outside the permitted range. In effect, the handle is bad.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>40</panic_id>
+		<panic_description>This panic is raised by the destructor of an active object, a CActive. It is caused by an attempt to delete the active object while it still has a request outstanding.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>41</panic_id>
+		<panic_description>This panic is raised by the Add() member function of an active scheduler, a CActiveScheduler. It is caused by an attempt to add an active object to the active scheduler when it has already been added to the active scheduler.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>42</panic_id>
+		<panic_description>This panic is raised by the SetActive() member function of an active object, a CActive. It is caused by an attempt to flag the active object as active when it is already active, i.e. a request is still outstanding.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>43</panic_id>
+		<panic_description>This panic is raised by the Install() member function of an active scheduler, a CActiveScheduler. It is caused by attempting to install this active scheduler as the current active scheduler when there is already a current active scheduler; i.e. an active scheduler has already been installed.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>44</panic_id>
+		<panic_description>This panic is raised by calls to the Start(), Stop() and Add() member functions of an active scheduler, a CActiveScheduler when the thread does not have an installed active scheduler.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>45</panic_id>
+		<panic_description>This panic is raised by the Stop() member function of an active scheduler, a CActiveScheduler. Calling Stop() terminates the wait loop started by the most recent call to Start(). The panic is caused by a call to Stop() which is not matched by a corresponding call to Start().</panic_description>
+	</panic>
+	<panic>
+		<panic_id>46</panic_id>
+		<panic_description>This panic is raised by an active scheduler, a CActiveScheduler. It is caused by a stray signal.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>47</panic_id>
+		<panic_description>This panic is raised by the Error() virtual member function of an active scheduler, a CActiveScheduler. This function is called when an active object’s RunL() function leaves. Applications always replace the Error() function in a class derived from CActiveScheduler; the default behaviour provided by CActiveScheduler raises this panic.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>48</panic_id>
+		<panic_description>This panic is raised by the Add() member function of an active scheduler, a CActiveScheduler, when a NULL pointer is passed to the function.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>49</panic_id>
+		<panic_description>This panic is raised by the SetActive() and Deque() member functions of an active object, a CActive. It is raised if the active object has not been added to the active scheduler.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>50</panic_id>
+		<panic_description>This panic is raised by the SetPriority() member function of an active object, a CActive. It is caused by an attempt to change the priority of the active object while it is active, i.e. while a request is outstanding).</panic_description>
+	</panic>
+	<panic>
+		<panic_id>51</panic_id>
+		<panic_description>This panic is raised by the At(), After() and Lock() member functions of the CTimer active object. It is caused by an attempt to request a timer event when the CTimer active object has not been added to the active scheduler.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>52</panic_id>
+		<panic_description>This panic is raised by the Start() member function of the periodic timer active object, a CPeriodic, when a negative time interval is passed to the function.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>53</panic_id>
+		<panic_description>This panic is raised by the Start() member function of the periodic timer active object, a CPeriodic, when a negative delay time interval is passed to the function.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>54</panic_id>
+		<panic_description>This panic is raised by the RunL() member function of the CServer active object base class responsible for handling asynchronous requests from a client thread when the client passes a negative function code in RMessage. The only negative values permitted are RMessage::EConnect and RMessage::EDisConnect.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>55</panic_id>
+		<panic_description>This panic is raised by the Start() member function of the CServer active object base class responsible for handling asynchronous requests from a client thread. It is caused by the server having no name.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>56</panic_id>
+		<panic_description>This panic is raised by the New() and NewL() member functions of CBitMapAllocator when a negative or zero size is passed to them.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>57</panic_id>
+		<panic_description>This panic is raised by the Free(TInt aPos) member function of CBitMapAllocator when a position value is passed which is out of bounds.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>58</panic_id>
+		<panic_description>This panic is raised by the IsFree(TInt aPos) member function of CBitMapAllocator when a position value is passed which is out of bounds.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>59</panic_id>
+		<panic_description>This panic is raised by the AllocFromTopFrom(TInt aPos) member function of CBitMapAllocator when a position value is passed which is out of bounds.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>62</panic_id>
+		<panic_description>This panic is raised by the AllocAt() member function of CBitMapAllocator when the implied position has already been allocated.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>63</panic_id>
+		<panic_description>This panic is raised as a result of a call to the Pop() and PopAndDestroy() static member functions of the CleanupStack class. The panic occurs when TRAPs have been nested and an attempt is made to pop too many items from the cleanup stack for the current nest level.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>64</panic_id>
+		<panic_description>This panic is raised as a result of a call to the Pop() and PopAndDestroy() static member functions of the CleanupStack class. The panic occurs when attempt is made to pop more items from the cleanup stack than are on the cleanup stack.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>65</panic_id>
+		<panic_description>The panic is raised as a result of a call to the Pop() and PopAndDestroy() static member functions of the CleanupStack class. The panic occurs when an attempt is made to pop more items from the cleanup stack than are on the cleanup stack.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>66</panic_id>
+		<panic_description>This panic is raised if an attempt is being made to insert a cleanup item into a position on the cleanup stack reserved for marking the current TRAP nest level. In practice this error occurs if the call to CleanupStack::PushL() happens when there has been no call to TRAP().</panic_description>
+	</panic>
+	<panic>
+		<panic_id>67</panic_id>
+		<panic_description>This panic is raised when building a TCleanupStackItem which is to be added to the cleanup stack. The building of the TCleanupStackItem needs a TCleanupItem and this has been constructed with a NULL cleanup operation (a TCleanupOperation).</panic_description>
+	</panic>
+	<panic>
+		<panic_id>68</panic_id>
+		<panic_description>This panic is raised if there are no free slots available on the cleanup stack to insert a cleanup item.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>69</panic_id>
+		<panic_description>This panic is raised if no trap handler has been installed. In practice, this occurs if CTrapCleanup::New() has not been called before using the cleanup stack.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>70</panic_id>
+		<panic_description>This panic is raised as a result of a call to the versions of the Pop() and PopAndDestroy() static member functions of the CleanupStack class which take an explicit count of the items to be popped. The panic is caused by passing a negative value for the number of items to be popped.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>71</panic_id>
+		<panic_description>This panic is raised when TRAPs have been nested and an attempt is made to exit from a TRAP nest level before all the cleanup items belonging to that level have been popped off the cleanup stack.&lt;br&gt;&lt;br&gt;There must be the same number of items on the cleanup stack on entering a TRAP harness as there is on exiting. In other words, anything that is pushed onto the cleanup stack inside a TRAP harness must be popped off before leaving the harness.&lt;br&gt;&lt;br&gt;For example, the following code avoids this panic when FooLC() does not leave, by explicitly popping pointer before the end of the harness:&lt;br&gt;&lt;br&gt;TRAPD(error, pointer = FooLC(); CleanupStack::Pop(pointer));&lt;br&gt;&lt;br&gt;See also How to use TRAP.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>72</panic_id>
+		<panic_description>This panic is raised by the constructor of the circular buffer base class, a CCirBufBase, when the size value passed is zero or negative.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>73</panic_id>
+		<panic_description>This panic is raised by a call to the SetLengthL() member function of of the circular buffer base class, a CCirBufBase, by passing a length value which is zero or negative.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>74</panic_id>
+		<panic_description>This panic is raised by a call to the Add() member function of a circular buffer, a CCirBuf when the pointer to the item to be added is NULL.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>75</panic_id>
+		<panic_description>This panic is raised by a call to the Add() member function of a circular buffer, a CCirBuf when the number of items to be added is zero or negative.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>76</panic_id>
+		<panic_description>This panic is raised by a call to the Remove() member function of a circular buffer, a CCirBuf when the number of items to be removed is zero or negative.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>89</panic_id>
+		<panic_description>Introduced in 6.0: This panic is raised by call to the Replace() member function of CActiveScheduler when the replacement active scheduler is the same as the existing active scheduler.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>90</panic_id>
+		<panic_description>Introduced in 6.0: The panic is raised as a result of a call to the Pop() and PopAndDestroy() static member functions of the CleanupStack class. The panic occurs when an the item to be popped is not the expected item.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>91</panic_id>
+		<panic_description>This panic is raised by CActiveSchedulerWait::Start() when the CActiveSchedulerWait object has already been started.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>92</panic_id>
+		<panic_description>This panic is raised by CActiveSchedulerWait::AsyncStop() and CActiveSchedulerWait::CanStopNow() when the CActiveSchedulerWait object has not been started.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>93</panic_id>
+		<panic_description>This panic is raised during construction of a CAsyncOneShot if the attempt to open a handle to the current thread fails.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>94</panic_id>
+		<panic_description>Not used.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>95</panic_id>
+		<panic_description>This panic is raised on calls to the default implementations of functions: CPolicyServer::CustomSecurityCheckL() and CPolicyServer::CustomFailureActionL().&lt;br&gt;&lt;br&gt;The class CPolicyServer is intended to be derived from, and these functions in particular need to be re-implemented in a derived class. This panic is a symptom of a failure to provide a derived class.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>96</panic_id>
+		<panic_description>&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;br&gt;&lt;br&gt;It is raised by the protected CPolicyServer constructor, if the first element pointed to by the iRanges member of the TPolicy aPolicy parameter does not have a value of 0; i.e. if aPolicy's TPolicy::iRanges[0] is not 0.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>97</panic_id>
+		<panic_description>&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;br&gt;&lt;br&gt;It is raised by the protected CPolicyServer constructor, if the value of each element of the iRanges member of the TPolicy aPolicy parameter is not greater than the value of the previous element.&lt;br&gt;&lt;br&gt;See also TPolicy::iRanges.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>98</panic_id>
+		<panic_description>&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;br&gt;&lt;br&gt;It is raised by the protected CPolicyServer constructor, if the value of every element in the iElementsIndex member of the TPolicy aPolicy parameter is not valid.&lt;br&gt;&lt;br&gt;Elements of iElementsIndex are invalid if their values are either:&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;less than ESpecialCaseHardLimit&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;or&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;greater than ESpecialCaseLimit&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;See also TPolicy::iElementsIndex and CPolicyServer::TSpecialCase.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>99</panic_id>
+		<panic_description>&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;br&gt;&lt;br&gt;It is raised by the protected CPolicyServer constructor, if the value of the iOnConnect member of the TPolicy aPolicy parameter is not valid.&lt;br&gt;&lt;br&gt;The iOnConnect member is invalid if its value is either:&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;less than ESpecialCaseHardLimit&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;or&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;greater than ESpecialCaseLimit&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;See also TPolicy::iOnConnect and CPolicyServer::TSpecialCase.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>100</panic_id>
+		<panic_description>This panic is raised if CPolicyServer::iPolicy is found to be invalid for some unknown reason.&lt;br&gt;&lt;br&gt;If you run the server in debug mode, it is likely that the server will panic with one of the panic codes in the range 96 to 99 inclusive. These are described above.&lt;br&gt;&lt;br&gt;See CPolicyServer for information about what constitutes a valid policy.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>101</panic_id>
+		<panic_description>This panic is raised when the value returned by the CPolicyServer::CustomSecurityCheckL() and CPolicyServer::CustomFailureActionL() functions is invalid.&lt;br&gt;&lt;br&gt;The CPolicyServer::TCustomResult enum defines the valid set of return values.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>102</panic_id>
+		<panic_description>&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;br&gt;&lt;br&gt;It is raised by the protected CPolicyServer constructor, if the value of the iRangeCount member of the TPolicy aPolicy parameter is not greater than 0. A value of 0 implies that no policies have been passed to the policy server. It is a requirement that at least one policy be passed to the policy server.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>103</panic_id>
+		<panic_description>This panic is raised by the policy server framework if a message fails a policy check, whether custom or not.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>104</panic_id>
+		<panic_description>&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;br&gt;&lt;br&gt;It is raised by a number of CObjectIx member functions if the object's data becomes inconsistent.</panic_description>
+	</panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/EIKCOCTL.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,351 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>EIKCOCTL</category_name>
+  <category_description> &lt;p&gt;TechView Core Controls panics:&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;Environment could not be created&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Invalid command line&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;Environment attempted to draw cursor in an unfocussed control&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;Control does not own the cursor&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;No such hotkey in call to &lt;code&gt;CEikHotKeyTable::RemoveItem()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;No such menu item&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;Hotkey and extra text set have been set on the same &lt;code&gt;CEikMenuPane&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;Changing the title text of this menu bar is not permitted&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;Text length exceeds the maximum in a &lt;code&gt;CEikSecretEditor&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>22</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>23</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>24</panic_id>
+      <panic_description>&lt;p&gt;Country or city selector already exists&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>25</panic_id>
+      <panic_description>&lt;p&gt;Index out of range in &lt;code&gt;CColumnListBoxData&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>26</panic_id>
+      <panic_description>&lt;p&gt;Illegal NULL pointer&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>27</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>28</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>29</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>30</panic_id>
+      <panic_description>&lt;p&gt;NULL field passed to &lt;code&gt;CEikEdwin::InsertFieldL()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>31</panic_id>
+      <panic_description>&lt;p&gt;Combo box is too small&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>32</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>33</panic_id>
+      <panic_description>&lt;p&gt;Command button has no components (label or picture not set)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>34</panic_id>
+      <panic_description>&lt;p&gt;Unknown folder selected through a &lt;code&gt;CEikFolderNameSelector&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>35</panic_id>
+      <panic_description>&lt;p&gt;Toolbar has no observer&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>36</panic_id>
+      <panic_description>&lt;p&gt;Toolbar could not be created&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>37</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>38</panic_id>
+      <panic_description>&lt;p&gt;Internal event error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>39</panic_id>
+      <panic_description>&lt;p&gt;Invalid dimensions for a &lt;code&gt;CEikControlGroup&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>40</panic_id>
+      <panic_description>&lt;p&gt;Invalid number of lines for a &lt;code&gt;CEikControlGroup&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>41</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CEikControlGroup&lt;/code&gt; not fully initialised&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>42</panic_id>
+      <panic_description>&lt;p&gt;Invalid bitmap index in &lt;code&gt;CColumnListBoxData::Draw()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>43</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>44</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CEikProcess::SaveToDirectFileStoreL()&lt;/code&gt; cannot be used as there is no store for the process&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>45</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CEikProcess::SaveToDirectFileStoreL()&lt;/code&gt; cannot be used as the store is the wrong type&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>46</panic_id>
+      <panic_description>&lt;p&gt;No observer set for a &lt;code&gt;CEikDialogToolBar&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>47</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>48</panic_id>
+      <panic_description>&lt;p&gt;Invalid resource for creating a &lt;code&gt;CEikLabeledButton&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>49</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>50</panic_id>
+      <panic_description>&lt;p&gt;Options or data have not been set for a time dialog&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>51</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>52</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>53</panic_id>
+      <panic_description>&lt;p&gt;Environment set up error: logical color not found&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>54</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>55</panic_id>
+      <panic_description>&lt;p&gt;Environment set up error: invalid logical color&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>56</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>57</panic_id>
+      <panic_description>&lt;p&gt;NULL text set for a &lt;code&gt;CEikLabel&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>58</panic_id>
+      <panic_description>&lt;p&gt;Environment set up error: invalid library&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>59</panic_id>
+      <panic_description>&lt;p&gt;Resource files are still open on environment closedown&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>60</panic_id>
+      <panic_description>&lt;p&gt;Control factory not removed on environment closedown&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>61</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CEikButtonGroupContainer::CleanupCommandPushL()&lt;/code&gt; called with &lt;code&gt;aPosition&lt;/code&gt; already allocated on the cleanup stack&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>62</panic_id>
+      <panic_description>&lt;p&gt;Corrupt &lt;code&gt;CEikButtonGroupContainer&lt;/code&gt; cleanup stack &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>63</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CEikButtonGroupContainer::UpdateCommandObserverL()&lt;/code&gt; called with an updated observer already present&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>64</panic_id>
+      <panic_description>&lt;p&gt;Corrupt edwin state for inlining editing&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>65</panic_id>
+      <panic_description>&lt;p&gt;Corrupt edwin state for inlining editing&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>66</panic_id>
+      <panic_description>&lt;p&gt;Corrupt edwin state for inlining editing&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>67</panic_id>
+      <panic_description>&lt;p&gt;Corrupt edwin state for inlining editing&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>68</panic_id>
+      <panic_description>&lt;p&gt;Corrupt edwin state for inlining editing&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>69</panic_id>
+      <panic_description>&lt;p&gt;Corrupt edwin state for inlining editing&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>70</panic_id>
+      <panic_description>&lt;p&gt;Corrupt edwin state for inlining editing&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>71</panic_id>
+      <panic_description>&lt;p&gt;Corrupt edwin state for inlining editing&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>72</panic_id>
+      <panic_description>&lt;p&gt;Corrupt edwin state for inlining editing&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>73</panic_id>
+      <panic_description>&lt;p&gt;Corrupt edwin state for inlining editing&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>74</panic_id>
+      <panic_description>&lt;p&gt;Corrupt edwin state for inlining editing&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>75</panic_id>
+      <panic_description>&lt;p&gt;Corrupt edwin state for inlining editing&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>76</panic_id>
+      <panic_description>&lt;p&gt;Invalid menu title identifier&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>77</panic_id>
+      <panic_description>&lt;p&gt;Environment set up error: library could not be loaded&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>78</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CEikScrollBarFrame&lt;/code&gt; could not create scroll bar&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>79</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CEikMsgWin&lt;/code&gt; used without vaild app UI&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>80</panic_id>
+      <panic_description>&lt;p&gt;Unexpected leave while setting the virtual cursor state&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>81</panic_id>
+      <panic_description>&lt;p&gt;Attempt to pop &lt;code&gt;CEikCommandButton&lt;/code&gt; from a NULL stack&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>82</panic_id>
+      <panic_description>&lt;p&gt;Unknown virtual cursor error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>83</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>84</panic_id>
+      <panic_description>&lt;p&gt;NULL button group factory referenced&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>85</panic_id>
+      <panic_description>&lt;p&gt;Button group factory did not create button group&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/ESock.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,91 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>ESock</category_name>
+  <category_description> &lt;p&gt;Panic of client from Sockets Server&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt; Unknown socket &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt; Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt; Connection request made while already attempting to connect &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt; Read request made while already attempting to read &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt; Send request made while already attempting to send &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt; Close request made while already attempting to close &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt; Shutdown request made while already attempting to shutdown &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt; Accept request made while already attempting to accept &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt; Ioctl request made while already attempting to perform Ioctl &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt; Can't use &lt;code&gt;RSocket::SendTo()&lt;/code&gt; on connection-orientated sockets &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt; Can't use &lt;code&gt;RSocket::ListenL()&lt;/code&gt; on connectionless sockets &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt; Listen request made while already attempting to listen &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt; Can't use &lt;code&gt;RSocket::Accept()&lt;/code&gt; if not listening &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt; Failed to accept &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt; Descriptor parameter error &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt;A request was made of an &lt;code&gt;RHostResolver&lt;/code&gt;, &lt;code&gt;RServiceResolver&lt;/code&gt;, or &lt;code&gt;RNetDatabase&lt;/code&gt; when an asynchronous request was already pending. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt; Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt; No socket in use &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt; Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt; &lt;code&gt;RHostResolver::Next()&lt;/code&gt; called without initial resolution request &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt; Socket not set up to connect &lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/ErrorCodes.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,7311 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<error_codes>
+  <error>
+    <error_name>KErrNotFound</error_name>
+    <error_value>-1</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Unable to find the specified object</error_text>
+  </error>
+  <error>
+    <error_name>KErrGeneral</error_name>
+    <error_value>-2</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>General (unspecified) error</error_text>
+  </error>
+  <error>
+    <error_name>KErrCancel</error_name>
+    <error_value>-3</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>The operation was cancelled</error_text>
+  </error>
+  <error>
+    <error_name>KErrNoMemory</error_name>
+    <error_value>-4</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Not enough memory. Close some applications and try again</error_text>
+  </error>
+  <error>
+    <error_name>KErrNotSupported</error_name>
+    <error_value>-5</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>The operation requested is not supported</error_text>
+  </error>
+  <error>
+    <error_name>KErrArgument</error_name>
+    <error_value>-6</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Bad request</error_text>
+  </error>
+  <error>
+    <error_name>KErrTotalLossOfPrecision</error_name>
+    <error_value>-7</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Total loss of precision</error_text>
+  </error>
+  <error>
+    <error_name>KErrBadHandle</error_name>
+    <error_value>-8</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Bad object</error_text>
+  </error>
+  <error>
+    <error_name>KErrOverflow</error_name>
+    <error_value>-9</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Overflow</error_text>
+  </error>
+  <error>
+    <error_name>KErrUnderflow</error_name>
+    <error_value>-10</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Underflow</error_text>
+  </error>
+  <error>
+    <error_name>KErrAlreadyExists</error_name>
+    <error_value>-11</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Already exists</error_text>
+  </error>
+  <error>
+    <error_name>KErrPathNotFound</error_name>
+    <error_value>-12</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Unable to find the specified folder</error_text>
+  </error>
+  <error>
+    <error_name>KErrDied</error_name>
+    <error_value>-13</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Closed</error_text>
+  </error>
+  <error>
+    <error_name>KErrInUse</error_name>
+    <error_value>-14</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>The specified object is currently in use by another program</error_text>
+  </error>
+  <error>
+    <error_name>KErrServerTerminated</error_name>
+    <error_value>-15</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Server has closed</error_text>
+  </error>
+  <error>
+    <error_name>KErrServerBusy</error_name>
+    <error_value>-16</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Server busy</error_text>
+  </error>
+  <error>
+    <error_name>KErrCompletion</error_name>
+    <error_value>-17</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Completion error</error_text>
+  </error>
+  <error>
+    <error_name>KErrNotReady</error_name>
+    <error_value>-18</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Not ready</error_text>
+  </error>
+  <error>
+    <error_name>KErrUnknown</error_name>
+    <error_value>-19</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Unknown error</error_text>
+  </error>
+  <error>
+    <error_name>KErrCorrupt</error_name>
+    <error_value>-20</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Corrupt</error_text>
+  </error>
+  <error>
+    <error_name>KErrAccessDenied</error_name>
+    <error_value>-21</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Access denied</error_text>
+  </error>
+  <error>
+    <error_name>KErrLocked</error_name>
+    <error_value>-22</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Locked</error_text>
+  </error>
+  <error>
+    <error_name>KErrWrite</error_name>
+    <error_value>-23</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Failed to write</error_text>
+  </error>
+  <error>
+    <error_name>KErrDisMounted</error_name>
+    <error_value>-24</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Wrong disk present</error_text>
+  </error>
+  <error>
+    <error_name>KErrEof</error_name>
+    <error_value>-25</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Unexpected end of file</error_text>
+  </error>
+  <error>
+    <error_name>KErrDiskFull</error_name>
+    <error_value>-26</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Disk full</error_text>
+  </error>
+  <error>
+    <error_name>KErrBadDriver</error_name>
+    <error_value>-27</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Bad device driver</error_text>
+  </error>
+  <error>
+    <error_name>KErrBadName</error_name>
+    <error_value>-28</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Bad name</error_text>
+  </error>
+  <error>
+    <error_name>KErrCommsLineFail</error_name>
+    <error_value>-29</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Comms line failed</error_text>
+  </error>
+  <error>
+    <error_name>KErrCommsFrame</error_name>
+    <error_value>-30</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Comms frame error</error_text>
+  </error>
+  <error>
+    <error_name>KErrCommsOverrun</error_name>
+    <error_value>-31</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Comms overrun error</error_text>
+  </error>
+  <error>
+    <error_name>KErrCommsParity</error_name>
+    <error_value>-32</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Comms parity error</error_text>
+  </error>
+  <error>
+    <error_name>KErrTimedOut</error_name>
+    <error_value>-33</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Timed out</error_text>
+  </error>
+  <error>
+    <error_name>KErrCouldNotConnect</error_name>
+    <error_value>-34</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Failed to connect</error_text>
+  </error>
+  <error>
+    <error_name>KErrCouldNotDisconnect</error_name>
+    <error_value>-35</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Failed to disconnect</error_text>
+  </error>
+  <error>
+    <error_name>KErrDisconnected</error_name>
+    <error_value>-36</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Disconnected</error_text>
+  </error>
+  <error>
+    <error_name>KErrBadLibraryEntryPoint</error_name>
+    <error_value>-37</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Bad library entry point</error_text>
+  </error>
+  <error>
+    <error_name>KErrBadDescriptor</error_name>
+    <error_value>-38</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Bad descriptor</error_text>
+  </error>
+  <error>
+    <error_name>KErrAbort</error_name>
+    <error_value>-39</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Interrupted</error_text>
+  </error>
+  <error>
+    <error_name>KErrTooBig</error_name>
+    <error_value>-40</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Too big</error_text>
+  </error>
+  <error>
+    <error_name>KErrDivideByZero</error_name>
+    <error_value>-41</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Divide by zero</error_text>
+  </error>
+  <error>
+    <error_name>KErrBadPower</error_name>
+    <error_value>-42</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Batteries too low</error_text>
+  </error>
+  <error>
+    <error_name>KErrDirFull</error_name>
+    <error_value>-43</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Folder full</error_text>
+  </error>
+  <error>
+    <error_name>KErrHardwareNotAvailable</error_name>
+    <error_value>-44</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrSessionClosed</error_name>
+    <error_value>-45</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrPermissionDenied</error_name>
+    <error_value>-46</error_value>
+    <error_component>E32  (E32ERR.H)</error_component>
+    <error_text>Permission denied when attempting operation</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrModemNotWorking</error_name>
+    <error_value>-101</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine. The fax modem has failed</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrCannotConnect</error_name>
+    <error_value>-102</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrCSIorCIG</error_name>
+    <error_value>-103</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrDISorDTC</error_name>
+    <error_value>-104</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrFrameFail</error_name>
+    <error_value>-105</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>The connection to the fax machine has been broken</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrAtNegotiatedSpeed</error_name>
+    <error_value>-106</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrCFR</error_name>
+    <error_value>-107</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrMCF</error_name>
+    <error_value>-108</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrCRP</error_name>
+    <error_value>-109</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrNoDial</error_name>
+    <error_value>-110</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine. Could not dial fax number</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrNoDialTone</error_name>
+    <error_value>-111</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine. No dial tone was detected</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrBusy</error_name>
+    <error_value>-112</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine. The line is busy</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrNoAnswer</error_name>
+    <error_value>-113</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine. The call was not answered</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrNoCarrier</error_name>
+    <error_value>-114</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine. The call was not answered by a fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrRemoteCannotReceive</error_name>
+    <error_value>-115</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not send to the fax machine. The fax machine is unable to receive faxes</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrCompression</error_name>
+    <error_value>-116</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrPageTooLong</error_name>
+    <error_value>-117</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrDCN</error_name>
+    <error_value>-118</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrRemoteDCN</error_name>
+    <error_value>-119</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrHDLC</error_name>
+    <error_value>-120</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrStopAndWait</error_name>
+    <error_value>-121</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrTrainStop</error_name>
+    <error_value>-122</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrReceiveTimeout</error_name>
+    <error_value>-123</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not send to the fax machine. The connection has timed out</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrCannotEndData</error_name>
+    <error_value>-124</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>The connection to the fax machine has been broken</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrEOP</error_name>
+    <error_value>-125</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrMPS</error_name>
+    <error_value>-126</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrNoReceiveMode</error_name>
+    <error_value>-127</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrCannotAnswer</error_name>
+    <error_value>-128</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrPrematureHangup</error_name>
+    <error_value>-129</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not receive fax. The fax machine ended the call</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrModemResponse</error_name>
+    <error_value>-130</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrPrematureOK</error_name>
+    <error_value>-131</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrNoFinalOK</error_name>
+    <error_value>-132</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrUnknownPageCode</error_name>
+    <error_value>-133</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrNoHangup</error_name>
+    <error_value>-134</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrNoNegotiate</error_name>
+    <error_value>-135</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrModemDisconnect</error_name>
+    <error_value>-136</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrWrongModemType</error_name>
+    <error_value>-137</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxErrTrainFail</error_name>
+    <error_value>-138</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxTransmitterStalled</error_name>
+    <error_value>-139</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxReceiverOverflow</error_name>
+    <error_value>-140</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxCannotOpenPort</error_name>
+    <error_value>-141</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxCannotCloseStore</error_name>
+    <error_value>-142</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxCannotOpenStore</error_name>
+    <error_value>-143</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxThreadError</error_name>
+    <error_value>-144</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxFileSessionError</error_name>
+    <error_value>-145</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxLogCreateError</error_name>
+    <error_value>-146</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxFileSeeKError</error_name>
+    <error_value>-147</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxPDDError</error_name>
+    <error_value>-148</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxLDDError</error_name>
+    <error_value>-149</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxC32Error</error_name>
+    <error_value>-150</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxCommsServerError</error_name>
+    <error_value>-151</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxCommsPortError</error_name>
+    <error_value>-152</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxCancelRequested</error_name>
+    <error_value>-153</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxNoClass2Xon</error_name>
+    <error_value>-154</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxConfigError</error_name>
+    <error_value>-155</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxCannotAutodetect</error_name>
+    <error_value>-156</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KCannotFindFirstPage</error_name>
+    <error_value>-157</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxBadInitialization</error_name>
+    <error_value>-158</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxOnlyJustAutoDetected</error_name>
+    <error_value>-159</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxBelowMinSpeed</error_name>
+    <error_value>-160</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxPollingUnsupported</error_name>
+    <error_value>-161</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KFaxNothingToPoll</error_name>
+    <error_value>-162</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KfaxEtelServerError</error_name>
+    <error_value>-163</error_value>
+    <error_component>ETelFax  (FAXSTD.H)</error_component>
+    <error_text>Could not connect to the fax machine</error_text>
+  </error>
+  <error>
+    <error_name>KPop3CannotConnect</error_name>
+    <error_value>-170</error_value>
+    <error_component>EmailPop  (MIUT_ERR.H)</error_component>
+    <error_text>The POP3 server refused to allow a connection</error_text>
+  </error>
+  <error>
+    <error_name>KPop3InvalidUser</error_name>
+    <error_value>-171</error_value>
+    <error_component>EmailPop  (MIUT_ERR.H)</error_component>
+    <error_text>The POP3 server refused to allow a connection. Check your mailbox username</error_text>
+  </error>
+  <error>
+    <error_name>KPop3InvalidLogin</error_name>
+    <error_value>-172</error_value>
+    <error_component>EmailPop  (MIUT_ERR.H)</error_component>
+    <error_text>The POP3 server refused to allow a connection. Check your mailbox username and password</error_text>
+  </error>
+  <error>
+    <error_name>KPop3CannotCreateApopLogonString</error_name>
+    <error_value>-173</error_value>
+    <error_component>EmailPop  (MIUT_ERR.H)</error_component>
+    <error_text>Could not create secure logon string. Mailbox server may not support secure logon</error_text>
+  </error>
+  <error>
+    <error_name>KPop3ProblemWithRemotePopServer</error_name>
+    <error_value>-174</error_value>
+    <error_component>EmailPop  (MIUT_ERR.H)</error_component>
+    <error_text>Problem communicating with POP3 server</error_text>
+  </error>
+  <error>
+    <error_name>KPop3CannotOpenServiceEntry</error_name>
+    <error_value>-175</error_value>
+    <error_component>EmailPop  (MIUT_ERR.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KPop3CannotSetRequiredFolderContext</error_name>
+    <error_value>-176</error_value>
+    <error_component>EmailPop  (MIUT_ERR.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KPop3InvalidApopLogin</error_name>
+    <error_value>-177</error_value>
+    <error_component>EmailPop  (MIUT_ERR.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KImsKErrorDNSNotFound</error_name>
+    <error_value>-180</error_value>
+    <error_component>Email Sockets  (MIUT_ERR.H)</error_component>
+    <error_text>Could not find a DNS server. Please check the DNS address in the internet control panel</error_text>
+  </error>
+  <error>
+    <error_name>KImsKErrorControlPanelLocked</error_name>
+    <error_value>-181</error_value>
+    <error_component>Email Sockets  (MIUT_ERR.H)</error_component>
+    <error_text>Could not connect to internet. Please ensure the internet control panel Or equivalent description to internet control panel is closed</error_text>
+  </error>
+  <error>
+    <error_name>KErrNetUnreach</error_name>
+    <error_value>-190</error_value>
+    <error_component>Sockets  (INSOCK.H)</error_component>
+    <error_text>Could not connect to the network. Currently unreachable</error_text>
+  </error>
+  <error>
+    <error_name>KErrHostUnreach</error_name>
+    <error_value>-191</error_value>
+    <error_component>Sockets  (INSOCK.H)</error_component>
+    <error_text>Could not connect to the specified server</error_text>
+  </error>
+  <error>
+    <error_name>KErrNoProtocolOpt</error_name>
+    <error_value>-192</error_value>
+    <error_component>Sockets  (INSOCK.H)</error_component>
+    <error_text>The specified server refuses the selected protocol</error_text>
+  </error>
+  <error>
+    <error_name>KErrUrgentData</error_name>
+    <error_value>-193</error_value>
+    <error_component>Sockets  (INSOCK.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrImapConnectFail</error_name>
+    <error_value>-200</error_value>
+    <error_component>Email IMAP4   (MIUT_ERR.H)</error_component>
+    <error_text>Could not connect to IMAP4 server</error_text>
+  </error>
+  <error>
+    <error_name>KErrImapServerFail</error_name>
+    <error_value>-201</error_value>
+    <error_component>Email IMAP4   (MIUT_ERR.H)</error_component>
+    <error_text>The connection to the IMAP4 server has been broken</error_text>
+  </error>
+  <error>
+    <error_name>KErrImapServerParse</error_name>
+    <error_value>-202</error_value>
+    <error_component>Email IMAP4   (MIUT_ERR.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrImapServerBusy</error_name>
+    <error_value>-203</error_value>
+    <error_component>Email IMAP4   (MIUT_ERR.H)</error_component>
+    <error_text>The IMAP4 server refused to allow connection. The server is currently busy</error_text>
+  </error>
+  <error>
+    <error_name>KErrImapServerVersion</error_name>
+    <error_value>-204</error_value>
+    <error_component>Email IMAP4   (MIUT_ERR.H)</error_component>
+    <error_text>Could not connect to the IMAP server. The IMAP server is of the wrong version</error_text>
+  </error>
+  <error>
+    <error_name>KErrImapSendFail</error_name>
+    <error_value>-205</error_value>
+    <error_component>Email IMAP4   (MIUT_ERR.H)</error_component>
+    <error_text>Could not transmit to the IMAP4 server</error_text>
+  </error>
+  <error>
+    <error_name>KErrImapBadLogon</error_name>
+    <error_value>-206</error_value>
+    <error_component>Email IMAP4   (MIUT_ERR.H)</error_component>
+    <error_text>The IMAP4 server refused to allow a connection. Check your mailbox username and password</error_text>
+  </error>
+  <error>
+    <error_name>KErrImapSelectFail</error_name>
+    <error_value>-207</error_value>
+    <error_component>Email IMAP4   (MIUT_ERR.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrImapWrongFolder</error_name>
+    <error_value>-208</error_value>
+    <error_component>Email IMAP4   (MIUT_ERR.H)</error_component>
+    <error_text>Could not select an IMAP4 folder</error_text>
+  </error>
+  <error>
+    <error_name>KSmtpNoMailFromErr</error_name>
+    <error_value>-240</error_value>
+    <error_component>Email SMTP  (MIUT_ERR.H)</error_component>
+    <error_text>Could not send email due to an invalid return email address. Check your email address in your account settings</error_text>
+  </error>
+  <error>
+    <error_name>KSmtpUnknownErr</error_name>
+    <error_value>-241</error_value>
+    <error_component>Email SMTP  (MIUT_ERR.H)</error_component>
+    <error_text>Problem while sending email</error_text>
+  </error>
+  <error>
+    <error_name>KSmtpBadMailFromAddress</error_name>
+    <error_value>-242</error_value>
+    <error_component>Email SMTP  (MIUT_ERR.H)</error_component>
+    <error_text>"Email message has an invalid ""From"" address"</error_text>
+  </error>
+  <error>
+    <error_name>KSmtpBadRcptToAddress</error_name>
+    <error_value>-243</error_value>
+    <error_component>Email SMTP  (MIUT_ERR.H)</error_component>
+    <error_text>"Email message has an invalid ""To"", ""Cc"" or ""Bcc"" address"</error_text>
+  </error>
+  <error>
+    <error_name>KSmtpLoginRefused</error_name>
+    <error_value>-244</error_value>
+    <error_component>Email SMTP  (MIUT_ERR.H)</error_component>
+    <error_text>SMTP server refused to allow connection</error_text>
+  </error>
+  <error>
+    <error_name>KBspInvalidMessage</error_name>
+    <error_value>-500</error_value>
+    <error_component>Bio Messaging  (BSP.H)</error_component>
+    <error_text>Corrupt message cannot be read.</error_text>
+  </error>
+  <error>
+    <error_name>KBspSmartMessageInvalidToken</error_name>
+    <error_value>-501</error_value>
+    <error_component>Bio Messaging  (BSP.H)</error_component>
+    <error_text>Corrupt message cannot be read.</error_text>
+  </error>
+  <error>
+    <error_name>KBspSmartMessageNoParserDefined</error_name>
+    <error_value>-502</error_value>
+    <error_component>Bio Messaging  (BSP.H)</error_component>
+    <error_text>Unknown message type cannot be read.</error_text>
+  </error>
+  <error>
+    <error_name>KIacpUnknownSmsType</error_name>
+    <error_value>-510</error_value>
+    <error_component>Bio Messaging   (IACPERR.H)</error_component>
+    <error_text>Unknown message type cannot be read.</error_text>
+  </error>
+  <error>
+    <error_name>KIacpBIOMsgTypeNotSupported</error_name>
+    <error_value>-511</error_value>
+    <error_component>Bio Messaging   (IACPERR.H)</error_component>
+    <error_text>Unknown message type cannot be read.</error_text>
+  </error>
+  <error>
+    <error_name>KiacpMandatoryDataNotSet</error_name>
+    <error_value>-512</error_value>
+    <error_component>Bio Messaging   (IACPERR.H)</error_component>
+    <error_text>Corrupt message cannot be read.</error_text>
+  </error>
+  <error>
+    <error_name>KIacpUnknownMailProtocol</error_name>
+    <error_value>-513</error_value>
+    <error_component>Bio Messaging   (IACPERR.H)</error_component>
+    <error_text>Mailbox configuration message refers to an unknown protocol.</error_text>
+  </error>
+  <error>
+    <error_name>KIacpErrRightToken</error_name>
+    <error_value>-514</error_value>
+    <error_component>Bio Messaging   (IACPERR.H)</error_component>
+    <error_text>Corrupt message cannot be read.</error_text>
+  </error>
+  <error>
+    <error_name>KIacpErrLeftToken</error_name>
+    <error_value>-515</error_value>
+    <error_component>Bio Messaging   (IACPERR.H)</error_component>
+    <error_text>Corrupt message cannot be read.</error_text>
+  </error>
+  <error>
+    <error_name>KIacpErrSmsDataNotParsed</error_name>
+    <error_value>-516</error_value>
+    <error_component>Bio Messaging   (IACPERR.H)</error_component>
+    <error_text>Corrupt message cannot be read.</error_text>
+  </error>
+  <error>
+    <error_name>KIacpErrSmsDataNotRestored</error_name>
+    <error_value>-517</error_value>
+    <error_component>Bio Messaging   (IACPERR.H)</error_component>
+    <error_text>Corrupt message cannot be read.</error_text>
+  </error>
+  <error>
+    <error_name>KIacpScriptErrISPNotFound</error_name>
+    <error_value>-518</error_value>
+    <error_component>Bio Messaging   (IACPERR.H)</error_component>
+    <error_text>Mailbox configuration message specifies an unknown Internet Access Point.</error_text>
+  </error>
+  <error>
+    <error_name>KIacpErrScriptNotDefined</error_name>
+    <error_value>-519</error_value>
+    <error_component>Bio Messaging   (IACPERR.H)</error_component>
+    <error_text>Message script error.</error_text>
+  </error>
+  <error>
+    <error_name>KIacpErrScriptNotFoundInDB</error_name>
+    <error_value>-520</error_value>
+    <error_component>Bio Messaging   (IACPERR.H)</error_component>
+    <error_text>Message script error.</error_text>
+  </error>
+  <error>
+    <error_name>KIacpErrScriptAlreadyAdd</error_name>
+    <error_value>-521</error_value>
+    <error_component>Bio Messaging   (IACPERR.H)</error_component>
+    <error_text>Message script error.</error_text>
+  </error>
+  <error>
+    <error_name>KErrWouldBlock</error_name>
+    <error_value>-1000</error_value>
+    <error_component>Sockets  (INSOCK.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrExtended</error_name>
+    <error_value>-1000</error_value>
+    <error_component>BAFL  (BASCHED.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrExtendedWithText</error_name>
+    <error_value>-1001</error_value>
+    <error_component>BAFL  (BASCHED.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KLeaveWithoutAlert</error_name>
+    <error_value>-1002</error_value>
+    <error_component>BAFL  (BASCHED.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KLeaveExit</error_name>
+    <error_value>-1003</error_value>
+    <error_component>BAFL  (BASCHED.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrEtelNotCallOwner</error_name>
+    <error_value>-2000</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelDuplicatePhoneName</error_name>
+    <error_value>-2001</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelAlreadyCallOwner</error_name>
+    <error_value>-2002</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelNoCarrier</error_name>
+    <error_value>-2003</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Problem communicating receiving device. Call was unexpectedly dropped</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelBusyDetected</error_name>
+    <error_value>-2004</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Phone number is busy. Wait before trying again</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelNoClientInterestedInThisCall</error_name>
+    <error_value>-2005</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelInitialisationFailure</error_name>
+    <error_value>-2006</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelCallNotActive</error_name>
+    <error_value>-2007</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelNoAnswer</error_name>
+    <error_value>-2008</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Call was not answered</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelNoDialTone</error_name>
+    <error_value>-2009</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelConfigPortFailure</error_name>
+    <error_value>-2010</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelFaxChunkNotCreated</error_name>
+    <error_value>-2011</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelNotFaxOwner</error_name>
+    <error_value>-2012</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelPortNotLoanedToClient</error_name>
+    <error_value>-2013</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelWrongModemType</error_name>
+    <error_value>-2014</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelUnknownModemCapability</error_name>
+    <error_value>-2015</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelAnswerAlreadyOutstanding</error_name>
+    <error_value>-2016</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelModemNotDetected</error_name>
+    <error_value>-2017</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrEtelModemSettingsCorrupt</error_name>
+    <error_value>-2018</error_value>
+    <error_component>Etel  (ETEL.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrExitNoModem</error_name>
+    <error_value>-3001</error_value>
+    <error_component>Networking  (ND_ERR.H)</error_component>
+    <error_text>No response from phone. Ensure phone is switched on</error_text>
+  </error>
+  <error>
+    <error_name>KErrExitModemError</error_name>
+    <error_value>-3002</error_value>
+    <error_component>Networking  (ND_ERR.H)</error_component>
+    <error_text>Problem communicating with Internet service's modem</error_text>
+  </error>
+  <error>
+    <error_name>KErrExitLoginFail</error_name>
+    <error_value>-3003</error_value>
+    <error_component>Networking  (ND_ERR.H)</error_component>
+    <error_text>Internet username or password is incorrect.</error_text>
+  </error>
+  <error>
+    <error_name>KErrExitScriptTimeOut</error_name>
+    <error_value>-3004</error_value>
+    <error_component>Networking  (ND_ERR.H)</error_component>
+    <error_text>Internet service login script timed out. Internet service login script may be incorrect.</error_text>
+  </error>
+  <error>
+    <error_name>KErrExitScriptError</error_name>
+    <error_value>-3005</error_value>
+    <error_component>Networking  (ND_ERR.H)</error_component>
+    <error_text>Problem with Internet service login script. Internet service login script may be incorrect.</error_text>
+  </error>
+  <error>
+    <error_name>KErrNetDialDatabaseDefaultUndefined</error_name>
+    <error_value>-3006</error_value>
+    <error_component>Networking  (ND_ERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrNetDialDatabaseTypeUnknown</error_name>
+    <error_value>-3007</error_value>
+    <error_component>Networking  (ND_ERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrNetDialDatabaseNotFound</error_name>
+    <error_value>-3008</error_value>
+    <error_component>Networking  (ND_ERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrNetDialHscsdNotSupported</error_name>
+    <error_value>-3009</error_value>
+    <error_component>Networking  (ND_ERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIfAuthenticationFailure</error_name>
+    <error_value>-3050</error_value>
+    <error_component>TCP/IP  (IN_IFACE.H)</error_component>
+    <error_text>Internet username or password is incorrect</error_text>
+  </error>
+  <error>
+    <error_name>KErrIfAuthNotSecure</error_name>
+    <error_value>-3051</error_value>
+    <error_component>TCP/IP  (IN_IFACE.H)</error_component>
+    <error_text>Internet service server only allows plain text authentication. This is currently disabled.</error_text>
+  </error>
+  <error>
+    <error_name>KErrIfAccountDisabled</error_name>
+    <error_value>-3052</error_value>
+    <error_component>TCP/IP  (IN_IFACE.H)</error_component>
+    <error_text>Could not connect to Internet service. Your account has been disabled</error_text>
+  </error>
+  <error>
+    <error_name>KErrIfRestrictedLogonHours</error_name>
+    <error_value>-3053</error_value>
+    <error_component>TCP/IP  (IN_IFACE.H)</error_component>
+    <error_text>Could not connect to Internet service. Your account is only active during restricted hours</error_text>
+  </error>
+  <error>
+    <error_name>KErrIfPasswdExpired</error_name>
+    <error_value>-3054</error_value>
+    <error_component>TCP/IP  (IN_IFACE.H)</error_component>
+    <error_text>Could not connect to Internet service. Your Internet password has expired</error_text>
+  </error>
+  <error>
+    <error_name>KErrIfNoDialInPermission</error_name>
+    <error_value>-3055</error_value>
+    <error_component>TCP/IP  (IN_IFACE.H)</error_component>
+    <error_text>Could not connect to Internet service. Your do not have dial-in permission</error_text>
+  </error>
+  <error>
+    <error_name>KErrIfChangingPassword</error_name>
+    <error_value>-3056</error_value>
+    <error_component>TCP/IP  (IN_IFACE.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrIfCallbackNotAcceptable</error_name>
+    <error_value>-3057</error_value>
+    <error_component>TCP/IP  (IN_IFACE.H)</error_component>
+    <error_text>Could not connect to Internet service. Callback is not supported</error_text>
+  </error>
+  <error>
+    <error_name>KErrIfDNSNotFound</error_name>
+    <error_value>-3058</error_value>
+    <error_component>TCP/IP  (IN_IFACE.H)</error_component>
+    <error_text>Could not find specified Internet server</error_text>
+  </error>
+  <error>
+    <error_name>KErrIfLRDBadLine</error_name>
+    <error_value>-3059</error_value>
+    <error_component>TCP/IP  (IN_IFACE.H)</error_component>
+    <error_text>Bad line to Internet service dropped</error_text>
+  </error>
+  <error>
+    <error_name>KErrIfNoServerPresent</error_name>
+    <error_value>-3060</error_value>
+    <error_component>TCP/IP  (IN_IFACE.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrIfRemoteDisconnected</error_name>
+    <error_value>-3061</error_value>
+    <error_component>TCP/IP  (IN_IFACE.H)</error_component>
+    <error_text>Panic</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelWrongMode</error_name>
+    <error_value>-3201</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Client has requested a mode-specific API service and the phone is currently in the wrong mode.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelFailedDueToModeChange</error_name>
+    <error_value>-3202</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Error code to cater for requests that fail because the mode changes mid-way during servicing that request</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelRemoteEndTermination</error_name>
+    <error_value>-3203</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Remote user (or network) has terminated an ongoing call.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelSmsFormatNotSupported</error_name>
+    <error_value>-3204</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Client requested a message format that is not supported by TSY anor phone.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelFeatureCodeNotSet</error_name>
+    <error_value>-3205</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Client requests a service whose feature code has not been programmed e.g. Call Forwarding.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelNetworkNotResponding</error_name>
+    <error_value>-3206</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>"Network has failed to respond to an MS initiated request e.g. ""flash info"""</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelCallForbidden</error_name>
+    <error_value>-3207</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Client requests a call to a destination that is forbidden.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelMaxReached</error_name>
+    <error_value>-3208</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>The maximum number of entries in astore has been reached.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelCallTerminated</error_name>
+    <error_value>-3209</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Remote user (or network) has terminated an ongoing call.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelFormatNotSupported</error_name>
+    <error_value>-3210</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>The client requested a message format that is not supported by TSY anor phone.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelHiddenEntry</error_name>
+    <error_value>-3211</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>The phonebook entry is hidden.This is a USIM phonebook specific error.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelFallbacktoVoice</error_name>
+    <error_value>-3212</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>The request to answer a multimedia call has failed because the network can now only support voice.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelMacVerificationFailed</error_name>
+    <error_value>-3213</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Authentication derived MAC does not match locally calculated MAC</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelSqnVerificationFailed</error_name>
+    <error_value>-3214</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Authentication derived SQN value is not in the expected range</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelAuthenticateFailed</error_name>
+    <error_value>-3215</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Authenticate command failed</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelScMaxApplicationsActive</error_name>
+    <error_value>-3216</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Application cannot be activated as maximum number of applications already active.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelScNoInfoNonVolatileMemoryUnchanged</error_name>
+    <error_value>-3217</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>No information given, the state of the non-volatile memory is unchanged.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelScNoInfoNonVolatileMemoryChanged</error_name>
+    <error_value>-3218</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>No information given, the state of the non-volatile memory is changed.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelScReturnedDataCorrupt</error_name>
+    <error_value>-3219</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Part of the returned data may be corrupt.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelScEofReached</error_name>
+    <error_value>-3220</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>End of file reached before reading requested number of bytes or records have been read.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelScFileInvalidated</error_name>
+    <error_value>-3221</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Selected file is invalidated.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelScNoMemory</error_name>
+    <error_value>-3222</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>The smart card had a memory problem when executing the command.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelScWrongLength</error_name>
+    <error_value>-3223</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Wrong length</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelScGeneral</error_name>
+    <error_value>-3224</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Technical problem, no precise diagnosis</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelScIncompatibleFileStructure</error_name>
+    <error_value>-3225</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Command incompatible with file structure</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelScReferencedDataInvalidated</error_name>
+    <error_value>-3226</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Referenced data invalidated</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelScFunctionNotSupported</error_name>
+    <error_value>-3227</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Function not supported</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelScFileNotFound</error_name>
+    <error_value>-3228</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>File not found</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelScRecordNotFound</error_name>
+    <error_value>-3229</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Record not found</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelScReferencedDataNotFound</error_name>
+    <error_value>-3230</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Referenced data not found</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMEtelScApplicationNotActive</error_name>
+    <error_value>-3231</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Application not activate.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsAddressVacant</error_name>
+    <error_value>-3256</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>SMS destination address is valid but not currently allocated to an SMS terminal.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsAddressTranslationFailure</error_name>
+    <error_value>-3257</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>SMS destination address is invalid.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsNetworkResourceShortage</error_name>
+    <error_value>-3258</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Network transmissionfailed due to lack of network resource or link capacity.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsNetworkFailure</error_name>
+    <error_value>-3259</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>A network node failed, a link failed or a required operation failed.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsInvalidTeleserviceId</error_name>
+    <error_value>-3260</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>SMS Teleservice ID is either not known or not supported.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsOtherNetworkProblem</error_name>
+    <error_value>-3261</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>A network problem other than identified by above error codes.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsNoPageResponse</error_name>
+    <error_value>-3262</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>The addressed MS-based SME is known but it does not respond to a page.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsDestinationBusy</error_name>
+    <error_value>-3263</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>The addressed MS-based SME is SMS capable but is currently engaged in a call, a service or a call mode that precludes the use of SMS.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsNoAcknowledgement</error_name>
+    <error_value>-3264</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>The destination SME does not acknowledge receipt of the SMS delivery.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsDestinationResourceShortage</error_name>
+    <error_value>-3265</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>A required terminal resource (e.g.memory) is not available to process this message.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsDeliveryPostponed</error_name>
+    <error_value>-3266</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Delivery is not currently possible but SMS notification is pending.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsOtherNetworkProblem</error_name>
+    <error_value>-3267</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>The addressed destination is out of service for an extended period of time.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsDestinationNoLongerAtAddress</error_name>
+    <error_value>-3268</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>The MS based SME is no longer at the temporary SMS routing address.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsOtherTerminalProblem</error_name>
+    <error_value>-3269</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>A terminal problem other than identified by the above error codes.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsRadioInterfaceResourceShortage</error_name>
+    <error_value>-3320</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>There is no channel available or there is radio congestion at this time.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsRadioInterfaceIncompatibility</error_name>
+    <error_value>-3321</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>The MS for an MS-based SME is operating in a mode that does not support SMS at this time.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsOtherRadioInterfaceProblem</error_name>
+    <error_value>-3322</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>A radio interface problem other than identified by the above error codes.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsEncodingProblem</error_name>
+    <error_value>-3352</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>The size of a parameter or field is not what is expected.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsOriginationDenied</error_name>
+    <error_value>-3353</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>The originating MIN is not recognized, the originating address is not allowed for the originating MIN, the ESN doesn't match the originating MIN, the origination is not authorized, the originating address is not recognized, etc.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsTerminationDenied</error_name>
+    <error_value>-3354</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>The destination is not authorized to receive the SMS message, the MC refused the message, the destination SME refused the message, the destination is not authorized for a required supplementary service, etc.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsSupplServiceNotSupported</error_name>
+    <error_value>-3355</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>The originating supplementary service is not known or supported, the sender is not authorized for an originating supplementary service, etc.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsSmsNotSupported</error_name>
+    <error_value>-3356</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>SMS is not supported by an addressed functional entity.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsMissingExpectedParameter</error_name>
+    <error_value>-3358</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>An optional parameter is missing that is required for a particular function.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsMissingMandatoryParameter</error_name>
+    <error_value>-3359</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>A parameter is missing that is mandatory for a particular message.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsUnrecognizedParameterValue</error_name>
+    <error_value>-3360</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>A known parameter has an unknown or unsupported value.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsUnexpectedParameterValue</error_name>
+    <error_value>-3361</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>A known parameter has a known, but unexpected value.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsUserDataSizeError</error_name>
+    <error_value>-3362</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>The User Data size is too large for access technology, transport network, or call mode, etc. The User Data size is not what is expected for the indicated teleservice.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaSmsOtherGeneralProblem</error_name>
+    <error_value>-3363</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Other general problems.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGenConnDatabaseDefaultUndefined</error_name>
+    <error_value>-3606</error_value>
+    <error_component>Generic Connection Agent  (GENCONNERROR.H)</error_component>
+    <error_text>CommDb Error</error_text>
+  </error>
+  <error>
+    <error_name>KErrGenConnDatabaseTypeUnknown</error_name>
+    <error_value>-3607</error_value>
+    <error_component>Generic Connection Agent  (GENCONNERROR.H)</error_component>
+    <error_text>CommDb Error</error_text>
+  </error>
+  <error>
+    <error_name>KErrGenConnDatabaseNotFound</error_name>
+    <error_value>-3608</error_value>
+    <error_component>Generic Connection Agent  (GENCONNERROR.H)</error_component>
+    <error_text>CommDb Error</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmRRUnspecifedAbnormalRelease</error_name>
+    <error_value>-4001</error_value>
+    <error_component>TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmRRChannelUnacceptable</error_name>
+    <error_value>-4002</error_value>
+    <error_component>TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmRRTimerExpired</error_name>
+    <error_value>-4003</error_value>
+    <error_component>TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmRRNoActivityOnRadioPath</error_name>
+    <error_value>-4004</error_value>
+    <error_component>TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmRRPreEmptiveRelease</error_name>
+    <error_value>-4005</error_value>
+    <error_component>TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmRRCallAlreadyCleared</error_name>
+    <error_value>-4065</error_value>
+    <error_component>TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmRRInvalidMessage</error_name>
+    <error_value>-4095</error_value>
+    <error_component>TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmRRNonExistentMessage</error_name>
+    <error_value>-4097</error_value>
+    <error_component>TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>No network support for requested operation.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmRRIncompatibleMessageWithCallState</error_name>
+    <error_value>-4098</error_value>
+    <error_component>TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmRRInvalidInformationElement</error_name>
+    <error_value>-4100</error_value>
+    <error_component>TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmRRUnspecifiedProtocolError</error_name>
+    <error_value>-4111</error_value>
+    <error_component>TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMUnallocatedTmsi</error_name>
+    <error_value>-4129</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMImsiUnknownInHlr</error_name>
+    <error_value>-4130</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Operation is not allowed. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMIllegalMs</error_name>
+    <error_value>-4131</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Phone is blacklisted. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMImsiUnknownInVlr</error_name>
+    <error_value>-4132</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMImeiNotAccepted</error_name>
+    <error_value>-4133</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Phone failure.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMIllegalMe</error_name>
+    <error_value>-4134</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Phone is blacklisted. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsServiceNotAllowed</error_name>
+    <error_value>-4135</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>Failed to connect to the GPRS network</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsAndNonGprsServicesNotAllowed</error_name>
+    <error_value>-4136</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>Failed to connect to the mobile network</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsMSIdentityCannotBeDerivedByTheNetwork</error_name>
+    <error_value>-4137</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>Identity could not be derived by the network</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsMSImplicitlyDetached</error_name>
+    <error_value>-4138</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>Your device was disconnected from the GPRS network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMPlmnNotAllowed</error_name>
+    <error_value>-4139</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Roaming is not allowed in this area.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMLocationAreaNotAllowed</error_name>
+    <error_value>-4140</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Roaming is not allowed in this area.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMRoamingNotAllowedInThisLocationArea</error_name>
+    <error_value>-4141</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Roaming is not allowed in this area.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsMSCTemporarilyNotReachable</error_name>
+    <error_value>-4144</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>GPRS MSC temporary not reachable</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMNetworkFailure</error_name>
+    <error_value>-4145</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMCongestion</error_name>
+    <error_value>-4150</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Network busy.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsLlcOrSndcpFailure</error_name>
+    <error_value>-4153</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>Your connection to Internet was dropped.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsInsufficientResources</error_name>
+    <error_value>-4154</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>Network overloaded.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsMissingorUnknownAPN</error_name>
+    <error_value>-4155</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>"""Could not connect to Internet service. Callback is not supported"""""""</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsUnknownPDPAddress</error_name>
+    <error_value>-4156</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>The address for the Internet provider is not correct.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsUserAuthenticationFailure</error_name>
+    <error_value>-4157</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>Failed to identify the user.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsActivationRejectedByGGSN</error_name>
+    <error_value>-4158</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>No possible to connect to the Internet.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsActivationRejected</error_name>
+    <error_value>-4159</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>No possible to connect to the Internet.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMServiceOptionNotSupported</error_name>
+    <error_value>-4160</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Operation is not presently supported by the network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMServiceOptionNotSubscribed</error_name>
+    <error_value>-4161</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Service not subscribed. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMServiceOptionTemporaryOutOfOrder</error_name>
+    <error_value>-4162</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Service temporarily out of use. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsNSAPIAlreadyUsed</error_name>
+    <error_value>-4163</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>NS API already used</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsRegularContextDeactivation</error_name>
+    <error_value>-4164</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>Regular context deactivation</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsQoSNotAccepted</error_name>
+    <error_value>-4165</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>The requested quality of service was not granted.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMCallCanNotBeIdentified</error_name>
+    <error_value>-4166</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsReactivationRequested</error_name>
+    <error_value>-4167</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>Reactivation requested</error_text>
+  </error>
+  <error>
+    <error_name>KErrGprsFeatureNotSupported</error_name>
+    <error_value>-4168</error_value>
+    <error_component>GPRS  (ETELPCKT.H)</error_component>
+    <error_text>This is not supported.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMSemanticErrorInMessage</error_name>
+    <error_value>-4223</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMMandatoryInformationElementError</error_name>
+    <error_value>-4224</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMNonExistentMessageType</error_name>
+    <error_value>-4225</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>No network support for requested operation.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMIncompatibleMessageWithProtocolState</error_name>
+    <error_value>-4226</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMNonExistentInformationElement</error_name>
+    <error_value>-4227</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMConditionalIEError</error_name>
+    <error_value>-4228</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmMMIncompatibleMessageWithCallState</error_name>
+    <error_value>-4229</error_value>
+    <error_component>TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCUnassignedNumber</error_name>
+    <error_value>-4257</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Invalid phone number. Check the number and try again.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCNoRouteToTransitNetwork</error_name>
+    <error_value>-4258</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCNoRouteToDestination</error_name>
+    <error_value>-4259</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Invalid phone number. Check the number and try again.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCChannelUnacceptable</error_name>
+    <error_value>-4262</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCOperatorDeterminedBarring</error_name>
+    <error_value>-4264</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Operation is not allowed. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCUserBusy</error_name>
+    <error_value>-4273</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Number is busy. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCUserNotResponding</error_name>
+    <error_value>-4274</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>The remote user is not currently reachable. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCUserAlertingNoAnswer</error_name>
+    <error_value>-4275</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>The remote user is not currently reachable. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCCallRejected</error_name>
+    <error_value>-4276</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Short network failure. Try again immediately.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCNumberChanged</error_name>
+    <error_value>-4277</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Number has changed. Check the number and try again.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCNonSelectedUserClearing</error_name>
+    <error_value>-4282</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Unknown network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCDestinationOutOfOrder</error_name>
+    <error_value>-4283</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCInvalidNumberFormat</error_name>
+    <error_value>-4284</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Invalid phone number. Check the number and try again.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCFacilityRejected</error_name>
+    <error_value>-4285</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Operation is not supported. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCResponseToStatusEnquiry</error_name>
+    <error_value>-4286</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCNormalUnspecified</error_name>
+    <error_value>-4287</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Unknown network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCNoChannelAvailable</error_name>
+    <error_value>-4290</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Network busy.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCNetworkOutOfOrder</error_name>
+    <error_value>-4294</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Serious cellular network failure. Please contact the cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCTemporaryFailure</error_name>
+    <error_value>-4297</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Short network failure. Try again immediately.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCSwitchingEquipmentCongestion</error_name>
+    <error_value>-4298</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Network busy.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCAccessInformationDiscarded</error_name>
+    <error_value>-4299</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCRequestedChannelNotAvailable</error_name>
+    <error_value>-4300</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Network busy.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCResourceNotAvailable</error_name>
+    <error_value>-4303</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Network busy.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCQualityOfServiceNotAvailable</error_name>
+    <error_value>-4305</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Service can not be provided.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCRequestedFacilityNotSubscribed</error_name>
+    <error_value>-4306</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Check operator services or connection settings.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCIncomingCallsBarredInCug</error_name>
+    <error_value>-4311</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Incoming calls are not allowed within closed user group.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCBearerCapabilityNotAuthorised</error_name>
+    <error_value>-4313</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Unauthorised operation.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCBearerCapabilityNotCurrentlyAvailable</error_name>
+    <error_value>-4314</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Requested service is not presently available. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCServiceNotAvailable</error_name>
+    <error_value>-4319</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Check operator services or connection settings.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCBearerServiceNotImplemented</error_name>
+    <error_value>-4321</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Check operator services or connection settings.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCChannelTypeNotImplemented</error_name>
+    <error_value>-4322</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Check operator services or connection settings.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCAcmGreaterThanAcmMax</error_name>
+    <error_value>-4324</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCRequestedFacilityNotImplemented</error_name>
+    <error_value>-4325</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Check operator services or connection settings.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCOnlyRestrictedDigitalInformationBCAvailable</error_name>
+    <error_value>-4326</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCServiceNotImplemented</error_name>
+    <error_value>-4335</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Check operator services or connection settings.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCInvalidCallReferenceValue</error_name>
+    <error_value>-4337</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCChannelDoesNotExist</error_name>
+    <error_value>-4338</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCSuspendedCallExistsButCallIdentityDoesNotWork</error_name>
+    <error_value>-4339</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCCallIdentityInUse</error_name>
+    <error_value>-4340</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCNoCallSuspended</error_name>
+    <error_value>-4341</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCRequestedCallIdentityAlreadyCleared</error_name>
+    <error_value>-4342</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCUserNotInCug</error_name>
+    <error_value>-4343</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Only calls within closed user group allowed.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCIncompatibleDestination</error_name>
+    <error_value>-4344</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Check connection type in connection settings.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCInvalidTransitNetworkSelection</error_name>
+    <error_value>-4347</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCIncompatibleSegmentedMessage</error_name>
+    <error_value>-4350</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCSemanticallyIncorrectMessage</error_name>
+    <error_value>-4351</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCInvalidMandatoryInformation</error_name>
+    <error_value>-4352</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Check operator services or connection settings.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCNonExistentMessageType</error_name>
+    <error_value>-4353</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCIncompatibleMessageInProtocolState</error_name>
+    <error_value>-4354</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCNonExistentInformationElement</error_name>
+    <error_value>-4355</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCConditionalIEError</error_name>
+    <error_value>-4356</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCIncompatibleMessageInCallState</error_name>
+    <error_value>-4357</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCRecoveryOnTimerExpiry</error_name>
+    <error_value>-4358</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCUnspecifiedProtocolError</error_name>
+    <error_value>-4367</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmCCUnspecifiedInterworkingError</error_name>
+    <error_value>-4383</error_value>
+    <error_component>TelephonyGSMCallControlNetworkErrors  (EXTERROR.H)</error_component>
+    <error_text>Operation is not presently supported by the network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSUnknownSubscriber</error_name>
+    <error_value>-4385</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Unknown subscriber. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSIllegalSubscriber</error_name>
+    <error_value>-4393</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Unknown subscriber. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSBearerServiceNotProvisioned</error_name>
+    <error_value>-4394</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Service is not provisioned.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSTeleserviceNotProvisioned</error_name>
+    <error_value>-4395</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Service is not provisioned.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSIllegalEquipment</error_name>
+    <error_value>-4396</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSCallBarred</error_name>
+    <error_value>-4397</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Calls are barred by the operator. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSIllegalOperation</error_name>
+    <error_value>-4400</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Operation is not supported. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSErrorStatus</error_name>
+    <error_value>-4401</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Operation is not supported. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSNotAvailable</error_name>
+    <error_value>-4402</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Operation is not supported. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSSubscriptionViolation</error_name>
+    <error_value>-4403</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Operation is not allowed. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSIncompatibility</error_name>
+    <error_value>-4404</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>The requested supplementary service is incompatible.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSFacilityNotSupported</error_name>
+    <error_value>-4405</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Operation is not supported. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSAbsentSubscriber</error_name>
+    <error_value>-4411</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSSystemFailure</error_name>
+    <error_value>-4418</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSDataMissing</error_name>
+    <error_value>-4419</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Parameter in the service request is missing.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSUnexpectedDataValue</error_name>
+    <error_value>-4420</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Unknown parameter in the service request.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSPasswordRegistrationFailure</error_name>
+    <error_value>-4421</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Wrong service password.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSNegativePasswordCheck</error_name>
+    <error_value>-4422</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Wrong service password.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSPasswordAttemptsViolation</error_name>
+    <error_value>-4427</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Too many times wrong service password.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSUnknownAlphabet</error_name>
+    <error_value>-4455</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Incompatible service language or alphabets.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSUssdBusy</error_name>
+    <error_value>-4456</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSMaxNumMptyParticipants</error_name>
+    <error_value>-4510</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Too many participants of a multiparty call.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSSResourcesUnavailable</error_name>
+    <error_value>-4511</error_value>
+    <error_component>TelephonyGSMSupplementaryServices  (EXTERROR.H)</error_component>
+    <error_text>Temporarily out of network resources when requesting the service.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSUnassignedNumber</error_name>
+    <error_value>-4513</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Invalid phone number. Check the number and try again.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSOperatorDeterminedBarring</error_name>
+    <error_value>-4520</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Operation is not allowed. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSCallBarred</error_name>
+    <error_value>-4522</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Call barred.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSReserved</error_name>
+    <error_value>-4523</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSNetworkFailure</error_name>
+    <error_value>-4529</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSShortMessageTransferRejected</error_name>
+    <error_value>-4533</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Short network failure. Try again immediately.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSMemoryCapacityExceeded</error_name>
+    <error_value>-4534</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSDestinationOutOfOrder</error_name>
+    <error_value>-4539</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSUnidentifiedSubscriber</error_name>
+    <error_value>-4540</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Unknown subscriber. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSFacilityRejected</error_name>
+    <error_value>-4541</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Operation is not supported. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSUnknownSubscriber</error_name>
+    <error_value>-4542</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Unknown subscriber. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSNetworkOutOfOrder</error_name>
+    <error_value>-4550</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Serious cellular network failure. Please contact the cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSTemporaryFailure</error_name>
+    <error_value>-4553</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSCongestion</error_name>
+    <error_value>-4554</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Network busy.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSResourcesUnavailable</error_name>
+    <error_value>-4559</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Network busy.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSRequestedFacilityNotSubscribed</error_name>
+    <error_value>-4562</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Service not subscribed. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSRequestedFacilityNotImplemented</error_name>
+    <error_value>-4581</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Check operator services or connection settings.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSInvalidShortMessageTransferReferenceValue</error_name>
+    <error_value>-4593</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Operation is not presently supported by the network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSUnspecifiedInvalidMessage</error_name>
+    <error_value>-4607</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Unknown network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSInvalidMandatoryInformation</error_name>
+    <error_value>-4608</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Error in message content.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSNonExistentMessageType</error_name>
+    <error_value>-4609</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Operation is not presently supported by the network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSIncompatibleMessageWithSmsProtocolState</error_name>
+    <error_value>-4610</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Operation is not presently supported by the network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSInformationElementNotImplemented</error_name>
+    <error_value>-4611</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Message type is not presently supported by the network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSUnspecifiedProtocolError</error_name>
+    <error_value>-4623</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Unknown network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSUnspecifiedInterworkingError</error_name>
+    <error_value>-4639</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Operation is not presently supported by the network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSTelematicInterworkingNotSupported</error_name>
+    <error_value>-4640</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Operation is not presently supported by the network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSShortMessageType0NotSupported</error_name>
+    <error_value>-4641</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Message type is not presently supported by the network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSCannotReplaceShortMessage</error_name>
+    <error_value>-4642</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Cannot deliver the message to the destination.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSUnspecifiedPIDError</error_name>
+    <error_value>-4655</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Unknown network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSDataCodingSchemeNotSupported</error_name>
+    <error_value>-4656</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Incompatible message language or alphabets.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSMessageClassNotSupported</error_name>
+    <error_value>-4657</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Message type is not presently supported by the network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSUnspecifiedDCSError</error_name>
+    <error_value>-4671</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Unknown network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSCommandCannotBeActioned</error_name>
+    <error_value>-4672</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Operation cannot be performed.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSCommandNotSupported</error_name>
+    <error_value>-4673</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Operation is not presently supported by the network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSUnspecifiedCommandError</error_name>
+    <error_value>-4687</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Unknown network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSTpduNotSupported</error_name>
+    <error_value>-4688</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Operation is not presently supported by the network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSServiceCentreBusy</error_name>
+    <error_value>-4704</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Service centre is busy. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSNoSCSubscription</error_name>
+    <error_value>-4705</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>No service centre. Check messaging settings.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSSCSystemFailure</error_name>
+    <error_value>-4706</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Service centre failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSInvalidSMEAddress</error_name>
+    <error_value>-4707</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Service centre failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSDestinationSMEBarred</error_name>
+    <error_value>-4710</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>The destination is barred.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSDuplicateSM</error_name>
+    <error_value>-4711</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSTPVPFNotSupported</error_name>
+    <error_value>-4712</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Short message validity period not supported by the network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSTPVPNotSupported</error_name>
+    <error_value>-4713</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Short message validity period not supported by the network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSSimSMSStorageFull</error_name>
+    <error_value>-4720</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Short message storage in SIM card is full.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSNoSMSStorageCapabilityInSim</error_name>
+    <error_value>-4721</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>No short message storage capability in SIM card.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSErrorInMS</error_name>
+    <error_value>-4722</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Error receiving the short message.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSMemCapacityExceeded</error_name>
+    <error_value>-4723</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>No space to store the short message.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSSimAppToolkitBusy</error_name>
+    <error_value>-4724</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>SIM is busy performing another operation.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSUnspecifiedErrorCause</error_name>
+    <error_value>-4767</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Unknown network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSFailureInME</error_name>
+    <error_value>-4812</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Error in receiving the short message.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSServiceOfMSReserved</error_name>
+    <error_value>-4813</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Busy because of short message operation.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSOperationNotAllowed</error_name>
+    <error_value>-4814</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Operation is not allowed. Contact cellular network operator.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSOperationNotSupported</error_name>
+    <error_value>-4815</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Phone is not supporting the operation.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSInvalidPDUModeParameter</error_name>
+    <error_value>-4816</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSInvalidTextModeParameter</error_name>
+    <error_value>-4817</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSSimNotInserted</error_name>
+    <error_value>-4822</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Insert SIM card.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSSimPin1Required</error_name>
+    <error_value>-4823</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>PIN1 is required to continue.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSPhoneToSimLockRequired</error_name>
+    <error_value>-4824</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSSimFailure</error_name>
+    <error_value>-4825</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>SIM card failure. Replace the SIM card.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSSimBusy</error_name>
+    <error_value>-4826</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>SIM card is busy performing another operation.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSSimWrong</error_name>
+    <error_value>-4827</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Wrong SIM card. Replace the SIM card.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSSimPuk1Required</error_name>
+    <error_value>-4828</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>PUK1 code is required to continue.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSPin2Required</error_name>
+    <error_value>-4829</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>PIN2 is required to continue.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSPuk2Required</error_name>
+    <error_value>-4830</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>PUK2 code is required to continue.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSMemoryFailure</error_name>
+    <error_value>-4832</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Memory failure. Try again.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSInvalidMemoryIndex</error_name>
+    <error_value>-4833</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Memory failure. Try again.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSMemoryFull</error_name>
+    <error_value>-4834</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Memory is full. Remove some messages and try again.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSUnknownSCAddress</error_name>
+    <error_value>-4842</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSNoNetworkService</error_name>
+    <error_value>-4843</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Service not available.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSNetworkTimeout</error_name>
+    <error_value>-4844</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSCnmaAckNotExpected</error_name>
+    <error_value>-4852</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsmSMSUnknownError</error_name>
+    <error_value>-5012</error_value>
+    <error_component>TelephonyGSMSms  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KUriUtilsErrBadComponentIndex</error_name>
+    <error_value>-5000</error_value>
+    <error_component>URI Utils  (URIUTILSCOMMON.H)</error_component>
+    <error_text>Error specifying the use of an invalid component index</error_text>
+  </error>
+  <error>
+    <error_name>KUriUtilsErrBadBasePath</error_name>
+    <error_value>-5001</error_value>
+    <error_component>URI Utils  (URIUTILSCOMMON.H)</error_component>
+    <error_text>Error specifying the use of a base uri path is not absolute and not empty</error_text>
+  </error>
+  <error>
+    <error_name>KUriUtilsErrBufferOverflow</error_name>
+    <error_value>-5002</error_value>
+    <error_component>URI Utils  (URIUTILSCOMMON.H)</error_component>
+    <error_text>Error specifying that a buffer is not big enough to append a component and delimiters</error_text>
+  </error>
+  <error>
+    <error_name>KUriUtilsErrBadDelimitedParserMode</error_name>
+    <error_value>-5003</error_value>
+    <error_component>URI Utils  (URIUTILSCOMMON.H)</error_component>
+    <error_text>Error specifying the use of an supported parsing mode</error_text>
+  </error>
+  <error>
+    <error_name>KUriUtilsErrNoDelimiter</error_name>
+    <error_value>-5004</error_value>
+    <error_component>URI Utils  (URIUTILSCOMMON.H)</error_component>
+    <error_text>Error specifying that the delimiting character is not set</error_text>
+  </error>
+  <error>
+    <error_name>KUriUtilsErrNotParsed</error_name>
+    <error_value>-5005</error_value>
+    <error_component>URI Utils  (URIUTILSCOMMON.H)</error_component>
+    <error_text>Error specifying that the data has not been parsed</error_text>
+  </error>
+  <error>
+    <error_name>KUriUtilsErr16BitChar</error_name>
+    <error_value>-5006</error_value>
+    <error_component>URI Utils  (URIUTILSCOMMON.H)</error_component>
+    <error_text>Error specifying that a 16-bit character was found in data to be escape encode</error_text>
+  </error>
+  <error>
+    <error_name>KUriUtilsErrBadEscapeTriple</error_name>
+    <error_value>-5007</error_value>
+    <error_component>URI Utils  (URIUTILSCOMMON.H)</error_component>
+    <error_text>Error specifying that a badly formed escape triple was found in data being escape decoded</error_text>
+  </error>
+  <error>
+    <error_name>KUriUtilsCannotConvert</error_name>
+    <error_value>-5008</error_value>
+    <error_component>URI Utils  (URIUTILSCOMMON.H)</error_component>
+    <error_text>Error specifying that charconv was unable to convert the input data</error_text>
+  </error>
+  <error>
+    <error_name>KUriUtilsErrEmptyData</error_name>
+    <error_value>-5009</error_value>
+    <error_component>URI Utils  (URIUTILSCOMMON.H)</error_component>
+    <error_text>Error specifying that there was empty data</error_text>
+  </error>
+  <error>
+    <error_name>KUriUtilsErrNoIntegerInData</error_name>
+    <error_value>-5010</error_value>
+    <error_component>URI Utils  (URIUTILSCOMMON.H)</error_component>
+    <error_text>Error specifying that there is no character representation of an integer</error_text>
+  </error>
+  <error>
+    <error_name>KUriUtilsErrInvalidUri</error_name>
+    <error_value>-5011</error_value>
+    <error_component>URI Utils  (URIUTILSCOMMON.H)</error_component>
+    <error_text>Error code specifying an invalid uri</error_text>
+  </error>
+  <error>
+    <error_name>KUriUtilsErrBadEscapeMode</error_name>
+    <error_value>-5012</error_value>
+    <error_component>URI Utils  (URIUTILSCOMMON.H)</error_component>
+    <error_text>Error code for unsupported escaping mode</error_text>
+  </error>
+  <error>
+    <error_name>KUriUtilsErrBadTextRemoveMode</error_name>
+    <error_value>-5013</error_value>
+    <error_component>URI Utils  (URIUTILSCOMMON.H)</error_component>
+    <error_text>Error code for unsupported text whitespace removal mode</error_text>
+  </error>
+  <error>
+    <error_name>KUriUtilsErrDecodeMalformedQuotedString</error_name>
+    <error_value>-5014</error_value>
+    <error_component>URI Utils  (URIUTILSCOMMON.H)</error_component>
+    <error_text>Quoted string could not be decoded as it is malformed</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707PhoneFailure</error_name>
+    <error_value>-5024</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Phone failure. Switch off the phone and then switch on.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707NoConnectionToPhone</error_name>
+    <error_value>-5025</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Phone failure. Switch off the phone and then switch on.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707PhoneLinkReserved</error_name>
+    <error_value>-5026</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Phone is busy due the other call operation.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707OperationNotAllowed</error_name>
+    <error_value>-5027</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Operation is not allowed. Check phone settings.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707OperationNotSupported</error_name>
+    <error_value>-5028</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Operation is not supported by the phone.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707PhoneToSimLockRequired</error_name>
+    <error_value>-5029</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Blank</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707SimNotInserted</error_name>
+    <error_value>-5034</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Insert SIM card.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707SimPin1Required</error_name>
+    <error_value>-5035</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>PIN1 is required to continue.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707SIMPuk1Required</error_name>
+    <error_value>-5036</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>PUK1 code is required to continue.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707SimFailure</error_name>
+    <error_value>-5037</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>SIM card failure. Replace the SIM card.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707SimBusy</error_name>
+    <error_value>-5038</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>SIM card is busy while performing other operation.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707SimWrong</error_name>
+    <error_value>-5039</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Wrong SIM card. Replace the SIM card.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707IncorrectPassword</error_name>
+    <error_value>-5040</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Incorrect code please re-enter.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707SimPin2Required</error_name>
+    <error_value>-5041</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>PIN2 is required to continue.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707SIMPuk2Required</error_name>
+    <error_value>-5042</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>PUK2 code is required to continue.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707MemoryFull</error_name>
+    <error_value>-5043</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Memory is full. Remove some messages and try again.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707InvalidIndex</error_name>
+    <error_value>-5044</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Memory failure. Try again.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707NotFound</error_name>
+    <error_value>-5045</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Requested information not found. Try again.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707MemoryFailure</error_name>
+    <error_value>-5046</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Memory failure. Try again.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707TextStringTooLong</error_name>
+    <error_value>-5047</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Entered string is too long. Please re-enter the string.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707InvalidCharsInTextString</error_name>
+    <error_value>-5048</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Invalid characters in text string. Please re-enter the string.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707DialStringTooLong</error_name>
+    <error_value>-5049</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Entered dial string is too long. Please re-enter the string.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707InvalidCharsInDialString</error_name>
+    <error_value>-5050</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Invalid characters in dial string. Please re-enter the string.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707NoNetworkService</error_name>
+    <error_value>-5054</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Service is not available.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707NetworkTimeout</error_name>
+    <error_value>-5055</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrGsm0707UnknownError</error_name>
+    <error_value>-5124</error_value>
+    <error_component>TelephonyGSMTE-TAerrors  (EXTERROR.H)</error_component>
+    <error_text>Temporary network failure. Try again later.</error_text>
+  </error>
+  <error>
+    <error_name>KErrDndNameNotFound</error_name>
+    <error_value>-5120</error_value>
+    <error_component>Domain Name Daemon  (DND_ERR.H)</error_component>
+    <error_text>Returned when no data found for GetByName</error_text>
+  </error>
+  <error>
+    <error_name>KErrDndAddrNotFound</error_name>
+    <error_value>-5121</error_value>
+    <error_component>Domain Name Daemon  (DND_ERR.H)</error_component>
+    <error_text>Returned when no data found for GetByAddr</error_text>
+  </error>
+  <error>
+    <error_name>KErrDndNoServers</error_name>
+    <error_value>-5122</error_value>
+    <error_component>Domain Name Daemon  (DND_ERR.H)</error_component>
+    <error_text>No DNS server addresses available (timeout)</error_text>
+  </error>
+  <error>
+    <error_name>KErrDndNoRoute</error_name>
+    <error_value>-5123</error_value>
+    <error_component>Domain Name Daemon  (DND_ERR.H)</error_component>
+    <error_text>Send timeout for the query (probably no route for server)</error_text>
+  </error>
+  <error>
+    <error_name>KErrDndCache</error_name>
+    <error_value>-5124</error_value>
+    <error_component>Domain Name Daemon  (DND_ERR.H)</error_component>
+    <error_text>Corrupted data in cache (= bad DNS reply from server)</error_text>
+  </error>
+  <error>
+    <error_name>KErrDndFormat</error_name>
+    <error_value>-5125</error_value>
+    <error_component>Domain Name Daemon  (DND_ERR.H)</error_component>
+    <error_text>Wrong format</error_text>
+  </error>
+  <error>
+    <error_name>KErrDndServerFailure</error_name>
+    <error_value>-5126</error_value>
+    <error_component>Domain Name Daemon  (DND_ERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrDndBadName</error_name>
+    <error_value>-5127</error_value>
+    <error_component>Domain Name Daemon  (DND_ERR.H)</error_component>
+    <error_text>Bad name</error_text>
+  </error>
+  <error>
+    <error_name>KErrDndNotImplemented</error_name>
+    <error_value>-5128</error_value>
+    <error_component>Domain Name Daemon  (DND_ERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrDndRefused</error_name>
+    <error_value>-5129</error_value>
+    <error_component>Domain Name Daemon  (DND_ERR.H)</error_component>
+    <error_text>Server refused</error_text>
+  </error>
+  <error>
+    <error_name>KErrDndBadQuery</error_name>
+    <error_value>-5130</error_value>
+    <error_component>Domain Name Daemon  (DND_ERR.H)</error_component>
+    <error_text>Bad query from application (invalid domain name, etc.), not processed</error_text>
+  </error>
+  <error>
+    <error_name>KErrDndNoRecord</error_name>
+    <error_value>-5131</error_value>
+    <error_component>Domain Name Daemon  (DND_ERR.H)</error_component>
+    <error_text>No record found of the desired type and class.</error_text>
+  </error>
+  <error>
+    <error_name>KErrDndNameTooBig</error_name>
+    <error_value>-5132</error_value>
+    <error_component>Domain Name Daemon  (DND_ERR.H)</error_component>
+    <error_text>Buffer overflow with name</error_text>
+  </error>
+  <error>
+    <error_name>KErrDndUnknown</error_name>
+    <error_value>-5133</error_value>
+    <error_component>Domain Name Daemon  (DND_ERR.H)</error_component>
+    <error_text>Misc error - must be something wrong with the packet or the NS</error_text>
+  </error>
+  <error>
+    <error_name>KErrDndServerUnusable</error_name>
+    <error_value>-5134</error_value>
+    <error_component>Domain Name Daemon  (DND_ERR.H)</error_component>
+    <error_text>The server is unusable for the attempted query (for example, not allowing recursion)</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_NotANATTPacket</error_name>
+    <error_value>-5154</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>UDP packet is NOT a NAT Taversal packet</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_NoInnerSource</error_name>
+    <error_value>-5155</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Cannot find inner-src for outbound packet when tunneling (for SECPOL)</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_LostSA</error_name>
+    <error_value>-5156</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>An SA has been lost betweenApply andVerify, expired? (for SECPOL)</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_IcmpError</error_name>
+    <error_value>-5157</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>An ICMP error report containing AH orESP (for INET6)</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyUnknownSelector</error_name>
+    <error_value>-5158</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>unknown selector keyword</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyInboundOutbound</error_name>
+    <error_value>-5159</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Only one of the 'inbound' or 'outbound' is allowed</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyIpMaskExpected</error_name>
+    <error_value>-5160</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Expected IP address (as mask) here</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyIpAddressExpected</error_name>
+    <error_value>-5161</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Expected IP address here</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyInvalidIpAddress</error_name>
+    <error_value>-5162</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Invalid IP address</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyRightParen</error_name>
+    <error_value>-5163</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Right parenthesis expected</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyLeftParen</error_name>
+    <error_value>-5164</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Left parenthesis expected</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicySpecNotFound</error_name>
+    <error_value>-5165</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>SA specification is not defined before reference in selector</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicySyntaxError</error_name>
+    <error_value>-5166</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Generic delimiter error inspecification</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicySpecName</error_name>
+    <error_value>-5167</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>SA specification name missing or invalid</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyNoEncryptAlgorithm</error_name>
+    <error_value>-5168</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>ESP specification must include encryptionb algorithm</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyNoAuthAlgorithm</error_name>
+    <error_value>-5169</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>AH specification must include authentication algorithm</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyTooManyTypes</error_name>
+    <error_value>-5170</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Type can be specified onlyonce for specification</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyNoType</error_name>
+    <error_value>-5171</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>SA type (AH or ESP) omittedfrom specification</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyCloseBraceExpected</error_name>
+    <error_value>-5172</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>closing brace expected</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyNumberExpected</error_name>
+    <error_value>-5173</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>number value expected</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyUnknownSpec</error_name>
+    <error_value>-5174</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>unknown policy specification keyword</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyInvalidIdentity</error_name>
+    <error_value>-5175</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>invalid identity syntax</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyIdentityDefined</error_name>
+    <error_value>-5176</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>identify already defined</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyUnknownAuth</error_name>
+    <error_value>-5177</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>algorithm not defined in algorithm map</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PolicyUnknownEncrypt</error_name>
+    <error_value>-5178</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>algorithm not defined in algorithm map</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_UnavailableDigest</error_name>
+    <error_value>-5179</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>No installed library implements the digest</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_UnavailableCipher</error_name>
+    <error_value>-5180</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>No installed library implements the cipher</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_UnknownDigestNumber</error_name>
+    <error_value>-5181</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Attempting to use algorithmnumber that is not known</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_UnknownCipherNumber</error_name>
+    <error_value>-5182</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Attempting to use algorithmnumber that is not known</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_BadCipherKey</error_name>
+    <error_value>-5183</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Key in SA is too short (forthe algorithm) or is weak</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_MismatchDestinationIdentity</error_name>
+    <error_value>-5184</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>destination identity does not match</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_MismatchSourceIdentity</error_name>
+    <error_value>-5185</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>source identity does not match</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_MismatchProtocol</error_name>
+    <error_value>-5186</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>protocol does not match</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_MismatchDestinationPort</error_name>
+    <error_value>-5187</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>destination port does not match</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_MismatchSourcePort</error_name>
+    <error_value>-5188</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>source port does not match</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_MismatchProxy</error_name>
+    <error_value>-5189</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>proxy address does not match</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_MismatchSource</error_name>
+    <error_value>-5190</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>source address does not match</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_MismatchReplayWindow</error_name>
+    <error_value>-5191</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>ReplayWindow length is shorter than required</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_MismatchedEncryptAlg</error_name>
+    <error_value>-5192</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Encrypt algorithm doesn't match</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_MismatchedAuthAlg</error_name>
+    <error_value>-5193</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Auth algorithm doesn't match</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_MismatchedPFS</error_name>
+    <error_value>-5194</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>PFS bit is not same</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_MismatchedType</error_name>
+    <error_value>-5195</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>SA Type (AH/ESP) does not match</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_MismatchedDestination</error_name>
+    <error_value>-5196</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>SA destination does not match (internal error?)</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_AcquireFailed</error_name>
+    <error_value>-5197</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Acquiring SA failed (no SAavailableor negotiated)</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_EspBadCipherBlockSize</error_name>
+    <error_value>-5198</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Configuration error, cipherblock size must be &lt; 256</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_EspSequenceWrap</error_name>
+    <error_value>-5199</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Outbound sequence # wrappedaround for this SA</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_AhSequenceWrap</error_name>
+    <error_value>-5200</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Outbound sequence # wrappedaround for this SA</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_AhPacketTooLong</error_name>
+    <error_value>-5201</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Outbound packet would exeed2**16-1 with AH</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_AhRMBufSplit</error_name>
+    <error_value>-5202</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Inbound AH processing failed (Memory?)</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_NoBundle</error_name>
+    <error_value>-5203</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Incoming packet had transforms, but policy doesn't require any</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_TooManyTransforms</error_name>
+    <error_value>-5204</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Incoming packet had more transforms than policy requires</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_UnrequiredSA</error_name>
+    <error_value>-5205</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Applied SA where policy hasnone</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_MismatchedSA</error_name>
+    <error_value>-5206</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Applied SA does not match the policy</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_TunnelMismatch</error_name>
+    <error_value>-5207</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Tunnelmode does not match the policy</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_TooFewTransforms</error_name>
+    <error_value>-5208</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Incoming packet has less transforms than policy requires</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_MaxTransforms</error_name>
+    <error_value>-5209</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Incoming packet exceed configured maxlimit of transforms</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_NoSelectorMatch</error_name>
+    <error_value>-5210</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>None of the policy selectors matched</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_OutboundPending</error_name>
+    <error_value>-5211</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Outbooud SA does not exits,ACQUIRE pending</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_OutboundNotFound</error_name>
+    <error_value>-5212</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Outbound SA does not exist,ACQUIRE started</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_ReplayDuplicate</error_name>
+    <error_value>-5213</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Duplicate packet (replay window test)</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_EspPadLength</error_name>
+    <error_value>-5214</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>The ESP pad length is corrupt (probably wrong key)</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_EspPadByte</error_name>
+    <error_value>-5215</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>The ESP pad byte content isinvalid (probably wrong key)</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_DataAlignment</error_name>
+    <error_value>-5216</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Data not aligned by block size</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_PacketLength</error_name>
+    <error_value>-5217</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Invalid lenght of the packet</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_AhAuthentication</error_name>
+    <error_value>-5218</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Authentication check failedin AH</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_AhIcvLength</error_name>
+    <error_value>-5219</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>ICV length in packet does not match algorithm</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_AhInboundSA</error_name>
+    <error_value>-5220</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>The inbound SA for AH doesnot exist</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_AhAuthAlg</error_name>
+    <error_value>-5221</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Required auth algorithm forAH not available/installed</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_EspEncrAlg</error_name>
+    <error_value>-5222</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Required encrypt algorithmfor ESP not available/installed</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_EspAuthAlg</error_name>
+    <error_value>-5223</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Required auth algorithm forESP not available/installed</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_EspAuthentication</error_name>
+    <error_value>-5224</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Authentication check failedin ESP</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_EspInboundSA</error_name>
+    <error_value>-5225</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>The inbound SA for ESP doesnot exist</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_CorruptPacketOut</error_name>
+    <error_value>-5226</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Corrupt packet after IPSECoperations</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_CorruptPacketIn</error_name>
+    <error_value>-5227</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>Truncated or corrupt packetor header(in)</error_text>
+  </error>
+  <error>
+    <error_name>EIpsec_RMBUF</error_name>
+    <error_value>-5228</error_value>
+    <error_component>IPSEC  (IPSECERR.H)</error_component>
+    <error_text>RMBUF operation failed unexpectedly</error_text>
+  </error>
+  <error>
+    <error_name>KErrIrObexClientNoDevicesFound</error_name>
+    <error_value>-5501</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text>No other infrared device found</error_text>
+  </error>
+  <error>
+    <error_name>KErrIrObexClientPeerDoesNotHaveObex</error_name>
+    <error_value>-5502</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text>Other IR device cannot handle IrObex</error_text>
+  </error>
+  <error>
+    <error_name>KErrIrObexClientPutPeerAborted</error_name>
+    <error_value>-5503</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text>Other IR device aborted the transfer</error_text>
+  </error>
+  <error>
+    <error_name>KErrIrObexServerPutPeerAborted</error_name>
+    <error_value>-5507</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text>Peer device aborted data transmission/obex sending</error_text>
+  </error>
+  <error>
+    <error_name>KErrIrObexConnectChallRejected</error_name>
+    <error_value>-5512</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text>Cannot authorise the challenge so link dropped</error_text>
+  </error>
+  <error>
+    <error_name>KErrIrObexRespSuccess</error_name>
+    <error_value>-5532</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespCreated</error_name>
+    <error_value>-5533</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespAccepted</error_name>
+    <error_value>-5534</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespNonAuthInfo</error_name>
+    <error_value>-5535</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespNoContent</error_name>
+    <error_value>-5536</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespResetContent</error_name>
+    <error_value>-5537</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespPartialContent</error_name>
+    <error_value>-5538</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespMultipleChoices</error_name>
+    <error_value>-5548</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespMovedPerm</error_name>
+    <error_value>-5549</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespMovedTemp</error_name>
+    <error_value>-5550</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespSeeOther</error_name>
+    <error_value>-5551</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespNotModified</error_name>
+    <error_value>-5552</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespUseProxy</error_name>
+    <error_value>-5553</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespBadRequest</error_name>
+    <error_value>-5564</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespUnauthorized</error_name>
+    <error_value>-5565</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespPaymentRequired</error_name>
+    <error_value>-5566</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespForbidden</error_name>
+    <error_value>-5567</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespNotFound</error_name>
+    <error_value>-5568</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespMethodNotAllowed</error_name>
+    <error_value>-5569</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespNotAcceptable</error_name>
+    <error_value>-5570</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespProxyAuthenReqd</error_name>
+    <error_value>-5571</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespTimedOut</error_name>
+    <error_value>-5572</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespConflict</error_name>
+    <error_value>-5573</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespGone</error_name>
+    <error_value>-5574</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespLengthReqd</error_name>
+    <error_value>-5575</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespPreCondFailed</error_name>
+    <error_value>-5576</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespReqEntityTooLarge</error_name>
+    <error_value>-5577</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespReqURLTooLarge</error_name>
+    <error_value>-5578</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespUnsupMediaType</error_name>
+    <error_value>-5579</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespInternalError</error_name>
+    <error_value>-5580</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespNotImplemented</error_name>
+    <error_value>-5581</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespBadGateway</error_name>
+    <error_value>-5582</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespServiceUnavail</error_name>
+    <error_value>-5583</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespGatewayTimeout</error_name>
+    <error_value>-5584</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespHTTPVerNotSupp</error_name>
+    <error_value>-5585</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespDatabaseFull</error_name>
+    <error_value>-5596</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrIrObexRespDatabaseLocked</error_name>
+    <error_value>-5597</error_value>
+    <error_component>IR OBEX  (OBEX.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KVersitErrCodeBase</error_name>
+    <error_value>-5750</error_value>
+    <error_component>Versit (VERROR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KVersitErrBadDateTime</error_name>
+    <error_value>-5751</error_value>
+    <error_component>Versit (VERROR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KVersitErrRepeatTypeNotHandled</error_name>
+    <error_value>-5752</error_value>
+    <error_component>Versit (VERROR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KVersitErrBadRepeatValue</error_name>
+    <error_value>-5753</error_value>
+    <error_component>Versit (VERROR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KVersitErrBadTimeZone</error_name>
+    <error_value>-5754</error_value>
+    <error_component>Versit (VERROR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KVersitErrBadTimePeriod</error_name>
+    <error_value>-5755</error_value>
+    <error_component>Versit (VERROR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KVersitErrNumberExpected</error_name>
+    <error_value>-5756</error_value>
+    <error_component>Versit (VERROR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KVersitErrNestedVcardExpected</error_name>
+    <error_value>-5757</error_value>
+    <error_component>Versit (VERROR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KVersitErrNoPropertyName</error_name>
+    <error_value>-5758</error_value>
+    <error_component>Versit (VERROR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>EOK</error_name>
+    <error_value>-6000</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI OK errorcode - Used to indicate the absence of any error condition</error_text>
+  </error>
+  <error>
+    <error_name>EUnknownOpcode</error_name>
+    <error_value>-6001</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI unknownopcode error code</error_text>
+  </error>
+  <error>
+    <error_name>ENoConnection</error_name>
+    <error_value>-6002</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI no connection error code</error_text>
+  </error>
+  <error>
+    <error_name>EHardwareFail</error_name>
+    <error_value>-6003</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI hardwarefailure error code</error_text>
+  </error>
+  <error>
+    <error_name>EPageTimedOut</error_name>
+    <error_value>-6004</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI page timeout error code</error_text>
+  </error>
+  <error>
+    <error_name>EAuthenticationFailure</error_name>
+    <error_value>-6005</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI authentification failure error code</error_text>
+  </error>
+  <error>
+    <error_name>EKeyMissing</error_name>
+    <error_value>-6006</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI key missing error code</error_text>
+  </error>
+  <error>
+    <error_name>EKeyMemoryFull</error_name>
+    <error_value>-6007</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI key memory full error code</error_text>
+  </error>
+  <error>
+    <error_name>EConnectionTimeout</error_name>
+    <error_value>-6008</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI connection timeout error code</error_text>
+  </error>
+  <error>
+    <error_name>EMaxConnections</error_name>
+    <error_value>-6009</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI maximumnumber of connections exceeded error code</error_text>
+  </error>
+  <error>
+    <error_name>EMaxSCOConnections</error_name>
+    <error_value>-6010</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI maximumnumber of SCO connections exceeded error code</error_text>
+  </error>
+  <error>
+    <error_name>EMaxACLConnections</error_name>
+    <error_value>-6011</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI maximumnumber of ACL connections exceeded error code</error_text>
+  </error>
+  <error>
+    <error_name>ECommandDisallowed</error_name>
+    <error_value>-6012</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI commanddisallowed error code</error_text>
+  </error>
+  <error>
+    <error_name>EHostResourceRejection</error_name>
+    <error_value>-6013</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI host resource rejection error code</error_text>
+  </error>
+  <error>
+    <error_name>EHostSecurityRejection</error_name>
+    <error_value>-6014</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI host security rejection error code</error_text>
+  </error>
+  <error>
+    <error_name>EHostPersonalDeviceRejection</error_name>
+    <error_value>-6015</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI host personal device rejection error code</error_text>
+  </error>
+  <error>
+    <error_name>ERemoteHostTimeout</error_name>
+    <error_value>-6016</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI remote host timeout error code</error_text>
+  </error>
+  <error>
+    <error_name>EUnsupportedParameter</error_name>
+    <error_value>-6017</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI unsupported parameter error code</error_text>
+  </error>
+  <error>
+    <error_name>EInvalidHCIParameter</error_name>
+    <error_value>-6018</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI invalid HCI parameter error code</error_text>
+  </error>
+  <error>
+    <error_name>ERemoteUserEndedConnection</error_name>
+    <error_value>-6019</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI remote device user ended connection error code</error_text>
+  </error>
+  <error>
+    <error_name>ERemoteLowResources</error_name>
+    <error_value>-6020</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI remote device low resources error code</error_text>
+  </error>
+  <error>
+    <error_name>ERemoteAboutToPowerOff</error_name>
+    <error_value>-6021</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI remote device about to power off error code</error_text>
+  </error>
+  <error>
+    <error_name>ETerminatedByLocalHost</error_name>
+    <error_value>-6022</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI treminated by local host error code</error_text>
+  </error>
+  <error>
+    <error_name>ERepeatedAttempts</error_name>
+    <error_value>-6023</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI repeated attempts error code</error_text>
+  </error>
+  <error>
+    <error_name>EPairingNotAllowed</error_name>
+    <error_value>-6024</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI pairingnot allowed error code</error_text>
+  </error>
+  <error>
+    <error_name>EUnknownLMPpdu</error_name>
+    <error_value>-6025</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI unknown LMP PDU error code</error_text>
+  </error>
+  <error>
+    <error_name>EUnsupportedRemoteLMPFeature</error_name>
+    <error_value>-6026</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI unsupported remote LMP feature error code</error_text>
+  </error>
+  <error>
+    <error_name>ESCOOffsetRejected</error_name>
+    <error_value>-6027</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI SCO offset rejected error code</error_text>
+  </error>
+  <error>
+    <error_name>ESCOIntervalRejected</error_name>
+    <error_value>-6028</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI SCO interval rejected error code</error_text>
+  </error>
+  <error>
+    <error_name>ESCOAirModeRejected</error_name>
+    <error_value>-6029</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI SCO airmode rejected error code</error_text>
+  </error>
+  <error>
+    <error_name>EInvalidLMPParameters</error_name>
+    <error_value>-6030</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI invalid LMP parameters error code</error_text>
+  </error>
+  <error>
+    <error_name>EUnspecifiedError</error_name>
+    <error_value>-6031</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI unspecified error code</error_text>
+  </error>
+  <error>
+    <error_name>EUnsupportedLMPParameterValue</error_name>
+    <error_value>-6032</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI unsupported LMP parameter value error code</error_text>
+  </error>
+  <error>
+    <error_name>ERoleChangeNotAllowed</error_name>
+    <error_value>-6033</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI role change not allowed error code</error_text>
+  </error>
+  <error>
+    <error_name>ELMPResponseTimeout</error_name>
+    <error_value>-6034</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI LMP response timeout error code</error_text>
+  </error>
+  <error>
+    <error_name>ELMPErrorTransactionCollision</error_name>
+    <error_value>-6035</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI LMP error transaction collision error code</error_text>
+  </error>
+  <error>
+    <error_name>ELMPPDUNotAllowed</error_name>
+    <error_value>-6036</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI LMP PDU not allowed error code</error_text>
+  </error>
+  <error>
+    <error_name>EEncryptionModeNotAcceptable</error_name>
+    <error_value>-6037</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI encryption mode not acceptable error code</error_text>
+  </error>
+  <error>
+    <error_name>EUnitKeyUsed</error_name>
+    <error_value>-6038</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI unit key not used error code</error_text>
+  </error>
+  <error>
+    <error_name>EQOSIsNotSupported</error_name>
+    <error_value>-6039</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI QOS notsupported error code</error_text>
+  </error>
+  <error>
+    <error_name>EInstantPassed</error_name>
+    <error_value>-6040</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI instant passed error code</error_text>
+  </error>
+  <error>
+    <error_name>EPairingWithUnitKeyNotSupported</error_name>
+    <error_value>-6041</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI pairing with unit key not supported error code</error_text>
+  </error>
+  <error>
+    <error_name>EDifferentTransactionCollision</error_name>
+    <error_value>-6042</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>Reserved by Bluetooth Spec</error_name>
+    <error_value>-6043</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>EQoSUnacceptableParameter</error_name>
+    <error_value>-6044</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI bad parameter error code</error_text>
+  </error>
+  <error>
+    <error_name>EQoSRejected</error_name>
+    <error_value>-6045</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI quality of service not accepted error code</error_text>
+  </error>
+  <error>
+    <error_name>EChannelClassificationNotSupported</error_name>
+    <error_value>-6046</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI adaptive frequency hopping channel classification not supported error code</error_text>
+  </error>
+  <error>
+    <error_name>EInsufficientSecurity</error_name>
+    <error_value>-6047</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI insufficient security error code</error_text>
+  </error>
+  <error>
+    <error_name>EParameterOutOfMandatoryRange</error_name>
+    <error_value>-6048</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI parameter value outside required range error code</error_text>
+  </error>
+  <error>
+    <error_name>Reserved by Bluetooth Spec</error_name>
+    <error_value>-6049</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>ERoleSwitchPending</error_name>
+    <error_value>-6050</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI failure because a masterslave role switch is about to take place error code</error_text>
+  </error>
+  <error>
+    <error_name>Reserved by Bluetooth Spec</error_name>
+    <error_value>-6051</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>EReservedSlotViolation</error_name>
+    <error_value>-6052</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI use of reserved baseband packet slot error code</error_text>
+  </error>
+  <error>
+    <error_name>ERoleSwitchFailed</error_name>
+    <error_value>-6053</error_value>
+    <error_component>Bluetooth HCI  (HCIERRORS.H)</error_component>
+    <error_text>HCI masterslave role switch failed error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrBadAddress</error_name>
+    <error_value>-6300</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP Bad address error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrSAPUnexpectedEvent</error_name>
+    <error_value>-6301</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP unexpected SAP event error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrBadPacketReceived</error_name>
+    <error_value>-6302</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP bad packet received error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrL2CAPBadResponse</error_name>
+    <error_value>-6303</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP bad response error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrHCIConnectFailed</error_name>
+    <error_value>-6304</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP HCI connection failed error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrHCILinkDisconnection</error_name>
+    <error_value>-6305</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP HCI link disconnection error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrSAPNotConnected</error_name>
+    <error_value>-6306</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP SAP not connected error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrConfigBadParams</error_name>
+    <error_value>-6307</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP bad configuration parameters error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrConfigRejected</error_name>
+    <error_value>-6308</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP configuration rejected error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrConfigUnknownOptions</error_name>
+    <error_value>-6309</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP unknown configuration options error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrL2PeerDisconnected</error_name>
+    <error_value>-6310</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP peer disconnected error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrL2CAPAccessRequestDenied</error_name>
+    <error_value>-6311</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP access request denied error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrL2CAPRequestTimeout</error_name>
+    <error_value>-6312</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP request timeout error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrL2PeerRejectedCommand</error_name>
+    <error_value>-6313</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP peer rejected command error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrHostResNameTooLong</error_name>
+    <error_value>-6314</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP host resolver name too long error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrL2CAPNoMorePSMs</error_name>
+    <error_value>-6315</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP no more PSMs error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrL2CAPMaxTransmitExceeded</error_name>
+    <error_value>-6316</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP in reliable mode: the maximum L2Cap retransmissions have been made and channel will disconnect error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrL2CAPDataControllerDetached</error_name>
+    <error_value>-6317</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP problems (e.g. no memory) whilst sending data error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrL2CAPConfigPending</error_name>
+    <error_value>-6318</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP configuration is in progress error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrL2CAPConfigAlreadyInProgress</error_name>
+    <error_value>-6319</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP attempt to alter config whilst configuration is in progress error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrL2CAPNoFreeCID</error_name>
+    <error_value>-6320</error_value>
+    <error_component>Bluetooth L2CAP  (BT_SOCK.H)</error_component>
+    <error_text>L2CAP no more channel IDs available error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrRfcommSAPUnexpectedEvent</error_name>
+    <error_value>-6350</error_value>
+    <error_component>Bluetooth RFCOMM  (BT_SOCK.H)</error_component>
+    <error_text>RFCOMM unexpected event error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRfcommAlreadyBound</error_name>
+    <error_value>-6351</error_value>
+    <error_component>Bluetooth RFCOMM  (BT_SOCK.H)</error_component>
+    <error_text>RFCOMM SAP already bound error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRfcommBadAddress</error_name>
+    <error_value>-6352</error_value>
+    <error_component>Bluetooth RFCOMM  (BT_SOCK.H)</error_component>
+    <error_text>RFCOMM bad address error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRfcommMTUSize</error_name>
+    <error_value>-6353</error_value>
+    <error_component>Bluetooth RFCOMM  (BT_SOCK.H)</error_component>
+    <error_text>RFCOMM MTU size exceeded error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRfcommFrameResponseTimeout</error_name>
+    <error_value>-6354</error_value>
+    <error_component>Bluetooth RFCOMM  (BT_SOCK.H)</error_component>
+    <error_text>RFCOMM frame response timeout error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRfcommMuxRemoteDisconnect</error_name>
+    <error_value>-6355</error_value>
+    <error_component>Bluetooth RFCOMM  (BT_SOCK.H)</error_component>
+    <error_text>RFCOMM remote end disconnected error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRfcommNotBound</error_name>
+    <error_value>-6356</error_value>
+    <error_component>Bluetooth RFCOMM  (BT_SOCK.H)</error_component>
+    <error_text>RFCOMM SAP not bound error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRfcommParameterNegotiationFailure</error_name>
+    <error_value>-6357</error_value>
+    <error_component>Bluetooth RFCOMM  (BT_SOCK.H)</error_component>
+    <error_text>RFCOMM parameter negotiation failure error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRfcommNotListening</error_name>
+    <error_value>-6358</error_value>
+    <error_component>Bluetooth RFCOMM  (BT_SOCK.H)</error_component>
+    <error_text>RFCOMM not listening error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRfcommNoMoreServerChannels</error_name>
+    <error_value>-6359</error_value>
+    <error_component>Bluetooth RFCOMM  (BT_SOCK.H)</error_component>
+    <error_text>RFCOMM no more server channels available error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrAvctpBadAddress</error_name>
+    <error_value>-6400</error_value>
+    <error_component>Bluetooth AVCTP  (BT_SOCK.H)</error_component>
+    <error_text>AVCTP bad address error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrAvctpSAPUnexpectedEvent</error_name>
+    <error_value>-6401</error_value>
+    <error_component>Bluetooth AVCTP  (BT_SOCK.H)</error_component>
+    <error_text>AVCTP unexpected SAP event error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrAvctpBadPacketReceived</error_name>
+    <error_value>-6402</error_value>
+    <error_component>Bluetooth AVCTP  (BT_SOCK.H)</error_component>
+    <error_text>AVCTP bad packet received error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrAvctpBadResponse</error_name>
+    <error_value>-6403</error_value>
+    <error_component>Bluetooth AVCTP  (BT_SOCK.H)</error_component>
+    <error_text>AVCTP bad response error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrAvctpConnectFailed</error_name>
+    <error_value>-6404</error_value>
+    <error_component>Bluetooth AVCTP  (BT_SOCK.H)</error_component>
+    <error_text>AVCTP connect failed error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrAvctpLinkDisconnection</error_name>
+    <error_value>-6405</error_value>
+    <error_component>Bluetooth AVCTP  (BT_SOCK.H)</error_component>
+    <error_text>AVCTP link disconnection error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrAvctpSAPNotConnected</error_name>
+    <error_value>-6406</error_value>
+    <error_component>Bluetooth AVCTP  (BT_SOCK.H)</error_component>
+    <error_text>AVCTP SAP not connected error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrAvctpPeerDisconnected</error_name>
+    <error_value>-6407</error_value>
+    <error_component>Bluetooth AVCTP  (BT_SOCK.H)</error_component>
+    <error_text>AVCTP peer disconnection error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrAvctpAccessRequestDenied</error_name>
+    <error_value>-6408</error_value>
+    <error_component>Bluetooth AVCTP  (BT_SOCK.H)</error_component>
+    <error_text>AVCTP access request denied error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrAvctpRequestTimeout</error_name>
+    <error_value>-6409</error_value>
+    <error_component>Bluetooth AVCTP  (BT_SOCK.H)</error_component>
+    <error_text>AVCTP request timeout error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrAvctpPeerRejectedCommand</error_name>
+    <error_value>-6410</error_value>
+    <error_component>Bluetooth AVCTP  (BT_SOCK.H)</error_component>
+    <error_text>AVCTP peer rejected command error code</error_text>
+  </error>
+  <error>
+    <error_name>KErrSdpAlreadyBound</error_name>
+    <error_value>-6400</error_value>
+    <error_component>Bluetooth SDP  (BTSDP.H)</error_component>
+    <error_text>Cannot bind to specifed sockets protocol, as already bound</error_text>
+  </error>
+  <error>
+    <error_name>KErrSdpPeerError</error_name>
+    <error_value>-6401</error_value>
+    <error_component>Bluetooth SDP  (BTSDP.H)</error_component>
+    <error_text>Remote device gave unknown error</error_text>
+  </error>
+  <error>
+    <error_name>KErrSdpClientNotConnected</error_name>
+    <error_value>-6402</error_value>
+    <error_component>Bluetooth SDP  (BTSDP.H)</error_component>
+    <error_text>Local device is not connected</error_text>
+  </error>
+  <error>
+    <error_name>KErrSdpUnsupportedVersion</error_name>
+    <error_value>-6403</error_value>
+    <error_component>Bluetooth SDP  (BTSDP.H)</error_component>
+    <error_text>Invalid/unsupported SDP version</error_text>
+  </error>
+  <error>
+    <error_name>KErrSdpBadRecordHandle</error_name>
+    <error_value>-6404</error_value>
+    <error_component>Bluetooth SDP  (BTSDP.H)</error_component>
+    <error_text>Invalid Service Record Handle</error_text>
+  </error>
+  <error>
+    <error_name>KErrSdpBadContinuationState</error_name>
+    <error_value>-6405</error_value>
+    <error_component>Bluetooth SDP  (BTSDP.H)</error_component>
+    <error_text>Invalid ContinuationState</error_text>
+  </error>
+  <error>
+    <error_name>KErrSdpServerRejectedRequest</error_name>
+    <error_value>-6406</error_value>
+    <error_component>Bluetooth SDP  (BTSDP.H)</error_component>
+    <error_text>SDP server rejected the request</error_text>
+  </error>
+  <error>
+    <error_name>KErrSdpBadRequestBufferLength</error_name>
+    <error_value>-6407</error_value>
+    <error_component>Bluetooth SDP  (BTSDP.H)</error_component>
+    <error_text>Request buffer was ill-formed</error_text>
+  </error>
+  <error>
+    <error_name>KErrSdpBadResultBufferLength</error_name>
+    <error_value>-6408</error_value>
+    <error_component>Bluetooth SDP  (BTSDP.H)</error_component>
+    <error_text>Result buffer was ill-formed</error_text>
+  </error>
+  <error>
+    <error_name>KErrSdpBadUUIDLength</error_name>
+    <error_value>-6409</error_value>
+    <error_component>Bluetooth SDP  (BTSDP.H)</error_component>
+    <error_text>UUID entry was ill-formed</error_text>
+  </error>
+  <error>
+    <error_name>KErrSdpBadResultData</error_name>
+    <error_value>-6410</error_value>
+    <error_component>Bluetooth SDP  (BTSDP.H)</error_component>
+    <error_text>Response was ill-formed</error_text>
+  </error>
+  <error>
+    <error_name>KErrSdpDatabaseFull</error_name>
+    <error_value>-6411</error_value>
+    <error_component>Bluetooth SDP  (BTSDP.H)</error_component>
+    <error_text>SDP database is full</error_text>
+  </error>
+  <error>
+    <error_name>KErrInsufficientBasebandResources</error_name>
+    <error_value>-6450</error_value>
+    <error_component>Bluetooth Link Manager  (BTSOCK.H)</error_component>
+    <error_text>Insufficient baseband resources error value</error_text>
+  </error>
+  <error>
+    <error_name>KErrProxyWriteNotAvailable</error_name>
+    <error_value>-6451</error_value>
+    <error_component>Bluetooth Link Manager  (BTSOCK.H)</error_component>
+    <error_text>Proxy write not available error value</error_text>
+  </error>
+  <error>
+    <error_name>KErrReflexiveBluetoothLink</error_name>
+    <error_value>-6452</error_value>
+    <error_component>Bluetooth Link Manager  (BTSOCK.H)</error_component>
+    <error_text>Reflexive BT link error value</error_text>
+  </error>
+  <error>
+    <error_name>KMsvMediaUnavailable</error_name>
+    <error_value>-7000</error_value>
+    <error_component>Message Server  (MSVSTD.H)</error_component>
+    <error_text>There is no disk in the drive containing the Message Server index</error_text>
+  </error>
+  <error>
+    <error_name>KMsvMediaIncorrect</error_name>
+    <error_value>-7001</error_value>
+    <error_component>Message Server  (MSVSTD.H)</error_component>
+    <error_text>There is a disk in the drive containing the Message Server index, but it is the wrong one</error_text>
+  </error>
+  <error>
+    <error_name>KMsvMediaChanged</error_name>
+    <error_value>-7002</error_value>
+    <error_component>Message Server  (MSVSTD.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KMsvIndexBackup</error_name>
+    <error_value>-7003</error_value>
+    <error_component>Message Server  (MSVSTD.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KMsvIndexRestore</error_name>
+    <error_value>-7004</error_value>
+    <error_component>Message Server  (MSVSTD.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeDefault</error_name>
+    <error_value>-7200</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error making a default encoding of unrecognised headers</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeAccept</error_name>
+    <error_value>-7201</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the Accept field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeAcceptCharset</error_name>
+    <error_value>-7202</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the Accept-Charset field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeQValue</error_name>
+    <error_value>-7203</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding a q-value parameter</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeAuthorization</error_name>
+    <error_value>-7204</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the Authorization field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeBasicAuth</error_name>
+    <error_value>-7205</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding Basiccredentials</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeDigestAuth</error_name>
+    <error_value>-7206</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding Digestcredentials</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeConnection</error_name>
+    <error_value>-7207</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the Connection field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeContentLength</error_name>
+    <error_value>-7208</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the Content-Length field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeContentType</error_name>
+    <error_value>-7209</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the Content-Type field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeHost</error_name>
+    <error_value>-7210</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the Host field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeHostPort</error_name>
+    <error_value>-7211</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the Host field's port parameter</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeTransferEncoding</error_name>
+    <error_value>-7212</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the Transfer-Encoding field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeUserAgent</error_name>
+    <error_value>-7213</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the User-Agent field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeDate</error_name>
+    <error_value>-7214</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the Date field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeCookie</error_name>
+    <error_value>-7215</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the Cookie field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeCacheControl</error_name>
+    <error_value>-7216</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the Cache-Control field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodePragma</error_name>
+    <error_value>-7217</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the Pragma field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeIfMatch</error_name>
+    <error_value>-7218</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the ifmatch field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeIfNoneMatch</error_name>
+    <error_value>-7219</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the ifnone match field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeIfModifiedSince</error_name>
+    <error_value>-7220</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the ifmodified since field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeIfUnmodifiedSince</error_name>
+    <error_value>-7221</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the ifunmodified since field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEncodeCookie2</error_name>
+    <error_value>-7222</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error encoding the Cookie2 field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeMalformedDate</error_name>
+    <error_value>-7260</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>General formatting error for date values</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeMalformedYear</error_name>
+    <error_value>-7261</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Malformed year</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeMalformedMonth</error_name>
+    <error_value>-7262</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Malformed short monthname</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeMalformedDay</error_name>
+    <error_value>-7263</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Malformed number of day in month</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeMalformedWkDay</error_name>
+    <error_value>-7264</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Malformed short day name</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeMalformedWeekDay</error_name>
+    <error_value>-7265</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Malformed long day name</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeMalformedInteger</error_name>
+    <error_value>-7266</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Malformed integer value</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeMalformedQuotedStr</error_name>
+    <error_value>-7267</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Malformed quoted string</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeAccept</error_name>
+    <error_value>-7270</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error decoding the Accept field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeConnection</error_name>
+    <error_value>-7271</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error decoding the Connection field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeContentLength</error_name>
+    <error_value>-7272</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error decoding the Content-Length field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeContentType</error_name>
+    <error_value>-7273</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error decoding the Content-Type field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeTransferEncoding</error_name>
+    <error_value>-7274</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error decoding the Transfer-Encoding field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeWWWAuthenticate</error_name>
+    <error_value>-7275</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error decoding the WWWAuthenticate field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeUnknownAuthScheme</error_name>
+    <error_value>-7276</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>The WWWAuthenticate field contained an unrecognised authentication scheme</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeBasicAuth</error_name>
+    <error_value>-7277</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error decoding a Basic WWWAuthenticate challenge</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeDigestAuth</error_name>
+    <error_value>-7278</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error decoding a Digest WWWAuthenticate challenge</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpDecodeCookie</error_name>
+    <error_value>-7279</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Error decoding a Set-Cookie field</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpRedirectExceededLimit</error_name>
+    <error_value>-7300</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>A uri redirected too many times, possibly indicating a circular redirection</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpRedirectUseProxy</error_name>
+    <error_value>-7301</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>A server responded that the uri must be fetched via a proxy</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpRedirectNoLocationField</error_name>
+    <error_value>-7302</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>A server sent a redirection response that did not include a Location header</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpUnknownParseState</error_name>
+    <error_value>-7303</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>An error occured in parsing which left the parser in a unknown state</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpRequestHasBody</error_name>
+    <error_value>-7330</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>A body is provided with a method that doesn't allow bodys to be transmitted</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpRequestBodyMissing</error_name>
+    <error_value>-7331</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>A body is missing from a method that requires it</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpTraceReqWithoutMaxForwardHeader</error_name>
+    <error_value>-7332</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Should contain The Max-Forward header</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpPostReqBodyWithoutSizeOnHTTP10</error_name>
+    <error_value>-7333</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Body must NOT be sent chunked if using HTTP/1.0</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpInvalidHeaderInRequest</error_name>
+    <error_value>-7334</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Request contained a response header or a entity header but no body</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpEntityHeaderMissingContentType</error_name>
+    <error_value>-7360</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>A body was provided in the request but no Content-Type header was set</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpGeneralHeaderMissingHost</error_name>
+    <error_value>-7361</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>The request URI was relative, but no Host header was set to indicate a server to connect to</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpCantResetRequestBody</error_name>
+    <error_value>-7370</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>The request body needed to be rewound but the client but it doesn't support</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpProtTransactionNotInitialised</error_name>
+    <error_value>-7371</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>The Protocol handler is not initialised</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpCannotEstablishTunnel</error_name>
+    <error_value>-7372</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Unable to establish a tunnel.</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpInvalidUri</error_name>
+    <error_value>-7373</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Invalid URI</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpNonPipeliningError</error_name>
+    <error_value>-7374</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Protocol handler experienced a non-pipelining error</error_text>
+  </error>
+  <error>
+    <error_name>KErrHttpPipeliningError</error_name>
+    <error_value>-7375</error_value>
+    <error_component>HTTP Client  (HTTPERR.H)</error_component>
+    <error_text>Protocol handler experienced a pipelining error</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLNoSharedCipher</error_name>
+    <error_value>-7401</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>No shared cipher was found. The handshake failed becausethere was no available shared cipher supported by both the client and the server.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLSocketBusy</error_name>
+    <error_value>-7402</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>The socket already has received data pending on it. This error is seen when StartClientHandshake is called when  there is already data waiting to be read from the socket. *</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLInvalidCipherSuite</error_name>
+    <error_value>-7403</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>One or more cipher suites passed as an argument was invalid.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLInvalidCert</error_name>
+    <error_value>-7404</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>The certificate that was passed as an argument was invalid.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLNoClientCert</error_name>
+    <error_value>-7405</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>No client certificate was supplied.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLUnsupportedKeySize</error_name>
+    <error_value>-7406</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>The size of the key is toobig.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLUnsupportedKey</error_name>
+    <error_value>-7407</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>General unsupported key error</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLBadRecordHeader</error_name>
+    <error_value>-7408</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>An invalid record was received.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLBadProtocolVersion</error_name>
+    <error_value>-7409</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>Invalid protocol version.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSL2ServerOnly</error_name>
+    <error_value>-7410</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>The server only supports the SSL2.0 protocol.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLUnexpectedMessage</error_name>
+    <error_value>-7411</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>Unexpected message.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLUnsupportedCipher</error_name>
+    <error_value>-7412</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>Unsupported cipher.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLBadMAC</error_name>
+    <error_value>-7413</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>Bad MAC.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLReceivedAlert</error_name>
+    <error_value>-7414</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>An SSL alert was received from the remote end, which caused the connection to be terminated.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLRecvNotSupportedHS</error_name>
+    <error_value>-7415</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>An invalid handshake message was received.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLHSRecordFieldTooBig</error_name>
+    <error_value>-7416</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>A field in the handshake record being parsed was too big.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLRecordHeaderTooBig</error_name>
+    <error_value>-7417</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>Record header field too big.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLSendDataTooBig</error_name>
+    <error_value>-7418</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>Send data field too big.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLNoCertificate</error_name>
+    <error_value>-7419</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>No certificate.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLInvalidHash</error_name>
+    <error_value>-7420</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>Invalid hash.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLSendCanceled</error_name>
+    <error_value>-7421</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>Send cancelled.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLRecvCanceled</error_name>
+    <error_value>-7422</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>Receieve cancelled.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLHandshakeCanceled</error_name>
+    <error_value>-7423</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>CancelHandshake was calledduring one of the handshake methods.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLWriteFailed</error_name>
+    <error_value>-7424</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>Write failed.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLFailedToLoad</error_name>
+    <error_value>-7425</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>The SSL.dll couldn't be loaded by the adaptor.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLDisconnectIndication</error_name>
+    <error_value>-7426</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>An unspecified error was signaled from the SSL.dll to the adaptor.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLDllLeave</error_name>
+    <error_value>-7427</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>A leave occured in the SSL.dll.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertCloseNotify</error_name>
+    <error_value>-7500</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>Close notification.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertUnexpectedMessage</error_name>
+    <error_value>-7510</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>An inappropriate message was received.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertBadRecordMac</error_name>
+    <error_value>-7520</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>A record was received withan incorrect MAC.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertDecryptionFailed</error_name>
+    <error_value>-7521</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>A TLS cipher text was decrypted in an invalid way.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertRecordOverflow</error_name>
+    <error_value>-7522</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>A TLS cipher text record was received which was too long.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertDecompressionFailure</error_name>
+    <error_value>-7530</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>The decompression functionreceived improper input.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertHandshakeFailure</error_name>
+    <error_value>-7540</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>With given the options available, the sender was unable to negotiate an acceptable set of security parameters.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertNoCertificate</error_name>
+    <error_value>-7541</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>No certificate.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertBadCertificate</error_name>
+    <error_value>-7542</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>A certificate was corrupt,e.g. contained signatures that could not be verified.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertUnsupportedCertificate</error_name>
+    <error_value>-7543</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>The certificate was of an unsupported type.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertCertificateRevoked</error_name>
+    <error_value>-7544</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>The certificate was revoked.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertCertificateExpired</error_name>
+    <error_value>-7545</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>The certificate was expired.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertCertificateUnknown</error_name>
+    <error_value>-7546</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>An unspecified problem withthe certificate. Certificate can not be used.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertIllegalParameter</error_name>
+    <error_value>-7547</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>A field in the handshake was out of range or inconsistent with other fields.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertUnknownCA</error_name>
+    <error_value>-7548</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>Either the CA certificate could not be located or the CA could not be matched with a known trusted CA.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertAccessDenied</error_name>
+    <error_value>-7549</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>A valid certificate was received, but the access control denied access.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertDecodeError</error_name>
+    <error_value>-7550</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>A message could not be decoded, e.g. some field was out of the specified range.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertDecryptError</error_name>
+    <error_value>-7551</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>A handshake cryptographic operation failed.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertExportRestriction</error_name>
+    <error_value>-7560</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>A negotiation was not allowed due to export restrictions.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertProtocolVersion</error_name>
+    <error_value>-7570</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>The protocol version was not supported, e.g. the client has attempted to negotiate a recognised, but unsupportedprotocol.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertInsufficientSecurity</error_name>
+    <error_value>-7571</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>Returned instead of KErrSSLAlertHandshakeFailure when the negotiation fails because the server requests ciphers more secure than those supported by the client.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertInternalError</error_name>
+    <error_value>-7580</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>An internal error.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertUserCanceled</error_name>
+    <error_value>-7590</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>This handshake is being cancelled by the user.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSSLAlertNoRenegotiation</error_name>
+    <error_value>-7600</error_value>
+    <error_component>SSL/TLS  (SSLERR.H)</error_component>
+    <error_text>No renegotiation will be accepted.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTransportRequest</error_name>
+    <error_value>-8321</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>The transport cannot send data as created.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTransportHeader</error_name>
+    <error_value>-8322</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>The transport has not been suitably configured.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTransportSvrNoUri</error_name>
+    <error_value>-8323</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>The URI does not exist.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTransportSvrError</error_name>
+    <error_value>-8324</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>There was a transport server error.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTransportAuthenticationFailure</error_name>
+    <error_value>-8325</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Transport Authentification failure.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTransportDisconnected</error_name>
+    <error_value>-8326</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Transport disconnected the session.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSyncEngineErrorBase</error_name>
+    <error_value>-8327</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Base value for engine-related errors.</error_text>
+  </error>
+  <error>
+    <error_name>KErrConnectionError</error_name>
+    <error_value>-8328</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Transports could not connect to the server.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCannotCommunicateWithServer</error_name>
+    <error_value>-8329</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Could not communicate with the server:possibly atime-out occurred.</error_text>
+  </error>
+  <error>
+    <error_name>KErrDatabaseAdapterIndexError</error_name>
+    <error_value>-8330</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Database adapter failed to create an item.</error_text>
+  </error>
+  <error>
+    <error_name>KErrParseCallbackError</error_name>
+    <error_value>-8331</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Currently unused.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCommandInvalid</error_name>
+    <error_value>-8332</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Currently unused.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSessionIdNotValid</error_name>
+    <error_value>-8333</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Invalid session ID.</error_text>
+  </error>
+  <error>
+    <error_name>KErrVerDTDMissing</error_name>
+    <error_value>-8334</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>SyncML message did not specify a DTD version.</error_text>
+  </error>
+  <error>
+    <error_name>KErrProtoMissing</error_name>
+    <error_value>-8335</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>SyncML message did not specify a protocol.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSyncHdrMissing</error_name>
+    <error_value>-8336</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Currently unused.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTargetLocMissing</error_name>
+    <error_value>-8337</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>SyncML message did not specify a target location.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSourceLocMissing</error_name>
+    <error_value>-8338</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>SyncML message did not specify a source location.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTargetLocNameMissing</error_name>
+    <error_value>-8339</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Currently unused.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSourceLocNameMissing</error_name>
+    <error_value>-8340</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Currently unused.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMappingInfoMissing</error_name>
+    <error_value>-8341</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Mapping of added item could not created.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMappingInfoNotAcked</error_name>
+    <error_value>-8342</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Mapping has not been acknowledged by the server.</error_text>
+  </error>
+  <error>
+    <error_name>KErrVersionDTDNotSupported</error_name>
+    <error_value>-8343</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>SyncML message specified an unsupported DTD version.</error_text>
+  </error>
+  <error>
+    <error_name>KErrProtoNotSupported</error_name>
+    <error_value>-8344</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>SyncML message specified an unsupported protocol.</error_text>
+  </error>
+  <error>
+    <error_name>KErrStatusCommandForCommandNotSent</error_name>
+    <error_value>-8345</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>A status was received for a cmdId, butthis cmdIdwas not sent.</error_text>
+  </error>
+  <error>
+    <error_name>KErrStatusCommandNotTheSame</error_name>
+    <error_value>-8346</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>A status was received but the commandstringdoesnot matched the received one.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMissingStatusCommands</error_name>
+    <error_value>-8347</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Status command(s) were expected but are missing.</error_text>
+  </error>
+  <error>
+    <error_name>KErrFailedToAddRecord</error_name>
+    <error_value>-8348</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Failed to add record in database.</error_text>
+  </error>
+  <error>
+    <error_name>KErrFailedToReplaceRecord</error_name>
+    <error_value>-8349</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Failed to replace record in database.</error_text>
+  </error>
+  <error>
+    <error_name>KErrFailedToDeleteRecord</error_name>
+    <error_value>-8350</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Failed to delete record in database.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXmlParsingError</error_name>
+    <error_value>-8351</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>XML parsing error.</error_text>
+  </error>
+  <error>
+    <error_name>KErrReferenceToolkitError</error_name>
+    <error_value>-8352</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>There was an error reported in the referencetoolkit.</error_text>
+  </error>
+  <error>
+    <error_name>KErrClientDatabaseNotFound</error_name>
+    <error_value>-8404</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>No suitable database was found on theclientdevice.</error_text>
+  </error>
+  <error>
+    <error_name>KErrServerDatabaseNotFound</error_name>
+    <error_value>-8405</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>No suitable database was found on theserver.</error_text>
+  </error>
+  <error>
+    <error_name>KErrDevInfFileNotFound</error_name>
+    <error_value>-8406</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Currently unused.</error_text>
+  </error>
+  <error>
+    <error_name>KErrObjectTooLargeToSendToServer</error_name>
+    <error_value>-8407</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Object is too large to send to server.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSlowSync</error_name>
+    <error_value>-8408</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Sync is going to be slow.</error_text>
+  </error>
+  <error>
+    <error_name>KErrFailedToGetRecord</error_name>
+    <error_value>-8409</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Failed to get record from DevMan.</error_text>
+  </error>
+  <error>
+    <error_name>KErrUserInteractionFailed</error_name>
+    <error_value>-8410</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>User interaction failed.</error_text>
+  </error>
+  <error>
+    <error_name>KErrStatusSizeMismatch</error_name>
+    <error_value>-8411</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Large object size mismatch.</error_text>
+  </error>
+  <error>
+    <error_name>KErrFailedToCloseDatabase</error_name>
+    <error_value>-8412</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Data Provider close failed.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMessageTooShort</error_name>
+    <error_value>-8451</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message is too short.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMessageIsCorrupt</error_name>
+    <error_value>-8452</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message is corrupt.</error_text>
+  </error>
+  <error>
+    <error_name>KErrBadTransportId</error_name>
+    <error_value>-8453</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Profile has no Transport ID.</error_text>
+  </error>
+  <error>
+    <error_name>KErrNoNotificationBody</error_name>
+    <error_value>-8454</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message has no body.</error_text>
+  </error>
+  <error>
+    <error_name>KErrWrongVersion</error_name>
+    <error_value>-8455</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message specifies an unsupportedversion.</error_text>
+  </error>
+  <error>
+    <error_name>KErrUnsupportedMimeType</error_name>
+    <error_value>-8456</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message specifies an unsupportedversion.</error_text>
+  </error>
+  <error>
+    <error_name>KErrNoSuchTask</error_name>
+    <error_value>-8457</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Currently unused.</error_text>
+  </error>
+  <error>
+    <error_name>KErrUnknownSyncType</error_name>
+    <error_value>-8458</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message specifies an unknown typeof sync.</error_text>
+  </error>
+  <error>
+    <error_name>KErrUnknownProfile</error_name>
+    <error_value>-8459</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message specifies an unknown profile.</error_text>
+  </error>
+  <error>
+    <error_name>KErrInvalidProfile</error_name>
+    <error_value>-8460</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Currently unused.</error_text>
+  </error>
+  <error>
+    <error_name>KErrInvalidCredentials</error_name>
+    <error_value>-8461</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Unsupported (USERNETWPIN or USERPIN) securitymechanism specified.</error_text>
+  </error>
+  <error>
+    <error_name>KErrNoCredentials</error_name>
+    <error_value>-8462</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Currently unused.</error_text>
+  </error>
+  <error>
+    <error_name>KErrIntegrityFailureHMAC</error_name>
+    <error_value>-8463</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Failed to verify the generated HMAC value.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMustUsageUriNotComplete</error_name>
+    <error_value>-8464</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Currently unused.</error_text>
+  </error>
+  <error>
+    <error_name>KErrDMAccUriIsCorrupt</error_name>
+    <error_value>-8465</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message has invalid DM account URI.</error_text>
+  </error>
+  <error>
+    <error_name>KErrDMConUriIsCorrupt</error_name>
+    <error_value>-8466</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message has invalid DM connectionURI.</error_text>
+  </error>
+  <error>
+    <error_name>KErrParmNameNotInProvDoc</error_name>
+    <error_value>-8468</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message has missing characteristic.</error_text>
+  </error>
+  <error>
+    <error_name>KErrInvalidAppIdValue</error_name>
+    <error_value>-8469</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message has missing or invalid App Id.</error_text>
+  </error>
+  <error>
+    <error_name>KErrInvalidToNapIdValue</error_name>
+    <error_value>-8470</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message has missing or invalid TO-NAPID.</error_text>
+  </error>
+  <error>
+    <error_name>KErrInvalidProviderIdValue</error_name>
+    <error_value>-8471</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message has missing or invalid Provider-ID.</error_text>
+  </error>
+  <error>
+    <error_name>KErrEmptyAauthLevelValue</error_name>
+    <error_value>-8472</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message has missing or invalid AAUTHLEVEL.</error_text>
+  </error>
+  <error>
+    <error_name>KErrAppSrvAAuthLevelNotFound</error_name>
+    <error_value>-8473</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message has missing or invalid APPSRV</error_text>
+  </error>
+  <error>
+    <error_name>KErrClientAAuthLevelNotFound</error_name>
+    <error_value>-8474</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message has missing or invalid AppAuth Client</error_text>
+  </error>
+  <error>
+    <error_name>KErrInvalidAppAuth</error_name>
+    <error_value>-8475</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Currently unused.</error_text>
+  </error>
+  <error>
+    <error_name>KErrNoApplicationCharac</error_name>
+    <error_value>-8476</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message has missing or invalid APPLICATION characteristic</error_text>
+  </error>
+  <error>
+    <error_name>KErrNoAppAuthCharac</error_name>
+    <error_value>-8478</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Push message has missing or invalid APPAUTH characteristic.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMissingRequiredParmInSvr</error_name>
+    <error_value>-8480</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Currently unused.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMissingRequiredParmInClient</error_name>
+    <error_value>-8481</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Currently unused.</error_text>
+  </error>
+  <error>
+    <error_name>KErrAppAddrCharacNotFound</error_name>
+    <error_value>-8484</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Missing APPADDR characteristic or subcharacteristic</error_text>
+  </error>
+  <error>
+    <error_name>KErrUnsupportedVersion</error_name>
+    <error_value>-8485</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Unsupported WBXML version</error_text>
+  </error>
+  <error>
+    <error_name>KErrWrongProvPublicDocId</error_name>
+    <error_value>-8486</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>Prov Document identifier not WAP Provisoningversion 1.0</error_text>
+  </error>
+  <error>
+    <error_name>KErrProfileNotFound</error_name>
+    <error_value>-8501</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>The requested profile does not exist.</error_text>
+  </error>
+  <error>
+    <error_name>KErrConnectionNotFound</error_name>
+    <error_value>-8502</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>The requested connection does not exist within the profile.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTaskNotFound</error_name>
+    <error_value>-8503</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>The requested task does not exist within theprofile.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTransportNotFound</error_name>
+    <error_value>-8504</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>The requested transport adaptor does not exist.</error_text>
+  </error>
+  <error>
+    <error_name>KErrDataProviderNotFound</error_name>
+    <error_value>-8505</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>The requested data provider does not exist.</error_text>
+  </error>
+  <error>
+    <error_name>KErrJobNotFound</error_name>
+    <error_value>-8506</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>The requested job has completed.</error_text>
+  </error>
+  <error>
+    <error_name>KErrObjectPendingDelete</error_name>
+    <error_value>-8507</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>The requested object is pending deletion.</error_text>
+  </error>
+  <error>
+    <error_name>KErrObjectInUse</error_name>
+    <error_value>-8508</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>The object to modify or delete is currently in use.</error_text>
+  </error>
+  <error>
+    <error_name>KErrProfileAccessDenied</error_name>
+    <error_value>-8509</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>The specified profile is not available, e.g. a Device Management profile, or open foredit by another client.</error_text>
+  </error>
+  <error>
+    <error_name>KErrSuspended</error_name>
+    <error_value>-8510</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>The requested data stream cannot be found intheData Store.</error_text>
+  </error>
+  <error>
+    <error_name>KErrDataDepotStreamNotFound</error_name>
+    <error_value>-8511</error_value>
+    <error_component>SyncML  (SYNCMLERR.H)</error_component>
+    <error_text>The requested data stream cannot be found intheData Store.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLBadAttributeValue</error_name>
+    <error_value>-9001</error_value>
+    <error_component>MMS SMIL Translator  (MDXMLCONSTANTS.H)</error_component>
+    <error_text>XML attribute value error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLBadAttributeName</error_name>
+    <error_value>-9002</error_value>
+    <error_component>MMS SMIL Translator  (MDXMLCONSTANTS.H)</error_component>
+    <error_text>XML attribute name error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLInvalidChild</error_name>
+    <error_value>-9003</error_value>
+    <error_component>MMS SMIL Translator  (MDXMLCONSTANTS.H)</error_component>
+    <error_text>Invalid XML child element error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLBadNesting</error_name>
+    <error_value>-9004</error_value>
+    <error_component>MMS SMIL Translator  (MDXMLCONSTANTS.H)</error_component>
+    <error_text>XML element nesting error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLIncomplete</error_name>
+    <error_value>-9005</error_value>
+    <error_component>MMS SMIL Translator  (MDXMLCONSTANTS.H)</error_component>
+    <error_text>XML element incomplete error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLBadElementName</error_name>
+    <error_value>-9006</error_value>
+    <error_component>MMS SMIL Translator  (MDXMLCONSTANTS.H)</error_component>
+    <error_text>XML element name error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLDuplicateDocTypeTags</error_name>
+    <error_value>-9007</error_value>
+    <error_component>MMS SMIL Translator  (MDXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates that more than one DOCTYPE tag has been encountered: the first one encountered will be used.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLDuplicateVersionTags</error_name>
+    <error_value>-9008</error_value>
+    <error_component>MMS SMIL Translator  (MDXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates that more than one XML version tag has been encountered: the first one encountered will be used.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLDuplicateRootElements</error_name>
+    <error_value>-9009</error_value>
+    <error_component>MMS SMIL Translator  (MDXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates that more than one element has been encountered at the root of the document.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLMissingDocTypeTag</error_name>
+    <error_value>-9010</error_value>
+    <error_component>MMS SMIL Translator  (MDXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates that no DOCTYPE tag was encountered.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLMissingVersionTag</error_name>
+    <error_value>-9011</error_value>
+    <error_component>MMS SMIL Translator  (MDXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates that no XML version tag was encountered.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLDuplicateAttributeName</error_name>
+    <error_value>-9012</error_value>
+    <error_component>MMS SMIL Translator  (MDXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates that an element has two or more entries for the same attribute.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLMultipleRootElements</error_name>
+    <error_value>-9013</error_value>
+    <error_component>MMS SMIL Translator  (MDXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates there is no single root element.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLCorruptFile</error_name>
+    <error_value>-9014</error_value>
+    <error_component>MMS SMIL Translator  (MDXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates spurious characters have been found. This may occur as the result of a missing or an extra attribute or element delimiter.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLIllegalCharacter</error_name>
+    <error_value>-9015</error_value>
+    <error_component>MMS SMIL Translator  (MDXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates a built-in entity or element / attribute delimiter is at an inappropriate place.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLBadAttributeValue</error_name>
+    <error_value>-9001</error_value>
+    <error_component>XML Parser  (GMXMLDOMCONSTANTS.H)</error_component>
+    <error_text>XML attribute value error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLBadAttributeName</error_name>
+    <error_value>-9002</error_value>
+    <error_component>XML Parser  (GMXMLDOMCONSTANTS.H)</error_component>
+    <error_text>XML attribute name error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLInvalidChild</error_name>
+    <error_value>-9003</error_value>
+    <error_component>XML Parser  (GMXMLDOMCONSTANTS.H)</error_component>
+    <error_text>Invalid XML child element error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLBadNesting</error_name>
+    <error_value>-9004</error_value>
+    <error_component>XML Parser  (GMXMLCONSTANTS.H)</error_component>
+    <error_text>XML element nesting error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLIncomplete</error_name>
+    <error_value>-9005</error_value>
+    <error_component>XML Parser  (GMXMLCONSTANTS.H)</error_component>
+    <error_text>XML element incomplete error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLBadElementName</error_name>
+    <error_value>-9006</error_value>
+    <error_component>XML Parser  (GMXMLCONSTANTS.H)</error_component>
+    <error_text>XML element name error code.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLDuplicateDocTypeTags</error_name>
+    <error_value>-9007</error_value>
+    <error_component>XML Parser  (GMXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates that more than one DOCTYPE tag has been encountered: the first one encountered will be used.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLDuplicateVersionTags</error_name>
+    <error_value>-9008</error_value>
+    <error_component>XML Parser  (GMXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates that more than one XML version tag has been encountered: the first one encountered will be used.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLDuplicateRootElements</error_name>
+    <error_value>-9009</error_value>
+    <error_component>XML Parser  (GMXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates that more than one element has been encountered at the root of the document (there should be a single &lt;smil&gt; element). The resulting tree may be confused, but is provided rather than being discarded.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLMissingDocTypeTag</error_name>
+    <error_value>-9010</error_value>
+    <error_component>XML Parser  (GMXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates that no DOCTYPE tag was encountered.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLMissingVersionTag</error_name>
+    <error_value>-9011</error_value>
+    <error_component>XML Parser  (GMXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates that no XML version tag was encountered.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLDuplicateAttributeName</error_name>
+    <error_value>-9012</error_value>
+    <error_component>XML Parser  (GMXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates that an element has two or more entries for the same attribute.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLMultipleRootElements</error_name>
+    <error_value>-9013</error_value>
+    <error_component>XML Parser  (GMXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates there is no single root element. This may be the result of two of more root elements being added incorrectly, or a missing root element leading to the child elements being assumed to be root nodes.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLCorruptFile</error_name>
+    <error_value>-9014</error_value>
+    <error_component>XML Parser  (GMXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates spurious characters have been found. This may occur as the result of a missing or an extra attribute or element delimiter.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLIllegalCharacter</error_name>
+    <error_value>-9015</error_value>
+    <error_component>XML Parser  (GMXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates a built-in entity or element / attribute delimiters at an inappropriate place.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLBadEntity</error_name>
+    <error_value>-9016</error_value>
+    <error_component>XML Parser  (GMXMLCONSTANTS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrXMLInvalidElement</error_name>
+    <error_value>-9017</error_value>
+    <error_component>XML Parser  (GMXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates an element was found to be invalid by the DTD</error_text>
+  </error>
+  <error>
+    <error_name>KErrXMLInvalidAttribute</error_name>
+    <error_value>-9018</error_value>
+    <error_component>XML Parser  (GMXMLCONSTANTS.H)</error_component>
+    <error_text>Error code that indicates an attribute was found to be invalid by the DTD</error_text>
+  </error>
+  <error>
+    <error_name>KMmsErrUnspecified</error_name>
+    <error_value>-9100</error_value>
+    <error_component>MMS Server MTM  (MMSERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KMmsErrServiceDenied</error_name>
+    <error_value>-9101</error_value>
+    <error_component>MMS Server MTM  (MMSERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KMmsErrMessageFormatCorrupt</error_name>
+    <error_value>-9102</error_value>
+    <error_component>MMS Server MTM  (MMSERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KMmsErrSendingAddressUnresolved</error_name>
+    <error_value>-9103</error_value>
+    <error_component>MMS Server MTM  (MMSERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KMmsErrMessageNotFound</error_name>
+    <error_value>-9104</error_value>
+    <error_component>MMS Server MTM  (MMSERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KMmsErrNetworkProblem</error_name>
+    <error_value>-9105</error_value>
+    <error_component>MMS Server MTM  (MMSERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KMmsErrContentNotAccepted</error_name>
+    <error_value>-9106</error_value>
+    <error_component>MMS Server MTM  (MMSERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KMmsErrUnsupportedMessage</error_name>
+    <error_value>-9107</error_value>
+    <error_component>MMS Server MTM  (MMSERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KMmsErrInvalidPDU</error_name>
+    <error_value>-9108</error_value>
+    <error_component>MMS Server MTM  (MMSERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KMmsErrNoData</error_name>
+    <error_value>-9109</error_value>
+    <error_component>MMS Server MTM  (MMSERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KMmsNoResponseStatus</error_name>
+    <error_value>-9110</error_value>
+    <error_component>MMS Server MTM  (MMSERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrBadPassphrase</error_name>
+    <error_value>-11000</error_value>
+    <error_component>Security Services   (SECURITYERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrTotalLossOfEntropy</error_name>
+    <error_value>-11001</error_value>
+    <error_component>Security Services   (SECURITYERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrKeyNotWeakEnough</error_name>
+    <error_value>-11002</error_value>
+    <error_component>Security Services   (SECURITYERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrInvalidPadding</error_name>
+    <error_value>-11003</error_value>
+    <error_component>Security Services   (SECURITYERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrWeakKey</error_name>
+    <error_value>-11004</error_value>
+    <error_component>Security Services   (SECURITYERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrNegativeExportNotSupported</error_name>
+    <error_value>-11005</error_value>
+    <error_component>Security Services   (SECURITYERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrKeyAlgorithm</error_name>
+    <error_value>-11006</error_value>
+    <error_component>Security Services   (SECURITYERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrKeyUsage</error_name>
+    <error_value>-11007</error_value>
+    <error_component>Security Services   (SECURITYERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrKeyValidity</error_name>
+    <error_value>-11008</error_value>
+    <error_component>Security Services   (SECURITYERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrKeySize</error_name>
+    <error_value>-11009</error_value>
+    <error_component>Security Services   (SECURITYERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrKeyAccess</error_name>
+    <error_value>-11010</error_value>
+    <error_component>Security Services   (SECURITYERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrPrivateKeyNotFound</error_name>
+    <error_value>-11011</error_value>
+    <error_component>Security Services   (SECURITYERR.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KEZlibErrStream</error_name>
+    <error_value>-11501</error_value>
+    <error_component>EZLIB  (EZLIBERRORCODES.H)</error_component>
+    <error_text>The Z_STREAM_ERROR zlib error code has been returned by an internal method due to a stream error.</error_text>
+  </error>
+  <error>
+    <error_name>KEZlibErrData</error_name>
+    <error_value>-11502</error_value>
+    <error_component>EZLIB  (EZLIBERRORCODES.H)</error_component>
+    <error_text>The Z_DATA_ERROR zlib error code has been returned by an internalmethod due to a data error.</error_text>
+  </error>
+  <error>
+    <error_name>KEZlibErrBuf</error_name>
+    <error_value>-11503</error_value>
+    <error_component>EZLIB  (EZLIBERRORCODES.H)</error_component>
+    <error_text>The Z_BUF_ERROR zlib error code has been returned by an internalmethod due to a buffer error.</error_text>
+  </error>
+  <error>
+    <error_name>KEZlibErrVersion</error_name>
+    <error_value>-11504</error_value>
+    <error_component>EZLIB  (EZLIBERRORCODES.H)</error_component>
+    <error_text>The Z_VERSION_ERROR zlib error code has been returned by an internal method due to a version error.</error_text>
+  </error>
+  <error>
+    <error_name>KEZlibErrUnexpected</error_name>
+    <error_value>-11505</error_value>
+    <error_component>EZLIB  (EZLIBERRORCODES.H)</error_component>
+    <error_text>Unexpected ezlib error.</error_text>
+  </error>
+  <error>
+    <error_name>KEZlibErrDeflateTerminated</error_name>
+    <error_value>-11506</error_value>
+    <error_component>EZLIB  (EZLIBERRORCODES.H)</error_component>
+    <error_text>Returned by ::DeflateL() if deflation has already occured.</error_text>
+  </error>
+  <error>
+    <error_name>KEZlibErrInflateTerminated</error_name>
+    <error_value>-11507</error_value>
+    <error_component>EZLIB  (EZLIBERRORCODES.H)</error_component>
+    <error_text>Returned by ::InflateL() if inflation has already occured.</error_text>
+  </error>
+  <error>
+    <error_name>KEZlibErrInflateDictionary</error_name>
+    <error_value>-11508</error_value>
+    <error_component>EZLIB  (EZLIBERRORCODES.H)</error_component>
+    <error_text>An error has occured inflating the dictionary.</error_text>
+  </error>
+  <error>
+    <error_name>KEZlibErrNotGZipFile</error_name>
+    <error_value>-11509</error_value>
+    <error_component>EZLIB  (EZLIBERRORCODES.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KEZlibErrInvalidCompression</error_name>
+    <error_value>-11510</error_value>
+    <error_component>EZLIB  (EZLIBERRORCODES.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KEZlibErrBadGZipHeader</error_name>
+    <error_value>-11511</error_value>
+    <error_component>EZLIB  (EZLIBERRORCODES.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KEZlibErrBadGZipTrailer</error_name>
+    <error_value>-11512</error_value>
+    <error_component>EZLIB  (EZLIBERRORCODES.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KEZlibErrBadGZipCrc</error_name>
+    <error_value>-11513</error_value>
+    <error_component>EZLIB  (EZLIBERRORCODES.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrMMNotEnoughBandwidth</error_name>
+    <error_value>-12000</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>Not enough network bandwidth.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMSocketServiceNotFound</error_name>
+    <error_value>-12001</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>Error locating network socket services.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMNetworkRead</error_name>
+    <error_value>-12002</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>An error occurred while reading data from the network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMNetworkWrite</error_name>
+    <error_value>-12003</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>An error occurred while writing data to the network.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMServerSocket</error_name>
+    <error_value>-12004</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>Invalid socket error or an error occurred while creating a network socket.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMServerNotSupported</error_name>
+    <error_value>-12005</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>Streaming Server not supported.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMServerAlert</error_name>
+    <error_value>-12006</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>Server alert.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMUDPReceive</error_name>
+    <error_value>-12007</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>Player cannot receive UDP data packets.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMInvalidProtocol</error_name>
+    <error_value>-12008</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>Network transport not recognized.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMInvalidURL</error_name>
+    <error_value>-12009</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>Invalid URL.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMMulticast</error_name>
+    <error_value>-12010</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>An error occured attempting to join or access multicast session.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMProxyServer</error_name>
+    <error_value>-12011</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>Proxy status error, Proxy invalid response error or invalid hostname for proxy.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMProxyServerNotSupported</error_name>
+    <error_value>-12012</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>Client cannot support proxy server.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMProxyServerConnect</error_name>
+    <error_value>-12013</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>Unable to locate proxy server or Proxy connection could not be established.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMAudioDevice</error_name>
+    <error_value>-12014</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>Cannot open audio device, or lost control of audio device.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMVideoDevice</error_name>
+    <error_value>-12015</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>Problem blitting video to display.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMDecoder</error_name>
+    <error_value>-12016</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>Invalid decoder, decoder not properly initialized, or appropriate decoder could not be found.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMPartialPlayback</error_name>
+    <error_value>-12017</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>Only able to play either the audio or the video portion of the media file. Could be due to a codec that isn't supported, the video frame size being too large etc.</error_text>
+  </error>
+  <error>
+    <error_name>KErrMMDRMNotAuthorized</error_name>
+    <error_value>-12018</error_value>
+    <error_component>Multimedia Framework  (MMFERRORS.H)</error_component>
+    <error_text>Digital Rights have expired.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaUnknown</error_name>
+    <error_value>-13257</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - Unknown reason</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaDataSizeMismatch</error_name>
+    <error_value>-13258</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - Data size mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaProtocolVersionMismatch</error_name>
+    <error_value>-13259</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - Protocol version mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaInvalidParameter</error_name>
+    <error_value>-13260</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - Invalid parameter</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaSIDNIDLengthMismatch</error_name>
+    <error_value>-13261</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - SID NID length mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaMessageNotExpectedInThisMode</error_name>
+    <error_value>-13262</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - Message not expected in this mode</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaBlockIdValueNotSupported</error_name>
+    <error_value>-13263</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - Block Id value not supported</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaPRLLengthMismatch</error_name>
+    <error_value>-13264</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - PRL length mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaCRC</error_name>
+    <error_value>-13265</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - Incorrect CRC</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaLocked</error_name>
+    <error_value>-13266</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - Mobile Station Locked</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaInvalidSPC</error_name>
+    <error_value>-13267</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - Invalid SPC</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaSPCChangeDeniedByUser</error_name>
+    <error_value>-13268</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - SPC change denied by user</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaInvalidSpasm</error_name>
+    <error_value>-13269</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - Invalid SPASM</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaBlockIdNotExpectedInThisMode</error_name>
+    <error_value>-13270</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - Block Id not expected in this mode</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaUserZoneAlreadyInPUZL</error_name>
+    <error_value>-13271</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - User Zone already in PUZL</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaUserZoneNotInPUZL</error_name>
+    <error_value>-13272</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - User zone not in PUZL</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaNoEntriesInPUZL</error_name>
+    <error_value>-13273</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - No entries in PUZL</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaOperationModeMismatch</error_name>
+    <error_value>-13274</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - Operation Mode mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaSimpleIPMaxNumNaiMismatch</error_name>
+    <error_value>-13275</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - SimpleIP MAX_NUM_NAI mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaSimpleIPMaxNaiLengthMismatch</error_name>
+    <error_value>-13276</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - SimpleIP MAX_NAI_LENGTH mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaMobileIPMaxNumNaiMismatch</error_name>
+    <error_value>-13277</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - MobileIP MAX_NUM_NAI mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaMobileIPMaxNaiLengthMismatch</error_name>
+    <error_value>-13278</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - MobileIP MAX_NAI_LENGTH mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaSimpleIPPapMaxSsLenMismatch</error_name>
+    <error_value>-13279</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - SimpleIP PAP MAX_SS_LENGTH mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaSimpleIPChapMaxSsLenMismatch</error_name>
+    <error_value>-13280</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - SimpleIP CHAP MAX_SS_LENGTH mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaMobileIPMaxMnAaaSsLenMismatch</error_name>
+    <error_value>-13281</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - MobileIP MAX_MN-AAA_SS_LENGTH mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaMobileIPMaxMnHaSsLenMismatch</error_name>
+    <error_value>-13282</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - MobileIP MAX_MN-HA_SS_LENGTH mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaMobileIPMnAaaAuthAlgoMismatch</error_name>
+    <error_value>-13283</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - MobileIP MN-AAA_AUTH_ALGORITHM mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaMobileIPMnhaAuthAlgoMismatch</error_name>
+    <error_value>-13284</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - MobileIP MNHA_AUTH_ALGORITHM mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaSimpleIPActNaiEntryIndexMismatch</error_name>
+    <error_value>-13285</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - SimpleIP ACT_NAI_ENTRY_INDEX mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaMobileIPActNaiEntryIndexMismatch</error_name>
+    <error_value>-13286</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - MobileIP ACT_NAI_ENTRY_INDEX mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaSimpleIPPapNaiEntryIndexMismatch</error_name>
+    <error_value>-13287</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - SimpleIP PAP NAI_ENTRY_INDEX mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaSimpleIPChapNaiEntryIndexMismatch</error_name>
+    <error_value>-13288</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - SimpleIP CHAP NAI_ENTRY_INDEX mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaOtaMobileIPNaiEntryIndexMismatch</error_name>
+    <error_value>-13289</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected - MobileIP NAI_ENTRY_INDEX mismatch</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaFlashInvalidFeature</error_name>
+    <error_value>-13513</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected Info Record- Invalid Feature code</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaFlashInvalidKeypadEntry</error_name>
+    <error_value>-13514</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected Info Record- Invalid Keypad entry</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaFlashInvalidNumberType</error_name>
+    <error_value>-13515</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected Info Record- Invalid NumberType</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaFlashInvalidNumberPlan</error_name>
+    <error_value>-13516</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected Info Record- Invalid Number Plan</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaFlashInvalidPI</error_name>
+    <error_value>-13517</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected Info Record- Invalid Presentation Indicator</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaFlashInvalidSI</error_name>
+    <error_value>-13518</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected Info Record- Invalid Screening Indicator</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaFlashInvalidPartyNum</error_name>
+    <error_value>-13519</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Rejected Info Record- Invalid Party Number</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaFlashL3BlockedFlashMessage</error_name>
+    <error_value>-13520</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Call-stack blocked sending flash message</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaMiscSignallingFailure</error_name>
+    <error_value>-13768</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Signalling failure invoice call origination or termination.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaMiscNetworkBusy</error_name>
+    <error_value>-13769</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Busy network in voicecall origination or termination.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaMiscConnectionLost</error_name>
+    <error_value>-13770</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Loss of connection invoice call origination or termination.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaMiscNetworkRelease</error_name>
+    <error_value>-13771</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Release of network invoice call origination or termination.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaMiscBaseStationRejectServiceOption</error_name>
+    <error_value>-13772</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Service option rejection by base station in voice call origination or termination.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaMiscAccessFailure</error_name>
+    <error_value>-13773</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Access failure in voice call originationor termination.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaMiscNoService</error_name>
+    <error_value>-13774</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>Service not available in voicecall origination or termination.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCdmaMiscSecurityCodeBlocked</error_name>
+    <error_value>-13775</error_value>
+    <error_component>Multimode Telephony  (ETELMMERR.H)</error_component>
+    <error_text>This code is blocked (probably as a result of the maximum retry being exceeded)</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrNoInterfaceIdentified</error_name>
+    <error_value>-17004</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The call to instantiate an Interface Implementation failed because no registrations exist for this interface.</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrNoResolver</error_name>
+    <error_value>-17014</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The Non-Default resolver could not be instantiated. The most likely situation is that an incorrect implementation uid was supplied.</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrTooManyNotificationsOutstanding</error_name>
+    <error_value>-17026</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The client has requested too many notifications.ECom can only support a finite number of notifications</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrMissingParameter</error_name>
+    <error_value>-17028</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>An ECom service was requested with an essential parameter missing. For example, this error code will be supplied when calling an overload of CreateImplementationL which uses a non-default resolver if you fail tosupply the resolver</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrListInvalidAwaitNotification</error_name>
+    <error_value>-17029</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The registry index is invalid but the client has requested notifications - so they will receive a notification when the indexis ready again</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrListCurrentlyUnavailable</error_name>
+    <error_value>-17030</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The registry index is invalid and the client has not requested notifications. They will have to try again later after discoveries have completed.</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrInvalidUnloadPolicy</error_name>
+    <error_value>-17003</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The Client requested a service which is not supplied by this framework</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrInvalidIIC</error_name>
+    <error_value>-17008</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>An attempt has been made to load an implementation contained within a dll which no longer exists (deleted or is on a CF card that has been removed).</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrDriveNotFound</error_name>
+    <error_value>-17019</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>An attempt has been made to update registry information for a dll on a drive that does not exist.</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrUnknownService</error_name>
+    <error_value>-17002</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The Client requested a service which is not supplied by this framework The Client requested a service which is not supplied by this framework</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrReferenceCountInvalid</error_name>
+    <error_value>-17013</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The Interface Implementation reference count is invalid</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrDestructionFailed</error_name>
+    <error_value>-17017</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The Interface Implementations destruction could not be recorded</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrInvalidRegistryData</error_name>
+    <error_value>-17022</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>An attempt has been made to update the registry information for a non-existent DLL.  An ECom internal error.</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrDestroyingWithNullDtorKey</error_name>
+    <error_value>-17027</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The client called DestroyedImplementation with a destruction key of NULL. This is an irrecoverable error because the object cannot be deleted.</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrAlreadyReceiving</error_name>
+    <error_value>-17001</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KEComErrEnableFailed</error_name>
+    <error_value>-17005</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The call to Enable the registered Interface Implementation failed</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrDisableFailed</error_name>
+    <error_value>-17006</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The call to Disable the registered Interface Implementation failed</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrNoRegistrationsFound</error_name>
+    <error_value>-17007</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The call to instantiate an Interface Implementation failed because no appropriate implementation was found.</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrUninstallFailed</error_name>
+    <error_value>-17009</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The call to Remove the registered Interface Implementation failed</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrReinstallFailed</error_name>
+    <error_value>-17010</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The call to Re-register an Interface Implementation failed</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrRegistrationFailed</error_name>
+    <error_value>-17011</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The call to Register an Interface Implementation failed</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrNotConnected</error_name>
+    <error_value>-17012</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The client does not have a session open with theframework</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrSuspendFailed</error_name>
+    <error_value>-17015</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The call to Suspend registration activities failed</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrResumeFailed</error_name>
+    <error_value>-17016</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>The call to Resume registration activities failed</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrDriveAlreadyInstalled</error_name>
+    <error_value>-17018</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>An attempt has been made to add a drive to the registry which already exists</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrIndexEntryNotFound</error_name>
+    <error_value>-17020</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KEComErrNoRegistrationData</error_name>
+    <error_value>-17021</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text>An IIC has been found which does not have a corresponding registration information file</error_text>
+  </error>
+  <error>
+    <error_name>KEComErrMismatchedTags</error_name>
+    <error_value>-17023</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KEComErrInstantiationPointerNotFound</error_name>
+    <error_value>-17024</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KEComErrInstantiationPointerNotAvailable</error_name>
+    <error_value>-17025</error_value>
+    <error_component>ECOM  (ECOMERRORCODES.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrCHFProxyObjectAlreadyExists</error_name>
+    <error_value>-17050</error_value>
+    <error_component>Content Handling Framework  (CHFERROR.H)</error_component>
+    <error_text>A proxy object with the same identifier already exists.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCHFNoSchemeInUri</error_name>
+    <error_value>-17051</error_value>
+    <error_component>Content Handling Framework  (CHFERROR.H)</error_component>
+    <error_text>Supplied URI has no scheme part.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCHFDataSupplierConstructionFailed</error_name>
+    <error_value>-17052</error_value>
+    <error_component>Content Handling Framework  (CHFERROR.H)</error_component>
+    <error_text>Data supplier construction failed.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCHFContentHandlerConstructionFailed</error_name>
+    <error_value>-17053</error_value>
+    <error_component>Content Handling Framework  (CHFERROR.H)</error_component>
+    <error_text>Content handler construction failed.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCHFDataSupplierSetPositionFailed</error_name>
+    <error_value>-17054</error_value>
+    <error_component>Content Handling Framework  (CHFERROR.H)</error_component>
+    <error_text>Failed to set position in data supplier.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSSuddenDeath</error_name>
+    <error_value>-17103</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>A module has died.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSRequestCancelled</error_name>
+    <error_value>-17104</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>A request was cancelled.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSInvalidParameter</error_name>
+    <error_value>-17105</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>A parameter was in some way invalid.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSInvalidParameterFile</error_name>
+    <error_value>-17106</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The file could not be found, read or was in some way corrupt.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSInvalidParameterName</error_name>
+    <error_value>-17107</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The name was invalid.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSInvalidParameterStackSize</error_name>
+    <error_value>-17108</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The stack size was invalid.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSInvalidParameterHeapSize</error_name>
+    <error_value>-17109</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The heap size was invalid.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSInvalidUidType</error_name>
+    <error_value>-17110</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The second UID of the DLL was not the UID of a Comms Provider Module.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSModuleAlreadyExist</error_name>
+    <error_value>-17111</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>A Comms Provider Module with this name is already loaded.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSInvalidMBufPoolSize</error_name>
+    <error_value>-17112</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The size of the MBuf pool is invalid.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSModuleNotRunning</error_name>
+    <error_value>-17113</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The specified module is not running.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSModuleNotLoaded</error_name>
+    <error_value>-17114</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The specified module is not loaded.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSAlreadyBound</error_name>
+    <error_value>-17115</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The specified binding is already active.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSModulesStillRunning</error_name>
+    <error_value>-17116</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>There are running modules.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSNoNewHeapsAvailable</error_name>
+    <error_value>-17117</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>Unable to create more new heaps in the Comms Process. Consider sharing a heap between modules.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSRequestTimedOut</error_name>
+    <error_value>-17118</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>A request timed out. This can happen when a module stops responding to requests for some reason.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSModuleUnknown</error_name>
+    <error_value>-17119</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The specified module does not exist..</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSSubModuleUnknown</error_name>
+    <error_value>-17120</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The specified sub module does not exist.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSBindingUnknown</error_name>
+    <error_value>-17121</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The specified binding does not exist.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSStatusUnknown</error_name>
+    <error_value>-17122</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The status is unknown.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSBindingExists</error_name>
+    <error_value>-17123</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The specified binding exist.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSModuleNotReady</error_name>
+    <error_value>-17124</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The module is not ready for requests.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSBindingInProgress</error_name>
+    <error_value>-17125</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The specified binding is not yet completed.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSUnableToOpenHeap</error_name>
+    <error_value>-17126</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>Found heap but unable to open it for sharing.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSUnableToFindHeap</error_name>
+    <error_value>-17127</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>Unable to find specified heap.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSUnableToCreateQueues</error_name>
+    <error_value>-17128</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>Unable to create communication channels for new module.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSZombie</error_name>
+    <error_value>-17129</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>This Comms Provider Module exists but is not responding.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSInvalidParameterThreadFuncOrdinal</error_name>
+    <error_value>-17130</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>The specified ordinal does not exist for the DLL.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSInvalidBinding</error_name>
+    <error_value>-17131</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>Invalid binding.</error_text>
+  </error>
+  <error>
+    <error_name>KErrRSInvalidQueueLength</error_name>
+    <error_value>-17132</error_value>
+    <error_component>Root Server  (RSERROR.H)</error_component>
+    <error_text>Queue length of binding invalid. Must be betweenTRSBindingInfo::EMinQueueLength and TRSBindingInfo::EMaxQueueLength.</error_text>
+  </error>
+  <error>
+    <error_name>KErrConnectionTerminated</error_name>
+    <error_value>-17210</error_value>
+    <error_component>Esock  (ES_SOCK.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrCannotFindProtocol</error_name>
+    <error_value>-17211</error_value>
+    <error_component>Esock  (ES_SOCK.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrTreeStoreUriTooLong</error_name>
+    <error_value>-17250</error_value>
+    <error_component>Central Repository  (TREESTOREERR.H)</error_component>
+    <error_text>The supplied URI exceeded the maximum overall length supported.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTreeStoreUriTooDeep</error_name>
+    <error_value>-17251</error_value>
+    <error_component>Central Repository  (TREESTOREERR.H)</error_component>
+    <error_text>The depth of the supplied URI exceeded the maximum tree depth supported.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTreeStoreUriSegmentTooLong</error_name>
+    <error_value>-17252</error_value>
+    <error_component>Central Repository  (TREESTOREERR.H)</error_component>
+    <error_text>A segment in the supplied URI exceeded the maximum length supported.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTreeStoreBadUriSegmentName</error_name>
+    <error_value>-17253</error_value>
+    <error_component>Central Repository  (TREESTOREERR.H)</error_component>
+    <error_text>A segment in the supplied URI contained characters in the 'reserved' range in RFC2396.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTreeStoreBadUriDelimiters</error_name>
+    <error_value>-17254</error_value>
+    <error_component>Central Repository  (TREESTOREERR.H)</error_component>
+    <error_text>The supplied URI contained either a missing front delimiter or an illegal back delimiter.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTreeStoreZeroLenUriSegment</error_name>
+    <error_value>-17255</error_value>
+    <error_component>Central Repository  (TREESTOREERR.H)</error_component>
+    <error_text>The supplied URI contained a segment of zero length (i.e. the character' with no content).</error_text>
+  </error>
+  <error>
+    <error_name>KErrTreeStoreUnknownMountPoint</error_name>
+    <error_value>-17256</error_value>
+    <error_component>Central Repository  (TREESTOREERR.H)</error_component>
+    <error_text>The supplied mount point URI does not exist in this tree store.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTreeStoreVolAlreadyAttached</error_name>
+    <error_value>-17257</error_value>
+    <error_component>Central Repository  (TREESTOREERR.H)</error_component>
+    <error_text>The specified tree volume is already attached in the tree store.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTreeStoreVolumeNotAttached</error_name>
+    <error_value>-17258</error_value>
+    <error_component>Central Repository  (TREESTOREERR.H)</error_component>
+    <error_text>The specified tree volume is already attached in the tree store.</error_text>
+  </error>
+  <error>
+    <error_name>KErrTreeStoreNotAPersistedTree</error_name>
+    <error_value>-17259</error_value>
+    <error_component>Central Repository  (TREESTOREERR.H)</error_component>
+    <error_text>An attempt was made to manipulate volumes for a tree that isn't persisted.</error_text>
+  </error>
+  <error>
+    <error_name>KErrPositionBufferOverflow</error_name>
+    <error_value>-17350</error_value>
+    <error_component>LBS Position Framework  (LBSERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrPositionIncalculable</error_name>
+    <error_value>-17351</error_value>
+    <error_component>LBS Position Framework  (LBSERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrCANotSupported</error_name>
+    <error_value>-17450</error_value>
+    <error_component>Content Access Framework  (CAFERR.H)</error_component>
+    <error_text>Agent does not support the requested capability.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCANoPermission</error_name>
+    <error_value>-17451</error_value>
+    <error_component>Content Access Framework  (CAFERR.H)</error_component>
+    <error_text>Rights evaluation failed for the supplied intent.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCANoRights</error_name>
+    <error_value>-17452</error_value>
+    <error_component>Content Access Framework  (CAFERR.H)</error_component>
+    <error_text>No rights were available for evaluation.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCANoAgent</error_name>
+    <error_value>-17453</error_value>
+    <error_component>Content Access Framework  (CAFERR.H)</error_component>
+    <error_text>The Agent required is not present. This may occur if content 'belongs' to an agent that is no longer available on the device.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCAOutOfRange</error_name>
+    <error_value>-17454</error_value>
+    <error_component>Content Access Framework  (CAFERR.H)</error_component>
+    <error_text>Values specified are out of range.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCAPendingRights</error_name>
+    <error_value>-17455</error_value>
+    <error_component>Content Access Framework  (CAFERR.H)</error_component>
+    <error_text>The rights were not available but are 'expected'.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCASizeNotDetermined</error_name>
+    <error_value>-17456</error_value>
+    <error_component>Content Access Framework  (CAFERR.H)</error_component>
+    <error_text>A request to get the content size failed because the agent was unable to determine it.</error_text>
+  </error>
+  <error>
+    <error_name>KErrCANewFileHandleRequired</error_name>
+    <error_value>-17457</error_value>
+    <error_component>Content Access Framework  (CAFERR.H)</error_component>
+    <error_text>The function failed because the agent needs the client to provide another file handle before the import can continue.</error_text>
+  </error>
+  <error>
+    <error_name>KErrXmlStringDictionaryPluginNotFound</error_name>
+    <error_value>-17550</error_value>
+    <error_component>XML Framework (XMLFRAMEWORKERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrXmlParserPluginNotFound</error_name>
+    <error_value>-17551</error_value>
+    <error_component>XML Framework (XMLFRAMEWORKERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrXmlGeneratorPluginNotFound</error_name>
+    <error_value>-17552</error_value>
+    <error_component>XML Framework (XMLFRAMEWORKERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrXmlPluginNotFound</error_name>
+    <error_value>-17553</error_value>
+    <error_component>XML Framework (XMLFRAMEWORKERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrXmlBadCharacterConversion</error_name>
+    <error_value>-17554</error_value>
+    <error_component>XML Framework (XMLFRAMEWORKERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrXmlUnsupportedCharacterSet</error_name>
+    <error_value>-17555</error_value>
+    <error_component>XML Framework (XMLFRAMEWORKERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrXmlUnavailableCharacterSet</error_name>
+    <error_value>-17556</error_value>
+    <error_component>XML Framework (XMLFRAMEWORKERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrXmlUnsupportedElement</error_name>
+    <error_value>-17557</error_value>
+    <error_component>XML Framework (XMLFRAMEWORKERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrXmlUnsupportedAttribute</error_name>
+    <error_value>-17558</error_value>
+    <error_component>XML Framework (XMLFRAMEWORKERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrXmlUnsupportedAttributeValue</error_name>
+    <error_value>-17559</error_value>
+    <error_component>XML Framework (XMLFRAMEWORKERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrXmlMissingStringDictionary</error_name>
+    <error_value>-17560</error_value>
+    <error_component>XML Framework (XMLFRAMEWORKERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrXmlUnsupportedDocumentVersion</error_name>
+    <error_value>-17561</error_value>
+    <error_component>XML Framework (XMLFRAMEWORKERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrXmlDocumentCorrupt</error_name>
+    <error_value>-17562</error_value>
+    <error_component>XML Framework (XMLFRAMEWORKERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrXmlStringPoolTableNotFound</error_name>
+    <error_value>-17563</error_value>
+    <error_component>XML Framework (XMLFRAMEWORKERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrXmlBadIndex</error_name>
+    <error_value>-17564</error_value>
+    <error_component>XML Framework (XMLFRAMEWORKERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrXmlUnsupportedExtInterface</error_name>
+    <error_value>-17566</error_value>
+    <error_component>XML Framework (XMLFRAMEWORKERRORS.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrPrivacyTbNullPtr</error_name>
+    <error_value>-17901</error_value>
+    <error_component>LBS Privacy  (EPOS_CSPRIVACYSHARELEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrPrivacyTbProgramError</error_name>
+    <error_value>-17902</error_value>
+    <error_component>LBS Privacy  (EPOS_CSPRIVACYSHARELEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrPrivacyTbNullSearchString</error_name>
+    <error_value>-17903</error_value>
+    <error_component>LBS Privacy  (EPOS_CSPRIVACYSHARELEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrPrivacyTbWriteFailure</error_name>
+    <error_value>-17904</error_value>
+    <error_component>LBS Privacy  (EPOS_CSPRIVACYSHARELEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrPriPolicyTbPackedPriByte</error_name>
+    <error_value>-17905</error_value>
+    <error_component>LBS Privacy  (EPOS_CSPRIVACYSHARELEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrPriVersionTbInvalidVersion</error_name>
+    <error_value>-17906</error_value>
+    <error_component>LBS Privacy  (EPOS_CSPRIVACYSHARELEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrPriVersionTbRecordAlreadyExist</error_name>
+    <error_value>-17907</error_value>
+    <error_component>LBS Privacy  (EPOS_CSPRIVACYSHARELEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrServicePrivacyTbErrorBase</error_name>
+    <error_value>-17910</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrSerPriTbMismatchServiceIdAndType</error_name>
+    <error_value>-17911</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrSerPriTbServiceIdTypeChanged</error_name>
+    <error_value>-17912</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrSerPriTbSecureIdChanged</error_name>
+    <error_value>-17913</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrServiceIdPhoneNumberTbErrorBase</error_name>
+    <error_value>-17915</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrServiceIdPhoneNumTbMatchDigitsOutOfRange</error_name>
+    <error_value>-17916</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrServicePrivacyErrorBase</error_name>
+    <error_value>-17920</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrServicePrivacyDuplicateServiceItemId</error_name>
+    <error_value>-17921</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrServicePrivacyArrayIndexOutOfRange</error_name>
+    <error_value>-17922</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrServicePrivacyDbModelErrorBase</error_name>
+    <error_value>-17925</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrSPDbModelWrongMajorVersion</error_name>
+    <error_value>-17926</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrSPDbModelServiceIdPhNoDigitsLessThan7</error_name>
+    <error_value>-17927</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrSPDbModelServiceIdTypeNotSet</error_name>
+    <error_value>-17928</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrSPDbModelWrongServiceInfoMask</error_name>
+    <error_value>-17929</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrSPDbModelNullServiceId</error_name>
+    <error_value>-17930</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrSPDbModelChildTbRcdNotDeleted</error_name>
+    <error_value>-17931</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrSPDbModelChildTbRcdNotUpdated</error_name>
+    <error_value>-17932</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrSPDbModelInvalidPhMatchLength</error_name>
+    <error_value>-17933</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrServicePrivacyDbErrorBase</error_name>
+    <error_value>-17935</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrServicePrivacyDbInvalidServiceItemIdInArray</error_name>
+    <error_value>-17936</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+  <error>
+    <error_name>KErrServicePrivacyDbEventObserverAlreadyExists</error_name>
+    <error_value>-17937</error_value>
+    <error_component>LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H)</error_component>
+    <error_text />
+  </error>
+</error_codes>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Etel_Server.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,63 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>Etel Server</category_name>
+  <category_description> &lt;p&gt;Panic caused by incorrect use of the ETel Core API- e.g. passing bad or contradictory values to class constructors or member functions.&lt;/p&gt; &lt;p&gt;The client thread causing the panic is terminated.&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;The subsession handle is not recognised by the server.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;An attempt to read or write across the client-server boundary has failed. This usually indicates that the descriptor sent is incorrectly formatted.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;The message type- sent by the client- is not recognised by the server.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;Client code has attempted to re-post an asynchronous request before the original request has completed.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;The client has attempted to open a sub-session without first opening its parent object. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;The client has attempted to use a zero length descriptor.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;The size field of a descriptor indicates that it contains a negative amount of data.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;Not used.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;Client failed to call &lt;code&gt;Open()&lt;/code&gt;.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;Client failed to call &lt;code&gt;Open()&lt;/code&gt;.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;Client code request to access an element outside the array range.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt;The &lt;code&gt;Open()&lt;/code&gt; function has been called twice by the same sub-session.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;The client has passed a bad phone call type.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;The client has specified a bad name for a phone line or phone call object.&lt;/p&gt; 	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Exceptions.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,115 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>Exceptions</category_name>
+  <category_description> &lt;p&gt;Exceptions are generated by internal and external sources to cause the processor to handle an event, such as an externally generated interrupt or an attempt to execute an Undefined instruction. The processor state just before handling the exception is normally preserved so that the original program can be resumed when the exception routine has completed. More than one exception can arise at the same time.&lt;/p&gt; &lt;p&gt;When an exception occurs, execution is forced from a fixed memory address corresponding to the type of exception. These fixed addresses are called the exception vectors.&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>EExcGeneral</panic_id>
+      <panic_description>&lt;p&gt;A miscellaneous exception. (EExcGeneral=0)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcIntegerDivideByZero</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to divide an integer by zero. (EExcIntegerDivideByZero=1)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcSingleStep</panic_id>
+      <panic_description>&lt;p&gt;Raised after executing an instruction, when CPU is in single-step mode. (EExcSingleStep=2)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcBreakPoint</panic_id>
+      <panic_description>&lt;p&gt;A break point was hit. (EExcBreakPoint=3)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcIntegerOverflow</panic_id>
+      <panic_description>&lt;p&gt;An integer value overflowed. (EExcIntegerOverflow=4)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcBoundsCheck</panic_id>
+      <panic_description>&lt;p&gt;Access to an out of bounds array element was caught. (EExcBoundsCheck=5)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcInvalidOpCode</panic_id>
+      <panic_description>&lt;p&gt;The CPU reached an invalid instruction. (EExcInvalidOpCode=6)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcDoubleFault</panic_id>
+      <panic_description>&lt;p&gt;A fault occurred while handling a previous exception or interrupt. (EExcDoubleFault=7)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcStackFault</panic_id>
+      <panic_description>&lt;p&gt;The thread ran out of stack space. (EExcStackFault=8)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcAccessViolation</panic_id>
+      <panic_description>&lt;p&gt;The thread attempted to access memory in an unauthorized area. (EExcAccessViolation=9)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcPrivInstruction</panic_id>
+      <panic_description>&lt;p&gt;Attempted to execute an instruction in wrong machine mode. (EExcPrivInstruction=10)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcAlignment</panic_id>
+      <panic_description>&lt;p&gt;The thread tried to read or write non-aligned data. (EExcAlignment=11)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcPageFault</panic_id>
+      <panic_description>&lt;p&gt;Thread could not access the memory page requested. (EExcPageFault=12)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcFloatDenormal</panic_id>
+      <panic_description>&lt;p&gt;An operand in a floating point operation was denormal. (EExcFloatDenormal=13)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcFloatDivideByZero</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to divide a floating point number by zero. (EExcFloatDivideByZero=14)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcFloatInexactResult</panic_id>
+      <panic_description>&lt;p&gt;The result of a floating point operation could not be represented precisely. (EExcFloatInexactResult=15)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcFloatInvalidOperation</panic_id>
+      <panic_description>&lt;p&gt;The result of a floating point operation was an ill-defined quantity. (EExcFloatInvalidOperation=16)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcFloatOverflow</panic_id>
+      <panic_description>&lt;p&gt;The result of a floating point operation was too large to be represented. (EExcFloatOverflow=17)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcFloatStackCheck</panic_id>
+      <panic_description>&lt;p&gt;The result of a floating point operation caused the stack to over or underflow. (EExcFloatStackCheck=18)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcFloatUnderflow</panic_id>
+      <panic_description>&lt;p&gt;The result of a floating point operation was too small to be represented. (EExcFloatUnderflow=19)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcAbort</panic_id>
+      <panic_description>&lt;p&gt;This exception is not raised by the Kernel, though it may be raised by a user thread on itself. (EExcAbort=20)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcKill</panic_id>
+      <panic_description>&lt;p&gt;This exception is not raised by the Kernel, though it may be raised by a user thread on itself. (EExcKill=21)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcUserInterrupt</panic_id>
+      <panic_description>&lt;p&gt;May be used to indicate a general exception. (EExcUserInterrupt=22)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcDataAbort</panic_id>
+      <panic_description>&lt;p&gt;The thread has tried to read data from an invalid address. (EExcDataAbort=23)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcCodeAbort</panic_id>
+      <panic_description>&lt;p&gt;The thread has tried to fetch an instruction from an invalid address. (EExcCodeAbort=24)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcMaxNumber</panic_id>
+      <panic_description>&lt;p&gt;Do not use. (EExcMaxNumber=25)&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>EExcInvalidVector</panic_id>
+      <panic_description>&lt;p&gt;Do not use. (EExcInvalidVector=26)&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/FBSCLI.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,95 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>FBSCLI</category_name>
+  <category_description> &lt;p&gt; Panics raised by clients of the font and bitmap server. &lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt; No connection has been made to the font and bitmap server. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt; Attempted to pass a command to the font and bitmap server, but no connection has been made. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt; Internal typeface store error: the list of accessed fonts (&lt;code&gt;CTypefaceStore::iFontAccess&lt;/code&gt;) is inconsistent with the font cache (&lt;code&gt;CFbsTypefaceStore::iTwipsCache&lt;/code&gt;). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt; The typeface store was unable to create a font due to a NULL font handle or address. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt; Attempted to access a NULL font pointer (debug builds only). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt; Invalid bitmap format (debug builds only). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt; Invalid bitmap display mode (&lt;code class="ApiItem"&gt;TDisplayMode&lt;/code&gt;). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt; Invalid bitmap compression value (&lt;code class="ApiItem"&gt;TBitmapfileCompression&lt;/code&gt;), or an unsupported operation was attempted on a compressed bitmap. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt; Bitmap decompression error (debug builds only). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt; Memory addressing error. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt; Either the display mode of the destination bitmap is not &lt;code&gt;EColor256&lt;/code&gt;, or the two bitmaps are different sizes in &lt;code class="ApiItem"&gt;CFbsColor256BitmapUtil::CopyBitmap()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt; An error occurred when constructing a hardware bitmap (debug builds only). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt; Memory alignment error in a bitmap loaded from ROM. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt; New display mode not supported by &lt;code&gt;CBitwiseBitmap::ChangeDisplayMode()&lt;/code&gt; (debug builds only). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt; New display mode not supported by &lt;code&gt;CBitwiseBitmap::ChangeDisplayMode()&lt;/code&gt; (debug builds only). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt; When swapping a bitmap's width and height, the size of the new bitmap would exceed the amount of memory allocated. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>22</panic_id>
+      <panic_description>&lt;p&gt; &lt;code&gt;CFbsBitmap::LockHeap()&lt;/code&gt; has not been called prior to calling &lt;code&gt;CFbsBitmap::DataAddress()&lt;/code&gt; (debug builds only). &lt;/p&gt;	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/FSCLIENT_panic.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,119 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>FSCLIENT panic</category_name>
+  <category_description> &lt;p&gt; Panics with this category are raised on clients requesting services provided by the file server. Typically, they are caused by passing bad or contradictory values to class constructors or member functions. &lt;/p&gt; &lt;p&gt; The thread causing the panic is terminated. &lt;/p&gt; &lt;p&gt; To avoid confusion, we need to emphasise that the panic category is the 14 character string &lt;em&gt;FSCLIENT panic&lt;/em&gt;, and that the word panic is part of the panic category. &lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by: &lt;/p&gt; &lt;p&gt; the &lt;code&gt;TDriveUnit(TInt aDrive)&lt;/code&gt; variant of the &lt;code class="ApiItem"&gt;TDriveUnit&lt;/code&gt; constructor, &lt;/p&gt; &lt;p&gt; the &lt;code&gt;(TInt aDrive)&lt;/code&gt; variant of the &lt;code class="ApiItem"&gt;TDriveUnit&lt;/code&gt; assignment operator &lt;/p&gt; &lt;p&gt; when the specified drive number is greater than or equal to &lt;code&gt;KMaxDrives&lt;/code&gt;, i.e. 26. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by: &lt;/p&gt; &lt;p&gt; the &lt;code&gt;TDriveUnit(const TDesC&amp;amp; aDriveText)&lt;/code&gt; variant of the &lt;code class="ApiItem"&gt;TDriveUnit&lt;/code&gt; constructor, &lt;/p&gt; &lt;p&gt; the &lt;code&gt;(const TDesC&amp;amp; aDriveText)&lt;/code&gt; variant of the &lt;code class="ApiItem"&gt;TDriveUnit&lt;/code&gt; assignment operator &lt;/p&gt; &lt;p&gt; when the specified drive letter is invalid, i.e. does not correspond to a drive number. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when searching for the next file using &lt;code class="ApiItem"&gt;TFindFile::Find()&lt;/code&gt; or &lt;code class="ApiItem"&gt;TFindFile::FindWild()&lt;/code&gt; before the initial call specifying the search method. &lt;/p&gt; &lt;p&gt; Calls to &lt;code class="ApiItem"&gt;TFindFile::Find()&lt;/code&gt; cannot be made until an initial call has been made to either of: &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TFindFile::FindByDir()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TFindFile::FindByPath()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; Calls to &lt;code class="ApiItem"&gt;TFindFile::FindWild()&lt;/code&gt; cannot be made until an initial call has been made to either of: &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TFindFile::FindWildByDir()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TFindFile::FindWildByPath()&lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;Not used.&lt;/em&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;Not used.&lt;/em&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by a call to &lt;code class="ApiItem"&gt;TFileText::Seek()&lt;/code&gt; when the seek mode passed to the function is neither &lt;code class="ApiItem"&gt;TSeek&lt;/code&gt;&lt;code&gt;::ESeekStart&lt;/code&gt; nor &lt;code class="ApiItem"&gt;TSeek&lt;/code&gt;&lt;code&gt;::ESeekEnd&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;Not used.&lt;/em&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;/p&gt; &lt;p&gt; &lt;em&gt;Not used.&lt;/em&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;Not used.&lt;/em&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;Not used.&lt;/em&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code class="ApiItem"&gt;CFileMan&lt;/code&gt; implementation when the operation to be run is undefined. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;CFileBase::CurrentEntry()&lt;/code&gt; if there is no current entry. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt; The value returned by the file management observer functions: &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;MFileManObserver::NotifyFileManStarted()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;MFileManObserver::NotifyFileManEnded()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;MFileManObserver::NotifyFileManOperation()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; is not a valid &lt;code class="ApiItem"&gt;MFileManObserver::TControl&lt;/code&gt; enum value. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;Not used.&lt;/em&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;Not used.&lt;/em&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt; &lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt; &lt;/p&gt; &lt;p&gt; This panic is raised in a call to &lt;code class="ApiItem"&gt;CDirScan::SetScanDataL()&lt;/code&gt; when the path does not contain at least one '\' character. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;Not used.&lt;/em&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;RFile::Lock()&lt;/code&gt; when the number of bytes defining the region to be locked is either zero or negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;RFile::UnLock()&lt;/code&gt; when the number of bytes defining the region to be unlocked is either zero or negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt; All variants of the &lt;code class="ApiItem"&gt;RFile::Read()&lt;/code&gt; and &lt;code class="ApiItem"&gt;RFile::Write()&lt;/code&gt; functions take an argument denoting an offset value, in bytes, from the start of a file; the panic is raised by these functions when the offset value is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;RFile::SetSize()&lt;/code&gt; when the argument denoting the size of the new file is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;RFile::SetAtt()&lt;/code&gt; and &lt;code class="ApiItem"&gt;RFile::Set()&lt;/code&gt; when the same attribute bit is set in both the bitmask that indicates the file attributes to be set and the bitmask that indicates the attributes to be cleared. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>22</panic_id>
+      <panic_description>&lt;p&gt; The panic is raised by the &lt;code&gt;[]&lt;/code&gt; operator of &lt;code class="ApiItem"&gt;TEntryArray&lt;/code&gt;, when the index value passed to the operator is greater than or equal to the number of elements in the array. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>23</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;CDir::Sort()&lt;/code&gt; when the method of sorting, as defined by the single function argument, is none of the entries: &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TEntryKey&lt;/code&gt;&lt;code&gt;::ESortNone&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TEntryKey&lt;/code&gt;&lt;code&gt;::ESortByDate&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TEntryKey&lt;/code&gt;&lt;code&gt;::ESortBySize&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TEntryKey&lt;/code&gt;&lt;code&gt;::ESortByExt&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TEntryKey&lt;/code&gt;&lt;code&gt;::ESortByUid&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TEntryKey&lt;/code&gt;&lt;code&gt;::ESortByName&lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>24</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code class="ApiItem"&gt;TParsePtr&lt;/code&gt; constructor that takes a reference to a filename, when the name cannot be parsed. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>25</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code class="ApiItem"&gt;TParsePtrC&lt;/code&gt; constructor that takes a const reference to a filename, when the name cannot be parsed. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>26</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;RFs::ReadFileSection()&lt;/code&gt; when the specified number of bytes to be read from the file is greater than the maximum length of the target descriptor. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>27</panic_id>
+      <panic_description>&lt;p&gt; &lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt; &lt;/p&gt; &lt;p&gt; This panic is raised by the &lt;code class="ApiItem"&gt;RFile::Write(const TDesC8&amp;amp;,TInt)&lt;/code&gt; variant when the specified length is greater than the length of the source descriptor. &lt;/p&gt; 	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Form.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,131 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>Form</category_name>
+  <category_description> &lt;p&gt;Text Views panics: &lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>201</panic_id>
+      <panic_description>&lt;p&gt; A NULL layout handle was passed to &lt;code&gt;CTextView::NewL()&lt;/code&gt;, or to &lt;code&gt;CTextView::SetLayout()&lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>202</panic_id>
+      <panic_description>&lt;p&gt; The character edit type in &lt;code&gt;CTextView::HandleCharEditL()&lt;/code&gt; was unknown or incompatible with the format changed value. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>203</panic_id>
+      <panic_description>&lt;p&gt; The horizontal scroll jump value was set to be outside the allowable range (0 to 9999). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>300</panic_id>
+      <panic_description>&lt;p&gt; An invalid document position was specified (e.g. negative or greater than the document length). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>400</panic_id>
+      <panic_description>&lt;p&gt; Drawing error: attempting to draw a line cursor without a line cursor bitmap having been set. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>500</panic_id>
+      <panic_description>&lt;p&gt;Pagination error: attempting to paginate without a document having been set. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>501</panic_id>
+      <panic_description>&lt;p&gt; Pagination error: appending zero or negative characters per page to the page list (array of characters per page). Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>502</panic_id>
+      <panic_description>&lt;p&gt; Pagination error: page list is empty. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>600</panic_id>
+      <panic_description>&lt;p&gt; Printing error: the page list has not been set or is defective. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>601</panic_id>
+      <panic_description>&lt;p&gt; Printing error: an invalid page number was specified. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>702</panic_id>
+      <panic_description>&lt;p&gt; Document formatting error: the selected range flag is on but the selection has zero length. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>704</panic_id>
+      <panic_description>&lt;p&gt; Document formatting error: the pixel position of the cursor is inconsistent with the position of its bounding line rectangle. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>705</panic_id>
+      <panic_description>&lt;p&gt; Document formatting error: the scroll caused by a single character edit was incomplete. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>800</panic_id>
+      <panic_description>&lt;p&gt; CTextView::HandleCharEditL()&lt;/code&gt; was called while there is a text selection. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>801</panic_id>
+      <panic_description>&lt;p&gt; An attempt was made to update the view when the document formatting is out of date. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>802</panic_id>
+      <panic_description>&lt;p&gt; An attempt was made to handle a text edit while background formatting is taking place. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>901</panic_id>
+      <panic_description>&lt;p&gt;A scroll was requested, but the specified amount to scroll by is zero. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>902</panic_id>
+      <panic_description>&lt;p&gt; An algorithmic error occurred while scrolling. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>903</panic_id>
+      <panic_description>&lt;p&gt; An error occured when scrolling down. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>904</panic_id>
+      <panic_description>&lt;p&gt; An error occured when scrolling up. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>905</panic_id>
+      <panic_description>&lt;p&gt; Invalid horizontal scroll value specified &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1000</panic_id>
+      <panic_description>&lt;p&gt; Out of memory. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1001</panic_id>
+      <panic_description>&lt;p&gt; An attempt was made to recover from an out of memory condition when no out of memory condition has occured. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1100</panic_id>
+      <panic_description>&lt;p&gt;The cursor is not fully on the screen following a scroll. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1104</panic_id>
+      <panic_description>&lt;p&gt; The document position was out of range for the current source document. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1200</panic_id>
+      <panic_description>&lt;p&gt; An attempt was made to turn highlighting on or off when the view is in the no visible highlighting state. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1202</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to create a graphics context for the view when one already exists. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1301</panic_id>
+      <panic_description>&lt;p&gt; A leave occurred when scrolling to change the cursor position. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1302</panic_id>
+      <panic_description>&lt;p&gt; The cursor movement specified is inconsistent with the function call. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1303</panic_id>
+      <panic_description>&lt;p&gt; There is a picture frame at the cursor position, but no picture frame is in memory. Debug builds only. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1304</panic_id>
+      <panic_description>&lt;p&gt; The value of a system constant has been changed. Debug builds only. &lt;/p&gt; 	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/HTTP_COOKIEform.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>HTTP-COOKIE</category_name>
+  <category_description> &lt;p&gt;Cookie filter panics. &lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt; Invalid filter state &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt; The &lt;code&gt;aCookieList&lt;/code&gt; array passed to &lt;code class="ApiItem"&gt;MHttpCookieManager::GetCookiesL()&lt;/code&gt; is not empty&lt;/p&gt; 	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/HTTP_CORE.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,75 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>HTTP-CORE</category_name>
+  <category_description> &lt;p&gt; Transport Framework Client panics. &lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;RHTTPSession&lt;/code&gt; session is already open. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt; Specified header field is missing. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt; Unused. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt; Unused. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt; Mismatch between header's type and its attempted use. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt; Unused. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt; A transaction error occurred, and the &lt;code&gt;MHFRunError()&lt;/code&gt; in use didn't handle it. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt; Attempted to add a filter while there is a transaction outstanding. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt; Attempted to add a filter at a position not between the protocol handler and the client. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CHTTPEncoder&lt;/code&gt; object destroyed without its data being released. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CHTTPEncoder&lt;/code&gt; object at the wrong state for adding data. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt; Unused. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt; Invalid request data. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt; Invalid response data. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt; Unused. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt; Unused. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt; An invalid filter handle was specified. &lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/IMAPServer.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,43 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>IMAPServer</category_name>
+  <category_description> &lt;p&gt; IMAPServer panics are raised by the IMAP server-side MTM. They are used to signal errors in the implementation of the MTM, and are raised in debug builds. The panic codes are divided into a number of ranges, each of which relates to a particular area of functionality in the MTM: &lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0-999</panic_id>
+      <panic_description>&lt;p&gt; Session logic, which relates to the set up and management of an individual session to an IMAP server &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1000-1999</panic_id>
+      <panic_description>&lt;p&gt; IMAP settings loading and storage &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2000-2999</panic_id>
+      <panic_description>&lt;p&gt; Server MTM class implementation &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3000-3999</panic_id>
+      <panic_description>&lt;p&gt; Character set conversion &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4000-4999</panic_id>
+      <panic_description>&lt;p&gt; Storage and manipulation of messages &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5000-5999</panic_id>
+      <panic_description>&lt;p&gt; Controlling logic for handling client commands &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6000-6999</panic_id>
+      <panic_description>&lt;p&gt; Transport handler, which handles reading and writing of data to connected sockets &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7000-7999</panic_id>
+      <panic_description>&lt;p&gt; Synchronisation manager, which handles the synchronisation of mailbox folders between the locally persisted mailbox store and a remote mailbox store &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8000-8999</panic_id>
+      <panic_description>&lt;p&gt; Server MTM class &lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/ImageConversion.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,139 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>ImageConversion</category_name>
+  <category_description> &lt;p&gt; Panics used in the Image Conversion Library &lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt; No source bitmap. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt; No destination bitmap. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt; Reset destination bitmap. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt; Convert called while busy. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt; No conversion currently in progress. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt; Different destination bitmap. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt; Different destination bitmap mask. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt; The destination has been illegally modified. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt; The bitmap has zero dimensions. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt; No bitmap mask specified. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt; Invalid frame number. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt; The source type is undefined. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt; Comment are not supported. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt; Header processing is not complete. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt; Comment number is out of range. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt; Bad display mode. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt; Unknown header state. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt; The descriptor that was passed is not NULL. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt; Undefined MIME type. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt; Illegal image sub-type. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt; Illegal image type. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt; Illegal encoder restart. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>22</panic_id>
+      <panic_description>&lt;p&gt; Attempt to change options while decoding in progress. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>23</panic_id>
+      <panic_description>&lt;p&gt; Decoder not created. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>24</panic_id>
+      <panic_description>&lt;p&gt; Feature is not yet implemented. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>25</panic_id>
+      <panic_description>&lt;p&gt; Relay sub thread panic timeout. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>26</panic_id>
+      <panic_description>&lt;p&gt; Invalid thread state. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>27</panic_id>
+      <panic_description>&lt;p&gt; Invalid function leave request. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>28</panic_id>
+      <panic_description>&lt;p&gt; An Image Decoder was found to be in an invalid state. For example &lt;code class="ApiItem"&gt;CBufferedImageDecoder::ContinueConvert()&lt;/code&gt; was called when there is no image data to convert. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>29</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>30</panic_id>
+      <panic_description>&lt;p&gt; Illegal call to reserved function. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>31</panic_id>
+      <panic_description>&lt;p&gt; An index is invalid. For example &lt;code class="ApiItem"&gt;TFrameLayout::Length()&lt;/code&gt; will panic if the value of the index parameter &lt;code&gt;aIndex&lt;/code&gt;is not in the range&lt;code&gt;[0:TFrameLayout::Planes()]&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>32</panic_id>
+      <panic_description>&lt;p&gt; A parameter value is invalid. For example &lt;code class="ApiItem"&gt;TFrameLayout::SetLength()&lt;/code&gt; will panic if the value of the length parameter &lt;code&gt;aLength&lt;/code&gt; is negative. &lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/InSock.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>InSock</category_name>
+  <category_description> &lt;p&gt; Panic of insock.dll &lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;TInetAddr&lt;/code&gt; constructor call with &lt;code&gt;TSockAddr&lt;/code&gt; argument of incorrect protocol family &lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Irda_Fault.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,47 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>Irda Fault</category_name>
+  <category_description> &lt;p&gt; IrDA sockets (infra-red protocol) panics: &lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt; Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt; Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt; Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt; Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt; Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt; Unused &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt; Session not closed &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt; Timer error &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt; IR connection in bad state &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt; Invalid state change &lt;/p&gt; 	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/KERN-EXEC.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,251 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>KERN-EXEC</category_name>
+  <category_description> &lt;p&gt; These panics represent program errors which are detected by the Kernel Executive. Typically, they are caused by passing bad or contradictory parameters to functions. Threads which cause exceptions also raise a KERN-EXEC panic. &lt;/p&gt; &lt;p&gt; The thread causing the panic is terminated. &lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when the Kernel cannot find an object in the object index for the current process or current thread using the specified object index number (the raw handle number). &lt;/p&gt; &lt;p&gt; The most common reason for this is trying to use a kernel-side resource without first having sucessfully created it or sucessfully opened it. Typically, such resources are created or opened through user side handles, which are instances of classes derived from &lt;code class="ApiItem"&gt;RHandleBase&lt;/code&gt;, for example, &lt;code class="ApiItem"&gt;RLibrary&lt;/code&gt;, &lt;code class="ApiItem"&gt;RThread&lt;/code&gt;, &lt;code class="ApiItem"&gt;RProcess&lt;/code&gt;, &lt;code class="ApiItem"&gt;RSemaphore&lt;/code&gt; etc. [Note that this list is not exhaustive]. &lt;/p&gt; &lt;p&gt; For example, a call to &lt;code class="ApiItem"&gt;RLibrary::Lookup()&lt;/code&gt; panics with KERN-EXEC 0 if not preceded by a successful call to &lt;code class="ApiItem"&gt;RLibrary::Load()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt; This is a general panic raised as a result of trying an unauthorised activity such as trying to suspend a thread, to set the priority of a thread or to set the priority of a process, when not authorised to do so. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the kernel when opening a kernel side object, a &lt;code class="ApiItem"&gt;DObject&lt;/code&gt; type, and the fullname is invalid. &lt;/p&gt; &lt;p&gt; The fullname is deemed to be invalid if it contains a character that is not one of the printable characters lying between 0x20 and 0x7e inclusive, or it contains an asterisk or a question mark. &lt;/p&gt; &lt;p&gt; See also &lt;code class="ApiItem"&gt;Kern::ValidateFullName()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when an unhandled exception occurs. Exceptions have many causes, but the most common are access violations caused, for example, by dereferencing NULL. Among other possible causes are: general protection faults, executing an invalid instruction, alignment checks, etc. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt; This panic is not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt; This panic is not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the kernel when a handle to a code segment is invalid. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt; This panic is not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt; This panic is not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt; This is a general type of panic that is usually raised by a device driver when dealing with an asynchronous request, and it finds that an asynchronous request is already outstanding. For an example of the context in which this is raised, see &lt;code class="filename"&gt;...\cedar\e32test\examples\driver1\driver1_ldd.cpp&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; This panic is also raised when trying to subscribe to a property through a call to &lt;code class="ApiItem"&gt;RProperty::Subscribe()&lt;/code&gt; and there is already an outstanding subscription on this property handle. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;DLogicalChannel::Request()&lt;/code&gt; when the request number passed to the function is smaller than the permitted minimum. &lt;/p&gt; &lt;p&gt; See also &lt;code class="ApiItem"&gt;DLogicalChannel::EMinRequestId&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when creating a logical channel, and the unit number is outside the permitted range: &lt;/p&gt; &lt;p&gt; If unit numbers are not permitted, the unit number value must be &lt;code class="ApiItem"&gt;KNullUnit&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; If unit numbers are permitted, the unit number value must be less than &lt;code class="ApiItem"&gt;KMaxUnits&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; A logical channel is created as a result of a call to &lt;code class="ApiItem"&gt;RBusLogicalChannel::DoCreate()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the kernel if an event capture hook has already been designated. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the kernel if the current thread is not the designated event capture hook. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when an attempt is made to set the priority of a thread or process to an illegal value. &lt;/p&gt; &lt;p&gt; The permitted priority values for a user process are a subset of the values defined by the &lt;code class="ApiItem"&gt;TProcessPriority&lt;/code&gt; enum. The permitted values are: &lt;/p&gt; &lt;code&gt; EPriorityLow &lt;/code&gt; &lt;p&gt; &lt;code&gt;EPriorityBackground &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;EPriorityForeground &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;EPriorityHigh &lt;/code&gt; &lt;/p&gt; &lt;p&gt; The permitted priority values for a user thread are a subset of the values defined by the &lt;code class="ApiItem"&gt;TThreadPriority&lt;/code&gt; enum. The permitted values are: &lt;/p&gt; &lt;p&gt; &lt;code&gt; EPriorityMuchLess &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt; EPriorityLess &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt; EPriorityNormal &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;EPriorityMore &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt; EPriorityMuchMore &lt;/code&gt; &lt;/p&gt; &lt;code&gt;EPriorityRealTime &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;EPriorityAbsoluteVeryLow &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt; EPriorityAbsoluteLow &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt; EPriorityAbsoluteBackground &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt; EPriorityAbsoluteForeground &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt; EPriorityAbsoluteHigh &lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a timer event is requested from an asynchronous timer service, an &lt;code class="ApiItem"&gt;RTimer&lt;/code&gt;, and a timer event is already outstanding. It is caused by calling either the &lt;code&gt;At()&lt;/code&gt;, &lt;code&gt;After()&lt;/code&gt; or &lt;code&gt;Lock()&lt;/code&gt; member functions after a previous call to any of these functions, but before the timer event requested by those functions has completed. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt; This panic is not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt; The panic is raised if kernel heap checking has failed. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt; This panic is not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the Kernel when a server program makes a request to receive a message, i.e. when it calls the &lt;code&gt;Receive()&lt;/code&gt; member function of &lt;code&gt;RServer2&lt;/code&gt;, the handle to the Kernel side server object. The panic occurs when a receive message request has previously been made and is still outstanding. &lt;/p&gt; &lt;p&gt; Note that &lt;code&gt;RServer2&lt;/code&gt; is internal to Symbian &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the Kernel when a request for an event, as originated by a call to &lt;code&gt;UserSvr::RequestEvent()&lt;/code&gt;, defined in &lt;code class="filename"&gt;e32svr.h&lt;/code&gt;, is made while a previously made request is still outstanding. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt; This panic is not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>22</panic_id>
+      <panic_description>&lt;p&gt; This panic is not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>23</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised in a call to &lt;code class="ApiItem"&gt;RSessionBase::ShareAuto()&lt;/code&gt; or &lt;code class="ApiItem"&gt;RSessionBase::ShareProtected()&lt;/code&gt;, i.e. when attempting to create a session with a server that can be shared, and the server does not allow or support shared sessions. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>24</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when writing global DLL data, and the length of data to be written is greater than the space available. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>25</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when searching for objects, using the internal function &lt;code&gt;TFindHandleBase::NextObject()&lt;/code&gt;, and an invalid type of object is specified; i.e. it is not a thread, process, chunk, mutex etc. etc. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>26</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by kernel side code that implements heap debugging behaviour, when a specific debug request is not recognised. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>27</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when an executive call is made with an invalid call number. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>28</panic_id>
+      <panic_description>&lt;p&gt; This panic is not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>29</panic_id>
+      <panic_description>&lt;p&gt; This panic is not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>30</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when an attempt is being made to send a synchronous message to a server more than once, using the current thread's dedicated synchronous message. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>31</panic_id>
+      <panic_description>&lt;p&gt; This panic is not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>32</panic_id>
+      <panic_description>&lt;p&gt; This panic is called by &lt;code&gt;DProcess::Resume()&lt;/code&gt; when trying to resume a process that is still being loaded. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>33</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised in a call to &lt;code class="ApiItem"&gt;Kern::KUDesInfo()&lt;/code&gt;, &lt;code class="ApiItem"&gt;Kern::KUDesPut()&lt;/code&gt; etc, when an invalid descriptor is passed. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>34</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised in a call to &lt;code class="ApiItem"&gt;Kern::KUDesSetLength()&lt;/code&gt; &amp;amp; &lt;code class="ApiItem"&gt;Kern::KUDesPut()&lt;/code&gt; when the descriptor passed to it is not a modifiable type; i.e. is derived from &lt;code class="ApiItem"&gt;TDesC&lt;/code&gt; but not derived from &lt;code class="ApiItem"&gt;TDes&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>35</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised in a call to &lt;code class="ApiItem"&gt;Kern::KUDesSetLength()&lt;/code&gt; &amp;amp; &lt;code class="ApiItem"&gt;Kern::KUDesPut()&lt;/code&gt; when the length of the source descriptor is longer than the maximum length of the target descriptor. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>36</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the kernel side code that implements the setting of the currency symbol when the length of the currency symbol is greater than &lt;code class="ApiItem"&gt;KMaxCurrencySymbol&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>37</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by kernel code when it tries to acquire the process DLL lock just before a load, and the wait DLL lock is invalid. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>38</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by internal kernel code when an illegal attempt is made to attach to a library. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>39</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when extracting a list of DLL entry points, and the number exceeds the maximum permitted. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>40</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by internal kernel code when an illegal attempt is made to detach a library. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>41</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by internal kernel code when an illegal attempt is made to attach to a library. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>42</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by internal kernel code when an illegal attempt is made to detach a library. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>43</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by kernel code when it tries to release the process DLL lock when a load fails, and the release DLL lock is invalid. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>44</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a bad message handle is passed to the kernel. This usually occurs when using functions called on the &lt;code class="ApiItem"&gt;RMessagePtr2&lt;/code&gt; or &lt;code class="ApiItem"&gt;RMessage2&lt;/code&gt; classes after the message has been completed; or when the &lt;code&gt;iHandle&lt;/code&gt; data member of the base class &lt;code class="ApiItem"&gt;RHandleBase&lt;/code&gt; has become corrupt. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>45</panic_id>
+      <panic_description>&lt;p&gt; This panic is not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>46</panic_id>
+      <panic_description>&lt;p&gt; This panic can be raised as a result of a call to one of a large number of functions. In general, the panic indicates an attempt to perform an operation on a thread or process by code running in another process - violating the security principle of process isolation. &lt;/p&gt; &lt;p&gt; There are exceptions to this general rule, for example, where the panic is raised because the calling process has insufficient capability. The precise reason is stated with the function(s). &lt;/p&gt; &lt;p&gt; The panic is raised on a call to the following function if the process owning the thread performing the call is not the creator of the target process or, if a handle is specified, the handle is not local. &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RProcess::SetParameter()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; The panic is raised on a call to the following functions if the process owning the thread performing the call is not the same as the target process. &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RProcess::Kill()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RProcess::Terminate()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RProcess::Panic()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RProcess::SetJustInTime()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RProcess::Resume()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RThread::Kill()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RThread::Terminate()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RThread::Panic()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RThread::Suspend()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RThread::Resume()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RThread::SetPriority()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RThread::RequestComplete()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RThread::RequestSignal()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; NOTE: the creator of a new process can kill or panic the new process, change the new process priority and set the new process startup parameters until the process is resumed (which the creator can also do). After the new process has been resumed, then it becomes totally independent of its creator, and any attempt to panic it, kill it etc will raise the KERN-EXEC 46 panic. &lt;/p&gt; &lt;p&gt; The panic is raised on call to the following (Symbian partner only) functions if the calling process does not have the &lt;em&gt;PowerMgmt&lt;/em&gt; capability (&lt;code class="ApiItem"&gt;TCapability::ECapabilityPowerMgmt&lt;/code&gt;): &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;Power::PowerDown()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;Power::EnableWakeupEvents()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;Power::DisableWakeupEvents()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;Power::RequestWakeupEventNotification()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;Power::CancelWakeupEventNotification()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; The panic is raised on call to the following functions if the calling process does not have the &lt;em&gt;WriteDeviceData&lt;/em&gt; capability (&lt;code class="ApiItem"&gt;TCapability::ECapabilityWriteDeviceData&lt;/code&gt;): &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;User::SetMachineConfiguration()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;User::SetHomeTime()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;User::SetUTCTime()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;User::SetUTCOffset()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;User::SetUTCTimeAndOffset()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; The panic is raised on call to the following function if the calling process does not have the &lt;em&gt;ReadDeviceData&lt;/em&gt; capability (&lt;code class="ApiItem"&gt;TCapability::ECapabilityReadDeviceData&lt;/code&gt;): &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;User::MachineConfiguration()&lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>47</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when the user issues a request to be notified of messages or the availability of space, when a request has already been issued and is still outstanding. &lt;/p&gt; &lt;p&gt; See &lt;code class="ApiItem"&gt;RMsgQueue&lt;/code&gt;, asynchronous message queues. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>48</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when creating a message queue, and the size of the template parameter is invalid. &lt;/p&gt; &lt;p&gt; See &lt;code class="ApiItem"&gt;RMsgQueue&lt;/code&gt;, asynchronous message queues. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>49</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when creating a message queue, and the specified number of slots is not positive. &lt;/p&gt; &lt;p&gt; See &lt;code class="ApiItem"&gt;RMsgQueue&lt;/code&gt;, asynchronous message queues. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>50</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised if an attempt is made to cancel an outstanding request to be notified of messages or the availability of space, and the cancel is being made by a thread in a different process to the one from which the request was originally made. &lt;/p&gt; &lt;p&gt; See &lt;code class="ApiItem"&gt;RMsgQueue&lt;/code&gt;, asynchronous message queues. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>51</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code&gt;RProcess::Setparameter()&lt;/code&gt; if a slot value is invalid. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>52</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code&gt;RProcess::Setparameter()&lt;/code&gt; if a slot is in use. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>53</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code&gt;RProcess::Setparameter()&lt;/code&gt; if the length of the data passed is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>54</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;RCondVar::Wait()&lt;/code&gt; when the current thread does not hold the specified mutex. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>55</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a call is made to &lt;code&gt;RThread::GetDesMaxLength()&lt;/code&gt;, which is now obsolete. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>56</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised on a process which has not yet been resumed, and whose creator has died. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>57</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a session receives a message to connect to a server when the session is already connected to that server. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>58</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised during an attempt to connect to a server. As part of this process, a pointer to an instance of the &lt;code class="ApiItem"&gt;CSession2&lt;/code&gt; derived class is saved in the instance of the &lt;code class="ApiItem"&gt;CServer2&lt;/code&gt; derived class. &lt;/p&gt; &lt;p&gt; The panic is caused when the pointer to the session object is NULL. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>59</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised during an attempt to connect to a server. As part of this process, a pointer to an instance of the &lt;code class="ApiItem"&gt;CSession2&lt;/code&gt; derived class is saved in the instance of the &lt;code class="ApiItem"&gt;CServer2&lt;/code&gt; derived class. &lt;/p&gt; &lt;p&gt; This panic is caused when a pointer to the session has previously been set. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>60</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised during an attempt to connect to a server. As part of this process, a pointer to an instance of the &lt;code class="ApiItem"&gt;CSession2&lt;/code&gt; derived class is saved in the instance of the &lt;code class="ApiItem"&gt;CServer2&lt;/code&gt; derived class. &lt;/p&gt; &lt;p&gt;This panic is caused when a pointer to a session is being set, and the message is not the connect message.&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/KERN.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,387 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>KERN</category_name>
+  <category_description> &lt;p&gt; These panic numbers represent errors which cause the Kernel itself to terminate. When the kernel terminates for the reasons listed here, it is said to fault rather than panic. &lt;/p&gt; &lt;p&gt; The faults themselves are raised by kernel side code. &lt;/p&gt; &lt;p&gt;Note:many of the faults listed here are raised in debug builds only. &lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised when a system thread has panicked or terminated causing the entire system to re-boot. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised when adding a code segment, a &lt;code&gt;DCodeSeg&lt;/code&gt; object, to the dependency table of another code segment. &lt;/p&gt; &lt;p&gt; The fault occurs when the number of dependent code segments added exceeds the maximum expected, suggesting some inconsistency. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DCodeSeg&lt;/code&gt; is internal to Symbian OS &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised when the thread that deals with raw hardware events, as generated by the hardware drivers of a pointer device, a keyboard etc., has terminated. The thread is referred to as the thread event hook. &lt;/p&gt; &lt;p&gt; Note: &lt;/p&gt; &lt;p&gt; The most common cause is the death of the window server &amp;quot;wserv&amp;quot;. &lt;/p&gt; &lt;p&gt; Raw hardware events are represented by &lt;code class="ApiItem"&gt;TRawEvent&lt;/code&gt; objects. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised when an attempt to allocate the buffer that is to contain raw hardware events (as represented by a set of &lt;code class="ApiItem"&gt;TRawEvent&lt;/code&gt; objects), cannot be allocated. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised when a thread or process is panicked or terminated when one of the following is true: &lt;/p&gt; &lt;p&gt; the kernel is locked. &lt;/p&gt; &lt;p&gt; the current thread holds a fast mutex. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised by internal functions, which as part of their implementation, fetch a &lt;code class="ApiItem"&gt;DObject&lt;/code&gt; based on the object type, a &lt;code&gt;TObjectType&lt;/code&gt; type. &lt;/p&gt; &lt;p&gt; The fault occurs when the value representing the object type lies outside the permitted values. &lt;/p&gt; &lt;p&gt; The fault can also be raised by &lt;code class="ApiItem"&gt;Kern::ObjectFromHandle()&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; Note: &lt;code class="ApiItem"&gt;TObjectType&lt;/code&gt; is internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised by a kernel side session (&lt;code&gt;DSession&lt;/code&gt;) object's destructor if that session has not been detached from the kernel side server (&lt;code&gt;DServer&lt;/code&gt;) object by the time the destructor is called. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DSession&lt;/code&gt; and &lt;code&gt;DServer &lt;/code&gt; are internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt;This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; The fault is raised by &lt;code&gt;DSession::Send()&lt;/code&gt; when an ASSERT, that expects a message to be free, fails. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DSession&lt;/code&gt; is internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>22</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised by a kernel side session (&lt;code&gt;DSession&lt;/code&gt;) object's destructor if there are still messages outstanding on that session by the time the destructor is called. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DSession&lt;/code&gt; is internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>23</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>24</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised by a kernel side server (&lt;code&gt;DServer&lt;/code&gt;) object's destructor if there are sessions still attached to that server by the time the destructor is called. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DServer&lt;/code&gt; is internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>25</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised by a kernel side server (&lt;code&gt;DServer&lt;/code&gt;) object's destructor if that server still has messages that have been delivered but not yet accepted by the time the destructor is called. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>26</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised by a kernel side server (&lt;code&gt;DServer&lt;/code&gt;) object's &lt;code&gt;Close()&lt;/code&gt; function if that server still has messages that have been delivered but not yet accepted. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>27</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised by a kernel side session (&lt;code&gt;DSession&lt;/code&gt;) object when the server calls its &lt;code&gt;ClosefromDisconnect()&lt;/code&gt; function to indicate completion of the disconnection, and the session object's access count is not zero. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DSession&lt;/code&gt; is internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>28</panic_id>
+      <panic_description>&lt;p&gt;This fault is raised in debug builds only.&lt;/p&gt; &lt;p&gt; This fault is raised when a message is being freed and the message appears to belong to an unknown message pool. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>29</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised by a kernel side session (&lt;code&gt;DSession&lt;/code&gt;) object's destructor if there are still messages outstanding on that session by the time the destructor is called. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DSession&lt;/code&gt; is internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>30</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>31</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>32</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>33</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>34</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>35</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>36</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>37</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>38</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>39</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>40</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>41</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised when the DFC that is used to restart the second absolute timer queue (&lt;code&gt;TSecondQ&lt;/code&gt;) finds that the queue is not locked. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>42</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised by the &lt;code class="ApiItem"&gt;DLogicalChannel&lt;/code&gt; destructor if there are outstanding messages by the time the destructor is called. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>43</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised by a kernel side session (&lt;code&gt;DSession&lt;/code&gt;) object's destructor if the object's access count and the total client access count are not zero by the time the destructor is called. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DSession&lt;/code&gt; is internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>44</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised when the kernel heap is being created and the specified initial size is less than or equal to the minimum value defined by &lt;code class="ApiItem"&gt;KMinHeapSize&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>45</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>46</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>47</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>48</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised if creation of the machine configuration mutex fails during initialisation of the RAM drive. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>49</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised if creation of a new chunk for the internal RAM drive fails. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>50</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised if creation of the microkernel fails. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>51</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised if the 3rd phase initialisation of the kernel fails. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>52</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised if the startup of kernel extensions fails. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>53</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>54</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>55</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>56</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>57</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised if initialisation of the RAM drive fails. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>58</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>59</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>60</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>61</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>62</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>63</panic_id>
+      <panic_description>&lt;p&gt; This fault acts as a trap if a thread calls &lt;code class="ApiItem"&gt;NKern::ThreadKill()&lt;/code&gt; to terminate itself, and the call to that &lt;code class="ApiItem"&gt;NKern::ThreadKill()&lt;/code&gt;function returns. When a thread calls on itself, the call should not return. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>64</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised if an attempt is made to set an invalid timer type (&lt;code&gt;TTimer::SetType()&lt;/code&gt;). &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;TTimer&lt;/code&gt; is internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>65</panic_id>
+      <panic_description>&lt;p&gt; The fault is raised when updating a tick timer queue, and the delta value is greater than the maximum permitted. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>66</panic_id>
+      <panic_description>&lt;p&gt;This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; The fault is raised when setting the thread (&lt;code&gt;DThread&lt;/code&gt;) priority, and the priority value is not a valid value. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DThread&lt;/code&gt; is internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>67</panic_id>
+      <panic_description>&lt;p&gt;This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This fault is raised when a mutex (&lt;code&gt;DMutex&lt;/code&gt;) is signalled (&lt;code&gt;DMutex::Signal()&lt;/code&gt;) by the wrong thread. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DMutex&lt;/code&gt; is internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>68</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This fault is raised when a mutex (&lt;code&gt;DMutex&lt;/code&gt;) is signalled (&lt;code&gt;DMutex::Signal()&lt;/code&gt;) and the current thread (&lt;code&gt;DThread&lt;/code&gt;) is not ready to run. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DMutex&lt;/code&gt; and &lt;code&gt;DThread&lt;/code&gt; are internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>69</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This fault is raised when a wait is called on a mutex (&lt;code&gt;DMutex::Wait()&lt;/code&gt;), and the current thread (&lt;code&gt;DThread&lt;/code&gt;) is not ready to run. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DMutex&lt;/code&gt; and &lt;code&gt;DThread&lt;/code&gt; are internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>70</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This fault is raised when a wait is called on a mutex (&lt;code&gt;DMutex::Wait()&lt;/code&gt;), and the current thread (&lt;code&gt;DThread&lt;/code&gt;) is blocked, waiting on another object. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DMutex&lt;/code&gt; and &lt;code&gt;DThread&lt;/code&gt; are internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>71</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; The fault is raised when a semaphore (&lt;code&gt;DSemaphore&lt;/code&gt;) is signalled and the current thread (&lt;code&gt;DThread&lt;/code&gt;) is not ready to run. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DSemaphore&lt;/code&gt; and &lt;code&gt;DThread &lt;/code&gt; are internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>72</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; The fault is raised when a wait is called on a semaphore (&lt;code&gt;DSemaphore::Wait()&lt;/code&gt;) and the current thread (&lt;code&gt;DThread&lt;/code&gt;) is not ready to run. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DSemaphore&lt;/code&gt; and &lt;code&gt;DThread &lt;/code&gt; are internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>73</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This fault is raised when a wait is called on a semaphore (&lt;code&gt;DSemaphore::Wait()&lt;/code&gt;), and the current thread (&lt;code&gt;DThread&lt;/code&gt;) is blocked, waiting on another object. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DSemaphore&lt;/code&gt; and &lt;code&gt;DThread &lt;/code&gt; are internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>74</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This fault is raised during kernel heap manipulation. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>75</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised by the &lt;code&gt;DLibrary&lt;/code&gt; destructor if the number of user references on the library, which is equal to the number of handles on the library opened by the process or by any of its threads, is not zero. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DLibrary&lt;/code&gt; is internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>76</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised by &lt;code&gt;DProcess::Release()&lt;/code&gt; if the number of dynamically loaded code segments attached to this process is not zero. &lt;/p&gt; &lt;p&gt; Note: the code segments referred to are only those corresponding to DLLs that have been explicitly loaded. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DProcess&lt;/code&gt; is internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>77</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised during the creation of a code segment if a process data address is invalid. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>78</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This fault is raised when attaching a process to a code segment (&lt;code&gt;DCodeSeg::SetAttachProcess()&lt;/code&gt;). &lt;/p&gt; &lt;p&gt; The fault occurs if the code segment's &lt;code&gt;iExeCodeSeg&lt;/code&gt; field already points to some process's EXE code segment. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DCodeSeg&lt;/code&gt; and &lt;code&gt;DProcess &lt;/code&gt; are internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>79</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised when attaching a process to a code segment (&lt;code&gt;DCodeSeg::SetAttachProcess()&lt;/code&gt;). &lt;/p&gt; &lt;p&gt; The fault occurs if a process (&lt;code&gt;DProcess&lt;/code&gt;) has already been attached to this code segment. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DCodeSeg&lt;/code&gt; and &lt;code&gt;DProcess &lt;/code&gt; are internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>80</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised when an essential system thread terminates. Such a thread is flagged as being permanent (&lt;code&gt;KThreadFlagSystemPermanent&lt;/code&gt;). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>81</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This fault is raised if creation of the just-in-time handler (&lt;code&gt;DJitCrashHandler&lt;/code&gt;) fails during the third phase of system initialisation (&lt;code class="ApiItem"&gt;Asic::Init3()&lt;/code&gt;). &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DJitCrashHandler&lt;/code&gt; is internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>82</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>83</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This fault is raised by &lt;code class="ApiItem"&gt;Kern::ProcessFromId()&lt;/code&gt; if the process container mutex is not held by the current thread. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>84</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This fault is raised by &lt;code class="ApiItem"&gt;Kern::ThreadFromId()&lt;/code&gt; if the thread container mutex is not held by the current thread. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>85</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>86</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>87</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This fault is raised when an access-counted event handler callback object, &lt;code class="ApiItem"&gt;DKernelEventHandler&lt;/code&gt;, is created with a NULL &lt;code class="ApiItem"&gt;TCallback&lt;/code&gt; object. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>88</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This fault is raised if attempting to wait on a mutex (&lt;code&gt;DMutex::Wait()&lt;/code&gt;) that has been created with an order value that violates the rules that prevent deadlock prevention. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>89</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This fault is raised when waiting on a condition variable object (&lt;code&gt;DCondVar&lt;/code&gt;) if the current thread is not ready to run. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DCondVar&lt;/code&gt; is internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>90</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This fault is raised when waiting on a condition variable object (&lt;code&gt;DCondVar&lt;/code&gt;) if the current (Nanokernel) thread is not in a recognised state. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DCondVar&lt;/code&gt; is internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>91</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This fault is raised when waiting on a condition variable object (&lt;code&gt;DCondVar&lt;/code&gt;) if the current (Symbian OS) thread is not in a recognised state. &lt;/p&gt; &lt;p&gt; Note: &lt;code&gt;DCondVar&lt;/code&gt; is internal to Symbian OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>92</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised when attempting to unblock a thread in a call to &lt;code&gt;DCondVar::UnBlockThread()&lt;/code&gt; if the thread state indicates that it is not suspended waiting on the &lt;code&gt;DCondVar&lt;/code&gt; object. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>93</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>94</panic_id>
+      <panic_description>&lt;p&gt; This fault is raised in a call to &lt;code class="ApiItem"&gt;Kern::ThreadKill()&lt;/code&gt; if an attempt is being made to kill a non-user thread that is also not the currently running thread. &lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/MATX.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>MATHX</category_name>
+  <category_description> &lt;p&gt;These panics represent errors raised by member functions of the &lt;code class="ApiItem"&gt;TRealX&lt;/code&gt; class. Typically, they are the result of illegal maths operations, such as dividing by zero, or operations which result in overflow.&lt;/p&gt;&lt;p&gt;The thread causing the panic is terminated.&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by &lt;code&gt;operator/=&lt;/code&gt; of a &lt;code class="ApiItem"&gt;TRealX&lt;/code&gt;, when the divisor is zero&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by &lt;code&gt;operator+=&lt;/code&gt;, &lt;code&gt;operator-=&lt;/code&gt; and &lt;code&gt;operator*=&lt;/code&gt; of a &lt;code class="ApiItem"&gt;TRealX&lt;/code&gt;, when the the result of the operation is an overflow.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by &lt;code&gt;operator+=&lt;/code&gt;, &lt;code&gt;operator-=&lt;/code&gt; and &lt;code&gt;operator*=&lt;/code&gt; of a &lt;code class="ApiItem"&gt;TRealX&lt;/code&gt;, when the the result of the operation is an underflow.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by &lt;code&gt;operator+=&lt;/code&gt;, &lt;code&gt;operator-=&lt;/code&gt; and &lt;code&gt;operator*=&lt;/code&gt; of a &lt;code class="ApiItem"&gt;TRealX&lt;/code&gt;, when the the operands are invalid.&lt;/p&gt;&lt;p&gt;For &lt;code&gt;operator+=&lt;/code&gt;, the panic is raised if one of these conditions applies:&lt;/p&gt; &lt;p&gt;the target operand is not a number,&lt;/p&gt; &lt;p&gt;the source operand is not a number,&lt;/p&gt; &lt;p&gt;the target and the source operands are infinite and have different signs.&lt;/p&gt; &lt;p&gt; For &lt;code&gt;operator-=&lt;/code&gt;, the panic is raised if one of these conditions applies:&lt;/p&gt; &lt;p&gt;the target operand is not a number, &lt;/p&gt; &lt;p&gt;the source operand is not a number,&lt;/p&gt; &lt;p&gt;the target and the source operands are infinite and have different signs&lt;/p&gt; &lt;p&gt;For &lt;code&gt;operator*=&lt;/code&gt;, the panic is raised if one of these conditions applies:&lt;/p&gt; &lt;p&gt;the target operand is not a number, &lt;/p&gt; &lt;p&gt;the source operand is not a number, &lt;/p&gt; &lt;p&gt;the target operand is infinite and the source operand is zero &lt;/p&gt; &lt;p&gt;the target operand is zero and the source operand is infinite.&lt;/p&gt; &lt;p&gt;For &lt;code&gt;operator/=&lt;/code&gt;, the panic is raised if one of these conditions applies:&lt;/p&gt; &lt;p&gt;the target operand is not a number,&lt;/p&gt; &lt;p&gt;the source operand is not a number,&lt;/p&gt; &lt;p&gt;the target operand and the source operand are both infinite,&lt;/p&gt; &lt;p&gt;the target operand and the source operand are both zero.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by a number of operations on &lt;code class="ApiItem"&gt;TReal64&lt;/code&gt; and &lt;code class="ApiItem"&gt;TReal32&lt;/code&gt; types when they complete with an error code other than: &lt;code&gt;KErrArgument&lt;/code&gt;, &lt;code&gt;KErrDivideByZero&lt;/code&gt;, &lt;code&gt;KErrOverflow&lt;/code&gt; or &lt;code&gt;KErrUnderflow&lt;/code&gt;.&lt;/p&gt;	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/MSGS.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,339 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>MSGS</category_name>
+  <category_description> &lt;p&gt;Messaging panics of Message Server from the &lt;code&gt;msgs&lt;/code&gt; library&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt;Parent of context could not be found&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;Parent of context could not be found&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;Parent of context could not be found&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt;Parent of context could not be found&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt;Parent of context could not be found&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt;Parent of context could not be found&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt;Parent of context could not be found&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt;Parent of context could not be found&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt;Specified entry was not a child of the parent&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt;Specified entry was not a child of the parent&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>35</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry::DeleteEntry()&lt;/code&gt; called on current context&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>36</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry&lt;/code&gt; update index request failed as ID specified is not the same as the context ID&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>66</panic_id>
+      <panic_description>&lt;p&gt;Invalid &lt;code&gt;TMsvEntry&lt;/code&gt; provided in &lt;code&gt;CMsvServerEntry&lt;/code&gt; change function&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>94</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry::EditStoreL()&lt;/code&gt; called with associated message store already open&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>95</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry::ReadStoreL()&lt;/code&gt; called with associated message store already open&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>96</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry&lt;/code&gt; destroyed while associated message store was left open&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>97</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry&lt;/code&gt; object notified of unknown message store event type&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>98</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry&lt;/code&gt; object notified of event relating to unknown message store &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>99</panic_id>
+      <panic_description>&lt;p&gt;New &lt;code&gt;CMsvServerEntry&lt;/code&gt; context request failed as the contexts store is still open&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>109</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry&lt;/code&gt; context cannot be changed as it has been deleted&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>120</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry&lt;/code&gt; move  function failed as the destination is the current parent&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>146</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry&lt;/code&gt; request failed as no context has been set for the object&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>175</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry::MoveEntry()/MoveEntryWithinService()&lt;/code&gt; failed as the destination belongs to a different service that the source&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>176</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry&lt;/code&gt; request called with an asynchronous move function is already being carried out on the context&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>177</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry::MoveEntryL()&lt;/code&gt; called with an asynchronous move function already being carried out on the context&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>178</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry&lt;/code&gt; &lt;code&gt;::MoveEntryCompleted()&lt;/code&gt; called with no move completed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>179</panic_id>
+      <panic_description>&lt;p&gt;Target of &lt;code&gt;CMsvServerEntry::MoveEntryL()&lt;/code&gt; is the current context&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>180</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry&lt;/code&gt; &lt;code&gt;::CancelMoveEntry()&lt;/code&gt; called with no move begun&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>181</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry&lt;/code&gt; destroyed while asynchronous move operation was in progress&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>194</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMtmDllInfo::SetHumanReadableNameL()&lt;/code&gt; called with name longer than 50 characters&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>195</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CRegisteredMtmDll&lt;/code&gt; object destroyed while MTM DLL is still in use&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>196</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CRegisteredMtmDll&lt;/code&gt; object released with no instances in use&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>197</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CRegisteredMtmDll&lt;/code&gt; load library call made while MTM DLL is still in use&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>198</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMtmDllRegistry::MtmTypeUid()&lt;/code&gt; an out-of-range index value&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>199</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMtmDllRegistry::IsInUse()&lt;/code&gt; specified a non-registered MTM&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>200</panic_id>
+      <panic_description>&lt;p&gt;MTM registered with type UID of existing MTM&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>203</panic_id>
+      <panic_description>&lt;p&gt;Request to sort entries by unknown priority&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>209</panic_id>
+      <panic_description>&lt;p&gt;Registration data for a single MTM component has incorrect value for UID2&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>210</panic_id>
+      <panic_description>&lt;p&gt;Request to sort entries by unknown MTM&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>211</panic_id>
+      <panic_description>&lt;p&gt;Error in constructed MTM list for sorting&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>223</panic_id>
+      <panic_description>&lt;p&gt;ID specified in new index entry is not the same as the context ID in &lt;code&gt;CMsvEntry&lt;/code&gt; change context&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>227</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvSession&lt;/code&gt; &lt;code&gt;::RemoveObserver()&lt;/code&gt; was called for a non-registered observer&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>228</panic_id>
+      <panic_description>&lt;p&gt;Client attempted to remove an entry observer  that was not a registered observer&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>234</panic_id>
+      <panic_description>&lt;p&gt;Attempted to remove a session observer while no session observer exists&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>235</panic_id>
+      <panic_description>&lt;p&gt;No context for &lt;code&gt;CMsvEntry&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>236</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvEntry&lt;/code&gt; children already sorted&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>237</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvEntry&lt;/code&gt; encountered deletion of an entry not listed as a  child&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>239</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvEntry&lt;/code&gt; context cannot be used, as it is being changed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>240</panic_id>
+      <panic_description>&lt;p&gt;A context &lt;code&gt;CMsvEntry&lt;/code&gt; change operation is already taking place&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>241</panic_id>
+      <panic_description>&lt;p&gt;Selection passed to &lt;code&gt;CMsvEntry::DeleteL()&lt;/code&gt; contains entries with different MTM or service properties&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>242</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvEntry::ChildrenWithTypeL()&lt;/code&gt; was called with an unknown type&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>244</panic_id>
+      <panic_description>&lt;p&gt;Selection was specified in &lt;code&gt;CMsvEntry&lt;/code&gt; move, but MTM type or service fields are inconsistent among the entries&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>245</panic_id>
+      <panic_description>&lt;p&gt;Selection was specified in &lt;code&gt;CMsvEntry&lt;/code&gt; copy, but MTM type or service fields are inconsistent among the entries&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>249</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvEntry::CreateL()&lt;/code&gt; called with invalid &lt;code&gt;TMsvEntry&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>250</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvEntry::ChangeL()&lt;/code&gt; called with invalid &lt;code&gt;TMsvEntry&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>251</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvEntry&lt;/code&gt; object destroyed with associated message store left open&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>258</panic_id>
+      <panic_description>&lt;p&gt;Empty selection passed to &lt;code&gt;CMsvEntry::DeleteL()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>259</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvEntry::SetEntryL()&lt;/code&gt; called with associated message store left open&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>260</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvEntry::MoveL()&lt;/code&gt; called with move target set to the present parent&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>261</panic_id>
+      <panic_description>&lt;p&gt;Client attempts to open already open message store through &lt;code&gt;CMsvEntry&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>262</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvSession&lt;/code&gt; object destroyed with entries still on the session cleanup stack&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>265</panic_id>
+      <panic_description>&lt;p&gt;Entry passed to&lt;code&gt; CMsvEntry::DeleteL()&lt;/code&gt; has different owning service than parent&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>266</panic_id>
+      <panic_description>&lt;p&gt;Entry passed to&lt;code&gt; CMsvEntry::MoveL()&lt;/code&gt; has different owning service than parent&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>267</panic_id>
+      <panic_description>&lt;p&gt;Entry passed to&lt;code&gt; CMsvEntry::CopyL()&lt;/code&gt; has different owning service than parent&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>268</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvEntry&lt;/code&gt; notified of new child with different owning service than context&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>269</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvEntry&lt;/code&gt; notified of entry deletion with different owning service than context&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>270</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvEntry&lt;/code&gt; notified of message store modification with different owning service than context&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>271</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvEntry&lt;/code&gt; notified of entry modification with different owning service than context&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>273</panic_id>
+      <panic_description>&lt;p&gt;The Message Server has completed an asynchronous request with an error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>275</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CBaseMtm::StoreBodyL()&lt;/code&gt; or &lt;code&gt;CBaseMtm::RestoreBodyL()&lt;/code&gt; called with no context set&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>279</panic_id>
+      <panic_description>&lt;p&gt;Entry ID of &lt;code&gt;CBaseMtm&lt;/code&gt; context changed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>280</panic_id>
+      <panic_description>&lt;p&gt;MTM data was not found in MTM data file on installation&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>281</panic_id>
+      <panic_description>&lt;p&gt;Copy or move already in progress for &lt;code&gt;CMsvServerEntry&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>282</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry::Cancel()&lt;/code&gt; called when no asynchronous operation is in progress&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>283</panic_id>
+      <panic_description>&lt;p&gt;Error reading file system&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>284</panic_id>
+      <panic_description>&lt;p&gt;Unknown error in  &lt;code&gt;CMsvServerEntry::HasDirectory()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>285</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvOperation::FinalProgress()&lt;/code&gt; was called when the operation was not complete&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>286</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvOperation::FinalProgress()&lt;/code&gt; called an operation's &lt;code&gt;ProgressL()&lt;/code&gt; function that left&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>287</panic_id>
+      <panic_description>&lt;p&gt;Error reading file system&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>294</panic_id>
+      <panic_description>&lt;p&gt;The synchronous version of &lt;code&gt;CMsvEntry::CreateL()&lt;/code&gt;, &lt;code&gt;CMsvEntry::ChangeL()&lt;/code&gt;, or &lt;code&gt;CMsvEntry::DeleteL()&lt;/code&gt; was called for a non-local context&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>296</panic_id>
+      <panic_description>&lt;p&gt;A &lt;code&gt;CMsvServerEntry&lt;/code&gt; delete function was called with an empty selection&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>299</panic_id>
+      <panic_description>&lt;p&gt;Target of a &lt;code&gt;CMsvServerEntry::CopyEntriesL()&lt;/code&gt; call was the current context&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>300</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMsvServerEntry::CopyEntriesL()&lt;/code&gt; called when a copy is already in progress&lt;/p&gt; 	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/MSGS_Client.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,59 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>MSGS Client</category_name>
+  <category_description> &lt;p&gt;Client messaging panics from the &lt;code&gt;msgs&lt;/code&gt; library&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;Unsupported asynchronous request made to Message Server&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Session event notification request repeated by client&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;Failed to write data into asynchronous call descriptor to be passed back to client&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;Failed to read data from asynchronous call descriptor passed from client&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;Client requested Message Server to create or modify an entry with invalid data&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;Message Server session ended while a message store is still locked&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;Message Server session ended with outstanding requests&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;Client requested Message Server to release message store that was not locked&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;Client requested Message Server to delete empty entry selection&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt;Client requested Message Server to pop remote entry from session cleanup stack&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;Progress information exceeded maximum 256-character length&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;Client requested Message Server to move an empty selection of entries&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt;Client requested Message Server to copy an empty selection of entries&lt;/p&gt;	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/MTMUI_Data.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>MTMUI Data</category_name>
+  <category_description> &lt;p&gt;Messaging panic from the &lt;code class="filename"&gt;mtur&lt;/code&gt; library relating to UI Data MTM operations&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;Inconsistent start/end and zoom parameters passed to &lt;code&gt;CBaseMtmUiData::CreateBitmapsL()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;Multiple location flags set in &lt;code&gt;TMtmUiFunction::aFlags&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/MTUI.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,19 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>MTUI</category_name>
+  <category_description> &lt;p&gt;Messaging panics from the &lt;code class="filename"&gt;mtur&lt;/code&gt; library relating to User Interface MTM operations&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;Empty selection passed to &lt;code&gt;CBaseMtmUi&lt;/code&gt; move, copy, or delete function&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Target of &lt;code&gt;CBaseMtmUi&lt;/code&gt; move or copy function was not service or folder&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CBaseMtmUi::DeleteServiceL()&lt;/code&gt; called for non-service entry&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/PLAT_emulator.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,31 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>PLAT (emulator)</category_name>
+  <category_description> &lt;p&gt;These panics represent errors which are detected by emulator   specific code. Typically, they are caused by passing bad or contradictory parameters to functions.&lt;/p&gt; &lt;p&gt;The thread causing the panic is terminated.&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;These panics are raised when a failure occurs running any DLL attach process calls which have been registered during startup.&lt;/p&gt;&lt;/td&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;These panics are raised when a failure occurs running any DLL attach process calls which have been registered during startup.&lt;/p&gt;&lt;/td&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when registering a thread callback.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised if a failure occurs in loading &lt;code class="filename"&gt;EKERN.EXE&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised if any of the &lt;code&gt;_E32Initialise()&lt;/code&gt;, &lt;code&gt;_E32DeInitialise()&lt;/code&gt; or &lt;code&gt;_E32ExitProcess()&lt;/code&gt; Kernel functions cannot be found.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised if a leave occurs and there is no trap harness.&lt;/p&gt;	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/PLAT_generic_Kernel.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,135 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>PLAT (generic Kernel)</category_name>
+  <category_description> &lt;p&gt;These panics represent represent errors which are detected by  generic Kernel code. Typically, they are caused by passing bad or contradictory parameters to functions.&lt;/p&gt;&lt;p&gt;The thread causing the panic is terminated.&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised at system startup time if the secondary process cannot be created.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when a semaphore, a &lt;code&gt;DPlatSemaphore&lt;/code&gt;, is created and a negative count value is passed to the member function creating it.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when a semaphore, a &lt;code&gt;DPlatSemaphore&lt;/code&gt;, is signalled and the count value, if specified, is negative.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when fetching the home address of a specified address relative to the thread's process and the specified address is invalid.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;These panics are raised when an illegal attempt is made to kill a thread, a &lt;code&gt;DPlatThread&lt;/code&gt;; the thread may already be dead or its status may be unknown.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;These panics are raised when an illegal attempt is made to kill a thread, a &lt;code&gt;DPlatThread&lt;/code&gt;; the thread may already be dead or its status may be unknown.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;These panics are raised when an illegal attempt is made to kill a thread, a &lt;code&gt;DPlatThread&lt;/code&gt;; the thread may already be dead or its status may be unknown.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when an attempt is made to resume the first thread in a process, a &lt;code&gt;DPlatProcess&lt;/code&gt;, when that process has not been loaded.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when looking up a function by ordinal in a library, a &lt;code&gt;DPlatLibrary&lt;/code&gt;. The panic occurs when the specified ordinal number is zero or negative.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised because of a failure in the initialization of the Hardware Abstraction Layer (the HAL); specifically, the startup reason is not recognized.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised because of a failure in the initialization of the Hardware Abstraction Layer (the HAL); specifically, the keyboard could not be initialized.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised because of a failure in the initialization of the Hardware Abstraction Layer (the HAL); specifically, the x-y input device could not be initialized.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt;These panics are raised by failures during system startup.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt;These panics are raised by failures during system startup.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt;These panics are raised by failures during system startup.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>22</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when a failure occurs in dispatching an exception.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>64</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when an attempt is made to create a hardware chunk when that chunk has already been created.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>80</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when a Kernel fixed heap is being created and the specified maximum length is negative.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>81</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when the Kernel attempts to mutate a fixed heap into a chunk heap and the specified minimum length is different from the current minimum length.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>83</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised in debug builds only.&lt;/p&gt;&lt;p&gt;This panic is raised by the millisecond timer when a call back has already been queued.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>87</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised in debug builds only.&lt;/p&gt; &lt;p&gt;This panic is raised during debugging when handling an exception via &lt;code&gt;Debug::HandleException&lt;/code&gt; and a write operation to the remote thread running the monitor program fails.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>88</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when setting up the context for a newly created thread and the specified thread type, which defines the context, is not recognized.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>90</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised if there is no screen-switch-on handler.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>91</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised if a system thread has been panicked.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>92</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when an attempt is made to move a fixed address chunk.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>93</panic_id>
+      <panic_description>&lt;p&gt;These panics are raised during initialization of the MMU if creation of various components fails; for example, the domain allocator or the page table linear allocator.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>94</panic_id>
+      <panic_description>&lt;p&gt;These panics are raised during initialization of the MMU if creation of various components fails; for example, the domain allocator or the page table linear allocator.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>95</panic_id>
+      <panic_description>&lt;p&gt;These panics are raised during initialization of the MMU if creation of various components fails; for example, the domain allocator or the page table linear allocator.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>96</panic_id>
+      <panic_description>&lt;p&gt;These panics are raised during initialization of the MMU if creation of various components fails; for example, the domain allocator or the page table linear allocator.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>97</panic_id>
+      <panic_description>&lt;p&gt;These panics are raised during initialization of the MMU if creation of various components fails; for example, the domain allocator or the page table linear allocator.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>98</panic_id>
+      <panic_description>&lt;p&gt;These panics are raised during initialization of the MMU if creation of various components fails; for example, the domain allocator or the page table linear allocator.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>99</panic_id>
+      <panic_description>&lt;p&gt;These panics are raised during initialization of the MMU if creation of various components fails; for example, the domain allocator or the page table linear allocator.&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Protocol_panic.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,91 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>Protocol panic</category_name>
+  <category_description> &lt;p&gt;The Sockets Server gives a &amp;quot;Protocol panic&amp;quot; when it finds incorrect protocol module behaviour.&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;An unknown request completed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;Protocol completed a connect request unexpectedly&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;Protocol completed a connect with data request unexpectedly&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;Protocol completed a shutdown with data request unexpectedly&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CProtocolFamilyBase::Remove()&lt;/code&gt; failed&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;Protocol made incorrect call to the server through a &lt;code&gt;MSocketNotify&lt;/code&gt; function&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;Protocol made call to &lt;code&gt;MSocketNotify::NewDataL()&lt;/code&gt; with bad &lt;code&gt;aCount&lt;/code&gt; value&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;Protocol made call to &lt;code&gt;MSocketNotify::DisConnect()&lt;/code&gt; with connectionless socket&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;Server could not get expected received data from protocol&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt;Protocol has returned an invalid &lt;code&gt;TServerProtocolDesc&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;Protocol has not implemented &lt;code&gt;CProtocolBase::Error()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;Protocol has not implemented descriptor-overload of &lt;code&gt;CProtocolBase::Process()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt;Protocol has not implemented &lt;code&gt;RMBufChain&lt;/code&gt;-overload &lt;code&gt;CProtocolBase::Process()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt;Protocol has not implemented descriptor-overload of &lt;code&gt;CProtocolBase::Send()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt;Protocol has not implemented &lt;code&gt;RMBufChain&lt;/code&gt;-overload &lt;code&gt;CProtocolBase::Send()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt;Protocol has not implemented &lt;code&gt;CProtocolBase::BindToL()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt;Protocol has not implemented &lt;code&gt;CProtocolBase::BindL()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt;Protocol made call to &lt;code&gt;MSocketNotify::ConnectComplete()&lt;/code&gt; on non-listening socket&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt;Protocol made call to &lt;code&gt;MSocketNotify::ConnectComplete()&lt;/code&gt; when server has accepted maximum number of sockets&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Send.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,59 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>Send</category_name>
+  <category_description> &lt;p&gt;Messaging panics from &lt;code&gt;CSendAs&lt;/code&gt;&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;Out of range index passed to &lt;code&gt;CSendAs::SetMtmL()&lt;/code&gt; or CSendAs::SetService()&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Internal discrepancy in MTM array&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;Asked to create zero-length MTM array&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CSendAs::SetMtmL()&lt;/code&gt; called when a message has already been created&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;Asked to create zero-length service array&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;MTM not chosen when &lt;code&gt;CSendAs::CreateMessageL()&lt;/code&gt; called&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;Message not saved when &lt;code&gt;CSendAs::AbandonMessage()&lt;/code&gt; called&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;Message not created when &lt;code&gt;CSendAs::SaveMessageL()&lt;/code&gt; called&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CSendAs::RecipientList()&lt;/code&gt;, &lt;code&gt;CSendAs::RemoveRecipient()&lt;/code&gt;, or &lt;code&gt;CSendAs::AddRecipientL()&lt;/code&gt; called without message being saved or created&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CSendAs::SetSubjectL()&lt;/code&gt; called without message being saved or created&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CSendAs::SetBodyL()&lt;/code&gt; or &lt;code&gt;CSendAs::ValidateMessage()&lt;/code&gt; called without message being saved or created&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CSendAs&lt;/code&gt; active without asynchronous rendering being called&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt;CSendAs&lt;/code&gt; cancelled without asynchronous rendering being called&lt;/p&gt;	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/TCPIP.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,103 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>TCPIP</category_name>
+  <category_description> &lt;p&gt;Panic of TCP/IP protocol family module&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;Function is not supported&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;Server requested received data that protocol does not have&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;Impossible binding request, such as bind to itself&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;Internal NULL buffer error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;Protocol closedown error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;Open requested on already open socket&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;Internal timer error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt;Invalid netmask address supplied&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt;Internal NULL pointer error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt;ICMP protocol could not be loaded&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt;Internal protocol closedown error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt;Internal error in urgent data handling &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt;Internal error in DNS record handling&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>22</panic_id>
+      <panic_description>&lt;p&gt;Internal error in DNS record handling&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>23</panic_id>
+      <panic_description>&lt;p&gt;Internal error in DNS record handling&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Telephony.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>Telephony</category_name>
+  <category_description> &lt;p&gt;Third party telephony panic:&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;A client has attempted to re-post an asynchronous request before the original request has completed&lt;/p&gt;	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/UI_Graphics.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,39 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>UI Graphics</category_name>
+  <category_description> &lt;p&gt;UI Graphics Utilities panics:&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;A resource null pointer.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;Resource specified has an invalid number type.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;A null pointer.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;The logical color was not found.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;The logical color already exists.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;Invalid color range specified.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;The application color array was not found.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;Null TLS (thread-local storage).&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/USER-EXEC.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>USER-EXEC</category_name>
+  <category_description> &lt;p&gt;No Description&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;In Symbian OS 8.1b, 9.0, 9.1 and subsequent versions:&lt;/p&gt; &lt;p&gt;this panic is raised when an exception is raised on the current thread by a call to &lt;code class="ApiItem"&gt;User::RaiseException()&lt;/code&gt;, and the thread has no exception handler to handle the specified exception.&lt;/p&gt; &lt;p&gt;In Symbian OS up to 8.1a:&lt;/p&gt; &lt;p&gt;this panic is raised when the current thread calls &lt;code class="ApiItem"&gt;RThread::RaiseException()&lt;/code&gt; on itself, and the thread has no exception handler to handle the specified exception.&lt;/p&gt; &lt;p&gt;Note that the &lt;code class="ApiItem"&gt;RThread::RaiseException()&lt;/code&gt; API is deprecated in Symbian OS 8.1b, 9.0, 9.1 and subsequent versions, and should not be used.&lt;/p&gt;	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/USER.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,787 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>USER</category_name>
+  <category_description> &lt;p&gt;Panics with this category are raised on the user side by member functions of T type and R type classes which reside in &lt;code class="filename"&gt;euser.dll&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;They are also raised by some static member functions of the &lt;code&gt;User&lt;/code&gt;, &lt;code&gt;UserHeap&lt;/code&gt; and &lt;code&gt;RHeap&lt;/code&gt; classes. Typically, they are caused by passing bad or contradictory values to class constructors or member functions.&lt;/p&gt; &lt;p&gt; The thread causing the panic is terminated. &lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a thread calls &lt;code class="ApiItem"&gt;User&lt;/code&gt;&lt;code&gt;::Invariant()&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; Typically, &lt;code&gt;User::Invariant()&lt;/code&gt; is called when a test for a class invariant fails, i.e. when a test which checks that the internal data of an object is self-consistent, fails. &lt;/p&gt; &lt;p&gt; Check the design and implementation of your class. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a &lt;code class="ApiItem"&gt;TDateTime&lt;/code&gt; object is constructed with an invalid date or time field. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Ptr()&lt;/code&gt; member function of a 16-bit variant descriptor if the descriptor is invalid. &lt;/p&gt; &lt;p&gt; Check for ways in which the descriptor may have become corrupted, including an unsafe use of cast. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a length value passed to a 16-bit variant descriptor member function is invalid. It may be raised by some descriptor constructors and, specifically, by the &lt;code&gt;Replace()&lt;/code&gt; and &lt;code&gt;Set()&lt;/code&gt; descriptor member functions. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when the index value passed to the 16-bit variant descriptor &lt;code&gt;Operator[]&lt;/code&gt; is out of bounds &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when the position value passed to a 16-bit variant descriptor member function is out of bounds. It may be raised by the &lt;code&gt;Left()&lt;/code&gt;, &lt;code&gt;Right()&lt;/code&gt;, &lt;code&gt;Mid()&lt;/code&gt;, &lt;code&gt;Insert()&lt;/code&gt;, &lt;code&gt;Delete()&lt;/code&gt; and &lt;code&gt;Replace()&lt;/code&gt; member functions of &lt;code class="ApiItem"&gt;TDes16&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when any operation that moves or copies data to a 16-bit variant descriptor, causes the length of that descriptor to exceed its maximum length. &lt;/p&gt; &lt;p&gt; It may be caused by any of the copying, appending or formatting member functions and, specifically, by the &lt;code&gt;Insert()&lt;/code&gt;, &lt;code&gt;Replace()&lt;/code&gt;, &lt;code&gt;Fill()&lt;/code&gt;, &lt;code&gt;Fillz()&lt;/code&gt; and &lt;code&gt;ZeroTerminate()&lt;/code&gt; descriptor member functions. It can also be caused by the &lt;code&gt;SetLength()&lt;/code&gt; function. See &lt;code class="ApiItem"&gt;TDes16&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when the format string passed to the 16-bit variant descriptor member functions &lt;code&gt;Format()&lt;/code&gt; and &lt;code&gt;AppendFormat()&lt;/code&gt; has invalid syntax. &lt;/p&gt; &lt;p&gt; See &lt;code class="ApiItem"&gt;TDes16::Format()&lt;/code&gt; and &lt;code class="ApiItem"&gt;TDes16::AppendFormat()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; It is raised by the &lt;code&gt;AppendFormatList()&lt;/code&gt; member function of the 16-bit variant descriptor &lt;code class="ApiItem"&gt;TDes16&lt;/code&gt;, if an invalid variable list is passed to the function when the format is &lt;code&gt;%S&lt;/code&gt; or &lt;code&gt;%s&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when expanding or contracting an &lt;code class="ApiItem"&gt;HBufC16&lt;/code&gt; buffer using the &lt;code&gt;ReAlloc()&lt;/code&gt; or &lt;code&gt;ReAllocL()&lt;/code&gt; descriptor member functions. Specifically, the panic occurs if the new length being specified is too small to contain the data. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Replace()&lt;/code&gt; member function of the 16-bit variant descriptor &lt;code class="ApiItem"&gt;TDes16&lt;/code&gt; when the length of the source descriptor is negative or exceeds the maximum length of the target descriptor. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when 16-bit variant descriptors are constructed with negative length values. It may also be raised if the &lt;code&gt;Set()&lt;/code&gt;, &lt;code&gt;Repeat()&lt;/code&gt; and the &lt;code&gt;Find()&lt;/code&gt; member functions are passed negative length values. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when 16-bit variant descriptors are constructed with negative maximum length values. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Ptr()&lt;/code&gt; member function of an 8 bit variant descriptor if the descriptor is invalid. Check for ways in which the descriptor may have become corrupted, including an unsafe use of cast. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a length value passed to an 8 bit variant descriptor member function is invalid. It may be raised by some descriptor constructors and, specifically, by the &lt;code&gt;Replace()&lt;/code&gt; and &lt;code&gt;Set()&lt;/code&gt; descriptor member functions. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when the index value passed to the 8 bit variant descriptor &lt;code&gt;Operator[]&lt;/code&gt; is out of bounds. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>22</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when the position value passed to an 8 bit variant descriptor member function is out of bounds. It may be raised by the &lt;code&gt;Left()&lt;/code&gt;, &lt;code&gt;Right()&lt;/code&gt;, &lt;code&gt;Mid() &lt;/code&gt;, &lt;code&gt;Insert()&lt;/code&gt;, &lt;code&gt;Delete()&lt;/code&gt; and &lt;code&gt;Replace() &lt;/code&gt; descriptor member functions. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>23</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when any operation that moves or copies data to an 8 bit variant descriptor, causes the length of that descriptor to exceed its maximum length. &lt;/p&gt; &lt;p&gt; It may be caused by any of the copying, appending or formatting member functions and, specifically, by the &lt;code&gt;Insert()&lt;/code&gt;, &lt;code&gt;Replace()&lt;/code&gt;, &lt;code&gt;Fill()&lt;/code&gt;, &lt;code&gt;Fillz()&lt;/code&gt; and &lt;code&gt;ZeroTerminate()&lt;/code&gt; descriptor member functions. It can also be caused by the &lt;code&gt;SetLength()&lt;/code&gt; function. See &lt;code class="ApiItem"&gt;TDes8&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>24</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when the format string passed to the 8 bit variant descriptor member functions &lt;code&gt;Format()&lt;/code&gt; and &lt;code&gt;AppendFormat()&lt;/code&gt; has invalid syntax. &lt;/p&gt; &lt;p&gt; See &lt;code class="ApiItem"&gt;TDes8::Format()&lt;/code&gt; and &lt;code class="ApiItem"&gt;TDes8::AppendFormat()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>25</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; This panic is raised by the &lt;code&gt;AppendFormatList()&lt;/code&gt; member function of the 8-bit variant descriptor &lt;code class="ApiItem"&gt;TDes8&lt;/code&gt;, if an invalid variable list is passed to the function when the format is &lt;code&gt;%S&lt;/code&gt; or &lt;code&gt;%s&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>26</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when expanding or contracting an &lt;code class="ApiItem"&gt;HBufC8&lt;/code&gt; buffer using the &lt;code&gt;ReAlloc()&lt;/code&gt; or &lt;code&gt;ReAllocL()&lt;/code&gt; descriptor member functions. Specifically, the panic occurs if the new length being specified is too small to contain the data. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>28</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Replace()&lt;/code&gt; member function of the 8-bit variant descriptor &lt;code class="ApiItem"&gt;TDes8&lt;/code&gt;, when the length of the source descriptor is negative or exceeds the maximum length of the target descriptor. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>29</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when 8-bit variant descriptors are constructed with negative length values. It may also be raised if the &lt;code&gt;Set()&lt;/code&gt;, &lt;code&gt;Repeat()&lt;/code&gt; and the &lt;code&gt;Find()&lt;/code&gt; member functions are passed negative length values. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>30</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when 8-bit variant descriptors are constructed with negative maximum length values. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>32</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; It is raised by the &lt;code&gt;Pos()&lt;/code&gt; member function of a &lt;code&gt;TRawEvent&lt;/code&gt;. The function returns the mouse/pen position encapsulated by the &lt;code&gt;TRawEvent&lt;/code&gt;. The panic is raised when the event is not a mouse/pen type event. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>33</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; It is raised by the &lt;code&gt;ScanCode()&lt;/code&gt; member function of a &lt;code&gt;TRawEvent&lt;/code&gt;. The function returns the scan code associated with a key down or key up event encapsulated by the &lt;code&gt;TRawEvent&lt;/code&gt;. The panic is raised when the event is not a key down or key up event. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>34</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; It is raised by the &lt;code&gt;Modifiers()&lt;/code&gt; member function of a &lt;code&gt;TRawEvent&lt;/code&gt;. The function returns the modifers associated with a modifiers update event encapsulated by the &lt;code&gt;TRawEvent&lt;/code&gt;. The panic is raised when the event is not a modifier update event. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>35</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the default &lt;code&gt;At()&lt;/code&gt; virtual member function of &lt;code class="ApiItem"&gt;TKey&lt;/code&gt;. The function is intended to be overridden by a derived class. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>36</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the default &lt;code&gt;Swap()&lt;/code&gt; virtual member function of &lt;code class="ApiItem"&gt;TSwap&lt;/code&gt;. The function is intended to be overridden by a derived class. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>37</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;operator[]&lt;/code&gt; of a &lt;code class="ApiItem"&gt;TUidType&lt;/code&gt; when the index value passed to the operator is either negative or is greater than or equal to the constant &lt;code&gt;KMaxCheckedUid&lt;/code&gt; defined in &lt;code class="filename"&gt;e32const.h&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>38</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Set(TDesC8&amp;amp;)&lt;/code&gt; member function of &lt;code&gt;TCheckedUid&lt;/code&gt; when the length of the descriptor passed to the function is not equal to the size of a &lt;code&gt;TCheckedUid&lt;/code&gt; object. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>41</panic_id>
+      <panic_description>&lt;p&gt; This panic is caused by the &lt;code class="ApiItem"&gt;UserHeap::ChunkHeap()&lt;/code&gt; static function when the value defining the minimum length of the heap is greater than the value defining the maximum length to which the heap can grow. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>42</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by a number of &lt;code class="ApiItem"&gt;RHeap&lt;/code&gt; member functions, &lt;code&gt;AllocLen()&lt;/code&gt;, &lt;code&gt;Free()&lt;/code&gt;, &lt;code&gt;FreeZ()&lt;/code&gt;, &lt;code&gt;ReAlloc()&lt;/code&gt;, &lt;code&gt;ReAllocL()&lt;/code&gt;, &lt;code&gt;Adjust()&lt;/code&gt; and &lt;code&gt;AdjustL()&lt;/code&gt; when a pointer passed to these functions does not point to a valid cell. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>43</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Adjust()&lt;/code&gt; and &lt;code&gt;AdjustL()&lt;/code&gt; member functions of an &lt;code class="ApiItem"&gt;RHeap&lt;/code&gt;. It is caused when a heap cell is being shrunk and the amount by which the cell is being shrunk is less than the current length of the cell. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>44</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Free()&lt;/code&gt; and &lt;code&gt;FreeZ()&lt;/code&gt; member functions of an &lt;code class="ApiItem"&gt;RHeap&lt;/code&gt;. It is caused when the cell being freed overlaps the next cell on the free list (i.e. the first cell on the free list with an address higher than the one being freed). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>45</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Free()&lt;/code&gt; and &lt;code&gt;FreeZ()&lt;/code&gt; member functions of an &lt;code class="ApiItem"&gt;RHeap&lt;/code&gt;. It is caused when the cell being freed overlaps the previous cell on the free list (i.e. the last cell on the free list with an address lower than the one being freed). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>46</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;ReAlloc()&lt;/code&gt; and &lt;code&gt;ReAllocL()&lt;/code&gt; member functions of an &lt;code class="ApiItem"&gt;RHeap&lt;/code&gt;. It is caused when the cell being reallocated overlaps the next cell on the free list (i.e. the first cell on the free list with an address higher than the one being reallocated). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>47</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Alloc()&lt;/code&gt;, &lt;code&gt;AllocL()&lt;/code&gt; or &lt;code&gt;AllocLC()&lt;/code&gt; member functions of &lt;code class="ApiItem"&gt;RHeap&lt;/code&gt;. It is caused by trying to allocate a cell from a heap, specifying an unsigned size value which is greater than or equal to the value of &lt;code&gt;KMaxTInt/2&lt;/code&gt;. The constant &lt;code&gt;KMaxTInt&lt;/code&gt; is defined in &lt;code class="filename"&gt;e32std.h&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; This panic may also be raised by the heap walker when it finds a bad allocated heap cell size. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>48</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the heap walker when it finds a bad allocated heap cell address. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>49</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the heap walker when it finds a bad free heap cell address. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>51</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; It is raised by the &lt;code&gt;__DbgMarkEnd()&lt;/code&gt; member function of &lt;code class="ApiItem"&gt;RHeap&lt;/code&gt; in debug builds when there has been no corresponding call to the &lt;code&gt;__DbgMarkStart()&lt;/code&gt; member function; it is also caused when there are more calls to &lt;code&gt;__DbgMarkEnd()&lt;/code&gt; than to &lt;code&gt;__DbgMarkStart()&lt;/code&gt;. These functions are part of the debug assistance provided by the &lt;code class="ApiItem"&gt;RHeap&lt;/code&gt; class. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>52</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Adjust()&lt;/code&gt; and &lt;code&gt;AdjustL()&lt;/code&gt; member functions of an &lt;code class="ApiItem"&gt;RHeap&lt;/code&gt;. It is caused when the offset from the start of the cell being stretched or shrunk is a negative value. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>54</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;ReAlloc()&lt;/code&gt; and &lt;code&gt;ReAllocL()&lt;/code&gt; member functions of an &lt;code class="ApiItem"&gt;RHeap&lt;/code&gt;. It is caused when the new size for the cell being reallocated is a negative value. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>55</panic_id>
+      <panic_description>&lt;p&gt; This panic is caused by the &lt;code class="ApiItem"&gt;UserHeap&lt;/code&gt;&lt;code&gt;::ChunkHeap()&lt;/code&gt; static function when the value defining the minimum length of the heap is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>56</panic_id>
+      <panic_description>&lt;p&gt; This panic is caused by the &lt;code class="ApiItem"&gt;UserHeap&lt;/code&gt;&lt;code&gt;::ChunkHeap()&lt;/code&gt; static function when the value defining the maximum length to which the heap can grow, is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>57</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when closing a shared heap using the &lt;code&gt;Close()&lt;/code&gt; member function of &lt;code class="ApiItem"&gt;RHeap&lt;/code&gt; and the access count is zero or negative. A zero or negative access count suggests that an attempt is being made to close the heap too many times. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>58</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when opening a heap for shared access using the &lt;code&gt;Open()&lt;/code&gt; member function of &lt;code class="ApiItem"&gt;RHeap&lt;/code&gt; and the heap type is not &lt;code&gt;EChunkNormal&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>59</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;UnGet()&lt;/code&gt; member function of the 8-bit variant lexical analyzer, &lt;code class="ApiItem"&gt;TLex8&lt;/code&gt;, if the character position is already at the start of the string. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>60</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Inc()&lt;/code&gt; member function of the 8-bit variant lexical analyzer, &lt;code class="ApiItem"&gt;TLex8&lt;/code&gt;, if the resulting character position lies before the start of the string or after the end of the string. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>61</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;SkipAndMark()&lt;/code&gt; member function of the 8-bit variant lexical analyzer, &lt;code class="ApiItem"&gt;TLex8&lt;/code&gt;, if the resulting character position lies before the start of the string or after the end of the string. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>63</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;ValidateMark()&lt;/code&gt; member function of the 8-bit variant lexical analyzer, &lt;code class="ApiItem"&gt;TLex8&lt;/code&gt;, if the position of the extraction mark lies before the start of the string or after the end of the string. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>64</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;UnGet()&lt;/code&gt; member function of the 16-bit variant lexical analyzer, &lt;code class="ApiItem"&gt;TLex16&lt;/code&gt;, if the character position is already at the start of the string. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>65</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Inc()&lt;/code&gt; member function of the 16-bit variant lexical analyzer, &lt;code class="ApiItem"&gt;TLex16&lt;/code&gt;, if the resulting character position lies before the start of the string or after the end of the string. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>66</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;SkipAndMark()&lt;/code&gt; member function of the 16-bit variant lexical analyzer, &lt;code class="ApiItem"&gt;TLex16&lt;/code&gt;, if the resulting character position lies before the start of the string or after the end of the string. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>68</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;ValidateMark()&lt;/code&gt; member function of the 16-bit variant lexical analyzer, &lt;code class="ApiItem"&gt;TLex16&lt;/code&gt;, if the position of the extraction mark lies before the start of the string or after the end of the string. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>69</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code class="ApiItem"&gt;TDateSuffix&lt;/code&gt; constructor or its &lt;code&gt;Set()&lt;/code&gt; member function when the suffix index specified is negative or is greater than or equal to the value &lt;code&gt;KMaxSuffixes&lt;/code&gt; defined in &lt;code class="filename"&gt;e32std.h&lt;/code&gt;. The index is used to access a locale dependent table of suffix characters which can be appended to the dates of the month (e.g. the characters &amp;quot;st&amp;quot; for 1st, &amp;quot;nd&amp;quot; for 2nd, &amp;quot;st&amp;quot; for 31st). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>70</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;Introduced in 6.0:&lt;/em&gt; This panic is raised when attempting to complete a client/server request and the &lt;code&gt;RMessagePtr&lt;/code&gt; is null. &lt;/p&gt; &lt;p&gt; &lt;em&gt;Withdrawn in 6.0:&lt;/em&gt; This panic is raised by the &lt;code&gt;SetRetry()&lt;/code&gt; member function of &lt;code class="ApiItem"&gt;RSessionBase&lt;/code&gt;, the client interface for communication with a server, when the specified delay time between resending a message to the server is either negative or a value greater than KMaxTint (defined in e32std.h). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>71</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;Withdrawn in 6.0:&lt;/em&gt; This panic is raised by the &lt;code&gt;SetRetry()&lt;/code&gt; member function of &lt;code class="ApiItem"&gt;RSessionBase&lt;/code&gt;, the client interface for communication with a server, when the specified number of attempts to resend a message to the server is either negative or a value greater than &lt;code&gt;KMaxTint&lt;/code&gt; (defined in &lt;code class="filename"&gt;e32std.h&lt;/code&gt;). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>72</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;Withdrawn in 6.0:&lt;/em&gt; This panic is raised by the &lt;code&gt;SetRetry()&lt;/code&gt; member function of &lt;code class="ApiItem"&gt;RSessionBase&lt;/code&gt;, the client interface for communication with a server, when the specified operation code identifying the required service is either negative or a value greater than &lt;code&gt;KMaxTint&lt;/code&gt; (defined in &lt;code class="filename"&gt;e32std.h&lt;/code&gt;). &lt;/p&gt; &lt;p&gt; &lt;em&gt;Introduced in 6.0:&lt;/em&gt; This panic is raised by the &lt;code&gt;Send()&lt;/code&gt; and &lt;code&gt;SendReceive()&lt;/code&gt; member functions of &lt;code class="ApiItem"&gt;RSessionBase&lt;/code&gt;, the client interface for communication with a server, when the specified operation code identifying the required service is either negative or a value greater than &lt;code&gt;KMaxTint&lt;/code&gt; (defined in &lt;code class="filename"&gt;e32std.h&lt;/code&gt;). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>73</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Receive()&lt;/code&gt; member function of &lt;code&gt;RServer&lt;/code&gt;, the handle to the server, when the attempt to receive a message for the server, synchronously, fails. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>75</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the constructor of a singly linked list header, a &lt;code class="ApiItem"&gt;TSglQue&lt;/code&gt; or by the &lt;code&gt;SetOffset()&lt;/code&gt; member function when the specified offset is not 4 byte aligned, i.e. when it is not divisible by 4. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>76</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when attempting to remove an object from a singly linked list, using the &lt;code&gt;Remove()&lt;/code&gt; member function of &lt;code class="ApiItem"&gt;TSglQue&lt;/code&gt;, when that object is not in the list. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>78</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the constructor of a doubly linked list header, a &lt;code class="ApiItem"&gt;TDblQue&lt;/code&gt; or by the &lt;code&gt;SetOffset()&lt;/code&gt; member function, when the specified offset is not 4 byte aligned, i.e. when it is not divisible by 4. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>79</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; It is raised by a call to either the &lt;code&gt;First()&lt;/code&gt; and &lt;code&gt;Last()&lt;/code&gt; member functions of a doubly linked list, a &lt;code class="ApiItem"&gt;TDblQue&lt;/code&gt;, which return pointers to the first and last element in the list respectively; the panic occurs when the list is empty. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>80</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; It is raised by the post increment operator, &lt;code&gt;operator++&lt;/code&gt;, the post decrement operator, &lt;code&gt;operator&amp;mdash; &lt;/code&gt; and the return current element operator, &lt;code&gt;operator T*&lt;/code&gt;, of the doubly linked list iterator, a &lt;code class="ApiItem"&gt;TDblQueIter&lt;/code&gt;; the panic occurs when the element returned by these operators is not in the list. Typically, this is caused by the removal of the element from the list prior to calling these operators. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>81</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the get rectangle operator, &lt;code&gt;operator[]&lt;/code&gt;, of a clipping region, derived from the abstract base class &lt;code class="ApiItem"&gt;TRegion&lt;/code&gt;. The panic occurs when the index, which refers to the specific rectangle within the region, is greater than or equal to the number of rectangles contained within the region (as returned by the &lt;code&gt;Count()&lt;/code&gt; member function). &lt;/p&gt; &lt;p&gt; The index must be strictly less than the number of contained rectangles. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>82</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; It is raised when sorting the rectangles within a clipping region, derived from the abstract base class &lt;code class="ApiItem"&gt;TRegion&lt;/code&gt;, using the &lt;code&gt;Sort()&lt;/code&gt; member function of &lt;code class="ApiItem"&gt;TRegion&lt;/code&gt;. The panic occurs when the region is invalid. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>83</panic_id>
+      <panic_description>&lt;p&gt; This panic occurs when the Kernel sends a message to the Kernel server and this completes with an error, i.e. an error code which is not &lt;code&gt;KErrNone&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>84</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Panic()&lt;/code&gt; member function of &lt;code&gt;RTest&lt;/code&gt;, the test class. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>85</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;CheckConsoleCreated()&lt;/code&gt; member functions of &lt;code&gt;RTest&lt;/code&gt; and &lt;code&gt;RTestJ&lt;/code&gt;, the test classes, when the creation of a console, as derived from a &lt;code&gt;CConsoleBase&lt;/code&gt;, fails. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>86</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the static function &lt;code class="ApiItem"&gt;User::After()&lt;/code&gt; which is used to suspend the current thread until the specified time interval, in microseconds, has expired. The panic occurs when the specified time interval is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>87</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a relative timer event is requested from an asynchronous timer service, an &lt;code class="ApiItem"&gt;RTimer&lt;/code&gt;, using the &lt;code&gt;After()&lt;/code&gt; member function. The panic occurs when the requested time interval is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>88</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;Mem::Compare()&lt;/code&gt;, &lt;code class="ApiItem"&gt;Mem::CompareC()&lt;/code&gt; and &lt;code class="ApiItem"&gt;Mem::CompareF()&lt;/code&gt;, which compare two areas of memory. The panic occurs when the length of the area of memory designated as the left hand area, is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>89</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;Mem::Compare()&lt;/code&gt;, &lt;code class="ApiItem"&gt;Mem::CompareC()&lt;/code&gt; and &lt;code class="ApiItem"&gt;Mem::CompareF()&lt;/code&gt;, which compare two areas of memory. The panic occurs when the length of the area of memory designated as the right hand area, is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>90</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;Mem::Copy()&lt;/code&gt;, which copies the content of one area of memory to another. The panic occurs when the length of the area of memory to be copied, is negative &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>91</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;Mem::Move()&lt;/code&gt;, which moves the content of one area of memory to another. The panic occurs when the length of the area of memory to be moved, is not a multiple of 4. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>92</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;Mem::Move()&lt;/code&gt;, which moves the content of one area of memory to another. The panic occurs when the address of the source for the move operation, is not aligned on a 4 byte boundary. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>93</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;Mem::Move()&lt;/code&gt;, which moves the content of one area of memory to another. The panic occurs when the address of the target for the move operation, is not aligned on a 4 byte boundary. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>94</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;Mem::Swap()&lt;/code&gt;, which swaps the content of one area of memory with another. The panic occurs when the length of the area of memory to be swapped, is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>95</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;Mem::Fill()&lt;/code&gt; and &lt;code class="ApiItem"&gt;Mem::FillZ()&lt;/code&gt;, both of which fill an area of memory. The panic occurs when the length of the area of memory to be filled, is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>96</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;User::QuickSort()&lt;/code&gt;, when the value for the number of records to be sorted, is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>97</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;User::BinarySearch()&lt;/code&gt;, when the value for the number of records taking part in the search, is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>98</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the constructor of the base key class, &lt;code class="ApiItem"&gt;TKey&lt;/code&gt;. It occurs when the offset value passed to the constructor is negative.As &lt;code&gt;TKey&lt;/code&gt; is an abstract class, i.e. objects of type &lt;code&gt;TKey&lt;/code&gt; are not intended to be explicitly constructed, look at the offset value passed to the constructors of derived classes such as &lt;code class="ApiItem"&gt;TKeyArrayFix&lt;/code&gt;, &lt;code class="ApiItem"&gt;TKeyArrayVar&lt;/code&gt; and &lt;code class="ApiItem"&gt;TKeyArrayPak&lt;/code&gt; for the cause of the panic. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>99</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a local or global chunk is created using the &lt;code class="ApiItem"&gt;RChunk&lt;/code&gt; member functions: &lt;code&gt;CreateLocal()&lt;/code&gt;, &lt;code&gt;CreateGlobal()&lt;/code&gt;, &lt;code&gt;CreateDoubleEndedLocal()&lt;/code&gt; and &lt;code&gt;CreateDoubleEndedGlobal()&lt;/code&gt;. It occurs when the value for the maximum size to which this chunk can be adjusted, is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>100</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a local or global chunk is created using the &lt;code class="ApiItem"&gt;RChunk&lt;/code&gt; member functions: &lt;code&gt;CreateLocal()&lt;/code&gt; and &lt;code&gt;CreateGlobal()&lt;/code&gt;. It occurs when the value for the number of bytes to be committed to this chunk on creation, is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>101</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a local or global chunk is created using the &lt;code class="ApiItem"&gt;RChunk&lt;/code&gt; member functions: &lt;code&gt;CreateLocal()&lt;/code&gt; and &lt;code&gt;CreateGlobal()&lt;/code&gt;. It occurs when the value for the number of bytes to be committed to this chunk on creation is greater than the value for the maximum size to which this chunk can be adjusted. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>102</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when changing the number of bytes committed to a chunk by calling the &lt;code&gt;Adjust()&lt;/code&gt; member function of &lt;code class="ApiItem"&gt;RChunk&lt;/code&gt;. The panic occurs when the value passed to the function is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>103</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;Withdrawn in 6.0:&lt;/em&gt; The panic is raised by the &lt;code&gt;CreateSession()&lt;/code&gt; member function of the abstract session base class &lt;code&gt;RSessionBase&lt;/code&gt;. &lt;code&gt;CreateSession()&lt;/code&gt; is a protected function and can only be called by member functions of derived classes. The panic occurs when the delay time interval passed to this function is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>104</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;Withdrawn in 6.0:&lt;/em&gt; The panic is raised by the &lt;code&gt;CreateSession()&lt;/code&gt; member function of the abstract session base class &lt;code&gt;RSessionBase&lt;/code&gt;. &lt;code&gt;CreateSession()&lt;/code&gt; is a protected function and can only be called by member functions of derived classes. The panic occurs when the retry count passed to this function is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>105</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a local or global semaphore is created using the &lt;code class="ApiItem"&gt;RSemaphore&lt;/code&gt; member functions: &lt;code&gt;CreateLocal()&lt;/code&gt; and &lt;code&gt;CreateGlobal()&lt;/code&gt;. It occurs when the value for the initial semaphore count is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>106</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a semaphore, an &lt;code class="ApiItem"&gt;RSemaphore&lt;/code&gt;, is signaled using the &lt;code&gt;Signal(TInt aCount)&lt;/code&gt; member function and the count value is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>107</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a critical section, an &lt;code class="ApiItem"&gt;RCriticalSection&lt;/code&gt;, is signalled using the &lt;code&gt;Signal()&lt;/code&gt; member function. The panic occurs when the &lt;code&gt;Signal()&lt;/code&gt; is not matched by an earlier call to &lt;code&gt;Wait() &lt;/code&gt; and suggests that this is a stray signal. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>108</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when creating a thread using the &lt;code&gt;Create()&lt;/code&gt; member functions of &lt;code class="ApiItem"&gt;RThread&lt;/code&gt;. The panic only occurs for those variants of &lt;code&gt;Create()&lt;/code&gt; which take a pointer to an &lt;code class="ApiItem"&gt;RHeap&lt;/code&gt; as one of the arguments and is caused if the heap referred to here is neither of type &lt;code class="ApiItem"&gt;RHeapBase::EChunkNormal&lt;/code&gt; nor of type &lt;code class="ApiItem"&gt;RHeapBase::EChunkStack&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>109</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when creating a thread using the &lt;code&gt;Create()&lt;/code&gt; member functions of &lt;code class="ApiItem"&gt;RThread&lt;/code&gt;. The panic occurs when the value of the stack size passed to these functions is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>110</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when creating a thread using the &lt;code&gt;Create()&lt;/code&gt; member functions of &lt;code class="ApiItem"&gt;RThread&lt;/code&gt;. The panic is only raised by those variants of &lt;code&gt;Create()&lt;/code&gt; which create a new heap for the new thread. The panic occurs if the minimum heap size specified is less than &lt;code&gt;KMinHeapSize&lt;/code&gt; , defined in &lt;code class="filename"&gt;e32std.h&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>111</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when creating a thread using the &lt;code&gt;Create()&lt;/code&gt; member functions of &lt;code class="ApiItem"&gt;RThread&lt;/code&gt;. The panic is only raised by those variants of &lt;code&gt;Create()&lt;/code&gt; which create a new heap for the new thread. The panic occurs if the minimum heap size specified is greater than the maximum size to which the heap can grow &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>112</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Alloc()&lt;/code&gt; and &lt;code&gt;AllocL()&lt;/code&gt; member functions of class &lt;code&gt;RRef&lt;/code&gt; when the size value passed is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>113</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by: &lt;/p&gt; &lt;p&gt; the constructor of a time representation object, a &lt;code class="ApiItem"&gt;TTime&lt;/code&gt;, which takes a text string, when the format of that text string is incorrect or represents an invalid date/time. &lt;/p&gt; &lt;p&gt; the &lt;code&gt;Parse()&lt;/code&gt; member function of a time representation object, a &lt;code class="ApiItem"&gt;TTime&lt;/code&gt;, if the century offset value is either negative or is greater than or equal to 100. &lt;/p&gt; &lt;p&gt; the &lt;code class="ApiItem"&gt;Time::DaysInMonth()&lt;/code&gt; function, if an invalid month value is passed. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>114</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This panic is raised by member functions of a &lt;code&gt;TBusLocalDrive&lt;/code&gt; when no connection has been made to a local drive. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>115</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when attempting to connect to a local drive using the &lt;code&gt;Connect()&lt;/code&gt; member function of &lt;code&gt;TBusLocalDrive&lt;/code&gt; and the specified drive number is out of range, i.e. the drive number is negative or is greater than or equal to &lt;code&gt;KMaxLocalDrives&lt;/code&gt;, defined in &lt;code class="filename"&gt;e32std.h&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>116</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Lookup()&lt;/code&gt; member function of an &lt;code class="ApiItem"&gt;RLibrary&lt;/code&gt;, a handle to a dynamically loaded DLL, when the ordinal number of the required DLL function, is zero or negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>119</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when setting a new currency symbol using the &lt;code class="ApiItem"&gt;User::SetCurrencySymbol()&lt;/code&gt; function. The panic occurs when the length of the descriptor containing the new symbol is greater than &lt;code&gt;KMaxCurrencySymbol&lt;/code&gt;, defined in &lt;code class="filename"&gt;e32std.h&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>120</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;CreateDoubleEndedLocal()&lt;/code&gt; and &lt;code&gt;CreateDoubleEndedGlobal()&lt;/code&gt; member functions of an &lt;code class="ApiItem"&gt;RChunk&lt;/code&gt; when the lower address of the committed region is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>121</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;CreateDoubleEndedLocal()&lt;/code&gt; and &lt;code&gt;CreateDoubleEndedGlobal()&lt;/code&gt; member functions of an &lt;code class="ApiItem"&gt;RChunk&lt;/code&gt; when the upper address of the committed region is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>122</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;CreateDoubleEndedLocal()&lt;/code&gt; and &lt;code&gt;CreateDoubleEndedGlobal()&lt;/code&gt; member functions of an &lt;code class="ApiItem"&gt;RChunk&lt;/code&gt; when the upper address of the committed region is lower than the lower address of the committed region. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>123</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;CreateDoubleEndedLocal()&lt;/code&gt; and &lt;code&gt;CreateDoubleEndedGlobal()&lt;/code&gt; member functions of an &lt;code class="ApiItem"&gt;RChunk&lt;/code&gt; when the upper address of the committed region is lower than the maximum size to which this chunk can be adjusted. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>124</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;AdjustDoubleEnded()&lt;/code&gt; member function of an &lt;code class="ApiItem"&gt;RChunk&lt;/code&gt; when the lower address of the committed region is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>125</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;AdjustDoubleEnded()&lt;/code&gt; member function of an &lt;code class="ApiItem"&gt;RChunk&lt;/code&gt; when the upper address of the committed region is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>126</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;AdjustDoubleEnded()&lt;/code&gt; member function of an &lt;code class="ApiItem"&gt;RChunk&lt;/code&gt; when the upper address of the committed region is lower than the lower address of the committed region. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>127</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when constructing an array of pointers, an &lt;code class="ApiItem"&gt;RPointerArray&lt;/code&gt;, and specifying a granularity value which is one of the following: &lt;/p&gt; &lt;p&gt; zero &lt;/p&gt; &lt;p&gt; negative &lt;/p&gt; &lt;p&gt; greater than &lt;code&gt;0x10000000&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>128</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when constructing an array of fixed length objects, an &lt;code class="ApiItem"&gt;RArray&lt;/code&gt;, and specifying a key offset value which is one of the following: &lt;/p&gt; &lt;p&gt; negative &lt;/p&gt; &lt;p&gt; not a multiple of 4 &lt;/p&gt; &lt;p&gt; greater than or equal to the size of the array elements. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>129</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when constructing an array of fixed length objects, an &lt;code class="ApiItem"&gt;RArray&lt;/code&gt;, and the length of the array elements is one of the following: &lt;/p&gt; &lt;p&gt; zero &lt;/p&gt; &lt;p&gt; negative &lt;/p&gt; &lt;p&gt; greater than 640. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>130</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when an index value passed to a member function of a &lt;code class="ApiItem"&gt;RArray&lt;/code&gt; or a &lt;code class="ApiItem"&gt;RPointerArray&lt;/code&gt; identifying an array element, is out of bounds. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>131</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when the value identifying the insertion position in a call to &lt;code class="ApiItem"&gt;RArray::Insert()&lt;/code&gt; or &lt;code class="ApiItem"&gt;RPointerArray::Insert()&lt;/code&gt; is either negative or greater than the number of elements in the array. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>132</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when an index value passed to &lt;code class="ApiItem"&gt;Mem::CollationMethodByIndex()&lt;/code&gt; or &lt;code class="ApiItem"&gt;Mem::CollationMethodId()&lt;/code&gt; is out of bounds. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>133</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when an index value passed to &lt;code class="ApiItem"&gt;TFixedArray::At()&lt;/code&gt; or &lt;code class="ApiItem"&gt;TFixedArray::operator[]&lt;/code&gt; is out of bounds. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>134</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>135</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>136</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>137</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. The panic is caused when a parameter is too big. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>138</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists when an index value for the parameters is outside its permitted range. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>139</panic_id>
+      <panic_description>&lt;p&gt; &lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists when an index value for the parameters is outside its permitted range. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>140</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>141</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>142</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>143</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>144</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>145</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>146</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>147</panic_id>
+      <panic_description>&lt;/p&gt; &lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>148</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>149</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>150</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>151</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>152</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>153</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>154</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>155</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>156</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the variants of the &lt;code class="ApiItem"&gt;RArray&lt;/code&gt; or &lt;code class="ApiItem"&gt;RPointerArray&lt;/code&gt; constructors that take a value that defines the number of entries for the array. The panic is caused when this number is not positive. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>157</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;RChunk::Commit()&lt;/code&gt; when the value of the offset of the committed region is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>158</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;RChunk::Commit()&lt;/code&gt; when the size of the committed region is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>159</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;RChunk::Allocate()&lt;/code&gt; when the size of the committed region is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>160</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;RChunk::Decommit()&lt;/code&gt; when the value of the offset of the committed region is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>161</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;RChunk::Decommit()&lt;/code&gt; when the size of the committed region is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>162</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when an invalid chunk type is passed to the internal member function &lt;code&gt;RChunk::Create()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; See &lt;code class="ApiItem"&gt;RChunk&lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>163</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a global chunk is being created and no name has been specified. &lt;/p&gt; &lt;p&gt; See &lt;code class="ApiItem"&gt;RChunk&lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>164</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when creating a 'normal' chunk, and the offset of the bottom of the new committed region from the base of the chunk's reserved region is not zero. &lt;/p&gt; &lt;p&gt; See &lt;code class="ApiItem"&gt;RChunk&lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>165</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the internal function &lt;code&gt;RLibrary::Init()&lt;/code&gt; when the function that constructs static data following a DLL load, leaves. &lt;/p&gt; &lt;p&gt; See &lt;code class="ApiItem"&gt;RLibrary&lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>166</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally, if a call to the static data destructors, following closure of a library handle, leaves. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>167</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised in a call to &lt;code class="ApiItem"&gt;RAllocator::Close()&lt;/code&gt; when the number of handles is found to be greater than the maximum allowed, i.e. &lt;code class="ApiItem"&gt;RAllocator::EMaxHandles&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>168</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the internal &lt;code class="ApiItem"&gt;RHeap&lt;/code&gt; constructor when the offset value is invalid, i.e. is negative or not appropriate for the pagesize. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>169</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the Symbian internal function &lt;code&gt;RHeap::Reduce()&lt;/code&gt; on failure. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>170</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the Symbian internal function &lt;code&gt;RHeap::Reset()&lt;/code&gt; on failure. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>171</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the Symbian internal function &lt;code&gt;RHeap::WalkCheckCell()&lt;/code&gt; if it detects a free cell with an invalid size. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>172</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the Symbian internal function &lt;code&gt;RHeap::Initialise()&lt;/code&gt; when an alignment value is invalid, i.e is either less than the size of a &lt;code&gt;TAny*&lt;/code&gt; type, or is not a power of 2 (i.e. 2, 4, 8, 16 etc). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>173</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>174</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised if any unimplemented pure virtual function is called. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>175</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a &lt;code class="ApiItem"&gt;User::Leave()&lt;/code&gt; is called and there is no &lt;code class="ApiItem"&gt;TRAP&lt;/code&gt; frame. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>176</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when a mathematical function fails with an unrecognized exception, i.e. one that is none of: &lt;code class="ApiItem"&gt;KErrArgument&lt;/code&gt;, &lt;code class="ApiItem"&gt;KErrDivideByZero&lt;/code&gt;, &lt;code class="ApiItem"&gt;KErrOverflow&lt;/code&gt; or &lt;code class="ApiItem"&gt;KErrUnderflow&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>177</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the Symbian internal function &lt;code&gt;RHeap::WalkCheckCell()&lt;/code&gt; on a bad cell type. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>178</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when descriptors convert integers into text, and an invalid radix is passed, i.e. a value that is not one of the &lt;code class="ApiItem"&gt;TRadix&lt;/code&gt; enum values. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>179</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This panic is raised when converting and appending numbers in descriptors, and buffers are not aligned on even addresses. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>180</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>181</panic_id>
+      <panic_description>&lt;p&gt; This is raised by a Symbian internal component related to Huffman encoding/decoding. Refer to Symbian &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>182</panic_id>
+      <panic_description>&lt;p&gt; This is raised by a Symbian internal component related to Huffman encoding/decoding. Refer to Symbian &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>183</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by member functions of the internal classes &lt;code&gt;RArrayBase&lt;/code&gt; and &lt;code&gt;RPointerArrayBase&lt;/code&gt;; specifically: &lt;/p&gt; &lt;p&gt; &lt;code&gt; RArrayBase::BinarySearch() &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;RArrayBase::BinarySearchUnsigned() &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;RArrayBase::BinarySearchSigned() &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;RPointerArrayBase::BinarySearch() &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;RPointerArrayBase::BinarySearchUnsigned() &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;RPointerArrayBase::BinarySearchSigned() &lt;/code&gt; &lt;/p&gt; &lt;p&gt; when the find mode passed to these functions is not recognised. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>184</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised on a call to &lt;code class="ApiItem"&gt;RNotifier::Notify()&lt;/code&gt; when the length of one or more of the descriptors containing the displayable text is bigger than the maximum value that a &lt;code class="ApiItem"&gt;TUint16&lt;/code&gt; can hold. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>185</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the following functions when the month or day value is outside its permitted range of values: &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TMonthName::Set()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TMonthNameAbb::Set()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TDayName::Set()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt; TDayNameAbb::Set()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; See also: &lt;code class="ApiItem"&gt;TMonthName&lt;/code&gt;, &lt;code class="ApiItem"&gt;TMonthNameAbb&lt;/code&gt;, &lt;code class="ApiItem"&gt;TDayName&lt;/code&gt; and &lt;code class="ApiItem"&gt;TDayNameAbb&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>186</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>187</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised in a call to &lt;code class="ApiItem"&gt;TDes8::Expand()&lt;/code&gt;, if either the length, or the maximum length, or the pointer to the data is not an even number. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>188</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised in a call to &lt;code class="ApiItem"&gt;TDes8::Collapse()&lt;/code&gt;, if either the length, or the maximum length, or the pointer to the data is not an even number. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>189</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised in calls to the &lt;code class="ApiItem"&gt;TSecurityPolicy&lt;/code&gt; constructors, if the specified capability is found to be invalid. &lt;/p&gt; &lt;p&gt; See &lt;code class="ApiItem"&gt;TCapability&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>190</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised in a call to &lt;code class="ApiItem"&gt;TSecurityPolicy::CheckPolicy()&lt;/code&gt;, if the security policy is found to be corrupt. &lt;/p&gt; &lt;p&gt; See &lt;code class="ApiItem"&gt;TSecurityPolicy&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>191</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised in a call to: &lt;/p&gt; &lt;p class="CodeBlock"&gt;&lt;code&gt;TSecurityPolicy::TSecurityPolicy(TSecPolicyType&amp;nbsp;aType)&lt;/code&gt;&lt;/p&gt; &lt;p&gt; if &lt;code&gt;aType&lt;/code&gt; is neither &lt;code&gt;ETypePass&lt;/code&gt; nor &lt;code&gt;ETypeFail&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; See &lt;code class="ApiItem"&gt;TSecurityPolicy&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>192</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when constructing an &lt;code class="ApiItem"&gt;RPointerArray&lt;/code&gt; or an &lt;code class="ApiItem"&gt;RArray&lt;/code&gt; if the specified minimum growth step is less than or equal to zero or is greater than 65535. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>193</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when constructing an &lt;code class="ApiItem"&gt;RPointerArray&lt;/code&gt; or an &lt;code class="ApiItem"&gt;RArray&lt;/code&gt; if the specified exponential growth factor is less than or equal to 1 or is greater than or equal to 128. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>194</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised if code inside an __ASSERT_ALWAYS_NO_LEAVE harness leaves. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>195</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when the attempt to grow a cell on the heap fails. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>196</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when an attempt is made to install a Win32 SE handler that is not on the stack. &lt;/p&gt; &lt;p&gt; See the internal class &lt;code&gt;TWin32SEHTrap&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>197</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised when the caller of an API does not have the right capabilities to call that API. You need to consult the documentation for the specific API for the capabilities needed to call it. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>198</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the constructor of the internal class &lt;code&gt;RHashTableBase&lt;/code&gt; if a NULL function pointer is passed in as the hash function. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>199</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the constructor of the internal class &lt;code&gt;RHashTableBase&lt;/code&gt; if a NULL function pointer is passed in as the identity relation. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>200</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the constructor of the internal class &lt;code&gt;RHashTableBase&lt;/code&gt; if a negative element size is specified. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>201</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the constructor of the internal class &lt;code&gt;RHashTableBase&lt;/code&gt; if the specified key offset is inconsistent with the specified element size. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>202</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the member function &lt;code&gt;VerifyReform()&lt;/code&gt; of the internal class &lt;code&gt;RHashTableBase &lt;/code&gt; if a deleted entry still remains after a hash table reform. This panic should never occur as it indicates an error in the hash table implementation. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>203</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the member function &lt;code&gt;ConsistencyCheck()&lt;/code&gt; of the internal class &lt;code&gt;RHashTableBase&lt;/code&gt;. It indicates an error in the hash table implementation. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>204</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the member function &lt;code&gt;ConsistencyCheck()&lt;/code&gt; of the internal class &lt;code&gt;RHashTableBase&lt;/code&gt;. It indicates an error in the hash table implementation. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>205</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the member function &lt;code&gt;ConsistencyCheck()&lt;/code&gt; of the internal class &lt;code&gt;RHashTableBase&lt;/code&gt;. It indicates an error in the hash table implementation. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>206</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the member function &lt;code&gt;ConsistencyCheck()&lt;/code&gt; of the internal class &lt;code&gt;RHashTableBase&lt;/code&gt;. It indicates an error in the hash table implementation. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>207</panic_id>
+      <panic_description>&lt;/p&gt; &lt;p&gt; This panic is raised by the member function &lt;code&gt;ConsistencyCheck()&lt;/code&gt; of the internal class &lt;code&gt;RHashTableBase&lt;/code&gt;. It indicates an error in the hash table implementation. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>208</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the member function &lt;code&gt;Next()&lt;/code&gt; of the internal class &lt;code&gt;THashTableIterBase&lt;/code&gt; if, while attempting to step a hash table iterator to the next entry, the iterator is found to point to an invalid table entry. This will typically occur if elements have been removed from the hash table without resetting the iterator. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>209</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised by the member function &lt;code&gt;Current()&lt;/code&gt; of the internal class &lt;code&gt;THashTableIterBase&lt;/code&gt; if, while interrogating the current position of a hash table iterator, the iterator is found to point to an invalid table entry. This will typically occur if elements have been added to or removed from the hash table without resetting the iterator. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>210</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised if an invalid argument is passed to the &lt;code&gt;Reserve()&lt;/code&gt; function on any of the hash table classes derived from the internal class &lt;code&gt;RHashTableBase&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>211</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised if the Win32 SE handler chain has been corrupted. &lt;/p&gt; &lt;p&gt; See the internal class &lt;code&gt;TWin32SEHTrap&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>212</panic_id>
+      <panic_description>&lt;p&gt; This panic is raised if a negative valued argument is passed to the &lt;code&gt;Reserve()&lt;/code&gt; member function of the &lt;code class="ApiItem"&gt;RArray&lt;/code&gt; or &lt;code class="ApiItem"&gt;RPointerArray&lt;/code&gt; classes . &lt;/p&gt; 	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/Versit-Parser.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,31 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>Versit-Parser</category_name>
+  <category_description> &lt;p&gt;Versit panics:&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;The parser has tried to access a token, but no current token exists.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;An object of class &lt;code&gt;CVersitUnicodeUtils&lt;/code&gt; (which converts between narrow and wide descriptors) has not been allocated by the parser.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to construct a &lt;code&gt;CParserProperty&lt;/code&gt; without specifying a property value.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;A week day array, &lt;code&gt;CWeekDayArray&lt;/code&gt;, contains an invalid value, (not between &lt;code&gt;EMonday&lt;/code&gt; and &lt;code&gt;ESunday&lt;/code&gt; inclusive).&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;The number of a week within a month is invalid.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;The repeat type for a recurrence rule property value is not one of the values specified in &lt;code&gt;CVersitRecurrence::TType&lt;/code&gt;.&lt;/p&gt;	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/ViewSrv.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,47 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>ViewSrv</category_name>
+  <category_description> &lt;p&gt; The table below lists the View Server panics.&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt; View Server creation failed. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt; A bad client call was made - i.e. the opcode sent by the client was one not defined in &lt;code&gt;TVwsRequestOpcode&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt; The view that View Server is trying to remove has not been found. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt; An application tried to add a view with an application UID other than its own. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt; The custom message sent along with a view activation request was not copied across to the server properly. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt; An attempt was made to remove the currently active view. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt; A client has requested a view event even though it still has an outstanding request open. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt; The most common panic. A view has taken too long to complete its implementation of &lt;code&gt;ViewActivatedL()&lt;/code&gt; and must, therefore, be panicked to stop it from blocking the entire OS. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt; An attempt was made to activate a view that does not support the current screenmode. &lt;/p&gt;	   </panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt; A view has taken too long to complete its implementation of ViewDeactivated() and must, therefore, be panicked to stop it from blocking the entire OS. &lt;/p&gt;	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/W32.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<panic_category>
+  <category_name>W32</category_name>
+  <category_description>W32 is a synchronous interface onto the window server that user code can include, link to and invoke instead of sending low level client-server requests to the window server. Some errors can be detected before they are sent to the server and are raised as panics from W32. Code in the W32 synchronous interface runs in the client’s thread, so it raises panics in situations it can understand on the current thread via User::Panic(). These panics have a category of W32. &lt;br&gt;&lt;br&gt;To minimise strain on the system, W32 can cache several requests in order in a buffer and send them as a group to the server. This means that a panic might not be caused by a bug in the last client-side code to run, but by an earlier line that does not get its request serviced until later. To debug such a panic it is often useful to turn on auto flushing.&lt;br&gt;&lt;br&gt;Window server synchronous interface (W32) panics are raised by the synchronous interface onto the window server when it realises a client has attempted an action the interface can’t legally pass on to the window server thread. Because the interface is synchronous, the current thread is panicked, and the request is never sent to the window server.&lt;br&gt;&lt;br&gt;These panics are defined in the enumeration TW32Panic in w32cmd.h.&lt;br&gt;&lt;br&gt;Note that some panics are raised in debug builds only.</category_description>
+  <panics>
+	<panic>
+    	<panic_id>0</panic_id>
+    	<panic_description>An attempt was made to reconnect to the window server using RWsSession::Connect(). It is only possible to reconnect if the current session has been closed.</panic_description>
+  	</panic>
+	<panic>
+		<panic_id>1</panic_id>
+	    <panic_description>Not used.</panic_description>
+	</panic>
+	<panic>
+    	<panic_id>2</panic_id>
+    	<panic_description>Not used.</panic_description>
+  	</panic>
+	<panic>
+		<panic_id>3</panic_id>
+		<panic_description>Not used.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>4</panic_id>
+		<panic_description>Raised by CWindowGc::MapColors() when its aNumPairs argument has a value greater than 16.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>5</panic_id>
+		<panic_description>Data is too long to fit into the window server's client side buffer, see Client-side buffer.&lt;br&gt;&lt;br&gt;Introduced in v6.0.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>6</panic_id>
+		<panic_description>CWsScreenDevice::SetCustomPalette() was called with a NULL pointer.&lt;br&gt;&lt;br&gt;Introduced in v7.0.</panic_description>
+	</panic>
+	<panic>
+    	<panic_id>7</panic_id>
+    	<panic_description>CWsScreenDevice::SetPalette() failed, but no error code could be returned. Debug builds for the emulator only.&lt;br&gt;&lt;br&gt;Introduced in v7.0.</panic_description>
+	</panic>
+	<panic>
+    	<panic_id>8</panic_id>
+    	<panic_description>A direct screen access function was called out of turn.&lt;br&gt;&lt;br&gt;Introduced in v7.0.</panic_description>
+	</panic>
+	<panic>
+		<panic_id>9</panic_id>
+		<panic_description>An attempt was made to pass an invalid region to the window server. Debug builds only.&lt;br&gt;&lt;br&gt;Introduced in v7.0s.</panic_description>
+	</panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/WSERV.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,259 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>WSERV</category_name>
+  <category_description> &lt;p&gt; The window server runs continuously and brings the machine down if it crashes, so it cannot panic its own thread when it detects an error in one of its client&amp;#8217;s requests. Instead it panics the client&amp;#8217;s thread using &lt;code class="ApiItem"&gt;CSession::Panic()&lt;/code&gt;. These panics have a category of WSERV. &lt;/p&gt; &lt;p&gt; These panics are defined in the enumeration &lt;code&gt;TClientPanic&lt;/code&gt; in &lt;code class="filename"&gt;w32cmd.h&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; Note that some panics are raised in debug builds only. &lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt; Out of range opcode. &lt;/p&gt; &lt;p&gt; The client has sent a request opcode that wasn&amp;#8217;t recognised. Each server-side object can only handle some of the requests defined in the window server, and if the request isn&amp;#8217;t recognised, this panic is raised. &lt;/p&gt; &lt;p&gt; Clients would normally only get this is if they bypass the normal Window Server API. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt; Invalid command buffer. &lt;/p&gt; &lt;p&gt; A corrupt buffer of requests was discovered by the server. This is raised when the buffer itself is noticeably broken, and not when the commands in it are wrong. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt; Invalid handle. &lt;/p&gt; &lt;p&gt; The server couldn&amp;#8217;t find the target object for a request in the handle index. This can be raised when a command is sent to the handle for a window that has been closed, for example. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt; A handle whose value was NULL was detected. &lt;/p&gt; &lt;p&gt; For example, when Constructing one of the subclasses of the client-side &lt;code class="ApiItem"&gt;RWindowBase&lt;/code&gt; with a client handle argument of NULL. &lt;/p&gt; &lt;p&gt; On the server side, a &lt;code&gt;TWsClCmdCreateWindow&lt;/code&gt; with a client handle field of &lt;code&gt;NULL&lt;/code&gt; passed as argument to &lt;code&gt;CWsClientWindow::ConstructL()&lt;/code&gt; will raise this error. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt; A single drawing command was too big to fit into the client-side buffer. &lt;/p&gt; &lt;p&gt; The size of the buffer may be increased. See &lt;code class="ApiItem"&gt;RWsSession::SetBufferSizeL()&lt;/code&gt; and &lt;code class="ApiItem"&gt;RWsSession::SetMaxBufferSizeL()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt; Invalid window handle. &lt;/p&gt; &lt;p&gt; A handle which should have referred to a window of a particular type referred to a window of another type, or the object index didn&amp;#8217;t recognise the handle. &lt;/p&gt; &lt;p&gt; On the server side, this panic is ultimately raised by &lt;code&gt;CWsClient::HandleToWindow()&lt;/code&gt; and &lt;code&gt;CWsClient::HandleToClientWindow()&lt;/code&gt; during handle conversions. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt; Invalid bitmap handle. &lt;/p&gt; &lt;p&gt; A corrupt bitmap handle was encountered. This is a common panic uncovered when a bitmap handle refers to nothing, or to a server-side object that isn&amp;#8217;t a bitmap. &lt;/p&gt; &lt;p&gt; Also: &lt;/p&gt; &lt;p&gt; In response to an &lt;code&gt;EWsGcOpUseBrushPattern&lt;/code&gt; request if the bitmap parameter couldn&amp;#8217;t be used. On the client side, &lt;code class="ApiItem"&gt;CWindowGc::UseBrushPattern()&lt;/code&gt; sends this request. &lt;/p&gt; &lt;p&gt; In response to an &lt;code&gt;EWsSpriteOpAppendMember&lt;/code&gt; request when the bitmaps for the sprite member can't be created on the server side. On the client side, &lt;code class="ApiItem"&gt;RWsSpriteBase::AppendMember()&lt;/code&gt; sends this request. &lt;/p&gt; &lt;p&gt; Any failed attempt to duplicate a supplied bitmap. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt; Event read already outstanding. &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RWsSession::EventReady()&lt;/code&gt;, &lt;code class="ApiItem"&gt;RWsSession::RedrawReady()&lt;/code&gt;, or &lt;code class="ApiItem"&gt;RWsSession::PriorityKeyReady()&lt;/code&gt; was called again when an event read was already outstanding, i.e.. when an event was waiting to be delivered by the window server. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt; Attempted to use a non-active graphics context. &lt;/p&gt; &lt;p&gt; A drawing request was sent to a graphics context when the context was not active. &lt;/p&gt; &lt;p&gt; On the server side, this panic is raised by &lt;code&gt;CWsGc::CommandL()&lt;/code&gt; on all requests received when the context isn&amp;#8217;t active except &lt;code&gt;EWsGcOpActivate&lt;/code&gt;, &lt;code&gt;EWsGcOpDeactivate&lt;/code&gt;, &lt;code&gt;EWsGcOpFree&lt;/code&gt;, and &lt;code&gt;EWsGcOpTestInvariant&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt; Attempted to activate an already active graphics context. &lt;/p&gt; &lt;p&gt; On the server side, this is raised by &lt;code&gt;CWsGc::Activate()&lt;/code&gt; as a response to a &lt;code&gt;EWsGcOpActivate &lt;/code&gt; request. &lt;/p&gt; &lt;p&gt; The request is sent by the client-side method &lt;code class="ApiItem"&gt;CWindowGc::Activate()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt; Window already active. &lt;/p&gt; &lt;p&gt; An attempt was made to reactivate an active window. The request is sent by the client-side method &lt;code class="ApiItem"&gt;RWindowBase::Activate()&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; On the server side, this panic is raised by &lt;code&gt;CWsClientWindow::Activate()&lt;/code&gt; in response to an &lt;code&gt;EWsWinOpActivate&lt;/code&gt; request. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt; Already inside a begin/end redraw pair. &lt;/p&gt; &lt;p&gt; A begin-redraw window request was made when the window had already begun redrawing. Begin-redraw messages are paired with end-redraw messages, and ordering is important. Invoking &lt;code class="ApiItem"&gt;RWindow::BeginRedraw()&lt;/code&gt;, then &lt;code&gt;RWindow::BeginRedraw()&lt;/code&gt; again before the corresponding &lt;code class="ApiItem"&gt;RWindow::EndRedraw()&lt;/code&gt; raises this panic. &lt;/p&gt; &lt;p&gt; On the server side, this panic is raised if an &lt;code&gt;EWsWinOpBeginRedraw&lt;/code&gt; request is sent twice before the closing &lt;code&gt;EWsWinOpEndRedraw &lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt; Invalid font handle. &lt;/p&gt; &lt;p&gt; On the client-side is raised if &lt;code class="ApiItem"&gt;CWindowGc::UseFont()&lt;/code&gt; is called with an invalid font handle. &lt;/p&gt; &lt;p&gt; On the server side, &lt;code&gt;CWsGc::SetGcAttribute()&lt;/code&gt; raises this error in response to an &lt;code&gt;EWsGcOpUseFont&lt;/code&gt; request. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt; Printing with no active font. &lt;/p&gt; &lt;p&gt; A command to draw text to a window was sent to a graphics context when no font was set. Any of the overloads of &lt;code class="ApiItem"&gt;CWindowGc::DrawTextVertical()&lt;/code&gt; or &lt;code class="ApiItem"&gt;CWindowGc::DrawText()&lt;/code&gt; might cause the panic to be raised; the font should be set using &lt;code class="ApiItem"&gt;CWindowGc::UseFont()&lt;/code&gt; first. &lt;/p&gt; &lt;p&gt; On the server side, this panic is raised by &lt;code&gt;CWsGc::DoDrawCommand()&lt;/code&gt; in response to any of the requests to display text defined in &lt;code&gt;TWsGcOpcodes&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt; Attempted to set an invalid text cursor type, see &lt;code class="ApiItem"&gt;RWindowGroup::SetTextCursor()&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; Valid types are defined in the &lt;code class="ApiItem"&gt;TTextCursor&lt;/code&gt; struct. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt; A drawing command was sent to a graphics context active on a group window. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt; Attempted to use a patterned brush when the pattern bitmap has not yet been set&amp;#0160;&amp;#8212;  &lt;code&gt;UseBrushPattern()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt; Attempted to do a client destroy function on an illegal handle. &lt;/p&gt; &lt;p&gt; A client tried to destroy or cancel a server-side object by its handle on an unrecognised handle, or on a handle of the wrong type for the operation. &lt;/p&gt; &lt;p&gt; This panic may be caused by the &lt;code class="ApiItem"&gt;RWindowGroup::CancelCaptureKeyUpAndDowns()&lt;/code&gt; or &lt;code class="ApiItem"&gt;RWindowGroup::CancelCaptureKey()&lt;/code&gt; methods. These correspond to the &lt;code&gt;EWsWinOpCancelCaptureKeyUpsAndDowns&lt;/code&gt; and &lt;code&gt;EWsWinOpCancelCaptureKey&lt;/code&gt; server requests. In this case, the panic means that there is no such capture key object in existence in the target window group. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>22</panic_id>
+      <panic_description>&lt;p&gt; Panic from the Anim DLL. &lt;/p&gt; &lt;p&gt; An animation DLL tried either changing its default or next timing interval when its timing mode was set to &lt;code&gt;ESyncNone&lt;/code&gt;, or activating a graphics context when the context was already activated. &lt;/p&gt; &lt;p&gt; There are a variety of other reasons why this panic might be raised, all which are Anim DLL related. The Animation writer can also cause functions raise this panic. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>23</panic_id>
+      <panic_description>&lt;p&gt; Invalid Anim object handle. &lt;/p&gt; &lt;p&gt; A null animation handle was detected in the server on receipt of an animation command, possibly because the relevant animation has been deleted. This panic may be raised by a subclass of &lt;code class="ApiItem"&gt;RAnim&lt;/code&gt; calling &lt;code class="ApiItem"&gt;RAnim::Command()&lt;/code&gt; or &lt;code class="ApiItem"&gt;RAnim::CommandReply()&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; On the server side, the &lt;code&gt;EWsAnimDllOpCommandReply&lt;/code&gt; and &lt;code&gt;EWsAnimDllOpCommand&lt;/code&gt; requests can raise this panic in &lt;code&gt;CWsAnimDll &lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>24</panic_id>
+      <panic_description>&lt;p&gt; Leave from a non-leaving animation function. &lt;/p&gt; &lt;p&gt; Code in an animated DLL called by the server invoked &lt;code&gt;Leave()&lt;/code&gt;. Animated DLL code is provided by the client and run by the server, so unhandled leaves are trapped and the notification is passed on as a client panic. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>25</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>26</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>27</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>28</panic_id>
+      <panic_description>&lt;p&gt; Inconsistent polygon or polyline data was supplied. For example when restarting without finishing an old polygon. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>29</panic_id>
+      <panic_description>&lt;p&gt; A client attempted to set a negative shadow height. &lt;/p&gt; &lt;p&gt; This panic is caused by a call to &lt;code class="ApiItem"&gt;RWindowBase::SetShadowHeight()&lt;/code&gt; with a negative argument. &lt;/p&gt; &lt;p&gt; On the server side, &lt;code&gt;CWsClientWindow::CommandL()&lt;/code&gt; raises the panic in response to an invalid &lt;code&gt;EWsWinOpSetShadowHeight&lt;/code&gt; request. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>30</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>31</panic_id>
+      <panic_description>&lt;p&gt; The client tried to construct a window with an invalid redraw type. The valid redraw types defined in the enumeration &lt;code&gt;TWinTypes&lt;/code&gt; of &lt;code class="filename"&gt;w32cmd.h &lt;/code&gt;. &lt;/p&gt; &lt;p&gt; On the server side, this panic is raised by &lt;code&gt;CWsClientWindow::ConstructL()&lt;/code&gt; in response to an initialisation message containing an invalid redraw type. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>32</panic_id>
+      <panic_description>&lt;p&gt; A server-side redraw region is almost certainly corrupt. &lt;/p&gt; &lt;p&gt; This panic is raised when an &lt;code&gt;EWsWinOpGetInvalidRegion&lt;/code&gt; is received by a &lt;code&gt;CWsRedrawMsgWindow&lt;/code&gt; with a &lt;code&gt;TInt&lt;/code&gt; parameter of zero or less. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>33</panic_id>
+      <panic_description>&lt;p&gt; The client failed to provide a reply buffer to a server-side function when one was needed. &lt;/p&gt; &lt;p&gt; All server-side functions that need more space for their reply than a &lt;code&gt;TInt&lt;/code&gt; use the client&amp;#8217;s reply buffer. If the client fails to provide space for such replies, this panic will be emitted. &lt;/p&gt; &lt;p&gt; This panic is raised by &lt;code&gt;CWsClient::ReplyBuf()&lt;/code&gt; when &lt;code&gt;CWsClient&lt;/code&gt;&amp;#8217;s reply buffer is null. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>34</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>35</panic_id>
+      <panic_description>&lt;p&gt; A client passed an invalid or unrecognised corner type or flag. &lt;/p&gt; &lt;p&gt; This panic is raised in response to a client call to &lt;code class="ApiItem"&gt;RWindowBase::SetCornerType()&lt;/code&gt; when specifying inconsistent or non-existent flags. &lt;/p&gt; &lt;p&gt; Valid flags are masked by &lt;code class="ApiItem"&gt;ECornerTypeMask&lt;/code&gt;, and recognised types are defined in &lt;code class="ApiItem"&gt;TCornerType&lt;/code&gt;. These are all defined in &lt;code class="filename"&gt;w32std.h&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; The server raises this panic as a response to &lt;code&gt;EWsWinOpSetCornerType&lt;/code&gt; request with an undefined corner type or an unrecognised flag in its parameters. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>36</panic_id>
+      <panic_description>&lt;p&gt; The server was asked to update a region of a backed-up window which has not had MaintainBackup called on it. &lt;/p&gt; &lt;p&gt; A client-side call to either form of &lt;code class="ApiItem"&gt;RBackedUpWindow::UpdateScreen()&lt;/code&gt; may raise this panic. &lt;/p&gt; &lt;p&gt; On the server side, the panic is raised in response to an &lt;code&gt;EWsWinOpUpdateScreenRegion&lt;/code&gt; or &lt;code&gt;EWsWinOpUpdateScreen &lt;/code&gt; request when not maintaining a full backup of a backed-up window. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>37</panic_id>
+      <panic_description>&lt;p&gt; Panic raised when it was not possible to read or write data to the client thread. The data is usually contained in a descriptor. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>38</panic_id>
+      <panic_description>&lt;p&gt; The client attempted to access a sprite after the sprite's window was destroyed. Note that pointer cursors are implemented as sprites. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>39</panic_id>
+      <panic_description>&lt;p&gt; A client requested event data without having received an event telling it that the data was ready. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>40</panic_id>
+      <panic_description>&lt;p&gt; The mask for a sprite is smaller than the sprite&amp;#8217;s bitmap. A mask is permitted to be larger than its bitmap. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>41</panic_id>
+      <panic_description>&lt;p&gt; Bad sprite handle. &lt;/p&gt; &lt;p&gt; A null sprite handle was encountered, or a handle which was supposed to refer to a sprite referred to something else. &lt;/p&gt; &lt;p&gt; The client-side methods &lt;code class="ApiItem"&gt;RWindowTreeNode::SetCustomPointerCursor()&lt;/code&gt; and &lt;code class="ApiItem"&gt;RWsSession::SetSystemPointerCursor()&lt;/code&gt;, amongst others, can cause this panic to be raised; they correspond to the server requests &lt;code&gt;EWsWinOpSetCustomPointerCursor&lt;/code&gt; and &lt;code&gt;EWsClOpSetSystemPointerCursor&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>42</panic_id>
+      <panic_description>&lt;p&gt; A client attempted to set or clear a system pointer cursor without first owning the list of system pointer cursors. &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RWsSession::SetSystemPointerCursor()&lt;/code&gt; and &lt;code class="ApiItem"&gt;RWsSession::ClearSystemPointerCursor()&lt;/code&gt; can raise this panic. See also &lt;code class="ApiItem"&gt;RWsSession::ClaimSystemPointerCursorList()&lt;/code&gt; and &lt;code class="ApiItem"&gt;RWsSession::FreeSystemPointerCursorList()&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; The server requests which can raise this panic are &lt;code&gt;EWsClOpSetSystemPointerCursor&lt;/code&gt; and &lt;code&gt;EWsClOpClearSystemPointerCursor&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>43</panic_id>
+      <panic_description>&lt;p&gt; A client attempted to enable a pointer move buffer when none was allocated. &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RWindowBase::EnablePointerMoveBuffer()&lt;/code&gt; can cause this panic to be emitted; the corresponding server request is &lt;code&gt;EWsWinOpEnablePointerMoveBuffer&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>44</panic_id>
+      <panic_description>&lt;p&gt; Raised in response to commands that send a string, when the string has been incorrectly stored in the command buffer. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>45</panic_id>
+      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>46</panic_id>
+      <panic_description>&lt;p&gt; An invalid call or request parameter was detected by &lt;code&gt;CWsPassword&lt;/code&gt;. This can be caused: &lt;/p&gt; &lt;p&gt; By &lt;code class="ApiItem"&gt;RWindowBase::PasswordWindow()&lt;/code&gt; sending an &lt;code&gt;EWsWinOpPasswordWindow&lt;/code&gt; server request whose password mode parameter is not recognised. &lt;/p&gt; &lt;p&gt; By an attempt to cancel the password window by a client which doesn&amp;#8217;t own the window. &lt;/p&gt; &lt;p&gt; By &lt;code class="ApiItem"&gt;RWsSession::PasswordEntered()&lt;/code&gt; sending a &lt;code&gt;EWsClOpPasswordEntered&lt;/code&gt; server request when no password window has been set, or when the client does not own the password window. &lt;/p&gt; &lt;p&gt; Valid password modes are defined in &lt;code class="ApiItem"&gt;TPasswordMode&lt;/code&gt; of &lt;code class="filename"&gt;w32std.h&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>47</panic_id>
+      <panic_description>&lt;p&gt; An invalid compute mode was sent to the window server. On the client side, &lt;code class="ApiItem"&gt;RWsSession::ComputeMode()&lt;/code&gt; can do this, the window server request is &lt;code&gt;EWsClOpComputeMode&lt;/code&gt;. Valid compute modes are defined in the enumeration &lt;code class="ApiItem"&gt;RWsSession::TComputeMode&lt;/code&gt;, which is declared in &lt;code class="filename"&gt;w32std.h&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>48</panic_id>
+      <panic_description>&lt;p&gt; A client attempted to set the display mode of a backed-up window. This can be done with &lt;code class="ApiItem"&gt;RWindowBase::SetRequiredDisplayMode()&lt;/code&gt; or the &lt;code&gt;EWsWinOpRequiredDisplayMode&lt;/code&gt; server request. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>49</panic_id>
+      <panic_description>&lt;p&gt; A client attempted to get a message when has not been signalled in the server. &lt;/p&gt; &lt;p&gt; This panic can be raised on a client thread calling &lt;code class="ApiItem"&gt;RWindowGroup::FetchMessage()&lt;/code&gt; or sending the &lt;code&gt;EWsWinOpGetMessageSize&lt;/code&gt; or &lt;code&gt;EWsWinOpGetMessage &lt;/code&gt; messages. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>50</panic_id>
+      <panic_description>&lt;p&gt; A client tried to send a second initialisation message, i.e. to call &lt;code class="ApiItem"&gt;RWsSession::Connect()&lt;/code&gt; twice. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>51</panic_id>
+      <panic_description>&lt;p&gt; A client attempted to send a message without specifying a target window. &lt;/p&gt; &lt;p&gt; This can be raised, for example, in response to &lt;code class="ApiItem"&gt;RWsSession::RequestOffEvents()&lt;/code&gt; &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>52</panic_id>
+      <panic_description>&lt;p&gt; A client attempted to perform and operation on a window that has had its parent or ancestor deleted. An operation which might raise this panic could be setting the window size, position or extent. &lt;/p&gt; &lt;p&gt; Introduced in v5.1 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>53</panic_id>
+      <panic_description>&lt;p&gt; A client attempted to reset a window group&amp;#8217;s default owning window. For example, by calling the function &lt;code class="ApiItem"&gt;RWindowGroup::DefaultOwningWindow()&lt;/code&gt; twice on the same window group. &lt;/p&gt; &lt;p&gt; This is only raised in debug builds. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>54</panic_id>
+      <panic_description>&lt;p&gt; A client attempted to perform an operation on an invalid screen mode. &lt;/p&gt; &lt;p&gt; For example, if the client called the functions &lt;code class="ApiItem"&gt;CWsScreenDevice::GetScreenModeSizeAndRotation()&lt;/code&gt; or &lt;code class="ApiItem"&gt;CWsScreenDevice::SetScreenMode()&lt;/code&gt; with an illegal index. &lt;/p&gt; &lt;p&gt; Introduced in v5.1 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>55</panic_id>
+      <panic_description>&lt;p&gt; A client attempted to set an invalid screen enforcement mode. &lt;/p&gt; &lt;p&gt; The valid screen mode enforcement modes are defined in &lt;code class="ApiItem"&gt;TScreenModeEnforcement&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; Introduced in v5.1 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>56</panic_id>
+      <panic_description>&lt;p&gt; A client specified an event type which was not a pointer event, when this is what was required by the operation. e.g. &lt;code class="ApiItem"&gt;RWindowGroup::SimulatePointerEvent()&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; Introduced in v5.1 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>57</panic_id>
+      <panic_description>&lt;p&gt; A client attempted to specify a screen rotation or orientation that is not allowed. Each screen size mode has a list of allowed rotations. &lt;/p&gt; &lt;p&gt; Introduced in v5.1 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>58</panic_id>
+      <panic_description>&lt;p&gt; A client attempted to call a function that can only be called on a top level client window on a lower level window. A top level client window is a window with a window group as a parent, e.g. &lt;code class="ApiItem"&gt;RWindowBase::MoveToGroup()&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; Introduced in v6.0 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>59</panic_id>
+      <panic_description>&lt;p&gt; A client attempted to use a &lt;code class="ApiItem"&gt;RDirectScreenAccess&lt;/code&gt; object's member functions in the wrong order. &lt;/p&gt; &lt;p&gt; Introduced in v7.0 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>60</panic_id>
+      <panic_description>&lt;p&gt; The handle to a window server resource is already in use (debug builds only). &lt;/p&gt; &lt;p&gt; Introduced in v7.0 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>61</panic_id>
+      <panic_description>&lt;p&gt; An attempt was made to set a custom text cursor (using &lt;code class="ApiItem"&gt;RWindowGroup::SetTextCursor()&lt;/code&gt;) but the cursor's type was not recognised. &lt;/p&gt; &lt;p&gt; Introduced in v7.0s. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>62</panic_id>
+      <panic_description>&lt;p&gt; An attempt was made to set a custom text cursor (using &lt;code class="ApiItem"&gt;RWindowGroup::SetTextCursor()&lt;/code&gt;) whose alignment value is invalid. For valid alignment values see the &lt;code class="ApiItem"&gt;TCustomTextCursorAlignment&lt;/code&gt; enumeration in class &lt;code class="ApiItem"&gt;RWsSession&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; Introduced in v7.0s. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>63</panic_id>
+      <panic_description>&lt;p&gt; An attempt was made to set a custom text cursor (using &lt;code class="ApiItem"&gt;RWindowGroup::SetTextCursor()&lt;/code&gt;) that does not have any sprite members set. &lt;/p&gt; &lt;p&gt; Introduced in v7.0s.&lt;/p&gt;</panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/eSock_fault.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,119 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>eSock fault</category_name>
+  <category_description> &lt;p&gt;Panic of Sockets Server due to internal Sockets Server error&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;Socket server initiation error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;No comms server available&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;Failed to install active scheduler&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;Failed to create Sockets Server&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;Failed to start Sockets Server&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;Call made to unimplemented &lt;code&gt;CProtocolBase::NewSAPL()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;Call made to unimplemented &lt;code&gt;CProtocolBase::NewHostResolverL()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;Call made to unimplemented &lt;code&gt;CProtocolBase::NewServiceResolverL()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt;Call made to unimplemented &lt;code&gt;CProtocolBase::NewNetDatabaseL()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt;Error in internal state&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt;Read attempted when already attempting&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt;Write attempted when already attempting&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt;Connect attempted when already attempting&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt;Close attempted when already attempting&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt;Ioctl attempted when already attempting&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>22</panic_id>
+      <panic_description>&lt;p&gt;Error in accepted connection queuing&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>23</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>24</panic_id>
+      <panic_description>&lt;p&gt;Failed to delete socket&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>25</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>26</panic_id>
+      <panic_description>&lt;p&gt;Internal session maintenance error&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>27</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/eSock_panic.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>eSock panic</category_name>
+  <category_description> &lt;p&gt;Panic of client from Sockets Server due to server error&lt;/p&gt; &lt;p&gt;From the TESockCliPanic enumeration.&lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;Failed to create Sockets Server&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;Failed to start Sockets Server&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;Unused&lt;/p&gt;	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/schema.xsd	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+  <xsd:element name="category_name" type="xsd:string"/>
+  <xsd:element name="category_description" type="xsd:string"/>
+  <xsd:element name="panic_id" type="xsd:string"/>
+  <xsd:element name="panic_description" type="xsd:string"/>
+  <xsd:element name="error_name" type="xsd:string"/>
+  <xsd:element name="error_value" type="xsd:string"/>
+  <xsd:element name="error_component" type="xsd:string"/>
+  <xsd:element name="error_text" type="xsd:string"/>
+  
+  <xsd:element name="panic_category">
+		<xsd:complexType>
+			<xsd:sequence>
+				<xsd:element ref="category_name" minOccurs="1" maxOccurs="1"/>
+				<xsd:element ref="category_description" minOccurs="1" maxOccurs="1"/>
+				<xsd:element ref="panics" minOccurs="1" maxOccurs="1"/>
+			</xsd:sequence>
+		</xsd:complexType>
+	</xsd:element>
+
+  <xsd:element name="panics">
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:element ref="panic" minOccurs="1" maxOccurs="unbounded"/>
+      </xsd:sequence>
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:element name="panic">
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:element ref="panic_id" minOccurs="1" maxOccurs="1"/>
+        <xsd:element ref="panic_description" minOccurs="1" maxOccurs="1"/>
+      </xsd:sequence>
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:element name="error_codes">
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:element ref="error" minOccurs="1" maxOccurs="unbounded"/>
+      </xsd:sequence>
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:element name="error">
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:element ref="error_name" minOccurs="1" maxOccurs="1"/>
+        <xsd:element ref="error_value" minOccurs="1" maxOccurs="1"/>
+        <xsd:element ref="error_component" minOccurs="1" maxOccurs="1"/>
+        <xsd:element ref="error_text" minOccurs="1" maxOccurs="1"/>
+      </xsd:sequence>
+    </xsd:complexType>
+  </xsd:element>
+
+</xsd:schema>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/smlController.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,83 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<panic_category>
+  <category_name>smlController</category_name>
+  <category_description> &lt;p&gt;SyncML panics represent program errors which are detected by the SyncML framework. Typically, they are caused by passing bad or contradictory parameters to functions.&lt;/p&gt; &lt;p&gt;The thread causing the panic is terminated. &lt;/p&gt;</category_description>
+  <panics>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;Invalid parameter.&lt;/p&gt; &lt;p&gt;This panic is raised if there is an attempt to pass an invalid parameter to a SyncML function. &lt;/p&gt; &lt;p&gt;See &lt;code class="ApiItem"&gt;CSmlTask::SetNameL()&lt;/code&gt;, &lt;code class="ApiItem"&gt;CSmlProfile::AddTaskL()&lt;/code&gt;, &lt;code class="ApiItem"&gt;CSmlProfile::SetProfileNameL()&lt;/code&gt;.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;Incomplete data.&lt;/p&gt; &lt;p&gt;This panic is raised if there is a attempt to use a parameter which contains incomplete data.&lt;/p&gt; &lt;p&gt;See &lt;code class="ApiItem"&gt;CSmlProfile::AddTaskL()&lt;/code&gt;, &lt;code class="ApiItem"&gt;CSmlController::CreateProfileL()&lt;/code&gt;.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Null task member.&lt;/p&gt; &lt;p&gt;This panic is raised if there is an attempt to externalise a Task object which has not been completely defined.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;Task member not NULL.&lt;/p&gt; &lt;p&gt;This panic is raised if there is an attempt to internalise Task information into a &lt;code&gt;CSmlTask&lt;/code&gt; object which is not NULL.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;Null task identifier.&lt;/p&gt; &lt;p&gt;This panic is raised if there is an attempt to get a task's identifier, when this has not previously been set.&lt;/p&gt; &lt;p&gt;See &lt;code class="ApiItem"&gt;CSmlTask::Identifier()&lt;/code&gt;.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;Null task provider.&lt;/p&gt; &lt;p&gt;This panic is raised there is an attempt to get a task's content provider information, when this has not previously been set.&lt;/p&gt; &lt;p&gt;See &lt;code class="ApiItem"&gt;CSmlTask::Provider()&lt;/code&gt;.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;Null task target.&lt;/p&gt; &lt;p&gt;This panic is raised if there is an attempt to get a task's target database, when this has not previously been set.&lt;/p&gt; &lt;p&gt;See &lt;code class="ApiItem"&gt;CSmlTask::Target()&lt;/code&gt;.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;Null task source.&lt;/p&gt; &lt;p&gt;This panic is raised if there is an attempt to get a task's source database, when this has not previously been set.&lt;/p&gt; &lt;p&gt;See &lt;code class="ApiItem"&gt;CSmlTask::Source()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;Null profile member.&lt;/p&gt; &lt;p&gt;This panic is raised if there is an attempt to externalise a Profile object which has not been completely defined.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;Profile member not NULL.&lt;/p&gt; &lt;p&gt;This panic is raised if there is an attempt to internalise Profile information into a profile object which is not NULL.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;Task list not empty.&lt;/p&gt; &lt;p&gt;This panic is raised if there is an attempt to internalise Task list information into a profile object which is not empty.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt;Null profile identifier.&lt;/p&gt; &lt;p&gt;This panic is raised if there is an attempt to get a profile's identifier value, when this has not previously been set.&lt;/p&gt; &lt;p&gt;See &lt;code class="ApiItem"&gt;CSmlProfile::Identifier()&lt;/code&gt;.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;Null profile authorisation type.&lt;/p&gt; &lt;p&gt;This panic is raised if there is an attempt to get a profile's authorisation type value, when this has not previously been set.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;Null profile protocol.&lt;/p&gt; &lt;p&gt;This panic is raised if there is an attempt to get a profile's protocol information, when this has not previously been set.&lt;/p&gt; &lt;p&gt;See &lt;code class="ApiItem"&gt;CSmlProfile::Protocol()&lt;/code&gt;.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt;Null Content provider.&lt;/p&gt; &lt;p&gt;This panic is raised if there is an attempt to get a profile's Content provider information, when this has not previously been set.&lt;/p&gt; &lt;p&gt;See &lt;code class="ApiItem"&gt;CSmlProfile::AddTaskL()&lt;/code&gt;&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt;Invalid Protocol.&lt;/p&gt; &lt;p&gt;This panic is raised if there is an attempt to get a profile's transport protocol information, when the protocol does not exist.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt;Null Controller member.&lt;/p&gt; &lt;p&gt;This panic is raised if there is an attempt to use one of the controller's members if it has not been initialised.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt;Controller Member Not Null.&lt;/p&gt; &lt;p&gt;This panic is raised if there is an attempt to use one of the controller members that should be null, e.g. at the start of the sync.&lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt;Invalid Profile&lt;/p&gt; &lt;p&gt;This panic is raised when trying to retrieve a profile that does not exist.&lt;/p&gt; 	   </panic_description>
+    </panic>
+  </panics>
+</panic_category>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/data/symbianPanics.txt	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,12764 @@
+ALLOC COUNT 1  Expected aaaa  Allocated bbbb  Ln: ccc ddddd=<p>This panic is raised by  <code class="ApiItem">RHeap::__DbgMarkCheck()</code>  and   <span class="stripedlink"><code class="ApiItem">User::__DbgMarkCheck()</code></span> when the current number of allocated heap cells is not as expected.  </p><p><code>aaa</code> is the expected number of heap cells.</p><p><code>  bbb</code> is the allocated number of heap cells.</p><p><code>  ccc</code> is a line number; typically the source statement line containing the call to <code>__DbgMarkCheck()</code>.</p><p><code>  ddddd</code> is a file name; typically the file containing the source statement containing the call to <code>__DbgMarkCheck()</code>.</p>
+ALLOC: nnnnnnnn=<p>This panic is raised by the <code class="ApiItem">RHeap::__DbgMarkEnd()</code>  and <span class="stripedlink"><code class="ApiItem">User::__DbgMarkEnd()</code></span> when the number of heap cells at the current nested level is not as  expected.  </p><p>nnnnnnnn is the hexadecimal pointer to the first orphaned heap cell.</p>
+CMdaAudioOutputStream 0=<p>An attempt was made to change the audio stream player's properties while still writing to the stream.</p>
+CMdaAudioOutputStream 2=<p>Not currently used.</p>
+CMdaAudioOutputStream 4=<p>An attempt was made to set the audio stream player's volume to an invalid value.</p>
+CMdaAudioOutputStream 6=<p>An attempt was made to access the stream before opening it.</p>
+CMdaAudioOutputStream 8=<p>An attempt was made to open the stream when it is already open.</p>
+CMdaAudioOutputStream 10=<p>An attempt was made to set the client's priority to an invalid value.</p>
+CMdaAudioOutputStream 12=<p><code>CMdaAudioOutputStream::Open()</code> was called with an incorrect audio package type&#0160;&#8212;  it must be of type <code>TMdaAudioDataSettings</code>.</p>
+BAFL 1=<p><i>This panic is raised in debug builds only.</i></p><p>This panic is raised by <span class="stripedlink"><code class="ApiItem">RResourceFile::ReadL()</code></span>, when the length of the resource is greater than the maximum length of the target descriptor</p>
+BAFL 2=<p>Out of range index passed to <code>RIncrMatcherBase::FirstMatchingIndex()</code></p>
+BAFL 3=<p>Maximum length passed to <code>RTextBuf::SetMaxLengthL()</code> was &lt;=0</p>
+BAFL 4=<p>This panic is raised by the <code>Read...()</code>  member functions and the <code>Advance()</code>  member function of <span class="stripedlink"><code class="ApiItem">TResourceReader</code></span>, when the current position  in the resource buffer is moved  beyond the end of the buffer.</p>
+BAFL 5=<p>This panic is raised by <span class="stripedlink"><code class="ApiItem">TResourceReader::Rewind()</code></span>, when the current position  in the resource buffer is moved before the start of the buffer.</p>
+BAFL 6=<p>Unused</p>
+BAFL 7=<p>Unused</p>
+BAFL 8=<p>Unused</p>
+BAFL 9=<p>Unused</p>
+BAFL 10=<p>Unused</p>
+BAFL 11=<p>Unused</p>
+BAFL 12=<p>Unused</p>
+BAFL 13=<p>Unused</p>
+BAFL 14=<p>No path specified in sound info passed to <code>CBaSystemSoundArray::SetSoundL()</code></p>
+BAFL 15=<p><i>This panic is raised in debug builds only.</i></p><p>This panic is raised by <span class="stripedlink"><code class="ApiItem">TResourceReader::ReadTPtrC16()</code></span>, when it detects that the alignment of Unicode strings within the  resource is incorrect, i.e. the buffer is of an incorrect length for reading  a Unicode string.</p>
+BAFL 16=<p>Unsupported old resource file format</p>
+BAFL 17=<p>No system sound category set for new system sound</p>
+BAFL 18=<p>Invalid system sound priority set</p>
+BAFL 19=<p>NULL UID passed to <code>CBaNamedPlugins::IndexOfUid()</code></p>
+BAFL 20=<p>Bad resource file format found when constructing a <code>CBaNamedPlugins</code> object.</p>
+BAFL 21=<p>The array position at which the text representing the choice of no plug-in is to  be inserted, is invalid. The panic is raised by <code>CBaNamedPlugins::ConstructL()</code>.</p>
+BAFL 22=<p>An invalid comparison algorithm or no comparison algorithm supplied when sorting the plug-in names in the implementation of <code>CBaNamedPlugins::ConstructL()</code>.</p>
+BAFL 23=<p>Unused.</p>
+BITGDI 1=<p>No graphics device specified for use with <code>CFbsBitGc</code></p>
+BITGDI 2=<p>Unused</p>
+BITGDI 3=<p>No font selected</p>
+BITGDI 4=<p>Sprite cancelled when no sprite is set</p>
+BITGDI 5=<p>Unused</p>
+BITGDI 6=<p>Unused</p>
+BITGDI 7=<p>Unused</p>
+BITGDI 8=<p>Unused</p>
+BITGDI 9=<p>Invalid display mode</p>
+BITGDI 10=<p>Invalid clipping region</p>
+BITGDI 11=<p>Invalid window handle</p>
+BITGDI 12=<p>Invalid font</p>
+BITGDI 13=<p>Invalid bitmap</p>
+BITGDI 14=<p>Co-ordinates out of range</p>
+BITGDI 15=<p>Unused</p>
+BITGDI 16=<p>Bad parameter used while filling a polygon</p>
+BITGDI 17=<p>Invalid zero-sized parameter</p>
+BITGDI 18=<p>Unused</p>
+BITGDI 19=<p>Unused</p>
+C32-fault 0=<p>Failed to install active scheduler or error running the  scheduler.</p>
+C32-fault 1=<p>Failed to create server</p>
+C32-fault 2=<p>Failed to start server</p>
+C32-fault 3=<p>Could not allocate a Clean Up Stack.</p>
+C32-fault 4=<p>API or function call not implemented yet.</p>
+C32-fault 5=<p>Reference counting error</p>
+C32-fault 6=<p>NULL pointer passed to API.</p>
+C32-fault 7=<p>Unable to allocate global timer, commonly caused by a memory  allocation failure.</p>
+CESockIniData 0=<p>Section name exceeded maximum length</p>
+CESockIniData 1=<p>Variable name exceeded maximum length</p>
+CHWComm 0=<p>Bad descriptor passed by client.</p>
+CHWComm 1=<p><code>cancel()</code> method called without calling the  respective API first. I.e. an attempt was made to cancel an operation that was  not started.</p>
+CHWComm 2=<p>Incorrect usage of an API for the current DTE/DCE  role.</p>
+CHWComm 3=<p>Internal error caused by the notification count being  negative.</p>
+CInSock 0=<p>Connectionless socket used when connected type required</p>
+CInSock 1=<p>Attempt to send or receive on socket already in use</p>
+Clock-client 0=<p>Clock is already constructed</p>
+Clock-client 1=<p>Clock is already constructed</p>
+Clock-client 2=<p>Clock is already constructed</p>
+Clock-client 3=<p>Clock is not full constructed</p>
+Clock-client 4=<p>Clock is not full constructed</p>
+Clock-client 5=<p>Clock is not full constructed</p>
+Clock-client 6=<p>Clock is not full constructed</p>
+Clock-client 7=<p>Clock is not full constructed</p>
+Clock-client 8=<p>Clock is not full constructed</p>
+Clock-client 9=<p>Clock is not full constructed</p>
+Clock-client 10=<p>Clock is not full constructed</p>
+Clock-client 11=<p>Clock is not full constructed</p>
+Clock-client 12=<p>Clock is not full constructed</p>
+Clock-client 13=<p>Clock is not full constructed</p>
+Clock-client 14=<p>Clock is not full constructed</p>
+Clock-client 15=<p>Clock is not full constructed</p>
+Clock-client 16=<p>Clock is not full constructed</p>
+Clock-client 17=<p>Incorrect number of additions</p>
+Clock-client 18=<p>Incorrect number of additions</p>
+Clock-client 20=<p>No more additions expected</p>
+Clock-client 21=<p>Too few text sections</p>
+Clock-client 22=<p>Too few hands</p>
+Clock-client 23=<p>Too few hand features</p>
+Clock-client 24=<p>Invalid rectangle parameters</p>
+Clock-client 25=<p>Internal error</p>
+Clock-client 26=<p>Internal error</p>
+Clock-client 27=<p>Internal error</p>
+Clock-client 28=<p>Internal error</p>
+Clock-client 29=<p>Internal error</p>
+Clock-client 30=<p>Internal error</p>
+Clock-client 31=<p>Internal error</p>
+Clock-client 32=<p>Internal error</p>
+Clock-client 33=<p>Internal error</p>
+Clock-client 34=<p>Internal error</p>
+Clock-client 35=<p>Internal error</p>
+Clock-client 36=<p>Internal error</p>
+Clock-client 37=<p>Clock is not full constructed</p>
+Clock-client 38=<p>Clock is not full constructed</p>
+Clock-client 39=<p>Clock is not full constructed</p>
+Clock-client 44=<p>Internal error</p>
+Clock-client 45=<p>Internal error</p>
+Clock-client 46=<p>Internal error</p>
+CommsDbServer 1=<p><code>CCommsDbTableView::InsertRecord()</code> called when  <code>InsertRecord()</code> or <code>UpdateRecord()</code> has already been  made.</p>
+CommsDbServer 2=<p><code>CCommsDbTableView::UpdateRecord()</code> called when  <code>InsertRecord()</code> or <code>UpdateRecord()</code> has already been  made.</p>
+CommsDbServer 3=<p><code>CCommsDbTableView::DeleteRecord()</code> called when a  previous call to <code>InsertRecord()</code> or <code>UpdateRecord()</code> has  been made</p>
+CommsDbServer 4=<p><code>CCommsDbTableView::PutRecordChanges()</code> called  without previous call to <code>InsertRecord()</code> or  <code>UpdateRecord()</code></p>
+CommsDbServer 5=<p><code>CCommsDbTableView::CancelRecordChanges()</code> called  without previous call to <code>InsertRecord()</code> or  <code>UpdateRecord()</code></p>
+CommsDbServer 6=<p><code>CCommsDbTableView::GotoFirstRecord()</code> called while  an operation involved in inserting or updating a record is still outstanding,  or when the view has been closed.</p>
+CommsDbServer 7=<p><code>CCommsDbTableView::GotoNextRecord()</code> called while  an operation involved in inserting or updating a record is still outstanding,  or when the view has been closed.</p>
+CommsDbServer 8=<p><code>CCommsDbTableView::GotoPreviousRecord()</code> called  while an operation involved in inserting or updating a record is still  outstanding, or when the view has been closed.</p>
+CommsDbServer 10=<p>Attempt made to read from a column before either  <code>PutRecordChanges()</code> or <code>CancelRecordChanges()</code> has been  called to complete a record insertion or update  operation.</p>
+CommsDbServer 12=<p>Attempt is made to write to a column without calling  <code>CCommsDbTableView::InsertRecord()</code> or  <code>CCommsDbTableView::UpdateRecord()</code></p>
+CommsDbServer 13=<p>Attempt to write to table ID column with  <code>CCommsDbTableView::WriteUintL()</code>.</p>
+CommsDbServer 14=<p><code>CCommDbOverrideSettings::GetLongDesOverride()</code>  called with too small <code>aValue</code> buffer.</p>
+Comm server 0=<p>Write request made when request already in progress.</p>
+Comm server 1=<p>Read request made when request already in progress.</p>
+Comm server 2=<p>Break request made when request already in progress.</p>
+Comm server 3=<p>Invalid port handle passed by client.</p>
+Comm server 4=<p>Bad descriptor passed by client.</p>
+Comm server 5=<p><code>RComm::SetConfig()</code> call made when another request  already in progress.</p>
+Comm server 6=<p><code>RComm::SetSignals()</code> call made when another request  already in progress.</p>
+Comm server 7=<p><code>RComm::ResetBuffers()</code> call made when another  request already in progress.</p>
+Comm server 8=<p><code>RComm::ReceiveBufferLength()</code> call made when  another request already in progress.</p>
+Comm server 9=<p>Cannot have two outstanding  <code>RComm::NotifySignalChange()</code> requests from the same client.</p>
+Comm server 10=<p>Cannot have two outstanding  <code>RComm::NotifyFlowControlChange()</code> requests from the same  client.</p>
+Comm server 11=<p>Cannot have two outstanding  <code>RComm::NotifyConfigChange()</code> requests from the same client.</p>
+Comm server 12=<p>Cannot have two outstanding <code>RComm::NotifyBreak()</code>  requests from the same client.</p>
+Comm server 13=<p>Cannot have two outstanding  <code>RComm::NotifyDataAvailable()</code> requests from the same client.</p>
+Comm server 14=<p>Cannot have two outstanding  <code>RComm::NotifyOutputEmpty()</code> requests from the same client. </p>
+Comm server 15=<p>Thread size is negative.</p>
+Comm server 16=<p>Minimum heap size is too small.</p>
+Comm server 17=<p>Maximum heap size is less than minimum heap size.</p>
+Comm server 18=<p>Wrong client session for set access request.</p>
+Comm server 19=<p>Client must close object before setting comm access.</p>
+CONARC 0=<p><code>CCnaScanningConverterFinder::NextL()</code> called before <code>FindAllConvL()</code></p>
+CONARC 1=<p>Attempt to scan unknown drive</p>
+CONARC 2=<p>File error while attempting to restore converter information </p>
+CONARC 3=<p><code>CCnaScanningCnfFinder::NextL()</code> called before <code>FindAllCnfL()</code></p>
+CONARC 4=<p>Unused</p>
+CONE 1=<p>  Environment start up error   </p>
+CONE 2=<p>  Environment already exists   </p>
+CONE 3=<p>  App UI cannot be created   </p>
+CONE 4=<p>  Control cannot be found in the control stack   </p>
+CONE 5=<p>  Environment caught unexpected leave   </p>
+CONE 6=<p>  Non-leaving function CCoeControl::Draw() leaves during a redraw  operation  </p>
+CONE 7=<p>  Environment found file server resources had not been freed   </p>
+CONE 8=<p>  Environment found window server resources had not been freed   </p>
+CONE 9=<p>  Environment failed to handle window server event   </p>
+CONE 10=<p>  The control already owns a window   </p>
+CONE 11=<p>  The control cannot close the window as it does not own one   </p>
+CONE 12=<p>  <code>CCoeControl::ComponentControl()</code> has been called, but  the control is not a container   </p>
+CONE 13=<p>  Environment cannot find the resource file in order to delete it   </p>
+CONE 14=<p>  Environment cannot find the specified resource in any resource file  </p>
+CONE 15=<p>  A NULL resource file name was passed to  <code>CCoeEnv::AddResourceFileL()</code>  </p>
+CONE 16=<p>  Resource is wrong length to be read as Unicode string   </p>
+CONE 17=<p>  Internal control set up error   </p>
+CONE 18=<p>  Attempted to add NULL observer   </p>
+CONE 19=<p>  Attempted to remove NULL observer   </p>
+CONE 20=<p>  Attempted to set up NULL FEP   </p>
+CONE 21=<p>  Observer has already been added   </p>
+CONE 22=<p>  Unused   </p>
+CONE 23=<p>  Unused   </p>
+CONE 24=<p>  FEP could not be loaded due to set-up problem   </p>
+CONE 25=<p>  Unused   </p>
+CONE 26=<p>  Unused   </p>
+CONE 27=<p>  NULL GC passed to <code>CCoeEnv::SwapSystemGc()</code>  </p>
+CONE 28=<p>  Resource file has not been freed   </p>
+CONE 29=<p>  No view server session present   </p>
+CONE 30=<p>  Specified view could not be found   </p>
+CONE 31=<p>  NULL UID passed to <code>CCoeStatic::CCoeStatic()</code>  </p>
+CONE 32=<p>  Duplicate UID passed to <code>CCoeStatic::CCoeStatic()</code>  </p>
+CONE 33=<p>  Attempt to use <code>CoeSoundPlayer</code> without an environment   </p>
+CONE 34=<p>  Unused   </p>
+CONE 35=<p>  Unused   </p>
+CONE 36=<p>  Open handles were found during application shutdown   </p>
+CONE 37=<p>  Unexpected view server event   </p>
+CONE 38=<p>  View observer not found   </p>
+CONE 39=<p>  View notification observer already exists   </p>
+CONE 40=<p>  Embedded app UI is not NULL   </p>
+CONE 41=<p>  Embedded app UI is not NULL   </p>
+CONE 42=<p>  Embedded app UI is not NULL   </p>
+CONE 43=<p>  Embedded app UI is not NULL   </p>
+CONE 44=<p>  Control being destroyed is still on the control stack   </p>
+CONE 45=<p>  Focus observer notification is not pending   </p>
+CONE 46=<p>  The handle for the current Window Server Redraw event is invalid   </p>
+CONE 47=<p>  No longer used   </p>
+CONE 48=<p>  No longer used   </p>
+CONE 49=<p>  The control parent-child hierarchy has become circular   </p>
+CONE 50=<p>  A control's parent has been set to something other than NULL or  itself prior to being added to the control stack   </p>
+CONE 51=<p>  Two controls with the same ID exist   </p>
+CONE 52=<p>  An attempt was made to add an item to a control array which does  not exist   </p>
+CONE 53=<p>  No longer used   </p>
+CONE 54=<p>  No longer used   </p>
+CONE 55=<p>  No longer used   </p>
+CONE 56=<p>  No longer used   </p>
+CONE 57=<p>  An error occured while notifying the central repository of a FEP  change   </p>
+E32USER-CBase 1=<p>  This panic is raised by the <code>Set()</code> member function of  <code>CAsyncCallBack</code>, if this active object is already active when the  function is called.   </p>
+E32USER-CBase 2=<p>  <i>This panic is raised in debug builds only.</i>  </p>  <p>  This panic is raised by the <code>Call()</code> member function of  <code>CAsyncOneShot</code> if the active object has not already been added to  the active scheduler.   </p>
+E32USER-CBase 3=<p>  This panic is raised during construction of a dynamic buffer (a  <span class="stripedlink"><code class="ApiItem">CBufFlat</code></span> or a <span class="stripedlink"><code class="ApiItem">CBufSeg</code></span>) when the value  of the granularity passed to the constructors is negative.   </p>
+E32USER-CBase 4=<p>  This panic is raised when reading from a dynamic buffer (a  <span class="stripedlink"><code class="ApiItem">CBufFlat</code></span> or a <span class="stripedlink"><code class="ApiItem">CBufSeg</code></span>) using the  <code>Read()</code> member function. It is caused by attempting to read beyond  the end of the buffer.   </p>
+E32USER-CBase 5=<p>  This panic is raised when writing to a dynamic buffer (a  <span class="stripedlink"><code class="ApiItem">CBufFlat</code></span> or a <span class="stripedlink"><code class="ApiItem">CBufSeg</code></span>) using the  <code>Write()</code> member function. It is caused by attempting to write  beyond the end of the buffer.   </p>
+E32USER-CBase 6=<p>  This panic is raised when reading from a dynamic buffer (a  <span class="stripedlink"><code class="ApiItem">CBufFlat</code></span> or a <span class="stripedlink"><code class="ApiItem">CBufSeg</code></span>) using the  <code>Read()</code> member function. It is caused by specifying a negative  length for the amount of data to be read   </p>
+E32USER-CBase 7=<p>  This panic is raised when writing to a dynamic buffer (a  <span class="stripedlink"><code class="ApiItem">CBufFlat</code></span> or a <span class="stripedlink"><code class="ApiItem">CBufSeg</code></span>) using the  <code>Write()</code> member function. It is caused by specifying a negative  length for the amount of data to be written.   </p>
+E32USER-CBase 8=<p>  This panic is raised when inserting data into a dynamic buffer (a  <span class="stripedlink"><code class="ApiItem">CBufFlat</code></span> or a <span class="stripedlink"><code class="ApiItem">CBufSeg</code></span>) using the  <code>InsertL()</code> member function or when inserting an uninitialized  region into the dynamic buffer using the <code>ExpandL()</code> member  function. It is caused by passing a negative length value to these functions.   </p>
+E32USER-CBase 9=<p>  This panic is raised when inserting data into a dynamic buffer (a  <span class="stripedlink"><code class="ApiItem">CBufFlat</code></span> or a <span class="stripedlink"><code class="ApiItem">CBufSeg</code></span>) using the  <code>InsertL()</code> member function. It is caused when the variant of  <code>InsertL()</code> which takes a pointer to <code>TAny</code>, is passed a  NULL pointer value.   </p>
+E32USER-CBase 10=<p>  This panic is raised when specifying the minimum amount of space  which a flat dynamic buffer (a <span class="stripedlink"><code class="ApiItem">CBufFlat</code></span>) should occupy  using the <code>SetReserveL()</code> member function. It is caused when the  size value passed to the function is negative.   </p>
+E32USER-CBase 11=<p>  This panic is raised when specifying the minimum amount of space  which a flat dynamic buffer (a <span class="stripedlink"><code class="ApiItem">CBufFlat</code></span>) should occupy  using the <code>SetReserveL()</code> member function. It is caused when the  size value passed to the function is less than the current size of the buffer.   </p>
+E32USER-CBase 12=<p>  This panic is raised by the <code>Delete()</code>,  <code>Ptr()</code>, <code>BackPtr()</code> member functions of a flat dynamic  buffer (a <span class="stripedlink"><code class="ApiItem">CBufFlat</code></span>); the panic can also be raised by  <code>InsertL()</code> and <code>ExpandL()</code>. It is caused when the  position value passed to these functions is either negative or represents a  position beyond the end of the current buffer.   </p>
+E32USER-CBase 13=<p>  This panic is raised by the <code>Delete()</code> member function  of a flat dynamic buffer (a <span class="stripedlink"><code class="ApiItem">CBufFlat</code></span>). It is caused when  the combination of position and length values passed to the function implies an  attempt to delete data beyond the end of the flat buffer.   </p>
+E32USER-CBase 14=<p>  This panic is raised by the <code>Delete()</code>,  <code>Ptr()</code>, <code>BackPtr()</code> member functions of a segmented  dynamic buffer (a <span class="stripedlink"><code class="ApiItem">CBufSeg</code></span>); the panic can also be raised  by <code>InsertL()</code> and <code>ExpandL()</code>. It is caused when the  position value passed to these functions is either negative or represents a  position beyond the end of the current buffer.   </p>
+E32USER-CBase 15=<p>  This panic is raised by the Delete() member function of a segmented  dynamic buffer (a <span class="stripedlink"><code class="ApiItem">CBufSeg</code></span>). It is caused when the  combination of position and length values passed to the function implies an  attempt to delete data beyond the end of the segmented buffer.   </p>
+E32USER-CBase 16=<p>  <i>This panic is raised in debug builds only.</i>  </p>  <p>  This panic is raised by the <code>InsertL()</code>,  <code>Delete()</code>, <code>Ptr()</code> and <code>BackPtr()</code> member  functions as implemented for segmented buffers (<span class="stripedlink"><code class="ApiItem">CBufSeg</code></span>),  when the offset within a segment, where data is to be inserted or removed, is  greater than the buffer granularity.   </p>
+E32USER-CBase 17=<p>  This panic is raised by the constructors of arrays of fixed length  objects as represented, for example, by the classes  <span class="stripedlink"><code class="ApiItem">CArrayFixFlat</code></span>, <span class="stripedlink"><code class="ApiItem">CArrayFixSeg</code></span> and  <code class="ApiItem">CArrayFixFlat&lt;TAny&gt;</code>. It is caused when the record  length is either negative or zero.   </p>  <p>  The record length is either explicitly specified as in the case of  the <code class="ApiItem">CArrayFixFlat&lt;TAny&gt;</code> class or is implied by the  length of the template class as in the case of the  <span class="stripedlink"><code class="ApiItem">CArrayFixFlat</code></span> class.   </p>
+E32USER-CBase 18=<p>  This panic is raised by the constructors of arrays of fixed length  objects as represented, for example, by the classes:  <span class="stripedlink"><code class="ApiItem">CArrayFixFlat</code></span> and <span class="stripedlink"><code class="ApiItem">CArrayFixSeg</code></span>. It is  caused when the granularity passed to the constructors is either negative or  zero.   </p>
+E32USER-CBase 19=<p>  This panic is raised by the constructors of arrays of variable  length objects as represented, for example, by the classes:  <span class="stripedlink"><code class="ApiItem">CArrayVarFlat</code></span> and <span class="stripedlink"><code class="ApiItem">CArrayVarSeg</code></span>. It is  caused when the granularity passed to the constructors is either negative or  zero.   </p>
+E32USER-CBase 20=<p>  This panic is raised by the constructors of packed arrays as  represented, for example, by the class <span class="stripedlink"><code class="ApiItem">CArrayPakFlat</code></span>. It  is caused when the granularity passed to the constructors is either negative or  zero.   </p>
+E32USER-CBase 21=<p>  This panic is raised by any operation which accesses an element of  an array by explicit reference to an index number, for example, the  <code>Delete()</code>, <code>InsertL()</code> and <code>At()</code> member  functions or the operator <code>Operator[]</code>. It is caused by specifying  an index value which is either negative or is greater than or equal to the  number of objects currently within the array.   </p>
+E32USER-CBase 22=<p>  This panic is raised when deleting contiguous elements from an  array of fixed length objects (derived from <span class="stripedlink"><code class="ApiItem">CArrayFixBase</code></span>)  using the <code>Delete()</code> member function. It is caused by specifying the  number of contiguous elements as a zero or negative value.   </p>
+E32USER-CBase 23=<p>  This panic is raised when inserting contiguous elements into an  array of fixed length objects (derived from <span class="stripedlink"><code class="ApiItem">CArrayFixBase</code></span>)  using the <code>InsertL()</code> member function. It is caused by specifying  the number of contiguous elements as a zero or negative value.   </p>
+E32USER-CBase 24=<p>  This panic is raised when resizing an array of fixed length objects  (derived from <span class="stripedlink"><code class="ApiItem">CArrayFixBase</code></span>) using the  <code>ResizeL()</code> member function. It is caused by specifying the number  of contiguous elements as a zero or negative value.   </p>
+E32USER-CBase 25=<p>  This panic is raised when deleting contiguous elements from an  array of variable length objects (derived from  <span class="stripedlink"><code class="ApiItem">CArrayVarBase</code></span>) using the <code>Delete()</code> member  function. It is caused by specifying the number of contiguous elements as a  zero or negative value.   </p>
+E32USER-CBase 26=<p>  This panic is raised when deleting contiguous elements from a  packed array (derived from <span class="stripedlink"><code class="ApiItem">CArrayPakBase</code></span>) using the  <code>Delete()</code> member function. It is caused by specifying the number of  contiguous elements as a zero or negative value.   </p>
+E32USER-CBase 27=<p>  This panic is raised when reserving space in flat arrays of fixed  length objects, (the  <span class="stripedlink"><code class="ApiItem">CArrayFixFlat</code></span>,<code class="ApiItem">CArrayFixFlat&lt;TAny&gt;</code>  and <span class="stripedlink"><code class="ApiItem">CArrayPtrFlat</code></span> classes ) using the  <code>SetReserveL()</code> member function. It is caused by specifying the  number of elements, for which space is to be reserved, as less than the current  number of elements in the array.   </p>
+E32USER-CBase 28=<p>  This panic is raised when inserting or appending replicated  elements to the arrays of fixed length objects  <span class="stripedlink"><code class="ApiItem">CArrayFixFlat</code></span> and <span class="stripedlink"><code class="ApiItem">CArrayFixSeg</code></span> using  the <code>InsertL()</code> or <code>AppendL()</code> functions. It is caused by  specifying the number of replicas as negative or zero.   </p>
+E32USER-CBase 29=<p>  This panic is raised when deleting elements from a fixed length,  variable length or packed array (derived from  <span class="stripedlink"><code class="ApiItem">CArrayFixBase</code></span>, <span class="stripedlink"><code class="ApiItem">CArrayVarBase</code></span> and  <span class="stripedlink"><code class="ApiItem">CArrayPakBase</code></span>) using the <code>Delete()</code> function.  It is caused when the specification of the position of the first element to be  deleted and the number of contiguous elements to be deleted refers to elements  which are outside the bounds of the array.   </p>
+E32USER-CBase 30=<p>  This panic is raised when inserting into, appending onto, expanding  or extending a variable length array or a packed array (i.e. arrays derived  from <span class="stripedlink"><code class="ApiItem">CArrayVar</code></span> or <span class="stripedlink"><code class="ApiItem">CArrayPak</code></span>) using  the <code>InsertL()</code>, <code>AppendL()</code>, <code>ExpandL()</code> or  <code>ExtendL()</code> functions respectively. It is caused by specifying the  length of the element as a negative value.   </p>
+E32USER-CBase 33=<p>  This panic is raised by the destructor of a  <span class="stripedlink"><code class="ApiItem">CObject</code></span>. It is caused, if an attempt is made to delete the  <span class="stripedlink"><code class="ApiItem">CObject</code></span> when the reference count is not zero.   </p>
+E32USER-CBase 34=<p>  This panic is raised by the <code>Close()</code> member function of  a <span class="stripedlink"><code class="ApiItem">CObject</code></span>. It is caused, if the reference count is  negative.   </p>
+E32USER-CBase 35=<p>  This panic is raised by the <code>Remove()</code> member function  of an object container, a <span class="stripedlink"><code class="ApiItem">CObjectCon</code></span>. It is caused when  the <span class="stripedlink"><code class="ApiItem">CObject</code></span> to be removed from the container is not  contained by the container.   </p>
+E32USER-CBase 36=<p>  This panic is raised by the <code>Remove()</code> member function  of a container index, a <span class="stripedlink"><code class="ApiItem">CObjectConIx</code></span>. It is caused when  the object container, a <span class="stripedlink"><code class="ApiItem">CObjectCon</code></span>, to be removed from the  index is not contained by the index.   </p>
+E32USER-CBase 37=<p>  This panic is raised by the <code>Remove()</code> member function  of an object index, a <span class="stripedlink"><code class="ApiItem">CObjectIx</code></span>. It is caused when the  handle passed to the <code>Remove()</code> function does not represent a  <span class="stripedlink"><code class="ApiItem">CObject</code></span> known to the object index.   </p>
+E32USER-CBase 38=<p>  This panic is raised by the <code>At()</code>,  <code>FindByName()</code> and <code>FindByFullName()</code> member functions of  an object container, a <span class="stripedlink"><code class="ApiItem">CObjectCon</code></span>. It is caused when the  unique ID as derived from the handle is not the same as the unique ID held by  the object container.   </p>
+E32USER-CBase 39=<p>  This panic is raised by the <code>At()</code> member function of an  object container, a <span class="stripedlink"><code class="ApiItem">CObjectCon</code></span>. It is caused when the  index represented by the handle is outside the permitted range. In effect, the  handle is bad.   </p>
+E32USER-CBase 40=<p>  This panic is raised by the destructor of an active object, a  <span class="stripedlink"><code class="ApiItem">CActive</code></span>. It is caused by an attempt to delete the active  object while it still has a request outstanding.   </p>
+E32USER-CBase 41=<p>  This panic is raised by the <code>Add()</code> member function of  an active scheduler, a <span class="stripedlink"><code class="ApiItem">CActiveScheduler</code></span>. It is caused by  an attempt to add an active object to the active scheduler when it has already  been added to the active scheduler   </p>
+E32USER-CBase 42=<p>  This panic is raised by the <code>SetActive()</code> member  function of an active object, a <span class="stripedlink"><code class="ApiItem">CActive</code></span>. It is caused by  an attempt to flag the active object as active when it is already active, i.e.  a request is still outstanding.   </p>
+E32USER-CBase 43=<p>  This panic is raised by the <code>Install()</code> member function  of an active scheduler, a <span class="stripedlink"><code class="ApiItem">CActiveScheduler</code></span>. It is caused  by attempting to install this active scheduler as the current active scheduler  when there is already a current active scheduler; i.e. an active scheduler has  already been installed.   </p>
+E32USER-CBase 44=<p>  This panic is raised by calls to the <code>Start()</code>,  <code>Stop()</code> and <code>Add()</code> member functions of an active  scheduler, a <span class="stripedlink"><code class="ApiItem">CActiveScheduler</code></span> when the thread does not  have an installed active scheduler.  </p>
+E32USER-CBase 45=<p>  This panic is raised by the <code>Stop()</code> member function of  an active scheduler, a <span class="stripedlink"><code class="ApiItem">CActiveScheduler</code></span>. Calling  <code>Stop()</code> terminates the wait loop started by the most recent call to  <code>Start()</code>. The panic is caused by a call to <code>Stop()</code>  which is not matched by a corresponding call to <code>Start()</code>.   </p>
+E32USER-CBase 46=<p>  This panic is raised by an active scheduler, a  <span class="stripedlink"><code class="ApiItem">CActiveScheduler</code></span>. It is caused by a stray signal.   </p>
+E32USER-CBase 47=<p>  This panic is raised by the <code>Error()</code> virtual member  function of an active scheduler, a <span class="stripedlink"><code class="ApiItem">CActiveScheduler</code></span>. This  function is called when an active object&#8217;s <code>RunL()</code> function leaves.  Applications always replace the <code>Error()</code> function in a class  derived from <code>CActiveScheduler</code>; the default behaviour provided by  <code>CActiveScheduler</code> raises this panic.   </p>
+E32USER-CBase 48=<p>  This panic is raised by the <code>Add()</code> member function of  an active scheduler, a <span class="stripedlink"><code class="ApiItem">CActiveScheduler</code></span>, when a NULL  pointer is passed to the function.   </p>
+E32USER-CBase 49=<p>  This panic is raised by the <code>SetActive()</code> and  <code>Deque()</code> member functions of an active object, a  <span class="stripedlink"><code class="ApiItem">CActive</code></span>. It is raised if the active object has not been  added to the active scheduler.   </p>
+E32USER-CBase 50=<p>  This panic is raised by the <code>SetPriority()</code> member  function of an active object, a <span class="stripedlink"><code class="ApiItem">CActive</code></span>. It is caused by  an attempt to change the priority of the active object while it is active, i.e.  while a request is outstanding).   </p>
+E32USER-CBase 51=<p>  This panic is raised by the <code>At()</code>, <code>After()</code>  and <code>Lock()</code> member functions of the <span class="stripedlink"><code class="ApiItem">CTimer</code></span>  active object. It is caused by an attempt to request a timer event when the  <code>CTimer</code> active object has not been added to the active scheduler.   </p>
+E32USER-CBase 52=<p>  This panic is raised by the <code>Start()</code> member function of  the periodic timer active object, a <span class="stripedlink"><code class="ApiItem">CPeriodic</code></span>, when a  negative time interval is passed to the function.   </p>
+E32USER-CBase 53=<p>  This panic is raised by the <code>Start()</code> member function of  the periodic timer active object, a <span class="stripedlink"><code class="ApiItem">CPeriodic</code></span>, when a  negative delay time interval is passed to the function.   </p>
+E32USER-CBase 54=<p>  This panic is raised by the <code>RunL()</code> member function of  the <code class="ApiItem">CServer</code> active object base class responsible for  handling asynchronous requests from a client thread when the client passes a  negative function code in <code class="ApiItem">RMessage</code>. The only negative  values permitted are RMessage::EConnect and RMessage::EDisConnect.   </p>
+E32USER-CBase 55=<p>  This panic is raised by the <code>Start()</code> member function of  the <code class="ApiItem">CServer</code> active object base class responsible for  handling asynchronous requests from a client thread. It is caused by the server  having no name.   </p>
+E32USER-CBase 56=<p>  This panic is raised by the <code>New()</code> and  <code>NewL()</code> member functions of <code>CBitMapAllocator</code> when a  negative or zero size is passed to them.   </p>
+E32USER-CBase 57=<p>  This panic is raised by the <code>Free(TInt aPos)</code> member  function of <code>CBitMapAllocator</code> when a position value is passed which  is out of bounds.   </p>
+E32USER-CBase 58=<p>  This panic is raised by the <code>IsFree(TInt aPos)</code> member  function of <code>CBitMapAllocator</code> when a position value is passed which  is out of bounds.   </p>
+E32USER-CBase 59=<p>  This panic is raised by the <code>AllocFromTopFrom(TInt  aPos)</code> member function of <code>CBitMapAllocator</code> when a position  value is passed which is out of bounds.   </p>
+E32USER-CBase 62=<p>  This panic is raised by the <code>AllocAt()</code> member function  of <code>CBitMapAllocator</code> when the implied position has already been  allocated.   </p>
+E32USER-CBase 63=<p>  This panic is raised as a result of a call to the  <code>Pop()</code> and <code>PopAndDestroy()</code> static member functions of  the <span class="stripedlink"><code class="ApiItem">CleanupStack</code></span> class. The panic occurs when TRAPs have  been nested and an attempt is made to pop too many items from the cleanup stack  for the current nest level.   </p>
+E32USER-CBase 64=<p>  This panic is raised as a result of a call to the  <code>Pop()</code> and <code>PopAndDestroy()</code> static member functions of  the <span class="stripedlink"><code class="ApiItem">CleanupStack</code></span> class. The panic occurs when attempt is  made to pop more items from the cleanup stack than are on the cleanup stack.   </p>
+E32USER-CBase 65=<p>  The panic is raised as a result of a call to the <code>Pop()</code>  and <code>PopAndDestroy()</code> static member functions of the  <code>CleanupStack</code> class. The panic occurs when an attempt is made to  pop more items from the cleanup stack than are on the cleanup stack.   </p>
+E32USER-CBase 66=<p>  This panic is raised if an attempt is being made to insert a  cleanup item into a position on the cleanup stack reserved for marking the  current <span class="stripedlink"><code class="ApiItem">TRAP</code></span> nest level. In practice this  error occurs if the call to <span class="stripedlink"><code class="ApiItem">CleanupStack::PushL()</code></span> happens  when there has been no call to <code>TRAP()</code>.   </p>
+E32USER-CBase 67=<p>  This panic is raised when building a <code>TCleanupStackItem</code>  which is to be added to the cleanup stack. The building of the  <code>TCleanupStackItem</code> needs a <span class="stripedlink"><code class="ApiItem">TCleanupItem</code></span> and  this has been constructed with a NULL cleanup operation (a  <span class="stripedlink"><code class="ApiItem">TCleanupOperation</code></span>).   </p>
+E32USER-CBase 68=<p>  This panic is raised if there are no free slots available on the  cleanup stack to insert a cleanup item   </p>
+E32USER-CBase 69=<p>  This panic is raised if no trap handler has been installed. In  practice, this occurs if <span class="stripedlink"><code class="ApiItem">CTrapCleanup</code></span><code>::New()</code>  has not been called before using the cleanup stack.   </p>
+E32USER-CBase 70=<p>  This panic is raised as a result of a call to the versions of the  <code>Pop()</code> and <code>PopAndDestroy()</code> static member functions of  the <span class="stripedlink"><code class="ApiItem">CleanupStack</code></span> class which take an explicit count of the  items to be popped. The panic is caused by passing a negative value for the  number of items to be popped.   </p>
+E32USER-CBase 71=<p>  This panic is raised when <span class="stripedlink"><code class="ApiItem">TRAP</code></span>s have been nested and an attempt is made to  exit from a <span class="stripedlink"><code class="ApiItem">TRAP</code></span> nest level before all the  cleanup items belonging to that level have been popped off the cleanup stack.   </p>  <p>  There must be the same number of items on the cleanup stack on  entering a <span class="stripedlink"><code class="ApiItem">TRAP</code></span> harness as there is on  exiting. In other words, anything that is pushed onto the cleanup stack inside  a <span class="stripedlink"><code class="ApiItem">TRAP</code></span> harness must be popped off before  leaving the harness.   </p>  <p>  For example, the following code avoids this panic when  <code>FooLC()</code> does not leave, by explicitly popping <code>pointer</code>  before the end of the harness:   </p>  <p class="CodeBlock"><code>TRAPD(error,&nbsp;pointer&nbsp;=&nbsp;FooLC();&nbsp;CleanupStack::Pop(pointer));</code></p>  <p>  See also <span class="stripedlink">How to use TRAP</span>.   </p>
+E32USER-CBase 72=<p>  This panic is raised by the constructor of the circular buffer base  class, a <span class="stripedlink"><code class="ApiItem">CCirBufBase</code></span>, when the size value passed is zero  or negative.   </p>
+E32USER-CBase 73=<p>  This panic is raised by a call to the <code>SetLengthL()</code>  member function of of the circular buffer base class, a  <span class="stripedlink"><code class="ApiItem">CCirBufBase</code></span>, by passing a length value which is zero or  negative.   </p>
+E32USER-CBase 74=<p>  This panic is raised by a call to the <code>Add()</code> member  function of a circular buffer, a <span class="stripedlink"><code class="ApiItem">CCirBuf</code></span> when the pointer  to the item to be added is NULL.   </p>
+E32USER-CBase 75=<p>  This panic is raised by a call to the <code>Add()</code> member  function of a circular buffer, a <span class="stripedlink"><code class="ApiItem">CCirBuf</code></span> when the number  of items to be added is zero or negative   </p>
+E32USER-CBase 76=<p>  This panic is raised by a call to the <code>Remove()</code> member  function of a circular buffer, a <span class="stripedlink"><code class="ApiItem">CCirBuf</code></span> when the number  of items to be removed is zero or negative.   </p>
+E32USER-CBase 89=<p>  Introduced in 6.0: This panic is raised by call to the  <code>Replace()</code> member function of <span class="stripedlink"><code class="ApiItem">CActiveScheduler</code></span>  when the replacement active scheduler is the same as the existing active  scheduler.   </p>
+E32USER-CBase 90=<p>  Introduced in 6.0: The panic is raised as a result of a call to the  <code>Pop()</code> and <code>PopAndDestroy()</code> static member functions of  the <code>CleanupStack</code> class. The panic occurs when an the item to be  popped is not the expected item.   </p>
+E32USER-CBase 91=<p>  This panic is raised by  <span class="stripedlink"><code class="ApiItem">CActiveSchedulerWait::Start()</code></span> when the  <span class="stripedlink"><code class="ApiItem">CActiveSchedulerWait</code></span> object has already been started.   </p>
+E32USER-CBase 92=<p>  This panic is raised by  <span class="stripedlink"><code class="ApiItem">CActiveSchedulerWait::AsyncStop()</code></span> and  <span class="stripedlink"><code class="ApiItem">CActiveSchedulerWait::CanStopNow()</code></span> when the  <span class="stripedlink"><code class="ApiItem">CActiveSchedulerWait</code></span> object has not been started.   </p>
+E32USER-CBase 93=<p>  This panic is raised during construction of a  <span class="stripedlink"><code class="ApiItem">CAsyncOneShot</code></span> if the attempt to open a handle to the  current thread fails.   </p>
+E32USER-CBase 94=<p>  Not used.   </p>
+E32USER-CBase 95=<p>  This panic is raised on calls to the default implementations of  functions: <span class="stripedlink"><code class="ApiItem">CPolicyServer::CustomSecurityCheckL()</code></span> and  <span class="stripedlink"><code class="ApiItem">CPolicyServer::CustomFailureActionL()</code></span>.   </p>  <p>  The class <span class="stripedlink"><code class="ApiItem">CPolicyServer</code></span> is intended to be  derived from, and these functions in particular need to be re-implemented in a  derived class. This panic is a symptom of a failure to provide a derived class.  </p>
+E32USER-CBase 96=<p>  <i>This panic is raised in debug builds only.</i>  </p>  <p>  It is raised by the protected <span class="stripedlink"><code class="ApiItem">CPolicyServer</code></span>  constructor, if the first element pointed to by the <code>iRanges</code> member  of the <code class="ApiItem">TPolicy</code>  <code>aPolicy</code> parameter does not  have a value of 0; i.e. if <code>aPolicy</code>'s  <code class="ApiItem">TPolicy::iRanges</code><code>[0]</code> is not 0.   </p>
+E32USER-CBase 97=<p>  <i>This panic is raised in debug builds only.</i>  </p>  <p>  It is raised by the protected <span class="stripedlink"><code class="ApiItem">CPolicyServer</code></span>  constructor, if the value of each element of the <code>iRanges</code> member of  the <code class="ApiItem">TPolicy</code>  <code>aPolicy</code> parameter is not greater  than the value of the previous element.   </p>  <p>  See also <code class="ApiItem">TPolicy::iRanges</code>.   </p>
+E32USER-CBase 98=<p>  <i>This panic is raised in debug builds only.</i>  </p>  <p>  It is raised by the protected <span class="stripedlink"><code class="ApiItem">CPolicyServer</code></span>  constructor, if the value of every element in the <code>iElementsIndex</code>  member of the <code class="ApiItem">TPolicy</code>  <code>aPolicy</code> parameter is  not valid.   </p>  <p>  Elements of <code>iElementsIndex</code> are invalid if their values  are either:   </p>  <ul>  <li>  <p>  less than <code>ESpecialCaseHardLimit</code>  </p>  </li>  </ul>  <p>  or   </p>  <ul>  <li>  <p>  greater than <code>ESpecialCaseLimit</code>  </p>  </li>  </ul>  <p>  See also <code class="ApiItem">TPolicy::iElementsIndex</code> and  <span class="stripedlink"><code class="ApiItem">CPolicyServer::TSpecialCase</code></span>.   </p>
+E32USER-CBase 99=<p>  <i>This panic is raised in debug builds only.</i>  </p>  <p>  It is raised by the protected <span class="stripedlink"><code class="ApiItem">CPolicyServer</code></span>  constructor, if the value of the <code>iOnConnect</code> member of the  <code class="ApiItem">TPolicy</code>  <code>aPolicy</code> parameter is not valid.   </p>  <p>  The <code>iOnConnect</code> member is invalid if its value is  either:   </p>  <ul>  <li>  <p>  less than <code>ESpecialCaseHardLimit</code>  </p>  </li>  </ul>  <p>  or   </p>  <ul>  <li>  <p>  greater than <code>ESpecialCaseLimit</code>  </p>  </li>  </ul>  <p>  See also <code class="ApiItem">TPolicy::iOnConnect</code> and  <span class="stripedlink"><code class="ApiItem">CPolicyServer::TSpecialCase</code></span>.   </p>
+E32USER-CBase 100=<p>  This panic is raised if <code class="ApiItem">CPolicyServer::iPolicy</code>  is found to be invalid for some unknown reason.   </p>  <p>  If you run the server in debug mode, it is likely that the server  will panic with one of the panic codes in the range 96 to 99 inclusive. These  are described above.   </p>  <p>  See <span class="stripedlink"><code class="ApiItem">CPolicyServer</code></span> for information about what  constitutes a valid policy.   </p>
+E32USER-CBase 101=<p>  This panic is raised when the value returned by the  <span class="stripedlink"><code class="ApiItem">CPolicyServer::CustomSecurityCheckL()</code></span> and  <span class="stripedlink"><code class="ApiItem">CPolicyServer::CustomFailureActionL()</code></span> functions is  invalid.   </p>  <p>  The <span class="stripedlink"><code class="ApiItem">CPolicyServer::TCustomResult</code></span> enum defines  the valid set of return values.   </p>
+E32USER-CBase 102=<p>  <i>This panic is raised in debug builds only.</i>  </p>  <p>  It is raised by the protected <span class="stripedlink"><code class="ApiItem">CPolicyServer</code></span>  constructor, if the value of the <code>iRangeCount</code> member of the  <code class="ApiItem">TPolicy</code>  <code>aPolicy</code> parameter is not greater than  0. A value of 0 implies that no policies have been passed to the policy server.  It is a requirement that at least one policy be passed to the policy server.   </p>
+E32USER-CBase 103=<p>  This panic is raised by the policy server framework if a message  fails a policy check, whether custom or not.   </p>
+E32USER-CBase 104=<p>  <i>This panic is raised in debug builds only.</i>  </p>  <p>  It is raised by a number of <span class="stripedlink"><code class="ApiItem">CObjectIx</code></span> member  functions if the object's data becomes inconsistent.   </p>
+eSock fault 0=<p>Socket server initiation error</p>
+eSock fault 1=<p>No comms server available</p>
+eSock fault 2=<p>Unused</p>
+eSock fault 3=<p>Failed to install active scheduler</p>
+eSock fault 4=<p>Failed to create Sockets Server</p>
+eSock fault 5=<p>Failed to start Sockets Server</p>
+eSock fault 6=<p>Unused</p>
+eSock fault 7=<p>Unused</p>
+eSock fault 8=<p>Call made to unimplemented  <code>CProtocolBase::NewSAPL()</code></p>
+eSock fault 9=<p>Call made to unimplemented  <code>CProtocolBase::NewHostResolverL()</code></p>
+eSock fault 10=<p>Call made to unimplemented  <code>CProtocolBase::NewServiceResolverL()</code></p>
+eSock fault 11=<p>Call made to unimplemented  <code>CProtocolBase::NewNetDatabaseL()</code></p>
+eSock fault 12=<p>Unused</p>
+eSock fault 13=<p>Unused</p>
+eSock fault 14=<p>Unused</p>
+eSock fault 15=<p>Error in internal state</p>
+eSock fault 16=<p>Read attempted when already attempting</p>
+eSock fault 17=<p>Write attempted when already attempting</p>
+eSock fault 18=<p>Connect attempted when already attempting</p>
+eSock fault 19=<p>Close attempted when already attempting</p>
+eSock fault 20=<p>Ioctl attempted when already attempting</p>
+eSock fault 21=<p>Unused</p>
+eSock fault 22=<p>Error in accepted connection queuing</p>
+eSock fault 23=<p>Unused</p>
+eSock fault 24=<p>Failed to delete socket</p>
+eSock fault 25=<p>Unused</p>
+eSock fault 26=<p>Internal session maintenance error</p>
+eSock fault 27=<p>Unused</p>
+eSock panic 0=<p>Failed to create Sockets Server</p>
+eSock panic 1=<p>Failed to start Sockets Server</p>
+eSock panic 2=<p>Unused</p>
+eSock panic 3=<p>Unused</p>
+ESock 0=<p>  Unknown socket  </p>
+ESock 1=<p>  Unused  </p>
+ESock 2=<p>  Connection request made while already attempting to connect  </p>
+ESock 3=<p>  Read request made while already attempting to read  </p>
+ESock 4=<p>  Send request made while already attempting to send  </p>
+ESock 5=<p>  Close request made while already attempting to close  </p>
+ESock 6=<p>  Shutdown request made while already attempting to shutdown  </p>
+ESock 7=<p>  Accept request made while already attempting to accept  </p>
+ESock 8=<p>  Ioctl request made while already attempting to perform Ioctl  </p>
+ESock 9=<p>  Can't use <code>RSocket::SendTo()</code> on connection-orientated  sockets  </p>
+ESock 10=<p>  Can't use <code>RSocket::ListenL()</code> on connectionless sockets  </p>
+ESock 11=<p>  Listen request made while already attempting to listen  </p>
+ESock 12=<p>  Can't use <code>RSocket::Accept()</code> if not listening  </p>
+ESock 13=<p>  Failed to accept  </p>
+ESock 14=<p>  Descriptor parameter error  </p>
+ESock 15=<p>  A request was made of an <code>RHostResolver</code>,  <code>RServiceResolver</code>, or <code>RNetDatabase</code> when an  asynchronous request was already pending.  </p>
+ESock 16=<p>  Unused  </p>
+ESock 17=<p>  No socket in use  </p>
+ESock 18=<p>  Unused  </p>
+ESock 19=<p>  <code>RHostResolver::Next()</code> called without initial  resolution request  </p>
+ESock 20=<p>  Socket not set up to connect  </p>
+Etel Server 0=<p>The subsession handle is not recognised by the server.</p>
+Etel Server 1=<p>An attempt to read or write across the client-server boundary  has failed. This usually indicates that the descriptor sent is incorrectly  formatted.</p>
+Etel Server 2=<p>The message type- sent by the client- is not  recognised by the server.</p>
+Etel Server 3=<p>Client code has attempted to re-post an asynchronous request  before the original request has completed.</p>
+Etel Server 4=<p>The client has attempted to open a sub-session without first  opening its parent object. </p>
+Etel Server 5=<p>The client has attempted to use a zero length  descriptor.</p>
+Etel Server 6=<p>The size field of a descriptor indicates that it contains a  negative amount of data.</p>
+Etel Server 7=<p>Not used.</p>
+Etel Server 8=<p>Client failed to call <code>Open()</code>.</p>
+Etel Server 9=<p>Client failed to call <code>Open()</code>.</p>
+Etel Server 10=<p>Client code request to access an element outside the array  range.</p>
+Etel Server 11=<p>The <code>Open()</code> function has been called twice by the  same sub-session.</p>
+Etel Server 12=<p>The client has passed a bad phone call type.</p>
+Etel Server 13=<p>The client has specified a bad name for a phone line or phone  call object.</p>
+FBSCLI 1=<p>  No connection has been made to the font and bitmap server.  </p>
+FBSCLI 2=<p>  Attempted to pass a command to the font and bitmap server, but no  connection has been made.  </p>
+FBSCLI 3=<p>  Not used.  </p>
+FBSCLI 4=<p>  Not used.  </p>
+FBSCLI 5=<p>  Not used.  </p>
+FBSCLI 6=<p>  Internal typeface store error: the list of accessed fonts  (<code>CTypefaceStore::iFontAccess</code>) is inconsistent with the font cache  (<code>CFbsTypefaceStore::iTwipsCache</code>).  </p>
+FBSCLI 7=<p>  The typeface store was unable to create a font due to a NULL font  handle or address.  </p>
+FBSCLI 8=<p>  Attempted to access a NULL font pointer (debug builds only).  </p>
+FBSCLI 9=<p>  Invalid bitmap format (debug builds only).  </p>
+FBSCLI 10=<p>  Invalid bitmap display mode (<span class="stripedlink"><code class="ApiItem">TDisplayMode</code></span>).   </p>
+FBSCLI 11=<p>  Invalid bitmap compression value  (<span class="stripedlink"><code class="ApiItem">TBitmapfileCompression</code></span>), or an unsupported operation was  attempted on a compressed bitmap.  </p>
+FBSCLI 12=<p>  Bitmap decompression error (debug builds only).  </p>
+FBSCLI 13=<p>  Memory addressing error.  </p>
+FBSCLI 14=<p>  Either the display mode of the destination bitmap is not  <code>EColor256</code>, or the two bitmaps are different sizes in  <span class="stripedlink"><code class="ApiItem">CFbsColor256BitmapUtil::CopyBitmap()</code></span>.  </p>
+FBSCLI 15=<p>  An error occurred when constructing a hardware bitmap (debug builds  only).  </p>
+FBSCLI 16=<p>  Not used.  </p>
+FBSCLI 17=<p>  Memory alignment error in a bitmap loaded from ROM.  </p>
+FBSCLI 18=<p>  Not used.  </p>
+FBSCLI 19=<p>  New display mode not supported by  <code>CBitwiseBitmap::ChangeDisplayMode()</code> (debug builds only).  </p>
+FBSCLI 20=<p>  New display mode not supported by  <code>CBitwiseBitmap::ChangeDisplayMode()</code> (debug builds only).  </p>
+FBSCLI 21=<p>  When swapping a bitmap's width and height, the size of the new  bitmap would exceed the amount of memory allocated.  </p>
+FBSCLI 22=<p>  <code>CFbsBitmap::LockHeap()</code> has not been called prior to  calling <code>CFbsBitmap::DataAddress()</code> (debug builds only).  </p>
+FSCLIENT panic 0=<p>  This panic is raised by:   </p>  <ul>  <li>  <p>  the <code>TDriveUnit(TInt aDrive)</code> variant of the  <span class="stripedlink"><code class="ApiItem">TDriveUnit</code></span> constructor,   </p>  </li>  <li>  <p>  the <code>(TInt aDrive)</code> variant of the  <span class="stripedlink"><code class="ApiItem">TDriveUnit</code></span> assignment operator   </p>  </li>  </ul>  <p>  when the specified drive number is greater than or equal to  <code>KMaxDrives</code>, i.e. 26.   </p>
+FSCLIENT panic 1=<p>  This panic is raised by:   </p>  <ul>  <li>  <p>  the <code>TDriveUnit(const TDesC&amp; aDriveText)</code>  variant of the <span class="stripedlink"><code class="ApiItem">TDriveUnit</code></span> constructor,   </p>  </li>  <li>  <p>  the <code>(const TDesC&amp; aDriveText)</code> variant of the  <span class="stripedlink"><code class="ApiItem">TDriveUnit</code></span> assignment operator   </p>  </li>  </ul>  <p>  when the specified drive letter is invalid, i.e. does not  correspond to a drive number.   </p>
+FSCLIENT panic 2=<p>  This panic is raised when searching for the next file using  <span class="stripedlink"><code class="ApiItem">TFindFile::Find()</code></span> or  <span class="stripedlink"><code class="ApiItem">TFindFile::FindWild()</code></span> before the initial call specifying  the search method.   </p>  <p>  Calls to <span class="stripedlink"><code class="ApiItem">TFindFile::Find()</code></span> cannot be made  until an initial call has been made to either of:   </p>  <ul>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">TFindFile::FindByDir()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">TFindFile::FindByPath()</code></span>  </p>  </li>  </ul>  <p>  Calls to <span class="stripedlink"><code class="ApiItem">TFindFile::FindWild()</code></span> cannot be made  until an initial call has been made to either of:   </p>  <ul>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">TFindFile::FindWildByDir()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">TFindFile::FindWildByPath()</code></span>  </p>  </li>  </ul>
+FSCLIENT panic 3=<p>  <em>Not used.</em>  </p>
+FSCLIENT panic 4=<p>  <em>Not used.</em>  </p>
+FSCLIENT panic 5=<p>  This panic is raised by a call to  <span class="stripedlink"><code class="ApiItem">TFileText::Seek()</code></span> when the seek mode passed to the  function is neither <span class="stripedlink"><code class="ApiItem">TSeek</code></span><code>::ESeekStart</code> nor  <span class="stripedlink"><code class="ApiItem">TSeek</code></span><code>::ESeekEnd</code>.   </p>
+FSCLIENT panic 6=<p>  <em>Not used.</em>  </p>
+FSCLIENT panic 7=<p>  <em>Not used.</em>  </p>
+FSCLIENT panic 8=<p>  <em>Not used.</em>  </p>
+FSCLIENT panic 9=<p>  <em>Not used.</em>  </p>
+FSCLIENT panic 10=<p>  This panic is raised by the <span class="stripedlink"><code class="ApiItem">CFileMan</code></span>  implementation when the operation to be run is undefined.   </p>
+FSCLIENT panic 11=<p>  This panic is raised by  <span class="stripedlink"><code class="ApiItem">CFileBase::CurrentEntry()</code></span> if there is no current entry.   </p>
+FSCLIENT panic 12=<p>  The value returned by the file management observer functions:   </p>  <ul>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">MFileManObserver::NotifyFileManStarted()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">MFileManObserver::NotifyFileManEnded()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">MFileManObserver::NotifyFileManOperation()</code></span>  </p>  </li>  </ul>  <p>  is not a valid <span class="stripedlink"><code class="ApiItem">MFileManObserver::TControl</code></span> enum  value.   </p>
+FSCLIENT panic 13=<p>  <em>Not used.</em>  </p>
+FSCLIENT panic 14=<p>  <em>Not used.</em>  </p>
+FSCLIENT panic 15=<p>  <i>This panic is raised in debug builds only.</i>  </p>  <p>  This panic is raised in a call to  <span class="stripedlink"><code class="ApiItem">CDirScan::SetScanDataL()</code></span> when the path does not contain at  least one '\' character.   </p>
+FSCLIENT panic 16=<p>  <em>Not used.</em>  </p>
+FSCLIENT panic 17=<p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">RFile::Lock()</code></span> when the  number of bytes defining the region to be locked is either zero or negative.   </p>
+FSCLIENT panic 18=<p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">RFile::UnLock()</code></span> when  the number of bytes defining the region to be unlocked is either zero or  negative.   </p>
+FSCLIENT panic 19=<p>  All variants of the <span class="stripedlink"><code class="ApiItem">RFile::Read()</code></span> and  <span class="stripedlink"><code class="ApiItem">RFile::Write()</code></span> functions take an argument denoting an  offset value, in bytes, from the start of a file; the panic is raised by these  functions when the offset value is negative.   </p>
+FSCLIENT panic 20=<p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">RFile::SetSize()</code></span> when  the argument denoting the size of the new file is negative.   </p>
+FSCLIENT panic 21=<p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">RFile::SetAtt()</code></span> and  <span class="stripedlink"><code class="ApiItem">RFile::Set()</code></span> when the same attribute bit is set in both  the bitmask that indicates the file attributes to be set and the bitmask that  indicates the attributes to be cleared.   </p>
+FSCLIENT panic 22=<p>  The panic is raised by the <code>[]</code> operator of  <span class="stripedlink"><code class="ApiItem">TEntryArray</code></span>, when the index value passed to the operator  is greater than or equal to the number of elements in the array.   </p>
+FSCLIENT panic 23=<p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">CDir::Sort()</code></span> when the  method of sorting, as defined by the single function argument, is none of the  entries:   </p>  <ul>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">TEntryKey</code></span><code>::ESortNone</code>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">TEntryKey</code></span><code>::ESortByDate</code>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">TEntryKey</code></span><code>::ESortBySize</code>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">TEntryKey</code></span><code>::ESortByExt</code>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">TEntryKey</code></span><code>::ESortByUid</code>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">TEntryKey</code></span><code>::ESortByName</code>  </p>  </li>  </ul>
+FSCLIENT panic 24=<p>  This panic is raised by the <span class="stripedlink"><code class="ApiItem">TParsePtr</code></span>  constructor that takes a reference to a filename, when the name cannot be  parsed.   </p>
+FSCLIENT panic 25=<p>  This panic is raised by the <span class="stripedlink"><code class="ApiItem">TParsePtrC</code></span>  constructor that takes a const reference to a filename, when the name cannot be  parsed.   </p>
+FSCLIENT panic 26=<p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">RFs::ReadFileSection()</code></span>  when the specified number of bytes to be read from the file is greater than the  maximum length of the target descriptor.   </p>
+FSCLIENT panic 27=<p>  <i>This panic is raised in debug builds only.</i>  </p>  <p>  This panic is raised by the <code class="ApiItem">RFile::Write(const  TDesC8&amp;,TInt)</code> variant when the specified length is greater than  the length of the source descriptor.   </p>
+IMAPServer 0=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 1=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 2=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 3=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 4=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 5=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 6=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 7=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 8=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 9=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 10=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 11=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 12=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 13=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 14=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 15=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 16=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 17=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 18=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 19=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 20=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 21=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 22=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 23=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 24=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 25=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 26=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 27=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 28=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 29=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 30=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 31=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 32=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 33=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 34=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 35=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 36=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 37=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 38=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 39=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 40=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 41=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 42=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 43=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 44=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 45=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 46=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 47=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 48=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 49=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 50=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 51=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 52=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 53=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 54=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 55=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 56=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 57=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 58=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 59=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 60=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 61=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 62=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 63=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 64=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 65=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 66=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 67=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 68=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 69=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 70=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 71=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 72=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 73=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 74=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 75=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 76=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 77=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 78=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 79=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 80=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 81=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 82=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 83=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 84=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 85=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 86=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 87=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 88=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 89=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 90=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 91=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 92=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 93=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 94=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 95=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 96=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 97=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 98=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 99=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 100=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 101=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 102=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 103=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 104=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 105=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 106=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 107=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 108=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 109=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 110=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 111=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 112=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 113=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 114=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 115=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 116=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 117=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 118=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 119=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 120=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 121=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 122=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 123=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 124=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 125=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 126=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 127=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 128=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 129=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 130=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 131=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 132=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 133=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 134=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 135=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 136=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 137=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 138=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 139=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 140=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 141=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 142=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 143=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 144=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 145=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 146=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 147=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 148=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 149=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 150=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 151=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 152=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 153=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 154=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 155=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 156=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 157=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 158=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 159=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 160=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 161=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 162=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 163=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 164=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 165=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 166=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 167=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 168=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 169=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 170=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 171=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 172=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 173=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 174=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 175=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 176=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 177=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 178=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 179=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 180=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 181=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 182=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 183=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 184=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 185=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 186=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 187=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 188=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 189=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 190=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 191=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 192=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 193=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 194=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 195=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 196=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 197=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 198=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 199=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 200=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 201=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 202=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 203=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 204=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 205=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 206=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 207=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 208=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 209=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 210=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 211=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 212=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 213=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 214=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 215=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 216=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 217=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 218=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 219=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 220=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 221=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 222=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 223=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 224=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 225=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 226=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 227=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 228=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 229=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 230=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 231=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 232=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 233=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 234=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 235=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 236=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 237=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 238=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 239=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 240=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 241=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 242=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 243=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 244=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 245=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 246=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 247=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 248=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 249=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 250=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 251=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 252=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 253=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 254=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 255=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 256=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 257=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 258=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 259=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 260=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 261=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 262=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 263=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 264=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 265=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 266=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 267=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 268=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 269=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 270=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 271=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 272=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 273=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 274=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 275=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 276=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 277=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 278=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 279=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 280=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 281=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 282=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 283=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 284=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 285=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 286=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 287=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 288=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 289=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 290=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 291=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 292=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 293=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 294=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 295=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 296=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 297=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 298=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 299=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 300=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 301=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 302=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 303=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 304=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 305=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 306=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 307=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 308=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 309=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 310=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 311=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 312=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 313=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 314=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 315=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 316=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 317=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 318=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 319=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 320=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 321=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 322=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 323=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 324=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 325=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 326=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 327=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 328=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 329=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 330=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 331=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 332=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 333=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 334=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 335=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 336=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 337=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 338=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 339=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 340=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 341=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 342=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 343=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 344=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 345=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 346=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 347=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 348=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 349=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 350=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 351=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 352=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 353=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 354=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 355=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 356=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 357=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 358=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 359=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 360=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 361=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 362=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 363=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 364=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 365=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 366=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 367=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 368=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 369=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 370=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 371=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 372=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 373=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 374=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 375=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 376=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 377=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 378=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 379=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 380=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 381=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 382=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 383=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 384=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 385=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 386=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 387=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 388=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 389=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 390=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 391=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 392=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 393=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 394=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 395=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 396=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 397=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 398=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 399=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 400=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 401=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 402=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 403=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 404=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 405=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 406=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 407=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 408=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 409=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 410=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 411=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 412=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 413=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 414=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 415=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 416=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 417=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 418=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 419=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 420=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 421=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 422=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 423=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 424=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 425=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 426=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 427=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 428=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 429=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 430=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 431=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 432=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 433=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 434=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 435=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 436=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 437=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 438=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 439=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 440=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 441=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 442=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 443=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 444=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 445=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 446=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 447=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 448=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 449=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 450=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 451=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 452=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 453=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 454=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 455=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 456=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 457=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 458=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 459=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 460=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 461=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 462=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 463=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 464=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 465=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 466=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 467=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 468=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 469=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 470=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 471=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 472=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 473=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 474=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 475=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 476=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 477=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 478=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 479=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 480=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 481=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 482=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 483=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 484=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 485=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 486=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 487=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 488=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 489=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 490=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 491=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 492=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 493=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 494=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 495=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 496=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 497=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 498=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 499=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 500=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 501=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 502=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 503=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 504=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 505=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 506=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 507=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 508=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 509=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 510=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 511=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 512=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 513=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 514=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 515=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 516=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 517=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 518=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 519=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 520=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 521=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 522=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 523=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 524=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 525=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 526=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 527=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 528=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 529=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 530=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 531=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 532=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 533=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 534=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 535=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 536=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 537=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 538=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 539=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 540=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 541=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 542=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 543=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 544=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 545=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 546=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 547=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 548=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 549=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 550=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 551=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 552=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 553=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 554=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 555=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 556=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 557=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 558=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 559=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 560=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 561=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 562=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 563=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 564=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 565=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 566=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 567=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 568=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 569=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 570=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 571=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 572=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 573=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 574=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 575=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 576=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 577=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 578=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 579=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 580=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 581=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 582=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 583=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 584=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 585=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 586=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 587=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 588=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 589=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 590=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 591=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 592=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 593=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 594=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 595=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 596=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 597=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 598=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 599=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 600=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 601=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 602=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 603=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 604=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 605=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 606=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 607=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 608=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 609=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 610=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 611=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 612=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 613=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 614=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 615=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 616=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 617=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 618=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 619=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 620=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 621=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 622=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 623=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 624=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 625=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 626=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 627=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 628=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 629=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 630=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 631=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 632=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 633=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 634=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 635=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 636=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 637=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 638=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 639=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 640=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 641=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 642=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 643=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 644=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 645=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 646=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 647=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 648=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 649=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 650=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 651=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 652=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 653=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 654=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 655=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 656=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 657=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 658=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 659=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 660=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 661=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 662=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 663=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 664=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 665=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 666=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 667=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 668=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 669=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 670=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 671=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 672=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 673=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 674=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 675=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 676=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 677=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 678=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 679=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 680=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 681=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 682=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 683=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 684=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 685=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 686=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 687=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 688=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 689=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 690=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 691=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 692=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 693=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 694=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 695=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 696=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 697=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 698=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 699=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 700=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 701=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 702=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 703=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 704=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 705=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 706=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 707=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 708=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 709=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 710=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 711=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 712=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 713=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 714=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 715=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 716=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 717=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 718=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 719=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 720=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 721=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 722=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 723=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 724=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 725=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 726=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 727=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 728=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 729=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 730=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 731=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 732=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 733=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 734=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 735=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 736=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 737=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 738=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 739=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 740=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 741=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 742=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 743=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 744=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 745=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 746=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 747=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 748=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 749=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 750=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 751=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 752=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 753=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 754=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 755=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 756=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 757=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 758=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 759=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 760=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 761=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 762=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 763=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 764=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 765=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 766=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 767=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 768=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 769=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 770=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 771=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 772=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 773=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 774=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 775=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 776=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 777=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 778=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 779=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 780=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 781=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 782=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 783=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 784=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 785=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 786=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 787=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 788=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 789=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 790=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 791=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 792=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 793=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 794=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 795=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 796=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 797=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 798=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 799=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 800=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 801=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 802=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 803=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 804=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 805=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 806=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 807=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 808=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 809=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 810=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 811=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 812=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 813=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 814=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 815=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 816=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 817=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 818=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 819=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 820=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 821=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 822=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 823=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 824=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 825=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 826=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 827=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 828=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 829=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 830=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 831=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 832=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 833=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 834=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 835=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 836=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 837=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 838=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 839=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 840=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 841=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 842=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 843=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 844=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 845=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 846=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 847=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 848=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 849=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 850=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 851=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 852=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 853=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 854=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 855=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 856=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 857=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 858=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 859=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 860=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 861=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 862=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 863=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 864=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 865=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 866=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 867=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 868=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 869=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 870=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 871=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 872=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 873=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 874=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 875=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 876=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 877=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 878=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 879=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 880=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 881=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 882=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 883=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 884=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 885=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 886=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 887=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 888=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 889=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 890=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 891=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 892=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 893=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 894=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 895=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 896=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 897=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 898=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 899=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 900=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 901=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 902=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 903=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 904=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 905=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 906=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 907=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 908=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 909=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 910=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 911=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 912=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 913=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 914=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 915=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 916=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 917=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 918=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 919=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 920=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 921=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 922=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 923=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 924=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 925=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 926=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 927=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 928=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 929=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 930=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 931=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 932=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 933=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 934=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 935=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 936=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 937=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 938=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 939=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 940=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 941=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 942=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 943=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 944=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 945=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 946=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 947=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 948=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 949=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 950=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 951=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 952=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 953=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 954=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 955=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 956=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 957=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 958=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 959=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 960=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 961=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 962=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 963=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 964=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 965=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 966=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 967=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 968=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 969=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 970=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 971=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 972=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 973=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 974=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 975=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 976=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 977=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 978=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 979=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 980=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 981=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 982=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 983=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 984=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 985=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 986=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 987=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 988=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 989=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 990=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 991=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 992=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 993=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 994=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 995=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 996=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 997=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 998=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 999=<p>  Session logic, which relates to the set up and management of an  individual session to an IMAP server  </p>
+IMAPServer 1000=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1001=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1002=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1003=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1004=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1005=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1006=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1007=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1008=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1009=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1010=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1011=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1012=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1013=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1014=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1015=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1016=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1017=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1018=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1019=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1020=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1021=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1022=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1023=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1024=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1025=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1026=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1027=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1028=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1029=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1030=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1031=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1032=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1033=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1034=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1035=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1036=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1037=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1038=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1039=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1040=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1041=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1042=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1043=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1044=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1045=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1046=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1047=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1048=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1049=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1050=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1051=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1052=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1053=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1054=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1055=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1056=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1057=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1058=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1059=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1060=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1061=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1062=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1063=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1064=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1065=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1066=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1067=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1068=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1069=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1070=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1071=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1072=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1073=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1074=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1075=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1076=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1077=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1078=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1079=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1080=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1081=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1082=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1083=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1084=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1085=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1086=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1087=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1088=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1089=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1090=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1091=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1092=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1093=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1094=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1095=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1096=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1097=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1098=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1099=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1100=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1101=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1102=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1103=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1104=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1105=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1106=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1107=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1108=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1109=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1110=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1111=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1112=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1113=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1114=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1115=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1116=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1117=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1118=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1119=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1120=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1121=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1122=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1123=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1124=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1125=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1126=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1127=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1128=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1129=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1130=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1131=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1132=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1133=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1134=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1135=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1136=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1137=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1138=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1139=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1140=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1141=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1142=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1143=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1144=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1145=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1146=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1147=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1148=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1149=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1150=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1151=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1152=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1153=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1154=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1155=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1156=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1157=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1158=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1159=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1160=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1161=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1162=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1163=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1164=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1165=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1166=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1167=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1168=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1169=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1170=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1171=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1172=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1173=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1174=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1175=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1176=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1177=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1178=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1179=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1180=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1181=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1182=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1183=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1184=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1185=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1186=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1187=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1188=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1189=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1190=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1191=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1192=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1193=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1194=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1195=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1196=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1197=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1198=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1199=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1200=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1201=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1202=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1203=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1204=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1205=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1206=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1207=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1208=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1209=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1210=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1211=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1212=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1213=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1214=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1215=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1216=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1217=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1218=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1219=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1220=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1221=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1222=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1223=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1224=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1225=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1226=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1227=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1228=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1229=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1230=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1231=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1232=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1233=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1234=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1235=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1236=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1237=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1238=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1239=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1240=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1241=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1242=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1243=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1244=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1245=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1246=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1247=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1248=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1249=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1250=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1251=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1252=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1253=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1254=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1255=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1256=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1257=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1258=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1259=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1260=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1261=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1262=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1263=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1264=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1265=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1266=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1267=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1268=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1269=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1270=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1271=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1272=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1273=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1274=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1275=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1276=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1277=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1278=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1279=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1280=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1281=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1282=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1283=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1284=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1285=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1286=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1287=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1288=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1289=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1290=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1291=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1292=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1293=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1294=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1295=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1296=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1297=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1298=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1299=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1300=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1301=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1302=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1303=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1304=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1305=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1306=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1307=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1308=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1309=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1310=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1311=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1312=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1313=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1314=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1315=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1316=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1317=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1318=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1319=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1320=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1321=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1322=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1323=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1324=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1325=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1326=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1327=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1328=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1329=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1330=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1331=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1332=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1333=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1334=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1335=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1336=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1337=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1338=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1339=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1340=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1341=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1342=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1343=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1344=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1345=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1346=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1347=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1348=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1349=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1350=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1351=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1352=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1353=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1354=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1355=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1356=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1357=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1358=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1359=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1360=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1361=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1362=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1363=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1364=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1365=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1366=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1367=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1368=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1369=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1370=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1371=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1372=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1373=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1374=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1375=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1376=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1377=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1378=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1379=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1380=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1381=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1382=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1383=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1384=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1385=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1386=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1387=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1388=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1389=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1390=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1391=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1392=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1393=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1394=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1395=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1396=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1397=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1398=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1399=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1400=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1401=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1402=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1403=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1404=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1405=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1406=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1407=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1408=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1409=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1410=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1411=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1412=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1413=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1414=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1415=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1416=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1417=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1418=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1419=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1420=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1421=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1422=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1423=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1424=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1425=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1426=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1427=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1428=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1429=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1430=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1431=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1432=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1433=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1434=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1435=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1436=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1437=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1438=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1439=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1440=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1441=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1442=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1443=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1444=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1445=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1446=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1447=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1448=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1449=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1450=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1451=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1452=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1453=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1454=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1455=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1456=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1457=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1458=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1459=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1460=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1461=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1462=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1463=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1464=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1465=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1466=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1467=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1468=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1469=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1470=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1471=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1472=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1473=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1474=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1475=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1476=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1477=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1478=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1479=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1480=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1481=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1482=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1483=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1484=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1485=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1486=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1487=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1488=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1489=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1490=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1491=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1492=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1493=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1494=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1495=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1496=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1497=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1498=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1499=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1500=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1501=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1502=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1503=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1504=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1505=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1506=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1507=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1508=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1509=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1510=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1511=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1512=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1513=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1514=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1515=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1516=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1517=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1518=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1519=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1520=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1521=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1522=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1523=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1524=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1525=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1526=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1527=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1528=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1529=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1530=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1531=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1532=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1533=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1534=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1535=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1536=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1537=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1538=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1539=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1540=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1541=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1542=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1543=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1544=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1545=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1546=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1547=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1548=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1549=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1550=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1551=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1552=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1553=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1554=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1555=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1556=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1557=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1558=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1559=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1560=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1561=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1562=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1563=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1564=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1565=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1566=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1567=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1568=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1569=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1570=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1571=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1572=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1573=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1574=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1575=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1576=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1577=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1578=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1579=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1580=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1581=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1582=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1583=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1584=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1585=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1586=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1587=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1588=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1589=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1590=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1591=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1592=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1593=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1594=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1595=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1596=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1597=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1598=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1599=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1600=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1601=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1602=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1603=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1604=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1605=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1606=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1607=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1608=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1609=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1610=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1611=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1612=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1613=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1614=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1615=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1616=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1617=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1618=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1619=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1620=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1621=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1622=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1623=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1624=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1625=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1626=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1627=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1628=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1629=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1630=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1631=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1632=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1633=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1634=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1635=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1636=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1637=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1638=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1639=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1640=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1641=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1642=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1643=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1644=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1645=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1646=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1647=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1648=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1649=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1650=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1651=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1652=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1653=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1654=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1655=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1656=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1657=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1658=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1659=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1660=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1661=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1662=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1663=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1664=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1665=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1666=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1667=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1668=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1669=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1670=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1671=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1672=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1673=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1674=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1675=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1676=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1677=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1678=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1679=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1680=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1681=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1682=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1683=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1684=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1685=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1686=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1687=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1688=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1689=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1690=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1691=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1692=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1693=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1694=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1695=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1696=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1697=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1698=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1699=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1700=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1701=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1702=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1703=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1704=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1705=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1706=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1707=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1708=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1709=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1710=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1711=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1712=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1713=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1714=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1715=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1716=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1717=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1718=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1719=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1720=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1721=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1722=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1723=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1724=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1725=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1726=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1727=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1728=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1729=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1730=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1731=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1732=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1733=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1734=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1735=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1736=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1737=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1738=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1739=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1740=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1741=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1742=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1743=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1744=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1745=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1746=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1747=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1748=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1749=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1750=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1751=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1752=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1753=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1754=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1755=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1756=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1757=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1758=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1759=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1760=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1761=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1762=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1763=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1764=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1765=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1766=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1767=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1768=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1769=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1770=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1771=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1772=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1773=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1774=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1775=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1776=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1777=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1778=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1779=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1780=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1781=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1782=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1783=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1784=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1785=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1786=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1787=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1788=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1789=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1790=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1791=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1792=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1793=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1794=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1795=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1796=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1797=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1798=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1799=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1800=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1801=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1802=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1803=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1804=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1805=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1806=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1807=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1808=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1809=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1810=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1811=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1812=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1813=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1814=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1815=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1816=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1817=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1818=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1819=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1820=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1821=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1822=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1823=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1824=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1825=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1826=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1827=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1828=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1829=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1830=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1831=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1832=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1833=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1834=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1835=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1836=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1837=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1838=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1839=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1840=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1841=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1842=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1843=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1844=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1845=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1846=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1847=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1848=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1849=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1850=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1851=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1852=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1853=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1854=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1855=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1856=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1857=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1858=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1859=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1860=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1861=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1862=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1863=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1864=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1865=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1866=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1867=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1868=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1869=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1870=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1871=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1872=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1873=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1874=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1875=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1876=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1877=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1878=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1879=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1880=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1881=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1882=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1883=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1884=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1885=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1886=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1887=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1888=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1889=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1890=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1891=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1892=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1893=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1894=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1895=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1896=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1897=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1898=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1899=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1900=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1901=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1902=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1903=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1904=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1905=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1906=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1907=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1908=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1909=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1910=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1911=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1912=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1913=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1914=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1915=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1916=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1917=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1918=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1919=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1920=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1921=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1922=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1923=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1924=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1925=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1926=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1927=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1928=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1929=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1930=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1931=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1932=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1933=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1934=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1935=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1936=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1937=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1938=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1939=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1940=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1941=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1942=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1943=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1944=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1945=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1946=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1947=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1948=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1949=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1950=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1951=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1952=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1953=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1954=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1955=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1956=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1957=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1958=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1959=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1960=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1961=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1962=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1963=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1964=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1965=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1966=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1967=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1968=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1969=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1970=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1971=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1972=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1973=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1974=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1975=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1976=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1977=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1978=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1979=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1980=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1981=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1982=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1983=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1984=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1985=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1986=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1987=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1988=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1989=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1990=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1991=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1992=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1993=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1994=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1995=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1996=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1997=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1998=<p>  IMAP settings loading and storage  </p>
+IMAPServer 1999=<p>  IMAP settings loading and storage  </p>
+IMAPServer 2000=<p>  Server MTM class implementation  </p>
+IMAPServer 2001=<p>  Server MTM class implementation  </p>
+IMAPServer 2002=<p>  Server MTM class implementation  </p>
+IMAPServer 2003=<p>  Server MTM class implementation  </p>
+IMAPServer 2004=<p>  Server MTM class implementation  </p>
+IMAPServer 2005=<p>  Server MTM class implementation  </p>
+IMAPServer 2006=<p>  Server MTM class implementation  </p>
+IMAPServer 2007=<p>  Server MTM class implementation  </p>
+IMAPServer 2008=<p>  Server MTM class implementation  </p>
+IMAPServer 2009=<p>  Server MTM class implementation  </p>
+IMAPServer 2010=<p>  Server MTM class implementation  </p>
+IMAPServer 2011=<p>  Server MTM class implementation  </p>
+IMAPServer 2012=<p>  Server MTM class implementation  </p>
+IMAPServer 2013=<p>  Server MTM class implementation  </p>
+IMAPServer 2014=<p>  Server MTM class implementation  </p>
+IMAPServer 2015=<p>  Server MTM class implementation  </p>
+IMAPServer 2016=<p>  Server MTM class implementation  </p>
+IMAPServer 2017=<p>  Server MTM class implementation  </p>
+IMAPServer 2018=<p>  Server MTM class implementation  </p>
+IMAPServer 2019=<p>  Server MTM class implementation  </p>
+IMAPServer 2020=<p>  Server MTM class implementation  </p>
+IMAPServer 2021=<p>  Server MTM class implementation  </p>
+IMAPServer 2022=<p>  Server MTM class implementation  </p>
+IMAPServer 2023=<p>  Server MTM class implementation  </p>
+IMAPServer 2024=<p>  Server MTM class implementation  </p>
+IMAPServer 2025=<p>  Server MTM class implementation  </p>
+IMAPServer 2026=<p>  Server MTM class implementation  </p>
+IMAPServer 2027=<p>  Server MTM class implementation  </p>
+IMAPServer 2028=<p>  Server MTM class implementation  </p>
+IMAPServer 2029=<p>  Server MTM class implementation  </p>
+IMAPServer 2030=<p>  Server MTM class implementation  </p>
+IMAPServer 2031=<p>  Server MTM class implementation  </p>
+IMAPServer 2032=<p>  Server MTM class implementation  </p>
+IMAPServer 2033=<p>  Server MTM class implementation  </p>
+IMAPServer 2034=<p>  Server MTM class implementation  </p>
+IMAPServer 2035=<p>  Server MTM class implementation  </p>
+IMAPServer 2036=<p>  Server MTM class implementation  </p>
+IMAPServer 2037=<p>  Server MTM class implementation  </p>
+IMAPServer 2038=<p>  Server MTM class implementation  </p>
+IMAPServer 2039=<p>  Server MTM class implementation  </p>
+IMAPServer 2040=<p>  Server MTM class implementation  </p>
+IMAPServer 2041=<p>  Server MTM class implementation  </p>
+IMAPServer 2042=<p>  Server MTM class implementation  </p>
+IMAPServer 2043=<p>  Server MTM class implementation  </p>
+IMAPServer 2044=<p>  Server MTM class implementation  </p>
+IMAPServer 2045=<p>  Server MTM class implementation  </p>
+IMAPServer 2046=<p>  Server MTM class implementation  </p>
+IMAPServer 2047=<p>  Server MTM class implementation  </p>
+IMAPServer 2048=<p>  Server MTM class implementation  </p>
+IMAPServer 2049=<p>  Server MTM class implementation  </p>
+IMAPServer 2050=<p>  Server MTM class implementation  </p>
+IMAPServer 2051=<p>  Server MTM class implementation  </p>
+IMAPServer 2052=<p>  Server MTM class implementation  </p>
+IMAPServer 2053=<p>  Server MTM class implementation  </p>
+IMAPServer 2054=<p>  Server MTM class implementation  </p>
+IMAPServer 2055=<p>  Server MTM class implementation  </p>
+IMAPServer 2056=<p>  Server MTM class implementation  </p>
+IMAPServer 2057=<p>  Server MTM class implementation  </p>
+IMAPServer 2058=<p>  Server MTM class implementation  </p>
+IMAPServer 2059=<p>  Server MTM class implementation  </p>
+IMAPServer 2060=<p>  Server MTM class implementation  </p>
+IMAPServer 2061=<p>  Server MTM class implementation  </p>
+IMAPServer 2062=<p>  Server MTM class implementation  </p>
+IMAPServer 2063=<p>  Server MTM class implementation  </p>
+IMAPServer 2064=<p>  Server MTM class implementation  </p>
+IMAPServer 2065=<p>  Server MTM class implementation  </p>
+IMAPServer 2066=<p>  Server MTM class implementation  </p>
+IMAPServer 2067=<p>  Server MTM class implementation  </p>
+IMAPServer 2068=<p>  Server MTM class implementation  </p>
+IMAPServer 2069=<p>  Server MTM class implementation  </p>
+IMAPServer 2070=<p>  Server MTM class implementation  </p>
+IMAPServer 2071=<p>  Server MTM class implementation  </p>
+IMAPServer 2072=<p>  Server MTM class implementation  </p>
+IMAPServer 2073=<p>  Server MTM class implementation  </p>
+IMAPServer 2074=<p>  Server MTM class implementation  </p>
+IMAPServer 2075=<p>  Server MTM class implementation  </p>
+IMAPServer 2076=<p>  Server MTM class implementation  </p>
+IMAPServer 2077=<p>  Server MTM class implementation  </p>
+IMAPServer 2078=<p>  Server MTM class implementation  </p>
+IMAPServer 2079=<p>  Server MTM class implementation  </p>
+IMAPServer 2080=<p>  Server MTM class implementation  </p>
+IMAPServer 2081=<p>  Server MTM class implementation  </p>
+IMAPServer 2082=<p>  Server MTM class implementation  </p>
+IMAPServer 2083=<p>  Server MTM class implementation  </p>
+IMAPServer 2084=<p>  Server MTM class implementation  </p>
+IMAPServer 2085=<p>  Server MTM class implementation  </p>
+IMAPServer 2086=<p>  Server MTM class implementation  </p>
+IMAPServer 2087=<p>  Server MTM class implementation  </p>
+IMAPServer 2088=<p>  Server MTM class implementation  </p>
+IMAPServer 2089=<p>  Server MTM class implementation  </p>
+IMAPServer 2090=<p>  Server MTM class implementation  </p>
+IMAPServer 2091=<p>  Server MTM class implementation  </p>
+IMAPServer 2092=<p>  Server MTM class implementation  </p>
+IMAPServer 2093=<p>  Server MTM class implementation  </p>
+IMAPServer 2094=<p>  Server MTM class implementation  </p>
+IMAPServer 2095=<p>  Server MTM class implementation  </p>
+IMAPServer 2096=<p>  Server MTM class implementation  </p>
+IMAPServer 2097=<p>  Server MTM class implementation  </p>
+IMAPServer 2098=<p>  Server MTM class implementation  </p>
+IMAPServer 2099=<p>  Server MTM class implementation  </p>
+IMAPServer 2100=<p>  Server MTM class implementation  </p>
+IMAPServer 2101=<p>  Server MTM class implementation  </p>
+IMAPServer 2102=<p>  Server MTM class implementation  </p>
+IMAPServer 2103=<p>  Server MTM class implementation  </p>
+IMAPServer 2104=<p>  Server MTM class implementation  </p>
+IMAPServer 2105=<p>  Server MTM class implementation  </p>
+IMAPServer 2106=<p>  Server MTM class implementation  </p>
+IMAPServer 2107=<p>  Server MTM class implementation  </p>
+IMAPServer 2108=<p>  Server MTM class implementation  </p>
+IMAPServer 2109=<p>  Server MTM class implementation  </p>
+IMAPServer 2110=<p>  Server MTM class implementation  </p>
+IMAPServer 2111=<p>  Server MTM class implementation  </p>
+IMAPServer 2112=<p>  Server MTM class implementation  </p>
+IMAPServer 2113=<p>  Server MTM class implementation  </p>
+IMAPServer 2114=<p>  Server MTM class implementation  </p>
+IMAPServer 2115=<p>  Server MTM class implementation  </p>
+IMAPServer 2116=<p>  Server MTM class implementation  </p>
+IMAPServer 2117=<p>  Server MTM class implementation  </p>
+IMAPServer 2118=<p>  Server MTM class implementation  </p>
+IMAPServer 2119=<p>  Server MTM class implementation  </p>
+IMAPServer 2120=<p>  Server MTM class implementation  </p>
+IMAPServer 2121=<p>  Server MTM class implementation  </p>
+IMAPServer 2122=<p>  Server MTM class implementation  </p>
+IMAPServer 2123=<p>  Server MTM class implementation  </p>
+IMAPServer 2124=<p>  Server MTM class implementation  </p>
+IMAPServer 2125=<p>  Server MTM class implementation  </p>
+IMAPServer 2126=<p>  Server MTM class implementation  </p>
+IMAPServer 2127=<p>  Server MTM class implementation  </p>
+IMAPServer 2128=<p>  Server MTM class implementation  </p>
+IMAPServer 2129=<p>  Server MTM class implementation  </p>
+IMAPServer 2130=<p>  Server MTM class implementation  </p>
+IMAPServer 2131=<p>  Server MTM class implementation  </p>
+IMAPServer 2132=<p>  Server MTM class implementation  </p>
+IMAPServer 2133=<p>  Server MTM class implementation  </p>
+IMAPServer 2134=<p>  Server MTM class implementation  </p>
+IMAPServer 2135=<p>  Server MTM class implementation  </p>
+IMAPServer 2136=<p>  Server MTM class implementation  </p>
+IMAPServer 2137=<p>  Server MTM class implementation  </p>
+IMAPServer 2138=<p>  Server MTM class implementation  </p>
+IMAPServer 2139=<p>  Server MTM class implementation  </p>
+IMAPServer 2140=<p>  Server MTM class implementation  </p>
+IMAPServer 2141=<p>  Server MTM class implementation  </p>
+IMAPServer 2142=<p>  Server MTM class implementation  </p>
+IMAPServer 2143=<p>  Server MTM class implementation  </p>
+IMAPServer 2144=<p>  Server MTM class implementation  </p>
+IMAPServer 2145=<p>  Server MTM class implementation  </p>
+IMAPServer 2146=<p>  Server MTM class implementation  </p>
+IMAPServer 2147=<p>  Server MTM class implementation  </p>
+IMAPServer 2148=<p>  Server MTM class implementation  </p>
+IMAPServer 2149=<p>  Server MTM class implementation  </p>
+IMAPServer 2150=<p>  Server MTM class implementation  </p>
+IMAPServer 2151=<p>  Server MTM class implementation  </p>
+IMAPServer 2152=<p>  Server MTM class implementation  </p>
+IMAPServer 2153=<p>  Server MTM class implementation  </p>
+IMAPServer 2154=<p>  Server MTM class implementation  </p>
+IMAPServer 2155=<p>  Server MTM class implementation  </p>
+IMAPServer 2156=<p>  Server MTM class implementation  </p>
+IMAPServer 2157=<p>  Server MTM class implementation  </p>
+IMAPServer 2158=<p>  Server MTM class implementation  </p>
+IMAPServer 2159=<p>  Server MTM class implementation  </p>
+IMAPServer 2160=<p>  Server MTM class implementation  </p>
+IMAPServer 2161=<p>  Server MTM class implementation  </p>
+IMAPServer 2162=<p>  Server MTM class implementation  </p>
+IMAPServer 2163=<p>  Server MTM class implementation  </p>
+IMAPServer 2164=<p>  Server MTM class implementation  </p>
+IMAPServer 2165=<p>  Server MTM class implementation  </p>
+IMAPServer 2166=<p>  Server MTM class implementation  </p>
+IMAPServer 2167=<p>  Server MTM class implementation  </p>
+IMAPServer 2168=<p>  Server MTM class implementation  </p>
+IMAPServer 2169=<p>  Server MTM class implementation  </p>
+IMAPServer 2170=<p>  Server MTM class implementation  </p>
+IMAPServer 2171=<p>  Server MTM class implementation  </p>
+IMAPServer 2172=<p>  Server MTM class implementation  </p>
+IMAPServer 2173=<p>  Server MTM class implementation  </p>
+IMAPServer 2174=<p>  Server MTM class implementation  </p>
+IMAPServer 2175=<p>  Server MTM class implementation  </p>
+IMAPServer 2176=<p>  Server MTM class implementation  </p>
+IMAPServer 2177=<p>  Server MTM class implementation  </p>
+IMAPServer 2178=<p>  Server MTM class implementation  </p>
+IMAPServer 2179=<p>  Server MTM class implementation  </p>
+IMAPServer 2180=<p>  Server MTM class implementation  </p>
+IMAPServer 2181=<p>  Server MTM class implementation  </p>
+IMAPServer 2182=<p>  Server MTM class implementation  </p>
+IMAPServer 2183=<p>  Server MTM class implementation  </p>
+IMAPServer 2184=<p>  Server MTM class implementation  </p>
+IMAPServer 2185=<p>  Server MTM class implementation  </p>
+IMAPServer 2186=<p>  Server MTM class implementation  </p>
+IMAPServer 2187=<p>  Server MTM class implementation  </p>
+IMAPServer 2188=<p>  Server MTM class implementation  </p>
+IMAPServer 2189=<p>  Server MTM class implementation  </p>
+IMAPServer 2190=<p>  Server MTM class implementation  </p>
+IMAPServer 2191=<p>  Server MTM class implementation  </p>
+IMAPServer 2192=<p>  Server MTM class implementation  </p>
+IMAPServer 2193=<p>  Server MTM class implementation  </p>
+IMAPServer 2194=<p>  Server MTM class implementation  </p>
+IMAPServer 2195=<p>  Server MTM class implementation  </p>
+IMAPServer 2196=<p>  Server MTM class implementation  </p>
+IMAPServer 2197=<p>  Server MTM class implementation  </p>
+IMAPServer 2198=<p>  Server MTM class implementation  </p>
+IMAPServer 2199=<p>  Server MTM class implementation  </p>
+IMAPServer 2200=<p>  Server MTM class implementation  </p>
+IMAPServer 2201=<p>  Server MTM class implementation  </p>
+IMAPServer 2202=<p>  Server MTM class implementation  </p>
+IMAPServer 2203=<p>  Server MTM class implementation  </p>
+IMAPServer 2204=<p>  Server MTM class implementation  </p>
+IMAPServer 2205=<p>  Server MTM class implementation  </p>
+IMAPServer 2206=<p>  Server MTM class implementation  </p>
+IMAPServer 2207=<p>  Server MTM class implementation  </p>
+IMAPServer 2208=<p>  Server MTM class implementation  </p>
+IMAPServer 2209=<p>  Server MTM class implementation  </p>
+IMAPServer 2210=<p>  Server MTM class implementation  </p>
+IMAPServer 2211=<p>  Server MTM class implementation  </p>
+IMAPServer 2212=<p>  Server MTM class implementation  </p>
+IMAPServer 2213=<p>  Server MTM class implementation  </p>
+IMAPServer 2214=<p>  Server MTM class implementation  </p>
+IMAPServer 2215=<p>  Server MTM class implementation  </p>
+IMAPServer 2216=<p>  Server MTM class implementation  </p>
+IMAPServer 2217=<p>  Server MTM class implementation  </p>
+IMAPServer 2218=<p>  Server MTM class implementation  </p>
+IMAPServer 2219=<p>  Server MTM class implementation  </p>
+IMAPServer 2220=<p>  Server MTM class implementation  </p>
+IMAPServer 2221=<p>  Server MTM class implementation  </p>
+IMAPServer 2222=<p>  Server MTM class implementation  </p>
+IMAPServer 2223=<p>  Server MTM class implementation  </p>
+IMAPServer 2224=<p>  Server MTM class implementation  </p>
+IMAPServer 2225=<p>  Server MTM class implementation  </p>
+IMAPServer 2226=<p>  Server MTM class implementation  </p>
+IMAPServer 2227=<p>  Server MTM class implementation  </p>
+IMAPServer 2228=<p>  Server MTM class implementation  </p>
+IMAPServer 2229=<p>  Server MTM class implementation  </p>
+IMAPServer 2230=<p>  Server MTM class implementation  </p>
+IMAPServer 2231=<p>  Server MTM class implementation  </p>
+IMAPServer 2232=<p>  Server MTM class implementation  </p>
+IMAPServer 2233=<p>  Server MTM class implementation  </p>
+IMAPServer 2234=<p>  Server MTM class implementation  </p>
+IMAPServer 2235=<p>  Server MTM class implementation  </p>
+IMAPServer 2236=<p>  Server MTM class implementation  </p>
+IMAPServer 2237=<p>  Server MTM class implementation  </p>
+IMAPServer 2238=<p>  Server MTM class implementation  </p>
+IMAPServer 2239=<p>  Server MTM class implementation  </p>
+IMAPServer 2240=<p>  Server MTM class implementation  </p>
+IMAPServer 2241=<p>  Server MTM class implementation  </p>
+IMAPServer 2242=<p>  Server MTM class implementation  </p>
+IMAPServer 2243=<p>  Server MTM class implementation  </p>
+IMAPServer 2244=<p>  Server MTM class implementation  </p>
+IMAPServer 2245=<p>  Server MTM class implementation  </p>
+IMAPServer 2246=<p>  Server MTM class implementation  </p>
+IMAPServer 2247=<p>  Server MTM class implementation  </p>
+IMAPServer 2248=<p>  Server MTM class implementation  </p>
+IMAPServer 2249=<p>  Server MTM class implementation  </p>
+IMAPServer 2250=<p>  Server MTM class implementation  </p>
+IMAPServer 2251=<p>  Server MTM class implementation  </p>
+IMAPServer 2252=<p>  Server MTM class implementation  </p>
+IMAPServer 2253=<p>  Server MTM class implementation  </p>
+IMAPServer 2254=<p>  Server MTM class implementation  </p>
+IMAPServer 2255=<p>  Server MTM class implementation  </p>
+IMAPServer 2256=<p>  Server MTM class implementation  </p>
+IMAPServer 2257=<p>  Server MTM class implementation  </p>
+IMAPServer 2258=<p>  Server MTM class implementation  </p>
+IMAPServer 2259=<p>  Server MTM class implementation  </p>
+IMAPServer 2260=<p>  Server MTM class implementation  </p>
+IMAPServer 2261=<p>  Server MTM class implementation  </p>
+IMAPServer 2262=<p>  Server MTM class implementation  </p>
+IMAPServer 2263=<p>  Server MTM class implementation  </p>
+IMAPServer 2264=<p>  Server MTM class implementation  </p>
+IMAPServer 2265=<p>  Server MTM class implementation  </p>
+IMAPServer 2266=<p>  Server MTM class implementation  </p>
+IMAPServer 2267=<p>  Server MTM class implementation  </p>
+IMAPServer 2268=<p>  Server MTM class implementation  </p>
+IMAPServer 2269=<p>  Server MTM class implementation  </p>
+IMAPServer 2270=<p>  Server MTM class implementation  </p>
+IMAPServer 2271=<p>  Server MTM class implementation  </p>
+IMAPServer 2272=<p>  Server MTM class implementation  </p>
+IMAPServer 2273=<p>  Server MTM class implementation  </p>
+IMAPServer 2274=<p>  Server MTM class implementation  </p>
+IMAPServer 2275=<p>  Server MTM class implementation  </p>
+IMAPServer 2276=<p>  Server MTM class implementation  </p>
+IMAPServer 2277=<p>  Server MTM class implementation  </p>
+IMAPServer 2278=<p>  Server MTM class implementation  </p>
+IMAPServer 2279=<p>  Server MTM class implementation  </p>
+IMAPServer 2280=<p>  Server MTM class implementation  </p>
+IMAPServer 2281=<p>  Server MTM class implementation  </p>
+IMAPServer 2282=<p>  Server MTM class implementation  </p>
+IMAPServer 2283=<p>  Server MTM class implementation  </p>
+IMAPServer 2284=<p>  Server MTM class implementation  </p>
+IMAPServer 2285=<p>  Server MTM class implementation  </p>
+IMAPServer 2286=<p>  Server MTM class implementation  </p>
+IMAPServer 2287=<p>  Server MTM class implementation  </p>
+IMAPServer 2288=<p>  Server MTM class implementation  </p>
+IMAPServer 2289=<p>  Server MTM class implementation  </p>
+IMAPServer 2290=<p>  Server MTM class implementation  </p>
+IMAPServer 2291=<p>  Server MTM class implementation  </p>
+IMAPServer 2292=<p>  Server MTM class implementation  </p>
+IMAPServer 2293=<p>  Server MTM class implementation  </p>
+IMAPServer 2294=<p>  Server MTM class implementation  </p>
+IMAPServer 2295=<p>  Server MTM class implementation  </p>
+IMAPServer 2296=<p>  Server MTM class implementation  </p>
+IMAPServer 2297=<p>  Server MTM class implementation  </p>
+IMAPServer 2298=<p>  Server MTM class implementation  </p>
+IMAPServer 2299=<p>  Server MTM class implementation  </p>
+IMAPServer 2300=<p>  Server MTM class implementation  </p>
+IMAPServer 2301=<p>  Server MTM class implementation  </p>
+IMAPServer 2302=<p>  Server MTM class implementation  </p>
+IMAPServer 2303=<p>  Server MTM class implementation  </p>
+IMAPServer 2304=<p>  Server MTM class implementation  </p>
+IMAPServer 2305=<p>  Server MTM class implementation  </p>
+IMAPServer 2306=<p>  Server MTM class implementation  </p>
+IMAPServer 2307=<p>  Server MTM class implementation  </p>
+IMAPServer 2308=<p>  Server MTM class implementation  </p>
+IMAPServer 2309=<p>  Server MTM class implementation  </p>
+IMAPServer 2310=<p>  Server MTM class implementation  </p>
+IMAPServer 2311=<p>  Server MTM class implementation  </p>
+IMAPServer 2312=<p>  Server MTM class implementation  </p>
+IMAPServer 2313=<p>  Server MTM class implementation  </p>
+IMAPServer 2314=<p>  Server MTM class implementation  </p>
+IMAPServer 2315=<p>  Server MTM class implementation  </p>
+IMAPServer 2316=<p>  Server MTM class implementation  </p>
+IMAPServer 2317=<p>  Server MTM class implementation  </p>
+IMAPServer 2318=<p>  Server MTM class implementation  </p>
+IMAPServer 2319=<p>  Server MTM class implementation  </p>
+IMAPServer 2320=<p>  Server MTM class implementation  </p>
+IMAPServer 2321=<p>  Server MTM class implementation  </p>
+IMAPServer 2322=<p>  Server MTM class implementation  </p>
+IMAPServer 2323=<p>  Server MTM class implementation  </p>
+IMAPServer 2324=<p>  Server MTM class implementation  </p>
+IMAPServer 2325=<p>  Server MTM class implementation  </p>
+IMAPServer 2326=<p>  Server MTM class implementation  </p>
+IMAPServer 2327=<p>  Server MTM class implementation  </p>
+IMAPServer 2328=<p>  Server MTM class implementation  </p>
+IMAPServer 2329=<p>  Server MTM class implementation  </p>
+IMAPServer 2330=<p>  Server MTM class implementation  </p>
+IMAPServer 2331=<p>  Server MTM class implementation  </p>
+IMAPServer 2332=<p>  Server MTM class implementation  </p>
+IMAPServer 2333=<p>  Server MTM class implementation  </p>
+IMAPServer 2334=<p>  Server MTM class implementation  </p>
+IMAPServer 2335=<p>  Server MTM class implementation  </p>
+IMAPServer 2336=<p>  Server MTM class implementation  </p>
+IMAPServer 2337=<p>  Server MTM class implementation  </p>
+IMAPServer 2338=<p>  Server MTM class implementation  </p>
+IMAPServer 2339=<p>  Server MTM class implementation  </p>
+IMAPServer 2340=<p>  Server MTM class implementation  </p>
+IMAPServer 2341=<p>  Server MTM class implementation  </p>
+IMAPServer 2342=<p>  Server MTM class implementation  </p>
+IMAPServer 2343=<p>  Server MTM class implementation  </p>
+IMAPServer 2344=<p>  Server MTM class implementation  </p>
+IMAPServer 2345=<p>  Server MTM class implementation  </p>
+IMAPServer 2346=<p>  Server MTM class implementation  </p>
+IMAPServer 2347=<p>  Server MTM class implementation  </p>
+IMAPServer 2348=<p>  Server MTM class implementation  </p>
+IMAPServer 2349=<p>  Server MTM class implementation  </p>
+IMAPServer 2350=<p>  Server MTM class implementation  </p>
+IMAPServer 2351=<p>  Server MTM class implementation  </p>
+IMAPServer 2352=<p>  Server MTM class implementation  </p>
+IMAPServer 2353=<p>  Server MTM class implementation  </p>
+IMAPServer 2354=<p>  Server MTM class implementation  </p>
+IMAPServer 2355=<p>  Server MTM class implementation  </p>
+IMAPServer 2356=<p>  Server MTM class implementation  </p>
+IMAPServer 2357=<p>  Server MTM class implementation  </p>
+IMAPServer 2358=<p>  Server MTM class implementation  </p>
+IMAPServer 2359=<p>  Server MTM class implementation  </p>
+IMAPServer 2360=<p>  Server MTM class implementation  </p>
+IMAPServer 2361=<p>  Server MTM class implementation  </p>
+IMAPServer 2362=<p>  Server MTM class implementation  </p>
+IMAPServer 2363=<p>  Server MTM class implementation  </p>
+IMAPServer 2364=<p>  Server MTM class implementation  </p>
+IMAPServer 2365=<p>  Server MTM class implementation  </p>
+IMAPServer 2366=<p>  Server MTM class implementation  </p>
+IMAPServer 2367=<p>  Server MTM class implementation  </p>
+IMAPServer 2368=<p>  Server MTM class implementation  </p>
+IMAPServer 2369=<p>  Server MTM class implementation  </p>
+IMAPServer 2370=<p>  Server MTM class implementation  </p>
+IMAPServer 2371=<p>  Server MTM class implementation  </p>
+IMAPServer 2372=<p>  Server MTM class implementation  </p>
+IMAPServer 2373=<p>  Server MTM class implementation  </p>
+IMAPServer 2374=<p>  Server MTM class implementation  </p>
+IMAPServer 2375=<p>  Server MTM class implementation  </p>
+IMAPServer 2376=<p>  Server MTM class implementation  </p>
+IMAPServer 2377=<p>  Server MTM class implementation  </p>
+IMAPServer 2378=<p>  Server MTM class implementation  </p>
+IMAPServer 2379=<p>  Server MTM class implementation  </p>
+IMAPServer 2380=<p>  Server MTM class implementation  </p>
+IMAPServer 2381=<p>  Server MTM class implementation  </p>
+IMAPServer 2382=<p>  Server MTM class implementation  </p>
+IMAPServer 2383=<p>  Server MTM class implementation  </p>
+IMAPServer 2384=<p>  Server MTM class implementation  </p>
+IMAPServer 2385=<p>  Server MTM class implementation  </p>
+IMAPServer 2386=<p>  Server MTM class implementation  </p>
+IMAPServer 2387=<p>  Server MTM class implementation  </p>
+IMAPServer 2388=<p>  Server MTM class implementation  </p>
+IMAPServer 2389=<p>  Server MTM class implementation  </p>
+IMAPServer 2390=<p>  Server MTM class implementation  </p>
+IMAPServer 2391=<p>  Server MTM class implementation  </p>
+IMAPServer 2392=<p>  Server MTM class implementation  </p>
+IMAPServer 2393=<p>  Server MTM class implementation  </p>
+IMAPServer 2394=<p>  Server MTM class implementation  </p>
+IMAPServer 2395=<p>  Server MTM class implementation  </p>
+IMAPServer 2396=<p>  Server MTM class implementation  </p>
+IMAPServer 2397=<p>  Server MTM class implementation  </p>
+IMAPServer 2398=<p>  Server MTM class implementation  </p>
+IMAPServer 2399=<p>  Server MTM class implementation  </p>
+IMAPServer 2400=<p>  Server MTM class implementation  </p>
+IMAPServer 2401=<p>  Server MTM class implementation  </p>
+IMAPServer 2402=<p>  Server MTM class implementation  </p>
+IMAPServer 2403=<p>  Server MTM class implementation  </p>
+IMAPServer 2404=<p>  Server MTM class implementation  </p>
+IMAPServer 2405=<p>  Server MTM class implementation  </p>
+IMAPServer 2406=<p>  Server MTM class implementation  </p>
+IMAPServer 2407=<p>  Server MTM class implementation  </p>
+IMAPServer 2408=<p>  Server MTM class implementation  </p>
+IMAPServer 2409=<p>  Server MTM class implementation  </p>
+IMAPServer 2410=<p>  Server MTM class implementation  </p>
+IMAPServer 2411=<p>  Server MTM class implementation  </p>
+IMAPServer 2412=<p>  Server MTM class implementation  </p>
+IMAPServer 2413=<p>  Server MTM class implementation  </p>
+IMAPServer 2414=<p>  Server MTM class implementation  </p>
+IMAPServer 2415=<p>  Server MTM class implementation  </p>
+IMAPServer 2416=<p>  Server MTM class implementation  </p>
+IMAPServer 2417=<p>  Server MTM class implementation  </p>
+IMAPServer 2418=<p>  Server MTM class implementation  </p>
+IMAPServer 2419=<p>  Server MTM class implementation  </p>
+IMAPServer 2420=<p>  Server MTM class implementation  </p>
+IMAPServer 2421=<p>  Server MTM class implementation  </p>
+IMAPServer 2422=<p>  Server MTM class implementation  </p>
+IMAPServer 2423=<p>  Server MTM class implementation  </p>
+IMAPServer 2424=<p>  Server MTM class implementation  </p>
+IMAPServer 2425=<p>  Server MTM class implementation  </p>
+IMAPServer 2426=<p>  Server MTM class implementation  </p>
+IMAPServer 2427=<p>  Server MTM class implementation  </p>
+IMAPServer 2428=<p>  Server MTM class implementation  </p>
+IMAPServer 2429=<p>  Server MTM class implementation  </p>
+IMAPServer 2430=<p>  Server MTM class implementation  </p>
+IMAPServer 2431=<p>  Server MTM class implementation  </p>
+IMAPServer 2432=<p>  Server MTM class implementation  </p>
+IMAPServer 2433=<p>  Server MTM class implementation  </p>
+IMAPServer 2434=<p>  Server MTM class implementation  </p>
+IMAPServer 2435=<p>  Server MTM class implementation  </p>
+IMAPServer 2436=<p>  Server MTM class implementation  </p>
+IMAPServer 2437=<p>  Server MTM class implementation  </p>
+IMAPServer 2438=<p>  Server MTM class implementation  </p>
+IMAPServer 2439=<p>  Server MTM class implementation  </p>
+IMAPServer 2440=<p>  Server MTM class implementation  </p>
+IMAPServer 2441=<p>  Server MTM class implementation  </p>
+IMAPServer 2442=<p>  Server MTM class implementation  </p>
+IMAPServer 2443=<p>  Server MTM class implementation  </p>
+IMAPServer 2444=<p>  Server MTM class implementation  </p>
+IMAPServer 2445=<p>  Server MTM class implementation  </p>
+IMAPServer 2446=<p>  Server MTM class implementation  </p>
+IMAPServer 2447=<p>  Server MTM class implementation  </p>
+IMAPServer 2448=<p>  Server MTM class implementation  </p>
+IMAPServer 2449=<p>  Server MTM class implementation  </p>
+IMAPServer 2450=<p>  Server MTM class implementation  </p>
+IMAPServer 2451=<p>  Server MTM class implementation  </p>
+IMAPServer 2452=<p>  Server MTM class implementation  </p>
+IMAPServer 2453=<p>  Server MTM class implementation  </p>
+IMAPServer 2454=<p>  Server MTM class implementation  </p>
+IMAPServer 2455=<p>  Server MTM class implementation  </p>
+IMAPServer 2456=<p>  Server MTM class implementation  </p>
+IMAPServer 2457=<p>  Server MTM class implementation  </p>
+IMAPServer 2458=<p>  Server MTM class implementation  </p>
+IMAPServer 2459=<p>  Server MTM class implementation  </p>
+IMAPServer 2460=<p>  Server MTM class implementation  </p>
+IMAPServer 2461=<p>  Server MTM class implementation  </p>
+IMAPServer 2462=<p>  Server MTM class implementation  </p>
+IMAPServer 2463=<p>  Server MTM class implementation  </p>
+IMAPServer 2464=<p>  Server MTM class implementation  </p>
+IMAPServer 2465=<p>  Server MTM class implementation  </p>
+IMAPServer 2466=<p>  Server MTM class implementation  </p>
+IMAPServer 2467=<p>  Server MTM class implementation  </p>
+IMAPServer 2468=<p>  Server MTM class implementation  </p>
+IMAPServer 2469=<p>  Server MTM class implementation  </p>
+IMAPServer 2470=<p>  Server MTM class implementation  </p>
+IMAPServer 2471=<p>  Server MTM class implementation  </p>
+IMAPServer 2472=<p>  Server MTM class implementation  </p>
+IMAPServer 2473=<p>  Server MTM class implementation  </p>
+IMAPServer 2474=<p>  Server MTM class implementation  </p>
+IMAPServer 2475=<p>  Server MTM class implementation  </p>
+IMAPServer 2476=<p>  Server MTM class implementation  </p>
+IMAPServer 2477=<p>  Server MTM class implementation  </p>
+IMAPServer 2478=<p>  Server MTM class implementation  </p>
+IMAPServer 2479=<p>  Server MTM class implementation  </p>
+IMAPServer 2480=<p>  Server MTM class implementation  </p>
+IMAPServer 2481=<p>  Server MTM class implementation  </p>
+IMAPServer 2482=<p>  Server MTM class implementation  </p>
+IMAPServer 2483=<p>  Server MTM class implementation  </p>
+IMAPServer 2484=<p>  Server MTM class implementation  </p>
+IMAPServer 2485=<p>  Server MTM class implementation  </p>
+IMAPServer 2486=<p>  Server MTM class implementation  </p>
+IMAPServer 2487=<p>  Server MTM class implementation  </p>
+IMAPServer 2488=<p>  Server MTM class implementation  </p>
+IMAPServer 2489=<p>  Server MTM class implementation  </p>
+IMAPServer 2490=<p>  Server MTM class implementation  </p>
+IMAPServer 2491=<p>  Server MTM class implementation  </p>
+IMAPServer 2492=<p>  Server MTM class implementation  </p>
+IMAPServer 2493=<p>  Server MTM class implementation  </p>
+IMAPServer 2494=<p>  Server MTM class implementation  </p>
+IMAPServer 2495=<p>  Server MTM class implementation  </p>
+IMAPServer 2496=<p>  Server MTM class implementation  </p>
+IMAPServer 2497=<p>  Server MTM class implementation  </p>
+IMAPServer 2498=<p>  Server MTM class implementation  </p>
+IMAPServer 2499=<p>  Server MTM class implementation  </p>
+IMAPServer 2500=<p>  Server MTM class implementation  </p>
+IMAPServer 2501=<p>  Server MTM class implementation  </p>
+IMAPServer 2502=<p>  Server MTM class implementation  </p>
+IMAPServer 2503=<p>  Server MTM class implementation  </p>
+IMAPServer 2504=<p>  Server MTM class implementation  </p>
+IMAPServer 2505=<p>  Server MTM class implementation  </p>
+IMAPServer 2506=<p>  Server MTM class implementation  </p>
+IMAPServer 2507=<p>  Server MTM class implementation  </p>
+IMAPServer 2508=<p>  Server MTM class implementation  </p>
+IMAPServer 2509=<p>  Server MTM class implementation  </p>
+IMAPServer 2510=<p>  Server MTM class implementation  </p>
+IMAPServer 2511=<p>  Server MTM class implementation  </p>
+IMAPServer 2512=<p>  Server MTM class implementation  </p>
+IMAPServer 2513=<p>  Server MTM class implementation  </p>
+IMAPServer 2514=<p>  Server MTM class implementation  </p>
+IMAPServer 2515=<p>  Server MTM class implementation  </p>
+IMAPServer 2516=<p>  Server MTM class implementation  </p>
+IMAPServer 2517=<p>  Server MTM class implementation  </p>
+IMAPServer 2518=<p>  Server MTM class implementation  </p>
+IMAPServer 2519=<p>  Server MTM class implementation  </p>
+IMAPServer 2520=<p>  Server MTM class implementation  </p>
+IMAPServer 2521=<p>  Server MTM class implementation  </p>
+IMAPServer 2522=<p>  Server MTM class implementation  </p>
+IMAPServer 2523=<p>  Server MTM class implementation  </p>
+IMAPServer 2524=<p>  Server MTM class implementation  </p>
+IMAPServer 2525=<p>  Server MTM class implementation  </p>
+IMAPServer 2526=<p>  Server MTM class implementation  </p>
+IMAPServer 2527=<p>  Server MTM class implementation  </p>
+IMAPServer 2528=<p>  Server MTM class implementation  </p>
+IMAPServer 2529=<p>  Server MTM class implementation  </p>
+IMAPServer 2530=<p>  Server MTM class implementation  </p>
+IMAPServer 2531=<p>  Server MTM class implementation  </p>
+IMAPServer 2532=<p>  Server MTM class implementation  </p>
+IMAPServer 2533=<p>  Server MTM class implementation  </p>
+IMAPServer 2534=<p>  Server MTM class implementation  </p>
+IMAPServer 2535=<p>  Server MTM class implementation  </p>
+IMAPServer 2536=<p>  Server MTM class implementation  </p>
+IMAPServer 2537=<p>  Server MTM class implementation  </p>
+IMAPServer 2538=<p>  Server MTM class implementation  </p>
+IMAPServer 2539=<p>  Server MTM class implementation  </p>
+IMAPServer 2540=<p>  Server MTM class implementation  </p>
+IMAPServer 2541=<p>  Server MTM class implementation  </p>
+IMAPServer 2542=<p>  Server MTM class implementation  </p>
+IMAPServer 2543=<p>  Server MTM class implementation  </p>
+IMAPServer 2544=<p>  Server MTM class implementation  </p>
+IMAPServer 2545=<p>  Server MTM class implementation  </p>
+IMAPServer 2546=<p>  Server MTM class implementation  </p>
+IMAPServer 2547=<p>  Server MTM class implementation  </p>
+IMAPServer 2548=<p>  Server MTM class implementation  </p>
+IMAPServer 2549=<p>  Server MTM class implementation  </p>
+IMAPServer 2550=<p>  Server MTM class implementation  </p>
+IMAPServer 2551=<p>  Server MTM class implementation  </p>
+IMAPServer 2552=<p>  Server MTM class implementation  </p>
+IMAPServer 2553=<p>  Server MTM class implementation  </p>
+IMAPServer 2554=<p>  Server MTM class implementation  </p>
+IMAPServer 2555=<p>  Server MTM class implementation  </p>
+IMAPServer 2556=<p>  Server MTM class implementation  </p>
+IMAPServer 2557=<p>  Server MTM class implementation  </p>
+IMAPServer 2558=<p>  Server MTM class implementation  </p>
+IMAPServer 2559=<p>  Server MTM class implementation  </p>
+IMAPServer 2560=<p>  Server MTM class implementation  </p>
+IMAPServer 2561=<p>  Server MTM class implementation  </p>
+IMAPServer 2562=<p>  Server MTM class implementation  </p>
+IMAPServer 2563=<p>  Server MTM class implementation  </p>
+IMAPServer 2564=<p>  Server MTM class implementation  </p>
+IMAPServer 2565=<p>  Server MTM class implementation  </p>
+IMAPServer 2566=<p>  Server MTM class implementation  </p>
+IMAPServer 2567=<p>  Server MTM class implementation  </p>
+IMAPServer 2568=<p>  Server MTM class implementation  </p>
+IMAPServer 2569=<p>  Server MTM class implementation  </p>
+IMAPServer 2570=<p>  Server MTM class implementation  </p>
+IMAPServer 2571=<p>  Server MTM class implementation  </p>
+IMAPServer 2572=<p>  Server MTM class implementation  </p>
+IMAPServer 2573=<p>  Server MTM class implementation  </p>
+IMAPServer 2574=<p>  Server MTM class implementation  </p>
+IMAPServer 2575=<p>  Server MTM class implementation  </p>
+IMAPServer 2576=<p>  Server MTM class implementation  </p>
+IMAPServer 2577=<p>  Server MTM class implementation  </p>
+IMAPServer 2578=<p>  Server MTM class implementation  </p>
+IMAPServer 2579=<p>  Server MTM class implementation  </p>
+IMAPServer 2580=<p>  Server MTM class implementation  </p>
+IMAPServer 2581=<p>  Server MTM class implementation  </p>
+IMAPServer 2582=<p>  Server MTM class implementation  </p>
+IMAPServer 2583=<p>  Server MTM class implementation  </p>
+IMAPServer 2584=<p>  Server MTM class implementation  </p>
+IMAPServer 2585=<p>  Server MTM class implementation  </p>
+IMAPServer 2586=<p>  Server MTM class implementation  </p>
+IMAPServer 2587=<p>  Server MTM class implementation  </p>
+IMAPServer 2588=<p>  Server MTM class implementation  </p>
+IMAPServer 2589=<p>  Server MTM class implementation  </p>
+IMAPServer 2590=<p>  Server MTM class implementation  </p>
+IMAPServer 2591=<p>  Server MTM class implementation  </p>
+IMAPServer 2592=<p>  Server MTM class implementation  </p>
+IMAPServer 2593=<p>  Server MTM class implementation  </p>
+IMAPServer 2594=<p>  Server MTM class implementation  </p>
+IMAPServer 2595=<p>  Server MTM class implementation  </p>
+IMAPServer 2596=<p>  Server MTM class implementation  </p>
+IMAPServer 2597=<p>  Server MTM class implementation  </p>
+IMAPServer 2598=<p>  Server MTM class implementation  </p>
+IMAPServer 2599=<p>  Server MTM class implementation  </p>
+IMAPServer 2600=<p>  Server MTM class implementation  </p>
+IMAPServer 2601=<p>  Server MTM class implementation  </p>
+IMAPServer 2602=<p>  Server MTM class implementation  </p>
+IMAPServer 2603=<p>  Server MTM class implementation  </p>
+IMAPServer 2604=<p>  Server MTM class implementation  </p>
+IMAPServer 2605=<p>  Server MTM class implementation  </p>
+IMAPServer 2606=<p>  Server MTM class implementation  </p>
+IMAPServer 2607=<p>  Server MTM class implementation  </p>
+IMAPServer 2608=<p>  Server MTM class implementation  </p>
+IMAPServer 2609=<p>  Server MTM class implementation  </p>
+IMAPServer 2610=<p>  Server MTM class implementation  </p>
+IMAPServer 2611=<p>  Server MTM class implementation  </p>
+IMAPServer 2612=<p>  Server MTM class implementation  </p>
+IMAPServer 2613=<p>  Server MTM class implementation  </p>
+IMAPServer 2614=<p>  Server MTM class implementation  </p>
+IMAPServer 2615=<p>  Server MTM class implementation  </p>
+IMAPServer 2616=<p>  Server MTM class implementation  </p>
+IMAPServer 2617=<p>  Server MTM class implementation  </p>
+IMAPServer 2618=<p>  Server MTM class implementation  </p>
+IMAPServer 2619=<p>  Server MTM class implementation  </p>
+IMAPServer 2620=<p>  Server MTM class implementation  </p>
+IMAPServer 2621=<p>  Server MTM class implementation  </p>
+IMAPServer 2622=<p>  Server MTM class implementation  </p>
+IMAPServer 2623=<p>  Server MTM class implementation  </p>
+IMAPServer 2624=<p>  Server MTM class implementation  </p>
+IMAPServer 2625=<p>  Server MTM class implementation  </p>
+IMAPServer 2626=<p>  Server MTM class implementation  </p>
+IMAPServer 2627=<p>  Server MTM class implementation  </p>
+IMAPServer 2628=<p>  Server MTM class implementation  </p>
+IMAPServer 2629=<p>  Server MTM class implementation  </p>
+IMAPServer 2630=<p>  Server MTM class implementation  </p>
+IMAPServer 2631=<p>  Server MTM class implementation  </p>
+IMAPServer 2632=<p>  Server MTM class implementation  </p>
+IMAPServer 2633=<p>  Server MTM class implementation  </p>
+IMAPServer 2634=<p>  Server MTM class implementation  </p>
+IMAPServer 2635=<p>  Server MTM class implementation  </p>
+IMAPServer 2636=<p>  Server MTM class implementation  </p>
+IMAPServer 2637=<p>  Server MTM class implementation  </p>
+IMAPServer 2638=<p>  Server MTM class implementation  </p>
+IMAPServer 2639=<p>  Server MTM class implementation  </p>
+IMAPServer 2640=<p>  Server MTM class implementation  </p>
+IMAPServer 2641=<p>  Server MTM class implementation  </p>
+IMAPServer 2642=<p>  Server MTM class implementation  </p>
+IMAPServer 2643=<p>  Server MTM class implementation  </p>
+IMAPServer 2644=<p>  Server MTM class implementation  </p>
+IMAPServer 2645=<p>  Server MTM class implementation  </p>
+IMAPServer 2646=<p>  Server MTM class implementation  </p>
+IMAPServer 2647=<p>  Server MTM class implementation  </p>
+IMAPServer 2648=<p>  Server MTM class implementation  </p>
+IMAPServer 2649=<p>  Server MTM class implementation  </p>
+IMAPServer 2650=<p>  Server MTM class implementation  </p>
+IMAPServer 2651=<p>  Server MTM class implementation  </p>
+IMAPServer 2652=<p>  Server MTM class implementation  </p>
+IMAPServer 2653=<p>  Server MTM class implementation  </p>
+IMAPServer 2654=<p>  Server MTM class implementation  </p>
+IMAPServer 2655=<p>  Server MTM class implementation  </p>
+IMAPServer 2656=<p>  Server MTM class implementation  </p>
+IMAPServer 2657=<p>  Server MTM class implementation  </p>
+IMAPServer 2658=<p>  Server MTM class implementation  </p>
+IMAPServer 2659=<p>  Server MTM class implementation  </p>
+IMAPServer 2660=<p>  Server MTM class implementation  </p>
+IMAPServer 2661=<p>  Server MTM class implementation  </p>
+IMAPServer 2662=<p>  Server MTM class implementation  </p>
+IMAPServer 2663=<p>  Server MTM class implementation  </p>
+IMAPServer 2664=<p>  Server MTM class implementation  </p>
+IMAPServer 2665=<p>  Server MTM class implementation  </p>
+IMAPServer 2666=<p>  Server MTM class implementation  </p>
+IMAPServer 2667=<p>  Server MTM class implementation  </p>
+IMAPServer 2668=<p>  Server MTM class implementation  </p>
+IMAPServer 2669=<p>  Server MTM class implementation  </p>
+IMAPServer 2670=<p>  Server MTM class implementation  </p>
+IMAPServer 2671=<p>  Server MTM class implementation  </p>
+IMAPServer 2672=<p>  Server MTM class implementation  </p>
+IMAPServer 2673=<p>  Server MTM class implementation  </p>
+IMAPServer 2674=<p>  Server MTM class implementation  </p>
+IMAPServer 2675=<p>  Server MTM class implementation  </p>
+IMAPServer 2676=<p>  Server MTM class implementation  </p>
+IMAPServer 2677=<p>  Server MTM class implementation  </p>
+IMAPServer 2678=<p>  Server MTM class implementation  </p>
+IMAPServer 2679=<p>  Server MTM class implementation  </p>
+IMAPServer 2680=<p>  Server MTM class implementation  </p>
+IMAPServer 2681=<p>  Server MTM class implementation  </p>
+IMAPServer 2682=<p>  Server MTM class implementation  </p>
+IMAPServer 2683=<p>  Server MTM class implementation  </p>
+IMAPServer 2684=<p>  Server MTM class implementation  </p>
+IMAPServer 2685=<p>  Server MTM class implementation  </p>
+IMAPServer 2686=<p>  Server MTM class implementation  </p>
+IMAPServer 2687=<p>  Server MTM class implementation  </p>
+IMAPServer 2688=<p>  Server MTM class implementation  </p>
+IMAPServer 2689=<p>  Server MTM class implementation  </p>
+IMAPServer 2690=<p>  Server MTM class implementation  </p>
+IMAPServer 2691=<p>  Server MTM class implementation  </p>
+IMAPServer 2692=<p>  Server MTM class implementation  </p>
+IMAPServer 2693=<p>  Server MTM class implementation  </p>
+IMAPServer 2694=<p>  Server MTM class implementation  </p>
+IMAPServer 2695=<p>  Server MTM class implementation  </p>
+IMAPServer 2696=<p>  Server MTM class implementation  </p>
+IMAPServer 2697=<p>  Server MTM class implementation  </p>
+IMAPServer 2698=<p>  Server MTM class implementation  </p>
+IMAPServer 2699=<p>  Server MTM class implementation  </p>
+IMAPServer 2700=<p>  Server MTM class implementation  </p>
+IMAPServer 2701=<p>  Server MTM class implementation  </p>
+IMAPServer 2702=<p>  Server MTM class implementation  </p>
+IMAPServer 2703=<p>  Server MTM class implementation  </p>
+IMAPServer 2704=<p>  Server MTM class implementation  </p>
+IMAPServer 2705=<p>  Server MTM class implementation  </p>
+IMAPServer 2706=<p>  Server MTM class implementation  </p>
+IMAPServer 2707=<p>  Server MTM class implementation  </p>
+IMAPServer 2708=<p>  Server MTM class implementation  </p>
+IMAPServer 2709=<p>  Server MTM class implementation  </p>
+IMAPServer 2710=<p>  Server MTM class implementation  </p>
+IMAPServer 2711=<p>  Server MTM class implementation  </p>
+IMAPServer 2712=<p>  Server MTM class implementation  </p>
+IMAPServer 2713=<p>  Server MTM class implementation  </p>
+IMAPServer 2714=<p>  Server MTM class implementation  </p>
+IMAPServer 2715=<p>  Server MTM class implementation  </p>
+IMAPServer 2716=<p>  Server MTM class implementation  </p>
+IMAPServer 2717=<p>  Server MTM class implementation  </p>
+IMAPServer 2718=<p>  Server MTM class implementation  </p>
+IMAPServer 2719=<p>  Server MTM class implementation  </p>
+IMAPServer 2720=<p>  Server MTM class implementation  </p>
+IMAPServer 2721=<p>  Server MTM class implementation  </p>
+IMAPServer 2722=<p>  Server MTM class implementation  </p>
+IMAPServer 2723=<p>  Server MTM class implementation  </p>
+IMAPServer 2724=<p>  Server MTM class implementation  </p>
+IMAPServer 2725=<p>  Server MTM class implementation  </p>
+IMAPServer 2726=<p>  Server MTM class implementation  </p>
+IMAPServer 2727=<p>  Server MTM class implementation  </p>
+IMAPServer 2728=<p>  Server MTM class implementation  </p>
+IMAPServer 2729=<p>  Server MTM class implementation  </p>
+IMAPServer 2730=<p>  Server MTM class implementation  </p>
+IMAPServer 2731=<p>  Server MTM class implementation  </p>
+IMAPServer 2732=<p>  Server MTM class implementation  </p>
+IMAPServer 2733=<p>  Server MTM class implementation  </p>
+IMAPServer 2734=<p>  Server MTM class implementation  </p>
+IMAPServer 2735=<p>  Server MTM class implementation  </p>
+IMAPServer 2736=<p>  Server MTM class implementation  </p>
+IMAPServer 2737=<p>  Server MTM class implementation  </p>
+IMAPServer 2738=<p>  Server MTM class implementation  </p>
+IMAPServer 2739=<p>  Server MTM class implementation  </p>
+IMAPServer 2740=<p>  Server MTM class implementation  </p>
+IMAPServer 2741=<p>  Server MTM class implementation  </p>
+IMAPServer 2742=<p>  Server MTM class implementation  </p>
+IMAPServer 2743=<p>  Server MTM class implementation  </p>
+IMAPServer 2744=<p>  Server MTM class implementation  </p>
+IMAPServer 2745=<p>  Server MTM class implementation  </p>
+IMAPServer 2746=<p>  Server MTM class implementation  </p>
+IMAPServer 2747=<p>  Server MTM class implementation  </p>
+IMAPServer 2748=<p>  Server MTM class implementation  </p>
+IMAPServer 2749=<p>  Server MTM class implementation  </p>
+IMAPServer 2750=<p>  Server MTM class implementation  </p>
+IMAPServer 2751=<p>  Server MTM class implementation  </p>
+IMAPServer 2752=<p>  Server MTM class implementation  </p>
+IMAPServer 2753=<p>  Server MTM class implementation  </p>
+IMAPServer 2754=<p>  Server MTM class implementation  </p>
+IMAPServer 2755=<p>  Server MTM class implementation  </p>
+IMAPServer 2756=<p>  Server MTM class implementation  </p>
+IMAPServer 2757=<p>  Server MTM class implementation  </p>
+IMAPServer 2758=<p>  Server MTM class implementation  </p>
+IMAPServer 2759=<p>  Server MTM class implementation  </p>
+IMAPServer 2760=<p>  Server MTM class implementation  </p>
+IMAPServer 2761=<p>  Server MTM class implementation  </p>
+IMAPServer 2762=<p>  Server MTM class implementation  </p>
+IMAPServer 2763=<p>  Server MTM class implementation  </p>
+IMAPServer 2764=<p>  Server MTM class implementation  </p>
+IMAPServer 2765=<p>  Server MTM class implementation  </p>
+IMAPServer 2766=<p>  Server MTM class implementation  </p>
+IMAPServer 2767=<p>  Server MTM class implementation  </p>
+IMAPServer 2768=<p>  Server MTM class implementation  </p>
+IMAPServer 2769=<p>  Server MTM class implementation  </p>
+IMAPServer 2770=<p>  Server MTM class implementation  </p>
+IMAPServer 2771=<p>  Server MTM class implementation  </p>
+IMAPServer 2772=<p>  Server MTM class implementation  </p>
+IMAPServer 2773=<p>  Server MTM class implementation  </p>
+IMAPServer 2774=<p>  Server MTM class implementation  </p>
+IMAPServer 2775=<p>  Server MTM class implementation  </p>
+IMAPServer 2776=<p>  Server MTM class implementation  </p>
+IMAPServer 2777=<p>  Server MTM class implementation  </p>
+IMAPServer 2778=<p>  Server MTM class implementation  </p>
+IMAPServer 2779=<p>  Server MTM class implementation  </p>
+IMAPServer 2780=<p>  Server MTM class implementation  </p>
+IMAPServer 2781=<p>  Server MTM class implementation  </p>
+IMAPServer 2782=<p>  Server MTM class implementation  </p>
+IMAPServer 2783=<p>  Server MTM class implementation  </p>
+IMAPServer 2784=<p>  Server MTM class implementation  </p>
+IMAPServer 2785=<p>  Server MTM class implementation  </p>
+IMAPServer 2786=<p>  Server MTM class implementation  </p>
+IMAPServer 2787=<p>  Server MTM class implementation  </p>
+IMAPServer 2788=<p>  Server MTM class implementation  </p>
+IMAPServer 2789=<p>  Server MTM class implementation  </p>
+IMAPServer 2790=<p>  Server MTM class implementation  </p>
+IMAPServer 2791=<p>  Server MTM class implementation  </p>
+IMAPServer 2792=<p>  Server MTM class implementation  </p>
+IMAPServer 2793=<p>  Server MTM class implementation  </p>
+IMAPServer 2794=<p>  Server MTM class implementation  </p>
+IMAPServer 2795=<p>  Server MTM class implementation  </p>
+IMAPServer 2796=<p>  Server MTM class implementation  </p>
+IMAPServer 2797=<p>  Server MTM class implementation  </p>
+IMAPServer 2798=<p>  Server MTM class implementation  </p>
+IMAPServer 2799=<p>  Server MTM class implementation  </p>
+IMAPServer 2800=<p>  Server MTM class implementation  </p>
+IMAPServer 2801=<p>  Server MTM class implementation  </p>
+IMAPServer 2802=<p>  Server MTM class implementation  </p>
+IMAPServer 2803=<p>  Server MTM class implementation  </p>
+IMAPServer 2804=<p>  Server MTM class implementation  </p>
+IMAPServer 2805=<p>  Server MTM class implementation  </p>
+IMAPServer 2806=<p>  Server MTM class implementation  </p>
+IMAPServer 2807=<p>  Server MTM class implementation  </p>
+IMAPServer 2808=<p>  Server MTM class implementation  </p>
+IMAPServer 2809=<p>  Server MTM class implementation  </p>
+IMAPServer 2810=<p>  Server MTM class implementation  </p>
+IMAPServer 2811=<p>  Server MTM class implementation  </p>
+IMAPServer 2812=<p>  Server MTM class implementation  </p>
+IMAPServer 2813=<p>  Server MTM class implementation  </p>
+IMAPServer 2814=<p>  Server MTM class implementation  </p>
+IMAPServer 2815=<p>  Server MTM class implementation  </p>
+IMAPServer 2816=<p>  Server MTM class implementation  </p>
+IMAPServer 2817=<p>  Server MTM class implementation  </p>
+IMAPServer 2818=<p>  Server MTM class implementation  </p>
+IMAPServer 2819=<p>  Server MTM class implementation  </p>
+IMAPServer 2820=<p>  Server MTM class implementation  </p>
+IMAPServer 2821=<p>  Server MTM class implementation  </p>
+IMAPServer 2822=<p>  Server MTM class implementation  </p>
+IMAPServer 2823=<p>  Server MTM class implementation  </p>
+IMAPServer 2824=<p>  Server MTM class implementation  </p>
+IMAPServer 2825=<p>  Server MTM class implementation  </p>
+IMAPServer 2826=<p>  Server MTM class implementation  </p>
+IMAPServer 2827=<p>  Server MTM class implementation  </p>
+IMAPServer 2828=<p>  Server MTM class implementation  </p>
+IMAPServer 2829=<p>  Server MTM class implementation  </p>
+IMAPServer 2830=<p>  Server MTM class implementation  </p>
+IMAPServer 2831=<p>  Server MTM class implementation  </p>
+IMAPServer 2832=<p>  Server MTM class implementation  </p>
+IMAPServer 2833=<p>  Server MTM class implementation  </p>
+IMAPServer 2834=<p>  Server MTM class implementation  </p>
+IMAPServer 2835=<p>  Server MTM class implementation  </p>
+IMAPServer 2836=<p>  Server MTM class implementation  </p>
+IMAPServer 2837=<p>  Server MTM class implementation  </p>
+IMAPServer 2838=<p>  Server MTM class implementation  </p>
+IMAPServer 2839=<p>  Server MTM class implementation  </p>
+IMAPServer 2840=<p>  Server MTM class implementation  </p>
+IMAPServer 2841=<p>  Server MTM class implementation  </p>
+IMAPServer 2842=<p>  Server MTM class implementation  </p>
+IMAPServer 2843=<p>  Server MTM class implementation  </p>
+IMAPServer 2844=<p>  Server MTM class implementation  </p>
+IMAPServer 2845=<p>  Server MTM class implementation  </p>
+IMAPServer 2846=<p>  Server MTM class implementation  </p>
+IMAPServer 2847=<p>  Server MTM class implementation  </p>
+IMAPServer 2848=<p>  Server MTM class implementation  </p>
+IMAPServer 2849=<p>  Server MTM class implementation  </p>
+IMAPServer 2850=<p>  Server MTM class implementation  </p>
+IMAPServer 2851=<p>  Server MTM class implementation  </p>
+IMAPServer 2852=<p>  Server MTM class implementation  </p>
+IMAPServer 2853=<p>  Server MTM class implementation  </p>
+IMAPServer 2854=<p>  Server MTM class implementation  </p>
+IMAPServer 2855=<p>  Server MTM class implementation  </p>
+IMAPServer 2856=<p>  Server MTM class implementation  </p>
+IMAPServer 2857=<p>  Server MTM class implementation  </p>
+IMAPServer 2858=<p>  Server MTM class implementation  </p>
+IMAPServer 2859=<p>  Server MTM class implementation  </p>
+IMAPServer 2860=<p>  Server MTM class implementation  </p>
+IMAPServer 2861=<p>  Server MTM class implementation  </p>
+IMAPServer 2862=<p>  Server MTM class implementation  </p>
+IMAPServer 2863=<p>  Server MTM class implementation  </p>
+IMAPServer 2864=<p>  Server MTM class implementation  </p>
+IMAPServer 2865=<p>  Server MTM class implementation  </p>
+IMAPServer 2866=<p>  Server MTM class implementation  </p>
+IMAPServer 2867=<p>  Server MTM class implementation  </p>
+IMAPServer 2868=<p>  Server MTM class implementation  </p>
+IMAPServer 2869=<p>  Server MTM class implementation  </p>
+IMAPServer 2870=<p>  Server MTM class implementation  </p>
+IMAPServer 2871=<p>  Server MTM class implementation  </p>
+IMAPServer 2872=<p>  Server MTM class implementation  </p>
+IMAPServer 2873=<p>  Server MTM class implementation  </p>
+IMAPServer 2874=<p>  Server MTM class implementation  </p>
+IMAPServer 2875=<p>  Server MTM class implementation  </p>
+IMAPServer 2876=<p>  Server MTM class implementation  </p>
+IMAPServer 2877=<p>  Server MTM class implementation  </p>
+IMAPServer 2878=<p>  Server MTM class implementation  </p>
+IMAPServer 2879=<p>  Server MTM class implementation  </p>
+IMAPServer 2880=<p>  Server MTM class implementation  </p>
+IMAPServer 2881=<p>  Server MTM class implementation  </p>
+IMAPServer 2882=<p>  Server MTM class implementation  </p>
+IMAPServer 2883=<p>  Server MTM class implementation  </p>
+IMAPServer 2884=<p>  Server MTM class implementation  </p>
+IMAPServer 2885=<p>  Server MTM class implementation  </p>
+IMAPServer 2886=<p>  Server MTM class implementation  </p>
+IMAPServer 2887=<p>  Server MTM class implementation  </p>
+IMAPServer 2888=<p>  Server MTM class implementation  </p>
+IMAPServer 2889=<p>  Server MTM class implementation  </p>
+IMAPServer 2890=<p>  Server MTM class implementation  </p>
+IMAPServer 2891=<p>  Server MTM class implementation  </p>
+IMAPServer 2892=<p>  Server MTM class implementation  </p>
+IMAPServer 2893=<p>  Server MTM class implementation  </p>
+IMAPServer 2894=<p>  Server MTM class implementation  </p>
+IMAPServer 2895=<p>  Server MTM class implementation  </p>
+IMAPServer 2896=<p>  Server MTM class implementation  </p>
+IMAPServer 2897=<p>  Server MTM class implementation  </p>
+IMAPServer 2898=<p>  Server MTM class implementation  </p>
+IMAPServer 2899=<p>  Server MTM class implementation  </p>
+IMAPServer 2900=<p>  Server MTM class implementation  </p>
+IMAPServer 2901=<p>  Server MTM class implementation  </p>
+IMAPServer 2902=<p>  Server MTM class implementation  </p>
+IMAPServer 2903=<p>  Server MTM class implementation  </p>
+IMAPServer 2904=<p>  Server MTM class implementation  </p>
+IMAPServer 2905=<p>  Server MTM class implementation  </p>
+IMAPServer 2906=<p>  Server MTM class implementation  </p>
+IMAPServer 2907=<p>  Server MTM class implementation  </p>
+IMAPServer 2908=<p>  Server MTM class implementation  </p>
+IMAPServer 2909=<p>  Server MTM class implementation  </p>
+IMAPServer 2910=<p>  Server MTM class implementation  </p>
+IMAPServer 2911=<p>  Server MTM class implementation  </p>
+IMAPServer 2912=<p>  Server MTM class implementation  </p>
+IMAPServer 2913=<p>  Server MTM class implementation  </p>
+IMAPServer 2914=<p>  Server MTM class implementation  </p>
+IMAPServer 2915=<p>  Server MTM class implementation  </p>
+IMAPServer 2916=<p>  Server MTM class implementation  </p>
+IMAPServer 2917=<p>  Server MTM class implementation  </p>
+IMAPServer 2918=<p>  Server MTM class implementation  </p>
+IMAPServer 2919=<p>  Server MTM class implementation  </p>
+IMAPServer 2920=<p>  Server MTM class implementation  </p>
+IMAPServer 2921=<p>  Server MTM class implementation  </p>
+IMAPServer 2922=<p>  Server MTM class implementation  </p>
+IMAPServer 2923=<p>  Server MTM class implementation  </p>
+IMAPServer 2924=<p>  Server MTM class implementation  </p>
+IMAPServer 2925=<p>  Server MTM class implementation  </p>
+IMAPServer 2926=<p>  Server MTM class implementation  </p>
+IMAPServer 2927=<p>  Server MTM class implementation  </p>
+IMAPServer 2928=<p>  Server MTM class implementation  </p>
+IMAPServer 2929=<p>  Server MTM class implementation  </p>
+IMAPServer 2930=<p>  Server MTM class implementation  </p>
+IMAPServer 2931=<p>  Server MTM class implementation  </p>
+IMAPServer 2932=<p>  Server MTM class implementation  </p>
+IMAPServer 2933=<p>  Server MTM class implementation  </p>
+IMAPServer 2934=<p>  Server MTM class implementation  </p>
+IMAPServer 2935=<p>  Server MTM class implementation  </p>
+IMAPServer 2936=<p>  Server MTM class implementation  </p>
+IMAPServer 2937=<p>  Server MTM class implementation  </p>
+IMAPServer 2938=<p>  Server MTM class implementation  </p>
+IMAPServer 2939=<p>  Server MTM class implementation  </p>
+IMAPServer 2940=<p>  Server MTM class implementation  </p>
+IMAPServer 2941=<p>  Server MTM class implementation  </p>
+IMAPServer 2942=<p>  Server MTM class implementation  </p>
+IMAPServer 2943=<p>  Server MTM class implementation  </p>
+IMAPServer 2944=<p>  Server MTM class implementation  </p>
+IMAPServer 2945=<p>  Server MTM class implementation  </p>
+IMAPServer 2946=<p>  Server MTM class implementation  </p>
+IMAPServer 2947=<p>  Server MTM class implementation  </p>
+IMAPServer 2948=<p>  Server MTM class implementation  </p>
+IMAPServer 2949=<p>  Server MTM class implementation  </p>
+IMAPServer 2950=<p>  Server MTM class implementation  </p>
+IMAPServer 2951=<p>  Server MTM class implementation  </p>
+IMAPServer 2952=<p>  Server MTM class implementation  </p>
+IMAPServer 2953=<p>  Server MTM class implementation  </p>
+IMAPServer 2954=<p>  Server MTM class implementation  </p>
+IMAPServer 2955=<p>  Server MTM class implementation  </p>
+IMAPServer 2956=<p>  Server MTM class implementation  </p>
+IMAPServer 2957=<p>  Server MTM class implementation  </p>
+IMAPServer 2958=<p>  Server MTM class implementation  </p>
+IMAPServer 2959=<p>  Server MTM class implementation  </p>
+IMAPServer 2960=<p>  Server MTM class implementation  </p>
+IMAPServer 2961=<p>  Server MTM class implementation  </p>
+IMAPServer 2962=<p>  Server MTM class implementation  </p>
+IMAPServer 2963=<p>  Server MTM class implementation  </p>
+IMAPServer 2964=<p>  Server MTM class implementation  </p>
+IMAPServer 2965=<p>  Server MTM class implementation  </p>
+IMAPServer 2966=<p>  Server MTM class implementation  </p>
+IMAPServer 2967=<p>  Server MTM class implementation  </p>
+IMAPServer 2968=<p>  Server MTM class implementation  </p>
+IMAPServer 2969=<p>  Server MTM class implementation  </p>
+IMAPServer 2970=<p>  Server MTM class implementation  </p>
+IMAPServer 2971=<p>  Server MTM class implementation  </p>
+IMAPServer 2972=<p>  Server MTM class implementation  </p>
+IMAPServer 2973=<p>  Server MTM class implementation  </p>
+IMAPServer 2974=<p>  Server MTM class implementation  </p>
+IMAPServer 2975=<p>  Server MTM class implementation  </p>
+IMAPServer 2976=<p>  Server MTM class implementation  </p>
+IMAPServer 2977=<p>  Server MTM class implementation  </p>
+IMAPServer 2978=<p>  Server MTM class implementation  </p>
+IMAPServer 2979=<p>  Server MTM class implementation  </p>
+IMAPServer 2980=<p>  Server MTM class implementation  </p>
+IMAPServer 2981=<p>  Server MTM class implementation  </p>
+IMAPServer 2982=<p>  Server MTM class implementation  </p>
+IMAPServer 2983=<p>  Server MTM class implementation  </p>
+IMAPServer 2984=<p>  Server MTM class implementation  </p>
+IMAPServer 2985=<p>  Server MTM class implementation  </p>
+IMAPServer 2986=<p>  Server MTM class implementation  </p>
+IMAPServer 2987=<p>  Server MTM class implementation  </p>
+IMAPServer 2988=<p>  Server MTM class implementation  </p>
+IMAPServer 2989=<p>  Server MTM class implementation  </p>
+IMAPServer 2990=<p>  Server MTM class implementation  </p>
+IMAPServer 2991=<p>  Server MTM class implementation  </p>
+IMAPServer 2992=<p>  Server MTM class implementation  </p>
+IMAPServer 2993=<p>  Server MTM class implementation  </p>
+IMAPServer 2994=<p>  Server MTM class implementation  </p>
+IMAPServer 2995=<p>  Server MTM class implementation  </p>
+IMAPServer 2996=<p>  Server MTM class implementation  </p>
+IMAPServer 2997=<p>  Server MTM class implementation  </p>
+IMAPServer 2998=<p>  Server MTM class implementation  </p>
+IMAPServer 2999=<p>  Server MTM class implementation  </p>
+IMAPServer 3000=<p>  Character set conversion  </p>
+IMAPServer 3001=<p>  Character set conversion  </p>
+IMAPServer 3002=<p>  Character set conversion  </p>
+IMAPServer 3003=<p>  Character set conversion  </p>
+IMAPServer 3004=<p>  Character set conversion  </p>
+IMAPServer 3005=<p>  Character set conversion  </p>
+IMAPServer 3006=<p>  Character set conversion  </p>
+IMAPServer 3007=<p>  Character set conversion  </p>
+IMAPServer 3008=<p>  Character set conversion  </p>
+IMAPServer 3009=<p>  Character set conversion  </p>
+IMAPServer 3010=<p>  Character set conversion  </p>
+IMAPServer 3011=<p>  Character set conversion  </p>
+IMAPServer 3012=<p>  Character set conversion  </p>
+IMAPServer 3013=<p>  Character set conversion  </p>
+IMAPServer 3014=<p>  Character set conversion  </p>
+IMAPServer 3015=<p>  Character set conversion  </p>
+IMAPServer 3016=<p>  Character set conversion  </p>
+IMAPServer 3017=<p>  Character set conversion  </p>
+IMAPServer 3018=<p>  Character set conversion  </p>
+IMAPServer 3019=<p>  Character set conversion  </p>
+IMAPServer 3020=<p>  Character set conversion  </p>
+IMAPServer 3021=<p>  Character set conversion  </p>
+IMAPServer 3022=<p>  Character set conversion  </p>
+IMAPServer 3023=<p>  Character set conversion  </p>
+IMAPServer 3024=<p>  Character set conversion  </p>
+IMAPServer 3025=<p>  Character set conversion  </p>
+IMAPServer 3026=<p>  Character set conversion  </p>
+IMAPServer 3027=<p>  Character set conversion  </p>
+IMAPServer 3028=<p>  Character set conversion  </p>
+IMAPServer 3029=<p>  Character set conversion  </p>
+IMAPServer 3030=<p>  Character set conversion  </p>
+IMAPServer 3031=<p>  Character set conversion  </p>
+IMAPServer 3032=<p>  Character set conversion  </p>
+IMAPServer 3033=<p>  Character set conversion  </p>
+IMAPServer 3034=<p>  Character set conversion  </p>
+IMAPServer 3035=<p>  Character set conversion  </p>
+IMAPServer 3036=<p>  Character set conversion  </p>
+IMAPServer 3037=<p>  Character set conversion  </p>
+IMAPServer 3038=<p>  Character set conversion  </p>
+IMAPServer 3039=<p>  Character set conversion  </p>
+IMAPServer 3040=<p>  Character set conversion  </p>
+IMAPServer 3041=<p>  Character set conversion  </p>
+IMAPServer 3042=<p>  Character set conversion  </p>
+IMAPServer 3043=<p>  Character set conversion  </p>
+IMAPServer 3044=<p>  Character set conversion  </p>
+IMAPServer 3045=<p>  Character set conversion  </p>
+IMAPServer 3046=<p>  Character set conversion  </p>
+IMAPServer 3047=<p>  Character set conversion  </p>
+IMAPServer 3048=<p>  Character set conversion  </p>
+IMAPServer 3049=<p>  Character set conversion  </p>
+IMAPServer 3050=<p>  Character set conversion  </p>
+IMAPServer 3051=<p>  Character set conversion  </p>
+IMAPServer 3052=<p>  Character set conversion  </p>
+IMAPServer 3053=<p>  Character set conversion  </p>
+IMAPServer 3054=<p>  Character set conversion  </p>
+IMAPServer 3055=<p>  Character set conversion  </p>
+IMAPServer 3056=<p>  Character set conversion  </p>
+IMAPServer 3057=<p>  Character set conversion  </p>
+IMAPServer 3058=<p>  Character set conversion  </p>
+IMAPServer 3059=<p>  Character set conversion  </p>
+IMAPServer 3060=<p>  Character set conversion  </p>
+IMAPServer 3061=<p>  Character set conversion  </p>
+IMAPServer 3062=<p>  Character set conversion  </p>
+IMAPServer 3063=<p>  Character set conversion  </p>
+IMAPServer 3064=<p>  Character set conversion  </p>
+IMAPServer 3065=<p>  Character set conversion  </p>
+IMAPServer 3066=<p>  Character set conversion  </p>
+IMAPServer 3067=<p>  Character set conversion  </p>
+IMAPServer 3068=<p>  Character set conversion  </p>
+IMAPServer 3069=<p>  Character set conversion  </p>
+IMAPServer 3070=<p>  Character set conversion  </p>
+IMAPServer 3071=<p>  Character set conversion  </p>
+IMAPServer 3072=<p>  Character set conversion  </p>
+IMAPServer 3073=<p>  Character set conversion  </p>
+IMAPServer 3074=<p>  Character set conversion  </p>
+IMAPServer 3075=<p>  Character set conversion  </p>
+IMAPServer 3076=<p>  Character set conversion  </p>
+IMAPServer 3077=<p>  Character set conversion  </p>
+IMAPServer 3078=<p>  Character set conversion  </p>
+IMAPServer 3079=<p>  Character set conversion  </p>
+IMAPServer 3080=<p>  Character set conversion  </p>
+IMAPServer 3081=<p>  Character set conversion  </p>
+IMAPServer 3082=<p>  Character set conversion  </p>
+IMAPServer 3083=<p>  Character set conversion  </p>
+IMAPServer 3084=<p>  Character set conversion  </p>
+IMAPServer 3085=<p>  Character set conversion  </p>
+IMAPServer 3086=<p>  Character set conversion  </p>
+IMAPServer 3087=<p>  Character set conversion  </p>
+IMAPServer 3088=<p>  Character set conversion  </p>
+IMAPServer 3089=<p>  Character set conversion  </p>
+IMAPServer 3090=<p>  Character set conversion  </p>
+IMAPServer 3091=<p>  Character set conversion  </p>
+IMAPServer 3092=<p>  Character set conversion  </p>
+IMAPServer 3093=<p>  Character set conversion  </p>
+IMAPServer 3094=<p>  Character set conversion  </p>
+IMAPServer 3095=<p>  Character set conversion  </p>
+IMAPServer 3096=<p>  Character set conversion  </p>
+IMAPServer 3097=<p>  Character set conversion  </p>
+IMAPServer 3098=<p>  Character set conversion  </p>
+IMAPServer 3099=<p>  Character set conversion  </p>
+IMAPServer 3100=<p>  Character set conversion  </p>
+IMAPServer 3101=<p>  Character set conversion  </p>
+IMAPServer 3102=<p>  Character set conversion  </p>
+IMAPServer 3103=<p>  Character set conversion  </p>
+IMAPServer 3104=<p>  Character set conversion  </p>
+IMAPServer 3105=<p>  Character set conversion  </p>
+IMAPServer 3106=<p>  Character set conversion  </p>
+IMAPServer 3107=<p>  Character set conversion  </p>
+IMAPServer 3108=<p>  Character set conversion  </p>
+IMAPServer 3109=<p>  Character set conversion  </p>
+IMAPServer 3110=<p>  Character set conversion  </p>
+IMAPServer 3111=<p>  Character set conversion  </p>
+IMAPServer 3112=<p>  Character set conversion  </p>
+IMAPServer 3113=<p>  Character set conversion  </p>
+IMAPServer 3114=<p>  Character set conversion  </p>
+IMAPServer 3115=<p>  Character set conversion  </p>
+IMAPServer 3116=<p>  Character set conversion  </p>
+IMAPServer 3117=<p>  Character set conversion  </p>
+IMAPServer 3118=<p>  Character set conversion  </p>
+IMAPServer 3119=<p>  Character set conversion  </p>
+IMAPServer 3120=<p>  Character set conversion  </p>
+IMAPServer 3121=<p>  Character set conversion  </p>
+IMAPServer 3122=<p>  Character set conversion  </p>
+IMAPServer 3123=<p>  Character set conversion  </p>
+IMAPServer 3124=<p>  Character set conversion  </p>
+IMAPServer 3125=<p>  Character set conversion  </p>
+IMAPServer 3126=<p>  Character set conversion  </p>
+IMAPServer 3127=<p>  Character set conversion  </p>
+IMAPServer 3128=<p>  Character set conversion  </p>
+IMAPServer 3129=<p>  Character set conversion  </p>
+IMAPServer 3130=<p>  Character set conversion  </p>
+IMAPServer 3131=<p>  Character set conversion  </p>
+IMAPServer 3132=<p>  Character set conversion  </p>
+IMAPServer 3133=<p>  Character set conversion  </p>
+IMAPServer 3134=<p>  Character set conversion  </p>
+IMAPServer 3135=<p>  Character set conversion  </p>
+IMAPServer 3136=<p>  Character set conversion  </p>
+IMAPServer 3137=<p>  Character set conversion  </p>
+IMAPServer 3138=<p>  Character set conversion  </p>
+IMAPServer 3139=<p>  Character set conversion  </p>
+IMAPServer 3140=<p>  Character set conversion  </p>
+IMAPServer 3141=<p>  Character set conversion  </p>
+IMAPServer 3142=<p>  Character set conversion  </p>
+IMAPServer 3143=<p>  Character set conversion  </p>
+IMAPServer 3144=<p>  Character set conversion  </p>
+IMAPServer 3145=<p>  Character set conversion  </p>
+IMAPServer 3146=<p>  Character set conversion  </p>
+IMAPServer 3147=<p>  Character set conversion  </p>
+IMAPServer 3148=<p>  Character set conversion  </p>
+IMAPServer 3149=<p>  Character set conversion  </p>
+IMAPServer 3150=<p>  Character set conversion  </p>
+IMAPServer 3151=<p>  Character set conversion  </p>
+IMAPServer 3152=<p>  Character set conversion  </p>
+IMAPServer 3153=<p>  Character set conversion  </p>
+IMAPServer 3154=<p>  Character set conversion  </p>
+IMAPServer 3155=<p>  Character set conversion  </p>
+IMAPServer 3156=<p>  Character set conversion  </p>
+IMAPServer 3157=<p>  Character set conversion  </p>
+IMAPServer 3158=<p>  Character set conversion  </p>
+IMAPServer 3159=<p>  Character set conversion  </p>
+IMAPServer 3160=<p>  Character set conversion  </p>
+IMAPServer 3161=<p>  Character set conversion  </p>
+IMAPServer 3162=<p>  Character set conversion  </p>
+IMAPServer 3163=<p>  Character set conversion  </p>
+IMAPServer 3164=<p>  Character set conversion  </p>
+IMAPServer 3165=<p>  Character set conversion  </p>
+IMAPServer 3166=<p>  Character set conversion  </p>
+IMAPServer 3167=<p>  Character set conversion  </p>
+IMAPServer 3168=<p>  Character set conversion  </p>
+IMAPServer 3169=<p>  Character set conversion  </p>
+IMAPServer 3170=<p>  Character set conversion  </p>
+IMAPServer 3171=<p>  Character set conversion  </p>
+IMAPServer 3172=<p>  Character set conversion  </p>
+IMAPServer 3173=<p>  Character set conversion  </p>
+IMAPServer 3174=<p>  Character set conversion  </p>
+IMAPServer 3175=<p>  Character set conversion  </p>
+IMAPServer 3176=<p>  Character set conversion  </p>
+IMAPServer 3177=<p>  Character set conversion  </p>
+IMAPServer 3178=<p>  Character set conversion  </p>
+IMAPServer 3179=<p>  Character set conversion  </p>
+IMAPServer 3180=<p>  Character set conversion  </p>
+IMAPServer 3181=<p>  Character set conversion  </p>
+IMAPServer 3182=<p>  Character set conversion  </p>
+IMAPServer 3183=<p>  Character set conversion  </p>
+IMAPServer 3184=<p>  Character set conversion  </p>
+IMAPServer 3185=<p>  Character set conversion  </p>
+IMAPServer 3186=<p>  Character set conversion  </p>
+IMAPServer 3187=<p>  Character set conversion  </p>
+IMAPServer 3188=<p>  Character set conversion  </p>
+IMAPServer 3189=<p>  Character set conversion  </p>
+IMAPServer 3190=<p>  Character set conversion  </p>
+IMAPServer 3191=<p>  Character set conversion  </p>
+IMAPServer 3192=<p>  Character set conversion  </p>
+IMAPServer 3193=<p>  Character set conversion  </p>
+IMAPServer 3194=<p>  Character set conversion  </p>
+IMAPServer 3195=<p>  Character set conversion  </p>
+IMAPServer 3196=<p>  Character set conversion  </p>
+IMAPServer 3197=<p>  Character set conversion  </p>
+IMAPServer 3198=<p>  Character set conversion  </p>
+IMAPServer 3199=<p>  Character set conversion  </p>
+IMAPServer 3200=<p>  Character set conversion  </p>
+IMAPServer 3201=<p>  Character set conversion  </p>
+IMAPServer 3202=<p>  Character set conversion  </p>
+IMAPServer 3203=<p>  Character set conversion  </p>
+IMAPServer 3204=<p>  Character set conversion  </p>
+IMAPServer 3205=<p>  Character set conversion  </p>
+IMAPServer 3206=<p>  Character set conversion  </p>
+IMAPServer 3207=<p>  Character set conversion  </p>
+IMAPServer 3208=<p>  Character set conversion  </p>
+IMAPServer 3209=<p>  Character set conversion  </p>
+IMAPServer 3210=<p>  Character set conversion  </p>
+IMAPServer 3211=<p>  Character set conversion  </p>
+IMAPServer 3212=<p>  Character set conversion  </p>
+IMAPServer 3213=<p>  Character set conversion  </p>
+IMAPServer 3214=<p>  Character set conversion  </p>
+IMAPServer 3215=<p>  Character set conversion  </p>
+IMAPServer 3216=<p>  Character set conversion  </p>
+IMAPServer 3217=<p>  Character set conversion  </p>
+IMAPServer 3218=<p>  Character set conversion  </p>
+IMAPServer 3219=<p>  Character set conversion  </p>
+IMAPServer 3220=<p>  Character set conversion  </p>
+IMAPServer 3221=<p>  Character set conversion  </p>
+IMAPServer 3222=<p>  Character set conversion  </p>
+IMAPServer 3223=<p>  Character set conversion  </p>
+IMAPServer 3224=<p>  Character set conversion  </p>
+IMAPServer 3225=<p>  Character set conversion  </p>
+IMAPServer 3226=<p>  Character set conversion  </p>
+IMAPServer 3227=<p>  Character set conversion  </p>
+IMAPServer 3228=<p>  Character set conversion  </p>
+IMAPServer 3229=<p>  Character set conversion  </p>
+IMAPServer 3230=<p>  Character set conversion  </p>
+IMAPServer 3231=<p>  Character set conversion  </p>
+IMAPServer 3232=<p>  Character set conversion  </p>
+IMAPServer 3233=<p>  Character set conversion  </p>
+IMAPServer 3234=<p>  Character set conversion  </p>
+IMAPServer 3235=<p>  Character set conversion  </p>
+IMAPServer 3236=<p>  Character set conversion  </p>
+IMAPServer 3237=<p>  Character set conversion  </p>
+IMAPServer 3238=<p>  Character set conversion  </p>
+IMAPServer 3239=<p>  Character set conversion  </p>
+IMAPServer 3240=<p>  Character set conversion  </p>
+IMAPServer 3241=<p>  Character set conversion  </p>
+IMAPServer 3242=<p>  Character set conversion  </p>
+IMAPServer 3243=<p>  Character set conversion  </p>
+IMAPServer 3244=<p>  Character set conversion  </p>
+IMAPServer 3245=<p>  Character set conversion  </p>
+IMAPServer 3246=<p>  Character set conversion  </p>
+IMAPServer 3247=<p>  Character set conversion  </p>
+IMAPServer 3248=<p>  Character set conversion  </p>
+IMAPServer 3249=<p>  Character set conversion  </p>
+IMAPServer 3250=<p>  Character set conversion  </p>
+IMAPServer 3251=<p>  Character set conversion  </p>
+IMAPServer 3252=<p>  Character set conversion  </p>
+IMAPServer 3253=<p>  Character set conversion  </p>
+IMAPServer 3254=<p>  Character set conversion  </p>
+IMAPServer 3255=<p>  Character set conversion  </p>
+IMAPServer 3256=<p>  Character set conversion  </p>
+IMAPServer 3257=<p>  Character set conversion  </p>
+IMAPServer 3258=<p>  Character set conversion  </p>
+IMAPServer 3259=<p>  Character set conversion  </p>
+IMAPServer 3260=<p>  Character set conversion  </p>
+IMAPServer 3261=<p>  Character set conversion  </p>
+IMAPServer 3262=<p>  Character set conversion  </p>
+IMAPServer 3263=<p>  Character set conversion  </p>
+IMAPServer 3264=<p>  Character set conversion  </p>
+IMAPServer 3265=<p>  Character set conversion  </p>
+IMAPServer 3266=<p>  Character set conversion  </p>
+IMAPServer 3267=<p>  Character set conversion  </p>
+IMAPServer 3268=<p>  Character set conversion  </p>
+IMAPServer 3269=<p>  Character set conversion  </p>
+IMAPServer 3270=<p>  Character set conversion  </p>
+IMAPServer 3271=<p>  Character set conversion  </p>
+IMAPServer 3272=<p>  Character set conversion  </p>
+IMAPServer 3273=<p>  Character set conversion  </p>
+IMAPServer 3274=<p>  Character set conversion  </p>
+IMAPServer 3275=<p>  Character set conversion  </p>
+IMAPServer 3276=<p>  Character set conversion  </p>
+IMAPServer 3277=<p>  Character set conversion  </p>
+IMAPServer 3278=<p>  Character set conversion  </p>
+IMAPServer 3279=<p>  Character set conversion  </p>
+IMAPServer 3280=<p>  Character set conversion  </p>
+IMAPServer 3281=<p>  Character set conversion  </p>
+IMAPServer 3282=<p>  Character set conversion  </p>
+IMAPServer 3283=<p>  Character set conversion  </p>
+IMAPServer 3284=<p>  Character set conversion  </p>
+IMAPServer 3285=<p>  Character set conversion  </p>
+IMAPServer 3286=<p>  Character set conversion  </p>
+IMAPServer 3287=<p>  Character set conversion  </p>
+IMAPServer 3288=<p>  Character set conversion  </p>
+IMAPServer 3289=<p>  Character set conversion  </p>
+IMAPServer 3290=<p>  Character set conversion  </p>
+IMAPServer 3291=<p>  Character set conversion  </p>
+IMAPServer 3292=<p>  Character set conversion  </p>
+IMAPServer 3293=<p>  Character set conversion  </p>
+IMAPServer 3294=<p>  Character set conversion  </p>
+IMAPServer 3295=<p>  Character set conversion  </p>
+IMAPServer 3296=<p>  Character set conversion  </p>
+IMAPServer 3297=<p>  Character set conversion  </p>
+IMAPServer 3298=<p>  Character set conversion  </p>
+IMAPServer 3299=<p>  Character set conversion  </p>
+IMAPServer 3300=<p>  Character set conversion  </p>
+IMAPServer 3301=<p>  Character set conversion  </p>
+IMAPServer 3302=<p>  Character set conversion  </p>
+IMAPServer 3303=<p>  Character set conversion  </p>
+IMAPServer 3304=<p>  Character set conversion  </p>
+IMAPServer 3305=<p>  Character set conversion  </p>
+IMAPServer 3306=<p>  Character set conversion  </p>
+IMAPServer 3307=<p>  Character set conversion  </p>
+IMAPServer 3308=<p>  Character set conversion  </p>
+IMAPServer 3309=<p>  Character set conversion  </p>
+IMAPServer 3310=<p>  Character set conversion  </p>
+IMAPServer 3311=<p>  Character set conversion  </p>
+IMAPServer 3312=<p>  Character set conversion  </p>
+IMAPServer 3313=<p>  Character set conversion  </p>
+IMAPServer 3314=<p>  Character set conversion  </p>
+IMAPServer 3315=<p>  Character set conversion  </p>
+IMAPServer 3316=<p>  Character set conversion  </p>
+IMAPServer 3317=<p>  Character set conversion  </p>
+IMAPServer 3318=<p>  Character set conversion  </p>
+IMAPServer 3319=<p>  Character set conversion  </p>
+IMAPServer 3320=<p>  Character set conversion  </p>
+IMAPServer 3321=<p>  Character set conversion  </p>
+IMAPServer 3322=<p>  Character set conversion  </p>
+IMAPServer 3323=<p>  Character set conversion  </p>
+IMAPServer 3324=<p>  Character set conversion  </p>
+IMAPServer 3325=<p>  Character set conversion  </p>
+IMAPServer 3326=<p>  Character set conversion  </p>
+IMAPServer 3327=<p>  Character set conversion  </p>
+IMAPServer 3328=<p>  Character set conversion  </p>
+IMAPServer 3329=<p>  Character set conversion  </p>
+IMAPServer 3330=<p>  Character set conversion  </p>
+IMAPServer 3331=<p>  Character set conversion  </p>
+IMAPServer 3332=<p>  Character set conversion  </p>
+IMAPServer 3333=<p>  Character set conversion  </p>
+IMAPServer 3334=<p>  Character set conversion  </p>
+IMAPServer 3335=<p>  Character set conversion  </p>
+IMAPServer 3336=<p>  Character set conversion  </p>
+IMAPServer 3337=<p>  Character set conversion  </p>
+IMAPServer 3338=<p>  Character set conversion  </p>
+IMAPServer 3339=<p>  Character set conversion  </p>
+IMAPServer 3340=<p>  Character set conversion  </p>
+IMAPServer 3341=<p>  Character set conversion  </p>
+IMAPServer 3342=<p>  Character set conversion  </p>
+IMAPServer 3343=<p>  Character set conversion  </p>
+IMAPServer 3344=<p>  Character set conversion  </p>
+IMAPServer 3345=<p>  Character set conversion  </p>
+IMAPServer 3346=<p>  Character set conversion  </p>
+IMAPServer 3347=<p>  Character set conversion  </p>
+IMAPServer 3348=<p>  Character set conversion  </p>
+IMAPServer 3349=<p>  Character set conversion  </p>
+IMAPServer 3350=<p>  Character set conversion  </p>
+IMAPServer 3351=<p>  Character set conversion  </p>
+IMAPServer 3352=<p>  Character set conversion  </p>
+IMAPServer 3353=<p>  Character set conversion  </p>
+IMAPServer 3354=<p>  Character set conversion  </p>
+IMAPServer 3355=<p>  Character set conversion  </p>
+IMAPServer 3356=<p>  Character set conversion  </p>
+IMAPServer 3357=<p>  Character set conversion  </p>
+IMAPServer 3358=<p>  Character set conversion  </p>
+IMAPServer 3359=<p>  Character set conversion  </p>
+IMAPServer 3360=<p>  Character set conversion  </p>
+IMAPServer 3361=<p>  Character set conversion  </p>
+IMAPServer 3362=<p>  Character set conversion  </p>
+IMAPServer 3363=<p>  Character set conversion  </p>
+IMAPServer 3364=<p>  Character set conversion  </p>
+IMAPServer 3365=<p>  Character set conversion  </p>
+IMAPServer 3366=<p>  Character set conversion  </p>
+IMAPServer 3367=<p>  Character set conversion  </p>
+IMAPServer 3368=<p>  Character set conversion  </p>
+IMAPServer 3369=<p>  Character set conversion  </p>
+IMAPServer 3370=<p>  Character set conversion  </p>
+IMAPServer 3371=<p>  Character set conversion  </p>
+IMAPServer 3372=<p>  Character set conversion  </p>
+IMAPServer 3373=<p>  Character set conversion  </p>
+IMAPServer 3374=<p>  Character set conversion  </p>
+IMAPServer 3375=<p>  Character set conversion  </p>
+IMAPServer 3376=<p>  Character set conversion  </p>
+IMAPServer 3377=<p>  Character set conversion  </p>
+IMAPServer 3378=<p>  Character set conversion  </p>
+IMAPServer 3379=<p>  Character set conversion  </p>
+IMAPServer 3380=<p>  Character set conversion  </p>
+IMAPServer 3381=<p>  Character set conversion  </p>
+IMAPServer 3382=<p>  Character set conversion  </p>
+IMAPServer 3383=<p>  Character set conversion  </p>
+IMAPServer 3384=<p>  Character set conversion  </p>
+IMAPServer 3385=<p>  Character set conversion  </p>
+IMAPServer 3386=<p>  Character set conversion  </p>
+IMAPServer 3387=<p>  Character set conversion  </p>
+IMAPServer 3388=<p>  Character set conversion  </p>
+IMAPServer 3389=<p>  Character set conversion  </p>
+IMAPServer 3390=<p>  Character set conversion  </p>
+IMAPServer 3391=<p>  Character set conversion  </p>
+IMAPServer 3392=<p>  Character set conversion  </p>
+IMAPServer 3393=<p>  Character set conversion  </p>
+IMAPServer 3394=<p>  Character set conversion  </p>
+IMAPServer 3395=<p>  Character set conversion  </p>
+IMAPServer 3396=<p>  Character set conversion  </p>
+IMAPServer 3397=<p>  Character set conversion  </p>
+IMAPServer 3398=<p>  Character set conversion  </p>
+IMAPServer 3399=<p>  Character set conversion  </p>
+IMAPServer 3400=<p>  Character set conversion  </p>
+IMAPServer 3401=<p>  Character set conversion  </p>
+IMAPServer 3402=<p>  Character set conversion  </p>
+IMAPServer 3403=<p>  Character set conversion  </p>
+IMAPServer 3404=<p>  Character set conversion  </p>
+IMAPServer 3405=<p>  Character set conversion  </p>
+IMAPServer 3406=<p>  Character set conversion  </p>
+IMAPServer 3407=<p>  Character set conversion  </p>
+IMAPServer 3408=<p>  Character set conversion  </p>
+IMAPServer 3409=<p>  Character set conversion  </p>
+IMAPServer 3410=<p>  Character set conversion  </p>
+IMAPServer 3411=<p>  Character set conversion  </p>
+IMAPServer 3412=<p>  Character set conversion  </p>
+IMAPServer 3413=<p>  Character set conversion  </p>
+IMAPServer 3414=<p>  Character set conversion  </p>
+IMAPServer 3415=<p>  Character set conversion  </p>
+IMAPServer 3416=<p>  Character set conversion  </p>
+IMAPServer 3417=<p>  Character set conversion  </p>
+IMAPServer 3418=<p>  Character set conversion  </p>
+IMAPServer 3419=<p>  Character set conversion  </p>
+IMAPServer 3420=<p>  Character set conversion  </p>
+IMAPServer 3421=<p>  Character set conversion  </p>
+IMAPServer 3422=<p>  Character set conversion  </p>
+IMAPServer 3423=<p>  Character set conversion  </p>
+IMAPServer 3424=<p>  Character set conversion  </p>
+IMAPServer 3425=<p>  Character set conversion  </p>
+IMAPServer 3426=<p>  Character set conversion  </p>
+IMAPServer 3427=<p>  Character set conversion  </p>
+IMAPServer 3428=<p>  Character set conversion  </p>
+IMAPServer 3429=<p>  Character set conversion  </p>
+IMAPServer 3430=<p>  Character set conversion  </p>
+IMAPServer 3431=<p>  Character set conversion  </p>
+IMAPServer 3432=<p>  Character set conversion  </p>
+IMAPServer 3433=<p>  Character set conversion  </p>
+IMAPServer 3434=<p>  Character set conversion  </p>
+IMAPServer 3435=<p>  Character set conversion  </p>
+IMAPServer 3436=<p>  Character set conversion  </p>
+IMAPServer 3437=<p>  Character set conversion  </p>
+IMAPServer 3438=<p>  Character set conversion  </p>
+IMAPServer 3439=<p>  Character set conversion  </p>
+IMAPServer 3440=<p>  Character set conversion  </p>
+IMAPServer 3441=<p>  Character set conversion  </p>
+IMAPServer 3442=<p>  Character set conversion  </p>
+IMAPServer 3443=<p>  Character set conversion  </p>
+IMAPServer 3444=<p>  Character set conversion  </p>
+IMAPServer 3445=<p>  Character set conversion  </p>
+IMAPServer 3446=<p>  Character set conversion  </p>
+IMAPServer 3447=<p>  Character set conversion  </p>
+IMAPServer 3448=<p>  Character set conversion  </p>
+IMAPServer 3449=<p>  Character set conversion  </p>
+IMAPServer 3450=<p>  Character set conversion  </p>
+IMAPServer 3451=<p>  Character set conversion  </p>
+IMAPServer 3452=<p>  Character set conversion  </p>
+IMAPServer 3453=<p>  Character set conversion  </p>
+IMAPServer 3454=<p>  Character set conversion  </p>
+IMAPServer 3455=<p>  Character set conversion  </p>
+IMAPServer 3456=<p>  Character set conversion  </p>
+IMAPServer 3457=<p>  Character set conversion  </p>
+IMAPServer 3458=<p>  Character set conversion  </p>
+IMAPServer 3459=<p>  Character set conversion  </p>
+IMAPServer 3460=<p>  Character set conversion  </p>
+IMAPServer 3461=<p>  Character set conversion  </p>
+IMAPServer 3462=<p>  Character set conversion  </p>
+IMAPServer 3463=<p>  Character set conversion  </p>
+IMAPServer 3464=<p>  Character set conversion  </p>
+IMAPServer 3465=<p>  Character set conversion  </p>
+IMAPServer 3466=<p>  Character set conversion  </p>
+IMAPServer 3467=<p>  Character set conversion  </p>
+IMAPServer 3468=<p>  Character set conversion  </p>
+IMAPServer 3469=<p>  Character set conversion  </p>
+IMAPServer 3470=<p>  Character set conversion  </p>
+IMAPServer 3471=<p>  Character set conversion  </p>
+IMAPServer 3472=<p>  Character set conversion  </p>
+IMAPServer 3473=<p>  Character set conversion  </p>
+IMAPServer 3474=<p>  Character set conversion  </p>
+IMAPServer 3475=<p>  Character set conversion  </p>
+IMAPServer 3476=<p>  Character set conversion  </p>
+IMAPServer 3477=<p>  Character set conversion  </p>
+IMAPServer 3478=<p>  Character set conversion  </p>
+IMAPServer 3479=<p>  Character set conversion  </p>
+IMAPServer 3480=<p>  Character set conversion  </p>
+IMAPServer 3481=<p>  Character set conversion  </p>
+IMAPServer 3482=<p>  Character set conversion  </p>
+IMAPServer 3483=<p>  Character set conversion  </p>
+IMAPServer 3484=<p>  Character set conversion  </p>
+IMAPServer 3485=<p>  Character set conversion  </p>
+IMAPServer 3486=<p>  Character set conversion  </p>
+IMAPServer 3487=<p>  Character set conversion  </p>
+IMAPServer 3488=<p>  Character set conversion  </p>
+IMAPServer 3489=<p>  Character set conversion  </p>
+IMAPServer 3490=<p>  Character set conversion  </p>
+IMAPServer 3491=<p>  Character set conversion  </p>
+IMAPServer 3492=<p>  Character set conversion  </p>
+IMAPServer 3493=<p>  Character set conversion  </p>
+IMAPServer 3494=<p>  Character set conversion  </p>
+IMAPServer 3495=<p>  Character set conversion  </p>
+IMAPServer 3496=<p>  Character set conversion  </p>
+IMAPServer 3497=<p>  Character set conversion  </p>
+IMAPServer 3498=<p>  Character set conversion  </p>
+IMAPServer 3499=<p>  Character set conversion  </p>
+IMAPServer 3500=<p>  Character set conversion  </p>
+IMAPServer 3501=<p>  Character set conversion  </p>
+IMAPServer 3502=<p>  Character set conversion  </p>
+IMAPServer 3503=<p>  Character set conversion  </p>
+IMAPServer 3504=<p>  Character set conversion  </p>
+IMAPServer 3505=<p>  Character set conversion  </p>
+IMAPServer 3506=<p>  Character set conversion  </p>
+IMAPServer 3507=<p>  Character set conversion  </p>
+IMAPServer 3508=<p>  Character set conversion  </p>
+IMAPServer 3509=<p>  Character set conversion  </p>
+IMAPServer 3510=<p>  Character set conversion  </p>
+IMAPServer 3511=<p>  Character set conversion  </p>
+IMAPServer 3512=<p>  Character set conversion  </p>
+IMAPServer 3513=<p>  Character set conversion  </p>
+IMAPServer 3514=<p>  Character set conversion  </p>
+IMAPServer 3515=<p>  Character set conversion  </p>
+IMAPServer 3516=<p>  Character set conversion  </p>
+IMAPServer 3517=<p>  Character set conversion  </p>
+IMAPServer 3518=<p>  Character set conversion  </p>
+IMAPServer 3519=<p>  Character set conversion  </p>
+IMAPServer 3520=<p>  Character set conversion  </p>
+IMAPServer 3521=<p>  Character set conversion  </p>
+IMAPServer 3522=<p>  Character set conversion  </p>
+IMAPServer 3523=<p>  Character set conversion  </p>
+IMAPServer 3524=<p>  Character set conversion  </p>
+IMAPServer 3525=<p>  Character set conversion  </p>
+IMAPServer 3526=<p>  Character set conversion  </p>
+IMAPServer 3527=<p>  Character set conversion  </p>
+IMAPServer 3528=<p>  Character set conversion  </p>
+IMAPServer 3529=<p>  Character set conversion  </p>
+IMAPServer 3530=<p>  Character set conversion  </p>
+IMAPServer 3531=<p>  Character set conversion  </p>
+IMAPServer 3532=<p>  Character set conversion  </p>
+IMAPServer 3533=<p>  Character set conversion  </p>
+IMAPServer 3534=<p>  Character set conversion  </p>
+IMAPServer 3535=<p>  Character set conversion  </p>
+IMAPServer 3536=<p>  Character set conversion  </p>
+IMAPServer 3537=<p>  Character set conversion  </p>
+IMAPServer 3538=<p>  Character set conversion  </p>
+IMAPServer 3539=<p>  Character set conversion  </p>
+IMAPServer 3540=<p>  Character set conversion  </p>
+IMAPServer 3541=<p>  Character set conversion  </p>
+IMAPServer 3542=<p>  Character set conversion  </p>
+IMAPServer 3543=<p>  Character set conversion  </p>
+IMAPServer 3544=<p>  Character set conversion  </p>
+IMAPServer 3545=<p>  Character set conversion  </p>
+IMAPServer 3546=<p>  Character set conversion  </p>
+IMAPServer 3547=<p>  Character set conversion  </p>
+IMAPServer 3548=<p>  Character set conversion  </p>
+IMAPServer 3549=<p>  Character set conversion  </p>
+IMAPServer 3550=<p>  Character set conversion  </p>
+IMAPServer 3551=<p>  Character set conversion  </p>
+IMAPServer 3552=<p>  Character set conversion  </p>
+IMAPServer 3553=<p>  Character set conversion  </p>
+IMAPServer 3554=<p>  Character set conversion  </p>
+IMAPServer 3555=<p>  Character set conversion  </p>
+IMAPServer 3556=<p>  Character set conversion  </p>
+IMAPServer 3557=<p>  Character set conversion  </p>
+IMAPServer 3558=<p>  Character set conversion  </p>
+IMAPServer 3559=<p>  Character set conversion  </p>
+IMAPServer 3560=<p>  Character set conversion  </p>
+IMAPServer 3561=<p>  Character set conversion  </p>
+IMAPServer 3562=<p>  Character set conversion  </p>
+IMAPServer 3563=<p>  Character set conversion  </p>
+IMAPServer 3564=<p>  Character set conversion  </p>
+IMAPServer 3565=<p>  Character set conversion  </p>
+IMAPServer 3566=<p>  Character set conversion  </p>
+IMAPServer 3567=<p>  Character set conversion  </p>
+IMAPServer 3568=<p>  Character set conversion  </p>
+IMAPServer 3569=<p>  Character set conversion  </p>
+IMAPServer 3570=<p>  Character set conversion  </p>
+IMAPServer 3571=<p>  Character set conversion  </p>
+IMAPServer 3572=<p>  Character set conversion  </p>
+IMAPServer 3573=<p>  Character set conversion  </p>
+IMAPServer 3574=<p>  Character set conversion  </p>
+IMAPServer 3575=<p>  Character set conversion  </p>
+IMAPServer 3576=<p>  Character set conversion  </p>
+IMAPServer 3577=<p>  Character set conversion  </p>
+IMAPServer 3578=<p>  Character set conversion  </p>
+IMAPServer 3579=<p>  Character set conversion  </p>
+IMAPServer 3580=<p>  Character set conversion  </p>
+IMAPServer 3581=<p>  Character set conversion  </p>
+IMAPServer 3582=<p>  Character set conversion  </p>
+IMAPServer 3583=<p>  Character set conversion  </p>
+IMAPServer 3584=<p>  Character set conversion  </p>
+IMAPServer 3585=<p>  Character set conversion  </p>
+IMAPServer 3586=<p>  Character set conversion  </p>
+IMAPServer 3587=<p>  Character set conversion  </p>
+IMAPServer 3588=<p>  Character set conversion  </p>
+IMAPServer 3589=<p>  Character set conversion  </p>
+IMAPServer 3590=<p>  Character set conversion  </p>
+IMAPServer 3591=<p>  Character set conversion  </p>
+IMAPServer 3592=<p>  Character set conversion  </p>
+IMAPServer 3593=<p>  Character set conversion  </p>
+IMAPServer 3594=<p>  Character set conversion  </p>
+IMAPServer 3595=<p>  Character set conversion  </p>
+IMAPServer 3596=<p>  Character set conversion  </p>
+IMAPServer 3597=<p>  Character set conversion  </p>
+IMAPServer 3598=<p>  Character set conversion  </p>
+IMAPServer 3599=<p>  Character set conversion  </p>
+IMAPServer 3600=<p>  Character set conversion  </p>
+IMAPServer 3601=<p>  Character set conversion  </p>
+IMAPServer 3602=<p>  Character set conversion  </p>
+IMAPServer 3603=<p>  Character set conversion  </p>
+IMAPServer 3604=<p>  Character set conversion  </p>
+IMAPServer 3605=<p>  Character set conversion  </p>
+IMAPServer 3606=<p>  Character set conversion  </p>
+IMAPServer 3607=<p>  Character set conversion  </p>
+IMAPServer 3608=<p>  Character set conversion  </p>
+IMAPServer 3609=<p>  Character set conversion  </p>
+IMAPServer 3610=<p>  Character set conversion  </p>
+IMAPServer 3611=<p>  Character set conversion  </p>
+IMAPServer 3612=<p>  Character set conversion  </p>
+IMAPServer 3613=<p>  Character set conversion  </p>
+IMAPServer 3614=<p>  Character set conversion  </p>
+IMAPServer 3615=<p>  Character set conversion  </p>
+IMAPServer 3616=<p>  Character set conversion  </p>
+IMAPServer 3617=<p>  Character set conversion  </p>
+IMAPServer 3618=<p>  Character set conversion  </p>
+IMAPServer 3619=<p>  Character set conversion  </p>
+IMAPServer 3620=<p>  Character set conversion  </p>
+IMAPServer 3621=<p>  Character set conversion  </p>
+IMAPServer 3622=<p>  Character set conversion  </p>
+IMAPServer 3623=<p>  Character set conversion  </p>
+IMAPServer 3624=<p>  Character set conversion  </p>
+IMAPServer 3625=<p>  Character set conversion  </p>
+IMAPServer 3626=<p>  Character set conversion  </p>
+IMAPServer 3627=<p>  Character set conversion  </p>
+IMAPServer 3628=<p>  Character set conversion  </p>
+IMAPServer 3629=<p>  Character set conversion  </p>
+IMAPServer 3630=<p>  Character set conversion  </p>
+IMAPServer 3631=<p>  Character set conversion  </p>
+IMAPServer 3632=<p>  Character set conversion  </p>
+IMAPServer 3633=<p>  Character set conversion  </p>
+IMAPServer 3634=<p>  Character set conversion  </p>
+IMAPServer 3635=<p>  Character set conversion  </p>
+IMAPServer 3636=<p>  Character set conversion  </p>
+IMAPServer 3637=<p>  Character set conversion  </p>
+IMAPServer 3638=<p>  Character set conversion  </p>
+IMAPServer 3639=<p>  Character set conversion  </p>
+IMAPServer 3640=<p>  Character set conversion  </p>
+IMAPServer 3641=<p>  Character set conversion  </p>
+IMAPServer 3642=<p>  Character set conversion  </p>
+IMAPServer 3643=<p>  Character set conversion  </p>
+IMAPServer 3644=<p>  Character set conversion  </p>
+IMAPServer 3645=<p>  Character set conversion  </p>
+IMAPServer 3646=<p>  Character set conversion  </p>
+IMAPServer 3647=<p>  Character set conversion  </p>
+IMAPServer 3648=<p>  Character set conversion  </p>
+IMAPServer 3649=<p>  Character set conversion  </p>
+IMAPServer 3650=<p>  Character set conversion  </p>
+IMAPServer 3651=<p>  Character set conversion  </p>
+IMAPServer 3652=<p>  Character set conversion  </p>
+IMAPServer 3653=<p>  Character set conversion  </p>
+IMAPServer 3654=<p>  Character set conversion  </p>
+IMAPServer 3655=<p>  Character set conversion  </p>
+IMAPServer 3656=<p>  Character set conversion  </p>
+IMAPServer 3657=<p>  Character set conversion  </p>
+IMAPServer 3658=<p>  Character set conversion  </p>
+IMAPServer 3659=<p>  Character set conversion  </p>
+IMAPServer 3660=<p>  Character set conversion  </p>
+IMAPServer 3661=<p>  Character set conversion  </p>
+IMAPServer 3662=<p>  Character set conversion  </p>
+IMAPServer 3663=<p>  Character set conversion  </p>
+IMAPServer 3664=<p>  Character set conversion  </p>
+IMAPServer 3665=<p>  Character set conversion  </p>
+IMAPServer 3666=<p>  Character set conversion  </p>
+IMAPServer 3667=<p>  Character set conversion  </p>
+IMAPServer 3668=<p>  Character set conversion  </p>
+IMAPServer 3669=<p>  Character set conversion  </p>
+IMAPServer 3670=<p>  Character set conversion  </p>
+IMAPServer 3671=<p>  Character set conversion  </p>
+IMAPServer 3672=<p>  Character set conversion  </p>
+IMAPServer 3673=<p>  Character set conversion  </p>
+IMAPServer 3674=<p>  Character set conversion  </p>
+IMAPServer 3675=<p>  Character set conversion  </p>
+IMAPServer 3676=<p>  Character set conversion  </p>
+IMAPServer 3677=<p>  Character set conversion  </p>
+IMAPServer 3678=<p>  Character set conversion  </p>
+IMAPServer 3679=<p>  Character set conversion  </p>
+IMAPServer 3680=<p>  Character set conversion  </p>
+IMAPServer 3681=<p>  Character set conversion  </p>
+IMAPServer 3682=<p>  Character set conversion  </p>
+IMAPServer 3683=<p>  Character set conversion  </p>
+IMAPServer 3684=<p>  Character set conversion  </p>
+IMAPServer 3685=<p>  Character set conversion  </p>
+IMAPServer 3686=<p>  Character set conversion  </p>
+IMAPServer 3687=<p>  Character set conversion  </p>
+IMAPServer 3688=<p>  Character set conversion  </p>
+IMAPServer 3689=<p>  Character set conversion  </p>
+IMAPServer 3690=<p>  Character set conversion  </p>
+IMAPServer 3691=<p>  Character set conversion  </p>
+IMAPServer 3692=<p>  Character set conversion  </p>
+IMAPServer 3693=<p>  Character set conversion  </p>
+IMAPServer 3694=<p>  Character set conversion  </p>
+IMAPServer 3695=<p>  Character set conversion  </p>
+IMAPServer 3696=<p>  Character set conversion  </p>
+IMAPServer 3697=<p>  Character set conversion  </p>
+IMAPServer 3698=<p>  Character set conversion  </p>
+IMAPServer 3699=<p>  Character set conversion  </p>
+IMAPServer 3700=<p>  Character set conversion  </p>
+IMAPServer 3701=<p>  Character set conversion  </p>
+IMAPServer 3702=<p>  Character set conversion  </p>
+IMAPServer 3703=<p>  Character set conversion  </p>
+IMAPServer 3704=<p>  Character set conversion  </p>
+IMAPServer 3705=<p>  Character set conversion  </p>
+IMAPServer 3706=<p>  Character set conversion  </p>
+IMAPServer 3707=<p>  Character set conversion  </p>
+IMAPServer 3708=<p>  Character set conversion  </p>
+IMAPServer 3709=<p>  Character set conversion  </p>
+IMAPServer 3710=<p>  Character set conversion  </p>
+IMAPServer 3711=<p>  Character set conversion  </p>
+IMAPServer 3712=<p>  Character set conversion  </p>
+IMAPServer 3713=<p>  Character set conversion  </p>
+IMAPServer 3714=<p>  Character set conversion  </p>
+IMAPServer 3715=<p>  Character set conversion  </p>
+IMAPServer 3716=<p>  Character set conversion  </p>
+IMAPServer 3717=<p>  Character set conversion  </p>
+IMAPServer 3718=<p>  Character set conversion  </p>
+IMAPServer 3719=<p>  Character set conversion  </p>
+IMAPServer 3720=<p>  Character set conversion  </p>
+IMAPServer 3721=<p>  Character set conversion  </p>
+IMAPServer 3722=<p>  Character set conversion  </p>
+IMAPServer 3723=<p>  Character set conversion  </p>
+IMAPServer 3724=<p>  Character set conversion  </p>
+IMAPServer 3725=<p>  Character set conversion  </p>
+IMAPServer 3726=<p>  Character set conversion  </p>
+IMAPServer 3727=<p>  Character set conversion  </p>
+IMAPServer 3728=<p>  Character set conversion  </p>
+IMAPServer 3729=<p>  Character set conversion  </p>
+IMAPServer 3730=<p>  Character set conversion  </p>
+IMAPServer 3731=<p>  Character set conversion  </p>
+IMAPServer 3732=<p>  Character set conversion  </p>
+IMAPServer 3733=<p>  Character set conversion  </p>
+IMAPServer 3734=<p>  Character set conversion  </p>
+IMAPServer 3735=<p>  Character set conversion  </p>
+IMAPServer 3736=<p>  Character set conversion  </p>
+IMAPServer 3737=<p>  Character set conversion  </p>
+IMAPServer 3738=<p>  Character set conversion  </p>
+IMAPServer 3739=<p>  Character set conversion  </p>
+IMAPServer 3740=<p>  Character set conversion  </p>
+IMAPServer 3741=<p>  Character set conversion  </p>
+IMAPServer 3742=<p>  Character set conversion  </p>
+IMAPServer 3743=<p>  Character set conversion  </p>
+IMAPServer 3744=<p>  Character set conversion  </p>
+IMAPServer 3745=<p>  Character set conversion  </p>
+IMAPServer 3746=<p>  Character set conversion  </p>
+IMAPServer 3747=<p>  Character set conversion  </p>
+IMAPServer 3748=<p>  Character set conversion  </p>
+IMAPServer 3749=<p>  Character set conversion  </p>
+IMAPServer 3750=<p>  Character set conversion  </p>
+IMAPServer 3751=<p>  Character set conversion  </p>
+IMAPServer 3752=<p>  Character set conversion  </p>
+IMAPServer 3753=<p>  Character set conversion  </p>
+IMAPServer 3754=<p>  Character set conversion  </p>
+IMAPServer 3755=<p>  Character set conversion  </p>
+IMAPServer 3756=<p>  Character set conversion  </p>
+IMAPServer 3757=<p>  Character set conversion  </p>
+IMAPServer 3758=<p>  Character set conversion  </p>
+IMAPServer 3759=<p>  Character set conversion  </p>
+IMAPServer 3760=<p>  Character set conversion  </p>
+IMAPServer 3761=<p>  Character set conversion  </p>
+IMAPServer 3762=<p>  Character set conversion  </p>
+IMAPServer 3763=<p>  Character set conversion  </p>
+IMAPServer 3764=<p>  Character set conversion  </p>
+IMAPServer 3765=<p>  Character set conversion  </p>
+IMAPServer 3766=<p>  Character set conversion  </p>
+IMAPServer 3767=<p>  Character set conversion  </p>
+IMAPServer 3768=<p>  Character set conversion  </p>
+IMAPServer 3769=<p>  Character set conversion  </p>
+IMAPServer 3770=<p>  Character set conversion  </p>
+IMAPServer 3771=<p>  Character set conversion  </p>
+IMAPServer 3772=<p>  Character set conversion  </p>
+IMAPServer 3773=<p>  Character set conversion  </p>
+IMAPServer 3774=<p>  Character set conversion  </p>
+IMAPServer 3775=<p>  Character set conversion  </p>
+IMAPServer 3776=<p>  Character set conversion  </p>
+IMAPServer 3777=<p>  Character set conversion  </p>
+IMAPServer 3778=<p>  Character set conversion  </p>
+IMAPServer 3779=<p>  Character set conversion  </p>
+IMAPServer 3780=<p>  Character set conversion  </p>
+IMAPServer 3781=<p>  Character set conversion  </p>
+IMAPServer 3782=<p>  Character set conversion  </p>
+IMAPServer 3783=<p>  Character set conversion  </p>
+IMAPServer 3784=<p>  Character set conversion  </p>
+IMAPServer 3785=<p>  Character set conversion  </p>
+IMAPServer 3786=<p>  Character set conversion  </p>
+IMAPServer 3787=<p>  Character set conversion  </p>
+IMAPServer 3788=<p>  Character set conversion  </p>
+IMAPServer 3789=<p>  Character set conversion  </p>
+IMAPServer 3790=<p>  Character set conversion  </p>
+IMAPServer 3791=<p>  Character set conversion  </p>
+IMAPServer 3792=<p>  Character set conversion  </p>
+IMAPServer 3793=<p>  Character set conversion  </p>
+IMAPServer 3794=<p>  Character set conversion  </p>
+IMAPServer 3795=<p>  Character set conversion  </p>
+IMAPServer 3796=<p>  Character set conversion  </p>
+IMAPServer 3797=<p>  Character set conversion  </p>
+IMAPServer 3798=<p>  Character set conversion  </p>
+IMAPServer 3799=<p>  Character set conversion  </p>
+IMAPServer 3800=<p>  Character set conversion  </p>
+IMAPServer 3801=<p>  Character set conversion  </p>
+IMAPServer 3802=<p>  Character set conversion  </p>
+IMAPServer 3803=<p>  Character set conversion  </p>
+IMAPServer 3804=<p>  Character set conversion  </p>
+IMAPServer 3805=<p>  Character set conversion  </p>
+IMAPServer 3806=<p>  Character set conversion  </p>
+IMAPServer 3807=<p>  Character set conversion  </p>
+IMAPServer 3808=<p>  Character set conversion  </p>
+IMAPServer 3809=<p>  Character set conversion  </p>
+IMAPServer 3810=<p>  Character set conversion  </p>
+IMAPServer 3811=<p>  Character set conversion  </p>
+IMAPServer 3812=<p>  Character set conversion  </p>
+IMAPServer 3813=<p>  Character set conversion  </p>
+IMAPServer 3814=<p>  Character set conversion  </p>
+IMAPServer 3815=<p>  Character set conversion  </p>
+IMAPServer 3816=<p>  Character set conversion  </p>
+IMAPServer 3817=<p>  Character set conversion  </p>
+IMAPServer 3818=<p>  Character set conversion  </p>
+IMAPServer 3819=<p>  Character set conversion  </p>
+IMAPServer 3820=<p>  Character set conversion  </p>
+IMAPServer 3821=<p>  Character set conversion  </p>
+IMAPServer 3822=<p>  Character set conversion  </p>
+IMAPServer 3823=<p>  Character set conversion  </p>
+IMAPServer 3824=<p>  Character set conversion  </p>
+IMAPServer 3825=<p>  Character set conversion  </p>
+IMAPServer 3826=<p>  Character set conversion  </p>
+IMAPServer 3827=<p>  Character set conversion  </p>
+IMAPServer 3828=<p>  Character set conversion  </p>
+IMAPServer 3829=<p>  Character set conversion  </p>
+IMAPServer 3830=<p>  Character set conversion  </p>
+IMAPServer 3831=<p>  Character set conversion  </p>
+IMAPServer 3832=<p>  Character set conversion  </p>
+IMAPServer 3833=<p>  Character set conversion  </p>
+IMAPServer 3834=<p>  Character set conversion  </p>
+IMAPServer 3835=<p>  Character set conversion  </p>
+IMAPServer 3836=<p>  Character set conversion  </p>
+IMAPServer 3837=<p>  Character set conversion  </p>
+IMAPServer 3838=<p>  Character set conversion  </p>
+IMAPServer 3839=<p>  Character set conversion  </p>
+IMAPServer 3840=<p>  Character set conversion  </p>
+IMAPServer 3841=<p>  Character set conversion  </p>
+IMAPServer 3842=<p>  Character set conversion  </p>
+IMAPServer 3843=<p>  Character set conversion  </p>
+IMAPServer 3844=<p>  Character set conversion  </p>
+IMAPServer 3845=<p>  Character set conversion  </p>
+IMAPServer 3846=<p>  Character set conversion  </p>
+IMAPServer 3847=<p>  Character set conversion  </p>
+IMAPServer 3848=<p>  Character set conversion  </p>
+IMAPServer 3849=<p>  Character set conversion  </p>
+IMAPServer 3850=<p>  Character set conversion  </p>
+IMAPServer 3851=<p>  Character set conversion  </p>
+IMAPServer 3852=<p>  Character set conversion  </p>
+IMAPServer 3853=<p>  Character set conversion  </p>
+IMAPServer 3854=<p>  Character set conversion  </p>
+IMAPServer 3855=<p>  Character set conversion  </p>
+IMAPServer 3856=<p>  Character set conversion  </p>
+IMAPServer 3857=<p>  Character set conversion  </p>
+IMAPServer 3858=<p>  Character set conversion  </p>
+IMAPServer 3859=<p>  Character set conversion  </p>
+IMAPServer 3860=<p>  Character set conversion  </p>
+IMAPServer 3861=<p>  Character set conversion  </p>
+IMAPServer 3862=<p>  Character set conversion  </p>
+IMAPServer 3863=<p>  Character set conversion  </p>
+IMAPServer 3864=<p>  Character set conversion  </p>
+IMAPServer 3865=<p>  Character set conversion  </p>
+IMAPServer 3866=<p>  Character set conversion  </p>
+IMAPServer 3867=<p>  Character set conversion  </p>
+IMAPServer 3868=<p>  Character set conversion  </p>
+IMAPServer 3869=<p>  Character set conversion  </p>
+IMAPServer 3870=<p>  Character set conversion  </p>
+IMAPServer 3871=<p>  Character set conversion  </p>
+IMAPServer 3872=<p>  Character set conversion  </p>
+IMAPServer 3873=<p>  Character set conversion  </p>
+IMAPServer 3874=<p>  Character set conversion  </p>
+IMAPServer 3875=<p>  Character set conversion  </p>
+IMAPServer 3876=<p>  Character set conversion  </p>
+IMAPServer 3877=<p>  Character set conversion  </p>
+IMAPServer 3878=<p>  Character set conversion  </p>
+IMAPServer 3879=<p>  Character set conversion  </p>
+IMAPServer 3880=<p>  Character set conversion  </p>
+IMAPServer 3881=<p>  Character set conversion  </p>
+IMAPServer 3882=<p>  Character set conversion  </p>
+IMAPServer 3883=<p>  Character set conversion  </p>
+IMAPServer 3884=<p>  Character set conversion  </p>
+IMAPServer 3885=<p>  Character set conversion  </p>
+IMAPServer 3886=<p>  Character set conversion  </p>
+IMAPServer 3887=<p>  Character set conversion  </p>
+IMAPServer 3888=<p>  Character set conversion  </p>
+IMAPServer 3889=<p>  Character set conversion  </p>
+IMAPServer 3890=<p>  Character set conversion  </p>
+IMAPServer 3891=<p>  Character set conversion  </p>
+IMAPServer 3892=<p>  Character set conversion  </p>
+IMAPServer 3893=<p>  Character set conversion  </p>
+IMAPServer 3894=<p>  Character set conversion  </p>
+IMAPServer 3895=<p>  Character set conversion  </p>
+IMAPServer 3896=<p>  Character set conversion  </p>
+IMAPServer 3897=<p>  Character set conversion  </p>
+IMAPServer 3898=<p>  Character set conversion  </p>
+IMAPServer 3899=<p>  Character set conversion  </p>
+IMAPServer 3900=<p>  Character set conversion  </p>
+IMAPServer 3901=<p>  Character set conversion  </p>
+IMAPServer 3902=<p>  Character set conversion  </p>
+IMAPServer 3903=<p>  Character set conversion  </p>
+IMAPServer 3904=<p>  Character set conversion  </p>
+IMAPServer 3905=<p>  Character set conversion  </p>
+IMAPServer 3906=<p>  Character set conversion  </p>
+IMAPServer 3907=<p>  Character set conversion  </p>
+IMAPServer 3908=<p>  Character set conversion  </p>
+IMAPServer 3909=<p>  Character set conversion  </p>
+IMAPServer 3910=<p>  Character set conversion  </p>
+IMAPServer 3911=<p>  Character set conversion  </p>
+IMAPServer 3912=<p>  Character set conversion  </p>
+IMAPServer 3913=<p>  Character set conversion  </p>
+IMAPServer 3914=<p>  Character set conversion  </p>
+IMAPServer 3915=<p>  Character set conversion  </p>
+IMAPServer 3916=<p>  Character set conversion  </p>
+IMAPServer 3917=<p>  Character set conversion  </p>
+IMAPServer 3918=<p>  Character set conversion  </p>
+IMAPServer 3919=<p>  Character set conversion  </p>
+IMAPServer 3920=<p>  Character set conversion  </p>
+IMAPServer 3921=<p>  Character set conversion  </p>
+IMAPServer 3922=<p>  Character set conversion  </p>
+IMAPServer 3923=<p>  Character set conversion  </p>
+IMAPServer 3924=<p>  Character set conversion  </p>
+IMAPServer 3925=<p>  Character set conversion  </p>
+IMAPServer 3926=<p>  Character set conversion  </p>
+IMAPServer 3927=<p>  Character set conversion  </p>
+IMAPServer 3928=<p>  Character set conversion  </p>
+IMAPServer 3929=<p>  Character set conversion  </p>
+IMAPServer 3930=<p>  Character set conversion  </p>
+IMAPServer 3931=<p>  Character set conversion  </p>
+IMAPServer 3932=<p>  Character set conversion  </p>
+IMAPServer 3933=<p>  Character set conversion  </p>
+IMAPServer 3934=<p>  Character set conversion  </p>
+IMAPServer 3935=<p>  Character set conversion  </p>
+IMAPServer 3936=<p>  Character set conversion  </p>
+IMAPServer 3937=<p>  Character set conversion  </p>
+IMAPServer 3938=<p>  Character set conversion  </p>
+IMAPServer 3939=<p>  Character set conversion  </p>
+IMAPServer 3940=<p>  Character set conversion  </p>
+IMAPServer 3941=<p>  Character set conversion  </p>
+IMAPServer 3942=<p>  Character set conversion  </p>
+IMAPServer 3943=<p>  Character set conversion  </p>
+IMAPServer 3944=<p>  Character set conversion  </p>
+IMAPServer 3945=<p>  Character set conversion  </p>
+IMAPServer 3946=<p>  Character set conversion  </p>
+IMAPServer 3947=<p>  Character set conversion  </p>
+IMAPServer 3948=<p>  Character set conversion  </p>
+IMAPServer 3949=<p>  Character set conversion  </p>
+IMAPServer 3950=<p>  Character set conversion  </p>
+IMAPServer 3951=<p>  Character set conversion  </p>
+IMAPServer 3952=<p>  Character set conversion  </p>
+IMAPServer 3953=<p>  Character set conversion  </p>
+IMAPServer 3954=<p>  Character set conversion  </p>
+IMAPServer 3955=<p>  Character set conversion  </p>
+IMAPServer 3956=<p>  Character set conversion  </p>
+IMAPServer 3957=<p>  Character set conversion  </p>
+IMAPServer 3958=<p>  Character set conversion  </p>
+IMAPServer 3959=<p>  Character set conversion  </p>
+IMAPServer 3960=<p>  Character set conversion  </p>
+IMAPServer 3961=<p>  Character set conversion  </p>
+IMAPServer 3962=<p>  Character set conversion  </p>
+IMAPServer 3963=<p>  Character set conversion  </p>
+IMAPServer 3964=<p>  Character set conversion  </p>
+IMAPServer 3965=<p>  Character set conversion  </p>
+IMAPServer 3966=<p>  Character set conversion  </p>
+IMAPServer 3967=<p>  Character set conversion  </p>
+IMAPServer 3968=<p>  Character set conversion  </p>
+IMAPServer 3969=<p>  Character set conversion  </p>
+IMAPServer 3970=<p>  Character set conversion  </p>
+IMAPServer 3971=<p>  Character set conversion  </p>
+IMAPServer 3972=<p>  Character set conversion  </p>
+IMAPServer 3973=<p>  Character set conversion  </p>
+IMAPServer 3974=<p>  Character set conversion  </p>
+IMAPServer 3975=<p>  Character set conversion  </p>
+IMAPServer 3976=<p>  Character set conversion  </p>
+IMAPServer 3977=<p>  Character set conversion  </p>
+IMAPServer 3978=<p>  Character set conversion  </p>
+IMAPServer 3979=<p>  Character set conversion  </p>
+IMAPServer 3980=<p>  Character set conversion  </p>
+IMAPServer 3981=<p>  Character set conversion  </p>
+IMAPServer 3982=<p>  Character set conversion  </p>
+IMAPServer 3983=<p>  Character set conversion  </p>
+IMAPServer 3984=<p>  Character set conversion  </p>
+IMAPServer 3985=<p>  Character set conversion  </p>
+IMAPServer 3986=<p>  Character set conversion  </p>
+IMAPServer 3987=<p>  Character set conversion  </p>
+IMAPServer 3988=<p>  Character set conversion  </p>
+IMAPServer 3989=<p>  Character set conversion  </p>
+IMAPServer 3990=<p>  Character set conversion  </p>
+IMAPServer 3991=<p>  Character set conversion  </p>
+IMAPServer 3992=<p>  Character set conversion  </p>
+IMAPServer 3993=<p>  Character set conversion  </p>
+IMAPServer 3994=<p>  Character set conversion  </p>
+IMAPServer 3995=<p>  Character set conversion  </p>
+IMAPServer 3996=<p>  Character set conversion  </p>
+IMAPServer 3997=<p>  Character set conversion  </p>
+IMAPServer 3998=<p>  Character set conversion  </p>
+IMAPServer 3999=<p>  Character set conversion  </p>
+IMAPServer 4000=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4001=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4002=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4003=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4004=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4005=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4006=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4007=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4008=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4009=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4010=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4011=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4012=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4013=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4014=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4015=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4016=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4017=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4018=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4019=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4020=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4021=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4022=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4023=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4024=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4025=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4026=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4027=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4028=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4029=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4030=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4031=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4032=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4033=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4034=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4035=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4036=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4037=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4038=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4039=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4040=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4041=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4042=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4043=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4044=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4045=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4046=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4047=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4048=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4049=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4050=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4051=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4052=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4053=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4054=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4055=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4056=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4057=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4058=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4059=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4060=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4061=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4062=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4063=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4064=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4065=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4066=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4067=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4068=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4069=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4070=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4071=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4072=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4073=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4074=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4075=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4076=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4077=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4078=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4079=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4080=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4081=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4082=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4083=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4084=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4085=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4086=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4087=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4088=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4089=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4090=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4091=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4092=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4093=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4094=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4095=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4096=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4097=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4098=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4099=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4100=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4101=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4102=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4103=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4104=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4105=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4106=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4107=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4108=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4109=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4110=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4111=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4112=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4113=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4114=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4115=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4116=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4117=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4118=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4119=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4120=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4121=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4122=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4123=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4124=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4125=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4126=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4127=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4128=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4129=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4130=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4131=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4132=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4133=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4134=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4135=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4136=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4137=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4138=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4139=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4140=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4141=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4142=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4143=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4144=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4145=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4146=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4147=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4148=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4149=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4150=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4151=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4152=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4153=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4154=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4155=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4156=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4157=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4158=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4159=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4160=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4161=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4162=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4163=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4164=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4165=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4166=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4167=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4168=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4169=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4170=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4171=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4172=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4173=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4174=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4175=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4176=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4177=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4178=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4179=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4180=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4181=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4182=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4183=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4184=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4185=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4186=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4187=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4188=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4189=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4190=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4191=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4192=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4193=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4194=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4195=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4196=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4197=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4198=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4199=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4200=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4201=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4202=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4203=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4204=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4205=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4206=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4207=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4208=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4209=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4210=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4211=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4212=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4213=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4214=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4215=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4216=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4217=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4218=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4219=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4220=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4221=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4222=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4223=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4224=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4225=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4226=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4227=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4228=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4229=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4230=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4231=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4232=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4233=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4234=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4235=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4236=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4237=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4238=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4239=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4240=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4241=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4242=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4243=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4244=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4245=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4246=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4247=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4248=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4249=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4250=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4251=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4252=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4253=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4254=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4255=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4256=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4257=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4258=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4259=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4260=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4261=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4262=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4263=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4264=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4265=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4266=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4267=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4268=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4269=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4270=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4271=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4272=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4273=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4274=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4275=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4276=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4277=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4278=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4279=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4280=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4281=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4282=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4283=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4284=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4285=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4286=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4287=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4288=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4289=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4290=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4291=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4292=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4293=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4294=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4295=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4296=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4297=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4298=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4299=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4300=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4301=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4302=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4303=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4304=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4305=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4306=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4307=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4308=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4309=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4310=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4311=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4312=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4313=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4314=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4315=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4316=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4317=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4318=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4319=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4320=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4321=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4322=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4323=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4324=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4325=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4326=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4327=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4328=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4329=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4330=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4331=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4332=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4333=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4334=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4335=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4336=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4337=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4338=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4339=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4340=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4341=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4342=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4343=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4344=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4345=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4346=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4347=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4348=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4349=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4350=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4351=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4352=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4353=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4354=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4355=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4356=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4357=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4358=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4359=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4360=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4361=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4362=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4363=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4364=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4365=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4366=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4367=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4368=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4369=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4370=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4371=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4372=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4373=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4374=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4375=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4376=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4377=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4378=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4379=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4380=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4381=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4382=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4383=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4384=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4385=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4386=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4387=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4388=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4389=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4390=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4391=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4392=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4393=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4394=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4395=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4396=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4397=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4398=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4399=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4400=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4401=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4402=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4403=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4404=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4405=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4406=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4407=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4408=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4409=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4410=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4411=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4412=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4413=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4414=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4415=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4416=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4417=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4418=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4419=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4420=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4421=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4422=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4423=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4424=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4425=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4426=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4427=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4428=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4429=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4430=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4431=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4432=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4433=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4434=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4435=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4436=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4437=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4438=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4439=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4440=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4441=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4442=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4443=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4444=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4445=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4446=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4447=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4448=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4449=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4450=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4451=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4452=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4453=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4454=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4455=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4456=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4457=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4458=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4459=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4460=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4461=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4462=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4463=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4464=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4465=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4466=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4467=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4468=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4469=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4470=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4471=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4472=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4473=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4474=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4475=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4476=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4477=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4478=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4479=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4480=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4481=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4482=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4483=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4484=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4485=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4486=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4487=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4488=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4489=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4490=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4491=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4492=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4493=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4494=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4495=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4496=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4497=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4498=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4499=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4500=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4501=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4502=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4503=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4504=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4505=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4506=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4507=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4508=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4509=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4510=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4511=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4512=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4513=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4514=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4515=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4516=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4517=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4518=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4519=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4520=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4521=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4522=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4523=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4524=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4525=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4526=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4527=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4528=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4529=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4530=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4531=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4532=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4533=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4534=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4535=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4536=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4537=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4538=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4539=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4540=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4541=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4542=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4543=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4544=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4545=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4546=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4547=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4548=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4549=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4550=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4551=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4552=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4553=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4554=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4555=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4556=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4557=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4558=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4559=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4560=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4561=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4562=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4563=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4564=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4565=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4566=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4567=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4568=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4569=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4570=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4571=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4572=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4573=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4574=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4575=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4576=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4577=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4578=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4579=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4580=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4581=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4582=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4583=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4584=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4585=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4586=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4587=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4588=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4589=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4590=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4591=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4592=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4593=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4594=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4595=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4596=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4597=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4598=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4599=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4600=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4601=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4602=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4603=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4604=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4605=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4606=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4607=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4608=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4609=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4610=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4611=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4612=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4613=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4614=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4615=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4616=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4617=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4618=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4619=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4620=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4621=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4622=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4623=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4624=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4625=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4626=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4627=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4628=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4629=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4630=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4631=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4632=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4633=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4634=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4635=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4636=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4637=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4638=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4639=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4640=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4641=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4642=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4643=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4644=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4645=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4646=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4647=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4648=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4649=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4650=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4651=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4652=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4653=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4654=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4655=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4656=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4657=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4658=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4659=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4660=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4661=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4662=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4663=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4664=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4665=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4666=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4667=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4668=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4669=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4670=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4671=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4672=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4673=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4674=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4675=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4676=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4677=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4678=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4679=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4680=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4681=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4682=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4683=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4684=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4685=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4686=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4687=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4688=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4689=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4690=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4691=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4692=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4693=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4694=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4695=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4696=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4697=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4698=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4699=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4700=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4701=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4702=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4703=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4704=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4705=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4706=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4707=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4708=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4709=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4710=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4711=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4712=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4713=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4714=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4715=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4716=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4717=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4718=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4719=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4720=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4721=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4722=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4723=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4724=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4725=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4726=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4727=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4728=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4729=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4730=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4731=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4732=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4733=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4734=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4735=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4736=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4737=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4738=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4739=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4740=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4741=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4742=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4743=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4744=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4745=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4746=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4747=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4748=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4749=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4750=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4751=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4752=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4753=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4754=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4755=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4756=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4757=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4758=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4759=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4760=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4761=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4762=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4763=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4764=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4765=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4766=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4767=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4768=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4769=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4770=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4771=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4772=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4773=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4774=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4775=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4776=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4777=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4778=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4779=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4780=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4781=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4782=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4783=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4784=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4785=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4786=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4787=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4788=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4789=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4790=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4791=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4792=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4793=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4794=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4795=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4796=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4797=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4798=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4799=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4800=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4801=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4802=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4803=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4804=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4805=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4806=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4807=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4808=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4809=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4810=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4811=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4812=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4813=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4814=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4815=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4816=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4817=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4818=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4819=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4820=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4821=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4822=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4823=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4824=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4825=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4826=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4827=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4828=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4829=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4830=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4831=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4832=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4833=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4834=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4835=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4836=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4837=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4838=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4839=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4840=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4841=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4842=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4843=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4844=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4845=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4846=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4847=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4848=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4849=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4850=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4851=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4852=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4853=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4854=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4855=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4856=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4857=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4858=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4859=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4860=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4861=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4862=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4863=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4864=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4865=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4866=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4867=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4868=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4869=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4870=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4871=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4872=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4873=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4874=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4875=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4876=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4877=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4878=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4879=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4880=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4881=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4882=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4883=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4884=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4885=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4886=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4887=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4888=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4889=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4890=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4891=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4892=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4893=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4894=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4895=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4896=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4897=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4898=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4899=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4900=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4901=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4902=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4903=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4904=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4905=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4906=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4907=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4908=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4909=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4910=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4911=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4912=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4913=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4914=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4915=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4916=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4917=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4918=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4919=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4920=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4921=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4922=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4923=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4924=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4925=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4926=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4927=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4928=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4929=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4930=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4931=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4932=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4933=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4934=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4935=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4936=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4937=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4938=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4939=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4940=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4941=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4942=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4943=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4944=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4945=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4946=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4947=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4948=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4949=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4950=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4951=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4952=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4953=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4954=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4955=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4956=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4957=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4958=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4959=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4960=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4961=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4962=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4963=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4964=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4965=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4966=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4967=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4968=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4969=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4970=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4971=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4972=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4973=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4974=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4975=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4976=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4977=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4978=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4979=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4980=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4981=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4982=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4983=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4984=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4985=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4986=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4987=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4988=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4989=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4990=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4991=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4992=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4993=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4994=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4995=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4996=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4997=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4998=<p>  Storage and manipulation of messages  </p>
+IMAPServer 4999=<p>  Storage and manipulation of messages  </p>
+IMAPServer 5000=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5001=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5002=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5003=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5004=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5005=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5006=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5007=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5008=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5009=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5010=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5011=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5012=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5013=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5014=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5015=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5016=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5017=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5018=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5019=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5020=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5021=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5022=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5023=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5024=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5025=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5026=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5027=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5028=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5029=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5030=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5031=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5032=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5033=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5034=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5035=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5036=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5037=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5038=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5039=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5040=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5041=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5042=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5043=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5044=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5045=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5046=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5047=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5048=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5049=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5050=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5051=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5052=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5053=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5054=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5055=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5056=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5057=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5058=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5059=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5060=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5061=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5062=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5063=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5064=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5065=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5066=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5067=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5068=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5069=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5070=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5071=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5072=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5073=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5074=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5075=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5076=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5077=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5078=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5079=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5080=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5081=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5082=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5083=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5084=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5085=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5086=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5087=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5088=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5089=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5090=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5091=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5092=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5093=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5094=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5095=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5096=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5097=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5098=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5099=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5100=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5101=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5102=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5103=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5104=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5105=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5106=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5107=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5108=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5109=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5110=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5111=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5112=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5113=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5114=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5115=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5116=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5117=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5118=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5119=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5120=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5121=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5122=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5123=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5124=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5125=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5126=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5127=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5128=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5129=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5130=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5131=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5132=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5133=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5134=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5135=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5136=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5137=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5138=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5139=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5140=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5141=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5142=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5143=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5144=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5145=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5146=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5147=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5148=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5149=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5150=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5151=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5152=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5153=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5154=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5155=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5156=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5157=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5158=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5159=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5160=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5161=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5162=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5163=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5164=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5165=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5166=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5167=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5168=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5169=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5170=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5171=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5172=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5173=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5174=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5175=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5176=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5177=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5178=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5179=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5180=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5181=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5182=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5183=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5184=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5185=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5186=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5187=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5188=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5189=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5190=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5191=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5192=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5193=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5194=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5195=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5196=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5197=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5198=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5199=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5200=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5201=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5202=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5203=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5204=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5205=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5206=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5207=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5208=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5209=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5210=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5211=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5212=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5213=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5214=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5215=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5216=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5217=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5218=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5219=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5220=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5221=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5222=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5223=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5224=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5225=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5226=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5227=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5228=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5229=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5230=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5231=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5232=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5233=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5234=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5235=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5236=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5237=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5238=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5239=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5240=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5241=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5242=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5243=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5244=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5245=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5246=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5247=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5248=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5249=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5250=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5251=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5252=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5253=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5254=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5255=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5256=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5257=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5258=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5259=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5260=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5261=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5262=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5263=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5264=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5265=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5266=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5267=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5268=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5269=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5270=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5271=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5272=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5273=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5274=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5275=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5276=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5277=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5278=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5279=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5280=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5281=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5282=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5283=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5284=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5285=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5286=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5287=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5288=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5289=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5290=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5291=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5292=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5293=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5294=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5295=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5296=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5297=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5298=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5299=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5300=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5301=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5302=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5303=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5304=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5305=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5306=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5307=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5308=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5309=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5310=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5311=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5312=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5313=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5314=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5315=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5316=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5317=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5318=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5319=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5320=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5321=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5322=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5323=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5324=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5325=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5326=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5327=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5328=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5329=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5330=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5331=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5332=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5333=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5334=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5335=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5336=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5337=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5338=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5339=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5340=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5341=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5342=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5343=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5344=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5345=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5346=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5347=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5348=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5349=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5350=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5351=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5352=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5353=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5354=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5355=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5356=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5357=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5358=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5359=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5360=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5361=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5362=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5363=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5364=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5365=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5366=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5367=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5368=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5369=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5370=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5371=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5372=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5373=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5374=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5375=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5376=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5377=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5378=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5379=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5380=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5381=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5382=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5383=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5384=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5385=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5386=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5387=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5388=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5389=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5390=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5391=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5392=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5393=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5394=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5395=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5396=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5397=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5398=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5399=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5400=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5401=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5402=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5403=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5404=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5405=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5406=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5407=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5408=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5409=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5410=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5411=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5412=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5413=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5414=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5415=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5416=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5417=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5418=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5419=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5420=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5421=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5422=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5423=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5424=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5425=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5426=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5427=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5428=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5429=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5430=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5431=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5432=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5433=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5434=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5435=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5436=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5437=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5438=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5439=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5440=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5441=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5442=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5443=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5444=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5445=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5446=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5447=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5448=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5449=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5450=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5451=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5452=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5453=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5454=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5455=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5456=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5457=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5458=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5459=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5460=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5461=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5462=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5463=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5464=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5465=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5466=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5467=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5468=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5469=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5470=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5471=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5472=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5473=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5474=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5475=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5476=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5477=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5478=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5479=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5480=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5481=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5482=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5483=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5484=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5485=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5486=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5487=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5488=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5489=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5490=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5491=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5492=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5493=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5494=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5495=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5496=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5497=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5498=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5499=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5500=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5501=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5502=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5503=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5504=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5505=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5506=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5507=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5508=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5509=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5510=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5511=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5512=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5513=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5514=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5515=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5516=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5517=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5518=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5519=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5520=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5521=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5522=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5523=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5524=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5525=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5526=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5527=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5528=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5529=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5530=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5531=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5532=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5533=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5534=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5535=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5536=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5537=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5538=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5539=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5540=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5541=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5542=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5543=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5544=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5545=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5546=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5547=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5548=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5549=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5550=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5551=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5552=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5553=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5554=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5555=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5556=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5557=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5558=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5559=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5560=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5561=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5562=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5563=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5564=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5565=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5566=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5567=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5568=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5569=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5570=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5571=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5572=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5573=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5574=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5575=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5576=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5577=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5578=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5579=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5580=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5581=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5582=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5583=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5584=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5585=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5586=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5587=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5588=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5589=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5590=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5591=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5592=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5593=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5594=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5595=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5596=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5597=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5598=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5599=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5600=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5601=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5602=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5603=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5604=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5605=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5606=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5607=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5608=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5609=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5610=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5611=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5612=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5613=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5614=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5615=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5616=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5617=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5618=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5619=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5620=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5621=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5622=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5623=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5624=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5625=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5626=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5627=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5628=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5629=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5630=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5631=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5632=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5633=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5634=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5635=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5636=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5637=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5638=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5639=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5640=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5641=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5642=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5643=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5644=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5645=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5646=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5647=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5648=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5649=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5650=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5651=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5652=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5653=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5654=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5655=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5656=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5657=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5658=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5659=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5660=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5661=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5662=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5663=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5664=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5665=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5666=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5667=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5668=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5669=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5670=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5671=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5672=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5673=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5674=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5675=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5676=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5677=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5678=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5679=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5680=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5681=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5682=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5683=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5684=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5685=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5686=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5687=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5688=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5689=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5690=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5691=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5692=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5693=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5694=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5695=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5696=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5697=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5698=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5699=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5700=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5701=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5702=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5703=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5704=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5705=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5706=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5707=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5708=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5709=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5710=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5711=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5712=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5713=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5714=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5715=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5716=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5717=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5718=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5719=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5720=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5721=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5722=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5723=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5724=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5725=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5726=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5727=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5728=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5729=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5730=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5731=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5732=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5733=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5734=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5735=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5736=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5737=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5738=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5739=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5740=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5741=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5742=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5743=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5744=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5745=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5746=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5747=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5748=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5749=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5750=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5751=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5752=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5753=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5754=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5755=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5756=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5757=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5758=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5759=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5760=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5761=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5762=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5763=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5764=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5765=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5766=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5767=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5768=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5769=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5770=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5771=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5772=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5773=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5774=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5775=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5776=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5777=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5778=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5779=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5780=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5781=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5782=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5783=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5784=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5785=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5786=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5787=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5788=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5789=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5790=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5791=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5792=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5793=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5794=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5795=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5796=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5797=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5798=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5799=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5800=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5801=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5802=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5803=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5804=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5805=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5806=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5807=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5808=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5809=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5810=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5811=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5812=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5813=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5814=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5815=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5816=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5817=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5818=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5819=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5820=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5821=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5822=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5823=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5824=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5825=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5826=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5827=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5828=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5829=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5830=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5831=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5832=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5833=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5834=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5835=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5836=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5837=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5838=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5839=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5840=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5841=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5842=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5843=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5844=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5845=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5846=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5847=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5848=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5849=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5850=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5851=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5852=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5853=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5854=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5855=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5856=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5857=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5858=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5859=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5860=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5861=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5862=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5863=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5864=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5865=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5866=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5867=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5868=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5869=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5870=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5871=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5872=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5873=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5874=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5875=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5876=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5877=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5878=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5879=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5880=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5881=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5882=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5883=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5884=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5885=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5886=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5887=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5888=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5889=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5890=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5891=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5892=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5893=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5894=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5895=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5896=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5897=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5898=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5899=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5900=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5901=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5902=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5903=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5904=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5905=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5906=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5907=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5908=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5909=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5910=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5911=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5912=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5913=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5914=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5915=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5916=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5917=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5918=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5919=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5920=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5921=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5922=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5923=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5924=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5925=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5926=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5927=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5928=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5929=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5930=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5931=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5932=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5933=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5934=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5935=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5936=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5937=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5938=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5939=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5940=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5941=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5942=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5943=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5944=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5945=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5946=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5947=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5948=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5949=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5950=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5951=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5952=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5953=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5954=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5955=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5956=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5957=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5958=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5959=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5960=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5961=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5962=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5963=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5964=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5965=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5966=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5967=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5968=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5969=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5970=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5971=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5972=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5973=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5974=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5975=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5976=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5977=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5978=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5979=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5980=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5981=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5982=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5983=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5984=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5985=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5986=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5987=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5988=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5989=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5990=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5991=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5992=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5993=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5994=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5995=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5996=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5997=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5998=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 5999=<p>  Controlling logic for handling client commands  </p>
+IMAPServer 6000=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6001=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6002=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6003=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6004=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6005=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6006=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6007=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6008=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6009=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6010=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6011=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6012=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6013=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6014=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6015=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6016=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6017=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6018=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6019=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6020=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6021=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6022=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6023=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6024=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6025=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6026=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6027=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6028=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6029=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6030=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6031=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6032=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6033=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6034=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6035=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6036=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6037=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6038=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6039=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6040=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6041=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6042=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6043=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6044=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6045=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6046=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6047=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6048=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6049=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6050=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6051=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6052=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6053=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6054=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6055=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6056=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6057=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6058=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6059=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6060=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6061=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6062=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6063=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6064=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6065=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6066=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6067=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6068=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6069=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6070=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6071=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6072=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6073=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6074=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6075=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6076=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6077=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6078=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6079=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6080=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6081=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6082=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6083=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6084=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6085=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6086=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6087=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6088=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6089=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6090=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6091=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6092=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6093=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6094=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6095=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6096=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6097=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6098=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6099=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6100=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6101=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6102=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6103=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6104=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6105=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6106=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6107=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6108=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6109=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6110=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6111=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6112=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6113=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6114=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6115=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6116=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6117=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6118=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6119=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6120=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6121=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6122=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6123=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6124=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6125=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6126=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6127=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6128=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6129=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6130=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6131=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6132=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6133=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6134=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6135=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6136=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6137=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6138=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6139=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6140=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6141=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6142=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6143=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6144=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6145=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6146=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6147=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6148=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6149=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6150=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6151=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6152=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6153=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6154=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6155=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6156=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6157=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6158=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6159=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6160=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6161=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6162=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6163=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6164=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6165=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6166=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6167=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6168=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6169=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6170=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6171=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6172=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6173=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6174=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6175=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6176=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6177=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6178=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6179=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6180=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6181=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6182=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6183=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6184=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6185=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6186=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6187=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6188=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6189=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6190=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6191=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6192=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6193=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6194=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6195=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6196=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6197=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6198=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6199=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6200=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6201=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6202=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6203=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6204=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6205=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6206=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6207=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6208=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6209=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6210=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6211=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6212=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6213=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6214=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6215=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6216=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6217=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6218=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6219=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6220=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6221=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6222=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6223=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6224=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6225=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6226=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6227=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6228=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6229=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6230=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6231=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6232=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6233=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6234=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6235=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6236=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6237=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6238=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6239=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6240=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6241=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6242=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6243=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6244=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6245=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6246=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6247=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6248=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6249=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6250=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6251=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6252=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6253=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6254=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6255=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6256=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6257=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6258=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6259=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6260=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6261=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6262=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6263=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6264=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6265=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6266=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6267=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6268=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6269=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6270=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6271=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6272=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6273=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6274=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6275=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6276=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6277=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6278=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6279=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6280=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6281=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6282=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6283=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6284=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6285=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6286=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6287=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6288=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6289=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6290=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6291=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6292=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6293=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6294=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6295=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6296=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6297=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6298=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6299=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6300=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6301=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6302=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6303=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6304=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6305=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6306=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6307=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6308=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6309=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6310=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6311=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6312=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6313=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6314=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6315=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6316=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6317=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6318=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6319=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6320=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6321=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6322=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6323=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6324=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6325=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6326=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6327=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6328=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6329=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6330=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6331=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6332=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6333=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6334=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6335=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6336=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6337=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6338=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6339=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6340=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6341=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6342=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6343=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6344=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6345=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6346=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6347=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6348=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6349=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6350=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6351=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6352=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6353=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6354=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6355=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6356=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6357=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6358=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6359=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6360=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6361=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6362=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6363=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6364=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6365=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6366=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6367=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6368=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6369=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6370=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6371=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6372=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6373=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6374=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6375=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6376=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6377=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6378=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6379=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6380=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6381=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6382=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6383=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6384=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6385=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6386=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6387=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6388=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6389=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6390=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6391=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6392=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6393=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6394=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6395=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6396=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6397=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6398=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6399=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6400=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6401=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6402=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6403=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6404=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6405=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6406=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6407=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6408=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6409=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6410=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6411=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6412=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6413=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6414=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6415=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6416=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6417=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6418=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6419=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6420=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6421=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6422=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6423=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6424=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6425=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6426=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6427=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6428=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6429=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6430=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6431=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6432=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6433=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6434=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6435=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6436=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6437=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6438=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6439=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6440=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6441=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6442=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6443=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6444=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6445=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6446=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6447=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6448=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6449=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6450=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6451=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6452=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6453=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6454=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6455=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6456=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6457=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6458=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6459=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6460=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6461=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6462=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6463=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6464=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6465=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6466=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6467=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6468=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6469=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6470=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6471=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6472=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6473=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6474=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6475=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6476=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6477=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6478=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6479=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6480=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6481=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6482=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6483=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6484=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6485=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6486=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6487=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6488=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6489=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6490=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6491=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6492=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6493=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6494=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6495=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6496=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6497=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6498=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6499=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6500=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6501=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6502=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6503=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6504=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6505=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6506=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6507=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6508=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6509=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6510=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6511=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6512=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6513=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6514=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6515=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6516=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6517=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6518=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6519=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6520=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6521=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6522=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6523=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6524=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6525=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6526=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6527=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6528=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6529=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6530=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6531=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6532=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6533=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6534=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6535=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6536=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6537=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6538=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6539=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6540=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6541=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6542=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6543=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6544=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6545=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6546=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6547=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6548=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6549=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6550=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6551=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6552=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6553=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6554=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6555=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6556=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6557=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6558=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6559=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6560=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6561=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6562=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6563=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6564=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6565=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6566=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6567=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6568=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6569=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6570=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6571=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6572=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6573=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6574=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6575=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6576=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6577=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6578=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6579=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6580=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6581=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6582=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6583=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6584=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6585=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6586=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6587=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6588=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6589=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6590=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6591=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6592=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6593=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6594=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6595=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6596=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6597=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6598=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6599=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6600=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6601=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6602=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6603=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6604=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6605=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6606=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6607=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6608=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6609=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6610=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6611=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6612=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6613=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6614=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6615=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6616=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6617=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6618=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6619=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6620=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6621=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6622=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6623=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6624=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6625=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6626=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6627=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6628=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6629=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6630=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6631=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6632=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6633=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6634=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6635=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6636=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6637=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6638=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6639=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6640=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6641=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6642=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6643=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6644=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6645=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6646=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6647=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6648=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6649=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6650=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6651=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6652=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6653=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6654=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6655=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6656=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6657=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6658=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6659=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6660=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6661=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6662=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6663=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6664=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6665=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6666=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6667=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6668=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6669=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6670=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6671=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6672=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6673=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6674=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6675=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6676=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6677=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6678=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6679=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6680=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6681=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6682=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6683=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6684=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6685=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6686=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6687=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6688=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6689=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6690=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6691=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6692=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6693=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6694=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6695=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6696=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6697=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6698=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6699=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6700=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6701=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6702=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6703=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6704=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6705=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6706=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6707=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6708=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6709=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6710=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6711=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6712=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6713=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6714=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6715=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6716=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6717=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6718=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6719=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6720=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6721=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6722=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6723=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6724=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6725=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6726=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6727=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6728=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6729=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6730=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6731=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6732=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6733=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6734=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6735=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6736=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6737=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6738=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6739=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6740=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6741=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6742=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6743=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6744=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6745=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6746=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6747=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6748=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6749=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6750=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6751=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6752=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6753=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6754=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6755=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6756=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6757=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6758=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6759=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6760=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6761=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6762=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6763=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6764=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6765=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6766=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6767=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6768=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6769=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6770=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6771=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6772=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6773=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6774=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6775=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6776=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6777=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6778=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6779=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6780=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6781=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6782=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6783=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6784=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6785=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6786=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6787=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6788=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6789=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6790=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6791=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6792=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6793=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6794=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6795=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6796=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6797=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6798=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6799=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6800=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6801=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6802=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6803=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6804=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6805=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6806=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6807=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6808=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6809=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6810=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6811=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6812=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6813=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6814=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6815=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6816=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6817=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6818=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6819=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6820=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6821=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6822=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6823=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6824=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6825=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6826=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6827=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6828=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6829=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6830=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6831=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6832=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6833=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6834=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6835=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6836=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6837=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6838=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6839=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6840=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6841=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6842=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6843=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6844=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6845=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6846=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6847=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6848=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6849=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6850=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6851=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6852=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6853=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6854=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6855=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6856=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6857=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6858=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6859=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6860=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6861=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6862=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6863=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6864=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6865=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6866=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6867=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6868=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6869=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6870=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6871=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6872=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6873=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6874=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6875=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6876=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6877=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6878=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6879=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6880=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6881=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6882=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6883=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6884=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6885=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6886=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6887=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6888=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6889=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6890=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6891=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6892=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6893=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6894=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6895=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6896=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6897=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6898=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6899=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6900=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6901=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6902=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6903=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6904=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6905=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6906=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6907=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6908=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6909=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6910=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6911=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6912=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6913=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6914=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6915=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6916=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6917=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6918=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6919=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6920=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6921=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6922=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6923=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6924=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6925=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6926=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6927=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6928=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6929=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6930=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6931=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6932=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6933=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6934=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6935=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6936=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6937=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6938=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6939=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6940=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6941=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6942=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6943=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6944=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6945=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6946=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6947=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6948=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6949=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6950=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6951=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6952=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6953=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6954=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6955=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6956=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6957=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6958=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6959=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6960=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6961=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6962=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6963=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6964=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6965=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6966=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6967=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6968=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6969=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6970=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6971=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6972=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6973=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6974=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6975=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6976=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6977=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6978=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6979=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6980=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6981=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6982=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6983=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6984=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6985=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6986=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6987=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6988=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6989=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6990=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6991=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6992=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6993=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6994=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6995=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6996=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6997=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6998=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 6999=<p>  Transport handler, which handles reading and writing of data to  connected sockets  </p>
+IMAPServer 7000=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7001=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7002=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7003=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7004=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7005=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7006=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7007=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7008=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7009=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7010=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7011=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7012=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7013=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7014=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7015=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7016=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7017=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7018=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7019=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7020=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7021=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7022=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7023=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7024=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7025=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7026=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7027=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7028=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7029=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7030=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7031=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7032=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7033=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7034=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7035=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7036=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7037=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7038=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7039=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7040=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7041=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7042=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7043=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7044=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7045=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7046=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7047=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7048=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7049=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7050=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7051=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7052=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7053=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7054=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7055=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7056=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7057=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7058=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7059=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7060=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7061=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7062=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7063=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7064=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7065=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7066=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7067=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7068=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7069=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7070=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7071=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7072=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7073=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7074=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7075=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7076=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7077=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7078=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7079=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7080=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7081=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7082=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7083=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7084=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7085=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7086=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7087=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7088=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7089=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7090=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7091=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7092=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7093=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7094=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7095=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7096=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7097=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7098=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7099=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7100=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7101=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7102=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7103=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7104=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7105=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7106=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7107=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7108=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7109=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7110=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7111=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7112=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7113=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7114=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7115=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7116=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7117=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7118=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7119=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7120=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7121=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7122=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7123=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7124=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7125=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7126=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7127=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7128=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7129=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7130=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7131=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7132=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7133=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7134=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7135=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7136=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7137=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7138=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7139=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7140=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7141=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7142=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7143=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7144=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7145=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7146=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7147=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7148=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7149=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7150=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7151=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7152=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7153=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7154=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7155=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7156=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7157=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7158=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7159=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7160=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7161=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7162=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7163=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7164=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7165=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7166=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7167=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7168=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7169=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7170=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7171=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7172=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7173=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7174=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7175=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7176=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7177=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7178=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7179=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7180=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7181=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7182=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7183=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7184=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7185=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7186=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7187=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7188=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7189=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7190=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7191=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7192=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7193=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7194=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7195=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7196=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7197=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7198=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7199=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7200=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7201=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7202=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7203=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7204=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7205=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7206=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7207=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7208=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7209=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7210=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7211=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7212=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7213=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7214=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7215=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7216=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7217=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7218=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7219=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7220=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7221=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7222=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7223=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7224=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7225=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7226=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7227=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7228=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7229=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7230=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7231=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7232=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7233=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7234=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7235=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7236=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7237=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7238=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7239=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7240=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7241=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7242=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7243=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7244=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7245=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7246=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7247=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7248=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7249=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7250=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7251=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7252=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7253=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7254=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7255=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7256=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7257=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7258=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7259=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7260=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7261=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7262=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7263=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7264=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7265=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7266=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7267=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7268=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7269=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7270=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7271=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7272=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7273=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7274=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7275=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7276=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7277=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7278=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7279=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7280=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7281=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7282=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7283=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7284=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7285=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7286=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7287=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7288=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7289=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7290=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7291=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7292=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7293=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7294=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7295=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7296=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7297=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7298=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7299=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7300=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7301=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7302=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7303=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7304=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7305=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7306=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7307=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7308=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7309=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7310=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7311=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7312=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7313=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7314=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7315=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7316=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7317=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7318=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7319=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7320=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7321=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7322=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7323=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7324=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7325=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7326=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7327=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7328=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7329=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7330=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7331=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7332=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7333=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7334=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7335=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7336=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7337=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7338=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7339=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7340=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7341=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7342=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7343=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7344=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7345=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7346=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7347=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7348=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7349=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7350=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7351=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7352=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7353=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7354=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7355=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7356=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7357=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7358=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7359=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7360=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7361=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7362=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7363=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7364=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7365=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7366=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7367=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7368=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7369=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7370=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7371=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7372=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7373=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7374=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7375=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7376=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7377=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7378=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7379=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7380=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7381=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7382=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7383=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7384=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7385=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7386=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7387=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7388=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7389=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7390=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7391=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7392=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7393=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7394=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7395=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7396=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7397=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7398=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7399=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7400=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7401=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7402=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7403=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7404=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7405=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7406=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7407=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7408=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7409=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7410=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7411=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7412=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7413=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7414=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7415=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7416=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7417=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7418=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7419=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7420=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7421=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7422=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7423=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7424=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7425=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7426=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7427=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7428=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7429=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7430=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7431=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7432=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7433=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7434=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7435=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7436=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7437=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7438=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7439=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7440=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7441=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7442=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7443=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7444=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7445=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7446=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7447=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7448=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7449=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7450=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7451=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7452=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7453=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7454=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7455=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7456=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7457=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7458=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7459=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7460=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7461=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7462=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7463=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7464=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7465=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7466=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7467=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7468=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7469=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7470=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7471=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7472=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7473=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7474=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7475=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7476=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7477=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7478=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7479=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7480=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7481=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7482=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7483=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7484=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7485=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7486=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7487=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7488=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7489=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7490=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7491=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7492=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7493=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7494=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7495=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7496=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7497=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7498=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7499=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7500=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7501=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7502=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7503=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7504=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7505=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7506=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7507=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7508=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7509=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7510=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7511=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7512=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7513=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7514=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7515=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7516=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7517=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7518=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7519=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7520=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7521=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7522=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7523=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7524=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7525=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7526=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7527=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7528=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7529=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7530=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7531=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7532=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7533=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7534=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7535=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7536=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7537=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7538=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7539=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7540=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7541=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7542=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7543=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7544=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7545=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7546=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7547=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7548=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7549=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7550=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7551=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7552=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7553=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7554=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7555=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7556=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7557=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7558=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7559=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7560=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7561=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7562=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7563=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7564=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7565=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7566=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7567=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7568=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7569=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7570=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7571=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7572=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7573=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7574=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7575=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7576=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7577=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7578=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7579=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7580=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7581=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7582=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7583=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7584=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7585=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7586=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7587=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7588=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7589=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7590=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7591=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7592=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7593=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7594=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7595=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7596=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7597=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7598=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7599=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7600=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7601=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7602=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7603=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7604=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7605=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7606=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7607=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7608=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7609=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7610=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7611=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7612=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7613=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7614=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7615=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7616=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7617=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7618=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7619=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7620=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7621=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7622=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7623=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7624=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7625=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7626=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7627=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7628=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7629=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7630=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7631=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7632=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7633=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7634=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7635=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7636=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7637=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7638=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7639=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7640=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7641=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7642=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7643=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7644=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7645=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7646=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7647=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7648=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7649=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7650=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7651=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7652=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7653=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7654=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7655=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7656=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7657=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7658=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7659=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7660=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7661=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7662=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7663=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7664=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7665=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7666=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7667=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7668=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7669=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7670=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7671=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7672=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7673=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7674=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7675=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7676=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7677=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7678=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7679=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7680=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7681=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7682=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7683=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7684=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7685=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7686=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7687=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7688=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7689=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7690=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7691=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7692=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7693=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7694=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7695=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7696=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7697=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7698=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7699=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7700=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7701=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7702=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7703=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7704=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7705=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7706=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7707=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7708=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7709=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7710=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7711=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7712=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7713=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7714=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7715=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7716=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7717=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7718=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7719=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7720=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7721=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7722=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7723=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7724=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7725=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7726=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7727=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7728=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7729=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7730=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7731=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7732=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7733=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7734=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7735=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7736=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7737=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7738=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7739=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7740=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7741=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7742=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7743=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7744=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7745=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7746=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7747=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7748=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7749=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7750=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7751=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7752=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7753=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7754=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7755=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7756=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7757=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7758=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7759=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7760=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7761=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7762=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7763=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7764=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7765=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7766=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7767=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7768=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7769=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7770=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7771=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7772=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7773=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7774=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7775=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7776=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7777=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7778=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7779=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7780=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7781=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7782=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7783=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7784=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7785=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7786=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7787=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7788=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7789=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7790=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7791=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7792=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7793=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7794=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7795=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7796=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7797=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7798=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7799=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7800=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7801=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7802=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7803=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7804=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7805=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7806=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7807=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7808=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7809=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7810=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7811=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7812=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7813=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7814=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7815=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7816=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7817=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7818=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7819=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7820=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7821=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7822=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7823=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7824=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7825=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7826=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7827=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7828=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7829=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7830=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7831=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7832=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7833=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7834=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7835=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7836=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7837=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7838=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7839=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7840=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7841=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7842=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7843=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7844=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7845=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7846=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7847=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7848=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7849=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7850=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7851=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7852=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7853=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7854=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7855=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7856=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7857=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7858=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7859=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7860=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7861=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7862=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7863=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7864=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7865=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7866=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7867=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7868=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7869=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7870=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7871=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7872=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7873=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7874=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7875=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7876=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7877=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7878=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7879=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7880=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7881=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7882=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7883=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7884=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7885=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7886=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7887=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7888=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7889=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7890=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7891=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7892=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7893=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7894=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7895=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7896=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7897=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7898=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7899=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7900=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7901=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7902=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7903=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7904=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7905=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7906=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7907=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7908=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7909=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7910=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7911=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7912=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7913=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7914=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7915=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7916=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7917=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7918=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7919=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7920=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7921=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7922=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7923=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7924=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7925=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7926=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7927=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7928=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7929=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7930=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7931=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7932=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7933=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7934=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7935=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7936=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7937=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7938=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7939=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7940=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7941=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7942=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7943=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7944=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7945=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7946=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7947=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7948=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7949=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7950=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7951=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7952=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7953=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7954=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7955=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7956=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7957=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7958=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7959=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7960=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7961=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7962=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7963=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7964=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7965=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7966=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7967=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7968=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7969=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7970=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7971=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7972=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7973=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7974=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7975=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7976=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7977=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7978=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7979=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7980=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7981=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7982=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7983=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7984=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7985=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7986=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7987=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7988=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7989=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7990=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7991=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7992=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7993=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7994=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7995=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7996=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7997=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7998=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 7999=<p>  Synchronisation manager, which handles the synchronisation of  mailbox folders between the locally persisted mailbox store and a remote  mailbox store  </p>
+IMAPServer 8000=<p>  Server MTM class  </p>
+IMAPServer 8001=<p>  Server MTM class  </p>
+IMAPServer 8002=<p>  Server MTM class  </p>
+IMAPServer 8003=<p>  Server MTM class  </p>
+IMAPServer 8004=<p>  Server MTM class  </p>
+IMAPServer 8005=<p>  Server MTM class  </p>
+IMAPServer 8006=<p>  Server MTM class  </p>
+IMAPServer 8007=<p>  Server MTM class  </p>
+IMAPServer 8008=<p>  Server MTM class  </p>
+IMAPServer 8009=<p>  Server MTM class  </p>
+IMAPServer 8010=<p>  Server MTM class  </p>
+IMAPServer 8011=<p>  Server MTM class  </p>
+IMAPServer 8012=<p>  Server MTM class  </p>
+IMAPServer 8013=<p>  Server MTM class  </p>
+IMAPServer 8014=<p>  Server MTM class  </p>
+IMAPServer 8015=<p>  Server MTM class  </p>
+IMAPServer 8016=<p>  Server MTM class  </p>
+IMAPServer 8017=<p>  Server MTM class  </p>
+IMAPServer 8018=<p>  Server MTM class  </p>
+IMAPServer 8019=<p>  Server MTM class  </p>
+IMAPServer 8020=<p>  Server MTM class  </p>
+IMAPServer 8021=<p>  Server MTM class  </p>
+IMAPServer 8022=<p>  Server MTM class  </p>
+IMAPServer 8023=<p>  Server MTM class  </p>
+IMAPServer 8024=<p>  Server MTM class  </p>
+IMAPServer 8025=<p>  Server MTM class  </p>
+IMAPServer 8026=<p>  Server MTM class  </p>
+IMAPServer 8027=<p>  Server MTM class  </p>
+IMAPServer 8028=<p>  Server MTM class  </p>
+IMAPServer 8029=<p>  Server MTM class  </p>
+IMAPServer 8030=<p>  Server MTM class  </p>
+IMAPServer 8031=<p>  Server MTM class  </p>
+IMAPServer 8032=<p>  Server MTM class  </p>
+IMAPServer 8033=<p>  Server MTM class  </p>
+IMAPServer 8034=<p>  Server MTM class  </p>
+IMAPServer 8035=<p>  Server MTM class  </p>
+IMAPServer 8036=<p>  Server MTM class  </p>
+IMAPServer 8037=<p>  Server MTM class  </p>
+IMAPServer 8038=<p>  Server MTM class  </p>
+IMAPServer 8039=<p>  Server MTM class  </p>
+IMAPServer 8040=<p>  Server MTM class  </p>
+IMAPServer 8041=<p>  Server MTM class  </p>
+IMAPServer 8042=<p>  Server MTM class  </p>
+IMAPServer 8043=<p>  Server MTM class  </p>
+IMAPServer 8044=<p>  Server MTM class  </p>
+IMAPServer 8045=<p>  Server MTM class  </p>
+IMAPServer 8046=<p>  Server MTM class  </p>
+IMAPServer 8047=<p>  Server MTM class  </p>
+IMAPServer 8048=<p>  Server MTM class  </p>
+IMAPServer 8049=<p>  Server MTM class  </p>
+IMAPServer 8050=<p>  Server MTM class  </p>
+IMAPServer 8051=<p>  Server MTM class  </p>
+IMAPServer 8052=<p>  Server MTM class  </p>
+IMAPServer 8053=<p>  Server MTM class  </p>
+IMAPServer 8054=<p>  Server MTM class  </p>
+IMAPServer 8055=<p>  Server MTM class  </p>
+IMAPServer 8056=<p>  Server MTM class  </p>
+IMAPServer 8057=<p>  Server MTM class  </p>
+IMAPServer 8058=<p>  Server MTM class  </p>
+IMAPServer 8059=<p>  Server MTM class  </p>
+IMAPServer 8060=<p>  Server MTM class  </p>
+IMAPServer 8061=<p>  Server MTM class  </p>
+IMAPServer 8062=<p>  Server MTM class  </p>
+IMAPServer 8063=<p>  Server MTM class  </p>
+IMAPServer 8064=<p>  Server MTM class  </p>
+IMAPServer 8065=<p>  Server MTM class  </p>
+IMAPServer 8066=<p>  Server MTM class  </p>
+IMAPServer 8067=<p>  Server MTM class  </p>
+IMAPServer 8068=<p>  Server MTM class  </p>
+IMAPServer 8069=<p>  Server MTM class  </p>
+IMAPServer 8070=<p>  Server MTM class  </p>
+IMAPServer 8071=<p>  Server MTM class  </p>
+IMAPServer 8072=<p>  Server MTM class  </p>
+IMAPServer 8073=<p>  Server MTM class  </p>
+IMAPServer 8074=<p>  Server MTM class  </p>
+IMAPServer 8075=<p>  Server MTM class  </p>
+IMAPServer 8076=<p>  Server MTM class  </p>
+IMAPServer 8077=<p>  Server MTM class  </p>
+IMAPServer 8078=<p>  Server MTM class  </p>
+IMAPServer 8079=<p>  Server MTM class  </p>
+IMAPServer 8080=<p>  Server MTM class  </p>
+IMAPServer 8081=<p>  Server MTM class  </p>
+IMAPServer 8082=<p>  Server MTM class  </p>
+IMAPServer 8083=<p>  Server MTM class  </p>
+IMAPServer 8084=<p>  Server MTM class  </p>
+IMAPServer 8085=<p>  Server MTM class  </p>
+IMAPServer 8086=<p>  Server MTM class  </p>
+IMAPServer 8087=<p>  Server MTM class  </p>
+IMAPServer 8088=<p>  Server MTM class  </p>
+IMAPServer 8089=<p>  Server MTM class  </p>
+IMAPServer 8090=<p>  Server MTM class  </p>
+IMAPServer 8091=<p>  Server MTM class  </p>
+IMAPServer 8092=<p>  Server MTM class  </p>
+IMAPServer 8093=<p>  Server MTM class  </p>
+IMAPServer 8094=<p>  Server MTM class  </p>
+IMAPServer 8095=<p>  Server MTM class  </p>
+IMAPServer 8096=<p>  Server MTM class  </p>
+IMAPServer 8097=<p>  Server MTM class  </p>
+IMAPServer 8098=<p>  Server MTM class  </p>
+IMAPServer 8099=<p>  Server MTM class  </p>
+IMAPServer 8100=<p>  Server MTM class  </p>
+IMAPServer 8101=<p>  Server MTM class  </p>
+IMAPServer 8102=<p>  Server MTM class  </p>
+IMAPServer 8103=<p>  Server MTM class  </p>
+IMAPServer 8104=<p>  Server MTM class  </p>
+IMAPServer 8105=<p>  Server MTM class  </p>
+IMAPServer 8106=<p>  Server MTM class  </p>
+IMAPServer 8107=<p>  Server MTM class  </p>
+IMAPServer 8108=<p>  Server MTM class  </p>
+IMAPServer 8109=<p>  Server MTM class  </p>
+IMAPServer 8110=<p>  Server MTM class  </p>
+IMAPServer 8111=<p>  Server MTM class  </p>
+IMAPServer 8112=<p>  Server MTM class  </p>
+IMAPServer 8113=<p>  Server MTM class  </p>
+IMAPServer 8114=<p>  Server MTM class  </p>
+IMAPServer 8115=<p>  Server MTM class  </p>
+IMAPServer 8116=<p>  Server MTM class  </p>
+IMAPServer 8117=<p>  Server MTM class  </p>
+IMAPServer 8118=<p>  Server MTM class  </p>
+IMAPServer 8119=<p>  Server MTM class  </p>
+IMAPServer 8120=<p>  Server MTM class  </p>
+IMAPServer 8121=<p>  Server MTM class  </p>
+IMAPServer 8122=<p>  Server MTM class  </p>
+IMAPServer 8123=<p>  Server MTM class  </p>
+IMAPServer 8124=<p>  Server MTM class  </p>
+IMAPServer 8125=<p>  Server MTM class  </p>
+IMAPServer 8126=<p>  Server MTM class  </p>
+IMAPServer 8127=<p>  Server MTM class  </p>
+IMAPServer 8128=<p>  Server MTM class  </p>
+IMAPServer 8129=<p>  Server MTM class  </p>
+IMAPServer 8130=<p>  Server MTM class  </p>
+IMAPServer 8131=<p>  Server MTM class  </p>
+IMAPServer 8132=<p>  Server MTM class  </p>
+IMAPServer 8133=<p>  Server MTM class  </p>
+IMAPServer 8134=<p>  Server MTM class  </p>
+IMAPServer 8135=<p>  Server MTM class  </p>
+IMAPServer 8136=<p>  Server MTM class  </p>
+IMAPServer 8137=<p>  Server MTM class  </p>
+IMAPServer 8138=<p>  Server MTM class  </p>
+IMAPServer 8139=<p>  Server MTM class  </p>
+IMAPServer 8140=<p>  Server MTM class  </p>
+IMAPServer 8141=<p>  Server MTM class  </p>
+IMAPServer 8142=<p>  Server MTM class  </p>
+IMAPServer 8143=<p>  Server MTM class  </p>
+IMAPServer 8144=<p>  Server MTM class  </p>
+IMAPServer 8145=<p>  Server MTM class  </p>
+IMAPServer 8146=<p>  Server MTM class  </p>
+IMAPServer 8147=<p>  Server MTM class  </p>
+IMAPServer 8148=<p>  Server MTM class  </p>
+IMAPServer 8149=<p>  Server MTM class  </p>
+IMAPServer 8150=<p>  Server MTM class  </p>
+IMAPServer 8151=<p>  Server MTM class  </p>
+IMAPServer 8152=<p>  Server MTM class  </p>
+IMAPServer 8153=<p>  Server MTM class  </p>
+IMAPServer 8154=<p>  Server MTM class  </p>
+IMAPServer 8155=<p>  Server MTM class  </p>
+IMAPServer 8156=<p>  Server MTM class  </p>
+IMAPServer 8157=<p>  Server MTM class  </p>
+IMAPServer 8158=<p>  Server MTM class  </p>
+IMAPServer 8159=<p>  Server MTM class  </p>
+IMAPServer 8160=<p>  Server MTM class  </p>
+IMAPServer 8161=<p>  Server MTM class  </p>
+IMAPServer 8162=<p>  Server MTM class  </p>
+IMAPServer 8163=<p>  Server MTM class  </p>
+IMAPServer 8164=<p>  Server MTM class  </p>
+IMAPServer 8165=<p>  Server MTM class  </p>
+IMAPServer 8166=<p>  Server MTM class  </p>
+IMAPServer 8167=<p>  Server MTM class  </p>
+IMAPServer 8168=<p>  Server MTM class  </p>
+IMAPServer 8169=<p>  Server MTM class  </p>
+IMAPServer 8170=<p>  Server MTM class  </p>
+IMAPServer 8171=<p>  Server MTM class  </p>
+IMAPServer 8172=<p>  Server MTM class  </p>
+IMAPServer 8173=<p>  Server MTM class  </p>
+IMAPServer 8174=<p>  Server MTM class  </p>
+IMAPServer 8175=<p>  Server MTM class  </p>
+IMAPServer 8176=<p>  Server MTM class  </p>
+IMAPServer 8177=<p>  Server MTM class  </p>
+IMAPServer 8178=<p>  Server MTM class  </p>
+IMAPServer 8179=<p>  Server MTM class  </p>
+IMAPServer 8180=<p>  Server MTM class  </p>
+IMAPServer 8181=<p>  Server MTM class  </p>
+IMAPServer 8182=<p>  Server MTM class  </p>
+IMAPServer 8183=<p>  Server MTM class  </p>
+IMAPServer 8184=<p>  Server MTM class  </p>
+IMAPServer 8185=<p>  Server MTM class  </p>
+IMAPServer 8186=<p>  Server MTM class  </p>
+IMAPServer 8187=<p>  Server MTM class  </p>
+IMAPServer 8188=<p>  Server MTM class  </p>
+IMAPServer 8189=<p>  Server MTM class  </p>
+IMAPServer 8190=<p>  Server MTM class  </p>
+IMAPServer 8191=<p>  Server MTM class  </p>
+IMAPServer 8192=<p>  Server MTM class  </p>
+IMAPServer 8193=<p>  Server MTM class  </p>
+IMAPServer 8194=<p>  Server MTM class  </p>
+IMAPServer 8195=<p>  Server MTM class  </p>
+IMAPServer 8196=<p>  Server MTM class  </p>
+IMAPServer 8197=<p>  Server MTM class  </p>
+IMAPServer 8198=<p>  Server MTM class  </p>
+IMAPServer 8199=<p>  Server MTM class  </p>
+IMAPServer 8200=<p>  Server MTM class  </p>
+IMAPServer 8201=<p>  Server MTM class  </p>
+IMAPServer 8202=<p>  Server MTM class  </p>
+IMAPServer 8203=<p>  Server MTM class  </p>
+IMAPServer 8204=<p>  Server MTM class  </p>
+IMAPServer 8205=<p>  Server MTM class  </p>
+IMAPServer 8206=<p>  Server MTM class  </p>
+IMAPServer 8207=<p>  Server MTM class  </p>
+IMAPServer 8208=<p>  Server MTM class  </p>
+IMAPServer 8209=<p>  Server MTM class  </p>
+IMAPServer 8210=<p>  Server MTM class  </p>
+IMAPServer 8211=<p>  Server MTM class  </p>
+IMAPServer 8212=<p>  Server MTM class  </p>
+IMAPServer 8213=<p>  Server MTM class  </p>
+IMAPServer 8214=<p>  Server MTM class  </p>
+IMAPServer 8215=<p>  Server MTM class  </p>
+IMAPServer 8216=<p>  Server MTM class  </p>
+IMAPServer 8217=<p>  Server MTM class  </p>
+IMAPServer 8218=<p>  Server MTM class  </p>
+IMAPServer 8219=<p>  Server MTM class  </p>
+IMAPServer 8220=<p>  Server MTM class  </p>
+IMAPServer 8221=<p>  Server MTM class  </p>
+IMAPServer 8222=<p>  Server MTM class  </p>
+IMAPServer 8223=<p>  Server MTM class  </p>
+IMAPServer 8224=<p>  Server MTM class  </p>
+IMAPServer 8225=<p>  Server MTM class  </p>
+IMAPServer 8226=<p>  Server MTM class  </p>
+IMAPServer 8227=<p>  Server MTM class  </p>
+IMAPServer 8228=<p>  Server MTM class  </p>
+IMAPServer 8229=<p>  Server MTM class  </p>
+IMAPServer 8230=<p>  Server MTM class  </p>
+IMAPServer 8231=<p>  Server MTM class  </p>
+IMAPServer 8232=<p>  Server MTM class  </p>
+IMAPServer 8233=<p>  Server MTM class  </p>
+IMAPServer 8234=<p>  Server MTM class  </p>
+IMAPServer 8235=<p>  Server MTM class  </p>
+IMAPServer 8236=<p>  Server MTM class  </p>
+IMAPServer 8237=<p>  Server MTM class  </p>
+IMAPServer 8238=<p>  Server MTM class  </p>
+IMAPServer 8239=<p>  Server MTM class  </p>
+IMAPServer 8240=<p>  Server MTM class  </p>
+IMAPServer 8241=<p>  Server MTM class  </p>
+IMAPServer 8242=<p>  Server MTM class  </p>
+IMAPServer 8243=<p>  Server MTM class  </p>
+IMAPServer 8244=<p>  Server MTM class  </p>
+IMAPServer 8245=<p>  Server MTM class  </p>
+IMAPServer 8246=<p>  Server MTM class  </p>
+IMAPServer 8247=<p>  Server MTM class  </p>
+IMAPServer 8248=<p>  Server MTM class  </p>
+IMAPServer 8249=<p>  Server MTM class  </p>
+IMAPServer 8250=<p>  Server MTM class  </p>
+IMAPServer 8251=<p>  Server MTM class  </p>
+IMAPServer 8252=<p>  Server MTM class  </p>
+IMAPServer 8253=<p>  Server MTM class  </p>
+IMAPServer 8254=<p>  Server MTM class  </p>
+IMAPServer 8255=<p>  Server MTM class  </p>
+IMAPServer 8256=<p>  Server MTM class  </p>
+IMAPServer 8257=<p>  Server MTM class  </p>
+IMAPServer 8258=<p>  Server MTM class  </p>
+IMAPServer 8259=<p>  Server MTM class  </p>
+IMAPServer 8260=<p>  Server MTM class  </p>
+IMAPServer 8261=<p>  Server MTM class  </p>
+IMAPServer 8262=<p>  Server MTM class  </p>
+IMAPServer 8263=<p>  Server MTM class  </p>
+IMAPServer 8264=<p>  Server MTM class  </p>
+IMAPServer 8265=<p>  Server MTM class  </p>
+IMAPServer 8266=<p>  Server MTM class  </p>
+IMAPServer 8267=<p>  Server MTM class  </p>
+IMAPServer 8268=<p>  Server MTM class  </p>
+IMAPServer 8269=<p>  Server MTM class  </p>
+IMAPServer 8270=<p>  Server MTM class  </p>
+IMAPServer 8271=<p>  Server MTM class  </p>
+IMAPServer 8272=<p>  Server MTM class  </p>
+IMAPServer 8273=<p>  Server MTM class  </p>
+IMAPServer 8274=<p>  Server MTM class  </p>
+IMAPServer 8275=<p>  Server MTM class  </p>
+IMAPServer 8276=<p>  Server MTM class  </p>
+IMAPServer 8277=<p>  Server MTM class  </p>
+IMAPServer 8278=<p>  Server MTM class  </p>
+IMAPServer 8279=<p>  Server MTM class  </p>
+IMAPServer 8280=<p>  Server MTM class  </p>
+IMAPServer 8281=<p>  Server MTM class  </p>
+IMAPServer 8282=<p>  Server MTM class  </p>
+IMAPServer 8283=<p>  Server MTM class  </p>
+IMAPServer 8284=<p>  Server MTM class  </p>
+IMAPServer 8285=<p>  Server MTM class  </p>
+IMAPServer 8286=<p>  Server MTM class  </p>
+IMAPServer 8287=<p>  Server MTM class  </p>
+IMAPServer 8288=<p>  Server MTM class  </p>
+IMAPServer 8289=<p>  Server MTM class  </p>
+IMAPServer 8290=<p>  Server MTM class  </p>
+IMAPServer 8291=<p>  Server MTM class  </p>
+IMAPServer 8292=<p>  Server MTM class  </p>
+IMAPServer 8293=<p>  Server MTM class  </p>
+IMAPServer 8294=<p>  Server MTM class  </p>
+IMAPServer 8295=<p>  Server MTM class  </p>
+IMAPServer 8296=<p>  Server MTM class  </p>
+IMAPServer 8297=<p>  Server MTM class  </p>
+IMAPServer 8298=<p>  Server MTM class  </p>
+IMAPServer 8299=<p>  Server MTM class  </p>
+IMAPServer 8300=<p>  Server MTM class  </p>
+IMAPServer 8301=<p>  Server MTM class  </p>
+IMAPServer 8302=<p>  Server MTM class  </p>
+IMAPServer 8303=<p>  Server MTM class  </p>
+IMAPServer 8304=<p>  Server MTM class  </p>
+IMAPServer 8305=<p>  Server MTM class  </p>
+IMAPServer 8306=<p>  Server MTM class  </p>
+IMAPServer 8307=<p>  Server MTM class  </p>
+IMAPServer 8308=<p>  Server MTM class  </p>
+IMAPServer 8309=<p>  Server MTM class  </p>
+IMAPServer 8310=<p>  Server MTM class  </p>
+IMAPServer 8311=<p>  Server MTM class  </p>
+IMAPServer 8312=<p>  Server MTM class  </p>
+IMAPServer 8313=<p>  Server MTM class  </p>
+IMAPServer 8314=<p>  Server MTM class  </p>
+IMAPServer 8315=<p>  Server MTM class  </p>
+IMAPServer 8316=<p>  Server MTM class  </p>
+IMAPServer 8317=<p>  Server MTM class  </p>
+IMAPServer 8318=<p>  Server MTM class  </p>
+IMAPServer 8319=<p>  Server MTM class  </p>
+IMAPServer 8320=<p>  Server MTM class  </p>
+IMAPServer 8321=<p>  Server MTM class  </p>
+IMAPServer 8322=<p>  Server MTM class  </p>
+IMAPServer 8323=<p>  Server MTM class  </p>
+IMAPServer 8324=<p>  Server MTM class  </p>
+IMAPServer 8325=<p>  Server MTM class  </p>
+IMAPServer 8326=<p>  Server MTM class  </p>
+IMAPServer 8327=<p>  Server MTM class  </p>
+IMAPServer 8328=<p>  Server MTM class  </p>
+IMAPServer 8329=<p>  Server MTM class  </p>
+IMAPServer 8330=<p>  Server MTM class  </p>
+IMAPServer 8331=<p>  Server MTM class  </p>
+IMAPServer 8332=<p>  Server MTM class  </p>
+IMAPServer 8333=<p>  Server MTM class  </p>
+IMAPServer 8334=<p>  Server MTM class  </p>
+IMAPServer 8335=<p>  Server MTM class  </p>
+IMAPServer 8336=<p>  Server MTM class  </p>
+IMAPServer 8337=<p>  Server MTM class  </p>
+IMAPServer 8338=<p>  Server MTM class  </p>
+IMAPServer 8339=<p>  Server MTM class  </p>
+IMAPServer 8340=<p>  Server MTM class  </p>
+IMAPServer 8341=<p>  Server MTM class  </p>
+IMAPServer 8342=<p>  Server MTM class  </p>
+IMAPServer 8343=<p>  Server MTM class  </p>
+IMAPServer 8344=<p>  Server MTM class  </p>
+IMAPServer 8345=<p>  Server MTM class  </p>
+IMAPServer 8346=<p>  Server MTM class  </p>
+IMAPServer 8347=<p>  Server MTM class  </p>
+IMAPServer 8348=<p>  Server MTM class  </p>
+IMAPServer 8349=<p>  Server MTM class  </p>
+IMAPServer 8350=<p>  Server MTM class  </p>
+IMAPServer 8351=<p>  Server MTM class  </p>
+IMAPServer 8352=<p>  Server MTM class  </p>
+IMAPServer 8353=<p>  Server MTM class  </p>
+IMAPServer 8354=<p>  Server MTM class  </p>
+IMAPServer 8355=<p>  Server MTM class  </p>
+IMAPServer 8356=<p>  Server MTM class  </p>
+IMAPServer 8357=<p>  Server MTM class  </p>
+IMAPServer 8358=<p>  Server MTM class  </p>
+IMAPServer 8359=<p>  Server MTM class  </p>
+IMAPServer 8360=<p>  Server MTM class  </p>
+IMAPServer 8361=<p>  Server MTM class  </p>
+IMAPServer 8362=<p>  Server MTM class  </p>
+IMAPServer 8363=<p>  Server MTM class  </p>
+IMAPServer 8364=<p>  Server MTM class  </p>
+IMAPServer 8365=<p>  Server MTM class  </p>
+IMAPServer 8366=<p>  Server MTM class  </p>
+IMAPServer 8367=<p>  Server MTM class  </p>
+IMAPServer 8368=<p>  Server MTM class  </p>
+IMAPServer 8369=<p>  Server MTM class  </p>
+IMAPServer 8370=<p>  Server MTM class  </p>
+IMAPServer 8371=<p>  Server MTM class  </p>
+IMAPServer 8372=<p>  Server MTM class  </p>
+IMAPServer 8373=<p>  Server MTM class  </p>
+IMAPServer 8374=<p>  Server MTM class  </p>
+IMAPServer 8375=<p>  Server MTM class  </p>
+IMAPServer 8376=<p>  Server MTM class  </p>
+IMAPServer 8377=<p>  Server MTM class  </p>
+IMAPServer 8378=<p>  Server MTM class  </p>
+IMAPServer 8379=<p>  Server MTM class  </p>
+IMAPServer 8380=<p>  Server MTM class  </p>
+IMAPServer 8381=<p>  Server MTM class  </p>
+IMAPServer 8382=<p>  Server MTM class  </p>
+IMAPServer 8383=<p>  Server MTM class  </p>
+IMAPServer 8384=<p>  Server MTM class  </p>
+IMAPServer 8385=<p>  Server MTM class  </p>
+IMAPServer 8386=<p>  Server MTM class  </p>
+IMAPServer 8387=<p>  Server MTM class  </p>
+IMAPServer 8388=<p>  Server MTM class  </p>
+IMAPServer 8389=<p>  Server MTM class  </p>
+IMAPServer 8390=<p>  Server MTM class  </p>
+IMAPServer 8391=<p>  Server MTM class  </p>
+IMAPServer 8392=<p>  Server MTM class  </p>
+IMAPServer 8393=<p>  Server MTM class  </p>
+IMAPServer 8394=<p>  Server MTM class  </p>
+IMAPServer 8395=<p>  Server MTM class  </p>
+IMAPServer 8396=<p>  Server MTM class  </p>
+IMAPServer 8397=<p>  Server MTM class  </p>
+IMAPServer 8398=<p>  Server MTM class  </p>
+IMAPServer 8399=<p>  Server MTM class  </p>
+IMAPServer 8400=<p>  Server MTM class  </p>
+IMAPServer 8401=<p>  Server MTM class  </p>
+IMAPServer 8402=<p>  Server MTM class  </p>
+IMAPServer 8403=<p>  Server MTM class  </p>
+IMAPServer 8404=<p>  Server MTM class  </p>
+IMAPServer 8405=<p>  Server MTM class  </p>
+IMAPServer 8406=<p>  Server MTM class  </p>
+IMAPServer 8407=<p>  Server MTM class  </p>
+IMAPServer 8408=<p>  Server MTM class  </p>
+IMAPServer 8409=<p>  Server MTM class  </p>
+IMAPServer 8410=<p>  Server MTM class  </p>
+IMAPServer 8411=<p>  Server MTM class  </p>
+IMAPServer 8412=<p>  Server MTM class  </p>
+IMAPServer 8413=<p>  Server MTM class  </p>
+IMAPServer 8414=<p>  Server MTM class  </p>
+IMAPServer 8415=<p>  Server MTM class  </p>
+IMAPServer 8416=<p>  Server MTM class  </p>
+IMAPServer 8417=<p>  Server MTM class  </p>
+IMAPServer 8418=<p>  Server MTM class  </p>
+IMAPServer 8419=<p>  Server MTM class  </p>
+IMAPServer 8420=<p>  Server MTM class  </p>
+IMAPServer 8421=<p>  Server MTM class  </p>
+IMAPServer 8422=<p>  Server MTM class  </p>
+IMAPServer 8423=<p>  Server MTM class  </p>
+IMAPServer 8424=<p>  Server MTM class  </p>
+IMAPServer 8425=<p>  Server MTM class  </p>
+IMAPServer 8426=<p>  Server MTM class  </p>
+IMAPServer 8427=<p>  Server MTM class  </p>
+IMAPServer 8428=<p>  Server MTM class  </p>
+IMAPServer 8429=<p>  Server MTM class  </p>
+IMAPServer 8430=<p>  Server MTM class  </p>
+IMAPServer 8431=<p>  Server MTM class  </p>
+IMAPServer 8432=<p>  Server MTM class  </p>
+IMAPServer 8433=<p>  Server MTM class  </p>
+IMAPServer 8434=<p>  Server MTM class  </p>
+IMAPServer 8435=<p>  Server MTM class  </p>
+IMAPServer 8436=<p>  Server MTM class  </p>
+IMAPServer 8437=<p>  Server MTM class  </p>
+IMAPServer 8438=<p>  Server MTM class  </p>
+IMAPServer 8439=<p>  Server MTM class  </p>
+IMAPServer 8440=<p>  Server MTM class  </p>
+IMAPServer 8441=<p>  Server MTM class  </p>
+IMAPServer 8442=<p>  Server MTM class  </p>
+IMAPServer 8443=<p>  Server MTM class  </p>
+IMAPServer 8444=<p>  Server MTM class  </p>
+IMAPServer 8445=<p>  Server MTM class  </p>
+IMAPServer 8446=<p>  Server MTM class  </p>
+IMAPServer 8447=<p>  Server MTM class  </p>
+IMAPServer 8448=<p>  Server MTM class  </p>
+IMAPServer 8449=<p>  Server MTM class  </p>
+IMAPServer 8450=<p>  Server MTM class  </p>
+IMAPServer 8451=<p>  Server MTM class  </p>
+IMAPServer 8452=<p>  Server MTM class  </p>
+IMAPServer 8453=<p>  Server MTM class  </p>
+IMAPServer 8454=<p>  Server MTM class  </p>
+IMAPServer 8455=<p>  Server MTM class  </p>
+IMAPServer 8456=<p>  Server MTM class  </p>
+IMAPServer 8457=<p>  Server MTM class  </p>
+IMAPServer 8458=<p>  Server MTM class  </p>
+IMAPServer 8459=<p>  Server MTM class  </p>
+IMAPServer 8460=<p>  Server MTM class  </p>
+IMAPServer 8461=<p>  Server MTM class  </p>
+IMAPServer 8462=<p>  Server MTM class  </p>
+IMAPServer 8463=<p>  Server MTM class  </p>
+IMAPServer 8464=<p>  Server MTM class  </p>
+IMAPServer 8465=<p>  Server MTM class  </p>
+IMAPServer 8466=<p>  Server MTM class  </p>
+IMAPServer 8467=<p>  Server MTM class  </p>
+IMAPServer 8468=<p>  Server MTM class  </p>
+IMAPServer 8469=<p>  Server MTM class  </p>
+IMAPServer 8470=<p>  Server MTM class  </p>
+IMAPServer 8471=<p>  Server MTM class  </p>
+IMAPServer 8472=<p>  Server MTM class  </p>
+IMAPServer 8473=<p>  Server MTM class  </p>
+IMAPServer 8474=<p>  Server MTM class  </p>
+IMAPServer 8475=<p>  Server MTM class  </p>
+IMAPServer 8476=<p>  Server MTM class  </p>
+IMAPServer 8477=<p>  Server MTM class  </p>
+IMAPServer 8478=<p>  Server MTM class  </p>
+IMAPServer 8479=<p>  Server MTM class  </p>
+IMAPServer 8480=<p>  Server MTM class  </p>
+IMAPServer 8481=<p>  Server MTM class  </p>
+IMAPServer 8482=<p>  Server MTM class  </p>
+IMAPServer 8483=<p>  Server MTM class  </p>
+IMAPServer 8484=<p>  Server MTM class  </p>
+IMAPServer 8485=<p>  Server MTM class  </p>
+IMAPServer 8486=<p>  Server MTM class  </p>
+IMAPServer 8487=<p>  Server MTM class  </p>
+IMAPServer 8488=<p>  Server MTM class  </p>
+IMAPServer 8489=<p>  Server MTM class  </p>
+IMAPServer 8490=<p>  Server MTM class  </p>
+IMAPServer 8491=<p>  Server MTM class  </p>
+IMAPServer 8492=<p>  Server MTM class  </p>
+IMAPServer 8493=<p>  Server MTM class  </p>
+IMAPServer 8494=<p>  Server MTM class  </p>
+IMAPServer 8495=<p>  Server MTM class  </p>
+IMAPServer 8496=<p>  Server MTM class  </p>
+IMAPServer 8497=<p>  Server MTM class  </p>
+IMAPServer 8498=<p>  Server MTM class  </p>
+IMAPServer 8499=<p>  Server MTM class  </p>
+IMAPServer 8500=<p>  Server MTM class  </p>
+IMAPServer 8501=<p>  Server MTM class  </p>
+IMAPServer 8502=<p>  Server MTM class  </p>
+IMAPServer 8503=<p>  Server MTM class  </p>
+IMAPServer 8504=<p>  Server MTM class  </p>
+IMAPServer 8505=<p>  Server MTM class  </p>
+IMAPServer 8506=<p>  Server MTM class  </p>
+IMAPServer 8507=<p>  Server MTM class  </p>
+IMAPServer 8508=<p>  Server MTM class  </p>
+IMAPServer 8509=<p>  Server MTM class  </p>
+IMAPServer 8510=<p>  Server MTM class  </p>
+IMAPServer 8511=<p>  Server MTM class  </p>
+IMAPServer 8512=<p>  Server MTM class  </p>
+IMAPServer 8513=<p>  Server MTM class  </p>
+IMAPServer 8514=<p>  Server MTM class  </p>
+IMAPServer 8515=<p>  Server MTM class  </p>
+IMAPServer 8516=<p>  Server MTM class  </p>
+IMAPServer 8517=<p>  Server MTM class  </p>
+IMAPServer 8518=<p>  Server MTM class  </p>
+IMAPServer 8519=<p>  Server MTM class  </p>
+IMAPServer 8520=<p>  Server MTM class  </p>
+IMAPServer 8521=<p>  Server MTM class  </p>
+IMAPServer 8522=<p>  Server MTM class  </p>
+IMAPServer 8523=<p>  Server MTM class  </p>
+IMAPServer 8524=<p>  Server MTM class  </p>
+IMAPServer 8525=<p>  Server MTM class  </p>
+IMAPServer 8526=<p>  Server MTM class  </p>
+IMAPServer 8527=<p>  Server MTM class  </p>
+IMAPServer 8528=<p>  Server MTM class  </p>
+IMAPServer 8529=<p>  Server MTM class  </p>
+IMAPServer 8530=<p>  Server MTM class  </p>
+IMAPServer 8531=<p>  Server MTM class  </p>
+IMAPServer 8532=<p>  Server MTM class  </p>
+IMAPServer 8533=<p>  Server MTM class  </p>
+IMAPServer 8534=<p>  Server MTM class  </p>
+IMAPServer 8535=<p>  Server MTM class  </p>
+IMAPServer 8536=<p>  Server MTM class  </p>
+IMAPServer 8537=<p>  Server MTM class  </p>
+IMAPServer 8538=<p>  Server MTM class  </p>
+IMAPServer 8539=<p>  Server MTM class  </p>
+IMAPServer 8540=<p>  Server MTM class  </p>
+IMAPServer 8541=<p>  Server MTM class  </p>
+IMAPServer 8542=<p>  Server MTM class  </p>
+IMAPServer 8543=<p>  Server MTM class  </p>
+IMAPServer 8544=<p>  Server MTM class  </p>
+IMAPServer 8545=<p>  Server MTM class  </p>
+IMAPServer 8546=<p>  Server MTM class  </p>
+IMAPServer 8547=<p>  Server MTM class  </p>
+IMAPServer 8548=<p>  Server MTM class  </p>
+IMAPServer 8549=<p>  Server MTM class  </p>
+IMAPServer 8550=<p>  Server MTM class  </p>
+IMAPServer 8551=<p>  Server MTM class  </p>
+IMAPServer 8552=<p>  Server MTM class  </p>
+IMAPServer 8553=<p>  Server MTM class  </p>
+IMAPServer 8554=<p>  Server MTM class  </p>
+IMAPServer 8555=<p>  Server MTM class  </p>
+IMAPServer 8556=<p>  Server MTM class  </p>
+IMAPServer 8557=<p>  Server MTM class  </p>
+IMAPServer 8558=<p>  Server MTM class  </p>
+IMAPServer 8559=<p>  Server MTM class  </p>
+IMAPServer 8560=<p>  Server MTM class  </p>
+IMAPServer 8561=<p>  Server MTM class  </p>
+IMAPServer 8562=<p>  Server MTM class  </p>
+IMAPServer 8563=<p>  Server MTM class  </p>
+IMAPServer 8564=<p>  Server MTM class  </p>
+IMAPServer 8565=<p>  Server MTM class  </p>
+IMAPServer 8566=<p>  Server MTM class  </p>
+IMAPServer 8567=<p>  Server MTM class  </p>
+IMAPServer 8568=<p>  Server MTM class  </p>
+IMAPServer 8569=<p>  Server MTM class  </p>
+IMAPServer 8570=<p>  Server MTM class  </p>
+IMAPServer 8571=<p>  Server MTM class  </p>
+IMAPServer 8572=<p>  Server MTM class  </p>
+IMAPServer 8573=<p>  Server MTM class  </p>
+IMAPServer 8574=<p>  Server MTM class  </p>
+IMAPServer 8575=<p>  Server MTM class  </p>
+IMAPServer 8576=<p>  Server MTM class  </p>
+IMAPServer 8577=<p>  Server MTM class  </p>
+IMAPServer 8578=<p>  Server MTM class  </p>
+IMAPServer 8579=<p>  Server MTM class  </p>
+IMAPServer 8580=<p>  Server MTM class  </p>
+IMAPServer 8581=<p>  Server MTM class  </p>
+IMAPServer 8582=<p>  Server MTM class  </p>
+IMAPServer 8583=<p>  Server MTM class  </p>
+IMAPServer 8584=<p>  Server MTM class  </p>
+IMAPServer 8585=<p>  Server MTM class  </p>
+IMAPServer 8586=<p>  Server MTM class  </p>
+IMAPServer 8587=<p>  Server MTM class  </p>
+IMAPServer 8588=<p>  Server MTM class  </p>
+IMAPServer 8589=<p>  Server MTM class  </p>
+IMAPServer 8590=<p>  Server MTM class  </p>
+IMAPServer 8591=<p>  Server MTM class  </p>
+IMAPServer 8592=<p>  Server MTM class  </p>
+IMAPServer 8593=<p>  Server MTM class  </p>
+IMAPServer 8594=<p>  Server MTM class  </p>
+IMAPServer 8595=<p>  Server MTM class  </p>
+IMAPServer 8596=<p>  Server MTM class  </p>
+IMAPServer 8597=<p>  Server MTM class  </p>
+IMAPServer 8598=<p>  Server MTM class  </p>
+IMAPServer 8599=<p>  Server MTM class  </p>
+IMAPServer 8600=<p>  Server MTM class  </p>
+IMAPServer 8601=<p>  Server MTM class  </p>
+IMAPServer 8602=<p>  Server MTM class  </p>
+IMAPServer 8603=<p>  Server MTM class  </p>
+IMAPServer 8604=<p>  Server MTM class  </p>
+IMAPServer 8605=<p>  Server MTM class  </p>
+IMAPServer 8606=<p>  Server MTM class  </p>
+IMAPServer 8607=<p>  Server MTM class  </p>
+IMAPServer 8608=<p>  Server MTM class  </p>
+IMAPServer 8609=<p>  Server MTM class  </p>
+IMAPServer 8610=<p>  Server MTM class  </p>
+IMAPServer 8611=<p>  Server MTM class  </p>
+IMAPServer 8612=<p>  Server MTM class  </p>
+IMAPServer 8613=<p>  Server MTM class  </p>
+IMAPServer 8614=<p>  Server MTM class  </p>
+IMAPServer 8615=<p>  Server MTM class  </p>
+IMAPServer 8616=<p>  Server MTM class  </p>
+IMAPServer 8617=<p>  Server MTM class  </p>
+IMAPServer 8618=<p>  Server MTM class  </p>
+IMAPServer 8619=<p>  Server MTM class  </p>
+IMAPServer 8620=<p>  Server MTM class  </p>
+IMAPServer 8621=<p>  Server MTM class  </p>
+IMAPServer 8622=<p>  Server MTM class  </p>
+IMAPServer 8623=<p>  Server MTM class  </p>
+IMAPServer 8624=<p>  Server MTM class  </p>
+IMAPServer 8625=<p>  Server MTM class  </p>
+IMAPServer 8626=<p>  Server MTM class  </p>
+IMAPServer 8627=<p>  Server MTM class  </p>
+IMAPServer 8628=<p>  Server MTM class  </p>
+IMAPServer 8629=<p>  Server MTM class  </p>
+IMAPServer 8630=<p>  Server MTM class  </p>
+IMAPServer 8631=<p>  Server MTM class  </p>
+IMAPServer 8632=<p>  Server MTM class  </p>
+IMAPServer 8633=<p>  Server MTM class  </p>
+IMAPServer 8634=<p>  Server MTM class  </p>
+IMAPServer 8635=<p>  Server MTM class  </p>
+IMAPServer 8636=<p>  Server MTM class  </p>
+IMAPServer 8637=<p>  Server MTM class  </p>
+IMAPServer 8638=<p>  Server MTM class  </p>
+IMAPServer 8639=<p>  Server MTM class  </p>
+IMAPServer 8640=<p>  Server MTM class  </p>
+IMAPServer 8641=<p>  Server MTM class  </p>
+IMAPServer 8642=<p>  Server MTM class  </p>
+IMAPServer 8643=<p>  Server MTM class  </p>
+IMAPServer 8644=<p>  Server MTM class  </p>
+IMAPServer 8645=<p>  Server MTM class  </p>
+IMAPServer 8646=<p>  Server MTM class  </p>
+IMAPServer 8647=<p>  Server MTM class  </p>
+IMAPServer 8648=<p>  Server MTM class  </p>
+IMAPServer 8649=<p>  Server MTM class  </p>
+IMAPServer 8650=<p>  Server MTM class  </p>
+IMAPServer 8651=<p>  Server MTM class  </p>
+IMAPServer 8652=<p>  Server MTM class  </p>
+IMAPServer 8653=<p>  Server MTM class  </p>
+IMAPServer 8654=<p>  Server MTM class  </p>
+IMAPServer 8655=<p>  Server MTM class  </p>
+IMAPServer 8656=<p>  Server MTM class  </p>
+IMAPServer 8657=<p>  Server MTM class  </p>
+IMAPServer 8658=<p>  Server MTM class  </p>
+IMAPServer 8659=<p>  Server MTM class  </p>
+IMAPServer 8660=<p>  Server MTM class  </p>
+IMAPServer 8661=<p>  Server MTM class  </p>
+IMAPServer 8662=<p>  Server MTM class  </p>
+IMAPServer 8663=<p>  Server MTM class  </p>
+IMAPServer 8664=<p>  Server MTM class  </p>
+IMAPServer 8665=<p>  Server MTM class  </p>
+IMAPServer 8666=<p>  Server MTM class  </p>
+IMAPServer 8667=<p>  Server MTM class  </p>
+IMAPServer 8668=<p>  Server MTM class  </p>
+IMAPServer 8669=<p>  Server MTM class  </p>
+IMAPServer 8670=<p>  Server MTM class  </p>
+IMAPServer 8671=<p>  Server MTM class  </p>
+IMAPServer 8672=<p>  Server MTM class  </p>
+IMAPServer 8673=<p>  Server MTM class  </p>
+IMAPServer 8674=<p>  Server MTM class  </p>
+IMAPServer 8675=<p>  Server MTM class  </p>
+IMAPServer 8676=<p>  Server MTM class  </p>
+IMAPServer 8677=<p>  Server MTM class  </p>
+IMAPServer 8678=<p>  Server MTM class  </p>
+IMAPServer 8679=<p>  Server MTM class  </p>
+IMAPServer 8680=<p>  Server MTM class  </p>
+IMAPServer 8681=<p>  Server MTM class  </p>
+IMAPServer 8682=<p>  Server MTM class  </p>
+IMAPServer 8683=<p>  Server MTM class  </p>
+IMAPServer 8684=<p>  Server MTM class  </p>
+IMAPServer 8685=<p>  Server MTM class  </p>
+IMAPServer 8686=<p>  Server MTM class  </p>
+IMAPServer 8687=<p>  Server MTM class  </p>
+IMAPServer 8688=<p>  Server MTM class  </p>
+IMAPServer 8689=<p>  Server MTM class  </p>
+IMAPServer 8690=<p>  Server MTM class  </p>
+IMAPServer 8691=<p>  Server MTM class  </p>
+IMAPServer 8692=<p>  Server MTM class  </p>
+IMAPServer 8693=<p>  Server MTM class  </p>
+IMAPServer 8694=<p>  Server MTM class  </p>
+IMAPServer 8695=<p>  Server MTM class  </p>
+IMAPServer 8696=<p>  Server MTM class  </p>
+IMAPServer 8697=<p>  Server MTM class  </p>
+IMAPServer 8698=<p>  Server MTM class  </p>
+IMAPServer 8699=<p>  Server MTM class  </p>
+IMAPServer 8700=<p>  Server MTM class  </p>
+IMAPServer 8701=<p>  Server MTM class  </p>
+IMAPServer 8702=<p>  Server MTM class  </p>
+IMAPServer 8703=<p>  Server MTM class  </p>
+IMAPServer 8704=<p>  Server MTM class  </p>
+IMAPServer 8705=<p>  Server MTM class  </p>
+IMAPServer 8706=<p>  Server MTM class  </p>
+IMAPServer 8707=<p>  Server MTM class  </p>
+IMAPServer 8708=<p>  Server MTM class  </p>
+IMAPServer 8709=<p>  Server MTM class  </p>
+IMAPServer 8710=<p>  Server MTM class  </p>
+IMAPServer 8711=<p>  Server MTM class  </p>
+IMAPServer 8712=<p>  Server MTM class  </p>
+IMAPServer 8713=<p>  Server MTM class  </p>
+IMAPServer 8714=<p>  Server MTM class  </p>
+IMAPServer 8715=<p>  Server MTM class  </p>
+IMAPServer 8716=<p>  Server MTM class  </p>
+IMAPServer 8717=<p>  Server MTM class  </p>
+IMAPServer 8718=<p>  Server MTM class  </p>
+IMAPServer 8719=<p>  Server MTM class  </p>
+IMAPServer 8720=<p>  Server MTM class  </p>
+IMAPServer 8721=<p>  Server MTM class  </p>
+IMAPServer 8722=<p>  Server MTM class  </p>
+IMAPServer 8723=<p>  Server MTM class  </p>
+IMAPServer 8724=<p>  Server MTM class  </p>
+IMAPServer 8725=<p>  Server MTM class  </p>
+IMAPServer 8726=<p>  Server MTM class  </p>
+IMAPServer 8727=<p>  Server MTM class  </p>
+IMAPServer 8728=<p>  Server MTM class  </p>
+IMAPServer 8729=<p>  Server MTM class  </p>
+IMAPServer 8730=<p>  Server MTM class  </p>
+IMAPServer 8731=<p>  Server MTM class  </p>
+IMAPServer 8732=<p>  Server MTM class  </p>
+IMAPServer 8733=<p>  Server MTM class  </p>
+IMAPServer 8734=<p>  Server MTM class  </p>
+IMAPServer 8735=<p>  Server MTM class  </p>
+IMAPServer 8736=<p>  Server MTM class  </p>
+IMAPServer 8737=<p>  Server MTM class  </p>
+IMAPServer 8738=<p>  Server MTM class  </p>
+IMAPServer 8739=<p>  Server MTM class  </p>
+IMAPServer 8740=<p>  Server MTM class  </p>
+IMAPServer 8741=<p>  Server MTM class  </p>
+IMAPServer 8742=<p>  Server MTM class  </p>
+IMAPServer 8743=<p>  Server MTM class  </p>
+IMAPServer 8744=<p>  Server MTM class  </p>
+IMAPServer 8745=<p>  Server MTM class  </p>
+IMAPServer 8746=<p>  Server MTM class  </p>
+IMAPServer 8747=<p>  Server MTM class  </p>
+IMAPServer 8748=<p>  Server MTM class  </p>
+IMAPServer 8749=<p>  Server MTM class  </p>
+IMAPServer 8750=<p>  Server MTM class  </p>
+IMAPServer 8751=<p>  Server MTM class  </p>
+IMAPServer 8752=<p>  Server MTM class  </p>
+IMAPServer 8753=<p>  Server MTM class  </p>
+IMAPServer 8754=<p>  Server MTM class  </p>
+IMAPServer 8755=<p>  Server MTM class  </p>
+IMAPServer 8756=<p>  Server MTM class  </p>
+IMAPServer 8757=<p>  Server MTM class  </p>
+IMAPServer 8758=<p>  Server MTM class  </p>
+IMAPServer 8759=<p>  Server MTM class  </p>
+IMAPServer 8760=<p>  Server MTM class  </p>
+IMAPServer 8761=<p>  Server MTM class  </p>
+IMAPServer 8762=<p>  Server MTM class  </p>
+IMAPServer 8763=<p>  Server MTM class  </p>
+IMAPServer 8764=<p>  Server MTM class  </p>
+IMAPServer 8765=<p>  Server MTM class  </p>
+IMAPServer 8766=<p>  Server MTM class  </p>
+IMAPServer 8767=<p>  Server MTM class  </p>
+IMAPServer 8768=<p>  Server MTM class  </p>
+IMAPServer 8769=<p>  Server MTM class  </p>
+IMAPServer 8770=<p>  Server MTM class  </p>
+IMAPServer 8771=<p>  Server MTM class  </p>
+IMAPServer 8772=<p>  Server MTM class  </p>
+IMAPServer 8773=<p>  Server MTM class  </p>
+IMAPServer 8774=<p>  Server MTM class  </p>
+IMAPServer 8775=<p>  Server MTM class  </p>
+IMAPServer 8776=<p>  Server MTM class  </p>
+IMAPServer 8777=<p>  Server MTM class  </p>
+IMAPServer 8778=<p>  Server MTM class  </p>
+IMAPServer 8779=<p>  Server MTM class  </p>
+IMAPServer 8780=<p>  Server MTM class  </p>
+IMAPServer 8781=<p>  Server MTM class  </p>
+IMAPServer 8782=<p>  Server MTM class  </p>
+IMAPServer 8783=<p>  Server MTM class  </p>
+IMAPServer 8784=<p>  Server MTM class  </p>
+IMAPServer 8785=<p>  Server MTM class  </p>
+IMAPServer 8786=<p>  Server MTM class  </p>
+IMAPServer 8787=<p>  Server MTM class  </p>
+IMAPServer 8788=<p>  Server MTM class  </p>
+IMAPServer 8789=<p>  Server MTM class  </p>
+IMAPServer 8790=<p>  Server MTM class  </p>
+IMAPServer 8791=<p>  Server MTM class  </p>
+IMAPServer 8792=<p>  Server MTM class  </p>
+IMAPServer 8793=<p>  Server MTM class  </p>
+IMAPServer 8794=<p>  Server MTM class  </p>
+IMAPServer 8795=<p>  Server MTM class  </p>
+IMAPServer 8796=<p>  Server MTM class  </p>
+IMAPServer 8797=<p>  Server MTM class  </p>
+IMAPServer 8798=<p>  Server MTM class  </p>
+IMAPServer 8799=<p>  Server MTM class  </p>
+IMAPServer 8800=<p>  Server MTM class  </p>
+IMAPServer 8801=<p>  Server MTM class  </p>
+IMAPServer 8802=<p>  Server MTM class  </p>
+IMAPServer 8803=<p>  Server MTM class  </p>
+IMAPServer 8804=<p>  Server MTM class  </p>
+IMAPServer 8805=<p>  Server MTM class  </p>
+IMAPServer 8806=<p>  Server MTM class  </p>
+IMAPServer 8807=<p>  Server MTM class  </p>
+IMAPServer 8808=<p>  Server MTM class  </p>
+IMAPServer 8809=<p>  Server MTM class  </p>
+IMAPServer 8810=<p>  Server MTM class  </p>
+IMAPServer 8811=<p>  Server MTM class  </p>
+IMAPServer 8812=<p>  Server MTM class  </p>
+IMAPServer 8813=<p>  Server MTM class  </p>
+IMAPServer 8814=<p>  Server MTM class  </p>
+IMAPServer 8815=<p>  Server MTM class  </p>
+IMAPServer 8816=<p>  Server MTM class  </p>
+IMAPServer 8817=<p>  Server MTM class  </p>
+IMAPServer 8818=<p>  Server MTM class  </p>
+IMAPServer 8819=<p>  Server MTM class  </p>
+IMAPServer 8820=<p>  Server MTM class  </p>
+IMAPServer 8821=<p>  Server MTM class  </p>
+IMAPServer 8822=<p>  Server MTM class  </p>
+IMAPServer 8823=<p>  Server MTM class  </p>
+IMAPServer 8824=<p>  Server MTM class  </p>
+IMAPServer 8825=<p>  Server MTM class  </p>
+IMAPServer 8826=<p>  Server MTM class  </p>
+IMAPServer 8827=<p>  Server MTM class  </p>
+IMAPServer 8828=<p>  Server MTM class  </p>
+IMAPServer 8829=<p>  Server MTM class  </p>
+IMAPServer 8830=<p>  Server MTM class  </p>
+IMAPServer 8831=<p>  Server MTM class  </p>
+IMAPServer 8832=<p>  Server MTM class  </p>
+IMAPServer 8833=<p>  Server MTM class  </p>
+IMAPServer 8834=<p>  Server MTM class  </p>
+IMAPServer 8835=<p>  Server MTM class  </p>
+IMAPServer 8836=<p>  Server MTM class  </p>
+IMAPServer 8837=<p>  Server MTM class  </p>
+IMAPServer 8838=<p>  Server MTM class  </p>
+IMAPServer 8839=<p>  Server MTM class  </p>
+IMAPServer 8840=<p>  Server MTM class  </p>
+IMAPServer 8841=<p>  Server MTM class  </p>
+IMAPServer 8842=<p>  Server MTM class  </p>
+IMAPServer 8843=<p>  Server MTM class  </p>
+IMAPServer 8844=<p>  Server MTM class  </p>
+IMAPServer 8845=<p>  Server MTM class  </p>
+IMAPServer 8846=<p>  Server MTM class  </p>
+IMAPServer 8847=<p>  Server MTM class  </p>
+IMAPServer 8848=<p>  Server MTM class  </p>
+IMAPServer 8849=<p>  Server MTM class  </p>
+IMAPServer 8850=<p>  Server MTM class  </p>
+IMAPServer 8851=<p>  Server MTM class  </p>
+IMAPServer 8852=<p>  Server MTM class  </p>
+IMAPServer 8853=<p>  Server MTM class  </p>
+IMAPServer 8854=<p>  Server MTM class  </p>
+IMAPServer 8855=<p>  Server MTM class  </p>
+IMAPServer 8856=<p>  Server MTM class  </p>
+IMAPServer 8857=<p>  Server MTM class  </p>
+IMAPServer 8858=<p>  Server MTM class  </p>
+IMAPServer 8859=<p>  Server MTM class  </p>
+IMAPServer 8860=<p>  Server MTM class  </p>
+IMAPServer 8861=<p>  Server MTM class  </p>
+IMAPServer 8862=<p>  Server MTM class  </p>
+IMAPServer 8863=<p>  Server MTM class  </p>
+IMAPServer 8864=<p>  Server MTM class  </p>
+IMAPServer 8865=<p>  Server MTM class  </p>
+IMAPServer 8866=<p>  Server MTM class  </p>
+IMAPServer 8867=<p>  Server MTM class  </p>
+IMAPServer 8868=<p>  Server MTM class  </p>
+IMAPServer 8869=<p>  Server MTM class  </p>
+IMAPServer 8870=<p>  Server MTM class  </p>
+IMAPServer 8871=<p>  Server MTM class  </p>
+IMAPServer 8872=<p>  Server MTM class  </p>
+IMAPServer 8873=<p>  Server MTM class  </p>
+IMAPServer 8874=<p>  Server MTM class  </p>
+IMAPServer 8875=<p>  Server MTM class  </p>
+IMAPServer 8876=<p>  Server MTM class  </p>
+IMAPServer 8877=<p>  Server MTM class  </p>
+IMAPServer 8878=<p>  Server MTM class  </p>
+IMAPServer 8879=<p>  Server MTM class  </p>
+IMAPServer 8880=<p>  Server MTM class  </p>
+IMAPServer 8881=<p>  Server MTM class  </p>
+IMAPServer 8882=<p>  Server MTM class  </p>
+IMAPServer 8883=<p>  Server MTM class  </p>
+IMAPServer 8884=<p>  Server MTM class  </p>
+IMAPServer 8885=<p>  Server MTM class  </p>
+IMAPServer 8886=<p>  Server MTM class  </p>
+IMAPServer 8887=<p>  Server MTM class  </p>
+IMAPServer 8888=<p>  Server MTM class  </p>
+IMAPServer 8889=<p>  Server MTM class  </p>
+IMAPServer 8890=<p>  Server MTM class  </p>
+IMAPServer 8891=<p>  Server MTM class  </p>
+IMAPServer 8892=<p>  Server MTM class  </p>
+IMAPServer 8893=<p>  Server MTM class  </p>
+IMAPServer 8894=<p>  Server MTM class  </p>
+IMAPServer 8895=<p>  Server MTM class  </p>
+IMAPServer 8896=<p>  Server MTM class  </p>
+IMAPServer 8897=<p>  Server MTM class  </p>
+IMAPServer 8898=<p>  Server MTM class  </p>
+IMAPServer 8899=<p>  Server MTM class  </p>
+IMAPServer 8900=<p>  Server MTM class  </p>
+IMAPServer 8901=<p>  Server MTM class  </p>
+IMAPServer 8902=<p>  Server MTM class  </p>
+IMAPServer 8903=<p>  Server MTM class  </p>
+IMAPServer 8904=<p>  Server MTM class  </p>
+IMAPServer 8905=<p>  Server MTM class  </p>
+IMAPServer 8906=<p>  Server MTM class  </p>
+IMAPServer 8907=<p>  Server MTM class  </p>
+IMAPServer 8908=<p>  Server MTM class  </p>
+IMAPServer 8909=<p>  Server MTM class  </p>
+IMAPServer 8910=<p>  Server MTM class  </p>
+IMAPServer 8911=<p>  Server MTM class  </p>
+IMAPServer 8912=<p>  Server MTM class  </p>
+IMAPServer 8913=<p>  Server MTM class  </p>
+IMAPServer 8914=<p>  Server MTM class  </p>
+IMAPServer 8915=<p>  Server MTM class  </p>
+IMAPServer 8916=<p>  Server MTM class  </p>
+IMAPServer 8917=<p>  Server MTM class  </p>
+IMAPServer 8918=<p>  Server MTM class  </p>
+IMAPServer 8919=<p>  Server MTM class  </p>
+IMAPServer 8920=<p>  Server MTM class  </p>
+IMAPServer 8921=<p>  Server MTM class  </p>
+IMAPServer 8922=<p>  Server MTM class  </p>
+IMAPServer 8923=<p>  Server MTM class  </p>
+IMAPServer 8924=<p>  Server MTM class  </p>
+IMAPServer 8925=<p>  Server MTM class  </p>
+IMAPServer 8926=<p>  Server MTM class  </p>
+IMAPServer 8927=<p>  Server MTM class  </p>
+IMAPServer 8928=<p>  Server MTM class  </p>
+IMAPServer 8929=<p>  Server MTM class  </p>
+IMAPServer 8930=<p>  Server MTM class  </p>
+IMAPServer 8931=<p>  Server MTM class  </p>
+IMAPServer 8932=<p>  Server MTM class  </p>
+IMAPServer 8933=<p>  Server MTM class  </p>
+IMAPServer 8934=<p>  Server MTM class  </p>
+IMAPServer 8935=<p>  Server MTM class  </p>
+IMAPServer 8936=<p>  Server MTM class  </p>
+IMAPServer 8937=<p>  Server MTM class  </p>
+IMAPServer 8938=<p>  Server MTM class  </p>
+IMAPServer 8939=<p>  Server MTM class  </p>
+IMAPServer 8940=<p>  Server MTM class  </p>
+IMAPServer 8941=<p>  Server MTM class  </p>
+IMAPServer 8942=<p>  Server MTM class  </p>
+IMAPServer 8943=<p>  Server MTM class  </p>
+IMAPServer 8944=<p>  Server MTM class  </p>
+IMAPServer 8945=<p>  Server MTM class  </p>
+IMAPServer 8946=<p>  Server MTM class  </p>
+IMAPServer 8947=<p>  Server MTM class  </p>
+IMAPServer 8948=<p>  Server MTM class  </p>
+IMAPServer 8949=<p>  Server MTM class  </p>
+IMAPServer 8950=<p>  Server MTM class  </p>
+IMAPServer 8951=<p>  Server MTM class  </p>
+IMAPServer 8952=<p>  Server MTM class  </p>
+IMAPServer 8953=<p>  Server MTM class  </p>
+IMAPServer 8954=<p>  Server MTM class  </p>
+IMAPServer 8955=<p>  Server MTM class  </p>
+IMAPServer 8956=<p>  Server MTM class  </p>
+IMAPServer 8957=<p>  Server MTM class  </p>
+IMAPServer 8958=<p>  Server MTM class  </p>
+IMAPServer 8959=<p>  Server MTM class  </p>
+IMAPServer 8960=<p>  Server MTM class  </p>
+IMAPServer 8961=<p>  Server MTM class  </p>
+IMAPServer 8962=<p>  Server MTM class  </p>
+IMAPServer 8963=<p>  Server MTM class  </p>
+IMAPServer 8964=<p>  Server MTM class  </p>
+IMAPServer 8965=<p>  Server MTM class  </p>
+IMAPServer 8966=<p>  Server MTM class  </p>
+IMAPServer 8967=<p>  Server MTM class  </p>
+IMAPServer 8968=<p>  Server MTM class  </p>
+IMAPServer 8969=<p>  Server MTM class  </p>
+IMAPServer 8970=<p>  Server MTM class  </p>
+IMAPServer 8971=<p>  Server MTM class  </p>
+IMAPServer 8972=<p>  Server MTM class  </p>
+IMAPServer 8973=<p>  Server MTM class  </p>
+IMAPServer 8974=<p>  Server MTM class  </p>
+IMAPServer 8975=<p>  Server MTM class  </p>
+IMAPServer 8976=<p>  Server MTM class  </p>
+IMAPServer 8977=<p>  Server MTM class  </p>
+IMAPServer 8978=<p>  Server MTM class  </p>
+IMAPServer 8979=<p>  Server MTM class  </p>
+IMAPServer 8980=<p>  Server MTM class  </p>
+IMAPServer 8981=<p>  Server MTM class  </p>
+IMAPServer 8982=<p>  Server MTM class  </p>
+IMAPServer 8983=<p>  Server MTM class  </p>
+IMAPServer 8984=<p>  Server MTM class  </p>
+IMAPServer 8985=<p>  Server MTM class  </p>
+IMAPServer 8986=<p>  Server MTM class  </p>
+IMAPServer 8987=<p>  Server MTM class  </p>
+IMAPServer 8988=<p>  Server MTM class  </p>
+IMAPServer 8989=<p>  Server MTM class  </p>
+IMAPServer 8990=<p>  Server MTM class  </p>
+IMAPServer 8991=<p>  Server MTM class  </p>
+IMAPServer 8992=<p>  Server MTM class  </p>
+IMAPServer 8993=<p>  Server MTM class  </p>
+IMAPServer 8994=<p>  Server MTM class  </p>
+IMAPServer 8995=<p>  Server MTM class  </p>
+IMAPServer 8996=<p>  Server MTM class  </p>
+IMAPServer 8997=<p>  Server MTM class  </p>
+IMAPServer 8998=<p>  Server MTM class  </p>
+IMAPServer 8999=<p>  Server MTM class  </p>
+InSock 0=<p><code>TInetAddr</code> constructor call with <code>TSockAddr</code> argument of incorrect protocol family</p>
+Irda Fault 0=<p>Unused</p>
+Irda Fault 1=<p>Unused</p>
+Irda Fault 2=<p>Unused</p>
+Irda Fault 3=<p>Unused</p>
+Irda Fault 4=<p>Unused</p>
+Irda Fault 5=<p>Unused</p>
+Irda Fault 6=<p>Session not closed</p>
+Irda Fault 7=<p>Timer error</p>
+Irda Fault 8=<p>IR connection in bad state</p>
+Irda Fault 9=<p>Invalid state change</p>
+KERN-EXEC 0=<p>  This panic is raised when the Kernel cannot find an object in the  object index for the current process or current thread using the specified  object index number (the raw handle number).   </p>  <p>  The most common reason for this is trying to use a kernel-side  resource without first having sucessfully created it or sucessfully opened it.  Typically, such resources are created or opened through user side handles,  which are instances of classes derived from <span class="stripedlink"><code class="ApiItem">RHandleBase</code></span>,  for example, <span class="stripedlink"><code class="ApiItem">RLibrary</code></span>, <span class="stripedlink"><code class="ApiItem">RThread</code></span>,  <span class="stripedlink"><code class="ApiItem">RProcess</code></span>, <span class="stripedlink"><code class="ApiItem">RSemaphore</code></span> etc. [Note that  this list is not exhaustive].  </p>  <p>  For example, a call to <span class="stripedlink"><code class="ApiItem">RLibrary::Lookup()</code></span>  panics with KERN-EXEC 0 if not preceded by a successful call to  <span class="stripedlink"><code class="ApiItem">RLibrary::Load()</code></span>.   </p>
+KERN-EXEC 1=<p>  This is a general panic raised as a result of trying an  unauthorised activity such as trying to suspend a thread, to set the priority  of a thread or to set the priority of a process, when not authorised to do so.   </p>
+KERN-EXEC 2=<p>  This panic is raised by the kernel when opening a kernel side  object, a <code class="ApiItem">DObject</code> type, and the fullname is invalid.   </p>  <p>  The fullname is deemed to be invalid if it contains a character  that is not one of the printable characters lying between 0x20 and 0x7e  inclusive, or it contains an asterisk or a question mark.   </p>  <p>  See also <code class="ApiItem">Kern::ValidateFullName()</code>.   </p>
+KERN-EXEC 3=<p>  This panic is raised when an unhandled exception occurs. Exceptions  have many causes, but the most common are access violations caused, for  example, by dereferencing NULL. Among other possible causes are: general  protection faults, executing an invalid instruction, alignment checks, etc.   </p>
+KERN-EXEC 4=<p>  This panic is not used.   </p>
+KERN-EXEC 5=<p>  This panic is not used.   </p>
+KERN-EXEC 6=<p>  This panic is raised by the kernel when a handle to a code segment  is invalid.   </p>
+KERN-EXEC 7=<p>  This panic is not used.   </p>
+KERN-EXEC 8=<p>  This panic is not used.   </p>
+KERN-EXEC 9=<p>  This is a general type of panic that is usually raised by a device  driver when dealing with an asynchronous request, and it finds that an  asynchronous request is already outstanding. For an example of the context in  which this is raised, see  <code class="filename">...\cedar\e32test\examples\driver1\driver1_ldd.cpp</code>.   </p>  <p>  This panic is also raised when trying to subscribe to a property  through a call to <span class="stripedlink"><code class="ApiItem">RProperty::Subscribe()</code></span> and there is  already an outstanding subscription on this property handle.   </p>
+KERN-EXEC 10=<p>  This panic is raised by  <code class="ApiItem">DLogicalChannel::Request()</code> when the request number passed  to the function is smaller than the permitted minimum.   </p>  <p>  See also <code class="ApiItem">DLogicalChannel::EMinRequestId</code>.   </p>
+KERN-EXEC 11=<p>  This panic is raised when creating a logical channel, and the unit  number is outside the permitted range:   </p>  <ul>  <li>  <p>  If unit numbers are not permitted, the unit number value must  be <span class="stripedlink"><code class="ApiItem">KNullUnit</code></span>.   </p>  <p>  If unit numbers are permitted, the unit number value must be  less than <span class="stripedlink"><code class="ApiItem">KMaxUnits</code></span>.   </p>  </li>  </ul>  <p>  A logical channel is created as a result of a call to  <span class="stripedlink"><code class="ApiItem">RBusLogicalChannel::DoCreate()</code></span>.   </p>
+KERN-EXEC 12=<p>  This panic is raised by the kernel if an event capture hook has  already been designated.   </p>
+KERN-EXEC 13=<p>  This panic is raised by the kernel if the current thread is not the  designated event capture hook.   </p>
+KERN-EXEC 14=<p>  This panic is raised when an attempt is made to set the priority of  a thread or process to an illegal value.   </p>  <p>  The permitted priority values for a user process are a subset of  the values defined by the <span class="stripedlink"><code class="ApiItem">TProcessPriority</code></span> enum. The  permitted values are:   </p>  <ul>  <li>  <p>  <code> EPriorityLow</code>  </p>  </li>  <li>  <p>  <code>EPriorityBackground</code>  </p>  </li>  <li>  <p>  <code>EPriorityForeground</code>  </p>  </li>  <li>  <p>  <code>EPriorityHigh</code>  </p>  </li>  </ul>  <p>  The permitted priority values for a user thread are a subset of the  values defined by the <span class="stripedlink"><code class="ApiItem">TThreadPriority</code></span> enum. The permitted  values are:   </p>  <ul>  <li>  <p>  <code> EPriorityMuchLess</code>  </p>  </li>  <li>  <p>  <code> EPriorityLess</code>  </p>  </li>  <li>  <p>  <code> EPriorityNormal</code>  </p>  </li>  <li>  <p>  <code>EPriorityMore</code>  </p>  </li>  <li>  <p>  <code> EPriorityMuchMore</code>  </p>  </li>  <li>  <p>  <code>EPriorityRealTime</code>  </p>  </li>  <li>  <p>  <code>EPriorityAbsoluteVeryLow</code>  </p>  </li>  <li>  <p>  <code> EPriorityAbsoluteLow</code>  </p>  </li>  <li>  <p>  <code> EPriorityAbsoluteBackground</code>  </p>  </li>  <li>  <p>  <code> EPriorityAbsoluteForeground</code>  </p>  </li>  <li>  <p>  <code> EPriorityAbsoluteHigh</code>  </p>  </li>  </ul>
+KERN-EXEC 15=<p>  This panic is raised when a timer event is requested from an  asynchronous timer service, an <span class="stripedlink"><code class="ApiItem">RTimer</code></span>, and a timer event  is already outstanding. It is caused by calling either the <code>At()</code>,  <code>After()</code> or <code>Lock()</code> member functions after a previous  call to any of these functions, but before the timer event requested by those  functions has completed.   </p>
+KERN-EXEC 16=<p>  This panic is not used.   </p>
+KERN-EXEC 17=<p>  The panic is raised if kernel heap checking has failed.   </p>
+KERN-EXEC 18=<p>  This panic is not used.   </p>
+KERN-EXEC 19=<p>  This panic is raised by the Kernel when a server program makes a  request to receive a message, i.e. when it calls the <code>Receive()</code>  member function of <code>RServer2</code>, the handle to the Kernel side server  object. The panic occurs when a receive message request has previously been  made and is still outstanding.   </p>  <p>  Note that <code>RServer2</code> is internal to Symbian   </p>
+KERN-EXEC 20=<p>  This panic is raised by the Kernel when a request for an event, as  originated by a call to <code>UserSvr::RequestEvent()</code>, defined in  <code class="filename">e32svr.h</code>, is made while a previously made request is still  outstanding.   </p>
+KERN-EXEC 21=<p>  This panic is not used.   </p>
+KERN-EXEC 22=<p>  This panic is not used.   </p>
+KERN-EXEC 23=<p>  This panic is raised in a call to  <span class="stripedlink"><code class="ApiItem">RSessionBase::ShareAuto()</code></span> or  <span class="stripedlink"><code class="ApiItem">RSessionBase::ShareProtected()</code></span>, i.e. when attempting to  create a session with a server that can be shared, and the server does not  allow or support shared sessions.   </p>
+KERN-EXEC 24=<p>  This panic is raised when writing global DLL data, and the length  of data to be written is greater than the space available.   </p>
+KERN-EXEC 25=<p>  This panic is raised when searching for objects, using the internal  function <code>TFindHandleBase::NextObject()</code>, and an invalid type of  object is specified; i.e. it is not a thread, process, chunk, mutex etc. etc.   </p>
+KERN-EXEC 26=<p>  This panic is raised by kernel side code that implements heap  debugging behaviour, when a specific debug request is not recognised.   </p>
+KERN-EXEC 27=<p>  This panic is raised when an executive call is made with an invalid  call number.   </p>
+KERN-EXEC 28=<p>  This panic is not used.   </p>
+KERN-EXEC 29=<p>  This panic is not used.   </p>
+KERN-EXEC 30=<p>  This panic is raised when an attempt is being made to send a  synchronous message to a server more than once, using the current thread's  dedicated synchronous message.   </p>
+KERN-EXEC 31=<p>  This panic is not used.   </p>
+KERN-EXEC 32=<p>  This panic is called by <code>DProcess::Resume()</code> when trying  to resume a process that is still being loaded.   </p>
+KERN-EXEC 33=<p>  This panic is raised in a call to  <code class="ApiItem">Kern::KUDesInfo()</code>, <code class="ApiItem">Kern::KUDesPut()</code>  etc, when an invalid descriptor is passed.   </p>
+KERN-EXEC 34=<p>  This panic is raised in a call to  <code class="ApiItem">Kern::KUDesSetLength()</code> &amp;  <code class="ApiItem">Kern::KUDesPut()</code> when the descriptor passed to it is not a  modifiable type; i.e. is derived from <span class="stripedlink"><code class="ApiItem">TDesC</code></span> but not  derived from <span class="stripedlink"><code class="ApiItem">TDes</code></span>.   </p>
+KERN-EXEC 35=<p>  This panic is raised in a call to  <code class="ApiItem">Kern::KUDesSetLength()</code> &amp;  <code class="ApiItem">Kern::KUDesPut()</code> when the length of the source descriptor  is longer than the maximum length of the target descriptor.   </p>
+KERN-EXEC 36=<p>  This panic is raised by the kernel side code that implements the  setting of the currency symbol when the length of the currency symbol is  greater than <span class="stripedlink"><code class="ApiItem">KMaxCurrencySymbol</code></span>.   </p>
+KERN-EXEC 37=<p>  This panic is raised by kernel code when it tries to acquire the  process DLL lock just before a load, and the wait DLL lock is invalid.   </p>
+KERN-EXEC 38=<p>  This panic is raised by internal kernel code when an illegal  attempt is made to attach to a library.   </p>
+KERN-EXEC 39=<p>  This panic is raised when extracting a list of DLL entry points,  and the number exceeds the maximum permitted.   </p>
+KERN-EXEC 40=<p>  This panic is raised by internal kernel code when an illegal  attempt is made to detach a library.   </p>
+KERN-EXEC 41=<p>  This panic is raised by internal kernel code when an illegal  attempt is made to attach to a library.   </p>
+KERN-EXEC 42=<p>  This panic is raised by internal kernel code when an illegal  attempt is made to detach a library.   </p>
+KERN-EXEC 43=<p>  This panic is raised by kernel code when it tries to release the  process DLL lock when a load fails, and the release DLL lock is invalid.   </p>
+KERN-EXEC 44=<p>  This panic is raised when a bad message handle is passed to the  kernel. This usually occurs when using functions called on the  <span class="stripedlink"><code class="ApiItem">RMessagePtr2</code></span> or <span class="stripedlink"><code class="ApiItem">RMessage2</code></span> classes  after the message has been completed; or when the <code>iHandle</code> data  member of the base class <span class="stripedlink"><code class="ApiItem">RHandleBase</code></span> has become corrupt.   </p>
+KERN-EXEC 45=<p>  This panic is not used.   </p>
+KERN-EXEC 46=<p>  This panic can be raised as a result of a call to one of a large  number of functions. In general, the panic indicates an attempt to perform an  operation on a thread or process by code running in another process - violating  the security principle of process isolation.   </p>  <p>  There are exceptions to this general rule, for example, where the  panic is raised because the calling process has insufficient capability. The  precise reason is stated with the function(s).   </p>  <ol>  <li>  <p>  The panic is raised on a call to the following function if the  process owning the thread performing the call is not the creator of the target  process or, if a handle is specified, the handle is not local.   </p>  <ul>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">RProcess::SetParameter()</code></span>  </p>  </li>  </ul>  </li>  <li>  <p>  The panic is raised on a call to the following functions if the  process owning the thread performing the call is not the same as the target  process.   </p>  <ul>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">RProcess::Kill()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">RProcess::Terminate()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">RProcess::Panic()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">RProcess::SetJustInTime()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">RProcess::Resume()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">RThread::Kill()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">RThread::Terminate()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">RThread::Panic()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">RThread::Suspend()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">RThread::Resume()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">RThread::SetPriority()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">RThread::RequestComplete()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">RThread::RequestSignal()</code></span>  </p>  </li>  </ul>  <p>  NOTE: the creator of a new process can kill or panic the new  process, change the new process priority and set the new process startup  parameters until the process is resumed (which the creator can also do). After  the new process has been resumed, then it becomes totally independent of its  creator, and any attempt to panic it, kill it etc will raise the KERN-EXEC 46  panic.   </p>  </li>  <li>  <p>  The panic is raised on call to the following (Symbian partner  only) functions if the calling process does not have the <em>PowerMgmt</em>  capability (<code class="ApiItem">TCapability::ECapabilityPowerMgmt</code>):   </p>  <ul>  <li>  <p>  <code class="ApiItem">Power::PowerDown()</code>  </p>  </li>  <li>  <p>  <code class="ApiItem">Power::EnableWakeupEvents()</code>  </p>  </li>  <li>  <p>  <code class="ApiItem">Power::DisableWakeupEvents()</code>  </p>  </li>  <li>  <p>  <code class="ApiItem">Power::RequestWakeupEventNotification()</code>  </p>  </li>  <li>  <p>  <code class="ApiItem">Power::CancelWakeupEventNotification()</code>  </p>  </li>  </ul>  </li>  <li>  <p>  The panic is raised on call to the following functions if the  calling process does not have the <em>WriteDeviceData</em> capability  (<code class="ApiItem">TCapability::ECapabilityWriteDeviceData</code>):   </p>  <ul>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">User::SetMachineConfiguration()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">User::SetHomeTime()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">User::SetUTCTime()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">User::SetUTCOffset()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">User::SetUTCTimeAndOffset()</code></span>  </p>  </li>  </ul>  </li>  <li>  <p>  The panic is raised on call to the following function if the  calling process does not have the <em>ReadDeviceData</em> capability  (<code class="ApiItem">TCapability::ECapabilityReadDeviceData</code>):   </p>  <ul>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">User::MachineConfiguration()</code></span>  </p>  </li>  </ul>  </li>  </ol>
+KERN-EXEC 47=<p>  This panic is raised when the user issues a request to be notified  of messages or the availability of space, when a request has already been  issued and is still outstanding.   </p>  <p>  See <span class="stripedlink"><code class="ApiItem">RMsgQueue</code></span>, asynchronous message queues.   </p>
+KERN-EXEC 48=<p>  This panic is raised when creating a message queue, and the size of  the template parameter is invalid.   </p>  <p>  See <span class="stripedlink"><code class="ApiItem">RMsgQueue</code></span>, asynchronous message queues.   </p>
+KERN-EXEC 49=<p>  This panic is raised when creating a message queue, and the  specified number of slots is not positive.   </p>  <p>  See <span class="stripedlink"><code class="ApiItem">RMsgQueue</code></span>, asynchronous message queues.   </p>
+KERN-EXEC 50=<p>  This panic is raised if an attempt is made to cancel an outstanding  request to be notified of messages or the availability of space, and the cancel  is being made by a thread in a different process to the one from which the  request was originally made.   </p>  <p>  See <span class="stripedlink"><code class="ApiItem">RMsgQueue</code></span>, asynchronous message queues.   </p>
+KERN-EXEC 51=<p>  This panic is raised by <code>RProcess::Setparameter()</code> if a  slot value is invalid.   </p>
+KERN-EXEC 52=<p>  This panic is raised by <code>RProcess::Setparameter()</code> if a  slot is in use.   </p>
+KERN-EXEC 53=<p>  This panic is raised by <code>RProcess::Setparameter()</code> if  the length of the data passed is negative.   </p>
+KERN-EXEC 54=<p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">RCondVar::Wait()</code></span> when  the current thread does not hold the specified mutex.   </p>
+KERN-EXEC 55=<p>  This panic is raised when a call is made to  <code>RThread::GetDesMaxLength()</code>, which is now obsolete.   </p>
+KERN-EXEC 56=<p>  This panic is raised on a process which has not yet been resumed,  and whose creator has died.   </p>
+KERN-EXEC 57=<p>  This panic is raised when a session receives a message to connect  to a server when the session is already connected to that server.   </p>
+KERN-EXEC 58=<p>  This panic is raised during an attempt to connect to a server. As  part of this process, a pointer to an instance of the  <span class="stripedlink"><code class="ApiItem">CSession2</code></span> derived class is saved in the instance of the  <span class="stripedlink"><code class="ApiItem">CServer2</code></span> derived class.   </p>  <p>  The panic is caused when the pointer to the session object is NULL.  </p>
+KERN-EXEC 59=<p>  This panic is raised during an attempt to connect to a server. As  part of this process, a pointer to an instance of the  <span class="stripedlink"><code class="ApiItem">CSession2</code></span> derived class is saved in the instance of the  <span class="stripedlink"><code class="ApiItem">CServer2</code></span> derived class.   </p>  <p>  This panic is caused when a pointer to the session has previously  been set.   </p>
+KERN-EXEC 60=<p>  This panic is raised during an attempt to connect to a server. As  part of this process, a pointer to an instance of the  <span class="stripedlink"><code class="ApiItem">CSession2</code></span> derived class is saved in the instance of the  <span class="stripedlink"><code class="ApiItem">CServer2</code></span> derived class.   </p>  <p>  This panic is caused when a pointer to a session is being set, and  the message is not the connect message.   </p>
+KERN 0=<p>  Not used.   </p>
+KERN 1=<p>  Not used.   </p>
+KERN 2=<p>  Not used.   </p>
+KERN 3=<p>  Not used.   </p>
+KERN 4=<p>  This fault is raised when a system thread has panicked or  terminated causing the entire system to re-boot.   </p>
+KERN 5=<p>  Not used.   </p>
+KERN 6=<p>  This fault is raised when adding a code segment, a  <code>DCodeSeg</code> object, to the dependency table of another code segment.   </p>  <p>  The fault occurs when the number of dependent code segments added  exceeds the maximum expected, suggesting some inconsistency.   </p>  <p>  <b>Note: </b><code>DCodeSeg</code> is internal to Symbian OS   </p>
+KERN 7=<p>  Not used.   </p>
+KERN 8=<p>  This fault is raised when the thread that deals with raw hardware  events, as generated by the hardware drivers of a pointer device, a keyboard  etc., has terminated. The thread is referred to as the thread event hook.   </p>  <p>  <b>Note:</b>  </p>  <ul>  <li>  <p>  The most common cause is the death of the window server  &quot;wserv&quot;.   </p>  </li>  <li>  <p>  Raw hardware events are represented by  <span class="stripedlink"><code class="ApiItem">TRawEvent</code></span> objects.   </p>  </li>  </ul>
+KERN 9=<p>  This fault is raised when an attempt to allocate the buffer that is  to contain raw hardware events (as represented by a set of  <span class="stripedlink"><code class="ApiItem">TRawEvent</code></span> objects), cannot be allocated.   </p>
+KERN 10=<p>  Not used.   </p>
+KERN 11=<p>  Not used.   </p>
+KERN 12=<p>  Not used.   </p>
+KERN 13=<p>  Not used.   </p>
+KERN 14=<p>  Not used.   </p>
+KERN 15=<p>  This fault is raised when a thread or process is panicked or  terminated when one of the following is true:   </p>  <ul>  <li>  <p>  the kernel is locked.   </p>  </li>  <li>  <p>  the current thread holds a fast mutex.   </p>  </li>  </ul>
+KERN 16=<p>  Not used.   </p>
+KERN 17=<p>  Not used.   </p>
+KERN 18=<p>  This fault is raised by internal functions, which as part of their  implementation, fetch a <code class="ApiItem">DObject</code> based on the object type,  a <code>TObjectType</code> type.   </p>  <p>  The fault occurs when the value representing the object type lies  outside the permitted values.   </p>  <p>  The fault can also be raised by  <code class="ApiItem">Kern::ObjectFromHandle()</code>.   </p>  <p>  <b>Note:</b>  <code class="ApiItem">TObjectType</code> is internal to  Symbian OS.   </p>
+KERN 19=<p>  This fault is raised by a kernel side session  (<code>DSession</code>) object's destructor if that session has not been  detached from the kernel side server (<code>DServer</code>) object by the time  the destructor is called.   </p>  <p>  <b>Note:</b>  <code>DSession</code> and <code>DServer</code>  are internal to Symbian OS.   </p>
+KERN 20=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  The fault is raised by <code>DSession::Send()</code> when an  ASSERT, that expects a message to be free, fails.   </p>  <p>  <b>Note:</b>  <code>DSession</code> is internal to Symbian OS.  </p>
+KERN 21=<p>  Not used.   </p>
+KERN 22=<p>  This fault is raised by a kernel side session  (<code>DSession</code>) object's destructor if there are still messages  outstanding on that session by the time the destructor is called.   </p>  <p>  <b>Note:</b>  <code>DSession</code> is internal to Symbian OS.  </p>
+KERN 23=<p>  Not used.   </p>
+KERN 24=<p>  This fault is raised by a kernel side server (<code>DServer</code>)  object's destructor if there are sessions still attached to that server by the  time the destructor is called.   </p>  <p>  <b>Note:</b>  <code>DServer</code> is internal to Symbian OS.   </p>
+KERN 25=<p>  This fault is raised by a kernel side server (<code>DServer</code>)  object's destructor if that server still has messages that have been delivered  but not yet accepted by the time the destructor is called.   </p>
+KERN 26=<p>  This fault is raised by a kernel side server (<code>DServer</code>)  object's <code>Close()</code> function if that server still has messages that  have been delivered but not yet accepted.   </p>
+KERN 27=<p>  This fault is raised by a kernel side session  (<code>DSession</code>) object when the server calls its  <code>ClosefromDisconnect()</code> function to indicate completion of the  disconnection, and the session object's access count is not zero.   </p>  <p>  <b>Note:</b>  <code>DSession</code> is internal to Symbian OS.  </p>
+KERN 28=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  This fault is raised when a message is being freed and the message  appears to belong to an unknown message pool.   </p>
+KERN 29=<p>  This fault is raised by a kernel side session  (<code>DSession</code>) object's destructor if there are still messages  outstanding on that session by the time the destructor is called.   </p>  <p>  <b>Note:</b>  <code>DSession</code> is internal to Symbian OS.  </p>
+KERN 30=<p>  Not used.   </p>
+KERN 31=<p>  Not used.   </p>
+KERN 32=<p>  Not used.   </p>
+KERN 33=<p>  Not used.   </p>
+KERN 34=<p>  Not used.   </p>
+KERN 35=<p>  Not used.   </p>
+KERN 36=<p>  Not used.   </p>
+KERN 37=<p>  Not used.   </p>
+KERN 38=<p>  Not used.   </p>
+KERN 39=<p>  Not used.   </p>
+KERN 40=<p>  Not used.   </p>
+KERN 41=<p>  This fault is raised when the DFC that is used to restart the  second absolute timer queue (<code>TSecondQ</code>) finds that the queue is not  locked.   </p>
+KERN 42=<p>  This fault is raised by the <code class="ApiItem">DLogicalChannel</code>  destructor if there are outstanding messages by the time the destructor is  called.   </p>
+KERN 43=<p>  This fault is raised by a kernel side session  (<code>DSession</code>) object's destructor if the object's access count and  the total client access count are not zero by the time the destructor is  called.   </p>  <p>  <b>Note:</b>  <code>DSession</code> is internal to Symbian OS.  </p>
+KERN 44=<p>  This fault is raised when the kernel heap is being created and the  specified initial size is less than or equal to the minimum value defined by  <span class="stripedlink"><code class="ApiItem">KMinHeapSize</code></span>.   </p>
+KERN 45=<p>  Not used.   </p>
+KERN 46=<p>  Not used.   </p>
+KERN 47=<p>  Not used.   </p>
+KERN 48=<p>  This fault is raised if creation of the machine configuration mutex  fails during initialisation of the RAM drive.   </p>
+KERN 49=<p>  This fault is raised if creation of a new chunk for the internal  RAM drive fails.   </p>
+KERN 50=<p>  This fault is raised if creation of the microkernel fails.   </p>
+KERN 51=<p>  This fault is raised if the 3rd phase initialisation of the kernel  fails.   </p>
+KERN 52=<p>  This fault is raised if the startup of kernel extensions fails.   </p>
+KERN 53=<p>  Not used.   </p>
+KERN 54=<p>  Not used.   </p>
+KERN 55=<p>  Not used.   </p>
+KERN 56=<p>  Not used.   </p>
+KERN 57=<p>  This fault is raised if initialisation of the RAM drive fails.   </p>
+KERN 58=<p>  Not used.   </p>
+KERN 59=<p>  Not used.   </p>
+KERN 60=<p>  Not used.   </p>
+KERN 61=<p>  Not used.   </p>
+KERN 62=<p>  Not used.   </p>
+KERN 63=<p>  This fault acts as a trap if a thread calls  <code class="ApiItem">NKern::ThreadKill()</code> to terminate itself, and the call to  that <code class="ApiItem">NKern::ThreadKill()</code>function returns. When a thread  calls on itself, the call should not return.   </p>
+KERN 64=<p>  This fault is raised if an attempt is made to set an invalid timer  type (<code>TTimer::SetType()</code>).   </p>  <p>  <b>Note:</b>  <code>TTimer</code> is internal to Symbian OS.   </p>
+KERN 65=<p>  The fault is raised when updating a tick timer queue, and the delta  value is greater than the maximum permitted.   </p>
+KERN 66=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  The fault is raised when setting the thread (<code>DThread</code>)  priority, and the priority value is not a valid value.   </p>  <p>  <b>Note:</b>  <code>DThread</code> is internal to Symbian OS.   </p>
+KERN 67=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  This fault is raised when a mutex (<code>DMutex</code>) is  signalled (<code>DMutex::Signal()</code>) by the wrong thread.   </p>  <p>  <b>Note:</b>  <code>DMutex</code> is internal to Symbian OS.   </p>
+KERN 68=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  This fault is raised when a mutex (<code>DMutex</code>) is  signalled (<code>DMutex::Signal()</code>) and the current thread  (<code>DThread</code>) is not ready to run.   </p>  <p>  <b>Note:</b>  <code>DMutex</code> and <code>DThread</code> are  internal to Symbian OS.   </p>
+KERN 69=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  This fault is raised when a wait is called on a mutex  (<code>DMutex::Wait()</code>), and the current thread (<code>DThread</code>) is  not ready to run.   </p>  <p>  <b>Note:</b>  <code>DMutex</code> and <code>DThread</code> are  internal to Symbian OS.   </p>
+KERN 70=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  This fault is raised when a wait is called on a mutex  (<code>DMutex::Wait()</code>), and the current thread (<code>DThread</code>) is  blocked, waiting on another object.   </p>  <p>  <b>Note:</b>  <code>DMutex</code> and <code>DThread</code> are  internal to Symbian OS.   </p>
+KERN 71=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  The fault is raised when a semaphore (<code>DSemaphore</code>) is  signalled and the current thread (<code>DThread</code>) is not ready to run.   </p>  <p>  <b>Note:</b>  <code>DSemaphore</code> and <code>DThread</code>  are internal to Symbian OS.   </p>
+KERN 72=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  The fault is raised when a wait is called on a semaphore  (<code>DSemaphore::Wait()</code>) and the current thread (<code>DThread</code>)  is not ready to run.   </p>  <p>  <b>Note:</b>  <code>DSemaphore</code> and <code>DThread</code>  are internal to Symbian OS.   </p>
+KERN 73=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  This fault is raised when a wait is called on a semaphore  (<code>DSemaphore::Wait()</code>), and the current thread  (<code>DThread</code>) is blocked, waiting on another object.   </p>  <p>  <b>Note:</b>  <code>DSemaphore</code> and <code>DThread</code>  are internal to Symbian OS.   </p>
+KERN 74=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  This fault is raised during kernel heap manipulation.   </p>
+KERN 75=<p>  This fault is raised by the <code>DLibrary</code> destructor if the  number of user references on the library, which is equal to the number of  handles on the library opened by the process or by any of its threads, is not  zero.   </p>  <p>  <b>Note:</b>  <code>DLibrary</code> is internal to Symbian OS.  </p>
+KERN 76=<p>  This fault is raised by <code>DProcess::Release()</code> if the  number of dynamically loaded code segments attached to this process is not  zero.   </p>  <p>  <b>Note:</b> the code segments referred to are only those  corresponding to DLLs that have been explicitly loaded.   </p>  <p>  <b>Note:</b>  <code>DProcess</code> is internal to Symbian OS.  </p>
+KERN 77=<p>  This fault is raised during the creation of a code segment if a  process data address is invalid.   </p>
+KERN 78=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  This fault is raised when attaching a process to a code segment  (<code>DCodeSeg::SetAttachProcess()</code>).   </p>  <p>  The fault occurs if the code segment's <code>iExeCodeSeg</code>  field already points to some process's EXE code segment.   </p>  <p>  <b>Note:</b>  <code>DCodeSeg</code> and <code>DProcess</code>  are internal to Symbian OS.   </p>
+KERN 79=<p>  This fault is raised when attaching a process to a code segment  (<code>DCodeSeg::SetAttachProcess()</code>).   </p>  <p>  The fault occurs if a process (<code>DProcess</code>) has already  been attached to this code segment.   </p>  <p>  <b>Note:</b>  <code>DCodeSeg</code> and <code>DProcess</code>  are internal to Symbian OS.   </p>
+KERN 80=<p>  This fault is raised when an essential system thread terminates.  Such a thread is flagged as being permanent  (<code>KThreadFlagSystemPermanent</code>).   </p>
+KERN 81=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  This fault is raised if creation of the just-in-time handler  (<code>DJitCrashHandler</code>) fails during the third phase of system  initialisation (<code class="ApiItem">Asic::Init3()</code>).   </p>  <p>  <b>Note:</b>  <code>DJitCrashHandler</code> is internal to  Symbian OS.   </p>
+KERN 82=<p>  Not used.   </p>
+KERN 83=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  This fault is raised by <code class="ApiItem">Kern::ProcessFromId()</code>  if the process container mutex is not held by the current thread.   </p>
+KERN 84=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  This fault is raised by <code class="ApiItem">Kern::ThreadFromId()</code>  if the thread container mutex is not held by the current thread.   </p>
+KERN 85=<p>  Not used.   </p>
+KERN 86=<p>  Not used.   </p>
+KERN 87=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  This fault is raised when an access-counted event handler callback  object, <code class="ApiItem">DKernelEventHandler</code>, is created with a NULL  <code class="ApiItem">TCallback</code> object.   </p>
+KERN 88=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  This fault is raised if attempting to wait on a mutex  (<code>DMutex::Wait()</code>) that has been created with an order value that  violates the rules that prevent deadlock prevention.   </p>
+KERN 89=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  This fault is raised when waiting on a condition variable object  (<code>DCondVar</code>) if the current thread is not ready to run.   </p>  <p>  <b>Note:</b>  <code>DCondVar</code> is internal to Symbian OS.  </p>
+KERN 90=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  This fault is raised when waiting on a condition variable object  (<code>DCondVar</code>) if the current (Nanokernel) thread is not in a  recognised state.   </p>  <p>  <b>Note:</b>  <code>DCondVar</code> is internal to Symbian OS.  </p>
+KERN 91=<p>  <em>This fault is raised in debug builds only.</em>  </p>  <p>  This fault is raised when waiting on a condition variable object  (<code>DCondVar</code>) if the current (Symbian OS) thread is not in a  recognised state.   </p>  <p>  <b>Note:</b>  <code>DCondVar</code> is internal to Symbian OS.  </p>
+KERN 92=<p>  This fault is raised when attempting to unblock a thread in a call  to <code>DCondVar::UnBlockThread()</code> if the thread state indicates that it  is not suspended waiting on the <code>DCondVar</code> object.   </p>
+KERN 93=<p>  Not used.   </p>
+KERN 94=<p>  This fault is raised in a call to  <code class="ApiItem">Kern::ThreadKill()</code> if an attempt is being made to kill a  non-user thread that is also not the currently running thread.   </p>
+MATHX 0=<p>This panic is raised by <code>operator/=</code> of a <span class="stripedlink"><code class="ApiItem">TRealX</code></span>, when the divisor is zero</p>
+MATHX 1=<p>This panic is raised by <code>operator+=</code>, <code>operator-=</code> and <code>operator*=</code> of a <span class="stripedlink"><code class="ApiItem">TRealX</code></span>, when the the  result of the operation is an overflow.</p>
+MATHX 2=<p>This panic is raised by <code>operator+=</code>, <code>operator-=</code> and <code>operator*=</code> of a <span class="stripedlink"><code class="ApiItem">TRealX</code></span>, when the the  result of the operation is an underflow.</p>
+MATHX 3=<p>This panic is raised by <code>operator+=</code>, <code>operator-=</code> and <code>operator*=</code> of a <span class="stripedlink"><code class="ApiItem">TRealX</code></span>, when the the  operands are invalid.</p><p>For <code>operator+=</code>, the panic is raised if one of these conditions applies:</p><ul><li><p>  the target operand is not a number   </p></li><li><p>the source operand is not a number</p></li><li><p>the target and the source operands are infinite and have different signs.</p></li></ul><p>   For <code>operator-=</code>, the panic is raised if one of these conditions applies:</p>  <ul><li><p>the target operand is not a number </p></li><li><p>the source operand is not a number</p></li><li><p>the target and the source operands are infinite and have different signs</p></li></ul><p>For <code>operator*=</code>, the panic is raised if one of these conditions applies:</p><ul><li><p>the target operand is not a number </p></li><li><p>the source operand is not a number </p></li><li><p>the target operand is infinite and the source operand is zero </p></li><li><p>the target operand is zero and the source operand is infinite.</p></li></ul><p>For <code>operator/=</code>, the panic is raised if one of these conditions applies:</p><ul><li><p>the target operand is not a number</p></li><li><p>the source operand is not a number</p></li><li><p>the target operand and the source operand are both infinite</p></li><li><p>the target operand and the source operand are both zero.</p></li></ul>
+MATHX 4=<p>This panic is raised by a number of operations on <span class="stripedlink"><code class="ApiItem">TReal64</code></span> and <span class="stripedlink"><code class="ApiItem">TReal32</code></span> types when they complete with  an error code other than: <code>KErrArgument</code>, <code>KErrDivideByZero</code>, <code>KErrOverflow</code> or  <code>KErrUnderflow</code>.</p>
+MSGS Client 1=<p>Unsupported asynchronous request made to Message Server</p>
+MSGS Client 2=<p>Session event notification request repeated by client</p>
+MSGS Client 3=<p>Failed to write data into asynchronous call descriptor to be passed back to client</p>
+MSGS Client 4=<p>Failed to read data from asynchronous call descriptor passed from client</p>
+MSGS Client 5=<p>Client requested Message Server to create or modify an entry with invalid data</p>
+MSGS Client 7=<p>Message Server session ended while a message store is still locked</p>
+MSGS Client 8=<p>Message Server session ended with outstanding requests</p>
+MSGS Client 9=<p>Client requested Message Server to release message store that was not locked</p>
+MSGS Client 10=<p>Client requested Message Server to delete empty entry selection</p>
+MSGS Client 11=<p>Client requested Message Server to pop remote entry from session cleanup stack</p>
+MSGS Client 12=<p>Progress information exceeded maximum 256-character length</p>
+MSGS Client 13=<p>Client requested Message Server to move an empty selection of entries</p>
+MSGS Client 14=<p>Client requested Message Server to copy an empty selection of entries</p>
+MSGS 11=<p>Parent of context could not be found</p>
+MSGS 12=<p>Parent of context could not be found</p>
+MSGS 13=<p>Parent of context could not be found</p>
+MSGS 14=<p>Parent of context could not be found</p>
+MSGS 15=<p>Parent of context could not be found</p>
+MSGS 16=<p>Parent of context could not be found</p>
+MSGS 17=<p>Parent of context could not be found</p>
+MSGS 18=<p>Parent of context could not be found</p>
+MSGS 19=<p>Specified entry was not a child of the parent</p>
+MSGS 20=<p>Specified entry was not a child of the parent</p>
+MSGS 35=<p><code>CMsvServerEntry::DeleteEntry()</code> called on current context</p>
+MSGS 36=<p><code>CMsvServerEntry</code> update index request failed as ID specified is not the same as the context ID</p>
+MSGS 66=<p>Invalid <code>TMsvEntry</code> provided in <code>CMsvServerEntry</code> change function</p>
+MSGS 94=<p><code>CMsvServerEntry::EditStoreL()</code> called with associated message store already open</p>
+MSGS 95=<p><code>CMsvServerEntry::ReadStoreL()</code> called with associated message store already open</p>
+MSGS 96=<p><code>CMsvServerEntry</code> destroyed while associated message store was left open</p>
+MSGS 97=<p><code>CMsvServerEntry</code> object notified of unknown message store event type</p>
+MSGS 98=<p><code>CMsvServerEntry</code> object notified of event relating to unknown message store </p>
+MSGS 99=<p>New <code>CMsvServerEntry</code> context request failed as the contexts store is still open</p>
+MSGS 109=<p><code>CMsvServerEntry</code> context cannot be changed as it has been deleted</p>
+MSGS 120=<p><code>CMsvServerEntry</code> move  function failed as the destination is the current parent</p>
+MSGS 146=<p><code>CMsvServerEntry</code> request failed as no context has been set for the object</p>
+MSGS 175=<p><code>CMsvServerEntry::MoveEntry()/MoveEntryWithinService()</code> failed as the destination belongs to a different service that the source</p>
+MSGS 176=<p><code>CMsvServerEntry</code> request called with an asynchronous move function is already being carried out on the context</p>
+MSGS 177=<p><code>CMsvServerEntry::MoveEntryL()</code> called with an asynchronous move function already being carried out on the context</p>
+MSGS 178=<p><code>CMsvServerEntry</code>  <code>::MoveEntryCompleted()</code> called with no move completed</p>
+MSGS 179=<p>Target of <code>CMsvServerEntry::MoveEntryL()</code> is the current context</p>
+MSGS 180=<p><code>CMsvServerEntry</code>  <code>::CancelMoveEntry()</code> called with no move begun</p>
+MSGS 181=<p><code>CMsvServerEntry</code> destroyed while asynchronous move operation was in progress</p>
+MSGS 194=<p><code>CMtmDllInfo::SetHumanReadableNameL()</code> called with name longer than 50 characters</p>
+MSGS 195=<p><code>CRegisteredMtmDll</code> object destroyed while MTM DLL is still in use</p>
+MSGS 196=<p><code>CRegisteredMtmDll</code> object released with no instances in use</p>
+MSGS 197=<p><code>CRegisteredMtmDll</code> load library call made while MTM DLL is still in use</p>
+MSGS 198=<p><code>CMtmDllRegistry::MtmTypeUid()</code> an out-of-range index value</p>
+MSGS 199=<p><code>CMtmDllRegistry::IsInUse()</code> specified a non-registered MTM</p>
+MSGS 200=<p>MTM registered with type UID of existing MTM</p>
+MSGS 203=<p>Request to sort entries by unknown priority</p>
+MSGS 209=<p>Registration data for a single MTM component has incorrect value for UID2</p>
+MSGS 210=<p>Request to sort entries by unknown MTM</p>
+MSGS 211=<p>Error in constructed MTM list for sorting</p>
+MSGS 223=<p>ID specified in new index entry is not the same as the context ID in <code>CMsvEntry</code> change context</p>
+MSGS 227=<p><code>CMsvSession</code>  <code>::RemoveObserver()</code> was called for a non-registered observer</p>
+MSGS 228=<p>Client attempted to remove an entry observer  that was not a registered observer</p>
+MSGS 234=<p>Attempted to remove a session observer while no session observer exists</p>
+MSGS 235=<p>No context for <code>CMsvEntry</code></p>
+MSGS 236=<p><code>CMsvEntry</code> children already sorted</p>
+MSGS 237=<p><code>CMsvEntry</code> encountered deletion of an entry not listed as a  child</p>
+MSGS 239=<p><code>CMsvEntry</code> context cannot be used, as it is being changed</p>
+MSGS 240=<p>A context <code>CMsvEntry</code> change operation is already taking place</p>
+MSGS 241=<p>Selection passed to <code>CMsvEntry::DeleteL()</code> contains entries with different MTM or service properties</p>
+MSGS 242=<p><code>CMsvEntry::ChildrenWithTypeL()</code> was called with an unknown type</p>
+MSGS 244=<p>Selection was specified in <code>CMsvEntry</code> move, but MTM type or service fields are inconsistent among the entries</p>
+MSGS 245=<p>Selection was specified in <code>CMsvEntry</code> copy, but MTM type or service fields are inconsistent among the entries</p>
+MSGS 249=<p><code>CMsvEntry::CreateL()</code> called with invalid <code>TMsvEntry</code>  </p>
+MSGS 250=<p><code>CMsvEntry::ChangeL()</code> called with invalid <code>TMsvEntry</code>  </p>
+MSGS 251=<p><code>CMsvEntry</code> object destroyed with associated message store left open</p>
+MSGS 258=<p>Empty selection passed to <code>CMsvEntry::DeleteL()</code></p>
+MSGS 259=<p><code>CMsvEntry::SetEntryL()</code> called with associated message store left open</p>
+MSGS 260=<p><code>CMsvEntry::MoveL()</code> called with move target set to the present parent</p>
+MSGS 261=<p>Client attempts to open already open message store through <code>CMsvEntry</code></p>
+MSGS 262=<p><code>CMsvSession</code> object destroyed with entries still on the session cleanup stack</p>
+MSGS 265=<p>Entry passed to<code> CMsvEntry::DeleteL()</code> has different owning service than parent</p>
+MSGS 266=<p>Entry passed to<code> CMsvEntry::MoveL()</code> has different owning service than parent</p>
+MSGS 267=<p>Entry passed to<code> CMsvEntry::CopyL()</code> has different owning service than parent</p>
+MSGS 268=<p><code>CMsvEntry</code> notified of new child with different owning service than context</p>
+MSGS 269=<p><code>CMsvEntry</code> notified of entry deletion with different owning service than context</p>
+MSGS 270=<p><code>CMsvEntry</code> notified of message store modification with different owning service than context</p>
+MSGS 271=<p><code>CMsvEntry</code> notified of entry modification with different owning service than context</p>
+MSGS 273=<p>The Message Server has completed an asynchronous request with an error</p>
+MSGS 275=<p><code>CBaseMtm::StoreBodyL()</code> or <code>CBaseMtm::RestoreBodyL()</code> called with no context set</p>
+MSGS 279=<p>Entry ID of <code>CBaseMtm</code> context changed</p>
+MSGS 280=<p>MTM data was not found in MTM data file on installation</p>
+MSGS 281=<p>Copy or move already in progress for <code>CMsvServerEntry</code></p>
+MSGS 282=<p><code>CMsvServerEntry::Cancel()</code> called when no asynchronous operation is in progress</p>
+MSGS 283=<p>Error reading file system</p>
+MSGS 284=<p>Unknown error in  <code>CMsvServerEntry::HasDirectory()</code></p>
+MSGS 285=<p><code>CMsvOperation::FinalProgress()</code> was called when the operation was not complete</p>
+MSGS 286=<p><code>CMsvOperation::FinalProgress()</code> called an operation's <code>ProgressL()</code> function that left</p>
+MSGS 287=<p>Error reading file system</p>
+MSGS 294=<p>The synchronous version of <code>CMsvEntry::CreateL()</code>, <code>CMsvEntry::ChangeL()</code>, or <code>CMsvEntry::DeleteL()</code> was called for a non-local context</p>
+MSGS 296=<p>A <code>CMsvServerEntry</code> delete function was called with an empty selection</p>
+MSGS 299=<p>Target of a <code>CMsvServerEntry::CopyEntriesL()</code> call was the current context</p>
+MSGS 300=<p><code>CMsvServerEntry::CopyEntriesL()</code> called when a copy is already in progress</p>
+MTMUI Data 1=<p>Inconsistent start/end and zoom parameters passed to <code>CBaseMtmUiData::CreateBitmapsL()</code></p>
+MTMUI Data 4=<p>Multiple location flags set in <code>TMtmUiFunction::aFlags</code></p>
+MTUI 0=<p>Empty selection passed to <code>CBaseMtmUi</code> move, copy, or delete function</p>
+MTUI 2=<p>Target of <code>CBaseMtmUi</code> move or copy function was not service or folder</p>
+MTUI 4=<p><code>CBaseMtmUi::DeleteServiceL()</code> called for non-service entry</p>
+PLAT (generic Kernel) 0=<p>This panic is raised at system startup time if the secondary process cannot be created.</p>
+PLAT (generic Kernel) 2=<p>This panic is raised when a semaphore, a <code>DPlatSemaphore</code>, is  created and a negative count value is passed to the member function creating it.</p>
+PLAT (generic Kernel) 3=<p>This panic is raised when a semaphore, a <code>DPlatSemaphore</code>, is  signalled and the count value, if specified, is negative.</p>
+PLAT (generic Kernel) 6=<p>This panic is raised when fetching the home address of a specified address relative to the thread's process and  the specified address is invalid.</p>
+PLAT (generic Kernel) 7=<p>These panics are raised when an illegal attempt is made to kill a thread, a <code>DPlatThread</code>; the thread may already be dead or its status may be unknown.</p>
+PLAT (generic Kernel) 8=<p>These panics are raised when an illegal attempt is made to kill a thread, a <code>DPlatThread</code>; the thread may already be dead or its status may be unknown.</p>
+PLAT (generic Kernel) 9=<p>These panics are raised when an illegal attempt is made to kill a thread, a <code>DPlatThread</code>; the thread may already be dead or its status may be unknown.</p>
+PLAT (generic Kernel) 12=<p>           This panic is raised when an attempt is made to resume the first thread in a process, a <code>DPlatProcess</code>, when that process has not been loaded.</p>
+PLAT (generic Kernel) 15=<p>This panic is raised when looking up a function by ordinal in a library, a <code>DPlatLibrary</code>. The panic occurs when the specified ordinal number is zero or negative.</p>
+PLAT (generic Kernel) 16=<p>This panic is raised because of a failure in the initialization of the Hardware Abstraction Layer (the HAL);  specifically, the startup reason is not recognized.</p>
+PLAT (generic Kernel) 17=<p>This panic is raised because of a failure in the initialization of the Hardware Abstraction Layer (the HAL);  specifically, the keyboard could not be initialized.</p>
+PLAT (generic Kernel) 18=<p>           This panic is raised because of a failure in the initialization of the Hardware Abstraction Layer (the HAL);  specifically, the x-y input device could not be initialized.</p>
+PLAT (generic Kernel) 19=<p>These panics are raised by failures during system startup.</p>
+PLAT (generic Kernel) 20=<p>These panics are raised by failures during system startup.</p>
+PLAT (generic Kernel) 21=<p>These panics are raised by failures during system startup.</p>
+PLAT (generic Kernel) 22=<p>This panic is raised when a failure occurs in dispatching an exception.</p>
+PLAT (generic Kernel) 64=<p>This panic is raised when an attempt is made to create a hardware chunk when that chunk has already been  created.</p>
+PLAT (generic Kernel) 80=<p>This panic is raised when a Kernel fixed heap is being created and the specified maximum length is negative.</p>
+PLAT (generic Kernel) 81=<p>This panic is raised when the Kernel attempts to mutate a fixed heap into a chunk heap and the specified  minimum length is different from the current minimum length.</p>
+PLAT (generic Kernel) 83=<p><em>This panic is raised in debug builds only.</em></p><p>  This panic is raised by the millisecond timer when a call back has already been queued.</p>
+PLAT (generic Kernel) 87=<p><em>This panic is raised in debug builds only.</em></p><p>This panic is raised during debugging when handling an exception via <code>Debug::HandleException</code> and a  write operation to the remote thread running the monitor program fails.</p>
+PLAT (generic Kernel) 88=<p>This panic is raised when setting up the context for a newly created thread and the specified thread type, which  defines the context, is not recognized.</p>
+PLAT (generic Kernel) 90=<p>This panic is raised if there is no screen-switch-on handler.</p>
+PLAT (generic Kernel) 91=<p>This panic is raised if a system thread has been panicked.</p>
+PLAT (generic Kernel) 92=<p>This panic is raised when an attempt is made to move a fixed address chunk.</p>
+PLAT (generic Kernel) 93=<p>These panics are raised during initialization of the MMU if creation of various components fails; for example,  the domain allocator or the page table linear allocator.</p>
+PLAT (generic Kernel) 94=<p>These panics are raised during initialization of the MMU if creation of various components fails; for example,  the domain allocator or the page table linear allocator.</p>
+PLAT (generic Kernel) 95=<p>These panics are raised during initialization of the MMU if creation of various components fails; for example,  the domain allocator or the page table linear allocator.</p>
+PLAT (generic Kernel) 96=<p>These panics are raised during initialization of the MMU if creation of various components fails; for example,  the domain allocator or the page table linear allocator.</p>
+PLAT (generic Kernel) 97=<p>These panics are raised during initialization of the MMU if creation of various components fails; for example,  the domain allocator or the page table linear allocator.</p>
+PLAT (generic Kernel) 98=<p>These panics are raised during initialization of the MMU if creation of various components fails; for example,  the domain allocator or the page table linear allocator.</p>
+PLAT (generic Kernel) 99=<p>These panics are raised during initialization of the MMU if creation of various components fails; for example,  the domain allocator or the page table linear allocator.</p>
+PLAT (emulator) 0=<p>These panics are raised when a failure occurs running any DLL attach process calls which have been  registered during startup.</p>
+PLAT (emulator) 1=<p>These panics are raised when a failure occurs running any DLL attach process calls which have been  registered during startup.</p>
+PLAT (emulator) 2=<p>This panic is raised when registering a thread callback.</p>
+PLAT (emulator) 3=<p>This panic is raised if a failure occurs in loading <code class="filename">EKERN.EXE</code></p>
+PLAT (emulator) 4=<p>This panic is raised if any of the <code>_E32Initialise()</code>, <code>_E32DeInitialise()</code> or  <code>_E32ExitProcess()</code> Kernel functions cannot be found.</p>
+PLAT (emulator) 5=<p>This panic is raised if a leave occurs and there is no trap harness.</p>
+Send 1=<p>Out of range index passed to <code>CSendAs::SetMtmL()</code> or CSendAs::SetService()</p>
+Send 2=<p>Internal discrepancy in MTM array</p>
+Send 3=<p>Asked to create zero-length MTM array</p>
+Send 4=<p><code>CSendAs::SetMtmL()</code> called when a message has already been created</p>
+Send 5=<p>Asked to create zero-length service array</p>
+Send 6=<p>MTM not chosen when <code>CSendAs::CreateMessageL()</code> called</p>
+Send 7=<p>Message not saved when <code>CSendAs::AbandonMessage()</code> called</p>
+Send 8=<p>Message not created when <code>CSendAs::SaveMessageL()</code> called</p>
+Send 9=<p><code>CSendAs::RecipientList()</code>, <code>CSendAs::RemoveRecipient()</code>, or <code>CSendAs::AddRecipientL()</code> called without message being saved or created</p>
+Send 10=<p><code>CSendAs::SetSubjectL()</code> called without message being saved or created</p>
+Send 11=<p><code>CSendAs::SetBodyL()</code> or <code>CSendAs::ValidateMessage()</code> called without message being saved or created</p>
+Send 12=<p><code>CSendAs</code> active without asynchronous rendering being called</p>
+Send 13=<p><code>CSendAs</code> cancelled without asynchronous rendering being called</p>
+smlController 0=<p>Invalid parameter.</p>  <p>This panic is raised if there is an attempt to pass an invalid  parameter to a SyncML function. </p>  <p>See <code class="ApiItem">CSmlTask::SetNameL()</code>,  <code class="ApiItem">CSmlProfile::AddTaskL()</code>,  <code class="ApiItem">CSmlProfile::SetProfileNameL()</code>.</p>
+smlController 1=<p>Incomplete data.</p>  <p>This panic is raised if there is a attempt to use a parameter  which contains incomplete data.</p>  <p>See <code class="ApiItem">CSmlProfile::AddTaskL()</code>,  <code class="ApiItem">CSmlController::CreateProfileL()</code>.</p>
+smlController 2=<p>Null task member.</p>  <p>This panic is raised if there is an attempt to externalise a  Task object which has not been completely defined.</p>
+smlController 3=<p>Task member not NULL.</p>  <p>This panic is raised if there is an attempt to internalise Task  information into a <code>CSmlTask</code> object which is not NULL.</p>
+smlController 4=<p>Null task identifier.</p>  <p>This panic is raised if there is an attempt to get a task's  identifier, when this has not previously been set.</p>  <p>See <code class="ApiItem">CSmlTask::Identifier()</code>.</p>
+smlController 5=<p>Null task provider.</p>  <p>This panic is raised there is an attempt to get a task's  content provider information, when this has not previously been set.</p>  <p>See <code class="ApiItem">CSmlTask::Provider()</code>.</p>
+smlController 6=<p>Null task target.</p>  <p>This panic is raised if there is an attempt to get a task's  target database, when this has not previously been set.</p>  <p>See <code class="ApiItem">CSmlTask::Target()</code>.</p>
+smlController 7=<p>Null task source.</p>  <p>This panic is raised if there is an attempt to get a task's  source database, when this has not previously been set.</p>  <p>See <code class="ApiItem">CSmlTask::Source()</code>. </p>
+smlController 8=<p>Null profile member.</p>  <p>This panic is raised if there is an attempt to externalise a  Profile object which has not been completely defined.</p>
+smlController 9=<p>Profile member not NULL.</p>  <p>This panic is raised if there is an attempt to internalise  Profile information into a profile object which is not NULL.</p>
+smlController 10=<p>Task list not empty.</p>  <p>This panic is raised if there is an attempt to internalise Task  list information into a profile object which is not empty.</p>
+smlController 11=<p>Null profile identifier.</p>  <p>This panic is raised if there is an attempt to get a profile's  identifier value, when this has not previously been set.</p>  <p>See <code class="ApiItem">CSmlProfile::Identifier()</code>.</p>
+smlController 12=<p>Null profile authorisation type.</p>  <p>This panic is raised if there is an attempt to get a profile's  authorisation type value, when this has not previously been set.</p>
+smlController 13=<p>Null profile protocol.</p>  <p>This panic is raised if there is an attempt to get a profile's  protocol information, when this has not previously been set.</p>  <p>See <code class="ApiItem">CSmlProfile::Protocol()</code>.</p>
+smlController 14=<p>Null Content provider.</p>  <p>This panic is raised if there is an attempt to get a profile's  Content provider information, when this has not previously been set.</p>  <p>See <code class="ApiItem">CSmlProfile::AddTaskL()</code></p>
+smlController 15=<p>Invalid Protocol.</p>  <p>This panic is raised if there is an attempt to get a profile's  transport protocol information, when the protocol does not  exist.</p>
+smlController 16=<p>Null Controller member.</p>  <p>This panic is raised if there is an attempt to use one of the  controller's members if it has not been initialised.</p>
+smlController 17=<p>Controller Member Not Null.</p>  <p>This panic is raised if there is an attempt to use one of the  controller members that should be null, e.g. at the start of the  sync.</p>
+smlController 18=<p>Invalid Profile</p>  <p>This panic is raised when trying to retrieve a profile that  does not exist.</p>
+Agenda  model 0=<p>The agenda model is in a state inconsistent with an action being  requested of it. </p>
+Agenda  model 1=<p>An entry contains bad or conflicting data.</p>
+Agenda  model 2=<p>A to-do list contains bad or conflicting  data.</p>
+Agenda  model 3=<p>The to-do defaults contain bad or conflicting  data.</p>
+Agenda  model 4=<p>An agenda entry does not contain any rich  text.</p>
+Agenda  model 5=<p>An agenda date/time has a NULL value.</p>
+Agenda  model 6=<p>Attempted to cast a <code>CAgnEntry</code> to a  <code>CAgnAppt</code> when the entry's type is not  <code>EAppt</code>.</p>
+Agenda  model 7=<p>Attempted to cast a <code>CAgnEntry</code> to a  <code>CAgnEvent</code> when the entry's type is not <code>EEvent</code> or  <code>EAnniv</code>.</p>
+Agenda  model 8=<p>Attempted to cast a <code>CAgnEntry</code> to a  <code>CAgnAnniv</code> when the entry's type is not  <code>EAnniv</code>.</p>
+Agenda  model 9=<p>Attempted to cast a <code>CAgnEntry</code> to a  <code>CAgnTodo</code> when the entry's type is not  <code>ETodo</code>.</p>
+Agenda  model 10=<p>Attempted to set a date outside of the valid agenda model date  range.</p>
+Agenda  model 11=<p>Attempted to access an array element outside the array  bounds.</p>
+Agenda  model 12=<p>Null pointer specified.</p>
+Agenda  model 13=<p>Attempted to delete an agenda item that wasn't  found.</p>
+Agenda  model 14=<p>The iterator has been assigned a null index.</p>
+Agenda  model 15=<p>The iterator is out of range.</p>
+Agenda  model 16=<p>The entry has a null time.</p>
+Agenda  model 17=<p>A parameter with a null date value was  specified.</p>
+Agenda  model 18=<p>All instances of a repeating entry are  exceptions.</p>
+Agenda  model 19=<p>Tried to fetch an instance that couldn't be generated from the  repeat details.</p>
+Agenda  model 20=<p>An error has occurred in the entry cluster management. i.e. when  storing the buffer there are more entries in it than the allowable  maximum.</p>
+Agenda  model 21=<p>Performed an operation on an entry that has been marked as  deleted.</p>
+Agenda  model 22=<p>Sort entry not found in index.</p>
+Agenda  model 23=<p>Requested an index that doesn't exist.</p>
+Agenda  model 24=<p>The stream from which an entry originates is different from the  stream to which it is being updated/deleted.</p>
+Agenda  model 25=<p>Called  <code>CAgnAlarm::RequestServerTerminationNotification()</code> more than  once.</p>
+Agenda  model 26=<p>Called  <code>CAgnAlarm::RequestServerTerminationNotification()</code> with a callback  set.</p>
+Agenda  model 27=<p>Agenda model filter priority is invalid.</p>
+Agenda  model 28=<p>Agenda model filter maximum priority has not been  set.</p>
+Agenda  model 29=<p>Crossed out entries are not included in tidy  filter.</p>
+Agenda  model 30=<p>Called an unsupported function.</p>
+TCPIP 0=<p>Function is not supported</p>
+TCPIP 1=<p>Unused</p>
+TCPIP 2=<p>Unused</p>
+TCPIP 3=<p>Unused</p>
+TCPIP 4=<p>Server requested received data that protocol does not have</p>
+TCPIP 5=<p>Impossible binding request, such as bind to itself</p>
+TCPIP 6=<p>Unused</p>
+TCPIP 7=<p>Internal NULL buffer error</p>
+TCPIP 8=<p>Protocol closedown error</p>
+TCPIP 9=<p>Unused</p>
+TCPIP 10=<p>Unused</p>
+TCPIP 11=<p>Unused</p>
+TCPIP 12=<p>Open requested on already open socket</p>
+TCPIP 13=<p>Internal timer error</p>
+TCPIP 14=<p>Unused</p>
+TCPIP 15=<p>Unused</p>
+TCPIP 16=<p>Invalid netmask address supplied</p>
+TCPIP 17=<p>Internal NULL pointer error</p>
+TCPIP 18=<p>ICMP protocol could not be loaded</p>
+TCPIP 19=<p>Internal protocol closedown error</p>
+TCPIP 20=<p>Internal error in urgent data handling </p>
+TCPIP 21=<p>Internal error in DNS record handling</p>
+TCPIP 22=<p>Internal error in DNS record handling</p>
+TCPIP 23=<p>Internal error in DNS record handling</p>
+UI Graphics 0=<p>A resource null pointer.</p>
+UI Graphics 1=<p>Resource specified has an invalid number type.</p>
+UI Graphics 2=<p>A null pointer.</p>
+UI Graphics 3=<p>The logical color was not found.</p>
+UI Graphics 4=<p>The logical color already exists.</p>
+UI Graphics 5=<p>Invalid color range specified.</p>
+UI Graphics 6=<p>The application color array was not found.</p>
+UI Graphics 7=<p>Null TLS (thread-local storage).</p>
+Telephony 0=<p>A client has attempted to re-post an asynchronous request before the original request has completed</p>
+ImageConversion 0=<p>  No source bitmap.   </p>
+ImageConversion 1=<p>  No destination bitmap.   </p>
+ImageConversion 2=<p>  Reset destination bitmap.   </p>
+ImageConversion 3=<p>  Convert called while busy.   </p>
+ImageConversion 4=<p>  No conversion currently in progress.   </p>
+ImageConversion 5=<p>  Different destination bitmap.   </p>
+ImageConversion 6=<p>  Different destination bitmap mask.   </p>
+ImageConversion 7=<p>  The destination has been illegally modified.   </p>
+ImageConversion 8=<p>  The bitmap has zero dimensions.   </p>
+ImageConversion 9=<p>  No bitmap mask specified.   </p>
+ImageConversion 10=<p>  Invalid frame number.   </p>
+ImageConversion 11=<p>  The source type is undefined.   </p>
+ImageConversion 12=<p>  Comment are not supported.   </p>
+ImageConversion 13=<p>  Header processing is not complete.   </p>
+ImageConversion 14=<p>  Comment number is out of range.   </p>
+ImageConversion 15=<p>  Bad display mode.   </p>
+ImageConversion 16=<p>  Unknown header state.   </p>
+ImageConversion 17=<p>  The descriptor that was passed is not NULL.   </p>
+ImageConversion 18=<p>  Undefined MIME type.   </p>
+ImageConversion 19=<p>  Illegal image sub-type.   </p>
+ImageConversion 20=<p>  Illegal image type.   </p>
+ImageConversion 21=<p>  Illegal encoder restart.   </p>
+ImageConversion 22=<p>  Attempt to change options while decoding in progress.   </p>
+ImageConversion 23=<p>  Decoder not created.   </p>
+ImageConversion 24=<p>  Feature is not yet implemented.   </p>
+ImageConversion 25=<p>  Relay sub thread panic timeout.   </p>
+ImageConversion 26=<p>  Invalid thread state.   </p>
+ImageConversion 27=<p>  Invalid function leave request.   </p>
+ImageConversion 28=<p>  An Image Decoder was found to be in an invalid state.   </p>  <p>  For example  <span class="stripedlink"><code class="ApiItem">CBufferedImageDecoder::ContinueConvert()</code></span> was called when  there is no image data to convert.   </p>
+ImageConversion 29=<p>  Not used.   </p>
+ImageConversion 30=<p>  Illegal call to reserved function.   </p>
+ImageConversion 31=<p>  An index is invalid.   </p>  <p>  For example <code class="ApiItem">TFrameLayout::Length()</code> will panic  if the value of the index parameter <code>aIndex</code> is not in the range  <code>[0:TFrameLayout::Planes()]</code>.  </p>
+ImageConversion 32=<p>  A parameter value is invalid.   </p>  <p>  For example <code class="ApiItem">TFrameLayout::SetLength()</code> will  panic if the value of the length parameter <code>aLength</code> is negative.   </p>
+Bitmap Utility 0=<p><code>ECorrupt</code> - Data is corrupt cannot continue.</p>
+Versit-Parser 0=<p>The parser has tried to access a token, but no current token  exists.</p>
+Versit-Parser 1=<p>An object of class <code>CVersitUnicodeUtils</code> (which converts  between narrow and wide descriptors) has not been allocated by the  parser.</p>
+Versit-Parser 2=<p>An attempt was made to construct a <code>CParserProperty</code>  without specifying a property value.</p>
+Versit-Parser 3=<p>A week day array, <code>CWeekDayArray</code>, contains an invalid  value, (not between <code>EMonday</code> and <code>ESunday</code>  inclusive).</p>
+Versit-Parser 4=<p>The number of a week within a month is invalid.</p>
+Versit-Parser 5=<p>The repeat type for a recurrence rule property value is not one of the  values specified in <code>CVersitRecurrence::TType</code>.</p>
+EIKCOCTL 0=<p>Unused</p>
+EIKCOCTL 1=<p>Environment  could not be created</p>
+EIKCOCTL 2=<p>Invalid command line</p>
+EIKCOCTL 3=<p>Unused</p>
+EIKCOCTL 4=<p>Unused</p>
+EIKCOCTL 5=<p>Environment attempted to draw cursor in an unfocussed control</p>
+EIKCOCTL 6=<p>Control does not own the cursor</p>
+EIKCOCTL 7=<p>No such hotkey in call to <code>CEikHotKeyTable::RemoveItem()</code></p>
+EIKCOCTL 8=<p>No such menu item</p>
+EIKCOCTL 9=<p>Hotkey and extra text set have been set on the same <code>CEikMenuPane</code></p>
+EIKCOCTL 10=<p>Changing the title text of this menu bar is not permitted</p>
+EIKCOCTL 11=<p>Unused</p>
+EIKCOCTL 12=<p>Unused</p>
+EIKCOCTL 13=<p>Text length exceeds the maximum in a <code>CEikSecretEditor</code></p>
+EIKCOCTL 14=<p>Unused</p>
+EIKCOCTL 15=<p>Unused</p>
+EIKCOCTL 16=<p>Unused</p>
+EIKCOCTL 17=<p>Unused</p>
+EIKCOCTL 18=<p>Unused</p>
+EIKCOCTL 19=<p>Unused</p>
+EIKCOCTL 20=<p>Unused</p>
+EIKCOCTL 21=<p>Unused</p>
+EIKCOCTL 22=<p>Unused</p>
+EIKCOCTL 23=<p>Unused</p>
+EIKCOCTL 24=<p>Country or city selector already exists</p>
+EIKCOCTL 25=<p>Index out of range in <code>CColumnListBoxData</code></p>
+EIKCOCTL 26=<p>Illegal NULL pointer</p>
+EIKCOCTL 27=<p>Unused</p>
+EIKCOCTL 28=<p>Unused</p>
+EIKCOCTL 29=<p>Unused</p>
+EIKCOCTL 30=<p>NULL field passed to <code>CEikEdwin::InsertFieldL()</code></p>
+EIKCOCTL 31=<p>Combo box is too small</p>
+EIKCOCTL 32=<p>Unused</p>
+EIKCOCTL 33=<p>Command button has no components (label or picture not set)</p>
+EIKCOCTL 34=<p>Unknown folder selected through a <code>CEikFolderNameSelector</code></p>
+EIKCOCTL 35=<p>Toolbar has no observer</p>
+EIKCOCTL 36=<p>Toolbar could not be created</p>
+EIKCOCTL 37=<p>Unused</p>
+EIKCOCTL 38=<p>Internal event error</p>
+EIKCOCTL 39=<p>Invalid dimensions for a <code>CEikControlGroup</code></p>
+EIKCOCTL 40=<p>Invalid number of lines for a <code>CEikControlGroup</code></p>
+EIKCOCTL 41=<p><code>CEikControlGroup</code> not fully initialised</p>
+EIKCOCTL 42=<p>Invalid bitmap index in <code>CColumnListBoxData::Draw()</code></p>
+EIKCOCTL 43=<p>Unused</p>
+EIKCOCTL 44=<p><code>CEikProcess::SaveToDirectFileStoreL()</code> cannot be used as there is no store for the process</p>
+EIKCOCTL 45=<p><code>CEikProcess::SaveToDirectFileStoreL()</code> cannot be used as the store is the wrong type</p>
+EIKCOCTL 46=<p>No observer set for a <code>CEikDialogToolBar</code></p>
+EIKCOCTL 47=<p>Unused</p>
+EIKCOCTL 48=<p>Invalid resource for creating a <code>CEikLabeledButton</code></p>
+EIKCOCTL 49=<p>Unused</p>
+EIKCOCTL 50=<p>Options or data have not been set for a time dialog</p>
+EIKCOCTL 51=<p>Unused</p>
+EIKCOCTL 52=<p>Unused</p>
+EIKCOCTL 53=<p>Environment set up error: logical color not found</p>
+EIKCOCTL 54=<p>Unused</p>
+EIKCOCTL 55=<p>Environment set up error: invalid logical color</p>
+EIKCOCTL 56=<p>Unused</p>
+EIKCOCTL 57=<p>NULL text set for a <code>CEikLabel</code></p>
+EIKCOCTL 58=<p>Environment set up error: invalid library</p>
+EIKCOCTL 59=<p>Resource files are still open on environment closedown</p>
+EIKCOCTL 60=<p>Control factory not removed on environment closedown</p>
+EIKCOCTL 61=<p><code>CEikButtonGroupContainer::CleanupCommandPushL()</code> called with <code>aPosition</code> already allocated on the cleanup stack</p>
+EIKCOCTL 62=<p>Corrupt <code>CEikButtonGroupContainer</code> cleanup stack </p>
+EIKCOCTL 63=<p><code>CEikButtonGroupContainer::UpdateCommandObserverL()</code> called with an updated observer already present</p>
+EIKCOCTL 64=<p>Corrupt edwin state for inlining editing</p>
+EIKCOCTL 65=<p>Corrupt edwin state for inlining editing</p>
+EIKCOCTL 66=<p>Corrupt edwin state for inlining editing</p>
+EIKCOCTL 67=<p>Corrupt edwin state for inlining editing</p>
+EIKCOCTL 68=<p>Corrupt edwin state for inlining editing</p>
+EIKCOCTL 69=<p>Corrupt edwin state for inlining editing</p>
+EIKCOCTL 70=<p>Corrupt edwin state for inlining editing</p>
+EIKCOCTL 71=<p>Corrupt edwin state for inlining editing</p>
+EIKCOCTL 72=<p>Corrupt edwin state for inlining editing</p>
+EIKCOCTL 73=<p>Corrupt edwin state for inlining editing</p>
+EIKCOCTL 74=<p>Corrupt edwin state for inlining editing</p>
+EIKCOCTL 75=<p>Corrupt edwin state for inlining editing</p>
+EIKCOCTL 76=<p>Invalid menu title identifier</p>
+EIKCOCTL 77=<p>Environment set up error: library could not be loaded</p>
+EIKCOCTL 78=<p><code>CEikScrollBarFrame</code> could not create scroll bar</p>
+EIKCOCTL 79=<p><code>CEikMsgWin</code> used without vaild app UI</p>
+EIKCOCTL 80=<p>Unexpected leave while setting the virtual cursor state</p>
+EIKCOCTL 81=<p>Attempt to pop <code>CEikCommandButton</code> from a NULL stack</p>
+EIKCOCTL 82=<p>Unknown virtual cursor error</p>
+EIKCOCTL 83=<p>Unused</p>
+EIKCOCTL 84=<p>NULL button group factory referenced</p>
+EIKCOCTL 85=<p>Button group factory did not create button group</p>
+USER-EXEC 3=<p>In Symbian OS 8.1b, 9.0, 9.1 and subsequent versions:</p>  <ul>  <li>  <p>this panic is raised when an exception is raised on the  current thread by a call to <span class="stripedlink"><code class="ApiItem">User::RaiseException()</code></span>, and  the thread has no exception handler to handle the specified exception.</p>  </li>  </ul>  <p>In Symbian OS up to 8.1a:</p>  <ul>  <li>  <p>this panic is raised when the current thread calls  <code class="ApiItem">RThread::RaiseException()</code> on itself, and the thread has no  exception handler to handle the specified exception.</p>  </li>  </ul>  <p>Note that the <code class="ApiItem">RThread::RaiseException()</code>  API is <b>deprecated</b> in Symbian OS 8.1b, 9.0, 9.1 and subsequent  versions, and should <b>not</b> be used.</p>
+USER 0=<p>  This panic is raised when a thread calls  <span class="stripedlink"><code class="ApiItem">User</code></span><code>::Invariant()</code>.   </p>  <p>  Typically, <code>User::Invariant()</code> is called when a test for  a class invariant fails, i.e. when a test which checks that the internal data  of an object is self-consistent, fails.   </p>  <p>  Check the design and implementation of your class.   </p>
+USER 3=<p>  This panic is raised when a <span class="stripedlink"><code class="ApiItem">TDateTime</code></span> object  is constructed with an invalid date or time field.   </p>
+USER 7=<p>  This panic is raised by the <code>Ptr()</code> member function of a  16-bit variant descriptor if the descriptor is invalid.   </p>  <p>  Check for ways in which the descriptor may have become corrupted,  including an unsafe use of cast.   </p>
+USER 8=<p>  This panic is raised when a length value passed to a 16-bit variant  descriptor member function is invalid. It may be raised by some descriptor  constructors and, specifically, by the <code>Replace()</code> and  <code>Set()</code> descriptor member functions.   </p>
+USER 9=<p>  This panic is raised when the index value passed to the 16-bit  variant descriptor <code>Operator[]</code> is out of bounds   </p>
+USER 10=<p>  This panic is raised when the position value passed to a 16-bit  variant descriptor member function is out of bounds. It may be raised by the  <code>Left()</code>, <code>Right()</code>, <code>Mid()</code>,  <code>Insert()</code>, <code>Delete()</code> and <code>Replace()</code> member  functions of <span class="stripedlink"><code class="ApiItem">TDes16</code></span>.   </p>
+USER 11=<p>  This panic is raised when any operation that moves or copies data  to a 16-bit variant descriptor, causes the length of that descriptor to exceed  its maximum length.   </p>  <p>  It may be caused by any of the copying, appending or formatting  member functions and, specifically, by the <code>Insert()</code>,  <code>Replace()</code>, <code>Fill()</code>, <code>Fillz()</code> and  <code>ZeroTerminate()</code> descriptor member functions. It can also be caused  by the <code>SetLength()</code> function. See <span class="stripedlink"><code class="ApiItem">TDes16</code></span>.   </p>
+USER 12=<p>  This panic is raised when the format string passed to the 16-bit  variant descriptor member functions <code>Format()</code> and  <code>AppendFormat()</code> has invalid syntax.   </p>  <p>  See <span class="stripedlink"><code class="ApiItem">TDes16::Format()</code></span> and  <span class="stripedlink"><code class="ApiItem">TDes16::AppendFormat()</code></span>.   </p>
+USER 13=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  It is raised by the <code>AppendFormatList()</code> member function  of the 16-bit variant descriptor <span class="stripedlink"><code class="ApiItem">TDes16</code></span>, if an invalid  variable list is passed to the function when the format is <code>%S</code> or  <code>%s</code>.   </p>
+USER 14=<p>  This panic is raised when expanding or contracting an  <span class="stripedlink"><code class="ApiItem">HBufC16</code></span> buffer using the <code>ReAlloc()</code> or  <code>ReAllocL()</code> descriptor member functions. Specifically, the panic  occurs if the new length being specified is too small to contain the data.   </p>
+USER 16=<p>  This panic is raised by the <code>Replace()</code> member function  of the 16-bit variant descriptor <span class="stripedlink"><code class="ApiItem">TDes16</code></span> when the length of  the source descriptor is negative or exceeds the maximum length of the target  descriptor.   </p>
+USER 17=<p>  This panic is raised when 16-bit variant descriptors are  constructed with negative length values. It may also be raised if the  <code>Set()</code>, <code>Repeat()</code> and the <code>Find()</code> member  functions are passed negative length values.   </p>
+USER 18=<p>  This panic is raised when 16-bit variant descriptors are  constructed with negative maximum length values.   </p>
+USER 19=<p>  This panic is raised by the <code>Ptr()</code> member function of  an 8 bit variant descriptor if the descriptor is invalid. Check for ways in  which the descriptor may have become corrupted, including an unsafe use of  cast.   </p>
+USER 20=<p>  This panic is raised when a length value passed to an 8 bit variant  descriptor member function is invalid. It may be raised by some descriptor  constructors and, specifically, by the <code>Replace()</code> and  <code>Set()</code> descriptor member functions.   </p>
+USER 21=<p>  This panic is raised when the index value passed to the 8 bit  variant descriptor <code>Operator[]</code> is out of bounds.   </p>
+USER 22=<p>  This panic is raised when the position value passed to an 8 bit  variant descriptor member function is out of bounds. It may be raised by the  <code>Left()</code>, <code>Right()</code>, <code>Mid()</code>,  <code>Insert()</code>, <code>Delete()</code> and <code>Replace()</code>  descriptor member functions.   </p>
+USER 23=<p>  This panic is raised when any operation that moves or copies data  to an 8 bit variant descriptor, causes the length of that descriptor to exceed  its maximum length.   </p>  <p>  It may be caused by any of the copying, appending or formatting  member functions and, specifically, by the <code>Insert()</code>,  <code>Replace()</code>, <code>Fill()</code>, <code>Fillz()</code> and  <code>ZeroTerminate()</code> descriptor member functions. It can also be caused  by the <code>SetLength()</code> function. See <span class="stripedlink"><code class="ApiItem">TDes8</code></span>.   </p>
+USER 24=<p>  This panic is raised when the format string passed to the 8 bit  variant descriptor member functions <code>Format()</code> and  <code>AppendFormat()</code> has invalid syntax.   </p>  <p>  See <span class="stripedlink"><code class="ApiItem">TDes8::Format()</code></span> and  <span class="stripedlink"><code class="ApiItem">TDes8::AppendFormat()</code></span>.   </p>
+USER 25=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  This panic is raised by the <code>AppendFormatList()</code> member  function of the 8-bit variant descriptor <span class="stripedlink"><code class="ApiItem">TDes8</code></span>, if an  invalid variable list is passed to the function when the format is  <code>%S</code> or <code>%s</code>.   </p>
+USER 26=<p>  This panic is raised when expanding or contracting an  <span class="stripedlink"><code class="ApiItem">HBufC8</code></span> buffer using the <code>ReAlloc()</code> or  <code>ReAllocL()</code> descriptor member functions. Specifically, the panic  occurs if the new length being specified is too small to contain the data.   </p>
+USER 28=<p>  This panic is raised by the <code>Replace()</code> member function  of the 8-bit variant descriptor <span class="stripedlink"><code class="ApiItem">TDes8</code></span>, when the length of  the source descriptor is negative or exceeds the maximum length of the target  descriptor.   </p>
+USER 29=<p>  This panic is raised when 8-bit variant descriptors are constructed  with negative length values. It may also be raised if the <code>Set()</code>,  <code>Repeat()</code> and the <code>Find()</code> member functions are passed  negative length values.   </p>
+USER 30=<p>  This panic is raised when 8-bit variant descriptors are constructed  with negative maximum length values.   </p>
+USER 32=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  It is raised by the <code>Pos()</code> member function of a  <code>TRawEvent</code>. The function returns the mouse/pen position  encapsulated by the <code>TRawEvent</code>. The panic is raised when the event  is not a mouse/pen type event.   </p>
+USER 33=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  It is raised by the <code>ScanCode()</code> member function of a  <code>TRawEvent</code>. The function returns the scan code associated with a  key down or key up event encapsulated by the <code>TRawEvent</code>. The panic  is raised when the event is not a key down or key up event.   </p>
+USER 34=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  It is raised by the <code>Modifiers()</code> member function of a  <code>TRawEvent</code>. The function returns the modifers associated with a  modifiers update event encapsulated by the <code>TRawEvent</code>. The panic is  raised when the event is not a modifier update event.   </p>
+USER 35=<p>  This panic is raised by the default <code>At()</code> virtual  member function of <span class="stripedlink"><code class="ApiItem">TKey</code></span>. The function is intended to be  overridden by a derived class.   </p>
+USER 36=<p>  This panic is raised by the default <code>Swap()</code> virtual  member function of <span class="stripedlink"><code class="ApiItem">TSwap</code></span>. The function is intended to be  overridden by a derived class.   </p>
+USER 37=<p>  This panic is raised by the <code>operator[]</code> of a  <span class="stripedlink"><code class="ApiItem">TUidType</code></span> when the index value passed to the operator is  either negative or is greater than or equal to the constant  <code>KMaxCheckedUid</code> defined in <code class="filename">e32const.h</code>.   </p>
+USER 38=<p>  This panic is raised by the <code>Set(TDesC8&amp;)</code> member  function of <code>TCheckedUid</code> when the length of the descriptor passed  to the function is not equal to the size of a <code>TCheckedUid</code> object.   </p>
+USER 41=<p>  This panic is caused by the  <span class="stripedlink"><code class="ApiItem">UserHeap::ChunkHeap()</code></span> static function when the value  defining the minimum length of the heap is greater than the value defining the  maximum length to which the heap can grow.   </p>
+USER 42=<p>  This panic is raised by a number of <span class="stripedlink"><code class="ApiItem">RHeap</code></span>  member functions, <code>AllocLen()</code>, <code>Free()</code>,  <code>FreeZ()</code>, <code>ReAlloc()</code>, <code>ReAllocL()</code>,  <code>Adjust()</code> and <code>AdjustL()</code> when a pointer passed to these  functions does not point to a valid cell.   </p>
+USER 43=<p>  This panic is raised by the <code>Adjust()</code> and  <code>AdjustL()</code> member functions of an <span class="stripedlink"><code class="ApiItem">RHeap</code></span>. It is  caused when a heap cell is being shrunk and the amount by which the cell is  being shrunk is less than the current length of the cell.   </p>
+USER 44=<p>  This panic is raised by the <code>Free()</code> and  <code>FreeZ()</code> member functions of an <span class="stripedlink"><code class="ApiItem">RHeap</code></span>. It is  caused when the cell being freed overlaps the next cell on the free list (i.e.  the first cell on the free list with an address higher than the one being  freed).   </p>
+USER 45=<p>  This panic is raised by the <code>Free()</code> and  <code>FreeZ()</code> member functions of an <span class="stripedlink"><code class="ApiItem">RHeap</code></span>. It is  caused when the cell being freed overlaps the previous cell on the free list  (i.e. the last cell on the free list with an address lower than the one being  freed).   </p>
+USER 46=<p>  This panic is raised by the <code>ReAlloc()</code> and  <code>ReAllocL()</code> member functions of an <span class="stripedlink"><code class="ApiItem">RHeap</code></span>. It  is caused when the cell being reallocated overlaps the next cell on the free  list (i.e. the first cell on the free list with an address higher than the one  being reallocated).   </p>
+USER 47=<p>  This panic is raised by the <code>Alloc()</code>,  <code>AllocL()</code> or <code>AllocLC()</code> member functions of  <span class="stripedlink"><code class="ApiItem">RHeap</code></span>. It is caused by trying to allocate a cell from a  heap, specifying an unsigned size value which is greater than or equal to the  value of <code>KMaxTInt/2</code>. The constant <code>KMaxTInt</code> is defined  in <code class="filename">e32std.h</code>.   </p>  <p>  This panic may also be raised by the heap walker when it finds a  bad allocated heap cell size.   </p>
+USER 48=<p>  This panic is raised by the heap walker when it finds a bad  allocated heap cell address.   </p>
+USER 49=<p>  This panic is raised by the heap walker when it finds a bad free  heap cell address.   </p>
+USER 51=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  It is raised by the <code>__DbgMarkEnd()</code> member function of  <span class="stripedlink"><code class="ApiItem">RHeap</code></span> in debug builds when there has been no corresponding  call to the <code>__DbgMarkStart()</code> member function; it is also caused  when there are more calls to <code>__DbgMarkEnd()</code> than to  <code>__DbgMarkStart()</code>. These functions are part of the debug assistance  provided by the <span class="stripedlink"><code class="ApiItem">RHeap</code></span> class.   </p>
+USER 52=<p>  This panic is raised by the <code>Adjust()</code> and  <code>AdjustL()</code> member functions of an <span class="stripedlink"><code class="ApiItem">RHeap</code></span>. It is  caused when the offset from the start of the cell being stretched or shrunk is  a negative value.   </p>
+USER 54=<p>  This panic is raised by the <code>ReAlloc()</code> and  <code>ReAllocL()</code> member functions of an <span class="stripedlink"><code class="ApiItem">RHeap</code></span>. It  is caused when the new size for the cell being reallocated is a negative value.  </p>
+USER 55=<p>  This panic is caused by the  <span class="stripedlink"><code class="ApiItem">UserHeap</code></span><code>::ChunkHeap()</code> static function when  the value defining the minimum length of the heap is negative.   </p>
+USER 56=<p>  This panic is caused by the  <span class="stripedlink"><code class="ApiItem">UserHeap</code></span><code>::ChunkHeap()</code> static function when  the value defining the maximum length to which the heap can grow, is negative.   </p>
+USER 57=<p>  This panic is raised when closing a shared heap using the  <code>Close()</code> member function of <span class="stripedlink"><code class="ApiItem">RHeap</code></span> and the  access count is zero or negative. A zero or negative access count suggests that  an attempt is being made to close the heap too many times.   </p>
+USER 58=<p>  This panic is raised when opening a heap for shared access using  the <code>Open()</code> member function of <span class="stripedlink"><code class="ApiItem">RHeap</code></span> and the  heap type is not <code>EChunkNormal</code>.   </p>
+USER 59=<p>  This panic is raised by the <code>UnGet()</code> member function of  the 8-bit variant lexical analyzer, <span class="stripedlink"><code class="ApiItem">TLex8</code></span>, if the  character position is already at the start of the string.   </p>
+USER 60=<p>  This panic is raised by the <code>Inc()</code> member function of  the 8-bit variant lexical analyzer, <span class="stripedlink"><code class="ApiItem">TLex8</code></span>, if the  resulting character position lies before the start of the string or after the  end of the string.   </p>
+USER 61=<p>  This panic is raised by the <code>SkipAndMark()</code> member  function of the 8-bit variant lexical analyzer, <span class="stripedlink"><code class="ApiItem">TLex8</code></span>, if  the resulting character position lies before the start of the string or after  the end of the string.   </p>
+USER 63=<p>  This panic is raised by the <code>ValidateMark()</code> member  function of the 8-bit variant lexical analyzer, <span class="stripedlink"><code class="ApiItem">TLex8</code></span>, if  the position of the extraction mark lies before the start of the string or  after the end of the string.   </p>
+USER 64=<p>  This panic is raised by the <code>UnGet()</code> member function of  the 16-bit variant lexical analyzer, <span class="stripedlink"><code class="ApiItem">TLex16</code></span>, if the  character position is already at the start of the string.   </p>
+USER 65=<p>  This panic is raised by the <code>Inc()</code> member function of  the 16-bit variant lexical analyzer, <span class="stripedlink"><code class="ApiItem">TLex16</code></span>, if the  resulting character position lies before the start of the string or after the  end of the string.   </p>
+USER 66=<p>  This panic is raised by the <code>SkipAndMark()</code> member  function of the 16-bit variant lexical analyzer, <span class="stripedlink"><code class="ApiItem">TLex16</code></span>,  if the resulting character position lies before the start of the string or  after the end of the string.   </p>
+USER 68=<p>  This panic is raised by the <code>ValidateMark()</code> member  function of the 16-bit variant lexical analyzer, <span class="stripedlink"><code class="ApiItem">TLex16</code></span>,  if the position of the extraction mark lies before the start of the string or  after the end of the string.   </p>
+USER 69=<p>  This panic is raised by the <span class="stripedlink"><code class="ApiItem">TDateSuffix</code></span>  constructor or its <code>Set()</code> member function when the suffix index  specified is negative or is greater than or equal to the value  <code>KMaxSuffixes</code> defined in <code class="filename">e32std.h</code>. The index is used  to access a locale dependent table of suffix characters which can be appended  to the dates of the month (e.g. the characters &quot;st&quot; for 1st, &quot;nd&quot; for 2nd, &quot;st&quot;  for 31st).   </p>
+USER 70=<p>  <em>Introduced in 6.0:</em> This panic is raised when  attempting to complete a client/server request and the <code>RMessagePtr</code>  is null.   </p>  <p>  <em>Withdrawn in 6.0:</em> This panic is raised by the  <code>SetRetry()</code> member function of <span class="stripedlink"><code class="ApiItem">RSessionBase</code></span>,  the client interface for communication with a server, when the specified delay  time between resending a message to the server is either negative or a value  greater than KMaxTint (defined in e32std.h).   </p>
+USER 71=<p>  <em>Withdrawn in 6.0:</em> This panic is raised by the  <code>SetRetry()</code> member function of <span class="stripedlink"><code class="ApiItem">RSessionBase</code></span>,  the client interface for communication with a server, when the specified number  of attempts to resend a message to the server is either negative or a value  greater than <code>KMaxTint</code> (defined in <code class="filename">e32std.h</code>).   </p>
+USER 72=<p>  <em>Withdrawn in 6.0:</em> This panic is raised by the  <code>SetRetry()</code> member function of <span class="stripedlink"><code class="ApiItem">RSessionBase</code></span>,  the client interface for communication with a server, when the specified  operation code identifying the required service is either negative or a value  greater than <code>KMaxTint</code> (defined in <code class="filename">e32std.h</code>).   </p>  <p>  <em>Introduced in 6.0:</em> This panic is raised by the  <code>Send()</code> and <code>SendReceive()</code> member functions of  <span class="stripedlink"><code class="ApiItem">RSessionBase</code></span>, the client interface for communication with  a server, when the specified operation code identifying the required service is  either negative or a value greater than <code>KMaxTint</code> (defined in  <code class="filename">e32std.h</code>).   </p>
+USER 73=<p>  This panic is raised by the <code>Receive()</code> member function  of <code>RServer</code>, the handle to the server, when the attempt to receive  a message for the server, synchronously, fails.   </p>
+USER 75=<p>  This panic is raised by the constructor of a singly linked list  header, a <span class="stripedlink"><code class="ApiItem">TSglQue</code></span> or by the <code>SetOffset()</code>  member function when the specified offset is not 4 byte aligned, i.e. when it  is not divisible by 4.   </p>
+USER 76=<p>  This panic is raised when attempting to remove an object from a  singly linked list, using the <code>Remove()</code> member function of  <span class="stripedlink"><code class="ApiItem">TSglQue</code></span>, when that object is not in the list.   </p>
+USER 78=<p>  This panic is raised by the constructor of a doubly linked list  header, a <span class="stripedlink"><code class="ApiItem">TDblQue</code></span> or by the <code>SetOffset()</code>  member function, when the specified offset is not 4 byte aligned, i.e. when it  is not divisible by 4.   </p>
+USER 79=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  It is raised by a call to either the <code>First()</code> and  <code>Last()</code> member functions of a doubly linked list, a  <span class="stripedlink"><code class="ApiItem">TDblQue</code></span>, which return pointers to the first and last  element in the list respectively; the panic occurs when the list is empty.   </p>
+USER 80=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  It is raised by the post increment operator,  <code>operator++</code>, the post decrement operator, <code>operator&mdash;</code>  and the return current element operator, <code>operator T*</code>, of the  doubly linked list iterator, a <span class="stripedlink"><code class="ApiItem">TDblQueIter</code></span>; the panic  occurs when the element returned by these operators is not in the list.  Typically, this is caused by the removal of the element from the list prior to  calling these operators.   </p>
+USER 81=<p>  This panic is raised by the get rectangle operator,  <code>operator[]</code>, of a clipping region, derived from the abstract base  class <span class="stripedlink"><code class="ApiItem">TRegion</code></span>. The panic occurs when the index, which  refers to the specific rectangle within the region, is greater than or equal to  the number of rectangles contained within the region (as returned by the  <code>Count()</code> member function).   </p>  <p>  The index must be strictly less than the number of contained  rectangles.   </p>
+USER 82=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  It is raised when sorting the rectangles within a clipping region,  derived from the abstract base class <span class="stripedlink"><code class="ApiItem">TRegion</code></span>, using the  <code>Sort()</code> member function of <span class="stripedlink"><code class="ApiItem">TRegion</code></span>. The panic  occurs when the region is invalid.   </p>
+USER 83=<p>  This panic occurs when the Kernel sends a message to the Kernel  server and this completes with an error, i.e. an error code which is not  <code>KErrNone</code>.   </p>
+USER 84=<p>  This panic is raised by the <code>Panic()</code> member function of  <code>RTest</code>, the test class.   </p>
+USER 85=<p>  This panic is raised by the <code>CheckConsoleCreated()</code>  member functions of <code>RTest</code> and <code>RTestJ</code>, the test  classes, when the creation of a console, as derived from a  <code>CConsoleBase</code>, fails.   </p>
+USER 86=<p>  This panic is raised by the static function  <span class="stripedlink"><code class="ApiItem">User::After()</code></span> which is used to suspend the current thread  until the specified time interval, in microseconds, has expired. The panic  occurs when the specified time interval is negative.   </p>
+USER 87=<p>  This panic is raised when a relative timer event is requested from  an asynchronous timer service, an <span class="stripedlink"><code class="ApiItem">RTimer</code></span>, using the  <code>After()</code> member function. The panic occurs when the requested time  interval is negative.   </p>
+USER 88=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">Mem::Compare()</code></span>,  <span class="stripedlink"><code class="ApiItem">Mem::CompareC()</code></span> and <span class="stripedlink"><code class="ApiItem">Mem::CompareF()</code></span>,  which compare two areas of memory. The panic occurs when the length of the area  of memory designated as the left hand area, is negative.   </p>
+USER 89=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">Mem::Compare()</code></span>,  <span class="stripedlink"><code class="ApiItem">Mem::CompareC()</code></span> and <span class="stripedlink"><code class="ApiItem">Mem::CompareF()</code></span>,  which compare two areas of memory. The panic occurs when the length of the area  of memory designated as the right hand area, is negative.   </p>
+USER 90=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">Mem::Copy()</code></span>, which  copies the content of one area of memory to another. The panic occurs when the  length of the area of memory to be copied, is negative   </p>
+USER 91=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">Mem::Move()</code></span>, which  moves the content of one area of memory to another. The panic occurs when the  length of the area of memory to be moved, is not a multiple of 4.   </p>
+USER 92=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">Mem::Move()</code></span>, which  moves the content of one area of memory to another. The panic occurs when the  address of the source for the move operation, is not aligned on a 4 byte  boundary.   </p>
+USER 93=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">Mem::Move()</code></span>, which  moves the content of one area of memory to another. The panic occurs when the  address of the target for the move operation, is not aligned on a 4 byte  boundary.   </p>
+USER 94=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">Mem::Swap()</code></span>, which  swaps the content of one area of memory with another. The panic occurs when the  length of the area of memory to be swapped, is negative.   </p>
+USER 95=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">Mem::Fill()</code></span> and  <span class="stripedlink"><code class="ApiItem">Mem::FillZ()</code></span>, both of which fill an area of memory. The  panic occurs when the length of the area of memory to be filled, is negative.   </p>
+USER 96=<p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">User::QuickSort()</code></span>,  when the value for the number of records to be sorted, is negative.   </p>
+USER 97=<p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">User::BinarySearch()</code></span>,  when the value for the number of records taking part in the search, is  negative.   </p>
+USER 98=<p>  This panic is raised by the constructor of the base key class,  <span class="stripedlink"><code class="ApiItem">TKey</code></span>. It occurs when the offset value passed to the  constructor is negative.As <code>TKey</code> is an abstract class, i.e. objects  of type <code>TKey</code> are not intended to be explicitly constructed, look  at the offset value passed to the constructors of derived classes such as  <span class="stripedlink"><code class="ApiItem">TKeyArrayFix</code></span>, <span class="stripedlink"><code class="ApiItem">TKeyArrayVar</code></span> and  <span class="stripedlink"><code class="ApiItem">TKeyArrayPak</code></span> for the cause of the panic.   </p>
+USER 99=<p>  This panic is raised when a local or global chunk is created using  the <span class="stripedlink"><code class="ApiItem">RChunk</code></span> member functions: <code>CreateLocal()</code>,  <code>CreateGlobal()</code>, <code>CreateDoubleEndedLocal()</code> and  <code>CreateDoubleEndedGlobal()</code>. It occurs when the value for the  maximum size to which this chunk can be adjusted, is negative.   </p>
+USER 100=<p>  This panic is raised when a local or global chunk is created using  the <span class="stripedlink"><code class="ApiItem">RChunk</code></span> member functions: <code>CreateLocal()</code>  and <code>CreateGlobal()</code>. It occurs when the value for the number of  bytes to be committed to this chunk on creation, is negative.   </p>
+USER 101=<p>  This panic is raised when a local or global chunk is created using  the <span class="stripedlink"><code class="ApiItem">RChunk</code></span> member functions: <code>CreateLocal()</code>  and <code>CreateGlobal()</code>. It occurs when the value for the number of  bytes to be committed to this chunk on creation is greater than the value for  the maximum size to which this chunk can be adjusted.   </p>
+USER 102=<p>  This panic is raised when changing the number of bytes committed to  a chunk by calling the <code>Adjust()</code> member function of  <span class="stripedlink"><code class="ApiItem">RChunk</code></span>. The panic occurs when the value passed to the  function is negative.   </p>
+USER 103=<p>  <em>Withdrawn in 6.0:</em> The panic is raised by the  <code>CreateSession()</code> member function of the abstract session base class  <code>RSessionBase</code>. <code>CreateSession()</code> is a protected function  and can only be called by member functions of derived classes. The panic occurs  when the delay time interval passed to this function is negative.   </p>
+USER 104=<p>  <em>Withdrawn in 6.0:</em> The panic is raised by the  <code>CreateSession()</code> member function of the abstract session base class  <code>RSessionBase</code>. <code>CreateSession()</code> is a protected function  and can only be called by member functions of derived classes. The panic occurs  when the retry count passed to this function is negative.   </p>
+USER 105=<p>  This panic is raised when a local or global semaphore is created  using the <span class="stripedlink"><code class="ApiItem">RSemaphore</code></span> member functions:  <code>CreateLocal()</code> and <code>CreateGlobal()</code>. It occurs when the  value for the initial semaphore count is negative.   </p>
+USER 106=<p>  This panic is raised when a semaphore, an  <span class="stripedlink"><code class="ApiItem">RSemaphore</code></span>, is signaled using the <code>Signal(TInt  aCount)</code> member function and the count value is negative.   </p>
+USER 107=<p>  This panic is raised when a critical section, an  <span class="stripedlink"><code class="ApiItem">RCriticalSection</code></span>, is signalled using the  <code>Signal()</code> member function. The panic occurs when the  <code>Signal()</code> is not matched by an earlier call to <code>Wait()</code>  and suggests that this is a stray signal.   </p>
+USER 108=<p>  This panic is raised when creating a thread using the  <code>Create()</code> member functions of <span class="stripedlink"><code class="ApiItem">RThread</code></span>. The  panic only occurs for those variants of <code>Create()</code> which take a  pointer to an <span class="stripedlink"><code class="ApiItem">RHeap</code></span> as one of the arguments and is caused  if the heap referred to here is neither of type  <code class="ApiItem">RHeapBase::EChunkNormal</code> nor of type  <code class="ApiItem">RHeapBase::EChunkStack</code>.   </p>
+USER 109=<p>  This panic is raised when creating a thread using the  <code>Create()</code> member functions of <span class="stripedlink"><code class="ApiItem">RThread</code></span>. The  panic occurs when the value of the stack size passed to these functions is  negative.   </p>
+USER 110=<p>  This panic is raised when creating a thread using the  <code>Create()</code> member functions of <span class="stripedlink"><code class="ApiItem">RThread</code></span>. The  panic is only raised by those variants of <code>Create()</code> which create a  new heap for the new thread. The panic occurs if the minimum heap size  specified is less than <code>KMinHeapSize</code> , defined in  <code class="filename">e32std.h</code>.   </p>
+USER 111=<p>  This panic is raised when creating a thread using the  <code>Create()</code> member functions of <span class="stripedlink"><code class="ApiItem">RThread</code></span>. The  panic is only raised by those variants of <code>Create()</code> which create a  new heap for the new thread. The panic occurs if the minimum heap size  specified is greater than the maximum size to which the heap can grow   </p>
+USER 112=<p>  This panic is raised by the <code>Alloc()</code> and  <code>AllocL()</code> member functions of class <code>RRef</code> when the size  value passed is negative.   </p>
+USER 113=<p>  This panic is raised by:   </p>  <ul>  <li>  <p>  the constructor of a time representation object, a  <span class="stripedlink"><code class="ApiItem">TTime</code></span>, which takes a text string, when the format of that  text string is incorrect or represents an invalid date/time.   </p>  </li>  <li>  <p>  the <code>Parse()</code> member function of a time  representation object, a <span class="stripedlink"><code class="ApiItem">TTime</code></span>, if the century offset  value is either negative or is greater than or equal to 100.   </p>  </li>  <li>  <p>  the <span class="stripedlink"><code class="ApiItem">Time::DaysInMonth()</code></span> function, if an  invalid month value is passed.   </p>  </li>  </ul>
+USER 114=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  This panic is raised by member functions of a  <code>TBusLocalDrive</code> when no connection has been made to a local drive.   </p>
+USER 115=<p>  This panic is raised when attempting to connect to a local drive  using the <code>Connect()</code> member function of <code>TBusLocalDrive</code>  and the specified drive number is out of range, i.e. the drive number is  negative or is greater than or equal to <code>KMaxLocalDrives</code>, defined  in <code class="filename">e32std.h</code>.   </p>
+USER 116=<p>  This panic is raised by the <code>Lookup()</code> member function  of an <span class="stripedlink"><code class="ApiItem">RLibrary</code></span>, a handle to a dynamically loaded DLL, when  the ordinal number of the required DLL function, is zero or negative.   </p>
+USER 119=<p>  This panic is raised when setting a new currency symbol using the  <span class="stripedlink"><code class="ApiItem">User::SetCurrencySymbol()</code></span> function. The panic occurs when  the length of the descriptor containing the new symbol is greater than  <code>KMaxCurrencySymbol</code>, defined in <code class="filename">e32std.h</code>.   </p>
+USER 120=<p>  This panic is raised by the <code>CreateDoubleEndedLocal()</code>  and <code>CreateDoubleEndedGlobal()</code> member functions of an  <span class="stripedlink"><code class="ApiItem">RChunk</code></span> when the lower address of the committed region is  negative.   </p>
+USER 121=<p>  This panic is raised by the <code>CreateDoubleEndedLocal()</code>  and <code>CreateDoubleEndedGlobal()</code> member functions of an  <span class="stripedlink"><code class="ApiItem">RChunk</code></span> when the upper address of the committed region is  negative.   </p>
+USER 122=<p>  This panic is raised by the <code>CreateDoubleEndedLocal()</code>  and <code>CreateDoubleEndedGlobal()</code> member functions of an  <span class="stripedlink"><code class="ApiItem">RChunk</code></span> when the upper address of the committed region is  lower than the lower address of the committed region.   </p>
+USER 123=<p>  This panic is raised by the <code>CreateDoubleEndedLocal()</code>  and <code>CreateDoubleEndedGlobal()</code> member functions of an  <span class="stripedlink"><code class="ApiItem">RChunk</code></span> when the upper address of the committed region is  lower than the maximum size to which this chunk can be adjusted.   </p>
+USER 124=<p>  This panic is raised by the <code>AdjustDoubleEnded()</code> member  function of an <span class="stripedlink"><code class="ApiItem">RChunk</code></span> when the lower address of the  committed region is negative.   </p>
+USER 125=<p>  This panic is raised by the <code>AdjustDoubleEnded()</code> member  function of an <span class="stripedlink"><code class="ApiItem">RChunk</code></span> when the upper address of the  committed region is negative.   </p>
+USER 126=<p>  This panic is raised by the <code>AdjustDoubleEnded()</code> member  function of an <span class="stripedlink"><code class="ApiItem">RChunk</code></span> when the upper address of the  committed region is lower than the lower address of the committed region.   </p>
+USER 127=<p>  This panic is raised when constructing an array of pointers, an  <span class="stripedlink"><code class="ApiItem">RPointerArray</code></span>, and specifying a granularity value which is  one of the following:   </p>  <ul>  <li>  <p>  zero   </p>  </li>  <li>  <p>  negative   </p>  </li>  <li>  <p>  greater than <code>0x10000000</code>.   </p>  </li>  </ul>
+USER 128=<p>  This panic is raised when constructing an array of fixed length  objects, an <span class="stripedlink"><code class="ApiItem">RArray</code></span>, and specifying a key offset value  which is one of the following:   </p>  <ul>  <li>  <p>  negative   </p>  </li>  <li>  <p>  not a multiple of 4   </p>  </li>  <li>  <p>  greater than or equal to the size of the array elements.   </p>  </li>  </ul>
+USER 129=<p>  This panic is raised when constructing an array of fixed length  objects, an <span class="stripedlink"><code class="ApiItem">RArray</code></span>, and the length of the array elements  is one of the following:   </p>  <ul>  <li>  <p>  zero   </p>  </li>  <li>  <p>  negative   </p>  </li>  <li>  <p>  greater than 640.   </p>  </li>  </ul>
+USER 130=<p>  This panic is raised when an index value passed to a member  function of a <span class="stripedlink"><code class="ApiItem">RArray</code></span> or a  <span class="stripedlink"><code class="ApiItem">RPointerArray</code></span> identifying an array element, is out of  bounds.   </p>
+USER 131=<p>  This panic is raised when the value identifying the insertion  position in a call to <span class="stripedlink"><code class="ApiItem">RArray::Insert()</code></span> or  <span class="stripedlink"><code class="ApiItem">RPointerArray::Insert()</code></span> is either negative or greater than  the number of elements in the array.   </p>
+USER 132=<p>  This panic is raised when an index value passed to  <span class="stripedlink"><code class="ApiItem">Mem::CollationMethodByIndex()</code></span> or  <span class="stripedlink"><code class="ApiItem">Mem::CollationMethodId()</code></span> is out of bounds.   </p>
+USER 133=<p>  This panic is raised when an index value passed to  <span class="stripedlink"><code class="ApiItem">TFixedArray::At()</code></span> or  <code class="ApiItem">TFixedArray::operator[]</code> is out of bounds.   </p>
+USER 134=<p>  Not used.   </p>
+USER 135=<p>  Not used.   </p>
+USER 136=<p>  Not used.   </p>
+USER 137=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists. The panic is  caused when a parameter is too big.   </p>
+USER 138=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists when an index  value for the parameters is outside its permitted range.   </p>
+USER 139=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists when an index  value for the parameters is outside its permitted range.  </p>
+USER 140=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists.   </p>
+USER 141=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists.   </p>
+USER 142=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists.   </p>
+USER 143=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists.   </p>
+USER 144=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists.   </p>
+USER 145=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists.   </p>
+USER 146=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists.   </p>
+USER 147=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists.   </p>
+USER 148=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists.   </p>
+USER 149=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists.   </p>
+USER 150=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists.   </p>
+USER 151=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists.   </p>
+USER 152=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists.   </p>
+USER 153=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists.   </p>
+USER 154=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists.   </p>
+USER 155=<p>  Not used.   </p>
+USER 156=<p>  This panic is raised by the variants of the  <span class="stripedlink"><code class="ApiItem">RArray</code></span> or <span class="stripedlink"><code class="ApiItem">RPointerArray</code></span> constructors  that take a value that defines the number of entries for the array. The panic  is caused when this number is not positive.   </p>
+USER 157=<p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">RChunk::Commit()</code></span> when  the value of the offset of the committed region is negative.   </p>
+USER 158=<p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">RChunk::Commit()</code></span> when  the size of the committed region is negative.   </p>
+USER 159=<p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">RChunk::Allocate()</code></span>  when the size of the committed region is negative.   </p>
+USER 160=<p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">RChunk::Decommit()</code></span>  when the value of the offset of the committed region is negative.   </p>
+USER 161=<p>  This panic is raised by <span class="stripedlink"><code class="ApiItem">RChunk::Decommit()</code></span>  when the size of the committed region is negative.   </p>
+USER 162=<p>  This panic is raised when an invalid chunk type is passed to the  internal member function <code>RChunk::Create()</code>  </p>  <p>  See <span class="stripedlink"><code class="ApiItem">RChunk</code></span>  </p>
+USER 163=<p>  This panic is raised when a global chunk is being created and no  name has been specified.   </p>  <p>  See <span class="stripedlink"><code class="ApiItem">RChunk</code></span>  </p>
+USER 164=<p>  This panic is raised when creating a 'normal' chunk, and the offset  of the bottom of the new committed region from the base of the chunk's reserved  region is not zero.   </p>  <p>  See <span class="stripedlink"><code class="ApiItem">RChunk</code></span>  </p>
+USER 165=<p>  This panic is raised by the internal function  <code>RLibrary::Init()</code> when the function that constructs static data  following a DLL load, leaves.   </p>  <p>  See <span class="stripedlink"><code class="ApiItem">RLibrary</code></span>  </p>
+USER 166=<p>  This panic is raised internally, if a call to the static data  destructors, following closure of a library handle, leaves.   </p>
+USER 167=<p>  This panic is raised in a call to  <span class="stripedlink"><code class="ApiItem">RAllocator::Close()</code></span> when the number of handles is found to  be greater than the maximum allowed, i.e.  <span class="stripedlink"><code class="ApiItem">RAllocator::EMaxHandles</code></span>.   </p>
+USER 168=<p>  This panic is raised by the internal <span class="stripedlink"><code class="ApiItem">RHeap</code></span>  constructor when the offset value is invalid, i.e. is negative or not  appropriate for the pagesize.   </p>
+USER 169=<p>  This panic is raised by the Symbian internal function  <code>RHeap::Reduce()</code> on failure.   </p>
+USER 170=<p>  This panic is raised by the Symbian internal function  <code>RHeap::Reset()</code> on failure.   </p>
+USER 171=<p>  This panic is raised by the Symbian internal function  <code>RHeap::WalkCheckCell()</code> if it detects a free cell with an invalid  size.   </p>
+USER 172=<p>  This panic is raised by the Symbian internal function  <code>RHeap::Initialise()</code> when an alignment value is invalid, i.e is  either less than the size of a <code>TAny*</code> type, or is not a power of 2  (i.e. 2, 4, 8, 16 etc).   </p>
+USER 173=<p>  Not used.   </p>
+USER 174=<p>  This panic is raised if any unimplemented pure virtual function is  called.   </p>
+USER 175=<p>  This panic is raised when a <span class="stripedlink"><code class="ApiItem">User::Leave()</code></span> is  called and there is no <code class="ApiItem">TRAP</code> frame.   </p>
+USER 176=<p>  This panic is raised when a mathematical function fails with an  unrecognized exception, i.e. one that is none of:  <span class="stripedlink"><code class="ApiItem">KErrArgument</code></span>, <span class="stripedlink"><code class="ApiItem">KErrDivideByZero</code></span>,  <span class="stripedlink"><code class="ApiItem">KErrOverflow</code></span> or <span class="stripedlink"><code class="ApiItem">KErrUnderflow</code></span>.   </p>
+USER 177=<p>  This panic is raised by the Symbian internal function  <code>RHeap::WalkCheckCell()</code> on a bad cell type.   </p>
+USER 178=<p>  This panic is raised when descriptors convert integers into text,  and an invalid radix is passed, i.e. a value that is not one of the  <span class="stripedlink"><code class="ApiItem">TRadix</code></span> enum values.   </p>
+USER 179=<p>  <em>This panic is raised in debug builds only.</em>  </p>  <p>  This panic is raised when converting and appending numbers in  descriptors, and buffers are not aligned on even addresses.   </p>
+USER 180=<p>  Not used.   </p>
+USER 181=<p>  This is raised by a Symbian internal component related to Huffman  encoding/decoding. Refer to Symbian   </p>
+USER 182=<p>  This is raised by a Symbian internal component related to Huffman  encoding/decoding. Refer to Symbian   </p>
+USER 183=<p>  This panic is raised by member functions of the internal classes  <code>RArrayBase</code> and <code>RPointerArrayBase</code>; specifically:   </p>  <ul>  <li>  <p>  <code> RArrayBase::BinarySearch()</code>  </p>  </li>  <li>  <p>  <code>RArrayBase::BinarySearchUnsigned()</code>  </p>  </li>  <li>  <p>  <code>RArrayBase::BinarySearchSigned()</code>  </p>  </li>  <li>  <p>  <code>RPointerArrayBase::BinarySearch()</code>  </p>  </li>  <li>  <p>  <code>RPointerArrayBase::BinarySearchUnsigned()</code>  </p>  </li>  <li>  <p>  <code>RPointerArrayBase::BinarySearchSigned()</code>  </p>  </li>  </ul>  <p>  when the find mode passed to these functions is not recognised.   </p>
+USER 184=<p>  This panic is raised on a call to  <span class="stripedlink"><code class="ApiItem">RNotifier::Notify()</code></span> when the length of one or more of the  descriptors containing the displayable text is bigger than the maximum value  that a <span class="stripedlink"><code class="ApiItem">TUint16</code></span> can hold.   </p>
+USER 185=<p>  This panic is raised by the following functions when the month or  day value is outside its permitted range of values:   </p>  <ul>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">TMonthName::Set()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">TMonthNameAbb::Set()</code></span>  </p>  </li>  <li>  <p>  <span class="stripedlink"><code class="ApiItem">TDayName::Set()</code></span>  </p>  </li>  <li>  <p>  <code class="ApiItem"> TDayNameAbb::Set()</code>  </p>  </li>  </ul>  <p>  See also: <span class="stripedlink"><code class="ApiItem">TMonthName</code></span>,  <span class="stripedlink"><code class="ApiItem">TMonthNameAbb</code></span>, <span class="stripedlink"><code class="ApiItem">TDayName</code></span> and  <span class="stripedlink"><code class="ApiItem">TDayNameAbb</code></span>.   </p>
+USER 186=<p>  This panic is raised internally by the descriptor formatting  functions during the handling of the variable parameter lists.   </p>
+USER 187=<p>  This panic is raised in a call to  <span class="stripedlink"><code class="ApiItem">TDes8::Expand()</code></span>, if either the length, or the maximum  length, or the pointer to the data is not an even number.   </p>
+USER 188=<p>  This panic is raised in a call to  <span class="stripedlink"><code class="ApiItem">TDes8::Collapse()</code></span>, if either the length, or the maximum  length, or the pointer to the data is not an even number.   </p>
+USER 189=<p>  This panic is raised in calls to the  <span class="stripedlink"><code class="ApiItem">TSecurityPolicy</code></span> constructors, if the specified capability  is found to be invalid.   </p>  <p>  See <span class="stripedlink"><code class="ApiItem">TCapability</code></span>.   </p>
+USER 190=<p>  This panic is raised in a call to  <span class="stripedlink"><code class="ApiItem">TSecurityPolicy::CheckPolicy()</code></span>, if the security policy is  found to be corrupt.   </p>  <p>  See <span class="stripedlink"><code class="ApiItem">TSecurityPolicy</code></span>.   </p>
+USER 191=<p>  This panic is raised in a call to:  </p>  <p class="CodeBlock"><code>TSecurityPolicy::TSecurityPolicy(TSecPolicyType&nbsp;aType)</code></p>  <p>  if <code>aType</code> is neither <code>ETypePass</code> nor  <code>ETypeFail</code>.   </p>  <p>  See <span class="stripedlink"><code class="ApiItem">TSecurityPolicy</code></span>.   </p>
+USER 192=<p>  This panic is raised when constructing an  <span class="stripedlink"><code class="ApiItem">RPointerArray</code></span> or an <span class="stripedlink"><code class="ApiItem">RArray</code></span> if the  specified minimum growth step is less than or equal to zero or is greater than  65535.   </p>
+USER 193=<p>  This panic is raised when constructing an  <span class="stripedlink"><code class="ApiItem">RPointerArray</code></span> or an <span class="stripedlink"><code class="ApiItem">RArray</code></span> if the  specified exponential growth factor is less than or equal to 1 or is greater  than or equal to 128.   </p>
+USER 194=<p>  This panic is raised if code inside an __ASSERT_ALWAYS_NO_LEAVE  harness leaves.   </p>
+USER 195=<p>  This panic is raised when the attempt to grow a cell on the heap  fails.   </p>
+USER 196=<p>  This panic is raised when an attempt is made to install a Win32 SE  handler that is not on the stack.   </p>  <p>  See the internal class <code>TWin32SEHTrap</code>.   </p>
+USER 197=<p>  This panic is raised when the caller of an API does not have the  right capabilities to call that API. You need to consult the documentation for  the specific API for the capabilities needed to call it.  </p>
+USER 198=<p>  This panic is raised by the constructor of the internal class  <code>RHashTableBase</code> if a NULL function pointer is passed in as the hash  function.   </p>
+USER 199=<p>  This panic is raised by the constructor of the internal class  <code>RHashTableBase</code> if a NULL function pointer is passed in as the  identity relation.   </p>
+USER 200=<p>  This panic is raised by the constructor of the internal class  <code>RHashTableBase</code> if a negative element size is specified.   </p>
+USER 201=<p>  This panic is raised by the constructor of the internal class  <code>RHashTableBase</code> if the specified key offset is inconsistent with  the specified element size.   </p>
+USER 202=<p>  This panic is raised by the member function  <code>VerifyReform()</code> of the internal class <code>RHashTableBase</code>  if a deleted entry still remains after a hash table reform. This panic should  never occur as it indicates an error in the hash table implementation.   </p>
+USER 203=<p>  This panic is raised by the member function  <code>ConsistencyCheck()</code> of the internal class  <code>RHashTableBase</code>. It indicates an error in the hash table  implementation.   </p>
+USER 204=<p>  This panic is raised by the member function  <code>ConsistencyCheck()</code> of the internal class  <code>RHashTableBase</code>. It indicates an error in the hash table  implementation.   </p>
+USER 205=<p>  This panic is raised by the member function  <code>ConsistencyCheck()</code> of the internal class  <code>RHashTableBase</code>. It indicates an error in the hash table  implementation.   </p>
+USER 206=<p>  This panic is raised by the member function  <code>ConsistencyCheck()</code> of the internal class  <code>RHashTableBase</code>. It indicates an error in the hash table  implementation.   </p>
+USER 207=<p>  This panic is raised by the member function  <code>ConsistencyCheck()</code> of the internal class  <code>RHashTableBase</code>. It indicates an error in the hash table  implementation.   </p>
+USER 208=<p>  This panic is raised by the member function <code>Next()</code> of  the internal class <code>THashTableIterBase</code> if, while attempting to step  a hash table iterator to the next entry, the iterator is found to point to an  invalid table entry. This will typically occur if elements have been removed  from the hash table without resetting the iterator.   </p>
+USER 209=<p>  This panic is raised by the member function <code>Current()</code>  of the internal class <code>THashTableIterBase</code> if, while interrogating  the current position of a hash table iterator, the iterator is found to point  to an invalid table entry. This will typically occur if elements have been  added to or removed from the hash table without resetting the iterator.   </p>
+USER 210=<p>  This panic is raised if an invalid argument is passed to the  <code>Reserve()</code> function on any of the hash table classes derived from  the internal class <code>RHashTableBase</code>.   </p>
+USER 211=<p>  This panic is raised if the Win32 SE handler chain has been  corrupted.   </p>  <p>  See the internal class <code>TWin32SEHTrap</code>.   </p>
+USER 212=<p>  This panic is raised if a negative valued argument is passed to the  <code>Reserve()</code> member function of the <span class="stripedlink"><code class="ApiItem">RArray</code></span> or  <span class="stripedlink"><code class="ApiItem">RPointerArray</code></span> classes .   </p>
+ViewSrv 1=<p>  View Server creation failed.   </p>
+ViewSrv 3=<p>  A bad client call was made - i.e. the opcode sent by the client was  one not defined in <code>TVwsRequestOpcode</code>.   </p>
+ViewSrv 6=<p>  The view that View Server is trying to remove has not been found.   </p>
+ViewSrv 7=<p>  An application tried to add a view with an application UID other  than its own.   </p>
+ViewSrv 8=<p>  The custom message sent along with a view activation request was  not copied across to the server properly.   </p>
+ViewSrv 9=<p>  An attempt was made to remove the currently active view.   </p>
+ViewSrv 10=<p>  A client has requested a view event even though it still has an  outstanding request open.   </p>
+ViewSrv 11=<p>  The most common panic. A view has taken too long to complete its  implementation of <code>ViewActivatedL()</code> and must, therefore, be  panicked to stop it from blocking the entire OS.   </p>
+ViewSrv 13=<p>  An attempt was made to activate a view that does not support the  current screenmode.   </p>
+W32 0=<p>An attempt was made to reconnect to the window server using  <span class="stripedlink"><code class="ApiItem">RWsSession::Connect()</code></span>. It is only possible to reconnect if the current session has been closed.</p>
+W32 1=<p>Not used.</p>
+W32 2=<p>Not used.</p>
+W32 3=<p>Not used.</p>
+W32 4=<p>Raised by  <span class="stripedlink"><code class="ApiItem">CWindowGc::MapColors()</code></span> when its <code>aNumPairs</code> argument has a value greater than 16.</p>
+W32 5=<p>Data is too long to fit into the window server's client side  buffer, see <span class="stripedlink">Client-side buffer</span>.</p><p>Introduced in v6.0.</p>
+W32 6=<p><code>CWsScreenDevice::SetCustomPalette()</code> was called with a NULL pointer.</p><p>Introduced in v7.0.</p>
+W32 7=<p><span class="stripedlink"><code class="ApiItem">CWsScreenDevice::SetPalette()</code></span> failed, but no error code could be returned. Debug  builds for the emulator only.</p><p>Introduced in v7.0.</p>
+W32 8=<p>A direct screen access function was called out of turn.</p><p>Introduced in v7.0.</p>
+W32 9=<p>An attempt was made to pass an invalid region to the window server. Debug builds only.</p><p>Introduced in v7.0s.</p>
+CWAPSession 0=<p>Client made unrecognised request to  WAP server</p>
+CWAPSession 1=<p>An IPC error occurred</p>
+CWAPSession 2=<p>An attempt was made to delete a non-existent sub-session</p>
+CWAPSession 3=<p>An attempt was made to access a non-existent sub-session</p>
+WSERV 1=<p>  Out of range opcode.   </p>  <p>  The client has sent a request opcode that wasn&#8217;t recognised. Each  server-side object can only handle some of the requests defined in the window  server, and if the request isn&#8217;t recognised, this panic is raised.   </p>  <p>  Clients would normally only get this is if they bypass the normal  Window Server API.   </p>
+WSERV 2=<p>  Invalid command buffer.   </p>  <p>  A corrupt buffer of requests was discovered by the server. This is  raised when the buffer itself is noticeably broken, and not when the commands  in it are wrong.   </p>
+WSERV 3=<p>  Invalid handle.   </p>  <p>  The server couldn&#8217;t find the target object for a request in the  handle index. This can be raised when a command is sent to the handle for a  window that has been closed, for example.   </p>
+WSERV 4=<p>  A handle whose value was NULL was detected.   </p>  <p>  For example, when Constructing one of the subclasses of the  client-side <span class="stripedlink"><code class="ApiItem">RWindowBase</code></span> with a client handle argument of  NULL.   </p>  <p>  On the server side, a <code>TWsClCmdCreateWindow</code> with a  client handle field of <code>NULL</code> passed as argument to  <code>CWsClientWindow::ConstructL()</code> will raise this error.   </p>
+WSERV 5=<p>  A single drawing command was too big to fit into the  <span class="stripedlink">client-side buffer</span>.   </p>  <p>  The size of the buffer may be increased. See  <span class="stripedlink"><code class="ApiItem">RWsSession::SetBufferSizeL()</code></span> and  <span class="stripedlink"><code class="ApiItem">RWsSession::SetMaxBufferSizeL()</code></span>.   </p>
+WSERV 6=<p>  Invalid window handle.   </p>  <p>  A handle which should have referred to a window of a particular  type referred to a window of another type, or the object index didn&#8217;t recognise  the handle.   </p>  <p>  On the server side, this panic is ultimately raised by  <code>CWsClient::HandleToWindow()</code> and  <code>CWsClient::HandleToClientWindow()</code> during handle conversions.   </p>
+WSERV 7=<p>  Invalid bitmap handle.   </p>  <p>  A corrupt bitmap handle was encountered. This is a common panic  uncovered when a bitmap handle refers to nothing, or to a server-side object  that isn&#8217;t a bitmap.   </p>  <p>  Also:   </p>  <ul>  <li>  <p>  In response to an <code>EWsGcOpUseBrushPattern</code> request  if the bitmap parameter couldn&#8217;t be used. On the client side,  <span class="stripedlink"><code class="ApiItem">CWindowGc::UseBrushPattern()</code></span> sends this request.   </p>  </li>  <li>  <p>  In response to an <code>EWsSpriteOpAppendMember</code> request  when the bitmaps for the sprite member can't be created on the server side. On  the client side, <span class="stripedlink"><code class="ApiItem">RWsSpriteBase::AppendMember()</code></span> sends this  request.   </p>  </li>  <li>  <p>  Any failed attempt to duplicate a supplied bitmap.   </p>  </li>  </ul>
+WSERV 8=<p>  Event read already outstanding.   </p>  <p>  <span class="stripedlink"><code class="ApiItem">RWsSession::EventReady()</code></span>,  <span class="stripedlink"><code class="ApiItem">RWsSession::RedrawReady()</code></span>, or  <span class="stripedlink"><code class="ApiItem">RWsSession::PriorityKeyReady()</code></span> was called again when an  event read was already outstanding, i.e.. when an event was waiting to be  delivered by the window server.   </p>
+WSERV 9=<p>  Attempted to use a non-active graphics context.   </p>  <p>  A drawing request was sent to a graphics context when the context  was not active.   </p>  <p>  On the server side, this panic is raised by  <code>CWsGc::CommandL()</code> on all requests received when the context isn&#8217;t  active except <code>EWsGcOpActivate</code>, <code>EWsGcOpDeactivate</code>,  <code>EWsGcOpFree</code>, and <code>EWsGcOpTestInvariant</code>.   </p>
+WSERV 10=<p>  Attempted to activate an already active graphics context.   </p>  <p>  On the server side, this is raised by  <code>CWsGc::Activate()</code> as a response to a <code>EWsGcOpActivate</code>  request.   </p>  <p>  The request is sent by the client-side method  <span class="stripedlink"><code class="ApiItem">CWindowGc::Activate()</code></span>.   </p>
+WSERV 11=<p>  Window already active.   </p>  <p>  An attempt was made to reactivate an active window. The request is  sent by the client-side method <span class="stripedlink"><code class="ApiItem">RWindowBase::Activate()</code></span>.   </p>  <p>  On the server side, this panic is raised by  <code>CWsClientWindow::Activate()</code> in response to an  <code>EWsWinOpActivate</code> request.   </p>
+WSERV 12=<p>  Already inside a begin/end redraw pair.   </p>  <p>  A begin-redraw window request was made when the window had already  begun redrawing. Begin-redraw messages are paired with end-redraw messages, and  ordering is important. Invoking <span class="stripedlink"><code class="ApiItem">RWindow::BeginRedraw()</code></span>,  then <code>RWindow::BeginRedraw()</code> again before the corresponding  <span class="stripedlink"><code class="ApiItem">RWindow::EndRedraw()</code></span> raises this panic.   </p>  <p>  On the server side, this panic is raised if an  <code>EWsWinOpBeginRedraw</code> request is sent twice before the closing  <code>EWsWinOpEndRedraw</code>.   </p>
+WSERV 13=<p>  Invalid font handle.   </p>  <p>  On the client-side is raised if  <span class="stripedlink"><code class="ApiItem">CWindowGc::UseFont()</code></span> is called with an invalid font  handle.   </p>  <p>  On the server side, <code>CWsGc::SetGcAttribute()</code> raises  this error in response to an <code>EWsGcOpUseFont</code> request.   </p>
+WSERV 14=<p>  Printing with no active font.   </p>  <p>  A command to draw text to a window was sent to a graphics context  when no font was set. Any of the overloads of  <span class="stripedlink"><code class="ApiItem">CWindowGc::DrawTextVertical()</code></span> or  <span class="stripedlink"><code class="ApiItem">CWindowGc::DrawText()</code></span> might cause the panic to be raised;  the font should be set using <span class="stripedlink"><code class="ApiItem">CWindowGc::UseFont()</code></span> first.   </p>  <p>  On the server side, this panic is raised by  <code>CWsGc::DoDrawCommand()</code> in response to any of the requests to  display text defined in <code>TWsGcOpcodes</code>.   </p>
+WSERV 15=<p>  Attempted to set an invalid text cursor type, see  <span class="stripedlink"><code class="ApiItem">RWindowGroup::SetTextCursor()</code></span>.   </p>  <p>  Valid types are defined in the <span class="stripedlink"><code class="ApiItem">TTextCursor</code></span>  struct.   </p>
+WSERV 16=<p>  A drawing command was sent to a graphics context active on a group  window.   </p>
+WSERV 17=<p>  Not used.   </p>
+WSERV 18=<p>  Not used.   </p>
+WSERV 19=<p>  Attempted to use a patterned brush when the pattern bitmap has not  yet been set&#0160;&#8212;  <code>UseBrushPattern()</code>.   </p>
+WSERV 20=<p>  Not used.   </p>
+WSERV 21=<p>  Attempted to do a client destroy function on an illegal handle.   </p>  <p>  A client tried to destroy or cancel a server-side object by its  handle on an unrecognised handle, or on a handle of the wrong type for the  operation.   </p>  <p>  This panic may be caused by the  <span class="stripedlink"><code class="ApiItem">RWindowGroup::CancelCaptureKeyUpAndDowns()</code></span> or  <span class="stripedlink"><code class="ApiItem">RWindowGroup::CancelCaptureKey()</code></span> methods. These correspond  to the <code>EWsWinOpCancelCaptureKeyUpsAndDowns</code> and  <code>EWsWinOpCancelCaptureKey</code> server requests. In this case, the panic  means that there is no such capture key object in existence in the target  window group.   </p>
+WSERV 22=<p>  Panic from the Anim DLL.   </p>  <p>  An animation DLL tried either changing its default or next timing  interval when its timing mode was set to <code>ESyncNone</code>, or activating  a graphics context when the context was already activated.   </p>  <p>  There are a variety of other reasons why this panic might be  raised, all which are Anim DLL related. The Animation writer can also cause  functions raise this panic.   </p>
+WSERV 23=<p>  Invalid Anim object handle.   </p>  <p>  A null animation handle was detected in the server on receipt of an  animation command, possibly because the relevant animation has been deleted.  This panic may be raised by a subclass of <span class="stripedlink"><code class="ApiItem">RAnim</code></span> calling  <span class="stripedlink"><code class="ApiItem">RAnim::Command()</code></span> or  <span class="stripedlink"><code class="ApiItem">RAnim::CommandReply()</code></span>.   </p>  <p>  On the server side, the <code>EWsAnimDllOpCommandReply</code> and  <code>EWsAnimDllOpCommand</code> requests can raise this panic in  <code>CWsAnimDll</code>.   </p>
+WSERV 24=<p>  Leave from a non-leaving animation function.   </p>  <p>  Code in an animated DLL called by the server invoked  <code>Leave()</code>. Animated DLL code is provided by the client and run by  the server, so unhandled leaves are trapped and the notification is passed on  as a client panic.   </p>
+WSERV 25=<p>  Not used.   </p>
+WSERV 26=<p>  Not used.   </p>
+WSERV 27=<p>  Not used.   </p>
+WSERV 28=<p>  Inconsistent polygon or polyline data was supplied. For example  when restarting without finishing an old polygon.   </p>
+WSERV 29=<p>  A client attempted to set a negative shadow height.   </p>  <p>  This panic is caused by a call to  <span class="stripedlink"><code class="ApiItem">RWindowBase::SetShadowHeight()</code></span> with a negative argument.   </p>  <p>  On the server side, <code>CWsClientWindow::CommandL()</code> raises  the panic in response to an invalid <code>EWsWinOpSetShadowHeight</code>  request.   </p>
+WSERV 30=<p>  Not used.   </p>
+WSERV 31=<p>  The client tried to construct a window with an invalid redraw type.  The valid redraw types defined in the enumeration <code>TWinTypes</code> of  <code class="filename">w32cmd.h</code>.   </p>  <p>  On the server side, this panic is raised by  <code>CWsClientWindow::ConstructL()</code> in response to an initialisation  message containing an invalid redraw type.   </p>
+WSERV 32=<p>  A server-side redraw region is almost certainly corrupt.   </p>  <p>  This panic is raised when an <code>EWsWinOpGetInvalidRegion</code>  is received by a <code>CWsRedrawMsgWindow</code> with a <code>TInt</code>  parameter of zero or less.   </p>
+WSERV 33=<p>  The client failed to provide a reply buffer to a server-side  function when one was needed.   </p>  <p>  All server-side functions that need more space for their reply than  a <code>TInt</code> use the client&#8217;s reply buffer. If the client fails to  provide space for such replies, this panic will be emitted.   </p>  <p>  This panic is raised by <code>CWsClient::ReplyBuf()</code> when  <code>CWsClient</code>&#8217;s reply buffer is null.   </p>
+WSERV 34=<p>  Not used.   </p>
+WSERV 35=<p>  A client passed an invalid or unrecognised corner type or flag.   </p>  <p>  This panic is raised in response to a client call to  <span class="stripedlink"><code class="ApiItem">RWindowBase::SetCornerType()</code></span> when specifying inconsistent  or non-existent flags.   </p>  <p>  Valid flags are masked by <span class="stripedlink"><code class="ApiItem">ECornerTypeMask</code></span>, and  recognised types are defined in <span class="stripedlink"><code class="ApiItem">TCornerType</code></span>. These are all  defined in <code class="filename">w32std.h</code>.   </p>  <p>  The server raises this panic as a response to  <code>EWsWinOpSetCornerType</code> request with an undefined corner type or an  unrecognised flag in its parameters.   </p>
+WSERV 36=<p>  The server was asked to update a region of a backed-up window which  has not had MaintainBackup called on it.   </p>  <p>  A client-side call to either form of  <span class="stripedlink"><code class="ApiItem">RBackedUpWindow::UpdateScreen()</code></span> may raise this panic.   </p>  <p>  On the server side, the panic is raised in response to an  <code>EWsWinOpUpdateScreenRegion</code> or <code>EWsWinOpUpdateScreen</code>  request when not maintaining a full backup of a backed-up window.   </p>
+WSERV 37=<p>  Panic raised when it was not possible to read or write data to the  client thread. The data is usually contained in a descriptor.   </p>
+WSERV 38=<p>  The client attempted to access a sprite after the sprite's window  was destroyed. Note that pointer cursors are implemented as sprites.   </p>
+WSERV 39=<p>  A client requested event data without having received an event  telling it that the data was ready.   </p>
+WSERV 40=<p>  The mask for a sprite is smaller than the sprite&#8217;s bitmap. A mask  is permitted to be larger than its bitmap.   </p>
+WSERV 41=<p>  Bad sprite handle.   </p>  <p>  A null sprite handle was encountered, or a handle which was  supposed to refer to a sprite referred to something else.   </p>  <p>  The client-side methods  <span class="stripedlink"><code class="ApiItem">RWindowTreeNode::SetCustomPointerCursor()</code></span> and  <span class="stripedlink"><code class="ApiItem">RWsSession::SetSystemPointerCursor()</code></span>, amongst others, can  cause this panic to be raised; they correspond to the server requests  <code>EWsWinOpSetCustomPointerCursor</code> and  <code>EWsClOpSetSystemPointerCursor</code>.   </p>
+WSERV 42=<p>  A client attempted to set or clear a system pointer cursor without  first owning the list of system pointer cursors.   </p>  <p>  <span class="stripedlink"><code class="ApiItem">RWsSession::SetSystemPointerCursor()</code></span> and  <span class="stripedlink"><code class="ApiItem">RWsSession::ClearSystemPointerCursor()</code></span> can raise this  panic. See also <span class="stripedlink"><code class="ApiItem">RWsSession::ClaimSystemPointerCursorList()</code></span>  and <span class="stripedlink"><code class="ApiItem">RWsSession::FreeSystemPointerCursorList()</code></span>.   </p>  <p>  The server requests which can raise this panic are  <code>EWsClOpSetSystemPointerCursor</code> and  <code>EWsClOpClearSystemPointerCursor</code>.   </p>
+WSERV 43=<p>  A client attempted to enable a pointer move buffer when none was  allocated.   </p>  <p>  <span class="stripedlink"><code class="ApiItem">RWindowBase::EnablePointerMoveBuffer()</code></span> can  cause this panic to be emitted; the corresponding server request is  <code>EWsWinOpEnablePointerMoveBuffer</code>.   </p>
+WSERV 44=<p>  Raised in response to commands that send a string, when the string  has been incorrectly stored in the command buffer.   </p>
+WSERV 45=<p>  Not used.   </p>
+WSERV 46=<p>  An invalid call or request parameter was detected by  <code>CWsPassword</code>. This can be caused:   </p>  <ul>  <li>  <p>  By <span class="stripedlink"><code class="ApiItem">RWindowBase::PasswordWindow()</code></span> sending  an <code>EWsWinOpPasswordWindow</code> server request whose password mode  parameter is not recognised.   </p>  </li>  <li>  <p>  By an attempt to cancel the password window by a client which  doesn&#8217;t own the window.   </p>  </li>  <li>  <p>  By <span class="stripedlink"><code class="ApiItem">RWsSession::PasswordEntered()</code></span> sending a  <code>EWsClOpPasswordEntered</code> server request when no password window has  been set, or when the client does not own the password window.   </p>  </li>  </ul>  <p>  Valid password modes are defined in  <span class="stripedlink"><code class="ApiItem">TPasswordMode</code></span> of <code class="filename">w32std.h</code>.   </p>
+WSERV 47=<p>  An invalid compute mode was sent to the window server. On the  client side, <span class="stripedlink"><code class="ApiItem">RWsSession::ComputeMode()</code></span> can do this, the  window server request is <code>EWsClOpComputeMode</code>. Valid compute modes  are defined in the enumeration <span class="stripedlink"><code class="ApiItem">RWsSession::TComputeMode</code></span>,  which is declared in <code class="filename">w32std.h</code>.   </p>
+WSERV 48=<p>  A client attempted to set the display mode of a backed-up window.  This can be done with  <span class="stripedlink"><code class="ApiItem">RWindowBase::SetRequiredDisplayMode()</code></span> or the  <code>EWsWinOpRequiredDisplayMode</code> server request.   </p>
+WSERV 49=<p>  A client attempted to get a message when has not been signalled in  the server.   </p>  <p>  This panic can be raised on a client thread calling  <code class="ApiItem">RWindowGroup::FetchMessage()</code> or sending the  <code>EWsWinOpGetMessageSize</code> or <code>EWsWinOpGetMessage</code>  messages.   </p>
+WSERV 50=<p>  A client tried to send a second initialisation message, i.e. to  call <span class="stripedlink"><code class="ApiItem">RWsSession::Connect()</code></span> twice.   </p>
+WSERV 51=<p>  A client attempted to send a message without specifying a target  window.   </p>  <p>  This can be raised, for example, in response to  <span class="stripedlink"><code class="ApiItem">RWsSession::RequestOffEvents()</code></span>  </p>
+WSERV 52=<p>  A client attempted to perform and operation on a window that has  had its parent or ancestor deleted. An operation which might raise this panic  could be setting the window size, position or extent.   </p>  <p>  Introduced in v5.1   </p>
+WSERV 53=<p>  A client attempted to reset a window group&#8217;s default owning window.  For example, by calling the function  <code class="ApiItem">RWindowGroup::DefaultOwningWindow()</code> twice on the same  window group.   </p>  <p>  This is only raised in debug builds.   </p>
+WSERV 54=<p>  A client attempted to perform an operation on an invalid screen  mode.   </p>  <p>  For example, if the client called the functions  <span class="stripedlink"><code class="ApiItem">CWsScreenDevice::GetScreenModeSizeAndRotation()</code></span> or  <code class="ApiItem">CWsScreenDevice::SetScreenMode()</code> with an illegal index.   </p>  <p>  Introduced in v5.1   </p>
+WSERV 55=<p>  A client attempted to set an invalid screen enforcement mode.   </p>  <p>  The valid screen mode enforcement modes are defined in  <span class="stripedlink"><code class="ApiItem">TScreenModeEnforcement</code></span>.   </p>  <p>  Introduced in v5.1   </p>
+WSERV 56=<p>  A client specified an event type which was not a pointer event,  when this is what was required by the operation. e.g.  <span class="stripedlink"><code class="ApiItem">RWindowGroup::SimulatePointerEvent()</code></span>.   </p>  <p>  Introduced in v5.1   </p>
+WSERV 57=<p>  A client attempted to specify a screen rotation or orientation that  is not allowed. Each screen size mode has a list of allowed rotations.   </p>  <p>  Introduced in v5.1   </p>
+WSERV 58=<p>  A client attempted to call a function that can only be called on a  top level client window on a lower level window. A top level client window is a  window with a window group as a parent, e.g.  <span class="stripedlink"><code class="ApiItem">RWindowBase::MoveToGroup()</code></span>.   </p>  <p>  Introduced in v6.0   </p>
+WSERV 59=<p>  A client attempted to use a  <span class="stripedlink"><code class="ApiItem">RDirectScreenAccess</code></span> object's member functions in the wrong  order.   </p>  <p>  Introduced in v7.0   </p>
+WSERV 60=<p>  The handle to a window server resource is already in use (debug  builds only).   </p>  <p>  Introduced in v7.0   </p>
+WSERV 61=<p>  An attempt was made to set a custom text cursor (using  <span class="stripedlink"><code class="ApiItem">RWindowGroup::SetTextCursor()</code></span>) but the cursor's type was  not recognised.   </p>  <p>  Introduced in v7.0s.   </p>
+WSERV 62=<p>  An attempt was made to set a custom text cursor (using  <span class="stripedlink"><code class="ApiItem">RWindowGroup::SetTextCursor()</code></span>) whose alignment value is  invalid. For valid alignment values see the  <code class="ApiItem">TCustomTextCursorAlignment</code> enumeration in class  <span class="stripedlink"><code class="ApiItem">RWsSession</code></span>.   </p>  <p>  Introduced in v7.0s.   </p>
+WSERV 63=<p>  An attempt was made to set a custom text cursor (using  <span class="stripedlink"><code class="ApiItem">RWindowGroup::SetTextCursor()</code></span>) that does not have any  sprite members set.   </p>  <p>  Introduced in v7.0s.   </p>
+-1=<p><b>KErrNotFound</b>: Unable to find the specified object</p>
+KErrNotFound=<p><b>(-1)</b>: Unable to find the specified object</p>
+-2=<p><b>KErrGeneral</b>: General (unspecified) error</p>
+KErrGeneral=<p><b>(-2)</b>: General (unspecified) error</p>
+-3=<p><b>KErrCancel</b>: The operation was cancelled</p>
+KErrCancel=<p><b>(-3)</b>: The operation was cancelled</p>
+-4=<p><b>KErrNoMemory</b>: Not enough memory. Close some applications and try again</p>
+KErrNoMemory=<p><b>(-4)</b>: Not enough memory. Close some applications and try again</p>
+-5=<p><b>KErrNotSupported</b>: The operation requested is not supported</p>
+KErrNotSupported=<p><b>(-5)</b>: The operation requested is not supported</p>
+-6=<p><b>KErrArgument</b>: Bad request</p>
+KErrArgument=<p><b>(-6)</b>: Bad request</p>
+-7=<p><b>KErrTotalLossOfPrecision</b>: Total loss of precision</p>
+KErrTotalLossOfPrecision=<p><b>(-7)</b>: Total loss of precision</p>
+-8=<p><b>KErrBadHandle</b>: Bad object</p>
+KErrBadHandle=<p><b>(-8)</b>: Bad object</p>
+-9=<p><b>KErrOverflow</b>: Overflow</p>
+KErrOverflow=<p><b>(-9)</b>: Overflow</p>
+-10=<p><b>KErrUnderflow</b>: Underflow</p>
+KErrUnderflow=<p><b>(-10)</b>: Underflow</p>
+-11=<p><b>KErrAlreadyExists</b>: Already exists</p>
+KErrAlreadyExists=<p><b>(-11)</b>: Already exists</p>
+-12=<p><b>KErrPathNotFound</b>: Unable to find the specified folder</p>
+KErrPathNotFound=<p><b>(-12)</b>: Unable to find the specified folder</p>
+-13=<p><b>KErrDied</b>: Closed</p>
+KErrDied=<p><b>(-13)</b>: Closed</p>
+-14=<p><b>KErrInUse</b>: The specified object is currently in use by another program</p>
+KErrInUse=<p><b>(-14)</b>: The specified object is currently in use by another program</p>
+-15=<p><b>KErrServerTerminated</b>: Server has closed</p>
+KErrServerTerminated=<p><b>(-15)</b>: Server has closed</p>
+-16=<p><b>KErrServerBusy</b>: Server busy</p>
+KErrServerBusy=<p><b>(-16)</b>: Server busy</p>
+-17=<p><b>KErrCompletion</b>: Completion error</p>
+KErrCompletion=<p><b>(-17)</b>: Completion error</p>
+-18=<p><b>KErrNotReady</b>: Not ready</p>
+KErrNotReady=<p><b>(-18)</b>: Not ready</p>
+-19=<p><b>KErrUnknown</b>: Unknown error</p>
+KErrUnknown=<p><b>(-19)</b>: Unknown error</p>
+-20=<p><b>KErrCorrupt</b>: Corrupt</p>
+KErrCorrupt=<p><b>(-20)</b>: Corrupt</p>
+-21=<p><b>KErrAccessDenied</b>: Access denied</p>
+KErrAccessDenied=<p><b>(-21)</b>: Access denied</p>
+-22=<p><b>KErrLocked</b>: Locked</p>
+KErrLocked=<p><b>(-22)</b>: Locked</p>
+-23=<p><b>KErrWrite</b>: Failed to write</p>
+KErrWrite=<p><b>(-23)</b>: Failed to write</p>
+-24=<p><b>KErrDisMounted</b>: Wrong disk present</p>
+KErrDisMounted=<p><b>(-24)</b>: Wrong disk present</p>
+-25=<p><b>KErrEof</b>: Unexpected end of file</p>
+KErrEof=<p><b>(-25)</b>: Unexpected end of file</p>
+-26=<p><b>KErrDiskFull</b>: Disk full</p>
+KErrDiskFull=<p><b>(-26)</b>: Disk full</p>
+-27=<p><b>KErrBadDriver</b>: Bad device driver</p>
+KErrBadDriver=<p><b>(-27)</b>: Bad device driver</p>
+-28=<p><b>KErrBadName</b>: Bad name</p>
+KErrBadName=<p><b>(-28)</b>: Bad name</p>
+-29=<p><b>KErrCommsLineFail</b>: Comms line failed</p>
+KErrCommsLineFail=<p><b>(-29)</b>: Comms line failed</p>
+-30=<p><b>KErrCommsFrame</b>: Comms frame error</p>
+KErrCommsFrame=<p><b>(-30)</b>: Comms frame error</p>
+-31=<p><b>KErrCommsOverrun</b>: Comms overrun error</p>
+KErrCommsOverrun=<p><b>(-31)</b>: Comms overrun error</p>
+-32=<p><b>KErrCommsParity</b>: Comms parity error</p>
+KErrCommsParity=<p><b>(-32)</b>: Comms parity error</p>
+-33=<p><b>KErrTimedOut</b>: Timed out</p>
+KErrTimedOut=<p><b>(-33)</b>: Timed out</p>
+-34=<p><b>KErrCouldNotConnect</b>: Failed to connect</p>
+KErrCouldNotConnect=<p><b>(-34)</b>: Failed to connect</p>
+-35=<p><b>KErrCouldNotDisconnect</b>: Failed to disconnect</p>
+KErrCouldNotDisconnect=<p><b>(-35)</b>: Failed to disconnect</p>
+-36=<p><b>KErrDisconnected</b>: Disconnected</p>
+KErrDisconnected=<p><b>(-36)</b>: Disconnected</p>
+-37=<p><b>KErrBadLibraryEntryPoint</b>: Bad library entry point</p>
+KErrBadLibraryEntryPoint=<p><b>(-37)</b>: Bad library entry point</p>
+-38=<p><b>KErrBadDescriptor</b>: Bad descriptor</p>
+KErrBadDescriptor=<p><b>(-38)</b>: Bad descriptor</p>
+-39=<p><b>KErrAbort</b>: Interrupted</p>
+KErrAbort=<p><b>(-39)</b>: Interrupted</p>
+-40=<p><b>KErrTooBig</b>: Too big</p>
+KErrTooBig=<p><b>(-40)</b>: Too big</p>
+-41=<p><b>KErrDivideByZero</b>: Divide by zero</p>
+KErrDivideByZero=<p><b>(-41)</b>: Divide by zero</p>
+-42=<p><b>KErrBadPower</b>: Batteries too low</p>
+KErrBadPower=<p><b>(-42)</b>: Batteries too low</p>
+-43=<p><b>KErrDirFull</b>: Folder full</p>
+KErrDirFull=<p><b>(-43)</b>: Folder full</p>
+-44=<p><b>KErrHardwareNotAvailable</b>: </p>
+KErrHardwareNotAvailable=<p><b>(-44)</b>: </p>
+-45=<p><b>KErrSessionClosed</b>: </p>
+KErrSessionClosed=<p><b>(-45)</b>: </p>
+-46=<p><b>KErrPermissionDenied</b>: Permission denied when attempting operation</p>
+KErrPermissionDenied=<p><b>(-46)</b>: Permission denied when attempting operation</p>
+-101=<p><b>KFaxErrModemNotWorking</b>: Could not connect to the fax machine. The fax modem has failed</p>
+KFaxErrModemNotWorking=<p><b>(-101)</b>: Could not connect to the fax machine. The fax modem has failed</p>
+-102=<p><b>KFaxErrCannotConnect</b>: Could not connect to the fax machine</p>
+KFaxErrCannotConnect=<p><b>(-102)</b>: Could not connect to the fax machine</p>
+-103=<p><b>KFaxErrCSIorCIG</b>: Could not connect to the fax machine</p>
+KFaxErrCSIorCIG=<p><b>(-103)</b>: Could not connect to the fax machine</p>
+-104=<p><b>KFaxErrDISorDTC</b>: Could not connect to the fax machine</p>
+KFaxErrDISorDTC=<p><b>(-104)</b>: Could not connect to the fax machine</p>
+-105=<p><b>KFaxErrFrameFail</b>: The connection to the fax machine has been broken</p>
+KFaxErrFrameFail=<p><b>(-105)</b>: The connection to the fax machine has been broken</p>
+-106=<p><b>KFaxErrAtNegotiatedSpeed</b>: Could not connect to the fax machine</p>
+KFaxErrAtNegotiatedSpeed=<p><b>(-106)</b>: Could not connect to the fax machine</p>
+-107=<p><b>KFaxErrCFR</b>: Could not connect to the fax machine</p>
+KFaxErrCFR=<p><b>(-107)</b>: Could not connect to the fax machine</p>
+-108=<p><b>KFaxErrMCF</b>: Could not connect to the fax machine</p>
+KFaxErrMCF=<p><b>(-108)</b>: Could not connect to the fax machine</p>
+-109=<p><b>KFaxErrCRP</b>: Could not connect to the fax machine</p>
+KFaxErrCRP=<p><b>(-109)</b>: Could not connect to the fax machine</p>
+-110=<p><b>KFaxErrNoDial</b>: Could not connect to the fax machine. Could not dial fax number</p>
+KFaxErrNoDial=<p><b>(-110)</b>: Could not connect to the fax machine. Could not dial fax number</p>
+-111=<p><b>KFaxErrNoDialTone</b>: Could not connect to the fax machine. No dial tone was detected</p>
+KFaxErrNoDialTone=<p><b>(-111)</b>: Could not connect to the fax machine. No dial tone was detected</p>
+-112=<p><b>KFaxErrBusy</b>: Could not connect to the fax machine. The line is busy</p>
+KFaxErrBusy=<p><b>(-112)</b>: Could not connect to the fax machine. The line is busy</p>
+-113=<p><b>KFaxErrNoAnswer</b>: Could not connect to the fax machine. The call was not answered</p>
+KFaxErrNoAnswer=<p><b>(-113)</b>: Could not connect to the fax machine. The call was not answered</p>
+-114=<p><b>KFaxErrNoCarrier</b>: Could not connect to the fax machine. The call was not answered by a fax machine</p>
+KFaxErrNoCarrier=<p><b>(-114)</b>: Could not connect to the fax machine. The call was not answered by a fax machine</p>
+-115=<p><b>KFaxErrRemoteCannotReceive</b>: Could not send to the fax machine. The fax machine is unable to receive faxes</p>
+KFaxErrRemoteCannotReceive=<p><b>(-115)</b>: Could not send to the fax machine. The fax machine is unable to receive faxes</p>
+-116=<p><b>KFaxErrCompression</b>: Panic</p>
+KFaxErrCompression=<p><b>(-116)</b>: Panic</p>
+-117=<p><b>KFaxErrPageTooLong</b>: Panic</p>
+KFaxErrPageTooLong=<p><b>(-117)</b>: Panic</p>
+-118=<p><b>KFaxErrDCN</b>: Could not connect to the fax machine</p>
+KFaxErrDCN=<p><b>(-118)</b>: Could not connect to the fax machine</p>
+-119=<p><b>KFaxErrRemoteDCN</b>: Could not connect to the fax machine</p>
+KFaxErrRemoteDCN=<p><b>(-119)</b>: Could not connect to the fax machine</p>
+-120=<p><b>KFaxErrHDLC</b>: Could not connect to the fax machine</p>
+KFaxErrHDLC=<p><b>(-120)</b>: Could not connect to the fax machine</p>
+-121=<p><b>KFaxErrStopAndWait</b>: Panic</p>
+KFaxErrStopAndWait=<p><b>(-121)</b>: Panic</p>
+-122=<p><b>KFaxErrTrainStop</b>: Could not connect to the fax machine</p>
+KFaxErrTrainStop=<p><b>(-122)</b>: Could not connect to the fax machine</p>
+-123=<p><b>KFaxErrReceiveTimeout</b>: Could not send to the fax machine. The connection has timed out</p>
+KFaxErrReceiveTimeout=<p><b>(-123)</b>: Could not send to the fax machine. The connection has timed out</p>
+-124=<p><b>KFaxErrCannotEndData</b>: The connection to the fax machine has been broken</p>
+KFaxErrCannotEndData=<p><b>(-124)</b>: The connection to the fax machine has been broken</p>
+-125=<p><b>KFaxErrEOP</b>: Could not connect to the fax machine</p>
+KFaxErrEOP=<p><b>(-125)</b>: Could not connect to the fax machine</p>
+-126=<p><b>KFaxErrMPS</b>: Could not connect to the fax machine</p>
+KFaxErrMPS=<p><b>(-126)</b>: Could not connect to the fax machine</p>
+-127=<p><b>KFaxErrNoReceiveMode</b>: Could not connect to the fax machine</p>
+KFaxErrNoReceiveMode=<p><b>(-127)</b>: Could not connect to the fax machine</p>
+-128=<p><b>KFaxErrCannotAnswer</b>: Could not connect to the fax machine</p>
+KFaxErrCannotAnswer=<p><b>(-128)</b>: Could not connect to the fax machine</p>
+-129=<p><b>KFaxErrPrematureHangup</b>: Could not receive fax. The fax machine ended the call</p>
+KFaxErrPrematureHangup=<p><b>(-129)</b>: Could not receive fax. The fax machine ended the call</p>
+-130=<p><b>KFaxErrModemResponse</b>: Could not connect to the fax machine</p>
+KFaxErrModemResponse=<p><b>(-130)</b>: Could not connect to the fax machine</p>
+-131=<p><b>KFaxErrPrematureOK</b>: Could not connect to the fax machine</p>
+KFaxErrPrematureOK=<p><b>(-131)</b>: Could not connect to the fax machine</p>
+-132=<p><b>KFaxErrNoFinalOK</b>: Could not connect to the fax machine</p>
+KFaxErrNoFinalOK=<p><b>(-132)</b>: Could not connect to the fax machine</p>
+-133=<p><b>KFaxErrUnknownPageCode</b>: Could not connect to the fax machine</p>
+KFaxErrUnknownPageCode=<p><b>(-133)</b>: Could not connect to the fax machine</p>
+-134=<p><b>KFaxErrNoHangup</b>: Could not connect to the fax machine</p>
+KFaxErrNoHangup=<p><b>(-134)</b>: Could not connect to the fax machine</p>
+-135=<p><b>KFaxErrNoNegotiate</b>: Could not connect to the fax machine</p>
+KFaxErrNoNegotiate=<p><b>(-135)</b>: Could not connect to the fax machine</p>
+-136=<p><b>KFaxErrModemDisconnect</b>: Could not connect to the fax machine</p>
+KFaxErrModemDisconnect=<p><b>(-136)</b>: Could not connect to the fax machine</p>
+-137=<p><b>KFaxErrWrongModemType</b>: Could not connect to the fax machine</p>
+KFaxErrWrongModemType=<p><b>(-137)</b>: Could not connect to the fax machine</p>
+-138=<p><b>KFaxErrTrainFail</b>: Could not connect to the fax machine</p>
+KFaxErrTrainFail=<p><b>(-138)</b>: Could not connect to the fax machine</p>
+-139=<p><b>KFaxTransmitterStalled</b>: Could not connect to the fax machine</p>
+KFaxTransmitterStalled=<p><b>(-139)</b>: Could not connect to the fax machine</p>
+-140=<p><b>KFaxReceiverOverflow</b>: Could not connect to the fax machine</p>
+KFaxReceiverOverflow=<p><b>(-140)</b>: Could not connect to the fax machine</p>
+-141=<p><b>KFaxCannotOpenPort</b>: Could not connect to the fax machine</p>
+KFaxCannotOpenPort=<p><b>(-141)</b>: Could not connect to the fax machine</p>
+-142=<p><b>KFaxCannotCloseStore</b>: Could not connect to the fax machine</p>
+KFaxCannotCloseStore=<p><b>(-142)</b>: Could not connect to the fax machine</p>
+-143=<p><b>KFaxCannotOpenStore</b>: Could not connect to the fax machine</p>
+KFaxCannotOpenStore=<p><b>(-143)</b>: Could not connect to the fax machine</p>
+-144=<p><b>KFaxThreadError</b>: Could not connect to the fax machine</p>
+KFaxThreadError=<p><b>(-144)</b>: Could not connect to the fax machine</p>
+-145=<p><b>KFaxFileSessionError</b>: Could not connect to the fax machine</p>
+KFaxFileSessionError=<p><b>(-145)</b>: Could not connect to the fax machine</p>
+-146=<p><b>KFaxLogCreateError</b>: Could not connect to the fax machine</p>
+KFaxLogCreateError=<p><b>(-146)</b>: Could not connect to the fax machine</p>
+-147=<p><b>KFaxFileSeeKError</b>: Could not connect to the fax machine</p>
+KFaxFileSeeKError=<p><b>(-147)</b>: Could not connect to the fax machine</p>
+-148=<p><b>KFaxPDDError</b>: Could not connect to the fax machine</p>
+KFaxPDDError=<p><b>(-148)</b>: Could not connect to the fax machine</p>
+-149=<p><b>KFaxLDDError</b>: Could not connect to the fax machine</p>
+KFaxLDDError=<p><b>(-149)</b>: Could not connect to the fax machine</p>
+-150=<p><b>KFaxC32Error</b>: Could not connect to the fax machine</p>
+KFaxC32Error=<p><b>(-150)</b>: Could not connect to the fax machine</p>
+-151=<p><b>KFaxCommsServerError</b>: Could not connect to the fax machine</p>
+KFaxCommsServerError=<p><b>(-151)</b>: Could not connect to the fax machine</p>
+-152=<p><b>KFaxCommsPortError</b>: Could not connect to the fax machine</p>
+KFaxCommsPortError=<p><b>(-152)</b>: Could not connect to the fax machine</p>
+-153=<p><b>KFaxCancelRequested</b>: Could not connect to the fax machine</p>
+KFaxCancelRequested=<p><b>(-153)</b>: Could not connect to the fax machine</p>
+-154=<p><b>KFaxNoClass2Xon</b>: Could not connect to the fax machine</p>
+KFaxNoClass2Xon=<p><b>(-154)</b>: Could not connect to the fax machine</p>
+-155=<p><b>KFaxConfigError</b>: Could not connect to the fax machine</p>
+KFaxConfigError=<p><b>(-155)</b>: Could not connect to the fax machine</p>
+-156=<p><b>KFaxCannotAutodetect</b>: Could not connect to the fax machine</p>
+KFaxCannotAutodetect=<p><b>(-156)</b>: Could not connect to the fax machine</p>
+-157=<p><b>KCannotFindFirstPage</b>: Could not connect to the fax machine</p>
+KCannotFindFirstPage=<p><b>(-157)</b>: Could not connect to the fax machine</p>
+-158=<p><b>KFaxBadInitialization</b>: Could not connect to the fax machine</p>
+KFaxBadInitialization=<p><b>(-158)</b>: Could not connect to the fax machine</p>
+-159=<p><b>KFaxOnlyJustAutoDetected</b>: Could not connect to the fax machine</p>
+KFaxOnlyJustAutoDetected=<p><b>(-159)</b>: Could not connect to the fax machine</p>
+-160=<p><b>KFaxBelowMinSpeed</b>: Could not connect to the fax machine</p>
+KFaxBelowMinSpeed=<p><b>(-160)</b>: Could not connect to the fax machine</p>
+-161=<p><b>KFaxPollingUnsupported</b>: Could not connect to the fax machine</p>
+KFaxPollingUnsupported=<p><b>(-161)</b>: Could not connect to the fax machine</p>
+-162=<p><b>KFaxNothingToPoll</b>: Could not connect to the fax machine</p>
+KFaxNothingToPoll=<p><b>(-162)</b>: Could not connect to the fax machine</p>
+-163=<p><b>KfaxEtelServerError</b>: Could not connect to the fax machine</p>
+KfaxEtelServerError=<p><b>(-163)</b>: Could not connect to the fax machine</p>
+-170=<p><b>KPop3CannotConnect</b>: The POP3 server refused to allow a connection</p>
+KPop3CannotConnect=<p><b>(-170)</b>: The POP3 server refused to allow a connection</p>
+-171=<p><b>KPop3InvalidUser</b>: The POP3 server refused to allow a connection. Check your mailbox username</p>
+KPop3InvalidUser=<p><b>(-171)</b>: The POP3 server refused to allow a connection. Check your mailbox username</p>
+-172=<p><b>KPop3InvalidLogin</b>: The POP3 server refused to allow a connection. Check your mailbox username and password</p>
+KPop3InvalidLogin=<p><b>(-172)</b>: The POP3 server refused to allow a connection. Check your mailbox username and password</p>
+-173=<p><b>KPop3CannotCreateApopLogonString</b>: Could not create secure logon string. Mailbox server may not support secure logon</p>
+KPop3CannotCreateApopLogonString=<p><b>(-173)</b>: Could not create secure logon string. Mailbox server may not support secure logon</p>
+-174=<p><b>KPop3ProblemWithRemotePopServer</b>: Problem communicating with POP3 server</p>
+KPop3ProblemWithRemotePopServer=<p><b>(-174)</b>: Problem communicating with POP3 server</p>
+-175=<p><b>KPop3CannotOpenServiceEntry</b>: Panic</p>
+KPop3CannotOpenServiceEntry=<p><b>(-175)</b>: Panic</p>
+-176=<p><b>KPop3CannotSetRequiredFolderContext</b>: Panic</p>
+KPop3CannotSetRequiredFolderContext=<p><b>(-176)</b>: Panic</p>
+-177=<p><b>KPop3InvalidApopLogin</b>: Panic</p>
+KPop3InvalidApopLogin=<p><b>(-177)</b>: Panic</p>
+-180=<p><b>KImsKErrorDNSNotFound</b>: Could not find a DNS server. Please check the DNS address in the internet control panel</p>
+KImsKErrorDNSNotFound=<p><b>(-180)</b>: Could not find a DNS server. Please check the DNS address in the internet control panel</p>
+-181=<p><b>KImsKErrorControlPanelLocked</b>: Could not connect to internet. Please ensure the internet control panel Or equivalent description to internet control panel is closed</p>
+KImsKErrorControlPanelLocked=<p><b>(-181)</b>: Could not connect to internet. Please ensure the internet control panel Or equivalent description to internet control panel is closed</p>
+-190=<p><b>KErrNetUnreach</b>: Could not connect to the network. Currently unreachable</p>
+KErrNetUnreach=<p><b>(-190)</b>: Could not connect to the network. Currently unreachable</p>
+-191=<p><b>KErrHostUnreach</b>: Could not connect to the specified server</p>
+KErrHostUnreach=<p><b>(-191)</b>: Could not connect to the specified server</p>
+-192=<p><b>KErrNoProtocolOpt</b>: The specified server refuses the selected protocol</p>
+KErrNoProtocolOpt=<p><b>(-192)</b>: The specified server refuses the selected protocol</p>
+-193=<p><b>KErrUrgentData</b>: Panic</p>
+KErrUrgentData=<p><b>(-193)</b>: Panic</p>
+-200=<p><b>KErrImapConnectFail</b>: Could not connect to IMAP4 server</p>
+KErrImapConnectFail=<p><b>(-200)</b>: Could not connect to IMAP4 server</p>
+-201=<p><b>KErrImapServerFail</b>: The connection to the IMAP4 server has been broken</p>
+KErrImapServerFail=<p><b>(-201)</b>: The connection to the IMAP4 server has been broken</p>
+-202=<p><b>KErrImapServerParse</b>: Panic</p>
+KErrImapServerParse=<p><b>(-202)</b>: Panic</p>
+-203=<p><b>KErrImapServerBusy</b>: The IMAP4 server refused to allow connection. The server is currently busy</p>
+KErrImapServerBusy=<p><b>(-203)</b>: The IMAP4 server refused to allow connection. The server is currently busy</p>
+-204=<p><b>KErrImapServerVersion</b>: Could not connect to the IMAP server. The IMAP server is of the wrong version</p>
+KErrImapServerVersion=<p><b>(-204)</b>: Could not connect to the IMAP server. The IMAP server is of the wrong version</p>
+-205=<p><b>KErrImapSendFail</b>: Could not transmit to the IMAP4 server</p>
+KErrImapSendFail=<p><b>(-205)</b>: Could not transmit to the IMAP4 server</p>
+-206=<p><b>KErrImapBadLogon</b>: The IMAP4 server refused to allow a connection. Check your mailbox username and password</p>
+KErrImapBadLogon=<p><b>(-206)</b>: The IMAP4 server refused to allow a connection. Check your mailbox username and password</p>
+-207=<p><b>KErrImapSelectFail</b>: Panic</p>
+KErrImapSelectFail=<p><b>(-207)</b>: Panic</p>
+-208=<p><b>KErrImapWrongFolder</b>: Could not select an IMAP4 folder</p>
+KErrImapWrongFolder=<p><b>(-208)</b>: Could not select an IMAP4 folder</p>
+-240=<p><b>KSmtpNoMailFromErr</b>: Could not send email due to an invalid return email address. Check your email address in your account settings</p>
+KSmtpNoMailFromErr=<p><b>(-240)</b>: Could not send email due to an invalid return email address. Check your email address in your account settings</p>
+-241=<p><b>KSmtpUnknownErr</b>: Problem while sending email</p>
+KSmtpUnknownErr=<p><b>(-241)</b>: Problem while sending email</p>
+-242=<p><b>KSmtpBadMailFromAddress</b>: "Email message has an invalid ""From"" address"</p>
+KSmtpBadMailFromAddress=<p><b>(-242)</b>: "Email message has an invalid ""From"" address"</p>
+-243=<p><b>KSmtpBadRcptToAddress</b>: "Email message has an invalid ""To""</p>
+KSmtpBadRcptToAddress=<p><b>(-243)</b>: "Email message has an invalid ""To""</p>
+-244=<p><b>KSmtpLoginRefused</b>: SMTP server refused to allow connection</p>
+KSmtpLoginRefused=<p><b>(-244)</b>: SMTP server refused to allow connection</p>
+-500=<p><b>KBspInvalidMessage</b>: Corrupt message cannot be read.</p>
+KBspInvalidMessage=<p><b>(-500)</b>: Corrupt message cannot be read.</p>
+-501=<p><b>KBspSmartMessageInvalidToken</b>: Corrupt message cannot be read.</p>
+KBspSmartMessageInvalidToken=<p><b>(-501)</b>: Corrupt message cannot be read.</p>
+-502=<p><b>KBspSmartMessageNoParserDefined</b>: Unknown message type cannot be read.</p>
+KBspSmartMessageNoParserDefined=<p><b>(-502)</b>: Unknown message type cannot be read.</p>
+-510=<p><b>KIacpUnknownSmsType</b>: Unknown message type cannot be read.</p>
+KIacpUnknownSmsType=<p><b>(-510)</b>: Unknown message type cannot be read.</p>
+-511=<p><b>KIacpBIOMsgTypeNotSupported</b>: Unknown message type cannot be read.</p>
+KIacpBIOMsgTypeNotSupported=<p><b>(-511)</b>: Unknown message type cannot be read.</p>
+-512=<p><b>KiacpMandatoryDataNotSet</b>: Corrupt message cannot be read.</p>
+KiacpMandatoryDataNotSet=<p><b>(-512)</b>: Corrupt message cannot be read.</p>
+-513=<p><b>KIacpUnknownMailProtocol</b>: Mailbox configuration message refers to an unknown protocol.</p>
+KIacpUnknownMailProtocol=<p><b>(-513)</b>: Mailbox configuration message refers to an unknown protocol.</p>
+-514=<p><b>KIacpErrRightToken</b>: Corrupt message cannot be read.</p>
+KIacpErrRightToken=<p><b>(-514)</b>: Corrupt message cannot be read.</p>
+-515=<p><b>KIacpErrLeftToken</b>: Corrupt message cannot be read.</p>
+KIacpErrLeftToken=<p><b>(-515)</b>: Corrupt message cannot be read.</p>
+-516=<p><b>KIacpErrSmsDataNotParsed</b>: Corrupt message cannot be read.</p>
+KIacpErrSmsDataNotParsed=<p><b>(-516)</b>: Corrupt message cannot be read.</p>
+-517=<p><b>KIacpErrSmsDataNotRestored</b>: Corrupt message cannot be read.</p>
+KIacpErrSmsDataNotRestored=<p><b>(-517)</b>: Corrupt message cannot be read.</p>
+-518=<p><b>KIacpScriptErrISPNotFound</b>: Mailbox configuration message specifies an unknown Internet Access Point.</p>
+KIacpScriptErrISPNotFound=<p><b>(-518)</b>: Mailbox configuration message specifies an unknown Internet Access Point.</p>
+-519=<p><b>KIacpErrScriptNotDefined</b>: Message script error.</p>
+KIacpErrScriptNotDefined=<p><b>(-519)</b>: Message script error.</p>
+-520=<p><b>KIacpErrScriptNotFoundInDB</b>: Message script error.</p>
+KIacpErrScriptNotFoundInDB=<p><b>(-520)</b>: Message script error.</p>
+-521=<p><b>KIacpErrScriptAlreadyAdd</b>: Message script error.</p>
+KIacpErrScriptAlreadyAdd=<p><b>(-521)</b>: Message script error.</p>
+-1000=<p><b>KErrExtended</b>: </p>
+KErrWouldBlock=<p><b>(-1000)</b>: Panic</p>
+KErrExtended=<p><b>(-1000)</b>: </p>
+-1001=<p><b>KErrExtendedWithText</b>: </p>
+KErrExtendedWithText=<p><b>(-1001)</b>: </p>
+-1002=<p><b>KLeaveWithoutAlert</b>: </p>
+KLeaveWithoutAlert=<p><b>(-1002)</b>: </p>
+-1003=<p><b>KLeaveExit</b>: </p>
+KLeaveExit=<p><b>(-1003)</b>: </p>
+-2000=<p><b>KErrEtelNotCallOwner</b>: Panic</p>
+KErrEtelNotCallOwner=<p><b>(-2000)</b>: Panic</p>
+-2001=<p><b>KErrEtelDuplicatePhoneName</b>: Panic</p>
+KErrEtelDuplicatePhoneName=<p><b>(-2001)</b>: Panic</p>
+-2002=<p><b>KErrEtelAlreadyCallOwner</b>: Panic</p>
+KErrEtelAlreadyCallOwner=<p><b>(-2002)</b>: Panic</p>
+-2003=<p><b>KErrEtelNoCarrier</b>: Problem communicating receiving device. Call was unexpectedly dropped</p>
+KErrEtelNoCarrier=<p><b>(-2003)</b>: Problem communicating receiving device. Call was unexpectedly dropped</p>
+-2004=<p><b>KErrEtelBusyDetected</b>: Phone number is busy. Wait before trying again</p>
+KErrEtelBusyDetected=<p><b>(-2004)</b>: Phone number is busy. Wait before trying again</p>
+-2005=<p><b>KErrEtelNoClientInterestedInThisCall</b>: Panic</p>
+KErrEtelNoClientInterestedInThisCall=<p><b>(-2005)</b>: Panic</p>
+-2006=<p><b>KErrEtelInitialisationFailure</b>: Panic</p>
+KErrEtelInitialisationFailure=<p><b>(-2006)</b>: Panic</p>
+-2007=<p><b>KErrEtelCallNotActive</b>: Panic</p>
+KErrEtelCallNotActive=<p><b>(-2007)</b>: Panic</p>
+-2008=<p><b>KErrEtelNoAnswer</b>: Call was not answered</p>
+KErrEtelNoAnswer=<p><b>(-2008)</b>: Call was not answered</p>
+-2009=<p><b>KErrEtelNoDialTone</b>: Panic</p>
+KErrEtelNoDialTone=<p><b>(-2009)</b>: Panic</p>
+-2010=<p><b>KErrEtelConfigPortFailure</b>: Panic</p>
+KErrEtelConfigPortFailure=<p><b>(-2010)</b>: Panic</p>
+-2011=<p><b>KErrEtelFaxChunkNotCreated</b>: Panic</p>
+KErrEtelFaxChunkNotCreated=<p><b>(-2011)</b>: Panic</p>
+-2012=<p><b>KErrEtelNotFaxOwner</b>: Panic</p>
+KErrEtelNotFaxOwner=<p><b>(-2012)</b>: Panic</p>
+-2013=<p><b>KErrEtelPortNotLoanedToClient</b>: Panic</p>
+KErrEtelPortNotLoanedToClient=<p><b>(-2013)</b>: Panic</p>
+-2014=<p><b>KErrEtelWrongModemType</b>: Panic</p>
+KErrEtelWrongModemType=<p><b>(-2014)</b>: Panic</p>
+-2015=<p><b>KErrEtelUnknownModemCapability</b>: Panic</p>
+KErrEtelUnknownModemCapability=<p><b>(-2015)</b>: Panic</p>
+-2016=<p><b>KErrEtelAnswerAlreadyOutstanding</b>: Panic</p>
+KErrEtelAnswerAlreadyOutstanding=<p><b>(-2016)</b>: Panic</p>
+-2017=<p><b>KErrEtelModemNotDetected</b>: Panic</p>
+KErrEtelModemNotDetected=<p><b>(-2017)</b>: Panic</p>
+-2018=<p><b>KErrEtelModemSettingsCorrupt</b>: Panic</p>
+KErrEtelModemSettingsCorrupt=<p><b>(-2018)</b>: Panic</p>
+-3001=<p><b>KErrExitNoModem</b>: No response from phone. Ensure phone is switched on</p>
+KErrExitNoModem=<p><b>(-3001)</b>: No response from phone. Ensure phone is switched on</p>
+-3002=<p><b>KErrExitModemError</b>: Problem communicating with Internet service's modem</p>
+KErrExitModemError=<p><b>(-3002)</b>: Problem communicating with Internet service's modem</p>
+-3003=<p><b>KErrExitLoginFail</b>: Internet username or password is incorrect.</p>
+KErrExitLoginFail=<p><b>(-3003)</b>: Internet username or password is incorrect.</p>
+-3004=<p><b>KErrExitScriptTimeOut</b>: Internet service login script timed out. Internet service login script may be incorrect.</p>
+KErrExitScriptTimeOut=<p><b>(-3004)</b>: Internet service login script timed out. Internet service login script may be incorrect.</p>
+-3005=<p><b>KErrExitScriptError</b>: Problem with Internet service login script. Internet service login script may be incorrect.</p>
+KErrExitScriptError=<p><b>(-3005)</b>: Problem with Internet service login script. Internet service login script may be incorrect.</p>
+-3006=<p><b>KErrNetDialDatabaseDefaultUndefined</b>: </p>
+KErrNetDialDatabaseDefaultUndefined=<p><b>(-3006)</b>: </p>
+-3007=<p><b>KErrNetDialDatabaseTypeUnknown</b>: </p>
+KErrNetDialDatabaseTypeUnknown=<p><b>(-3007)</b>: </p>
+-3008=<p><b>KErrNetDialDatabaseNotFound</b>: </p>
+KErrNetDialDatabaseNotFound=<p><b>(-3008)</b>: </p>
+-3009=<p><b>KErrNetDialHscsdNotSupported</b>: </p>
+KErrNetDialHscsdNotSupported=<p><b>(-3009)</b>: </p>
+-3050=<p><b>KErrIfAuthenticationFailure</b>: Internet username or password is incorrect</p>
+KErrIfAuthenticationFailure=<p><b>(-3050)</b>: Internet username or password is incorrect</p>
+-3051=<p><b>KErrIfAuthNotSecure</b>: Internet service server only allows plain text authentication. This is currently disabled.</p>
+KErrIfAuthNotSecure=<p><b>(-3051)</b>: Internet service server only allows plain text authentication. This is currently disabled.</p>
+-3052=<p><b>KErrIfAccountDisabled</b>: Could not connect to Internet service. Your account has been disabled</p>
+KErrIfAccountDisabled=<p><b>(-3052)</b>: Could not connect to Internet service. Your account has been disabled</p>
+-3053=<p><b>KErrIfRestrictedLogonHours</b>: Could not connect to Internet service. Your account is only active during restricted hours</p>
+KErrIfRestrictedLogonHours=<p><b>(-3053)</b>: Could not connect to Internet service. Your account is only active during restricted hours</p>
+-3054=<p><b>KErrIfPasswdExpired</b>: Could not connect to Internet service. Your Internet password has expired</p>
+KErrIfPasswdExpired=<p><b>(-3054)</b>: Could not connect to Internet service. Your Internet password has expired</p>
+-3055=<p><b>KErrIfNoDialInPermission</b>: Could not connect to Internet service. Your do not have dial-in permission</p>
+KErrIfNoDialInPermission=<p><b>(-3055)</b>: Could not connect to Internet service. Your do not have dial-in permission</p>
+-3056=<p><b>KErrIfChangingPassword</b>: Panic</p>
+KErrIfChangingPassword=<p><b>(-3056)</b>: Panic</p>
+-3057=<p><b>KErrIfCallbackNotAcceptable</b>: Could not connect to Internet service. Callback is not supported</p>
+KErrIfCallbackNotAcceptable=<p><b>(-3057)</b>: Could not connect to Internet service. Callback is not supported</p>
+-3058=<p><b>KErrIfDNSNotFound</b>: Could not find specified Internet server</p>
+KErrIfDNSNotFound=<p><b>(-3058)</b>: Could not find specified Internet server</p>
+-3059=<p><b>KErrIfLRDBadLine</b>: Bad line to Internet service dropped</p>
+KErrIfLRDBadLine=<p><b>(-3059)</b>: Bad line to Internet service dropped</p>
+-3060=<p><b>KErrIfNoServerPresent</b>: Panic</p>
+KErrIfNoServerPresent=<p><b>(-3060)</b>: Panic</p>
+-3061=<p><b>KErrIfRemoteDisconnected</b>: Panic</p>
+KErrIfRemoteDisconnected=<p><b>(-3061)</b>: Panic</p>
+-3201=<p><b>KErrMMEtelWrongMode</b>: Client has requested a mode-specific API service and the phone is currently in the wrong mode.</p>
+KErrMMEtelWrongMode=<p><b>(-3201)</b>: Client has requested a mode-specific API service and the phone is currently in the wrong mode.</p>
+-3202=<p><b>KErrMMEtelFailedDueToModeChange</b>: Error code to cater for requests that fail because the mode changes mid-way during servicing that request</p>
+KErrMMEtelFailedDueToModeChange=<p><b>(-3202)</b>: Error code to cater for requests that fail because the mode changes mid-way during servicing that request</p>
+-3203=<p><b>KErrMMEtelRemoteEndTermination</b>: Remote user (or network) has terminated an ongoing call.</p>
+KErrMMEtelRemoteEndTermination=<p><b>(-3203)</b>: Remote user (or network) has terminated an ongoing call.</p>
+-3204=<p><b>KErrMMEtelSmsFormatNotSupported</b>: Client requested a message format that is not supported by TSY anor phone.</p>
+KErrMMEtelSmsFormatNotSupported=<p><b>(-3204)</b>: Client requested a message format that is not supported by TSY anor phone.</p>
+-3205=<p><b>KErrMMEtelFeatureCodeNotSet</b>: Client requests a service whose feature code has not been programmed e.g. Call Forwarding.</p>
+KErrMMEtelFeatureCodeNotSet=<p><b>(-3205)</b>: Client requests a service whose feature code has not been programmed e.g. Call Forwarding.</p>
+-3206=<p><b>KErrMMEtelNetworkNotResponding</b>: "Network has failed to respond to an MS initiated request e.g. ""flash info"""</p>
+KErrMMEtelNetworkNotResponding=<p><b>(-3206)</b>: "Network has failed to respond to an MS initiated request e.g. ""flash info"""</p>
+-3207=<p><b>KErrMMEtelCallForbidden</b>: Client requests a call to a destination that is forbidden.</p>
+KErrMMEtelCallForbidden=<p><b>(-3207)</b>: Client requests a call to a destination that is forbidden.</p>
+-3208=<p><b>KErrMMEtelMaxReached</b>: The maximum number of entries in astore has been reached.</p>
+KErrMMEtelMaxReached=<p><b>(-3208)</b>: The maximum number of entries in astore has been reached.</p>
+-3209=<p><b>KErrMMEtelCallTerminated</b>: Remote user (or network) has terminated an ongoing call.</p>
+KErrMMEtelCallTerminated=<p><b>(-3209)</b>: Remote user (or network) has terminated an ongoing call.</p>
+-3210=<p><b>KErrMMEtelFormatNotSupported</b>: The client requested a message format that is not supported by TSY anor phone.</p>
+KErrMMEtelFormatNotSupported=<p><b>(-3210)</b>: The client requested a message format that is not supported by TSY anor phone.</p>
+-3211=<p><b>KErrMMEtelHiddenEntry</b>: The phonebook entry is hidden.This is a USIM phonebook specific error.</p>
+KErrMMEtelHiddenEntry=<p><b>(-3211)</b>: The phonebook entry is hidden.This is a USIM phonebook specific error.</p>
+-3212=<p><b>KErrMMEtelFallbacktoVoice</b>: The request to answer a multimedia call has failed because the network can now only support voice.</p>
+KErrMMEtelFallbacktoVoice=<p><b>(-3212)</b>: The request to answer a multimedia call has failed because the network can now only support voice.</p>
+-3213=<p><b>KErrMMEtelMacVerificationFailed</b>: Authentication derived MAC does not match locally calculated MAC</p>
+KErrMMEtelMacVerificationFailed=<p><b>(-3213)</b>: Authentication derived MAC does not match locally calculated MAC</p>
+-3214=<p><b>KErrMMEtelSqnVerificationFailed</b>: Authentication derived SQN value is not in the expected range</p>
+KErrMMEtelSqnVerificationFailed=<p><b>(-3214)</b>: Authentication derived SQN value is not in the expected range</p>
+-3215=<p><b>KErrMMEtelAuthenticateFailed</b>: Authenticate command failed</p>
+KErrMMEtelAuthenticateFailed=<p><b>(-3215)</b>: Authenticate command failed</p>
+-3216=<p><b>KErrMMEtelScMaxApplicationsActive</b>: Application cannot be activated as maximum number of applications already active.</p>
+KErrMMEtelScMaxApplicationsActive=<p><b>(-3216)</b>: Application cannot be activated as maximum number of applications already active.</p>
+-3217=<p><b>KErrMMEtelScNoInfoNonVolatileMemoryUnchanged</b>: "No information given</p>
+KErrMMEtelScNoInfoNonVolatileMemoryUnchanged=<p><b>(-3217)</b>: "No information given</p>
+-3218=<p><b>KErrMMEtelScNoInfoNonVolatileMemoryChanged</b>: "No information given</p>
+KErrMMEtelScNoInfoNonVolatileMemoryChanged=<p><b>(-3218)</b>: "No information given</p>
+-3219=<p><b>KErrMMEtelScReturnedDataCorrupt</b>: Part of the returned data may be corrupt.</p>
+KErrMMEtelScReturnedDataCorrupt=<p><b>(-3219)</b>: Part of the returned data may be corrupt.</p>
+-3220=<p><b>KErrMMEtelScEofReached</b>: End of file reached before reading requested number of bytes or records have been read.</p>
+KErrMMEtelScEofReached=<p><b>(-3220)</b>: End of file reached before reading requested number of bytes or records have been read.</p>
+-3221=<p><b>KErrMMEtelScFileInvalidated</b>: Selected file is invalidated.</p>
+KErrMMEtelScFileInvalidated=<p><b>(-3221)</b>: Selected file is invalidated.</p>
+-3222=<p><b>KErrMMEtelScNoMemory</b>: The smart card had a memory problem when executing the command.</p>
+KErrMMEtelScNoMemory=<p><b>(-3222)</b>: The smart card had a memory problem when executing the command.</p>
+-3223=<p><b>KErrMMEtelScWrongLength</b>: Wrong length</p>
+KErrMMEtelScWrongLength=<p><b>(-3223)</b>: Wrong length</p>
+-3224=<p><b>KErrMMEtelScGeneral</b>: "Technical problem</p>
+KErrMMEtelScGeneral=<p><b>(-3224)</b>: "Technical problem</p>
+-3225=<p><b>KErrMMEtelScIncompatibleFileStructure</b>: Command incompatible with file structure</p>
+KErrMMEtelScIncompatibleFileStructure=<p><b>(-3225)</b>: Command incompatible with file structure</p>
+-3226=<p><b>KErrMMEtelScReferencedDataInvalidated</b>: Referenced data invalidated</p>
+KErrMMEtelScReferencedDataInvalidated=<p><b>(-3226)</b>: Referenced data invalidated</p>
+-3227=<p><b>KErrMMEtelScFunctionNotSupported</b>: Function not supported</p>
+KErrMMEtelScFunctionNotSupported=<p><b>(-3227)</b>: Function not supported</p>
+-3228=<p><b>KErrMMEtelScFileNotFound</b>: File not found</p>
+KErrMMEtelScFileNotFound=<p><b>(-3228)</b>: File not found</p>
+-3229=<p><b>KErrMMEtelScRecordNotFound</b>: Record not found</p>
+KErrMMEtelScRecordNotFound=<p><b>(-3229)</b>: Record not found</p>
+-3230=<p><b>KErrMMEtelScReferencedDataNotFound</b>: Referenced data not found</p>
+KErrMMEtelScReferencedDataNotFound=<p><b>(-3230)</b>: Referenced data not found</p>
+-3231=<p><b>KErrMMEtelScApplicationNotActive</b>: Application not activate.</p>
+KErrMMEtelScApplicationNotActive=<p><b>(-3231)</b>: Application not activate.</p>
+-3256=<p><b>KErrCdmaSmsAddressVacant</b>: SMS destination address is valid but not currently allocated to an SMS terminal.</p>
+KErrCdmaSmsAddressVacant=<p><b>(-3256)</b>: SMS destination address is valid but not currently allocated to an SMS terminal.</p>
+-3257=<p><b>KErrCdmaSmsAddressTranslationFailure</b>: SMS destination address is invalid.</p>
+KErrCdmaSmsAddressTranslationFailure=<p><b>(-3257)</b>: SMS destination address is invalid.</p>
+-3258=<p><b>KErrCdmaSmsNetworkResourceShortage</b>: Network transmissionfailed due to lack of network resource or link capacity.</p>
+KErrCdmaSmsNetworkResourceShortage=<p><b>(-3258)</b>: Network transmissionfailed due to lack of network resource or link capacity.</p>
+-3259=<p><b>KErrCdmaSmsNetworkFailure</b>: "A network node failed</p>
+KErrCdmaSmsNetworkFailure=<p><b>(-3259)</b>: "A network node failed</p>
+-3260=<p><b>KErrCdmaSmsInvalidTeleserviceId</b>: SMS Teleservice ID is either not known or not supported.</p>
+KErrCdmaSmsInvalidTeleserviceId=<p><b>(-3260)</b>: SMS Teleservice ID is either not known or not supported.</p>
+-3261=<p><b>KErrCdmaSmsOtherNetworkProblem</b>: A network problem other than identified by above error codes.</p>
+KErrCdmaSmsOtherNetworkProblem=<p><b>(-3267)</b>: The addressed destination is out of service for an extended period of time.</p>
+-3262=<p><b>KErrCdmaSmsNoPageResponse</b>: The addressed MS-based SME is known but it does not respond to a page.</p>
+KErrCdmaSmsNoPageResponse=<p><b>(-3262)</b>: The addressed MS-based SME is known but it does not respond to a page.</p>
+-3263=<p><b>KErrCdmaSmsDestinationBusy</b>: "The addressed MS-based SME is SMS capable but is currently engaged in a call</p>
+KErrCdmaSmsDestinationBusy=<p><b>(-3263)</b>: "The addressed MS-based SME is SMS capable but is currently engaged in a call</p>
+-3264=<p><b>KErrCdmaSmsNoAcknowledgement</b>: The destination SME does not acknowledge receipt of the SMS delivery.</p>
+KErrCdmaSmsNoAcknowledgement=<p><b>(-3264)</b>: The destination SME does not acknowledge receipt of the SMS delivery.</p>
+-3265=<p><b>KErrCdmaSmsDestinationResourceShortage</b>: A required terminal resource (e.g.memory) is not available to process this message.</p>
+KErrCdmaSmsDestinationResourceShortage=<p><b>(-3265)</b>: A required terminal resource (e.g.memory) is not available to process this message.</p>
+-3266=<p><b>KErrCdmaSmsDeliveryPostponed</b>: Delivery is not currently possible but SMS notification is pending.</p>
+KErrCdmaSmsDeliveryPostponed=<p><b>(-3266)</b>: Delivery is not currently possible but SMS notification is pending.</p>
+-3267=<p><b>KErrCdmaSmsOtherNetworkProblem</b>: The addressed destination is out of service for an extended period of time.</p>
+-3268=<p><b>KErrCdmaSmsDestinationNoLongerAtAddress</b>: The MS based SME is no longer at the temporary SMS routing address.</p>
+KErrCdmaSmsDestinationNoLongerAtAddress=<p><b>(-3268)</b>: The MS based SME is no longer at the temporary SMS routing address.</p>
+-3269=<p><b>KErrCdmaSmsOtherTerminalProblem</b>: A terminal problem other than identified by the above error codes.</p>
+KErrCdmaSmsOtherTerminalProblem=<p><b>(-3269)</b>: A terminal problem other than identified by the above error codes.</p>
+-3320=<p><b>KErrCdmaSmsRadioInterfaceResourceShortage</b>: There is no channel available or there is radio congestion at this time.</p>
+KErrCdmaSmsRadioInterfaceResourceShortage=<p><b>(-3320)</b>: There is no channel available or there is radio congestion at this time.</p>
+-3321=<p><b>KErrCdmaSmsRadioInterfaceIncompatibility</b>: The MS for an MS-based SME is operating in a mode that does not support SMS at this time.</p>
+KErrCdmaSmsRadioInterfaceIncompatibility=<p><b>(-3321)</b>: The MS for an MS-based SME is operating in a mode that does not support SMS at this time.</p>
+-3322=<p><b>KErrCdmaSmsOtherRadioInterfaceProblem</b>: A radio interface problem other than identified by the above error codes.</p>
+KErrCdmaSmsOtherRadioInterfaceProblem=<p><b>(-3322)</b>: A radio interface problem other than identified by the above error codes.</p>
+-3352=<p><b>KErrCdmaSmsEncodingProblem</b>: The size of a parameter or field is not what is expected.</p>
+KErrCdmaSmsEncodingProblem=<p><b>(-3352)</b>: The size of a parameter or field is not what is expected.</p>
+-3353=<p><b>KErrCdmaSmsOriginationDenied</b>: "The originating MIN is not recognized</p>
+KErrCdmaSmsOriginationDenied=<p><b>(-3353)</b>: "The originating MIN is not recognized</p>
+-3354=<p><b>KErrCdmaSmsTerminationDenied</b>: "The destination is not authorized to receive the SMS message</p>
+KErrCdmaSmsTerminationDenied=<p><b>(-3354)</b>: "The destination is not authorized to receive the SMS message</p>
+-3355=<p><b>KErrCdmaSmsSupplServiceNotSupported</b>: "The originating supplementary service is not known or supported</p>
+KErrCdmaSmsSupplServiceNotSupported=<p><b>(-3355)</b>: "The originating supplementary service is not known or supported</p>
+-3356=<p><b>KErrCdmaSmsSmsNotSupported</b>: SMS is not supported by an addressed functional entity.</p>
+KErrCdmaSmsSmsNotSupported=<p><b>(-3356)</b>: SMS is not supported by an addressed functional entity.</p>
+-3358=<p><b>KErrCdmaSmsMissingExpectedParameter</b>: An optional parameter is missing that is required for a particular function.</p>
+KErrCdmaSmsMissingExpectedParameter=<p><b>(-3358)</b>: An optional parameter is missing that is required for a particular function.</p>
+-3359=<p><b>KErrCdmaSmsMissingMandatoryParameter</b>: A parameter is missing that is mandatory for a particular message.</p>
+KErrCdmaSmsMissingMandatoryParameter=<p><b>(-3359)</b>: A parameter is missing that is mandatory for a particular message.</p>
+-3360=<p><b>KErrCdmaSmsUnrecognizedParameterValue</b>: A known parameter has an unknown or unsupported value.</p>
+KErrCdmaSmsUnrecognizedParameterValue=<p><b>(-3360)</b>: A known parameter has an unknown or unsupported value.</p>
+-3361=<p><b>KErrCdmaSmsUnexpectedParameterValue</b>: "A known parameter has a known</p>
+KErrCdmaSmsUnexpectedParameterValue=<p><b>(-3361)</b>: "A known parameter has a known</p>
+-3362=<p><b>KErrCdmaSmsUserDataSizeError</b>: "The User Data size is too large for access technology</p>
+KErrCdmaSmsUserDataSizeError=<p><b>(-3362)</b>: "The User Data size is too large for access technology</p>
+-3363=<p><b>KErrCdmaSmsOtherGeneralProblem</b>: Other general problems.</p>
+KErrCdmaSmsOtherGeneralProblem=<p><b>(-3363)</b>: Other general problems.</p>
+-3606=<p><b>KErrGenConnDatabaseDefaultUndefined</b>: CommDb Error</p>
+KErrGenConnDatabaseDefaultUndefined=<p><b>(-3606)</b>: CommDb Error</p>
+-3607=<p><b>KErrGenConnDatabaseTypeUnknown</b>: CommDb Error</p>
+KErrGenConnDatabaseTypeUnknown=<p><b>(-3607)</b>: CommDb Error</p>
+-3608=<p><b>KErrGenConnDatabaseNotFound</b>: CommDb Error</p>
+KErrGenConnDatabaseNotFound=<p><b>(-3608)</b>: CommDb Error</p>
+-4001=<p><b>KErrGsmRRUnspecifedAbnormalRelease</b>: Temporary network failure. Try again later.</p>
+KErrGsmRRUnspecifedAbnormalRelease=<p><b>(-4001)</b>: Temporary network failure. Try again later.</p>
+-4002=<p><b>KErrGsmRRChannelUnacceptable</b>: Temporary network failure. Try again later.</p>
+KErrGsmRRChannelUnacceptable=<p><b>(-4002)</b>: Temporary network failure. Try again later.</p>
+-4003=<p><b>KErrGsmRRTimerExpired</b>: Temporary network failure. Try again later.</p>
+KErrGsmRRTimerExpired=<p><b>(-4003)</b>: Temporary network failure. Try again later.</p>
+-4004=<p><b>KErrGsmRRNoActivityOnRadioPath</b>: Temporary network failure. Try again later.</p>
+KErrGsmRRNoActivityOnRadioPath=<p><b>(-4004)</b>: Temporary network failure. Try again later.</p>
+-4005=<p><b>KErrGsmRRPreEmptiveRelease</b>: Temporary network failure. Try again later.</p>
+KErrGsmRRPreEmptiveRelease=<p><b>(-4005)</b>: Temporary network failure. Try again later.</p>
+-4065=<p><b>KErrGsmRRCallAlreadyCleared</b>: Temporary network failure. Try again later.</p>
+KErrGsmRRCallAlreadyCleared=<p><b>(-4065)</b>: Temporary network failure. Try again later.</p>
+-4095=<p><b>KErrGsmRRInvalidMessage</b>: Temporary network failure. Try again later.</p>
+KErrGsmRRInvalidMessage=<p><b>(-4095)</b>: Temporary network failure. Try again later.</p>
+-4097=<p><b>KErrGsmRRNonExistentMessage</b>: No network support for requested operation.</p>
+KErrGsmRRNonExistentMessage=<p><b>(-4097)</b>: No network support for requested operation.</p>
+-4098=<p><b>KErrGsmRRIncompatibleMessageWithCallState</b>: Temporary network failure. Try again later.</p>
+KErrGsmRRIncompatibleMessageWithCallState=<p><b>(-4098)</b>: Temporary network failure. Try again later.</p>
+-4100=<p><b>KErrGsmRRInvalidInformationElement</b>: Temporary network failure. Try again later.</p>
+KErrGsmRRInvalidInformationElement=<p><b>(-4100)</b>: Temporary network failure. Try again later.</p>
+-4111=<p><b>KErrGsmRRUnspecifiedProtocolError</b>: Temporary network failure. Try again later.</p>
+KErrGsmRRUnspecifiedProtocolError=<p><b>(-4111)</b>: Temporary network failure. Try again later.</p>
+-4129=<p><b>KErrGsmMMUnallocatedTmsi</b>: Temporary network failure. Try again later.</p>
+KErrGsmMMUnallocatedTmsi=<p><b>(-4129)</b>: Temporary network failure. Try again later.</p>
+-4130=<p><b>KErrGsmMMImsiUnknownInHlr</b>: Operation is not allowed. Contact cellular network operator.</p>
+KErrGsmMMImsiUnknownInHlr=<p><b>(-4130)</b>: Operation is not allowed. Contact cellular network operator.</p>
+-4131=<p><b>KErrGsmMMIllegalMs</b>: Phone is blacklisted. Contact cellular network operator.</p>
+KErrGsmMMIllegalMs=<p><b>(-4131)</b>: Phone is blacklisted. Contact cellular network operator.</p>
+-4132=<p><b>KErrGsmMMImsiUnknownInVlr</b>: Temporary network failure. Try again later.</p>
+KErrGsmMMImsiUnknownInVlr=<p><b>(-4132)</b>: Temporary network failure. Try again later.</p>
+-4133=<p><b>KErrGsmMMImeiNotAccepted</b>: Phone failure.</p>
+KErrGsmMMImeiNotAccepted=<p><b>(-4133)</b>: Phone failure.</p>
+-4134=<p><b>KErrGsmMMIllegalMe</b>: Phone is blacklisted. Contact cellular network operator.</p>
+KErrGsmMMIllegalMe=<p><b>(-4134)</b>: Phone is blacklisted. Contact cellular network operator.</p>
+-4135=<p><b>KErrGprsServiceNotAllowed</b>: Failed to connect to the GPRS network</p>
+KErrGprsServiceNotAllowed=<p><b>(-4135)</b>: Failed to connect to the GPRS network</p>
+-4136=<p><b>KErrGprsAndNonGprsServicesNotAllowed</b>: Failed to connect to the mobile network</p>
+KErrGprsAndNonGprsServicesNotAllowed=<p><b>(-4136)</b>: Failed to connect to the mobile network</p>
+-4137=<p><b>KErrGprsMSIdentityCannotBeDerivedByTheNetwork</b>: Identity could not be derived by the network</p>
+KErrGprsMSIdentityCannotBeDerivedByTheNetwork=<p><b>(-4137)</b>: Identity could not be derived by the network</p>
+-4138=<p><b>KErrGprsMSImplicitlyDetached</b>: Your device was disconnected from the GPRS network.</p>
+KErrGprsMSImplicitlyDetached=<p><b>(-4138)</b>: Your device was disconnected from the GPRS network.</p>
+-4139=<p><b>KErrGsmMMPlmnNotAllowed</b>: Roaming is not allowed in this area.</p>
+KErrGsmMMPlmnNotAllowed=<p><b>(-4139)</b>: Roaming is not allowed in this area.</p>
+-4140=<p><b>KErrGsmMMLocationAreaNotAllowed</b>: Roaming is not allowed in this area.</p>
+KErrGsmMMLocationAreaNotAllowed=<p><b>(-4140)</b>: Roaming is not allowed in this area.</p>
+-4141=<p><b>KErrGsmMMRoamingNotAllowedInThisLocationArea</b>: Roaming is not allowed in this area.</p>
+KErrGsmMMRoamingNotAllowedInThisLocationArea=<p><b>(-4141)</b>: Roaming is not allowed in this area.</p>
+-4144=<p><b>KErrGprsMSCTemporarilyNotReachable</b>: GPRS MSC temporary not reachable</p>
+KErrGprsMSCTemporarilyNotReachable=<p><b>(-4144)</b>: GPRS MSC temporary not reachable</p>
+-4145=<p><b>KErrGsmMMNetworkFailure</b>: Temporary network failure. Try again later.</p>
+KErrGsmMMNetworkFailure=<p><b>(-4145)</b>: Temporary network failure. Try again later.</p>
+-4150=<p><b>KErrGsmMMCongestion</b>: Network busy.</p>
+KErrGsmMMCongestion=<p><b>(-4150)</b>: Network busy.</p>
+-4153=<p><b>KErrGprsLlcOrSndcpFailure</b>: Your connection to Internet was dropped.</p>
+KErrGprsLlcOrSndcpFailure=<p><b>(-4153)</b>: Your connection to Internet was dropped.</p>
+-4154=<p><b>KErrGprsInsufficientResources</b>: Network overloaded.</p>
+KErrGprsInsufficientResources=<p><b>(-4154)</b>: Network overloaded.</p>
+-4155=<p><b>KErrGprsMissingorUnknownAPN</b>: """Could not connect to Internet service. Callback is not supported"""""""</p>
+KErrGprsMissingorUnknownAPN=<p><b>(-4155)</b>: """Could not connect to Internet service. Callback is not supported"""""""</p>
+-4156=<p><b>KErrGprsUnknownPDPAddress</b>: The address for the Internet provider is not correct.</p>
+KErrGprsUnknownPDPAddress=<p><b>(-4156)</b>: The address for the Internet provider is not correct.</p>
+-4157=<p><b>KErrGprsUserAuthenticationFailure</b>: Failed to identify the user.</p>
+KErrGprsUserAuthenticationFailure=<p><b>(-4157)</b>: Failed to identify the user.</p>
+-4158=<p><b>KErrGprsActivationRejectedByGGSN</b>: No possible to connect to the Internet.</p>
+KErrGprsActivationRejectedByGGSN=<p><b>(-4158)</b>: No possible to connect to the Internet.</p>
+-4159=<p><b>KErrGprsActivationRejected</b>: No possible to connect to the Internet.</p>
+KErrGprsActivationRejected=<p><b>(-4159)</b>: No possible to connect to the Internet.</p>
+-4160=<p><b>KErrGsmMMServiceOptionNotSupported</b>: Operation is not presently supported by the network.</p>
+KErrGsmMMServiceOptionNotSupported=<p><b>(-4160)</b>: Operation is not presently supported by the network.</p>
+-4161=<p><b>KErrGsmMMServiceOptionNotSubscribed</b>: Service not subscribed. Contact cellular network operator.</p>
+KErrGsmMMServiceOptionNotSubscribed=<p><b>(-4161)</b>: Service not subscribed. Contact cellular network operator.</p>
+-4162=<p><b>KErrGsmMMServiceOptionTemporaryOutOfOrder</b>: Service temporarily out of use. Try again later.</p>
+KErrGsmMMServiceOptionTemporaryOutOfOrder=<p><b>(-4162)</b>: Service temporarily out of use. Try again later.</p>
+-4163=<p><b>KErrGprsNSAPIAlreadyUsed</b>: NS API already used</p>
+KErrGprsNSAPIAlreadyUsed=<p><b>(-4163)</b>: NS API already used</p>
+-4164=<p><b>KErrGprsRegularContextDeactivation</b>: Regular context deactivation</p>
+KErrGprsRegularContextDeactivation=<p><b>(-4164)</b>: Regular context deactivation</p>
+-4165=<p><b>KErrGprsQoSNotAccepted</b>: The requested quality of service was not granted.</p>
+KErrGprsQoSNotAccepted=<p><b>(-4165)</b>: The requested quality of service was not granted.</p>
+-4166=<p><b>KErrGsmMMCallCanNotBeIdentified</b>: Temporary network failure. Try again later.</p>
+KErrGsmMMCallCanNotBeIdentified=<p><b>(-4166)</b>: Temporary network failure. Try again later.</p>
+-4167=<p><b>KErrGprsReactivationRequested</b>: Reactivation requested</p>
+KErrGprsReactivationRequested=<p><b>(-4167)</b>: Reactivation requested</p>
+-4168=<p><b>KErrGprsFeatureNotSupported</b>: This is not supported.</p>
+KErrGprsFeatureNotSupported=<p><b>(-4168)</b>: This is not supported.</p>
+-4223=<p><b>KErrGsmMMSemanticErrorInMessage</b>: Temporary network failure. Try again later.</p>
+KErrGsmMMSemanticErrorInMessage=<p><b>(-4223)</b>: Temporary network failure. Try again later.</p>
+-4224=<p><b>KErrGsmMMMandatoryInformationElementError</b>: Temporary network failure. Try again later.</p>
+KErrGsmMMMandatoryInformationElementError=<p><b>(-4224)</b>: Temporary network failure. Try again later.</p>
+-4225=<p><b>KErrGsmMMNonExistentMessageType</b>: No network support for requested operation.</p>
+KErrGsmMMNonExistentMessageType=<p><b>(-4225)</b>: No network support for requested operation.</p>
+-4226=<p><b>KErrGsmMMIncompatibleMessageWithProtocolState</b>: Temporary network failure. Try again later.</p>
+KErrGsmMMIncompatibleMessageWithProtocolState=<p><b>(-4226)</b>: Temporary network failure. Try again later.</p>
+-4227=<p><b>KErrGsmMMNonExistentInformationElement</b>: Temporary network failure. Try again later.</p>
+KErrGsmMMNonExistentInformationElement=<p><b>(-4227)</b>: Temporary network failure. Try again later.</p>
+-4228=<p><b>KErrGsmMMConditionalIEError</b>: Temporary network failure. Try again later.</p>
+KErrGsmMMConditionalIEError=<p><b>(-4228)</b>: Temporary network failure. Try again later.</p>
+-4229=<p><b>KErrGsmMMIncompatibleMessageWithCallState</b>: Temporary network failure. Try again later.</p>
+KErrGsmMMIncompatibleMessageWithCallState=<p><b>(-4229)</b>: Temporary network failure. Try again later.</p>
+-4257=<p><b>KErrGsmCCUnassignedNumber</b>: Invalid phone number. Check the number and try again.</p>
+KErrGsmCCUnassignedNumber=<p><b>(-4257)</b>: Invalid phone number. Check the number and try again.</p>
+-4258=<p><b>KErrGsmCCNoRouteToTransitNetwork</b>: Temporary network failure. Try again later.</p>
+KErrGsmCCNoRouteToTransitNetwork=<p><b>(-4258)</b>: Temporary network failure. Try again later.</p>
+-4259=<p><b>KErrGsmCCNoRouteToDestination</b>: Invalid phone number. Check the number and try again.</p>
+KErrGsmCCNoRouteToDestination=<p><b>(-4259)</b>: Invalid phone number. Check the number and try again.</p>
+-4262=<p><b>KErrGsmCCChannelUnacceptable</b>: Temporary network failure. Try again later.</p>
+KErrGsmCCChannelUnacceptable=<p><b>(-4262)</b>: Temporary network failure. Try again later.</p>
+-4264=<p><b>KErrGsmCCOperatorDeterminedBarring</b>: Operation is not allowed. Contact cellular network operator.</p>
+KErrGsmCCOperatorDeterminedBarring=<p><b>(-4264)</b>: Operation is not allowed. Contact cellular network operator.</p>
+-4273=<p><b>KErrGsmCCUserBusy</b>: Number is busy. Try again later.</p>
+KErrGsmCCUserBusy=<p><b>(-4273)</b>: Number is busy. Try again later.</p>
+-4274=<p><b>KErrGsmCCUserNotResponding</b>: The remote user is not currently reachable. Try again later.</p>
+KErrGsmCCUserNotResponding=<p><b>(-4274)</b>: The remote user is not currently reachable. Try again later.</p>
+-4275=<p><b>KErrGsmCCUserAlertingNoAnswer</b>: The remote user is not currently reachable. Try again later.</p>
+KErrGsmCCUserAlertingNoAnswer=<p><b>(-4275)</b>: The remote user is not currently reachable. Try again later.</p>
+-4276=<p><b>KErrGsmCCCallRejected</b>: Short network failure. Try again immediately.</p>
+KErrGsmCCCallRejected=<p><b>(-4276)</b>: Short network failure. Try again immediately.</p>
+-4277=<p><b>KErrGsmCCNumberChanged</b>: Number has changed. Check the number and try again.</p>
+KErrGsmCCNumberChanged=<p><b>(-4277)</b>: Number has changed. Check the number and try again.</p>
+-4282=<p><b>KErrGsmCCNonSelectedUserClearing</b>: Unknown network failure. Try again later.</p>
+KErrGsmCCNonSelectedUserClearing=<p><b>(-4282)</b>: Unknown network failure. Try again later.</p>
+-4283=<p><b>KErrGsmCCDestinationOutOfOrder</b>: Temporary network failure. Try again later.</p>
+KErrGsmCCDestinationOutOfOrder=<p><b>(-4283)</b>: Temporary network failure. Try again later.</p>
+-4284=<p><b>KErrGsmCCInvalidNumberFormat</b>: Invalid phone number. Check the number and try again.</p>
+KErrGsmCCInvalidNumberFormat=<p><b>(-4284)</b>: Invalid phone number. Check the number and try again.</p>
+-4285=<p><b>KErrGsmCCFacilityRejected</b>: Operation is not supported. Contact cellular network operator.</p>
+KErrGsmCCFacilityRejected=<p><b>(-4285)</b>: Operation is not supported. Contact cellular network operator.</p>
+-4286=<p><b>KErrGsmCCResponseToStatusEnquiry</b>: Blank</p>
+KErrGsmCCResponseToStatusEnquiry=<p><b>(-4286)</b>: Blank</p>
+-4287=<p><b>KErrGsmCCNormalUnspecified</b>: Unknown network failure. Try again later.</p>
+KErrGsmCCNormalUnspecified=<p><b>(-4287)</b>: Unknown network failure. Try again later.</p>
+-4290=<p><b>KErrGsmCCNoChannelAvailable</b>: Network busy.</p>
+KErrGsmCCNoChannelAvailable=<p><b>(-4290)</b>: Network busy.</p>
+-4294=<p><b>KErrGsmCCNetworkOutOfOrder</b>: Serious cellular network failure. Please contact the cellular network operator.</p>
+KErrGsmCCNetworkOutOfOrder=<p><b>(-4294)</b>: Serious cellular network failure. Please contact the cellular network operator.</p>
+-4297=<p><b>KErrGsmCCTemporaryFailure</b>: Short network failure. Try again immediately.</p>
+KErrGsmCCTemporaryFailure=<p><b>(-4297)</b>: Short network failure. Try again immediately.</p>
+-4298=<p><b>KErrGsmCCSwitchingEquipmentCongestion</b>: Network busy.</p>
+KErrGsmCCSwitchingEquipmentCongestion=<p><b>(-4298)</b>: Network busy.</p>
+-4299=<p><b>KErrGsmCCAccessInformationDiscarded</b>: Temporary network failure. Try again later.</p>
+KErrGsmCCAccessInformationDiscarded=<p><b>(-4299)</b>: Temporary network failure. Try again later.</p>
+-4300=<p><b>KErrGsmCCRequestedChannelNotAvailable</b>: Network busy.</p>
+KErrGsmCCRequestedChannelNotAvailable=<p><b>(-4300)</b>: Network busy.</p>
+-4303=<p><b>KErrGsmCCResourceNotAvailable</b>: Network busy.</p>
+KErrGsmCCResourceNotAvailable=<p><b>(-4303)</b>: Network busy.</p>
+-4305=<p><b>KErrGsmCCQualityOfServiceNotAvailable</b>: Service can not be provided.</p>
+KErrGsmCCQualityOfServiceNotAvailable=<p><b>(-4305)</b>: Service can not be provided.</p>
+-4306=<p><b>KErrGsmCCRequestedFacilityNotSubscribed</b>: Check operator services or connection settings.</p>
+KErrGsmCCRequestedFacilityNotSubscribed=<p><b>(-4306)</b>: Check operator services or connection settings.</p>
+-4311=<p><b>KErrGsmCCIncomingCallsBarredInCug</b>: Incoming calls are not allowed within closed user group.</p>
+KErrGsmCCIncomingCallsBarredInCug=<p><b>(-4311)</b>: Incoming calls are not allowed within closed user group.</p>
+-4313=<p><b>KErrGsmCCBearerCapabilityNotAuthorised</b>: Unauthorised operation.</p>
+KErrGsmCCBearerCapabilityNotAuthorised=<p><b>(-4313)</b>: Unauthorised operation.</p>
+-4314=<p><b>KErrGsmCCBearerCapabilityNotCurrentlyAvailable</b>: Requested service is not presently available. Try again later.</p>
+KErrGsmCCBearerCapabilityNotCurrentlyAvailable=<p><b>(-4314)</b>: Requested service is not presently available. Try again later.</p>
+-4319=<p><b>KErrGsmCCServiceNotAvailable</b>: Check operator services or connection settings.</p>
+KErrGsmCCServiceNotAvailable=<p><b>(-4319)</b>: Check operator services or connection settings.</p>
+-4321=<p><b>KErrGsmCCBearerServiceNotImplemented</b>: Check operator services or connection settings.</p>
+KErrGsmCCBearerServiceNotImplemented=<p><b>(-4321)</b>: Check operator services or connection settings.</p>
+-4322=<p><b>KErrGsmCCChannelTypeNotImplemented</b>: Check operator services or connection settings.</p>
+KErrGsmCCChannelTypeNotImplemented=<p><b>(-4322)</b>: Check operator services or connection settings.</p>
+-4324=<p><b>KErrGsmCCAcmGreaterThanAcmMax</b>: Blank</p>
+KErrGsmCCAcmGreaterThanAcmMax=<p><b>(-4324)</b>: Blank</p>
+-4325=<p><b>KErrGsmCCRequestedFacilityNotImplemented</b>: Check operator services or connection settings.</p>
+KErrGsmCCRequestedFacilityNotImplemented=<p><b>(-4325)</b>: Check operator services or connection settings.</p>
+-4326=<p><b>KErrGsmCCOnlyRestrictedDigitalInformationBCAvailable</b>: Blank</p>
+KErrGsmCCOnlyRestrictedDigitalInformationBCAvailable=<p><b>(-4326)</b>: Blank</p>
+-4335=<p><b>KErrGsmCCServiceNotImplemented</b>: Check operator services or connection settings.</p>
+KErrGsmCCServiceNotImplemented=<p><b>(-4335)</b>: Check operator services or connection settings.</p>
+-4337=<p><b>KErrGsmCCInvalidCallReferenceValue</b>: Blank</p>
+KErrGsmCCInvalidCallReferenceValue=<p><b>(-4337)</b>: Blank</p>
+-4338=<p><b>KErrGsmCCChannelDoesNotExist</b>: Temporary network failure. Try again later.</p>
+KErrGsmCCChannelDoesNotExist=<p><b>(-4338)</b>: Temporary network failure. Try again later.</p>
+-4339=<p><b>KErrGsmCCSuspendedCallExistsButCallIdentityDoesNotWork</b>: Blank</p>
+KErrGsmCCSuspendedCallExistsButCallIdentityDoesNotWork=<p><b>(-4339)</b>: Blank</p>
+-4340=<p><b>KErrGsmCCCallIdentityInUse</b>: Blank</p>
+KErrGsmCCCallIdentityInUse=<p><b>(-4340)</b>: Blank</p>
+-4341=<p><b>KErrGsmCCNoCallSuspended</b>: Blank</p>
+KErrGsmCCNoCallSuspended=<p><b>(-4341)</b>: Blank</p>
+-4342=<p><b>KErrGsmCCRequestedCallIdentityAlreadyCleared</b>: Blank</p>
+KErrGsmCCRequestedCallIdentityAlreadyCleared=<p><b>(-4342)</b>: Blank</p>
+-4343=<p><b>KErrGsmCCUserNotInCug</b>: Only calls within closed user group allowed.</p>
+KErrGsmCCUserNotInCug=<p><b>(-4343)</b>: Only calls within closed user group allowed.</p>
+-4344=<p><b>KErrGsmCCIncompatibleDestination</b>: Check connection type in connection settings.</p>
+KErrGsmCCIncompatibleDestination=<p><b>(-4344)</b>: Check connection type in connection settings.</p>
+-4347=<p><b>KErrGsmCCInvalidTransitNetworkSelection</b>: Temporary network failure. Try again later.</p>
+KErrGsmCCInvalidTransitNetworkSelection=<p><b>(-4347)</b>: Temporary network failure. Try again later.</p>
+-4350=<p><b>KErrGsmCCIncompatibleSegmentedMessage</b>: Blank</p>
+KErrGsmCCIncompatibleSegmentedMessage=<p><b>(-4350)</b>: Blank</p>
+-4351=<p><b>KErrGsmCCSemanticallyIncorrectMessage</b>: Blank</p>
+KErrGsmCCSemanticallyIncorrectMessage=<p><b>(-4351)</b>: Blank</p>
+-4352=<p><b>KErrGsmCCInvalidMandatoryInformation</b>: Check operator services or connection settings.</p>
+KErrGsmCCInvalidMandatoryInformation=<p><b>(-4352)</b>: Check operator services or connection settings.</p>
+-4353=<p><b>KErrGsmCCNonExistentMessageType</b>: Blank</p>
+KErrGsmCCNonExistentMessageType=<p><b>(-4353)</b>: Blank</p>
+-4354=<p><b>KErrGsmCCIncompatibleMessageInProtocolState</b>: Blank</p>
+KErrGsmCCIncompatibleMessageInProtocolState=<p><b>(-4354)</b>: Blank</p>
+-4355=<p><b>KErrGsmCCNonExistentInformationElement</b>: Blank</p>
+KErrGsmCCNonExistentInformationElement=<p><b>(-4355)</b>: Blank</p>
+-4356=<p><b>KErrGsmCCConditionalIEError</b>: Blank</p>
+KErrGsmCCConditionalIEError=<p><b>(-4356)</b>: Blank</p>
+-4357=<p><b>KErrGsmCCIncompatibleMessageInCallState</b>: Blank</p>
+KErrGsmCCIncompatibleMessageInCallState=<p><b>(-4357)</b>: Blank</p>
+-4358=<p><b>KErrGsmCCRecoveryOnTimerExpiry</b>: Blank</p>
+KErrGsmCCRecoveryOnTimerExpiry=<p><b>(-4358)</b>: Blank</p>
+-4367=<p><b>KErrGsmCCUnspecifiedProtocolError</b>: Temporary network failure. Try again later.</p>
+KErrGsmCCUnspecifiedProtocolError=<p><b>(-4367)</b>: Temporary network failure. Try again later.</p>
+-4383=<p><b>KErrGsmCCUnspecifiedInterworkingError</b>: Operation is not presently supported by the network.</p>
+KErrGsmCCUnspecifiedInterworkingError=<p><b>(-4383)</b>: Operation is not presently supported by the network.</p>
+-4385=<p><b>KErrGsmSSUnknownSubscriber</b>: Unknown subscriber. Contact cellular network operator.</p>
+KErrGsmSSUnknownSubscriber=<p><b>(-4385)</b>: Unknown subscriber. Contact cellular network operator.</p>
+-4393=<p><b>KErrGsmSSIllegalSubscriber</b>: Unknown subscriber. Contact cellular network operator.</p>
+KErrGsmSSIllegalSubscriber=<p><b>(-4393)</b>: Unknown subscriber. Contact cellular network operator.</p>
+-4394=<p><b>KErrGsmSSBearerServiceNotProvisioned</b>: Service is not provisioned.</p>
+KErrGsmSSBearerServiceNotProvisioned=<p><b>(-4394)</b>: Service is not provisioned.</p>
+-4395=<p><b>KErrGsmSSTeleserviceNotProvisioned</b>: Service is not provisioned.</p>
+KErrGsmSSTeleserviceNotProvisioned=<p><b>(-4395)</b>: Service is not provisioned.</p>
+-4396=<p><b>KErrGsmSSIllegalEquipment</b>: Blank</p>
+KErrGsmSSIllegalEquipment=<p><b>(-4396)</b>: Blank</p>
+-4397=<p><b>KErrGsmSSCallBarred</b>: Calls are barred by the operator. Contact cellular network operator.</p>
+KErrGsmSSCallBarred=<p><b>(-4397)</b>: Calls are barred by the operator. Contact cellular network operator.</p>
+-4400=<p><b>KErrGsmSSIllegalOperation</b>: Operation is not supported. Contact cellular network operator.</p>
+KErrGsmSSIllegalOperation=<p><b>(-4400)</b>: Operation is not supported. Contact cellular network operator.</p>
+-4401=<p><b>KErrGsmSSErrorStatus</b>: Operation is not supported. Contact cellular network operator.</p>
+KErrGsmSSErrorStatus=<p><b>(-4401)</b>: Operation is not supported. Contact cellular network operator.</p>
+-4402=<p><b>KErrGsmSSNotAvailable</b>: Operation is not supported. Contact cellular network operator.</p>
+KErrGsmSSNotAvailable=<p><b>(-4402)</b>: Operation is not supported. Contact cellular network operator.</p>
+-4403=<p><b>KErrGsmSSSubscriptionViolation</b>: Operation is not allowed. Contact cellular network operator.</p>
+KErrGsmSSSubscriptionViolation=<p><b>(-4403)</b>: Operation is not allowed. Contact cellular network operator.</p>
+-4404=<p><b>KErrGsmSSIncompatibility</b>: The requested supplementary service is incompatible.</p>
+KErrGsmSSIncompatibility=<p><b>(-4404)</b>: The requested supplementary service is incompatible.</p>
+-4405=<p><b>KErrGsmSSFacilityNotSupported</b>: Operation is not supported. Contact cellular network operator.</p>
+KErrGsmSSFacilityNotSupported=<p><b>(-4405)</b>: Operation is not supported. Contact cellular network operator.</p>
+-4411=<p><b>KErrGsmSSAbsentSubscriber</b>: Blank</p>
+KErrGsmSSAbsentSubscriber=<p><b>(-4411)</b>: Blank</p>
+-4418=<p><b>KErrGsmSSSystemFailure</b>: Temporary network failure. Try again later.</p>
+KErrGsmSSSystemFailure=<p><b>(-4418)</b>: Temporary network failure. Try again later.</p>
+-4419=<p><b>KErrGsmSSDataMissing</b>: Parameter in the service request is missing.</p>
+KErrGsmSSDataMissing=<p><b>(-4419)</b>: Parameter in the service request is missing.</p>
+-4420=<p><b>KErrGsmSSUnexpectedDataValue</b>: Unknown parameter in the service request.</p>
+KErrGsmSSUnexpectedDataValue=<p><b>(-4420)</b>: Unknown parameter in the service request.</p>
+-4421=<p><b>KErrGsmSSPasswordRegistrationFailure</b>: Wrong service password.</p>
+KErrGsmSSPasswordRegistrationFailure=<p><b>(-4421)</b>: Wrong service password.</p>
+-4422=<p><b>KErrGsmSSNegativePasswordCheck</b>: Wrong service password.</p>
+KErrGsmSSNegativePasswordCheck=<p><b>(-4422)</b>: Wrong service password.</p>
+-4427=<p><b>KErrGsmSSPasswordAttemptsViolation</b>: Too many times wrong service password.</p>
+KErrGsmSSPasswordAttemptsViolation=<p><b>(-4427)</b>: Too many times wrong service password.</p>
+-4455=<p><b>KErrGsmSSUnknownAlphabet</b>: Incompatible service language or alphabets.</p>
+KErrGsmSSUnknownAlphabet=<p><b>(-4455)</b>: Incompatible service language or alphabets.</p>
+-4456=<p><b>KErrGsmSSUssdBusy</b>: Blank</p>
+KErrGsmSSUssdBusy=<p><b>(-4456)</b>: Blank</p>
+-4510=<p><b>KErrGsmSSMaxNumMptyParticipants</b>: Too many participants of a multiparty call.</p>
+KErrGsmSSMaxNumMptyParticipants=<p><b>(-4510)</b>: Too many participants of a multiparty call.</p>
+-4511=<p><b>KErrGsmSSResourcesUnavailable</b>: Temporarily out of network resources when requesting the service.</p>
+KErrGsmSSResourcesUnavailable=<p><b>(-4511)</b>: Temporarily out of network resources when requesting the service.</p>
+-4513=<p><b>KErrGsmSMSUnassignedNumber</b>: Invalid phone number. Check the number and try again.</p>
+KErrGsmSMSUnassignedNumber=<p><b>(-4513)</b>: Invalid phone number. Check the number and try again.</p>
+-4520=<p><b>KErrGsmSMSOperatorDeterminedBarring</b>: Operation is not allowed. Contact cellular network operator.</p>
+KErrGsmSMSOperatorDeterminedBarring=<p><b>(-4520)</b>: Operation is not allowed. Contact cellular network operator.</p>
+-4522=<p><b>KErrGsmSMSCallBarred</b>: Call barred.</p>
+KErrGsmSMSCallBarred=<p><b>(-4522)</b>: Call barred.</p>
+-4523=<p><b>KErrGsmSMSReserved</b>: Blank</p>
+KErrGsmSMSReserved=<p><b>(-4523)</b>: Blank</p>
+-4529=<p><b>KErrGsmSMSNetworkFailure</b>: Temporary network failure. Try again later.</p>
+KErrGsmSMSNetworkFailure=<p><b>(-4529)</b>: Temporary network failure. Try again later.</p>
+-4533=<p><b>KErrGsmSMSShortMessageTransferRejected</b>: Short network failure. Try again immediately.</p>
+KErrGsmSMSShortMessageTransferRejected=<p><b>(-4533)</b>: Short network failure. Try again immediately.</p>
+-4534=<p><b>KErrGsmSMSMemoryCapacityExceeded</b>: Temporary network failure. Try again later.</p>
+KErrGsmSMSMemoryCapacityExceeded=<p><b>(-4534)</b>: Temporary network failure. Try again later.</p>
+-4539=<p><b>KErrGsmSMSDestinationOutOfOrder</b>: Temporary network failure. Try again later.</p>
+KErrGsmSMSDestinationOutOfOrder=<p><b>(-4539)</b>: Temporary network failure. Try again later.</p>
+-4540=<p><b>KErrGsmSMSUnidentifiedSubscriber</b>: Unknown subscriber. Contact cellular network operator.</p>
+KErrGsmSMSUnidentifiedSubscriber=<p><b>(-4540)</b>: Unknown subscriber. Contact cellular network operator.</p>
+-4541=<p><b>KErrGsmSMSFacilityRejected</b>: Operation is not supported. Contact cellular network operator.</p>
+KErrGsmSMSFacilityRejected=<p><b>(-4541)</b>: Operation is not supported. Contact cellular network operator.</p>
+-4542=<p><b>KErrGsmSMSUnknownSubscriber</b>: Unknown subscriber. Contact cellular network operator.</p>
+KErrGsmSMSUnknownSubscriber=<p><b>(-4542)</b>: Unknown subscriber. Contact cellular network operator.</p>
+-4550=<p><b>KErrGsmSMSNetworkOutOfOrder</b>: Serious cellular network failure. Please contact the cellular network operator.</p>
+KErrGsmSMSNetworkOutOfOrder=<p><b>(-4550)</b>: Serious cellular network failure. Please contact the cellular network operator.</p>
+-4553=<p><b>KErrGsmSMSTemporaryFailure</b>: Temporary network failure. Try again later.</p>
+KErrGsmSMSTemporaryFailure=<p><b>(-4553)</b>: Temporary network failure. Try again later.</p>
+-4554=<p><b>KErrGsmSMSCongestion</b>: Network busy.</p>
+KErrGsmSMSCongestion=<p><b>(-4554)</b>: Network busy.</p>
+-4559=<p><b>KErrGsmSMSResourcesUnavailable</b>: Network busy.</p>
+KErrGsmSMSResourcesUnavailable=<p><b>(-4559)</b>: Network busy.</p>
+-4562=<p><b>KErrGsmSMSRequestedFacilityNotSubscribed</b>: Service not subscribed. Contact cellular network operator.</p>
+KErrGsmSMSRequestedFacilityNotSubscribed=<p><b>(-4562)</b>: Service not subscribed. Contact cellular network operator.</p>
+-4581=<p><b>KErrGsmSMSRequestedFacilityNotImplemented</b>: Check operator services or connection settings.</p>
+KErrGsmSMSRequestedFacilityNotImplemented=<p><b>(-4581)</b>: Check operator services or connection settings.</p>
+-4593=<p><b>KErrGsmSMSInvalidShortMessageTransferReferenceValue</b>: Operation is not presently supported by the network.</p>
+KErrGsmSMSInvalidShortMessageTransferReferenceValue=<p><b>(-4593)</b>: Operation is not presently supported by the network.</p>
+-4607=<p><b>KErrGsmSMSUnspecifiedInvalidMessage</b>: Unknown network failure. Try again later.</p>
+KErrGsmSMSUnspecifiedInvalidMessage=<p><b>(-4607)</b>: Unknown network failure. Try again later.</p>
+-4608=<p><b>KErrGsmSMSInvalidMandatoryInformation</b>: Error in message content.</p>
+KErrGsmSMSInvalidMandatoryInformation=<p><b>(-4608)</b>: Error in message content.</p>
+-4609=<p><b>KErrGsmSMSNonExistentMessageType</b>: Operation is not presently supported by the network.</p>
+KErrGsmSMSNonExistentMessageType=<p><b>(-4609)</b>: Operation is not presently supported by the network.</p>
+-4610=<p><b>KErrGsmSMSIncompatibleMessageWithSmsProtocolState</b>: Operation is not presently supported by the network.</p>
+KErrGsmSMSIncompatibleMessageWithSmsProtocolState=<p><b>(-4610)</b>: Operation is not presently supported by the network.</p>
+-4611=<p><b>KErrGsmSMSInformationElementNotImplemented</b>: Message type is not presently supported by the network.</p>
+KErrGsmSMSInformationElementNotImplemented=<p><b>(-4611)</b>: Message type is not presently supported by the network.</p>
+-4623=<p><b>KErrGsmSMSUnspecifiedProtocolError</b>: Unknown network failure. Try again later.</p>
+KErrGsmSMSUnspecifiedProtocolError=<p><b>(-4623)</b>: Unknown network failure. Try again later.</p>
+-4639=<p><b>KErrGsmSMSUnspecifiedInterworkingError</b>: Operation is not presently supported by the network.</p>
+KErrGsmSMSUnspecifiedInterworkingError=<p><b>(-4639)</b>: Operation is not presently supported by the network.</p>
+-4640=<p><b>KErrGsmSMSTelematicInterworkingNotSupported</b>: Operation is not presently supported by the network.</p>
+KErrGsmSMSTelematicInterworkingNotSupported=<p><b>(-4640)</b>: Operation is not presently supported by the network.</p>
+-4641=<p><b>KErrGsmSMSShortMessageType0NotSupported</b>: Message type is not presently supported by the network.</p>
+KErrGsmSMSShortMessageType0NotSupported=<p><b>(-4641)</b>: Message type is not presently supported by the network.</p>
+-4642=<p><b>KErrGsmSMSCannotReplaceShortMessage</b>: Cannot deliver the message to the destination.</p>
+KErrGsmSMSCannotReplaceShortMessage=<p><b>(-4642)</b>: Cannot deliver the message to the destination.</p>
+-4655=<p><b>KErrGsmSMSUnspecifiedPIDError</b>: Unknown network failure. Try again later.</p>
+KErrGsmSMSUnspecifiedPIDError=<p><b>(-4655)</b>: Unknown network failure. Try again later.</p>
+-4656=<p><b>KErrGsmSMSDataCodingSchemeNotSupported</b>: Incompatible message language or alphabets.</p>
+KErrGsmSMSDataCodingSchemeNotSupported=<p><b>(-4656)</b>: Incompatible message language or alphabets.</p>
+-4657=<p><b>KErrGsmSMSMessageClassNotSupported</b>: Message type is not presently supported by the network.</p>
+KErrGsmSMSMessageClassNotSupported=<p><b>(-4657)</b>: Message type is not presently supported by the network.</p>
+-4671=<p><b>KErrGsmSMSUnspecifiedDCSError</b>: Unknown network failure. Try again later.</p>
+KErrGsmSMSUnspecifiedDCSError=<p><b>(-4671)</b>: Unknown network failure. Try again later.</p>
+-4672=<p><b>KErrGsmSMSCommandCannotBeActioned</b>: Operation cannot be performed.</p>
+KErrGsmSMSCommandCannotBeActioned=<p><b>(-4672)</b>: Operation cannot be performed.</p>
+-4673=<p><b>KErrGsmSMSCommandNotSupported</b>: Operation is not presently supported by the network.</p>
+KErrGsmSMSCommandNotSupported=<p><b>(-4673)</b>: Operation is not presently supported by the network.</p>
+-4687=<p><b>KErrGsmSMSUnspecifiedCommandError</b>: Unknown network failure. Try again later.</p>
+KErrGsmSMSUnspecifiedCommandError=<p><b>(-4687)</b>: Unknown network failure. Try again later.</p>
+-4688=<p><b>KErrGsmSMSTpduNotSupported</b>: Operation is not presently supported by the network.</p>
+KErrGsmSMSTpduNotSupported=<p><b>(-4688)</b>: Operation is not presently supported by the network.</p>
+-4704=<p><b>KErrGsmSMSServiceCentreBusy</b>: Service centre is busy. Try again later.</p>
+KErrGsmSMSServiceCentreBusy=<p><b>(-4704)</b>: Service centre is busy. Try again later.</p>
+-4705=<p><b>KErrGsmSMSNoSCSubscription</b>: No service centre. Check messaging settings.</p>
+KErrGsmSMSNoSCSubscription=<p><b>(-4705)</b>: No service centre. Check messaging settings.</p>
+-4706=<p><b>KErrGsmSMSSCSystemFailure</b>: Service centre failure. Try again later.</p>
+KErrGsmSMSSCSystemFailure=<p><b>(-4706)</b>: Service centre failure. Try again later.</p>
+-4707=<p><b>KErrGsmSMSInvalidSMEAddress</b>: Service centre failure. Try again later.</p>
+KErrGsmSMSInvalidSMEAddress=<p><b>(-4707)</b>: Service centre failure. Try again later.</p>
+-4710=<p><b>KErrGsmSMSDestinationSMEBarred</b>: The destination is barred.</p>
+KErrGsmSMSDestinationSMEBarred=<p><b>(-4710)</b>: The destination is barred.</p>
+-4711=<p><b>KErrGsmSMSDuplicateSM</b>: Blank</p>
+KErrGsmSMSDuplicateSM=<p><b>(-4711)</b>: Blank</p>
+-4712=<p><b>KErrGsmSMSTPVPFNotSupported</b>: Short message validity period not supported by the network.</p>
+KErrGsmSMSTPVPFNotSupported=<p><b>(-4712)</b>: Short message validity period not supported by the network.</p>
+-4713=<p><b>KErrGsmSMSTPVPNotSupported</b>: Short message validity period not supported by the network.</p>
+KErrGsmSMSTPVPNotSupported=<p><b>(-4713)</b>: Short message validity period not supported by the network.</p>
+-4720=<p><b>KErrGsmSMSSimSMSStorageFull</b>: Short message storage in SIM card is full.</p>
+KErrGsmSMSSimSMSStorageFull=<p><b>(-4720)</b>: Short message storage in SIM card is full.</p>
+-4721=<p><b>KErrGsmSMSNoSMSStorageCapabilityInSim</b>: No short message storage capability in SIM card.</p>
+KErrGsmSMSNoSMSStorageCapabilityInSim=<p><b>(-4721)</b>: No short message storage capability in SIM card.</p>
+-4722=<p><b>KErrGsmSMSErrorInMS</b>: Error receiving the short message.</p>
+KErrGsmSMSErrorInMS=<p><b>(-4722)</b>: Error receiving the short message.</p>
+-4723=<p><b>KErrGsmSMSMemCapacityExceeded</b>: No space to store the short message.</p>
+KErrGsmSMSMemCapacityExceeded=<p><b>(-4723)</b>: No space to store the short message.</p>
+-4724=<p><b>KErrGsmSMSSimAppToolkitBusy</b>: SIM is busy performing another operation.</p>
+KErrGsmSMSSimAppToolkitBusy=<p><b>(-4724)</b>: SIM is busy performing another operation.</p>
+-4767=<p><b>KErrGsmSMSUnspecifiedErrorCause</b>: Unknown network failure. Try again later.</p>
+KErrGsmSMSUnspecifiedErrorCause=<p><b>(-4767)</b>: Unknown network failure. Try again later.</p>
+-4812=<p><b>KErrGsmSMSFailureInME</b>: Error in receiving the short message.</p>
+KErrGsmSMSFailureInME=<p><b>(-4812)</b>: Error in receiving the short message.</p>
+-4813=<p><b>KErrGsmSMSServiceOfMSReserved</b>: Busy because of short message operation.</p>
+KErrGsmSMSServiceOfMSReserved=<p><b>(-4813)</b>: Busy because of short message operation.</p>
+-4814=<p><b>KErrGsmSMSOperationNotAllowed</b>: Operation is not allowed. Contact cellular network operator.</p>
+KErrGsmSMSOperationNotAllowed=<p><b>(-4814)</b>: Operation is not allowed. Contact cellular network operator.</p>
+-4815=<p><b>KErrGsmSMSOperationNotSupported</b>: Phone is not supporting the operation.</p>
+KErrGsmSMSOperationNotSupported=<p><b>(-4815)</b>: Phone is not supporting the operation.</p>
+-4816=<p><b>KErrGsmSMSInvalidPDUModeParameter</b>: Blank</p>
+KErrGsmSMSInvalidPDUModeParameter=<p><b>(-4816)</b>: Blank</p>
+-4817=<p><b>KErrGsmSMSInvalidTextModeParameter</b>: Blank</p>
+KErrGsmSMSInvalidTextModeParameter=<p><b>(-4817)</b>: Blank</p>
+-4822=<p><b>KErrGsmSMSSimNotInserted</b>: Insert SIM card.</p>
+KErrGsmSMSSimNotInserted=<p><b>(-4822)</b>: Insert SIM card.</p>
+-4823=<p><b>KErrGsmSMSSimPin1Required</b>: PIN1 is required to continue.</p>
+KErrGsmSMSSimPin1Required=<p><b>(-4823)</b>: PIN1 is required to continue.</p>
+-4824=<p><b>KErrGsmSMSPhoneToSimLockRequired</b>: Blank</p>
+KErrGsmSMSPhoneToSimLockRequired=<p><b>(-4824)</b>: Blank</p>
+-4825=<p><b>KErrGsmSMSSimFailure</b>: SIM card failure. Replace the SIM card.</p>
+KErrGsmSMSSimFailure=<p><b>(-4825)</b>: SIM card failure. Replace the SIM card.</p>
+-4826=<p><b>KErrGsmSMSSimBusy</b>: SIM card is busy performing another operation.</p>
+KErrGsmSMSSimBusy=<p><b>(-4826)</b>: SIM card is busy performing another operation.</p>
+-4827=<p><b>KErrGsmSMSSimWrong</b>: Wrong SIM card. Replace the SIM card.</p>
+KErrGsmSMSSimWrong=<p><b>(-4827)</b>: Wrong SIM card. Replace the SIM card.</p>
+-4828=<p><b>KErrGsmSMSSimPuk1Required</b>: PUK1 code is required to continue.</p>
+KErrGsmSMSSimPuk1Required=<p><b>(-4828)</b>: PUK1 code is required to continue.</p>
+-4829=<p><b>KErrGsmSMSPin2Required</b>: PIN2 is required to continue.</p>
+KErrGsmSMSPin2Required=<p><b>(-4829)</b>: PIN2 is required to continue.</p>
+-4830=<p><b>KErrGsmSMSPuk2Required</b>: PUK2 code is required to continue.</p>
+KErrGsmSMSPuk2Required=<p><b>(-4830)</b>: PUK2 code is required to continue.</p>
+-4832=<p><b>KErrGsmSMSMemoryFailure</b>: Memory failure. Try again.</p>
+KErrGsmSMSMemoryFailure=<p><b>(-4832)</b>: Memory failure. Try again.</p>
+-4833=<p><b>KErrGsmSMSInvalidMemoryIndex</b>: Memory failure. Try again.</p>
+KErrGsmSMSInvalidMemoryIndex=<p><b>(-4833)</b>: Memory failure. Try again.</p>
+-4834=<p><b>KErrGsmSMSMemoryFull</b>: Memory is full. Remove some messages and try again.</p>
+KErrGsmSMSMemoryFull=<p><b>(-4834)</b>: Memory is full. Remove some messages and try again.</p>
+-4842=<p><b>KErrGsmSMSUnknownSCAddress</b>: Blank</p>
+KErrGsmSMSUnknownSCAddress=<p><b>(-4842)</b>: Blank</p>
+-4843=<p><b>KErrGsmSMSNoNetworkService</b>: Service not available.</p>
+KErrGsmSMSNoNetworkService=<p><b>(-4843)</b>: Service not available.</p>
+-4844=<p><b>KErrGsmSMSNetworkTimeout</b>: Temporary network failure. Try again later.</p>
+KErrGsmSMSNetworkTimeout=<p><b>(-4844)</b>: Temporary network failure. Try again later.</p>
+-4852=<p><b>KErrGsmSMSCnmaAckNotExpected</b>: Blank</p>
+KErrGsmSMSCnmaAckNotExpected=<p><b>(-4852)</b>: Blank</p>
+-5012=<p><b>KUriUtilsErrBadEscapeMode</b>: Error code for unsupported escaping mode</p>
+KErrGsmSMSUnknownError=<p><b>(-5012)</b>: Temporary network failure. Try again later.</p>
+-5000=<p><b>KUriUtilsErrBadComponentIndex</b>: Error specifying the use of an invalid component index</p>
+KUriUtilsErrBadComponentIndex=<p><b>(-5000)</b>: Error specifying the use of an invalid component index</p>
+-5001=<p><b>KUriUtilsErrBadBasePath</b>: Error specifying the use of a base uri path is not absolute and not empty</p>
+KUriUtilsErrBadBasePath=<p><b>(-5001)</b>: Error specifying the use of a base uri path is not absolute and not empty</p>
+-5002=<p><b>KUriUtilsErrBufferOverflow</b>: Error specifying that a buffer is not big enough to append a component and delimiters</p>
+KUriUtilsErrBufferOverflow=<p><b>(-5002)</b>: Error specifying that a buffer is not big enough to append a component and delimiters</p>
+-5003=<p><b>KUriUtilsErrBadDelimitedParserMode</b>: Error specifying the use of an supported parsing mode</p>
+KUriUtilsErrBadDelimitedParserMode=<p><b>(-5003)</b>: Error specifying the use of an supported parsing mode</p>
+-5004=<p><b>KUriUtilsErrNoDelimiter</b>: Error specifying that the delimiting character is not set</p>
+KUriUtilsErrNoDelimiter=<p><b>(-5004)</b>: Error specifying that the delimiting character is not set</p>
+-5005=<p><b>KUriUtilsErrNotParsed</b>: Error specifying that the data has not been parsed</p>
+KUriUtilsErrNotParsed=<p><b>(-5005)</b>: Error specifying that the data has not been parsed</p>
+-5006=<p><b>KUriUtilsErr16BitChar</b>: Error specifying that a 16-bit character was found in data to be escape encode</p>
+KUriUtilsErr16BitChar=<p><b>(-5006)</b>: Error specifying that a 16-bit character was found in data to be escape encode</p>
+-5007=<p><b>KUriUtilsErrBadEscapeTriple</b>: Error specifying that a badly formed escape triple was found in data being escape decoded</p>
+KUriUtilsErrBadEscapeTriple=<p><b>(-5007)</b>: Error specifying that a badly formed escape triple was found in data being escape decoded</p>
+-5008=<p><b>KUriUtilsCannotConvert</b>: Error specifying that charconv was unable to convert the input data</p>
+KUriUtilsCannotConvert=<p><b>(-5008)</b>: Error specifying that charconv was unable to convert the input data</p>
+-5009=<p><b>KUriUtilsErrEmptyData</b>: Error specifying that there was empty data</p>
+KUriUtilsErrEmptyData=<p><b>(-5009)</b>: Error specifying that there was empty data</p>
+-5010=<p><b>KUriUtilsErrNoIntegerInData</b>: Error specifying that there is no character representation of an integer</p>
+KUriUtilsErrNoIntegerInData=<p><b>(-5010)</b>: Error specifying that there is no character representation of an integer</p>
+-5011=<p><b>KUriUtilsErrInvalidUri</b>: Error code specifying an invalid uri</p>
+KUriUtilsErrInvalidUri=<p><b>(-5011)</b>: Error code specifying an invalid uri</p>
+KUriUtilsErrBadEscapeMode=<p><b>(-5012)</b>: Error code for unsupported escaping mode</p>
+-5013=<p><b>KUriUtilsErrBadTextRemoveMode</b>: Error code for unsupported text whitespace removal mode</p>
+KUriUtilsErrBadTextRemoveMode=<p><b>(-5013)</b>: Error code for unsupported text whitespace removal mode</p>
+-5014=<p><b>KUriUtilsErrDecodeMalformedQuotedString</b>: Quoted string could not be decoded as it is malformed</p>
+KUriUtilsErrDecodeMalformedQuotedString=<p><b>(-5014)</b>: Quoted string could not be decoded as it is malformed</p>
+-5024=<p><b>KErrGsm0707PhoneFailure</b>: Phone failure. Switch off the phone and then switch on.</p>
+KErrGsm0707PhoneFailure=<p><b>(-5024)</b>: Phone failure. Switch off the phone and then switch on.</p>
+-5025=<p><b>KErrGsm0707NoConnectionToPhone</b>: Phone failure. Switch off the phone and then switch on.</p>
+KErrGsm0707NoConnectionToPhone=<p><b>(-5025)</b>: Phone failure. Switch off the phone and then switch on.</p>
+-5026=<p><b>KErrGsm0707PhoneLinkReserved</b>: Phone is busy due the other call operation.</p>
+KErrGsm0707PhoneLinkReserved=<p><b>(-5026)</b>: Phone is busy due the other call operation.</p>
+-5027=<p><b>KErrGsm0707OperationNotAllowed</b>: Operation is not allowed. Check phone settings.</p>
+KErrGsm0707OperationNotAllowed=<p><b>(-5027)</b>: Operation is not allowed. Check phone settings.</p>
+-5028=<p><b>KErrGsm0707OperationNotSupported</b>: Operation is not supported by the phone.</p>
+KErrGsm0707OperationNotSupported=<p><b>(-5028)</b>: Operation is not supported by the phone.</p>
+-5029=<p><b>KErrGsm0707PhoneToSimLockRequired</b>: Blank</p>
+KErrGsm0707PhoneToSimLockRequired=<p><b>(-5029)</b>: Blank</p>
+-5034=<p><b>KErrGsm0707SimNotInserted</b>: Insert SIM card.</p>
+KErrGsm0707SimNotInserted=<p><b>(-5034)</b>: Insert SIM card.</p>
+-5035=<p><b>KErrGsm0707SimPin1Required</b>: PIN1 is required to continue.</p>
+KErrGsm0707SimPin1Required=<p><b>(-5035)</b>: PIN1 is required to continue.</p>
+-5036=<p><b>KErrGsm0707SIMPuk1Required</b>: PUK1 code is required to continue.</p>
+KErrGsm0707SIMPuk1Required=<p><b>(-5036)</b>: PUK1 code is required to continue.</p>
+-5037=<p><b>KErrGsm0707SimFailure</b>: SIM card failure. Replace the SIM card.</p>
+KErrGsm0707SimFailure=<p><b>(-5037)</b>: SIM card failure. Replace the SIM card.</p>
+-5038=<p><b>KErrGsm0707SimBusy</b>: SIM card is busy while performing other operation.</p>
+KErrGsm0707SimBusy=<p><b>(-5038)</b>: SIM card is busy while performing other operation.</p>
+-5039=<p><b>KErrGsm0707SimWrong</b>: Wrong SIM card. Replace the SIM card.</p>
+KErrGsm0707SimWrong=<p><b>(-5039)</b>: Wrong SIM card. Replace the SIM card.</p>
+-5040=<p><b>KErrGsm0707IncorrectPassword</b>: Incorrect code please re-enter.</p>
+KErrGsm0707IncorrectPassword=<p><b>(-5040)</b>: Incorrect code please re-enter.</p>
+-5041=<p><b>KErrGsm0707SimPin2Required</b>: PIN2 is required to continue.</p>
+KErrGsm0707SimPin2Required=<p><b>(-5041)</b>: PIN2 is required to continue.</p>
+-5042=<p><b>KErrGsm0707SIMPuk2Required</b>: PUK2 code is required to continue.</p>
+KErrGsm0707SIMPuk2Required=<p><b>(-5042)</b>: PUK2 code is required to continue.</p>
+-5043=<p><b>KErrGsm0707MemoryFull</b>: Memory is full. Remove some messages and try again.</p>
+KErrGsm0707MemoryFull=<p><b>(-5043)</b>: Memory is full. Remove some messages and try again.</p>
+-5044=<p><b>KErrGsm0707InvalidIndex</b>: Memory failure. Try again.</p>
+KErrGsm0707InvalidIndex=<p><b>(-5044)</b>: Memory failure. Try again.</p>
+-5045=<p><b>KErrGsm0707NotFound</b>: Requested information not found. Try again.</p>
+KErrGsm0707NotFound=<p><b>(-5045)</b>: Requested information not found. Try again.</p>
+-5046=<p><b>KErrGsm0707MemoryFailure</b>: Memory failure. Try again.</p>
+KErrGsm0707MemoryFailure=<p><b>(-5046)</b>: Memory failure. Try again.</p>
+-5047=<p><b>KErrGsm0707TextStringTooLong</b>: Entered string is too long. Please re-enter the string.</p>
+KErrGsm0707TextStringTooLong=<p><b>(-5047)</b>: Entered string is too long. Please re-enter the string.</p>
+-5048=<p><b>KErrGsm0707InvalidCharsInTextString</b>: Invalid characters in text string. Please re-enter the string.</p>
+KErrGsm0707InvalidCharsInTextString=<p><b>(-5048)</b>: Invalid characters in text string. Please re-enter the string.</p>
+-5049=<p><b>KErrGsm0707DialStringTooLong</b>: Entered dial string is too long. Please re-enter the string.</p>
+KErrGsm0707DialStringTooLong=<p><b>(-5049)</b>: Entered dial string is too long. Please re-enter the string.</p>
+-5050=<p><b>KErrGsm0707InvalidCharsInDialString</b>: Invalid characters in dial string. Please re-enter the string.</p>
+KErrGsm0707InvalidCharsInDialString=<p><b>(-5050)</b>: Invalid characters in dial string. Please re-enter the string.</p>
+-5054=<p><b>KErrGsm0707NoNetworkService</b>: Service is not available.</p>
+KErrGsm0707NoNetworkService=<p><b>(-5054)</b>: Service is not available.</p>
+-5055=<p><b>KErrGsm0707NetworkTimeout</b>: Temporary network failure. Try again later.</p>
+KErrGsm0707NetworkTimeout=<p><b>(-5055)</b>: Temporary network failure. Try again later.</p>
+-5124=<p><b>KErrDndCache</b>: Corrupted data in cache (= bad DNS reply from server)</p>
+KErrGsm0707UnknownError=<p><b>(-5124)</b>: Temporary network failure. Try again later.</p>
+-5120=<p><b>KErrDndNameNotFound</b>: Returned when no data found for GetByName</p>
+KErrDndNameNotFound=<p><b>(-5120)</b>: Returned when no data found for GetByName</p>
+-5121=<p><b>KErrDndAddrNotFound</b>: Returned when no data found for GetByAddr</p>
+KErrDndAddrNotFound=<p><b>(-5121)</b>: Returned when no data found for GetByAddr</p>
+-5122=<p><b>KErrDndNoServers</b>: No DNS server addresses available (timeout)</p>
+KErrDndNoServers=<p><b>(-5122)</b>: No DNS server addresses available (timeout)</p>
+-5123=<p><b>KErrDndNoRoute</b>: Send timeout for the query (probably no route for server)</p>
+KErrDndNoRoute=<p><b>(-5123)</b>: Send timeout for the query (probably no route for server)</p>
+KErrDndCache=<p><b>(-5124)</b>: Corrupted data in cache (= bad DNS reply from server)</p>
+-5125=<p><b>KErrDndFormat</b>: Wrong format</p>
+KErrDndFormat=<p><b>(-5125)</b>: Wrong format</p>
+-5126=<p><b>KErrDndServerFailure</b>: </p>
+KErrDndServerFailure=<p><b>(-5126)</b>: </p>
+-5127=<p><b>KErrDndBadName</b>: Bad name</p>
+KErrDndBadName=<p><b>(-5127)</b>: Bad name</p>
+-5128=<p><b>KErrDndNotImplemented</b>: </p>
+KErrDndNotImplemented=<p><b>(-5128)</b>: </p>
+-5129=<p><b>KErrDndRefused</b>: Server refused</p>
+KErrDndRefused=<p><b>(-5129)</b>: Server refused</p>
+-5130=<p><b>KErrDndBadQuery</b>: "Bad query from application (invalid domain name</p>
+KErrDndBadQuery=<p><b>(-5130)</b>: "Bad query from application (invalid domain name</p>
+-5131=<p><b>KErrDndNoRecord</b>: No record found of the desired type and class.</p>
+KErrDndNoRecord=<p><b>(-5131)</b>: No record found of the desired type and class.</p>
+-5132=<p><b>KErrDndNameTooBig</b>: Buffer overflow with name</p>
+KErrDndNameTooBig=<p><b>(-5132)</b>: Buffer overflow with name</p>
+-5133=<p><b>KErrDndUnknown</b>: Misc error - must be something wrong with the packet or the NS</p>
+KErrDndUnknown=<p><b>(-5133)</b>: Misc error - must be something wrong with the packet or the NS</p>
+-5134=<p><b>KErrDndServerUnusable</b>: "The server is unusable for the attempted query (for example</p>
+KErrDndServerUnusable=<p><b>(-5134)</b>: "The server is unusable for the attempted query (for example</p>
+-5154=<p><b>EIpsec_NotANATTPacket</b>: UDP packet is NOT a NAT Taversal packet</p>
+EIpsec_NotANATTPacket=<p><b>(-5154)</b>: UDP packet is NOT a NAT Taversal packet</p>
+-5155=<p><b>EIpsec_NoInnerSource</b>: Cannot find inner-src for outbound packet when tunneling (for SECPOL)</p>
+EIpsec_NoInnerSource=<p><b>(-5155)</b>: Cannot find inner-src for outbound packet when tunneling (for SECPOL)</p>
+-5156=<p><b>EIpsec_LostSA</b>: "An SA has been lost betweenApply andVerify</p>
+EIpsec_LostSA=<p><b>(-5156)</b>: "An SA has been lost betweenApply andVerify</p>
+-5157=<p><b>EIpsec_IcmpError</b>: An ICMP error report containing AH orESP (for INET6)</p>
+EIpsec_IcmpError=<p><b>(-5157)</b>: An ICMP error report containing AH orESP (for INET6)</p>
+-5158=<p><b>EIpsec_PolicyUnknownSelector</b>: unknown selector keyword</p>
+EIpsec_PolicyUnknownSelector=<p><b>(-5158)</b>: unknown selector keyword</p>
+-5159=<p><b>EIpsec_PolicyInboundOutbound</b>: Only one of the 'inbound' or 'outbound' is allowed</p>
+EIpsec_PolicyInboundOutbound=<p><b>(-5159)</b>: Only one of the 'inbound' or 'outbound' is allowed</p>
+-5160=<p><b>EIpsec_PolicyIpMaskExpected</b>: Expected IP address (as mask) here</p>
+EIpsec_PolicyIpMaskExpected=<p><b>(-5160)</b>: Expected IP address (as mask) here</p>
+-5161=<p><b>EIpsec_PolicyIpAddressExpected</b>: Expected IP address here</p>
+EIpsec_PolicyIpAddressExpected=<p><b>(-5161)</b>: Expected IP address here</p>
+-5162=<p><b>EIpsec_PolicyInvalidIpAddress</b>: Invalid IP address</p>
+EIpsec_PolicyInvalidIpAddress=<p><b>(-5162)</b>: Invalid IP address</p>
+-5163=<p><b>EIpsec_PolicyRightParen</b>: Right parenthesis expected</p>
+EIpsec_PolicyRightParen=<p><b>(-5163)</b>: Right parenthesis expected</p>
+-5164=<p><b>EIpsec_PolicyLeftParen</b>: Left parenthesis expected</p>
+EIpsec_PolicyLeftParen=<p><b>(-5164)</b>: Left parenthesis expected</p>
+-5165=<p><b>EIpsec_PolicySpecNotFound</b>: SA specification is not defined before reference in selector</p>
+EIpsec_PolicySpecNotFound=<p><b>(-5165)</b>: SA specification is not defined before reference in selector</p>
+-5166=<p><b>EIpsec_PolicySyntaxError</b>: Generic delimiter error inspecification</p>
+EIpsec_PolicySyntaxError=<p><b>(-5166)</b>: Generic delimiter error inspecification</p>
+-5167=<p><b>EIpsec_PolicySpecName</b>: SA specification name missing or invalid</p>
+EIpsec_PolicySpecName=<p><b>(-5167)</b>: SA specification name missing or invalid</p>
+-5168=<p><b>EIpsec_PolicyNoEncryptAlgorithm</b>: ESP specification must include encryptionb algorithm</p>
+EIpsec_PolicyNoEncryptAlgorithm=<p><b>(-5168)</b>: ESP specification must include encryptionb algorithm</p>
+-5169=<p><b>EIpsec_PolicyNoAuthAlgorithm</b>: AH specification must include authentication algorithm</p>
+EIpsec_PolicyNoAuthAlgorithm=<p><b>(-5169)</b>: AH specification must include authentication algorithm</p>
+-5170=<p><b>EIpsec_PolicyTooManyTypes</b>: Type can be specified onlyonce for specification</p>
+EIpsec_PolicyTooManyTypes=<p><b>(-5170)</b>: Type can be specified onlyonce for specification</p>
+-5171=<p><b>EIpsec_PolicyNoType</b>: SA type (AH or ESP) omittedfrom specification</p>
+EIpsec_PolicyNoType=<p><b>(-5171)</b>: SA type (AH or ESP) omittedfrom specification</p>
+-5172=<p><b>EIpsec_PolicyCloseBraceExpected</b>: closing brace expected</p>
+EIpsec_PolicyCloseBraceExpected=<p><b>(-5172)</b>: closing brace expected</p>
+-5173=<p><b>EIpsec_PolicyNumberExpected</b>: number value expected</p>
+EIpsec_PolicyNumberExpected=<p><b>(-5173)</b>: number value expected</p>
+-5174=<p><b>EIpsec_PolicyUnknownSpec</b>: unknown policy specification keyword</p>
+EIpsec_PolicyUnknownSpec=<p><b>(-5174)</b>: unknown policy specification keyword</p>
+-5175=<p><b>EIpsec_PolicyInvalidIdentity</b>: invalid identity syntax</p>
+EIpsec_PolicyInvalidIdentity=<p><b>(-5175)</b>: invalid identity syntax</p>
+-5176=<p><b>EIpsec_PolicyIdentityDefined</b>: identify already defined</p>
+EIpsec_PolicyIdentityDefined=<p><b>(-5176)</b>: identify already defined</p>
+-5177=<p><b>EIpsec_PolicyUnknownAuth</b>: algorithm not defined in algorithm map</p>
+EIpsec_PolicyUnknownAuth=<p><b>(-5177)</b>: algorithm not defined in algorithm map</p>
+-5178=<p><b>EIpsec_PolicyUnknownEncrypt</b>: algorithm not defined in algorithm map</p>
+EIpsec_PolicyUnknownEncrypt=<p><b>(-5178)</b>: algorithm not defined in algorithm map</p>
+-5179=<p><b>EIpsec_UnavailableDigest</b>: No installed library implements the digest</p>
+EIpsec_UnavailableDigest=<p><b>(-5179)</b>: No installed library implements the digest</p>
+-5180=<p><b>EIpsec_UnavailableCipher</b>: No installed library implements the cipher</p>
+EIpsec_UnavailableCipher=<p><b>(-5180)</b>: No installed library implements the cipher</p>
+-5181=<p><b>EIpsec_UnknownDigestNumber</b>: Attempting to use algorithmnumber that is not known</p>
+EIpsec_UnknownDigestNumber=<p><b>(-5181)</b>: Attempting to use algorithmnumber that is not known</p>
+-5182=<p><b>EIpsec_UnknownCipherNumber</b>: Attempting to use algorithmnumber that is not known</p>
+EIpsec_UnknownCipherNumber=<p><b>(-5182)</b>: Attempting to use algorithmnumber that is not known</p>
+-5183=<p><b>EIpsec_BadCipherKey</b>: Key in SA is too short (forthe algorithm) or is weak</p>
+EIpsec_BadCipherKey=<p><b>(-5183)</b>: Key in SA is too short (forthe algorithm) or is weak</p>
+-5184=<p><b>EIpsec_MismatchDestinationIdentity</b>: destination identity does not match</p>
+EIpsec_MismatchDestinationIdentity=<p><b>(-5184)</b>: destination identity does not match</p>
+-5185=<p><b>EIpsec_MismatchSourceIdentity</b>: source identity does not match</p>
+EIpsec_MismatchSourceIdentity=<p><b>(-5185)</b>: source identity does not match</p>
+-5186=<p><b>EIpsec_MismatchProtocol</b>: protocol does not match</p>
+EIpsec_MismatchProtocol=<p><b>(-5186)</b>: protocol does not match</p>
+-5187=<p><b>EIpsec_MismatchDestinationPort</b>: destination port does not match</p>
+EIpsec_MismatchDestinationPort=<p><b>(-5187)</b>: destination port does not match</p>
+-5188=<p><b>EIpsec_MismatchSourcePort</b>: source port does not match</p>
+EIpsec_MismatchSourcePort=<p><b>(-5188)</b>: source port does not match</p>
+-5189=<p><b>EIpsec_MismatchProxy</b>: proxy address does not match</p>
+EIpsec_MismatchProxy=<p><b>(-5189)</b>: proxy address does not match</p>
+-5190=<p><b>EIpsec_MismatchSource</b>: source address does not match</p>
+EIpsec_MismatchSource=<p><b>(-5190)</b>: source address does not match</p>
+-5191=<p><b>EIpsec_MismatchReplayWindow</b>: ReplayWindow length is shorter than required</p>
+EIpsec_MismatchReplayWindow=<p><b>(-5191)</b>: ReplayWindow length is shorter than required</p>
+-5192=<p><b>EIpsec_MismatchedEncryptAlg</b>: Encrypt algorithm doesn't match</p>
+EIpsec_MismatchedEncryptAlg=<p><b>(-5192)</b>: Encrypt algorithm doesn't match</p>
+-5193=<p><b>EIpsec_MismatchedAuthAlg</b>: Auth algorithm doesn't match</p>
+EIpsec_MismatchedAuthAlg=<p><b>(-5193)</b>: Auth algorithm doesn't match</p>
+-5194=<p><b>EIpsec_MismatchedPFS</b>: PFS bit is not same</p>
+EIpsec_MismatchedPFS=<p><b>(-5194)</b>: PFS bit is not same</p>
+-5195=<p><b>EIpsec_MismatchedType</b>: SA Type (AH/ESP) does not match</p>
+EIpsec_MismatchedType=<p><b>(-5195)</b>: SA Type (AH/ESP) does not match</p>
+-5196=<p><b>EIpsec_MismatchedDestination</b>: SA destination does not match (internal error?)</p>
+EIpsec_MismatchedDestination=<p><b>(-5196)</b>: SA destination does not match (internal error?)</p>
+-5197=<p><b>EIpsec_AcquireFailed</b>: Acquiring SA failed (no SAavailableor negotiated)</p>
+EIpsec_AcquireFailed=<p><b>(-5197)</b>: Acquiring SA failed (no SAavailableor negotiated)</p>
+-5198=<p><b>EIpsec_EspBadCipherBlockSize</b>: "Configuration error</p>
+EIpsec_EspBadCipherBlockSize=<p><b>(-5198)</b>: "Configuration error</p>
+-5199=<p><b>EIpsec_EspSequenceWrap</b>: Outbound sequence # wrappedaround for this SA</p>
+EIpsec_EspSequenceWrap=<p><b>(-5199)</b>: Outbound sequence # wrappedaround for this SA</p>
+-5200=<p><b>EIpsec_AhSequenceWrap</b>: Outbound sequence # wrappedaround for this SA</p>
+EIpsec_AhSequenceWrap=<p><b>(-5200)</b>: Outbound sequence # wrappedaround for this SA</p>
+-5201=<p><b>EIpsec_AhPacketTooLong</b>: Outbound packet would exeed2**16-1 with AH</p>
+EIpsec_AhPacketTooLong=<p><b>(-5201)</b>: Outbound packet would exeed2**16-1 with AH</p>
+-5202=<p><b>EIpsec_AhRMBufSplit</b>: Inbound AH processing failed (Memory?)</p>
+EIpsec_AhRMBufSplit=<p><b>(-5202)</b>: Inbound AH processing failed (Memory?)</p>
+-5203=<p><b>EIpsec_NoBundle</b>: "Incoming packet had transforms</p>
+EIpsec_NoBundle=<p><b>(-5203)</b>: "Incoming packet had transforms</p>
+-5204=<p><b>EIpsec_TooManyTransforms</b>: Incoming packet had more transforms than policy requires</p>
+EIpsec_TooManyTransforms=<p><b>(-5204)</b>: Incoming packet had more transforms than policy requires</p>
+-5205=<p><b>EIpsec_UnrequiredSA</b>: Applied SA where policy hasnone</p>
+EIpsec_UnrequiredSA=<p><b>(-5205)</b>: Applied SA where policy hasnone</p>
+-5206=<p><b>EIpsec_MismatchedSA</b>: Applied SA does not match the policy</p>
+EIpsec_MismatchedSA=<p><b>(-5206)</b>: Applied SA does not match the policy</p>
+-5207=<p><b>EIpsec_TunnelMismatch</b>: Tunnelmode does not match the policy</p>
+EIpsec_TunnelMismatch=<p><b>(-5207)</b>: Tunnelmode does not match the policy</p>
+-5208=<p><b>EIpsec_TooFewTransforms</b>: Incoming packet has less transforms than policy requires</p>
+EIpsec_TooFewTransforms=<p><b>(-5208)</b>: Incoming packet has less transforms than policy requires</p>
+-5209=<p><b>EIpsec_MaxTransforms</b>: Incoming packet exceed configured maxlimit of transforms</p>
+EIpsec_MaxTransforms=<p><b>(-5209)</b>: Incoming packet exceed configured maxlimit of transforms</p>
+-5210=<p><b>EIpsec_NoSelectorMatch</b>: None of the policy selectors matched</p>
+EIpsec_NoSelectorMatch=<p><b>(-5210)</b>: None of the policy selectors matched</p>
+-5211=<p><b>EIpsec_OutboundPending</b>: "Outbooud SA does not exits</p>
+EIpsec_OutboundPending=<p><b>(-5211)</b>: "Outbooud SA does not exits</p>
+-5212=<p><b>EIpsec_OutboundNotFound</b>: "Outbound SA does not exist</p>
+EIpsec_OutboundNotFound=<p><b>(-5212)</b>: "Outbound SA does not exist</p>
+-5213=<p><b>EIpsec_ReplayDuplicate</b>: Duplicate packet (replay window test)</p>
+EIpsec_ReplayDuplicate=<p><b>(-5213)</b>: Duplicate packet (replay window test)</p>
+-5214=<p><b>EIpsec_EspPadLength</b>: The ESP pad length is corrupt (probably wrong key)</p>
+EIpsec_EspPadLength=<p><b>(-5214)</b>: The ESP pad length is corrupt (probably wrong key)</p>
+-5215=<p><b>EIpsec_EspPadByte</b>: The ESP pad byte content isinvalid (probably wrong key)</p>
+EIpsec_EspPadByte=<p><b>(-5215)</b>: The ESP pad byte content isinvalid (probably wrong key)</p>
+-5216=<p><b>EIpsec_DataAlignment</b>: Data not aligned by block size</p>
+EIpsec_DataAlignment=<p><b>(-5216)</b>: Data not aligned by block size</p>
+-5217=<p><b>EIpsec_PacketLength</b>: Invalid lenght of the packet</p>
+EIpsec_PacketLength=<p><b>(-5217)</b>: Invalid lenght of the packet</p>
+-5218=<p><b>EIpsec_AhAuthentication</b>: Authentication check failedin AH</p>
+EIpsec_AhAuthentication=<p><b>(-5218)</b>: Authentication check failedin AH</p>
+-5219=<p><b>EIpsec_AhIcvLength</b>: ICV length in packet does not match algorithm</p>
+EIpsec_AhIcvLength=<p><b>(-5219)</b>: ICV length in packet does not match algorithm</p>
+-5220=<p><b>EIpsec_AhInboundSA</b>: The inbound SA for AH doesnot exist</p>
+EIpsec_AhInboundSA=<p><b>(-5220)</b>: The inbound SA for AH doesnot exist</p>
+-5221=<p><b>EIpsec_AhAuthAlg</b>: Required auth algorithm forAH not available/installed</p>
+EIpsec_AhAuthAlg=<p><b>(-5221)</b>: Required auth algorithm forAH not available/installed</p>
+-5222=<p><b>EIpsec_EspEncrAlg</b>: Required encrypt algorithmfor ESP not available/installed</p>
+EIpsec_EspEncrAlg=<p><b>(-5222)</b>: Required encrypt algorithmfor ESP not available/installed</p>
+-5223=<p><b>EIpsec_EspAuthAlg</b>: Required auth algorithm forESP not available/installed</p>
+EIpsec_EspAuthAlg=<p><b>(-5223)</b>: Required auth algorithm forESP not available/installed</p>
+-5224=<p><b>EIpsec_EspAuthentication</b>: Authentication check failedin ESP</p>
+EIpsec_EspAuthentication=<p><b>(-5224)</b>: Authentication check failedin ESP</p>
+-5225=<p><b>EIpsec_EspInboundSA</b>: The inbound SA for ESP doesnot exist</p>
+EIpsec_EspInboundSA=<p><b>(-5225)</b>: The inbound SA for ESP doesnot exist</p>
+-5226=<p><b>EIpsec_CorruptPacketOut</b>: Corrupt packet after IPSECoperations</p>
+EIpsec_CorruptPacketOut=<p><b>(-5226)</b>: Corrupt packet after IPSECoperations</p>
+-5227=<p><b>EIpsec_CorruptPacketIn</b>: Truncated or corrupt packetor header(in)</p>
+EIpsec_CorruptPacketIn=<p><b>(-5227)</b>: Truncated or corrupt packetor header(in)</p>
+-5228=<p><b>EIpsec_RMBUF</b>: RMBUF operation failed unexpectedly</p>
+EIpsec_RMBUF=<p><b>(-5228)</b>: RMBUF operation failed unexpectedly</p>
+-5501=<p><b>KErrIrObexClientNoDevicesFound</b>: No other infrared device found</p>
+KErrIrObexClientNoDevicesFound=<p><b>(-5501)</b>: No other infrared device found</p>
+-5502=<p><b>KErrIrObexClientPeerDoesNotHaveObex</b>: Other IR device cannot handle IrObex</p>
+KErrIrObexClientPeerDoesNotHaveObex=<p><b>(-5502)</b>: Other IR device cannot handle IrObex</p>
+-5503=<p><b>KErrIrObexClientPutPeerAborted</b>: Other IR device aborted the transfer</p>
+KErrIrObexClientPutPeerAborted=<p><b>(-5503)</b>: Other IR device aborted the transfer</p>
+-5507=<p><b>KErrIrObexServerPutPeerAborted</b>: Peer device aborted data transmission/obex sending</p>
+KErrIrObexServerPutPeerAborted=<p><b>(-5507)</b>: Peer device aborted data transmission/obex sending</p>
+-5512=<p><b>KErrIrObexConnectChallRejected</b>: Cannot authorise the challenge so link dropped</p>
+KErrIrObexConnectChallRejected=<p><b>(-5512)</b>: Cannot authorise the challenge so link dropped</p>
+-5532=<p><b>KErrIrObexRespSuccess</b>: </p>
+KErrIrObexRespSuccess=<p><b>(-5532)</b>: </p>
+-5533=<p><b>KErrIrObexRespCreated</b>: </p>
+KErrIrObexRespCreated=<p><b>(-5533)</b>: </p>
+-5534=<p><b>KErrIrObexRespAccepted</b>: </p>
+KErrIrObexRespAccepted=<p><b>(-5534)</b>: </p>
+-5535=<p><b>KErrIrObexRespNonAuthInfo</b>: </p>
+KErrIrObexRespNonAuthInfo=<p><b>(-5535)</b>: </p>
+-5536=<p><b>KErrIrObexRespNoContent</b>: </p>
+KErrIrObexRespNoContent=<p><b>(-5536)</b>: </p>
+-5537=<p><b>KErrIrObexRespResetContent</b>: </p>
+KErrIrObexRespResetContent=<p><b>(-5537)</b>: </p>
+-5538=<p><b>KErrIrObexRespPartialContent</b>: </p>
+KErrIrObexRespPartialContent=<p><b>(-5538)</b>: </p>
+-5548=<p><b>KErrIrObexRespMultipleChoices</b>: </p>
+KErrIrObexRespMultipleChoices=<p><b>(-5548)</b>: </p>
+-5549=<p><b>KErrIrObexRespMovedPerm</b>: </p>
+KErrIrObexRespMovedPerm=<p><b>(-5549)</b>: </p>
+-5550=<p><b>KErrIrObexRespMovedTemp</b>: </p>
+KErrIrObexRespMovedTemp=<p><b>(-5550)</b>: </p>
+-5551=<p><b>KErrIrObexRespSeeOther</b>: </p>
+KErrIrObexRespSeeOther=<p><b>(-5551)</b>: </p>
+-5552=<p><b>KErrIrObexRespNotModified</b>: </p>
+KErrIrObexRespNotModified=<p><b>(-5552)</b>: </p>
+-5553=<p><b>KErrIrObexRespUseProxy</b>: </p>
+KErrIrObexRespUseProxy=<p><b>(-5553)</b>: </p>
+-5564=<p><b>KErrIrObexRespBadRequest</b>: </p>
+KErrIrObexRespBadRequest=<p><b>(-5564)</b>: </p>
+-5565=<p><b>KErrIrObexRespUnauthorized</b>: </p>
+KErrIrObexRespUnauthorized=<p><b>(-5565)</b>: </p>
+-5566=<p><b>KErrIrObexRespPaymentRequired</b>: </p>
+KErrIrObexRespPaymentRequired=<p><b>(-5566)</b>: </p>
+-5567=<p><b>KErrIrObexRespForbidden</b>: </p>
+KErrIrObexRespForbidden=<p><b>(-5567)</b>: </p>
+-5568=<p><b>KErrIrObexRespNotFound</b>: </p>
+KErrIrObexRespNotFound=<p><b>(-5568)</b>: </p>
+-5569=<p><b>KErrIrObexRespMethodNotAllowed</b>: </p>
+KErrIrObexRespMethodNotAllowed=<p><b>(-5569)</b>: </p>
+-5570=<p><b>KErrIrObexRespNotAcceptable</b>: </p>
+KErrIrObexRespNotAcceptable=<p><b>(-5570)</b>: </p>
+-5571=<p><b>KErrIrObexRespProxyAuthenReqd</b>: </p>
+KErrIrObexRespProxyAuthenReqd=<p><b>(-5571)</b>: </p>
+-5572=<p><b>KErrIrObexRespTimedOut</b>: </p>
+KErrIrObexRespTimedOut=<p><b>(-5572)</b>: </p>
+-5573=<p><b>KErrIrObexRespConflict</b>: </p>
+KErrIrObexRespConflict=<p><b>(-5573)</b>: </p>
+-5574=<p><b>KErrIrObexRespGone</b>: </p>
+KErrIrObexRespGone=<p><b>(-5574)</b>: </p>
+-5575=<p><b>KErrIrObexRespLengthReqd</b>: </p>
+KErrIrObexRespLengthReqd=<p><b>(-5575)</b>: </p>
+-5576=<p><b>KErrIrObexRespPreCondFailed</b>: </p>
+KErrIrObexRespPreCondFailed=<p><b>(-5576)</b>: </p>
+-5577=<p><b>KErrIrObexRespReqEntityTooLarge</b>: </p>
+KErrIrObexRespReqEntityTooLarge=<p><b>(-5577)</b>: </p>
+-5578=<p><b>KErrIrObexRespReqURLTooLarge</b>: </p>
+KErrIrObexRespReqURLTooLarge=<p><b>(-5578)</b>: </p>
+-5579=<p><b>KErrIrObexRespUnsupMediaType</b>: </p>
+KErrIrObexRespUnsupMediaType=<p><b>(-5579)</b>: </p>
+-5580=<p><b>KErrIrObexRespInternalError</b>: </p>
+KErrIrObexRespInternalError=<p><b>(-5580)</b>: </p>
+-5581=<p><b>KErrIrObexRespNotImplemented</b>: </p>
+KErrIrObexRespNotImplemented=<p><b>(-5581)</b>: </p>
+-5582=<p><b>KErrIrObexRespBadGateway</b>: </p>
+KErrIrObexRespBadGateway=<p><b>(-5582)</b>: </p>
+-5583=<p><b>KErrIrObexRespServiceUnavail</b>: </p>
+KErrIrObexRespServiceUnavail=<p><b>(-5583)</b>: </p>
+-5584=<p><b>KErrIrObexRespGatewayTimeout</b>: </p>
+KErrIrObexRespGatewayTimeout=<p><b>(-5584)</b>: </p>
+-5585=<p><b>KErrIrObexRespHTTPVerNotSupp</b>: </p>
+KErrIrObexRespHTTPVerNotSupp=<p><b>(-5585)</b>: </p>
+-5596=<p><b>KErrIrObexRespDatabaseFull</b>: </p>
+KErrIrObexRespDatabaseFull=<p><b>(-5596)</b>: </p>
+-5597=<p><b>KErrIrObexRespDatabaseLocked</b>: </p>
+KErrIrObexRespDatabaseLocked=<p><b>(-5597)</b>: </p>
+-5750=<p><b>KVersitErrCodeBase</b>: </p>
+KVersitErrCodeBase=<p><b>(-5750)</b>: </p>
+-5751=<p><b>KVersitErrBadDateTime</b>: </p>
+KVersitErrBadDateTime=<p><b>(-5751)</b>: </p>
+-5752=<p><b>KVersitErrRepeatTypeNotHandled</b>: </p>
+KVersitErrRepeatTypeNotHandled=<p><b>(-5752)</b>: </p>
+-5753=<p><b>KVersitErrBadRepeatValue</b>: </p>
+KVersitErrBadRepeatValue=<p><b>(-5753)</b>: </p>
+-5754=<p><b>KVersitErrBadTimeZone</b>: </p>
+KVersitErrBadTimeZone=<p><b>(-5754)</b>: </p>
+-5755=<p><b>KVersitErrBadTimePeriod</b>: </p>
+KVersitErrBadTimePeriod=<p><b>(-5755)</b>: </p>
+-5756=<p><b>KVersitErrNumberExpected</b>: </p>
+KVersitErrNumberExpected=<p><b>(-5756)</b>: </p>
+-5757=<p><b>KVersitErrNestedVcardExpected</b>: </p>
+KVersitErrNestedVcardExpected=<p><b>(-5757)</b>: </p>
+-5758=<p><b>KVersitErrNoPropertyName</b>: </p>
+KVersitErrNoPropertyName=<p><b>(-5758)</b>: </p>
+-6000=<p><b>EOK</b>: HCI OK errorcode - Used to indicate the absence of any error condition</p>
+EOK=<p><b>(-6000)</b>: HCI OK errorcode - Used to indicate the absence of any error condition</p>
+-6001=<p><b>EUnknownOpcode</b>: HCI unknownopcode error code</p>
+EUnknownOpcode=<p><b>(-6001)</b>: HCI unknownopcode error code</p>
+-6002=<p><b>ENoConnection</b>: HCI no connection error code</p>
+ENoConnection=<p><b>(-6002)</b>: HCI no connection error code</p>
+-6003=<p><b>EHardwareFail</b>: HCI hardwarefailure error code</p>
+EHardwareFail=<p><b>(-6003)</b>: HCI hardwarefailure error code</p>
+-6004=<p><b>EPageTimedOut</b>: HCI page timeout error code</p>
+EPageTimedOut=<p><b>(-6004)</b>: HCI page timeout error code</p>
+-6005=<p><b>EAuthenticationFailure</b>: HCI authentification failure error code</p>
+EAuthenticationFailure=<p><b>(-6005)</b>: HCI authentification failure error code</p>
+-6006=<p><b>EKeyMissing</b>: HCI key missing error code</p>
+EKeyMissing=<p><b>(-6006)</b>: HCI key missing error code</p>
+-6007=<p><b>EKeyMemoryFull</b>: HCI key memory full error code</p>
+EKeyMemoryFull=<p><b>(-6007)</b>: HCI key memory full error code</p>
+-6008=<p><b>EConnectionTimeout</b>: HCI connection timeout error code</p>
+EConnectionTimeout=<p><b>(-6008)</b>: HCI connection timeout error code</p>
+-6009=<p><b>EMaxConnections</b>: HCI maximumnumber of connections exceeded error code</p>
+EMaxConnections=<p><b>(-6009)</b>: HCI maximumnumber of connections exceeded error code</p>
+-6010=<p><b>EMaxSCOConnections</b>: HCI maximumnumber of SCO connections exceeded error code</p>
+EMaxSCOConnections=<p><b>(-6010)</b>: HCI maximumnumber of SCO connections exceeded error code</p>
+-6011=<p><b>EMaxACLConnections</b>: HCI maximumnumber of ACL connections exceeded error code</p>
+EMaxACLConnections=<p><b>(-6011)</b>: HCI maximumnumber of ACL connections exceeded error code</p>
+-6012=<p><b>ECommandDisallowed</b>: HCI commanddisallowed error code</p>
+ECommandDisallowed=<p><b>(-6012)</b>: HCI commanddisallowed error code</p>
+-6013=<p><b>EHostResourceRejection</b>: HCI host resource rejection error code</p>
+EHostResourceRejection=<p><b>(-6013)</b>: HCI host resource rejection error code</p>
+-6014=<p><b>EHostSecurityRejection</b>: HCI host security rejection error code</p>
+EHostSecurityRejection=<p><b>(-6014)</b>: HCI host security rejection error code</p>
+-6015=<p><b>EHostPersonalDeviceRejection</b>: HCI host personal device rejection error code</p>
+EHostPersonalDeviceRejection=<p><b>(-6015)</b>: HCI host personal device rejection error code</p>
+-6016=<p><b>ERemoteHostTimeout</b>: HCI remote host timeout error code</p>
+ERemoteHostTimeout=<p><b>(-6016)</b>: HCI remote host timeout error code</p>
+-6017=<p><b>EUnsupportedParameter</b>: HCI unsupported parameter error code</p>
+EUnsupportedParameter=<p><b>(-6017)</b>: HCI unsupported parameter error code</p>
+-6018=<p><b>EInvalidHCIParameter</b>: HCI invalid HCI parameter error code</p>
+EInvalidHCIParameter=<p><b>(-6018)</b>: HCI invalid HCI parameter error code</p>
+-6019=<p><b>ERemoteUserEndedConnection</b>: HCI remote device user ended connection error code</p>
+ERemoteUserEndedConnection=<p><b>(-6019)</b>: HCI remote device user ended connection error code</p>
+-6020=<p><b>ERemoteLowResources</b>: HCI remote device low resources error code</p>
+ERemoteLowResources=<p><b>(-6020)</b>: HCI remote device low resources error code</p>
+-6021=<p><b>ERemoteAboutToPowerOff</b>: HCI remote device about to power off error code</p>
+ERemoteAboutToPowerOff=<p><b>(-6021)</b>: HCI remote device about to power off error code</p>
+-6022=<p><b>ETerminatedByLocalHost</b>: HCI treminated by local host error code</p>
+ETerminatedByLocalHost=<p><b>(-6022)</b>: HCI treminated by local host error code</p>
+-6023=<p><b>ERepeatedAttempts</b>: HCI repeated attempts error code</p>
+ERepeatedAttempts=<p><b>(-6023)</b>: HCI repeated attempts error code</p>
+-6024=<p><b>EPairingNotAllowed</b>: HCI pairingnot allowed error code</p>
+EPairingNotAllowed=<p><b>(-6024)</b>: HCI pairingnot allowed error code</p>
+-6025=<p><b>EUnknownLMPpdu</b>: HCI unknown LMP PDU error code</p>
+EUnknownLMPpdu=<p><b>(-6025)</b>: HCI unknown LMP PDU error code</p>
+-6026=<p><b>EUnsupportedRemoteLMPFeature</b>: HCI unsupported remote LMP feature error code</p>
+EUnsupportedRemoteLMPFeature=<p><b>(-6026)</b>: HCI unsupported remote LMP feature error code</p>
+-6027=<p><b>ESCOOffsetRejected</b>: HCI SCO offset rejected error code</p>
+ESCOOffsetRejected=<p><b>(-6027)</b>: HCI SCO offset rejected error code</p>
+-6028=<p><b>ESCOIntervalRejected</b>: HCI SCO interval rejected error code</p>
+ESCOIntervalRejected=<p><b>(-6028)</b>: HCI SCO interval rejected error code</p>
+-6029=<p><b>ESCOAirModeRejected</b>: HCI SCO airmode rejected error code</p>
+ESCOAirModeRejected=<p><b>(-6029)</b>: HCI SCO airmode rejected error code</p>
+-6030=<p><b>EInvalidLMPParameters</b>: HCI invalid LMP parameters error code</p>
+EInvalidLMPParameters=<p><b>(-6030)</b>: HCI invalid LMP parameters error code</p>
+-6031=<p><b>EUnspecifiedError</b>: HCI unspecified error code</p>
+EUnspecifiedError=<p><b>(-6031)</b>: HCI unspecified error code</p>
+-6032=<p><b>EUnsupportedLMPParameterValue</b>: HCI unsupported LMP parameter value error code</p>
+EUnsupportedLMPParameterValue=<p><b>(-6032)</b>: HCI unsupported LMP parameter value error code</p>
+-6033=<p><b>ERoleChangeNotAllowed</b>: HCI role change not allowed error code</p>
+ERoleChangeNotAllowed=<p><b>(-6033)</b>: HCI role change not allowed error code</p>
+-6034=<p><b>ELMPResponseTimeout</b>: HCI LMP response timeout error code</p>
+ELMPResponseTimeout=<p><b>(-6034)</b>: HCI LMP response timeout error code</p>
+-6035=<p><b>ELMPErrorTransactionCollision</b>: HCI LMP error transaction collision error code</p>
+ELMPErrorTransactionCollision=<p><b>(-6035)</b>: HCI LMP error transaction collision error code</p>
+-6036=<p><b>ELMPPDUNotAllowed</b>: HCI LMP PDU not allowed error code</p>
+ELMPPDUNotAllowed=<p><b>(-6036)</b>: HCI LMP PDU not allowed error code</p>
+-6037=<p><b>EEncryptionModeNotAcceptable</b>: HCI encryption mode not acceptable error code</p>
+EEncryptionModeNotAcceptable=<p><b>(-6037)</b>: HCI encryption mode not acceptable error code</p>
+-6038=<p><b>EUnitKeyUsed</b>: HCI unit key not used error code</p>
+EUnitKeyUsed=<p><b>(-6038)</b>: HCI unit key not used error code</p>
+-6039=<p><b>EQOSIsNotSupported</b>: HCI QOS notsupported error code</p>
+EQOSIsNotSupported=<p><b>(-6039)</b>: HCI QOS notsupported error code</p>
+-6040=<p><b>EInstantPassed</b>: HCI instant passed error code</p>
+EInstantPassed=<p><b>(-6040)</b>: HCI instant passed error code</p>
+-6041=<p><b>EPairingWithUnitKeyNotSupported</b>: HCI pairing with unit key not supported error code</p>
+EPairingWithUnitKeyNotSupported=<p><b>(-6041)</b>: HCI pairing with unit key not supported error code</p>
+-6042=<p><b>EDifferentTransactionCollision</b>: </p>
+EDifferentTransactionCollision=<p><b>(-6042)</b>: </p>
+-6043=<p><b>Reserved by Bluetooth Spec</b>: </p>
+Reserved by Bluetooth Spec=<p><b>(-6051)</b>: </p>
+-6044=<p><b>EQoSUnacceptableParameter</b>: HCI bad parameter error code</p>
+EQoSUnacceptableParameter=<p><b>(-6044)</b>: HCI bad parameter error code</p>
+-6045=<p><b>EQoSRejected</b>: HCI quality of service not accepted error code</p>
+EQoSRejected=<p><b>(-6045)</b>: HCI quality of service not accepted error code</p>
+-6046=<p><b>EChannelClassificationNotSupported</b>: HCI adaptive frequency hopping channel classification not supported error code</p>
+EChannelClassificationNotSupported=<p><b>(-6046)</b>: HCI adaptive frequency hopping channel classification not supported error code</p>
+-6047=<p><b>EInsufficientSecurity</b>: HCI insufficient security error code</p>
+EInsufficientSecurity=<p><b>(-6047)</b>: HCI insufficient security error code</p>
+-6048=<p><b>EParameterOutOfMandatoryRange</b>: HCI parameter value outside required range error code</p>
+EParameterOutOfMandatoryRange=<p><b>(-6048)</b>: HCI parameter value outside required range error code</p>
+-6049=<p><b>Reserved by Bluetooth Spec</b>: </p>
+-6050=<p><b>ERoleSwitchPending</b>: HCI failure because a masterslave role switch is about to take place error code</p>
+ERoleSwitchPending=<p><b>(-6050)</b>: HCI failure because a masterslave role switch is about to take place error code</p>
+-6051=<p><b>Reserved by Bluetooth Spec</b>: </p>
+-6052=<p><b>EReservedSlotViolation</b>: HCI use of reserved baseband packet slot error code</p>
+EReservedSlotViolation=<p><b>(-6052)</b>: HCI use of reserved baseband packet slot error code</p>
+-6053=<p><b>ERoleSwitchFailed</b>: HCI masterslave role switch failed error code</p>
+ERoleSwitchFailed=<p><b>(-6053)</b>: HCI masterslave role switch failed error code</p>
+-6300=<p><b>KErrBadAddress</b>: L2CAP Bad address error code</p>
+KErrBadAddress=<p><b>(-6300)</b>: L2CAP Bad address error code</p>
+-6301=<p><b>KErrSAPUnexpectedEvent</b>: L2CAP unexpected SAP event error code</p>
+KErrSAPUnexpectedEvent=<p><b>(-6301)</b>: L2CAP unexpected SAP event error code</p>
+-6302=<p><b>KErrBadPacketReceived</b>: L2CAP bad packet received error code</p>
+KErrBadPacketReceived=<p><b>(-6302)</b>: L2CAP bad packet received error code</p>
+-6303=<p><b>KErrL2CAPBadResponse</b>: L2CAP bad response error code</p>
+KErrL2CAPBadResponse=<p><b>(-6303)</b>: L2CAP bad response error code</p>
+-6304=<p><b>KErrHCIConnectFailed</b>: L2CAP HCI connection failed error code</p>
+KErrHCIConnectFailed=<p><b>(-6304)</b>: L2CAP HCI connection failed error code</p>
+-6305=<p><b>KErrHCILinkDisconnection</b>: L2CAP HCI link disconnection error code</p>
+KErrHCILinkDisconnection=<p><b>(-6305)</b>: L2CAP HCI link disconnection error code</p>
+-6306=<p><b>KErrSAPNotConnected</b>: L2CAP SAP not connected error code</p>
+KErrSAPNotConnected=<p><b>(-6306)</b>: L2CAP SAP not connected error code</p>
+-6307=<p><b>KErrConfigBadParams</b>: L2CAP bad configuration parameters error code</p>
+KErrConfigBadParams=<p><b>(-6307)</b>: L2CAP bad configuration parameters error code</p>
+-6308=<p><b>KErrConfigRejected</b>: L2CAP configuration rejected error code</p>
+KErrConfigRejected=<p><b>(-6308)</b>: L2CAP configuration rejected error code</p>
+-6309=<p><b>KErrConfigUnknownOptions</b>: L2CAP unknown configuration options error code</p>
+KErrConfigUnknownOptions=<p><b>(-6309)</b>: L2CAP unknown configuration options error code</p>
+-6310=<p><b>KErrL2PeerDisconnected</b>: L2CAP peer disconnected error code</p>
+KErrL2PeerDisconnected=<p><b>(-6310)</b>: L2CAP peer disconnected error code</p>
+-6311=<p><b>KErrL2CAPAccessRequestDenied</b>: L2CAP access request denied error code</p>
+KErrL2CAPAccessRequestDenied=<p><b>(-6311)</b>: L2CAP access request denied error code</p>
+-6312=<p><b>KErrL2CAPRequestTimeout</b>: L2CAP request timeout error code</p>
+KErrL2CAPRequestTimeout=<p><b>(-6312)</b>: L2CAP request timeout error code</p>
+-6313=<p><b>KErrL2PeerRejectedCommand</b>: L2CAP peer rejected command error code</p>
+KErrL2PeerRejectedCommand=<p><b>(-6313)</b>: L2CAP peer rejected command error code</p>
+-6314=<p><b>KErrHostResNameTooLong</b>: L2CAP host resolver name too long error code</p>
+KErrHostResNameTooLong=<p><b>(-6314)</b>: L2CAP host resolver name too long error code</p>
+-6315=<p><b>KErrL2CAPNoMorePSMs</b>: L2CAP no more PSMs error code</p>
+KErrL2CAPNoMorePSMs=<p><b>(-6315)</b>: L2CAP no more PSMs error code</p>
+-6316=<p><b>KErrL2CAPMaxTransmitExceeded</b>: L2CAP in reliable mode: the maximum L2Cap retransmissions have been made and channel will disconnect error code</p>
+KErrL2CAPMaxTransmitExceeded=<p><b>(-6316)</b>: L2CAP in reliable mode: the maximum L2Cap retransmissions have been made and channel will disconnect error code</p>
+-6317=<p><b>KErrL2CAPDataControllerDetached</b>: L2CAP problems (e.g. no memory) whilst sending data error code</p>
+KErrL2CAPDataControllerDetached=<p><b>(-6317)</b>: L2CAP problems (e.g. no memory) whilst sending data error code</p>
+-6318=<p><b>KErrL2CAPConfigPending</b>: L2CAP configuration is in progress error code</p>
+KErrL2CAPConfigPending=<p><b>(-6318)</b>: L2CAP configuration is in progress error code</p>
+-6319=<p><b>KErrL2CAPConfigAlreadyInProgress</b>: L2CAP attempt to alter config whilst configuration is in progress error code</p>
+KErrL2CAPConfigAlreadyInProgress=<p><b>(-6319)</b>: L2CAP attempt to alter config whilst configuration is in progress error code</p>
+-6320=<p><b>KErrL2CAPNoFreeCID</b>: L2CAP no more channel IDs available error code</p>
+KErrL2CAPNoFreeCID=<p><b>(-6320)</b>: L2CAP no more channel IDs available error code</p>
+-6350=<p><b>KErrRfcommSAPUnexpectedEvent</b>: RFCOMM unexpected event error code.</p>
+KErrRfcommSAPUnexpectedEvent=<p><b>(-6350)</b>: RFCOMM unexpected event error code.</p>
+-6351=<p><b>KErrRfcommAlreadyBound</b>: RFCOMM SAP already bound error code.</p>
+KErrRfcommAlreadyBound=<p><b>(-6351)</b>: RFCOMM SAP already bound error code.</p>
+-6352=<p><b>KErrRfcommBadAddress</b>: RFCOMM bad address error code.</p>
+KErrRfcommBadAddress=<p><b>(-6352)</b>: RFCOMM bad address error code.</p>
+-6353=<p><b>KErrRfcommMTUSize</b>: RFCOMM MTU size exceeded error code.</p>
+KErrRfcommMTUSize=<p><b>(-6353)</b>: RFCOMM MTU size exceeded error code.</p>
+-6354=<p><b>KErrRfcommFrameResponseTimeout</b>: RFCOMM frame response timeout error code.</p>
+KErrRfcommFrameResponseTimeout=<p><b>(-6354)</b>: RFCOMM frame response timeout error code.</p>
+-6355=<p><b>KErrRfcommMuxRemoteDisconnect</b>: RFCOMM remote end disconnected error code.</p>
+KErrRfcommMuxRemoteDisconnect=<p><b>(-6355)</b>: RFCOMM remote end disconnected error code.</p>
+-6356=<p><b>KErrRfcommNotBound</b>: RFCOMM SAP not bound error code.</p>
+KErrRfcommNotBound=<p><b>(-6356)</b>: RFCOMM SAP not bound error code.</p>
+-6357=<p><b>KErrRfcommParameterNegotiationFailure</b>: RFCOMM parameter negotiation failure error code.</p>
+KErrRfcommParameterNegotiationFailure=<p><b>(-6357)</b>: RFCOMM parameter negotiation failure error code.</p>
+-6358=<p><b>KErrRfcommNotListening</b>: RFCOMM not listening error code.</p>
+KErrRfcommNotListening=<p><b>(-6358)</b>: RFCOMM not listening error code.</p>
+-6359=<p><b>KErrRfcommNoMoreServerChannels</b>: RFCOMM no more server channels available error code.</p>
+KErrRfcommNoMoreServerChannels=<p><b>(-6359)</b>: RFCOMM no more server channels available error code.</p>
+-6400=<p><b>KErrSdpAlreadyBound</b>: "Cannot bind to specifed sockets protocol</p>
+KErrAvctpBadAddress=<p><b>(-6400)</b>: AVCTP bad address error code</p>
+-6401=<p><b>KErrSdpPeerError</b>: Remote device gave unknown error</p>
+KErrAvctpSAPUnexpectedEvent=<p><b>(-6401)</b>: AVCTP unexpected SAP event error code</p>
+-6402=<p><b>KErrSdpClientNotConnected</b>: Local device is not connected</p>
+KErrAvctpBadPacketReceived=<p><b>(-6402)</b>: AVCTP bad packet received error code</p>
+-6403=<p><b>KErrSdpUnsupportedVersion</b>: Invalid/unsupported SDP version</p>
+KErrAvctpBadResponse=<p><b>(-6403)</b>: AVCTP bad response error code</p>
+-6404=<p><b>KErrSdpBadRecordHandle</b>: Invalid Service Record Handle</p>
+KErrAvctpConnectFailed=<p><b>(-6404)</b>: AVCTP connect failed error code</p>
+-6405=<p><b>KErrSdpBadContinuationState</b>: Invalid ContinuationState</p>
+KErrAvctpLinkDisconnection=<p><b>(-6405)</b>: AVCTP link disconnection error code</p>
+-6406=<p><b>KErrSdpServerRejectedRequest</b>: SDP server rejected the request</p>
+KErrAvctpSAPNotConnected=<p><b>(-6406)</b>: AVCTP SAP not connected error code</p>
+-6407=<p><b>KErrSdpBadRequestBufferLength</b>: Request buffer was ill-formed</p>
+KErrAvctpPeerDisconnected=<p><b>(-6407)</b>: AVCTP peer disconnection error code</p>
+-6408=<p><b>KErrSdpBadResultBufferLength</b>: Result buffer was ill-formed</p>
+KErrAvctpAccessRequestDenied=<p><b>(-6408)</b>: AVCTP access request denied error code</p>
+-6409=<p><b>KErrSdpBadUUIDLength</b>: UUID entry was ill-formed</p>
+KErrAvctpRequestTimeout=<p><b>(-6409)</b>: AVCTP request timeout error code</p>
+-6410=<p><b>KErrSdpBadResultData</b>: Response was ill-formed</p>
+KErrAvctpPeerRejectedCommand=<p><b>(-6410)</b>: AVCTP peer rejected command error code</p>
+KErrSdpAlreadyBound=<p><b>(-6400)</b>: "Cannot bind to specifed sockets protocol</p>
+KErrSdpPeerError=<p><b>(-6401)</b>: Remote device gave unknown error</p>
+KErrSdpClientNotConnected=<p><b>(-6402)</b>: Local device is not connected</p>
+KErrSdpUnsupportedVersion=<p><b>(-6403)</b>: Invalid/unsupported SDP version</p>
+KErrSdpBadRecordHandle=<p><b>(-6404)</b>: Invalid Service Record Handle</p>
+KErrSdpBadContinuationState=<p><b>(-6405)</b>: Invalid ContinuationState</p>
+KErrSdpServerRejectedRequest=<p><b>(-6406)</b>: SDP server rejected the request</p>
+KErrSdpBadRequestBufferLength=<p><b>(-6407)</b>: Request buffer was ill-formed</p>
+KErrSdpBadResultBufferLength=<p><b>(-6408)</b>: Result buffer was ill-formed</p>
+KErrSdpBadUUIDLength=<p><b>(-6409)</b>: UUID entry was ill-formed</p>
+KErrSdpBadResultData=<p><b>(-6410)</b>: Response was ill-formed</p>
+-6411=<p><b>KErrSdpDatabaseFull</b>: SDP database is full</p>
+KErrSdpDatabaseFull=<p><b>(-6411)</b>: SDP database is full</p>
+-6450=<p><b>KErrInsufficientBasebandResources</b>: Insufficient baseband resources error value</p>
+KErrInsufficientBasebandResources=<p><b>(-6450)</b>: Insufficient baseband resources error value</p>
+-6451=<p><b>KErrProxyWriteNotAvailable</b>: Proxy write not available error value</p>
+KErrProxyWriteNotAvailable=<p><b>(-6451)</b>: Proxy write not available error value</p>
+-6452=<p><b>KErrReflexiveBluetoothLink</b>: Reflexive BT link error value</p>
+KErrReflexiveBluetoothLink=<p><b>(-6452)</b>: Reflexive BT link error value</p>
+-7000=<p><b>KMsvMediaUnavailable</b>: There is no disk in the drive containing the Message Server index</p>
+KMsvMediaUnavailable=<p><b>(-7000)</b>: There is no disk in the drive containing the Message Server index</p>
+-7001=<p><b>KMsvMediaIncorrect</b>: "There is a disk in the drive containing the Message Server index</p>
+KMsvMediaIncorrect=<p><b>(-7001)</b>: "There is a disk in the drive containing the Message Server index</p>
+-7002=<p><b>KMsvMediaChanged</b>: </p>
+KMsvMediaChanged=<p><b>(-7002)</b>: </p>
+-7003=<p><b>KMsvIndexBackup</b>: </p>
+KMsvIndexBackup=<p><b>(-7003)</b>: </p>
+-7004=<p><b>KMsvIndexRestore</b>: </p>
+KMsvIndexRestore=<p><b>(-7004)</b>: </p>
+-7200=<p><b>KErrHttpEncodeDefault</b>: Error making a default encoding of unrecognised headers</p>
+KErrHttpEncodeDefault=<p><b>(-7200)</b>: Error making a default encoding of unrecognised headers</p>
+-7201=<p><b>KErrHttpEncodeAccept</b>: Error encoding the Accept field</p>
+KErrHttpEncodeAccept=<p><b>(-7201)</b>: Error encoding the Accept field</p>
+-7202=<p><b>KErrHttpEncodeAcceptCharset</b>: Error encoding the Accept-Charset field</p>
+KErrHttpEncodeAcceptCharset=<p><b>(-7202)</b>: Error encoding the Accept-Charset field</p>
+-7203=<p><b>KErrHttpEncodeQValue</b>: Error encoding a q-value parameter</p>
+KErrHttpEncodeQValue=<p><b>(-7203)</b>: Error encoding a q-value parameter</p>
+-7204=<p><b>KErrHttpEncodeAuthorization</b>: Error encoding the Authorization field</p>
+KErrHttpEncodeAuthorization=<p><b>(-7204)</b>: Error encoding the Authorization field</p>
+-7205=<p><b>KErrHttpEncodeBasicAuth</b>: Error encoding Basiccredentials</p>
+KErrHttpEncodeBasicAuth=<p><b>(-7205)</b>: Error encoding Basiccredentials</p>
+-7206=<p><b>KErrHttpEncodeDigestAuth</b>: Error encoding Digestcredentials</p>
+KErrHttpEncodeDigestAuth=<p><b>(-7206)</b>: Error encoding Digestcredentials</p>
+-7207=<p><b>KErrHttpEncodeConnection</b>: Error encoding the Connection field</p>
+KErrHttpEncodeConnection=<p><b>(-7207)</b>: Error encoding the Connection field</p>
+-7208=<p><b>KErrHttpEncodeContentLength</b>: Error encoding the Content-Length field</p>
+KErrHttpEncodeContentLength=<p><b>(-7208)</b>: Error encoding the Content-Length field</p>
+-7209=<p><b>KErrHttpEncodeContentType</b>: Error encoding the Content-Type field</p>
+KErrHttpEncodeContentType=<p><b>(-7209)</b>: Error encoding the Content-Type field</p>
+-7210=<p><b>KErrHttpEncodeHost</b>: Error encoding the Host field</p>
+KErrHttpEncodeHost=<p><b>(-7210)</b>: Error encoding the Host field</p>
+-7211=<p><b>KErrHttpEncodeHostPort</b>: Error encoding the Host field's port parameter</p>
+KErrHttpEncodeHostPort=<p><b>(-7211)</b>: Error encoding the Host field's port parameter</p>
+-7212=<p><b>KErrHttpEncodeTransferEncoding</b>: Error encoding the Transfer-Encoding field</p>
+KErrHttpEncodeTransferEncoding=<p><b>(-7212)</b>: Error encoding the Transfer-Encoding field</p>
+-7213=<p><b>KErrHttpEncodeUserAgent</b>: Error encoding the User-Agent field</p>
+KErrHttpEncodeUserAgent=<p><b>(-7213)</b>: Error encoding the User-Agent field</p>
+-7214=<p><b>KErrHttpEncodeDate</b>: Error encoding the Date field</p>
+KErrHttpEncodeDate=<p><b>(-7214)</b>: Error encoding the Date field</p>
+-7215=<p><b>KErrHttpEncodeCookie</b>: Error encoding the Cookie field</p>
+KErrHttpEncodeCookie=<p><b>(-7215)</b>: Error encoding the Cookie field</p>
+-7216=<p><b>KErrHttpEncodeCacheControl</b>: Error encoding the Cache-Control field</p>
+KErrHttpEncodeCacheControl=<p><b>(-7216)</b>: Error encoding the Cache-Control field</p>
+-7217=<p><b>KErrHttpEncodePragma</b>: Error encoding the Pragma field</p>
+KErrHttpEncodePragma=<p><b>(-7217)</b>: Error encoding the Pragma field</p>
+-7218=<p><b>KErrHttpEncodeIfMatch</b>: Error encoding the ifmatch field</p>
+KErrHttpEncodeIfMatch=<p><b>(-7218)</b>: Error encoding the ifmatch field</p>
+-7219=<p><b>KErrHttpEncodeIfNoneMatch</b>: Error encoding the ifnone match field</p>
+KErrHttpEncodeIfNoneMatch=<p><b>(-7219)</b>: Error encoding the ifnone match field</p>
+-7220=<p><b>KErrHttpEncodeIfModifiedSince</b>: Error encoding the ifmodified since field</p>
+KErrHttpEncodeIfModifiedSince=<p><b>(-7220)</b>: Error encoding the ifmodified since field</p>
+-7221=<p><b>KErrHttpEncodeIfUnmodifiedSince</b>: Error encoding the ifunmodified since field</p>
+KErrHttpEncodeIfUnmodifiedSince=<p><b>(-7221)</b>: Error encoding the ifunmodified since field</p>
+-7222=<p><b>KErrHttpEncodeCookie2</b>: Error encoding the Cookie2 field</p>
+KErrHttpEncodeCookie2=<p><b>(-7222)</b>: Error encoding the Cookie2 field</p>
+-7260=<p><b>KErrHttpDecodeMalformedDate</b>: General formatting error for date values</p>
+KErrHttpDecodeMalformedDate=<p><b>(-7260)</b>: General formatting error for date values</p>
+-7261=<p><b>KErrHttpDecodeMalformedYear</b>: Malformed year</p>
+KErrHttpDecodeMalformedYear=<p><b>(-7261)</b>: Malformed year</p>
+-7262=<p><b>KErrHttpDecodeMalformedMonth</b>: Malformed short monthname</p>
+KErrHttpDecodeMalformedMonth=<p><b>(-7262)</b>: Malformed short monthname</p>
+-7263=<p><b>KErrHttpDecodeMalformedDay</b>: Malformed number of day in month</p>
+KErrHttpDecodeMalformedDay=<p><b>(-7263)</b>: Malformed number of day in month</p>
+-7264=<p><b>KErrHttpDecodeMalformedWkDay</b>: Malformed short day name</p>
+KErrHttpDecodeMalformedWkDay=<p><b>(-7264)</b>: Malformed short day name</p>
+-7265=<p><b>KErrHttpDecodeMalformedWeekDay</b>: Malformed long day name</p>
+KErrHttpDecodeMalformedWeekDay=<p><b>(-7265)</b>: Malformed long day name</p>
+-7266=<p><b>KErrHttpDecodeMalformedInteger</b>: Malformed integer value</p>
+KErrHttpDecodeMalformedInteger=<p><b>(-7266)</b>: Malformed integer value</p>
+-7267=<p><b>KErrHttpDecodeMalformedQuotedStr</b>: Malformed quoted string</p>
+KErrHttpDecodeMalformedQuotedStr=<p><b>(-7267)</b>: Malformed quoted string</p>
+-7270=<p><b>KErrHttpDecodeAccept</b>: Error decoding the Accept field</p>
+KErrHttpDecodeAccept=<p><b>(-7270)</b>: Error decoding the Accept field</p>
+-7271=<p><b>KErrHttpDecodeConnection</b>: Error decoding the Connection field</p>
+KErrHttpDecodeConnection=<p><b>(-7271)</b>: Error decoding the Connection field</p>
+-7272=<p><b>KErrHttpDecodeContentLength</b>: Error decoding the Content-Length field</p>
+KErrHttpDecodeContentLength=<p><b>(-7272)</b>: Error decoding the Content-Length field</p>
+-7273=<p><b>KErrHttpDecodeContentType</b>: Error decoding the Content-Type field</p>
+KErrHttpDecodeContentType=<p><b>(-7273)</b>: Error decoding the Content-Type field</p>
+-7274=<p><b>KErrHttpDecodeTransferEncoding</b>: Error decoding the Transfer-Encoding field</p>
+KErrHttpDecodeTransferEncoding=<p><b>(-7274)</b>: Error decoding the Transfer-Encoding field</p>
+-7275=<p><b>KErrHttpDecodeWWWAuthenticate</b>: Error decoding the WWWAuthenticate field</p>
+KErrHttpDecodeWWWAuthenticate=<p><b>(-7275)</b>: Error decoding the WWWAuthenticate field</p>
+-7276=<p><b>KErrHttpDecodeUnknownAuthScheme</b>: The WWWAuthenticate field contained an unrecognised authentication scheme</p>
+KErrHttpDecodeUnknownAuthScheme=<p><b>(-7276)</b>: The WWWAuthenticate field contained an unrecognised authentication scheme</p>
+-7277=<p><b>KErrHttpDecodeBasicAuth</b>: Error decoding a Basic WWWAuthenticate challenge</p>
+KErrHttpDecodeBasicAuth=<p><b>(-7277)</b>: Error decoding a Basic WWWAuthenticate challenge</p>
+-7278=<p><b>KErrHttpDecodeDigestAuth</b>: Error decoding a Digest WWWAuthenticate challenge</p>
+KErrHttpDecodeDigestAuth=<p><b>(-7278)</b>: Error decoding a Digest WWWAuthenticate challenge</p>
+-7279=<p><b>KErrHttpDecodeCookie</b>: Error decoding a Set-Cookie field</p>
+KErrHttpDecodeCookie=<p><b>(-7279)</b>: Error decoding a Set-Cookie field</p>
+-7300=<p><b>KErrHttpRedirectExceededLimit</b>: "A uri redirected too many times</p>
+KErrHttpRedirectExceededLimit=<p><b>(-7300)</b>: "A uri redirected too many times</p>
+-7301=<p><b>KErrHttpRedirectUseProxy</b>: A server responded that the uri must be fetched via a proxy</p>
+KErrHttpRedirectUseProxy=<p><b>(-7301)</b>: A server responded that the uri must be fetched via a proxy</p>
+-7302=<p><b>KErrHttpRedirectNoLocationField</b>: A server sent a redirection response that did not include a Location header</p>
+KErrHttpRedirectNoLocationField=<p><b>(-7302)</b>: A server sent a redirection response that did not include a Location header</p>
+-7303=<p><b>KErrHttpUnknownParseState</b>: An error occured in parsing which left the parser in a unknown state</p>
+KErrHttpUnknownParseState=<p><b>(-7303)</b>: An error occured in parsing which left the parser in a unknown state</p>
+-7330=<p><b>KErrHttpRequestHasBody</b>: A body is provided with a method that doesn't allow bodys to be transmitted</p>
+KErrHttpRequestHasBody=<p><b>(-7330)</b>: A body is provided with a method that doesn't allow bodys to be transmitted</p>
+-7331=<p><b>KErrHttpRequestBodyMissing</b>: A body is missing from a method that requires it</p>
+KErrHttpRequestBodyMissing=<p><b>(-7331)</b>: A body is missing from a method that requires it</p>
+-7332=<p><b>KErrHttpTraceReqWithoutMaxForwardHeader</b>: Should contain The Max-Forward header</p>
+KErrHttpTraceReqWithoutMaxForwardHeader=<p><b>(-7332)</b>: Should contain The Max-Forward header</p>
+-7333=<p><b>KErrHttpPostReqBodyWithoutSizeOnHTTP10</b>: Body must NOT be sent chunked if using HTTP/1.0</p>
+KErrHttpPostReqBodyWithoutSizeOnHTTP10=<p><b>(-7333)</b>: Body must NOT be sent chunked if using HTTP/1.0</p>
+-7334=<p><b>KErrHttpInvalidHeaderInRequest</b>: Request contained a response header or a entity header but no body</p>
+KErrHttpInvalidHeaderInRequest=<p><b>(-7334)</b>: Request contained a response header or a entity header but no body</p>
+-7360=<p><b>KErrHttpEntityHeaderMissingContentType</b>: A body was provided in the request but no Content-Type header was set</p>
+KErrHttpEntityHeaderMissingContentType=<p><b>(-7360)</b>: A body was provided in the request but no Content-Type header was set</p>
+-7361=<p><b>KErrHttpGeneralHeaderMissingHost</b>: "The request URI was relative</p>
+KErrHttpGeneralHeaderMissingHost=<p><b>(-7361)</b>: "The request URI was relative</p>
+-7370=<p><b>KErrHttpCantResetRequestBody</b>: The request body needed to be rewound but the client but it doesn't support</p>
+KErrHttpCantResetRequestBody=<p><b>(-7370)</b>: The request body needed to be rewound but the client but it doesn't support</p>
+-7371=<p><b>KErrHttpProtTransactionNotInitialised</b>: The Protocol handler is not initialised</p>
+KErrHttpProtTransactionNotInitialised=<p><b>(-7371)</b>: The Protocol handler is not initialised</p>
+-7372=<p><b>KErrHttpCannotEstablishTunnel</b>: Unable to establish a tunnel.</p>
+KErrHttpCannotEstablishTunnel=<p><b>(-7372)</b>: Unable to establish a tunnel.</p>
+-7373=<p><b>KErrHttpInvalidUri</b>: Invalid URI</p>
+KErrHttpInvalidUri=<p><b>(-7373)</b>: Invalid URI</p>
+-7374=<p><b>KErrHttpNonPipeliningError</b>: Protocol handler experienced a non-pipelining error</p>
+KErrHttpNonPipeliningError=<p><b>(-7374)</b>: Protocol handler experienced a non-pipelining error</p>
+-7375=<p><b>KErrHttpPipeliningError</b>: Protocol handler experienced a pipelining error</p>
+KErrHttpPipeliningError=<p><b>(-7375)</b>: Protocol handler experienced a pipelining error</p>
+-7401=<p><b>KErrSSLNoSharedCipher</b>: No shared cipher was found. The handshake failed becausethere was no available shared cipher supported by both the client and the server.</p>
+KErrSSLNoSharedCipher=<p><b>(-7401)</b>: No shared cipher was found. The handshake failed becausethere was no available shared cipher supported by both the client and the server.</p>
+-7402=<p><b>KErrSSLSocketBusy</b>: The socket already has received data pending on it. This error is seen when StartClientHandshake is called when  there is already data waiting to be read from the socket. *</p>
+KErrSSLSocketBusy=<p><b>(-7402)</b>: The socket already has received data pending on it. This error is seen when StartClientHandshake is called when  there is already data waiting to be read from the socket. *</p>
+-7403=<p><b>KErrSSLInvalidCipherSuite</b>: One or more cipher suites passed as an argument was invalid.</p>
+KErrSSLInvalidCipherSuite=<p><b>(-7403)</b>: One or more cipher suites passed as an argument was invalid.</p>
+-7404=<p><b>KErrSSLInvalidCert</b>: The certificate that was passed as an argument was invalid.</p>
+KErrSSLInvalidCert=<p><b>(-7404)</b>: The certificate that was passed as an argument was invalid.</p>
+-7405=<p><b>KErrSSLNoClientCert</b>: No client certificate was supplied.</p>
+KErrSSLNoClientCert=<p><b>(-7405)</b>: No client certificate was supplied.</p>
+-7406=<p><b>KErrSSLUnsupportedKeySize</b>: The size of the key is toobig.</p>
+KErrSSLUnsupportedKeySize=<p><b>(-7406)</b>: The size of the key is toobig.</p>
+-7407=<p><b>KErrSSLUnsupportedKey</b>: General unsupported key error</p>
+KErrSSLUnsupportedKey=<p><b>(-7407)</b>: General unsupported key error</p>
+-7408=<p><b>KErrSSLBadRecordHeader</b>: An invalid record was received.</p>
+KErrSSLBadRecordHeader=<p><b>(-7408)</b>: An invalid record was received.</p>
+-7409=<p><b>KErrSSLBadProtocolVersion</b>: Invalid protocol version.</p>
+KErrSSLBadProtocolVersion=<p><b>(-7409)</b>: Invalid protocol version.</p>
+-7410=<p><b>KErrSSL2ServerOnly</b>: The server only supports the SSL2.0 protocol.</p>
+KErrSSL2ServerOnly=<p><b>(-7410)</b>: The server only supports the SSL2.0 protocol.</p>
+-7411=<p><b>KErrSSLUnexpectedMessage</b>: Unexpected message.</p>
+KErrSSLUnexpectedMessage=<p><b>(-7411)</b>: Unexpected message.</p>
+-7412=<p><b>KErrSSLUnsupportedCipher</b>: Unsupported cipher.</p>
+KErrSSLUnsupportedCipher=<p><b>(-7412)</b>: Unsupported cipher.</p>
+-7413=<p><b>KErrSSLBadMAC</b>: Bad MAC.</p>
+KErrSSLBadMAC=<p><b>(-7413)</b>: Bad MAC.</p>
+-7414=<p><b>KErrSSLReceivedAlert</b>: " An SSL alert was received from the remote end</p>
+KErrSSLReceivedAlert=<p><b>(-7414)</b>: " An SSL alert was received from the remote end</p>
+-7415=<p><b>KErrSSLRecvNotSupportedHS</b>: An invalid handshake message was received.</p>
+KErrSSLRecvNotSupportedHS=<p><b>(-7415)</b>: An invalid handshake message was received.</p>
+-7416=<p><b>KErrSSLHSRecordFieldTooBig</b>: A field in the handshake record being parsed was too big.</p>
+KErrSSLHSRecordFieldTooBig=<p><b>(-7416)</b>: A field in the handshake record being parsed was too big.</p>
+-7417=<p><b>KErrSSLRecordHeaderTooBig</b>: Record header field too big.</p>
+KErrSSLRecordHeaderTooBig=<p><b>(-7417)</b>: Record header field too big.</p>
+-7418=<p><b>KErrSSLSendDataTooBig</b>: Send data field too big.</p>
+KErrSSLSendDataTooBig=<p><b>(-7418)</b>: Send data field too big.</p>
+-7419=<p><b>KErrSSLNoCertificate</b>: No certificate.</p>
+KErrSSLNoCertificate=<p><b>(-7419)</b>: No certificate.</p>
+-7420=<p><b>KErrSSLInvalidHash</b>: Invalid hash.</p>
+KErrSSLInvalidHash=<p><b>(-7420)</b>: Invalid hash.</p>
+-7421=<p><b>KErrSSLSendCanceled</b>: Send cancelled.</p>
+KErrSSLSendCanceled=<p><b>(-7421)</b>: Send cancelled.</p>
+-7422=<p><b>KErrSSLRecvCanceled</b>: Receieve cancelled.</p>
+KErrSSLRecvCanceled=<p><b>(-7422)</b>: Receieve cancelled.</p>
+-7423=<p><b>KErrSSLHandshakeCanceled</b>: CancelHandshake was calledduring one of the handshake methods.</p>
+KErrSSLHandshakeCanceled=<p><b>(-7423)</b>: CancelHandshake was calledduring one of the handshake methods.</p>
+-7424=<p><b>KErrSSLWriteFailed</b>: Write failed.</p>
+KErrSSLWriteFailed=<p><b>(-7424)</b>: Write failed.</p>
+-7425=<p><b>KErrSSLFailedToLoad</b>: The SSL.dll couldn't be loaded by the adaptor.</p>
+KErrSSLFailedToLoad=<p><b>(-7425)</b>: The SSL.dll couldn't be loaded by the adaptor.</p>
+-7426=<p><b>KErrSSLDisconnectIndication</b>: An unspecified error was signaled from the SSL.dll to the adaptor.</p>
+KErrSSLDisconnectIndication=<p><b>(-7426)</b>: An unspecified error was signaled from the SSL.dll to the adaptor.</p>
+-7427=<p><b>KErrSSLDllLeave</b>: A leave occured in the SSL.dll.</p>
+KErrSSLDllLeave=<p><b>(-7427)</b>: A leave occured in the SSL.dll.</p>
+-7500=<p><b>KErrSSLAlertCloseNotify</b>: Close notification.</p>
+KErrSSLAlertCloseNotify=<p><b>(-7500)</b>: Close notification.</p>
+-7510=<p><b>KErrSSLAlertUnexpectedMessage</b>: An inappropriate message was received.</p>
+KErrSSLAlertUnexpectedMessage=<p><b>(-7510)</b>: An inappropriate message was received.</p>
+-7520=<p><b>KErrSSLAlertBadRecordMac</b>: A record was received withan incorrect MAC.</p>
+KErrSSLAlertBadRecordMac=<p><b>(-7520)</b>: A record was received withan incorrect MAC.</p>
+-7521=<p><b>KErrSSLAlertDecryptionFailed</b>: A TLS cipher text was decrypted in an invalid way.</p>
+KErrSSLAlertDecryptionFailed=<p><b>(-7521)</b>: A TLS cipher text was decrypted in an invalid way.</p>
+-7522=<p><b>KErrSSLAlertRecordOverflow</b>: A TLS cipher text record was received which was too long.</p>
+KErrSSLAlertRecordOverflow=<p><b>(-7522)</b>: A TLS cipher text record was received which was too long.</p>
+-7530=<p><b>KErrSSLAlertDecompressionFailure</b>: The decompression functionreceived improper input.</p>
+KErrSSLAlertDecompressionFailure=<p><b>(-7530)</b>: The decompression functionreceived improper input.</p>
+-7540=<p><b>KErrSSLAlertHandshakeFailure</b>: " With given the options available</p>
+KErrSSLAlertHandshakeFailure=<p><b>(-7540)</b>: " With given the options available</p>
+-7541=<p><b>KErrSSLAlertNoCertificate</b>: No certificate.</p>
+KErrSSLAlertNoCertificate=<p><b>(-7541)</b>: No certificate.</p>
+-7542=<p><b>KErrSSLAlertBadCertificate</b>: " A certificate was corrupt</p>
+KErrSSLAlertBadCertificate=<p><b>(-7542)</b>: " A certificate was corrupt</p>
+-7543=<p><b>KErrSSLAlertUnsupportedCertificate</b>: The certificate was of an unsupported type.</p>
+KErrSSLAlertUnsupportedCertificate=<p><b>(-7543)</b>: The certificate was of an unsupported type.</p>
+-7544=<p><b>KErrSSLAlertCertificateRevoked</b>: The certificate was revoked.</p>
+KErrSSLAlertCertificateRevoked=<p><b>(-7544)</b>: The certificate was revoked.</p>
+-7545=<p><b>KErrSSLAlertCertificateExpired</b>: The certificate was expired.</p>
+KErrSSLAlertCertificateExpired=<p><b>(-7545)</b>: The certificate was expired.</p>
+-7546=<p><b>KErrSSLAlertCertificateUnknown</b>: An unspecified problem withthe certificate. Certificate can not be used.</p>
+KErrSSLAlertCertificateUnknown=<p><b>(-7546)</b>: An unspecified problem withthe certificate. Certificate can not be used.</p>
+-7547=<p><b>KErrSSLAlertIllegalParameter</b>: A field in the handshake was out of range or inconsistent with other fields.</p>
+KErrSSLAlertIllegalParameter=<p><b>(-7547)</b>: A field in the handshake was out of range or inconsistent with other fields.</p>
+-7548=<p><b>KErrSSLAlertUnknownCA</b>: Either the CA certificate could not be located or the CA could not be matched with a known trusted CA.</p>
+KErrSSLAlertUnknownCA=<p><b>(-7548)</b>: Either the CA certificate could not be located or the CA could not be matched with a known trusted CA.</p>
+-7549=<p><b>KErrSSLAlertAccessDenied</b>: " A valid certificate was received</p>
+KErrSSLAlertAccessDenied=<p><b>(-7549)</b>: " A valid certificate was received</p>
+-7550=<p><b>KErrSSLAlertDecodeError</b>: " A message could not be decoded</p>
+KErrSSLAlertDecodeError=<p><b>(-7550)</b>: " A message could not be decoded</p>
+-7551=<p><b>KErrSSLAlertDecryptError</b>: A handshake cryptographic operation failed.</p>
+KErrSSLAlertDecryptError=<p><b>(-7551)</b>: A handshake cryptographic operation failed.</p>
+-7560=<p><b>KErrSSLAlertExportRestriction</b>: A negotiation was not allowed due to export restrictions.</p>
+KErrSSLAlertExportRestriction=<p><b>(-7560)</b>: A negotiation was not allowed due to export restrictions.</p>
+-7570=<p><b>KErrSSLAlertProtocolVersion</b>: " The protocol version was not supported</p>
+KErrSSLAlertProtocolVersion=<p><b>(-7570)</b>: " The protocol version was not supported</p>
+-7571=<p><b>KErrSSLAlertInsufficientSecurity</b>: Returned instead of KErrSSLAlertHandshakeFailure when the negotiation fails because the server requests ciphers more secure than those supported by the client.</p>
+KErrSSLAlertInsufficientSecurity=<p><b>(-7571)</b>: Returned instead of KErrSSLAlertHandshakeFailure when the negotiation fails because the server requests ciphers more secure than those supported by the client.</p>
+-7580=<p><b>KErrSSLAlertInternalError</b>: An internal error.</p>
+KErrSSLAlertInternalError=<p><b>(-7580)</b>: An internal error.</p>
+-7590=<p><b>KErrSSLAlertUserCanceled</b>: This handshake is being cancelled by the user.</p>
+KErrSSLAlertUserCanceled=<p><b>(-7590)</b>: This handshake is being cancelled by the user.</p>
+-7600=<p><b>KErrSSLAlertNoRenegotiation</b>: No renegotiation will be accepted.</p>
+KErrSSLAlertNoRenegotiation=<p><b>(-7600)</b>: No renegotiation will be accepted.</p>
+-8321=<p><b>KErrTransportRequest</b>: The transport cannot send data as created.</p>
+KErrTransportRequest=<p><b>(-8321)</b>: The transport cannot send data as created.</p>
+-8322=<p><b>KErrTransportHeader</b>: The transport has not been suitably configured.</p>
+KErrTransportHeader=<p><b>(-8322)</b>: The transport has not been suitably configured.</p>
+-8323=<p><b>KErrTransportSvrNoUri</b>: The URI does not exist.</p>
+KErrTransportSvrNoUri=<p><b>(-8323)</b>: The URI does not exist.</p>
+-8324=<p><b>KErrTransportSvrError</b>: There was a transport server error.</p>
+KErrTransportSvrError=<p><b>(-8324)</b>: There was a transport server error.</p>
+-8325=<p><b>KErrTransportAuthenticationFailure</b>: Transport Authentification failure.</p>
+KErrTransportAuthenticationFailure=<p><b>(-8325)</b>: Transport Authentification failure.</p>
+-8326=<p><b>KErrTransportDisconnected</b>: Transport disconnected the session.</p>
+KErrTransportDisconnected=<p><b>(-8326)</b>: Transport disconnected the session.</p>
+-8327=<p><b>KErrSyncEngineErrorBase</b>: Base value for engine-related errors.</p>
+KErrSyncEngineErrorBase=<p><b>(-8327)</b>: Base value for engine-related errors.</p>
+-8328=<p><b>KErrConnectionError</b>: Transports could not connect to the server.</p>
+KErrConnectionError=<p><b>(-8328)</b>: Transports could not connect to the server.</p>
+-8329=<p><b>KErrCannotCommunicateWithServer</b>: Could not communicate with the server:possibly atime-out occurred.</p>
+KErrCannotCommunicateWithServer=<p><b>(-8329)</b>: Could not communicate with the server:possibly atime-out occurred.</p>
+-8330=<p><b>KErrDatabaseAdapterIndexError</b>: Database adapter failed to create an item.</p>
+KErrDatabaseAdapterIndexError=<p><b>(-8330)</b>: Database adapter failed to create an item.</p>
+-8331=<p><b>KErrParseCallbackError</b>: Currently unused.</p>
+KErrParseCallbackError=<p><b>(-8331)</b>: Currently unused.</p>
+-8332=<p><b>KErrCommandInvalid</b>: Currently unused.</p>
+KErrCommandInvalid=<p><b>(-8332)</b>: Currently unused.</p>
+-8333=<p><b>KErrSessionIdNotValid</b>: Invalid session ID.</p>
+KErrSessionIdNotValid=<p><b>(-8333)</b>: Invalid session ID.</p>
+-8334=<p><b>KErrVerDTDMissing</b>: SyncML message did not specify a DTD version.</p>
+KErrVerDTDMissing=<p><b>(-8334)</b>: SyncML message did not specify a DTD version.</p>
+-8335=<p><b>KErrProtoMissing</b>: SyncML message did not specify a protocol.</p>
+KErrProtoMissing=<p><b>(-8335)</b>: SyncML message did not specify a protocol.</p>
+-8336=<p><b>KErrSyncHdrMissing</b>: Currently unused.</p>
+KErrSyncHdrMissing=<p><b>(-8336)</b>: Currently unused.</p>
+-8337=<p><b>KErrTargetLocMissing</b>: SyncML message did not specify a target location.</p>
+KErrTargetLocMissing=<p><b>(-8337)</b>: SyncML message did not specify a target location.</p>
+-8338=<p><b>KErrSourceLocMissing</b>: SyncML message did not specify a source location.</p>
+KErrSourceLocMissing=<p><b>(-8338)</b>: SyncML message did not specify a source location.</p>
+-8339=<p><b>KErrTargetLocNameMissing</b>: Currently unused.</p>
+KErrTargetLocNameMissing=<p><b>(-8339)</b>: Currently unused.</p>
+-8340=<p><b>KErrSourceLocNameMissing</b>: Currently unused.</p>
+KErrSourceLocNameMissing=<p><b>(-8340)</b>: Currently unused.</p>
+-8341=<p><b>KErrMappingInfoMissing</b>: Mapping of added item could not created.</p>
+KErrMappingInfoMissing=<p><b>(-8341)</b>: Mapping of added item could not created.</p>
+-8342=<p><b>KErrMappingInfoNotAcked</b>: Mapping has not been acknowledged by the server.</p>
+KErrMappingInfoNotAcked=<p><b>(-8342)</b>: Mapping has not been acknowledged by the server.</p>
+-8343=<p><b>KErrVersionDTDNotSupported</b>: SyncML message specified an unsupported DTD version.</p>
+KErrVersionDTDNotSupported=<p><b>(-8343)</b>: SyncML message specified an unsupported DTD version.</p>
+-8344=<p><b>KErrProtoNotSupported</b>: SyncML message specified an unsupported protocol.</p>
+KErrProtoNotSupported=<p><b>(-8344)</b>: SyncML message specified an unsupported protocol.</p>
+-8345=<p><b>KErrStatusCommandForCommandNotSent</b>: "A status was received for a cmdId</p>
+KErrStatusCommandForCommandNotSent=<p><b>(-8345)</b>: "A status was received for a cmdId</p>
+-8346=<p><b>KErrStatusCommandNotTheSame</b>: A status was received but the commandstringdoesnot matched the received one.</p>
+KErrStatusCommandNotTheSame=<p><b>(-8346)</b>: A status was received but the commandstringdoesnot matched the received one.</p>
+-8347=<p><b>KErrMissingStatusCommands</b>: Status command(s) were expected but are missing.</p>
+KErrMissingStatusCommands=<p><b>(-8347)</b>: Status command(s) were expected but are missing.</p>
+-8348=<p><b>KErrFailedToAddRecord</b>: Failed to add record in database.</p>
+KErrFailedToAddRecord=<p><b>(-8348)</b>: Failed to add record in database.</p>
+-8349=<p><b>KErrFailedToReplaceRecord</b>: Failed to replace record in database.</p>
+KErrFailedToReplaceRecord=<p><b>(-8349)</b>: Failed to replace record in database.</p>
+-8350=<p><b>KErrFailedToDeleteRecord</b>: Failed to delete record in database.</p>
+KErrFailedToDeleteRecord=<p><b>(-8350)</b>: Failed to delete record in database.</p>
+-8351=<p><b>KErrXmlParsingError</b>: XML parsing error.</p>
+KErrXmlParsingError=<p><b>(-8351)</b>: XML parsing error.</p>
+-8352=<p><b>KErrReferenceToolkitError</b>: There was an error reported in the referencetoolkit.</p>
+KErrReferenceToolkitError=<p><b>(-8352)</b>: There was an error reported in the referencetoolkit.</p>
+-8404=<p><b>KErrClientDatabaseNotFound</b>: No suitable database was found on theclientdevice.</p>
+KErrClientDatabaseNotFound=<p><b>(-8404)</b>: No suitable database was found on theclientdevice.</p>
+-8405=<p><b>KErrServerDatabaseNotFound</b>: No suitable database was found on theserver.</p>
+KErrServerDatabaseNotFound=<p><b>(-8405)</b>: No suitable database was found on theserver.</p>
+-8406=<p><b>KErrDevInfFileNotFound</b>: Currently unused.</p>
+KErrDevInfFileNotFound=<p><b>(-8406)</b>: Currently unused.</p>
+-8407=<p><b>KErrObjectTooLargeToSendToServer</b>: Object is too large to send to server.</p>
+KErrObjectTooLargeToSendToServer=<p><b>(-8407)</b>: Object is too large to send to server.</p>
+-8408=<p><b>KErrSlowSync</b>: Sync is going to be slow.</p>
+KErrSlowSync=<p><b>(-8408)</b>: Sync is going to be slow.</p>
+-8409=<p><b>KErrFailedToGetRecord</b>: Failed to get record from DevMan.</p>
+KErrFailedToGetRecord=<p><b>(-8409)</b>: Failed to get record from DevMan.</p>
+-8410=<p><b>KErrUserInteractionFailed</b>: User interaction failed.</p>
+KErrUserInteractionFailed=<p><b>(-8410)</b>: User interaction failed.</p>
+-8411=<p><b>KErrStatusSizeMismatch</b>: Large object size mismatch.</p>
+KErrStatusSizeMismatch=<p><b>(-8411)</b>: Large object size mismatch.</p>
+-8412=<p><b>KErrFailedToCloseDatabase</b>: Data Provider close failed.</p>
+KErrFailedToCloseDatabase=<p><b>(-8412)</b>: Data Provider close failed.</p>
+-8451=<p><b>KErrMessageTooShort</b>: Push message is too short.</p>
+KErrMessageTooShort=<p><b>(-8451)</b>: Push message is too short.</p>
+-8452=<p><b>KErrMessageIsCorrupt</b>: Push message is corrupt.</p>
+KErrMessageIsCorrupt=<p><b>(-8452)</b>: Push message is corrupt.</p>
+-8453=<p><b>KErrBadTransportId</b>: Profile has no Transport ID.</p>
+KErrBadTransportId=<p><b>(-8453)</b>: Profile has no Transport ID.</p>
+-8454=<p><b>KErrNoNotificationBody</b>: Push message has no body.</p>
+KErrNoNotificationBody=<p><b>(-8454)</b>: Push message has no body.</p>
+-8455=<p><b>KErrWrongVersion</b>: Push message specifies an unsupportedversion.</p>
+KErrWrongVersion=<p><b>(-8455)</b>: Push message specifies an unsupportedversion.</p>
+-8456=<p><b>KErrUnsupportedMimeType</b>: Push message specifies an unsupportedversion.</p>
+KErrUnsupportedMimeType=<p><b>(-8456)</b>: Push message specifies an unsupportedversion.</p>
+-8457=<p><b>KErrNoSuchTask</b>: Currently unused.</p>
+KErrNoSuchTask=<p><b>(-8457)</b>: Currently unused.</p>
+-8458=<p><b>KErrUnknownSyncType</b>: Push message specifies an unknown typeof sync.</p>
+KErrUnknownSyncType=<p><b>(-8458)</b>: Push message specifies an unknown typeof sync.</p>
+-8459=<p><b>KErrUnknownProfile</b>: Push message specifies an unknown profile.</p>
+KErrUnknownProfile=<p><b>(-8459)</b>: Push message specifies an unknown profile.</p>
+-8460=<p><b>KErrInvalidProfile</b>: Currently unused.</p>
+KErrInvalidProfile=<p><b>(-8460)</b>: Currently unused.</p>
+-8461=<p><b>KErrInvalidCredentials</b>: Unsupported (USERNETWPIN or USERPIN) securitymechanism specified.</p>
+KErrInvalidCredentials=<p><b>(-8461)</b>: Unsupported (USERNETWPIN or USERPIN) securitymechanism specified.</p>
+-8462=<p><b>KErrNoCredentials</b>: Currently unused.</p>
+KErrNoCredentials=<p><b>(-8462)</b>: Currently unused.</p>
+-8463=<p><b>KErrIntegrityFailureHMAC</b>: Failed to verify the generated HMAC value.</p>
+KErrIntegrityFailureHMAC=<p><b>(-8463)</b>: Failed to verify the generated HMAC value.</p>
+-8464=<p><b>KErrMustUsageUriNotComplete</b>: Currently unused.</p>
+KErrMustUsageUriNotComplete=<p><b>(-8464)</b>: Currently unused.</p>
+-8465=<p><b>KErrDMAccUriIsCorrupt</b>: Push message has invalid DM account URI.</p>
+KErrDMAccUriIsCorrupt=<p><b>(-8465)</b>: Push message has invalid DM account URI.</p>
+-8466=<p><b>KErrDMConUriIsCorrupt</b>: Push message has invalid DM connectionURI.</p>
+KErrDMConUriIsCorrupt=<p><b>(-8466)</b>: Push message has invalid DM connectionURI.</p>
+-8468=<p><b>KErrParmNameNotInProvDoc</b>: Push message has missing characteristic.</p>
+KErrParmNameNotInProvDoc=<p><b>(-8468)</b>: Push message has missing characteristic.</p>
+-8469=<p><b>KErrInvalidAppIdValue</b>: Push message has missing or invalid App Id.</p>
+KErrInvalidAppIdValue=<p><b>(-8469)</b>: Push message has missing or invalid App Id.</p>
+-8470=<p><b>KErrInvalidToNapIdValue</b>: Push message has missing or invalid TO-NAPID.</p>
+KErrInvalidToNapIdValue=<p><b>(-8470)</b>: Push message has missing or invalid TO-NAPID.</p>
+-8471=<p><b>KErrInvalidProviderIdValue</b>: Push message has missing or invalid Provider-ID.</p>
+KErrInvalidProviderIdValue=<p><b>(-8471)</b>: Push message has missing or invalid Provider-ID.</p>
+-8472=<p><b>KErrEmptyAauthLevelValue</b>: Push message has missing or invalid AAUTHLEVEL.</p>
+KErrEmptyAauthLevelValue=<p><b>(-8472)</b>: Push message has missing or invalid AAUTHLEVEL.</p>
+-8473=<p><b>KErrAppSrvAAuthLevelNotFound</b>: Push message has missing or invalid APPSRV</p>
+KErrAppSrvAAuthLevelNotFound=<p><b>(-8473)</b>: Push message has missing or invalid APPSRV</p>
+-8474=<p><b>KErrClientAAuthLevelNotFound</b>: Push message has missing or invalid AppAuth Client</p>
+KErrClientAAuthLevelNotFound=<p><b>(-8474)</b>: Push message has missing or invalid AppAuth Client</p>
+-8475=<p><b>KErrInvalidAppAuth</b>: Currently unused.</p>
+KErrInvalidAppAuth=<p><b>(-8475)</b>: Currently unused.</p>
+-8476=<p><b>KErrNoApplicationCharac</b>: Push message has missing or invalid APPLICATION characteristic</p>
+KErrNoApplicationCharac=<p><b>(-8476)</b>: Push message has missing or invalid APPLICATION characteristic</p>
+-8478=<p><b>KErrNoAppAuthCharac</b>: Push message has missing or invalid APPAUTH characteristic.</p>
+KErrNoAppAuthCharac=<p><b>(-8478)</b>: Push message has missing or invalid APPAUTH characteristic.</p>
+-8480=<p><b>KErrMissingRequiredParmInSvr</b>: Currently unused.</p>
+KErrMissingRequiredParmInSvr=<p><b>(-8480)</b>: Currently unused.</p>
+-8481=<p><b>KErrMissingRequiredParmInClient</b>: Currently unused.</p>
+KErrMissingRequiredParmInClient=<p><b>(-8481)</b>: Currently unused.</p>
+-8484=<p><b>KErrAppAddrCharacNotFound</b>: Missing APPADDR characteristic or subcharacteristic</p>
+KErrAppAddrCharacNotFound=<p><b>(-8484)</b>: Missing APPADDR characteristic or subcharacteristic</p>
+-8485=<p><b>KErrUnsupportedVersion</b>: Unsupported WBXML version</p>
+KErrUnsupportedVersion=<p><b>(-8485)</b>: Unsupported WBXML version</p>
+-8486=<p><b>KErrWrongProvPublicDocId</b>: Prov Document identifier not WAP Provisoningversion 1.0</p>
+KErrWrongProvPublicDocId=<p><b>(-8486)</b>: Prov Document identifier not WAP Provisoningversion 1.0</p>
+-8501=<p><b>KErrProfileNotFound</b>: The requested profile does not exist.</p>
+KErrProfileNotFound=<p><b>(-8501)</b>: The requested profile does not exist.</p>
+-8502=<p><b>KErrConnectionNotFound</b>: The requested connection does not exist within the profile.</p>
+KErrConnectionNotFound=<p><b>(-8502)</b>: The requested connection does not exist within the profile.</p>
+-8503=<p><b>KErrTaskNotFound</b>: The requested task does not exist within theprofile.</p>
+KErrTaskNotFound=<p><b>(-8503)</b>: The requested task does not exist within theprofile.</p>
+-8504=<p><b>KErrTransportNotFound</b>: The requested transport adaptor does not exist.</p>
+KErrTransportNotFound=<p><b>(-8504)</b>: The requested transport adaptor does not exist.</p>
+-8505=<p><b>KErrDataProviderNotFound</b>: The requested data provider does not exist.</p>
+KErrDataProviderNotFound=<p><b>(-8505)</b>: The requested data provider does not exist.</p>
+-8506=<p><b>KErrJobNotFound</b>: The requested job has completed.</p>
+KErrJobNotFound=<p><b>(-8506)</b>: The requested job has completed.</p>
+-8507=<p><b>KErrObjectPendingDelete</b>: The requested object is pending deletion.</p>
+KErrObjectPendingDelete=<p><b>(-8507)</b>: The requested object is pending deletion.</p>
+-8508=<p><b>KErrObjectInUse</b>: The object to modify or delete is currently in use.</p>
+KErrObjectInUse=<p><b>(-8508)</b>: The object to modify or delete is currently in use.</p>
+-8509=<p><b>KErrProfileAccessDenied</b>: "The specified profile is not available</p>
+KErrProfileAccessDenied=<p><b>(-8509)</b>: "The specified profile is not available</p>
+-8510=<p><b>KErrSuspended</b>: The requested data stream cannot be found intheData Store.</p>
+KErrSuspended=<p><b>(-8510)</b>: The requested data stream cannot be found intheData Store.</p>
+-8511=<p><b>KErrDataDepotStreamNotFound</b>: The requested data stream cannot be found intheData Store.</p>
+KErrDataDepotStreamNotFound=<p><b>(-8511)</b>: The requested data stream cannot be found intheData Store.</p>
+-9001=<p><b>KErrXMLBadAttributeValue</b>: XML attribute value error code.</p>
+KErrXMLBadAttributeValue=<p><b>(-9001)</b>: XML attribute value error code.</p>
+-9002=<p><b>KErrXMLBadAttributeName</b>: XML attribute name error code.</p>
+KErrXMLBadAttributeName=<p><b>(-9002)</b>: XML attribute name error code.</p>
+-9003=<p><b>KErrXMLInvalidChild</b>: Invalid XML child element error code.</p>
+KErrXMLInvalidChild=<p><b>(-9003)</b>: Invalid XML child element error code.</p>
+-9004=<p><b>KErrXMLBadNesting</b>: XML element nesting error code.</p>
+KErrXMLBadNesting=<p><b>(-9004)</b>: XML element nesting error code.</p>
+-9005=<p><b>KErrXMLIncomplete</b>: XML element incomplete error code.</p>
+KErrXMLIncomplete=<p><b>(-9005)</b>: XML element incomplete error code.</p>
+-9006=<p><b>KErrXMLBadElementName</b>: XML element name error code.</p>
+KErrXMLBadElementName=<p><b>(-9006)</b>: XML element name error code.</p>
+-9007=<p><b>KErrXMLDuplicateDocTypeTags</b>: Error code that indicates that more than one DOCTYPE tag has been encountered: the first one encountered will be used.</p>
+KErrXMLDuplicateDocTypeTags=<p><b>(-9007)</b>: Error code that indicates that more than one DOCTYPE tag has been encountered: the first one encountered will be used.</p>
+-9008=<p><b>KErrXMLDuplicateVersionTags</b>: Error code that indicates that more than one XML version tag has been encountered: the first one encountered will be used.</p>
+KErrXMLDuplicateVersionTags=<p><b>(-9008)</b>: Error code that indicates that more than one XML version tag has been encountered: the first one encountered will be used.</p>
+-9009=<p><b>KErrXMLDuplicateRootElements</b>: "Error code that indicates that more than one element has been encountered at the root of the document (there should be a single  element). The resulting tree may be confused</p>
+KErrXMLDuplicateRootElements=<p><b>(-9009)</b>: "Error code that indicates that more than one element has been encountered at the root of the document (there should be a single  element). The resulting tree may be confused</p>
+-9010=<p><b>KErrXMLMissingDocTypeTag</b>: Error code that indicates that no DOCTYPE tag was encountered.</p>
+KErrXMLMissingDocTypeTag=<p><b>(-9010)</b>: Error code that indicates that no DOCTYPE tag was encountered.</p>
+-9011=<p><b>KErrXMLMissingVersionTag</b>: Error code that indicates that no XML version tag was encountered.</p>
+KErrXMLMissingVersionTag=<p><b>(-9011)</b>: Error code that indicates that no XML version tag was encountered.</p>
+-9012=<p><b>KErrXMLDuplicateAttributeName</b>: Error code that indicates that an element has two or more entries for the same attribute.</p>
+KErrXMLDuplicateAttributeName=<p><b>(-9012)</b>: Error code that indicates that an element has two or more entries for the same attribute.</p>
+-9013=<p><b>KErrXMLMultipleRootElements</b>: "Error code that indicates there is no single root element. This may be the result of two of more root elements being added incorrectly</p>
+KErrXMLMultipleRootElements=<p><b>(-9013)</b>: "Error code that indicates there is no single root element. This may be the result of two of more root elements being added incorrectly</p>
+-9014=<p><b>KErrXMLCorruptFile</b>: Error code that indicates spurious characters have been found. This may occur as the result of a missing or an extra attribute or element delimiter.</p>
+KErrXMLCorruptFile=<p><b>(-9014)</b>: Error code that indicates spurious characters have been found. This may occur as the result of a missing or an extra attribute or element delimiter.</p>
+-9015=<p><b>KErrXMLIllegalCharacter</b>: Error code that indicates a built-in entity or element / attribute delimiters at an inappropriate place.</p>
+KErrXMLIllegalCharacter=<p><b>(-9015)</b>: Error code that indicates a built-in entity or element / attribute delimiters at an inappropriate place.</p>
+-9016=<p><b>KErrXMLBadEntity</b>: </p>
+KErrXMLBadEntity=<p><b>(-9016)</b>: </p>
+-9017=<p><b>KErrXMLInvalidElement</b>: Error code that indicates an element was found to be invalid by the DTD</p>
+KErrXMLInvalidElement=<p><b>(-9017)</b>: Error code that indicates an element was found to be invalid by the DTD</p>
+-9018=<p><b>KErrXMLInvalidAttribute</b>: Error code that indicates an attribute was found to be invalid by the DTD</p>
+KErrXMLInvalidAttribute=<p><b>(-9018)</b>: Error code that indicates an attribute was found to be invalid by the DTD</p>
+-9100=<p><b>KMmsErrUnspecified</b>: </p>
+KMmsErrUnspecified=<p><b>(-9100)</b>: </p>
+-9101=<p><b>KMmsErrServiceDenied</b>: </p>
+KMmsErrServiceDenied=<p><b>(-9101)</b>: </p>
+-9102=<p><b>KMmsErrMessageFormatCorrupt</b>: </p>
+KMmsErrMessageFormatCorrupt=<p><b>(-9102)</b>: </p>
+-9103=<p><b>KMmsErrSendingAddressUnresolved</b>: </p>
+KMmsErrSendingAddressUnresolved=<p><b>(-9103)</b>: </p>
+-9104=<p><b>KMmsErrMessageNotFound</b>: </p>
+KMmsErrMessageNotFound=<p><b>(-9104)</b>: </p>
+-9105=<p><b>KMmsErrNetworkProblem</b>: </p>
+KMmsErrNetworkProblem=<p><b>(-9105)</b>: </p>
+-9106=<p><b>KMmsErrContentNotAccepted</b>: </p>
+KMmsErrContentNotAccepted=<p><b>(-9106)</b>: </p>
+-9107=<p><b>KMmsErrUnsupportedMessage</b>: </p>
+KMmsErrUnsupportedMessage=<p><b>(-9107)</b>: </p>
+-9108=<p><b>KMmsErrInvalidPDU</b>: </p>
+KMmsErrInvalidPDU=<p><b>(-9108)</b>: </p>
+-9109=<p><b>KMmsErrNoData</b>: </p>
+KMmsErrNoData=<p><b>(-9109)</b>: </p>
+-9110=<p><b>KMmsNoResponseStatus</b>: </p>
+KMmsNoResponseStatus=<p><b>(-9110)</b>: </p>
+-11000=<p><b>KErrBadPassphrase</b>: </p>
+KErrBadPassphrase=<p><b>(-11000)</b>: </p>
+-11001=<p><b>KErrTotalLossOfEntropy</b>: </p>
+KErrTotalLossOfEntropy=<p><b>(-11001)</b>: </p>
+-11002=<p><b>KErrKeyNotWeakEnough</b>: </p>
+KErrKeyNotWeakEnough=<p><b>(-11002)</b>: </p>
+-11003=<p><b>KErrInvalidPadding</b>: </p>
+KErrInvalidPadding=<p><b>(-11003)</b>: </p>
+-11004=<p><b>KErrWeakKey</b>: </p>
+KErrWeakKey=<p><b>(-11004)</b>: </p>
+-11005=<p><b>KErrNegativeExportNotSupported</b>: </p>
+KErrNegativeExportNotSupported=<p><b>(-11005)</b>: </p>
+-11006=<p><b>KErrKeyAlgorithm</b>: </p>
+KErrKeyAlgorithm=<p><b>(-11006)</b>: </p>
+-11007=<p><b>KErrKeyUsage</b>: </p>
+KErrKeyUsage=<p><b>(-11007)</b>: </p>
+-11008=<p><b>KErrKeyValidity</b>: </p>
+KErrKeyValidity=<p><b>(-11008)</b>: </p>
+-11009=<p><b>KErrKeySize</b>: </p>
+KErrKeySize=<p><b>(-11009)</b>: </p>
+-11010=<p><b>KErrKeyAccess</b>: </p>
+KErrKeyAccess=<p><b>(-11010)</b>: </p>
+-11011=<p><b>KErrPrivateKeyNotFound</b>: </p>
+KErrPrivateKeyNotFound=<p><b>(-11011)</b>: </p>
+-11501=<p><b>KEZlibErrStream</b>: The Z_STREAM_ERROR zlib error code has been returned by an internal method due to a stream error.</p>
+KEZlibErrStream=<p><b>(-11501)</b>: The Z_STREAM_ERROR zlib error code has been returned by an internal method due to a stream error.</p>
+-11502=<p><b>KEZlibErrData</b>: The Z_DATA_ERROR zlib error code has been returned by an internalmethod due to a data error.</p>
+KEZlibErrData=<p><b>(-11502)</b>: The Z_DATA_ERROR zlib error code has been returned by an internalmethod due to a data error.</p>
+-11503=<p><b>KEZlibErrBuf</b>: The Z_BUF_ERROR zlib error code has been returned by an internalmethod due to a buffer error.</p>
+KEZlibErrBuf=<p><b>(-11503)</b>: The Z_BUF_ERROR zlib error code has been returned by an internalmethod due to a buffer error.</p>
+-11504=<p><b>KEZlibErrVersion</b>: The Z_VERSION_ERROR zlib error code has been returned by an internal method due to a version error.</p>
+KEZlibErrVersion=<p><b>(-11504)</b>: The Z_VERSION_ERROR zlib error code has been returned by an internal method due to a version error.</p>
+-11505=<p><b>KEZlibErrUnexpected</b>: Unexpected ezlib error.</p>
+KEZlibErrUnexpected=<p><b>(-11505)</b>: Unexpected ezlib error.</p>
+-11506=<p><b>KEZlibErrDeflateTerminated</b>: Returned by ::DeflateL() if deflation has already occured.</p>
+KEZlibErrDeflateTerminated=<p><b>(-11506)</b>: Returned by ::DeflateL() if deflation has already occured.</p>
+-11507=<p><b>KEZlibErrInflateTerminated</b>: Returned by ::InflateL() if inflation has already occured.</p>
+KEZlibErrInflateTerminated=<p><b>(-11507)</b>: Returned by ::InflateL() if inflation has already occured.</p>
+-11508=<p><b>KEZlibErrInflateDictionary</b>: An error has occured inflating the dictionary.</p>
+KEZlibErrInflateDictionary=<p><b>(-11508)</b>: An error has occured inflating the dictionary.</p>
+-11509=<p><b>KEZlibErrNotGZipFile</b>: </p>
+KEZlibErrNotGZipFile=<p><b>(-11509)</b>: </p>
+-11510=<p><b>KEZlibErrInvalidCompression</b>: </p>
+KEZlibErrInvalidCompression=<p><b>(-11510)</b>: </p>
+-11511=<p><b>KEZlibErrBadGZipHeader</b>: </p>
+KEZlibErrBadGZipHeader=<p><b>(-11511)</b>: </p>
+-11512=<p><b>KEZlibErrBadGZipTrailer</b>: </p>
+KEZlibErrBadGZipTrailer=<p><b>(-11512)</b>: </p>
+-11513=<p><b>KEZlibErrBadGZipCrc</b>: </p>
+KEZlibErrBadGZipCrc=<p><b>(-11513)</b>: </p>
+-12000=<p><b>KErrMMNotEnoughBandwidth</b>: Not enough network bandwidth.</p>
+KErrMMNotEnoughBandwidth=<p><b>(-12000)</b>: Not enough network bandwidth.</p>
+-12001=<p><b>KErrMMSocketServiceNotFound</b>: Error locating network socket services.</p>
+KErrMMSocketServiceNotFound=<p><b>(-12001)</b>: Error locating network socket services.</p>
+-12002=<p><b>KErrMMNetworkRead</b>: An error occurred while reading data from the network.</p>
+KErrMMNetworkRead=<p><b>(-12002)</b>: An error occurred while reading data from the network.</p>
+-12003=<p><b>KErrMMNetworkWrite</b>: An error occurred while writing data to the network.</p>
+KErrMMNetworkWrite=<p><b>(-12003)</b>: An error occurred while writing data to the network.</p>
+-12004=<p><b>KErrMMServerSocket</b>: Invalid socket error or an error occurred while creating a network socket.</p>
+KErrMMServerSocket=<p><b>(-12004)</b>: Invalid socket error or an error occurred while creating a network socket.</p>
+-12005=<p><b>KErrMMServerNotSupported</b>: Streaming Server not supported.</p>
+KErrMMServerNotSupported=<p><b>(-12005)</b>: Streaming Server not supported.</p>
+-12006=<p><b>KErrMMServerAlert</b>: Server alert.</p>
+KErrMMServerAlert=<p><b>(-12006)</b>: Server alert.</p>
+-12007=<p><b>KErrMMUDPReceive</b>: Player cannot receive UDP data packets.</p>
+KErrMMUDPReceive=<p><b>(-12007)</b>: Player cannot receive UDP data packets.</p>
+-12008=<p><b>KErrMMInvalidProtocol</b>: Network transport not recognized.</p>
+KErrMMInvalidProtocol=<p><b>(-12008)</b>: Network transport not recognized.</p>
+-12009=<p><b>KErrMMInvalidURL</b>: Invalid URL.</p>
+KErrMMInvalidURL=<p><b>(-12009)</b>: Invalid URL.</p>
+-12010=<p><b>KErrMMMulticast</b>: An error occured attempting to join or access multicast session.</p>
+KErrMMMulticast=<p><b>(-12010)</b>: An error occured attempting to join or access multicast session.</p>
+-12011=<p><b>KErrMMProxyServer</b>: "Proxy status error</p>
+KErrMMProxyServer=<p><b>(-12011)</b>: "Proxy status error</p>
+-12012=<p><b>KErrMMProxyServerNotSupported</b>: Client cannot support proxy server.</p>
+KErrMMProxyServerNotSupported=<p><b>(-12012)</b>: Client cannot support proxy server.</p>
+-12013=<p><b>KErrMMProxyServerConnect</b>: Unable to locate proxy server or Proxy connection could not be established.</p>
+KErrMMProxyServerConnect=<p><b>(-12013)</b>: Unable to locate proxy server or Proxy connection could not be established.</p>
+-12014=<p><b>KErrMMAudioDevice</b>: "Cannot open audio device</p>
+KErrMMAudioDevice=<p><b>(-12014)</b>: "Cannot open audio device</p>
+-12015=<p><b>KErrMMVideoDevice</b>: Problem blitting video to display.</p>
+KErrMMVideoDevice=<p><b>(-12015)</b>: Problem blitting video to display.</p>
+-12016=<p><b>KErrMMDecoder</b>: "Invalid decoder</p>
+KErrMMDecoder=<p><b>(-12016)</b>: "Invalid decoder</p>
+-12017=<p><b>KErrMMPartialPlayback</b>: "Only able to play either the audio or the video portion of the media file. Could be due to a codec that isn't supported</p>
+KErrMMPartialPlayback=<p><b>(-12017)</b>: "Only able to play either the audio or the video portion of the media file. Could be due to a codec that isn't supported</p>
+-12018=<p><b>KErrMMDRMNotAuthorized</b>: Digital Rights have expired.</p>
+KErrMMDRMNotAuthorized=<p><b>(-12018)</b>: Digital Rights have expired.</p>
+-13257=<p><b>KErrCdmaOtaUnknown</b>: Rejected - Unknown reason</p>
+KErrCdmaOtaUnknown=<p><b>(-13257)</b>: Rejected - Unknown reason</p>
+-13258=<p><b>KErrCdmaOtaDataSizeMismatch</b>: Rejected - Data size mismatch</p>
+KErrCdmaOtaDataSizeMismatch=<p><b>(-13258)</b>: Rejected - Data size mismatch</p>
+-13259=<p><b>KErrCdmaOtaProtocolVersionMismatch</b>: Rejected - Protocol version mismatch</p>
+KErrCdmaOtaProtocolVersionMismatch=<p><b>(-13259)</b>: Rejected - Protocol version mismatch</p>
+-13260=<p><b>KErrCdmaOtaInvalidParameter</b>: Rejected - Invalid parameter</p>
+KErrCdmaOtaInvalidParameter=<p><b>(-13260)</b>: Rejected - Invalid parameter</p>
+-13261=<p><b>KErrCdmaOtaSIDNIDLengthMismatch</b>: Rejected - SID NID length mismatch</p>
+KErrCdmaOtaSIDNIDLengthMismatch=<p><b>(-13261)</b>: Rejected - SID NID length mismatch</p>
+-13262=<p><b>KErrCdmaOtaMessageNotExpectedInThisMode</b>: Rejected - Message not expected in this mode</p>
+KErrCdmaOtaMessageNotExpectedInThisMode=<p><b>(-13262)</b>: Rejected - Message not expected in this mode</p>
+-13263=<p><b>KErrCdmaOtaBlockIdValueNotSupported</b>: Rejected - Block Id value not supported</p>
+KErrCdmaOtaBlockIdValueNotSupported=<p><b>(-13263)</b>: Rejected - Block Id value not supported</p>
+-13264=<p><b>KErrCdmaOtaPRLLengthMismatch</b>: Rejected - PRL length mismatch</p>
+KErrCdmaOtaPRLLengthMismatch=<p><b>(-13264)</b>: Rejected - PRL length mismatch</p>
+-13265=<p><b>KErrCdmaOtaCRC</b>: Rejected - Incorrect CRC</p>
+KErrCdmaOtaCRC=<p><b>(-13265)</b>: Rejected - Incorrect CRC</p>
+-13266=<p><b>KErrCdmaOtaLocked</b>: Rejected - Mobile Station Locked</p>
+KErrCdmaOtaLocked=<p><b>(-13266)</b>: Rejected - Mobile Station Locked</p>
+-13267=<p><b>KErrCdmaOtaInvalidSPC</b>: Rejected - Invalid SPC</p>
+KErrCdmaOtaInvalidSPC=<p><b>(-13267)</b>: Rejected - Invalid SPC</p>
+-13268=<p><b>KErrCdmaOtaSPCChangeDeniedByUser</b>: Rejected - SPC change denied by user</p>
+KErrCdmaOtaSPCChangeDeniedByUser=<p><b>(-13268)</b>: Rejected - SPC change denied by user</p>
+-13269=<p><b>KErrCdmaOtaInvalidSpasm</b>: Rejected - Invalid SPASM</p>
+KErrCdmaOtaInvalidSpasm=<p><b>(-13269)</b>: Rejected - Invalid SPASM</p>
+-13270=<p><b>KErrCdmaOtaBlockIdNotExpectedInThisMode</b>: Rejected - Block Id not expected in this mode</p>
+KErrCdmaOtaBlockIdNotExpectedInThisMode=<p><b>(-13270)</b>: Rejected - Block Id not expected in this mode</p>
+-13271=<p><b>KErrCdmaOtaUserZoneAlreadyInPUZL</b>: Rejected - User Zone already in PUZL</p>
+KErrCdmaOtaUserZoneAlreadyInPUZL=<p><b>(-13271)</b>: Rejected - User Zone already in PUZL</p>
+-13272=<p><b>KErrCdmaOtaUserZoneNotInPUZL</b>: Rejected - User zone not in PUZL</p>
+KErrCdmaOtaUserZoneNotInPUZL=<p><b>(-13272)</b>: Rejected - User zone not in PUZL</p>
+-13273=<p><b>KErrCdmaOtaNoEntriesInPUZL</b>: Rejected - No entries in PUZL</p>
+KErrCdmaOtaNoEntriesInPUZL=<p><b>(-13273)</b>: Rejected - No entries in PUZL</p>
+-13274=<p><b>KErrCdmaOtaOperationModeMismatch</b>: Rejected - Operation Mode mismatch</p>
+KErrCdmaOtaOperationModeMismatch=<p><b>(-13274)</b>: Rejected - Operation Mode mismatch</p>
+-13275=<p><b>KErrCdmaOtaSimpleIPMaxNumNaiMismatch</b>: Rejected - SimpleIP MAX_NUM_NAI mismatch</p>
+KErrCdmaOtaSimpleIPMaxNumNaiMismatch=<p><b>(-13275)</b>: Rejected - SimpleIP MAX_NUM_NAI mismatch</p>
+-13276=<p><b>KErrCdmaOtaSimpleIPMaxNaiLengthMismatch</b>: Rejected - SimpleIP MAX_NAI_LENGTH mismatch</p>
+KErrCdmaOtaSimpleIPMaxNaiLengthMismatch=<p><b>(-13276)</b>: Rejected - SimpleIP MAX_NAI_LENGTH mismatch</p>
+-13277=<p><b>KErrCdmaOtaMobileIPMaxNumNaiMismatch</b>: Rejected - MobileIP MAX_NUM_NAI mismatch</p>
+KErrCdmaOtaMobileIPMaxNumNaiMismatch=<p><b>(-13277)</b>: Rejected - MobileIP MAX_NUM_NAI mismatch</p>
+-13278=<p><b>KErrCdmaOtaMobileIPMaxNaiLengthMismatch</b>: Rejected - MobileIP MAX_NAI_LENGTH mismatch</p>
+KErrCdmaOtaMobileIPMaxNaiLengthMismatch=<p><b>(-13278)</b>: Rejected - MobileIP MAX_NAI_LENGTH mismatch</p>
+-13279=<p><b>KErrCdmaOtaSimpleIPPapMaxSsLenMismatch</b>: Rejected - SimpleIP PAP MAX_SS_LENGTH mismatch</p>
+KErrCdmaOtaSimpleIPPapMaxSsLenMismatch=<p><b>(-13279)</b>: Rejected - SimpleIP PAP MAX_SS_LENGTH mismatch</p>
+-13280=<p><b>KErrCdmaOtaSimpleIPChapMaxSsLenMismatch</b>: Rejected - SimpleIP CHAP MAX_SS_LENGTH mismatch</p>
+KErrCdmaOtaSimpleIPChapMaxSsLenMismatch=<p><b>(-13280)</b>: Rejected - SimpleIP CHAP MAX_SS_LENGTH mismatch</p>
+-13281=<p><b>KErrCdmaOtaMobileIPMaxMnAaaSsLenMismatch</b>: Rejected - MobileIP MAX_MN-AAA_SS_LENGTH mismatch</p>
+KErrCdmaOtaMobileIPMaxMnAaaSsLenMismatch=<p><b>(-13281)</b>: Rejected - MobileIP MAX_MN-AAA_SS_LENGTH mismatch</p>
+-13282=<p><b>KErrCdmaOtaMobileIPMaxMnHaSsLenMismatch</b>: Rejected - MobileIP MAX_MN-HA_SS_LENGTH mismatch</p>
+KErrCdmaOtaMobileIPMaxMnHaSsLenMismatch=<p><b>(-13282)</b>: Rejected - MobileIP MAX_MN-HA_SS_LENGTH mismatch</p>
+-13283=<p><b>KErrCdmaOtaMobileIPMnAaaAuthAlgoMismatch</b>: Rejected - MobileIP MN-AAA_AUTH_ALGORITHM mismatch</p>
+KErrCdmaOtaMobileIPMnAaaAuthAlgoMismatch=<p><b>(-13283)</b>: Rejected - MobileIP MN-AAA_AUTH_ALGORITHM mismatch</p>
+-13284=<p><b>KErrCdmaOtaMobileIPMnhaAuthAlgoMismatch</b>: Rejected - MobileIP MNHA_AUTH_ALGORITHM mismatch</p>
+KErrCdmaOtaMobileIPMnhaAuthAlgoMismatch=<p><b>(-13284)</b>: Rejected - MobileIP MNHA_AUTH_ALGORITHM mismatch</p>
+-13285=<p><b>KErrCdmaOtaSimpleIPActNaiEntryIndexMismatch</b>: Rejected - SimpleIP ACT_NAI_ENTRY_INDEX mismatch</p>
+KErrCdmaOtaSimpleIPActNaiEntryIndexMismatch=<p><b>(-13285)</b>: Rejected - SimpleIP ACT_NAI_ENTRY_INDEX mismatch</p>
+-13286=<p><b>KErrCdmaOtaMobileIPActNaiEntryIndexMismatch</b>: Rejected - MobileIP ACT_NAI_ENTRY_INDEX mismatch</p>
+KErrCdmaOtaMobileIPActNaiEntryIndexMismatch=<p><b>(-13286)</b>: Rejected - MobileIP ACT_NAI_ENTRY_INDEX mismatch</p>
+-13287=<p><b>KErrCdmaOtaSimpleIPPapNaiEntryIndexMismatch</b>: Rejected - SimpleIP PAP NAI_ENTRY_INDEX mismatch</p>
+KErrCdmaOtaSimpleIPPapNaiEntryIndexMismatch=<p><b>(-13287)</b>: Rejected - SimpleIP PAP NAI_ENTRY_INDEX mismatch</p>
+-13288=<p><b>KErrCdmaOtaSimpleIPChapNaiEntryIndexMismatch</b>: Rejected - SimpleIP CHAP NAI_ENTRY_INDEX mismatch</p>
+KErrCdmaOtaSimpleIPChapNaiEntryIndexMismatch=<p><b>(-13288)</b>: Rejected - SimpleIP CHAP NAI_ENTRY_INDEX mismatch</p>
+-13289=<p><b>KErrCdmaOtaMobileIPNaiEntryIndexMismatch</b>: Rejected - MobileIP NAI_ENTRY_INDEX mismatch</p>
+KErrCdmaOtaMobileIPNaiEntryIndexMismatch=<p><b>(-13289)</b>: Rejected - MobileIP NAI_ENTRY_INDEX mismatch</p>
+-13513=<p><b>KErrCdmaFlashInvalidFeature</b>: Rejected Info Record- Invalid Feature code</p>
+KErrCdmaFlashInvalidFeature=<p><b>(-13513)</b>: Rejected Info Record- Invalid Feature code</p>
+-13514=<p><b>KErrCdmaFlashInvalidKeypadEntry</b>: Rejected Info Record- Invalid Keypad entry</p>
+KErrCdmaFlashInvalidKeypadEntry=<p><b>(-13514)</b>: Rejected Info Record- Invalid Keypad entry</p>
+-13515=<p><b>KErrCdmaFlashInvalidNumberType</b>: Rejected Info Record- Invalid NumberType</p>
+KErrCdmaFlashInvalidNumberType=<p><b>(-13515)</b>: Rejected Info Record- Invalid NumberType</p>
+-13516=<p><b>KErrCdmaFlashInvalidNumberPlan</b>: Rejected Info Record- Invalid Number Plan</p>
+KErrCdmaFlashInvalidNumberPlan=<p><b>(-13516)</b>: Rejected Info Record- Invalid Number Plan</p>
+-13517=<p><b>KErrCdmaFlashInvalidPI</b>: Rejected Info Record- Invalid Presentation Indicator</p>
+KErrCdmaFlashInvalidPI=<p><b>(-13517)</b>: Rejected Info Record- Invalid Presentation Indicator</p>
+-13518=<p><b>KErrCdmaFlashInvalidSI</b>: Rejected Info Record- Invalid Screening Indicator</p>
+KErrCdmaFlashInvalidSI=<p><b>(-13518)</b>: Rejected Info Record- Invalid Screening Indicator</p>
+-13519=<p><b>KErrCdmaFlashInvalidPartyNum</b>: Rejected Info Record- Invalid Party Number</p>
+KErrCdmaFlashInvalidPartyNum=<p><b>(-13519)</b>: Rejected Info Record- Invalid Party Number</p>
+-13520=<p><b>KErrCdmaFlashL3BlockedFlashMessage</b>: Call-stack blocked sending flash message</p>
+KErrCdmaFlashL3BlockedFlashMessage=<p><b>(-13520)</b>: Call-stack blocked sending flash message</p>
+-13768=<p><b>KErrCdmaMiscSignallingFailure</b>: Signalling failure invoice call origination or termination.</p>
+KErrCdmaMiscSignallingFailure=<p><b>(-13768)</b>: Signalling failure invoice call origination or termination.</p>
+-13769=<p><b>KErrCdmaMiscNetworkBusy</b>: Busy network in voicecall origination or termination.</p>
+KErrCdmaMiscNetworkBusy=<p><b>(-13769)</b>: Busy network in voicecall origination or termination.</p>
+-13770=<p><b>KErrCdmaMiscConnectionLost</b>: Loss of connection invoice call origination or termination.</p>
+KErrCdmaMiscConnectionLost=<p><b>(-13770)</b>: Loss of connection invoice call origination or termination.</p>
+-13771=<p><b>KErrCdmaMiscNetworkRelease</b>: Release of network invoice call origination or termination.</p>
+KErrCdmaMiscNetworkRelease=<p><b>(-13771)</b>: Release of network invoice call origination or termination.</p>
+-13772=<p><b>KErrCdmaMiscBaseStationRejectServiceOption</b>: Service option rejection by base station in voice call origination or termination.</p>
+KErrCdmaMiscBaseStationRejectServiceOption=<p><b>(-13772)</b>: Service option rejection by base station in voice call origination or termination.</p>
+-13773=<p><b>KErrCdmaMiscAccessFailure</b>: Access failure in voice call originationor termination.</p>
+KErrCdmaMiscAccessFailure=<p><b>(-13773)</b>: Access failure in voice call originationor termination.</p>
+-13774=<p><b>KErrCdmaMiscNoService</b>: Service not available in voicecall origination or termination.</p>
+KErrCdmaMiscNoService=<p><b>(-13774)</b>: Service not available in voicecall origination or termination.</p>
+-13775=<p><b>KErrCdmaMiscSecurityCodeBlocked</b>: This code is blocked (probably as a result of the maximum retry being exceeded)</p>
+KErrCdmaMiscSecurityCodeBlocked=<p><b>(-13775)</b>: This code is blocked (probably as a result of the maximum retry being exceeded)</p>
+-17004=<p><b>KEComErrNoInterfaceIdentified</b>: The call to instantiate an Interface Implementation failed because no registrations exist for this interface.</p>
+KEComErrNoInterfaceIdentified=<p><b>(-17004)</b>: The call to instantiate an Interface Implementation failed because no registrations exist for this interface.</p>
+-17014=<p><b>KEComErrNoResolver</b>: The Non-Default resolver could not be instantiated. The most likely situation is that an incorrect implementation uid was supplied.</p>
+KEComErrNoResolver=<p><b>(-17014)</b>: The Non-Default resolver could not be instantiated. The most likely situation is that an incorrect implementation uid was supplied.</p>
+-17026=<p><b>KEComErrTooManyNotificationsOutstanding</b>: The client has requested too many notifications.ECom can only support a finite number of notifications</p>
+KEComErrTooManyNotificationsOutstanding=<p><b>(-17026)</b>: The client has requested too many notifications.ECom can only support a finite number of notifications</p>
+-17028=<p><b>KEComErrMissingParameter</b>: "An ECom service was requested with an essential parameter missing. For example</p>
+KEComErrMissingParameter=<p><b>(-17028)</b>: "An ECom service was requested with an essential parameter missing. For example</p>
+-17029=<p><b>KEComErrListInvalidAwaitNotification</b>: The registry index is invalid but the client has requested notifications - so they will receive a notification when the indexis ready again</p>
+KEComErrListInvalidAwaitNotification=<p><b>(-17029)</b>: The registry index is invalid but the client has requested notifications - so they will receive a notification when the indexis ready again</p>
+-17030=<p><b>KEComErrListCurrentlyUnavailable</b>: The registry index is invalid and the client has not requested notifications. They will have to try again later after discoveries have completed.</p>
+KEComErrListCurrentlyUnavailable=<p><b>(-17030)</b>: The registry index is invalid and the client has not requested notifications. They will have to try again later after discoveries have completed.</p>
+-17003=<p><b>KEComErrInvalidUnloadPolicy</b>: The Client requested a service which is not supplied by this framework</p>
+KEComErrInvalidUnloadPolicy=<p><b>(-17003)</b>: The Client requested a service which is not supplied by this framework</p>
+-17008=<p><b>KEComErrInvalidIIC</b>: An attempt has been made to load an implementation contained within a dll which no longer exists (deleted or is on a CF card that has been removed).</p>
+KEComErrInvalidIIC=<p><b>(-17008)</b>: An attempt has been made to load an implementation contained within a dll which no longer exists (deleted or is on a CF card that has been removed).</p>
+-17019=<p><b>KEComErrDriveNotFound</b>: An attempt has been made to update registry information for a dll on a drive that does not exist.</p>
+KEComErrDriveNotFound=<p><b>(-17019)</b>: An attempt has been made to update registry information for a dll on a drive that does not exist.</p>
+-17002=<p><b>KEComErrUnknownService</b>: The Client requested a service which is not supplied by this framework The Client requested a service which is not supplied by this framework</p>
+KEComErrUnknownService=<p><b>(-17002)</b>: The Client requested a service which is not supplied by this framework The Client requested a service which is not supplied by this framework</p>
+-17013=<p><b>KEComErrReferenceCountInvalid</b>: The Interface Implementation reference count is invalid</p>
+KEComErrReferenceCountInvalid=<p><b>(-17013)</b>: The Interface Implementation reference count is invalid</p>
+-17017=<p><b>KEComErrDestructionFailed</b>: The Interface Implementations destruction could not be recorded</p>
+KEComErrDestructionFailed=<p><b>(-17017)</b>: The Interface Implementations destruction could not be recorded</p>
+-17022=<p><b>KEComErrInvalidRegistryData</b>: An attempt has been made to update the registry information for a non-existent DLL.  An ECom internal error.</p>
+KEComErrInvalidRegistryData=<p><b>(-17022)</b>: An attempt has been made to update the registry information for a non-existent DLL.  An ECom internal error.</p>
+-17027=<p><b>KEComErrDestroyingWithNullDtorKey</b>: The client called DestroyedImplementation with a destruction key of NULL. This is an irrecoverable error because the object cannot be deleted.</p>
+KEComErrDestroyingWithNullDtorKey=<p><b>(-17027)</b>: The client called DestroyedImplementation with a destruction key of NULL. This is an irrecoverable error because the object cannot be deleted.</p>
+-17001=<p><b>KEComErrAlreadyReceiving</b>: </p>
+KEComErrAlreadyReceiving=<p><b>(-17001)</b>: </p>
+-17005=<p><b>KEComErrEnableFailed</b>: The call to Enable the registered Interface Implementation failed</p>
+KEComErrEnableFailed=<p><b>(-17005)</b>: The call to Enable the registered Interface Implementation failed</p>
+-17006=<p><b>KEComErrDisableFailed</b>: The call to Disable the registered Interface Implementation failed</p>
+KEComErrDisableFailed=<p><b>(-17006)</b>: The call to Disable the registered Interface Implementation failed</p>
+-17007=<p><b>KEComErrNoRegistrationsFound</b>: The call to instantiate an Interface Implementation failed because no appropriate implementation was found.</p>
+KEComErrNoRegistrationsFound=<p><b>(-17007)</b>: The call to instantiate an Interface Implementation failed because no appropriate implementation was found.</p>
+-17009=<p><b>KEComErrUninstallFailed</b>: The call to Remove the registered Interface Implementation failed</p>
+KEComErrUninstallFailed=<p><b>(-17009)</b>: The call to Remove the registered Interface Implementation failed</p>
+-17010=<p><b>KEComErrReinstallFailed</b>: The call to Re-register an Interface Implementation failed</p>
+KEComErrReinstallFailed=<p><b>(-17010)</b>: The call to Re-register an Interface Implementation failed</p>
+-17011=<p><b>KEComErrRegistrationFailed</b>: The call to Register an Interface Implementation failed</p>
+KEComErrRegistrationFailed=<p><b>(-17011)</b>: The call to Register an Interface Implementation failed</p>
+-17012=<p><b>KEComErrNotConnected</b>: The client does not have a session open with theframework</p>
+KEComErrNotConnected=<p><b>(-17012)</b>: The client does not have a session open with theframework</p>
+-17015=<p><b>KEComErrSuspendFailed</b>: The call to Suspend registration activities failed</p>
+KEComErrSuspendFailed=<p><b>(-17015)</b>: The call to Suspend registration activities failed</p>
+-17016=<p><b>KEComErrResumeFailed</b>: The call to Resume registration activities failed</p>
+KEComErrResumeFailed=<p><b>(-17016)</b>: The call to Resume registration activities failed</p>
+-17018=<p><b>KEComErrDriveAlreadyInstalled</b>: An attempt has been made to add a drive to the registry which already exists</p>
+KEComErrDriveAlreadyInstalled=<p><b>(-17018)</b>: An attempt has been made to add a drive to the registry which already exists</p>
+-17020=<p><b>KEComErrIndexEntryNotFound</b>: </p>
+KEComErrIndexEntryNotFound=<p><b>(-17020)</b>: </p>
+-17021=<p><b>KEComErrNoRegistrationData</b>: An IIC has been found which does not have a corresponding registration information file</p>
+KEComErrNoRegistrationData=<p><b>(-17021)</b>: An IIC has been found which does not have a corresponding registration information file</p>
+-17023=<p><b>KEComErrMismatchedTags</b>: </p>
+KEComErrMismatchedTags=<p><b>(-17023)</b>: </p>
+-17024=<p><b>KEComErrInstantiationPointerNotFound</b>: </p>
+KEComErrInstantiationPointerNotFound=<p><b>(-17024)</b>: </p>
+-17025=<p><b>KEComErrInstantiationPointerNotAvailable</b>: </p>
+KEComErrInstantiationPointerNotAvailable=<p><b>(-17025)</b>: </p>
+-17050=<p><b>KErrCHFProxyObjectAlreadyExists</b>: A proxy object with the same identifier already exists.</p>
+KErrCHFProxyObjectAlreadyExists=<p><b>(-17050)</b>: A proxy object with the same identifier already exists.</p>
+-17051=<p><b>KErrCHFNoSchemeInUri</b>: Supplied URI has no scheme part.</p>
+KErrCHFNoSchemeInUri=<p><b>(-17051)</b>: Supplied URI has no scheme part.</p>
+-17052=<p><b>KErrCHFDataSupplierConstructionFailed</b>: Data supplier construction failed.</p>
+KErrCHFDataSupplierConstructionFailed=<p><b>(-17052)</b>: Data supplier construction failed.</p>
+-17053=<p><b>KErrCHFContentHandlerConstructionFailed</b>: Content handler construction failed.</p>
+KErrCHFContentHandlerConstructionFailed=<p><b>(-17053)</b>: Content handler construction failed.</p>
+-17054=<p><b>KErrCHFDataSupplierSetPositionFailed</b>: Failed to set position in data supplier.</p>
+KErrCHFDataSupplierSetPositionFailed=<p><b>(-17054)</b>: Failed to set position in data supplier.</p>
+-17103=<p><b>KErrRSSuddenDeath</b>: A module has died.</p>
+KErrRSSuddenDeath=<p><b>(-17103)</b>: A module has died.</p>
+-17104=<p><b>KErrRSRequestCancelled</b>: A request was cancelled.</p>
+KErrRSRequestCancelled=<p><b>(-17104)</b>: A request was cancelled.</p>
+-17105=<p><b>KErrRSInvalidParameter</b>: A parameter was in some way invalid.</p>
+KErrRSInvalidParameter=<p><b>(-17105)</b>: A parameter was in some way invalid.</p>
+-17106=<p><b>KErrRSInvalidParameterFile</b>: "The file could not be found</p>
+KErrRSInvalidParameterFile=<p><b>(-17106)</b>: "The file could not be found</p>
+-17107=<p><b>KErrRSInvalidParameterName</b>: The name was invalid.</p>
+KErrRSInvalidParameterName=<p><b>(-17107)</b>: The name was invalid.</p>
+-17108=<p><b>KErrRSInvalidParameterStackSize</b>: The stack size was invalid.</p>
+KErrRSInvalidParameterStackSize=<p><b>(-17108)</b>: The stack size was invalid.</p>
+-17109=<p><b>KErrRSInvalidParameterHeapSize</b>: The heap size was invalid.</p>
+KErrRSInvalidParameterHeapSize=<p><b>(-17109)</b>: The heap size was invalid.</p>
+-17110=<p><b>KErrRSInvalidUidType</b>: The second UID of the DLL was not the UID of a Comms Provider Module.</p>
+KErrRSInvalidUidType=<p><b>(-17110)</b>: The second UID of the DLL was not the UID of a Comms Provider Module.</p>
+-17111=<p><b>KErrRSModuleAlreadyExist</b>: A Comms Provider Module with this name is already loaded.</p>
+KErrRSModuleAlreadyExist=<p><b>(-17111)</b>: A Comms Provider Module with this name is already loaded.</p>
+-17112=<p><b>KErrRSInvalidMBufPoolSize</b>: The size of the MBuf pool is invalid.</p>
+KErrRSInvalidMBufPoolSize=<p><b>(-17112)</b>: The size of the MBuf pool is invalid.</p>
+-17113=<p><b>KErrRSModuleNotRunning</b>: The specified module is not running.</p>
+KErrRSModuleNotRunning=<p><b>(-17113)</b>: The specified module is not running.</p>
+-17114=<p><b>KErrRSModuleNotLoaded</b>: The specified module is not loaded.</p>
+KErrRSModuleNotLoaded=<p><b>(-17114)</b>: The specified module is not loaded.</p>
+-17115=<p><b>KErrRSAlreadyBound</b>: The specified binding is already active.</p>
+KErrRSAlreadyBound=<p><b>(-17115)</b>: The specified binding is already active.</p>
+-17116=<p><b>KErrRSModulesStillRunning</b>: There are running modules.</p>
+KErrRSModulesStillRunning=<p><b>(-17116)</b>: There are running modules.</p>
+-17117=<p><b>KErrRSNoNewHeapsAvailable</b>: Unable to create more new heaps in the Comms Process. Consider sharing a heap between modules.</p>
+KErrRSNoNewHeapsAvailable=<p><b>(-17117)</b>: Unable to create more new heaps in the Comms Process. Consider sharing a heap between modules.</p>
+-17118=<p><b>KErrRSRequestTimedOut</b>: A request timed out. This can happen when a module stops responding to requests for some reason.</p>
+KErrRSRequestTimedOut=<p><b>(-17118)</b>: A request timed out. This can happen when a module stops responding to requests for some reason.</p>
+-17119=<p><b>KErrRSModuleUnknown</b>: The specified module does not exist..</p>
+KErrRSModuleUnknown=<p><b>(-17119)</b>: The specified module does not exist..</p>
+-17120=<p><b>KErrRSSubModuleUnknown</b>: The specified sub module does not exist.</p>
+KErrRSSubModuleUnknown=<p><b>(-17120)</b>: The specified sub module does not exist.</p>
+-17121=<p><b>KErrRSBindingUnknown</b>: The specified binding does not exist.</p>
+KErrRSBindingUnknown=<p><b>(-17121)</b>: The specified binding does not exist.</p>
+-17122=<p><b>KErrRSStatusUnknown</b>: The status is unknown.</p>
+KErrRSStatusUnknown=<p><b>(-17122)</b>: The status is unknown.</p>
+-17123=<p><b>KErrRSBindingExists</b>: The specified binding exist.</p>
+KErrRSBindingExists=<p><b>(-17123)</b>: The specified binding exist.</p>
+-17124=<p><b>KErrRSModuleNotReady</b>: The module is not ready for requests.</p>
+KErrRSModuleNotReady=<p><b>(-17124)</b>: The module is not ready for requests.</p>
+-17125=<p><b>KErrRSBindingInProgress</b>: The specified binding is not yet completed.</p>
+KErrRSBindingInProgress=<p><b>(-17125)</b>: The specified binding is not yet completed.</p>
+-17126=<p><b>KErrRSUnableToOpenHeap</b>: Found heap but unable to open it for sharing.</p>
+KErrRSUnableToOpenHeap=<p><b>(-17126)</b>: Found heap but unable to open it for sharing.</p>
+-17127=<p><b>KErrRSUnableToFindHeap</b>: Unable to find specified heap.</p>
+KErrRSUnableToFindHeap=<p><b>(-17127)</b>: Unable to find specified heap.</p>
+-17128=<p><b>KErrRSUnableToCreateQueues</b>: Unable to create communication channels for new module.</p>
+KErrRSUnableToCreateQueues=<p><b>(-17128)</b>: Unable to create communication channels for new module.</p>
+-17129=<p><b>KErrRSZombie</b>: This Comms Provider Module exists but is not responding.</p>
+KErrRSZombie=<p><b>(-17129)</b>: This Comms Provider Module exists but is not responding.</p>
+-17130=<p><b>KErrRSInvalidParameterThreadFuncOrdinal</b>: The specified ordinal does not exist for the DLL.</p>
+KErrRSInvalidParameterThreadFuncOrdinal=<p><b>(-17130)</b>: The specified ordinal does not exist for the DLL.</p>
+-17131=<p><b>KErrRSInvalidBinding</b>: Invalid binding.</p>
+KErrRSInvalidBinding=<p><b>(-17131)</b>: Invalid binding.</p>
+-17132=<p><b>KErrRSInvalidQueueLength</b>: Queue length of binding invalid. Must be betweenTRSBindingInfo::EMinQueueLength and TRSBindingInfo::EMaxQueueLength.</p>
+KErrRSInvalidQueueLength=<p><b>(-17132)</b>: Queue length of binding invalid. Must be betweenTRSBindingInfo::EMinQueueLength and TRSBindingInfo::EMaxQueueLength.</p>
+-17210=<p><b>KErrConnectionTerminated</b>: </p>
+KErrConnectionTerminated=<p><b>(-17210)</b>: </p>
+-17211=<p><b>KErrCannotFindProtocol</b>: </p>
+KErrCannotFindProtocol=<p><b>(-17211)</b>: </p>
+-17250=<p><b>KErrTreeStoreUriTooLong</b>: The supplied URI exceeded the maximum overall length supported.</p>
+KErrTreeStoreUriTooLong=<p><b>(-17250)</b>: The supplied URI exceeded the maximum overall length supported.</p>
+-17251=<p><b>KErrTreeStoreUriTooDeep</b>: The depth of the supplied URI exceeded the maximum tree depth supported.</p>
+KErrTreeStoreUriTooDeep=<p><b>(-17251)</b>: The depth of the supplied URI exceeded the maximum tree depth supported.</p>
+-17252=<p><b>KErrTreeStoreUriSegmentTooLong</b>: A segment in the supplied URI exceeded the maximum length supported.</p>
+KErrTreeStoreUriSegmentTooLong=<p><b>(-17252)</b>: A segment in the supplied URI exceeded the maximum length supported.</p>
+-17253=<p><b>KErrTreeStoreBadUriSegmentName</b>: A segment in the supplied URI contained characters in the 'reserved' range in RFC2396.</p>
+KErrTreeStoreBadUriSegmentName=<p><b>(-17253)</b>: A segment in the supplied URI contained characters in the 'reserved' range in RFC2396.</p>
+-17254=<p><b>KErrTreeStoreBadUriDelimiters</b>: The supplied URI contained either a missing front delimiter or an illegal back delimiter.</p>
+KErrTreeStoreBadUriDelimiters=<p><b>(-17254)</b>: The supplied URI contained either a missing front delimiter or an illegal back delimiter.</p>
+-17255=<p><b>KErrTreeStoreZeroLenUriSegment</b>: The supplied URI contained a segment of zero length (i.e. the character' with no content).</p>
+KErrTreeStoreZeroLenUriSegment=<p><b>(-17255)</b>: The supplied URI contained a segment of zero length (i.e. the character' with no content).</p>
+-17256=<p><b>KErrTreeStoreUnknownMountPoint</b>: The supplied mount point URI does not exist in this tree store.</p>
+KErrTreeStoreUnknownMountPoint=<p><b>(-17256)</b>: The supplied mount point URI does not exist in this tree store.</p>
+-17257=<p><b>KErrTreeStoreVolAlreadyAttached</b>: The specified tree volume is already attached in the tree store.</p>
+KErrTreeStoreVolAlreadyAttached=<p><b>(-17257)</b>: The specified tree volume is already attached in the tree store.</p>
+-17258=<p><b>KErrTreeStoreVolumeNotAttached</b>: The specified tree volume is already attached in the tree store.</p>
+KErrTreeStoreVolumeNotAttached=<p><b>(-17258)</b>: The specified tree volume is already attached in the tree store.</p>
+-17259=<p><b>KErrTreeStoreNotAPersistedTree</b>: An attempt was made to manipulate volumes for a tree that isn't persisted.</p>
+KErrTreeStoreNotAPersistedTree=<p><b>(-17259)</b>: An attempt was made to manipulate volumes for a tree that isn't persisted.</p>
+-17350=<p><b>KErrPositionBufferOverflow</b>: </p>
+KErrPositionBufferOverflow=<p><b>(-17350)</b>: </p>
+-17351=<p><b>KErrPositionIncalculable</b>: </p>
+KErrPositionIncalculable=<p><b>(-17351)</b>: </p>
+-17450=<p><b>KErrCANotSupported</b>: Agent does not support the requested capability.</p>
+KErrCANotSupported=<p><b>(-17450)</b>: Agent does not support the requested capability.</p>
+-17451=<p><b>KErrCANoPermission</b>: Rights evaluation failed for the supplied intent.</p>
+KErrCANoPermission=<p><b>(-17451)</b>: Rights evaluation failed for the supplied intent.</p>
+-17452=<p><b>KErrCANoRights</b>: No rights were available for evaluation.</p>
+KErrCANoRights=<p><b>(-17452)</b>: No rights were available for evaluation.</p>
+-17453=<p><b>KErrCANoAgent</b>: The Agent required is not present. This may occur if content 'belongs' to an agent that is no longer available on the device.</p>
+KErrCANoAgent=<p><b>(-17453)</b>: The Agent required is not present. This may occur if content 'belongs' to an agent that is no longer available on the device.</p>
+-17454=<p><b>KErrCAOutOfRange</b>: Values specified are out of range.</p>
+KErrCAOutOfRange=<p><b>(-17454)</b>: Values specified are out of range.</p>
+-17455=<p><b>KErrCAPendingRights</b>: The rights were not available but are 'expected'.</p>
+KErrCAPendingRights=<p><b>(-17455)</b>: The rights were not available but are 'expected'.</p>
+-17456=<p><b>KErrCASizeNotDetermined</b>: A request to get the content size failed because the agent was unable to determine it.</p>
+KErrCASizeNotDetermined=<p><b>(-17456)</b>: A request to get the content size failed because the agent was unable to determine it.</p>
+-17457=<p><b>KErrCANewFileHandleRequired</b>: The function failed because the agent needs the client to provide another file handle before the import can continue.</p>
+KErrCANewFileHandleRequired=<p><b>(-17457)</b>: The function failed because the agent needs the client to provide another file handle before the import can continue.</p>
+-17550=<p><b>KErrXmlStringDictionaryPluginNotFound</b>: </p>
+KErrXmlStringDictionaryPluginNotFound=<p><b>(-17550)</b>: </p>
+-17551=<p><b>KErrXmlParserPluginNotFound</b>: </p>
+KErrXmlParserPluginNotFound=<p><b>(-17551)</b>: </p>
+-17552=<p><b>KErrXmlGeneratorPluginNotFound</b>: </p>
+KErrXmlGeneratorPluginNotFound=<p><b>(-17552)</b>: </p>
+-17553=<p><b>KErrXmlPluginNotFound</b>: </p>
+KErrXmlPluginNotFound=<p><b>(-17553)</b>: </p>
+-17554=<p><b>KErrXmlBadCharacterConversion</b>: </p>
+KErrXmlBadCharacterConversion=<p><b>(-17554)</b>: </p>
+-17555=<p><b>KErrXmlUnsupportedCharacterSet</b>: </p>
+KErrXmlUnsupportedCharacterSet=<p><b>(-17555)</b>: </p>
+-17556=<p><b>KErrXmlUnavailableCharacterSet</b>: </p>
+KErrXmlUnavailableCharacterSet=<p><b>(-17556)</b>: </p>
+-17557=<p><b>KErrXmlUnsupportedElement</b>: </p>
+KErrXmlUnsupportedElement=<p><b>(-17557)</b>: </p>
+-17558=<p><b>KErrXmlUnsupportedAttribute</b>: </p>
+KErrXmlUnsupportedAttribute=<p><b>(-17558)</b>: </p>
+-17559=<p><b>KErrXmlUnsupportedAttributeValue</b>: </p>
+KErrXmlUnsupportedAttributeValue=<p><b>(-17559)</b>: </p>
+-17560=<p><b>KErrXmlMissingStringDictionary</b>: </p>
+KErrXmlMissingStringDictionary=<p><b>(-17560)</b>: </p>
+-17561=<p><b>KErrXmlUnsupportedDocumentVersion</b>: </p>
+KErrXmlUnsupportedDocumentVersion=<p><b>(-17561)</b>: </p>
+-17562=<p><b>KErrXmlDocumentCorrupt</b>: </p>
+KErrXmlDocumentCorrupt=<p><b>(-17562)</b>: </p>
+-17563=<p><b>KErrXmlStringPoolTableNotFound</b>: </p>
+KErrXmlStringPoolTableNotFound=<p><b>(-17563)</b>: </p>
+-17564=<p><b>KErrXmlBadIndex</b>: </p>
+KErrXmlBadIndex=<p><b>(-17564)</b>: </p>
+-17566=<p><b>KErrXmlUnsupportedExtInterface</b>: </p>
+KErrXmlUnsupportedExtInterface=<p><b>(-17566)</b>: </p>
+-17901=<p><b>KErrPrivacyTbNullPtr</b>: </p>
+KErrPrivacyTbNullPtr=<p><b>(-17901)</b>: </p>
+-17902=<p><b>KErrPrivacyTbProgramError</b>: </p>
+KErrPrivacyTbProgramError=<p><b>(-17902)</b>: </p>
+-17903=<p><b>KErrPrivacyTbNullSearchString</b>: </p>
+KErrPrivacyTbNullSearchString=<p><b>(-17903)</b>: </p>
+-17904=<p><b>KErrPrivacyTbWriteFailure</b>: </p>
+KErrPrivacyTbWriteFailure=<p><b>(-17904)</b>: </p>
+-17905=<p><b>KErrPriPolicyTbPackedPriByte</b>: </p>
+KErrPriPolicyTbPackedPriByte=<p><b>(-17905)</b>: </p>
+-17906=<p><b>KErrPriVersionTbInvalidVersion</b>: </p>
+KErrPriVersionTbInvalidVersion=<p><b>(-17906)</b>: </p>
+-17907=<p><b>KErrPriVersionTbRecordAlreadyExist</b>: </p>
+KErrPriVersionTbRecordAlreadyExist=<p><b>(-17907)</b>: </p>
+-17910=<p><b>KErrServicePrivacyTbErrorBase</b>: </p>
+KErrServicePrivacyTbErrorBase=<p><b>(-17910)</b>: </p>
+-17911=<p><b>KErrSerPriTbMismatchServiceIdAndType</b>: </p>
+KErrSerPriTbMismatchServiceIdAndType=<p><b>(-17911)</b>: </p>
+-17912=<p><b>KErrSerPriTbServiceIdTypeChanged</b>: </p>
+KErrSerPriTbServiceIdTypeChanged=<p><b>(-17912)</b>: </p>
+-17913=<p><b>KErrSerPriTbSecureIdChanged</b>: </p>
+KErrSerPriTbSecureIdChanged=<p><b>(-17913)</b>: </p>
+-17915=<p><b>KErrServiceIdPhoneNumberTbErrorBase</b>: </p>
+KErrServiceIdPhoneNumberTbErrorBase=<p><b>(-17915)</b>: </p>
+-17916=<p><b>KErrServiceIdPhoneNumTbMatchDigitsOutOfRange</b>: </p>
+KErrServiceIdPhoneNumTbMatchDigitsOutOfRange=<p><b>(-17916)</b>: </p>
+-17920=<p><b>KErrServicePrivacyErrorBase</b>: </p>
+KErrServicePrivacyErrorBase=<p><b>(-17920)</b>: </p>
+-17921=<p><b>KErrServicePrivacyDuplicateServiceItemId</b>: </p>
+KErrServicePrivacyDuplicateServiceItemId=<p><b>(-17921)</b>: </p>
+-17922=<p><b>KErrServicePrivacyArrayIndexOutOfRange</b>: </p>
+KErrServicePrivacyArrayIndexOutOfRange=<p><b>(-17922)</b>: </p>
+-17925=<p><b>KErrServicePrivacyDbModelErrorBase</b>: </p>
+KErrServicePrivacyDbModelErrorBase=<p><b>(-17925)</b>: </p>
+-17926=<p><b>KErrSPDbModelWrongMajorVersion</b>: </p>
+KErrSPDbModelWrongMajorVersion=<p><b>(-17926)</b>: </p>
+-17927=<p><b>KErrSPDbModelServiceIdPhNoDigitsLessThan7</b>: </p>
+KErrSPDbModelServiceIdPhNoDigitsLessThan7=<p><b>(-17927)</b>: </p>
+-17928=<p><b>KErrSPDbModelServiceIdTypeNotSet</b>: </p>
+KErrSPDbModelServiceIdTypeNotSet=<p><b>(-17928)</b>: </p>
+-17929=<p><b>KErrSPDbModelWrongServiceInfoMask</b>: </p>
+KErrSPDbModelWrongServiceInfoMask=<p><b>(-17929)</b>: </p>
+-17930=<p><b>KErrSPDbModelNullServiceId</b>: </p>
+KErrSPDbModelNullServiceId=<p><b>(-17930)</b>: </p>
+-17931=<p><b>KErrSPDbModelChildTbRcdNotDeleted</b>: </p>
+KErrSPDbModelChildTbRcdNotDeleted=<p><b>(-17931)</b>: </p>
+-17932=<p><b>KErrSPDbModelChildTbRcdNotUpdated</b>: </p>
+KErrSPDbModelChildTbRcdNotUpdated=<p><b>(-17932)</b>: </p>
+-17933=<p><b>KErrSPDbModelInvalidPhMatchLength</b>: </p>
+KErrSPDbModelInvalidPhMatchLength=<p><b>(-17933)</b>: </p>
+-17935=<p><b>KErrServicePrivacyDbErrorBase</b>: </p>
+KErrServicePrivacyDbErrorBase=<p><b>(-17935)</b>: </p>
+-17936=<p><b>KErrServicePrivacyDbInvalidServiceItemIdInArray</b>: </p>
+KErrServicePrivacyDbInvalidServiceItemIdInArray=<p><b>(-17936)</b>: </p>
+-17937=<p><b>KErrServicePrivacyDbEventObserverAlreadyExists</b>: </p>
+KErrServicePrivacyDbEventObserverAlreadyExists=<p><b>(-17937)</b>: </p>
+AknPanic 00=<p><b>EAknPanicFormattedCellListInvalidBitmapIndex</b>: Invalid bitmap index is given to the list box.</p>
+EAknPanicFormattedCellListInvalidBitmapIndex=<p><b>(00)</b>: Invalid bitmap index is given to the list box.</p>
+AknPanic 01=<p><b>EAknPanicNoSuchControlInStack</b>: @deprecated</p>
+EAknPanicNoSuchControlInStack=<p><b>(01)</b>: @deprecated</p>
+AknPanic 02=<p><b>EAknPanicListboxUndefined</b>: Listbox object has not been defined for popup list (CAknPopupList).</p>
+EAknPanicListboxUndefined=<p><b>(02)</b>: Listbox object has not been defined for popup list (CAknPopupList).</p>
+AknPanic 03=<p><b>EAknPanicListboxSizeIsNotAccordingToLAFSpec</b>: @deprecated</p>
+EAknPanicListboxSizeIsNotAccordingToLAFSpec=<p><b>(03)</b>: @deprecated</p>
+AknPanic 04=<p><b>EAknPanicListboxShortcutValueNotHandled</b>: @deprecated</p>
+EAknPanicListboxShortcutValueNotHandled=<p><b>(04)</b>: @deprecated</p>
+AknPanic 05=<p><b>EAknPanicListboxShortcutInvalidValue</b>: @deprecated</p>
+EAknPanicListboxShortcutInvalidValue=<p><b>(05)</b>: @deprecated</p>
+AknPanic 06=<p><b>EAknPanicOutOfRange</b>: Some value is out of valid range.</p>
+EAknPanicOutOfRange=<p><b>(06)</b>: Some value is out of valid range.</p>
+AknPanic 07=<p><b>EAknPanicListboxLayoutProblem</b>: @deprecated</p>
+EAknPanicListboxLayoutProblem=<p><b>(07)</b>: @deprecated</p>
+AknPanic 08=<p><b>EAknPanicLAF</b>: @deprecated</p>
+EAknPanicLAF=<p><b>(08)</b>: @deprecated</p>
+AknPanic 09=<p><b>EAknPanicLayoutResourceProblem</b>: Query control type was not given in query resource.</p>
+EAknPanicLayoutResourceProblem=<p><b>(09)</b>: Query control type was not given in query resource.</p>
+AknPanic 10=<p><b>EAknPopupCorrupt</b>: @deprecated</p>
+EAknPopupCorrupt=<p><b>(10)</b>: @deprecated</p>
+AknPanic 11=<p><b>EAknPanicNullPointer</b>: Invalid NULL pointer value.</p>
+EAknPanicNullPointer=<p><b>(11)</b>: Invalid NULL pointer value.</p>
+AknPanic 12=<p><b>EAknPanicLayoutMismatchBetweenMarginsAndParentRect</b>: @deprecated</p>
+EAknPanicLayoutMismatchBetweenMarginsAndParentRect=<p><b>(12)</b>: @deprecated</p>
+AknPanic 13=<p><b>EAknPanicLayoutTextResourceProblem</b>: @deprecated</p>
+EAknPanicLayoutTextResourceProblem=<p><b>(13)</b>: @deprecated</p>
+AknPanic 14=<p><b>EAknPanicLayoutRectResourceProblem</b>: @deprecated</p>
+EAknPanicLayoutRectResourceProblem=<p><b>(14)</b>: @deprecated</p>
+AknPanic 15=<p><b>EAknPanicLayoutEdwinResourceProblem</b>: @deprecated</p>
+EAknPanicLayoutEdwinResourceProblem=<p><b>(15)</b>: @deprecated</p>
+AknPanic 16=<p><b>EAknPanicLayoutMfneResourceProblem</b>: @deprecated</p>
+EAknPanicLayoutMfneResourceProblem=<p><b>(16)</b>: @deprecated</p>
+AknPanic 17=<p><b>EAknPanicLayoutControlResourceProblem</b>: Query type of query control is invalid.</p>
+EAknPanicLayoutControlResourceProblem=<p><b>(17)</b>: Query type of query control is invalid.</p>
+AknPanic 18=<p><b>EAknPanicLayoutIncorrectEdwinSize</b>: @deprecated</p>
+EAknPanicLayoutIncorrectEdwinSize=<p><b>(18)</b>: @deprecated</p>
+AknPanic 19=<p><b>EAknPanicLayoutControlSetRectChangedControlSize</b>: @deprecated</p>
+EAknPanicLayoutControlSetRectChangedControlSize=<p><b>(19)</b>: @deprecated</p>
+AknPanic 20=<p><b>EAknPanicNoAnimationData</b>: Animation data was not given to the animation control (CAknAnimationCtrl).</p>
+EAknPanicNoAnimationData=<p><b>(20)</b>: Animation data was not given to the animation control (CAknAnimationCtrl).</p>
+AknPanic 21=<p><b>EAknPanicUnknownAnimationType</b>: Unsupported user animation type used</p>
+EAknPanicUnknownAnimationType=<p><b>(21)</b>: Unsupported user animation type used</p>
+AknPanic 22=<p><b>EAknPanicNoUserAnimation</b>: A user animation is not found</p>
+EAknPanicNoUserAnimation=<p><b>(22)</b>: A user animation is not found</p>
+AknPanic 23=<p><b>EAknPanicAnimationCorrupt</b>: Initialization of CAknAnimatedView failed.</p>
+EAknPanicAnimationCorrupt=<p><b>(23)</b>: Initialization of CAknAnimatedView failed.</p>
+AknPanic 24=<p><b>EAknPanicDCADecoratorIndexOutOfRange</b>: Invalid MdcaPoint index given.</p>
+EAknPanicDCADecoratorIndexOutOfRange=<p><b>(24)</b>: Invalid MdcaPoint index given.</p>
+AknPanic 25=<p><b>EAknPanicPopupFieldListInvalidDecorator</b>: @deprecated</p>
+EAknPanicPopupFieldListInvalidDecorator=<p><b>(25)</b>: @deprecated</p>
+AknPanic 26=<p><b>EAknPanicPopupFieldInvalidValue</b>: Invalid value set to CAknPopupField.</p>
+EAknPanicPopupFieldInvalidValue=<p><b>(26)</b>: Invalid value set to CAknPopupField.</p>
+AknPanic 27=<p><b>EAknPanicPopupFieldUninitialisedMember</b>: Uninitilized member in CAknPopupField.</p>
+EAknPanicPopupFieldUninitialisedMember=<p><b>(27)</b>: Uninitilized member in CAknPopupField.</p>
+AknPanic 28=<p><b>EAknPanicPopupFieldEditComboInsufficientSize</b>: @deprecated</p>
+EAknPanicPopupFieldEditComboInsufficientSize=<p><b>(28)</b>: @deprecated</p>
+AknPanic 29=<p><b>EAknPanicQueryTimeArrayTimeFormatLeave</b>: Invalid time format string used or memory allocation failure in formatting.</p>
+EAknPanicQueryTimeArrayTimeFormatLeave=<p><b>(29)</b>: Invalid time format string used or memory allocation failure in formatting.</p>
+AknPanic 30=<p><b>EAknPanicLayoutTextNotCalled</b>: TAknLayoutText is not initialized properly.</p>
+EAknPanicLayoutTextNotCalled=<p><b>(30)</b>: TAknLayoutText is not initialized properly.</p>
+AknPanic 31=<p><b>EAknPanicLayoutRectNotCalled</b>: TAknLayoutRect is not initialized properly.</p>
+EAknPanicLayoutRectNotCalled=<p><b>(31)</b>: TAknLayoutRect is not initialized properly.</p>
+AknPanic 32=<p><b>EAknStatusPaneUidIndic</b>: @deprecated</p>
+EAknStatusPaneUidIndic=<p><b>(32)</b>: @deprecated</p>
+AknPanic 33=<p><b>EAknPanicLayoutDoesNotExists</b>: @deprecated</p>
+EAknPanicLayoutDoesNotExists=<p><b>(33)</b>: @deprecated</p>
+AknPanic 34=<p><b>EAknPanicListBoxLayoutDecoratorMemoryAllocation</b>: Memory allocation failure in CAknListBoxLayoutDecorator.</p>
+EAknPanicListBoxLayoutDecoratorMemoryAllocation=<p><b>(34)</b>: Memory allocation failure in CAknListBoxLayoutDecorator.</p>
+AknPanic 35=<p><b>EAknPanicPopupFieldUndefinedMode</b>: Unsupported CAknPopupField mode used.</p>
+EAknPanicPopupFieldUndefinedMode=<p><b>(35)</b>: Unsupported CAknPopupField mode used.</p>
+AknPanic 36=<p><b>EAknPanicPopupFieldWrongMode</b>: Wrong CAknPopupField mode used.</p>
+EAknPanicPopupFieldWrongMode=<p><b>(36)</b>: Wrong CAknPopupField mode used.</p>
+AknPanic 37=<p><b>EAknPanicPopupFieldSelectionListDoesntExist</b>: Selection list object is missing from CAknPopupField.</p>
+EAknPanicPopupFieldSelectionListDoesntExist=<p><b>(37)</b>: Selection list object is missing from CAknPopupField.</p>
+AknPanic 38=<p><b>EAknPanicPopupFieldSelectionListAlreadyExists</b>: @deprecated</p>
+EAknPanicPopupFieldSelectionListAlreadyExists=<p><b>(38)</b>: @deprecated</p>
+AknPanic 39=<p><b>EAknPanicPopupFieldListNotImplemented</b>: Depratead CAknPopupFieldList method called.</p>
+EAknPanicPopupFieldListNotImplemented=<p><b>(39)</b>: Depratead CAknPopupFieldList method called.</p>
+AknPanic 40=<p><b>EAknPanicPopupFieldArrayIsEmpty</b>: Empty text array resource in CAknPopupFieldText.</p>
+EAknPanicPopupFieldArrayIsEmpty=<p><b>(40)</b>: Empty text array resource in CAknPopupFieldText.</p>
+AknPanic 41=<p><b>EAknPanicLayoutPopupFieldResourceProblem</b>: @deprecated</p>
+EAknPanicLayoutPopupFieldResourceProblem=<p><b>(41)</b>: @deprecated</p>
+AknPanic 42=<p><b>EAknPanicInvalidResourceData</b>: Invalid special character table characters set resources.</p>
+EAknPanicInvalidResourceData=<p><b>(42)</b>: Invalid special character table characters set resources.</p>
+AknPanic 43=<p><b>EAknPanicListBoxNotSupportedByListQuery</b>: Listbox is not supported by the list query dialog.</p>
+EAknPanicListBoxNotSupportedByListQuery=<p><b>(43)</b>: Listbox is not supported by the list query dialog.</p>
+AknPanic 44=<p><b>EAknPanicQueryDateArrayTimeFormatLeave</b>: Invalid time format string used or memory allocation failure in formatting.</p>
+EAknPanicQueryDateArrayTimeFormatLeave=<p><b>(44)</b>: Invalid time format string used or memory allocation failure in formatting.</p>
+AknPanic 45=<p><b>EAknPanicPopupFieldCBADoesntExist</b>: CBA (softkeys) does not exist in the popup field component.</p>
+EAknPanicPopupFieldCBADoesntExist=<p><b>(45)</b>: CBA (softkeys) does not exist in the popup field component.</p>
+AknPanic 46=<p><b>EAknPanicPopupSettingListMenuListDoesntExist</b>: @deprecated</p>
+EAknPanicPopupSettingListMenuListDoesntExist=<p><b>(46)</b>: @deprecated</p>
+AknPanic 47=<p><b>EAknPanicPopupSettingListMenuListAlreadyExists</b>: @deprecated</p>
+EAknPanicPopupSettingListMenuListAlreadyExists=<p><b>(47)</b>: @deprecated</p>
+AknPanic 48=<p><b>EAknPanicPopupSettingListListNotImplemented</b>: @deprecated</p>
+EAknPanicPopupSettingListListNotImplemented=<p><b>(48)</b>: @deprecated</p>
+AknPanic 49=<p><b>EAknPanicLayoutPopupSettingListResourceProblem</b>: @deprecated</p>
+EAknPanicLayoutPopupSettingListResourceProblem=<p><b>(49)</b>: @deprecated</p>
+AknPanic 50=<p><b>EAknPanicPopupSettingListInvalidValue</b>: Invalid value was found in CAknPopupSettingList.</p>
+EAknPanicPopupSettingListInvalidValue=<p><b>(50)</b>: Invalid value was found in CAknPopupSettingList.</p>
+AknPanic 51=<p><b>EAknPanicPopupSettingListUninitialisedMember</b>: Uninitialized member was found in CAknPopupSettingList.</p>
+EAknPanicPopupSettingListUninitialisedMember=<p><b>(51)</b>: Uninitialized member was found in CAknPopupSettingList.</p>
+AknPanic 52=<p><b>EAknPanicOverflow</b>: Overflow happened.</p>
+EAknPanicOverflow=<p><b>(52)</b>: Overflow happened.</p>
+AknPanic 53=<p><b>EAknPanicKeyLockObserverAlreadyExists</b>: Key lock observed already added. Two observers are not supported.</p>
+EAknPanicKeyLockObserverAlreadyExists=<p><b>(53)</b>: Key lock observed already added. Two observers are not supported.</p>
+AknPanic 54=<p><b>EAknPanicKeyLockObserverNotFound</b>: Key lock observer is not found.</p>
+EAknPanicKeyLockObserverNotFound=<p><b>(54)</b>: Key lock observer is not found.</p>
+AknPanic 55=<p><b>EAknPanicQueryValueInvalidMode</b>: Unsupported query mode requested.</p>
+EAknPanicQueryValueInvalidMode=<p><b>(55)</b>: Unsupported query mode requested.</p>
+AknPanic 56=<p><b>EAknPanicNotSupported</b>: Unsupported feature requested.</p>
+EAknPanicNotSupported=<p><b>(56)</b>: Unsupported feature requested.</p>
+AknPanic 57=<p><b>EAknPanicWrongListBoxTypeUsedInPopupWindow</b>: @deprecated</p>
+EAknPanicWrongListBoxTypeUsedInPopupWindow=<p><b>(57)</b>: @deprecated</p>
+AknPanic 58=<p><b>EAknPanicInvalidValue</b>: Invalid value</p>
+EAknPanicInvalidValue=<p><b>(58)</b>: Invalid value</p>
+AknPanic 59=<p><b>EAknPanicObjectNotFullyConstructed</b>: Construction of an object has been failed.</p>
+EAknPanicObjectNotFullyConstructed=<p><b>(59)</b>: Construction of an object has been failed.</p>
+AknPanic 60=<p><b>EAknPanicSelfCheckFailure</b>: Self check failure.</p>
+EAknPanicSelfCheckFailure=<p><b>(60)</b>: Self check failure.</p>
+AknPanic 61=<p><b>EAknPanicLayoutMissing_AknLayout</b>: Failure in layout configuration. Layout data is not found.</p>
+EAknPanicLayoutMissing_AknLayout=<p><b>(61)</b>: Failure in layout configuration. Layout data is not found.</p>
+AknPanic 62=<p><b>EAknPanicLayoutMissing_ApacLayout</b>: Failure in APAC variant configuration. Usually the panic happens if western language code is used as a UI language in APAC variant.</p>
+EAknPanicLayoutMissing_ApacLayout=<p><b>(62)</b>: Failure in APAC variant configuration. Usually the panic happens if western language code is used as a UI language in APAC variant.</p>
+AknPanic 63=<p><b>EAknPanicInconsistentDescriptors</b>: Panic in AknPhoneNumberTextUtils::ClipLineOnLeft(...) ifthe input 'aLine' is not encompassed within the modifiable buffer 'aOriginalBuffer'.</p>
+EAknPanicInconsistentDescriptors=<p><b>(63)</b>: Panic in AknPhoneNumberTextUtils::ClipLineOnLeft(...) ifthe input 'aLine' is not encompassed within the modifiable buffer 'aOriginalBuffer'.</p>
+AknPanic 64=<p><b>EAknPanicListBoxItemDrawerNotCreated</b>: ItemDrawer of the listbox does not exist</p>
+EAknPanicListBoxItemDrawerNotCreated=<p><b>(64)</b>: ItemDrawer of the listbox does not exist</p>
+AknPanic 65=<p><b>EAknPanicLayoutMissing_CdlFont</b>: @deprecated</p>
+EAknPanicLayoutMissing_CdlFont=<p><b>(65)</b>: @deprecated</p>
+AknPanic 66=<p><b>EAknPanicFontProvisionFailure</b>: Invalid font type.</p>
+EAknPanicFontProvisionFailure=<p><b>(66)</b>: Invalid font type.</p>
+AknPanic 67=<p><b>EAknPanicNotifierPluginCreationFailure</b>: @deprecated</p>
+EAknPanicNotifierPluginCreationFailure=<p><b>(67)</b>: @deprecated</p>
+AknPanic 68=<p><b>EAknPanicPopupFieldNoFieldRectSet</b>: Parent rectangle of CAknPopupField is not set.</p>
+EAknPanicPopupFieldNoFieldRectSet=<p><b>(68)</b>: Parent rectangle of CAknPopupField is not set.</p>
+AknPanic 69=<p><b>EAknPanicWindowGroupNotInTaskList</b>: @deprecated</p>
+EAknPanicWindowGroupNotInTaskList=<p><b>(69)</b>: @deprecated</p>
+AknPanic 70=<p><b>EAknPanicInconsistentUnits</b>: TAknFontSpecification unit differs from TAknFontSpecification::EPixels.</p>
+EAknPanicInconsistentUnits=<p><b>(70)</b>: TAknFontSpecification unit differs from TAknFontSpecification::EPixels.</p>
+AknPanic 71=<p><b>EAknPanicRadioButtonSettingPageListDoesntExist</b>: List object is missing from radio button setting page.</p>
+EAknPanicRadioButtonSettingPageListDoesntExist=<p><b>(71)</b>: List object is missing from radio button setting page.</p>
+AknPanic 72=<p><b>EAknPanicLayoutConfigBadScreenModeIndex</b>: Requested screen mode index does not exist in the layoutconfiguration data of the device.</p>
+EAknPanicLayoutConfigBadScreenModeIndex=<p><b>(72)</b>: Requested screen mode index does not exist in the layoutconfiguration data of the device.</p>
+AknPanic 73=<p><b>EAknPanicLayoutConfigBadHardwareStateIndex</b>: Requested hardware state index does not exist in the layoutconfiguration data of the device.</p>
+EAknPanicLayoutConfigBadHardwareStateIndex=<p><b>(73)</b>: Requested hardware state index does not exist in the layoutconfiguration data of the device.</p>
+AknPanic 74=<p><b>EAknPanicSgccLayoutConfigNull</b>: Layout configuration data of the device is not available.</p>
+EAknPanicSgccLayoutConfigNull=<p><b>(74)</b>: Layout configuration data of the device is not available.</p>
+AknPanic 75=<p><b>EAknPanicLayoutConfigUnpackFail</b>: Failure in the layout configuration of the device.</p>
+EAknPanicLayoutConfigUnpackFail=<p><b>(75)</b>: Failure in the layout configuration of the device.</p>
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/crash_analyser_16.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/crash_analyser_55_bannered.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/decode_files.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/emulator.PNG has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/error_library.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/file_coded.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/file_de_coded.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/file_part_coded.png has changed
Binary file crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/icons/selected.Png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/plugin.properties	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,30 @@
+# Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Symbian Foundation License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+# plugin.properties
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# Plugin properties for MobileCrash
+# This file should be translated.
+view.Label=Crash Analyser
+view.Tooltip=Wizard for decoding crash files
+wizard.Name=Crash Analyser
+productBlurb=Carbide.c++ Extensions - Crash Analyser \n\
+\n\
+Version: 1.1.0\n\
+Build id: {0}\n\
+\n\
+\n\
+Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. \n\
+License: http://www.symbianfoundation.org/legal/sfl-v10.html.
+\n\
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/plugin.xml	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+
+	<extension point="org.eclipse.ui.startup"> 
+		<startup class="com.nokia.s60tools.crashanalyser.model.StartupHandler"/>
+	</extension>
+
+    <extension
+      point="org.eclipse.core.runtime.products"
+      id="product">      
+      <product name="Crash Analyser" application="org.eclipse.ui.ide.workbench" > 
+          <property name="appName" value="Carbide.c++ Extensions - Crash Analyser"/> 
+     </product> 
+   </extension>
+   
+   <extension
+         point="org.eclipse.ui.views">
+      <category
+            name="Carbide Extensions"
+            id="com.nokia.s60tools">
+      </category>
+      <view
+            name="%view.Label"
+            icon="icons/crash_analyser_16.png"
+            category="com.nokia.s60tools"
+            class="com.nokia.s60tools.crashanalyser.ui.views.MainView"
+            id="com.nokia.s60tools.crashanalyser.ui.views.MainView">
+      </view>
+   </extension>
+   
+   <extension
+         point="org.eclipse.ui.actionSets">
+      <actionSet
+      		description="Crash Analyser Tool"
+            id="com.nokia.s60tools.crashanalyser.actionSet"
+            label="Crash Analyser Tool"
+            visible="true">
+         <menu
+               id="com.nokia.carbide.cpp.ui.CarbideMenu"
+               label="&amp;Carbide">
+            <separator name="com.nokia.s60tools.ToolsMenuGroup"/>
+         </menu>
+         <action
+               class="com.nokia.s60tools.crashanalyser.ui.actions.ToolbarShortcutAction"
+               icon="icons/crash_analyser_16.png"
+               id="com.nokia.s60tools.crashanalyser.ui.actions.ToolbarShortcutAction"
+               label="%view.Label"
+               menubarPath="com.nokia.carbide.cpp.ui.CarbideMenu/CarbideExtensions"
+               tooltip="%view.Tooltip"/>
+      </actionSet>
+   </extension>
+   
+	<extension
+		point="org.eclipse.ui.preferencePages">
+		<page
+			name="Crash Analyser"
+			class="com.nokia.s60tools.crashanalyser.ui.preferences.CrashAnalyserPreferences"
+			category="com.nokia.carbide.cpp.preferences.ExtensionsPreferencesPage"
+			id="com.nokia.s60tools.crashanalyser.ui.preferences.CrashAnalyserPreferences">
+		</page>
+	</extension>
+	<extension
+		point="org.eclipse.core.runtime.preferences">
+		<initializer
+			class="com.nokia.s60tools.crashanalyser.ui.preferences.CrashAnalyserPreferenceInitializer">
+		</initializer>
+	</extension>
+	
+	<extension
+		point="org.eclipse.ui.editors">
+		<editor
+			name="Crash Visualiser"
+			extensions="crashxml"
+			icon="icons/crash_analyser_16.png"
+			class="com.nokia.s60tools.crashanalyser.ui.editors.MultiPageEditor"
+			id="com.nokia.s60tools.crashanalyser.ui.editors.MultiPageEditor">
+		</editor>
+	</extension>
+	
+	<extension point="org.eclipse.ui.commands">
+    	<category id="com.nokia.s60tools.crashanalyser.commands"
+            name="No Name">
+    	</category>
+   	 	<command categoryId="com.nokia.s60tools.crashanalyser.commands"
+            defaultHandler="com.nokia.s60tools.crashanalyser.handlers.SdkSelectionHandler"
+            description="Not Used"
+            id="com.nokia.s60tools.crashanalyser.commands.SdkSelection"
+            name="Not Used">
+    	</command>
+    </extension>	
+    
+    <extension-point id="traceprovider" name="Trace Data Provider" schema="schema/traceprovider.exsd"/>
+    <extension-point id="fileprovider" name="Crash File Provider" schema="schema/fileprovider.exsd"/>
+		   
+</plugin>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/ALLOC.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,7 @@
+<h1>ALLOC</h1>
+<p>These panics are raised in debug builds only and are caused when the heap debugging functions detect a memory
+leak.</p>
+<code> nnnnnnnn</code>
+<p>This panic is raised by the <code class="ApiItem">RHeap::__DbgMarkEnd()</code>  and <a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3a__DbgMarkEnd%28%29" title="function User::__DbgMarkEnd()"><code class="ApiItem">User::__DbgMarkEnd()</code></a> when the number of heap cells at the current nested level is not as
+expected.
+</p><p>nnnnnnnn is the hexadecimal pointer to the first orphaned heap cell.</p>	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/ALLOC_COUNT.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,10 @@
+<h1>ALLOC COUNT</h1>
+<p>These panics are only raised in debug builds and are caused when the heap debugging functions detect a
+memory leak.</p>
+<code> ALLOC COUNT 1 Expected aaaa Allocated bbbb Ln: ccc ddddd</code>
+<p>This panic is raised by  <code class="ApiItem">RHeap::__DbgMarkCheck()</code>  and 
+<a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3a__DbgMarkCheck%28%29" title="function User::__DbgMarkCheck()"><code class="ApiItem">User::__DbgMarkCheck()</code></a> when the current number of allocated heap cells is not as expected.
+</p><p><code>aaa</code> is the expected number of heap cells.</p><p><code>
+bbb</code> is the allocated number of heap cells.</p><p><code>
+ccc</code> is a line number; typically the source statement line containing the call to <code>__DbgMarkCheck()</code>.</p><p><code>
+ddddd</code> is a file name; typically the file containing the source statement containing the call to <code>__DbgMarkCheck()</code>.</p>	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Agenda_model.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,115 @@
+<h1>Agenda model</h1>
+<p>Agenda model utility panics:
+</p>
+<code>0</code>
+<p>The agenda model is in a state inconsistent with an action being
+requested of it.
+</p>
+<code>1</code>
+<p>An entry contains bad or conflicting data.
+</p>
+<code>2</code>
+<p>A to-do list contains bad or conflicting
+data.
+</p>
+<code>3</code>
+<p>The to-do defaults contain bad or conflicting
+data.
+</p>
+<code>4</code>
+<p>An agenda entry does not contain any rich
+text.
+</p>
+<code>5</code>
+<p>An agenda date/time has a NULL value.
+</p>
+<code>6</code>
+<p>Attempted to cast a <code>CAgnEntry</code> to a
+<code>CAgnAppt</code> when the entry's type is not
+<code>EAppt</code>.
+</p>
+<code>7</code>
+<p>Attempted to cast a <code>CAgnEntry</code> to a
+<code>CAgnEvent</code> when the entry's type is not <code>EEvent</code> or
+<code>EAnniv</code>.
+</p>
+<code>8</code>
+<p>Attempted to cast a <code>CAgnEntry</code> to a
+<code>CAgnAnniv</code> when the entry's type is not
+<code>EAnniv</code>.
+</p>
+<code>9</code>
+<p>Attempted to cast a <code>CAgnEntry</code> to a
+<code>CAgnTodo</code> when the entry's type is not
+<code>ETodo</code>.
+</p>
+<code>10</code>
+<p>Attempted to set a date outside of the valid agenda model date
+range.
+</p>
+<code>11</code>
+<p>Attempted to access an array element outside the array
+bounds.
+</p>
+<code>12</code>
+<p>Null pointer specified.
+</p>
+<code>13</code>
+<p>Attempted to delete an agenda item that wasn't found.
+</p>
+<code>14</code>
+<p>The iterator has been assigned a null index.
+</p>
+<code>15</code>
+<p>The iterator is out of range.
+</p>
+<code>16</code>
+<p>The entry has a null time.
+</p>
+<code>17</code>
+<p>A parameter with a null date value was specified.
+</p>
+<code>18</code>
+<p>All instances of a repeating entry are exceptions.
+</p>
+<code>19</code>
+<p>Tried to fetch an instance that couldn't be generated from the repeat details.
+</p>
+<code>20</code>
+<p>An error has occurred in the entry cluster management. i.e. when
+storing the buffer there are more entries in it than the allowable
+maximum.
+</p>
+<code>21</code>
+<p>Performed an operation on an entry that has been marked as deleted.
+</p>
+<code>22</code>
+<p>Sort entry not found in index.
+</p>
+<code>23</code>
+<p>Requested an index that doesn't exist.
+</p>
+<code>24</code>
+<p>The stream from which an entry originates is different from the
+stream to which it is being updated/deleted.
+</p>
+<code>25</code>
+<p>Called<code>CAgnAlarm::RequestServerTerminationNotification()</code> more than
+once.
+</p>
+<code>26</code>
+<p>Called<code>CAgnAlarm::RequestServerTerminationNotification()</code> with a callback set.
+</p>
+<code>27</code>
+<p>Agenda model filter priority is invalid.
+</p>
+<code>28</code>
+<p>Agenda model filter maximum priority has not been set.
+</p>
+<code>29</code>
+<p>Crossed out entries are not included in tidy filter.
+</p>
+<code>30</code>
+<p>Called an unsupported function.
+</p>
+	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/BAFL.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,85 @@
+<h1>BAFL</h1>
+<p>Basic Application Framework Library (BFL.lib) panics. A number of APIs raise these panics.
+</p>
+<p>These are:</p>
+<p>Application Utilities
+</p>
+<p>Command Line Parsing
+</p>
+<p>Environment Change Notifier
+</p>
+<p>Incremental Matcher
+</p>
+<p>Interface to Resource Files
+</p>
+<code>1</code>
+<p><i>This panic is raised in debug builds only.</i>
+</p>
+<p>This panic is raised by <a href="../reference-cpp/BAFL/RResourceFileClass.html#%3a%3aRResourceFile%3a%3aReadL%28%29" title="function RResourceFile::ReadL()"><code class="ApiItem">RResourceFile::ReadL()</code></a>, when the length of the resource is greater than the maximum length of the target descriptor
+</p>
+<code>2</code>
+<p>Out of range index passed to <code>RIncrMatcherBase::FirstMatchingIndex()</code>
+</p>
+<code>3</code>
+<p>Maximum length passed to <code>RTextBuf::SetMaxLengthL()</code> was &lt;=0
+</p>
+<code>4</code>
+<p>This panic is raised by the <code>Read...()</code>  member functions and the <code>Advance()</code>  member function of <a href="../reference-cpp/BAFL/TResourceReaderClass.html#%3a%3aTResourceReader" title="class TResourceReader"><code class="ApiItem">TResourceReader</code></a>, when the current position  in the resource buffer is moved  beyond the end of the buffer.
+</p>
+<code>5</code>
+<p>This panic is raised by <a href="../reference-cpp/BAFL/TResourceReaderClass.html#%3a%3aTResourceReader%3a%3aRewind%28%29" title="function TResourceReader::Rewind()"><code class="ApiItem">TResourceReader::Rewind()</code></a>, when the current position  in the resource buffer is moved before the start of the buffer.
+</p>
+<code>6</code>
+<p>Unused
+</p>
+<code>7</code>
+<p>Unused
+</p>
+<code>8</code>
+<p>Unused
+</p>
+<code>9</code>
+<p>Unused
+</p>
+<code>10</code>
+<p>Unused
+</p>
+<code>11</code>
+<p>Unused
+</p>
+<code>12</code>
+<p>Unused
+</p>
+<code>13</code>
+<p>Unused
+</p>
+<code>14</code>
+<p>No path specified in sound info passed to <code>CBaSystemSoundArray::SetSoundL()</code>
+</p>
+<code>15</code>
+<p><i>This panic is raised in debug builds only.</i></p><p>This panic is raised by <a href="../reference-cpp/BAFL/TResourceReaderClass.html#%3a%3aTResourceReader%3a%3aReadTPtrC16%28%29" title="function TResourceReader::ReadTPtrC16()"><code class="ApiItem">TResourceReader::ReadTPtrC16()</code></a>, when it detects that the alignment of Unicode strings within the  resource is incorrect, i.e. the buffer is of an incorrect length for reading  a Unicode string.
+</p>
+<code>16</code>
+<p>Unsupported old resource file format</p>
+<code>17</code>
+<p>No system sound category set for new system sound
+</p>
+<code>18</code>
+<p>Invalid system sound priority set
+</p>
+<code>19</code>
+<p>NULL UID passed to <code>CBaNamedPlugins::IndexOfUid()</code>
+</p>
+<code>20</code>
+<p>Bad resource file format found when constructing a <code>CBaNamedPlugins</code> object.
+</p>
+<code>21</code>
+<p>The array position at which the text representing the choice of no plug-in is to  be inserted, is invalid. The panic is raised by <code>CBaNamedPlugins::ConstructL()</code>.
+</p>
+<code>22</code>
+<p>An invalid comparison algorithm or no comparison algorithm supplied when sorting the plug-in names in the implementation of <code>CBaNamedPlugins::ConstructL()</code>.
+</p>
+<code>23</code>
+<p>Unused.
+</p>
+	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/BITGDI.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,33 @@
+<h1>BITGDI</h1>
+<p>Bitmaps (Graphical device) panics:</p>
+<code>1</code>
+<p>No graphics device specified for use with <code>CFbsBitGc</code></p>
+<code>2</code>
+<p>Unused</p>
+<code>3</code>
+<p>No font selected</p>
+<code>4</code>
+<p>Sprite cancelled when no sprite is set</p>
+<code>5-8</code>
+<p>Unused</p>
+<code>9</code>
+<p>Invalid display mode</p>
+<code>10</code>
+<p>Invalid clipping region</p>
+<code>11</code>
+<p>Invalid window handle</p>
+<code>12</code>
+<p>Invalid font</p>
+<code>13</code>
+<p>Invalid bitmap</p>
+<code>14</code>
+<p>Co-ordinates out of range</p>
+<code>15</code>
+<p>Unused</p>
+<code>16</code>
+<p>Bad parameter used while filling a polygon</p>
+<code>17</code>
+<p>Invalid zero-sized parameter</p>
+<code>18-19</code>
+<p>Unused</p>
+	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Bitmap_Utility.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,4 @@
+<h1>Bitmap Utility</h1>
+<p>TImageBitmapUtilPanic:</p>
+<code>0</code>
+<p><code>ECorrupt</code> - Data is corrupt cannot continue.</p>	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/C32-fault.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,18 @@
+<h1>C32-fault</h1>
+<p>Panic due to internal error of Serial Comms Server (or &quot;Comms Server&quot;).</p>
+<code>0</code>
+<p>Failed to install active scheduler or error running the scheduler.</p>
+<code>1</code>
+<p>Failed to create server</p>
+<code>2</code>
+<p>Failed to start server</p>
+<code>3</code>
+<p>Could not allocate a Clean Up Stack.</p>
+<code>4</code>
+<p>API or function call not implemented yet.</p>
+<code>5</code>
+<p>Reference counting error</p>
+<code>6</code>
+<p>NULL pointer passed to API.</p>
+<code>7</code>
+<p>Unable to allocate global timer, commonly caused by a memory allocation failure.</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/CESockIniData.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,7 @@
+<h1>CESockIniData</h1>
+<p>Socket panic when reading esock.ini</p>
+<code>0</code>
+<p>Section name exceeded maximum length</p>
+<code>1</code>
+<p>Variable name exceeded maximum length</p>
+	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/CHWComm.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,11 @@
+<h1>CHWComm</h1>
+<p>Panic of ECUART module raised by the Serial Comms Server (or &quot;CommsServer&quot;).</p>
+<code>0</code>
+<p>Bad descriptor passed by client.</p>
+<code>1</code>
+<p><code>cancel()</code> method called without calling the
+respective API first. I.e. an attempt was made to cancel an operation that was not started.</p>
+<code>2</code>
+<p>Incorrect usage of an API for the current DTE/DCE role.</p>
+<code>3</code>
+<p>Internal error caused by the notification count being negative.</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/CInSock.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,6 @@
+<h1>CInSock</h1>
+<p>Panic of TCP/IP relating to socket implementation</p>
+<code>0</code>
+<p>Connectionless socket used when connected type required</p>
+<code>1</code>
+<p>Attempt to send or receive on socket already in use</p>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/CMdaAudioOutputStream.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,16 @@
+<h1>CMdaAudioOutputStream</h1>
+<p>Audio streaming panics</p>
+<code>0</code>
+<p>An attempt was made to change the audio stream player's properties while still writing to the stream.</p>
+<code>2</code>
+<p>Not currently used.</p>
+<code>4</code>
+<p>An attempt was made to set the audio stream player's volume to an invalid value.</p>
+<code>6</code>
+<p>An attempt was made to access the stream before opening it.</p>
+<code>8</code>
+<p>An attempt was made to open the stream when it is already open.</p>
+<code>10</code>
+<p>An attempt was made to set the client's priority to an invalid value.</p>
+<code>12</code>
+<p><code>CMdaAudioOutputStream::Open()</code> was called with an incorrect audio package type&#0160;&#8212; it must be of type <code>TMdaAudioDataSettings</code>.</p>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/CONARC.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,12 @@
+<h1>CONARC</h1>
+<p>Converter Architecture panics</p>
+<code>0</code>
+<p><code>CCnaScanningConverterFinder::NextL()</code> called before <code>FindAllConvL()</code></p>
+<code>1</code>
+<p>Attempt to scan unknown drive</p>
+<code>2</code>
+<p>File error while attempting to restore converter information </p>
+<code>3</code>
+<p><code>CCnaScanningCnfFinder::NextL()</code> called before <code>FindAllCnfL()</code></p>
+<code>4</code>
+<p>Unused</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/CONE.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,234 @@
+<h1>CONE</h1>
+<p>User Interface Control Framework panics</p>
+<code>1</code>
+<p>
+Environment start up error 
+</p>
+<code>2</code>
+<p>
+Environment already exists 
+</p>
+<code>3</code>
+<p>
+App UI cannot be created 
+</p>
+<code>4</code>
+<p>
+Control cannot be found in the control stack 
+</p>
+<code>5</code>
+<p>
+Environment caught unexpected leave 
+</p>
+<code>6</code>
+<p>
+Non-leaving function CCoeControl::Draw() leaves during a redraw
+operation
+</p>
+<code>7</code>
+<p>
+Environment found file server resources had not been freed 
+</p>
+<code>8</code>
+<p>
+Environment found window server resources had not been freed 
+</p>
+<code>9</code>
+<p>
+Environment failed to handle window server event 
+</p>
+<code>10</code>
+<p>
+The control already owns a window 
+</p>
+<code>11</code>
+<p>
+The control cannot close the window as it does not own one 
+</p>
+<code>12</code>
+<p>
+<code>CCoeControl::ComponentControl()</code> has been called, but
+the control is not a container 
+</p>
+<code>13</code>
+<p>
+Environment cannot find the resource file in order to delete it 
+</p>
+<code>14</code>
+<p>
+Environment cannot find the specified resource in any resource file
+</p>
+<code>15</code>
+<p>
+A NULL resource file name was passed to <code>CCoeEnv::AddResourceFileL()</code>
+</p>
+<code>16</code>
+<p>
+Resource is wrong length to be read as Unicode string 
+</p>
+<code>17</code>
+<p>
+Internal control set up error 
+</p>
+<code>18</code>
+<p>
+Attempted to add NULL observer 
+</p>
+<code>19</code>
+<p>
+Attempted to remove NULL observer 
+</p>
+<code>20</code>
+<p>
+Attempted to set up NULL FEP 
+</p>
+<code>21</code>
+<p>
+Observer has already been added 
+</p>
+<code>22</code>
+<p>
+Unused 
+</p>
+<code>23</code>
+<p>
+Unused 
+</p>
+<code>24</code>
+<p>
+FEP could not be loaded due to set-up problem 
+</p>
+<code>25</code>
+<p>
+Unused 
+</p>
+<code>26</code>
+<p>
+Unused 
+</p>
+<code>27</code>
+<p>
+NULL GC passed to <code>CCoeEnv::SwapSystemGc()</code>
+</p>
+<code>28</code>
+<p>
+Resource file has not been freed 
+</p>
+<code>29</code>
+<p>
+No view server session present 
+</p>
+<code>30</code>
+<p>
+Specified view could not be found 
+</p>
+<code>31</code>
+<p>
+NULL UID passed to <code>CCoeStatic::CCoeStatic()</code>
+</p>
+<code>32</code>
+<p>
+Duplicate UID passed to <code>CCoeStatic::CCoeStatic()</code>
+</p>
+<code>33</code>
+<p>
+Attempt to use <code>CoeSoundPlayer</code> without an environment 
+</p>
+<code>34</code>
+<p>
+Unused 
+</p>
+<code>35</code>
+<p>
+Unused 
+</p>
+<code>36</code>
+<p>
+Open handles were found during application shutdown 
+</p>
+<code>37</code>
+<p>
+Unexpected view server event 
+</p>
+<code>38</code>
+<p>
+View observer not found 
+</p>
+<code>39</code>
+<p>
+View notification observer already exists 
+</p>
+<code>40</code>
+<p>
+Embedded app UI is not NULL 
+</p>
+<code>41</code>
+<p>
+Embedded app UI is not NULL 
+</p>
+<code>42</code>
+<p>
+Embedded app UI is not NULL 
+</p>
+<code>43</code>
+<p>
+Embedded app UI is not NULL 
+</p>
+<code>44</code>
+<p>
+Control being destroyed is still on the control stack 
+</p>
+<code>45</code>
+<p>
+Focus observer notification is not pending 
+</p>
+<code>46</code>
+<p>
+The handle for the current Window Server Redraw event is invalid 
+</p>
+<code>47</code>
+<p>
+No longer used 
+</p>
+<code>48</code>
+<p>
+No longer used 
+</p>
+<code>49</code>
+<p>
+The control parent-child hierarchy has become circular 
+</p>
+<code>50</code>
+<p>
+A control's parent has been set to something other than NULL or
+itself prior to being added to the control stack 
+</p>
+<code>51</code>
+<p>
+Two controls with the same ID exist 
+</p>
+<code>52</code>
+<p>
+An attempt was made to add an item to a control array which does
+not exist 
+</p>
+<code>53</code>
+<p>
+No longer used 
+</p>
+<code>54</code>
+<p>
+No longer used 
+</p>
+<code>55</code>
+<p>
+No longer used 
+</p>
+<code>56</code>
+<p>
+No longer used 
+</p>
+<code>57</code>
+<p>
+An error occured while notifying the central repository of a FEP change</p>
+	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/CWAPSession.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,10 @@
+<h1>CWAPSession</h1>
+<p>The WAP Stack API can raise panics with the category CWAPSession, and the following codes:</p>
+<code>0</code>
+<p>Client made unrecognised request to  WAP server</p>
+<code>1</code>
+<p>An IPC error occurred</p>
+<code>2</code>
+<p>An attempt was made to delete a non-existent sub-session</p>
+<code>3</code>
+<p>An attempt was made to access a non-existent sub-session</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Clock.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,24 @@
+<h1>Clock-client</h1>
+<p>Panics by the clock library:</p>
+<code>0-2</code>
+<p>Clock is already constructed</p>
+<code>3-16</code>
+<p>Clock is not full constructed</p>
+<code>17-18</code>
+<p>Incorrect number of additions</p>
+<code>20</code>
+<p>No more additions expected</p>
+<code>21</code>
+<p>Too few text sections</p>
+<code>22</code>
+<p>Too few hands</p>
+<code>23</code>
+<p>Too few hand features</p>
+<code>24</code>
+<p>Invalid rectangle parameters</p>
+<code>25-36</code>
+<p>Internal error</p>
+<code>37-39</code>
+<p>Clock is not full constructed</p>
+<code>44-46</code>
+<p>Internal error</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Comm_Server.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,43 @@
+<h1>Comm server</h1>
+<p>Panic of client raised by the Serial Comms Server (or &quot;Comms Server&quot;).</p>
+<code>0</code>
+<p>Write request made when request already in progress.</p>
+<code>1</code>
+<p>Read request made when request already in progress.</p>
+<code>2</code>
+<p>Break request made when request already in progress.</p>
+<code>3</code>
+<p>Invalid port handle passed by client.</p>
+<code>4</code>
+<p>Bad descriptor passed by client.</p>
+<code>5</code>
+<p><code>RComm::SetConfig()</code> call made when another request already in progress.</p>
+<code>6</code>
+<p><code>RComm::SetSignals()</code> call made when another request already in progress.</p>
+<code>7</code>
+<p><code>RComm::ResetBuffers()</code> call made when another request already in progress.</p>
+<code>8</code>
+<p><code>RComm::ReceiveBufferLength()</code> call made when another request already in progress.</p>
+<code>9</code>
+<p>Cannot have two outstanding <code>RComm::NotifySignalChange()</code> requests from the same client.</p>
+<code>10</code>
+<p>Cannot have two outstanding <code>RComm::NotifyFlowControlChange()</code> requests from the same client.</p>
+<code>11</code>
+<p>Cannot have two outstanding <code>RComm::NotifyConfigChange()</code> requests from the same client.</p>
+<code>12</code>
+<p>Cannot have two outstanding <code>RComm::NotifyBreak()</code> requests from the same client.</p>
+<code>13</code>
+<p>Cannot have two outstanding <code>RComm::NotifyDataAvailable()</code> requests from the same client.</p>
+<code>14</code>
+<p>Cannot have two outstanding <code>RComm::NotifyOutputEmpty()</code> requests from the same client. </p>
+<code>15</code>
+<p>Thread size is negative.</p>
+<code>16</code>
+<p>Minimum heap size is too small.</p>
+<code>17</code>
+<p>Maximum heap size is less than minimum heap size.</p>
+<code>18</code>
+<p>Wrong client session for set access request.</p>
+<code>19</code>
+<p>Client must close object before setting comm access.</p>
+	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/CommsDbServer.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,49 @@
+<h1>CommsDbServer</h1>
+<p>CommDb panics:</p>
+<code>1</code>
+<p><code>CCommsDbTableView::InsertRecord()</code> called when
+<code>InsertRecord()</code> or <code>UpdateRecord()</code> has already been
+made.</p>
+<code>2</code>
+<p><code>CCommsDbTableView::UpdateRecord()</code> called when
+<code>InsertRecord()</code> or <code>UpdateRecord()</code> has already been
+made.</p>
+<code>3</code>
+<p><code>CCommsDbTableView::DeleteRecord()</code> called when a
+previous call to <code>InsertRecord()</code> or <code>UpdateRecord()</code> has
+been made</p>
+<code>4</code>
+<p><code>CCommsDbTableView::PutRecordChanges()</code> called
+without previous call to <code>InsertRecord()</code> or
+<code>UpdateRecord()</code></p>
+<code>5</code>
+<p><code>CCommsDbTableView::CancelRecordChanges()</code> called
+without previous call to <code>InsertRecord()</code> or
+<code>UpdateRecord()</code></p>
+<code>6</code>
+<p><code>CCommsDbTableView::GotoFirstRecord()</code> called while
+an operation involved in inserting or updating a record is still outstanding,
+or when the view has been closed.</p>
+<code>7</code>
+<p><code>CCommsDbTableView::GotoNextRecord()</code> called while
+an operation involved in inserting or updating a record is still outstanding,
+or when the view has been closed.</p>
+<code>8</code>
+<p><code>CCommsDbTableView::GotoPreviousRecord()</code> called
+while an operation involved in inserting or updating a record is still
+outstanding, or when the view has been closed.</p>
+<code>10</code>
+<p>Attempt made to read from a column before either
+<code>PutRecordChanges()</code> or <code>CancelRecordChanges()</code> has been
+called to complete a record insertion or update
+operation.</p>
+<code>12</code>
+<p>Attempt is made to write to a column without calling
+<code>CCommsDbTableView::InsertRecord()</code> or
+<code>CCommsDbTableView::UpdateRecord()</code></p>
+<code>13</code>
+<p>Attempt to write to table ID column with
+<code>CCommsDbTableView::WriteUintL()</code>.</p>
+<code>14</code>
+<p><code>CCommDbOverrideSettings::GetLongDesOverride()</code>
+called with too small <code>aValue</code> buffer.</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/EIKCOCTL.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,126 @@
+<h1>EIKCOCTL</h1>
+<p>TechView Core Controls panics:</p>
+<code>0</code>
+<p>Unused</p>
+<code>1</code>
+<p>Environment could not be created</p>
+<code>2</code>
+<p>Invalid command line</p>
+<code>3</code>
+<p>Unused</p>
+<code>4</code>
+<p>Unused</p>
+<code>5</code>
+<p>Environment attempted to draw cursor in an unfocussed control</p>
+<code>6</code>
+<p>Control does not own the cursor</p>
+<code>7</code>
+<p>No such hotkey in call to <code>CEikHotKeyTable::RemoveItem()</code></p>
+<code>8</code>
+<p>No such menu item</p>
+<code>9</code>
+<p>Hotkey and extra text set have been set on the same <code>CEikMenuPane</code></p>
+<code>10</code>
+<p>Changing the title text of this menu bar is not permitted</p>
+<code>11-12</code>
+<p>Unused</p>
+<code>13</code>
+<p>Text length exceeds the maximum in a <code>CEikSecretEditor</code></p>
+<code>14-23</code>
+<p>Unused</p>
+<code>24</code>
+<p>Country or city selector already exists</p>
+<code>25</code>
+<p>Index out of range in <code>CColumnListBoxData</code></p>
+<code>26</code>
+<p>Illegal NULL pointer</p>
+<code>27-29</code>
+<p>Unused</p>
+<code>30</code>
+<p>NULL field passed to <code>CEikEdwin::InsertFieldL()</code></p>
+<code>31</code>
+<p>Combo box is too small</p>
+<code>32</code>
+<p>Unused</p>
+<code>33</code>
+<p>Command button has no components (label or picture not set)</p>
+<code>34</code>
+<p>Unknown folder selected through a <code>CEikFolderNameSelector</code></p>
+<code>35</code>
+<p>Toolbar has no observer</p>
+<code>36</code>
+<p>Toolbar could not be created</p>
+<code>37</code>
+<p>Unused</p>
+<code>38</code>
+<p>Internal event error</p>
+<code>39</code>
+<p>Invalid dimensions for a <code>CEikControlGroup</code></p>
+<code>40</code>
+<p>Invalid number of lines for a <code>CEikControlGroup</code></p>
+<code>41</code>
+<p><code>CEikControlGroup</code> not fully initialised</p>
+<code>42</code>
+<p>Invalid bitmap index in <code>CColumnListBoxData::Draw()</code></p>
+<code>43</code>
+<p>Unused</p>
+<code>44</code>
+<p><code>CEikProcess::SaveToDirectFileStoreL()</code> cannot be used as there is no store for the process</p>
+<code>45</code>
+<p><code>CEikProcess::SaveToDirectFileStoreL()</code> cannot be used as the store is the wrong type</p>
+<code>46</code>
+<p>No observer set for a <code>CEikDialogToolBar</code></p>
+<code>47</code>
+<p>Unused</p>
+<code>48</code>
+<p>Invalid resource for creating a <code>CEikLabeledButton</code></p>
+<code>49</code>
+<p>Unused</p>
+<code>50</code>
+<p>Options or data have not been set for a time dialog</p>
+<code>51-52</code>
+<p>Unused</p>
+<code>53</code>
+<p>Environment set up error: logical color not found</p>
+<code>54</code>
+<p>Unused</p>
+<code>55</code>
+<p>Environment set up error: invalid logical color</p>
+<code>56</code>
+<p>Unused</p>
+<code>57</code>
+<p>NULL text set for a <code>CEikLabel</code></p>
+<code>58</code>
+<p>Environment set up error: invalid library</p>
+<code>59</code>
+<p>Resource files are still open on environment closedown</p>
+<code>60</code>
+<p>Control factory not removed on environment closedown</p>
+<code>61</code>
+<p><code>CEikButtonGroupContainer::CleanupCommandPushL()</code> called with <code>aPosition</code> already allocated on the cleanup stack</p>
+<code>62</code>
+<p>Corrupt <code>CEikButtonGroupContainer</code> cleanup stack </p>
+<code>63</code>
+<p><code>CEikButtonGroupContainer::UpdateCommandObserverL()</code> called with an updated observer already present</p>
+<code>64-75</code>
+<p>Corrupt edwin state for inlining editing</p>
+<code>76</code>
+<p>Invalid menu title identifier</p>
+<code>77</code>
+<p>Environment set up error: library could not be loaded</p>
+<code>78</code>
+<p><code>CEikScrollBarFrame</code> could not create scroll bar</p>
+<code>79</code>
+<p><code>CEikMsgWin</code> used without vaild app UI</p>
+<code>80</code>
+<p>Unexpected leave while setting the virtual cursor state</p>
+<code>81</code>
+<p>Attempt to pop <code>CEikCommandButton</code> from a NULL stack</p>
+<code>82</code>
+<p>Unknown virtual cursor error</p>
+<code>83</code>
+<p>Unused</p>
+<code>84</code>
+<p>NULL button group factory referenced</p>
+<code>85</code>
+<p>Button group factory did not create button group</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/ESock.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,89 @@
+<h1>ESock</h1>
+<p>Panic of client from Sockets Server</p>
+<code>0</code>
+<p>
+Unknown socket
+</p>
+<code>1</code>
+<p>
+Unused
+</p>
+<code>2</code>
+<p>
+Connection request made while already attempting to connect
+</p>
+<code>3</code>
+<p>
+Read request made while already attempting to read
+</p>
+<code>4</code>
+<p>
+Send request made while already attempting to send
+</p>
+<code>5</code>
+<p>
+Close request made while already attempting to close
+</p>
+<code>6</code>
+<p>
+Shutdown request made while already attempting to shutdown
+</p>
+<code>7</code>
+<p>
+Accept request made while already attempting to accept
+</p>
+<code>8</code>
+<p>
+Ioctl request made while already attempting to perform Ioctl
+</p>
+<code>9</code>
+<p>
+Can't use <code>RSocket::SendTo()</code> on connection-orientated
+sockets
+</p>
+<code>10</code>
+<p>
+Can't use <code>RSocket::ListenL()</code> on connectionless sockets
+</p>
+<code>11</code>
+<p>
+Listen request made while already attempting to listen
+</p>
+<code>12</code>
+<p>
+Can't use <code>RSocket::Accept()</code> if not listening
+</p>
+<code>13</code>
+<p>
+Failed to accept
+</p>
+<code>14</code>
+<p>
+Descriptor parameter error
+</p>
+<code>15</code>
+<p>A request was made of an <code>RHostResolver</code>,
+<code>RServiceResolver</code>, or <code>RNetDatabase</code> when an
+asynchronous request was already pending.
+</p>
+<code>16</code>
+<p>
+Unused
+</p>
+<code>17</code>
+<p>
+No socket in use
+</p>
+<code>18</code>
+<p>
+Unused
+</p>
+<code>19</code>
+<p>
+<code>RHostResolver::Next()</code> called without initial
+resolution request
+</p>
+<code>20</code>
+<p>
+Socket not set up to connect
+</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/ErrorCodesLatest.csv	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,1404 @@
+E32  (E32ERR.H);KErrNotFound;-1;Unable to find the specified object
+E32  (E32ERR.H);KErrGeneral;-2;General (unspecified) error
+E32  (E32ERR.H);KErrCancel;-3;The operation was cancelled
+E32  (E32ERR.H);KErrNoMemory;-4;Not enough memory. Close some applications and try again
+E32  (E32ERR.H);KErrNotSupported;-5;The operation requested is not supported
+E32  (E32ERR.H);KErrArgument;-6;Bad request
+E32  (E32ERR.H);KErrTotalLossOfPrecision;-7;Total loss of precision
+E32  (E32ERR.H);KErrBadHandle;-8;Bad object
+E32  (E32ERR.H);KErrOverflow;-9;Overflow
+E32  (E32ERR.H);KErrUnderflow;-10;Underflow
+E32  (E32ERR.H);KErrAlreadyExists;-11;Already exists
+E32  (E32ERR.H);KErrPathNotFound;-12;Unable to find the specified folder
+E32  (E32ERR.H);KErrDied;-13;Closed
+E32  (E32ERR.H);KErrInUse;-14;The specified object is currently in use by another program
+E32  (E32ERR.H);KErrServerTerminated;-15;Server has closed
+E32  (E32ERR.H);KErrServerBusy;-16;Server busy
+E32  (E32ERR.H);KErrCompletion;-17;Completion error
+E32  (E32ERR.H);KErrNotReady;-18;Not ready
+E32  (E32ERR.H);KErrUnknown;-19;Unknown error
+E32  (E32ERR.H);KErrCorrupt;-20;Corrupt
+E32  (E32ERR.H);KErrAccessDenied;-21;Access denied
+E32  (E32ERR.H);KErrLocked;-22;Locked
+E32  (E32ERR.H);KErrWrite;-23;Failed to write
+E32  (E32ERR.H);KErrDisMounted;-24;Wrong disk present
+E32  (E32ERR.H);KErrEof;-25;Unexpected end of file
+E32  (E32ERR.H);KErrDiskFull;-26;Disk full
+E32  (E32ERR.H);KErrBadDriver;-27;Bad device driver
+E32  (E32ERR.H);KErrBadName;-28;Bad name
+E32  (E32ERR.H);KErrCommsLineFail;-29;Comms line failed
+E32  (E32ERR.H);KErrCommsFrame;-30;Comms frame error
+E32  (E32ERR.H);KErrCommsOverrun;-31;Comms overrun error
+E32  (E32ERR.H);KErrCommsParity;-32;Comms parity error
+E32  (E32ERR.H);KErrTimedOut;-33;Timed out
+E32  (E32ERR.H);KErrCouldNotConnect;-34;Failed to connect
+E32  (E32ERR.H);KErrCouldNotDisconnect;-35;Failed to disconnect
+E32  (E32ERR.H);KErrDisconnected;-36;Disconnected
+E32  (E32ERR.H);KErrBadLibraryEntryPoint;-37;Bad library entry point
+E32  (E32ERR.H);KErrBadDescriptor;-38;Bad descriptor
+E32  (E32ERR.H);KErrAbort;-39;Interrupted
+E32  (E32ERR.H);KErrTooBig;-40;Too big
+E32  (E32ERR.H);KErrDivideByZero;-41;Divide by zero
+E32  (E32ERR.H);KErrBadPower;-42;Batteries too low
+E32  (E32ERR.H);KErrDirFull;-43;Folder full
+E32  (E32ERR.H);KErrHardwareNotAvailable;-44;
+E32  (E32ERR.H);KErrSessionClosed;-45;
+E32  (E32ERR.H);KErrPermissionDenied;-46;Permission denied when attempting operation
+
+ETelFax  (FAXSTD.H);KFaxErrModemNotWorking;-101;Could not connect to the fax machine. The fax modem has failed
+ETelFax  (FAXSTD.H);KFaxErrCannotConnect;-102;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrCSIorCIG;-103;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrDISorDTC;-104;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrFrameFail;-105;The connection to the fax machine has been broken
+ETelFax  (FAXSTD.H);KFaxErrAtNegotiatedSpeed;-106;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrCFR;-107;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrMCF;-108;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrCRP;-109;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrNoDial;-110;Could not connect to the fax machine. Could not dial fax number
+ETelFax  (FAXSTD.H);KFaxErrNoDialTone;-111;Could not connect to the fax machine. No dial tone was detected
+ETelFax  (FAXSTD.H);KFaxErrBusy;-112;Could not connect to the fax machine. The line is busy
+ETelFax  (FAXSTD.H);KFaxErrNoAnswer;-113;Could not connect to the fax machine. The call was not answered
+ETelFax  (FAXSTD.H);KFaxErrNoCarrier;-114;Could not connect to the fax machine. The call was not answered by a fax machine
+ETelFax  (FAXSTD.H);KFaxErrRemoteCannotReceive;-115;Could not send to the fax machine. The fax machine is unable to receive faxes
+ETelFax  (FAXSTD.H);KFaxErrCompression;-116;Panic
+ETelFax  (FAXSTD.H);KFaxErrPageTooLong;-117;Panic
+ETelFax  (FAXSTD.H);KFaxErrDCN;-118;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrRemoteDCN;-119;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrHDLC;-120;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrStopAndWait;-121;Panic
+ETelFax  (FAXSTD.H);KFaxErrTrainStop;-122;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrReceiveTimeout;-123;Could not send to the fax machine. The connection has timed out
+ETelFax  (FAXSTD.H);KFaxErrCannotEndData;-124;The connection to the fax machine has been broken
+ETelFax  (FAXSTD.H);KFaxErrEOP;-125;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrMPS;-126;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrNoReceiveMode;-127;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrCannotAnswer;-128;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrPrematureHangup;-129;Could not receive fax. The fax machine ended the call
+ETelFax  (FAXSTD.H);KFaxErrModemResponse;-130;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrPrematureOK;-131;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrNoFinalOK;-132;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrUnknownPageCode;-133;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrNoHangup;-134;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrNoNegotiate;-135;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrModemDisconnect;-136;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrWrongModemType;-137;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxErrTrainFail;-138;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxTransmitterStalled;-139;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxReceiverOverflow;-140;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxCannotOpenPort;-141;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxCannotCloseStore;-142;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxCannotOpenStore;-143;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxThreadError;-144;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxFileSessionError;-145;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxLogCreateError;-146;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxFileSeeKError;-147;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxPDDError;-148;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxLDDError;-149;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxC32Error;-150;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxCommsServerError;-151;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxCommsPortError;-152;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxCancelRequested;-153;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxNoClass2Xon;-154;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxConfigError;-155;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxCannotAutodetect;-156;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KCannotFindFirstPage;-157;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxBadInitialization;-158;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxOnlyJustAutoDetected;-159;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxBelowMinSpeed;-160;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxPollingUnsupported;-161;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KFaxNothingToPoll;-162;Could not connect to the fax machine
+ETelFax  (FAXSTD.H);KfaxEtelServerError;-163;Could not connect to the fax machine
+
+EmailPop  (MIUT_ERR.H);KPop3CannotConnect;-170;The POP3 server refused to allow a connection
+EmailPop  (MIUT_ERR.H);KPop3InvalidUser;-171;The POP3 server refused to allow a connection. Check your mailbox username
+EmailPop  (MIUT_ERR.H);KPop3InvalidLogin;-172;The POP3 server refused to allow a connection. Check your mailbox username and password
+EmailPop  (MIUT_ERR.H);KPop3CannotCreateApopLogonString;-173;Could not create secure logon string. Mailbox server may not support secure logon
+EmailPop  (MIUT_ERR.H);KPop3ProblemWithRemotePopServer;-174;Problem communicating with POP3 server
+EmailPop  (MIUT_ERR.H);KPop3CannotOpenServiceEntry;-175;Panic
+EmailPop  (MIUT_ERR.H);KPop3CannotSetRequiredFolderContext;-176;Panic
+EmailPop  (MIUT_ERR.H);KPop3InvalidApopLogin;-177;Panic
+
+Email Sockets  (MIUT_ERR.H);KImsKErrorDNSNotFound;-180;Could not find a DNS server. Please check the DNS address in the internet control panel
+Email Sockets  (MIUT_ERR.H);KImsKErrorControlPanelLocked;-181;Could not connect to internet. Please ensure the internet control panel Or equivalent description to internet control panel is closed
+
+Sockets  (INSOCK.H);KErrNetUnreach;-190;Could not connect to the network. Currently unreachable
+Sockets  (INSOCK.H);KErrHostUnreach;-191;Could not connect to the specified server
+Sockets  (INSOCK.H);KErrNoProtocolOpt;-192;The specified server refuses the selected protocol
+Sockets  (INSOCK.H);KErrUrgentData;-193;Panic
+
+Email IMAP4   (MIUT_ERR.H);KErrImapConnectFail;-200;Could not connect to IMAP4 server
+Email IMAP4   (MIUT_ERR.H);KErrImapServerFail;-201;The connection to the IMAP4 server has been broken
+Email IMAP4   (MIUT_ERR.H);KErrImapServerParse;-202;Panic
+Email IMAP4   (MIUT_ERR.H);KErrImapServerBusy;-203;The IMAP4 server refused to allow connection. The server is currently busy
+Email IMAP4   (MIUT_ERR.H);KErrImapServerVersion;-204;Could not connect to the IMAP server. The IMAP server is of the wrong version
+Email IMAP4   (MIUT_ERR.H);KErrImapSendFail;-205;Could not transmit to the IMAP4 server
+Email IMAP4   (MIUT_ERR.H);KErrImapBadLogon;-206;The IMAP4 server refused to allow a connection. Check your mailbox username and password
+Email IMAP4   (MIUT_ERR.H);KErrImapSelectFail;-207;Panic
+Email IMAP4   (MIUT_ERR.H);KErrImapWrongFolder;-208;Could not select an IMAP4 folder
+
+Email SMTP  (MIUT_ERR.H);KSmtpNoMailFromErr;-240;Could not send email due to an invalid return email address. Check your email address in your account settings
+Email SMTP  (MIUT_ERR.H);KSmtpUnknownErr;-241;Problem while sending email
+Email SMTP  (MIUT_ERR.H);KSmtpBadMailFromAddress;-242;"Email message has an invalid ""From"" address"
+Email SMTP  (MIUT_ERR.H);KSmtpBadRcptToAddress;-243;"Email message has an invalid ""To"", ""Cc"" or ""Bcc"" address"
+Email SMTP  (MIUT_ERR.H);KSmtpLoginRefused;-244;SMTP server refused to allow connection
+
+
+;//BaseScript Parser;;
+Bio Messaging  (BSP.H);KBspInvalidMessage;-500;Corrupt message cannot be read.
+Bio Messaging  (BSP.H);KBspSmartMessageInvalidToken;-501;Corrupt message cannot be read.
+Bio Messaging  (BSP.H);KBspSmartMessageNoParserDefined;-502;Unknown message type cannot be read.
+
+;//Access Point Parser;;
+Bio Messaging   (IACPERR.H) ;KIacpUnknownSmsType;-510;Unknown message type cannot be read.
+Bio Messaging   (IACPERR.H) ;KIacpBIOMsgTypeNotSupported;-511;Unknown message type cannot be read.
+Bio Messaging   (IACPERR.H) ;KiacpMandatoryDataNotSet;-512;Corrupt message cannot be read.
+Bio Messaging   (IACPERR.H) ;KIacpUnknownMailProtocol;-513;Mailbox configuration message refers to an unknown protocol.
+Bio Messaging   (IACPERR.H) ;KIacpErrRightToken;-514;Corrupt message cannot be read.
+Bio Messaging   (IACPERR.H) ;KIacpErrLeftToken;-515;Corrupt message cannot be read.
+Bio Messaging   (IACPERR.H) ;KIacpErrSmsDataNotParsed;-516;Corrupt message cannot be read.
+Bio Messaging   (IACPERR.H) ;KIacpErrSmsDataNotRestored;-517;Corrupt message cannot be read.
+Bio Messaging   (IACPERR.H) ;KIacpScriptErrISPNotFound;-518;Mailbox configuration message specifies an unknown Internet Access Point.
+Bio Messaging   (IACPERR.H) ;KIacpErrScriptNotDefined;-519;Message script error.
+Bio Messaging   (IACPERR.H) ;KIacpErrScriptNotFoundInDB;-520;Message script error.
+Bio Messaging   (IACPERR.H) ;KIacpErrScriptAlreadyAdd;-521;Message script error.
+
+
+Sockets  (INSOCK.H);KErrWouldBlock;-1000;Panic
+
+;//Basic Application and Framework Library;;
+BAFL  (BASCHED.H);KErrExtended;-1000;
+BAFL  (BASCHED.H);KErrExtendedWithText;-1001;
+BAFL  (BASCHED.H);KLeaveWithoutAlert;-1002;
+BAFL  (BASCHED.H);KLeaveExit;-1003;
+
+
+;//Telephony Error Codes;;
+Etel  (ETEL.H);KErrEtelNotCallOwner;-2000;Panic
+Etel  (ETEL.H);KErrEtelDuplicatePhoneName;-2001;Panic
+Etel  (ETEL.H);KErrEtelAlreadyCallOwner;-2002;Panic
+Etel  (ETEL.H);KErrEtelNoCarrier;-2003;Problem communicating receiving device. Call was unexpectedly dropped
+Etel  (ETEL.H);KErrEtelBusyDetected;-2004;Phone number is busy. Wait before trying again
+Etel  (ETEL.H);KErrEtelNoClientInterestedInThisCall;-2005;Panic
+Etel  (ETEL.H);KErrEtelInitialisationFailure;-2006;Panic
+Etel  (ETEL.H);KErrEtelCallNotActive;-2007;Panic
+Etel  (ETEL.H);KErrEtelNoAnswer;-2008;Call was not answered
+Etel  (ETEL.H);KErrEtelNoDialTone;-2009;Panic
+Etel  (ETEL.H);KErrEtelConfigPortFailure;-2010;Panic
+Etel  (ETEL.H);KErrEtelFaxChunkNotCreated;-2011;Panic
+Etel  (ETEL.H);KErrEtelNotFaxOwner;-2012;Panic
+Etel  (ETEL.H);KErrEtelPortNotLoanedToClient;-2013;Panic
+Etel  (ETEL.H);KErrEtelWrongModemType;-2014;Panic
+Etel  (ETEL.H);KErrEtelUnknownModemCapability;-2015;Panic
+Etel  (ETEL.H);KErrEtelAnswerAlreadyOutstanding;-2016;Panic
+Etel  (ETEL.H);KErrEtelModemNotDetected;-2017;Panic
+Etel  (ETEL.H);KErrEtelModemSettingsCorrupt;-2018;Panic
+
+
+;// netdial script errors;;
+Networking  (ND_ERR.H);KErrExitNoModem;-3001;No response from phone. Ensure phone is switched on
+Networking  (ND_ERR.H);KErrExitModemError;-3002;Problem communicating with Internet service's modem
+Networking  (ND_ERR.H);KErrExitLoginFail;-3003;Internet username or password is incorrect.
+Networking  (ND_ERR.H);KErrExitScriptTimeOut;-3004;Internet service login script timed out. Internet service login script may be incorrect.
+Networking  (ND_ERR.H);KErrExitScriptError;-3005;Problem with Internet service login script. Internet service login script may be incorrect.
+;;;
+;// netdial database error;;
+Networking  (ND_ERR.H);KErrNetDialDatabaseDefaultUndefined;-3006;
+Networking  (ND_ERR.H);KErrNetDialDatabaseTypeUnknown;-3007;
+Networking  (ND_ERR.H);KErrNetDialDatabaseNotFound;-3008;
+Networking  (ND_ERR.H);KErrNetDialHscsdNotSupported;-3009;
+
+
+TCP/IP  (IN_IFACE.H);KErrIfAuthenticationFailure;-3050;Internet username or password is incorrect
+TCP/IP  (IN_IFACE.H);KErrIfAuthNotSecure;-3051;Internet service server only allows plain text authentication. This is currently disabled.
+TCP/IP  (IN_IFACE.H);KErrIfAccountDisabled;-3052;Could not connect to Internet service. Your account has been disabled
+TCP/IP  (IN_IFACE.H);KErrIfRestrictedLogonHours;-3053;Could not connect to Internet service. Your account is only active during restricted hours
+TCP/IP  (IN_IFACE.H);KErrIfPasswdExpired;-3054;Could not connect to Internet service. Your Internet password has expired
+TCP/IP  (IN_IFACE.H);KErrIfNoDialInPermission;-3055;Could not connect to Internet service. Your do not have dial-in permission
+TCP/IP  (IN_IFACE.H);KErrIfChangingPassword;-3056;Panic
+TCP/IP  (IN_IFACE.H);KErrIfCallbackNotAcceptable;-3057;Could not connect to Internet service. Callback is not supported
+TCP/IP  (IN_IFACE.H);KErrIfDNSNotFound;-3058;Could not find specified Internet server
+TCP/IP  (IN_IFACE.H);KErrIfLRDBadLine;-3059;Bad line to Internet service dropped
+TCP/IP  (IN_IFACE.H);KErrIfNoServerPresent;-3060;Panic
+TCP/IP  (IN_IFACE.H);KErrIfRemoteDisconnected;-3061;Panic
+
+;;;
+;//Multimode telephony errors that will be generated by TSY;;
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelWrongMode;-3201;Client has requested a mode-specific API service and the phone is currently in the wrong mode. 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelFailedDueToModeChange;-3202;Error code to cater for requests that fail because the mode changes mid-way during servicing that request 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelRemoteEndTermination;-3203;Remote user (or network) has terminated an ongoing call. 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelSmsFormatNotSupported;-3204;Client requested a message format that is not supported by TSY anor phone. 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelFeatureCodeNotSet;-3205;Client requests a service whose feature code has not been programmed e.g. Call Forwarding. 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelNetworkNotResponding;-3206;"Network has failed to respond to an MS initiated request e.g. ""flash info"""
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelCallForbidden;-3207;Client requests a call to a destination that is forbidden.
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelMaxReached;-3208;The maximum number of entries in astore has been reached. 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelCallTerminated;-3209;Remote user (or network) has terminated an ongoing call. 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelFormatNotSupported;-3210;The client requested a message format that is not supported by TSY anor phone. 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelHiddenEntry ;-3211;The phonebook entry is hidden.This is a USIM phonebook specific error. 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelFallbacktoVoice ;-3212;The request to answer a multimedia call has failed because the network can now only support voice. 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelMacVerificationFailed;-3213;Authentication derived MAC does not match locally calculated MAC
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelSqnVerificationFailed;-3214;Authentication derived SQN value is not in the expected range
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelAuthenticateFailed;-3215;Authenticate command failed
+;;;
+;//Error codes for use with Smart card application APIs.;;
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelScMaxApplicationsActive;-3216;Application cannot be activated as maximum number of applications already active.
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelScNoInfoNonVolatileMemoryUnchanged;-3217;No information given, the state of the non-volatile memory is unchanged.
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelScNoInfoNonVolatileMemoryChanged;-3218;No information given, the state of the non-volatile memory is changed.
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelScReturnedDataCorrupt;-3219;Part of the returned data may be corrupt.
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelScEofReached ;-3220;End of file reached before reading requested number of bytes or records have been read. 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelScFileInvalidated;-3221;Selected file is invalidated.
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelScNoMemory;-3222;The smart card had a memory problem when executing the command. 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelScWrongLength;-3223;Wrong length 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelScGeneral;-3224;Technical problem, no precise diagnosis 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelScIncompatibleFileStructure ;-3225;Command incompatible with file structure
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelScReferencedDataInvalidated ;-3226;Referenced data invalidated 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelScFunctionNotSupported ;-3227;Function not supported 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelScFileNotFound;-3228;File not found 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelScRecordNotFound;-3229;Record not found 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelScReferencedDataNotFound;-3230;Referenced data not found 
+Multimode Telephony  (ETELMMERR.H);KErrMMEtelScApplicationNotActive;-3231;Application not activate.
+;;;
+;//CDMA network errors that will be generated by networks;;
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsAddressVacant;-3256;SMS destination address is valid but not currently allocated to an SMS terminal. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsAddressTranslationFailure ;-3257;SMS destination address is invalid.
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsNetworkResourceShortage;-3258;Network transmissionfailed due to lack of network resource or link capacity. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsNetworkFailure ;-3259;A network node failed, a link failed or a required operation failed. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsInvalidTeleserviceId;-3260;SMS Teleservice ID is either not known or not supported. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsOtherNetworkProblem;-3261;A network problem other than identified by above error codes. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsNoPageResponse ;-3262;The addressed MS-based SME is known but it does not respond to a page. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsDestinationBusy;-3263;The addressed MS-based SME is SMS capable but is currently engaged in a call, a service or a call mode that precludes the use of SMS. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsNoAcknowledgement;-3264;The destination SME does not acknowledge receipt of the SMS delivery. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsDestinationResourceShortage;-3265;A required terminal resource (e.g.memory) is not available to process this message.
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsDeliveryPostponed;-3266;Delivery is not currently possible but SMS notification is pending. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsOtherNetworkProblem;-3267;The addressed destination is out of service for an extended period of time. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsDestinationNoLongerAtAddress;-3268;The MS based SME is no longer at the temporary SMS routing address. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsOtherTerminalProblem;-3269;A terminal problem other than identified by the above error codes. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsRadioInterfaceResourceShortage;-3320;There is no channel available or there is radio congestion at this time. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsRadioInterfaceIncompatibility;-3321;The MS for an MS-based SME is operating in a mode that does not support SMS at this time.
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsOtherRadioInterfaceProblem ;-3322;A radio interface problem other than identified by the above error codes. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsEncodingProblem;-3352;The size of a parameter or field is not what is expected. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsOriginationDenied;-3353;The originating MIN is not recognized, the originating address is not allowed for the originating MIN, the ESN doesn't match the originating MIN, the origination is not authorized, the originating address is not recognized, etc. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsTerminationDenied;-3354;The destination is not authorized to receive the SMS message, the MC refused the message, the destination SME refused the message, the destination is not authorized for a required supplementary service, etc. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsSupplServiceNotSupported;-3355;The originating supplementary service is not known or supported, the sender is not authorized for an originating supplementary service, etc. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsSmsNotSupported;-3356;SMS is not supported by an addressed functional entity. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsMissingExpectedParameter;-3358;An optional parameter is missing that is required for a particular function. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsMissingMandatoryParameter ;-3359;A parameter is missing that is mandatory for a particular message. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsUnrecognizedParameterValue ;-3360;A known parameter has an unknown or unsupported value. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsUnexpectedParameterValue;-3361;A known parameter has a known, but unexpected value. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsUserDataSizeError;-3362;The User Data size is too large for access technology, transport network, or call mode, etc. The User Data size is not what is expected for the indicated teleservice. 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaSmsOtherGeneralProblem;-3363;Other general problems. 
+;;;
+
+Generic Connection Agent  (GENCONNERROR.H);KErrGenConnDatabaseDefaultUndefined;-3606;CommDb Error
+Generic Connection Agent  (GENCONNERROR.H);KErrGenConnDatabaseTypeUnknown;-3607;CommDb Error
+Generic Connection Agent  (GENCONNERROR.H);KErrGenConnDatabaseNotFound;-3608;CommDb Error
+
+
+TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H);KErrGsmRRUnspecifedAbnormalRelease;-4001;Temporary network failure. Try again later.
+TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H);KErrGsmRRChannelUnacceptable;-4002;Temporary network failure. Try again later.
+TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H);KErrGsmRRTimerExpired;-4003;Temporary network failure. Try again later.
+TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H);KErrGsmRRNoActivityOnRadioPath;-4004;Temporary network failure. Try again later.
+TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H);KErrGsmRRPreEmptiveRelease;-4005;Temporary network failure. Try again later.
+TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H);KErrGsmRRCallAlreadyCleared;-4065;Temporary network failure. Try again later.
+TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H);KErrGsmRRInvalidMessage;-4095;Temporary network failure. Try again later.
+TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H);KErrGsmRRNonExistentMessage;-4097;No network support for requested operation.
+TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H);KErrGsmRRIncompatibleMessageWithCallState;-4098;Temporary network failure. Try again later.
+TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H);KErrGsmRRInvalidInformationElement;-4100;Temporary network failure. Try again later.
+TelephonyGSMRadioResourceNetworkErrors  (EXTERROR.H);KErrGsmRRUnspecifiedProtocolError;-4111;Temporary network failure. Try again later.
+
+
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMUnallocatedTmsi;-4129;Temporary network failure. Try again later.
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMImsiUnknownInHlr;-4130;Operation is not allowed. Contact cellular network operator.
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMIllegalMs;-4131;Phone is blacklisted. Contact cellular network operator.
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMImsiUnknownInVlr;-4132;Temporary network failure. Try again later.
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMImeiNotAccepted;-4133;Phone failure.
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMIllegalMe;-4134;Phone is blacklisted. Contact cellular network operator.
+
+
+GPRS  (ETELPCKT.H);KErrGprsServiceNotAllowed;-4135;Failed to connect to the GPRS network
+GPRS  (ETELPCKT.H);KErrGprsAndNonGprsServicesNotAllowed;-4136;Failed to connect to the mobile network
+GPRS  (ETELPCKT.H);KErrGprsMSIdentityCannotBeDerivedByTheNetwork;-4137;Identity could not be derived by the network
+GPRS  (ETELPCKT.H);KErrGprsMSImplicitlyDetached;-4138;Your device was disconnected from the GPRS network.
+
+
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMPlmnNotAllowed;-4139;Roaming is not allowed in this area.
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMLocationAreaNotAllowed;-4140;Roaming is not allowed in this area.
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMRoamingNotAllowedInThisLocationArea;-4141;Roaming is not allowed in this area.
+
+
+GPRS  (ETELPCKT.H);KErrGprsMSCTemporarilyNotReachable;-4144;GPRS MSC temporary not reachable
+
+
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMNetworkFailure;-4145;Temporary network failure. Try again later.
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMCongestion;-4150;Network busy.
+
+
+GPRS  (ETELPCKT.H);KErrGprsLlcOrSndcpFailure;-4153;Your connection to Internet was dropped.
+GPRS  (ETELPCKT.H);KErrGprsInsufficientResources;-4154;Network overloaded.
+GPRS  (ETELPCKT.H);KErrGprsMissingorUnknownAPN;-4155;"""Could not connect to Internet service. Callback is not supported"""""""
+GPRS  (ETELPCKT.H);KErrGprsUnknownPDPAddress;-4156;The address for the Internet provider is not correct.
+GPRS  (ETELPCKT.H);KErrGprsUserAuthenticationFailure;-4157;Failed to identify the user.
+GPRS  (ETELPCKT.H);KErrGprsActivationRejectedByGGSN;-4158;No possible to connect to the Internet.
+GPRS  (ETELPCKT.H);KErrGprsActivationRejected;-4159;No possible to connect to the Internet.
+
+
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMServiceOptionNotSupported;-4160;Operation is not presently supported by the network.
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMServiceOptionNotSubscribed;-4161;Service not subscribed. Contact cellular network operator.
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMServiceOptionTemporaryOutOfOrder;-4162;Service temporarily out of use. Try again later.
+
+
+GPRS  (ETELPCKT.H);KErrGprsNSAPIAlreadyUsed;-4163;NS API already used
+GPRS  (ETELPCKT.H);KErrGprsRegularContextDeactivation;-4164;Regular context deactivation
+GPRS  (ETELPCKT.H);KErrGprsQoSNotAccepted;-4165;The requested quality of service was not granted.
+
+
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMCallCanNotBeIdentified;-4166;Temporary network failure. Try again later.
+
+
+GPRS  (ETELPCKT.H);KErrGprsReactivationRequested;-4167;Reactivation requested
+GPRS  (ETELPCKT.H);KErrGprsFeatureNotSupported;-4168;This is not supported.
+
+
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMSemanticErrorInMessage;-4223;Temporary network failure. Try again later.
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMMandatoryInformationElementError;-4224;Temporary network failure. Try again later.
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMNonExistentMessageType;-4225;No network support for requested operation.
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMIncompatibleMessageWithProtocolState;-4226;Temporary network failure. Try again later.
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMNonExistentInformationElement;-4227;Temporary network failure. Try again later.
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMConditionalIEError;-4228;Temporary network failure. Try again later.
+TelephonyGSMMobilityManagementNetworkErrors  (EXTERROR.H);KErrGsmMMIncompatibleMessageWithCallState;-4229;Temporary network failure. Try again later.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCUnassignedNumber;-4257;Invalid phone number. Check the number and try again.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCNoRouteToTransitNetwork;-4258;Temporary network failure. Try again later.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCNoRouteToDestination;-4259;Invalid phone number. Check the number and try again.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCChannelUnacceptable;-4262;Temporary network failure. Try again later.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCOperatorDeterminedBarring;-4264;Operation is not allowed. Contact cellular network operator.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCUserBusy;-4273;Number is busy. Try again later.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCUserNotResponding;-4274;The remote user is not currently reachable. Try again later.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCUserAlertingNoAnswer;-4275;The remote user is not currently reachable. Try again later.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCCallRejected;-4276;Short network failure. Try again immediately.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCNumberChanged;-4277;Number has changed. Check the number and try again.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCNonSelectedUserClearing;-4282;Unknown network failure. Try again later.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCDestinationOutOfOrder;-4283;Temporary network failure. Try again later.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCInvalidNumberFormat;-4284;Invalid phone number. Check the number and try again.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCFacilityRejected;-4285;Operation is not supported. Contact cellular network operator.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCResponseToStatusEnquiry;-4286;Blank
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCNormalUnspecified;-4287;Unknown network failure. Try again later.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCNoChannelAvailable;-4290;Network busy.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCNetworkOutOfOrder;-4294;Serious cellular network failure. Please contact the cellular network operator.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCTemporaryFailure;-4297;Short network failure. Try again immediately.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCSwitchingEquipmentCongestion;-4298;Network busy.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCAccessInformationDiscarded;-4299;Temporary network failure. Try again later.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCRequestedChannelNotAvailable;-4300;Network busy.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCResourceNotAvailable;-4303;Network busy.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCQualityOfServiceNotAvailable;-4305;Service can not be provided.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCRequestedFacilityNotSubscribed;-4306;Check operator services or connection settings.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCIncomingCallsBarredInCug;-4311;Incoming calls are not allowed within closed user group.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCBearerCapabilityNotAuthorised;-4313;Unauthorised operation.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCBearerCapabilityNotCurrentlyAvailable;-4314;Requested service is not presently available. Try again later.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCServiceNotAvailable;-4319;Check operator services or connection settings.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCBearerServiceNotImplemented;-4321;Check operator services or connection settings.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCChannelTypeNotImplemented;-4322;Check operator services or connection settings.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCAcmGreaterThanAcmMax;-4324;Blank
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCRequestedFacilityNotImplemented;-4325;Check operator services or connection settings.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCOnlyRestrictedDigitalInformationBCAvailable;-4326;Blank
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCServiceNotImplemented;-4335;Check operator services or connection settings.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCInvalidCallReferenceValue;-4337;Blank
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCChannelDoesNotExist;-4338;Temporary network failure. Try again later.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCSuspendedCallExistsButCallIdentityDoesNotWork;-4339;Blank
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCCallIdentityInUse;-4340;Blank
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCNoCallSuspended;-4341;Blank
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCRequestedCallIdentityAlreadyCleared;-4342;Blank
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCUserNotInCug;-4343;Only calls within closed user group allowed.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCIncompatibleDestination;-4344;Check connection type in connection settings.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCInvalidTransitNetworkSelection;-4347;Temporary network failure. Try again later.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCIncompatibleSegmentedMessage;-4350;Blank
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCSemanticallyIncorrectMessage;-4351;Blank
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCInvalidMandatoryInformation;-4352;Check operator services or connection settings.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCNonExistentMessageType;-4353;Blank
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCIncompatibleMessageInProtocolState;-4354;Blank
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCNonExistentInformationElement;-4355;Blank
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCConditionalIEError;-4356;Blank
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCIncompatibleMessageInCallState;-4357;Blank
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCRecoveryOnTimerExpiry;-4358;Blank
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCUnspecifiedProtocolError;-4367;Temporary network failure. Try again later.
+TelephonyGSMCallControlNetworkErrors  (EXTERROR.H);KErrGsmCCUnspecifiedInterworkingError;-4383;Operation is not presently supported by the network.
+
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSUnknownSubscriber;-4385;Unknown subscriber. Contact cellular network operator.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSIllegalSubscriber;-4393;Unknown subscriber. Contact cellular network operator.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSBearerServiceNotProvisioned;-4394;Service is not provisioned.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSTeleserviceNotProvisioned;-4395;Service is not provisioned.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSIllegalEquipment;-4396;Blank
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSCallBarred;-4397;Calls are barred by the operator. Contact cellular network operator.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSIllegalOperation;-4400;Operation is not supported. Contact cellular network operator.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSErrorStatus;-4401;Operation is not supported. Contact cellular network operator.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSNotAvailable;-4402;Operation is not supported. Contact cellular network operator.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSSubscriptionViolation;-4403;Operation is not allowed. Contact cellular network operator.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSIncompatibility;-4404;The requested supplementary service is incompatible.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSFacilityNotSupported;-4405;Operation is not supported. Contact cellular network operator.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSAbsentSubscriber;-4411;Blank
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSSystemFailure;-4418;Temporary network failure. Try again later.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSDataMissing;-4419;Parameter in the service request is missing.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSUnexpectedDataValue;-4420;Unknown parameter in the service request.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSPasswordRegistrationFailure;-4421;Wrong service password.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSNegativePasswordCheck;-4422;Wrong service password.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSPasswordAttemptsViolation;-4427;Too many times wrong service password.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSUnknownAlphabet;-4455;Incompatible service language or alphabets.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSUssdBusy;-4456;Blank
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSMaxNumMptyParticipants;-4510;Too many participants of a multiparty call.
+TelephonyGSMSupplementaryServices  (EXTERROR.H);KErrGsmSSResourcesUnavailable;-4511;Temporarily out of network resources when requesting the service.
+
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSUnassignedNumber;-4513;Invalid phone number. Check the number and try again.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSOperatorDeterminedBarring;-4520;Operation is not allowed. Contact cellular network operator.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSCallBarred;-4522;Call barred.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSReserved;-4523;Blank
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSNetworkFailure;-4529;Temporary network failure. Try again later.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSShortMessageTransferRejected;-4533;Short network failure. Try again immediately.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSMemoryCapacityExceeded;-4534;Temporary network failure. Try again later.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSDestinationOutOfOrder;-4539;Temporary network failure. Try again later.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSUnidentifiedSubscriber;-4540;Unknown subscriber. Contact cellular network operator.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSFacilityRejected;-4541;Operation is not supported. Contact cellular network operator.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSUnknownSubscriber;-4542;Unknown subscriber. Contact cellular network operator.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSNetworkOutOfOrder;-4550;Serious cellular network failure. Please contact the cellular network operator.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSTemporaryFailure;-4553;Temporary network failure. Try again later.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSCongestion;-4554;Network busy.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSResourcesUnavailable;-4559;Network busy.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSRequestedFacilityNotSubscribed;-4562;Service not subscribed. Contact cellular network operator.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSRequestedFacilityNotImplemented;-4581;Check operator services or connection settings.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSInvalidShortMessageTransferReferenceValue;-4593;Operation is not presently supported by the network.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSUnspecifiedInvalidMessage;-4607;Unknown network failure. Try again later.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSInvalidMandatoryInformation;-4608;Error in message content.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSNonExistentMessageType;-4609;Operation is not presently supported by the network.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSIncompatibleMessageWithSmsProtocolState;-4610;Operation is not presently supported by the network.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSInformationElementNotImplemented;-4611;Message type is not presently supported by the network.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSUnspecifiedProtocolError;-4623;Unknown network failure. Try again later.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSUnspecifiedInterworkingError;-4639;Operation is not presently supported by the network.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSTelematicInterworkingNotSupported;-4640;Operation is not presently supported by the network.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSShortMessageType0NotSupported;-4641;Message type is not presently supported by the network.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSCannotReplaceShortMessage;-4642;Cannot deliver the message to the destination.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSUnspecifiedPIDError;-4655;Unknown network failure. Try again later.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSDataCodingSchemeNotSupported;-4656;Incompatible message language or alphabets.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSMessageClassNotSupported;-4657;Message type is not presently supported by the network.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSUnspecifiedDCSError;-4671;Unknown network failure. Try again later.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSCommandCannotBeActioned;-4672;Operation cannot be performed.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSCommandNotSupported;-4673;Operation is not presently supported by the network.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSUnspecifiedCommandError;-4687;Unknown network failure. Try again later.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSTpduNotSupported;-4688;Operation is not presently supported by the network.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSServiceCentreBusy;-4704;Service centre is busy. Try again later.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSNoSCSubscription;-4705;No service centre. Check messaging settings.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSSCSystemFailure;-4706;Service centre failure. Try again later.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSInvalidSMEAddress;-4707;Service centre failure. Try again later.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSDestinationSMEBarred;-4710;The destination is barred.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSDuplicateSM;-4711;Blank
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSTPVPFNotSupported;-4712;Short message validity period not supported by the network.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSTPVPNotSupported;-4713;Short message validity period not supported by the network.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSSimSMSStorageFull;-4720;Short message storage in SIM card is full.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSNoSMSStorageCapabilityInSim;-4721;No short message storage capability in SIM card.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSErrorInMS;-4722;Error receiving the short message.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSMemCapacityExceeded;-4723;No space to store the short message.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSSimAppToolkitBusy;-4724;SIM is busy performing another operation.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSUnspecifiedErrorCause;-4767;Unknown network failure. Try again later.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSFailureInME;-4812;Error in receiving the short message.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSServiceOfMSReserved;-4813;Busy because of short message operation.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSOperationNotAllowed;-4814;Operation is not allowed. Contact cellular network operator.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSOperationNotSupported;-4815;Phone is not supporting the operation.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSInvalidPDUModeParameter;-4816;Blank
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSInvalidTextModeParameter;-4817;Blank
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSSimNotInserted;-4822;Insert SIM card.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSSimPin1Required;-4823;PIN1 is required to continue.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSPhoneToSimLockRequired;-4824;Blank
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSSimFailure;-4825;SIM card failure. Replace the SIM card.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSSimBusy;-4826;SIM card is busy performing another operation.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSSimWrong;-4827;Wrong SIM card. Replace the SIM card.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSSimPuk1Required;-4828;PUK1 code is required to continue.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSPin2Required;-4829;PIN2 is required to continue.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSPuk2Required;-4830;PUK2 code is required to continue.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSMemoryFailure;-4832;Memory failure. Try again.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSInvalidMemoryIndex;-4833;Memory failure. Try again.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSMemoryFull;-4834;Memory is full. Remove some messages and try again.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSUnknownSCAddress;-4842;Blank
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSNoNetworkService;-4843;Service not available.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSNetworkTimeout;-4844;Temporary network failure. Try again later.
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSCnmaAckNotExpected;-4852;Blank
+TelephonyGSMSms  (EXTERROR.H);KErrGsmSMSUnknownError;-5012;Temporary network failure. Try again later.
+
+
+URI Utils  (URIUTILSCOMMON.H);KUriUtilsErrBadComponentIndex;-5000;Error specifying the use of an invalid component index
+URI Utils  (URIUTILSCOMMON.H);KUriUtilsErrBadBasePath;-5001;Error specifying the use of a base uri path is not absolute and not empty
+URI Utils  (URIUTILSCOMMON.H);KUriUtilsErrBufferOverflow;-5002;Error specifying that a buffer is not big enough to append a component and delimiters
+URI Utils  (URIUTILSCOMMON.H);KUriUtilsErrBadDelimitedParserMode;-5003;Error specifying the use of an supported parsing mode
+URI Utils  (URIUTILSCOMMON.H);KUriUtilsErrNoDelimiter;-5004;Error specifying that the delimiting character is not set
+URI Utils  (URIUTILSCOMMON.H);KUriUtilsErrNotParsed;-5005;Error specifying that the data has not been parsed
+URI Utils  (URIUTILSCOMMON.H);KUriUtilsErr16BitChar;-5006;Error specifying that a 16-bit character was found in data to be escape encode
+URI Utils  (URIUTILSCOMMON.H);KUriUtilsErrBadEscapeTriple;-5007;Error specifying that a badly formed escape triple was found in data being escape decoded
+URI Utils  (URIUTILSCOMMON.H);KUriUtilsCannotConvert;-5008;Error specifying that charconv was unable to convert the input data
+URI Utils  (URIUTILSCOMMON.H);KUriUtilsErrEmptyData;-5009;Error specifying that there was empty data
+URI Utils  (URIUTILSCOMMON.H);KUriUtilsErrNoIntegerInData;-5010;Error specifying that there is no character representation of an integer
+URI Utils  (URIUTILSCOMMON.H);KUriUtilsErrInvalidUri;-5011;Error code specifying an invalid uri
+URI Utils  (URIUTILSCOMMON.H);KUriUtilsErrBadEscapeMode;-5012;Error code for unsupported escaping mode
+URI Utils  (URIUTILSCOMMON.H);KUriUtilsErrBadTextRemoveMode;-5013;Error code for unsupported text whitespace removal mode
+URI Utils  (URIUTILSCOMMON.H);KUriUtilsErrDecodeMalformedQuotedString;-5014;Quoted string could not be decoded as it is malformed
+
+
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707PhoneFailure;-5024;Phone failure. Switch off the phone and then switch on.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707NoConnectionToPhone;-5025;Phone failure. Switch off the phone and then switch on.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707PhoneLinkReserved;-5026;Phone is busy due the other call operation.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707OperationNotAllowed;-5027;Operation is not allowed. Check phone settings.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707OperationNotSupported;-5028;Operation is not supported by the phone.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707PhoneToSimLockRequired;-5029;Blank
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707SimNotInserted;-5034;Insert SIM card.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707SimPin1Required;-5035;PIN1 is required to continue.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707SIMPuk1Required;-5036;PUK1 code is required to continue.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707SimFailure;-5037;SIM card failure. Replace the SIM card.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707SimBusy;-5038;SIM card is busy while performing other operation.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707SimWrong;-5039;Wrong SIM card. Replace the SIM card.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707IncorrectPassword;-5040;Incorrect code please re-enter.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707SimPin2Required;-5041;PIN2 is required to continue.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707SIMPuk2Required;-5042;PUK2 code is required to continue.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707MemoryFull;-5043;Memory is full. Remove some messages and try again.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707InvalidIndex;-5044;Memory failure. Try again.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707NotFound;-5045;Requested information not found. Try again.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707MemoryFailure;-5046;Memory failure. Try again.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707TextStringTooLong;-5047;Entered string is too long. Please re-enter the string.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707InvalidCharsInTextString;-5048;Invalid characters in text string. Please re-enter the string.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707DialStringTooLong;-5049;Entered dial string is too long. Please re-enter the string.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707InvalidCharsInDialString;-5050;Invalid characters in dial string. Please re-enter the string.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707NoNetworkService;-5054;Service is not available.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707NetworkTimeout;-5055;Temporary network failure. Try again later.
+TelephonyGSMTE-TAerrors  (EXTERROR.H);KErrGsm0707UnknownError;-5124;Temporary network failure. Try again later.
+
+
+;//Domain Name Daemon Error Codes;;
+Domain Name Daemon  (DND_ERR.H);KErrDndNameNotFound;-5120;Returned when no data found for GetByName
+Domain Name Daemon  (DND_ERR.H);KErrDndAddrNotFound;-5121;Returned when no data found for GetByAddr
+Domain Name Daemon  (DND_ERR.H);KErrDndNoServers;-5122;No DNS server addresses available (timeout)
+Domain Name Daemon  (DND_ERR.H);KErrDndNoRoute;-5123;Send timeout for the query (probably no route for server)
+Domain Name Daemon  (DND_ERR.H);KErrDndCache;-5124;Corrupted data in cache (= bad DNS reply from server)
+Domain Name Daemon  (DND_ERR.H);KErrDndFormat;-5125;Wrong format   
+Domain Name Daemon  (DND_ERR.H);KErrDndServerFailure;-5126;   
+Domain Name Daemon  (DND_ERR.H);KErrDndBadName;-5127;Bad name   
+Domain Name Daemon  (DND_ERR.H);KErrDndNotImplemented;-5128;   
+Domain Name Daemon  (DND_ERR.H);KErrDndRefused;-5129;Server refused  
+Domain Name Daemon  (DND_ERR.H);KErrDndBadQuery;-5130;Bad query from application (invalid domain name, etc.), not processed
+Domain Name Daemon  (DND_ERR.H);KErrDndNoRecord;-5131;No record found of the desired type and class.
+Domain Name Daemon  (DND_ERR.H);KErrDndNameTooBig;-5132;Buffer overflow with name 
+Domain Name Daemon  (DND_ERR.H);KErrDndUnknown;-5133;Misc error - must be something wrong with the packet or the NS
+Domain Name Daemon  (DND_ERR.H);KErrDndServerUnusable;-5134;The server is unusable for the attempted query (for example, not allowing recursion)
+;;;
+
+;//IPSEC Error Codes;;
+IPSEC  (IPSECERR.H);EIpsec_NotANATTPacket;-5154;UDP packet is NOT a NAT Taversal packet
+IPSEC  (IPSECERR.H);EIpsec_NoInnerSource ;-5155;Cannot find inner-src for outbound packet when tunneling (for SECPOL)
+IPSEC  (IPSECERR.H);EIpsec_LostSA ;-5156;An SA has been lost betweenApply andVerify, expired? (for SECPOL)
+IPSEC  (IPSECERR.H);EIpsec_IcmpError ;-5157;An ICMP error report containing AH orESP (for INET6)
+IPSEC  (IPSECERR.H);EIpsec_PolicyUnknownSelector;-5158;unknown selector keyword
+IPSEC  (IPSECERR.H);EIpsec_PolicyInboundOutbound;-5159;Only one of the 'inbound' or 'outbound' is allowed
+IPSEC  (IPSECERR.H);EIpsec_PolicyIpMaskExpected;-5160;Expected IP address (as mask) here
+IPSEC  (IPSECERR.H);EIpsec_PolicyIpAddressExpected;-5161;Expected IP address here
+IPSEC  (IPSECERR.H);EIpsec_PolicyInvalidIpAddress;-5162;Invalid IP address
+IPSEC  (IPSECERR.H);EIpsec_PolicyRightParen ;-5163;Right parenthesis expected
+IPSEC  (IPSECERR.H);EIpsec_PolicyLeftParen ;-5164;Left parenthesis expected
+IPSEC  (IPSECERR.H);EIpsec_PolicySpecNotFound;-5165;SA specification is not defined before reference in selector
+IPSEC  (IPSECERR.H);EIpsec_PolicySyntaxError ;-5166;Generic delimiter error inspecification
+IPSEC  (IPSECERR.H);EIpsec_PolicySpecName ;-5167;SA specification name missing or invalid
+IPSEC  (IPSECERR.H);EIpsec_PolicyNoEncryptAlgorithm   ;-5168;ESP specification must include encryptionb algorithm
+IPSEC  (IPSECERR.H);EIpsec_PolicyNoAuthAlgorithm      ;-5169;AH specification must include authentication algorithm
+IPSEC  (IPSECERR.H);EIpsec_PolicyTooManyTypes;-5170;Type can be specified onlyonce for specification
+IPSEC  (IPSECERR.H);EIpsec_PolicyNoType ;-5171;SA type (AH or ESP) omittedfrom specification
+IPSEC  (IPSECERR.H);EIpsec_PolicyCloseBraceExpected   ;-5172;closing brace expected
+IPSEC  (IPSECERR.H);EIpsec_PolicyNumberExpected       ;-5173;number value expected
+IPSEC  (IPSECERR.H);EIpsec_PolicyUnknownSpec ;-5174;unknown policy specification keyword
+IPSEC  (IPSECERR.H);EIpsec_PolicyInvalidIdentity      ;-5175;invalid identity syntax
+IPSEC  (IPSECERR.H);EIpsec_PolicyIdentityDefined      ;-5176;identify already defined
+IPSEC  (IPSECERR.H);EIpsec_PolicyUnknownAuth ;-5177;algorithm not defined in algorithm map
+IPSEC  (IPSECERR.H);EIpsec_PolicyUnknownEncrypt       ;-5178;algorithm not defined in algorithm map
+IPSEC  (IPSECERR.H);EIpsec_UnavailableDigest ;-5179;No installed library implements the digest
+IPSEC  (IPSECERR.H);EIpsec_UnavailableCipher ;-5180;No installed library implements the cipher
+IPSEC  (IPSECERR.H);EIpsec_UnknownDigestNumber        ;-5181;Attempting to use algorithmnumber that is not known
+IPSEC  (IPSECERR.H);EIpsec_UnknownCipherNumber        ;-5182;Attempting to use algorithmnumber that is not known
+IPSEC  (IPSECERR.H);EIpsec_BadCipherKey ;-5183;Key in SA is too short (forthe algorithm) or is weak
+IPSEC  (IPSECERR.H);EIpsec_MismatchDestinationIdentity;-5184;destination identity does not match
+IPSEC  (IPSECERR.H);EIpsec_MismatchSourceIdentity     ;-5185;source identity does not match
+IPSEC  (IPSECERR.H);EIpsec_MismatchProtocol ;-5186;protocol does not match
+IPSEC  (IPSECERR.H);EIpsec_MismatchDestinationPort    ;-5187;destination port does not match
+IPSEC  (IPSECERR.H);EIpsec_MismatchSourcePort;-5188;source port does not match
+IPSEC  (IPSECERR.H);EIpsec_MismatchProxy ;-5189;proxy address does not match
+IPSEC  (IPSECERR.H);EIpsec_MismatchSource ;-5190;source address does not match
+IPSEC  (IPSECERR.H);EIpsec_MismatchReplayWindow       ;-5191;ReplayWindow length is shorter than required
+IPSEC  (IPSECERR.H);EIpsec_MismatchedEncryptAlg       ;-5192;Encrypt algorithm doesn't match
+IPSEC  (IPSECERR.H);EIpsec_MismatchedAuthAlg ;-5193;Auth algorithm doesn't match
+IPSEC  (IPSECERR.H);EIpsec_MismatchedPFS ;-5194;PFS bit is not same
+IPSEC  (IPSECERR.H);EIpsec_MismatchedType ;-5195;SA Type (AH/ESP) does not match
+IPSEC  (IPSECERR.H);EIpsec_MismatchedDestination     ;-5196;SA destination does not match (internal error?)
+IPSEC  (IPSECERR.H);EIpsec_AcquireFailed ;-5197;Acquiring SA failed (no SAavailableor negotiated)
+IPSEC  (IPSECERR.H);EIpsec_EspBadCipherBlockSize    ;-5198;Configuration error, cipherblock size must be < 256
+IPSEC  (IPSECERR.H);EIpsec_EspSequenceWrap ;-5199;Outbound sequence # wrappedaround for this SA
+IPSEC  (IPSECERR.H);EIpsec_AhSequenceWrap ;-5200;Outbound sequence # wrappedaround for this SA
+IPSEC  (IPSECERR.H);EIpsec_AhPacketTooLong ;-5201;Outbound packet would exeed2**16-1 with AH
+IPSEC  (IPSECERR.H);EIpsec_AhRMBufSplit ;-5202;Inbound AH processing failed (Memory?)
+IPSEC  (IPSECERR.H);EIpsec_NoBundle ;-5203;Incoming packet had transforms, but policy doesn't require any
+IPSEC  (IPSECERR.H);EIpsec_TooManyTransforms ;-5204;Incoming packet had more transforms than policy requires
+IPSEC  (IPSECERR.H);EIpsec_UnrequiredSA ;-5205;Applied SA where policy hasnone
+IPSEC  (IPSECERR.H);EIpsec_MismatchedSA ;-5206;Applied SA does not match the policy
+IPSEC  (IPSECERR.H);EIpsec_TunnelMismatch ;-5207;Tunnelmode does not match the policy
+IPSEC  (IPSECERR.H);EIpsec_TooFewTransforms ;-5208;Incoming packet has less transforms than policy requires
+IPSEC  (IPSECERR.H);EIpsec_MaxTransforms ;-5209;Incoming packet exceed configured maxlimit of transforms
+IPSEC  (IPSECERR.H);EIpsec_NoSelectorMatch ;-5210;None of the policy selectors matched
+IPSEC  (IPSECERR.H);EIpsec_OutboundPending ;-5211;Outbooud SA does not exits,ACQUIRE pending
+IPSEC  (IPSECERR.H);EIpsec_OutboundNotFound ;-5212;Outbound SA does not exist,ACQUIRE started
+IPSEC  (IPSECERR.H);EIpsec_ReplayDuplicate ;-5213;Duplicate packet (replay window test)
+IPSEC  (IPSECERR.H);EIpsec_EspPadLength ;-5214;The ESP pad length is corrupt (probably wrong key)
+IPSEC  (IPSECERR.H);EIpsec_EspPadByte ;-5215;The ESP pad byte content isinvalid (probably wrong key)
+IPSEC  (IPSECERR.H);EIpsec_DataAlignment ;-5216;Data not aligned by block size
+IPSEC  (IPSECERR.H);EIpsec_PacketLength ;-5217;Invalid lenght of the packet
+IPSEC  (IPSECERR.H);EIpsec_AhAuthentication ;-5218;Authentication check failedin AH
+IPSEC  (IPSECERR.H);EIpsec_AhIcvLength ;-5219;ICV length in packet does not match algorithm
+IPSEC  (IPSECERR.H);EIpsec_AhInboundSA ;-5220;The inbound SA for AH doesnot exist
+IPSEC  (IPSECERR.H);EIpsec_AhAuthAlg ;-5221;Required auth algorithm forAH not available/installed
+IPSEC  (IPSECERR.H);EIpsec_EspEncrAlg ;-5222;Required encrypt algorithmfor ESP not available/installed
+IPSEC  (IPSECERR.H);EIpsec_EspAuthAlg ;-5223;Required auth algorithm forESP not available/installed
+IPSEC  (IPSECERR.H);EIpsec_EspAuthentication ;-5224;Authentication check failedin ESP
+IPSEC  (IPSECERR.H);EIpsec_EspInboundSA ;-5225;The inbound SA for ESP doesnot exist
+IPSEC  (IPSECERR.H);EIpsec_CorruptPacketOut ;-5226;Corrupt packet after IPSECoperations
+IPSEC  (IPSECERR.H);EIpsec_CorruptPacketIn ;-5227;Truncated or corrupt packetor header(in)
+IPSEC  (IPSECERR.H);EIpsec_RMBUF;-5228;RMBUF operation failed unexpectedly
+
+
+;//IR OBEX Error Codes;;
+IR OBEX  (OBEX.H);KErrIrObexClientNoDevicesFound;-5501;No other infrared device found
+IR OBEX  (OBEX.H);KErrIrObexClientPeerDoesNotHaveObex;-5502;Other IR device cannot handle IrObex 
+IR OBEX  (OBEX.H);KErrIrObexClientPutPeerAborted;-5503;Other IR device aborted the transfer 
+IR OBEX  (OBEX.H);KErrIrObexServerPutPeerAborted;-5507;Peer device aborted data transmission/obex sending 
+IR OBEX  (OBEX.H);KErrIrObexConnectChallRejected;-5512;Cannot authorise the challenge so link dropped 
+IR OBEX  (OBEX.H);KErrIrObexRespSuccess;-5532;
+IR OBEX  (OBEX.H);KErrIrObexRespCreated;-5533;
+IR OBEX  (OBEX.H);KErrIrObexRespAccepted ;-5534;
+IR OBEX  (OBEX.H);KErrIrObexRespNonAuthInfo;-5535;
+IR OBEX  (OBEX.H);KErrIrObexRespNoContent;-5536;
+IR OBEX  (OBEX.H);KErrIrObexRespResetContent;-5537;
+IR OBEX  (OBEX.H);KErrIrObexRespPartialContent;-5538;
+IR OBEX  (OBEX.H);KErrIrObexRespMultipleChoices;-5548;
+IR OBEX  (OBEX.H);KErrIrObexRespMovedPerm;-5549;
+IR OBEX  (OBEX.H);KErrIrObexRespMovedTemp;-5550;
+IR OBEX  (OBEX.H);KErrIrObexRespSeeOther;-5551;
+IR OBEX  (OBEX.H);KErrIrObexRespNotModified;-5552;
+IR OBEX  (OBEX.H);KErrIrObexRespUseProxy;-5553;
+IR OBEX  (OBEX.H);KErrIrObexRespBadRequest;-5564
+IR OBEX  (OBEX.H);KErrIrObexRespUnauthorized;-5565
+IR OBEX  (OBEX.H);KErrIrObexRespPaymentRequired;-5566
+IR OBEX  (OBEX.H);KErrIrObexRespForbidden;-5567
+IR OBEX  (OBEX.H);KErrIrObexRespNotFound;-5568
+IR OBEX  (OBEX.H);KErrIrObexRespMethodNotAllowed;-5569
+IR OBEX  (OBEX.H);KErrIrObexRespNotAcceptable;-5570
+IR OBEX  (OBEX.H);KErrIrObexRespProxyAuthenReqd;-5571
+IR OBEX  (OBEX.H);KErrIrObexRespTimedOut;-5572
+IR OBEX  (OBEX.H);KErrIrObexRespConflict;-5573
+IR OBEX  (OBEX.H);KErrIrObexRespGone;-5574
+IR OBEX  (OBEX.H);KErrIrObexRespLengthReqd;-5575
+IR OBEX  (OBEX.H);KErrIrObexRespPreCondFailed;-5576
+IR OBEX  (OBEX.H);KErrIrObexRespReqEntityTooLarge;-5577
+IR OBEX  (OBEX.H);KErrIrObexRespReqURLTooLarge;-5578
+IR OBEX  (OBEX.H);KErrIrObexRespUnsupMediaType;-5579
+IR OBEX  (OBEX.H);KErrIrObexRespInternalError;-5580
+IR OBEX  (OBEX.H);KErrIrObexRespNotImplemented;-5581
+IR OBEX  (OBEX.H);KErrIrObexRespBadGateway;-5582
+IR OBEX  (OBEX.H);KErrIrObexRespServiceUnavail;-5583
+IR OBEX  (OBEX.H);KErrIrObexRespGatewayTimeout;-5584
+IR OBEX  (OBEX.H);KErrIrObexRespHTTPVerNotSupp;-5585
+IR OBEX  (OBEX.H);KErrIrObexRespDatabaseFull;-5596
+IR OBEX  (OBEX.H);KErrIrObexRespDatabaseLocked;-5597
+
+
+;//VCard / VCal Parser Error Codes;
+Versit (VERROR.H);KVersitErrCodeBase;-5750
+Versit (VERROR.H);KVersitErrBadDateTime;-5751
+Versit (VERROR.H);KVersitErrRepeatTypeNotHandled;-5752
+Versit (VERROR.H);KVersitErrBadRepeatValue;-5753
+Versit (VERROR.H);KVersitErrBadTimeZone;-5754
+Versit (VERROR.H);KVersitErrBadTimePeriod;-5755;
+Versit (VERROR.H);KVersitErrNumberExpected;-5756;
+Versit (VERROR.H);KVersitErrNestedVcardExpected;-5757;
+Versit (VERROR.H);KVersitErrNoPropertyName;-5758;
+
+
+;//Bluetooth HCI Error Codes;;
+Bluetooth HCI  (HCIERRORS.H);EOK;-6000;HCI OK errorcode - Used to indicate the absence of any error condition
+Bluetooth HCI  (HCIERRORS.H);EUnknownOpcode;-6001;HCI unknownopcode error code
+Bluetooth HCI  (HCIERRORS.H);ENoConnection;-6002;HCI no connection error code
+Bluetooth HCI  (HCIERRORS.H);EHardwareFail;-6003;HCI hardwarefailure error code
+Bluetooth HCI  (HCIERRORS.H);EPageTimedOut;-6004;HCI page timeout error code
+Bluetooth HCI  (HCIERRORS.H);EAuthenticationFailure;-6005;HCI authentification failure error code
+Bluetooth HCI  (HCIERRORS.H);EKeyMissing;-6006;HCI key missing error code
+Bluetooth HCI  (HCIERRORS.H);EKeyMemoryFull;-6007;HCI key memory full error code
+Bluetooth HCI  (HCIERRORS.H);EConnectionTimeout;-6008;HCI connection timeout error code
+Bluetooth HCI  (HCIERRORS.H);EMaxConnections;-6009;HCI maximumnumber of connections exceeded error code
+Bluetooth HCI  (HCIERRORS.H);EMaxSCOConnections;-6010;HCI maximumnumber of SCO connections exceeded error code
+Bluetooth HCI  (HCIERRORS.H);EMaxACLConnections;-6011;HCI maximumnumber of ACL connections exceeded error code
+Bluetooth HCI  (HCIERRORS.H);ECommandDisallowed;-6012;HCI commanddisallowed error code
+Bluetooth HCI  (HCIERRORS.H);EHostResourceRejection;-6013;HCI host resource rejection error code
+Bluetooth HCI  (HCIERRORS.H);EHostSecurityRejection;-6014;HCI host security rejection error code
+Bluetooth HCI  (HCIERRORS.H);EHostPersonalDeviceRejection;-6015;HCI host personal device rejection error code
+Bluetooth HCI  (HCIERRORS.H);ERemoteHostTimeout;-6016;HCI remote host timeout error code
+Bluetooth HCI  (HCIERRORS.H);EUnsupportedParameter;-6017;HCI unsupported parameter error code
+Bluetooth HCI  (HCIERRORS.H);EInvalidHCIParameter;-6018;HCI invalid HCI parameter error code
+Bluetooth HCI  (HCIERRORS.H);ERemoteUserEndedConnection;-6019;HCI remote device user ended connection error code
+Bluetooth HCI  (HCIERRORS.H);ERemoteLowResources;-6020;HCI remote device low resources error code
+Bluetooth HCI  (HCIERRORS.H);ERemoteAboutToPowerOff;-6021;HCI remote device about to power off error code
+Bluetooth HCI  (HCIERRORS.H);ETerminatedByLocalHost;-6022;HCI treminated by local host error code
+Bluetooth HCI  (HCIERRORS.H);ERepeatedAttempts;-6023;HCI repeated attempts error code
+Bluetooth HCI  (HCIERRORS.H);EPairingNotAllowed;-6024;HCI pairingnot allowed error code
+Bluetooth HCI  (HCIERRORS.H);EUnknownLMPpdu;-6025;HCI unknown LMP PDU error code
+Bluetooth HCI  (HCIERRORS.H);EUnsupportedRemoteLMPFeature;-6026;HCI unsupported remote LMP feature error code
+Bluetooth HCI  (HCIERRORS.H);ESCOOffsetRejected;-6027;HCI SCO offset rejected error code
+Bluetooth HCI  (HCIERRORS.H);ESCOIntervalRejected;-6028;HCI SCO interval rejected error code
+Bluetooth HCI  (HCIERRORS.H);ESCOAirModeRejected;-6029;HCI SCO airmode rejected error code
+Bluetooth HCI  (HCIERRORS.H);EInvalidLMPParameters;-6030;HCI invalid LMP parameters error code
+Bluetooth HCI  (HCIERRORS.H);EUnspecifiedError;-6031;HCI unspecified error code
+Bluetooth HCI  (HCIERRORS.H);EUnsupportedLMPParameterValue;-6032;HCI unsupported LMP parameter value error code
+Bluetooth HCI  (HCIERRORS.H);ERoleChangeNotAllowed;-6033;HCI role change not allowed error code
+Bluetooth HCI  (HCIERRORS.H);ELMPResponseTimeout;-6034;HCI LMP response timeout error code
+Bluetooth HCI  (HCIERRORS.H);ELMPErrorTransactionCollision;-6035;HCI LMP error transaction collision error code
+Bluetooth HCI  (HCIERRORS.H);ELMPPDUNotAllowed;-6036;HCI LMP PDU not allowed error code
+Bluetooth HCI  (HCIERRORS.H);EEncryptionModeNotAcceptable;-6037;HCI encryption mode not acceptable error code
+Bluetooth HCI  (HCIERRORS.H);EUnitKeyUsed;-6038;HCI unit key not used error code
+Bluetooth HCI  (HCIERRORS.H);EQOSIsNotSupported;-6039;HCI QOS notsupported error code
+Bluetooth HCI  (HCIERRORS.H);EInstantPassed;-6040;HCI instant passed error code
+Bluetooth HCI  (HCIERRORS.H);EPairingWithUnitKeyNotSupported;-6041;HCI pairing with unit key not supported error code;
+Bluetooth HCI  (HCIERRORS.H);EDifferentTransactionCollision;-6042; ;
+Bluetooth HCI  (HCIERRORS.H);Reserved by Bluetooth Spec;-6043; ;
+Bluetooth HCI  (HCIERRORS.H);EQoSUnacceptableParameter;-6044;HCI bad parameter error code;
+Bluetooth HCI  (HCIERRORS.H);EQoSRejected;-6045;HCI quality of service not accepted error code;
+Bluetooth HCI  (HCIERRORS.H);EChannelClassificationNotSupported;-6046;HCI adaptive frequency hopping channel classification not supported error code;
+Bluetooth HCI  (HCIERRORS.H);EInsufficientSecurity;-6047;HCI insufficient security error code;
+Bluetooth HCI  (HCIERRORS.H);EParameterOutOfMandatoryRange;-6048;HCI parameter value outside required range error code;
+Bluetooth HCI  (HCIERRORS.H);Reserved by Bluetooth Spec;-6049; ;
+Bluetooth HCI  (HCIERRORS.H);ERoleSwitchPending;-6050;HCI failure because a masterslave role switch is about to take place error code;
+Bluetooth HCI  (HCIERRORS.H);Reserved by Bluetooth Spec;-6051; ;
+Bluetooth HCI  (HCIERRORS.H);EReservedSlotViolation;-6052;HCI use of reserved baseband packet slot error code;HCI Error Code
+Bluetooth HCI  (HCIERRORS.H);ERoleSwitchFailed;-6053;HCI masterslave role switch failed error code;
+;;;;0x00
+;//Bluetooth L2CAP Error Codes;;;0x0a
+Bluetooth L2CAP  (BT_SOCK.H);KErrBadAddress ;-6300; L2CAP Bad address error code ;0x0b
+Bluetooth L2CAP  (BT_SOCK.H);KErrSAPUnexpectedEvent ;-6301; L2CAP unexpected SAP event error code ;0x0c
+Bluetooth L2CAP  (BT_SOCK.H);KErrBadPacketReceived ;-6302; L2CAP bad packet received error code ;0x0d
+Bluetooth L2CAP  (BT_SOCK.H);KErrL2CAPBadResponse ;-6303; L2CAP bad response error code ;0x0e
+Bluetooth L2CAP  (BT_SOCK.H);KErrHCIConnectFailed ;-6304; L2CAP HCI connection failed error code ;0x0f
+Bluetooth L2CAP  (BT_SOCK.H);KErrHCILinkDisconnection ;-6305; L2CAP HCI link disconnection error code ;0x10
+Bluetooth L2CAP  (BT_SOCK.H);KErrSAPNotConnected ;-6306; L2CAP SAP not connected error code ;0x11
+Bluetooth L2CAP  (BT_SOCK.H);KErrConfigBadParams ;-6307; L2CAP bad configuration parameters error code ;0x12
+Bluetooth L2CAP  (BT_SOCK.H);KErrConfigRejected ;-6308; L2CAP configuration rejected error code ;0x13
+Bluetooth L2CAP  (BT_SOCK.H);KErrConfigUnknownOptions ;-6309; L2CAP unknown configuration options error code ;0x14
+Bluetooth L2CAP  (BT_SOCK.H);KErrL2PeerDisconnected ;-6310; L2CAP peer disconnected error code ;0x15
+Bluetooth L2CAP  (BT_SOCK.H);KErrL2CAPAccessRequestDenied ;-6311; L2CAP access request denied error code ;0x16
+Bluetooth L2CAP  (BT_SOCK.H);KErrL2CAPRequestTimeout ;-6312; L2CAP request timeout error code ;0x17
+Bluetooth L2CAP  (BT_SOCK.H);KErrL2PeerRejectedCommand ;-6313; L2CAP peer rejected command error code ;0x18
+Bluetooth L2CAP  (BT_SOCK.H);KErrHostResNameTooLong ;-6314; L2CAP host resolver name too long error code ;0x19
+Bluetooth L2CAP  (BT_SOCK.H);KErrL2CAPNoMorePSMs ;-6315; L2CAP no more PSMs error code ;0x1a
+Bluetooth L2CAP  (BT_SOCK.H);KErrL2CAPMaxTransmitExceeded ;-6316; L2CAP in reliable mode: the maximum L2Cap retransmissions have been made and channel will disconnect error code;0x1b
+Bluetooth L2CAP  (BT_SOCK.H);KErrL2CAPDataControllerDetached ;-6317; L2CAP problems (e.g. no memory) whilst sending data error code;0x1c
+Bluetooth L2CAP  (BT_SOCK.H);KErrL2CAPConfigPending ;-6318; L2CAP configuration is in progress error code;0x1d
+Bluetooth L2CAP  (BT_SOCK.H);KErrL2CAPConfigAlreadyInProgress ;-6319; L2CAP attempt to alter config whilst configuration is in progress error code;0x1f
+Bluetooth L2CAP  (BT_SOCK.H);KErrL2CAPNoFreeCID ;-6320; L2CAP no more channel IDs available error code;0x20
+;;;;0x21
+;//Bluetooth RFCOMM Error Codes;;;0x26
+Bluetooth RFCOMM  (BT_SOCK.H);KErrRfcommSAPUnexpectedEvent ;-6350; RFCOMM unexpected event error code. ;0x28
+Bluetooth RFCOMM  (BT_SOCK.H);KErrRfcommAlreadyBound ;-6351; RFCOMM SAP already bound error code. ;0x29
+Bluetooth RFCOMM  (BT_SOCK.H);KErrRfcommBadAddress ;-6352; RFCOMM bad address error code. ;0x2a
+Bluetooth RFCOMM  (BT_SOCK.H);KErrRfcommMTUSize ;-6353; RFCOMM MTU size exceeded error code. ;0x2b
+Bluetooth RFCOMM  (BT_SOCK.H);KErrRfcommFrameResponseTimeout ;-6354; RFCOMM frame response timeout error code. ;0x2c
+Bluetooth RFCOMM  (BT_SOCK.H);KErrRfcommMuxRemoteDisconnect ;-6355; RFCOMM remote end disconnected error code. ;0x2d
+Bluetooth RFCOMM  (BT_SOCK.H);KErrRfcommNotBound ;-6356; RFCOMM SAP not bound error code. ;0x2e
+Bluetooth RFCOMM  (BT_SOCK.H);KErrRfcommParameterNegotiationFailure ;-6357; RFCOMM parameter negotiation failure error code. ;0x2f
+Bluetooth RFCOMM  (BT_SOCK.H);KErrRfcommNotListening ;-6358; RFCOMM not listening error code. ;0x30
+Bluetooth RFCOMM  (BT_SOCK.H);KErrRfcommNoMoreServerChannels ;-6359; RFCOMM no more server channels available error code. ;0x31
+;;;;0x32
+;// Bluetooth AVCTP Error Codes;;;0x34
+Bluetooth AVCTP  (BT_SOCK.H);KErrAvctpBadAddress ;-6400; AVCTP bad address error code ;0x35
+Bluetooth AVCTP  (BT_SOCK.H);KErrAvctpSAPUnexpectedEvent ;-6401; AVCTP unexpected SAP event error code ;
+Bluetooth AVCTP  (BT_SOCK.H);KErrAvctpBadPacketReceived ;-6402; AVCTP bad packet received error code ;
+Bluetooth AVCTP  (BT_SOCK.H);KErrAvctpBadResponse ;-6403; AVCTP bad response error code ;
+Bluetooth AVCTP  (BT_SOCK.H);KErrAvctpConnectFailed ;-6404; AVCTP connect failed error code ;
+Bluetooth AVCTP  (BT_SOCK.H);KErrAvctpLinkDisconnection ;-6405; AVCTP link disconnection error code ;
+Bluetooth AVCTP  (BT_SOCK.H);KErrAvctpSAPNotConnected ;-6406; AVCTP SAP not connected error code ;
+Bluetooth AVCTP  (BT_SOCK.H);KErrAvctpPeerDisconnected ;-6407; AVCTP peer disconnection error code ;
+Bluetooth AVCTP  (BT_SOCK.H);KErrAvctpAccessRequestDenied ;-6408; AVCTP access request denied error code ;
+Bluetooth AVCTP  (BT_SOCK.H);KErrAvctpRequestTimeout ;-6409; AVCTP request timeout error code ;
+Bluetooth AVCTP  (BT_SOCK.H);KErrAvctpPeerRejectedCommand ;-6410; AVCTP peer rejected command error code ;
+
+;//Bluetooth SDP Error Codes;;;
+Bluetooth SDP  (BTSDP.H);KErrSdpAlreadyBound;-6400;Cannot bind to specifed sockets protocol, as already bound;
+Bluetooth SDP  (BTSDP.H);KErrSdpPeerError;-6401;Remote device gave unknown error
+Bluetooth SDP  (BTSDP.H);KErrSdpClientNotConnected;-6402;Local device is not connected
+Bluetooth SDP  (BTSDP.H);KErrSdpUnsupportedVersion;-6403;Invalid/unsupported SDP version
+Bluetooth SDP  (BTSDP.H);KErrSdpBadRecordHandle;-6404;Invalid Service Record Handle
+Bluetooth SDP  (BTSDP.H);KErrSdpBadContinuationState;-6405;Invalid ContinuationState
+Bluetooth SDP  (BTSDP.H);KErrSdpServerRejectedRequest;-6406;SDP server rejected the request
+Bluetooth SDP  (BTSDP.H);KErrSdpBadRequestBufferLength;-6407;Request buffer was ill-formed
+Bluetooth SDP  (BTSDP.H);KErrSdpBadResultBufferLength;-6408;Result buffer was ill-formed
+Bluetooth SDP  (BTSDP.H);KErrSdpBadUUIDLength;-6409;UUID entry was ill-formed
+Bluetooth SDP  (BTSDP.H);KErrSdpBadResultData;-6410;Response was ill-formed
+Bluetooth SDP  (BTSDP.H);KErrSdpDatabaseFull;-6411;SDP database is full
+
+;//Bluetooth Link manager Error Codes.;;
+Bluetooth Link Manager  (BTSOCK.H);KErrInsufficientBasebandResources ;-6450; Insufficient baseband resources error value 
+Bluetooth Link Manager  (BTSOCK.H);KErrProxyWriteNotAvailable ;-6451; Proxy write not available error value 
+Bluetooth Link Manager  (BTSOCK.H);KErrReflexiveBluetoothLink ;-6452; Reflexive BT link error value 
+
+
+;//Message Server Error Codes;;
+Message Server  (MSVSTD.H);KMsvMediaUnavailable;-7000;There is no disk in the drive containing the Message Server index
+Message Server  (MSVSTD.H);KMsvMediaIncorrect;-7001;There is a disk in the drive containing the Message Server index, but it is the wrong one
+Message Server  (MSVSTD.H);KMsvMediaChanged;-7002;
+Message Server  (MSVSTD.H);KMsvIndexBackup     ;-7003;
+Message Server  (MSVSTD.H);KMsvIndexRestore;-7004;
+
+
+;//HTTP Error Codes;;
+HTTP Client  (HTTPERR.H);KErrHttpEncodeDefault          ;-7200;Error making a default encoding of unrecognised headers
+HTTP Client  (HTTPERR.H);KErrHttpEncodeAccept           ;-7201;Error encoding the Accept field
+HTTP Client  (HTTPERR.H);KErrHttpEncodeAcceptCharset    ;-7202;Error encoding the Accept-Charset field
+HTTP Client  (HTTPERR.H);KErrHttpEncodeQValue           ;-7203;Error encoding a q-value parameter
+HTTP Client  (HTTPERR.H);KErrHttpEncodeAuthorization    ;-7204;Error encoding the Authorization field
+HTTP Client  (HTTPERR.H);KErrHttpEncodeBasicAuth        ;-7205;Error encoding Basiccredentials
+HTTP Client  (HTTPERR.H);KErrHttpEncodeDigestAuth       ;-7206;Error encoding Digestcredentials
+HTTP Client  (HTTPERR.H);KErrHttpEncodeConnection       ;-7207;Error encoding the Connection field
+HTTP Client  (HTTPERR.H);KErrHttpEncodeContentLength    ;-7208;Error encoding the Content-Length field
+HTTP Client  (HTTPERR.H);KErrHttpEncodeContentType      ;-7209;Error encoding the Content-Type field
+HTTP Client  (HTTPERR.H);KErrHttpEncodeHost             ;-7210;Error encoding the Host field
+HTTP Client  (HTTPERR.H);KErrHttpEncodeHostPort         ;-7211;Error encoding the Host field's port parameter
+HTTP Client  (HTTPERR.H);KErrHttpEncodeTransferEncoding ;-7212;Error encoding the Transfer-Encoding field
+HTTP Client  (HTTPERR.H);KErrHttpEncodeUserAgent        ;-7213;Error encoding the User-Agent field
+HTTP Client  (HTTPERR.H);KErrHttpEncodeDate             ;-7214;Error encoding the Date field
+HTTP Client  (HTTPERR.H);KErrHttpEncodeCookie           ;-7215;Error encoding the Cookie field
+HTTP Client  (HTTPERR.H);KErrHttpEncodeCacheControl     ;-7216;Error encoding the Cache-Control field
+HTTP Client  (HTTPERR.H);KErrHttpEncodePragma           ;-7217;Error encoding the Pragma field
+HTTP Client  (HTTPERR.H);KErrHttpEncodeIfMatch          ;-7218;Error encoding the ifmatch field
+HTTP Client  (HTTPERR.H);KErrHttpEncodeIfNoneMatch      ;-7219;Error encoding the ifnone match field
+HTTP Client  (HTTPERR.H);KErrHttpEncodeIfModifiedSince  ;-7220;Error encoding the ifmodified since field
+HTTP Client  (HTTPERR.H);KErrHttpEncodeIfUnmodifiedSince;-7221;Error encoding the ifunmodified since field
+HTTP Client  (HTTPERR.H);KErrHttpEncodeCookie2          ;-7222;Error encoding the Cookie2 field
+
+;//Codec decoding errors for values found in HTTP headers;;
+HTTP Client  (HTTPERR.H);KErrHttpDecodeMalformedDate    ;-7260;General formatting error for date values
+HTTP Client  (HTTPERR.H);KErrHttpDecodeMalformedYear    ;-7261;Malformed year
+HTTP Client  (HTTPERR.H);KErrHttpDecodeMalformedMonth   ;-7262;Malformed short monthname
+HTTP Client  (HTTPERR.H);KErrHttpDecodeMalformedDay     ;-7263;Malformed number of day in month
+HTTP Client  (HTTPERR.H);KErrHttpDecodeMalformedWkDay   ;-7264;Malformed short day name
+HTTP Client  (HTTPERR.H);KErrHttpDecodeMalformedWeekDay ;-7265;Malformed long day name
+HTTP Client  (HTTPERR.H);KErrHttpDecodeMalformedInteger ;-7266;Malformed integer value
+HTTP Client  (HTTPERR.H);KErrHttpDecodeMalformedQuotedStr;-7267;Malformed quoted string
+
+;//Codec decoding errors for HTTP headers;;
+HTTP Client  (HTTPERR.H);KErrHttpDecodeAccept           ;-7270;Error decoding the Accept field
+HTTP Client  (HTTPERR.H);KErrHttpDecodeConnection       ;-7271;Error decoding the Connection field
+HTTP Client  (HTTPERR.H);KErrHttpDecodeContentLength    ;-7272;Error decoding the Content-Length field
+HTTP Client  (HTTPERR.H);KErrHttpDecodeContentType      ;-7273;Error decoding the Content-Type field
+HTTP Client  (HTTPERR.H);KErrHttpDecodeTransferEncoding ;-7274;Error decoding the Transfer-Encoding field
+HTTP Client  (HTTPERR.H);KErrHttpDecodeWWWAuthenticate  ;-7275;Error decoding the WWWAuthenticate field
+HTTP Client  (HTTPERR.H);KErrHttpDecodeUnknownAuthScheme;-7276;The WWWAuthenticate field contained an unrecognised authentication scheme
+HTTP Client  (HTTPERR.H);KErrHttpDecodeBasicAuth        ;-7277;Error decoding a Basic WWWAuthenticate challenge
+HTTP Client  (HTTPERR.H);KErrHttpDecodeDigestAuth       ;-7278;Error decoding a Digest WWWAuthenticate challenge
+HTTP Client  (HTTPERR.H);KErrHttpDecodeCookie           ;-7279;Error decoding a Set-Cookie field
+
+;//Response errors. These represent specific failure cases;;
+HTTP Client  (HTTPERR.H);KErrHttpRedirectExceededLimit      ;-7300;A uri redirected too many times, possibly indicating a circular redirection
+HTTP Client  (HTTPERR.H);KErrHttpRedirectUseProxy           ;-7301;A server responded that the uri must be fetched via a proxy
+HTTP Client  (HTTPERR.H);KErrHttpRedirectNoLocationField    ;-7302;A server sent a redirection response that did not include a Location header
+HTTP Client  (HTTPERR.H);KErrHttpUnknownParseState          ;-7303;An error occured in parsing which left the parser in a unknown state
+
+;//Request building errors: cause the Validation Filter to make a transaction fail and terminate;;
+HTTP Client  (HTTPERR.H);KErrHttpRequestHasBody                 ;-7330;A body is provided with a method that doesn't allow bodys to be transmitted
+HTTP Client  (HTTPERR.H);KErrHttpRequestBodyMissing             ;-7331;A body is missing from a method that requires it
+HTTP Client  (HTTPERR.H);KErrHttpTraceReqWithoutMaxForwardHeader;-7332;Should contain The Max-Forward header
+HTTP Client  (HTTPERR.H);KErrHttpPostReqBodyWithoutSizeOnHTTP10 ;-7333;Body must NOT be sent chunked if using HTTP/1.0
+HTTP Client  (HTTPERR.H);KErrHttpInvalidHeaderInRequest         ;-7334;Request contained a response header or a entity header but no body
+
+;//Missing but required header errors;;
+HTTP Client  (HTTPERR.H);KErrHttpEntityHeaderMissingContentType     ;-7360;A body was provided in the request but no Content-Type header was set
+HTTP Client  (HTTPERR.H);KErrHttpGeneralHeaderMissingHost           ;-7361;The request URI was relative, but no Host header was set to indicate a server to connect to
+
+;//Protocol handler errors;;
+HTTP Client  (HTTPERR.H);KErrHttpCantResetRequestBody           ;-7370;The request body needed to be rewound but the client but it doesn't support
+HTTP Client  (HTTPERR.H);KErrHttpProtTransactionNotInitialised  ;-7371;The Protocol handler is not initialised
+HTTP Client  (HTTPERR.H);KErrHttpCannotEstablishTunnel          ;-7372;Unable to establish a tunnel.
+HTTP Client  (HTTPERR.H);KErrHttpInvalidUri                     ;-7373;Invalid URI
+HTTP Client  (HTTPERR.H);KErrHttpNonPipeliningError             ;-7374;Protocol handler experienced a non-pipelining error
+HTTP Client  (HTTPERR.H);KErrHttpPipeliningError                ;-7375;Protocol handler experienced a pipelining error
+
+
+;//Error code definitions for TLS.;;
+SSL/TLS  (SSLERR.H);KErrSSLNoSharedCipher        ;-7401;No shared cipher was found. The handshake failed becausethere was no available shared cipher supported by both the client and the server.
+SSL/TLS  (SSLERR.H);KErrSSLSocketBusy;-7402;The socket already has received data pending on it. This error is seen when StartClientHandshake is called when  there is already data waiting to be read from the socket. *
+SSL/TLS  (SSLERR.H);KErrSSLInvalidCipherSuite    ;-7403; One or more cipher suites passed as an argument was invalid.
+SSL/TLS  (SSLERR.H);KErrSSLInvalidCert;-7404;The certificate that was passed as an argument was invalid.
+SSL/TLS  (SSLERR.H);KErrSSLNoClientCert;-7405; No client certificate was supplied.
+SSL/TLS  (SSLERR.H);KErrSSLUnsupportedKeySize    ;-7406; The size of the key is toobig.
+SSL/TLS  (SSLERR.H);KErrSSLUnsupportedKey        ;-7407; General unsupported key error
+SSL/TLS  (SSLERR.H);KErrSSLBadRecordHeader       ;-7408; An invalid record was received.
+;;;
+;// Handshake related errors;;
+SSL/TLS  (SSLERR.H);KErrSSLBadProtocolVersion    ;-7409; Invalid protocol version.
+SSL/TLS  (SSLERR.H);KErrSSL2ServerOnly;-7410; The server only supports the SSL2.0 protocol.
+SSL/TLS  (SSLERR.H);KErrSSLUnexpectedMessage     ;-7411; Unexpected message.
+SSL/TLS  (SSLERR.H);KErrSSLUnsupportedCipher     ;-7412; Unsupported cipher.
+SSL/TLS  (SSLERR.H);KErrSSLBadMAC;-7413; Bad MAC.
+SSL/TLS  (SSLERR.H);KErrSSLReceivedAlert;-7414; An SSL alert was received from the remote end, which caused the connection to be terminated.
+SSL/TLS  (SSLERR.H);KErrSSLRecvNotSupportedHS    ;-7415; An invalid handshake message was received.
+SSL/TLS  (SSLERR.H);KErrSSLHSRecordFieldTooBig   ;-7416; A field in the handshake record being parsed was too big.
+SSL/TLS  (SSLERR.H);KErrSSLRecordHeaderTooBig    ;-7417; Record header field too big.
+SSL/TLS  (SSLERR.H);KErrSSLSendDataTooBig            ;-7418; Send data field too big.
+SSL/TLS  (SSLERR.H);KErrSSLNoCertificate;-7419; No certificate.
+SSL/TLS  (SSLERR.H);KErrSSLInvalidHash;-7420; Invalid hash.
+SSL/TLS  (SSLERR.H);KErrSSLSendCanceled;-7421; Send cancelled.
+SSL/TLS  (SSLERR.H);KErrSSLRecvCanceled;-7422; Receieve cancelled.
+SSL/TLS  (SSLERR.H);KErrSSLHandshakeCanceled     ;-7423; CancelHandshake was calledduring one of the handshake methods.
+SSL/TLS  (SSLERR.H);KErrSSLWriteFailed;-7424; Write failed.
+SSL/TLS  (SSLERR.H);KErrSSLFailedToLoad;-7425; The SSL.dll couldn't be loaded by the adaptor.
+SSL/TLS  (SSLERR.H);KErrSSLDisconnectIndication  ;-7426; An unspecified error was signaled from the SSL.dll to the adaptor.
+SSL/TLS  (SSLERR.H);KErrSSLDllLeave;-7427; A leave occured in the SSL.dll.
+;;;
+;// Equivalent to the standard TLS protocol message errors as defined in the TLS RFC. ;;
+SSL/TLS  (SSLERR.H);KErrSSLAlertCloseNotify              ;-7500; Close notification.
+SSL/TLS  (SSLERR.H);KErrSSLAlertUnexpectedMessage        ;-7510; An inappropriate message was received.
+SSL/TLS  (SSLERR.H);KErrSSLAlertBadRecordMac             ;-7520; A record was received withan incorrect MAC.
+SSL/TLS  (SSLERR.H);KErrSSLAlertDecryptionFailed         ;-7521; A TLS cipher text was decrypted in an invalid way.
+SSL/TLS  (SSLERR.H);KErrSSLAlertRecordOverflow           ;-7522; A TLS cipher text record was received which was too long.
+SSL/TLS  (SSLERR.H);KErrSSLAlertDecompressionFailure     ;-7530; The decompression functionreceived improper input.
+SSL/TLS  (SSLERR.H);KErrSSLAlertHandshakeFailure         ;-7540; With given the options available, the sender was unable to negotiate an acceptable set of security parameters.
+SSL/TLS  (SSLERR.H);KErrSSLAlertNoCertificate            ;-7541; No certificate.
+SSL/TLS  (SSLERR.H);KErrSSLAlertBadCertificate           ;-7542; A certificate was corrupt,e.g. contained signatures that could not be verified.
+SSL/TLS  (SSLERR.H);KErrSSLAlertUnsupportedCertificate   ;-7543; The certificate was of an unsupported type.
+SSL/TLS  (SSLERR.H);KErrSSLAlertCertificateRevoked       ;-7544; The certificate was revoked.
+SSL/TLS  (SSLERR.H);KErrSSLAlertCertificateExpired       ;-7545; The certificate was expired.
+SSL/TLS  (SSLERR.H);KErrSSLAlertCertificateUnknown       ;-7546; An unspecified problem withthe certificate. Certificate can not be used.
+SSL/TLS  (SSLERR.H);KErrSSLAlertIllegalParameter         ;-7547; A field in the handshake was out of range or inconsistent with other fields.
+SSL/TLS  (SSLERR.H);KErrSSLAlertUnknownCA                ;-7548; Either the CA certificate could not be located or the CA could not be matched with a known trusted CA.
+SSL/TLS  (SSLERR.H);KErrSSLAlertAccessDenied             ;-7549; A valid certificate was received, but the access control denied access.
+SSL/TLS  (SSLERR.H);KErrSSLAlertDecodeError              ;-7550; A message could not be decoded, e.g. some field was out of the specified range.
+SSL/TLS  (SSLERR.H);KErrSSLAlertDecryptError             ;-7551; A handshake cryptographic operation failed.
+SSL/TLS  (SSLERR.H);KErrSSLAlertExportRestriction        ;-7560; A negotiation was not allowed due to export restrictions.
+SSL/TLS  (SSLERR.H);KErrSSLAlertProtocolVersion          ;-7570; The protocol version was not supported, e.g. the client has attempted to negotiate a recognised, but unsupportedprotocol.
+SSL/TLS  (SSLERR.H);KErrSSLAlertInsufficientSecurity     ;-7571; Returned instead of KErrSSLAlertHandshakeFailure when the negotiation fails because the server requests ciphers more secure than those supported by the client.
+SSL/TLS  (SSLERR.H);KErrSSLAlertInternalError            ;-7580; An internal error.
+SSL/TLS  (SSLERR.H);KErrSSLAlertUserCanceled             ;-7590; This handshake is being cancelled by the user.
+SSL/TLS  (SSLERR.H);KErrSSLAlertNoRenegotiation          ;-7600; No renegotiation will be accepted.
+
+
+;//Transport-related errors;;
+SyncML  (SYNCMLERR.H);KErrTransportRequest;-8321;The transport cannot send data as created.
+SyncML  (SYNCMLERR.H);KErrTransportHeader;-8322;The transport has not been suitably configured.
+SyncML  (SYNCMLERR.H);KErrTransportSvrNoUri;-8323;The URI does not exist.
+SyncML  (SYNCMLERR.H);KErrTransportSvrError;-8324;There was a transport server error.
+SyncML  (SYNCMLERR.H);KErrTransportAuthenticationFailure;-8325;Transport Authentification failure.
+SyncML  (SYNCMLERR.H);KErrTransportDisconnected;-8326;Transport disconnected the session.
+SyncML  (SYNCMLERR.H);KErrSyncEngineErrorBase;-8327;Base value for engine-related errors.
+SyncML  (SYNCMLERR.H);KErrConnectionError;-8328;Transports could not connect to the server.
+SyncML  (SYNCMLERR.H);KErrCannotCommunicateWithServer;-8329;Could not communicate with the server:possibly atime-out occurred.
+SyncML  (SYNCMLERR.H);KErrDatabaseAdapterIndexError;-8330;Database adapter failed to create an item.
+SyncML  (SYNCMLERR.H);KErrParseCallbackError;-8331;Currently unused.
+SyncML  (SYNCMLERR.H);KErrCommandInvalid;-8332;Currently unused.
+SyncML  (SYNCMLERR.H);KErrSessionIdNotValid;-8333;Invalid session ID.
+SyncML  (SYNCMLERR.H);KErrVerDTDMissing;-8334;SyncML message did not specify a DTD version.
+SyncML  (SYNCMLERR.H);KErrProtoMissing;-8335;SyncML message did not specify a protocol.
+SyncML  (SYNCMLERR.H);KErrSyncHdrMissing;-8336;Currently unused.
+SyncML  (SYNCMLERR.H);KErrTargetLocMissing;-8337;SyncML message did not specify a target location.
+SyncML  (SYNCMLERR.H);KErrSourceLocMissing;-8338;SyncML message did not specify a source location.
+SyncML  (SYNCMLERR.H);KErrTargetLocNameMissing;-8339;Currently unused.
+SyncML  (SYNCMLERR.H);KErrSourceLocNameMissing;-8340;Currently unused.
+SyncML  (SYNCMLERR.H);KErrMappingInfoMissing;-8341;Mapping of added item could not created.
+SyncML  (SYNCMLERR.H);KErrMappingInfoNotAcked;-8342;Mapping has not been acknowledged by the server.
+SyncML  (SYNCMLERR.H);KErrVersionDTDNotSupported;-8343;SyncML message specified an unsupported DTD version.
+SyncML  (SYNCMLERR.H);KErrProtoNotSupported;-8344;SyncML message specified an unsupported protocol.
+SyncML  (SYNCMLERR.H);KErrStatusCommandForCommandNotSent;-8345;A status was received for a cmdId, butthis cmdIdwas not sent.
+SyncML  (SYNCMLERR.H);KErrStatusCommandNotTheSame;-8346;A status was received but the commandstringdoesnot matched the received one.
+SyncML  (SYNCMLERR.H);KErrMissingStatusCommands;-8347;Status command(s) were expected but are missing.
+SyncML  (SYNCMLERR.H);KErrFailedToAddRecord;-8348;Failed to add record in database.
+SyncML  (SYNCMLERR.H);KErrFailedToReplaceRecord;-8349;Failed to replace record in database.
+SyncML  (SYNCMLERR.H);KErrFailedToDeleteRecord;-8350;Failed to delete record in database.
+SyncML  (SYNCMLERR.H);KErrXmlParsingError;-8351;XML parsing error.
+SyncML  (SYNCMLERR.H);KErrReferenceToolkitError;-8352;There was an error reported in the referencetoolkit.
+SyncML  (SYNCMLERR.H);KErrClientDatabaseNotFound;-8404;No suitable database was found on theclientdevice.
+SyncML  (SYNCMLERR.H);KErrServerDatabaseNotFound;-8405;No suitable database was found on theserver.
+SyncML  (SYNCMLERR.H);KErrDevInfFileNotFound;-8406;Currently unused.
+SyncML  (SYNCMLERR.H);KErrObjectTooLargeToSendToServer;-8407;Object is too large to send to server.
+SyncML  (SYNCMLERR.H);KErrSlowSync;-8408;Sync is going to be slow.
+SyncML  (SYNCMLERR.H);KErrFailedToGetRecord;-8409;Failed to get record from DevMan.
+SyncML  (SYNCMLERR.H);KErrUserInteractionFailed;-8410;User interaction failed.
+SyncML  (SYNCMLERR.H);KErrStatusSizeMismatch;-8411;Large object size mismatch.
+SyncML  (SYNCMLERR.H);KErrFailedToCloseDatabase;-8412;Data Provider close failed.
+;;;
+;// Push message parser-related errors;;
+SyncML  (SYNCMLERR.H);KErrMessageTooShort;-8451;Push message is too short.
+SyncML  (SYNCMLERR.H);KErrMessageIsCorrupt;-8452;Push message is corrupt.
+SyncML  (SYNCMLERR.H);KErrBadTransportId;-8453;Profile has no Transport ID.
+SyncML  (SYNCMLERR.H);KErrNoNotificationBody;-8454;Push message has no body.
+SyncML  (SYNCMLERR.H);KErrWrongVersion;-8455;Push message specifies an unsupportedversion.
+SyncML  (SYNCMLERR.H);KErrUnsupportedMimeType;-8456;Push message specifies an unsupportedversion.
+SyncML  (SYNCMLERR.H);KErrNoSuchTask;-8457;Currently unused.
+SyncML  (SYNCMLERR.H);KErrUnknownSyncType;-8458;Push message specifies an unknown typeof sync.
+SyncML  (SYNCMLERR.H);KErrUnknownProfile;-8459;Push message specifies an unknown profile.
+SyncML  (SYNCMLERR.H);KErrInvalidProfile;-8460;Currently unused.
+SyncML  (SYNCMLERR.H);KErrInvalidCredentials;-8461;Unsupported (USERNETWPIN or USERPIN) securitymechanism specified.
+SyncML  (SYNCMLERR.H);KErrNoCredentials;-8462;Currently unused.
+SyncML  (SYNCMLERR.H);KErrIntegrityFailureHMAC;-8463;Failed to verify the generated HMAC value.
+SyncML  (SYNCMLERR.H);KErrMustUsageUriNotComplete;-8464;Currently unused.
+SyncML  (SYNCMLERR.H);KErrDMAccUriIsCorrupt;-8465;Push message has invalid DM account URI.
+SyncML  (SYNCMLERR.H);KErrDMConUriIsCorrupt;-8466;Push message has invalid DM connectionURI.
+SyncML  (SYNCMLERR.H);KErrParmNameNotInProvDoc;-8468;Push message has missing characteristic.
+SyncML  (SYNCMLERR.H);KErrInvalidAppIdValue;-8469;Push message has missing or invalid App Id.
+SyncML  (SYNCMLERR.H);KErrInvalidToNapIdValue;-8470;Push message has missing or invalid TO-NAPID.
+SyncML  (SYNCMLERR.H);KErrInvalidProviderIdValue;-8471;Push message has missing or invalid Provider-ID.
+SyncML  (SYNCMLERR.H);KErrEmptyAauthLevelValue;-8472;Push message has missing or invalid AAUTHLEVEL.
+SyncML  (SYNCMLERR.H);KErrAppSrvAAuthLevelNotFound;-8473;Push message has missing or invalid APPSRV
+SyncML  (SYNCMLERR.H);KErrClientAAuthLevelNotFound;-8474;Push message has missing or invalid AppAuth Client
+SyncML  (SYNCMLERR.H);KErrInvalidAppAuth;-8475;Currently unused.
+SyncML  (SYNCMLERR.H);KErrNoApplicationCharac;-8476;Push message has missing or invalid APPLICATION characteristic
+SyncML  (SYNCMLERR.H);KErrNoAppAuthCharac;-8478;Push message has missing or invalid APPAUTH characteristic.
+SyncML  (SYNCMLERR.H);KErrMissingRequiredParmInSvr;-8480;Currently unused.
+SyncML  (SYNCMLERR.H);KErrMissingRequiredParmInClient;-8481;Currently unused.
+SyncML  (SYNCMLERR.H);KErrAppAddrCharacNotFound;-8484;Missing APPADDR characteristic or subcharacteristic
+SyncML  (SYNCMLERR.H);KErrUnsupportedVersion;-8485;Unsupported WBXML version
+SyncML  (SYNCMLERR.H);KErrWrongProvPublicDocId;-8486;Prov Document identifier not WAP Provisoningversion 1.0
+;;;
+;//Client API-related errors.;;
+SyncML  (SYNCMLERR.H);KErrProfileNotFound;-8501;The requested profile does not exist.
+SyncML  (SYNCMLERR.H);KErrConnectionNotFound;-8502;The requested connection does not exist within the profile.
+SyncML  (SYNCMLERR.H);KErrTaskNotFound;-8503;The requested task does not exist within theprofile.
+SyncML  (SYNCMLERR.H);KErrTransportNotFound;-8504;The requested transport adaptor does not exist.
+SyncML  (SYNCMLERR.H);KErrDataProviderNotFound;-8505;The requested data provider does not exist.
+SyncML  (SYNCMLERR.H);KErrJobNotFound;-8506;The requested job has completed.
+SyncML  (SYNCMLERR.H);KErrObjectPendingDelete;-8507;The requested object is pending deletion.
+SyncML  (SYNCMLERR.H);KErrObjectInUse;-8508;The object to modify or delete is currently in use.
+SyncML  (SYNCMLERR.H);KErrProfileAccessDenied;-8509;The specified profile is not available, e.g. a Device Management profile, or open foredit by another client.
+SyncML  (SYNCMLERR.H);KErrSuspended;-8510;The requested data stream cannot be found intheData Store.
+SyncML  (SYNCMLERR.H);KErrDataDepotStreamNotFound;-8511;The requested data stream cannot be found intheData Store.
+
+
+;//MMS SMIL Translator Error Codes;;
+MMS SMIL Translator  (MDXMLCONSTANTS.H);KErrXMLBadAttributeValue ;-9001;XML attribute value error code.
+MMS SMIL Translator  (MDXMLCONSTANTS.H);KErrXMLBadAttributeName ;-9002;XML attribute name error code.
+MMS SMIL Translator  (MDXMLCONSTANTS.H);KErrXMLInvalidChild ;-9003;Invalid XML child element error code.
+MMS SMIL Translator  (MDXMLCONSTANTS.H);KErrXMLBadNesting ;-9004;XML element nesting error code.
+MMS SMIL Translator  (MDXMLCONSTANTS.H);KErrXMLIncomplete ;-9005;XML element incomplete error code.
+MMS SMIL Translator  (MDXMLCONSTANTS.H);KErrXMLBadElementName ;-9006;XML element name error code.
+MMS SMIL Translator  (MDXMLCONSTANTS.H);KErrXMLDuplicateDocTypeTags ;-9007;Error code that indicates that more than one DOCTYPE tag has been encountered: the first one encountered will be used.
+MMS SMIL Translator  (MDXMLCONSTANTS.H);KErrXMLDuplicateVersionTags ;-9008;Error code that indicates that more than one XML version tag has been encountered: the first one encountered will be used.
+MMS SMIL Translator  (MDXMLCONSTANTS.H);KErrXMLDuplicateRootElements ;-9009;Error code that indicates that more than one element has been encountered at the root of the document.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+MMS SMIL Translator  (MDXMLCONSTANTS.H);KErrXMLMissingDocTypeTag ;-9010;Error code that indicates that no DOCTYPE tag was encountered.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+MMS SMIL Translator  (MDXMLCONSTANTS.H);KErrXMLMissingVersionTag ;-9011;Error code that indicates that no XML version tag was encountered.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+MMS SMIL Translator  (MDXMLCONSTANTS.H);KErrXMLDuplicateAttributeName ;-9012;Error code that indicates that an element has two or more entries for the same attribute.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+MMS SMIL Translator  (MDXMLCONSTANTS.H);KErrXMLMultipleRootElements ;-9013;Error code that indicates there is no single root element.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+MMS SMIL Translator  (MDXMLCONSTANTS.H);KErrXMLCorruptFile ;-9014;Error code that indicates spurious characters have been found. This may occur as the result of a missing or an extra attribute or element delimiter.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+MMS SMIL Translator  (MDXMLCONSTANTS.H);KErrXMLIllegalCharacter ;-9015;Error code that indicates a built-in entity or element / attribute delimiter is at an inappropriate place.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;// Error codes;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLDOMCONSTANTS.H);KErrXMLBadAttributeValue;-9001;XML attribute value error code. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLDOMCONSTANTS.H);KErrXMLBadAttributeName;-9002;XML attribute name error code. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLDOMCONSTANTS.H);KErrXMLInvalidChild;-9003;Invalid XML child element error code. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLCONSTANTS.H);KErrXMLBadNesting  ;-9004;XML element nesting error code.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLCONSTANTS.H);KErrXMLIncomplete  ;-9005;XML element incomplete error code.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLCONSTANTS.H);KErrXMLBadElementName  ;-9006;XML element name error code.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLCONSTANTS.H);KErrXMLDuplicateDocTypeTags  ;-9007;Error code that indicates that more than one DOCTYPE tag has been encountered: the first one encountered will be used.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLCONSTANTS.H);KErrXMLDuplicateVersionTags  ;-9008;Error code that indicates that more than one XML version tag has been encountered: the first one encountered will be used.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLCONSTANTS.H);KErrXMLDuplicateRootElements  ;-9009;Error code that indicates that more than one element has been encountered at the root of the document (there should be a single <smil> element). The resulting tree may be confused, but is provided rather than being discarded.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLCONSTANTS.H);KErrXMLMissingDocTypeTag  ;-9010;Error code that indicates that no DOCTYPE tag was encountered.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLCONSTANTS.H);KErrXMLMissingVersionTag  ;-9011;Error code that indicates that no XML version tag was encountered.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLCONSTANTS.H);KErrXMLDuplicateAttributeName  ;-9012;Error code that indicates that an element has two or more entries for the same attribute.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLCONSTANTS.H);KErrXMLMultipleRootElements  ;-9013;Error code that indicates there is no single root element. This may be the result of two of more root elements being added incorrectly, or a missing root element leading to the child elements being assumed to be root nodes.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLCONSTANTS.H);KErrXMLCorruptFile  ;-9014;Error code that indicates spurious characters have been found. This may occur as the result of a missing or an extra attribute or element delimiter.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLCONSTANTS.H);KErrXMLIllegalCharacter  ;-9015;Error code that indicates a built-in entity or element / attribute delimiters at an inappropriate place.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLCONSTANTS.H);KErrXMLBadEntity  ;-9016;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLCONSTANTS.H);KErrXMLInvalidElement  ;-9017;Error code that indicates an element was found to be invalid by the DTD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+XML Parser  (GMXMLCONSTANTS.H);KErrXMLInvalidAttribute  ;-9018;Error code that indicates an attribute was found to be invalid by the DTD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+
+;// Error codes for the MMS ServerMTM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ MMS Server MTM  (MMSERRORS.H);KMmsErrUnspecified;-9100
+ MMS Server MTM  (MMSERRORS.H);KMmsErrServiceDenied;-9101
+ MMS Server MTM  (MMSERRORS.H);KMmsErrMessageFormatCorrupt;-9102
+ MMS Server MTM  (MMSERRORS.H);KMmsErrSendingAddressUnresolved;-9103
+ MMS Server MTM  (MMSERRORS.H);KMmsErrMessageNotFound;-9104
+ MMS Server MTM  (MMSERRORS.H);KMmsErrNetworkProblem;-9105
+ MMS Server MTM  (MMSERRORS.H);KMmsErrContentNotAccepted;-9106
+ MMS Server MTM  (MMSERRORS.H);KMmsErrUnsupportedMessage;-9107
+ MMS Server MTM  (MMSERRORS.H);KMmsErrInvalidPDU;-9108
+ MMS Server MTM  (MMSERRORS.H);KMmsErrNoData;-9109
+ MMS Server MTM  (MMSERRORS.H);KMmsNoResponseStatus;-9110
+
+;;
+;// Crypto libraries;
+Security Services   (SECURITYERR.H);KErrBadPassphrase;-11000
+Security Services   (SECURITYERR.H);KErrTotalLossOfEntropy;-11001
+Security Services   (SECURITYERR.H);KErrKeyNotWeakEnough;-11002;
+Security Services   (SECURITYERR.H);KErrInvalidPadding;-11003;
+Security Services   (SECURITYERR.H);KErrWeakKey;-11004;
+Security Services   (SECURITYERR.H);KErrNegativeExportNotSupported   ;-11005;
+Security Services   (SECURITYERR.H);;;
+Security Services   (SECURITYERR.H);//Crypto key store interfaces and the software keystore.;;
+Security Services   (SECURITYERR.H);KErrKeyAlgorithm;-11006;
+Security Services   (SECURITYERR.H);KErrKeyUsage;-11007;
+Security Services   (SECURITYERR.H);KErrKeyValidity;-11008;
+Security Services   (SECURITYERR.H);KErrKeySize;-11009;
+Security Services   (SECURITYERR.H);KErrKeyAccess;-11010;
+Security Services   (SECURITYERR.H);KErrPrivateKeyNotFound;-11011;
+
+;;;
+;// Error codes returned from the compressor and decompressor classes;;
+EZLIB  (EZLIBERRORCODES.H);KEZlibErrStream             ;-11501;The Z_STREAM_ERROR zlib error code has been returned by an internal method due to a stream error. 
+EZLIB  (EZLIBERRORCODES.H);KEZlibErrData               ;-11502;The Z_DATA_ERROR zlib error code has been returned by an internalmethod due to a data error. 
+EZLIB  (EZLIBERRORCODES.H);KEZlibErrBuf                ;-11503;The Z_BUF_ERROR zlib error code has been returned by an internalmethod due to a buffer error.
+EZLIB  (EZLIBERRORCODES.H);KEZlibErrVersion            ;-11504;The Z_VERSION_ERROR zlib error code has been returned by an internal method due to a version error.
+EZLIB  (EZLIBERRORCODES.H);KEZlibErrUnexpected         ;-11505;Unexpected ezlib error.
+EZLIB  (EZLIBERRORCODES.H);KEZlibErrDeflateTerminated  ;-11506;Returned by ::DeflateL() if deflation has already occured. 
+EZLIB  (EZLIBERRORCODES.H);KEZlibErrInflateTerminated  ;-11507;Returned by ::InflateL() if inflation has already occured.
+EZLIB  (EZLIBERRORCODES.H);KEZlibErrInflateDictionary  ;-11508;An error has occured inflating the dictionary.
+;;;
+;// Error codes returned from GZip classes;;
+EZLIB  (EZLIBERRORCODES.H);KEZlibErrNotGZipFile        ;-11509;
+EZLIB  (EZLIBERRORCODES.H);KEZlibErrInvalidCompression ;-11510;
+EZLIB  (EZLIBERRORCODES.H);KEZlibErrBadGZipHeader      ;-11511;
+EZLIB  (EZLIBERRORCODES.H);KEZlibErrBadGZipTrailer     ;-11512;
+EZLIB  (EZLIBERRORCODES.H);KEZlibErrBadGZipCrc         ;-11513;
+
+
+;// Error codes for the CVideoPlayerUtilityAPI;;
+Multimedia Framework  (MMFERRORS.H);KErrMMNotEnoughBandwidth;-12000;Not enough network bandwidth.
+Multimedia Framework  (MMFERRORS.H);KErrMMSocketServiceNotFound;-12001;Error locating network socket services.
+Multimedia Framework  (MMFERRORS.H);KErrMMNetworkRead;-12002;An error occurred while reading data from the network.
+Multimedia Framework  (MMFERRORS.H);KErrMMNetworkWrite;-12003;An error occurred while writing data to the network.
+Multimedia Framework  (MMFERRORS.H);KErrMMServerSocket;-12004;Invalid socket error or an error occurred while creating a network socket.
+Multimedia Framework  (MMFERRORS.H);KErrMMServerNotSupported;-12005;Streaming Server not supported.
+Multimedia Framework  (MMFERRORS.H);KErrMMServerAlert;-12006;Server alert.
+Multimedia Framework  (MMFERRORS.H);KErrMMUDPReceive;-12007;Player cannot receive UDP data packets.
+Multimedia Framework  (MMFERRORS.H);KErrMMInvalidProtocol;-12008;Network transport not recognized.
+Multimedia Framework  (MMFERRORS.H);KErrMMInvalidURL;-12009;Invalid URL.
+Multimedia Framework  (MMFERRORS.H);KErrMMMulticast;-12010;An error occured attempting to join or access multicast session.
+Multimedia Framework  (MMFERRORS.H);KErrMMProxyServer;-12011;Proxy status error, Proxy invalid response error or invalid hostname for proxy.
+Multimedia Framework  (MMFERRORS.H);KErrMMProxyServerNotSupported;-12012;Client cannot support proxy server.
+Multimedia Framework  (MMFERRORS.H);KErrMMProxyServerConnect;-12013;Unable to locate proxy server or Proxy connection could not be established.
+Multimedia Framework  (MMFERRORS.H);KErrMMAudioDevice;-12014;Cannot open audio device, or lost control of audio device.
+Multimedia Framework  (MMFERRORS.H);KErrMMVideoDevice;-12015;Problem blitting video to display.
+Multimedia Framework  (MMFERRORS.H);KErrMMDecoder;-12016;Invalid decoder, decoder not properly initialized, or appropriate decoder could not be found.
+Multimedia Framework  (MMFERRORS.H);KErrMMPartialPlayback;-12017;Only able to play either the audio or the video portion of the media file. Could be due to a codec that isn't supported, the video frame size being too large etc.
+Multimedia Framework  (MMFERRORS.H);KErrMMDRMNotAuthorized;-12018;Digital Rights have expired.
+
+
+;//CDMA OTA result codes based on 3GPP2 C.S0016-B Table 3.5.1.2-1;;
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaUnknown;-13257;Rejected - Unknown reason 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaDataSizeMismatch;-13258;Rejected - Data size mismatch 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaProtocolVersionMismatch;-13259;Rejected - Protocol version mismatch
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaInvalidParameter;-13260;Rejected - Invalid parameter 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaSIDNIDLengthMismatch;-13261;Rejected - SID NID length mismatch
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaMessageNotExpectedInThisMode;-13262;Rejected - Message not expected in this mode 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaBlockIdValueNotSupported;-13263;Rejected - Block Id value not supported 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaPRLLengthMismatch;-13264;Rejected - PRL length mismatch
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaCRC;-13265;Rejected - Incorrect CRC 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaLocked;-13266;Rejected - Mobile Station Locked 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaInvalidSPC ;-13267;Rejected - Invalid SPC 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaSPCChangeDeniedByUser ;-13268;Rejected - SPC change denied by user
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaInvalidSpasm;-13269;Rejected - Invalid SPASM 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaBlockIdNotExpectedInThisMode;-13270;Rejected - Block Id not expected in this mode
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaUserZoneAlreadyInPUZL ;-13271;Rejected - User Zone already in PUZL
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaUserZoneNotInPUZL;-13272;Rejected - User zone not in PUZL 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaNoEntriesInPUZL;-13273;Rejected - No entries in PUZL 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaOperationModeMismatch ;-13274;Rejected - Operation Mode mismatch
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaSimpleIPMaxNumNaiMismatch ;-13275;Rejected - SimpleIP MAX_NUM_NAI mismatch
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaSimpleIPMaxNaiLengthMismatch;-13276;Rejected - SimpleIP MAX_NAI_LENGTH mismatch 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaMobileIPMaxNumNaiMismatch ;-13277;Rejected - MobileIP MAX_NUM_NAI mismatch
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaMobileIPMaxNaiLengthMismatch;-13278;Rejected - MobileIP MAX_NAI_LENGTH mismatch 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaSimpleIPPapMaxSsLenMismatch;-13279;Rejected - SimpleIP PAP MAX_SS_LENGTH mismatch
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaSimpleIPChapMaxSsLenMismatch;-13280;Rejected - SimpleIP CHAP MAX_SS_LENGTH mismatch
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaMobileIPMaxMnAaaSsLenMismatch;-13281;Rejected - MobileIP MAX_MN-AAA_SS_LENGTH mismatch 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaMobileIPMaxMnHaSsLenMismatch;-13282;Rejected - MobileIP MAX_MN-HA_SS_LENGTH mismatch 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaMobileIPMnAaaAuthAlgoMismatch;-13283;Rejected - MobileIP MN-AAA_AUTH_ALGORITHM mismatch 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaMobileIPMnhaAuthAlgoMismatch;-13284;Rejected - MobileIP MNHA_AUTH_ALGORITHM mismatch 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaSimpleIPActNaiEntryIndexMismatch;-13285;Rejected - SimpleIP ACT_NAI_ENTRY_INDEX mismatch 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaMobileIPActNaiEntryIndexMismatch;-13286;Rejected - MobileIP ACT_NAI_ENTRY_INDEX mismatch 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaSimpleIPPapNaiEntryIndexMismatch;-13287;Rejected - SimpleIP PAP NAI_ENTRY_INDEX mismatch
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaSimpleIPChapNaiEntryIndexMismatch;-13288;Rejected - SimpleIP CHAP NAI_ENTRY_INDEX mismatch 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaOtaMobileIPNaiEntryIndexMismatch;-13289;Rejected - MobileIP NAI_ENTRY_INDEX mismatch 
+
+;//CDMA Flash result codes;;
+Multimode Telephony  (ETELMMERR.H);KErrCdmaFlashInvalidFeature;-13513;Rejected Info Record- Invalid Feature code 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaFlashInvalidKeypadEntry;-13514;Rejected Info Record- Invalid Keypad entry  
+Multimode Telephony  (ETELMMERR.H);KErrCdmaFlashInvalidNumberType;-13515;Rejected Info Record- Invalid NumberType  
+Multimode Telephony  (ETELMMERR.H);KErrCdmaFlashInvalidNumberPlan;-13516;Rejected Info Record- Invalid Number Plan 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaFlashInvalidPI ;-13517;Rejected Info Record- Invalid Presentation Indicator 
+Multimode Telephony  (ETELMMERR.H);KErrCdmaFlashInvalidSI ;-13518;Rejected Info Record- Invalid Screening Indicator  
+Multimode Telephony  (ETELMMERR.H);KErrCdmaFlashInvalidPartyNum;-13519;Rejected Info Record- Invalid Party Number  
+Multimode Telephony  (ETELMMERR.H);KErrCdmaFlashL3BlockedFlashMessage;-13520;Call-stack blocked sending flash message
+;;;
+;//CDMA miscellaneous result codes defined by Symbian;;
+Multimode Telephony  (ETELMMERR.H);KErrCdmaMiscSignallingFailure;-13768;Signalling failure invoice call origination or termination.
+Multimode Telephony  (ETELMMERR.H);KErrCdmaMiscNetworkBusy;-13769;Busy network in voicecall origination or termination.
+Multimode Telephony  (ETELMMERR.H);KErrCdmaMiscConnectionLost;-13770;Loss of connection invoice call origination or termination.
+Multimode Telephony  (ETELMMERR.H);KErrCdmaMiscNetworkRelease;-13771;Release of network invoice call origination or termination.
+Multimode Telephony  (ETELMMERR.H);KErrCdmaMiscBaseStationRejectServiceOption;-13772;Service option rejection by base station in voice call origination or termination.
+Multimode Telephony  (ETELMMERR.H);KErrCdmaMiscAccessFailure ;-13773;Access failure in voice call originationor termination.
+Multimode Telephony  (ETELMMERR.H);KErrCdmaMiscNoService ;-13774;Service not available in voicecall origination or termination.
+Multimode Telephony  (ETELMMERR.H);KErrCdmaMiscSecurityCodeBlocked;-13775;This code is blocked (probably as a result of the maximum retry being exceeded)
+
+
+;//ECOM Error Codes;;
+ECOM  (ECOMERRORCODES.H);KEComErrNoInterfaceIdentified;-17004;The call to instantiate an Interface Implementation failed because no registrations exist for this interface.
+ECOM  (ECOMERRORCODES.H);KEComErrNoResolver;-17014;The Non-Default resolver could not be instantiated. The most likely situation is that an incorrect implementation uid was supplied.
+ECOM  (ECOMERRORCODES.H);KEComErrTooManyNotificationsOutstanding  ;-17026;The client has requested too many notifications.ECom can only support a finite number of notifications
+ECOM  (ECOMERRORCODES.H);KEComErrMissingParameter;-17028;An ECom service was requested with an essential parameter missing. For example, this error code will be supplied when calling an overload of CreateImplementationL which uses a non-default resolver if you fail tosupply the resolver
+ECOM  (ECOMERRORCODES.H);KEComErrListInvalidAwaitNotification;-17029;The registry index is invalid but the client has requested notifications - so they will receive a notification when the indexis ready again
+ECOM  (ECOMERRORCODES.H);KEComErrListCurrentlyUnavailable;-17030;The registry index is invalid and the client has not requested notifications. They will have to try again later after discoveries have completed.
+ECOM  (ECOMERRORCODES.H);KEComErrInvalidUnloadPolicy;-17003;The Client requested a service which is not supplied by this framework 
+ECOM  (ECOMERRORCODES.H);KEComErrInvalidIIC;-17008;An attempt has been made to load an implementation contained within a dll which no longer exists (deleted or is on a CF card that has been removed).
+ECOM  (ECOMERRORCODES.H);KEComErrDriveNotFound;-17019;An attempt has been made to update registry information for a dll on a drive that does not exist.
+ECOM  (ECOMERRORCODES.H);KEComErrUnknownService;-17002;The Client requested a service which is not supplied by this framework The Client requested a service which is not supplied by this framework
+ECOM  (ECOMERRORCODES.H);KEComErrReferenceCountInvalid;-17013;The Interface Implementation reference count is invalid 
+ECOM  (ECOMERRORCODES.H);KEComErrDestructionFailed;-17017;The Interface Implementations destruction could not be recorded 
+ECOM  (ECOMERRORCODES.H);KEComErrInvalidRegistryData;-17022;An attempt has been made to update the registry information for a non-existent DLL.  An ECom internal error.
+ECOM  (ECOMERRORCODES.H);KEComErrDestroyingWithNullDtorKey;-17027;The client called DestroyedImplementation with a destruction key of NULL. This is an irrecoverable error because the object cannot be deleted.
+ECOM  (ECOMERRORCODES.H);KEComErrAlreadyReceiving;-17001; 
+ECOM  (ECOMERRORCODES.H);KEComErrEnableFailed;-17005;The call to Enable the registered Interface Implementation failed 
+ECOM  (ECOMERRORCODES.H);KEComErrDisableFailed;-17006;The call to Disable the registered Interface Implementation failed 
+ECOM  (ECOMERRORCODES.H);KEComErrNoRegistrationsFound;-17007;The call to instantiate an Interface Implementation failed because no appropriate implementation was found.
+ECOM  (ECOMERRORCODES.H);KEComErrUninstallFailed;-17009;The call to Remove the registered Interface Implementation failed 
+ECOM  (ECOMERRORCODES.H);KEComErrReinstallFailed;-17010;The call to Re-register an Interface Implementation failed 
+ECOM  (ECOMERRORCODES.H);KEComErrRegistrationFailed;-17011;The call to Register an Interface Implementation failed 
+ECOM  (ECOMERRORCODES.H);KEComErrNotConnected;-17012;The client does not have a session open with theframework 
+ECOM  (ECOMERRORCODES.H);KEComErrSuspendFailed;-17015;The call to Suspend registration activities failed 
+ECOM  (ECOMERRORCODES.H);KEComErrResumeFailed;-17016;The call to Resume registration activities failed 
+ECOM  (ECOMERRORCODES.H);KEComErrDriveAlreadyInstalled;-17018;An attempt has been made to add a drive to the registry which already exists
+ECOM  (ECOMERRORCODES.H);KEComErrIndexEntryNotFound;-17020; 
+ECOM  (ECOMERRORCODES.H);KEComErrNoRegistrationData;-17021;An IIC has been found which does not have a corresponding registration information file
+ECOM  (ECOMERRORCODES.H);KEComErrMismatchedTags;-17023;
+ECOM  (ECOMERRORCODES.H);KEComErrInstantiationPointerNotFound;-17024;
+ECOM  (ECOMERRORCODES.H);KEComErrInstantiationPointerNotAvailable ;-17025;
+
+;;;
+Content Handling Framework  (CHFERROR.H);KErrCHFProxyObjectAlreadyExists;-17050;A proxy object with the same identifier already exists.
+Content Handling Framework  (CHFERROR.H);KErrCHFNoSchemeInUri;-17051;Supplied URI has no scheme part.
+Content Handling Framework  (CHFERROR.H);KErrCHFDataSupplierConstructionFailed;-17052;Data supplier construction failed.
+Content Handling Framework  (CHFERROR.H);KErrCHFContentHandlerConstructionFailed;-17053;Content handler construction failed.
+Content Handling Framework  (CHFERROR.H);KErrCHFDataSupplierSetPositionFailed;-17054;Failed to set position in data supplier.
+
+;;;
+Root Server  (RSERROR.H);KErrRSSuddenDeath ;-17103;A module has died.
+Root Server  (RSERROR.H);KErrRSRequestCancelled ;-17104;A request was cancelled.
+Root Server  (RSERROR.H);KErrRSInvalidParameter ;-17105;A parameter was in some way invalid.
+Root Server  (RSERROR.H);KErrRSInvalidParameterFile ;-17106;The file could not be found, read or was in some way corrupt.
+Root Server  (RSERROR.H);KErrRSInvalidParameterName ;-17107;The name was invalid.
+Root Server  (RSERROR.H);KErrRSInvalidParameterStackSize ;-17108;The stack size was invalid.
+Root Server  (RSERROR.H);KErrRSInvalidParameterHeapSize ;-17109;The heap size was invalid.
+Root Server  (RSERROR.H);KErrRSInvalidUidType ;-17110;The second UID of the DLL was not the UID of a Comms Provider Module.
+Root Server  (RSERROR.H);KErrRSModuleAlreadyExist ;-17111;A Comms Provider Module with this name is already loaded.
+Root Server  (RSERROR.H);KErrRSInvalidMBufPoolSize ;-17112;The size of the MBuf pool is invalid.
+Root Server  (RSERROR.H);KErrRSModuleNotRunning ;-17113;The specified module is not running.
+Root Server  (RSERROR.H);KErrRSModuleNotLoaded ;-17114;The specified module is not loaded.
+Root Server  (RSERROR.H);KErrRSAlreadyBound ;-17115;The specified binding is already active.
+Root Server  (RSERROR.H);KErrRSModulesStillRunning ;-17116;There are running modules.
+Root Server  (RSERROR.H);KErrRSNoNewHeapsAvailable ;-17117;Unable to create more new heaps in the Comms Process. Consider sharing a heap between modules.
+Root Server  (RSERROR.H);KErrRSRequestTimedOut ;-17118;A request timed out. This can happen when a module stops responding to requests for some reason.
+Root Server  (RSERROR.H);KErrRSModuleUnknown ;-17119;The specified module does not exist..
+Root Server  (RSERROR.H);KErrRSSubModuleUnknown ;-17120;The specified sub module does not exist.
+Root Server  (RSERROR.H);KErrRSBindingUnknown ;-17121;The specified binding does not exist.
+Root Server  (RSERROR.H);KErrRSStatusUnknown ;-17122;The status is unknown.
+Root Server  (RSERROR.H);KErrRSBindingExists ;-17123;The specified binding exist.
+Root Server  (RSERROR.H);KErrRSModuleNotReady ;-17124;The module is not ready for requests.
+Root Server  (RSERROR.H);KErrRSBindingInProgress ;-17125;The specified binding is not yet completed.
+Root Server  (RSERROR.H);KErrRSUnableToOpenHeap ;-17126;Found heap but unable to open it for sharing.
+Root Server  (RSERROR.H);KErrRSUnableToFindHeap ;-17127;Unable to find specified heap.
+Root Server  (RSERROR.H);KErrRSUnableToCreateQueues ;-17128;Unable to create communication channels for new module.
+Root Server  (RSERROR.H);KErrRSZombie ;-17129;This Comms Provider Module exists but is not responding.
+Root Server  (RSERROR.H);KErrRSInvalidParameterThreadFuncOrdinal   ;-17130;The specified ordinal does not exist for the DLL.
+Root Server  (RSERROR.H);KErrRSInvalidBinding ;-17131;Invalid binding.
+Root Server  (RSERROR.H);KErrRSInvalidQueueLength ;-17132;Queue length of binding invalid. Must be betweenTRSBindingInfo::EMinQueueLength and TRSBindingInfo::EMaxQueueLength.
+
+
+Esock  (ES_SOCK.H);KErrConnectionTerminated;-17210;
+Esock  (ES_SOCK.H);KErrCannotFindProtocol;-17211;
+
+
+Central Repository  (TREESTOREERR.H);KErrTreeStoreUriTooLong         ;-17250;The supplied URI exceeded the maximum overall length supported.
+Central Repository  (TREESTOREERR.H);KErrTreeStoreUriTooDeep         ;-17251;The depth of the supplied URI exceeded the maximum tree depth supported.
+Central Repository  (TREESTOREERR.H);KErrTreeStoreUriSegmentTooLong  ;-17252;A segment in the supplied URI exceeded the maximum length supported.
+Central Repository  (TREESTOREERR.H);KErrTreeStoreBadUriSegmentName  ;-17253;A segment in the supplied URI contained characters in the 'reserved' range in RFC2396.
+Central Repository  (TREESTOREERR.H);KErrTreeStoreBadUriDelimiters   ;-17254;The supplied URI contained either a missing front delimiter or an illegal back delimiter.
+Central Repository  (TREESTOREERR.H);KErrTreeStoreZeroLenUriSegment  ;-17255;The supplied URI contained a segment of zero length (i.e. the character' with no content).
+Central Repository  (TREESTOREERR.H);KErrTreeStoreUnknownMountPoint  ;-17256;The supplied mount point URI does not exist in this tree store.
+Central Repository  (TREESTOREERR.H);KErrTreeStoreVolAlreadyAttached ;-17257;The specified tree volume is already attached in the tree store.
+Central Repository  (TREESTOREERR.H);KErrTreeStoreVolumeNotAttached  ;-17258;The specified tree volume is already attached in the tree store.
+Central Repository  (TREESTOREERR.H);KErrTreeStoreNotAPersistedTree  ;-17259;An attempt was made to manipulate volumes for a tree that isn't persisted.
+
+
+;//Position Client API Error Codes;;
+LBS Position Framework  (LBSERRORS.H);KErrPositionBufferOverflow;-17350;
+LBS Position Framework  (LBSERRORS.H);KErrPositionIncalculable;-17351;
+
+
+Content Access Framework  (CAFERR.H);KErrCANotSupported;-17450;Agent does not support the requested capability.
+Content Access Framework  (CAFERR.H);KErrCANoPermission;-17451;Rights evaluation failed for the supplied intent.
+Content Access Framework  (CAFERR.H);KErrCANoRights;-17452;No rights were available for evaluation.
+Content Access Framework  (CAFERR.H);KErrCANoAgent;-17453;The Agent required is not present. This may occur if content 'belongs' to an agent that is no longer available on the device. 
+Content Access Framework  (CAFERR.H);KErrCAOutOfRange;-17454;Values specified are out of range.
+Content Access Framework  (CAFERR.H);KErrCAPendingRights;-17455;The rights were not available but are 'expected'.
+Content Access Framework  (CAFERR.H);KErrCASizeNotDetermined;-17456;A request to get the content size failed because the agent was unable to determine it.
+Content Access Framework  (CAFERR.H);KErrCANewFileHandleRequired  ;-17457;The function failed because the agent needs the client to provide another file handle before the import can continue.
+
+;;;
+;// ECom related;;
+XML Framework (XMLFRAMEWORKERRORS.H);KErrXmlStringDictionaryPluginNotFound    ;-17550;
+XML Framework (XMLFRAMEWORKERRORS.H);KErrXmlParserPluginNotFound;-17551;
+XML Framework (XMLFRAMEWORKERRORS.H);KErrXmlGeneratorPluginNotFound;-17552;
+XML Framework (XMLFRAMEWORKERRORS.H);KErrXmlPluginNotFound;-17553;
+;;;
+;// CCharSetConverter;;
+XML Framework (XMLFRAMEWORKERRORS.H);KErrXmlBadCharacterConversion;-17554;
+XML Framework (XMLFRAMEWORKERRORS.H);KErrXmlUnsupportedCharacterSet;-17555;
+XML Framework (XMLFRAMEWORKERRORS.H);KErrXmlUnavailableCharacterSet;-17556;
+;;;
+;// MStringDictionary;
+XML Framework (XMLFRAMEWORKERRORS.H);KErrXmlUnsupportedElement;-17557
+XML Framework (XMLFRAMEWORKERRORS.H);KErrXmlUnsupportedAttribute;-17558
+XML Framework (XMLFRAMEWORKERRORS.H);KErrXmlUnsupportedAttributeValue;-17559
+XML Framework (XMLFRAMEWORKERRORS.H);KErrXmlMissingStringDictionary;-17560
+;;
+;// General;
+XML Framework (XMLFRAMEWORKERRORS.H);KErrXmlUnsupportedDocumentVersion;-17561
+XML Framework (XMLFRAMEWORKERRORS.H);KErrXmlDocumentCorrupt;-17562
+XML Framework (XMLFRAMEWORKERRORS.H);KErrXmlStringPoolTableNotFound;-17563
+XML Framework (XMLFRAMEWORKERRORS.H);KErrXmlBadIndex;-17564
+XML Framework (XMLFRAMEWORKERRORS.H);KErrXmlUnsupportedExtInterface;-17566
+
+;;
+;//LBS Privacy Framework Error Codes;
+LBS Privacy  (EPOS_CSPRIVACYSHARELEAVECODE.H);KErrPrivacyTbNullPtr ;-17901
+LBS Privacy  (EPOS_CSPRIVACYSHARELEAVECODE.H);KErrPrivacyTbProgramError;-17902
+LBS Privacy  (EPOS_CSPRIVACYSHARELEAVECODE.H);KErrPrivacyTbNullSearchString ;-17903
+LBS Privacy  (EPOS_CSPRIVACYSHARELEAVECODE.H);KErrPrivacyTbWriteFailure;-17904
+LBS Privacy  (EPOS_CSPRIVACYSHARELEAVECODE.H);KErrPriPolicyTbPackedPriByte ;-17905
+LBS Privacy  (EPOS_CSPRIVACYSHARELEAVECODE.H);KErrPriVersionTbInvalidVersion ;-17906
+LBS Privacy  (EPOS_CSPRIVACYSHARELEAVECODE.H);KErrPriVersionTbRecordAlreadyExist ;-17907
+;;
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrServicePrivacyTbErrorBase;-17910
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrSerPriTbMismatchServiceIdAndType;-17911
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrSerPriTbServiceIdTypeChanged;-17912
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrSerPriTbSecureIdChanged;-17913
+;;
+;//Leave code used for ServiceIdPhoneNumber table;
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrServiceIdPhoneNumberTbErrorBase;-17915
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrServiceIdPhoneNumTbMatchDigitsOutOfRange;-17916
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrServicePrivacyErrorBase;-17920
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrServicePrivacyDuplicateServiceItemId;-17921
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrServicePrivacyArrayIndexOutOfRange;-17922
+;;
+;//Leave code used for ServicePrivacyDbModel;
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrServicePrivacyDbModelErrorBase;-17925
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrSPDbModelWrongMajorVersion;-17926
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrSPDbModelServiceIdPhNoDigitsLessThan7;-17927
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrSPDbModelServiceIdTypeNotSet;-17928
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrSPDbModelWrongServiceInfoMask;-17929
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrSPDbModelNullServiceId;-17930
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrSPDbModelChildTbRcdNotDeleted;-17931
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrSPDbModelChildTbRcdNotUpdated;-17932
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrSPDbModelInvalidPhMatchLength;-17933
+;;
+;//Leave code used for ServicePrivacyDb;
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrServicePrivacyDbErrorBase;-17935
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrServicePrivacyDbInvalidServiceItemIdInArray;-17936
+LBS Privacy  (EPOS_SERVICEPRIVACYLEAVECODE.H);KErrServicePrivacyDbEventObserverAlreadyExists;-17937
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Etel_Server.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,42 @@
+<h1>Etel Server</h1>
+<p>Panic caused by incorrect use of the ETel Core API- e.g.
+passing bad or contradictory values to class constructors or member functions.</p>
+<p>The client thread causing the panic is terminated.</p>
+<code>0</code>
+<p>The subsession handle is not recognised by the server.</p>
+<code>1</code>
+<p>An attempt to read or write across the client-server boundary
+has failed. This usually indicates that the descriptor sent is incorrectly
+formatted.</p>
+<code>2</code>
+<p>The message type- sent by the client- is not recognised by the server.</p>
+<code>3</code>
+<p>Client code has attempted to re-post an asynchronous request
+before the original request has completed.</p>
+<code>4</code>
+<p>The client has attempted to open a sub-session without first
+opening its parent object. </p>
+<code>5</code>
+<p>The client has attempted to use a zero length
+descriptor.</p>
+<code>6</code>
+<p>The size field of a descriptor indicates that it contains a
+negative amount of data.</p>
+<code>7</code>
+<p>Not used.</p>
+<code>8</code>
+<p>Client failed to call <code>Open()</code>.</p>
+<code>9</code>
+<p>Client failed to call <code>Open()</code>.</p>
+<code>10</code>
+<p>Client code request to access an element outside the array
+range.</p>
+<code>11</code>
+<p>The <code>Open()</code> function has been called twice by the
+same sub-session.</p>
+<code>12</code>
+<p>The client has passed a bad phone call type.</p>
+<code>13</code>
+<p>The client has specified a bad name for a phone line or phone
+call object.</p>
+	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Exceptions.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,204 @@
+<h1>Exceptions</h1>
+<p>Exceptions are generated by internal and external sources to cause the processor to handle an event, such as
+an externally generated interrupt or an attempt to execute an Undefined instruction. The processor state just
+before handling the exception is normally preserved so that the original program can be resumed when the
+exception routine has completed. More than one exception can arise at the same time.</p>
+<p>The ARM architecture supports seven types of exception. When an exception occurs, execution is forced from a fixed
+memory address corresponding to the type of exception. These fixed addresses are called the exception
+vectors.</p>
+<code>Reset</code>
+<p>When the Reset input is asserted on the processor, the ARM processor immediately stops execution of the
+current instruction. When Reset is de-asserted, the following actions are performed:</p>
+<code>R14_svc = UNPREDICTABLE value<br>
+SPSR_svc = UNPREDICTABLE value<br>
+CPSR[4:0] = 0b10011 /* Enter Supervisor mode */<br>
+CPSR[5] = 0 /* Execute in ARM state */<br>
+CPSR[6] = 1 /* Disable fast interrupts */<br>
+CPSR[7] = 1 /* Disable normal interrupts */<br>
+CPSR[8] = 1 /* Disable Imprecise Aborts (v6 only) */<br>
+CPSR[9] = CP15_reg1_EEbit /* Endianness on exception entry */<br>
+if high vectors configured then<br>
+PC = 0xFFFF0000<br>
+else<br>
+PC = 0x00000000</code><br>
+<p>
+After Reset, the ARM processor begins execution at address 0x00000000 or 0xFFFF0000 in Supervisor mode
+with interrupts disabled.</p>
+<code>Undefined Instruction exception</code>
+<p>
+If the ARM processor executes a coprocessor instruction, it waits for any external coprocessor
+to acknowledge that it can execute the instruction. If no coprocessor responds, an Undefined Instruction
+exception occurs.</p><p>
+If an attempt is made to execute an instruction that is UNDEFINED, an Undefined Instruction exception occurs.</p><p>
+The Undefined Instruction exception can be used for software emulation of a coprocessor in a system that
+does not have the physical coprocessor (hardware), or for general-purpose instruction set extension by
+software emulation.</p><p>
+When an Undefined Instruction exception occurs, the following actions are performed:
+</p><code>
+R14_und = address of next instruction after the Undefined instruction<br>
+SPSR_und = CPSR<br>
+CPSR[4:0] = 0b11011 /* Enter Undefined Instruction mode */<br>
+CPSR[5] = 0 /* Execute in ARM state */<br>
+/* CPSR[6] is unchanged */<br>
+CPSR[7] = 1 /* Disable normal interrupts */<br>
+/* CPSR[8] is unchanged */<br>
+CPSR[9] = CP15_reg1_EEbit /* Endianness on exception entry */<br>
+if high vectors configured then<br>
+PC = 0xFFFF0004<br>
+else<br>
+PC = 0x00000004</code>
+<p>To return after emulating the Undefined instruction use:</p>
+<code>
+MOVS PC,R14
+</code>
+<p>
+This restores the PC (from R14_und) and CPSR (from SPSR_und) and returns to the instruction following
+the Undefined instruction.</p><p>
+In some coprocessor designs, an internal exceptional condition caused by one coprocessor instruction is
+signaled imprecisely by refusing to respond to a later coprocessor instruction. In these circumstances, the
+Undefined Instruction handler takes whatever action is necessary to clear the exceptional condition, then
+returns to the second coprocessor instruction. To do this use:
+</p><code>
+SUBS PC,R14,#4
+</code>
+<code>Software Interrupt exception</code>
+<p>
+The Software Interrupt instruction (SWI) enters Supervisor mode to request a particular supervisor (operating
+system) function. When a SWI is executed, the following actions are performed:
+</p><code>
+R14_svc = address of next instruction after the SWI instruction<br>
+SPSR_svc = CPSR<br>
+CPSR[4:0] = 0b10011 /* Enter Supervisor mode */<br>
+CPSR[5] = 0 /* Execute in ARM state */<br>
+/* CPSR[6] is unchanged */<br>
+CPSR[7] = 1 /* Disable normal interrupts */<br>
+/* CPSR[8] is unchanged */<br>
+CPSR[9] = CP15_reg1_EEbit /* Endianness on exception entry */<br>
+if high vectors configured then<br>
+PC = 0xFFFF0008<br>
+else<br>
+PC = 0x00000008</code>
+<p>
+To return after performing the SWI operation, use the following instruction to restore the PC
+(from R14_svc) and CPSR (from SPSR_svc) and return to the instruction following the SWI:
+</p><code>
+MOVS PC,R14
+</code>
+<code>Prefetch Abort</code>
+<p>
+A memory abort is signaled by the memory system. Activating an abort in response to an instruction fetch
+marks the fetched instruction as invalid. A Prefetch Abort exception is generated if the processor tries to
+execute the invalid instruction. If the instruction is not executed (for example, as a result of a branch being
+taken while it is in the pipeline), no Prefetch Abort occurs.</p><p>
+In ARMv5 and above, a Prefetch Abort exception can also be generated as the result of executing a BKPT
+instruction.</p><p>
+When an attempt is made to execute an aborted instruction, the following actions are performed:
+</p><code>
+R14_abt = address of the aborted instruction + 4<br>
+SPSR_abt = CPSR<br>
+CPSR[4:0] = 0b10111 /* Enter Abort mode */<br>
+CPSR[5] = 0 /* Execute in ARM state */<br>
+/* CPSR[6] is unchanged */<br>
+CPSR[7] = 1 /* Disable normal interrupts */<br>
+CPSR[8] = 1 /* Disable Imprecise Data Aborts (v6 only) */<br>
+CPSR[9] = CP15_reg1_EEbit /* Endianness on exception entry */<br>
+if high vectors configured then<br>
+PC = 0xFFFF000C<br>
+else<br>
+PC = 0x0000000C</code>
+<p>
+To return after fixing the reason for the abort, use:
+</p><code>
+SUBS PC,R14,#4
+</code><p>
+This restores both the PC (from R14_abt) and CPSR (from SPSR_abt), and returns to the aborted
+instruction.
+</p>
+<code>Data Abort</code>
+<p>
+A memory abort is signaled by the memory system. Activating an abort in response to a data access (load
+or store) marks the data as invalid. A Data Abort exception occurs before any following instructions or
+exceptions have altered the state of the CPU. The following actions are performed:
+</p><code>
+R14_abt = address of the aborted instruction + 8<br>
+SPSR_abt = CPSR<br>
+CPSR[4:0] = 0b10111 /* Enter Abort mode */<br>
+CPSR[5] = 0 /* Execute in ARM state */<br>
+/* CPSR[6] is unchanged */<br>
+CPSR[7] = 1 /* Disable normal interrupts */<br>
+CPSR[8] = 1 /* Disable Imprecise Data Aborts (v6 only) */<br>
+CPSR[9] = CP15_reg1_EEbit /* Endianness on exception entry */<br>
+if high vectors configured then<br>
+PC = 0xFFFF0010<br>
+else<br>
+PC = 0x00000010
+</code><p>
+To return after fixing the reason for the abort use:
+</p><code>
+SUBS PC,R14,#8
+</code><p>
+This restores both the PC (from R14_abt) and CPSR (from SPSR_abt), and returns to re-execute the aborted
+instruction.</p><p>
+If the aborted instruction does not need to be re-executed use:
+</p><code>
+SUBS PC,R14,#4
+</code>
+<code>IRQ</code>
+<p>
+The IRQ exception is generated externally by asserting the IRQ input on the processor. It has a lower priority
+than FIQ, and is masked out when an FIQ sequence is entered.</p><p>
+Interrupts are disabled when the I bit in the CPSR is set. If the I bit is clear, ARM checks for an IRQ at
+instruction boundaries.</p><p>
+When an IRQ is detected, the following actions are performed:
+</p><code>
+R14_irq = address of next instruction to be executed + 4<br>
+SPSR_irq = CPSR<br>
+CPSR[4:0] = 0b10010 /* Enter IRQ mode */<br>
+CPSR[5] = 0 /* Execute in ARM state */<br>
+/* CPSR[6] is unchanged */<br>
+CPSR[7] = 1 /* Disable normal interrupts */<br>
+CPSR[8] = 1 /* Disable Imprecise Data Aborts (v6 only) */<br>
+CPSR[9] = CP15_reg1_EEbit /* Endianness on exception entry */<br>
+if VE==0 then<br>
+if high vectors configured then<br>
+PC = 0xFFFF0018<br>
+else<br>
+PC = 0x00000018<br>
+else<br>
+PC = IMPLEMENTATION DEFINED
+</code><p>To return after servicing the interrupt, use:</p><code>
+SUBS PC,R14,#4
+</code><p>This restores both the PC (from R14_irq) and CPSR (from SPSR_irq), and resumes execution of the
+interrupted code.</p>
+<code>FIQ</code>
+<p>
+The FIQ exception is generated externally by asserting the FIQ input on the processor. FIQ is designed to
+support a data transfer or channel process, and has sufficient private registers to remove the need for register
+saving in such applications, therefore minimizing the overhead of context switching.</p><p>
+Fast interrupts are disabled when the F bit in the CPSR is set. If the F bit is clear, ARM checks for an FIQ
+at instruction boundaries.</p><p>
+When an FIQ is detected, the following actions are performed:
+</p><code>
+R14_fiq = address of next instruction to be executed + 4<br>
+SPSR_fiq = CPSR<br>
+CPSR[4:0] = 0b10001 /* Enter FIQ mode */<br>
+CPSR[5] = 0 /* Execute in ARM state */<br>
+CPSR[6] = 1 /* Disable fast interrupts */<br>
+CPSR[7] = 1 /* Disable normal interrupts */<br>
+CPSR[8] = 1 /* Disable Imprecise Data Aborts (v6 only) */<br>
+CPSR[9] = CP15_reg1_EEbit /* Endianness on exception entry */<br>
+if VE==0 then<br>
+if high vectors configured then<br>
+PC = 0xFFFF001C<br>
+else<br>
+PC = 0x0000001C<br>
+else<br>
+PC = IMPLEMENTATION DEFINED
+</code><p>To return after servicing the interrupt, use:</p><code>
+SUBS PC, R14,#4
+</code><p>
+This restores both the PC (from R14_fiq) and CPSR (from SPSR_fiq), and resumes execution of the
+interrupted code.</p><p>
+The FIQ vector is deliberately the last vector to allow the FIQ exception-handler software to be placed
+directly at address 0x0000001C or 0xFFFF001C, without requiring a branch instruction from the vector.
+</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/FBSCLI.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,105 @@
+<h1>FBSCLI</h1>
+<p>
+Panics raised by clients of the font and bitmap server.
+</p>
+<code>1</code>
+<p>
+No connection has been made to the font and bitmap server.
+</p>
+<code>2</code>
+<p>
+Attempted to pass a command to the font and bitmap server, but no
+connection has been made.
+</p>
+<code>3</code>
+<p>
+Not used.
+</p>
+<code>4</code>
+<p>
+Not used.
+</p>
+<code>5</code>
+<p>
+Not used.
+</p>
+<code>6</code>
+<p>
+Internal typeface store error: the list of accessed fonts
+(<code>CTypefaceStore::iFontAccess</code>) is inconsistent with the font cache
+(<code>CFbsTypefaceStore::iTwipsCache</code>).
+</p>
+<code>7</code>
+<p>
+The typeface store was unable to create a font due to a NULL font
+handle or address.
+</p>
+<code>8</code>
+<p>
+Attempted to access a NULL font pointer (debug builds only).
+</p>
+<code>9</code>
+<p>
+Invalid bitmap format (debug builds only).
+</p>
+<code>10</code>
+<p>
+Invalid bitmap display mode (<a href="../reference-cpp/GDI/TDisplayModeEnum.html#%3a%3aTDisplayMode" title="enum TDisplayMode"><code class="ApiItem">TDisplayMode</code></a>). 
+</p>
+<code>11</code>
+<p>
+Invalid bitmap compression value
+(<a href="../reference-cpp/FBSERV/TBitmapfileCompressionEnum.html#%3a%3aTBitmapfileCompression" title="enum TBitmapfileCompression"><code class="ApiItem">TBitmapfileCompression</code></a>), or an unsupported operation was
+attempted on a compressed bitmap.
+</p>
+<code>12</code>
+<p>
+Bitmap decompression error (debug builds only).
+</p>
+<code>13</code>
+<p>
+Memory addressing error.
+</p>
+<code>14</code>
+<p>
+Either the display mode of the destination bitmap is not
+<code>EColor256</code>, or the two bitmaps are different sizes in
+<a href="../reference-cpp/FBSERV/CFbsColor256BitmapUtilClass.html#%3a%3aCFbsColor256BitmapUtil%3a%3aCopyBitmap%28%29" title="function CFbsColor256BitmapUtil::CopyBitmap()"><code class="ApiItem">CFbsColor256BitmapUtil::CopyBitmap()</code></a>.
+</p>
+<code>15</code>
+<p>
+An error occurred when constructing a hardware bitmap (debug builds
+only).
+</p>
+<code>16</code>
+<p>
+Not used.
+</p>
+<code>17</code>
+<p>
+Memory alignment error in a bitmap loaded from ROM.
+</p>
+<code>18</code>
+<p>
+Not used.
+</p>
+<code>19</code>
+<p>
+New display mode not supported by
+<code>CBitwiseBitmap::ChangeDisplayMode()</code> (debug builds only).
+</p>
+<code>20</code>
+<p>
+New display mode not supported by
+<code>CBitwiseBitmap::ChangeDisplayMode()</code> (debug builds only).
+</p>
+<code>21</code>
+<p>
+When swapping a bitmap's width and height, the size of the new
+bitmap would exceed the amount of memory allocated.
+</p>
+<code>22</code>
+<p>
+<code>CFbsBitmap::LockHeap()</code> has not been called prior to
+calling <code>CFbsBitmap::DataAddress()</code> (debug builds only).
+</p>	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/FSCLIENT_panic.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,241 @@
+<h1>FSCLIENT panic</h1>
+<p>
+Panics with this category are raised on clients requesting services provided by the
+file server. Typically, they are caused by passing bad or contradictory values
+to class constructors or member functions. 
+</p>
+<p>
+The thread causing the panic is terminated.
+</p>
+<p>
+To avoid confusion, we need to emphasise that the panic category is the
+14 character string <em>FSCLIENT panic</em>, and that the word panic is
+part of the panic category.
+</p>
+<code>0</code>
+<p>
+This panic is raised by: 
+</p>
+<p>
+the <code>TDriveUnit(TInt aDrive)</code> variant of the
+<a href="../reference-cpp/F32_EKA2/TDriveUnitClass.html#%3a%3aTDriveUnit" title="class TDriveUnit"><code class="ApiItem">TDriveUnit</code></a> constructor, 
+</p>
+<p>
+the <code>(TInt aDrive)</code> variant of the
+<a href="../reference-cpp/F32_EKA2/TDriveUnitClass.html#%3a%3aTDriveUnit" title="class TDriveUnit"><code class="ApiItem">TDriveUnit</code></a> assignment operator 
+</p>
+<p>
+when the specified drive number is greater than or equal to
+<code>KMaxDrives</code>, i.e. 26. 
+</p>
+<code>1</code>
+<p>
+This panic is raised by: 
+</p>
+<p>
+the <code>TDriveUnit(const TDesC&amp; aDriveText)</code>
+variant of the <a href="../reference-cpp/F32_EKA2/TDriveUnitClass.html#%3a%3aTDriveUnit" title="class TDriveUnit"><code class="ApiItem">TDriveUnit</code></a> constructor, 
+</p>
+<p>
+the <code>(const TDesC&amp; aDriveText)</code> variant of the
+<a href="../reference-cpp/F32_EKA2/TDriveUnitClass.html#%3a%3aTDriveUnit" title="class TDriveUnit"><code class="ApiItem">TDriveUnit</code></a> assignment operator 
+</p>
+<p>
+when the specified drive letter is invalid, i.e. does not
+correspond to a drive number. 
+</p>
+<code>2</code>
+<p>
+This panic is raised when searching for the next file using
+<a href="../reference-cpp/F32_EKA2/TFindFileClass.html#%3a%3aTFindFile%3a%3aFind%28%29" title="function TFindFile::Find()"><code class="ApiItem">TFindFile::Find()</code></a> or
+<a href="../reference-cpp/F32_EKA2/TFindFileClass.html#%3a%3aTFindFile%3a%3aFindWild%28%29" title="function TFindFile::FindWild()"><code class="ApiItem">TFindFile::FindWild()</code></a> before the initial call specifying
+the search method. 
+</p>
+<p>
+Calls to <a href="../reference-cpp/F32_EKA2/TFindFileClass.html#%3a%3aTFindFile%3a%3aFind%28%29" title="function TFindFile::Find()"><code class="ApiItem">TFindFile::Find()</code></a> cannot be made
+until an initial call has been made to either of: 
+</p>
+<p>
+<a href="../reference-cpp/F32_EKA2/TFindFileClass.html#%3a%3aTFindFile%3a%3aFindByDir%28%29" title="function TFindFile::FindByDir()"><code class="ApiItem">TFindFile::FindByDir()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/F32_EKA2/TFindFileClass.html#%3a%3aTFindFile%3a%3aFindByPath%28%29" title="function TFindFile::FindByPath()"><code class="ApiItem">TFindFile::FindByPath()</code></a>
+</p>
+<p>
+Calls to <a href="../reference-cpp/F32_EKA2/TFindFileClass.html#%3a%3aTFindFile%3a%3aFindWild%28%29" title="function TFindFile::FindWild()"><code class="ApiItem">TFindFile::FindWild()</code></a> cannot be made
+until an initial call has been made to either of: 
+</p>
+<p>
+<a href="../reference-cpp/F32_EKA2/TFindFileClass.html#%3a%3aTFindFile%3a%3aFindWildByDir%28%29" title="function TFindFile::FindWildByDir()"><code class="ApiItem">TFindFile::FindWildByDir()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/F32_EKA2/TFindFileClass.html#%3a%3aTFindFile%3a%3aFindWildByPath%28%29" title="function TFindFile::FindWildByPath()"><code class="ApiItem">TFindFile::FindWildByPath()</code></a>
+</p>
+<code>3</code>
+<p>
+<em>Not used.</em>
+</p>
+<code>4</code>
+<p>
+<em>Not used.</em>
+</p>
+<code>5</code>
+<p>
+This panic is raised by a call to
+<a href="../reference-cpp/F32_EKA2/TFileTextClass.html#%3a%3aTFileText%3a%3aSeek%28%29" title="function TFileText::Seek()"><code class="ApiItem">TFileText::Seek()</code></a> when the seek mode passed to the
+function is neither <a href="../reference-cpp/F32_EKA2/TSeekEnum.html#%3a%3aTSeek" title="enum TSeek"><code class="ApiItem">TSeek</code></a><code>::ESeekStart</code> nor
+<a href="../reference-cpp/F32_EKA2/TSeekEnum.html#%3a%3aTSeek" title="enum TSeek"><code class="ApiItem">TSeek</code></a><code>::ESeekEnd</code>. 
+</p>
+<code>6</code>
+<p>
+<em>Not used.</em>
+</p>
+<code>7</code>
+</p>
+<p>
+<em>Not used.</em>
+</p>
+<code>8</code>
+<p>
+<em>Not used.</em>
+</p>
+<code>9</code>
+<p>
+<em>Not used.</em>
+</p>
+<code>10</code>
+<p>
+This panic is raised by the <a href="../reference-cpp/F32_EKA2/CFileManClass.html#%3a%3aCFileMan" title="class CFileMan"><code class="ApiItem">CFileMan</code></a>
+implementation when the operation to be run is undefined. 
+</p>
+<code>11</code>
+<p>
+This panic is raised by
+<a href="../reference-cpp/F32_EKA2/CFileBaseClass.html#%3a%3aCFileBase%3a%3aCurrentEntry%28%29" title="function CFileBase::CurrentEntry()"><code class="ApiItem">CFileBase::CurrentEntry()</code></a> if there is no current entry. 
+</p>
+<code>12</code>
+<p>
+The value returned by the file management observer functions: 
+</p>
+<p>
+<a href="../reference-cpp/F32_EKA2/MFileManObserverClass.html#%3a%3aMFileManObserver%3a%3aNotifyFileManStarted%28%29" title="function MFileManObserver::NotifyFileManStarted()"><code class="ApiItem">MFileManObserver::NotifyFileManStarted()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/F32_EKA2/MFileManObserverClass.html#%3a%3aMFileManObserver%3a%3aNotifyFileManEnded%28%29" title="function MFileManObserver::NotifyFileManEnded()"><code class="ApiItem">MFileManObserver::NotifyFileManEnded()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/F32_EKA2/MFileManObserverClass.html#%3a%3aMFileManObserver%3a%3aNotifyFileManOperation%28%29" title="function MFileManObserver::NotifyFileManOperation()"><code class="ApiItem">MFileManObserver::NotifyFileManOperation()</code></a>
+</p>
+<p>
+is not a valid <a href="../reference-cpp/F32_EKA2/MFileManObserverClass.html#%3a%3aMFileManObserver%3a%3aTControl" title="enum MFileManObserver::TControl"><code class="ApiItem">MFileManObserver::TControl</code></a> enum
+value. 
+</p>
+<code>13</code>
+<p>
+<em>Not used.</em>
+</p>
+<code>14</code>
+<p>
+<em>Not used.</em>
+</p>
+<code>15</code>
+<p>
+<i>This panic is raised in debug builds only.</i>
+</p>
+<p>
+This panic is raised in a call to
+<a href="../reference-cpp/F32_EKA2/CDirScanClass.html#%3a%3aCDirScan%3a%3aSetScanDataL%28%29" title="function CDirScan::SetScanDataL()"><code class="ApiItem">CDirScan::SetScanDataL()</code></a> when the path does not contain at
+least one '\' character. 
+</p>
+<code>16</code>
+<p>
+<em>Not used.</em>
+</p>
+<code>17</code>
+<p>
+This panic is raised by <a href="../reference-cpp/F32_EKA2/RFileClass.html#%3a%3aRFile%3a%3aLock%28%29" title="function RFile::Lock()"><code class="ApiItem">RFile::Lock()</code></a> when the
+number of bytes defining the region to be locked is either zero or negative. 
+</p>
+<code>18</code>
+<p>
+This panic is raised by <a href="../reference-cpp/F32_EKA2/RFileClass.html#%3a%3aRFile%3a%3aUnLock%28%29" title="function RFile::UnLock()"><code class="ApiItem">RFile::UnLock()</code></a> when
+the number of bytes defining the region to be unlocked is either zero or
+negative. 
+</p>
+<code>19</code>
+<p>
+All variants of the <a href="../reference-cpp/F32_EKA2/RFileClass.html#%3a%3aRFile%3a%3aRead%28%29" title="function RFile::Read()"><code class="ApiItem">RFile::Read()</code></a> and
+<a href="../reference-cpp/F32_EKA2/RFileClass.html#%3a%3aRFile%3a%3aWrite%28%29" title="function RFile::Write()"><code class="ApiItem">RFile::Write()</code></a> functions take an argument denoting an
+offset value, in bytes, from the start of a file; the panic is raised by these
+functions when the offset value is negative. 
+</p>
+<code>20</code>
+<p>
+This panic is raised by <a href="../reference-cpp/F32_EKA2/RFileClass.html#%3a%3aRFile%3a%3aSetSize%28%29" title="function RFile::SetSize()"><code class="ApiItem">RFile::SetSize()</code></a> when
+the argument denoting the size of the new file is negative. 
+</p>
+<code>21</code>
+<p>
+This panic is raised by <a href="../reference-cpp/F32_EKA2/RFileClass.html#%3a%3aRFile%3a%3aSetAtt%28%29" title="function RFile::SetAtt()"><code class="ApiItem">RFile::SetAtt()</code></a> and
+<a href="../reference-cpp/F32_EKA2/RFileClass.html#%3a%3aRFile%3a%3aSet%28%29" title="function RFile::Set()"><code class="ApiItem">RFile::Set()</code></a> when the same attribute bit is set in both
+the bitmask that indicates the file attributes to be set and the bitmask that
+indicates the attributes to be cleared. 
+</p>
+<code>22</code>
+<p>
+The panic is raised by the <code>[]</code> operator of
+<a href="../reference-cpp/F32_EKA2/TEntryArrayClass.html#%3a%3aTEntryArray" title="class TEntryArray"><code class="ApiItem">TEntryArray</code></a>, when the index value passed to the operator
+is greater than or equal to the number of elements in the array. 
+</p>
+<code>23</code>
+<p>
+This panic is raised by <a href="../reference-cpp/F32_EKA2/CDirClass.html#%3a%3aCDir%3a%3aSort%28%29" title="function CDir::Sort()"><code class="ApiItem">CDir::Sort()</code></a> when the
+method of sorting, as defined by the single function argument, is none of the
+entries: 
+</p>
+<p>
+<a href="../reference-cpp/F32_EKA2/TEntryKeyEnum.html#%3a%3aTEntryKey" title="enum TEntryKey"><code class="ApiItem">TEntryKey</code></a><code>::ESortNone</code>
+</p>
+<p>
+<a href="../reference-cpp/F32_EKA2/TEntryKeyEnum.html#%3a%3aTEntryKey" title="enum TEntryKey"><code class="ApiItem">TEntryKey</code></a><code>::ESortByDate</code>
+</p>
+<p>
+<a href="../reference-cpp/F32_EKA2/TEntryKeyEnum.html#%3a%3aTEntryKey" title="enum TEntryKey"><code class="ApiItem">TEntryKey</code></a><code>::ESortBySize</code>
+</p>
+<p>
+<a href="../reference-cpp/F32_EKA2/TEntryKeyEnum.html#%3a%3aTEntryKey" title="enum TEntryKey"><code class="ApiItem">TEntryKey</code></a><code>::ESortByExt</code>
+</p>
+<p>
+<a href="../reference-cpp/F32_EKA2/TEntryKeyEnum.html#%3a%3aTEntryKey" title="enum TEntryKey"><code class="ApiItem">TEntryKey</code></a><code>::ESortByUid</code>
+</p>
+<p>
+<a href="../reference-cpp/F32_EKA2/TEntryKeyEnum.html#%3a%3aTEntryKey" title="enum TEntryKey"><code class="ApiItem">TEntryKey</code></a><code>::ESortByName</code>
+</p>
+<code>24</code>
+<p>
+This panic is raised by the <a href="../reference-cpp/F32_EKA2/TParsePtrClass.html#%3a%3aTParsePtr" title="class TParsePtr"><code class="ApiItem">TParsePtr</code></a>
+constructor that takes a reference to a filename, when the name cannot be
+parsed. 
+</p>
+<code>25</code>
+<p>
+This panic is raised by the <a href="../reference-cpp/F32_EKA2/TParsePtrCClass.html#%3a%3aTParsePtrC" title="class TParsePtrC"><code class="ApiItem">TParsePtrC</code></a>
+constructor that takes a const reference to a filename, when the name cannot be
+parsed. 
+</p>
+<code>26</code>
+<p>
+This panic is raised by <a href="../reference-cpp/F32_EKA2/RFsClass.html#%3a%3aRFs%3a%3aReadFileSection%28%29" title="function RFs::ReadFileSection()"><code class="ApiItem">RFs::ReadFileSection()</code></a>
+when the specified number of bytes to be read from the file is greater than the
+maximum length of the target descriptor. 
+</p>
+<code>27</code>
+<p>
+<i>This panic is raised in debug builds only.</i>
+</p>
+<p>
+This panic is raised by the <code class="ApiItem">RFile::Write(const
+TDesC8&amp;,TInt)</code> variant when the specified length is greater than
+the length of the source descriptor. 
+</p>
+	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Form.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,124 @@
+<h1>Form</h1>
+<p>Text Views panics:
+</p>
+<code>201</code>
+<p>
+A NULL layout handle was passed to <code>CTextView::NewL()</code>, or to <code>CTextView::SetLayout()</code>
+</p>
+<code>202</code>
+<p>
+The character edit type in <code>CTextView::HandleCharEditL()</code> was unknown or incompatible with the format changed value. Debug builds only.
+</p>
+<code>203</code>
+<p>
+The horizontal scroll jump value was set to be outside the allowable range (0 to 9999).
+</p>
+<code>300</code>
+<p>
+An invalid document position was specified (e.g. negative or greater than the document length).
+</p>
+<code>400</code>
+<p>
+Drawing error: attempting to draw a line cursor without a line cursor bitmap having been set.
+</p>
+<code>500</code>
+<p>Pagination error: attempting to paginate without a document having been set.
+</p>
+<code>501</code>
+<p>
+Pagination error: appending zero or negative characters per page to the page list (array of characters per page). Debug builds only.
+</p>
+<code>502</code>
+<p>
+Pagination error: page list is empty. Debug builds only.
+</p>
+<code>600</code>
+<p>
+Printing error: the page list has not been set or is defective.
+</p>
+<code>601</code>
+<p>
+Printing error: an invalid page number was specified. Debug builds only.
+</p>
+<code>702</code>
+<p>
+Document formatting error: the selected range flag is on but the selection has zero length. Debug builds only.
+</p>
+<code>704</code>
+<p>
+Document formatting error: the pixel position of the cursor is inconsistent with the position of its bounding line rectangle.
+</p>
+<code>705</code>
+<p>
+Document formatting error: the scroll caused by a single character edit was incomplete. Debug builds only.
+</p>
+<code>800</code>
+<p>
+CTextView::HandleCharEditL()</code> was called while there is a text selection. Debug builds only.
+</p>
+<code>801</code>
+<p>
+An attempt was made to update the view when the document formatting is out of date. Debug builds only.
+</p>
+<code>802</code>
+<p>
+An attempt was made to handle a text edit while background formatting is taking place. Debug builds only.
+</p>
+<code>901</code>
+<p>A scroll was requested, but the specified amount to scroll by is zero. Debug builds only.
+</p>
+<code>902</code>
+<p>
+An algorithmic error occurred while scrolling. Debug builds only.
+</p>
+<code>903</code>
+<p>
+An error occured when scrolling down. Debug builds only.
+</p>
+<code>904</code>
+<p>
+An error occured when scrolling up. Debug builds only.
+</p>
+<code>905</code>
+<p>
+Invalid horizontal scroll value specified
+</p>
+<code>1000</code>
+<p>
+Out of memory. Debug builds only.
+</p>
+<code>1001</code>
+<p>
+An attempt was made to recover from an out of memory condition when no out of memory condition has occured. Debug builds only.
+</p>
+<code>1100</code>
+<p>The cursor is not fully on the screen following a scroll. Debug builds only.
+</p>
+<code>1104</code>
+<p>
+The document position was out of range for the current source document.
+</p>
+<code>1200</code>
+<p>
+An attempt was made to turn highlighting on or off when the view is in the no visible highlighting state. Debug builds only.
+</p>
+<code>1202</code>
+<p>An attempt was made to create a graphics context for the view when one already exists. Debug builds only.
+</p>
+<code>1301</code>
+<p>
+A leave occurred when scrolling to change the cursor position.
+</p>
+<code>1302</code>
+<p>
+The cursor movement specified is inconsistent with the function call. Debug builds only.
+</p>
+<code>1303</code>
+<p>
+There is a picture frame at the cursor position, but no picture frame is in memory. Debug builds only.
+</p>
+<code>1304</code>
+<p>
+The value of a system constant has been changed. Debug builds only.
+</p>
+	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/HTTP_COOKIEform.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,14 @@
+<h1>HTTP-COOKIE</h1>
+<p>Cookie filter panics.
+</p>
+<code>0</code>
+<p>
+Invalid filter state
+</p>
+<code>1</code>
+<p>
+The <code>aCookieList</code> array passed to
+<code class="ApiItem">MHttpCookieManager::GetCookiesL()</code> is not
+empty</p>
+
+	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/HTTP_CORE.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,72 @@
+<h1>HTTP-CORE</h1>
+<p>
+Transport Framework Client panics.
+</p>
+<code>0</code>
+<p><code>RHTTPSession</code> session is already open.
+</p>
+<code>1</code>
+<p>
+Specified header field is missing.
+</p>
+<code>2</code>
+<p>
+Unused.
+</p>
+<code>3</code>
+<p>
+Unused.
+</p>
+<code>4</code>
+<p>
+Mismatch between header's type and its attempted use.
+</p>
+<code>5</code>
+<p>
+Unused.
+</p>
+<code>6</code>
+<p>
+A transaction error occurred, and the <code>MHFRunError()</code> in use didn't handle it.
+</p>
+<code>7</code>
+<p>
+Attempted to add a filter while there is a transaction outstanding.
+</p>
+<code>8</code>
+<p>
+Attempted to add a filter at a position not between the
+protocol handler and the client.
+</p>
+<code>9</code>
+<p><code>CHTTPEncoder</code> object destroyed without its data
+being released.
+</p>
+<code>10</code>
+<p><code>CHTTPEncoder</code> object at the wrong state for adding
+data.
+</p>
+<code>11</code>
+<p>
+Unused.
+</p>
+<code>12</code>
+<p>
+Invalid request data.
+</p>
+<code>13</code>
+<p>
+Invalid response data.
+</p>
+<code>14</code>
+<p>
+Unused.
+</p>
+<code>15</code>
+<p>
+Unused.
+</p>
+<code>16</code>
+<p>
+An invalid filter handle was specified.
+</p>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/IMAPServer.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,47 @@
+<h1>IMAPServer</h1>
+<p>
+IMAPServer panics are raised by the IMAP server-side MTM. They are used
+to signal errors in the implementation of the MTM, and are raised in debug
+builds. The panic codes are divided into a number of ranges, each of which
+relates to a particular area of functionality in the MTM: 
+</p>
+<code>0-999</code>
+<p>
+Session logic, which relates to the set up and management of an
+individual session to an IMAP server
+</p>
+<code>1000 - 1999</code>
+<p>
+IMAP settings loading and storage
+</p>
+<code>2000 - 2999</code>
+<p>
+Server MTM class implementation
+</p>
+<code>3000 - 3999</code>
+<p>
+Character set conversion
+</p>
+<code>4000 - 4999</code>
+<p>
+Storage and manipulation of messages
+</p>
+<code>5000 - 5999</code>
+<p>
+Controlling logic for handling client commands
+</p>
+<code>6000 - 6999</code>
+<p>
+Transport handler, which handles reading and writing of data to
+connected sockets
+</p>
+<code>7000 - 7999</code>
+<p>
+Synchronisation manager, which handles the synchronisation of
+mailbox folders between the locally persisted mailbox store and a remote
+mailbox store
+</p>
+<code>8000 - 8999</code>
+<p>
+Server MTM class
+</p>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/ImageConversion.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,139 @@
+<h1>ImageConversion</h1>
+<p>
+Panics used in the Image Conversion Library 
+</p>
+<code>0</code>
+<p>
+No source bitmap. 
+</p>
+<code>1</code>
+<p>
+No destination bitmap. 
+</p>
+<code>2</code>
+<p>
+Reset destination bitmap. 
+</p>
+<code>3</code>
+<p>
+Convert called while busy. 
+</p>
+<code>4</code>
+<p>
+No conversion currently in progress. 
+</p>
+<code>5</code>
+<p>
+Different destination bitmap. 
+</p>
+<code>6</code>
+<p>
+Different destination bitmap mask. 
+</p>
+<code>7</code>
+<p>
+The destination has been illegally modified. 
+</p>
+<code>8</code>
+<p>
+The bitmap has zero dimensions. 
+</p>
+<code>9</code>
+<p>
+No bitmap mask specified. 
+</p>
+<code>10</code>
+<p>
+Invalid frame number. 
+</p>
+<code>11</code>
+<p>
+The source type is undefined. 
+</p>
+<code>12</code>
+<p>
+Comment are not supported. 
+</p>
+<code>13</code>
+<p>
+Header processing is not complete. 
+</p>
+<code>14</code>
+<p>
+Comment number is out of range. 
+</p>
+<code>15</code>
+<p>
+Bad display mode. 
+</p>
+<code>16</code>
+<p>
+Unknown header state. 
+</p>
+<code>17</code>
+<p>
+The descriptor that was passed is not NULL. 
+</p>
+<code>18</code>
+<p>
+Undefined MIME type. 
+</p>
+<code>19</code>
+<p>
+Illegal image sub-type. 
+</p>
+<code>20</code>
+<p>
+Illegal image type. 
+</p>
+<code>21</code>
+<p>
+Illegal encoder restart. 
+</p>
+<code>22</code>
+<p>
+Attempt to change options while decoding in progress. 
+</p>
+<code>23</code>
+<p>
+Decoder not created. 
+</p>
+<code>24</code>
+<p>
+Feature is not yet implemented. 
+</p>
+<code>25</code>
+<p>
+Relay sub thread panic timeout. 
+</p>
+<code>26</code>
+<p>
+Invalid thread state. 
+</p>
+<code>27</code>
+<p>
+Invalid function leave request. 
+</p>
+<code>28</code>
+<p>
+An Image Decoder was found to be in an invalid state. For example <a href="../reference-cpp/ICL/CBufferedImageDecoderClass.html#%3a%3aCBufferedImageDecoder%3a%3aContinueConvert%28%29" title="function CBufferedImageDecoder::ContinueConvert()"><code class="ApiItem">CBufferedImageDecoder::ContinueConvert()</code></a> was called when
+there is no image data to convert. 
+</p>
+<code>29</code>
+<p>
+Not used. 
+</p>
+<code>30</code>
+<p>
+Illegal call to reserved function. 
+</p>
+<code>31</code>
+<p>
+An index is invalid. For example <a href="../reference-cpp/ICL/TFrameLayoutClass.html#%3a%3aTFrameLayout%3a%3aLength%28%29" title="function TFrameLayout::Length()"><code class="ApiItem">TFrameLayout::Length()</code></a> will panic
+if the value of the index parameter <code>aIndex</code>is not in the range<code>[0:TFrameLayout::Planes()]</code>.
+</p>
+<code>32</code>
+<p>
+A parameter value is invalid. For example <a href="../reference-cpp/ICL/TFrameLayoutClass.html#%3a%3aTFrameLayout%3a%3aSetLength%28%29" title="function TFrameLayout::SetLength()"><code class="ApiItem">TFrameLayout::SetLength()</code></a> will
+panic if the value of the length parameter <code>aLength</code> is negative. 
+</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/InSock.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,7 @@
+<h1>InSock</h1>
+<p>
+Panic of insock.dll
+</p>
+<code>0</code>
+<p><code>TInetAddr</code> constructor call with <code>TSockAddr</code> argument of incorrect protocol family
+</p>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Irda_Fault.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,25 @@
+<h1>Irda Fault</h1>
+<p>
+IrDA sockets (infra-red protocol) panics:
+</p>
+<code>0-5</code>
+<p>
+Unused
+</p>
+<code>6</code>
+<p>
+Session not closed
+</p>
+<code>7</code>
+<p>
+Timer error
+</p>
+<code>8</code>
+<p>
+IR connection in bad state
+</p>
+<code>9</code>
+<p>
+Invalid state change
+</p>
+	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/KERN-EXEC.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,587 @@
+<h1>KERN-EXEC</h1>
+<p>
+These panics represent program errors which are detected by the Kernel
+Executive. Typically, they are caused by passing bad or contradictory
+parameters to functions. Threads which cause exceptions also raise a KERN-EXEC
+panic. 
+</p>
+<p>
+The thread causing the panic is terminated. 
+</p>
+<code>0</code>
+<p>
+This panic is raised when the Kernel cannot find an object in the
+object index for the current process or current thread using the specified
+object index number (the raw handle number). 
+</p>
+<p>
+The most common reason for this is trying to use a kernel-side
+resource without first having sucessfully created it or sucessfully opened it.
+Typically, such resources are created or opened through user side handles,
+which are instances of classes derived from <a href="../reference-cpp/E32_EKA2/RHandleBaseClass.html#%3a%3aRHandleBase" title="class RHandleBase"><code class="ApiItem">RHandleBase</code></a>,
+for example, <a href="../reference-cpp/E32_EKA2/RLibraryClass.html#%3a%3aRLibrary" title="class RLibrary"><code class="ApiItem">RLibrary</code></a>, <a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread" title="class RThread"><code class="ApiItem">RThread</code></a>,
+<a href="../reference-cpp/E32_EKA2/RProcessClass.html#%3a%3aRProcess" title="class RProcess"><code class="ApiItem">RProcess</code></a>, <a href="../reference-cpp/E32_EKA2/RSemaphoreClass.html#%3a%3aRSemaphore" title="class RSemaphore"><code class="ApiItem">RSemaphore</code></a> etc. [Note that
+this list is not exhaustive].
+</p>
+<p>
+For example, a call to <a href="../reference-cpp/E32_EKA2/RLibraryClass.html#%3a%3aRLibrary%3a%3aLookup%28%29" title="function RLibrary::Lookup()"><code class="ApiItem">RLibrary::Lookup()</code></a>
+panics with KERN-EXEC 0 if not preceded by a successful call to
+<a href="../reference-cpp/E32_EKA2/RLibraryClass.html#%3a%3aRLibrary%3a%3aLoad%28%29" title="function RLibrary::Load()"><code class="ApiItem">RLibrary::Load()</code></a>. 
+</p>
+<code>1</code>
+<p>
+This is a general panic raised as a result of trying an
+unauthorised activity such as trying to suspend a thread, to set the priority
+of a thread or to set the priority of a process, when not authorised to do so. 
+</p>
+<code>2</code>
+<p>
+This panic is raised by the kernel when opening a kernel side
+object, a <a href="../reference-cpp/E32_EKA2/DObjectClass.html#%3a%3aDObject" title="class DObject"><code class="ApiItem">DObject</code></a> type, and the fullname is invalid. 
+</p>
+<p>
+The fullname is deemed to be invalid if it contains a character
+that is not one of the printable characters lying between 0x20 and 0x7e
+inclusive, or it contains an asterisk or a question mark. 
+</p>
+<p>
+See also <a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aValidateFullName%28%29" title="function Kern::ValidateFullName()"><code class="ApiItem">Kern::ValidateFullName()</code></a>. 
+</p>
+<code>3</code>
+<p>
+This panic is raised when an unhandled exception occurs. Exceptions
+have many causes, but the most common are access violations caused, for
+example, by dereferencing NULL. Among other possible causes are: general
+protection faults, executing an invalid instruction, alignment checks, etc. 
+</p>
+<code>4</code>
+<p>
+This panic is not used. 
+</p>
+<code>5</code>
+<p>
+This panic is not used. 
+</p>
+<code>6</code>
+<p>
+This panic is raised by the kernel when a handle to a code segment
+is invalid. 
+</p>
+<code>7</code>
+<p>
+This panic is not used. 
+</p>
+<code>8</code>
+<p>
+This panic is not used. 
+</p>
+<code>9</code>
+<p>
+This is a general type of panic that is usually raised by a device
+driver when dealing with an asynchronous request, and it finds that an
+asynchronous request is already outstanding. For an example of the context in
+which this is raised, see
+<code class="filename">...\cedar\e32test\examples\driver1\driver1_ldd.cpp</code>. 
+</p>
+<p>
+This panic is also raised when trying to subscribe to a property
+through a call to <a href="../reference-cpp/E32_EKA2/RPropertyClass.html#%3a%3aRProperty%3a%3aSubscribe%28%29" title="function RProperty::Subscribe()"><code class="ApiItem">RProperty::Subscribe()</code></a> and there is
+already an outstanding subscription on this property handle. 
+</p>
+<code>10</code>
+<p>
+This panic is raised by
+<a href="../reference-cpp/E32_EKA2/DLogicalChannelClass.html#%3a%3aDLogicalChannel%3a%3aRequest%28%29" title="function DLogicalChannel::Request()"><code class="ApiItem">DLogicalChannel::Request()</code></a> when the request number passed
+to the function is smaller than the permitted minimum. 
+</p>
+<p>
+See also <a href="../reference-cpp/E32_EKA2/DLogicalChannelClass.html#%3a%3aDLogicalChannel%3a%3aEMinRequestId" title="field DLogicalChannel::EMinRequestId"><code class="ApiItem">DLogicalChannel::EMinRequestId</code></a>. 
+</p>
+<code>11</code>
+<p>
+This panic is raised when creating a logical channel, and the unit number is outside the permitted range: 
+</p>
+<p>
+If unit numbers are not permitted, the unit number value must
+be <a href="../reference-cpp/E32_EKA2/e32const.hVariables.html#%3a%3aKNullUnit" title="field KNullUnit"><code class="ApiItem">KNullUnit</code></a>. 
+</p>
+<p>
+If unit numbers are permitted, the unit number value must be
+less than <a href="../reference-cpp/E32_EKA2/e32const.hVariables.html#%3a%3aKMaxUnits" title="field KMaxUnits"><code class="ApiItem">KMaxUnits</code></a>. 
+</p>
+<p>
+A logical channel is created as a result of a call to
+<a href="../reference-cpp/E32_EKA2/RBusLogicalChannelClass.html#%3a%3aRBusLogicalChannel%3a%3aDoCreate%28%29" title="function RBusLogicalChannel::DoCreate()"><code class="ApiItem">RBusLogicalChannel::DoCreate()</code></a>. 
+</p>
+<code>12</code>
+<p>
+This panic is raised by the kernel if an event capture hook has already been designated. 
+</p>
+<code>13</code>
+<p>
+This panic is raised by the kernel if the current thread is not the designated event capture hook. 
+</p>
+<code>14</code>
+<p>
+This panic is raised when an attempt is made to set the priority of
+a thread or process to an illegal value. 
+</p>
+<p>
+The permitted priority values for a user process are a subset of
+the values defined by the <a href="../reference-cpp/E32_EKA2/TProcessPriorityEnum.html#%3a%3aTProcessPriority" title="enum TProcessPriority"><code class="ApiItem">TProcessPriority</code></a> enum. The
+permitted values are: 
+</p>
+<code> EPriorityLow
+</code>
+<p>
+<code>EPriorityBackground
+</code>
+</p>
+<p>
+<code>EPriorityForeground
+</code>
+</p>
+<p>
+<code>EPriorityHigh
+</code>
+</p>
+<p>
+The permitted priority values for a user thread are a subset of the
+values defined by the <a href="../reference-cpp/E32_EKA2/TThreadPriorityEnum.html#%3a%3aTThreadPriority" title="enum TThreadPriority"><code class="ApiItem">TThreadPriority</code></a> enum. The permitted
+values are: 
+</p>
+<p>
+<code> EPriorityMuchLess
+</code>
+</p>
+<p>
+<code> EPriorityLess
+</code>
+</p>
+<p>
+<code> EPriorityNormal
+</code>
+</p>
+<p>
+<code>EPriorityMore
+</code>
+</p>
+<p>
+<code> EPriorityMuchMore
+</code>
+</p>
+<code>EPriorityRealTime
+</code>
+</p>
+<p>
+<code>EPriorityAbsoluteVeryLow
+</code>
+</p>
+<p>
+<code> EPriorityAbsoluteLow
+</code>
+</p>
+<p>
+<code> EPriorityAbsoluteBackground
+</code>
+</p>
+<p>
+<code> EPriorityAbsoluteForeground
+</code>
+</p>
+<p>
+<code> EPriorityAbsoluteHigh
+</code>
+</p>
+<code>15</code>
+<p>
+This panic is raised when a timer event is requested from an
+asynchronous timer service, an <a href="../reference-cpp/E32_EKA2/RTimerClass.html#%3a%3aRTimer" title="class RTimer"><code class="ApiItem">RTimer</code></a>, and a timer event
+is already outstanding. It is caused by calling either the <code>At()</code>,
+<code>After()</code> or <code>Lock()</code> member functions after a previous
+call to any of these functions, but before the timer event requested by those
+functions has completed. 
+</p>
+<code>16</code>
+<p>
+This panic is not used. 
+</p>
+<code>17</code>
+<p>
+The panic is raised if kernel heap checking has failed. 
+</p>
+<code>18</code>
+<p>
+This panic is not used. 
+</p>
+<code>19</code>
+<p>
+This panic is raised by the Kernel when a server program makes a
+request to receive a message, i.e. when it calls the <code>Receive()</code>
+member function of <code>RServer2</code>, the handle to the Kernel side server
+object. The panic occurs when a receive message request has previously been
+made and is still outstanding. 
+</p>
+<p>
+Note that <code>RServer2</code> is internal to Symbian 
+</p>
+<code>20</code>
+<p>
+This panic is raised by the Kernel when a request for an event, as
+originated by a call to <code>UserSvr::RequestEvent()</code>, defined in
+<code class="filename">e32svr.h</code>, is made while a previously made request is still
+outstanding. 
+</p>
+<code>21</code>
+<p>
+This panic is not used. 
+</p>
+<code>22</code>
+<p>
+This panic is not used. 
+</p>
+<code>23</code>
+<p>
+This panic is raised in a call to
+<a href="../reference-cpp/E32_EKA2/RSessionBaseClass.html#%3a%3aRSessionBase%3a%3aShareAuto%28%29" title="function RSessionBase::ShareAuto()"><code class="ApiItem">RSessionBase::ShareAuto()</code></a> or
+<a href="../reference-cpp/E32_EKA2/RSessionBaseClass.html#%3a%3aRSessionBase%3a%3aShareProtected%28%29" title="function RSessionBase::ShareProtected()"><code class="ApiItem">RSessionBase::ShareProtected()</code></a>, i.e. when attempting to
+create a session with a server that can be shared, and the server does not
+allow or support shared sessions. 
+</p>
+<code>24</code>
+<p>
+This panic is raised when writing global DLL data, and the length
+of data to be written is greater than the space available. 
+</p>
+<code>25</code>
+<p>
+This panic is raised when searching for objects, using the internal
+function <code>TFindHandleBase::NextObject()</code>, and an invalid type of
+object is specified; i.e. it is not a thread, process, chunk, mutex etc. etc. 
+</p>
+<code>26</code>
+<p>
+This panic is raised by kernel side code that implements heap
+debugging behaviour, when a specific debug request is not recognised. 
+</p>
+<code>27</code>
+<p>
+This panic is raised when an executive call is made with an invalid
+call number. 
+</p>
+<code>28</code>
+<p>
+This panic is not used. 
+</p>
+<code>29</code>
+<p>
+This panic is not used. 
+</p>
+<code>30</code>
+<p>
+This panic is raised when an attempt is being made to send a
+synchronous message to a server more than once, using the current thread's
+dedicated synchronous message. 
+</p>
+<code>31</code>
+<p>
+This panic is not used. 
+</p>
+<code>32</code>
+<p>
+This panic is called by <code>DProcess::Resume()</code> when trying
+to resume a process that is still being loaded. 
+</p>
+<code>33</code>
+<p>
+This panic is raised in a call to
+<a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aKUDesInfo%28%29" title="function Kern::KUDesInfo()"><code class="ApiItem">Kern::KUDesInfo()</code></a>, <a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aKUDesPut%28%29" title="function Kern::KUDesPut()"><code class="ApiItem">Kern::KUDesPut()</code></a>
+etc, when an invalid descriptor is passed. 
+</p>
+<code>34</code>
+<p>
+This panic is raised in a call to
+<a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aKUDesSetLength%28%29" title="function Kern::KUDesSetLength()"><code class="ApiItem">Kern::KUDesSetLength()</code></a> &amp;
+<a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aKUDesPut%28%29" title="function Kern::KUDesPut()"><code class="ApiItem">Kern::KUDesPut()</code></a> when the descriptor passed to it is not a
+modifiable type; i.e. is derived from <a href="../reference-cpp/E32_EKA2/TDesCTypedef.html#%3a%3aTDesC" title="typedef TDesC"><code class="ApiItem">TDesC</code></a> but not
+derived from <a href="../reference-cpp/E32_EKA2/TDesTypedef.html#%3a%3aTDes" title="typedef TDes"><code class="ApiItem">TDes</code></a>. 
+</p>
+<code>35</code>
+<p>
+This panic is raised in a call to
+<a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aKUDesSetLength%28%29" title="function Kern::KUDesSetLength()"><code class="ApiItem">Kern::KUDesSetLength()</code></a> &amp;
+<a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aKUDesPut%28%29" title="function Kern::KUDesPut()"><code class="ApiItem">Kern::KUDesPut()</code></a> when the length of the source descriptor
+is longer than the maximum length of the target descriptor. 
+</p>
+<code>36</code>
+<p>
+This panic is raised by the kernel side code that implements the
+setting of the currency symbol when the length of the currency symbol is
+greater than <a href="../reference-cpp/E32_EKA2/e32const.hVariables.html#%3a%3aKMaxCurrencySymbol" title="field KMaxCurrencySymbol"><code class="ApiItem">KMaxCurrencySymbol</code></a>. 
+</p>
+<code>37</code>
+<p>
+This panic is raised by kernel code when it tries to acquire the
+process DLL lock just before a load, and the wait DLL lock is invalid. 
+</p>
+<code>38</code>
+<p>
+This panic is raised by internal kernel code when an illegal
+attempt is made to attach to a library. 
+</p>
+<code>39</code>
+<p>
+This panic is raised when extracting a list of DLL entry points,
+and the number exceeds the maximum permitted. 
+</p>
+<code>40</code>
+<p>
+This panic is raised by internal kernel code when an illegal
+attempt is made to detach a library. 
+</p>
+<code>41</code>
+<p>
+This panic is raised by internal kernel code when an illegal
+attempt is made to attach to a library. 
+</p>
+<code>42</code>
+<p>
+This panic is raised by internal kernel code when an illegal
+attempt is made to detach a library. 
+</p>
+<code>43</code>
+<p>
+This panic is raised by kernel code when it tries to release the
+process DLL lock when a load fails, and the release DLL lock is invalid. 
+</p>
+<code>44</code>
+<p>
+This panic is raised when a bad message handle is passed to the
+kernel. This usually occurs when using functions called on the
+<a href="../reference-cpp/E32_EKA2/RMessagePtr2Class.html#%3a%3aRMessagePtr2" title="class RMessagePtr2"><code class="ApiItem">RMessagePtr2</code></a> or <a href="../reference-cpp/E32_EKA2/RMessage2Class.html#%3a%3aRMessage2" title="class RMessage2"><code class="ApiItem">RMessage2</code></a> classes
+after the message has been completed; or when the <code>iHandle</code> data
+member of the base class <a href="../reference-cpp/E32_EKA2/RHandleBaseClass.html#%3a%3aRHandleBase" title="class RHandleBase"><code class="ApiItem">RHandleBase</code></a> has become corrupt. 
+</p>
+<code>45</code>
+<p>
+This panic is not used. 
+</p>
+<code>46</code>
+<p>
+This panic can be raised as a result of a call to one of a large
+number of functions. In general, the panic indicates an attempt to perform an
+operation on a thread or process by code running in another process - violating
+the security principle of process isolation. 
+</p>
+<p>
+There are exceptions to this general rule, for example, where the
+panic is raised because the calling process has insufficient capability. The
+precise reason is stated with the function(s). 
+</p>
+<p>
+The panic is raised on a call to the following function if the
+process owning the thread performing the call is not the creator of the target
+process or, if a handle is specified, the handle is not local. 
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/RProcessClass.html#%3a%3aRProcess%3a%3aSetParameter%28%29" title="function RProcess::SetParameter()"><code class="ApiItem">RProcess::SetParameter()</code></a>
+</p>
+<p>
+The panic is raised on a call to the following functions if the
+process owning the thread performing the call is not the same as the target
+process. 
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/RProcessClass.html#%3a%3aRProcess%3a%3aKill%28%29" title="function RProcess::Kill()"><code class="ApiItem">RProcess::Kill()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/RProcessClass.html#%3a%3aRProcess%3a%3aTerminate%28%29" title="function RProcess::Terminate()"><code class="ApiItem">RProcess::Terminate()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/RProcessClass.html#%3a%3aRProcess%3a%3aPanic%28%29" title="function RProcess::Panic()"><code class="ApiItem">RProcess::Panic()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/RProcessClass.html#%3a%3aRProcess%3a%3aSetJustInTime%28%29" title="function RProcess::SetJustInTime()"><code class="ApiItem">RProcess::SetJustInTime()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/RProcessClass.html#%3a%3aRProcess%3a%3aResume%28%29" title="function RProcess::Resume()"><code class="ApiItem">RProcess::Resume()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread%3a%3aKill%28%29" title="function RThread::Kill()"><code class="ApiItem">RThread::Kill()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread%3a%3aTerminate%28%29" title="function RThread::Terminate()"><code class="ApiItem">RThread::Terminate()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread%3a%3aPanic%28%29" title="function RThread::Panic()"><code class="ApiItem">RThread::Panic()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread%3a%3aSuspend%28%29" title="function RThread::Suspend()"><code class="ApiItem">RThread::Suspend()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread%3a%3aResume%28%29" title="function RThread::Resume()"><code class="ApiItem">RThread::Resume()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread%3a%3aSetPriority%28%29" title="function RThread::SetPriority()"><code class="ApiItem">RThread::SetPriority()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread%3a%3aRequestComplete%28%29" title="function RThread::RequestComplete()"><code class="ApiItem">RThread::RequestComplete()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread%3a%3aRequestSignal%28%29" title="function RThread::RequestSignal()"><code class="ApiItem">RThread::RequestSignal()</code></a>
+</p>
+<p>
+NOTE: the creator of a new process can kill or panic the new
+process, change the new process priority and set the new process startup
+parameters until the process is resumed (which the creator can also do). After
+the new process has been resumed, then it becomes totally independent of its
+creator, and any attempt to panic it, kill it etc will raise the KERN-EXEC 46
+panic. 
+</p>
+<p>
+The panic is raised on call to the following (Symbian partner
+only) functions if the calling process does not have the <em>PowerMgmt</em>
+capability (<code class="ApiItem">TCapability::ECapabilityPowerMgmt</code>): 
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/PowerClass.html#%3a%3aPower%3a%3aPowerDown%28%29" title="function Power::PowerDown()"><code class="ApiItem">Power::PowerDown()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/PowerClass.html#%3a%3aPower%3a%3aEnableWakeupEvents%28%29" title="function Power::EnableWakeupEvents()"><code class="ApiItem">Power::EnableWakeupEvents()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/PowerClass.html#%3a%3aPower%3a%3aDisableWakeupEvents%28%29" title="function Power::DisableWakeupEvents()"><code class="ApiItem">Power::DisableWakeupEvents()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/PowerClass.html#%3a%3aPower%3a%3aRequestWakeupEventNotification%28%29" title="function Power::RequestWakeupEventNotification()"><code class="ApiItem">Power::RequestWakeupEventNotification()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/PowerClass.html#%3a%3aPower%3a%3aCancelWakeupEventNotification%28%29" title="function Power::CancelWakeupEventNotification()"><code class="ApiItem">Power::CancelWakeupEventNotification()</code></a>
+</p>
+<p>
+The panic is raised on call to the following functions if the
+calling process does not have the <em>WriteDeviceData</em> capability
+(<code class="ApiItem">TCapability::ECapabilityWriteDeviceData</code>): 
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aSetMachineConfiguration%28%29" title="function User::SetMachineConfiguration()"><code class="ApiItem">User::SetMachineConfiguration()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aSetHomeTime%28%29" title="function User::SetHomeTime()"><code class="ApiItem">User::SetHomeTime()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aSetUTCTime%28%29" title="function User::SetUTCTime()"><code class="ApiItem">User::SetUTCTime()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aSetUTCOffset%28%29" title="function User::SetUTCOffset()"><code class="ApiItem">User::SetUTCOffset()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aSetUTCTimeAndOffset%28%29" title="function User::SetUTCTimeAndOffset()"><code class="ApiItem">User::SetUTCTimeAndOffset()</code></a>
+</p>
+<p>
+The panic is raised on call to the following function if the
+calling process does not have the <em>ReadDeviceData</em> capability
+(<code class="ApiItem">TCapability::ECapabilityReadDeviceData</code>): 
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aMachineConfiguration%28%29" title="function User::MachineConfiguration()"><code class="ApiItem">User::MachineConfiguration()</code></a>
+</p>
+<code>47</code>
+<p>
+This panic is raised when the user issues a request to be notified
+of messages or the availability of space, when a request has already been
+issued and is still outstanding. 
+</p>
+<p>
+See <a href="../reference-cpp/E32_EKA2/RMsgQueueClass.html#%3a%3aRMsgQueue" title="class RMsgQueue"><code class="ApiItem">RMsgQueue</code></a>, asynchronous message queues. 
+</p>
+<code>48</code>
+<p>
+This panic is raised when creating a message queue, and the size of
+the template parameter is invalid. 
+</p>
+<p>
+See <a href="../reference-cpp/E32_EKA2/RMsgQueueClass.html#%3a%3aRMsgQueue" title="class RMsgQueue"><code class="ApiItem">RMsgQueue</code></a>, asynchronous message queues. 
+</p>
+<code>49</code>
+<p>
+This panic is raised when creating a message queue, and the
+specified number of slots is not positive. 
+</p>
+<p>
+See <a href="../reference-cpp/E32_EKA2/RMsgQueueClass.html#%3a%3aRMsgQueue" title="class RMsgQueue"><code class="ApiItem">RMsgQueue</code></a>, asynchronous message queues. 
+</p>
+<code>50</code>
+<p>
+This panic is raised if an attempt is made to cancel an outstanding
+request to be notified of messages or the availability of space, and the cancel
+is being made by a thread in a different process to the one from which the
+request was originally made. 
+</p>
+<p>
+See <a href="../reference-cpp/E32_EKA2/RMsgQueueClass.html#%3a%3aRMsgQueue" title="class RMsgQueue"><code class="ApiItem">RMsgQueue</code></a>, asynchronous message queues. 
+</p>
+<code>51</code>
+<p>
+This panic is raised by <code>RProcess::Setparameter()</code> if a
+slot value is invalid. 
+</p>
+<code>52</code>
+<p>
+This panic is raised by <code>RProcess::Setparameter()</code> if a
+slot is in use. 
+</p>
+<code>53</code>
+<p>
+This panic is raised by <code>RProcess::Setparameter()</code> if
+the length of the data passed is negative. 
+</p>
+<code>54</code>
+<p>
+This panic is raised by <a href="../reference-cpp/E32_EKA2/RCondVarClass.html#%3a%3aRCondVar%3a%3aWait%28%29" title="function RCondVar::Wait()"><code class="ApiItem">RCondVar::Wait()</code></a> when
+the current thread does not hold the specified mutex. 
+</p>
+<code>55</code>
+<p>
+This panic is raised when a call is made to <code>RThread::GetDesMaxLength()</code>, which is now obsolete. 
+</p>
+<code>56</code>
+<p>
+This panic is raised on a process which has not yet been resumed,
+and whose creator has died. 
+</p>
+<code>57</code>
+<p>
+This panic is raised when a session receives a message to connect
+to a server when the session is already connected to that server. 
+</p>
+<code>58</code>
+<p>
+This panic is raised during an attempt to connect to a server. As
+part of this process, a pointer to an instance of the
+<a href="../reference-cpp/E32_EKA2/CSession2Class.html#%3a%3aCSession2" title="class CSession2"><code class="ApiItem">CSession2</code></a> derived class is saved in the instance of the
+<a href="../reference-cpp/E32_EKA2/CServer2Class.html#%3a%3aCServer2" title="class CServer2"><code class="ApiItem">CServer2</code></a> derived class. 
+</p>
+<p>
+The panic is caused when the pointer to the session object is NULL.
+</p>
+<code>59</code>
+<p>
+This panic is raised during an attempt to connect to a server. As
+part of this process, a pointer to an instance of the
+<a href="../reference-cpp/E32_EKA2/CSession2Class.html#%3a%3aCSession2" title="class CSession2"><code class="ApiItem">CSession2</code></a> derived class is saved in the instance of the
+<a href="../reference-cpp/E32_EKA2/CServer2Class.html#%3a%3aCServer2" title="class CServer2"><code class="ApiItem">CServer2</code></a> derived class. 
+</p>
+<p>
+This panic is caused when a pointer to the session has previously
+been set. 
+</p>
+<code>60</code>
+<p>
+This panic is raised during an attempt to connect to a server. As
+part of this process, a pointer to an instance of the
+<a href="../reference-cpp/E32_EKA2/CSession2Class.html#%3a%3aCSession2" title="class CSession2"><code class="ApiItem">CSession2</code></a> derived class is saved in the instance of the
+<a href="../reference-cpp/E32_EKA2/CServer2Class.html#%3a%3aCServer2" title="class CServer2"><code class="ApiItem">CServer2</code></a> derived class. 
+</p>
+<p>This panic is caused when a pointer to a session is being set, and
+the message is not the connect message.</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/KERN.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,581 @@
+<h1>KERN</h1>
+<p>
+These panic numbers represent errors which cause the Kernel itself to
+terminate. When the kernel terminates for the reasons listed here, it is said
+to fault rather than panic. 
+</p>
+<p>
+The faults themselves are raised by kernel side code. 
+</p>
+<p>Note:many of the faults listed here are raised in debug
+builds only. 
+</p>
+<code>0-3</code>
+<p>
+Not used. 
+</p>
+<code>4</code>
+<p>
+This fault is raised when a system thread has panicked or
+terminated causing the entire system to re-boot. 
+</p>
+<code>5</code>
+<p>
+Not used. 
+</p>
+<code>6</code>
+<p>
+This fault is raised when adding a code segment, a
+<code>DCodeSeg</code> object, to the dependency table of another code segment. 
+</p>
+<p>
+The fault occurs when the number of dependent code segments added
+exceeds the maximum expected, suggesting some inconsistency. 
+</p>
+<p>
+Note: <code>DCodeSeg</code> is internal to Symbian OS 
+</p>
+<code>7</code>
+<p>
+Not used. 
+</p>
+<code>8</code>
+<p>
+This fault is raised when the thread that deals with raw hardware
+events, as generated by the hardware drivers of a pointer device, a keyboard
+etc., has terminated. The thread is referred to as the thread event hook. 
+</p>
+<p>
+Note:
+</p>
+<p>
+The most common cause is the death of the window server
+&quot;wserv&quot;. 
+</p>
+<p>
+Raw hardware events are represented by
+<a href="../reference-cpp/E32_EKA2/TRawEventClass.html#%3a%3aTRawEvent" title="class TRawEvent"><code class="ApiItem">TRawEvent</code></a> objects. 
+</p>
+<code>9</code>
+<p>
+This fault is raised when an attempt to allocate the buffer that is
+to contain raw hardware events (as represented by a set of
+<a href="../reference-cpp/E32_EKA2/TRawEventClass.html#%3a%3aTRawEvent" title="class TRawEvent"><code class="ApiItem">TRawEvent</code></a> objects), cannot be allocated. 
+</p>
+<code>10-14</code>
+<p>
+Not used. 
+</p>
+<code>15</code>
+<p>
+This fault is raised when a thread or process is panicked or
+terminated when one of the following is true: 
+</p>
+<p>
+the kernel is locked. 
+</p>
+<p>
+the current thread holds a fast mutex. 
+</p>
+<code>16</code>
+<p>
+Not used. 
+</p>
+<code>17</code>
+<p>
+Not used. 
+</p>
+<code>18</code>
+<p>
+This fault is raised by internal functions, which as part of their
+implementation, fetch a <a href="../reference-cpp/E32_EKA2/DObjectClass.html#%3a%3aDObject" title="class DObject"><code class="ApiItem">DObject</code></a> based on the object type,
+a <code>TObjectType</code> type. 
+</p>
+<p>
+The fault occurs when the value representing the object type lies
+outside the permitted values. 
+</p>
+<p>
+The fault can also be raised by
+<a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aObjectFromHandle%28%29" title="function Kern::ObjectFromHandle()"><code class="ApiItem">Kern::ObjectFromHandle()</code></a>. 
+</p>
+<p>
+Note:
+<code class="ApiItem">TObjectType</code> is internal to
+Symbian OS. 
+</p>
+<code>19</code>
+<p>
+This fault is raised by a kernel side session
+(<code>DSession</code>) object's destructor if that session has not been
+detached from the kernel side server (<code>DServer</code>) object by the time
+the destructor is called. 
+</p>
+<p>
+Note:
+<code>DSession</code> and <code>DServer
+</code> are internal to Symbian OS. 
+</p>
+<code>20</code>
+<p>This fault is raised in debug builds only.
+</p>
+<p>
+The fault is raised by <code>DSession::Send()</code> when an
+ASSERT, that expects a message to be free, fails. 
+</p>
+<p>
+Note:
+<code>DSession</code> is internal to Symbian OS.
+</p>
+<code>21</code>
+<p>
+Not used. 
+</p>
+<code>22</code>
+<p>
+This fault is raised by a kernel side session
+(<code>DSession</code>) object's destructor if there are still messages
+outstanding on that session by the time the destructor is called. 
+</p>
+<p>
+Note:
+<code>DSession</code> is internal to Symbian OS.
+</p>
+<code>23</code>
+<p>
+Not used. 
+</p>
+<code>24</code>
+<p>
+This fault is raised by a kernel side server (<code>DServer</code>)
+object's destructor if there are sessions still attached to that server by the
+time the destructor is called. 
+</p>
+<p>
+Note:
+<code>DServer</code> is internal to Symbian OS. 
+</p>
+<code>25</code>
+<p>
+This fault is raised by a kernel side server (<code>DServer</code>)
+object's destructor if that server still has messages that have been delivered
+but not yet accepted by the time the destructor is called. 
+</p>
+<code>26</code>
+<p>
+This fault is raised by a kernel side server (<code>DServer</code>)
+object's <code>Close()</code> function if that server still has messages that
+have been delivered but not yet accepted. 
+</p>
+<code>27</code>
+<p>
+This fault is raised by a kernel side session
+(<code>DSession</code>) object when the server calls its
+<code>ClosefromDisconnect()</code> function to indicate completion of the
+disconnection, and the session object's access count is not zero. 
+</p>
+<p>
+Note:
+<code>DSession</code> is internal to Symbian OS.
+</p>
+<code>28</code>
+<p>This fault is raised in debug builds only.</p>
+<p>
+This fault is raised when a message is being freed and the message
+appears to belong to an unknown message pool. 
+</p>
+<code>29</code>
+<p>
+This fault is raised by a kernel side session
+(<code>DSession</code>) object's destructor if there are still messages
+outstanding on that session by the time the destructor is called. 
+</p>
+<p>
+Note:
+<code>DSession</code> is internal to Symbian OS.
+</p>
+<code>30-40</code>
+<p>
+Not used. 
+</p>
+<code>41</code>
+<p>
+This fault is raised when the DFC that is used to restart the
+second absolute timer queue (<code>TSecondQ</code>) finds that the queue is not
+locked. 
+</p>
+<code>42</code>
+<p>
+This fault is raised by the <a href="../reference-cpp/E32_EKA2/DLogicalChannelClass.html#%3a%3aDLogicalChannel" title="class DLogicalChannel"><code class="ApiItem">DLogicalChannel</code></a>
+destructor if there are outstanding messages by the time the destructor is
+called. 
+</p>
+<code>43</code>
+<p>
+This fault is raised by a kernel side session
+(<code>DSession</code>) object's destructor if the object's access count and
+the total client access count are not zero by the time the destructor is
+called. 
+</p>
+<p>
+Note:
+<code>DSession</code> is internal to Symbian OS.
+</p>
+<code>44</code>
+<p>
+This fault is raised when the kernel heap is being created and the
+specified initial size is less than or equal to the minimum value defined by
+<a href="../reference-cpp/E32_EKA2/e32const.hVariables.html#%3a%3aKMinHeapSize" title="field KMinHeapSize"><code class="ApiItem">KMinHeapSize</code></a>. 
+</p>
+<code>45-47</code>
+<p>
+Not used. 
+</p>
+<code>48</code>
+<p>
+This fault is raised if creation of the machine configuration mutex
+fails during initialisation of the RAM drive. 
+</p>
+<code>49</code>
+<p>
+This fault is raised if creation of a new chunk for the internal
+RAM drive fails. 
+</p>
+<code>50</code>
+<p>
+This fault is raised if creation of the microkernel fails. 
+</p>
+<code>51</code>
+<p>
+This fault is raised if the 3rd phase initialisation of the kernel
+fails. 
+</p>
+<code>52</code>
+<p>
+This fault is raised if the startup of kernel extensions fails. 
+</p>
+<code>53-56</code>
+<p>
+Not used. 
+</p>
+<code>57</code>
+<p>
+This fault is raised if initialisation of the RAM drive fails. 
+</p>
+<code>58-62</code>
+<p>
+Not used. 
+</p>
+<code>63</code>
+<p>
+This fault acts as a trap if a thread calls
+<a href="../reference-cpp/E32_EKA2/NKernClass.html#%3a%3aNKern%3a%3aThreadKill%28%29" title="function NKern::ThreadKill()"><code class="ApiItem">NKern::ThreadKill()</code></a> to terminate itself, and the call to
+that <a href="../reference-cpp/E32_EKA2/NKernClass.html#%3a%3aNKern%3a%3aThreadKill%28%29" title="function NKern::ThreadKill()"><code class="ApiItem">NKern::ThreadKill()</code></a>function returns. When a thread
+calls on itself, the call should not return. 
+</p>
+<code>64</code>
+<p>
+This fault is raised if an attempt is made to set an invalid timer
+type (<code>TTimer::SetType()</code>). 
+</p>
+<p>
+Note:
+<code>TTimer</code> is internal to Symbian OS. 
+</p>
+<code>65</code>
+<p>
+The fault is raised when updating a tick timer queue, and the delta
+value is greater than the maximum permitted. 
+</p>
+<code>66</code>
+<p>This fault is raised in debug builds only.
+</p>
+<p>
+The fault is raised when setting the thread (<code>DThread</code>)
+priority, and the priority value is not a valid value. 
+</p>
+<p>
+Note:
+<code>DThread</code> is internal to Symbian OS. 
+</p>
+<code>67</code>
+<p>This fault is raised in debug builds only.
+</p>
+<p>
+This fault is raised when a mutex (<code>DMutex</code>) is
+signalled (<code>DMutex::Signal()</code>) by the wrong thread. 
+</p>
+<p>
+Note:
+<code>DMutex</code> is internal to Symbian OS. 
+</p>
+<code>68</code>
+<p>
+This fault is raised in debug builds only.
+</p>
+<p>
+This fault is raised when a mutex (<code>DMutex</code>) is
+signalled (<code>DMutex::Signal()</code>) and the current thread
+(<code>DThread</code>) is not ready to run. 
+</p>
+<p>
+Note:
+<code>DMutex</code> and <code>DThread</code> are
+internal to Symbian OS. 
+</p>
+<code>69</code>
+<p>
+This fault is raised in debug builds only.
+</p>
+<p>
+This fault is raised when a wait is called on a mutex
+(<code>DMutex::Wait()</code>), and the current thread (<code>DThread</code>) is
+not ready to run. 
+</p>
+<p>
+Note:
+<code>DMutex</code> and <code>DThread</code> are
+internal to Symbian OS. 
+</p>
+<code>70</code>
+<p>
+This fault is raised in debug builds only.
+</p>
+<p>
+This fault is raised when a wait is called on a mutex
+(<code>DMutex::Wait()</code>), and the current thread (<code>DThread</code>) is
+blocked, waiting on another object. 
+</p>
+<p>
+Note:
+<code>DMutex</code> and <code>DThread</code> are
+internal to Symbian OS. 
+</p>
+<code>71</code>
+<p>
+This fault is raised in debug builds only.
+</p>
+<p>
+The fault is raised when a semaphore (<code>DSemaphore</code>) is
+signalled and the current thread (<code>DThread</code>) is not ready to run. 
+</p>
+<p>
+Note:
+<code>DSemaphore</code> and <code>DThread
+</code> are internal to Symbian OS. 
+</p>
+<code>72</code>
+<p>
+This fault is raised in debug builds only.
+</p>
+<p>
+The fault is raised when a wait is called on a semaphore
+(<code>DSemaphore::Wait()</code>) and the current thread (<code>DThread</code>)
+is not ready to run. 
+</p>
+<p>
+Note:
+<code>DSemaphore</code> and <code>DThread
+</code> are internal to Symbian OS. 
+</p>
+<code>73</code>
+<p>
+This fault is raised in debug builds only.
+</p>
+<p>
+This fault is raised when a wait is called on a semaphore
+(<code>DSemaphore::Wait()</code>), and the current thread
+(<code>DThread</code>) is blocked, waiting on another object. 
+</p>
+<p>
+Note:
+<code>DSemaphore</code> and <code>DThread
+</code> are internal to Symbian OS. 
+</p>
+<code>74</code>
+<p>
+This fault is raised in debug builds only.
+</p>
+<p>
+This fault is raised during kernel heap manipulation. 
+</p>
+<code>75</code>
+<p>
+This fault is raised by the <code>DLibrary</code> destructor if the
+number of user references on the library, which is equal to the number of
+handles on the library opened by the process or by any of its threads, is not
+zero. 
+</p>
+<p>
+Note:
+<code>DLibrary</code> is internal to Symbian OS.
+</p>
+<code>76</code>
+<p>
+This fault is raised by <code>DProcess::Release()</code> if the
+number of dynamically loaded code segments attached to this process is not
+zero. 
+</p>
+<p>
+Note: the code segments referred to are only those
+corresponding to DLLs that have been explicitly loaded. 
+</p>
+<p>
+Note:
+<code>DProcess</code> is internal to Symbian OS.
+</p>
+<code>77</code>
+<p>
+This fault is raised during the creation of a code segment if a
+process data address is invalid. 
+</p>
+<code>78</code>
+<p>
+This fault is raised in debug builds only.
+</p>
+<p>
+This fault is raised when attaching a process to a code segment
+(<code>DCodeSeg::SetAttachProcess()</code>). 
+</p>
+<p>
+The fault occurs if the code segment's <code>iExeCodeSeg</code>
+field already points to some process's EXE code segment. 
+</p>
+<p>
+Note:
+<code>DCodeSeg</code> and <code>DProcess
+</code> are internal to Symbian OS. 
+</p>
+<code>79</code>
+<p>
+This fault is raised when attaching a process to a code segment
+(<code>DCodeSeg::SetAttachProcess()</code>). 
+</p>
+<p>
+The fault occurs if a process (<code>DProcess</code>) has already
+been attached to this code segment. 
+</p>
+<p>
+Note:
+<code>DCodeSeg</code> and <code>DProcess
+</code> are internal to Symbian OS. 
+</p>
+<code>80</code>
+<p>
+This fault is raised when an essential system thread terminates.
+Such a thread is flagged as being permanent
+(<code>KThreadFlagSystemPermanent</code>). 
+</p>
+<code>81</code>
+<p>
+This fault is raised in debug builds only.
+</p>
+<p>
+This fault is raised if creation of the just-in-time handler
+(<code>DJitCrashHandler</code>) fails during the third phase of system
+initialisation (<a href="../reference-cpp/E32_EKA2/AsicClass.html#%3a%3aAsic%3a%3aInit3%28%29" title="function Asic::Init3()"><code class="ApiItem">Asic::Init3()</code></a>). 
+</p>
+<p>
+Note:
+<code>DJitCrashHandler</code> is internal to
+Symbian OS. 
+</p>
+<code>82</code>
+<p>
+Not used. 
+</p>
+<code>83</code>
+<p>
+This fault is raised in debug builds only.
+</p>
+<p>
+This fault is raised by <a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aProcessFromId%28%29" title="function Kern::ProcessFromId()"><code class="ApiItem">Kern::ProcessFromId()</code></a>
+if the process container mutex is not held by the current thread. 
+</p>
+<code>84</code>
+<p>
+This fault is raised in debug builds only.
+</p>
+<p>
+This fault is raised by <a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aThreadFromId%28%29" title="function Kern::ThreadFromId()"><code class="ApiItem">Kern::ThreadFromId()</code></a>
+if the thread container mutex is not held by the current thread. 
+</p>
+<code>85</code>
+<p>
+Not used. 
+</p>
+<code>86</code>
+<p>
+Not used. 
+</p>
+<code>87</code>
+<p>
+This fault is raised in debug builds only.
+</p>
+<p>
+This fault is raised when an access-counted event handler callback
+object, <a href="../reference-cpp/E32_EKA2/DKernelEventHandlerClass.html#%3a%3aDKernelEventHandler" title="class DKernelEventHandler"><code class="ApiItem">DKernelEventHandler</code></a>, is created with a NULL
+<code class="ApiItem">TCallback</code> object. 
+</p>
+<code>88</code>
+<p>
+This fault is raised in debug builds only.
+</p>
+<p>
+This fault is raised if attempting to wait on a mutex
+(<code>DMutex::Wait()</code>) that has been created with an order value that
+violates the rules that prevent deadlock prevention. 
+</p>
+<code>89</code>
+<p>
+This fault is raised in debug builds only.
+</p>
+<p>
+This fault is raised when waiting on a condition variable object
+(<code>DCondVar</code>) if the current thread is not ready to run. 
+</p>
+<p>
+Note:
+<code>DCondVar</code> is internal to Symbian OS.
+</p>
+<code>90</code>
+<p>
+This fault is raised in debug builds only.
+</p>
+<p>
+This fault is raised when waiting on a condition variable object
+(<code>DCondVar</code>) if the current (Nanokernel) thread is not in a
+recognised state. 
+</p>
+<p>
+Note:
+<code>DCondVar</code> is internal to Symbian OS.
+</p>
+<code>91</code>
+<p>
+This fault is raised in debug builds only.
+</p>
+<p>
+This fault is raised when waiting on a condition variable object
+(<code>DCondVar</code>) if the current (Symbian OS) thread is not in a
+recognised state. 
+</p>
+<p>
+Note:
+<code>DCondVar</code> is internal to Symbian OS.
+</p>
+<code>92</code>
+<p>
+This fault is raised when attempting to unblock a thread in a call
+to <code>DCondVar::UnBlockThread()</code> if the thread state indicates that it
+is not suspended waiting on the <code>DCondVar</code> object. 
+</p>
+<code>93</code>
+<p>
+Not used. 
+</p>
+<code>94</code>
+<p>
+This fault is raised in a call to
+<a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aThreadKill%28%29" title="function Kern::ThreadKill()"><code class="ApiItem">Kern::ThreadKill()</code></a> if an attempt is being made to kill a
+non-user thread that is also not the currently running thread. </p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/MATX.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,34 @@
+<h1>MATHX</h1>
+<p>These panics represent errors raised by member functions of the <a href="../reference-cpp/E32_EKA2/TRealXClass.html#%3a%3aTRealX" title="class TRealX"><code class="ApiItem">TRealX</code></a> class. Typically, they are the result
+of illegal maths operations, such as dividing by zero, or operations which result in overflow.</p><p>The thread causing the panic is terminated.</p>
+<code>0</code>
+<p>This panic is raised by <code>operator/=</code> of a <a href="../reference-cpp/E32_EKA2/TRealXClass.html#%3a%3aTRealX" title="class TRealX"><code class="ApiItem">TRealX</code></a>, when the divisor is zero</p>
+<code>1</code>
+<p>This panic is raised by <code>operator+=</code>, <code>operator-=</code> and <code>operator*=</code> of a <a href="../reference-cpp/E32_EKA2/TRealXClass.html#%3a%3aTRealX" title="class TRealX"><code class="ApiItem">TRealX</code></a>, when the the
+result of the operation is an overflow.</p>
+<code>2</code>
+<p>This panic is raised by <code>operator+=</code>, <code>operator-=</code> and <code>operator*=</code> of a <a href="../reference-cpp/E32_EKA2/TRealXClass.html#%3a%3aTRealX" title="class TRealX"><code class="ApiItem">TRealX</code></a>, when the the
+result of the operation is an underflow.</p>
+<code>3</code>
+<p>This panic is raised by <code>operator+=</code>, <code>operator-=</code> and <code>operator*=</code> of a <a href="../reference-cpp/E32_EKA2/TRealXClass.html#%3a%3aTRealX" title="class TRealX"><code class="ApiItem">TRealX</code></a>, when the the
+operands are invalid.</p><p>For <code>operator+=</code>, the panic is raised if one of these conditions applies:</p>
+<p>the target operand is not a number,</p>
+<p>the source operand is not a number,</p>
+<p>the target and the source operands are infinite and have different signs.</p>
+<p> For <code>operator-=</code>, the panic is raised if one of these conditions applies:</p>
+<p>the target operand is not a number, </p>
+<p>the source operand is not a number,</p>
+<p>the target and the source operands are infinite and have different signs</p>
+<p>For <code>operator*=</code>, the panic is raised if one of these conditions applies:</p>
+<p>the target operand is not a number, </p>
+<p>the source operand is not a number, </p>
+<p>the target operand is infinite and the source operand is zero </p>
+<p>the target operand is zero and the source operand is infinite.</p>
+<p>For <code>operator/=</code>, the panic is raised if one of these conditions applies:</p>
+<p>the target operand is not a number,</p>
+<p>the source operand is not a number,</p>
+<p>the target operand and the source operand are both infinite,</p>
+<p>the target operand and the source operand are both zero.</p>
+<code>4</code>
+<p>This panic is raised by a number of operations on <a href="../reference-cpp/E32_EKA2/TReal64Typedef.html#%3a%3aTReal64" title="typedef TReal64"><code class="ApiItem">TReal64</code></a> and <a href="../reference-cpp/E32_EKA2/TReal32Typedef.html#%3a%3aTReal32" title="typedef TReal32"><code class="ApiItem">TReal32</code></a> types when they complete with
+an error code other than: <code>KErrArgument</code>, <code>KErrDivideByZero</code>, <code>KErrOverflow</code> or <code>KErrUnderflow</code>.</p>	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/MSGS.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,155 @@
+<h1>MSGS</h1>
+<p>Messaging panics of Message Server from the <code>msgs</code> library</p>
+<code>11-18</code>
+<p>Parent of context could not be found</p>
+<code>19-20</code>
+<p>Specified entry was not a child of the parent</p>
+<code>35</code>
+<p><code>CMsvServerEntry::DeleteEntry()</code> called on current context</p>
+<code>36</code>
+<p><code>CMsvServerEntry</code> update index request failed as ID specified is not the same as the context ID</p>
+<code>66</code>
+<p>Invalid <code>TMsvEntry</code> provided in <code>CMsvServerEntry</code> change function</p>
+<code>94</code>
+<p><code>CMsvServerEntry::EditStoreL()</code> called with associated message store already open</p>
+<code>95</code>
+<p><code>CMsvServerEntry::ReadStoreL()</code> called with associated message store already open</p>
+<code>96</code>
+<p><code>CMsvServerEntry</code> destroyed while associated message store was left open</p>
+<code>97</code>
+<p><code>CMsvServerEntry</code> object notified of unknown message store event type</p>
+<code>98</code>
+<p><code>CMsvServerEntry</code> object notified of event relating to unknown message store </p>
+<code>99</code>
+<p>New <code>CMsvServerEntry</code> context request failed as the contexts store is still open</p>
+<code>109</code>
+<p><code>CMsvServerEntry</code> context cannot be changed as it has been deleted</p>
+<code>120</code>
+<p><code>CMsvServerEntry</code> move  function failed as the destination is the current parent</p>
+<code>146</code>
+<p><code>CMsvServerEntry</code> request failed as no context has been set for the object</p>
+<code>175</code>
+<p><code>CMsvServerEntry::MoveEntry()/MoveEntryWithinService()</code> failed as the destination belongs to a different service that the source</p>
+<code>176</code>
+<p><code>CMsvServerEntry</code> request called with an asynchronous move function is already being carried out on the context</p>
+<code>177</code>
+<p><code>CMsvServerEntry::MoveEntryL()</code> called with an asynchronous move function already being carried out on the context</p>
+<code>178</code>
+<p><code>CMsvServerEntry</code> <code>::MoveEntryCompleted()</code> called with no move completed</p>
+<code>179</code>
+<p>Target of <code>CMsvServerEntry::MoveEntryL()</code> is the current context</p>
+<code>180</code>
+<p><code>CMsvServerEntry</code>
+<code>::CancelMoveEntry()</code> called with no move begun</p>
+<code>181</code>
+<p><code>CMsvServerEntry</code> destroyed while asynchronous move operation was in progress</p>
+<code>194</code>
+<p><code>CMtmDllInfo::SetHumanReadableNameL()</code> called with name longer than 50 characters</p>
+<code>195</code>
+<p><code>CRegisteredMtmDll</code> object destroyed while MTM DLL is still in use</p>
+<code>196</code>
+<p><code>CRegisteredMtmDll</code> object released with no instances in use</p>
+<code>197</code>
+<p><code>CRegisteredMtmDll</code> load library call made while MTM DLL is still in use</p>
+<code>198</code>
+<p><code>CMtmDllRegistry::MtmTypeUid()</code> an out-of-range index value</p>
+<code>199</code>
+<p><code>CMtmDllRegistry::IsInUse()</code> specified a non-registered MTM</p>
+<code>200</code>
+<p>MTM registered with type UID of existing MTM</p>
+<code>203</code>
+<p>Request to sort entries by unknown priority</p>
+<code>209</code>
+<p>Registration data for a single MTM component has incorrect value for UID2</p>
+<code>210</code>
+<p>Request to sort entries by unknown MTM</p>
+<code>211</code>
+<p>Error in constructed MTM list for sorting</p>
+<code>223</code>
+<p>ID specified in new index entry is not the same as the context ID in <code>CMsvEntry</code> change context</p>
+<code>227</code>
+<p><code>CMsvSession</code>
+<code>::RemoveObserver()</code> was called for a non-registered observer</p>
+<code>228</code>
+<p>Client attempted to remove an entry observer  that was not a registered observer</p>
+<code>234</code>
+<p>Attempted to remove a session observer while no session observer exists</p>
+<code>235</code>
+<p>No context for <code>CMsvEntry</code></p>
+<code>236</code>
+<p><code>CMsvEntry</code> children already sorted</p>
+<code>237</code>
+<p><code>CMsvEntry</code> encountered deletion of an entry not listed as a  child</p>
+<code>239</code>
+<p><code>CMsvEntry</code> context cannot be used, as it is being changed</p>
+<code>240</code>
+<p>A context <code>CMsvEntry</code> change operation is already taking place</p>
+<code>241</code>
+<p>Selection passed to <code>CMsvEntry::DeleteL()</code> contains entries with different MTM or service properties</p>
+<code>242</code>
+<p><code>CMsvEntry::ChildrenWithTypeL()</code> was called with an unknown type</p>
+<code>244</code>
+<p>Selection was specified in <code>CMsvEntry</code> move, but MTM type or service fields are inconsistent among the entries</p>
+<code>245</code>
+<p>Selection was specified in <code>CMsvEntry</code> copy, but MTM type or service fields are inconsistent among the entries</p>
+<code>249</code>
+<p><code>CMsvEntry::CreateL()</code> called with invalid <code>TMsvEntry</code></p>
+<code>250</code>
+<p><code>CMsvEntry::ChangeL()</code> called with invalid <code>TMsvEntry</code></p>
+<code>251</code>
+<p><code>CMsvEntry</code> object destroyed with associated message store left open</p>
+<code>258</code>
+<p>Empty selection passed to <code>CMsvEntry::DeleteL()</code></p>
+<code>259</code>
+<p><code>CMsvEntry::SetEntryL()</code> called with associated message store left open</p>
+<code>260</code>
+<p><code>CMsvEntry::MoveL()</code> called with move target set to the present parent</p>
+<code>261</code>
+<p>Client attempts to open already open message store through <code>CMsvEntry</code></p>
+<code>262</code>
+<p><code>CMsvSession</code> object destroyed with entries still on the session cleanup stack</p>
+<code>265</code>
+<p>Entry passed to<code> CMsvEntry::DeleteL()</code> has different owning service than parent</p>
+<code>266</code>
+<p>Entry passed to<code> CMsvEntry::MoveL()</code> has different owning service than parent</p>
+<code>267</code>
+<p>Entry passed to<code> CMsvEntry::CopyL()</code> has different owning service than parent</p>
+<code>268</code>
+<p><code>CMsvEntry</code> notified of new child with different owning service than context</p>
+<code>269</code>
+<p><code>CMsvEntry</code> notified of entry deletion with different owning service than context</p>
+<code>270</code>
+<p><code>CMsvEntry</code> notified of message store modification with different owning service than context</p>
+<code>271</code>
+<p><code>CMsvEntry</code> notified of entry modification with different owning service than context</p>
+<code>273</code>
+<p>The Message Server has completed an asynchronous request with an error</p>
+<code>275</code>
+<p><code>CBaseMtm::StoreBodyL()</code> or <code>CBaseMtm::RestoreBodyL()</code> called with no context set</p>
+<code>279</code>
+<p>Entry ID of <code>CBaseMtm</code> context changed</p>
+<code>280</code>
+<p>MTM data was not found in MTM data file on installation</p>
+<code>281</code>
+<p>Copy or move already in progress for <code>CMsvServerEntry</code></p>
+<code>282</code>
+<p><code>CMsvServerEntry::Cancel()</code> called when no asynchronous operation is in progress</p>
+<code>283</code>
+<p>Error reading file system</p>
+<code>284</code>
+<p>Unknown error in  <code>CMsvServerEntry::HasDirectory()</code></p>
+<code>285</code>
+<p><code>CMsvOperation::FinalProgress()</code> was called when the operation was not complete</p>
+<code>286</code>
+<p><code>CMsvOperation::FinalProgress()</code> called an operation's <code>ProgressL()</code> function that left</p>
+<code>287</code>
+<p>Error reading file system</p>
+<code>294</code>
+<p>The synchronous version of <code>CMsvEntry::CreateL()</code>, <code>CMsvEntry::ChangeL()</code>, or <code>CMsvEntry::DeleteL()</code> was called for a non-local context</p>
+<code>296</code>
+<p>A <code>CMsvServerEntry</code> delete function was called with an empty selection</p>
+<code>299</code>
+<p>Target of a <code>CMsvServerEntry::CopyEntriesL()</code> call was the current context</p>
+<code>300</code>
+<p><code>CMsvServerEntry::CopyEntriesL()</code> called when a copy is already in progress</p>
+	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/MSGS_Client.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,28 @@
+<h1>MSGS Client</h1>
+<p>Client messaging panics from the <code>msgs</code> library</p>
+<code>1</code>
+<p>Unsupported asynchronous request made to Message Server</p>
+<code>2</code>
+<p>Session event notification request repeated by client</p>
+<code>3</code>
+<p>Failed to write data into asynchronous call descriptor to be passed back to client</p>
+<code>4</code>
+<p>Failed to read data from asynchronous call descriptor passed from client</p>
+<code>5</code>
+<p>Client requested Message Server to create or modify an entry with invalid data</p>
+<code>7</code>
+<p>Message Server session ended while a message store is still locked</p>
+<code>8</code>
+<p>Message Server session ended with outstanding requests</p>
+<code>9</code>
+<p>Client requested Message Server to release message store that was not locked</p>
+<code>10</code>
+<p>Client requested Message Server to delete empty entry selection</p>
+<code>11</code>
+<p>Client requested Message Server to pop remote entry from session cleanup stack</p>
+<code>12</code>
+<p>Progress information exceeded maximum 256-character length</p>
+<code>13</code>
+<p>Client requested Message Server to move an empty selection of entries</p>
+<code>14</code>
+<p>Client requested Message Server to copy an empty selection of entries</p>	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/MTMUI_Data.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,6 @@
+<h1>MTMUI Data</h1>
+<p>Messaging panic from the <code class="filename">mtur</code> library relating to UI Data MTM operations</p>
+<code>1</code>
+<p>Inconsistent start/end and zoom parameters passed to <code>CBaseMtmUiData::CreateBitmapsL()</code></p>
+<code>4</code>
+<p>Multiple location flags set in <code>TMtmUiFunction::aFlags</code></p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/MTUI.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,8 @@
+<h1>MTUI</h1>
+<p>Messaging panics from the <code class="filename">mtur</code> library relating to User Interface MTM operations</p>
+<code>0</code>
+<p>Empty selection passed to <code>CBaseMtmUi</code> move, copy, or delete function</p>
+<code>2</code>
+<p>Target of <code>CBaseMtmUi</code> move or copy function was not service or folder</p>
+<code>4</code>
+<p><code>CBaseMtmUi::DeleteServiceL()</code> called for non-service entry</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/PLAT_emulator.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,16 @@
+<h1>PLAT (emulator)</h1>
+<p>These panics represent errors which are detected by emulator   specific code.
+Typically, they are caused by passing bad or contradictory parameters to functions.</p>
+<p>The thread causing the panic is terminated.</p>
+<code>0-1</code>
+<p>These panics are raised when a failure occurs running any DLL attach process calls which have been
+registered during startup.</p></td>
+<code>2</code>
+<p>This panic is raised when registering a thread callback.</p>
+<code>3</code>
+<p>This panic is raised if a failure occurs in loading <code class="filename">EKERN.EXE</code></p>
+<code>4</code>
+<p>This panic is raised if any of the <code>_E32Initialise()</code>, <code>_E32DeInitialise()</code> or
+<code>_E32ExitProcess()</code> Kernel functions cannot be found.</p>
+<code>5</code>
+<p>This panic is raised if a leave occurs and there is no trap harness.</p>	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/PLAT_generic_Kernel.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,48 @@
+<h1>PLAT (generic Kernel)</h1>
+<p>These panics represent represent errors which are detected by  generic Kernel code.
+Typically, they are caused by passing bad or contradictory parameters to functions.</p><p>The thread causing the panic is terminated.</p>
+<code>0</code>
+<p>This panic is raised at system startup time if the secondary process cannot be created.</p>
+<code>2</code>
+<p>This panic is raised when a semaphore, a <code>DPlatSemaphore</code>, is created and a negative count value is passed to the member function creating it.</p>
+<code>3</code>
+<p>This panic is raised when a semaphore, a <code>DPlatSemaphore</code>, is signalled and the count value, if specified, is negative.</p>
+<code>6</code>
+<p>This panic is raised when fetching the home address of a specified address relative to the thread's process and the specified address is invalid.</p>
+<code>7-9</code>
+<p>These panics are raised when an illegal attempt is made to kill a thread, a <code>DPlatThread</code>; the thread may already be dead or its status may be unknown.</p>
+<code>12</code>
+<p>This panic is raised when an attempt is made to resume the first thread in a process, a <code>DPlatProcess</code>, when that process has not been loaded.</p>
+<code>15</code>
+<p>This panic is raised when looking up a function by ordinal in a library, a <code>DPlatLibrary</code>. The panic occurs when the specified ordinal number is zero or negative.</p>
+<code>16</code>
+<p>This panic is raised because of a failure in the initialization of the Hardware Abstraction Layer (the HAL); specifically, the startup reason is not recognized.</p>
+<code>17</code>
+<p>This panic is raised because of a failure in the initialization of the Hardware Abstraction Layer (the HAL); specifically, the keyboard could not be initialized.</p>
+<code>18</code>
+<p>This panic is raised because of a failure in the initialization of the Hardware Abstraction Layer (the HAL); specifically, the x-y input device could not be initialized.</p>
+<code>19-21</code>
+<p>These panics are raised by failures during system startup.</p>
+<code>22</code>
+<p>This panic is raised when a failure occurs in dispatching an exception.</p>
+<code>64</code>
+<p>This panic is raised when an attempt is made to create a hardware chunk when that chunk has already been created.</p>
+<code>80</code>
+<p>This panic is raised when a Kernel fixed heap is being created and the specified maximum length is negative.</p>
+<code>81</code>
+<p>This panic is raised when the Kernel attempts to mutate a fixed heap into a chunk heap and the specified minimum length is different from the current minimum length.</p>
+<code>83</code>
+<p>This panic is raised in debug builds only.</p><p>This panic is raised by the millisecond timer when a call back has already been queued.</p>
+<code>87</code>
+<p>This panic is raised in debug builds only.</p>
+<p>This panic is raised during debugging when handling an exception via <code>Debug::HandleException</code> and a write operation to the remote thread running the monitor program fails.</p>
+<code>88</code>
+<p>This panic is raised when setting up the context for a newly created thread and the specified thread type, which defines the context, is not recognized.</p>
+<code>90</code>
+<p>This panic is raised if there is no screen-switch-on handler.</p>
+<code>91</code>
+<p>This panic is raised if a system thread has been panicked.</p>
+<code>92</code>
+<p>This panic is raised when an attempt is made to move a fixed address chunk.</p>
+<code>93-99</code>
+<p>These panics are raised during initialization of the MMU if creation of various components fails; for example, the domain allocator or the page table linear allocator.</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Protocol_panic.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,44 @@
+<h1>Protocol panic</h1>
+<p>The Sockets Server gives a &quot;Protocol panic&quot; when it finds incorrect protocol module behaviour.</p>
+<code>0</code>
+<p>An unknown request completed</p>
+<code>1</code>
+<p>Protocol completed a connect request unexpectedly</p>
+<code>2</code>
+<p>Unused</p>
+<code>3</code>
+<p>Protocol completed a connect with data request unexpectedly</p>
+<code>4</code>
+<p>Protocol completed a shutdown with data request unexpectedly</p>
+<code>5</code>
+<p><code>CProtocolFamilyBase::Remove()</code> failed</p>
+<code>6</code>
+<p>Protocol made incorrect call to the server through a <code>MSocketNotify</code> function</p>
+<code>7</code>
+<p>Protocol made call to <code>MSocketNotify::NewDataL()</code> with bad <code>aCount</code> value</p>
+<code>8</code>
+<p>Unused</p>
+<code>9</code>
+<p>Protocol made call to <code>MSocketNotify::DisConnect()</code> with connectionless socket</p>
+<code>10</code>
+<p>Server could not get expected received data from protocol</p>
+<code>11</code>
+<p>Protocol has returned an invalid <code>TServerProtocolDesc</code></p>
+<code>12</code>
+<p>Protocol has not implemented <code>CProtocolBase::Error()</code></p>
+<code>13</code>
+<p>Protocol has not implemented descriptor-overload of <code>CProtocolBase::Process()</code></p>
+<code>14</code>
+<p>Protocol has not implemented <code>RMBufChain</code>-overload <code>CProtocolBase::Process()</code></p>
+<code>15</code>
+<p>Protocol has not implemented descriptor-overload of <code>CProtocolBase::Send()</code></p>
+<code>16</code>
+<p>Protocol has not implemented <code>RMBufChain</code>-overload <code>CProtocolBase::Send()</code></p>
+<code>17</code>
+<p>Protocol has not implemented <code>CProtocolBase::BindToL()</code></p>
+<code>18</code>
+<p>Protocol has not implemented <code>CProtocolBase::BindL()</code></p>
+<code>19</code>
+<p>Protocol made call to <code>MSocketNotify::ConnectComplete()</code> on non-listening socket</p>
+<code>20</code>
+<p>Protocol made call to <code>MSocketNotify::ConnectComplete()</code> when server has accepted maximum number of sockets</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Send.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,28 @@
+<h1>Send</h1>
+<p>Messaging panics from <code>CSendAs</code></p>
+<code>1</code>
+<p>Out of range index passed to <code>CSendAs::SetMtmL()</code> or CSendAs::SetService()</p>
+<code>2</code>
+<p>Internal discrepancy in MTM array</p>
+<code>3</code>
+<p>Asked to create zero-length MTM array</p>
+<code>4</code>
+<p><code>CSendAs::SetMtmL()</code> called when a message has already been created</p>
+<code>5</code>
+<p>Asked to create zero-length service array</p>
+<code>6</code>
+<p>MTM not chosen when <code>CSendAs::CreateMessageL()</code> called</p>
+<code>7</code>
+<p>Message not saved when <code>CSendAs::AbandonMessage()</code> called</p>
+<code>8</code>
+<p>Message not created when <code>CSendAs::SaveMessageL()</code> called</p>
+<code>9</code>
+<p><code>CSendAs::RecipientList()</code>, <code>CSendAs::RemoveRecipient()</code>, or <code>CSendAs::AddRecipientL()</code> called without message being saved or created</p>
+<code>10</code>
+<p><code>CSendAs::SetSubjectL()</code> called without message being saved or created</p>
+<code>11</code>
+<p><code>CSendAs::SetBodyL()</code> or <code>CSendAs::ValidateMessage()</code> called without message being saved or created</p>
+<code>12</code>
+<p><code>CSendAs</code> active without asynchronous rendering being called</p>
+<code>13</code>
+<p><code>CSendAs</code> cancelled without asynchronous rendering being called</p>	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/TCPIP.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,50 @@
+<h1>TCPIP</h1>
+<p>Panic of TCP/IP protocol family module</p>
+<code>0</code>
+<p>Function is not supported</p>
+<code>1</code>
+<p>Unused</p>
+<code>2</code>
+<p>Unused</p>
+<code>3</code>
+<p>Unused</p>
+<code>4</code>
+<p>Server requested received data that protocol does not have</p>
+<code>5</code>
+<p>Impossible binding request, such as bind to itself</p>
+<code>6</code>
+<p>Unused</p>
+<code>7</code>
+<p>Internal NULL buffer error</p>
+<code>8</code>
+<p>Protocol closedown error</p>
+<code>9</code>
+<p>Unused</p>
+<code>10</code>
+<p>Unused</p>
+<code>11</code>
+<p>Unused</p>
+<code>12</code>
+<p>Open requested on already open socket</p>
+<code>13</code>
+<p>Internal timer error</p>
+<code>14</code>
+<p>Unused</p>
+<code>15</code>
+<p>Unused</p>
+<code>16</code>
+<p>Invalid netmask address supplied</p>
+<code>17</code>
+<p>Internal NULL pointer error</p>
+<code>18</code>
+<p>ICMP protocol could not be loaded</p>
+<code>19</code>
+<p>Internal protocol closedown error</p>
+<code>20</code>
+<p>Internal error in urgent data handling </p>
+<code>21</code>
+<p>Internal error in DNS record handling</p>
+<code>22</code>
+<p>Internal error in DNS record handling</p>
+<code>23</code>
+<p>Internal error in DNS record handling</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Telephony.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,4 @@
+<h1>Telephony</h1>
+<p>Third party telephony panic:</p>
+<code>0</code>
+<p>A client has attempted to re-post an asynchronous request before the original request has completed</p>	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/UI_Graphics.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,18 @@
+<h1>UI Graphics</h1>
+<p>UI Graphics Utilities panics:</p>
+<code>0</code>
+<p>A resource null pointer.</p>
+<code>1</code>
+<p>Resource specified has an invalid number type.</p>
+<code>2</code>
+<p>A null pointer.</p>
+<code>3</code>
+<p>The logical color was not found.</p>
+<code>4</code>
+<p>The logical color already exists.</p>
+<code>5</code>
+<p>Invalid color range specified.</p>
+<code>6</code>
+<p>The application color array was not found.</p>
+<code>7</code>
+<p>Null TLS (thread-local storage).</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/USER-EXEC.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,14 @@
+<h1>USER-EXEC</h1>
+<p>No Description</p>
+<code>3</code>
+<p>In Symbian OS 8.1b, 9.0, 9.1 and subsequent versions:</p>
+<p>this panic is raised when an exception is raised on the
+current thread by a call to <a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aRaiseException%28%29" title="function User::RaiseException()"><code class="ApiItem">User::RaiseException()</code></a>, and
+the thread has no exception handler to handle the specified exception.</p>
+<p>In Symbian OS up to 8.1a:</p>
+<p>this panic is raised when the current thread calls
+<code class="ApiItem">RThread::RaiseException()</code> on itself, and the thread has no
+exception handler to handle the specified exception.</p>
+<p>Note that the <code class="ApiItem">RThread::RaiseException()</code>
+API is deprecated in Symbian OS 8.1b, 9.0, 9.1 and subsequent
+versions, and should not be used.</p>	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/USER.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,1473 @@
+<h1>USER</h1>
+<p>Panics with this category are raised on the user side by member functions
+of T type and R type classes which reside in <code class="filename">euser.dll</code>.</p>
+<p>They are also raised by some static member functions of the
+<code>User</code>, <code>UserHeap</code> and <code>RHeap</code> classes.
+Typically, they are caused by passing bad or contradictory values to class
+constructors or member functions.</p>
+<p>
+The thread causing the panic is terminated. 
+</p>
+<code>0</code>
+<p>
+This panic is raised when a thread calls
+<a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser" title="class User"><code class="ApiItem">User</code></a><code>::Invariant()</code>. 
+</p>
+<p>
+Typically, <code>User::Invariant()</code> is called when a test for
+a class invariant fails, i.e. when a test which checks that the internal data
+of an object is self-consistent, fails. </p>
+<p>
+Check the design and implementation of your class. 
+</p>
+<code>3</code>
+<p>
+This panic is raised when a <a href="../reference-cpp/E32_EKA2/TDateTimeClass.html#%3a%3aTDateTime" title="class TDateTime"><code class="ApiItem">TDateTime</code></a> object
+is constructed with an invalid date or time field. 
+</p>
+<code>7</code>
+<p>
+This panic is raised by the <code>Ptr()</code> member function of a
+16-bit variant descriptor if the descriptor is invalid. 
+</p>
+<p>
+Check for ways in which the descriptor may have become corrupted,
+including an unsafe use of cast. 
+</p>
+<code>8</code>
+<p>
+This panic is raised when a length value passed to a 16-bit variant
+descriptor member function is invalid. It may be raised by some descriptor
+constructors and, specifically, by the <code>Replace()</code> and
+<code>Set()</code> descriptor member functions. 
+</p>
+<code>9</code>
+<p>
+This panic is raised when the index value passed to the 16-bit
+variant descriptor <code>Operator[]</code> is out of bounds 
+</p>
+<code>10</code>
+<p>
+This panic is raised when the position value passed to a 16-bit
+variant descriptor member function is out of bounds. It may be raised by the
+<code>Left()</code>, <code>Right()</code>, <code>Mid()</code>,
+<code>Insert()</code>, <code>Delete()</code> and <code>Replace()</code> member
+functions of <a href="../reference-cpp/E32_EKA2/TDes16Class.html#%3a%3aTDes16" title="class TDes16"><code class="ApiItem">TDes16</code></a>. 
+</p>
+<code>11</code>
+<p>
+This panic is raised when any operation that moves or copies data
+to a 16-bit variant descriptor, causes the length of that descriptor to exceed
+its maximum length. 
+</p>
+<p>
+It may be caused by any of the copying, appending or formatting
+member functions and, specifically, by the <code>Insert()</code>,
+<code>Replace()</code>, <code>Fill()</code>, <code>Fillz()</code> and
+<code>ZeroTerminate()</code> descriptor member functions. It can also be caused
+by the <code>SetLength()</code> function. See <a href="../reference-cpp/E32_EKA2/TDes16Class.html#%3a%3aTDes16" title="class TDes16"><code class="ApiItem">TDes16</code></a>. 
+</p>
+<code>12</code>
+<p>
+This panic is raised when the format string passed to the 16-bit
+variant descriptor member functions <code>Format()</code> and
+<code>AppendFormat()</code> has invalid syntax. 
+</p>
+<p>
+See <a href="../reference-cpp/E32_EKA2/TDes16Class.html#%3a%3aTDes16%3a%3aFormat%28%29" title="function TDes16::Format()"><code class="ApiItem">TDes16::Format()</code></a> and
+<a href="../reference-cpp/E32_EKA2/TDes16Class.html#%3a%3aTDes16%3a%3aAppendFormat%28%29" title="function TDes16::AppendFormat()"><code class="ApiItem">TDes16::AppendFormat()</code></a>. 
+</p>
+<code>13</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+It is raised by the <code>AppendFormatList()</code> member function
+of the 16-bit variant descriptor <a href="../reference-cpp/E32_EKA2/TDes16Class.html#%3a%3aTDes16" title="class TDes16"><code class="ApiItem">TDes16</code></a>, if an invalid
+variable list is passed to the function when the format is <code>%S</code> or <code>%s</code>. 
+</p>
+<code>14</code>
+<p>
+This panic is raised when expanding or contracting an
+<a href="../reference-cpp/E32_EKA2/HBufC16Class.html#%3a%3aHBufC16" title="class HBufC16"><code class="ApiItem">HBufC16</code></a> buffer using the <code>ReAlloc()</code> or
+<code>ReAllocL()</code> descriptor member functions. Specifically, the panic
+occurs if the new length being specified is too small to contain the data. 
+</p>
+<code>16</code>
+<p>
+This panic is raised by the <code>Replace()</code> member function
+of the 16-bit variant descriptor <a href="../reference-cpp/E32_EKA2/TDes16Class.html#%3a%3aTDes16" title="class TDes16"><code class="ApiItem">TDes16</code></a> when the length of
+the source descriptor is negative or exceeds the maximum length of the target
+descriptor. 
+</p>
+<code>17</code>
+<p>
+This panic is raised when 16-bit variant descriptors are
+constructed with negative length values. It may also be raised if the
+<code>Set()</code>, <code>Repeat()</code> and the <code>Find()</code> member
+functions are passed negative length values. 
+</p>
+<code>18</code>
+<p>
+This panic is raised when 16-bit variant descriptors are
+constructed with negative maximum length values. 
+</p>
+<code>19</code>
+<p>
+This panic is raised by the <code>Ptr()</code> member function of
+an 8 bit variant descriptor if the descriptor is invalid. Check for ways in
+which the descriptor may have become corrupted, including an unsafe use of
+cast. 
+</p>
+<code>20</code>
+<p>
+This panic is raised when a length value passed to an 8 bit variant
+descriptor member function is invalid. It may be raised by some descriptor
+constructors and, specifically, by the <code>Replace()</code> and
+<code>Set()</code> descriptor member functions. 
+</p>
+<code>21</code>
+<p>
+This panic is raised when the index value passed to the 8 bit
+variant descriptor <code>Operator[]</code> is out of bounds. 
+</p>
+<code>22</code>
+<p>
+This panic is raised when the position value passed to an 8 bit
+variant descriptor member function is out of bounds. It may be raised by the
+<code>Left()</code>, <code>Right()</code>, <code>Mid()
+</code>,
+<code>Insert()</code>, <code>Delete()</code> and <code>Replace()
+</code>
+descriptor member functions. 
+</p>
+<code>23</code>
+<p>
+This panic is raised when any operation that moves or copies data
+to an 8 bit variant descriptor, causes the length of that descriptor to exceed
+its maximum length. 
+</p>
+<p>
+It may be caused by any of the copying, appending or formatting
+member functions and, specifically, by the <code>Insert()</code>,
+<code>Replace()</code>, <code>Fill()</code>, <code>Fillz()</code> and
+<code>ZeroTerminate()</code> descriptor member functions. It can also be caused
+by the <code>SetLength()</code> function. See <a href="../reference-cpp/E32_EKA2/TDes8Class.html#%3a%3aTDes8" title="class TDes8"><code class="ApiItem">TDes8</code></a>. 
+</p>
+<code>24</code>
+<p>
+This panic is raised when the format string passed to the 8 bit
+variant descriptor member functions <code>Format()</code> and
+<code>AppendFormat()</code> has invalid syntax. 
+</p>
+<p>
+See <a href="../reference-cpp/E32_EKA2/TDes8Class.html#%3a%3aTDes8%3a%3aFormat%28%29" title="function TDes8::Format()"><code class="ApiItem">TDes8::Format()</code></a> and
+<a href="../reference-cpp/E32_EKA2/TDes8Class.html#%3a%3aTDes8%3a%3aAppendFormat%28%29" title="function TDes8::AppendFormat()"><code class="ApiItem">TDes8::AppendFormat()</code></a>. 
+</p>
+<code>25</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+This panic is raised by the <code>AppendFormatList()</code> member
+function of the 8-bit variant descriptor <a href="../reference-cpp/E32_EKA2/TDes8Class.html#%3a%3aTDes8" title="class TDes8"><code class="ApiItem">TDes8</code></a>, if an
+invalid variable list is passed to the function when the format is
+<code>%S</code> or <code>%s</code>. 
+</p>
+<code>26</code>
+<p>
+This panic is raised when expanding or contracting an
+<a href="../reference-cpp/E32_EKA2/HBufC8Class.html#%3a%3aHBufC8" title="class HBufC8"><code class="ApiItem">HBufC8</code></a> buffer using the <code>ReAlloc()</code> or
+<code>ReAllocL()</code> descriptor member functions. Specifically, the panic
+occurs if the new length being specified is too small to contain the data. 
+</p>
+<code>28</code>
+<p>
+This panic is raised by the <code>Replace()</code> member function
+of the 8-bit variant descriptor <a href="../reference-cpp/E32_EKA2/TDes8Class.html#%3a%3aTDes8" title="class TDes8"><code class="ApiItem">TDes8</code></a>, when the length of
+the source descriptor is negative or exceeds the maximum length of the target
+descriptor. 
+</p>
+<code>29</code>
+<p>
+This panic is raised when 8-bit variant descriptors are constructed
+with negative length values. It may also be raised if the <code>Set()</code>,
+<code>Repeat()</code> and the <code>Find()</code> member functions are passed
+negative length values. 
+</p>
+<code>30</code>
+<p>
+This panic is raised when 8-bit variant descriptors are constructed
+with negative maximum length values. 
+</p>
+<code>32</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+It is raised by the <code>Pos()</code> member function of a
+<code>TRawEvent</code>. The function returns the mouse/pen position
+encapsulated by the <code>TRawEvent</code>. The panic is raised when the event
+is not a mouse/pen type event. 
+</p>
+<code>33</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+It is raised by the <code>ScanCode()</code> member function of a
+<code>TRawEvent</code>. The function returns the scan code associated with a
+key down or key up event encapsulated by the <code>TRawEvent</code>. The panic
+is raised when the event is not a key down or key up event. 
+</p>
+<code>34</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+It is raised by the <code>Modifiers()</code> member function of a
+<code>TRawEvent</code>. The function returns the modifers associated with a
+modifiers update event encapsulated by the <code>TRawEvent</code>. The panic is
+raised when the event is not a modifier update event. 
+</p>
+<code>35</code>
+<p>
+This panic is raised by the default <code>At()</code> virtual
+member function of <a href="../reference-cpp/E32_EKA2/TKeyClass.html#%3a%3aTKey" title="class TKey"><code class="ApiItem">TKey</code></a>. The function is intended to be
+overridden by a derived class. 
+</p>
+<code>36</code>
+<p>
+This panic is raised by the default <code>Swap()</code> virtual
+member function of <a href="../reference-cpp/E32_EKA2/TSwapClass.html#%3a%3aTSwap" title="class TSwap"><code class="ApiItem">TSwap</code></a>. The function is intended to be
+overridden by a derived class. 
+</p>
+<code>37</code>
+<p>
+This panic is raised by the <code>operator[]</code> of a
+<a href="../reference-cpp/E32_EKA2/TUidTypeClass.html#%3a%3aTUidType" title="class TUidType"><code class="ApiItem">TUidType</code></a> when the index value passed to the operator is
+either negative or is greater than or equal to the constant
+<code>KMaxCheckedUid</code> defined in <code class="filename">e32const.h</code>. 
+</p>
+<code>38</code>
+<p>
+This panic is raised by the <code>Set(TDesC8&amp;)</code> member
+function of <code>TCheckedUid</code> when the length of the descriptor passed
+to the function is not equal to the size of a <code>TCheckedUid</code> object. 
+</p>
+<code>41</code>
+<p>
+This panic is caused by the
+<a href="../reference-cpp/E32_EKA2/UserHeapClass.html#%3a%3aUserHeap%3a%3aChunkHeap%28%29" title="function UserHeap::ChunkHeap()"><code class="ApiItem">UserHeap::ChunkHeap()</code></a> static function when the value
+defining the minimum length of the heap is greater than the value defining the
+maximum length to which the heap can grow. 
+</p>
+<code>42</code>
+<p>
+This panic is raised by a number of <a href="../reference-cpp/E32_EKA2/RHeapClass.html#%3a%3aRHeap" title="class RHeap"><code class="ApiItem">RHeap</code></a>
+member functions, <code>AllocLen()</code>, <code>Free()</code>,
+<code>FreeZ()</code>, <code>ReAlloc()</code>, <code>ReAllocL()</code>,
+<code>Adjust()</code> and <code>AdjustL()</code> when a pointer passed to these
+functions does not point to a valid cell. 
+</p>
+<code>43</code>
+<p>
+This panic is raised by the <code>Adjust()</code> and
+<code>AdjustL()</code> member functions of an <a href="../reference-cpp/E32_EKA2/RHeapClass.html#%3a%3aRHeap" title="class RHeap"><code class="ApiItem">RHeap</code></a>. It is
+caused when a heap cell is being shrunk and the amount by which the cell is
+being shrunk is less than the current length of the cell. 
+</p>
+<code>44</code>
+<p>
+This panic is raised by the <code>Free()</code> and
+<code>FreeZ()</code> member functions of an <a href="../reference-cpp/E32_EKA2/RHeapClass.html#%3a%3aRHeap" title="class RHeap"><code class="ApiItem">RHeap</code></a>. It is
+caused when the cell being freed overlaps the next cell on the free list (i.e.
+the first cell on the free list with an address higher than the one being
+freed). 
+</p>
+<code>45</code>
+<p>
+This panic is raised by the <code>Free()</code> and
+<code>FreeZ()</code> member functions of an <a href="../reference-cpp/E32_EKA2/RHeapClass.html#%3a%3aRHeap" title="class RHeap"><code class="ApiItem">RHeap</code></a>. It is
+caused when the cell being freed overlaps the previous cell on the free list
+(i.e. the last cell on the free list with an address lower than the one being
+freed). 
+</p>
+<code>46</code>
+<p>
+This panic is raised by the <code>ReAlloc()</code> and
+<code>ReAllocL()</code> member functions of an <a href="../reference-cpp/E32_EKA2/RHeapClass.html#%3a%3aRHeap" title="class RHeap"><code class="ApiItem">RHeap</code></a>. It
+is caused when the cell being reallocated overlaps the next cell on the free
+list (i.e. the first cell on the free list with an address higher than the one
+being reallocated). 
+</p>
+<code>47</code>
+<p>
+This panic is raised by the <code>Alloc()</code>,
+<code>AllocL()</code> or <code>AllocLC()</code> member functions of
+<a href="../reference-cpp/E32_EKA2/RHeapClass.html#%3a%3aRHeap" title="class RHeap"><code class="ApiItem">RHeap</code></a>. It is caused by trying to allocate a cell from a
+heap, specifying an unsigned size value which is greater than or equal to the
+value of <code>KMaxTInt/2</code>. The constant <code>KMaxTInt</code> is defined
+in <code class="filename">e32std.h</code>. 
+</p>
+<p>
+This panic may also be raised by the heap walker when it finds a
+bad allocated heap cell size. 
+</p>
+<code>48</code>
+<p>
+This panic is raised by the heap walker when it finds a bad
+allocated heap cell address. 
+</p>
+<code>49</code>
+<p>
+This panic is raised by the heap walker when it finds a bad free
+heap cell address. 
+</p>
+<code>51</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+It is raised by the <code>__DbgMarkEnd()</code> member function of
+<a href="../reference-cpp/E32_EKA2/RHeapClass.html#%3a%3aRHeap" title="class RHeap"><code class="ApiItem">RHeap</code></a> in debug builds when there has been no corresponding
+call to the <code>__DbgMarkStart()</code> member function; it is also caused
+when there are more calls to <code>__DbgMarkEnd()</code> than to
+<code>__DbgMarkStart()</code>. These functions are part of the debug assistance
+provided by the <a href="../reference-cpp/E32_EKA2/RHeapClass.html#%3a%3aRHeap" title="class RHeap"><code class="ApiItem">RHeap</code></a> class. 
+</p>
+<code>52</code>
+<p>
+This panic is raised by the <code>Adjust()</code> and
+<code>AdjustL()</code> member functions of an <a href="../reference-cpp/E32_EKA2/RHeapClass.html#%3a%3aRHeap" title="class RHeap"><code class="ApiItem">RHeap</code></a>. It is
+caused when the offset from the start of the cell being stretched or shrunk is
+a negative value. 
+</p>
+<code>54</code>
+<p>
+This panic is raised by the <code>ReAlloc()</code> and
+<code>ReAllocL()</code> member functions of an <a href="../reference-cpp/E32_EKA2/RHeapClass.html#%3a%3aRHeap" title="class RHeap"><code class="ApiItem">RHeap</code></a>. It
+is caused when the new size for the cell being reallocated is a negative value.
+</p>
+<code>55</code>
+<p>
+This panic is caused by the
+<a href="../reference-cpp/E32_EKA2/UserHeapClass.html#%3a%3aUserHeap" title="class UserHeap"><code class="ApiItem">UserHeap</code></a><code>::ChunkHeap()</code> static function when
+the value defining the minimum length of the heap is negative. 
+</p>
+<code>56</code>
+<p>
+This panic is caused by the
+<a href="../reference-cpp/E32_EKA2/UserHeapClass.html#%3a%3aUserHeap" title="class UserHeap"><code class="ApiItem">UserHeap</code></a><code>::ChunkHeap()</code> static function when
+the value defining the maximum length to which the heap can grow, is negative. 
+</p>
+<code>57</code>
+<p>
+This panic is raised when closing a shared heap using the
+<code>Close()</code> member function of <a href="../reference-cpp/E32_EKA2/RHeapClass.html#%3a%3aRHeap" title="class RHeap"><code class="ApiItem">RHeap</code></a> and the
+access count is zero or negative. A zero or negative access count suggests that
+an attempt is being made to close the heap too many times. 
+</p>
+<code>58</code>
+<p>
+This panic is raised when opening a heap for shared access using
+the <code>Open()</code> member function of <a href="../reference-cpp/E32_EKA2/RHeapClass.html#%3a%3aRHeap" title="class RHeap"><code class="ApiItem">RHeap</code></a> and the
+heap type is not <code>EChunkNormal</code>. 
+</p>
+<code>59</code>
+<p>
+This panic is raised by the <code>UnGet()</code> member function of
+the 8-bit variant lexical analyzer, <a href="../reference-cpp/E32_EKA2/TLex8Class.html#%3a%3aTLex8" title="class TLex8"><code class="ApiItem">TLex8</code></a>, if the
+character position is already at the start of the string. 
+</p>
+<code>60</code>
+<p>
+This panic is raised by the <code>Inc()</code> member function of
+the 8-bit variant lexical analyzer, <a href="../reference-cpp/E32_EKA2/TLex8Class.html#%3a%3aTLex8" title="class TLex8"><code class="ApiItem">TLex8</code></a>, if the
+resulting character position lies before the start of the string or after the
+end of the string. 
+</p>
+<code>61</code>
+<p>
+This panic is raised by the <code>SkipAndMark()</code> member
+function of the 8-bit variant lexical analyzer, <a href="../reference-cpp/E32_EKA2/TLex8Class.html#%3a%3aTLex8" title="class TLex8"><code class="ApiItem">TLex8</code></a>, if
+the resulting character position lies before the start of the string or after
+the end of the string. 
+</p>
+<code>63</code>
+<p>
+This panic is raised by the <code>ValidateMark()</code> member
+function of the 8-bit variant lexical analyzer, <a href="../reference-cpp/E32_EKA2/TLex8Class.html#%3a%3aTLex8" title="class TLex8"><code class="ApiItem">TLex8</code></a>, if
+the position of the extraction mark lies before the start of the string or
+after the end of the string. 
+</p>
+<code>64</code>
+<p>
+This panic is raised by the <code>UnGet()</code> member function of
+the 16-bit variant lexical analyzer, <a href="../reference-cpp/E32_EKA2/TLex16Class.html#%3a%3aTLex16" title="class TLex16"><code class="ApiItem">TLex16</code></a>, if the
+character position is already at the start of the string. 
+</p>
+<code>65</code>
+<p>
+This panic is raised by the <code>Inc()</code> member function of
+the 16-bit variant lexical analyzer, <a href="../reference-cpp/E32_EKA2/TLex16Class.html#%3a%3aTLex16" title="class TLex16"><code class="ApiItem">TLex16</code></a>, if the
+resulting character position lies before the start of the string or after the
+end of the string. 
+</p>
+<code>66</code>
+<p>
+This panic is raised by the <code>SkipAndMark()</code> member
+function of the 16-bit variant lexical analyzer, <a href="../reference-cpp/E32_EKA2/TLex16Class.html#%3a%3aTLex16" title="class TLex16"><code class="ApiItem">TLex16</code></a>,
+if the resulting character position lies before the start of the string or
+after the end of the string. 
+</p>
+<code>68</code>
+<p>
+This panic is raised by the <code>ValidateMark()</code> member
+function of the 16-bit variant lexical analyzer, <a href="../reference-cpp/E32_EKA2/TLex16Class.html#%3a%3aTLex16" title="class TLex16"><code class="ApiItem">TLex16</code></a>,
+if the position of the extraction mark lies before the start of the string or
+after the end of the string. 
+</p>
+<code>69</code>
+<p>
+This panic is raised by the <a href="../reference-cpp/E32_EKA2/TDateSuffixClass.html#%3a%3aTDateSuffix" title="class TDateSuffix"><code class="ApiItem">TDateSuffix</code></a>
+constructor or its <code>Set()</code> member function when the suffix index
+specified is negative or is greater than or equal to the value
+<code>KMaxSuffixes</code> defined in <code class="filename">e32std.h</code>. The index is used
+to access a locale dependent table of suffix characters which can be appended
+to the dates of the month (e.g. the characters &quot;st&quot; for 1st, &quot;nd&quot; for 2nd, &quot;st&quot;
+for 31st). 
+</p>
+<code>70</code>
+<p>
+<em>Introduced in 6.0:</em> This panic is raised when
+attempting to complete a client/server request and the <code>RMessagePtr</code>
+is null. 
+</p>
+<p>
+<em>Withdrawn in 6.0:</em> This panic is raised by the
+<code>SetRetry()</code> member function of <a href="../reference-cpp/E32_EKA2/RSessionBaseClass.html#%3a%3aRSessionBase" title="class RSessionBase"><code class="ApiItem">RSessionBase</code></a>,
+the client interface for communication with a server, when the specified delay
+time between resending a message to the server is either negative or a value
+greater than KMaxTint (defined in e32std.h). 
+</p>
+<code>71</code>
+<p>
+<em>Withdrawn in 6.0:</em> This panic is raised by the
+<code>SetRetry()</code> member function of <a href="../reference-cpp/E32_EKA2/RSessionBaseClass.html#%3a%3aRSessionBase" title="class RSessionBase"><code class="ApiItem">RSessionBase</code></a>,
+the client interface for communication with a server, when the specified number
+of attempts to resend a message to the server is either negative or a value
+greater than <code>KMaxTint</code> (defined in <code class="filename">e32std.h</code>). 
+</p>
+<code>72</code>
+<p>
+<em>Withdrawn in 6.0:</em> This panic is raised by the
+<code>SetRetry()</code> member function of <a href="../reference-cpp/E32_EKA2/RSessionBaseClass.html#%3a%3aRSessionBase" title="class RSessionBase"><code class="ApiItem">RSessionBase</code></a>,
+the client interface for communication with a server, when the specified
+operation code identifying the required service is either negative or a value
+greater than <code>KMaxTint</code> (defined in <code class="filename">e32std.h</code>). 
+</p>
+<p>
+<em>Introduced in 6.0:</em> This panic is raised by the
+<code>Send()</code> and <code>SendReceive()</code> member functions of
+<a href="../reference-cpp/E32_EKA2/RSessionBaseClass.html#%3a%3aRSessionBase" title="class RSessionBase"><code class="ApiItem">RSessionBase</code></a>, the client interface for communication with
+a server, when the specified operation code identifying the required service is
+either negative or a value greater than <code>KMaxTint</code> (defined in
+<code class="filename">e32std.h</code>). 
+</p>
+<code>73</code>
+<p>
+This panic is raised by the <code>Receive()</code> member function
+of <code>RServer</code>, the handle to the server, when the attempt to receive
+a message for the server, synchronously, fails. 
+</p>
+<code>75</code>
+<p>
+This panic is raised by the constructor of a singly linked list
+header, a <a href="../reference-cpp/E32_EKA2/TSglQueClass.html#%3a%3aTSglQue" title="class TSglQue"><code class="ApiItem">TSglQue</code></a> or by the <code>SetOffset()</code>
+member function when the specified offset is not 4 byte aligned, i.e. when it
+is not divisible by 4. 
+</p>
+<code>76</code>
+<p>
+This panic is raised when attempting to remove an object from a
+singly linked list, using the <code>Remove()</code> member function of
+<a href="../reference-cpp/E32_EKA2/TSglQueClass.html#%3a%3aTSglQue" title="class TSglQue"><code class="ApiItem">TSglQue</code></a>, when that object is not in the list. 
+</p>
+<code>78</code>
+<p>
+This panic is raised by the constructor of a doubly linked list
+header, a <a href="../reference-cpp/E32_EKA2/TDblQueClass.html#%3a%3aTDblQue" title="class TDblQue"><code class="ApiItem">TDblQue</code></a> or by the <code>SetOffset()</code>
+member function, when the specified offset is not 4 byte aligned, i.e. when it
+is not divisible by 4. 
+</p>
+<code>79</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+It is raised by a call to either the <code>First()</code> and
+<code>Last()</code> member functions of a doubly linked list, a
+<a href="../reference-cpp/E32_EKA2/TDblQueClass.html#%3a%3aTDblQue" title="class TDblQue"><code class="ApiItem">TDblQue</code></a>, which return pointers to the first and last
+element in the list respectively; the panic occurs when the list is empty. 
+</p>
+<code>80</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+It is raised by the post increment operator,
+<code>operator++</code>, the post decrement operator, <code>operator&mdash;
+</code>
+and the return current element operator, <code>operator T*</code>, of the
+doubly linked list iterator, a <a href="../reference-cpp/E32_EKA2/TDblQueIterClass.html#%3a%3aTDblQueIter" title="class TDblQueIter"><code class="ApiItem">TDblQueIter</code></a>; the panic
+occurs when the element returned by these operators is not in the list.
+Typically, this is caused by the removal of the element from the list prior to
+calling these operators. 
+</p>
+<code>81</code>
+<p>
+This panic is raised by the get rectangle operator,
+<code>operator[]</code>, of a clipping region, derived from the abstract base
+class <a href="../reference-cpp/E32_EKA2/TRegionClass.html#%3a%3aTRegion" title="class TRegion"><code class="ApiItem">TRegion</code></a>. The panic occurs when the index, which
+refers to the specific rectangle within the region, is greater than or equal to
+the number of rectangles contained within the region (as returned by the
+<code>Count()</code> member function). 
+</p>
+<p>
+The index must be strictly less than the number of contained
+rectangles. 
+</p>
+<code>82</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+It is raised when sorting the rectangles within a clipping region,
+derived from the abstract base class <a href="../reference-cpp/E32_EKA2/TRegionClass.html#%3a%3aTRegion" title="class TRegion"><code class="ApiItem">TRegion</code></a>, using the
+<code>Sort()</code> member function of <a href="../reference-cpp/E32_EKA2/TRegionClass.html#%3a%3aTRegion" title="class TRegion"><code class="ApiItem">TRegion</code></a>. The panic
+occurs when the region is invalid. 
+</p>
+<code>83</code>
+<p>
+This panic occurs when the Kernel sends a message to the Kernel
+server and this completes with an error, i.e. an error code which is not
+<code>KErrNone</code>. 
+</p>
+<code>84</code>
+<p>
+This panic is raised by the <code>Panic()</code> member function of
+<code>RTest</code>, the test class. 
+</p>
+<code>85</code>
+<p>
+This panic is raised by the <code>CheckConsoleCreated()</code>
+member functions of <code>RTest</code> and <code>RTestJ</code>, the test
+classes, when the creation of a console, as derived from a
+<code>CConsoleBase</code>, fails. 
+</p>
+<code>86</code>
+<p>
+This panic is raised by the static function
+<a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aAfter%28%29" title="function User::After()"><code class="ApiItem">User::After()</code></a> which is used to suspend the current thread
+until the specified time interval, in microseconds, has expired. The panic
+occurs when the specified time interval is negative. 
+</p>
+<code>87</code>
+<p>
+This panic is raised when a relative timer event is requested from
+an asynchronous timer service, an <a href="../reference-cpp/E32_EKA2/RTimerClass.html#%3a%3aRTimer" title="class RTimer"><code class="ApiItem">RTimer</code></a>, using the
+<code>After()</code> member function. The panic occurs when the requested time
+interval is negative. 
+</p>
+<code>88</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+This panic is raised by <a href="../reference-cpp/E32_EKA2/MemClass.html#%3a%3aMem%3a%3aCompare%28%29" title="function Mem::Compare()"><code class="ApiItem">Mem::Compare()</code></a>,
+<a href="../reference-cpp/E32_EKA2/MemClass.html#%3a%3aMem%3a%3aCompareC%28%29" title="function Mem::CompareC()"><code class="ApiItem">Mem::CompareC()</code></a> and <a href="../reference-cpp/E32_EKA2/MemClass.html#%3a%3aMem%3a%3aCompareF%28%29" title="function Mem::CompareF()"><code class="ApiItem">Mem::CompareF()</code></a>,
+which compare two areas of memory. The panic occurs when the length of the area
+of memory designated as the left hand area, is negative. 
+</p>
+<code>89</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+This panic is raised by <a href="../reference-cpp/E32_EKA2/MemClass.html#%3a%3aMem%3a%3aCompare%28%29" title="function Mem::Compare()"><code class="ApiItem">Mem::Compare()</code></a>,
+<a href="../reference-cpp/E32_EKA2/MemClass.html#%3a%3aMem%3a%3aCompareC%28%29" title="function Mem::CompareC()"><code class="ApiItem">Mem::CompareC()</code></a> and <a href="../reference-cpp/E32_EKA2/MemClass.html#%3a%3aMem%3a%3aCompareF%28%29" title="function Mem::CompareF()"><code class="ApiItem">Mem::CompareF()</code></a>,
+which compare two areas of memory. The panic occurs when the length of the area
+of memory designated as the right hand area, is negative. 
+</p>
+<code>90</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+This panic is raised by <a href="../reference-cpp/E32_EKA2/MemClass.html#%3a%3aMem%3a%3aCopy%28%29" title="function Mem::Copy()"><code class="ApiItem">Mem::Copy()</code></a>, which
+copies the content of one area of memory to another. The panic occurs when the
+length of the area of memory to be copied, is negative 
+</p>
+<code>91</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+This panic is raised by <a href="../reference-cpp/E32_EKA2/MemClass.html#%3a%3aMem%3a%3aMove%28%29" title="function Mem::Move()"><code class="ApiItem">Mem::Move()</code></a>, which
+moves the content of one area of memory to another. The panic occurs when the
+length of the area of memory to be moved, is not a multiple of 4. 
+</p>
+<code>92</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+This panic is raised by <a href="../reference-cpp/E32_EKA2/MemClass.html#%3a%3aMem%3a%3aMove%28%29" title="function Mem::Move()"><code class="ApiItem">Mem::Move()</code></a>, which
+moves the content of one area of memory to another. The panic occurs when the
+address of the source for the move operation, is not aligned on a 4 byte
+boundary. 
+</p>
+<code>93</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+This panic is raised by <a href="../reference-cpp/E32_EKA2/MemClass.html#%3a%3aMem%3a%3aMove%28%29" title="function Mem::Move()"><code class="ApiItem">Mem::Move()</code></a>, which
+moves the content of one area of memory to another. The panic occurs when the
+address of the target for the move operation, is not aligned on a 4 byte
+boundary. 
+</p>
+<code>94</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+This panic is raised by <a href="../reference-cpp/E32_EKA2/MemClass.html#%3a%3aMem%3a%3aSwap%28%29" title="function Mem::Swap()"><code class="ApiItem">Mem::Swap()</code></a>, which
+swaps the content of one area of memory with another. The panic occurs when the
+length of the area of memory to be swapped, is negative. 
+</p>
+<code>95</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+This panic is raised by <a href="../reference-cpp/E32_EKA2/MemClass.html#%3a%3aMem%3a%3aFill%28%29" title="function Mem::Fill()"><code class="ApiItem">Mem::Fill()</code></a> and
+<a href="../reference-cpp/E32_EKA2/MemClass.html#%3a%3aMem%3a%3aFillZ%28%29" title="function Mem::FillZ()"><code class="ApiItem">Mem::FillZ()</code></a>, both of which fill an area of memory. The
+panic occurs when the length of the area of memory to be filled, is negative. 
+</p>
+<code>96</code>
+<p>
+This panic is raised by <a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aQuickSort%28%29" title="function User::QuickSort()"><code class="ApiItem">User::QuickSort()</code></a>,
+when the value for the number of records to be sorted, is negative. 
+</p>
+<code>97</code>
+<p>
+This panic is raised by <a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aBinarySearch%28%29" title="function User::BinarySearch()"><code class="ApiItem">User::BinarySearch()</code></a>,
+when the value for the number of records taking part in the search, is
+negative. 
+</p>
+<code>98</code>
+<p>
+This panic is raised by the constructor of the base key class,
+<a href="../reference-cpp/E32_EKA2/TKeyClass.html#%3a%3aTKey" title="class TKey"><code class="ApiItem">TKey</code></a>. It occurs when the offset value passed to the
+constructor is negative.As <code>TKey</code> is an abstract class, i.e. objects
+of type <code>TKey</code> are not intended to be explicitly constructed, look
+at the offset value passed to the constructors of derived classes such as
+<a href="../reference-cpp/E32_EKA2/TKeyArrayFixClass.html#%3a%3aTKeyArrayFix" title="class TKeyArrayFix"><code class="ApiItem">TKeyArrayFix</code></a>, <a href="../reference-cpp/E32_EKA2/TKeyArrayVarClass.html#%3a%3aTKeyArrayVar" title="class TKeyArrayVar"><code class="ApiItem">TKeyArrayVar</code></a> and
+<a href="../reference-cpp/E32_EKA2/TKeyArrayPakClass.html#%3a%3aTKeyArrayPak" title="class TKeyArrayPak"><code class="ApiItem">TKeyArrayPak</code></a> for the cause of the panic. 
+</p>
+<code>99</code>
+<p>
+This panic is raised when a local or global chunk is created using
+the <a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk" title="class RChunk"><code class="ApiItem">RChunk</code></a> member functions: <code>CreateLocal()</code>,
+<code>CreateGlobal()</code>, <code>CreateDoubleEndedLocal()</code> and
+<code>CreateDoubleEndedGlobal()</code>. It occurs when the value for the
+maximum size to which this chunk can be adjusted, is negative. 
+</p>
+<code>100</code>
+<p>
+This panic is raised when a local or global chunk is created using
+the <a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk" title="class RChunk"><code class="ApiItem">RChunk</code></a> member functions: <code>CreateLocal()</code>
+and <code>CreateGlobal()</code>. It occurs when the value for the number of
+bytes to be committed to this chunk on creation, is negative. 
+</p>
+<code>101</code>
+<p>
+This panic is raised when a local or global chunk is created using
+the <a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk" title="class RChunk"><code class="ApiItem">RChunk</code></a> member functions: <code>CreateLocal()</code>
+and <code>CreateGlobal()</code>. It occurs when the value for the number of
+bytes to be committed to this chunk on creation is greater than the value for
+the maximum size to which this chunk can be adjusted. 
+</p>
+<code>102</code>
+<p>
+This panic is raised when changing the number of bytes committed to
+a chunk by calling the <code>Adjust()</code> member function of
+<a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk" title="class RChunk"><code class="ApiItem">RChunk</code></a>. The panic occurs when the value passed to the
+function is negative. 
+</p>
+<code>103</code>
+<p>
+<em>Withdrawn in 6.0:</em> The panic is raised by the
+<code>CreateSession()</code> member function of the abstract session base class
+<code>RSessionBase</code>. <code>CreateSession()</code> is a protected function
+and can only be called by member functions of derived classes. The panic occurs
+when the delay time interval passed to this function is negative. 
+</p>
+<code>104</code>
+<p>
+<em>Withdrawn in 6.0:</em> The panic is raised by the
+<code>CreateSession()</code> member function of the abstract session base class
+<code>RSessionBase</code>. <code>CreateSession()</code> is a protected function
+and can only be called by member functions of derived classes. The panic occurs
+when the retry count passed to this function is negative. 
+</p>
+<code>105</code>
+<p>
+This panic is raised when a local or global semaphore is created
+using the <a href="../reference-cpp/E32_EKA2/RSemaphoreClass.html#%3a%3aRSemaphore" title="class RSemaphore"><code class="ApiItem">RSemaphore</code></a> member functions:
+<code>CreateLocal()</code> and <code>CreateGlobal()</code>. It occurs when the
+value for the initial semaphore count is negative. 
+</p>
+<code>106</code>
+<p>
+This panic is raised when a semaphore, an
+<a href="../reference-cpp/E32_EKA2/RSemaphoreClass.html#%3a%3aRSemaphore" title="class RSemaphore"><code class="ApiItem">RSemaphore</code></a>, is signaled using the <code>Signal(TInt
+aCount)</code> member function and the count value is negative. 
+</p>
+<code>107</code>
+<p>
+This panic is raised when a critical section, an
+<a href="../reference-cpp/E32_EKA2/RCriticalSectionClass.html#%3a%3aRCriticalSection" title="class RCriticalSection"><code class="ApiItem">RCriticalSection</code></a>, is signalled using the
+<code>Signal()</code> member function. The panic occurs when the
+<code>Signal()</code> is not matched by an earlier call to <code>Wait()
+</code>
+and suggests that this is a stray signal. 
+</p>
+<code>108</code>
+<p>
+This panic is raised when creating a thread using the
+<code>Create()</code> member functions of <a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread" title="class RThread"><code class="ApiItem">RThread</code></a>. The
+panic only occurs for those variants of <code>Create()</code> which take a
+pointer to an <a href="../reference-cpp/E32_EKA2/RHeapClass.html#%3a%3aRHeap" title="class RHeap"><code class="ApiItem">RHeap</code></a> as one of the arguments and is caused
+if the heap referred to here is neither of type
+<code class="ApiItem">RHeapBase::EChunkNormal</code> nor of type
+<code class="ApiItem">RHeapBase::EChunkStack</code>. 
+</p>
+<code>109</code>
+<p>
+This panic is raised when creating a thread using the
+<code>Create()</code> member functions of <a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread" title="class RThread"><code class="ApiItem">RThread</code></a>. The
+panic occurs when the value of the stack size passed to these functions is
+negative. 
+</p>
+<code>110</code>
+<p>
+This panic is raised when creating a thread using the
+<code>Create()</code> member functions of <a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread" title="class RThread"><code class="ApiItem">RThread</code></a>. The
+panic is only raised by those variants of <code>Create()</code> which create a
+new heap for the new thread. The panic occurs if the minimum heap size
+specified is less than <code>KMinHeapSize</code> , defined in
+<code class="filename">e32std.h</code>. 
+</p>
+<code>111</code>
+<p>
+This panic is raised when creating a thread using the
+<code>Create()</code> member functions of <a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread" title="class RThread"><code class="ApiItem">RThread</code></a>. The
+panic is only raised by those variants of <code>Create()</code> which create a
+new heap for the new thread. The panic occurs if the minimum heap size
+specified is greater than the maximum size to which the heap can grow 
+</p>
+<code>112</code>
+<p>
+This panic is raised by the <code>Alloc()</code> and
+<code>AllocL()</code> member functions of class <code>RRef</code> when the size
+value passed is negative. 
+</p>
+<code>113</code>
+<p>
+This panic is raised by: 
+</p>
+<p>
+the constructor of a time representation object, a
+<a href="../reference-cpp/E32_EKA2/TTimeClass.html#%3a%3aTTime" title="class TTime"><code class="ApiItem">TTime</code></a>, which takes a text string, when the format of that
+text string is incorrect or represents an invalid date/time. 
+</p>
+<p>
+the <code>Parse()</code> member function of a time
+representation object, a <a href="../reference-cpp/E32_EKA2/TTimeClass.html#%3a%3aTTime" title="class TTime"><code class="ApiItem">TTime</code></a>, if the century offset
+value is either negative or is greater than or equal to 100. 
+</p>
+<p>
+the <a href="../reference-cpp/E32_EKA2/TimeClass.html#%3a%3aTime%3a%3aDaysInMonth%28%29" title="function Time::DaysInMonth()"><code class="ApiItem">Time::DaysInMonth()</code></a> function, if an
+invalid month value is passed. 
+</p>
+<code>114</code>
+<p>This panic is raised in debug builds only.
+</p>
+<p>
+This panic is raised by member functions of a
+<code>TBusLocalDrive</code> when no connection has been made to a local drive. 
+</p>
+<code>115</code>
+<p>
+This panic is raised when attempting to connect to a local drive
+using the <code>Connect()</code> member function of <code>TBusLocalDrive</code>
+and the specified drive number is out of range, i.e. the drive number is
+negative or is greater than or equal to <code>KMaxLocalDrives</code>, defined
+in <code class="filename">e32std.h</code>. 
+</p>
+<code>116</code>
+<p>
+This panic is raised by the <code>Lookup()</code> member function
+of an <a href="../reference-cpp/E32_EKA2/RLibraryClass.html#%3a%3aRLibrary" title="class RLibrary"><code class="ApiItem">RLibrary</code></a>, a handle to a dynamically loaded DLL, when
+the ordinal number of the required DLL function, is zero or negative. 
+</p>
+<code>119</code>
+<p>
+This panic is raised when setting a new currency symbol using the
+<a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aSetCurrencySymbol%28%29" title="function User::SetCurrencySymbol()"><code class="ApiItem">User::SetCurrencySymbol()</code></a> function. The panic occurs when
+the length of the descriptor containing the new symbol is greater than
+<code>KMaxCurrencySymbol</code>, defined in <code class="filename">e32std.h</code>. 
+</p>
+<code>120</code>
+<p>
+This panic is raised by the <code>CreateDoubleEndedLocal()</code>
+and <code>CreateDoubleEndedGlobal()</code> member functions of an
+<a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk" title="class RChunk"><code class="ApiItem">RChunk</code></a> when the lower address of the committed region is
+negative. 
+</p>
+<code>121</code>
+<p>
+This panic is raised by the <code>CreateDoubleEndedLocal()</code>
+and <code>CreateDoubleEndedGlobal()</code> member functions of an
+<a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk" title="class RChunk"><code class="ApiItem">RChunk</code></a> when the upper address of the committed region is
+negative. 
+</p>
+<code>122</code>
+<p>
+This panic is raised by the <code>CreateDoubleEndedLocal()</code>
+and <code>CreateDoubleEndedGlobal()</code> member functions of an
+<a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk" title="class RChunk"><code class="ApiItem">RChunk</code></a> when the upper address of the committed region is
+lower than the lower address of the committed region. 
+</p>
+<code>123</code>
+<p>
+This panic is raised by the <code>CreateDoubleEndedLocal()</code>
+and <code>CreateDoubleEndedGlobal()</code> member functions of an
+<a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk" title="class RChunk"><code class="ApiItem">RChunk</code></a> when the upper address of the committed region is
+lower than the maximum size to which this chunk can be adjusted. 
+</p>
+<code>124</code>
+<p>
+This panic is raised by the <code>AdjustDoubleEnded()</code> member
+function of an <a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk" title="class RChunk"><code class="ApiItem">RChunk</code></a> when the lower address of the
+committed region is negative. 
+</p>
+<code>125</code>
+<p>
+This panic is raised by the <code>AdjustDoubleEnded()</code> member
+function of an <a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk" title="class RChunk"><code class="ApiItem">RChunk</code></a> when the upper address of the
+committed region is negative. 
+</p>
+<code>126</code>
+<p>
+This panic is raised by the <code>AdjustDoubleEnded()</code> member
+function of an <a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk" title="class RChunk"><code class="ApiItem">RChunk</code></a> when the upper address of the
+committed region is lower than the lower address of the committed region. 
+</p>
+<code>127</code>
+<p>
+This panic is raised when constructing an array of pointers, an
+<a href="../reference-cpp/E32_EKA2/RPointerArrayClass.html#%3a%3aRPointerArray" title="class RPointerArray"><code class="ApiItem">RPointerArray</code></a>, and specifying a granularity value which is
+one of the following: 
+</p>
+<p>
+zero 
+</p>
+<p>
+negative 
+</p>
+<p>
+greater than <code>0x10000000</code>. 
+</p>
+<code>128</code>
+<p>
+This panic is raised when constructing an array of fixed length
+objects, an <a href="../reference-cpp/E32_EKA2/RArrayClass.html#%3a%3aRArray" title="class RArray"><code class="ApiItem">RArray</code></a>, and specifying a key offset value
+which is one of the following: 
+</p>
+<p>
+negative 
+</p>
+<p>
+not a multiple of 4 
+</p>
+<p>
+greater than or equal to the size of the array elements. 
+</p>
+<code>129</code>
+<p>
+This panic is raised when constructing an array of fixed length
+objects, an <a href="../reference-cpp/E32_EKA2/RArrayClass.html#%3a%3aRArray" title="class RArray"><code class="ApiItem">RArray</code></a>, and the length of the array elements
+is one of the following: 
+</p>
+<p>
+zero 
+</p>
+<p>
+negative 
+</p>
+<p>
+greater than 640. 
+</p>
+<code>130</code>
+<p>
+This panic is raised when an index value passed to a member
+function of a <a href="../reference-cpp/E32_EKA2/RArrayClass.html#%3a%3aRArray" title="class RArray"><code class="ApiItem">RArray</code></a> or a
+<a href="../reference-cpp/E32_EKA2/RPointerArrayClass.html#%3a%3aRPointerArray" title="class RPointerArray"><code class="ApiItem">RPointerArray</code></a> identifying an array element, is out of
+bounds. 
+</p>
+<code>131</code>
+<p>
+This panic is raised when the value identifying the insertion
+position in a call to <a href="../reference-cpp/E32_EKA2/RArrayClass.html#%3a%3aRArray%3a%3aInsert%28%29" title="function RArray::Insert()"><code class="ApiItem">RArray::Insert()</code></a> or
+<a href="../reference-cpp/E32_EKA2/RPointerArrayClass.html#%3a%3aRPointerArray%3a%3aInsert%28%29" title="function RPointerArray::Insert()"><code class="ApiItem">RPointerArray::Insert()</code></a> is either negative or greater than
+the number of elements in the array. 
+</p>
+<code>132</code>
+<p>
+This panic is raised when an index value passed to
+<a href="../reference-cpp/E32_EKA2/MemClass.html#%3a%3aMem%3a%3aCollationMethodByIndex%28%29" title="function Mem::CollationMethodByIndex()"><code class="ApiItem">Mem::CollationMethodByIndex()</code></a> or
+<a href="../reference-cpp/E32_EKA2/MemClass.html#%3a%3aMem%3a%3aCollationMethodId%28%29" title="function Mem::CollationMethodId()"><code class="ApiItem">Mem::CollationMethodId()</code></a> is out of bounds. 
+</p>
+<code>133</code>
+<p>
+This panic is raised when an index value passed to
+<a href="../reference-cpp/E32_EKA2/TFixedArrayClass.html#%3a%3aTFixedArray%3a%3aAt%28%29" title="function TFixedArray::At()"><code class="ApiItem">TFixedArray::At()</code></a> or
+<code class="ApiItem">TFixedArray::operator[]</code> is out of bounds. 
+</p>
+<code>134</code>
+<p>
+Not used. 
+</p>
+<code>135</code>
+<p>
+Not used. 
+</p>
+<code>136</code>
+<p>
+Not used. 
+</p>
+<code>137</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. The panic is
+caused when a parameter is too big. 
+</p>
+<code>138</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists when an index
+value for the parameters is outside its permitted range. 
+</p>
+<code>139</code>
+<p>
+<em>This panic is raised in debug builds only.</em>
+</p>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists when an index
+value for the parameters is outside its permitted range.
+</p>
+<code>140</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. 
+</p>
+<code>141</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. 
+</p>
+<code>142</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. 
+</p>
+<code>143</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. 
+</p>
+<code>144</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. 
+</p>
+<code>145</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. 
+</p>
+<code>146</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. 
+</p>
+<code>147</code>
+</p>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. 
+</p>
+<code>148</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. 
+</p>
+<code>149</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. 
+</p>
+<code>150</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. 
+</p>
+<code>151</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. 
+</p>
+<code>152</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. 
+</p>
+<code>153</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. 
+</p>
+<code>154</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. 
+</p>
+<code>155</code>
+<p>
+Not used. 
+</p>
+<code>156</code>
+<p>
+This panic is raised by the variants of the
+<a href="../reference-cpp/E32_EKA2/RArrayClass.html#%3a%3aRArray" title="class RArray"><code class="ApiItem">RArray</code></a> or <a href="../reference-cpp/E32_EKA2/RPointerArrayClass.html#%3a%3aRPointerArray" title="class RPointerArray"><code class="ApiItem">RPointerArray</code></a> constructors
+that take a value that defines the number of entries for the array. The panic
+is caused when this number is not positive. 
+</p>
+<code>157</code>
+<p>
+This panic is raised by <a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk%3a%3aCommit%28%29" title="function RChunk::Commit()"><code class="ApiItem">RChunk::Commit()</code></a> when
+the value of the offset of the committed region is negative. 
+</p>
+<code>158</code>
+<p>
+This panic is raised by <a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk%3a%3aCommit%28%29" title="function RChunk::Commit()"><code class="ApiItem">RChunk::Commit()</code></a> when
+the size of the committed region is negative. 
+</p>
+<code>159</code>
+<p>
+This panic is raised by <a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk%3a%3aAllocate%28%29" title="function RChunk::Allocate()"><code class="ApiItem">RChunk::Allocate()</code></a>
+when the size of the committed region is negative. 
+</p>
+<code>160</code>
+<p>
+This panic is raised by <a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk%3a%3aDecommit%28%29" title="function RChunk::Decommit()"><code class="ApiItem">RChunk::Decommit()</code></a>
+when the value of the offset of the committed region is negative. 
+</p>
+<code>161</code>
+<p>
+This panic is raised by <a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk%3a%3aDecommit%28%29" title="function RChunk::Decommit()"><code class="ApiItem">RChunk::Decommit()</code></a>
+when the size of the committed region is negative. 
+</p>
+<code>162</code>
+<p>
+This panic is raised when an invalid chunk type is passed to the
+internal member function <code>RChunk::Create()</code>
+</p>
+<p>
+See <a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk" title="class RChunk"><code class="ApiItem">RChunk</code></a>
+</p>
+<code>163</code>
+<p>
+This panic is raised when a global chunk is being created and no
+name has been specified. 
+</p>
+<p>
+See <a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk" title="class RChunk"><code class="ApiItem">RChunk</code></a>
+</p>
+<code>164</code>
+<p>
+This panic is raised when creating a 'normal' chunk, and the offset
+of the bottom of the new committed region from the base of the chunk's reserved
+region is not zero. 
+</p>
+<p>
+See <a href="../reference-cpp/E32_EKA2/RChunkClass.html#%3a%3aRChunk" title="class RChunk"><code class="ApiItem">RChunk</code></a>
+</p>
+<code>165</code>
+<p>
+This panic is raised by the internal function
+<code>RLibrary::Init()</code> when the function that constructs static data
+following a DLL load, leaves. 
+</p>
+<p>
+See <a href="../reference-cpp/E32_EKA2/RLibraryClass.html#%3a%3aRLibrary" title="class RLibrary"><code class="ApiItem">RLibrary</code></a>
+</p>
+<code>166</code>
+<p>
+This panic is raised internally, if a call to the static data
+destructors, following closure of a library handle, leaves. 
+</p>
+<code>167</code>
+<p>
+This panic is raised in a call to
+<a href="../reference-cpp/E32_EKA2/RAllocatorClass.html#%3a%3aRAllocator%3a%3aClose%28%29" title="function RAllocator::Close()"><code class="ApiItem">RAllocator::Close()</code></a> when the number of handles is found to
+be greater than the maximum allowed, i.e.
+<a href="../reference-cpp/E32_EKA2/RAllocatorClass.html#%3a%3aRAllocator%3a%3aEMaxHandles" title="field RAllocator::EMaxHandles"><code class="ApiItem">RAllocator::EMaxHandles</code></a>. 
+</p>
+<code>168</code>
+<p>
+This panic is raised by the internal <a href="../reference-cpp/E32_EKA2/RHeapClass.html#%3a%3aRHeap" title="class RHeap"><code class="ApiItem">RHeap</code></a>
+constructor when the offset value is invalid, i.e. is negative or not
+appropriate for the pagesize. 
+</p>
+<code>169</code>
+<p>
+This panic is raised by the Symbian internal function
+<code>RHeap::Reduce()</code> on failure. 
+</p>
+<code>170</code>
+<p>
+This panic is raised by the Symbian internal function
+<code>RHeap::Reset()</code> on failure. 
+</p>
+<code>171</code>
+<p>
+This panic is raised by the Symbian internal function
+<code>RHeap::WalkCheckCell()</code> if it detects a free cell with an invalid
+size. 
+</p>
+<code>172</code>
+<p>
+This panic is raised by the Symbian internal function
+<code>RHeap::Initialise()</code> when an alignment value is invalid, i.e is
+either less than the size of a <code>TAny*</code> type, or is not a power of 2
+(i.e. 2, 4, 8, 16 etc). 
+</p>
+<code>173</code>
+<p>
+Not used. 
+</p>
+<code>174</code>
+<p>
+This panic is raised if any unimplemented pure virtual function is
+called. 
+</p>
+<code>175</code>
+<p>
+This panic is raised when a <a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aLeave%28%29" title="function User::Leave()"><code class="ApiItem">User::Leave()</code></a> is
+called and there is no <code class="ApiItem">TRAP</code> frame. 
+</p>
+<code>176</code>
+<p>
+This panic is raised when a mathematical function fails with an
+unrecognized exception, i.e. one that is none of:
+<a href="../reference-cpp/E32_EKA2/e32err.hVariables.html#%3a%3aKErrArgument" title="field KErrArgument"><code class="ApiItem">KErrArgument</code></a>, <a href="../reference-cpp/E32_EKA2/e32err.hVariables.html#%3a%3aKErrDivideByZero" title="field KErrDivideByZero"><code class="ApiItem">KErrDivideByZero</code></a>,
+<a href="../reference-cpp/E32_EKA2/e32err.hVariables.html#%3a%3aKErrOverflow" title="field KErrOverflow"><code class="ApiItem">KErrOverflow</code></a> or <a href="../reference-cpp/E32_EKA2/e32err.hVariables.html#%3a%3aKErrUnderflow" title="field KErrUnderflow"><code class="ApiItem">KErrUnderflow</code></a>. 
+</p>
+<code>177</code>
+<p>
+This panic is raised by the Symbian internal function
+<code>RHeap::WalkCheckCell()</code> on a bad cell type. 
+</p>
+<code>178</code>
+<p>
+This panic is raised when descriptors convert integers into text,
+and an invalid radix is passed, i.e. a value that is not one of the
+<a href="../reference-cpp/E32_EKA2/TRadixEnum.html#%3a%3aTRadix" title="enum TRadix"><code class="ApiItem">TRadix</code></a> enum values. 
+</p>
+<code>179</code>
+<p>This panic is raised in debug builds only.
+</p>
+<p>
+This panic is raised when converting and appending numbers in
+descriptors, and buffers are not aligned on even addresses. 
+</p>
+<code>180</code>
+<p>
+Not used. 
+</p>
+<code>181</code>
+<p>
+This is raised by a Symbian internal component related to Huffman
+encoding/decoding. Refer to Symbian 
+</p>
+<code>182</code>
+<p>
+This is raised by a Symbian internal component related to Huffman
+encoding/decoding. Refer to Symbian 
+</p>
+<code>183</code>
+<p>
+This panic is raised by member functions of the internal classes
+<code>RArrayBase</code> and <code>RPointerArrayBase</code>; specifically: 
+</p>
+<p>
+<code> RArrayBase::BinarySearch()
+</code>
+</p>
+<p>
+<code>RArrayBase::BinarySearchUnsigned()
+</code>
+</p>
+<p>
+<code>RArrayBase::BinarySearchSigned()
+</code>
+</p>
+<p>
+<code>RPointerArrayBase::BinarySearch()
+</code>
+</p>
+<p>
+<code>RPointerArrayBase::BinarySearchUnsigned()
+</code>
+</p>
+<p>
+<code>RPointerArrayBase::BinarySearchSigned()
+</code>
+</p>
+<p>
+when the find mode passed to these functions is not recognised. 
+</p>
+<code>184</code>
+<p>
+This panic is raised on a call to
+<a href="../reference-cpp/E32_EKA2/RNotifierClass.html#%3a%3aRNotifier%3a%3aNotify%28%29" title="function RNotifier::Notify()"><code class="ApiItem">RNotifier::Notify()</code></a> when the length of one or more of the
+descriptors containing the displayable text is bigger than the maximum value
+that a <a href="../reference-cpp/E32_EKA2/TUint16Typedef.html#%3a%3aTUint16" title="typedef TUint16"><code class="ApiItem">TUint16</code></a> can hold. 
+</p>
+<code>185</code>
+<p>
+This panic is raised by the following functions when the month or
+day value is outside its permitted range of values: 
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/TMonthNameClass.html#%3a%3aTMonthName%3a%3aSet%28%29" title="function TMonthName::Set()"><code class="ApiItem">TMonthName::Set()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/TMonthNameAbbClass.html#%3a%3aTMonthNameAbb%3a%3aSet%28%29" title="function TMonthNameAbb::Set()"><code class="ApiItem">TMonthNameAbb::Set()</code></a>
+</p>
+<p>
+<a href="../reference-cpp/E32_EKA2/TDayNameClass.html#%3a%3aTDayName%3a%3aSet%28%29" title="function TDayName::Set()"><code class="ApiItem">TDayName::Set()</code></a>
+</p>
+<p>
+<code class="ApiItem"> TDayNameAbb::Set()</code>
+</p>
+<p>
+See also: <a href="../reference-cpp/E32_EKA2/TMonthNameClass.html#%3a%3aTMonthName" title="class TMonthName"><code class="ApiItem">TMonthName</code></a>,
+<a href="../reference-cpp/E32_EKA2/TMonthNameAbbClass.html#%3a%3aTMonthNameAbb" title="class TMonthNameAbb"><code class="ApiItem">TMonthNameAbb</code></a>, <a href="../reference-cpp/E32_EKA2/TDayNameClass.html#%3a%3aTDayName" title="class TDayName"><code class="ApiItem">TDayName</code></a> and
+<a href="../reference-cpp/E32_EKA2/TDayNameAbbClass.html#%3a%3aTDayNameAbb" title="class TDayNameAbb"><code class="ApiItem">TDayNameAbb</code></a>. 
+</p>
+<code>186</code>
+<p>
+This panic is raised internally by the descriptor formatting
+functions during the handling of the variable parameter lists. 
+</p>
+<code>187</code>
+<p>
+This panic is raised in a call to
+<a href="../reference-cpp/E32_EKA2/TDes8Class.html#%3a%3aTDes8%3a%3aExpand%28%29" title="function TDes8::Expand()"><code class="ApiItem">TDes8::Expand()</code></a>, if either the length, or the maximum
+length, or the pointer to the data is not an even number. 
+</p>
+<code>188</code>
+<p>
+This panic is raised in a call to
+<a href="../reference-cpp/E32_EKA2/TDes8Class.html#%3a%3aTDes8%3a%3aCollapse%28%29" title="function TDes8::Collapse()"><code class="ApiItem">TDes8::Collapse()</code></a>, if either the length, or the maximum
+length, or the pointer to the data is not an even number. 
+</p>
+<code>189</code>
+<p>
+This panic is raised in calls to the
+<a href="../reference-cpp/E32_EKA2/TSecurityPolicyClass.html#%3a%3aTSecurityPolicy" title="class TSecurityPolicy"><code class="ApiItem">TSecurityPolicy</code></a> constructors, if the specified capability
+is found to be invalid. 
+</p>
+<p>
+See <a href="../reference-cpp/E32_EKA2/TCapabilityEnum.html#%3a%3aTCapability" title="enum TCapability"><code class="ApiItem">TCapability</code></a>. 
+</p>
+<code>190</code>
+<p>
+This panic is raised in a call to
+<a href="../reference-cpp/E32_EKA2/TSecurityPolicyClass.html#%3a%3aTSecurityPolicy%3a%3aCheckPolicy%28%29" title="function TSecurityPolicy::CheckPolicy()"><code class="ApiItem">TSecurityPolicy::CheckPolicy()</code></a>, if the security policy is
+found to be corrupt. 
+</p>
+<p>
+See <a href="../reference-cpp/E32_EKA2/TSecurityPolicyClass.html#%3a%3aTSecurityPolicy" title="class TSecurityPolicy"><code class="ApiItem">TSecurityPolicy</code></a>. 
+</p>
+<code>191</code>
+<p>
+This panic is raised in a call to:
+</p>
+<p class="CodeBlock"><code>TSecurityPolicy::TSecurityPolicy(TSecPolicyType&nbsp;aType)</code></p>
+<p>
+if <code>aType</code> is neither <code>ETypePass</code> nor
+<code>ETypeFail</code>. 
+</p>
+<p>
+See <a href="../reference-cpp/E32_EKA2/TSecurityPolicyClass.html#%3a%3aTSecurityPolicy" title="class TSecurityPolicy"><code class="ApiItem">TSecurityPolicy</code></a>. 
+</p>
+<code>192</code>
+<p>
+This panic is raised when constructing an
+<a href="../reference-cpp/E32_EKA2/RPointerArrayClass.html#%3a%3aRPointerArray" title="class RPointerArray"><code class="ApiItem">RPointerArray</code></a> or an <a href="../reference-cpp/E32_EKA2/RArrayClass.html#%3a%3aRArray" title="class RArray"><code class="ApiItem">RArray</code></a> if the
+specified minimum growth step is less than or equal to zero or is greater than
+65535. 
+</p>
+<code>193</code>
+<p>
+This panic is raised when constructing an
+<a href="../reference-cpp/E32_EKA2/RPointerArrayClass.html#%3a%3aRPointerArray" title="class RPointerArray"><code class="ApiItem">RPointerArray</code></a> or an <a href="../reference-cpp/E32_EKA2/RArrayClass.html#%3a%3aRArray" title="class RArray"><code class="ApiItem">RArray</code></a> if the
+specified exponential growth factor is less than or equal to 1 or is greater
+than or equal to 128. 
+</p>
+<code>194</code>
+<p>
+This panic is raised if code inside an __ASSERT_ALWAYS_NO_LEAVE
+harness leaves. 
+</p>
+<code>195</code>
+<p>
+This panic is raised when the attempt to grow a cell on the heap
+fails. 
+</p>
+<code>196</code>
+<p>
+This panic is raised when an attempt is made to install a Win32 SE
+handler that is not on the stack. 
+</p>
+<p>
+See the internal class <code>TWin32SEHTrap</code>. 
+</p>
+<code>197</code>
+<p>
+This panic is raised when the caller of an API does not have the
+right capabilities to call that API. You need to consult the documentation for
+the specific API for the capabilities needed to call it.
+</p>
+<code>198</code>
+<p>
+This panic is raised by the constructor of the internal class
+<code>RHashTableBase</code> if a NULL function pointer is passed in as the hash
+function. 
+</p>
+<code>199</code>
+<p>
+This panic is raised by the constructor of the internal class
+<code>RHashTableBase</code> if a NULL function pointer is passed in as the
+identity relation. 
+</p>
+<code>200</code>
+<p>
+This panic is raised by the constructor of the internal class
+<code>RHashTableBase</code> if a negative element size is specified. 
+</p>
+<code>201</code>
+<p>
+This panic is raised by the constructor of the internal class
+<code>RHashTableBase</code> if the specified key offset is inconsistent with
+the specified element size. 
+</p>
+<code>202</code>
+<p>
+This panic is raised by the member function
+<code>VerifyReform()</code> of the internal class <code>RHashTableBase
+</code>
+if a deleted entry still remains after a hash table reform. This panic should
+never occur as it indicates an error in the hash table implementation. 
+</p>
+<code>203</code>
+<p>
+This panic is raised by the member function
+<code>ConsistencyCheck()</code> of the internal class
+<code>RHashTableBase</code>. It indicates an error in the hash table
+implementation. 
+</p>
+<code>204</code>
+<p>
+This panic is raised by the member function
+<code>ConsistencyCheck()</code> of the internal class
+<code>RHashTableBase</code>. It indicates an error in the hash table
+implementation. 
+</p>
+<code>205</code>
+<p>
+This panic is raised by the member function
+<code>ConsistencyCheck()</code> of the internal class
+<code>RHashTableBase</code>. It indicates an error in the hash table
+implementation. 
+</p>
+<code>206</code>
+<p>
+This panic is raised by the member function
+<code>ConsistencyCheck()</code> of the internal class
+<code>RHashTableBase</code>. It indicates an error in the hash table
+implementation. 
+</p>
+<code>207</code>
+</p>
+<p>
+This panic is raised by the member function
+<code>ConsistencyCheck()</code> of the internal class
+<code>RHashTableBase</code>. It indicates an error in the hash table
+implementation. 
+</p>
+<code>208</code>
+<p>
+This panic is raised by the member function <code>Next()</code> of
+the internal class <code>THashTableIterBase</code> if, while attempting to step
+a hash table iterator to the next entry, the iterator is found to point to an
+invalid table entry. This will typically occur if elements have been removed
+from the hash table without resetting the iterator. 
+</p>
+<code>209</code>
+<p>
+This panic is raised by the member function <code>Current()</code>
+of the internal class <code>THashTableIterBase</code> if, while interrogating
+the current position of a hash table iterator, the iterator is found to point
+to an invalid table entry. This will typically occur if elements have been
+added to or removed from the hash table without resetting the iterator. 
+</p>
+<code>210</code>
+<p>
+This panic is raised if an invalid argument is passed to the
+<code>Reserve()</code> function on any of the hash table classes derived from
+the internal class <code>RHashTableBase</code>. 
+</p>
+<code>211</code>
+<p>
+This panic is raised if the Win32 SE handler chain has been
+corrupted. 
+</p>
+<p>
+See the internal class <code>TWin32SEHTrap</code>. 
+</p>
+<code>212</code>
+<p>
+This panic is raised if a negative valued argument is passed to the
+<code>Reserve()</code> member function of the <a href="../reference-cpp/E32_EKA2/RArrayClass.html#%3a%3aRArray" title="class RArray"><code class="ApiItem">RArray</code></a> or
+<a href="../reference-cpp/E32_EKA2/RPointerArrayClass.html#%3a%3aRPointerArray" title="class RPointerArray"><code class="ApiItem">RPointerArray</code></a> classes . 
+</p>
+	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/Versit-Parser.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,21 @@
+<h1>Versit-Parser</h1>
+<p>Versit panics:</p>
+<code>0</code>
+<p>The parser has tried to access a token, but no current token
+exists.</p>
+<code>1</code>
+<p>An object of class <code>CVersitUnicodeUtils</code> (which converts
+between narrow and wide descriptors) has not been allocated by the
+parser.</p>
+<code>2</code>
+<p>An attempt was made to construct a <code>CParserProperty</code>
+without specifying a property value.</p>
+<code>3</code>
+<p>A week day array, <code>CWeekDayArray</code>, contains an invalid
+value, (not between <code>EMonday</code> and <code>ESunday</code>
+inclusive).</p>
+<code>4</code>
+<p>The number of a week within a month is invalid.</p>
+<code>5</code>
+<p>The repeat type for a recurrence rule property value is not one of the
+values specified in <code>CVersitRecurrence::TType</code>.</p>	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/ViewSrv.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,46 @@
+<h1>ViewSrv</h1>
+<p>
+The table below lists the View Server panics.</p>
+<code>1</code>
+<p>
+View Server creation failed. 
+</p>
+<code>3</code>
+<p>
+A bad client call was made - i.e. the opcode sent by the client was
+one not defined in <code>TVwsRequestOpcode</code>. 
+</p>
+<code>6</code>
+<p>
+The view that View Server is trying to remove has not been found. 
+</p>
+<code>7</code>
+<p>
+An application tried to add a view with an application UID other
+than its own. 
+</p>
+<code>8</code>
+<p>
+The custom message sent along with a view activation request was
+not copied across to the server properly. 
+</p>
+<code>9</code>
+<p>
+An attempt was made to remove the currently active view. 
+</p>
+<code>10</code>
+<p>
+A client has requested a view event even though it still has an
+outstanding request open. 
+</p>
+<code>11</code>
+<p>
+The most common panic. A view has taken too long to complete its
+implementation of <code>ViewActivatedL()</code> and must, therefore, be
+panicked to stop it from blocking the entire OS. 
+</p>
+<code>13</code>
+<p>
+An attempt was made to activate a view that does not support the
+current screenmode. 
+</p>	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/WSERV.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,653 @@
+<h1>WSERV</h1>
+<p>
+The window server runs continuously and brings the machine down if it
+crashes, so it cannot panic its own thread when it detects an error in one of
+its client&#8217;s requests. Instead it panics the client&#8217;s thread using
+<code class="ApiItem">CSession::Panic()</code>. These panics have a category of WSERV. 
+</p>
+<p>
+These panics are defined in the enumeration <code>TClientPanic</code> in
+<code class="filename">w32cmd.h</code>. 
+</p>
+<p>
+Note that some panics are raised in debug builds only. 
+</p>
+<code>1</code>
+<p>
+Out of range opcode. 
+</p>
+<p>
+The client has sent a request opcode that wasn&#8217;t recognised. Each
+server-side object can only handle some of the requests defined in the window
+server, and if the request isn&#8217;t recognised, this panic is raised. 
+</p>
+<p>
+Clients would normally only get this is if they bypass the normal
+Window Server API. 
+</p>
+<code>2</code>
+<p>
+Invalid command buffer. 
+</p>
+<p>
+A corrupt buffer of requests was discovered by the server. This is
+raised when the buffer itself is noticeably broken, and not when the commands
+in it are wrong. 
+</p>
+<code>3</code>
+<p>
+Invalid handle. 
+</p>
+<p>
+The server couldn&#8217;t find the target object for a request in the
+handle index. This can be raised when a command is sent to the handle for a
+window that has been closed, for example. 
+</p>
+<code>4</code>
+<p>
+A handle whose value was NULL was detected. 
+</p>
+<p>
+For example, when Constructing one of the subclasses of the
+client-side <a href="../reference-cpp/WSERV8.1/RWindowBaseClass.html#%3a%3aRWindowBase" title="class RWindowBase"><code class="ApiItem">RWindowBase</code></a> with a client handle argument of
+NULL. 
+</p>
+<p>
+On the server side, a <code>TWsClCmdCreateWindow</code> with a
+client handle field of <code>NULL</code> passed as argument to
+<code>CWsClientWindow::ConstructL()</code> will raise this error. 
+</p>
+<code>5</code>
+<p>
+A single drawing command was too big to fit into the
+<a href="../../guide/Graphics-subsystem-guide/WindowServerClientSide/WindowServerGuide1/ClientSideBuffer.guide.html#WindowServerGuide6%2eClientSideBuffer">client-side buffer</a>. 
+</p>
+<p>
+The size of the buffer may be increased. See
+<a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aSetBufferSizeL%28%29" title="function RWsSession::SetBufferSizeL()"><code class="ApiItem">RWsSession::SetBufferSizeL()</code></a> and
+<a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aSetMaxBufferSizeL%28%29" title="function RWsSession::SetMaxBufferSizeL()"><code class="ApiItem">RWsSession::SetMaxBufferSizeL()</code></a>. 
+</p>
+<code>6</code>
+<p>
+Invalid window handle. 
+</p>
+<p>
+A handle which should have referred to a window of a particular
+type referred to a window of another type, or the object index didn&#8217;t recognise
+the handle. 
+</p>
+<p>
+On the server side, this panic is ultimately raised by
+<code>CWsClient::HandleToWindow()</code> and
+<code>CWsClient::HandleToClientWindow()</code> during handle conversions. 
+</p>
+<code>7</code>
+<p>
+Invalid bitmap handle. 
+</p>
+<p>
+A corrupt bitmap handle was encountered. This is a common panic
+uncovered when a bitmap handle refers to nothing, or to a server-side object
+that isn&#8217;t a bitmap. 
+</p>
+<p>
+Also: 
+</p>
+<p>
+In response to an <code>EWsGcOpUseBrushPattern</code> request
+if the bitmap parameter couldn&#8217;t be used. On the client side,
+<a href="../reference-cpp/WSERV8.1/CWindowGcClass.html#%3a%3aCWindowGc%3a%3aUseBrushPattern%28%29" title="function CWindowGc::UseBrushPattern()"><code class="ApiItem">CWindowGc::UseBrushPattern()</code></a> sends this request. 
+</p>
+<p>
+In response to an <code>EWsSpriteOpAppendMember</code> request
+when the bitmaps for the sprite member can't be created on the server side. On
+the client side, <a href="../reference-cpp/WSERV8.1/RWsSpriteBaseClass.html#%3a%3aRWsSpriteBase%3a%3aAppendMember%28%29" title="function RWsSpriteBase::AppendMember()"><code class="ApiItem">RWsSpriteBase::AppendMember()</code></a> sends this
+request. 
+</p>
+<p>
+Any failed attempt to duplicate a supplied bitmap. 
+</p>
+<code>8</code>
+<p>
+Event read already outstanding. 
+</p>
+<p>
+<a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aEventReady%28%29" title="function RWsSession::EventReady()"><code class="ApiItem">RWsSession::EventReady()</code></a>,
+<a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aRedrawReady%28%29" title="function RWsSession::RedrawReady()"><code class="ApiItem">RWsSession::RedrawReady()</code></a>, or
+<a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aPriorityKeyReady%28%29" title="function RWsSession::PriorityKeyReady()"><code class="ApiItem">RWsSession::PriorityKeyReady()</code></a> was called again when an
+event read was already outstanding, i.e.. when an event was waiting to be
+delivered by the window server. 
+</p>
+<code>9</code>
+<p>
+Attempted to use a non-active graphics context. 
+</p>
+<p>
+A drawing request was sent to a graphics context when the context
+was not active. 
+</p>
+<p>
+On the server side, this panic is raised by
+<code>CWsGc::CommandL()</code> on all requests received when the context isn&#8217;t
+active except <code>EWsGcOpActivate</code>, <code>EWsGcOpDeactivate</code>,
+<code>EWsGcOpFree</code>, and <code>EWsGcOpTestInvariant</code>. 
+</p>
+<code>10</code>
+<p>
+Attempted to activate an already active graphics context. 
+</p>
+<p>
+On the server side, this is raised by
+<code>CWsGc::Activate()</code> as a response to a <code>EWsGcOpActivate
+</code>
+request. 
+</p>
+<p>
+The request is sent by the client-side method
+<a href="../reference-cpp/WSERV8.1/CWindowGcClass.html#%3a%3aCWindowGc%3a%3aActivate%28%29" title="function CWindowGc::Activate()"><code class="ApiItem">CWindowGc::Activate()</code></a>. 
+</p>
+<code>11</code>
+<p>
+Window already active. 
+</p>
+<p>
+An attempt was made to reactivate an active window. The request is
+sent by the client-side method <a href="../reference-cpp/WSERV8.1/RWindowBaseClass.html#%3a%3aRWindowBase%3a%3aActivate%28%29" title="function RWindowBase::Activate()"><code class="ApiItem">RWindowBase::Activate()</code></a>. 
+</p>
+<p>
+On the server side, this panic is raised by
+<code>CWsClientWindow::Activate()</code> in response to an
+<code>EWsWinOpActivate</code> request. 
+</p>
+<code>12</code>
+<p>
+Already inside a begin/end redraw pair. 
+</p>
+<p>
+A begin-redraw window request was made when the window had already
+begun redrawing. Begin-redraw messages are paired with end-redraw messages, and
+ordering is important. Invoking <a href="../reference-cpp/WSERV8.1/RWindowClass.html#%3a%3aRWindow%3a%3aBeginRedraw%28%29" title="function RWindow::BeginRedraw()"><code class="ApiItem">RWindow::BeginRedraw()</code></a>,
+then <code>RWindow::BeginRedraw()</code> again before the corresponding
+<a href="../reference-cpp/WSERV8.1/RWindowClass.html#%3a%3aRWindow%3a%3aEndRedraw%28%29" title="function RWindow::EndRedraw()"><code class="ApiItem">RWindow::EndRedraw()</code></a> raises this panic. 
+</p>
+<p>
+On the server side, this panic is raised if an
+<code>EWsWinOpBeginRedraw</code> request is sent twice before the closing
+<code>EWsWinOpEndRedraw
+</code>. 
+</p>
+<code>13</code>
+<p>
+Invalid font handle. 
+</p>
+<p>
+On the client-side is raised if
+<a href="../reference-cpp/WSERV8.1/CWindowGcClass.html#%3a%3aCWindowGc%3a%3aUseFont%28%29" title="function CWindowGc::UseFont()"><code class="ApiItem">CWindowGc::UseFont()</code></a> is called with an invalid font
+handle. 
+</p>
+<p>
+On the server side, <code>CWsGc::SetGcAttribute()</code> raises
+this error in response to an <code>EWsGcOpUseFont</code> request. 
+</p>
+<code>14</code>
+<p>
+Printing with no active font. 
+</p>
+<p>
+A command to draw text to a window was sent to a graphics context
+when no font was set. Any of the overloads of
+<a href="../reference-cpp/WSERV8.1/CWindowGcClass.html#%3a%3aCWindowGc%3a%3aDrawTextVertical%28%29" title="function CWindowGc::DrawTextVertical()"><code class="ApiItem">CWindowGc::DrawTextVertical()</code></a> or
+<a href="../reference-cpp/WSERV8.1/CWindowGcClass.html#%3a%3aCWindowGc%3a%3aDrawText%28%29" title="function CWindowGc::DrawText()"><code class="ApiItem">CWindowGc::DrawText()</code></a> might cause the panic to be raised;
+the font should be set using <a href="../reference-cpp/WSERV8.1/CWindowGcClass.html#%3a%3aCWindowGc%3a%3aUseFont%28%29" title="function CWindowGc::UseFont()"><code class="ApiItem">CWindowGc::UseFont()</code></a> first. 
+</p>
+<p>
+On the server side, this panic is raised by
+<code>CWsGc::DoDrawCommand()</code> in response to any of the requests to
+display text defined in <code>TWsGcOpcodes</code>. 
+</p>
+<code>15</code>
+<p>
+Attempted to set an invalid text cursor type, see
+<a href="../reference-cpp/WSERV8.1/RWindowGroupClass.html#%3a%3aRWindowGroup%3a%3aSetTextCursor%28%29" title="function RWindowGroup::SetTextCursor()"><code class="ApiItem">RWindowGroup::SetTextCursor()</code></a>. 
+</p>
+<p>
+Valid types are defined in the <a href="../reference-cpp/WSERV8.1/TTextCursorStruct.html#%3a%3aTTextCursor" title="struct TTextCursor"><code class="ApiItem">TTextCursor</code></a>
+struct. 
+</p>
+<code>16</code>
+<p>
+A drawing command was sent to a graphics context active on a group
+window. 
+</p>
+<code>17</code>
+<p>
+Not used. 
+</p>
+<code>18</code>
+<p>
+Not used. 
+</p>
+<code>19</code>
+<p>
+Attempted to use a patterned brush when the pattern bitmap has not
+yet been set&#0160;&#8212;  <code>UseBrushPattern()</code>. 
+</p>
+<code>20</code>
+<p>
+Not used. 
+</p>
+<code>21</code>
+<p>
+Attempted to do a client destroy function on an illegal handle. 
+</p>
+<p>
+A client tried to destroy or cancel a server-side object by its
+handle on an unrecognised handle, or on a handle of the wrong type for the
+operation. 
+</p>
+<p>
+This panic may be caused by the
+<a href="../reference-cpp/WSERV8.1/RWindowGroupClass.html#%3a%3aRWindowGroup%3a%3aCancelCaptureKeyUpAndDowns%28%29" title="function RWindowGroup::CancelCaptureKeyUpAndDowns()"><code class="ApiItem">RWindowGroup::CancelCaptureKeyUpAndDowns()</code></a> or
+<a href="../reference-cpp/WSERV8.1/RWindowGroupClass.html#%3a%3aRWindowGroup%3a%3aCancelCaptureKey%28%29" title="function RWindowGroup::CancelCaptureKey()"><code class="ApiItem">RWindowGroup::CancelCaptureKey()</code></a> methods. These correspond
+to the <code>EWsWinOpCancelCaptureKeyUpsAndDowns</code> and
+<code>EWsWinOpCancelCaptureKey</code> server requests. In this case, the panic
+means that there is no such capture key object in existence in the target
+window group. 
+</p>
+<code>22</code>
+<p>
+Panic from the Anim DLL. 
+</p>
+<p>
+An animation DLL tried either changing its default or next timing
+interval when its timing mode was set to <code>ESyncNone</code>, or activating
+a graphics context when the context was already activated. 
+</p>
+<p>
+There are a variety of other reasons why this panic might be
+raised, all which are Anim DLL related. The Animation writer can also cause
+functions raise this panic. 
+</p>
+<code>23</code>
+<p>
+Invalid Anim object handle. 
+</p>
+<p>
+A null animation handle was detected in the server on receipt of an
+animation command, possibly because the relevant animation has been deleted.
+This panic may be raised by a subclass of <a href="../reference-cpp/WSERV8.1/RAnimClass.html#%3a%3aRAnim" title="class RAnim"><code class="ApiItem">RAnim</code></a> calling
+<a href="../reference-cpp/WSERV8.1/RAnimClass.html#%3a%3aRAnim%3a%3aCommand%28%29" title="function RAnim::Command()"><code class="ApiItem">RAnim::Command()</code></a> or
+<a href="../reference-cpp/WSERV8.1/RAnimClass.html#%3a%3aRAnim%3a%3aCommandReply%28%29" title="function RAnim::CommandReply()"><code class="ApiItem">RAnim::CommandReply()</code></a>. 
+</p>
+<p>
+On the server side, the <code>EWsAnimDllOpCommandReply</code> and
+<code>EWsAnimDllOpCommand</code> requests can raise this panic in
+<code>CWsAnimDll
+</code>. 
+</p>
+<code>24</code>
+<p>
+Leave from a non-leaving animation function. 
+</p>
+<p>
+Code in an animated DLL called by the server invoked
+<code>Leave()</code>. Animated DLL code is provided by the client and run by
+the server, so unhandled leaves are trapped and the notification is passed on
+as a client panic. 
+</p>
+<code>25</code>
+<p>
+Not used. 
+</p>
+<code>26</code>
+<p>
+Not used. 
+</p>
+<code>27</code>
+<p>
+Not used. 
+</p>
+<code>28</code>
+<p>
+Inconsistent polygon or polyline data was supplied. For example
+when restarting without finishing an old polygon. 
+</p>
+<code>29</code>
+<p>
+A client attempted to set a negative shadow height. 
+</p>
+<p>
+This panic is caused by a call to
+<a href="../reference-cpp/WSERV8.1/RWindowBaseClass.html#%3a%3aRWindowBase%3a%3aSetShadowHeight%28%29" title="function RWindowBase::SetShadowHeight()"><code class="ApiItem">RWindowBase::SetShadowHeight()</code></a> with a negative argument. 
+</p>
+<p>
+On the server side, <code>CWsClientWindow::CommandL()</code> raises
+the panic in response to an invalid <code>EWsWinOpSetShadowHeight</code>
+request. 
+</p>
+<code>30</code>
+<p>
+Not used. 
+</p>
+<code>31</code>
+<p>
+The client tried to construct a window with an invalid redraw type.
+The valid redraw types defined in the enumeration <code>TWinTypes</code> of
+<code class="filename">w32cmd.h
+</code>. 
+</p>
+<p>
+On the server side, this panic is raised by
+<code>CWsClientWindow::ConstructL()</code> in response to an initialisation
+message containing an invalid redraw type. 
+</p>
+<code>32</code>
+<p>
+A server-side redraw region is almost certainly corrupt. 
+</p>
+<p>
+This panic is raised when an <code>EWsWinOpGetInvalidRegion</code>
+is received by a <code>CWsRedrawMsgWindow</code> with a <code>TInt</code>
+parameter of zero or less. 
+</p>
+<code>33</code>
+<p>
+The client failed to provide a reply buffer to a server-side
+function when one was needed. 
+</p>
+<p>
+All server-side functions that need more space for their reply than
+a <code>TInt</code> use the client&#8217;s reply buffer. If the client fails to
+provide space for such replies, this panic will be emitted. 
+</p>
+<p>
+This panic is raised by <code>CWsClient::ReplyBuf()</code> when
+<code>CWsClient</code>&#8217;s reply buffer is null. 
+</p>
+<code>34</code>
+<p>
+Not used. 
+</p>
+<code>35</code>
+<p>
+A client passed an invalid or unrecognised corner type or flag. 
+</p>
+<p>
+This panic is raised in response to a client call to
+<a href="../reference-cpp/WSERV8.1/RWindowBaseClass.html#%3a%3aRWindowBase%3a%3aSetCornerType%28%29" title="function RWindowBase::SetCornerType()"><code class="ApiItem">RWindowBase::SetCornerType()</code></a> when specifying inconsistent
+or non-existent flags. 
+</p>
+<p>
+Valid flags are masked by <a href="../reference-cpp/WSERV8.1/TCornerTypeEnum.html#%3a%3aECornerTypeMask" title="field ECornerTypeMask"><code class="ApiItem">ECornerTypeMask</code></a>, and
+recognised types are defined in <a href="../reference-cpp/WSERV8.1/TCornerTypeEnum.html#%3a%3aTCornerType" title="enum TCornerType"><code class="ApiItem">TCornerType</code></a>. These are all
+defined in <code class="filename">w32std.h</code>. 
+</p>
+<p>
+The server raises this panic as a response to
+<code>EWsWinOpSetCornerType</code> request with an undefined corner type or an
+unrecognised flag in its parameters. 
+</p>
+<code>36</code>
+<p>
+The server was asked to update a region of a backed-up window which
+has not had MaintainBackup called on it. 
+</p>
+<p>
+A client-side call to either form of
+<a href="../reference-cpp/WSERV8.1/RBackedUpWindowClass.html#%3a%3aRBackedUpWindow%3a%3aUpdateScreen%28%29" title="function RBackedUpWindow::UpdateScreen()"><code class="ApiItem">RBackedUpWindow::UpdateScreen()</code></a> may raise this panic. 
+</p>
+<p>
+On the server side, the panic is raised in response to an
+<code>EWsWinOpUpdateScreenRegion</code> or <code>EWsWinOpUpdateScreen
+</code>
+request when not maintaining a full backup of a backed-up window. 
+</p>
+<code>37</code>
+<p>
+Panic raised when it was not possible to read or write data to the
+client thread. The data is usually contained in a descriptor. 
+</p>
+<code>38</code>
+<p>
+The client attempted to access a sprite after the sprite's window
+was destroyed. Note that pointer cursors are implemented as sprites. 
+</p>
+<code>39</code>
+<p>
+A client requested event data without having received an event
+telling it that the data was ready. 
+</p>
+<code>40</code>
+<p>
+The mask for a sprite is smaller than the sprite&#8217;s bitmap. A mask
+is permitted to be larger than its bitmap. 
+</p>
+<code>41</code>
+<p>
+Bad sprite handle. 
+</p>
+<p>
+A null sprite handle was encountered, or a handle which was
+supposed to refer to a sprite referred to something else. 
+</p>
+<p>
+The client-side methods
+<a href="../reference-cpp/WSERV8.1/RWindowTreeNodeClass.html#%3a%3aRWindowTreeNode%3a%3aSetCustomPointerCursor%28%29" title="function RWindowTreeNode::SetCustomPointerCursor()"><code class="ApiItem">RWindowTreeNode::SetCustomPointerCursor()</code></a> and
+<a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aSetSystemPointerCursor%28%29" title="function RWsSession::SetSystemPointerCursor()"><code class="ApiItem">RWsSession::SetSystemPointerCursor()</code></a>, amongst others, can
+cause this panic to be raised; they correspond to the server requests
+<code>EWsWinOpSetCustomPointerCursor</code> and
+<code>EWsClOpSetSystemPointerCursor</code>. 
+</p>
+<code>42</code>
+<p>
+A client attempted to set or clear a system pointer cursor without
+first owning the list of system pointer cursors. 
+</p>
+<p>
+<a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aSetSystemPointerCursor%28%29" title="function RWsSession::SetSystemPointerCursor()"><code class="ApiItem">RWsSession::SetSystemPointerCursor()</code></a> and
+<a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aClearSystemPointerCursor%28%29" title="function RWsSession::ClearSystemPointerCursor()"><code class="ApiItem">RWsSession::ClearSystemPointerCursor()</code></a> can raise this
+panic. See also <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aClaimSystemPointerCursorList%28%29" title="function RWsSession::ClaimSystemPointerCursorList()"><code class="ApiItem">RWsSession::ClaimSystemPointerCursorList()</code></a>
+and <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aFreeSystemPointerCursorList%28%29" title="function RWsSession::FreeSystemPointerCursorList()"><code class="ApiItem">RWsSession::FreeSystemPointerCursorList()</code></a>. 
+</p>
+<p>
+The server requests which can raise this panic are
+<code>EWsClOpSetSystemPointerCursor</code> and
+<code>EWsClOpClearSystemPointerCursor</code>. 
+</p>
+<code>43</code>
+<p>
+A client attempted to enable a pointer move buffer when none was
+allocated. 
+</p>
+<p>
+<a href="../reference-cpp/WSERV8.1/RWindowBaseClass.html#%3a%3aRWindowBase%3a%3aEnablePointerMoveBuffer%28%29" title="function RWindowBase::EnablePointerMoveBuffer()"><code class="ApiItem">RWindowBase::EnablePointerMoveBuffer()</code></a> can
+cause this panic to be emitted; the corresponding server request is
+<code>EWsWinOpEnablePointerMoveBuffer</code>. 
+</p>
+<code>44</code>
+<p>
+Raised in response to commands that send a string, when the string
+has been incorrectly stored in the command buffer. 
+</p>
+<code>45</code>
+<p>
+Not used. 
+</p>
+<code>46</code>
+<p>
+An invalid call or request parameter was detected by
+<code>CWsPassword</code>. This can be caused: 
+</p>
+<p>
+By <a href="../reference-cpp/WSERV8.1/RWindowBaseClass.html#%3a%3aRWindowBase%3a%3aPasswordWindow%28%29" title="function RWindowBase::PasswordWindow()"><code class="ApiItem">RWindowBase::PasswordWindow()</code></a> sending
+an <code>EWsWinOpPasswordWindow</code> server request whose password mode
+parameter is not recognised. 
+</p>
+<p>
+By an attempt to cancel the password window by a client which
+doesn&#8217;t own the window. 
+</p>
+<p>
+By <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aPasswordEntered%28%29" title="function RWsSession::PasswordEntered()"><code class="ApiItem">RWsSession::PasswordEntered()</code></a> sending a
+<code>EWsClOpPasswordEntered</code> server request when no password window has
+been set, or when the client does not own the password window. 
+</p>
+<p>
+Valid password modes are defined in
+<a href="../reference-cpp/WSERV8.1/TPasswordModeEnum.html#%3a%3aTPasswordMode" title="enum TPasswordMode"><code class="ApiItem">TPasswordMode</code></a> of <code class="filename">w32std.h</code>. 
+</p>
+<code>47</code>
+<p>
+An invalid compute mode was sent to the window server. On the
+client side, <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aComputeMode%28%29" title="function RWsSession::ComputeMode()"><code class="ApiItem">RWsSession::ComputeMode()</code></a> can do this, the
+window server request is <code>EWsClOpComputeMode</code>. Valid compute modes
+are defined in the enumeration <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aTComputeMode" title="enum RWsSession::TComputeMode"><code class="ApiItem">RWsSession::TComputeMode</code></a>,
+which is declared in <code class="filename">w32std.h</code>. 
+</p>
+<code>48</code>
+<p>
+A client attempted to set the display mode of a backed-up window.
+This can be done with
+<a href="../reference-cpp/WSERV8.1/RWindowBaseClass.html#%3a%3aRWindowBase%3a%3aSetRequiredDisplayMode%28%29" title="function RWindowBase::SetRequiredDisplayMode()"><code class="ApiItem">RWindowBase::SetRequiredDisplayMode()</code></a> or the
+<code>EWsWinOpRequiredDisplayMode</code> server request. 
+</p>
+<code>49</code>
+<p>
+A client attempted to get a message when has not been signalled in
+the server. 
+</p>
+<p>
+This panic can be raised on a client thread calling
+<code class="ApiItem">RWindowGroup::FetchMessage()</code> or sending the
+<code>EWsWinOpGetMessageSize</code> or <code>EWsWinOpGetMessage
+</code> messages. 
+</p>
+<code>50</code>
+<p>
+A client tried to send a second initialisation message, i.e. to
+call <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aConnect%28%29" title="function RWsSession::Connect()"><code class="ApiItem">RWsSession::Connect()</code></a> twice. 
+</p>
+<code>51</code>
+<p>
+A client attempted to send a message without specifying a target
+window. 
+</p>
+<p>
+This can be raised, for example, in response to
+<a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aRequestOffEvents%28%29" title="function RWsSession::RequestOffEvents()"><code class="ApiItem">RWsSession::RequestOffEvents()</code></a>
+</p>
+<code>52</code>
+<p>
+A client attempted to perform and operation on a window that has
+had its parent or ancestor deleted. An operation which might raise this panic
+could be setting the window size, position or extent. 
+</p>
+<p>
+Introduced in v5.1 
+</p>
+<code>53</code>
+<p>
+A client attempted to reset a window group&#8217;s default owning window.
+For example, by calling the function
+<a href="../reference-cpp/WSERV8.1/RWindowGroupClass.html#%3a%3aRWindowGroup%3a%3aDefaultOwningWindow%28%29" title="function RWindowGroup::DefaultOwningWindow()"><code class="ApiItem">RWindowGroup::DefaultOwningWindow()</code></a> twice on the same
+window group. 
+</p>
+<p>
+This is only raised in debug builds. 
+</p>
+<code>54</code>
+<p>
+A client attempted to perform an operation on an invalid screen
+mode. 
+</p>
+<p>
+For example, if the client called the functions
+<a href="../reference-cpp/WSERV8.1/CWsScreenDeviceClass.html#%3a%3aCWsScreenDevice%3a%3aGetScreenModeSizeAndRotation%28%29" title="function CWsScreenDevice::GetScreenModeSizeAndRotation()"><code class="ApiItem">CWsScreenDevice::GetScreenModeSizeAndRotation()</code></a> or
+<a href="../reference-cpp/WSERV8.1/CWsScreenDeviceClass.html#%3a%3aCWsScreenDevice%3a%3aSetScreenMode%28%29" title="function CWsScreenDevice::SetScreenMode()"><code class="ApiItem">CWsScreenDevice::SetScreenMode()</code></a> with an illegal index. 
+</p>
+<p>
+Introduced in v5.1 
+</p>
+<code>55</code>
+<p>
+A client attempted to set an invalid screen enforcement mode. 
+</p>
+<p>
+The valid screen mode enforcement modes are defined in
+<a href="../reference-cpp/WSERV8.1/TScreenModeEnforcementEnum.html#%3a%3aTScreenModeEnforcement" title="enum TScreenModeEnforcement"><code class="ApiItem">TScreenModeEnforcement</code></a>. 
+</p>
+<p>
+Introduced in v5.1 
+</p>
+<code>56</code>
+<p>
+A client specified an event type which was not a pointer event,
+when this is what was required by the operation. e.g.
+<a href="../reference-cpp/WSERV8.1/RWindowGroupClass.html#%3a%3aRWindowGroup%3a%3aSimulatePointerEvent%28%29" title="function RWindowGroup::SimulatePointerEvent()"><code class="ApiItem">RWindowGroup::SimulatePointerEvent()</code></a>. 
+</p>
+<p>
+Introduced in v5.1 
+</p>
+<code>57</code>
+<p>
+A client attempted to specify a screen rotation or orientation that
+is not allowed. Each screen size mode has a list of allowed rotations. 
+</p>
+<p>
+Introduced in v5.1 
+</p>
+<code>58</code>
+<p>
+A client attempted to call a function that can only be called on a
+top level client window on a lower level window. A top level client window is a
+window with a window group as a parent, e.g.
+<a href="../reference-cpp/WSERV8.1/RWindowBaseClass.html#%3a%3aRWindowBase%3a%3aMoveToGroup%28%29" title="function RWindowBase::MoveToGroup()"><code class="ApiItem">RWindowBase::MoveToGroup()</code></a>. 
+</p>
+<p>
+Introduced in v6.0 
+</p>
+<code>59</code>
+<p>
+A client attempted to use a
+<a href="../reference-cpp/WSERV8.1/RDirectScreenAccessClass.html#%3a%3aRDirectScreenAccess" title="class RDirectScreenAccess"><code class="ApiItem">RDirectScreenAccess</code></a> object's member functions in the wrong
+order. 
+</p>
+<p>
+Introduced in v7.0 
+</p>
+<code>60</code>
+<p>
+The handle to a window server resource is already in use (debug
+builds only). 
+</p>
+<p>
+Introduced in v7.0 
+</p>
+<code>61</code>
+<p>
+An attempt was made to set a custom text cursor (using
+<a href="../reference-cpp/WSERV8.1/RWindowGroupClass.html#%3a%3aRWindowGroup%3a%3aSetTextCursor%28%29" title="function RWindowGroup::SetTextCursor()"><code class="ApiItem">RWindowGroup::SetTextCursor()</code></a>) but the cursor's type was
+not recognised. 
+</p>
+<p>
+Introduced in v7.0s. 
+</p>
+<code>62</code>
+<p>
+An attempt was made to set a custom text cursor (using
+<a href="../reference-cpp/WSERV8.1/RWindowGroupClass.html#%3a%3aRWindowGroup%3a%3aSetTextCursor%28%29" title="function RWindowGroup::SetTextCursor()"><code class="ApiItem">RWindowGroup::SetTextCursor()</code></a>) whose alignment value is
+invalid. For valid alignment values see the
+<code class="ApiItem">TCustomTextCursorAlignment</code> enumeration in class
+<a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession" title="class RWsSession"><code class="ApiItem">RWsSession</code></a>. 
+</p>
+<p>
+Introduced in v7.0s. 
+</p>
+<code>63</code>
+<p>
+An attempt was made to set a custom text cursor (using
+<a href="../reference-cpp/WSERV8.1/RWindowGroupClass.html#%3a%3aRWindowGroup%3a%3aSetTextCursor%28%29" title="function RWindowGroup::SetTextCursor()"><code class="ApiItem">RWindowGroup::SetTextCursor()</code></a>) that does not have any
+sprite members set. 
+</p>
+<p>
+Introduced in v7.0s.</p>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/eSock_fault.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,58 @@
+<h1>eSock fault</h1>
+<p>Panic of Sockets Server due to internal Sockets Server error</p>
+<code>0</code>
+<p>Socket server initiation error</p>
+<code>1</code>
+<p>No comms server available</p>
+<code>2</code>
+<p>Unused</p>
+<code>3</code>
+<p>Failed to install active scheduler</p>
+<code>4</code>
+<p>Failed to create Sockets Server</p>
+<code>5</code>
+<p>Failed to start Sockets Server</p>
+<code>6</code>
+<p>Unused</p>
+<code>7</code>
+<p>Unused</p>
+<code>8</code>
+<p>Call made to unimplemented <code>CProtocolBase::NewSAPL()</code></p>
+<code>9</code>
+<p>Call made to unimplemented <code>CProtocolBase::NewHostResolverL()</code></p>
+<code>10</code>
+<p>Call made to unimplemented <code>CProtocolBase::NewServiceResolverL()</code></p>
+<code>11</code>
+<p>Call made to unimplemented <code>CProtocolBase::NewNetDatabaseL()</code></p>
+<code>12</code>
+<p>Unused</p>
+<code>13</code>
+<p>Unused</p>
+<code>14</code>
+<p>Unused</p>
+<code>15</code>
+<p>Error in internal state</p>
+<code>16</code>
+<p>Read attempted when already attempting</p>
+<code>17</code>
+<p>Write attempted when already attempting</p>
+<code>18</code>
+<p>Connect attempted when already attempting</p>
+<code>19</code>
+<p>Close attempted when already attempting</p>
+<code>20</code>
+<p>Ioctl attempted when already attempting</p>
+<code>21</code>
+<p>Unused</p>
+<code>22</code>
+<p>Error in accepted connection queuing</p>
+<code>23</code>
+<p>Unused</p>
+<code>24</code>
+<p>Failed to delete socket</p>
+<code>25</code>
+<p>Unused</p>
+<code>26</code>
+<p>Internal session maintenance error</p>
+<code>27</code>
+<p>Unused</p>	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/eSock_panic.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,11 @@
+<h1>eSock panic</h1>
+<p>Panic of client from Sockets Server due to server error</p>
+<p>From the TESockCliPanic enumeration.</p>
+<code>0</code>
+<p>Failed to create Sockets Server</p>
+<code>1</code>
+<p>Failed to start Sockets Server</p>
+<code>2</code>
+<p>Unused</p>
+<code>3</code>
+<p>Unused</p>	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/smlController.htm	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,96 @@
+<h1>smlController</h1>
+<p>SyncML panics represent program errors which are detected by the
+SyncML framework. Typically, they are caused by passing bad or contradictory
+parameters to functions.</p>
+<p>The thread causing the panic is terminated. </p>
+<code>0</code>
+<p>Invalid parameter.</p>
+<p>This panic is raised if there is an attempt to pass an invalid
+parameter to a SyncML function. </p>
+<p>See <code class="ApiItem">CSmlTask::SetNameL()</code>,
+<code class="ApiItem">CSmlProfile::AddTaskL()</code>,
+<code class="ApiItem">CSmlProfile::SetProfileNameL()</code>.</p>
+<code>1</code>
+<p>Incomplete data.</p>
+<p>This panic is raised if there is a attempt to use a parameter
+which contains incomplete data.</p>
+<p>See <code class="ApiItem">CSmlProfile::AddTaskL()</code>,
+<code class="ApiItem">CSmlController::CreateProfileL()</code>.</p>
+<code>2</code>
+<p>Null task member.</p>
+<p>This panic is raised if there is an attempt to externalise a
+Task object which has not been completely defined.</p>
+<code>3</code>
+<p>Task member not NULL.</p>
+<p>This panic is raised if there is an attempt to internalise Task
+information into a <code>CSmlTask</code> object which is not NULL.</p>
+<code>4</code>
+<p>Null task identifier.</p>
+<p>This panic is raised if there is an attempt to get a task's
+identifier, when this has not previously been set.</p>
+<p>See <code class="ApiItem">CSmlTask::Identifier()</code>.</p>
+<code>5</code>
+<p>Null task provider.</p>
+<p>This panic is raised there is an attempt to get a task's
+content provider information, when this has not previously been set.</p>
+<p>See <code class="ApiItem">CSmlTask::Provider()</code>.</p>
+<code>6</code>
+<p>Null task target.</p>
+<p>This panic is raised if there is an attempt to get a task's
+target database, when this has not previously been set.</p>
+<p>See <code class="ApiItem">CSmlTask::Target()</code>.</p>
+<code>7</code>
+<p>Null task source.</p>
+<p>This panic is raised if there is an attempt to get a task's
+source database, when this has not previously been set.</p>
+<p>See <code class="ApiItem">CSmlTask::Source()</code>. </p>
+<code>8</code>
+<p>Null profile member.</p>
+<p>This panic is raised if there is an attempt to externalise a
+Profile object which has not been completely defined.</p>
+<code>9</code>
+<p>Profile member not NULL.</p>
+<p>This panic is raised if there is an attempt to internalise
+Profile information into a profile object which is not NULL.</p>
+<code>10</code>
+<p>Task list not empty.</p>
+<p>This panic is raised if there is an attempt to internalise Task
+list information into a profile object which is not empty.</p>
+<code>11</code>
+<p>Null profile identifier.</p>
+<p>This panic is raised if there is an attempt to get a profile's
+identifier value, when this has not previously been set.</p>
+<p>See <code class="ApiItem">CSmlProfile::Identifier()</code>.</p>
+<code>12</code>
+<p>Null profile authorisation type.</p>
+<p>This panic is raised if there is an attempt to get a profile's
+authorisation type value, when this has not previously been set.</p>
+<code>13</code>
+<p>Null profile protocol.</p>
+<p>This panic is raised if there is an attempt to get a profile's
+protocol information, when this has not previously been set.</p>
+<p>See <code class="ApiItem">CSmlProfile::Protocol()</code>.</p>
+<code>14</code>
+<p>Null Content provider.</p>
+<p>This panic is raised if there is an attempt to get a profile's
+Content provider information, when this has not previously been set.</p>
+<p>See <code class="ApiItem">CSmlProfile::AddTaskL()</code></p>
+<code>15</code>
+<p>Invalid Protocol.</p>
+<p>This panic is raised if there is an attempt to get a profile's
+transport protocol information, when the protocol does not
+exist.</p>
+<code>16</code>
+<p>Null Controller member.</p>
+<p>This panic is raised if there is an attempt to use one of the
+controller's members if it has not been initialised.</p>
+<code>17</code>
+<p>Controller Member Not Null.</p>
+<p>This panic is raised if there is an attempt to use one of the
+controller members that should be null, e.g. at the start of the
+sync.</p>
+<code>18</code>
+<p>Invalid Profile</p>
+<p>This panic is raised when trying to retrieve a profile that
+does not exist.</p>
+	   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/schema/fileprovider.exsd	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,117 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="com.nokia.s60tools.crashanalyser">
+<annotation>
+      <appInfo>
+         <meta.schema plugin="com.nokia.s60tools.crashanalyser" id="fileprovider" name="Crash File Provider"/>
+      </appInfo>
+      <documentation>
+         This extension point can be used by other plug-ins to provide Crash Files for CrashAnalyser.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <complexType>
+         <sequence>
+            <element ref="fileprovider"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="fileprovider">
+      <complexType>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java" basedOn="com.nokia.s60tools.crashanalyser.export.ICrashFileProvider"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="providerName" type="string" use="required">
+            <annotation>
+               <documentation>
+                  Name of the Crash File provider
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         1.0.3
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+All rights reserved.
+This component and the accompanying materials are made available
+under the terms of the License &quot;Symbian Foundation License v1.0&quot;
+which accompanies this distribution, and is available
+at the URL &quot;http://www.symbianfoundation.org/legal/sfl-v10.html&quot;.
+      </documentation>
+   </annotation>
+
+</schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/schema/traceprovider.exsd	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,117 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="com.nokia.s60tools.crashanalyser">
+<annotation>
+      <appInfo>
+         <meta.schema plugin="com.nokia.s60tools.crashanalyser" id="traceprovider" name="Trace Data Provider"/>
+      </appInfo>
+      <documentation>
+         This extension point can be used by other plug-ins to provide trace data for CrashAnalyser.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <complexType>
+         <sequence>
+            <element ref="traceprovider"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="traceprovider">
+      <complexType>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java" basedOn="com.nokia.s60tools.crashanalyser.export.ITraceProvider"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="providerName" type="string" use="required">
+            <annotation>
+               <documentation>
+                  Name of the trace provider
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         1.0.3
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+All rights reserved.
+This component and the accompanying materials are made available
+under the terms of the License &quot;Symbian Foundation License v1.0&quot;
+which accompanies this distribution, and is available
+at the URL &quot;http://www.symbianfoundation.org/legal/sfl-v10.html&quot;.
+      </documentation>
+   </annotation>
+
+</schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/CodeSegment.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,173 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.containers;
+
+import java.io.BufferedWriter;
+import java.io.IOException;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import com.nokia.s60tools.crashanalyser.model.XmlUtils;
+import java.util.*;
+
+/**
+ * A Code Segment class. Contains code segment's data. 
+ *
+ */
+public final class CodeSegment {
+	
+	// XML tags
+	public static final String TAG_ID = "id";
+	public static final String TAG_NAME = "name";
+	public static final String TAG_RANGE = "range";
+	public static final String TAG_ATTRIBUTES = "attributes";
+	public static final String TAG_NOSYMBOLS = "nosymbols";
+	public static final String TAG_MISMATCH = "mismatch";
+	public static final String TAG_LINK = "link";
+	
+	// segment data
+	private final int segmentId;
+	private final String segmentName;
+	private final String segmentRange;
+	private final String segmentText;
+	private final boolean segmentShouldBeHighlighted;
+	
+	/**
+	 * Constructor
+	 * 
+	 * @param id element id
+	 * @param name segment name
+	 * @param range segment range
+	 * @param text segment text
+	 * @param shouldBeHighlighted defines whether segment should be highlight e.g. due to missing symbols etc.
+	 */
+	private CodeSegment(int id, String name, String range, String text, boolean shouldBeHighlighted) {
+		segmentId = id;
+		segmentName = name;
+		segmentRange = range;
+		segmentShouldBeHighlighted = shouldBeHighlighted;
+		segmentText = text;
+	}
+	
+	@Override
+	public String toString() {
+		return segmentText;
+	}
+	
+	public int getId() {
+		return segmentId;
+	}
+	
+	public String getSegmentName() {
+		return segmentName;
+	}
+	
+	public String getSegmentRange() {
+		return segmentRange;
+	}
+	
+	public boolean shouldBeHighlighted() {
+		return segmentShouldBeHighlighted;
+	}
+	
+	/**
+	 * Writes code segment data into a buffer (e.g. a text file)
+	 * @param out 
+	 * @throws IOException
+	 */
+	public void writeTo(BufferedWriter out) throws IOException {
+		String line = "";
+		if (!"".equals(segmentRange))
+			line += segmentRange + "  ";
+		if (!"".equals(segmentName))
+			line += segmentName;
+		writeLine(out, line);
+	}
+	
+	/**
+	 * Writes given line plus a line break.
+	 * @param out where to write
+	 * @param line what to write
+	 * @throws IOException
+	 */
+	void writeLine(BufferedWriter out, String line) throws IOException {
+		out.write(line);
+		out.newLine();
+	}
+	
+	/**
+	 * Reads code segment data from XML element.
+	 * @param elementCodeseg codeseg tag
+	 * @param messages list of messages to which code segment might have a reference to.
+	 * @return a created CodeSegment class or null
+	 */
+	public static CodeSegment read(Element elementCodeseg, Map<Integer, Message> messages) {
+		try {
+			// read code segment id
+			String segmentId = XmlUtils.getTextValue(elementCodeseg, TAG_ID);
+			if (segmentId == null)
+				return null;
+			
+			// convert code segment id to integer
+			int id;
+			try {
+				id = Integer.parseInt(segmentId);
+			} catch (Exception e) {
+				return null;
+			}
+			
+			// read segment name
+			String segmentName = XmlUtils.getTextValue(elementCodeseg, TAG_NAME);
+			if (segmentName == null)
+				segmentName = "";
+			
+			// read segment range
+			String segmentRange = XmlUtils.getTextValue(elementCodeseg, TAG_RANGE);
+			if (segmentRange == null)
+				segmentRange = "";
+			
+			boolean shouldBeHighlighted = false;
+			
+			// get the attributes node
+			NodeList attribute = elementCodeseg.getElementsByTagName(TAG_ATTRIBUTES);
+			if (attribute != null && attribute.getLength() > 0) {
+				// check if attributes node contains nosymbols node
+				shouldBeHighlighted = XmlUtils.containsNode((Element)attribute.item(0), TAG_NOSYMBOLS);
+				if (!shouldBeHighlighted)
+					shouldBeHighlighted = XmlUtils.containsNode((Element)attribute.item(0), TAG_MISMATCH);
+			}
+			
+			String messageText = "";
+			// see if there are any messages for this code segment
+			NodeList message = elementCodeseg.getElementsByTagName(TAG_LINK);
+			if (message != null && message.getLength() > 0) {
+				String messageId = XmlUtils.getNodeValue(message.item(0));
+				try {
+					int msgId = Integer.parseInt(messageId);
+					if (messages.containsKey(msgId))
+						messageText = messages.get(msgId).getTitle();
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+			
+			return new CodeSegment(id, segmentName, segmentRange, messageText, shouldBeHighlighted);
+		} catch (Exception e) {
+			return null;
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/ErrorLibraryError.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.containers;
+
+/**
+ * A class which represents one error in error library. 
+ * An error can be a panic, category, error or exception. 
+ *
+ */
+public class ErrorLibraryError {
+
+	String errorName;
+	String errorDescription;
+	public static enum ErrorType {ERROR, PANIC, CATEGORY, EXCEPTION}
+	
+	/**
+	 * Constructor
+	 * @param name error name
+	 * @param description error description
+	 */
+	public ErrorLibraryError(String name, String description) {
+		errorName = name;
+		errorDescription = description;
+	}
+	
+	/**
+	 * Constructor
+	 */
+	public ErrorLibraryError() {
+		// for empty ErrorLibraryError creation
+	}
+	
+	/**
+	 * Set name for an error
+	 * @param name error name
+	 */
+	public void SetName(String name) {
+		errorName = name;
+	}
+	
+	/**
+	 * Set description for an error.
+	 * @param description error description
+	 */
+	public void SetDescription(String description) {
+		errorDescription = description;
+	}
+	
+	/**
+	 * Adds information to an error description
+	 * @param description error description
+	 */
+	public void AddToDescription(String description) {
+		errorDescription += description;
+	}
+	
+	public String toString() {
+		return errorName;
+	}
+	
+	public String getDescription() {
+		return errorDescription;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/EventLog.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,137 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.containers;
+
+import java.util.*;
+import java.io.*;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Node;
+import org.w3c.dom.NamedNodeMap;
+
+/**
+ * An event log class. Contains a list of all events found in XML.
+ * 
+ * Event log is part of MobileCrash data, which contains 30 latest 
+ * window and key press events which occurred before the crash.
+ * 
+ * List of events example:
+ * [window][Home screen...]
+ * [key][Backspace key]
+ * [window][Home screen...]
+ * .
+ * .
+ * .
+ *
+ */
+public final class EventLog {
+	
+	// XML tags
+	public static final String TAG_EVENT = "event";
+	public static final String ATTRIBUTE_TYPE = "type";
+	public static final String TYPE_KEY = "key";
+	
+	// events list
+	private final List<String[]> logEvents;
+	
+	/**
+	 * Constructor
+	 * @param events list of events
+	 */
+	private EventLog(List<String[]> events) {
+		logEvents = events;
+	}
+	
+	public List<String[]> getLogEvents() {
+		return logEvents;
+	}
+	
+	/**
+	 * Writes events in to a buffer (e.g. a text file)
+	 * @param out where to write
+	 * @throws IOException
+	 */
+	public void writeTo(BufferedWriter out) throws IOException {
+		writeLine(out,"");
+		writeLine(out, "SYSTEM EVENT LOG:");
+		writeLine(out, "-----------------");
+		// if there are any events
+		if (logEvents != null && !logEvents.isEmpty()) {
+			int longestEventName = 0;
+			// calculate the longest event name
+			for (int i = 0; i < logEvents.size(); i++) {
+				String[] event = logEvents.get(i);
+				if (event[0].length() > longestEventName)
+					longestEventName = event[0].length();
+			}
+			// print events
+			for (int i = 0; i < logEvents.size(); i++) {
+				String[] event = logEvents.get(i);
+				String format = String.format("%%-%ds  %%s", longestEventName);
+				String line = String.format(format, event[0], event[1]);
+				writeLine(out, line);
+			}
+		}
+	}
+	
+	/**
+	 * Writes given line plus a line break.
+	 * @param out where to write
+	 * @param line what to write
+	 * @throws IOException
+	 */
+	void writeLine(BufferedWriter out, String line) throws IOException {
+		out.write(line);
+		out.newLine();
+	}
+	
+	/**
+	 * Reads events from an XML element
+	 * @param elementSegEventLog segeventlog tag
+	 * @return a created EventLog class or null
+	 */
+	public static EventLog read(Element elementSegEventLog) {
+		try {
+			List<String[]> events = new ArrayList<String[]>();
+			
+			// get all event nodes
+			NodeList children = elementSegEventLog.getChildNodes();
+			if (children != null && children.getLength() > 0) {
+				// go through all event nodes
+				for (int i = 0; i < children.getLength(); i++) {
+					Node el = children.item(i);
+					// node is event node
+					if (TAG_EVENT.equals(el.getNodeName())) {
+						String eventValue = el.getFirstChild().getNodeValue();
+						NamedNodeMap attributes = el.getAttributes();
+						// if node has attributes
+						if (attributes != null && attributes.getLength() > 0) {
+							Node typeAttribute = attributes.getNamedItem(ATTRIBUTE_TYPE);
+							String type = typeAttribute.getNodeValue();
+							events.add(new String[]{type, eventValue});
+						}
+					}
+				}
+			}
+			
+			return new EventLog(events);
+		} catch (Exception e) {
+			return null;
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Message.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,184 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.containers;
+
+import java.io.BufferedWriter;
+import java.io.IOException;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Node;
+
+import com.nokia.s60tools.crashanalyser.model.XmlUtils;
+
+/**
+ * Message class represents one xml message. A message can 
+ * be an error message, warning message or a comment.
+ *
+ */
+public final class Message {
+	
+	// XML tags
+	public static final String TAG_ID = "id";
+	public static final String TAG_TYPE = "type";
+	public static final String TAG_TITLE = "title";
+	public static final String TAG_LINE = "line";
+
+	public enum MessageTypes {ERROR, WARNING, COMMENT};
+	
+	// message data
+	private final int messageId;
+	private final String messageTitle;
+	private final String messageMessage;
+	private final MessageTypes messageType;
+	
+	/**
+	 * Constructor
+	 * @param id message id
+	 * @param title message title
+	 * @param message message text
+	 * @param type message type
+	 */
+	private Message(int id, String title, String message, MessageTypes type) {
+		messageId = id;
+		messageTitle = title;
+		messageMessage = message;
+		messageType = type;
+	}
+	
+	/**
+	 * Creates a new message with given parameters
+	 * @param id message id
+	 * @param title message title
+	 * @param message message text
+	 * @return created message
+	 */
+	public static Message newMessage(int id, String title, String message, MessageTypes type) {
+		return new Message(id, title, message, type);
+	}
+	
+	/**
+	 * Writes message into given buffer (e.g. into file)
+	 * @param out buffer to write to
+	 * @throws IOException
+	 */
+	public void writeTo(BufferedWriter out) throws IOException {
+		if (MessageTypes.WARNING.equals(messageType)) {
+			writeMessage(out, "WARNING:");
+		} else if (MessageTypes.ERROR.equals(messageType)) {
+			writeMessage(out, "ERROR:");
+		}
+	}
+	
+	void writeMessage(BufferedWriter out, String type) throws IOException {
+		writeLine(out,"");
+		writeLine(out, type);
+		writeLine(out, "--------");
+		writeLine(out, messageTitle);
+		writeLine(out, messageMessage);		
+	}
+	
+	void writeLine(BufferedWriter out, String line) throws IOException {
+		out.write(line);
+		out.newLine();
+	}
+	
+	/**
+	 * Reads and creates a message from message xml element
+	 * @param elementMessage
+	 * @return created message or null
+	 */
+	public static Message read(Element elementMessage) {
+		try {
+			// read code segment id
+			String messageId = XmlUtils.getTextValue(elementMessage, TAG_ID);
+			if (messageId == null)
+				return null;
+			
+			// convert code segment id to integer
+			int id;
+			try {
+				id = Integer.parseInt(messageId);
+			} catch (Exception e) {
+				return null;
+			}
+			
+			// read message type
+			String type = XmlUtils.getTextValue(elementMessage, TAG_TYPE);
+			if (type == null)
+				return null;
+			MessageTypes messageType = getMessageType(type);
+			
+			// get title and msg nodes
+			NodeList children = elementMessage.getChildNodes();
+			if (children == null || children.getLength() < 1)
+				return null;
+			
+			// read title and message
+			String title = "";
+			String message = "";
+			for (int i = 0; i < children.getLength(); i++) {
+				Node child = children.item(i);
+				if (TAG_TITLE.equals(child.getNodeName())) {
+					title = XmlUtils.getNodeValue(child);
+				} else if (TAG_LINE.equals(child.getNodeName())) {
+					if (!"".equals(message))
+						message += System.getProperty("line.separator");
+					message += XmlUtils.getNodeValue(child);
+				}
+			}
+			
+			if ("".equals(title) && "".equals(message))
+				return null;
+			
+			return new Message(id, title, message, messageType);
+		} catch (Exception e) {
+			return null;
+		}
+	}
+	
+	/**
+	 * Gets the message type from given string
+	 * @param type e.g. "Error" or "Warning"
+	 * @return message type
+	 */
+	static MessageTypes getMessageType(String type) {
+		if ("Error".equals(type))
+			return MessageTypes.ERROR;
+		else if ("Warning".equals(type))
+			return MessageTypes.WARNING;
+		else
+			return MessageTypes.COMMENT;
+	}
+	
+	public int getId() {
+		return messageId;
+	}
+
+	public MessageTypes getMessageType() {
+		return messageType;
+	}
+	
+	public String getTitle() {
+		return messageTitle;
+	}
+	
+	public String getMessage() {
+		return messageMessage;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Process.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,255 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.containers;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.NamedNodeMap;
+import java.io.*;
+import com.nokia.s60tools.crashanalyser.model.XmlUtils;
+import java.util.*;
+
+/**
+ * A process class. Contains all process information.
+ * This class owns this process' threads and code segments 
+ *
+ */
+public final class Process {
+	
+	// XML tags
+	public static final String TAG_ID = "id";
+	public static final String TAG_NAME = "name";
+	public static final String TAG_UID1 = "uid1";
+	public static final String TAG_UID2 = "uid2";
+	public static final String TAG_UID3 = "uid3";
+	public static final String TAG_SID = "sid";
+	public static final String TAG_LINK = "link";
+	public static final String ATTRIBUTE_SEG = "seg";
+	public static final String SEGMENT_THREADS = "seg_threads";
+	public static final String SEGMENT_CODESEGS = "seg_codesegs";
+	
+	public static enum StackItems {ALL, SYMBOLS, ACCURATE};
+	
+	static final String FORMAT = "%-13s: %s";
+
+	// process data
+	private final int processId;
+	private final String processName;
+	private final String processUid1;
+	private final String processUid2;
+	private final String processUid3;
+	private final String processSid;
+	private final List<Thread> processThreads;
+	private final List<CodeSegment> processCodeSegments;
+	
+	/**
+	 * Constructor 
+	 * @param id process id
+	 * @param name process name
+	 * @param uid1 process UID1
+	 * @param uid2 process UID2
+	 * @param uid3 process UID3
+	 * @param sid process SID
+	 * @param threads threads of the process
+	 * @param codeSegments code segments of the process
+	 */
+	private Process(int id, String name, String uid1, String uid2, String uid3, String sid,
+					List<Thread> threads, List<CodeSegment> codeSegments) {
+		processId = id;
+		processName = name;
+		processUid1 = uid1;
+		processUid2 = uid2;
+		processUid3 = uid3;
+		processSid = sid;
+		processThreads = threads;
+		processCodeSegments = codeSegments;
+	}
+	
+	public int getId() {
+		return processId;
+	}
+	
+	public String getName() {
+		return processName;
+	}
+	
+	public List<CodeSegment> getCodeSegments() {
+		return processCodeSegments;
+	}
+	
+	/**
+	 * Writes process data into given buffer (i.e text file)
+	 * @param out buffer to write to
+	 * @param stackItems
+	 * @param html defines whether html format should be written
+	 * @throws IOException
+	 */
+	public void writeTo(BufferedWriter out, StackItems stackItems, boolean html) throws IOException {
+		
+		// write basic process data
+		writeLine(out,"");
+		writeLine(out, "PROCESS:");
+		writeLine(out, "--------");
+		writeLine(out, "Process Name", processName);
+		writeLine(out, "Uid1", processUid1);
+		writeLine(out, "Uid2", processUid2);
+		writeLine(out, "Uid3", processUid3);
+		writeLine(out, "Sid", processSid);
+		writeLine(out, "");
+		
+		// write code segments of the process
+		if (processCodeSegments != null && !processCodeSegments.isEmpty()) {
+			writeLine(out, "CODE SEGMENTS:");
+			writeLine(out, "--------------");
+			for (int i = 0; i < processCodeSegments.size(); i++) {
+				CodeSegment codeSegment = processCodeSegments.get(i);
+				codeSegment.writeTo(out);
+			}
+			writeLine(out, "");
+		}
+
+		// write threads of the process
+		if (processThreads != null && !processThreads.isEmpty()) {
+			for (int i = 0; i < processThreads.size(); i++) {
+				Thread thread = processThreads.get(i);
+				thread.writeTo(out, stackItems, html);
+				writeLine(out, "");
+			}
+			writeLine(out, "");
+		}
+	}
+	
+	void writeLine(BufferedWriter out, String line) throws IOException {
+		out.write(line);
+		out.newLine();
+	}
+
+	void writeLine(BufferedWriter out, String header, String value) throws IOException {
+		if (!"".equals(value)) {
+			out.write(String.format(FORMAT, header, value));
+			out.newLine();
+		}
+	}
+
+	/**
+	 * Reads and creates a process from process xml element
+	 * @param elementProcess
+	 * @param threads
+	 * @param codeSegments
+	 * @return created process or null
+	 */
+	public static Process read(Element elementProcess, 
+								Map<Integer, Thread> threads,
+								Map<Integer, CodeSegment> codeSegments) {
+		try {
+			if (threads == null || threads.isEmpty())
+				return null;
+			
+			// read process id
+			String processId = XmlUtils.getTextValue(elementProcess, TAG_ID);
+			if (processId == null)
+				return null;
+			
+			// convert process id to integer
+			int id = Integer.parseInt(processId);
+			
+			// read process name
+			String  processName = XmlUtils.getTextValue(elementProcess, TAG_NAME);
+			if (processName == null)
+				return null;
+			
+			// read UID1 if exists
+			String uid1 = XmlUtils.getTextValue(elementProcess, TAG_UID1);
+			if (uid1 == null)
+				uid1 = "";
+			
+			// read UID2 if exists
+			String uid2 = XmlUtils.getTextValue(elementProcess, TAG_UID2);
+			if (uid2 == null)
+				uid2 = "";
+	
+			// read UID# if exists
+			String uid3 = XmlUtils.getTextValue(elementProcess, TAG_UID3);
+			if (uid3 == null)
+				uid3 = "";
+	
+			// read SID if exists
+			String sid = XmlUtils.getTextValue(elementProcess, TAG_SID);
+			if (sid == null)
+				sid = "";
+			
+			// get link nodes for thread and codesegment ids
+			NodeList nl = elementProcess.getElementsByTagName(TAG_LINK);
+			if (nl == null || nl.getLength() < 1)
+				return null;
+
+			List<Thread> processThreads = new ArrayList<Thread>();
+			List<CodeSegment> processCodesegments = new ArrayList<CodeSegment>();
+
+			// read threads and code segments
+			for (int i = 0; i < nl.getLength(); i++) {
+				Node node = nl.item(i);
+				String nodeValue = XmlUtils.getNodeValue(node);
+				NamedNodeMap attributes = node.getAttributes();
+				if (attributes != null && attributes.getLength() > 0) {
+					Node seg = attributes.getNamedItem(ATTRIBUTE_SEG);
+					// thread id
+					if (SEGMENT_THREADS.equals(XmlUtils.getNodeValue(seg))) {
+						int tId = Integer.parseInt(nodeValue);
+						if (threads.containsKey(tId))
+							processThreads.add(threads.get(tId));
+					// codesegment id
+					} else if (SEGMENT_CODESEGS.equals(XmlUtils.getNodeValue(seg))) {
+						int segmentId = Integer.parseInt(nodeValue);
+						if (codeSegments.containsKey(segmentId))
+							processCodesegments.add(codeSegments.get(segmentId));
+					}
+				}
+			}
+			
+			if (processThreads.isEmpty())
+				return null;
+			
+			return new Process(id, processName, uid1, uid2, uid3, sid, processThreads, processCodesegments);
+			
+		} catch (Exception e) {
+			return null;
+		}
+	}
+	
+	/**
+	 * Returns the first thread of this process
+	 * @return first thread of this process or null
+	 */
+	public Thread getFirstThread() {
+		Thread thread = null;
+		if (processThreads != null && !processThreads.isEmpty())
+			thread = processThreads.get(0);
+			
+		return thread;
+	}
+	
+	/**
+	 * Returns the threads of this process
+	 * @return threads of this process or null
+	 */
+	public List<Thread> getThreads() {
+		return processThreads;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Register.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,168 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.containers;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Node;
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.util.*;
+import com.nokia.s60tools.crashanalyser.model.XmlUtils;
+
+/**
+ * A class for register information.
+ *
+ */
+public final class Register {
+
+	// XML tags
+	public static final String TAG_ID = "id";
+	public static final String TAG_NAME = "name";
+	public static final String TAG_VALUE = "value";
+	public static final String TAG_LINK = "link";
+	public static final String ATTRIBUTE_SEG = "seg";
+	public static final String SEGMENT_SYMBOLS = "seg_symbols";
+	public static final String SEGMENT_MESSAGES = "seg_messages";
+	
+	static final String FORMAT = "%-10s %-10s  %s";
+
+	// register data
+	private final int registerId;
+	private final String registerName;
+	private final String registerValue;
+	private final String registerSymbol;
+	private final String registerComments;
+	
+	/**
+	 * Constructor
+	 * @param id register id
+	 * @param name register name
+	 * @param value register value
+	 * @param symbol register symbol information
+	 * @param comments registers comments
+	 */
+	private Register(int id, String name, String value, String symbol, String comments) {
+		registerId = id;
+		registerName = name;
+		registerValue = value;
+		registerSymbol = symbol;
+		registerComments = comments;
+	}
+	
+	public int getId() {
+		return registerId;
+	}
+	
+	public String getName() {
+		return registerName;
+	}
+	
+	public String getValue() {
+		return registerValue;
+	}
+	
+	public String getSymbol() {
+		return registerSymbol;
+	}
+	
+	public String getComments() {
+		return registerComments;
+	}
+	
+	/**
+	 * Write register into given buffer (i.e. text file)
+	 * @param out buffer to write to
+	 * @throws IOException
+	 */
+	public void writeTo(BufferedWriter out) throws IOException {
+		if (!"".equals(registerName)) {
+			if ("".equals(registerComments))
+				writeLine(out, String.format(FORMAT, registerName, registerValue, registerSymbol));
+			else
+				writeLine(out, String.format(FORMAT, registerName, registerValue, registerSymbol + " (" + registerComments + ")"));
+		}
+	}
+	
+	void writeLine(BufferedWriter out, String line) throws IOException {
+		out.write(line);
+		out.newLine();
+	}
+	
+	/**
+	 * Reads and creates a register from register xml element.
+	 * @param elementRegister
+	 * @param symbols
+	 * @param messages
+	 * @return created register or null
+	 */
+	public static Register read(Element elementRegister, 
+								Map<Integer, Symbol> symbols,
+								Map<Integer, Message> messages) {
+		try {
+			// read register id
+			String registerId = XmlUtils.getTextValue(elementRegister, TAG_ID);
+			if (registerId == null)
+				return null;
+			
+			int regId = Integer.parseInt(registerId);
+
+			// read register name
+			String registerName = XmlUtils.getTextValue(elementRegister, TAG_NAME);
+			if (registerName == null)
+				return null;
+			
+			// read register value
+			String registerValue = XmlUtils.getTextValue(elementRegister, TAG_VALUE);
+			if (registerValue == null)
+				return null;
+			
+			String symbol = "";
+			String comments = "";
+			
+			// see if register has a symbol and/or message
+			NodeList nl = elementRegister.getElementsByTagName(TAG_LINK);
+			if (nl != null && nl.getLength() > 0) {
+				for (int i = 0; i < nl.getLength(); i++) {
+					Node linkNode = nl.item(i);
+					String nodeValue = XmlUtils.getNodeValue(linkNode);
+					NamedNodeMap attributes = linkNode.getAttributes();
+					if (attributes != null && attributes.getLength() > 0) {
+						Node seg = attributes.getNamedItem(ATTRIBUTE_SEG);
+						// symbol id
+						if (SEGMENT_SYMBOLS.equals(XmlUtils.getNodeValue(seg))) {
+							int sId = Integer.parseInt(nodeValue);
+							if (symbols.containsKey(sId))
+								symbol = symbols.get(sId).getName();
+						// message id
+						} else if (SEGMENT_MESSAGES.equals(XmlUtils.getNodeValue(seg))) {
+							int mId = Integer.parseInt(nodeValue);
+							if (messages.containsKey(mId))
+								comments = messages.get(mId).getMessage();
+						}
+					}
+				}
+			}
+			
+			return new Register(regId, registerName, registerValue, symbol, comments);
+		} catch (Exception e) {
+			return null;
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/RegisterBit.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,194 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.containers;
+
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import com.nokia.s60tools.crashanalyser.model.XmlUtils;
+import java.util.*;
+
+/**
+ * A register bit class. Contains information about a single
+ * bit. Used e.g. in Crash Visualiser's CPSR details group. 
+ * One of these bits represents a single bit-textbox in CPSR 
+ * details UI group.
+ *
+ */
+public final class RegisterBit {
+	
+	// XML tags
+	final static String ATTRIBUTE_INDEX = "index";
+	final static String ATTRIBUTE_VALUE = "value";
+	final static String ATTRIBUTE_CATEGORY = "category";
+	final static String ATTRIBUTE_INTERPRETATION = "interpretation";
+	final static String ATTRIBUTE_START = "start";
+	final static String ATTRIBUTE_END = "end";
+	final static String ATTRIBUTE_CHAR = "char";
+	final static String ATTRIBUTE_TYPE = "type";
+
+	// Data
+	private final int registerIndex;
+	private final String registerValue;
+	private final String registerCategory;
+	private final String registerInterpretation;
+	private String registerChar;
+	
+	/**
+	 * Constructor
+	 * @param index bit index
+	 * @param value bit value
+	 * @param category bit category
+	 * @param interpretation bit interpretation
+	 * @param regChar bit register character
+	 */
+	private RegisterBit(int index, String value, String category, String interpretation, String regChar) {
+		registerIndex = index;
+		registerValue = value;
+		registerCategory = category;
+		registerInterpretation = interpretation;
+		registerChar = regChar;
+	}
+	
+	/**
+	 * Constructor
+	 * @param index bit index
+	 * @param value bit value
+	 * @param category bit category
+	 * @param interpretation bit interpretation
+	 * @param reserved bit is of reserved type
+	 */
+	private RegisterBit(int index, String value, String category, String interpretation, boolean reserved) {
+		registerIndex = index;
+		registerValue = value;
+		registerCategory = category;
+		registerInterpretation = interpretation;
+		registerChar = value;
+		if (reserved)
+			registerChar = "-";
+	}
+
+	public int getIndex() {
+		return registerIndex;
+	}
+	
+	public String getValue() {
+		return registerValue;
+	}
+	
+	public String getCategory() {
+		return registerCategory;
+	}
+	
+	public String getInterpretation() {
+		return registerInterpretation;
+	}
+	
+	public String getRegisterChar() {
+		return registerChar;
+	}
+	
+	/**
+	 * Reads and creates bit from bit xml node
+	 * @param bit
+	 * @return created bit or null
+	 */
+	public static RegisterBit readFromBit(Node bit) {
+		NamedNodeMap attributes = bit.getAttributes();
+		if (attributes == null || attributes.getLength() < 1) 
+			return null;
+		
+		String index = XmlUtils.getNodeValue(attributes.getNamedItem(ATTRIBUTE_INDEX));
+		if (index == null)
+			return null;
+		
+		int i;
+		try {
+			i = Integer.parseInt(index);
+		} catch (Exception e) {
+			return null;
+		}
+		
+		String value = XmlUtils.getNodeValue(attributes.getNamedItem(ATTRIBUTE_VALUE));
+		if (value == null)
+			return null;
+
+		String category = XmlUtils.getNodeValue(attributes.getNamedItem(ATTRIBUTE_CATEGORY));
+		if (category == null)
+			return null;
+
+		String interpretation = XmlUtils.getNodeValue(attributes.getNamedItem(ATTRIBUTE_INTERPRETATION));
+		if (interpretation == null)
+			interpretation = "";
+		
+		String regChar = XmlUtils.getNodeValue(attributes.getNamedItem(ATTRIBUTE_CHAR));
+		if (regChar == null)
+			regChar = "";
+
+		return new RegisterBit(i, value, category, interpretation, regChar);
+	}
+	
+	/**
+	 * Reads and creates a range of bits from range xml node
+	 * @param range
+	 * @return list of created bits or null
+	 */
+	public static List<RegisterBit> readFromRange(Node range) {
+		NamedNodeMap attributes = range.getAttributes();
+		if (attributes == null || attributes.getLength() < 1) 
+			return null;
+
+		String start = XmlUtils.getNodeValue(attributes.getNamedItem(ATTRIBUTE_START));
+		if (start == null)
+			return null;
+		
+		String end = XmlUtils.getNodeValue(attributes.getNamedItem(ATTRIBUTE_END));
+		if (end == null)
+			return null;
+		
+		String value = XmlUtils.getNodeValue(attributes.getNamedItem(ATTRIBUTE_VALUE));
+		if (value == null)
+			return null;
+
+		String category = XmlUtils.getNodeValue(attributes.getNamedItem(ATTRIBUTE_CATEGORY));
+		if (category == null)
+			return null;
+
+		String interpretation = XmlUtils.getNodeValue(attributes.getNamedItem(ATTRIBUTE_INTERPRETATION));
+		if (interpretation == null)
+			interpretation = "";
+		
+		boolean reserved = false;
+		String type = XmlUtils.getNodeValue(attributes.getNamedItem(ATTRIBUTE_TYPE));
+		if (type != null && !"".equals(type))
+			reserved = true;
+
+		List<RegisterBit> bits = new ArrayList<RegisterBit>();
+		
+		try {
+			int s = Integer.parseInt(start);
+			int e = Integer.parseInt(end);
+			for (int i = 0;s <= e; s++, i++) {
+				bits.add(new RegisterBit(s,value.substring(i,i+1),category,interpretation,reserved));
+			}
+		} catch (Exception e) {
+			return null;
+		}
+		
+		return bits;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/RegisterDetails.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.containers;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Node;
+import org.w3c.dom.NamedNodeMap;
+import java.util.*;
+import com.nokia.s60tools.crashanalyser.model.XmlUtils;
+
+/**
+ * 
+ *
+ */
+public final class RegisterDetails {
+	
+	// XML tags
+	final static String TAG_DESCRIPTION = "description";
+	final static String TAG_ENDIAN = "endian";
+	final static String TAG_BIT_RANGE = "bit_range";
+	final static String TAG_BIT = "bit";
+	final static String ATTRIBUTE_BIT0 = "bit0";
+	
+	// Data
+	private final String registerDescription;
+	private final List<RegisterBit> registerBits;
+	private final boolean bitsStartFromRight;
+	
+	/**
+	 * Constructor
+	 * @param description register description
+	 * @param bits list of bits
+	 * @param startFromRight bits start from right (true) or from left (false), endianess issue
+	 */
+	private RegisterDetails(String description, List<RegisterBit> bits, boolean startFromRight) {
+		registerDescription = description;
+		registerBits = bits;
+		bitsStartFromRight = startFromRight;
+	}
+	
+	public String getDescription() {
+		return registerDescription;
+	}
+	
+	public boolean bitsStartFromRight() {
+		return bitsStartFromRight;
+	}
+	
+	public RegisterBit getBit(int index) {
+		RegisterBit bit = null;
+		for (int i = 0; i < registerBits.size(); i++) {
+			if (registerBits.get(i).getIndex() == index) {
+				bit = registerBits.get(i);
+				break;
+			}
+		}
+		return bit;
+	}
+	
+	/**
+	 * Reads and creates a register details from vientry xml element
+	 * @param elementViEntry
+	 * @return created register details
+	 */
+	public static RegisterDetails read(Element elementViEntry) {
+		String description = XmlUtils.getTextValue(elementViEntry, TAG_DESCRIPTION);
+		if (description == null)
+			return null;
+		
+		boolean bitsStartFromRight = true;
+		NodeList endian = elementViEntry.getElementsByTagName(TAG_ENDIAN);
+		if (endian != null && endian.getLength() > 0) {
+			NamedNodeMap attributes = endian.item(0).getAttributes();
+			if (attributes != null && attributes.getLength() > 0) {
+				Node bit0 = attributes.getNamedItem(ATTRIBUTE_BIT0);
+				String bitStart = XmlUtils.getNodeValue(bit0);
+				if (bitStart != null && "left".equals(bitStart))
+					bitsStartFromRight = false;
+			}
+		}
+
+		List<RegisterBit> registerBits = new ArrayList<RegisterBit>();
+
+		// read bit ranges
+		NodeList bitRanges = elementViEntry.getElementsByTagName(TAG_BIT_RANGE);
+		if (bitRanges != null && bitRanges.getLength() > 0) {
+			for (int i = 0; i < bitRanges.getLength(); i++) {
+				List<RegisterBit> regBits = RegisterBit.readFromRange(bitRanges.item(i));
+				if (regBits == null || regBits.size() < 1)
+					return null;
+				registerBits.addAll(regBits);
+			}
+		}
+		
+		// read bits
+		NodeList bits = elementViEntry.getElementsByTagName(TAG_BIT);
+		if (bits != null && bits.getLength() > 0) {
+			for (int i = 0; i < bits.getLength(); i++) {
+				RegisterBit regBit = RegisterBit.readFromBit(bits.item(i));
+				if (regBit == null)
+					return null;
+				registerBits.add(regBit);
+			}
+		}
+
+		return new RegisterDetails(description, registerBits, bitsStartFromRight);
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/RegisterSet.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,198 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.containers;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import com.nokia.s60tools.crashanalyser.model.XmlUtils;
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.util.*;
+
+/**
+ * A register set contains all registers.
+ *
+ */
+public final class RegisterSet {
+
+	// XML tags
+	public static final String TAG_ID = "id";
+	public static final String TAG_TYPE = "type";
+	public static final String TAG_NAME = "name";
+	public static final String TAG_REGISTER = "register";
+
+	// data
+	private final int setId;
+	private final String setType;
+	private final String setName;
+	private final boolean setContainsCPSR;
+	private final String linkRegisterValue;
+	private final String stackPointerValue;
+	private final String programCounterValue;
+	private final List<Register> setRegisters;
+	
+	/**
+	 * Constructor
+	 * @param id register set id
+	 * @param type register set type
+	 * @param name register set name
+	 * @param registers list of registers for this register set
+	 * @param containsCPSR does this register set contain CPSR register
+	 * @param linkRegister link register value
+	 * @param stackPointer stack pointer value
+	 * @param programCounter program counter value
+	 */
+	private RegisterSet(int id, String type, String name, List<Register> registers, boolean containsCPSR,
+						String linkRegister, String stackPointer, String programCounter) {
+		setId = id;
+		setType = type;
+		setName = name;
+		setRegisters = registers;
+		setContainsCPSR = containsCPSR;
+		linkRegisterValue = linkRegister;
+		stackPointerValue = stackPointer;
+		programCounterValue = programCounter;
+	}
+	
+	public int getId() {
+		return setId;
+	}
+	
+	public String getType() {
+		return setType;
+	}
+	
+	public String getName() {
+		return setName;
+	}
+	
+	public List<Register> getRegisters() {
+		return setRegisters;
+	}
+	
+	public boolean containsCPSR() {
+		return setContainsCPSR;
+	}
+	
+	public String getLinkRegister() {
+		return linkRegisterValue;
+	}
+	
+	public String getStackPointer() {
+		return stackPointerValue;
+	}
+	
+	public String getProgramCounter() {
+		return programCounterValue;
+	}
+	
+	/**
+	 * Writes registers into give buffer (i.e. text file)
+	 * @param out buffer to write to
+	 * @throws IOException
+	 */
+	public void writeTo(BufferedWriter out) throws IOException {
+		if (!"".equals(setName)) {
+			writeLine(out, "Register Name : " + setName);
+			if (setRegisters != null && !setRegisters.isEmpty()) {
+				for (int i = 0; i < setRegisters.size(); i++) {
+					Register register = setRegisters.get(i);
+					register.writeTo(out);
+				}
+			}
+		}
+	}
+	
+	void writeLine(BufferedWriter out, String line) throws IOException {
+		out.write(line);
+		out.newLine();
+	}
+
+	/**
+	 * Reads and creates a register set from register set xml element
+	 * @param elementRegisterSet
+	 * @param symbols
+	 * @param messages
+	 * @return created register set
+	 */
+	public static RegisterSet read(Element elementRegisterSet, 
+									Map<Integer, Symbol> symbols,
+									Map<Integer, Message> messages) {
+		try {
+			// read register set id
+			String setId = XmlUtils.getTextValue(elementRegisterSet, TAG_ID);
+			if (setId == null)
+				return null;
+			
+			// convert id to integer
+			int id;
+			try {
+				id = Integer.parseInt(setId);
+			} catch (Exception e) {
+				return null;
+			}
+			
+			// read register set type
+			String type =  XmlUtils.getTextValue(elementRegisterSet, TAG_TYPE);
+			if (type == null)
+				type = "";
+			
+			// read register set name
+			String name = XmlUtils.getTextValue(elementRegisterSet, TAG_NAME);
+			if (name == null)
+				return null;
+			
+			List<Register> registers = new ArrayList<Register>();
+			
+			boolean containsCPSR = false;
+			
+			String stackPointer = "";
+			String linkRegister = "";
+			String programCounter = "";
+			
+			// get register nodes
+			NodeList registerNodes = elementRegisterSet.getElementsByTagName(TAG_REGISTER);
+			if (registerNodes != null && registerNodes.getLength() > 0) {
+				// go through all registers
+				for (int i = 0; i < registerNodes.getLength(); i++) {
+					Element registerElement = (Element)registerNodes.item(i);
+					Register register = Register.read(registerElement, symbols, messages);
+					if (register != null) {
+						registers.add(register);
+						containsCPSR = "CPSR".equals(register.getName());
+						// try to read stack pointer value
+						if (register.getName().contains("R13")) {
+							stackPointer = register.getValue() + " " + register.getSymbol();
+						// try to read link register value
+						} else if (register.getName().contains("R14")) {
+							linkRegister = register.getValue() + " " + register.getSymbol();
+						// try to read program counter value
+						} else if (register.getName().contains("R15")) {
+							programCounter = register.getValue() + " " + register.getSymbol();
+						}
+					}
+				}
+			}
+			
+			return new RegisterSet(id, type, name, registers, containsCPSR, 
+									linkRegister, stackPointer, programCounter);
+		} catch (Exception e) {
+			return null;
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Stack.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,242 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.containers;
+
+import java.io.BufferedWriter;
+import java.io.IOException;
+import com.nokia.s60tools.crashanalyser.containers.Process.StackItems;
+import com.nokia.s60tools.crashanalyser.model.XmlUtils;
+import org.w3c.dom.*;
+
+import java.util.*;
+
+/**
+ * Contains stack information and all stack entries for 
+ * this stack. 
+ *
+ */
+public final class Stack {
+	
+	// XML tags
+	public static final String TAG_ID = "id";
+	public static final String TAG_RANGE = "range";
+	public static final String TAG_LINK = "link";
+	public static final String TAG_STACK_ENTRY = "stack_entry";
+	public static final String ATTRIBUTE_SEG = "seg";
+	public static final String SEGMENT_REGISTERS = "seg_registers";
+	
+	static final String FORMAT = "%-13s: %s";
+
+	// Data
+	private final int stackId;
+	private final String stackType;
+	private final String stackRange;
+	private final String stackLinkRegister;
+	private final String stackStackPointer;
+	private final String stackProgramCounter;
+	private final boolean stackContainsAccurateStackEntries;
+	private final boolean stackRegisterContainsCpsr;
+	private final List<StackEntry> stackData;
+	
+	/**
+	 * Constructor
+	 * @param id stack id
+	 * @param type stack type
+	 * @param range stack range
+	 * @param linkRegister link register value
+	 * @param stackPointer stack pointer value
+	 * @param programCounter program counter value
+	 * @param containsAccurateStackEntries defines if this stack was constructed with accurate (true)
+	 * or heuristic (false) method
+	 * @param data stack entries
+	 * @param cpsrStack defines whether this stack contains cpsr register
+	 */
+	private Stack(int id, String type, String range, String linkRegister, String stackPointer, 
+					String programCounter, boolean containsAccurateStackEntries, List<StackEntry> data,
+					boolean cpsrStack) {
+		stackId = id;
+		stackType = type;
+		stackRange = range;
+		stackLinkRegister = linkRegister;
+		stackStackPointer = stackPointer;
+		stackProgramCounter = programCounter;
+		stackContainsAccurateStackEntries = containsAccurateStackEntries;
+		stackData = data;
+		stackRegisterContainsCpsr = cpsrStack;
+	}
+	
+	public int getId() {
+		return stackId;
+	}
+	
+	public String getStackType() {
+		return stackType;
+	}
+	
+	public List<StackEntry> getStackEntries() {
+		return stackData;
+	}
+	
+	public boolean containsAccurateStackEntries() {
+		return stackContainsAccurateStackEntries;
+	}
+	
+	public boolean stackRegisterContainsCpsr() {
+		return stackRegisterContainsCpsr;
+	}
+	
+	public String getProgramCounter() {
+		return stackProgramCounter;
+	}
+	
+	public String getStackPointer() {
+		return stackStackPointer;
+	}
+	
+	public String getLinkRegister() {
+		return stackLinkRegister;
+	}
+	
+	/**
+	 * Writes stack data into given buffer (i.e. text file)
+	 * @param out buffer to write to
+	 * @param stackItems
+	 * @param html write in html format
+	 * @throws IOException
+	 */
+	public void writeTo(BufferedWriter out, StackItems stackItems, boolean html) throws IOException {
+		writeLine(out,"");
+		writeLine(out, "STACK:");
+		writeLine(out, "--------");
+		writeLine(out, "Stack Type", stackType);
+		writeLine(out, "Stack Range", stackRange);
+		
+		if (stackData != null && !stackData.isEmpty()) {
+			writeLine(out, "");
+			writeLine(out, "**********************************************");
+			for (int i = 0; i < stackData.size(); i++) {
+				StackEntry entry = stackData.get(i);
+				if (!entry.registerBased())
+					entry.writeTo(out, stackItems, this, html);
+			}
+			writeLine(out, "**********************************************");
+		}
+	}
+
+	void writeLine(BufferedWriter out, String header, String value) throws IOException {
+		if (!"".equals(value)) {
+			out.write(String.format(FORMAT, header, value));
+			out.newLine();
+		}
+	}
+
+	void writeLine(BufferedWriter out, String line) throws IOException {
+		out.write(line);
+		out.newLine();
+	}
+
+	/**
+	 * Reads and creates stack from given stack xml element
+	 * @param elementThreadStack
+	 * @param registerSets
+	 * @param allRegisters
+	 * @param symbols
+	 * @return created stack
+	 */
+	public static Stack read(Element elementThreadStack, 
+								Map<Integer, RegisterSet> registerSets,
+								Map<Integer, Register> allRegisters,
+								Map<Integer, Symbol> symbols) {
+		try {
+			// read stack id
+			String stackId = XmlUtils.getTextValue(elementThreadStack, TAG_ID);
+			if (stackId == null)
+				return null;
+			
+			// convert stack id to integer
+			int id = Integer.parseInt(stackId);
+			
+			RegisterSet regSet = null;
+			// 
+			NodeList nl = elementThreadStack.getElementsByTagName(TAG_LINK);
+			if (nl != null && nl.getLength() > 0) {
+				for (int i = 0; i < nl.getLength(); i++) {
+					Node linkNode = nl.item(i);
+					String nodeValue = XmlUtils.getNodeValue(linkNode);
+					NamedNodeMap attributes = linkNode.getAttributes();
+					if (attributes != null && attributes.getLength() > 0) {
+						Node seg = attributes.getNamedItem(ATTRIBUTE_SEG);
+						// symbol id
+						if (SEGMENT_REGISTERS.equals(XmlUtils.getNodeValue(seg))) {
+							int regSetId = Integer.parseInt(nodeValue);
+							if (!registerSets.containsKey(regSetId))
+								return null;
+							regSet = registerSets.get(regSetId);
+							break;
+						}
+					}
+				}
+			}			
+			
+			if (regSet == null)
+				return null;
+
+			String type = regSet.getName();
+			boolean cpsrStack = regSet.containsCPSR();
+			String linkRegister = regSet.getLinkRegister();
+			String stackPointer = regSet.getStackPointer();
+			String programCounter = regSet.getProgramCounter();
+			
+			// read range if exists (e.g. 00402000-00407000)
+			String range = XmlUtils.getTextValue(elementThreadStack, TAG_RANGE);
+			if (range == null)
+				range = "";
+			
+			// read stack entries
+			List<StackEntry> entries = null;
+			NodeList stackEntries = elementThreadStack.getElementsByTagName(TAG_STACK_ENTRY);
+			if (stackEntries != null && stackEntries.getLength() > 0) {
+				for (int i = 0; i < stackEntries.getLength(); i++) {
+					StackEntry entry = StackEntry.read((Element)stackEntries.item(i), symbols, allRegisters);
+					if (entry != null) {
+						if (entries == null)
+							entries = new ArrayList<StackEntry>();
+						entries.add(entry);
+					}
+				}
+			}
+			
+			// see if this stack contains any accurate stack entries
+			boolean containsAccurateStackEntries = false;
+			if (entries != null && !entries.isEmpty()) {
+				for (int i = 0; i < entries.size(); i++) {
+					StackEntry entry = entries.get(i);
+					if (entry.accurate()) {
+						containsAccurateStackEntries = true;
+						break;
+					}
+				}
+			}
+			
+			return new Stack(id, type, range, linkRegister, stackPointer, programCounter,
+								containsAccurateStackEntries, entries, cpsrStack);
+		} catch (Exception e) {
+			return null;
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/StackEntry.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,291 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.containers;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import com.nokia.s60tools.crashanalyser.containers.Process.StackItems;
+import com.nokia.s60tools.crashanalyser.model.XmlUtils;
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.util.*;
+
+/**
+ * Represents one entry in a stack. 
+ *
+ */
+public final class StackEntry {
+	
+	// XML tags
+	public static final String TAG_ADDRESS = "address";
+	public static final String TAG_VALUE = "value";
+	public static final String TAG_OFFSET = "offset";
+	public static final String TAG_TEXT = "text";
+	public static final String TAG_ACCURATE = "accurate";
+	public static final String TAG_LINK = "link";
+	public static final String TAG_OUTSIDE_STACK_BOUNDS = "outside_current_stack_pointer_range";
+	public static final String TAG_CURRENT_STACK_POINTER = "current_stack_pointer";
+	public static final String ATTRIBUTE_SEG = "seg";
+	public static final String SEGMENT_SYMBOLS = "seg_symbols";
+	public static final String SEGMENT_REGISTERS = "seg_registers";
+	
+	static final String FORMAT = "%-10s  %-10s  %-6s  %-6s  %s  %s";
+
+	// Data
+	private final String stackEntryAddress;
+	private final String stackEntryValue;
+	private final String stackEntrySymbol;
+	private final String stackEntryObject;
+	private final String stackEntryOffset;
+	private final String stackEntryText;
+	private final String stackEntrySource;
+	private final String stackEntryCodeSegmentName; 
+	private final boolean outsideStackBounds;
+	private final boolean currentStackPointer;
+	private final boolean accurate;
+	private final boolean xipSymbol;
+	private final boolean registerBased;
+	
+	private StackEntry(String address, String value, String symbol, String object, String offset, String text, String source,
+						String codeSegmentName, boolean outsideSB, boolean currentSP, boolean isAccurate, boolean xip, boolean register) {
+		stackEntryAddress = address;
+		stackEntryValue = value;
+		stackEntrySymbol = symbol;
+		stackEntryObject = object;
+		stackEntryOffset = offset;
+		stackEntryText = text;
+		stackEntrySource = source;
+		stackEntryCodeSegmentName = codeSegmentName;
+		outsideStackBounds = outsideSB;
+		currentStackPointer = currentSP;
+		accurate = isAccurate;
+		xipSymbol = xip;
+		registerBased = register;
+	}
+	
+	public String getAddress() {
+		return stackEntryAddress;
+	}
+	
+	public String getValue() {
+		return stackEntryValue;
+	}
+	
+	public String getSymbol() {
+		return stackEntrySymbol;
+	}
+	
+	public String getObject() {
+		return stackEntryObject;
+	}
+	
+	public String getOffset() {
+		return stackEntryOffset;
+	}
+	
+	public String getText() {
+		return stackEntryText;
+	}
+	
+	public String getSource() {
+		return stackEntrySource;
+	}
+	
+	public boolean outsideStackBounds() {
+		return outsideStackBounds;
+	}
+	
+	public boolean currentStackPointer() {
+		return currentStackPointer;
+	}
+	
+	public boolean accurate() {
+		return accurate;
+	}
+	
+	public boolean xip() {
+		return xipSymbol;
+	}
+	
+	public boolean registerBased() {
+		return registerBased;
+	}
+	
+	public String getCodeSegmentName() {
+		return stackEntryCodeSegmentName;
+	}
+	
+	@Override
+	public String toString() {
+		return stackEntrySource;
+	}	
+	
+	/**
+	 * Writes stack item into given buffer (i.e. text file)
+	 * @param out
+	 * @param stackItems
+	 * @param stack
+	 * @param html
+	 * @throws IOException
+	 */
+	public void writeTo(BufferedWriter out, StackItems stackItems, Stack stack, boolean html) throws IOException {
+		if (currentStackPointer) {
+			writeLine(out, "");
+			if (html)
+				writeLine(out, "</pre><a name=\"STACKPOINTER\"><h3><<<<<<<<<< CURRENT STACK POINTER >>>>>>>>>></h3></a><pre>");
+			else
+				writeLine(out, "<<<<<<<<<< CURRENT STACK POINTER >>>>>>>>>>");
+			writeLine(out, "");
+			writeLine(out, String.format(FORMAT, stackEntryAddress, 
+					 stackEntryValue,
+					 stackEntryText,
+					 stackEntryOffset,
+					 stackEntryObject,
+					 stackEntrySymbol));
+
+			if (!"".equals(stack.getLinkRegister()) || 
+				!"".equals(stack.getStackPointer()) || 
+				!"".equals(stack.getProgramCounter())) {
+				writeLine(out, "");
+				if (!"".equals(stack.getLinkRegister())) {
+					writeLine(out, "LR :" + stack.getLinkRegister());
+				}
+				if (!"".equals(stack.getProgramCounter())) {
+					writeLine(out, "PC :" + stack.getProgramCounter());
+				}
+				if (!"".equals(stack.getStackPointer())) {
+					writeLine(out, "SP :" + stack.getStackPointer());
+				}
+			}
+			writeLine(out, "");
+			if (html)
+				writeLine(out, "</pre><h3><<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>></h3><pre>"); // just to make it look nice
+			else
+				writeLine(out, "<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>");
+			writeLine(out, "");
+		} else if (StackItems.ACCURATE.equals(stackItems) && !accurate) {
+			return;
+		} else if (StackItems.SYMBOLS.equals(stackItems) && "".equals(stackEntrySymbol)) {
+			return;
+		} else {
+			writeLine(out, String.format(FORMAT, stackEntryAddress, 
+												 stackEntryValue,
+												 stackEntryText,
+												 stackEntryOffset,
+												 stackEntryObject,
+												 stackEntrySymbol));
+		}
+	}	
+	
+	void writeLine(BufferedWriter out, String line) throws IOException {
+		out.write(line);
+		out.newLine();
+	}
+
+	/**
+	 * Reads and creates stack entry from stack entry xml element
+	 * @param elementStackEntry
+	 * @param symbols
+	 * @param registers
+	 * @return created stack entry or null
+	 */
+	public static StackEntry read(Element elementStackEntry, 
+									Map<Integer, Symbol> symbols,
+									Map<Integer, Register> registers) {
+		try {
+			// read address if exists
+			String address = XmlUtils.getTextValue(elementStackEntry, TAG_ADDRESS);
+			if (address == null)
+				address = "";
+			
+			// read value if exists
+			String value = XmlUtils.getTextValue(elementStackEntry, TAG_VALUE);
+			if (value == null)
+				value = "";
+			
+			boolean xip = false;
+			boolean registerBased = false;
+			String symbol = "";
+			String object = "";
+			String source = "";
+			String codeSegment = "";
+			
+			// try to read symbol & register information for this stack entry
+			NodeList nl = elementStackEntry.getElementsByTagName(TAG_LINK);
+			if (nl != null && nl.getLength() > 0) {
+				for (int i = 0; i < nl.getLength(); i++) {
+					Node linkNode = nl.item(i);
+					String nodeValue = XmlUtils.getNodeValue(linkNode);
+					NamedNodeMap attributes = linkNode.getAttributes();
+					if (attributes != null && attributes.getLength() > 0) {
+						Node seg = attributes.getNamedItem(ATTRIBUTE_SEG);
+						// symbol id
+						if (SEGMENT_SYMBOLS.equals(XmlUtils.getNodeValue(seg))) {
+							try {
+								int sId = Integer.parseInt(nodeValue);
+								if (symbols.containsKey(sId)) {
+									Symbol sym = symbols.get(sId);
+									symbol = sym.getName();
+									object = sym.getObject();
+									source = sym.getSource();
+									xip = sym.xip();
+									codeSegment = sym.getCodeSegmentName();
+								}
+							} catch (Exception e) {
+								e.printStackTrace();
+							}
+						// register id
+						} else if (SEGMENT_REGISTERS.equals(XmlUtils.getNodeValue(seg))) {
+							registerBased = true;
+							int rId = Integer.parseInt(nodeValue);
+							if (registers.containsKey(rId)) {
+								Register reg = registers.get(rId);
+								if ("R14".equals(reg.getName())) {
+									address = "LR";
+								} else if ("R15".equals(reg.getName())) {
+									address = "PC";
+								}
+							}
+						}
+					}
+				}
+			}
+			
+			boolean currentStackPointer = XmlUtils.containsNode(elementStackEntry, TAG_CURRENT_STACK_POINTER);
+			boolean accurate = XmlUtils.containsNode(elementStackEntry, TAG_ACCURATE);
+			boolean outsideStackBounds = XmlUtils.containsNode(elementStackEntry, TAG_OUTSIDE_STACK_BOUNDS);
+	
+			// read offset if exists
+			String offset = XmlUtils.getTextValue(elementStackEntry, TAG_OFFSET);
+			if (offset == null)
+				offset = "";
+			
+			// read text if exists
+			String text = XmlUtils.getTextValue(elementStackEntry, TAG_TEXT);
+			if (text == null)
+				text = "";
+			
+			return new StackEntry(address, value, symbol, object, offset, text, source, codeSegment,
+									outsideStackBounds, currentStackPointer, accurate, xip, registerBased);
+		} catch (Exception e) {
+			return null;
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Summary.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,321 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.containers;
+
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.util.*;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import com.nokia.s60tools.crashanalyser.model.XmlUtils;
+
+/**
+ * This class contains basic information about a crash such as
+ * crash date and time, product version etc. 
+ *
+ */
+public final class Summary {
+	
+	// XML tags
+	public static final String TAG_SEG_HEADER = "seg_header";
+	public static final String TAG_DATE = "date";
+	public static final String TAG_TIME = "time";
+	public static final String TAG_UPTIME = "uptime";
+	public static final String TAG_SEG_HW_INFO = "seg_hw_info";
+	public static final String TAG_VERSION = "version_text";
+	public static final String TAG_VERSIONS = "version_text_list";
+	public static final String TAG_PRODUCT_TYPE = "product_type";
+	public static final String TAG_PRODUCT_CODE = "product_code";
+	public static final String TAG_SERIAL_NUMBER = "serial_number";
+	public static final String TAG_SEG_SW_INFO = "seg_sw_info";
+	public static final String TAG_LANGUAGE = "language";
+	public static final String TAG_CHECKSUM = "checksum";
+	public static final String TAG_IMEI = "imei";
+	public static final String TAG_SEG_MEMORY_INFO = "seg_memory_info";
+	public static final String TAG_RAM = "ram";
+	public static final String TAG_FREE = "free";
+	
+	public static final String FORMAT = "%-15s: %s";
+
+	// Data
+	private final String summaryCrashTime;
+	private final String summaryCrashDate;
+	private final String summaryUpTime;
+	private final String[] summarySwVersion;
+	private final String summaryLanguage;
+	private final String summaryRomId;
+	private final String[] summaryHwVersion;
+	private final String summaryProductType;
+	private final String summaryProductCode;
+	private final String summarySerialNumber;
+	private final String summaryImei;
+	private final String summaryFreeRam;
+	
+	private Summary(String crashTime, String crashDate, String upTime, String[] swVersion, String language,
+					String romId, String[] hwVersion, String productType, String productCode, 
+					String serialNumber, String imei, String freeRam) {
+		summaryCrashTime = crashTime;
+		summaryCrashDate = crashDate;
+		summaryUpTime = upTime;
+		summarySwVersion = swVersion.clone();
+		summaryLanguage = language;
+		summaryRomId = romId;
+		summaryHwVersion = hwVersion.clone();
+		summaryProductType = productType;
+		summaryProductCode = productCode;
+		summarySerialNumber = serialNumber;
+		summaryImei = imei;
+		summaryFreeRam = freeRam;
+	}
+	
+	/**
+	 * Writes summary data into given buffer (i.e. text file)
+	 * @param out
+	 * @throws IOException
+	 */
+	public void writeTo(BufferedWriter out) throws IOException {
+		writeLine(out, "Crash Time", summaryCrashTime);
+		writeLine(out, "Crash Date", summaryCrashDate);
+		writeLine(out, "Up Time", summaryUpTime);
+		if (summarySwVersion != null && summarySwVersion.length > 0) {
+			for (int i = 0; i < summarySwVersion.length; i++) {
+				writeLine(out, "SW Version", summarySwVersion[i]);
+			}
+		}
+		writeLine(out, "Language", summaryLanguage);
+		writeLine(out, "Rom Id", summaryRomId);
+		if (summaryHwVersion != null && summaryHwVersion.length > 0) {
+			for (int i = 0; i < summaryHwVersion.length; i++) {
+				writeLine(out, "HW Version", summaryHwVersion[i]);
+			}
+		}
+		writeLine(out, "Product Type", summaryProductType);
+		writeLine(out, "Product Code", summaryProductCode);
+		writeLine(out, "Serial Number", summarySerialNumber);
+		writeLine(out, "Imei", summaryImei);
+		writeLine(out, "Free Ram", summaryFreeRam);
+	}
+	
+	void writeLine(BufferedWriter out, String header, String value) throws IOException {
+		if (!"".equals(value)) {
+			out.write(String.format(FORMAT, header, value));
+			out.newLine();
+		}
+	}
+	
+	/**
+	 * Reads and creates summary data from given root xml element
+	 * @param rootElement
+	 * @return created summary data or null
+	 */
+	public static Summary read(Element rootElement) {
+		try {
+			String crashTime = "";
+			String crashDate = "";
+			String upTime = "";
+			
+			// read data under seg_header node
+			NodeList segHeader = rootElement.getElementsByTagName(TAG_SEG_HEADER);
+			if (segHeader != null && segHeader.getLength() > 0) {
+				// read crash time
+				crashTime = XmlUtils.getTextValue((Element)segHeader.item(0), TAG_TIME);
+				if (crashTime == null) {
+					crashTime = "";
+				} else if (!crashTime.contains(":") && crashTime.length() == 6){
+					String time = crashTime.substring(0, 2) + ":" +
+								  crashTime.substring(2, 4) + ":" +
+								  crashTime.substring(4, 6);
+					crashTime = time;
+				}
+				
+				// read crashdate
+				crashDate = XmlUtils.getTextValue((Element)segHeader.item(0), TAG_DATE);
+				if (crashDate == null) {
+					crashDate = "";
+				} else if (crashDate.length() == 8) {
+					String date = crashDate.substring(0,4) + "-" + 
+									crashDate.substring(4,6) + "-" +
+									crashDate.substring(6,8);
+					crashDate = date;
+				}
+				
+				// read uptime
+				upTime = XmlUtils.getTextValue((Element)segHeader.item(0), TAG_UPTIME);
+				if (upTime == null) {
+					upTime = "";
+				} else {
+					upTime = convertUpTime(upTime);
+				}
+			}
+			
+			List<String> hwVersions = new ArrayList<String>();
+			String productType = "";
+			String productCode = "";
+			String serialNumber = "";
+			
+			// read data under seg_hw_info node
+			NodeList segHwInfo = rootElement.getElementsByTagName(TAG_SEG_HW_INFO);
+			if (segHwInfo != null && segHwInfo.getLength() > 0) {
+
+				// read all versions
+				NodeList versions = ((Element)segHwInfo.item(0)).getElementsByTagName(TAG_VERSION);
+				if (versions != null && versions.getLength() > 0) {
+					for (int i = 0; i < versions.getLength(); i++) {
+						// read sw version
+						String version = XmlUtils.getNodeValue(versions.item(i));
+						if (version != null)
+							hwVersions.add(version);
+					}
+				}
+				
+				// read product type
+				productType = XmlUtils.getTextValue((Element)segHwInfo.item(0), TAG_PRODUCT_TYPE);
+				if (productType == null)
+					productType = "";
+				
+				// read product code
+				productCode = XmlUtils.getTextValue((Element)segHwInfo.item(0), TAG_PRODUCT_CODE);
+				if (productCode == null)
+					productCode = "";
+				
+				// read serial number
+				serialNumber = XmlUtils.getTextValue((Element)segHwInfo.item(0), TAG_SERIAL_NUMBER);
+				if (serialNumber == null)
+					serialNumber = "";
+			}
+			
+			List<String> swVersions = new ArrayList<String>();
+			String language = "";
+			String romId = "";
+			
+			// read data under seg_sw_info node
+			NodeList segSwInfo = rootElement.getElementsByTagName(TAG_SEG_SW_INFO);
+			if (segSwInfo != null && segSwInfo.getLength() > 0) {
+
+				// read all versions
+				NodeList versions = ((Element)segSwInfo.item(0)).getElementsByTagName(TAG_VERSION);
+				if (versions != null && versions.getLength() > 0) {
+					for (int i = 0; i < versions.getLength(); i++) {
+						// read sw version
+						String version = XmlUtils.getNodeValue(versions.item(i));
+						if (version != null)
+							swVersions.add(version);
+					}
+				}
+				
+				// read language
+				language = XmlUtils.getTextValue((Element)segSwInfo.item(0), TAG_LANGUAGE);
+				if (language == null)
+					language = "";
+				
+				// read rom id
+				romId = XmlUtils.getTextValue((Element)segSwInfo.item(0), TAG_CHECKSUM);
+				if (romId == null)
+					romId = "";
+			}
+			
+			String imei = "";
+			// read imei value
+			NodeList imeiNode = rootElement.getElementsByTagName(TAG_IMEI);
+			if (imeiNode != null && imeiNode.getLength() > 0) {
+				imei = imeiNode.item(0).getFirstChild().getNodeValue();
+			}
+			
+			String freeRamAmount = "";
+			// read free ram amount
+			NodeList segMemoryInfo = rootElement.getElementsByTagName(TAG_SEG_MEMORY_INFO);
+			if (segMemoryInfo != null && segMemoryInfo.getLength() > 0) {
+				NodeList ram = ((Element)segMemoryInfo.item(0)).getElementsByTagName(TAG_RAM);
+				if (ram != null && ram.getLength() > 0) {
+					freeRamAmount = XmlUtils.getTextValue((Element)ram.item(0), TAG_FREE);
+					if (freeRamAmount == null)
+						freeRamAmount = "";
+				}
+			}
+			
+			return new Summary(crashTime, crashDate, upTime, swVersions.toArray(new String[swVersions.size()]), 
+								language, romId, hwVersions.toArray(new String[hwVersions.size()]), productType, productCode, serialNumber, imei, freeRamAmount);
+		} catch (Exception e) {
+			return null;
+		}
+	}
+	
+	public String getCrashTime() {
+		return summaryCrashTime;
+	}
+	
+	public String getCrashDate() {
+		return summaryCrashDate;
+	}
+	
+	public String getUpTime() {
+		return summaryUpTime;
+	}
+	
+	public String getRomId() {
+		return summaryRomId;
+	}
+	
+	public String[] getSwVersion() {
+		return summarySwVersion.clone();
+	}
+	
+	public String[] getHwVersion() {
+		return summaryHwVersion.clone();
+	}
+	
+	public String getProductType() {
+		return summaryProductType;
+	}
+	
+	public String getProductCode() {
+		return summaryProductCode;
+	}
+	
+	public String getLanguage() {
+		return summaryLanguage;
+	}
+	
+	public String getSerialNumber() {
+		return summarySerialNumber;
+	}
+	
+	public String getImei() {
+		return summaryImei;
+	}
+	
+	public String getFreeRam() {
+		return summaryFreeRam;
+	}
+	
+	static String convertUpTime(String uptime) {
+		try {
+			int secs =Integer.valueOf(uptime); 
+			int hours =  secs / 3600,
+			remainder = secs % 3600,
+			minutes = remainder / 60,
+			seconds = remainder % 60;
+	
+			return ( (hours < 10 ? "0" : "") + hours
+			+ ":" + (minutes < 10 ? "0" : "") + minutes
+			+ ":" + (seconds< 10 ? "0" : "") + seconds );
+		} catch (Exception e) {
+			return uptime;
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Symbol.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,133 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.containers;
+
+import java.util.Map;
+import java.io.*;
+import org.w3c.dom.*;
+import com.nokia.s60tools.crashanalyser.model.*;
+
+/**
+ * Contains symbol data.
+ *
+ */
+public final class Symbol {
+	
+	// XML tags
+	public static final String TAG_ID = "id";
+	public static final String TAG_NAME = "name";
+	public static final String TAG_OBJECT = "object";
+	public static final String TAG_ATTRIBUTES = "attributes";
+	public static final String TAG_XIP = "xip";
+	public static final String TAG_LINK = "link";
+	
+	// Data
+	private final int symbolId;
+	private final String symbolSource;
+	private final String symbolName;
+	private final String symbolObject;
+	private final String symbolCodeSegmentName;
+	private final boolean xip;
+	
+	private Symbol(int id,String source, String name, String object, String codeSegmentName, boolean attributeXip) {
+		symbolId = id;
+		symbolSource = source;
+		symbolName = name;
+		symbolObject = object;
+		symbolCodeSegmentName = codeSegmentName;
+		xip = attributeXip;
+	}
+	
+	public int getId() {
+		return symbolId;
+	}
+	
+	public String getName() {
+		return symbolName;
+	}
+	
+	public String getObject() {
+		return symbolObject;
+	}
+	
+	public String getSource() {
+		return symbolSource;
+	}
+	
+	public boolean xip() {
+		return xip;
+	}
+	
+	public String getCodeSegmentName() {
+		return symbolCodeSegmentName;
+	}
+	
+	/**
+	 * Reads and creates a symbol from symbol xml element
+	 * @param elementSymbol
+	 * @param source
+	 * @param codeSegments
+	 * @return created symbol
+	 */
+	public static Symbol read(Element elementSymbol, String source, Map<Integer, CodeSegment> codeSegments) {
+		String symbolId = XmlUtils.getTextValue(elementSymbol, TAG_ID);
+		if (symbolId == null)
+			return null;
+		
+		int id;
+		try {
+			id = Integer.parseInt(symbolId);
+		} catch (Exception e) {
+			return null;
+		}
+
+		String symbolName = XmlUtils.getTextValue(elementSymbol, TAG_NAME);
+		if (symbolName == null)
+			symbolName = "";
+		
+		String symbolObject = XmlUtils.getTextValue(elementSymbol, TAG_OBJECT);
+		if (symbolObject == null)
+			symbolObject = "";
+		
+		boolean xip = false;
+		NodeList attribute = elementSymbol.getElementsByTagName(TAG_ATTRIBUTES);
+		if (attribute != null && attribute.getLength() > 0) {
+			xip = XmlUtils.containsNode((Element)attribute.item(0), TAG_XIP);
+		}
+		
+		String codeSegmentName = "";
+		NodeList links = elementSymbol.getElementsByTagName(TAG_LINK);
+		if (links != null && links.getLength() > 0) {
+			String link = XmlUtils.getNodeValue(links.item(0));
+			if (link != null && !"".equals(link)) {
+				try {
+					int codeSegmentId = Integer.parseInt(link);
+					if (codeSegments.containsKey(codeSegmentId)) {
+						CodeSegment cs = codeSegments.get(codeSegmentId);
+						File f = new File(cs.getSegmentName());
+						codeSegmentName = f.getName();
+					}
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+		}
+		
+		return new Symbol(id, source, symbolName, symbolObject, codeSegmentName, xip);
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/containers/Thread.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,350 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.containers;
+
+import org.w3c.dom.*;
+
+import com.nokia.s60tools.crashanalyser.model.XmlUtils;
+import com.nokia.s60tools.crashanalyser.containers.Process.StackItems;
+import com.nokia.s60tools.crashanalyser.data.ErrorLibrary;
+
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.util.*;
+
+/**
+ * Contains thread data.
+ *
+ */
+public final class Thread {
+
+	// XML tags
+	public static final String TAG_ID = "id";
+	public static final String TAG_FULLNAME = "fullname";
+	public static final String TAG_EXIT_INFO = "exit_info";
+	public static final String TAG_EXIT_TYPE = "exit_type";
+	public static final String TAG_EXIT_CATEGORY = "exit_category";
+	public static final String TAG_EXIT_REASON = "exit_reason";
+	public static final String TAG_LINK = "link";
+	public static final String ATTRIBUTE_SEG = "seg";
+	public static final String SEGMENT_STACKS = "seg_stacks";
+	public static final String SEGMENT_REGISTERS = "seg_registers";
+	
+	static final String FORMAT = "%-13s: %s";
+	
+	private final int threadId;
+	private final String threadFullName;
+	private final String threadExitType;
+	private final String threadExitCategory;
+	private final String threadExitReason;
+	private final String threadPanicDescription;
+	// PC, SP and LR do not really belong to thread,
+	// but these are taken from this thread's stack which
+	// contains CPSR. So these are the most "interesting" 
+	// PC, SP and LR values for this thread, even though 
+	// this thread can own multiple stacks and hence multiple
+	// PC, SP and LR.
+	private final String threadProgramCounter;
+	private final String threadStackPointer;
+	private final String threadLinkRegister;
+	private final List<Stack> threadStacks;
+	private final List<RegisterSet> threadRegisters;
+
+	private Thread(int id, String fullName, String exitType, String exitCategory, 
+					String panicDescription, String programCounter, String stackPointer, String linkRegister, 
+					String exitReason, List<Stack> stacks, List<RegisterSet> registers) {
+		threadId = id;
+		threadFullName = fullName;
+		threadExitType = exitType;
+		threadExitCategory = exitCategory;
+		threadExitReason = exitReason;
+		threadProgramCounter = programCounter;
+		threadStackPointer = stackPointer;
+		threadLinkRegister = linkRegister;
+		threadStacks = stacks;
+		threadPanicDescription = panicDescription;
+		threadRegisters = registers;
+	}
+	
+	public int getId() {
+		return threadId;
+	}
+	
+	public String getFullName() {
+		return threadFullName;
+	}
+	
+	public String getExitType() {
+		return threadExitType;
+	}
+	
+	public String getExitCategory() {
+		return threadExitCategory;
+	}
+	
+	public String getExitReason() {
+		return threadExitReason;
+	}
+	
+	public String getProgramCounter() {
+		return threadProgramCounter;
+	}
+	
+	public String getStackPointer() {
+		return threadStackPointer;
+	}
+	
+	public String getLinkRegister() {
+		return threadLinkRegister;
+	}
+	
+	public String getPanicDescription() {
+		return threadPanicDescription;
+	}
+	
+	public List<Stack> getStacks() {
+		return threadStacks;
+	}
+	
+	public List<RegisterSet> getRegisters() {
+		return threadRegisters;
+	}
+	
+	/**
+	 * Writes thread data into given buffer (i.e. text file)
+	 * @param out
+	 * @param stackItems
+	 * @param html
+	 * @throws IOException
+	 */
+	public void writeTo(BufferedWriter out, StackItems stackItems, boolean html) throws IOException {
+		writeLine(out,"");
+		writeLine(out, "THREAD:");
+		writeLine(out, "--------");
+		writeLine(out, "Thread Name", threadFullName);
+		writeLine(out, "Exit Type", threadExitType);
+		
+		if ("Exception".equals(threadExitType)) {
+			writeLine(out, "Exit Reason", threadExitReason);
+		} else {
+			writeLine(out, "Exit Reason", threadExitCategory + " - " +threadExitReason);
+		}
+		
+		writeLine(out, "");
+		if (threadRegisters != null && !threadRegisters.isEmpty()) {
+			for (int i = 0; i < threadRegisters.size(); i++) {
+				RegisterSet registerSet = threadRegisters.get(i);
+				registerSet.writeTo(out);
+				writeLine(out, "");
+			}
+		}
+		
+		if (threadStacks != null && !threadStacks.isEmpty()) {
+			for (int i = 0; i < threadStacks.size(); i++) {
+				Stack stack = threadStacks.get(i);
+				stack.writeTo(out, stackItems, html);
+			}
+		}
+	}
+	
+	void writeLine(BufferedWriter out, String line) throws IOException {
+		out.write(line);
+		out.newLine();
+	}
+	
+	void writeLine(BufferedWriter out, String header, String value) throws IOException {
+		if (!"".equals(value)) {
+			out.write(String.format(FORMAT, header, value));
+			out.newLine();
+		}
+	}
+	
+	/**
+	 * Reads and creates thread from thread xml element
+	 * @param elementThread
+	 * @param registers
+	 * @param symbols
+	 * @param stacks
+	 * @param errorLibrary
+	 * @return created thread or null
+	 */
+	public static Thread read(Element elementThread,
+								Map<Integer, RegisterSet> registers,
+								Map<Integer, Symbol> symbols,
+								Map<Integer, Stack> stacks,
+								ErrorLibrary errorLibrary) {
+		try {
+			// read thread id
+			String threadId = XmlUtils.getTextValue(elementThread, TAG_ID);
+			if (threadId == null)
+				return null;
+			
+			// convert thread id to integer
+			int id;
+			try {
+				id = Integer.parseInt(threadId);
+			} catch (Exception e) {
+				return null;
+			}
+			
+			// read the threads full name
+			String fullName = XmlUtils.getTextValue(elementThread, TAG_FULLNAME);
+			if (fullName == null)
+				return null;
+			
+			String exitType = "";
+			String exitCategory = "";
+			String exitReason = "";
+			// get child nodes such as exit_info, stacks, registers
+			NodeList childNodes = elementThread.getChildNodes();
+			if (childNodes == null || childNodes.getLength() < 1)
+				return null;
+			
+			// read Exit info
+			NodeList exitInfo = elementThread.getElementsByTagName(TAG_EXIT_INFO);
+			if (exitInfo != null && exitInfo.getLength() > 0) {
+				NodeList exitInfos = exitInfo.item(0).getChildNodes();
+				if (exitInfos != null && exitInfos.getLength() > 0) {
+					for (int i = 0; i < exitInfos.getLength(); i++) {
+						Node el = exitInfos.item(i);
+						Node firstChild = null;
+						if (TAG_EXIT_TYPE.equals(el.getNodeName())) {
+							// read exit type (Exception, Panic, Kill, Terminate)
+							firstChild = el.getFirstChild();
+							if (firstChild != null) {
+								exitType = firstChild.getNodeValue();
+								if (exitType == null) {
+									exitType = "";
+								}
+							} else {
+								exitType = "";
+							}
+						} else if (TAG_EXIT_CATEGORY.equals(el.getNodeName())) {
+							// read exit category (e.g W32)
+							firstChild = el.getFirstChild();
+							if (firstChild != null) {
+								exitCategory = firstChild.getNodeValue();
+								if (exitCategory == null)
+									exitCategory = "";
+							} else {
+								exitCategory = "";
+							}
+						} else if (TAG_EXIT_REASON.equals(el.getNodeName())) {
+							// read exit reason (e.g 3)
+							firstChild = el.getFirstChild();
+							if (firstChild != null) {							
+								exitReason = firstChild.getNodeValue();
+								if (exitReason == null)
+									exitReason = "";
+							} else {
+								exitReason = "";
+							}								
+						}
+					}
+				}
+			}
+
+			if ("Exception".equals(exitType)) {
+				exitReason = exitCategory;
+				exitCategory = "Exceptions";
+			}
+			
+			
+			String panicDescription = "";
+			if (!"".equals(exitCategory) && !"".equals(exitReason)) {
+				panicDescription = errorLibrary.getPanicDescription(exitCategory, exitReason);
+			}
+			
+			List<Stack> threadStacks = new ArrayList<Stack>();
+			List<RegisterSet> threadRegisters = new ArrayList<RegisterSet>();
+			String programCounter = "";
+			String stackPointer = "";
+			String linkRegister = "";
+			
+			// see if register has a symbol and/or message
+			NodeList nl = elementThread.getElementsByTagName(TAG_LINK);
+			if (nl != null && nl.getLength() > 0) {
+				for (int i = 0; i < nl.getLength(); i++) {
+					Node linkNode = nl.item(i);
+					String nodeValue = XmlUtils.getNodeValue(linkNode);
+					NamedNodeMap attributes = linkNode.getAttributes();
+					if (attributes != null && attributes.getLength() > 0) {
+						Node seg = attributes.getNamedItem(ATTRIBUTE_SEG);
+						// stack id
+						if (SEGMENT_STACKS.equals(XmlUtils.getNodeValue(seg))) {
+							int sId = Integer.parseInt(nodeValue);
+							if (stacks.containsKey(sId)) {
+								Stack s = stacks.get(sId);
+								threadStacks.add(s);
+								// the most interesting PC, SP and LR comes from
+								// that stack which contains CPSR.
+								if (s.stackRegisterContainsCpsr()) {
+									programCounter = s.getProgramCounter();
+									stackPointer = s.getStackPointer();
+									linkRegister = s.getLinkRegister();
+								}
+							}
+						// register id
+						} else if (SEGMENT_REGISTERS.equals(XmlUtils.getNodeValue(seg))) {
+							int rId = Integer.parseInt(nodeValue);
+							// if passed registers list contains a register for this id
+							if (registers.containsKey(rId)) {
+								RegisterSet registerSet = registers.get(rId);
+								threadRegisters.add(registerSet);								
+							}							
+						}
+					}
+				}
+			}
+
+			return new Thread(id, fullName, exitType, exitCategory, 
+								panicDescription, programCounter, stackPointer, linkRegister,
+								exitReason, threadStacks, threadRegisters);
+
+		} catch (Exception e) {
+			return null;
+		}
+	}
+	
+	public Map<Integer, Stack> removeOwnStacks(Map<Integer, Stack> stacks) {
+		
+		if (threadStacks != null && !threadStacks.isEmpty()) {
+			for (int i = 0; i < threadStacks.size(); i++) {
+				if (stacks.containsKey(threadStacks.get(i).getId())) {
+					stacks.remove(threadStacks.get(i).getId());
+				}
+			}
+		}
+		
+		return stacks;
+	}
+	
+	public Map<Integer, RegisterSet> removeOwnRegisterSets(Map<Integer, RegisterSet> registerSets) {
+		
+		if (threadRegisters != null && !threadRegisters.isEmpty()) {
+			for (int i = 0; i < threadRegisters.size(); i++) {
+				if (registerSets.containsKey(threadRegisters.get(i).getId())) {
+					registerSets.remove(threadRegisters.get(i).getId());
+				}
+			}
+		}
+		
+		return registerSets;
+	}
+	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/data/ErrorLibrary.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,247 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.data;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import com.nokia.s60tools.crashanalyser.model.*;
+import com.nokia.s60tools.crashanalyser.containers.ErrorLibraryError;
+import com.nokia.s60tools.crashanalyser.interfaces.IErrorLibraryObserver;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.ILock;
+import org.eclipse.core.runtime.jobs.Job;
+
+/**
+ * ErrorLibrary class contains all error descriptions. It contains
+ * a list of errors, panics and panic categories. 
+ *
+ */
+public final class ErrorLibrary extends Job {
+
+	private static ErrorLibrary contentProvider = null;
+	Map<String, ErrorLibraryError> errors = null;
+	Map<String, ErrorLibraryError> panics = null;
+	Map<String, ErrorLibraryError> categories = null;
+	List<IErrorLibraryObserver> observers = null;
+	boolean errorsRead = false;
+	boolean running = false;
+	ILock accessLock = null;
+	ILock queryLock = null;
+	
+	/**
+	 * a singleton constructor
+	 * @param observer 
+	 * @return a ErrorLibrary instance
+	 */
+	public static ErrorLibrary getInstance(IErrorLibraryObserver observer) {
+		if (contentProvider == null) {
+			contentProvider = new ErrorLibrary();
+		}
+		
+		contentProvider.run(observer);
+		
+		return contentProvider;
+	}
+	
+	/**
+	 * private constructor
+	 */
+	private ErrorLibrary() {
+		super("Errors container");
+		accessLock = Job.getJobManager().newLock();
+		queryLock = Job.getJobManager().newLock();
+		setPriority(Job.LONG);
+		setUser(false);
+	}
+	
+	/**
+	 * Starts the errors reading job
+	 * @param observer
+	 */
+	void run(IErrorLibraryObserver observer) {
+		accessLock.acquire();
+		addObserver(observer);
+		try {
+			if (running)
+				return;
+			else
+				running = true;
+		} finally {
+			accessLock.release();
+		}
+		schedule(100);		
+	}
+
+	public boolean isReady() {
+		return errorsRead;
+	}
+	
+	/**
+	 * Returns list of errors
+	 * @return list of errors
+	 */
+	public ErrorLibraryError[] getErrors() {
+		queryLock.acquire();
+		try {
+			if (errors == null)
+				return new ErrorLibraryError[0];
+	
+			return errors.values().toArray(new ErrorLibraryError[errors.size()]);
+		} finally {
+			queryLock.release();
+		}
+	}
+	
+	/**
+	 * Returns list of panics
+	 * @return list of panics
+	 */
+	public ErrorLibraryError[] getPanics() {
+		queryLock.acquire();
+		try {
+			if (panics == null)
+				return new ErrorLibraryError[0];
+			
+			return panics.values().toArray(new ErrorLibraryError[panics.size()]);
+		} finally {
+			queryLock.release();
+		}
+	}
+	
+	/**
+	 * Returns list of panic categories
+	 * @return list of panic categories
+	 */
+	public ErrorLibraryError[] getCategories() {
+		queryLock.release();
+		try {
+			if (categories == null)
+				return new ErrorLibraryError[0];
+	
+		return categories.values().toArray(new ErrorLibraryError[categories.size()]);
+		} finally {
+			queryLock.release();
+		}
+		
+	}
+	
+	/**
+	 * Searches a description for given panic code
+	 * @param category e.g. USER
+	 * @param id e.g. 46
+	 * @return description for given panic. "" if not found.
+	 */
+	public String getPanicDescription(String category, String id) {
+		queryLock.acquire();
+		try {
+			String retval = "";
+			
+			if (panics != null && panics.containsKey(category+id)) {
+				retval = panics.get(category+id).getDescription();
+			}
+			
+			return retval;
+		} finally {
+			queryLock.release();
+		}
+	}
+	
+	/**
+	 * Searches a description for given error code
+	 * @param value e.g. -1 or KErrNotFound etc.
+	 * @return description for given error. "" if not found.
+	 */
+	public String getErrorDescription(String value) {
+		queryLock.acquire();
+		try {
+			String retval = "";
+			
+			if (errors != null && errors.containsKey(value)) {
+				retval = errors.get(value).getDescription();
+			}
+			
+			return retval;
+		} finally {
+			queryLock.release();
+		}
+	}
+	
+	/**
+	 * Adds a new error library observer
+	 * @param observer
+	 */
+	void addObserver(IErrorLibraryObserver observer) {
+		try {
+			if (observers == null)
+				observers = new ArrayList<IErrorLibraryObserver>();
+			if (observer != null && !observers.contains(observer)) {
+				try {
+					observers.add(observer);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * Notifies observers that error library is ready to be used
+	 */
+	void errorReaderReady() {
+		
+		try {
+			while (!observers.isEmpty()) {
+				IErrorLibraryObserver observer = observers.get(0);
+				observer.errorLibraryReady();
+				observers.remove(observer);
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		running = false;
+	}
+	
+	@Override
+	protected IStatus run(IProgressMonitor arg0) {
+		try {
+			// if errors haven't already been read, read errors
+			if (!errorsRead) {
+				ErrorsXmlReader reader = new ErrorsXmlReader();
+				reader.readAll();
+				errors = reader.getErrorsOwnership();
+				panics = reader.getPanicsOwnership();
+				categories = reader.getCategoriesOwnership();
+				errorsRead = true;
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		accessLock.acquire();
+		errorReaderReady();
+		accessLock.release();
+		
+		return Status.OK_STATUS;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/data/ErrorLibraryContentProvider.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.data;
+
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+
+/**
+ *  Error library content provider.
+ *
+ */
+public class ErrorLibraryContentProvider implements IStructuredContentProvider {
+	
+	public static enum ContentTypes {PANIC, CATEGORY, ERROR}
+	ErrorLibrary library = null;
+	ContentTypes type; 
+	
+	/**
+	 * Constructor
+	 * @param contentType which types or errors this provider should provide 
+	 * @param errorLibrary error library which contains all errors
+	 */
+	public ErrorLibraryContentProvider(ContentTypes contentType, ErrorLibrary errorLibrary) {
+		type = contentType;
+		library = errorLibrary;
+	}
+	
+	public Object[] getElements(Object arg0) {
+		switch (type) {
+		case PANIC:
+			return library.getPanics();
+		case CATEGORY:
+			return library.getCategories();
+		case ERROR:
+			return library.getErrors();
+		default:
+			return null;
+		}
+	}
+
+	public void dispose() {
+		// No implementation needed
+	}
+
+	public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
+		// No implementation needed
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/export/ICrashFileProvider.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+package com.nokia.s60tools.crashanalyser.export;
+
+public interface ICrashFileProvider {
+	public String getFunctionalityName();
+	public String getFunctionalityDescription();
+	public String executeFunctionality(String outputFolder);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/export/ITraceDataProcessor.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+package com.nokia.s60tools.crashanalyser.export;
+
+public interface ITraceDataProcessor {
+	public void processDataLine(String line);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/export/ITraceProvider.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+package com.nokia.s60tools.crashanalyser.export;
+
+public interface ITraceProvider {
+	public boolean start(ITraceDataProcessor processor);
+	public void stop();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/files/CrashAnalyserFile.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,151 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.files;
+
+import java.io.File;
+import java.util.Date;
+import org.xml.sax.helpers.DefaultHandler;
+import com.nokia.s60tools.crashanalyser.data.*;
+import java.text.DateFormat;
+
+/**
+ * This is a base class for all Crash Analyser file types. 
+ *
+ */
+public abstract class CrashAnalyserFile extends DefaultHandler{
+
+	// File extensions
+	public static final String OUTPUT_FILE_EXTENSION = "crashxml";
+	public static final String MOBILECRASH_FILE_EXTENSION = "bin";
+	public static final String D_EXC_FILE_EXTENSION = "txt";
+	public static final String TRACE_EXTENSION = "trace";
+	public static final String ELF_CORE_DUMP_FILE_EXTENSION = "elf";
+	public static final String SUMMARY_FILE_EXTENSION = "xml";
+	public static final String EMULATOR_PANIC_EXTENSION = "panicxml";
+	
+	// base data for all crash files
+	protected String filePath = "";
+	protected String time = "";
+	protected String threadName = "";
+	protected String panicCategory = "";
+	protected String fileName = "";
+	protected String created = "";
+	protected String description = "";
+	protected String shortDescription = "";
+	protected String romId = "";
+	protected String panicCode = "";
+	
+	protected ErrorLibrary errorLibrary;
+
+	/**
+	 * Constructor
+	 * @param crashFilePath crash file path
+	 * @param library error library
+	 */
+	protected CrashAnalyserFile(String crashFilePath, ErrorLibrary library) {
+		filePath = crashFilePath;
+		errorLibrary = library;
+	}
+	
+	public abstract String getFileType(); 
+	
+	public String getTime() {
+		return time;
+	}
+	
+	public String getThreadName() {
+		return threadName;
+	}
+	
+	public String getPanicCategory() {
+		return panicCategory;
+	}
+	
+	public String getFileName() {
+		return fileName;
+	}
+	
+	public String getPanicCode() {
+		return panicCode;
+	}
+	
+	public String getCreated() {
+		return created;
+	}
+	
+	public String getDescription() {
+		return description;
+	}
+	
+	public String getShortDescription() {
+		return shortDescription;
+	}
+	
+	public String getRomId() {
+		return romId;
+	}
+	
+	public String getFilePath() {
+		return filePath; 
+	}
+	
+	/**
+	 * Read file name and last modified time
+	 */
+	protected void doRead() {
+		File f = new File(filePath);
+		if (f.exists() && f.isFile()) {
+			Date d = new Date(f.lastModified());
+			created = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM).format(d);
+			fileName = f.getName();
+		} else {
+			filePath = "";
+		}
+	}
+	
+	/**
+	 * Returns the absolute path for a crash file. Given folder can only
+	 * contain one crash file of given extension.
+	 * @param folder from where the file is searched
+	 * @param extension extension of the file
+	 * @return absolute path for a wanted crash file.
+	 */
+	protected static String findFile(String folder, String extension) {
+		String ext = extension;
+		if (!extension.startsWith("."))
+			ext = "." + extension;
+		
+		File cFolder = new File(folder);
+		// given folder is directory and is exists
+		if (cFolder.isDirectory() && cFolder.exists()) {
+			File[] files = cFolder.listFiles();
+			if (files != null) {
+				// go through all files
+				for (int i = 0; i < files.length; i++) {
+					File file = files[i];
+					// return the file which has the given extension
+					if (file.getName().endsWith(ext)) {
+						return file.getAbsolutePath();
+					}
+				}
+			}
+		}
+		
+		return null;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/files/CrashFile.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,92 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.files;
+
+import com.nokia.s60tools.crashanalyser.data.*;
+import java.io.*;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.IEditorInput;
+
+/**
+ * This class represents a fully decoded crash file (.crashxml). 
+ * It contains crash file's name, path, etc.
+ * 
+ * Note that this file extends SummaryFile, so all reading
+ * is done SummaryFile class.
+ * 
+ */
+public class CrashFile extends SummaryFile implements IEditorInput {
+	/**
+	 * Constructor
+	 * @param filePath file path to this crash file
+	 * @param library error library
+	 */
+	protected CrashFile(String filePath, ErrorLibrary library) {
+		super(filePath, library);
+	}
+	
+	/**
+	 * Returns the file type of this crash file.
+	 * @return "Decoded File"
+	 */
+	public String getFileType() {
+		return "Decoded File";
+	}
+	
+	/**
+	 * Reads crash file
+	 * @param file crash file
+	 * @param library error library
+	 * @return read crash file
+	 */
+	public static CrashFile read(File file, ErrorLibrary library) {
+		if (file == null || !file.exists() || !file.isFile())
+			return null;
+		
+		CrashFile crashFile = new CrashFile(file.getAbsolutePath(), library);
+		crashFile.doRead();
+		return crashFile;
+	}
+	
+	/**
+	 * Reads crash file
+	 * @param folder folder which contains one .crashxml file which will be read
+	 * @param library error library
+	 * @return read crash file
+	 */
+	public static CrashFile read(String folder, ErrorLibrary library) {
+		String crashFile = findFile(folder, CrashAnalyserFile.OUTPUT_FILE_EXTENSION);
+		
+		if (crashFile == null)
+			return null;
+		
+		CrashFile file = new CrashFile(crashFile, library);
+		file.doRead();
+		return file;
+	}
+	
+	@Override
+	public ImageDescriptor getImageDescriptor() {
+		return null;
+	}
+
+	@Override
+	public String getToolTipText() {
+		return "Crash Analyser File"; 
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/files/PanicFile.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,169 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.files;
+
+import java.io.*;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+import com.nokia.s60tools.crashanalyser.model.*;
+import com.nokia.s60tools.crashanalyser.data.*;
+
+/**
+ * An emulator panic file. 
+ *
+ */
+public class PanicFile extends CrashAnalyserFile {
+	
+	// XML tags
+	final static String XML_DECLARATION = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
+	final static String TAG_ROOT = "panic";
+	final static String TAG_TIME = "time";
+	final static String TAG_THREAD = "thread";
+	final static String TAG_CATEGORY = "category";
+	final static String TAG_CODE = "code";
+	
+	String nodeText = "";
+	
+	/**
+	 * Constructor
+	 * @param filePath file path to this panic file
+	 * @param library error library
+	 */
+	protected PanicFile(String filePath, ErrorLibrary library) {
+		super(filePath, library);
+	}
+	
+	/**
+	 * Returns the file type of this crash file.
+	 * @return "Emulator panic"
+	 */
+	public String getFileType() {
+		return "Emulator panic";
+	}
+	
+	/**
+	 * Reads panic file
+	 * @param file panic file
+	 * @param library error library
+	 * @return read panic file
+	 */
+	public static PanicFile read(String folder, ErrorLibrary library) {
+		String panicFile = findFile(folder, CrashAnalyserFile.EMULATOR_PANIC_EXTENSION);
+		
+		// panic file doesn't exists
+		if (panicFile == null) 
+			return null;
+
+		PanicFile file = new PanicFile(panicFile, library);
+		file.doRead();
+		return file;
+	}
+	
+	@Override
+	protected void doRead() {
+		super.doRead();
+		
+		try {
+			SAXParserFactory spf = SAXParserFactory.newInstance();
+			SAXParser sp = spf.newSAXParser();
+			sp.parse(filePath, this);
+		}catch(Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	@Override
+	public void startElement(String arg0, String arg1, String arg2,	Attributes arg3) 
+			throws SAXException {
+		nodeText = "";
+		super.startElement(arg0, arg1, arg2, arg3);
+	}
+	
+	@Override
+	public void characters(char[] arg0, int arg1, int arg2) throws SAXException {
+		String s = String.copyValueOf(arg0, arg1, arg2);
+		nodeText += s;
+		super.characters(arg0, arg1, arg2);
+	}	
+
+	@Override
+	public void endElement(String arg0, String arg1, String arg2)
+			throws SAXException {
+		if (TAG_TIME.equals(arg2)) {
+			time = nodeText;
+		} else if (TAG_THREAD.equals(arg2)) {
+			threadName = nodeText;
+		} else if (TAG_CATEGORY.equals(arg2)) {
+			panicCategory = nodeText;
+		} else if (TAG_CODE.equals(arg2)) {
+			panicCode = nodeText;
+		} else if (TAG_ROOT.equals(arg2)) {
+			description = HtmlFormatter.formatEmulatorPanicDescription(this, errorLibrary);
+		}
+	}	
+	
+	/**
+	 * Writes emulator panic data into an xml file
+	 * @param timeStamp panic's time
+	 * @param threadId panic's thread
+	 * @param category panic category
+	 * @param code panic code
+	 */
+	public static void WritePanicFile(String timeStamp, String threadId, String category, String code) {
+		String folder = FileOperations.addSlashToEnd(DecoderEngine.getCrashFilesFolder());
+		String fileName = "EmulatorPanic_" + timeStamp.replace(".","");
+		folder += FileOperations.addSlashToEnd(fileName);
+		if (!FileOperations.createFolder(folder))
+			return;
+		
+		String file = folder + fileName + "." + CrashAnalyserFile.EMULATOR_PANIC_EXTENSION;
+		
+		try{
+			// Create file 
+			FileWriter fstream = new FileWriter(file);
+			BufferedWriter out = new BufferedWriter(fstream);
+			String lineBreak = System.getProperty("line.separator");
+			out.write(XML_DECLARATION + lineBreak);
+			writeTag(TAG_ROOT, out, lineBreak);
+			writeValue(TAG_TIME, out, timeStamp, lineBreak);
+			writeValue(TAG_THREAD, out, threadId, lineBreak);
+			writeValue(TAG_CATEGORY, out, category, lineBreak);
+			writeValue(TAG_CODE, out, code, lineBreak);
+			writeClosingTag(TAG_ROOT, out, lineBreak);
+
+			// Close the output stream
+			out.close();
+		}catch (Exception e){//Catch exception if any
+			e.printStackTrace();
+		}		
+	}
+	
+	static void writeTag(String tag, BufferedWriter out, String lineBreak) throws IOException {
+		out.write("<" + tag + ">" + lineBreak);
+	}
+
+	static void writeClosingTag(String tag, BufferedWriter out, String lineBreak) throws IOException {
+		out.write("</" + tag + ">" + lineBreak);
+	}
+	
+	static void writeValue(String tag, BufferedWriter out, String value, String lineBreak) throws IOException {
+		out.write("<" + tag + ">" + value + "</"+ tag + ">" + lineBreak);
+	}	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/files/SummaryFile.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,685 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.files;
+
+import java.util.*;
+import java.io.*;
+import javax.xml.parsers.*;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.*;
+import org.w3c.dom.*;
+import com.nokia.s60tools.crashanalyser.containers.RegisterDetails;
+import com.nokia.s60tools.crashanalyser.containers.CodeSegment;
+import com.nokia.s60tools.crashanalyser.containers.Message;
+import com.nokia.s60tools.crashanalyser.containers.EventLog;
+import com.nokia.s60tools.crashanalyser.containers.Process;
+import com.nokia.s60tools.crashanalyser.containers.RegisterSet;
+import com.nokia.s60tools.crashanalyser.containers.Register;
+import com.nokia.s60tools.crashanalyser.containers.Summary;
+import com.nokia.s60tools.crashanalyser.containers.Symbol;
+import com.nokia.s60tools.crashanalyser.containers.Thread;
+import com.nokia.s60tools.crashanalyser.containers.Stack;
+import com.nokia.s60tools.crashanalyser.data.*;
+import com.nokia.s60tools.crashanalyser.model.*;
+import com.nokia.s60tools.crashanalyser.plugin.CrashAnalyserPlugin;
+
+/**
+ * A summary file is a crash file which has not been fully decoded.
+ * A summary file has been decoded without symbol information and it therefore
+ * does not contain stack information. A summary file is a base class for CrashFile. 
+ *
+ */
+public class SummaryFile extends CrashAnalyserFile implements IEditorInput {
+
+	// XML tags
+	public static final String TAG_SYMBOL_SET = "symbol_set";
+	public static final String TAG_SYMBOL = "symbol";
+	public static final String TAG_SOURCE = "source";
+	public static final String TAG_PROCESS = "process";
+	public static final String TAG_THREAD = "thread";
+	public static final String TAG_STACK = "stack";
+	public static final String TAG_SEG_STACKS = "seg_stacks";
+	public static final String TAG_ID = "id";
+	public static final String TAG_STACK_ENTRY = "stack_entry";
+	public static final String TAG_CODESEG = "codeseg";
+	public static final String TAG_REGISTER_SET = "register_set";
+	public static final String TAG_SEG_EVENT_LOG = "seg_event_log";
+	public static final String TAG_MESSAGE = "message";
+	public static final String TAG_VI_ENTRY = "vi_entry";
+	public static final String TAG_SOURCE_INFO = "source_info";
+	public static final String TAG_TYPE = "type";
+	public static final String TAG_SEGMENT = "segment";
+	public static final String TAG_MAJOR = "major";
+	public static final String TAG_MINOR = "minor";
+
+	// data from xml file
+	protected Map<Integer, Process> processes = null;
+	protected Map<Integer, Message> messages = null;
+	protected Map<Integer, Stack> stacks = null;
+	protected Map<Integer, RegisterSet> registerSets = null;
+	protected List<RegisterDetails> registerDetails = null;
+	protected EventLog eventLog = null;
+	protected Summary crashSummary = null;
+	protected String sourceFileType = "";
+	protected String sourceFileName = "";
+	protected String sourceFilePath = "";
+
+	/**
+	 * Constructor
+	 * @param filePath file path to this crash file
+	 * @param library error library
+	 */
+	protected SummaryFile(String filePath, ErrorLibrary library) {
+		super(filePath, library);
+	}
+	
+	/**
+	 * Returns the file type of this crash file.
+	 * @return "Decoded File"
+	 */
+	public String getFileType() {
+		return "Partially Decoded File";
+	}
+	
+	public String getSourceFileType() {
+		return sourceFileType;
+	}
+	
+	public String getSourceFileName() {
+		return sourceFileName;
+	}
+	
+	public String getSourceFilePath() {
+		return sourceFilePath;
+	}
+	
+	public List<Stack> getStandAloneStacks() {
+		if (stacks != null && !stacks.isEmpty()) {
+			return new ArrayList<Stack>(stacks.values());
+		}
+		
+		return null;
+	}
+	
+	public List<RegisterSet> getStandAloneRegisterSets() {
+		if (registerSets != null && !registerSets.isEmpty()) {
+			return new ArrayList<RegisterSet>(registerSets.values());
+		}
+		
+		return null;
+	}
+	
+	/**
+	 * Checks whether this file contains any error or warning messages.
+	 * @return true if file contains errors or warning, otherwise false is returned
+	 */
+	public boolean containsErrorsOrWarnings() {
+		List<Message> msgs = getMessages();
+		if (msgs != null && !msgs.isEmpty()) {
+			for (int i = 0; i < msgs.size(); i++) {
+				if (Message.MessageTypes.ERROR.equals(msgs.get(i).getMessageType()) ||
+					Message.MessageTypes.WARNING.equals(msgs.get(i).getMessageType()))
+				return true;
+			}
+		}
+		return false;
+	}
+	
+	/**
+	 * Returns all messages
+	 * @return all messages
+	 */
+	public List<Message> getMessages() {
+		List<Message> msgs = new ArrayList<Message>();
+		msgs.addAll(messages.values());
+		return msgs;
+	}
+
+	/**
+	 * Reads crash file
+	 * @param file crash file
+	 * @param library error library
+	 * @return read crash file or null
+	 */
+	public static SummaryFile read(File file, ErrorLibrary library) {
+		if (file == null || !file.exists() || !file.isFile())
+			return null;
+		
+		SummaryFile summaryFile = new SummaryFile(file.getAbsolutePath(), library);
+		summaryFile.doRead();
+		return summaryFile;
+	}
+	
+	/**
+	 * Reads crash file
+	 * @param folder where xml file is
+	 * @param library error library
+	 * @return read crash file or null
+	 */
+	public static SummaryFile read(String folder, ErrorLibrary library) {
+		String summaryFile = findFile(folder,"xml");
+		
+		// summary file doesn't exist
+		if (summaryFile == null)
+			return null;
+		
+		SummaryFile file = new SummaryFile(summaryFile, library);
+		file.doRead();
+		return file;
+	}
+
+	/**
+	 * Writes crash file into text or html file
+	 * @param filePathWithoutFileName file path where file is to be written to
+	 * @param html if false a .txt file is created. if true a .html file is created
+	 */
+	public void writeTo(String filePathWithoutFileName, boolean html) {
+		File file = new File(FileOperations.addSlashToEnd(filePathWithoutFileName) + 
+								FileOperations.getFileNameWithoutExtension(fileName) + ".txt");
+		if (html)
+			file = new File(FileOperations.addSlashToEnd(filePathWithoutFileName) + 
+								FileOperations.getFileNameWithoutExtension(fileName) + ".html");
+		writeTo(file);
+	}
+	
+	/**
+	 * Writes crash file into a file
+	 * @param file file to be written to (.xml, .crashxml, .html, . txt, etc)
+	 */
+	public void writeTo(File file) {
+		try {
+			// file is saved as .xml or .crashxml
+			if (file.getName().endsWith(CrashAnalyserFile.OUTPUT_FILE_EXTENSION) ||
+					file.getName().endsWith("."+CrashAnalyserFile.SUMMARY_FILE_EXTENSION)) {
+				FileOperations.copyFile(new File(filePath), file, true);
+			// file is saved as .txt or .html
+			} else {
+				BufferedWriter out = null;
+				try {
+					// Create file 
+					FileWriter fstream = new FileWriter(file, false);
+					out = new BufferedWriter(fstream);
+					
+					// check whether we are writing an html file
+					boolean html = false;
+					if (file.getName().toLowerCase().endsWith(".htm") ||
+							file.getName().toLowerCase().endsWith(".html"))
+						html = true;
+					
+					// if html file, write html start tags
+					if (html)
+						writeHtmlStart(out);
+
+					// write crash analyser file version data
+					writeVersion(out);
+
+					String panicDescription = "";
+
+					// write process & thread summary
+					Process process = getCrashedProcess();
+					if (process != null) {
+						writeLine(out, "Process", process.getName());
+
+						Thread thread = process.getFirstThread();
+						if (thread != null) {
+							writeLine(out, "Thread", thread.getFullName());
+							writeLine(out, "Stack Pointer", thread.getStackPointer());
+							writeLine(out, "Link Register", thread.getLinkRegister());
+							writeLine(out, "Program Counter", thread.getProgramCounter());
+							panicDescription = thread.getPanicDescription();
+						}
+					}
+					
+					// write crash summary to file
+					if (crashSummary != null) {
+						crashSummary.writeTo(out);
+						out.newLine();
+					}
+
+					if (html)
+						writeLine(out, "</pre><A HREF=\"#STACKPOINTER\">Current Stack Pointer</A><pre>");
+					
+					// write panic description if panic description exists. Panic description
+					// is written only to html file (not to .txt)
+					if (!"".equals(panicDescription) && html) {
+						writeLine(out, "</pre><h2>Panic Description</h2>");
+						writeLine(out, panicDescription);
+						writeLine(out, "<pre>");
+					}
+					
+					List<Message> msgs = getMessages();
+					// write errors and warnings to file
+					if (msgs != null && !msgs.isEmpty()) {
+						for (int i = 0; i < msgs.size(); i++) {
+							msgs.get(i).writeTo(out);
+						}
+						out.newLine();
+					}
+					
+					// write event log to file
+					if (eventLog != null)
+						eventLog.writeTo(out);					
+						
+					// write process data to file
+					if (process != null) {
+						process.writeTo(out, Process.StackItems.ALL, html);
+						out.newLine();
+					}
+
+					// if html file, write html end tags
+					if (html)
+						writeHtmlEnd(out);
+					
+				} catch (Exception e) {
+					e.printStackTrace();
+				} finally {
+					if (out != null)
+						out.close();
+				}
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * Writes CrashAnalyser version information.
+	 * @param out where to write
+	 * @throws IOException
+	 */
+	void writeVersion(BufferedWriter out) throws IOException {
+		String version = (String) CrashAnalyserPlugin.getDefault().getBundle().getHeaders().get("Bundle-Version"); //$NON-NLS-1$
+		out.write("Crash Report Created with Crash Analyser Carbide Extension " + version);
+		out.newLine();
+		out.write("----------------------------------------------------------------");
+		out.newLine();
+		out.newLine();
+	}
+	
+	/**
+	 * Writes html start tags
+	 * @param out where to write
+	 * @throws IOException
+	 */
+	void writeHtmlStart(BufferedWriter out) throws IOException {
+		out.write("<html><head><title>Crash File</title></head><body><pre>");
+		out.newLine();
+	}
+	
+	/**
+	 * Writes html end tags
+	 * @param out where to write
+	 * @throws IOException
+	 */
+	void writeHtmlEnd(BufferedWriter out) throws IOException {
+		out.newLine();
+		out.write("</pre></body></html>");
+		out.newLine();
+	}
+	
+	void writeLine(BufferedWriter out, String header, String value) throws IOException {
+		if (!"".equals(value)) {
+			out.write(String.format(Summary.FORMAT, header, value));
+			out.newLine();
+		}
+	}
+
+	void writeLine(BufferedWriter out, String line) throws IOException {
+		out.write(line);
+		out.newLine();
+	}
+
+	/**
+	 * Reads the file location of the given xml file
+	 * @param xmlFilePath path to xml file
+	 * @return file location or "".
+	 */
+	public static String getSourceFilePath(String xmlFilePath) {
+
+		try {
+			DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+
+			// Using factory get an instance of document builder
+			DocumentBuilder db = dbf.newDocumentBuilder();
+
+			// parse using builder to get DOM representation of the XML file
+			Document dom = db.parse(xmlFilePath);
+			 
+			// get the root element
+			Element docEle = dom.getDocumentElement();		
+			
+			// read source file name
+			NodeList nl = docEle.getElementsByTagName(TAG_SOURCE);
+			if (nl != null && nl.getLength() > 0) {
+				String sourcePath = XmlUtils.getNodeValue(nl.item(0));
+				if (sourcePath != null && !"".equals(sourcePath)) {
+					File f = new File(sourcePath);
+					if (f.exists() && f.isFile()) {
+						return sourcePath;
+					}
+				}
+			}
+		}catch(Exception e) {
+			e.printStackTrace();
+		}
+		
+		return "";
+	}
+	
+	@Override
+	protected void doRead() {
+		super.doRead();
+		
+		DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+
+		try {
+
+			// Using factory get an instance of document builder
+			DocumentBuilder db = dbf.newDocumentBuilder();
+
+			// parse using builder to get DOM representation of the XML file
+			Document dom = db.parse(filePath);
+			 
+			// get the root element
+			Element docEle = dom.getDocumentElement();		
+			
+			// read source file type
+			NodeList nl = docEle.getElementsByTagName(TAG_SOURCE_INFO);
+			if (nl != null && nl.getLength() > 0) {
+				sourceFileType = XmlUtils.getTextValue((Element)nl.item(0), TAG_TYPE);
+			}
+			
+			// read source file name
+			nl = docEle.getElementsByTagName(TAG_SOURCE);
+			if (nl != null && nl.getLength() > 0) {
+				String sourcePath = XmlUtils.getNodeValue(nl.item(0));
+				if (sourcePath != null && !"".equals(sourcePath)) {
+					File f = new File(sourcePath);
+					if (f.exists() && f.isFile()) {
+						sourceFileName = f.getName();
+						sourceFilePath = sourcePath;
+					}
+				}
+			}
+			
+			messages = new HashMap<Integer, Message>();
+			
+			// check that is the xml file newer than what we support
+			nl = docEle.getElementsByTagName(TAG_SEGMENT);
+			if (nl != null && nl.getLength() > 0) {
+				for (int i = 0; i < nl.getLength(); i++) {
+					// if major number is larger than what we support, add an error to messages
+					String major = XmlUtils.getTextValue((Element)nl.item(i), TAG_MAJOR);
+					if (!"1".equals(major)) {
+						messages.put(500, Message.newMessage(500, "Version Error", "XML file is newer than what is supported by this version of Crash Analyser.", Message.MessageTypes.ERROR));
+						break;
+					}
+					// if minor number is larger than what we support, add a warning to messages
+					String minor = XmlUtils.getTextValue((Element)nl.item(i), TAG_MINOR);
+					if (!"00".equals(minor)) {
+						messages.put(500, Message.newMessage(500, "Version Problem", "XML file has some new data which is not supported by this version of Crash Analyser.", Message.MessageTypes.WARNING));
+						break;
+					}
+				}
+			}
+			
+			// read summary data
+			crashSummary = Summary.read(docEle);
+
+			// read ROM id for this file
+			if (crashSummary != null) {
+				romId = crashSummary.getRomId();
+			}
+			
+			// read event log
+			nl = docEle.getElementsByTagName(TAG_SEG_EVENT_LOG);
+			if (nl != null && nl.getLength() > 0) {
+				eventLog = EventLog.read((Element)nl.item(0));
+			}
+			
+			// read messages from xml
+			nl = docEle.getElementsByTagName(TAG_MESSAGE);
+			if (nl != null && nl.getLength() > 0) {
+				for (int i = 0; i < nl.getLength(); i++) {
+					Element el = (Element)nl.item(i);
+					Message message = Message.read(el);
+					if (message != null)
+						messages.put(message.getId(), message);
+				}
+			}			
+			
+			Map<Integer, CodeSegment> codeSegments = new HashMap<Integer, CodeSegment>();
+			
+			// read code segments
+			nl = docEle.getElementsByTagName(TAG_CODESEG);
+			if (nl != null && nl.getLength() > 0) {
+				for (int i = 0; i < nl.getLength(); i++) {
+					Element el = (Element)nl.item(i);
+					CodeSegment codeSeg = CodeSegment.read(el, messages);
+					if (codeSeg != null)
+						codeSegments.put(codeSeg.getId(), codeSeg);
+				}
+			}
+
+			Map<Integer, Symbol> symbols = new HashMap<Integer, Symbol>();
+
+			// read symbols (Summary file won't have symbols, but this same method
+			// is used by CrashFile)
+			nl = docEle.getElementsByTagName(TAG_SYMBOL_SET);
+			if(nl != null && nl.getLength() > 0) {
+				// go throug all symbol_set tags
+				for(int i = 0 ; i < nl.getLength(); i++) {
+					// get the symbol_set element
+					Element el = (Element)nl.item(i);
+					NodeList childs = el.getChildNodes();
+					// if symbol set has child nodes
+					if (childs != null && childs.getLength() > 0) {
+						String source = "";
+						// go through all symbol_set child nodes
+						for(int k = 0; k < childs.getLength(); k++) {
+							Node child = childs.item(k);
+							// if node is source node
+							if (child.getNodeName() == TAG_SOURCE) {
+								source = child.getFirstChild().getNodeValue();
+							// if node is symbol node
+							} else if (child.getNodeName() == TAG_SYMBOL) {
+								Symbol symbol = Symbol.read((Element)child, source, codeSegments);
+								if (symbol != null)
+									symbols.put(symbol.getId(), symbol);
+							}
+						}
+					}
+				}
+			}
+					
+			registerSets = new HashMap<Integer, RegisterSet>();
+			Map<Integer, Register> allRegisters = new HashMap<Integer, Register>();
+			
+			// read register sets
+			nl = docEle.getElementsByTagName(TAG_REGISTER_SET);
+			if (nl != null && nl.getLength() > 0) {
+				for (int i = 0; i < nl.getLength(); i++) {
+					Element el = (Element)nl.item(i);
+					RegisterSet registerSet = RegisterSet.read(el, symbols, messages);
+					if (registerSet != null) {
+						registerSets.put(registerSet.getId(),registerSet);
+						
+						// read all individual registers from sets
+						List<Register> registers = registerSet.getRegisters();
+						for (int j = 0; j < registers.size(); j++) {
+							Register register = registers.get(j);
+							if (!allRegisters.containsKey(register.getId())) {
+								allRegisters.put(register.getId(), register);
+							}
+						}						
+					}
+				}
+			}
+			
+			stacks = new HashMap<Integer, Stack>();
+			
+			// read stacks
+			nl = docEle.getElementsByTagName(TAG_STACK);
+			if (nl != null && nl.getLength() > 0) {
+				for (int i = 0; i < nl.getLength(); i++) {
+					Element el = (Element)nl.item(i);
+					Stack stack = Stack.read(el, registerSets, allRegisters, symbols);
+					if (stack != null)
+						stacks.put(stack.getId(), stack);
+				}
+			}
+			
+			Map<Integer, Thread> threads = new HashMap<Integer, Thread>();
+			
+			// read threads
+			nl = docEle.getElementsByTagName(TAG_THREAD);
+			if (nl != null && nl.getLength() > 0) {
+				for (int i = 0; i < nl.getLength(); i++) {
+					Element el = (Element)nl.item(i);
+					Thread thread = Thread.read(el, registerSets, symbols, stacks, errorLibrary);
+					if (thread != null) {
+						threads.put(thread.getId(), thread);
+						stacks = thread.removeOwnStacks(stacks);
+						registerSets = thread.removeOwnRegisterSets(registerSets);
+					}
+				}
+			}
+			
+			processes = new HashMap<Integer, Process>();
+			
+			// read processes
+			nl = docEle.getElementsByTagName(TAG_PROCESS);
+			if (nl != null && nl.getLength() > 0) {
+				for (int i = 0; i < nl.getLength(); i++) {
+					Element el = (Element)nl.item(i);
+					Process process = Process.read(el, threads, codeSegments);
+					if (process != null)
+						processes.put(process.getId(), process);
+				}
+			}
+			
+			registerDetails = new ArrayList<RegisterDetails>();
+			
+			// read register details
+			nl = docEle.getElementsByTagName(TAG_VI_ENTRY);
+			if (nl != null && nl.getLength() > 0) {
+				for (int i = 0; i < nl.getLength(); i++) {
+					Element el = (Element)nl.item(i);
+					RegisterDetails details = RegisterDetails.read(el);
+					if (details != null)
+						registerDetails.add(details);
+				}
+			}
+
+			// if xml contained crash date and time, parse them into this.time
+			if (!"".equals(crashSummary.getCrashDate()) && !"".equals(crashSummary.getCrashTime()))
+				time = crashSummary.getCrashDate() + " " + crashSummary.getCrashTime();
+			
+			// set panic data
+			Process process = getCrashedProcess();
+			if (process != null) {
+				Thread firstThread = process.getFirstThread();
+				if (firstThread != null) {
+					panicCategory = firstThread.getExitCategory();
+					panicCode = firstThread.getExitReason();
+					threadName = firstThread.getFullName();
+				}
+			}
+
+			formatDescription();
+		}catch(Exception e) {
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * Formats a description for this crash. 
+	 */
+	void formatDescription() {
+		Thread thread = null;
+		
+		// get the first thread of the first process
+		if (processes != null && !processes.isEmpty()) {
+			Process[] processesArray = processes.values().toArray(new Process[processes.values().size()]);
+			Process process = processesArray[0];
+			thread = process.getFirstThread();
+		}
+		
+		description = HtmlFormatter.formatCrashFileDescription(crashSummary, getMessages(), thread);
+		shortDescription = HtmlFormatter.formatCrashFileDescription(crashSummary, null, thread);
+	}
+	
+	public Summary getSummary() {
+		return crashSummary;
+	}
+	
+	/**
+	 * Get crashed process
+	 * 
+	 * @return first process or null
+	 */
+	public Process getCrashedProcess() {
+		Process crashedProcess = null;
+		if (processes != null && !processes.isEmpty()) {
+			Process[] processesArray = processes.values().toArray(new Process[processes.values().size()]);
+			for (Process process : processesArray) {
+				for (Thread thread : process.getThreads()) {
+					String exitType = thread.getExitType();
+					if (exitType.equalsIgnoreCase("Panic") || exitType.equalsIgnoreCase("Exception")) {
+						crashedProcess = process;
+						break;
+					}					
+				}
+			}
+		}
+		return crashedProcess;
+	}
+	
+	public EventLog getEventLog() {
+		return eventLog;
+	}
+	
+	public List<RegisterDetails> getRegisterDetails() {
+		return registerDetails;
+	}
+	
+	public boolean exists() {
+		return true;
+	}
+
+	public ImageDescriptor getImageDescriptor() {
+		return null;
+	}
+
+	public String getName() {
+		return fileName;
+	}
+
+	public IPersistableElement getPersistable() {
+		return null;
+	}
+
+	public String getToolTipText() {
+		return "Partial Crash Analyser File";
+	}
+
+	@SuppressWarnings("unchecked")
+	public Object getAdapter(Class adapter) {
+		return null;
+	}	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/files/UndecodedFile.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.files;
+
+import com.nokia.s60tools.crashanalyser.data.*;
+
+/**
+ * This class represent an undecoded crash file such as MobileCrash.bin 
+ *
+ */
+public class UndecodedFile extends CrashAnalyserFile {
+
+	/**
+	 * Constructor
+	 * @param filePath file path to this crash file
+	 * @param library error library
+	 */
+	protected UndecodedFile(String filePath, ErrorLibrary library) {
+		super(filePath, library);
+	}
+	
+	/**
+	 * Returns the file type of this crash file.
+	 * @return E.g "MobileCrash", "D_EXC",
+	 */
+	public String getFileType() {
+		if (fileName.endsWith("."+CrashAnalyserFile.MOBILECRASH_FILE_EXTENSION) ||
+			fileName.endsWith("."+CrashAnalyserFile.TRACE_EXTENSION))
+			return "MobileCrash";
+		else
+			return "D_EXC";
+	}
+	
+	/**
+	 * Reads crash file
+	 * @param folder folder which contains one binary crash file which will be read
+	 * @return read crash file
+	 */
+	public static UndecodedFile read(String folder) {
+		String undecodedFile = findFile(folder, CrashAnalyserFile.MOBILECRASH_FILE_EXTENSION);
+		if (undecodedFile == null) {
+			undecodedFile = findFile(folder, CrashAnalyserFile.D_EXC_FILE_EXTENSION);
+		}
+		if (undecodedFile == null) {
+			undecodedFile = findFile(folder, CrashAnalyserFile.TRACE_EXTENSION);
+		}
+		
+//		if (undecodedFile == null) {
+//			undecodedFile = findFile(folder, CrashAnalyserFile.ELF_CORE_DUMP_FILE_EXTENSION); // core dump file will be support in later version
+//		}
+		
+		// undecoded file doesn't exist
+		if (undecodedFile == null)
+			return null;
+		
+		UndecodedFile file = new UndecodedFile(undecodedFile, null);
+		file.doRead();
+		return file;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/handlers/SdkSelectionHandler.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.handlers;
+
+import org.eclipse.core.commands.*;
+import org.eclipse.swt.widgets.*;
+
+import com.nokia.s60tools.crashanalyser.model.SourceSdkManager;
+
+/**
+ * A class for handling SDK selection. 
+ *
+ */
+public class SdkSelectionHandler extends AbstractHandler {
+
+	/**
+	 * This method gets called when user selects an SDK from a pop-up menu.
+	 */
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		Event e = (Event)event.getTrigger();
+		MenuItem item = (MenuItem)e.widget;
+		String sdkName = item.getText();
+		SourceSdkManager.setSdk(sdkName);
+		return null;
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/interfaces/IDecodingObserver.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+package com.nokia.s60tools.crashanalyser.interfaces;
+
+import com.nokia.s60tools.crashanalyser.files.*;
+/**
+ * Observer which is used to inform when decoding of crash files is
+ * finished.
+ * 
+ */
+public interface IDecodingObserver {
+	public void decodingFinished(String error, CrashAnalyserFile decodedFile);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/interfaces/IErrorLibraryObserver.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.interfaces;
+
+/**
+ * Observer which is used to inform when error library is ready to be used i.e
+ * when error library has finished reading all panic&error description xml files.
+ *
+ */
+public interface IErrorLibraryObserver {
+	public void errorLibraryReady();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/interfaces/INewCrashFilesObserver.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.interfaces;
+
+/**
+ * Observer which is used to inform when there are new crash files available
+ * or when a crash files have been updated. E.g. MainForm will get these notifications
+ * so that it knows to update main grid.
+ *
+ */
+public interface INewCrashFilesObserver {
+	public void crashFilesUpdated();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/CrashFileBundle.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,612 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import com.nokia.s60tools.crashanalyser.files.*;
+import com.nokia.s60tools.crashanalyser.data.*;
+import java.io.*;
+
+/**
+ * CrashFileBundle class bundles up one folder under Crash Analyser plugin's folder. I.e. one
+ * CrashFileBundle is one row in MainView. A bundle can contain an undecoded MobileCrash file, 
+ * decoded .crashxml file, partially decoded .crashxml file or an emulator panic xml file. Or a 
+ * combination of these. 
+ * 
+ * All of the files listed above are found e.g. from 
+ * c:\my_carbide_workspace\.metadata\.plugins\com.nokia.s60tools.crashanalyser\CrashFiles\[bundle_folder].
+ * One bundle contains all files under one [bundle_folder]. 
+ * 
+ * Bundle can also be an empty bundle, so that 'No crash files found' row can be shown in MainView.
+ * 
+ * Bundle can also be a waiting bundle, so that 'Loading files. Please wait' row can be shown in MainView.
+ *
+ */
+public class CrashFileBundle {
+
+	public static final int INDEX_TIME = 0;
+	public static final int INDEX_THREAD = 1;
+	public static final int INDEX_PANIC_CATEGORY = 2;
+	public static final int INDEX_PANIC_CODE = 3;
+	public static final int INDEX_FILE_NAME = 4;
+	public static final String EXTENSION_HTML = ".htm";
+	
+	/**
+	 * A binary crash file 
+	 */
+	UndecodedFile undecodedFile = null;
+	
+	/**
+	 * Fully decoded crash file 
+	 */
+	CrashFile crashxmlFile = null;
+	
+	/**
+	 * Partially decoded crash file 
+	 */
+	SummaryFile summaryFile = null;
+
+	/**
+	 * A xml file which contains information about one emulator panic
+	 */
+	PanicFile emulatorPanicFile = null;
+	
+	/**
+	 * Bundle name for an empty or waiting bundle  
+	 */
+	String bundleName = "";
+	
+	/**
+	 * Folder where all bundle's files can be found from
+	 */
+	String bundleFolder = "";
+	
+	/**
+	 * If true, bundle is an empty or waiting bundle
+	 */
+	boolean emptyFile = false;
+	
+	/**
+	 * Directory from where files in this bundle originally came from.
+	 * This data is not always present.
+	 */
+	String originatingDirectory = "";
+	
+	/**
+	 * Used for creating an empty or waiting bundle
+	 * @param empty If true, an empty bundle is created. If false, a waiting bundle is created. 
+	 */
+	public CrashFileBundle(boolean empty) {
+		if (empty)
+			bundleName = "No Crash Files Found.";
+		else
+			bundleName = "Loading files. Please wait.";
+		emptyFile = true;
+	}
+	
+	/**
+	 * Creates a bundle from folder
+	 * @param folder Bundle folder. Bundle's file will be read from here.
+	 * @param library ErrorLibrary instance
+	 */
+	public CrashFileBundle(String folder, ErrorLibrary library) {
+		bundleFolder = FileOperations.addSlashToEnd(folder);
+		undecodedFile = UndecodedFile.read(bundleFolder);
+		crashxmlFile = CrashFile.read(bundleFolder, library);
+		emulatorPanicFile = PanicFile.read(bundleFolder, library);
+		summaryFile = SummaryFile.read(bundleFolder, library);
+		originatingDirectory = folder;
+	}
+	
+	/**
+	 * Initialise bundle with already read Crash file
+	 * @param file crash file
+	 */
+	public CrashFileBundle(CrashFile file, String originalDirectory) {
+		crashxmlFile = file;
+		originatingDirectory = originalDirectory;
+	}
+	
+	/**
+	 * Initialise bundle with already read Summary file
+	 * @param file summary file
+	 */
+	public CrashFileBundle(SummaryFile file, String originalDirectory) {
+		summaryFile = file;
+		originatingDirectory = originalDirectory;
+	}
+
+	protected CrashFileBundle(String folder) {
+		bundleFolder = FileOperations.addSlashToEnd(folder);
+	}
+
+	/**
+	 * Creates a dummy bundle, which can be used e.g. for comparison reasons.
+	 * A dummy bundle can be compared to another bundle.
+	 * @param folder bundle folder
+	 * @return crash file bundle
+	 */
+	public static CrashFileBundle createDummyBundle(String folder) {
+		return new CrashFileBundle(folder);
+	}
+	
+	/**
+	 * MainView can use this to get description for each column in the grid
+	 * @param index index of the column
+	 * @return value for asked column
+	 */
+	public String getText(int index) {
+		String retval = "";
+		switch (index) {
+			case INDEX_TIME:
+				retval = getTime();
+				break;
+				
+			case INDEX_THREAD:
+				retval = getThreadName();
+				break;
+				
+			case INDEX_PANIC_CATEGORY:
+				retval = getPanicCategory();
+				break;
+				
+			case INDEX_PANIC_CODE:
+				retval = getPanicCode();
+				break;
+			
+			case INDEX_FILE_NAME:
+				retval = getFileName();
+				break;
+			
+			default:
+				break;
+		}
+		
+		return retval;
+	}
+	
+	/**
+	 * Returns the file name for this bundle. File name depends on what types
+	 * of files this bundle contains (or if this bundle is an empty or waiting bundle).
+	 *   
+	 * @return the file name for this bundle.
+	 */
+	public String getFileName() {
+		if (emptyFile)
+			return bundleName;
+		
+		String retval = "";
+		if (undecodedFile != null) {
+			retval = undecodedFile.getFileName();
+		} else if (crashxmlFile != null) {
+			retval = crashxmlFile.getFileName();
+		} else if (summaryFile != null) {
+			retval = summaryFile.getFileName();
+		} else if (emulatorPanicFile != null) {
+			retval = "Emulator Panic";
+		}
+		return retval;
+	}
+	
+	/**
+	 * Returns the name of .crashxml or .xml file is they exists
+	 * @return the name of .crashxml or .xml file is they exists
+	 */
+	public String getAnalyzeFileName() {
+		String retval = "";
+		if (crashxmlFile != null) {
+			retval = crashxmlFile.getFileName();
+		} else if (summaryFile != null) {
+			retval = summaryFile.getFileName();
+		}
+		return retval;
+	}
+
+	/**
+	 * Returns the panic code of this bundle. Panic code is available 
+	 * only if bundle contains decoded files or emulator panic.
+	 * 
+	 * @return panic code or empty
+	 */
+	public String getPanicCode() {
+		if (emptyFile)
+			return "";
+		
+		String retval = "";
+		if (crashxmlFile != null) {
+			retval = crashxmlFile.getPanicCode();
+		} else if (summaryFile != null) {
+			retval = summaryFile.getPanicCode();
+		} else if (emulatorPanicFile != null) {
+			retval = emulatorPanicFile.getPanicCode();
+		}
+		
+		return retval;
+	}
+
+	/**
+	 * Returns the panic category of this bundle. Panic category is available 
+	 * only if bundle contains decoded files or emulator panic.
+	 * 
+	 * @return panic category or empty
+	 */
+	public String getPanicCategory() {
+		if (emptyFile)
+			return "";
+		
+		String retval = "";
+		if (crashxmlFile != null) {
+			retval = crashxmlFile.getPanicCategory();
+		} else if (summaryFile != null) {
+			retval = summaryFile.getPanicCategory();
+		} else if (emulatorPanicFile != null) {
+			retval = emulatorPanicFile.getPanicCategory();
+		} else if (undecodedFile != null) {
+			retval = "Unknown";
+		}
+		
+		return retval;
+	}
+	
+	/**
+	 * Returns the name of the paniced thread. Thread name is available
+	 * only if bundle contains decoded files or emulator panic.
+	 * 
+	 * @return paniced thread name or empty
+	 */
+	public String getThreadName() {
+		if (emptyFile)
+			return "";
+		
+		String retval = "";
+		if (crashxmlFile != null) {
+			retval = crashxmlFile.getThreadName();
+		} else if (summaryFile != null) {
+			retval = summaryFile.getThreadName();
+		} else if (emulatorPanicFile != null) {
+			retval = emulatorPanicFile.getThreadName();
+		} else if (undecodedFile != null) {
+			retval = "Unknown";
+		}
+		
+		return retval;
+	}
+	
+	/**
+	 * Returns the time of a crash. Crash time is not always available
+	 * (even in decoded crash files).  If crash time is not available,  
+	 * the creation time of the crash file is returned.
+	 * 
+	 * @return crash time
+	 */
+	public String getTime() {
+		if (emptyFile)
+			return "";
+		
+		String retval = "";
+		if (crashxmlFile != null) {
+			retval = crashxmlFile.getTime();
+			// crashxml does not always contain time
+			if ("".equals(retval)) {
+				// try to read time: when undecoded file was created
+				if (undecodedFile != null) {
+					retval = undecodedFile.getTime();
+				// there was no undecoded file, read time: when crashxml file was created
+				} else {
+					retval = crashxmlFile.getCreated();
+				}
+			}
+		}
+		else if (summaryFile != null) {
+			retval = summaryFile.getTime();
+			// summary does not always contain time
+			if ("".equals(retval)) {
+				// try to read time: when undecoded file was created
+				if (undecodedFile != null) {
+					retval = undecodedFile.getCreated();
+				// there was no undecoded file, read time: when summary.xml file was created
+				} else {
+					retval = summaryFile.getCreated();
+				}
+			}
+		} else if (undecodedFile != null) {
+			retval = undecodedFile.getCreated();
+		} else if (emulatorPanicFile != null) {
+			retval = emulatorPanicFile.getTime();
+			if ("".equals(retval))
+				retval = emulatorPanicFile.getCreated();
+		}
+		
+		return retval;
+	}
+	
+	/**
+	 * Returns the crash files ROM ID if available.
+	 * @return ROM ID or empty
+	 */
+	public String getRomId() {
+		if (isEmpty())
+			return "";
+		
+		if (crashxmlFile != null) {
+			return crashxmlFile.getRomId();
+		} else if (summaryFile != null) {
+			return summaryFile.getRomId();
+		} else {
+			return "";
+		}
+	}
+	
+	/**
+	 * Returns whether this is an empty or waiting bundle.
+	 * @return true if bundle is empty or waiting, false if not.
+	 */
+	public boolean isEmpty() {
+		return emptyFile;
+	}
+	
+	/**
+	 * Returns whether this bundle contains an emulator panic
+	 * @return true if this bundle contains an emulator panic, false if not
+	 */
+	public boolean isEmulatorPanic() {
+		if (emulatorPanicFile != null)
+			return true;
+		
+		return false;
+	}
+	
+	/**
+	 * Returns whether this bundle contains a fully decoded crash file (.crashxml)
+	 * @return true if this bundle contains a fully decoded crash file, false if not
+	 */
+	public boolean isFullyDecoded() {
+		if (crashxmlFile != null) 
+			return true;
+		
+		return false;
+	}
+	
+	/**
+	 * Returns whether this bundle contains a partially decoded crash file (.xml)
+	 * @return true if this bundle contains a partially decoded crash file, false if not
+	 */
+	public boolean isPartiallyDecoded() {
+		if (summaryFile != null)
+			return true;
+		
+		return false;
+	}
+	
+	/**
+	 * Returns whether this bundle contains any files.
+	 * @return true if bundle contains files, false if not
+	 */
+	public boolean hasFiles() {
+		if (crashxmlFile != null || summaryFile != null ||
+			emulatorPanicFile != null || undecodedFile != null)
+			return true;
+		
+		return false;
+	}
+	
+	/**
+	 * Returns whether this bundle contains xml files (.crashxml or .xml).
+	 * @return true if bundle contains files, false if not
+	 */
+	public boolean hasXml() {
+		if (crashxmlFile != null || summaryFile != null)
+			return true;
+			
+		return false;
+	}
+	
+	/**
+	 * Returns undecoded crash file if exists
+	 * @return undecoded crash file or null
+	 */
+	public UndecodedFile getUndecodedFile() {
+		return undecodedFile;
+	}
+	
+	/**
+	 * Returns fully decoded crash file if exists
+	 * @return fully decoded crash file or null
+	 */
+	public CrashFile getCrashFile() {
+		return crashxmlFile;
+	}
+	
+	/**
+	 * Returns partially decoded crash file if exists
+	 * @return partially decoded crash file or null
+	 */
+	public SummaryFile getSummaryFile() {
+		return summaryFile;
+	}
+	
+	/**
+	 * Returns the directory from where the files in this bundle
+	 * originally came from. This information is not always available.
+	 * @return directory from where the files in this bundle originally came from. 
+	 */
+	public String getOriginatingDirectory() {
+		return originatingDirectory;
+	}
+	
+	/**
+	 * Returns the location for .xml or .crashxml of this bundle.
+	 * @return the location for .xml or .crashxml of this bundle.
+	 */
+	public String getXmlFilePath() {
+		String retval = "";
+		
+		if (crashxmlFile != null) {
+			retval = FileOperations.addSlashToEnd(bundleFolder) + crashxmlFile.getFileName();
+		} else if (summaryFile != null) {
+			retval = FileOperations.addSlashToEnd(bundleFolder) + summaryFile.getFileName();
+		}
+		
+		return retval;
+	}
+	
+	/**
+	 * Deletes this bundle. I.e deletes all files under this
+	 * bundle's folder and finally deletes the bundle folder
+	 */
+	public void delete() {
+		try {
+			if (!"".equals(bundleFolder)) {
+				FileOperations.deleteFolder(bundleFolder);
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * Tests whether this bundle still exists in the drive.
+	 * If bundle is empty or waiting, true is always returned. 
+	 * 
+	 * @return true if bundle exists, false if not.
+	 */
+	public boolean exists() {
+		if (isEmpty())
+			return true;
+		
+		try {
+			File f = new File(bundleFolder);
+			if (f.isDirectory() && f.exists())
+				return true;
+		} catch (Exception e) {
+			return false;
+		}
+		
+		return false;
+	}
+	
+	/**
+	 * Returns a description for this bundle. The description depends on which
+	 * files this bundle contains.
+	 * 
+	 * @param full defines whether a full description or short description should be returned.
+	 * @return file description
+	 */
+	public String getDescription(boolean full) {
+		if (isEmpty())
+			return "";
+			
+		if (crashxmlFile != null) {
+			if (full)
+				return crashxmlFile.getDescription();
+			else
+				return crashxmlFile.getShortDescription();
+		} else if (summaryFile != null) {
+			if (full)
+				return summaryFile.getDescription();
+			else
+				return summaryFile.getShortDescription();
+		} else if (emulatorPanicFile != null) {
+			return emulatorPanicFile.getDescription();
+		} else {
+			return "";
+		}
+	}
+	
+	/**
+	 * Returns this bundle's folder
+	 * @return bundle's folder or empty
+	 */
+	protected String getBundleFolder() {
+		return bundleFolder;
+	}
+	
+	/**
+	 * Returns html file if this bundle is a .crashxml or .xml file.
+	 * @param create defines whether the html file should be generated if it doesn't exist, or not
+	 * @return html file if success, null if not
+	 */
+	public File getHtmlFile(boolean create) {
+		File htmlFile = null;
+		
+		// we have .crashxml file
+		if (crashxmlFile != null) {
+			String crashxml = FileOperations.addSlashToEnd(bundleFolder) + 
+							  								crashxmlFile.getFileName() +
+							  								EXTENSION_HTML;
+			htmlFile = new File(crashxml);
+			// if html file doesn't exists, create it
+			if (!htmlFile.exists() && create) {
+				crashxmlFile.writeTo(htmlFile);
+				htmlFile = new File(crashxml);
+				// creation of html failed
+				if (!htmlFile.exists())
+					htmlFile = null;
+			}
+		// we have .xml file
+		} else if (summaryFile != null) {
+			String crashxml = FileOperations.addSlashToEnd(bundleFolder) + 
+															summaryFile.getFileName() +
+															EXTENSION_HTML;
+			// if html file doesn't exists, create it
+			htmlFile = new File(crashxml);
+			if (!htmlFile.exists() && create) {
+				summaryFile.writeTo(htmlFile);
+				htmlFile = new File(crashxml);
+				// creation of html failed
+				if (!htmlFile.exists())
+					htmlFile = null;
+			}
+		}
+		
+		return htmlFile;
+	}
+	
+	/**
+	 * Saves .crashxml or .xml as given html file. This is done only if this
+	 * bundle contains .crashxml or .xml files
+	 * @param destinationFile html file for save as
+	 * @return true if success, false if not
+	 */
+	public boolean saveAsHtml(File destinationFile) {
+		File htmlFile = getHtmlFile(true);
+		if (htmlFile != null)
+			return FileOperations.copyFile(htmlFile, destinationFile, true);
+		return false;
+	}
+	
+	/**
+	 * Checks if bundles are equal. Two bundles are equal if
+	 * their bundleFolder is the same.
+	 */
+	public boolean equals(Object other) {
+		if (this == other)
+			return true;
+		
+		if (!(other instanceof CrashFileBundle))
+			return false;
+		
+		CrashFileBundle othr = (CrashFileBundle)other;
+		if (bundleFolder.compareToIgnoreCase(othr.getBundleFolder()) == 0)
+			return true;
+		return false;
+	}
+	
+	public int hashCode() {
+		return 0;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/CrashFileManager.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,227 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import java.io.*;
+import java.util.*;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.ILock;
+import org.eclipse.swt.widgets.Display;
+import com.nokia.s60tools.crashanalyser.data.*;
+import com.nokia.s60tools.crashanalyser.interfaces.*;
+
+/**
+ * This class is responsible for providing crash files to MainView's content provider.
+ * This class read workspace specific crash files from disk and prepares them for main view. 
+ *
+ */
+public class CrashFileManager extends Job {
+	List<CrashFileBundle> crashFiles = null;
+	INewCrashFilesObserver filesObserver = null;
+	ErrorLibrary errorLibrary = null;
+	ILock accessLock = null;
+	boolean restart = false;
+	boolean jobRunning = false;
+	
+	/**
+	 * Constructor
+	 * @param observer observer for new files
+	 */
+	public CrashFileManager(INewCrashFilesObserver observer) {
+		super("CrashAnalyser - Reading Files");
+		filesObserver = observer;
+		accessLock = Job.getJobManager().newLock();
+		setPriority(Job.LONG);
+		setUser(false);
+	}
+	
+	protected IStatus run(IProgressMonitor monitor) {
+		accessLock.acquire();
+		try {
+			jobRunning = true;
+			// create array for crash files if it doesn't exist yet
+			if (crashFiles == null) {
+				crashFiles = new ArrayList<CrashFileBundle>();
+			// array exists, remove non-existing files
+			} else {
+				
+				// remove no longer existing files
+				for (int i = 0; i < crashFiles.size(); i++) {
+					CrashFileBundle file = crashFiles.get(i);
+					if (!file.exists()) {
+						crashFiles.remove(i);
+						i--;
+					}
+				}
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		} finally {
+			accessLock.release();
+		}
+		
+		// get crash files folder e.g. C:\My_Workspace\.metadata\.plugins\com.nokia.s60tools.crashanalyser\CrashFiles
+		File cFilesFolder = new File(DecoderEngine.getCrashFilesFolder());
+		if (cFilesFolder.exists() && cFilesFolder.isDirectory()) {
+			// get crash file folders (CrashFiles are under numeric folders, e.g. ..\CrashFiles\1, ...\CrashFiles\2, etc.
+			File[] folders = cFilesFolder.listFiles();
+			if (folders != null) {
+				// go through all folders
+				for (int j = 0; j < folders.length; j++) {
+					File cFolder = folders[j];
+					if (cFolder.isDirectory()) {
+						accessLock.acquire();
+						try {
+							// create dummy bundle for comparing purposes
+							CrashFileBundle dummy = CrashFileBundle.createDummyBundle(cFolder.getAbsolutePath());
+							// if array already contains this bundle, remove it and add it again, so that data is updated 
+							if (crashFiles.contains(dummy)) {
+								accessLock.release();
+								CrashFileBundle bundle = new CrashFileBundle(cFolder.getAbsolutePath(), errorLibrary);
+								if (bundle.hasFiles()) {
+									accessLock.acquire();
+									crashFiles.remove(dummy);
+									crashFiles.add(bundle);
+								}
+							// array doesn't contain this bundle, add it
+							} else {
+								accessLock.release();
+								CrashFileBundle bundle = new CrashFileBundle(cFolder.getAbsolutePath(), errorLibrary);
+								if (bundle.hasFiles()) {
+									accessLock.acquire();
+									crashFiles.add(bundle);
+								}
+							}
+						} catch (Exception e) {
+							e.printStackTrace();
+						} finally {
+							accessLock.release();
+						}
+					}
+				}
+			}
+		}
+		
+		// notify observer to update it's view
+		filesObserver.crashFilesUpdated();
+		
+		accessLock.acquire();
+		// we have received new files while reading files, 
+		// read files immediately again
+		if (restart) {
+			restart = false;
+			accessLock.release();
+			reSchedule();
+		} else {
+			jobRunning = false;
+			accessLock.release();
+		}
+		
+		return Status.OK_STATUS;
+	}
+
+	/**
+	 * Schedules job asynchronously
+	 */
+	void reSchedule() {
+		Runnable refreshRunnable = new Runnable(){
+			public void run(){
+				schedule(100);
+			}
+		};
+		
+		Display.getDefault().asyncExec(refreshRunnable);        		
+	}
+	
+	/**
+	 * Returns all read crash files. Can also return "No files"-bundle or "Waiting"-bundle.
+	 * @param library error library
+	 * @return list of crash files
+	 */
+	public CrashFileBundle[] getCrashFiles(ErrorLibrary library) {
+		try {
+			// do nothing until we get a valid ErrorLibrary, return "Waiting"-bundle
+			if (library == null) {
+				CrashFileBundle[] cFiles = new CrashFileBundle[1];
+				cFiles[0] = new CrashFileBundle(false);
+				return cFiles;
+			}
+			
+			// crash files has not yet been read, start reading process,
+			// and return "reading files"-bundle.
+			if (crashFiles == null) {
+				errorLibrary = library;
+				reSchedule();
+				CrashFileBundle[] cFiles = new CrashFileBundle[1];
+				cFiles[0] = new CrashFileBundle(false);
+				return cFiles;
+			// files are up to date, return files
+			} else {
+				accessLock.acquire();
+				try {
+					// there are no files, return "No files"-bundle
+					if (crashFiles.isEmpty()) {
+						CrashFileBundle[] cFiles = new CrashFileBundle[1];
+						cFiles[0] = new CrashFileBundle(true);
+						return cFiles;
+					// there are files, return them
+					} else {
+						return crashFiles.toArray(new CrashFileBundle[crashFiles.size()]);
+					}
+				} catch (Exception e) {
+					e.printStackTrace();
+				} finally {
+					accessLock.release();
+				}
+				
+				// if something went wrong, return "No files"-bundle 
+				CrashFileBundle[] cFiles = new CrashFileBundle[1];
+				cFiles[0] = new CrashFileBundle(true);
+				return cFiles;
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+			return null;
+		}
+	}
+	
+	/**
+	 * Starts reading all files from files system
+	 */
+	public void refresh() {
+		accessLock.acquire();
+		try {
+			// if we are currently reading files, 
+			if (jobRunning) {
+				restart = true;
+			// we are not reading files at the moment, schedule job
+			} else {
+				if (errorLibrary != null) {
+					reSchedule();
+				}
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		} finally {
+			accessLock.release();
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/DecoderEngine.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,802 @@
+/*
+ * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import java.io.*;
+import com.nokia.s60tools.crashanalyser.files.*;
+import com.nokia.s60tools.crashanalyser.interfaces.IDecodingObserver;
+import com.nokia.s60tools.crashanalyser.plugin.*;
+import com.nokia.s60tools.crashanalyser.corecomponents.interfaces.CommandLineManager;
+import com.nokia.s60tools.crashanalyser.data.*;
+import java.util.ArrayList;
+import java.util.List;
+import org.eclipse.core.runtime.*;
+import org.eclipse.core.runtime.jobs.Job;
+
+/**
+ * This class handles the actual decoding Crash files process. Data entered by
+ * user in Wizard pages are passed to this class and this class then handles it
+ * properly.
+ * 
+ */
+public class DecoderEngine extends Job {
+	protected static final String TOOLS_FOLDER = "tools";
+	protected static final String WORK_FOLDER = "work";
+	protected static final String TEMPORARY_FOLDER = "temp";
+	protected static final String CRASH_FILES_FOLDER = "CrashFiles";
+	protected static final String MAP_FILES_ZIP_FOLDER = "MapFilesZip";
+	protected static final String SELGE_EVENT_INI = "selge_event.ini";
+	protected static final String ERROR_FILE_EXTENSION = "error";
+	protected static final int MAX_FILE_COUNT = 500;
+
+	public static enum PathTypes {
+		CRASH, SYMBOL
+	}
+
+	private List<CrashFileBundle> crashFiles = null;
+	private IDecodingObserver decodingObserver = null;
+	private DecodingData decodingData = null;
+
+	/**
+	 * Constructor
+	 */
+	public DecoderEngine() {
+		super("Handling Crash Files (Note! This might take several minutes)");
+	}
+
+	/**
+	 * Returns path where selge_event.ini
+	 * 
+	 * @return path where selge_event.ini is located
+	 */
+	public static String getSelgeEventIniFile() {
+		return FileOperations.addSlashToEnd(CrashAnalyserPlugin
+				.getPluginInstallPath())
+				+ FileOperations.addSlashToEnd(TOOLS_FOLDER) + SELGE_EVENT_INI;
+	}
+
+	/**
+	 * Checks whether given file is a known crash file
+	 * 
+	 * @param file
+	 *            crash file
+	 * @return true if file seems to be a known crash file, false if not
+	 */
+	public static boolean isFileValidCrashFile(String file) {
+		return isFileValidCrashFile(new File(file));
+	}
+
+	/**
+	 * Checks whether given file is a known crash file
+	 * 
+	 * @param file
+	 *            crash file
+	 * @return true if file seems to be a known crash file, false if not
+	 */
+	public static boolean isFileValidCrashFile(File file) {
+		try {
+			// file must be a file and it must exist
+			if (file.isFile() && file.exists()) {
+				String fileName = file.getName();
+				// file extension must match known extension types
+				if (fileName
+						.endsWith(CrashAnalyserFile.MOBILECRASH_FILE_EXTENSION)
+						|| fileName
+								.endsWith(CrashAnalyserFile.OUTPUT_FILE_EXTENSION)
+						|| fileName
+								.endsWith(CrashAnalyserFile.D_EXC_FILE_EXTENSION)
+						|| fileName
+								.endsWith(CrashAnalyserFile.ELF_CORE_DUMP_FILE_EXTENSION))
+					return true;
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return false;
+	}
+
+	/**
+	 * Checks if given path contains any Crash files.
+	 * 
+	 * @param path
+	 *            from where Crash files should be found
+	 * @return true if given path contains Crash files, false if not
+	 */
+	protected boolean isCrashPathValid(String path) {
+		try {
+			File file = new File(path);
+			if (!file.isDirectory())
+				return false;
+
+			// We are looking for files *.bin, or *.txt or *.crashxml
+			FilenameFilter filter = new FilenameFilter() {
+				public boolean accept(File dir, String name) {
+					return (name
+							.endsWith(CrashAnalyserFile.MOBILECRASH_FILE_EXTENSION)
+							|| name
+									.endsWith(CrashAnalyserFile.OUTPUT_FILE_EXTENSION)
+							|| name
+									.endsWith(CrashAnalyserFile.D_EXC_FILE_EXTENSION)
+							|| name
+									.endsWith(CrashAnalyserFile.ELF_CORE_DUMP_FILE_EXTENSION));
+				}
+			};
+			File[] files = file.listFiles(filter);
+			if (files != null && files.length > 0)
+				return true;
+
+			return false;
+		} catch (Exception e) {
+			return false;
+		}
+	}
+
+	/**
+	 * Returns an empty working folder under workspace.
+	 * 
+	 * @param clean
+	 *            defines whether the folder should be cleared
+	 * @return E.g.
+	 *         C:\My_Workspace\.metadata\.plugins\com.nokia.s60tools.crashanalyser
+	 *         \work\
+	 */
+	public static String getWorkingFolder(boolean clean) {
+		String workingFolder = FileOperations
+				.addSlashToEnd(getPluginWorkingLocation());
+		workingFolder += FileOperations.addSlashToEnd(WORK_FOLDER);
+		// creates the folder. if the folder already exists, deletes its content
+		FileOperations.createFolder(workingFolder, clean);
+		return workingFolder;
+	}
+
+	/**
+	 * Creates a new folder for crash file. E.g.
+	 * C:\My_Workspace\.metadata\.plugins
+	 * \com.nokia.s60tools.crashanalyser\CrashFiles\5\
+	 * 
+	 * @return created folder, or null if failed
+	 */
+	public static String getNewCrashFolder() {
+		String crashFilesFolder = FileOperations
+				.addSlashToEnd(getCrashFilesFolder());
+		for (int i = 1; i < MAX_FILE_COUNT; i++) {
+			File freeFolder = new File(crashFilesFolder + Integer.toString(i));
+			if (!freeFolder.exists()) {
+				FileOperations.createFolder(freeFolder.getAbsolutePath());
+				return freeFolder.getAbsolutePath();
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * Creates a new folder for temporary crash files. This folder is used for
+	 * crash files which are read from device.
+	 * 
+	 * @param clean
+	 *            defines whether the folder should be cleared
+	 * @return E.g.
+	 *         C:\My_Workspace\.metadata\.plugins\com.nokia.s60tools.crashanalyser
+	 *         \temp
+	 */
+	public static String getTemporaryCrashFileFolder(boolean clean) {
+		String tempFolder = FileOperations
+				.addSlashToEnd(getPluginWorkingLocation());
+		tempFolder += TEMPORARY_FOLDER;
+		// creates the folder. if the folder already exists, deletes its content
+		FileOperations.createFolder(tempFolder, clean);
+		return tempFolder;
+	}
+
+	/**
+	 * Checks whether given path is valid (i.e. contains correct files etc)
+	 * 
+	 * @param path
+	 *            path to be checked
+	 * @param pathType
+	 *            defines "how" the path is validated
+	 * @return true if path is valid, false if not
+	 */
+	public boolean isPathValid(String path, PathTypes pathType) {
+
+		boolean retVal = false;
+
+		if (PathTypes.CRASH.equals(pathType))
+			retVal = isCrashPathValid(path);
+
+		return retVal;
+	}
+
+	/**
+	 * Decoder Engine owns crash files which are being handled by Crash Analyser
+	 * wizard. This will get all files which are currently being handled.
+	 * 
+	 * @return list of crash files.
+	 */
+	public List<CrashFileBundle> getCrashFiles() {
+		return crashFiles;
+	}
+
+	/**
+	 * This method is used to set crash files which are to be decoded. This
+	 * method is used when user has selected files to be re-decoded.
+	 * 
+	 * @param files
+	 *            files to be decoded
+	 */
+	public void setCrashFiles(List<CrashFileBundle> files) {
+		crashFiles = files;
+	}
+
+	/**
+	 * This method executes CrashAnalyser.exe for summary information for given
+	 * file or folder.
+	 * 
+	 * @param fileOrFolder
+	 *            a file or a folder
+	 * @param errorLibrary
+	 *            Error Library
+	 * @param progress
+	 *            progress monitor
+	 * @return true if any files were found for summary info, false if not
+	 */
+	public boolean processSummaryInfoForFiles(String fileOrFolder,
+			ErrorLibrary errorLibrary, IProgressMonitor progress) {
+		if (crashFiles != null)
+			crashFiles.clear();
+		String workingFolder = DecoderEngine.getWorkingFolder(true);
+		if (!"".equals(fileOrFolder)) {
+
+			String originatingDirectory = fileOrFolder;
+
+			File f = new File(fileOrFolder);
+			// if only one .crashxml file is selected, no need to run command
+			// line
+			if (f.isFile()
+					&& fileOrFolder
+							.endsWith(CrashAnalyserFile.OUTPUT_FILE_EXTENSION)) {
+				FileOperations.copyFile(f, workingFolder, true);
+				originatingDirectory = FileOperations.getFolder(fileOrFolder);
+				// one binary file is selected, run CrashAnalyser.exe for
+				// summary data
+			} else if (f.isFile()) {
+				CommandLineManager.executeSummary(workingFolder, fileOrFolder,
+						CrashAnalyserFile.SUMMARY_FILE_EXTENSION, progress);
+				originatingDirectory = FileOperations.getFolder(fileOrFolder);
+				// directory was given
+			} else {
+				// copy .crashxml files to working folder.
+				// copySummaryFilesToWorkingDirectory will return true if folder
+				// contained only .crashxml files -> so if false is returned, it
+				// means that we need to run CrashAnalyser.exe for other files
+				// in the directory.
+				if (!copyCrashFilesToWorkingDirectory(fileOrFolder,
+						workingFolder))
+					CommandLineManager.executeSummary(workingFolder,
+							fileOrFolder,
+							CrashAnalyserFile.SUMMARY_FILE_EXTENSION, progress);
+			}
+			readSummaryFiles(workingFolder, originatingDirectory, errorLibrary);
+		}
+
+		if (crashFiles.isEmpty())
+			return false;
+
+		return true;
+	}
+
+	/**
+	 * copies all crashfiles (.crashxml) from given folder to given workfolder.
+	 * 
+	 * @param fromFolder
+	 *            folder where crash files are copied from
+	 * @param workingFolder
+	 *            folder where crash files are copied to
+	 * @return true if fromFolder contained only crash files (.crashxml), false
+	 *         if folder contained other files also
+	 */
+	boolean copyCrashFilesToWorkingDirectory(String fromFolder,
+			String workingFolder) {
+		boolean retval = true;
+		File from = new File(fromFolder);
+		// given from folder needs to be an existing directory
+		if (from.isDirectory() && from.exists()) {
+			String[] files = from.list(); // get all files
+			// if files were found
+			if (files != null && files.length > 0) {
+				// go through all files in fromFolder
+				for (int i = 0; i < files.length; i++) {
+					String file = files[i];
+					// files is .crashxml
+					if (file.endsWith(CrashAnalyserFile.OUTPUT_FILE_EXTENSION)) {
+						FileOperations.copyFile(new File(FileOperations
+								.addSlashToEnd(fromFolder)
+								+ file), workingFolder, true);
+						// file was not .crashxml
+					} else {
+						retval = false;
+					}
+				}
+			}
+		}
+
+		return retval;
+	}
+
+	/**
+	 * Reads all summary and crash files (.xml & .crashxml) from given
+	 * directory. Creates a CrashFileBundle for all found files and adds them to
+	 * this.crashFiles
+	 * 
+	 * @param summaryFileDirectory
+	 *            directory where files are to be read from
+	 * @param originatingDirectory
+	 *            directory from where the original files are being imported
+	 * @param errorLibrary
+	 *            Error Library
+	 */
+	void readSummaryFiles(String summaryFileDirectory,
+			String originatingDirectory, ErrorLibrary errorLibrary) {
+		File file = new File(summaryFileDirectory);
+		crashFiles = new ArrayList<CrashFileBundle>();
+
+		// read all files from the directory
+		if (file.isDirectory()) {
+
+			// accept summary and output files (.xml & .crashxml)
+			FilenameFilter filter = new FilenameFilter() {
+				public boolean accept(File dir, String name) {
+					return (name
+							.endsWith(CrashAnalyserFile.OUTPUT_FILE_EXTENSION) || name
+							.endsWith("."
+									+ CrashAnalyserFile.SUMMARY_FILE_EXTENSION));
+				}
+			};
+
+			File[] files = file.listFiles(filter);
+
+			// go through all found files
+			for (int i = 0; i < files.length; i++) {
+				File crashFile = files[i];
+
+				// file is output.crashxml type
+				if (crashFile.getName().endsWith(
+						CrashAnalyserFile.OUTPUT_FILE_EXTENSION)) {
+					CrashFile crashxml = CrashFile
+							.read(crashFile, errorLibrary);
+					if (crashxml != null)
+						crashFiles.add(new CrashFileBundle(crashxml,
+								originatingDirectory));
+					// file is summary file
+				} else {
+					SummaryFile summaryXml = SummaryFile.read(crashFile,
+							errorLibrary);
+					if (summaryXml != null)
+						crashFiles.add(new CrashFileBundle(summaryXml,
+								originatingDirectory));
+				}
+			}
+		}
+	}
+
+	/**
+	 * Used for passing decoding parameters
+	 * 
+	 * @param data
+	 *            decoding parameters
+	 */
+	public void setDecodingData(DecodingData data) {
+		decodingData = data;
+	}
+
+	/**
+	 * Returns a path where Crash Analyser plugin can do various tasks (located
+	 * under workspace).
+	 * 
+	 * @return E.g.
+	 *         C:\My_Workspace\.metadata\.plugins\com.nokia.s60tools.crashanalyser
+	 *         \
+	 */
+	protected static String getPluginWorkingLocation() {
+		IPath location = Platform.getStateLocation(CrashAnalyserPlugin
+				.getDefault().getBundle());
+		return location.toOSString();
+	}
+
+	/**
+	 * Returns the folder under which crash file folders are located
+	 * 
+	 * @return E.g.
+	 *         C:\My_Workspace\.metadata\.plugins\com.nokia.s60tools.crashanalyser
+	 *         \CrashFiles
+	 */
+	public static String getCrashFilesFolder() {
+		String crashFilesFolder = FileOperations
+				.addSlashToEnd(getPluginWorkingLocation())
+				+ CRASH_FILES_FOLDER;
+		FileOperations.createFolder(crashFilesFolder);
+		return crashFilesFolder;
+	}
+
+	/**
+	 * Start the decoding process
+	 * 
+	 * @param observer
+	 *            observer for the decoding process
+	 */
+	public void decode(IDecodingObserver observer) {
+		decodingObserver = observer;
+		setPriority(Job.SHORT);
+		setUser(true);
+		schedule();
+	}
+
+	/**
+	 * Runs CrashAnalyser.exe for full analysis for (user) selected files. This
+	 * also handles already decoded files (.crashxml) so that they are not given
+	 * to CrashAnalyser.exe. Outcome of this method is that all decoded files
+	 * are under given workingFolder.
+	 * 
+	 * @param workingFolder
+	 *            where files are to be decoded
+	 * @param monitor
+	 *            for progress bar
+	 */
+	void importCrashFiles(String workingFolder, IProgressMonitor monitor) {
+		if (crashFiles != null) {
+			List<String> filesToBeDecoded = new ArrayList<String>();
+			// go through all crash files
+			for (int i = 0; i < crashFiles.size(); i++) {
+				CrashFileBundle crashFile = crashFiles.get(i);
+
+				// we are importing already decoded file (.crashxml)
+				if (crashFile.isFullyDecoded()) {
+					CrashFile f = crashFile.getCrashFile();
+					// this index was not chosen by user to be imported, delete
+					// this .crash from working folder
+					if (f != null && !decodingData.crashFileIndexes.contains(i)) {
+						FileOperations.deleteFile(f.getFilePath());
+					}
+					// we are decoding a crash file
+				} else {
+					// this index was not chosen by user to be imported, skip
+					// this crash file
+					if (!decodingData.crashFileIndexes.contains(i))
+						continue;
+
+					SummaryFile f = crashFile.getSummaryFile();
+					filesToBeDecoded.add(f.getSourceFilePath());
+				}
+			}
+
+			if (!filesToBeDecoded.isEmpty()) {
+				String mapFilesFolder = decodingData.mapFilesFolder;
+
+				// if MapFiles.zip is provided
+				if (mapFilesFolder != null && "".equals(mapFilesFolder)
+						&& decodingData.mapFilesZip != null
+						&& !"".equals(decodingData.mapFilesZip)) {
+					String zipFolder = FileOperations
+							.addSlashToEnd(workingFolder)
+							+ FileOperations
+									.addSlashToEnd(MAP_FILES_ZIP_FOLDER);
+					FileOperations.createFolder(zipFolder, true);
+					FileOperations.unZipFiles(
+							new File(decodingData.mapFilesZip), zipFolder);
+					mapFilesFolder = zipFolder;
+				}
+
+				CommandLineManager.executeFullAnalysis(workingFolder,
+						filesToBeDecoded.toArray(new String[filesToBeDecoded
+								.size()]), decodingData.symbolFiles,
+						mapFilesFolder, decodingData.imageFiles,
+						CrashAnalyserFile.OUTPUT_FILE_EXTENSION,
+						ERROR_FILE_EXTENSION, getSelgeEventIniFile(), monitor);
+			}
+		}
+	}
+
+	/**
+	 * Searches the crash file bundle for the given crashFile
+	 * 
+	 * @param crashFile
+	 *            .xml or .crashxml file
+	 * @return CrashFileBundle for given file if found, null if not found
+	 */
+	CrashFileBundle getCrashFileBundle(File crashFile) {
+		if (crashFiles != null) {
+			for (int i = 0; i < crashFiles.size(); i++) {
+				CrashFileBundle cfb = crashFiles.get(i);
+				String fileName = "";
+				SummaryFile sf = cfb.getSummaryFile();
+				if (sf != null) {
+					fileName = FileOperations.getFileNameWithoutExtension(sf
+							.getFileName());
+				}
+				CrashFile cf = cfb.getCrashFile();
+				if (cf != null) {
+					fileName = FileOperations.getFileNameWithoutExtension(cf
+							.getFileName());
+				}
+
+				if ("".equals(fileName)) {
+					UndecodedFile uf = cfb.getUndecodedFile();
+					if (uf != null
+							&& uf
+									.getFileName()
+									.equals(
+											FileOperations
+													.getFileNameWithoutExtension(crashFile
+															.getName())))
+						return cfb;
+				}
+
+				if (FileOperations.getFileNameWithoutExtension(
+						crashFile.getName()).equalsIgnoreCase(fileName))
+					return cfb;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Moves decoded crash files from working folder to their own folders under
+	 * CrashFiles folder
+	 * 
+	 * @param workingFolder
+	 *            from where decoded files are moved from
+	 */
+	CrashAnalyserFile moveDecodedFiles(String workingFolder) {
+		CrashAnalyserFile cafile = null;
+		File folder = new File(workingFolder);
+
+		// accept output files (.crashxml)
+		FilenameFilter filter = new FilenameFilter() {
+			public boolean accept(File dir, String name) {
+				return (name.endsWith(CrashAnalyserFile.OUTPUT_FILE_EXTENSION));
+			}
+		};
+
+		File[] files = folder.listFiles(filter);
+
+		// go through all found files
+		for (int i = 0; i < files.length; i++) {
+			try {
+				File crashFile = files[i];
+
+				String crashFolder = getNewCrashFolder();
+
+				// copy crash file (.crashxml) to crash folder
+				FileOperations.copyFile(crashFile, crashFolder, true);
+
+				// try to copy the original binary file also to crash folder
+				// (only mobilecrash, not D_EXC)
+				String binaryFile = SummaryFile.getSourceFilePath(crashFile
+						.getAbsolutePath());
+				if (!"".equals(binaryFile)
+						&& binaryFile
+								.toLowerCase()
+								.endsWith(
+										"."
+												+ CrashAnalyserFile.MOBILECRASH_FILE_EXTENSION)) {
+					FileOperations.copyFile(new File(binaryFile), crashFolder,
+							true);
+				}
+
+				// if only one file was decoded, pass this file eventually to
+				// MainView so that this file can be opened up after decoding.
+				if (files.length == 1) {
+					cafile = CrashFile.read(crashFolder,
+							decodingData.errorLibrary);
+				}
+
+				// html and/or text page needs to be generated
+				if ((decodingData.html || decodingData.text)
+						&& decodingData.htmlTextOutputFolder != null) {
+					CrashFile crashxml = CrashFile.read(crashFile,
+							decodingData.errorLibrary);
+					if (crashxml != null) {
+						// create html/text file to the original folder where
+						// file came from
+						if ("".equals(decodingData.htmlTextOutputFolder)) {
+							CrashFileBundle cfb = getCrashFileBundle(crashFile);
+							if (cfb != null) {
+								if (decodingData.html)
+									crashxml.writeTo(cfb
+											.getOriginatingDirectory(), true);
+								if (decodingData.text)
+									crashxml.writeTo(cfb
+											.getOriginatingDirectory(), false);
+							}
+
+							// create html/text file to user defined location
+						} else {
+							if (decodingData.html)
+								crashxml
+										.writeTo(
+												decodingData.htmlTextOutputFolder,
+												true);
+							if (decodingData.text)
+								crashxml.writeTo(
+										decodingData.htmlTextOutputFolder,
+										false);
+						}
+					}
+				}
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+		return cafile;
+	}
+
+	/**
+	 * Runs CrashAnalyser.exe for full analysis for provided files. This handles
+	 * only binary files. Outcome of this method is that all decoded files are
+	 * under given workingFolder.
+	 * 
+	 * @param workingFolder
+	 *            where files are to be decoded
+	 * @param monitor
+	 */
+	void reDecodeCrashFiles(String workingFolder, IProgressMonitor monitor) {
+		if (crashFiles != null) {
+			List<String> filesToBeDecoded = new ArrayList<String>();
+			// collect all binary file paths
+			for (int i = 0; i < crashFiles.size(); i++) {
+				CrashFileBundle crashFile = crashFiles.get(i);
+				UndecodedFile udf = crashFile.getUndecodedFile();
+				filesToBeDecoded.add(udf.getFilePath());
+			}
+
+			if (!filesToBeDecoded.isEmpty()) {
+				String mapFilesFolder = decodingData.mapFilesFolder;
+
+				// if MapFiles.zip is provided
+				if (mapFilesFolder != null && "".equals(mapFilesFolder)
+						&& decodingData.mapFilesZip != null
+						&& !"".equals(decodingData.mapFilesZip)) {
+					String zipFolder = FileOperations
+							.addSlashToEnd(workingFolder)
+							+ FileOperations
+									.addSlashToEnd(MAP_FILES_ZIP_FOLDER);
+					FileOperations.createFolder(zipFolder, true);
+					FileOperations.unZipFiles(
+							new File(decodingData.mapFilesZip), zipFolder);
+					mapFilesFolder = zipFolder;
+				}
+				CommandLineManager.executeFullAnalysis(workingFolder,
+						filesToBeDecoded.toArray(new String[filesToBeDecoded
+								.size()]), decodingData.symbolFiles,
+						mapFilesFolder, decodingData.imageFiles,
+						CrashAnalyserFile.OUTPUT_FILE_EXTENSION,
+						ERROR_FILE_EXTENSION, getSelgeEventIniFile(), monitor);
+			}
+		}
+	}
+
+	/**
+	 * Moves re-decoded crash files from working folder to their own folders
+	 * under CrashFiles folder
+	 * 
+	 * @param workingFolder
+	 *            from where decoded files are moved from
+	 */
+	CrashFile moveReDecodedFiles(String workingFolder) {
+		CrashFile cafile = null;
+		File folder = new File(workingFolder);
+
+		// accept output files (.crashxml)
+		FilenameFilter filter = new FilenameFilter() {
+			public boolean accept(File dir, String name) {
+				return (name.endsWith(CrashAnalyserFile.OUTPUT_FILE_EXTENSION));
+			}
+		};
+
+		File[] files = folder.listFiles(filter);
+
+		// go through all found files
+		for (int i = 0; i < files.length; i++) {
+			try {
+				File crashFile = files[i];
+
+				CrashFileBundle cfb = getCrashFileBundle(crashFile);
+				if (cfb == null)
+					continue;
+
+				String crashFolder = FileOperations.addSlashToEnd(cfb
+						.getOriginatingDirectory());
+				File fCrashFolder = new File(crashFolder);
+
+				// folder should exist
+				if (!fCrashFolder.exists())
+					continue;
+
+				// copy crash file (.crashxml) to crash folder
+				if (FileOperations.copyFile(crashFile, crashFolder, true)) {
+					String[] crashFolderFiles = fCrashFolder.list();
+
+					// if only one file was decoded, pass this file eventually
+					// to MainView so that this file can be opened up after decoding.
+					if (files.length == 1) {
+						cafile = CrashFile.read(crashFolder,
+								decodingData.errorLibrary);
+					}
+
+					// remove .html and .xml files from crash folder if they
+					// exist
+					if (crashFolderFiles != null && crashFolderFiles.length > 0) {
+						for (int j = 0; j < crashFolderFiles.length; j++) {
+							String crashFolderFile = crashFolderFiles[j];
+							if (crashFolderFile.toLowerCase().endsWith(
+									CrashFileBundle.EXTENSION_HTML)
+									|| crashFolderFile
+											.toLowerCase()
+											.endsWith(
+													"."
+															+ CrashAnalyserFile.SUMMARY_FILE_EXTENSION))
+								FileOperations.deleteFile(crashFolder
+										+ crashFolderFile);
+						}
+					}
+				}
+
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+
+		return cafile;
+	}
+
+	String getToolsPath() {
+		String toolsPath = CrashAnalyserPlugin.getPluginInstallPath();
+		if (!toolsPath.endsWith(File.separator))
+			toolsPath += File.separator;
+		toolsPath += TOOLS_FOLDER + File.separator;
+		return toolsPath;
+	}
+
+	@Override
+	protected IStatus run(IProgressMonitor monitor) {
+		String workingFolder = "";
+		CrashAnalyserFile caFile = null;
+		try {
+			// we are importing files
+			if (decodingData.importingFiles) {
+				workingFolder = getWorkingFolder(false);
+				importCrashFiles(workingFolder, monitor);
+				caFile = moveDecodedFiles(workingFolder);
+				// we are re-decoding selected crash files
+			} else {
+				workingFolder = getWorkingFolder(true);
+				reDecodeCrashFiles(workingFolder, monitor);
+				caFile = moveReDecodedFiles(workingFolder);
+			}
+		} catch (Exception e) {
+			FileOperations.deleteFolder(workingFolder);
+			decodingObserver.decodingFinished(e.getMessage(), caFile);
+			return Status.OK_STATUS;
+		}
+
+		FileOperations.deleteFolder(workingFolder);
+		decodingObserver.decodingFinished("", caFile);
+		return Status.OK_STATUS;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/DecodingData.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import com.nokia.s60tools.crashanalyser.data.*;
+import java.util.*;
+
+/**
+ * This class is used to save data entered in Wizard pages. This is
+ * then passed to DecodingEngine so that it knows what to process.
+ *
+ */
+public class DecodingData {
+
+	/**
+	 * Constructor
+	 */
+	public DecodingData() {		
+		// No implementation needed
+	}
+	
+	/**
+	 * Decoder Engine contains a list of files which user selected with
+	 * Wizard. However, user might only want to actually decode couple of those
+	 * files. So this index list contains indexes of those files which are to be
+	 * decoded. 
+	 */
+	public List<Integer> crashFileIndexes = null;
+	
+	/**
+	 * Contains list of provided symbol file locations or null
+	 * if no symbol files were provided.
+	 */
+	public String[] symbolFiles = null;
+	
+	/**
+	 * path to mapfiles.zip or empty if not provided
+	 */
+	public String mapFilesZip = "";
+
+	/**
+	 * path to map files or empty if not provided
+	 */
+	public String mapFilesFolder = "";
+	
+	/**
+	 * Contains list of provided image file locations or null
+	 * if no symbol files were provided.
+	 */
+	public String[] imageFiles = null;
+	
+	/**
+	 * Whether an html file should be generated from input files
+	 */
+	public boolean html = false;
+	
+	/**
+	 * Whether a text file should be generated from input files
+	 */
+	public boolean text = false;
+	
+	/**
+	 * Folder where html and text files are stored. If empty is passed
+	 * (and html and/or text is true), input file's folder will be used.
+	 * If null is passed, nothing is created even if html or text would be true.
+	 */
+	public String htmlTextOutputFolder = "";
+	
+	/**
+	 * Defines whether we are importing new files or we are re-decoding
+	 * existing files
+	 */
+	public boolean importingFiles = true;
+	
+	/**
+	 * Error Library
+	 */
+	public ErrorLibrary errorLibrary = null;
+	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/EditorHandler.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,250 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import java.util.List;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.IEditorReference;
+import org.eclipse.ui.IEditorPart;
+import com.nokia.s60tools.crashanalyser.files.*;
+
+/**
+ * Handles opening and closing of Crash Visualizer editors
+ *
+ */
+public final class EditorHandler {
+	private EditorHandler() {
+		// not meant to be implemented
+	}
+	
+	/**
+	 * Closes all open editors which are Crash Analyser editors
+	 */
+	public static void closeAllEditors() {
+		try {
+	    	IWorkbench workbench = PlatformUI.getWorkbench();   
+	    	if (workbench == null)
+	    		return;
+	    	
+	    	IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
+	    	if (window == null)
+	    		return;
+	    	
+	    	String editorId = "com.nokia.s60tools.crashanalyser.ui.editors.MultiPageEditor";
+	    	IWorkbenchPage page = window.getActivePage();
+	    	if (page == null)
+	    		return;
+	    	
+	    	IEditorReference[] editorReferences = page.getEditorReferences();
+	    	if (editorReferences == null || editorReferences.length < 1)
+	    		return;
+	    	
+	    	// go throug all editors
+    		for (int i = 0; i < editorReferences.length; i++) {
+    			IEditorReference ref = editorReferences[i];
+    			String openEditorId = ref.getId();
+    			// if editor is Crash Analyser editor, close it
+    	    	if (editorId.compareToIgnoreCase(openEditorId) == 0) {
+	    			page.closeEditor(ref.getEditor(true), true);
+    	    	}
+    		}
+	    	
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * Checks if given file is already open in editor area. If it is, that editor is
+	 * brought as top most editor.
+	 * @param file file which is to be checked
+	 * @return true if editor was found and brought to top most, false if editor was not found
+	 * or an error occurred
+	 */
+	static boolean bringEditorOnTopIfFileAlreadyOpen(CrashAnalyserFile file) {
+		try {
+			if (file == null)
+				return false;
+			
+			// get workbench
+	    	IWorkbench workbench = PlatformUI.getWorkbench();
+	    	if (workbench == null)
+	    		return false;
+	    	
+	    	// get workbench window
+	    	IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
+	    	if (window == null)
+	    		return false;
+	    	
+	    	String editorId = "com.nokia.s60tools.crashanalyser.ui.editors.MultiPageEditor";
+	    	
+	    	// get workbench page
+	    	IWorkbenchPage page = window.getActivePage();
+	    	if (page == null)
+	    		return false;
+	    	
+	    	// get open editors
+	    	IEditorReference[] editorReferences = page.getEditorReferences();
+	    	if (editorReferences == null || editorReferences.length < 1)
+	    		return false;
+	    	
+	    	// go through all open editors
+    		for (int i = 0; i < editorReferences.length; i++) {
+    			IEditorReference ref = editorReferences[i];
+    			String openEditorId = ref.getId();
+    			// if editor is Crash Analyser editor
+    	    	if (editorId.compareToIgnoreCase(openEditorId) == 0) {
+    	    		IEditorPart part = ref.getEditor(true);
+    	    		if (part == null)
+    	    			continue;
+    	    		
+    	    		String title = part.getTitle();
+	    			if (title.equalsIgnoreCase(file.getFileName())) {
+	    				page.bringToTop(part);
+	    				return true;
+	    			}
+    	    	}
+    		}
+	    	
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		
+		return false;
+	}
+	
+	/**
+	 * Closes all given editors
+	 */
+	public static void closeEditors(List<CrashFileBundle> files) {
+		try {
+			if (files == null || files.isEmpty())
+				return;
+			
+			// get workbench
+	    	IWorkbench workbench = PlatformUI.getWorkbench();
+	    	if (workbench == null)
+	    		return;
+	    	
+	    	// get workbench window
+	    	IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
+	    	if (window == null)
+	    		return;
+	    	
+	    	String editorId = "com.nokia.s60tools.crashanalyser.ui.editors.MultiPageEditor";
+	    	
+	    	// get workbench page
+	    	IWorkbenchPage page = window.getActivePage();
+	    	if (page == null)
+	    		return;
+	    	
+	    	// get open editors
+	    	IEditorReference[] editorReferences = page.getEditorReferences();
+	    	if (editorReferences == null || editorReferences.length < 1)
+	    		return;
+	    	
+	    	// go through all open editors
+    		for (int i = 0; i < editorReferences.length; i++) {
+    			IEditorReference ref = editorReferences[i];
+    			String openEditorId = ref.getId();
+    			// if editor is Crash Analyser editor
+    	    	if (editorId.compareToIgnoreCase(openEditorId) == 0) {
+    	    		IEditorPart part = ref.getEditor(true);
+    	    		if (part == null)
+    	    			continue;
+    	    		
+    	    		String title = part.getTitle();
+    	    		boolean close = false;
+    	    		
+    	    		// go through all given files and close editor for those
+    	    		for (int j = 0; j < files.size(); j++) {
+    	    			CrashFileBundle file = files.get(j);
+    	    			if (title.equalsIgnoreCase(file.getAnalyzeFileName())) {
+    	    				close = true;
+    	    				break;
+    	    			}
+    	    		}
+    	    		if (close)
+    	    			page.closeEditor(ref.getEditor(true), true);
+    	    	}
+    		}
+	    	
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * Opens up given crash analyser file to a Crash Analyser editor.
+	 * @param file file to be opened
+	 * @return true if success, false if not
+	 */
+	private static boolean openEditor(CrashAnalyserFile file) {
+		try {
+			if (bringEditorOnTopIfFileAlreadyOpen(file))
+				return true;
+			
+	    	IWorkbench workbench = PlatformUI.getWorkbench();      
+	    	if (workbench == null)
+	    		return false;
+	    	
+	    	IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
+	    	if (window == null)
+	    		return false;
+	    	
+	    	String editorId = "com.nokia.s60tools.crashanalyser.ui.editors.MultiPageEditor";
+	    	IWorkbenchPage page = window.getActivePage();
+	    	if (page == null)
+	    		return false;
+	    	
+    		if (file instanceof CrashFile)
+    			page.openEditor((CrashFile)file,editorId );
+    		else if (file instanceof SummaryFile)
+    			page.openEditor((SummaryFile)file,editorId );
+    		else
+    			return false;
+    		
+    		return true;
+
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return false;
+	}
+	
+	/**
+	 * Opens given full crash file to a Crash Analyser editor.
+	 * @param file file to be opened
+	 * @return true if success, false if not
+	 */
+	public static boolean openCrashAnalyserEditor(CrashFile file) {
+		return openEditor(file);
+	}
+	
+	/**
+	 * Opens given summary crash file to a Crash Analyser editor.
+	 * @param file file to be opened
+	 * @return true if success, false if not
+	 */
+	public static boolean openCrashAnalyserEditor(SummaryFile file) {
+		return openEditor(file);
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/EmulatorListener.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,148 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.swt.widgets.Display;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+import java.io.BufferedReader;
+import java.util.regex.Pattern;
+import java.util.regex.Matcher;
+import com.nokia.s60tools.crashanalyser.ui.views.MainView;
+import com.nokia.s60tools.crashanalyser.files.PanicFile;
+
+/**
+ * This class listens emulator for panics. 
+ *
+ */
+public class EmulatorListener extends Job {
+
+	static final int POLL_INTERVAL = 10000; // 10 seconds
+	boolean listening = false;
+	String epocWindOutPath = "";
+	long previousFileSize = -1;
+	int readLines = 0;
+	Pattern panicParserPattern = Pattern.compile("^\\s*(\\S*)\\s*Thread\\s*(\\S*)\\s*Panic\\s*(\\S*)\\s*(\\S*).*");
+	
+	/**
+	 * Constructor
+	 */
+	public EmulatorListener() {
+		super("Crash Analyser - Emulator Listener");
+		epocWindOutPath = FileOperations.addSlashToEnd(System.getenv("TEMP"));
+		epocWindOutPath += "epocwind.out";
+	}
+	
+	/**
+	 * Starts listening emulator
+	 */
+	public void start() {
+		if (listening)
+			return;		
+		listening = true;
+		setPriority(Job.LONG);
+		setSystem(true);
+		setUser(false);
+		schedule();		
+	}
+	
+	/**
+	 * Stops listening emulator
+	 */
+	public void stop() {
+		listening = false;
+		previousFileSize = -1;
+		readLines = 0;
+		cancel();
+	}
+	
+	void reSchedule() {
+		Runnable refreshRunnable = new Runnable(){
+			public void run(){
+				cancel();
+				schedule(POLL_INTERVAL);
+			}
+		};
+		
+		Display.getDefault().asyncExec(refreshRunnable);        		
+	}
+	
+	@Override
+	protected IStatus run(IProgressMonitor arg0) {
+		try {
+			boolean filesAdded = false;
+			File epocwind = new File(epocWindOutPath);
+			if (epocwind.exists()) {
+				// epocwind.out has not yet been read
+				if (previousFileSize == -1) {
+					previousFileSize = epocwind.length();
+				// epocwind.out has changes
+				} else if (epocwind.length() > previousFileSize) {
+					FileInputStream fis = new FileInputStream(epocwind);
+					BufferedReader br = new BufferedReader(new InputStreamReader(fis));
+					br.skip(readLines);
+					
+					String line = "";
+					// read all new lines in epocwind.out
+					while ((line = br.readLine()) != null) {
+						readLines++;
+						if (handleLine(line))
+							filesAdded = true;
+					}
+					previousFileSize = epocwind.length();
+				// new epocwind.out file
+				} else if (epocwind.length() < previousFileSize){
+					previousFileSize = 0;
+					readLines = 0;
+				}
+				
+				// if panics were found, update main view
+				if (filesAdded)
+					MainView.showOrRefresh();
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		
+		reSchedule();
+		return Status.OK_STATUS;
+	}
+	
+	/**
+	 * If line contains a panic, writes it to xml file
+	 * @param line epocwind.out file line
+	 * @return true if line contained a panic, false if not
+	 */
+	boolean handleLine(String line) {
+		Matcher matcher = panicParserPattern.matcher(line);
+		if (matcher.find()) {
+			PanicFile.WritePanicFile(matcher.group(1),
+									 matcher.group(2),
+									 matcher.group(3),
+									 matcher.group(4));
+			return true;
+		}	
+		return false;
+	}
+	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/ErrorsViewerSorter.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,84 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerSorter;
+
+import com.nokia.s60tools.crashanalyser.containers.ErrorLibraryError;
+
+/**
+ * Sorts errors correctly in ErrorDialog's errors list 
+ *
+ * E.g.
+ * 
+ * -1
+ * -2
+ * -3
+ * KErrBadHandle
+ * KErrNone
+ * KErrNotFound
+ *
+ */
+public class ErrorsViewerSorter extends ViewerSorter {
+	
+	@Override
+	public int compare(Viewer viewer, Object e1, Object e2) {
+		String errorName1 = ((ErrorLibraryError)e1).toString().trim();
+		String errorName2 = ((ErrorLibraryError)e2).toString().trim();
+		
+		// both are numbers
+		if (isParsableToInt(errorName1) && isParsableToInt(errorName2)) {
+			int error1 = Integer.parseInt(errorName1);
+			int error2 = Integer.parseInt(errorName2);
+			if (error1 > error2)
+				return -1;
+			else if (error1 < error2)
+				return 1;
+			else
+				return 0;
+		// errorName1 is number, errorName2 is not
+		} else if (isParsableToInt(errorName1)) {
+			return -1;
+		// errorName1 is not a number, errorName2 is a number
+		} else if (isParsableToInt(errorName2)) {
+			return 1;
+		// errorName1 nor errorName2 is a number
+		} else {
+			return errorName1.compareTo(errorName2);
+		}
+	}
+	
+	/**
+	 * Checks whether given string is a number
+	 * @param i string
+	 * @return true if given string is a number, false if not
+	 */
+	boolean isParsableToInt(String i)
+	{
+		try
+		{
+			Integer.parseInt(i);
+			return true;
+		}
+		catch(Exception e)
+		{
+			return false;
+		}
+	}	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/ErrorsXmlReader.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,260 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+import javax.xml.validation.SchemaFactory;
+import javax.xml.XMLConstants;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+import java.util.*;
+import java.io.File;
+import java.io.FilenameFilter;
+import java.util.ArrayList;
+import com.nokia.s60tools.crashanalyser.containers.ErrorLibraryError;
+import com.nokia.s60tools.crashanalyser.plugin.*;
+
+/**
+ * This class reads all error xml files with SAX parser.  
+ *
+ */
+public class ErrorsXmlReader extends DefaultHandler {
+
+	Map<String, ErrorLibraryError> errors = null;
+	Map<String, ErrorLibraryError> panics = null;
+	Map<String, ErrorLibraryError> categories = null;
+	ErrorLibraryError error = null;
+	ErrorLibraryError error2 = null;
+	ErrorLibraryError panic = null;
+	ErrorLibraryError category = null;
+	String nodeText = "";
+	String categoryDescription = "";
+	String categoryKey = "";
+	String panicKey = "";
+	String errorKey1 = "";
+	String errorKey2 = "";
+	String errorComponent = "";
+	static final String TAG_CATEGORY_NAME = "category_name";
+	static final String TAG_CATEGORY_DESCRIPTION = "category_description";
+	static final String TAG_PANIC_ID = "panic_id";
+	static final String TAG_PANIC_DESCRIPTION = "panic_description";
+	static final String TAG_PANIC_CATEGORY = "panic_category";
+	static final String TAG_ERROR_NAME = "error_name";
+	static final String TAG_ERROR_VALUE = "error_value";
+	static final String TAG_ERROR_TEXT = "error_text";
+	static final String TAG_ERROR_COMPONENT = "error_component";
+
+	/**
+	 * Returns list of errors and gives up the ownership of the list.
+	 * @return list of errors
+	 */
+	public Map<String, ErrorLibraryError> getErrorsOwnership() {
+		if (errors == null || errors.isEmpty()) {
+			return null;
+		} else {
+			Map<String, ErrorLibraryError> err = errors; 
+			errors = null;
+			return err;
+		}
+	}
+	
+	/**
+	 * Returns list of panics and gives up the ownership of the list.
+	 * @return list of panics
+	 */
+	public Map<String, ErrorLibraryError> getPanicsOwnership() {
+		if (panics == null || panics.isEmpty()) {
+			return null;
+		} else {
+			Map<String, ErrorLibraryError> pan = panics;
+			panics = null;
+			return pan;
+		}
+	}
+	
+	/**
+	 * Returns list of panic categories and gives up the ownership of the list.
+	 * @return list of panic categories
+	 */
+	public Map<String, ErrorLibraryError> getCategoriesOwnership() {
+		if (categories == null || categories.isEmpty()) {
+			return null;
+		} else {
+			Map<String, ErrorLibraryError> cat = categories;
+			categories = null;
+			return cat;
+		}
+	}
+
+	/**
+	 * Reads all error xml files
+	 */
+	public void readAll() {
+		try {
+			errors = null;
+			panics = null;
+			categories = null;
+			
+			String dataPath = CrashAnalyserPlugin.getDataPath();
+			SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
+			SAXParserFactory spf = SAXParserFactory.newInstance();
+			spf.setSchema(sf.newSchema(new File(dataPath + "schema.xsd")));
+			spf.setValidating(true);
+			SAXParser sp = spf.newSAXParser();
+			
+			List<String> xmlFiles = getXmlFiles(dataPath);
+			
+			if (xmlFiles == null || xmlFiles.isEmpty())
+				return;
+			
+			for (int i = 0; i < xmlFiles.size(); i++) {
+				try {
+					// parse the file and also register this class for call backs
+					sp.parse(new File(xmlFiles.get(i)), this);
+				} catch (Exception ex) {
+					ex.printStackTrace();
+				}
+			}
+
+		}catch(Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	@Override
+	public void startDocument() throws SAXException {
+		if (errors == null)
+			errors = new HashMap<String, ErrorLibraryError>();
+		if (panics == null)
+			panics = new HashMap<String, ErrorLibraryError>();
+		if (categories == null)
+			categories = new HashMap<String, ErrorLibraryError>();
+		super.startDocument();
+	}
+
+	@Override
+	public void startElement(String arg0, String arg1, String arg2,	Attributes arg3) 
+			throws SAXException {
+		nodeText = "";
+		super.startElement(arg0, arg1, arg2, arg3);
+	}
+	
+	@Override
+	public void characters(char[] arg0, int arg1, int arg2) throws SAXException {
+		String s = String.copyValueOf(arg0, arg1, arg2);
+		nodeText += s;
+		super.characters(arg0, arg1, arg2);
+	}	
+
+	@Override
+	public void endElement(String arg0, String arg1, String arg2)
+			throws SAXException {
+		if (TAG_CATEGORY_NAME.equals(arg2)) {
+			category = new ErrorLibraryError();
+			category.SetName(nodeText);
+			categoryKey = nodeText;
+			
+		} else if (TAG_CATEGORY_DESCRIPTION.equals(arg2)) {
+			categoryDescription = HtmlFormatter.formatCategoryDescription(category.toString(), nodeText);
+			category.SetDescription(categoryDescription);
+			
+		} else if (TAG_PANIC_ID.equals(arg2)) {
+			category.AddToDescription(HtmlFormatter.formatPanicName(category.toString(), nodeText));
+			panic = new ErrorLibraryError();
+			panic.SetName(category.toString() + " " + nodeText);
+			panicKey = categoryKey + nodeText;
+			
+		} else if (TAG_PANIC_DESCRIPTION.equals(arg2)) {
+			category.AddToDescription(nodeText);
+			panic.SetDescription(HtmlFormatter.formatPanicDescription(panic.toString(), nodeText));
+			panic.AddToDescription(categoryDescription);
+			panics.put(panicKey, panic);
+			panic = null;
+			panicKey = "";
+			
+		} else if (TAG_PANIC_CATEGORY.equals(arg2)) {
+			categories.put(categoryKey, category);
+			category = null;
+			categoryKey = "";
+			
+		} else if (TAG_ERROR_NAME.equals(arg2)) {
+			error = new ErrorLibraryError();
+			error.SetName(nodeText);
+			errorKey1 = nodeText;
+			
+		} else if (TAG_ERROR_VALUE.equals(arg2)) {
+			error.SetDescription(HtmlFormatter.formatErrorDescription(error.toString(), nodeText));
+			error2 = new ErrorLibraryError();
+			error2.SetName(nodeText);
+			error2.SetDescription(HtmlFormatter.formatErrorDescription(nodeText, error.toString()));
+			errorKey2 = nodeText;
+			
+		} else if (TAG_ERROR_COMPONENT.equals(arg2)) {
+			errorComponent = nodeText;
+			
+		} else if (TAG_ERROR_TEXT.equals(arg2)) {
+			error.AddToDescription(nodeText);
+			error.AddToDescription(HtmlFormatter.formatErrorComponent(errorComponent));
+			error2.AddToDescription(nodeText);
+			error2.AddToDescription(HtmlFormatter.formatErrorComponent(errorComponent));
+			errors.put(errorKey1, error);
+			error = null;
+			errorKey1 = "";
+			errors.put(errorKey2, error2);
+			error2 = null;
+			errorKey2 = "";
+		}
+		
+		super.endElement(arg0, arg1, arg2);
+	}
+
+	/**
+	 * Returns a list of all error xml files 
+	 * @param path xml files path
+	 * @return a list of all error xml files
+	 */
+	List<String> getXmlFiles(String path) {
+		try {
+			List<String> xmlFiles = new ArrayList<String>();
+			
+			File file = new File(path);
+			
+			FilenameFilter filter = new FilenameFilter() {
+				public boolean accept(File dir, String name) {
+					return (name.endsWith("xml"));
+				}
+			};
+			File[] files = file.listFiles(filter);
+			
+			for (int i = 0; i < files.length; i++) {
+				xmlFiles.add(files[i].getAbsolutePath());
+			}
+			
+			if (xmlFiles.isEmpty())
+				return null;
+			
+			return xmlFiles;
+		
+		} catch (Exception e) {
+			e.printStackTrace();
+			return null;
+		}
+	}	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/FileExportManager.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,302 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import com.nokia.s60tools.crashanalyser.files.*;
+
+/**
+ * This class handles all file export tasks.  
+ *
+ */
+public final class FileExportManager {
+	public final static String EXTENSION_ZIP = ".zip";
+	
+	private FileExportManager() {
+		// not to be implemented
+	}
+	
+	private static void showMessage(String message, Shell shell) {
+		MessageDialog.openInformation(
+				shell,
+				"Crash Analyser",
+				message);
+	}
+
+	/**
+	 * Exports all selected files to Zip as Html format
+	 * @param selection  IStructuredSelection of MainView's selected rows
+	 * @param shell shell for window
+	 */
+	public static void ExportSelectedFilesAsHtmlToZip(ISelection selection, Shell shell) {
+		// return if nothing is selected
+		if (selection == null || selection.isEmpty()) {
+			showMessage("Please select first the files you want to export", shell);
+			return;
+		}
+
+		List<CrashFileBundle> files = new ArrayList<CrashFileBundle>();
+		@SuppressWarnings("unchecked")
+		Iterator i = ((IStructuredSelection)selection).iterator();
+		// go through all selected files
+		while (i.hasNext()) {
+			CrashFileBundle cFileBundle = (CrashFileBundle)i.next();
+			// handle only files which contains xml file. only files which contain
+			// xml can be saved as html
+			if (cFileBundle.hasXml()) {
+				files.add(cFileBundle);						
+			}
+		}
+		// no files contained xml, return
+		if (files.isEmpty()) {
+			showMessage("Only decoded files can be exported as HTML", shell);
+			return;
+		}
+		
+		String saveFilePath = FileOperations.saveAsDialog("Crash Analyser - Select zip location", new String[] {"*.zip"}, shell);
+		if (saveFilePath != null) {
+			List<String> htmlFiles = new ArrayList<String>();
+			// get all html files
+			for (int j = 0; j < files.size(); j++) {
+				CrashFileBundle cfb = files.get(j);
+				File htmlFile = cfb.getHtmlFile(true);
+				if (htmlFile != null)
+					htmlFiles.add(htmlFile.getAbsolutePath());
+			}
+			 
+			FileOperations.zipFiles(htmlFiles.toArray(new String[htmlFiles.size()]), saveFilePath);
+		}		
+	}
+	
+	/**
+	 * Exports all selected files to Zip as Xml format (.crashxml or .xml)
+	 * @param selection  IStructuredSelection of MainView's selected rows
+	 * @param shell shell for window
+	 */
+	public static void ExportSelectedFilesAsXmlToZip(ISelection selection, Shell shell) {
+		// return if nothing is selected
+		if (selection == null || selection.isEmpty()) {
+			showMessage("Please select first the files you want to export", shell);
+			return;
+		}
+
+		ArrayList<String> files = new ArrayList<String>();
+		@SuppressWarnings("unchecked")
+		Iterator i = ((IStructuredSelection)selection).iterator();
+		// go through all selected files
+		while (i.hasNext()) {
+			CrashFileBundle cFileBundle = (CrashFileBundle)i.next();
+			// handle only files which contains xml file
+			if (cFileBundle.hasXml()) {
+				files.add(cFileBundle.getXmlFilePath());						
+			}
+		}
+		// no files contained xml, return
+		if (files.isEmpty()) {
+			showMessage("Only decoded files can be exported as XML", shell);
+			return;
+		}
+		
+		String saveFilePath = FileOperations.saveAsDialog("Crash Analyser - Select zip location", new String[] {"*.zip"}, shell);
+		if (saveFilePath != null) {
+			FileOperations.zipFiles(files.toArray(new String[files.size()]), saveFilePath);
+		}
+	}
+	
+	/**
+	 * Exports a selected file to Html format. If more than one file is selected, does nothing
+	 * @param selection  IStructuredSelection of MainView's selected rows
+	 * @param shell shell for window
+	 */
+	public static void ExportSelectedFileToHtml(ISelection selection, Shell shell) {
+		// return if nothing is selected or if more than one items are selected
+		if (selection == null || 
+			selection.isEmpty()) {
+			showMessage("Please select first a file you want to export", shell);
+			return;
+		}
+			
+		if (((IStructuredSelection)selection).size() > 1) {
+			showMessage("Please select a single file", shell);
+			return;
+		}
+		
+		List<CrashFileBundle> files = new ArrayList<CrashFileBundle>();
+		@SuppressWarnings("unchecked")
+		Iterator i = ((IStructuredSelection)selection).iterator();
+		// go through all selected files
+		while (i.hasNext()) {
+			CrashFileBundle cFileBundle = (CrashFileBundle)i.next();
+			// handle only files which contains xml file. only files which contain
+			// xml can be saved as html
+			if (cFileBundle.hasXml()) {
+				files.add(cFileBundle);
+			}
+		}
+		
+		// return if no xml files were found or if more than one file was found
+		if (files.isEmpty() || files.size() > 1) {
+			showMessage("Only decoded files can be exported as HTML", shell);
+			return;
+		}
+
+		String saveFilePath = FileOperations.saveAsDialog("Crash Analyser - Select XML location", 
+															new String[] {"*.htm"}, 
+															shell);
+		if (saveFilePath != null) {
+			files.get(0).saveAsHtml(new File(saveFilePath));
+		}
+	}
+	
+	/**
+	 * Exports a selected file to Xml format (.crashxml or .xml). If more than one 
+	 * file is selected, does nothing.
+	 * @param selection  IStructuredSelection of MainView's selected rows
+	 * @param shell shell for window
+	 */
+	public static void ExportSelectedFileToXml(ISelection selection, Shell shell) {
+		// return if nothing is selected or if more than one items are selected
+		if (selection == null || 
+			selection.isEmpty()) {
+			showMessage("Please select first a file you want to export", shell);
+			return;
+		}
+		if (((IStructuredSelection)selection).size() > 1) {
+			showMessage("Please select a single file", shell);
+			return;
+		}
+		
+		boolean crashXml = false;
+		ArrayList<String> files = new ArrayList<String>();
+		@SuppressWarnings("unchecked")
+		Iterator i = ((IStructuredSelection)selection).iterator();
+		// go through all selected files
+		while (i.hasNext()) {
+			CrashFileBundle cFileBundle = (CrashFileBundle)i.next();
+			// handle only files which contains xml file
+			if (cFileBundle.hasXml()) {
+				files.add(cFileBundle.getXmlFilePath());
+				crashXml = cFileBundle.isFullyDecoded();
+			}
+		}
+		
+		// return if no xml files were found or if more than one file was found
+		if (files.isEmpty() || files.size() > 1) {
+			showMessage("Only decoded files can be exported as XML", shell);
+			return;
+		}
+
+		String[] extension = {"*." + CrashAnalyserFile.SUMMARY_FILE_EXTENSION};
+		if (crashXml)
+			extension = new String[] {"*." + CrashAnalyserFile.OUTPUT_FILE_EXTENSION};
+		
+		String saveFilePath = FileOperations.saveAsDialog("Crash Analyser - Select XML location", extension, shell);
+		if (saveFilePath != null) {
+			FileOperations.copyFile(new File(files.get(0)), new File(saveFilePath), true);
+		}
+	}
+	
+	/**
+	 * A single row in selection can have multiple files. This method first zips all files found
+	 * in a single row in to a zip and then finally zips all "row zips" into one zip.
+	 * @param selection  IStructuredSelection of MainView's selected rows
+	 * @param shell shell for window
+	 */
+	public static void ExportSelectedFilesToZipInAllFormats(ISelection selection, Shell shell) {
+		// return if nothing is selected
+		if (selection == null || selection.isEmpty()) {
+			showMessage("Please select first the files you want to export", shell);
+			return;
+		}
+
+		List<CrashFileBundle> files = new ArrayList<CrashFileBundle>();
+		@SuppressWarnings("unchecked")
+		Iterator i = ((IStructuredSelection)selection).iterator();
+		// go through all selected files
+		while (i.hasNext()) {
+			CrashFileBundle cFileBundle = (CrashFileBundle)i.next();
+			// handle only files which are not empty nor emulator panics
+			if (!cFileBundle.isEmpty() && !cFileBundle.isEmulatorPanic()) {
+				files.add(cFileBundle);						
+			}
+		}
+		// no files, return
+		if (files.isEmpty())
+			return;
+		
+		String saveFilePath = FileOperations.saveAsDialog("Crash Analyser - Select zip location", new String[] {"*.zip"}, shell);
+		if (saveFilePath != null) {
+			List<String> zipFiles = new ArrayList<String>();
+			List<String> bundleFiles = new ArrayList<String>();
+			// zip all bundle files to zips
+			for (int j = 0; j < files.size(); j++) {
+				boolean nameSet = false;
+				CrashFileBundle cfb = files.get(j);
+				String zipFileName = FileOperations.addSlashToEnd(cfb.getBundleFolder());
+				// zip binary file
+				UndecodedFile uf = cfb.getUndecodedFile();
+				if (uf != null) {
+					bundleFiles.add(uf.getFilePath());
+					zipFileName += uf.getFileName() + EXTENSION_ZIP;
+					nameSet = true;
+				}
+				// zip .crashxml file
+				CrashFile cf = cfb.getCrashFile();
+				if (cf != null) {
+					bundleFiles.add(cf.getFilePath());
+					if (!nameSet) {
+						zipFileName += cf.getFileName() + EXTENSION_ZIP;
+						nameSet = true;
+					}
+				}
+				// zip .xml file
+				SummaryFile sf = cfb.getSummaryFile();
+				if (sf != null) {
+					bundleFiles.add(sf.getFilePath());
+					if (!nameSet) {
+						zipFileName += sf.getFileName() + EXTENSION_ZIP;
+						nameSet = true;
+					}
+				}
+				// zip html file
+				File htmlFile = cfb.getHtmlFile(true);
+				if (htmlFile != null) {
+					bundleFiles.add(htmlFile.getAbsolutePath());
+					if (!nameSet) {
+						zipFileName += htmlFile.getName() + EXTENSION_ZIP;
+					}
+				}
+				
+				if (!bundleFiles.isEmpty()) {
+					FileOperations.zipFiles(bundleFiles.toArray(new String[bundleFiles.size()]), zipFileName);
+					zipFiles.add(zipFileName);
+				}
+			}
+			
+			if (!zipFiles.isEmpty())
+				FileOperations.zipFiles(zipFiles.toArray(new String[zipFiles.size()]), saveFilePath);
+		}		
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/FileOperations.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,353 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import java.io.*;
+import java.util.zip.*;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.MessageBox;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.SWT;
+
+/**
+ * This class provides common static methods that can be used by
+ * other classes. This class provides mainly methods for file 
+ * handling, such as deleteFolder, copyFile, etc.
+ */
+public final class FileOperations {
+	private FileOperations() {
+		// not meant to be implemented
+	}
+	
+	/**
+	 * If the last character of the given path is not backslash, it is added
+	 * and path with backslash is returned.
+	 * @param path Path to which backslash is added
+	 * @return Path which last character is backslash
+	 */
+	public static String addSlashToEnd(String path) {
+		if (path.endsWith(File.separator))
+			return path;
+		else
+			return path + File.separator;
+	}
+	
+	/**
+	 * Deletes given folder's contents and folder itself.
+	 * @param folder Folder to be deleted
+	 */
+	public static void deleteFolder(String folder) {
+		File f = new File(folder);
+		if (f.isDirectory())
+			deleteAllFiles(f);
+	}
+	
+	/**
+	 * Deletes given file
+	 * @param path path to file to be deleted
+	 */
+	public static void deleteFile(String path) {
+		File f = new File(path);
+		if (f.isFile())
+			f.delete();
+	}
+	
+	/**
+	 * Deletes all files from given directory and directory itself
+	 * @param dir Directory to be deleted
+	 * @return true if successful, false if not
+	 */
+	private static boolean deleteAllFiles(File dir) {
+		if(!dir.exists()) {
+			return true;
+		}
+		
+		boolean res = true;
+		if(dir.isDirectory()) {
+			File[] files = dir.listFiles();
+			for(int i = 0; i < files.length; i++) {
+				res &= deleteAllFiles(files[i]);
+			}
+			res = dir.delete();
+			//Delete dir itself
+		} else {
+			res = dir.delete();
+		}
+		return res;
+	}
+	
+	/**
+	 * Copies given file to destination.
+	 * @param file File to be copied
+	 * @param destinationFile Where file is copied
+	 * @param overwrite Defines whether destinationFile is overwritten is if exists already
+	 * @return true is copy was executed, false if not
+	 */
+	public static boolean copyFile(File file, File destinationFile, boolean overwrite) {
+		if (destinationFile.exists()) {
+			if (overwrite) {
+				destinationFile.delete();
+			} else {
+				return false;
+			}
+		}
+		
+		FileInputStream fis = null;
+		FileOutputStream fos = null;
+		try {
+	        fis = new FileInputStream(file);
+	        fos = new FileOutputStream(destinationFile);
+	        byte[] buf = new byte[1024];
+	        int i = 0;
+	        while((i=fis.read(buf))!=-1) {
+	        	fos.write(buf, 0, i);
+	        }
+	        fis.close();
+	        fos.close();
+	    } catch (Exception e) {
+	    	try {
+	    		if (fis != null) fis.close();
+	    	} catch (Exception E) {
+	    		e.printStackTrace();
+	    	}
+	    	try {
+	    		if (fos != null) fos.close();
+	    	} catch (Exception E) {
+	    		E.printStackTrace();
+	    	}
+	        return false;
+	    }		
+		return true;
+	}
+	
+	/**
+	 * Copies given file to destination.
+	 * @param file File to be copied
+	 * @param destinationPath Where file is copied
+	 * @param overwrite Defines whether destinationPath is overwritten is if exists already
+	 * @return true is copy was executed, false if not
+	 */
+	public static boolean copyFile(File file, String destinationPath, boolean overwrite) {
+		File newFile = new File(FileOperations.addSlashToEnd(destinationPath) + file.getName());
+		return copyFile(file, newFile, overwrite);
+	}
+	
+	/**
+	 * Creates a folder
+	 * @param path folder to be created
+	 * @return true if folder was created or existed, false if not
+	 */
+	public static boolean createFolder(String path) {
+		try {
+			File file = new File(path); 
+			if (file.exists() && file.isDirectory())
+				return true;
+			return file.mkdir();
+		} catch (Exception e) {
+			return false;
+		}
+	}	
+	
+	/**
+	 * Creates a folder
+	 * @param path folder to be created
+	 * @param override clears the folder if it exists
+	 * @return true if folder was created or existed, false if not
+	 */
+	public static boolean createFolder(String path, boolean override) {
+		try {
+			File file = new File(path); 
+			if (file.exists() && file.isDirectory()) {
+				if (!override) {
+					return true;
+				}
+				FileOperations.deleteAllFiles(new File(path));
+			}
+			return file.mkdir();
+		} catch (Exception e) {
+			e.printStackTrace();
+			return false;
+		}
+	}	
+	
+	/**
+	 * Returns file name with extension
+	 * @param filePath file path e.g. c:\mypath\myfile.txt
+	 * @return e.g myfile.txt when filePath is c:\mypath\myfile.txt
+	 */
+	public static String getFileNameWithExtension(String filePath) {
+		File tmpFile = new File(filePath);
+		if (tmpFile.isFile()) {
+			return tmpFile.getName();
+		}
+		
+		return "";
+	}
+
+	/**
+	 * Returns file name without extesion
+	 * @param fileName e.g. my_file.txt
+	 * @return e.g. my_file when fileName is my_file.txt
+	 */
+	public static String getFileNameWithoutExtension(String fileName) {
+		File tmpFile = new File(fileName);
+		int whereDot = tmpFile.getName().lastIndexOf('.');
+		if (0 < whereDot && whereDot <= tmpFile.getName().length() - 2 ) {
+			return tmpFile.getName().substring(0, whereDot);
+		}
+		return ""; //$NON-NLS-1$
+	}
+	
+	/**
+	 * Returns folder from full file path
+	 * @param fullFilePath e.g. c:\folder\file.txt
+	 * @return e.g. c:\folder\ when fullFilePath is c:\folder\file.txt
+	 */
+	public static String getFolder(String fullFilePath) {
+		try {
+			int index = fullFilePath.lastIndexOf(File.separator);
+			return fullFilePath.substring(0, index);
+		} catch (Exception e) {
+			return "";
+		}
+	}
+	
+	
+	
+	/**
+	 * Unzips all files from given zip file to given outputFolder.
+	 * @param zipFile zip file
+	 * @param outputFolder output folder
+	 */
+	public static void unZipFiles(File zipFile, String outputFolder) {
+		try {
+			String output = addSlashToEnd(outputFolder);
+			final int BUFFER = 2048;
+			BufferedOutputStream dest = null;
+			FileInputStream fis = new FileInputStream(zipFile);
+			ZipInputStream zis = new 
+			ZipInputStream(new BufferedInputStream(fis));
+			ZipEntry entry;
+			while((entry = zis.getNextEntry()) != null) {
+				int count;
+				byte data[] = new byte[BUFFER];
+	            // write the files to the disk
+				FileOutputStream fos = new FileOutputStream(output + entry.getName());
+				dest = new BufferedOutputStream(fos, BUFFER);
+				while ((count = zis.read(data, 0, BUFFER)) != -1) {
+					dest.write(data, 0, count);
+				}
+				dest.flush();
+				dest.close();
+			}
+			zis.close();
+		} catch(Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * Zips given files to given zip file
+	 * @param filenames files to be zipped
+	 * @param outFilename zip file path
+	 */
+	public static void zipFiles(String[] filenames, String outFilename) {
+		// Create a buffer for reading the files
+		byte[] buf = new byte[1024];
+
+		try {
+			// Create the ZIP file
+			ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outFilename));
+			
+			// Compress the files
+			for (int i=0; i < filenames.length; i++) {
+				String filename = filenames[i];
+				
+				FileInputStream in = new FileInputStream(filename);
+				File f = new File(filename);
+				// Add ZIP entry to output stream.
+				out.putNextEntry(new ZipEntry(f.getName()));
+
+				// Transfer bytes from the file to the ZIP file
+				int len;
+				while ((len = in.read(buf)) > 0) {
+					out.write(buf, 0, len);
+				}
+
+				// Complete the entry
+				out.closeEntry();
+				in.close();
+			}
+
+			// Complete the ZIP file
+			out.close();
+		} catch (Exception e) {
+			e.printStackTrace();
+		} 
+	}	
+
+	/**
+	 * Shows save file dialog
+	 * @param header header text for the dialog
+	 * @param filter filter of the file (e.g. "*.zip")
+	 * @param shell shell for the dialog
+	 * @return file save path or null if cancelled
+	 */
+	public static String saveAsDialog(String header, String[] filter, Shell shell) {
+		// We store the selected file name in fileName
+		String fileName = null;
+
+		// The user has finished when one of the
+		// following happens:
+		// 1) The user dismisses the dialog by pressing Cancel
+		// 2) The selected file name does not exist
+		// 3) The user agrees to overwrite existing file
+		boolean done = false;
+		
+		FileDialog dlg = new FileDialog(shell, SWT.SAVE);
+		dlg.setText(header);
+		dlg.setFilterExtensions(filter);
+
+		while (!done) {
+			// Open the File Dialog
+			fileName = dlg.open();
+			if (fileName == null) {
+				// User has cancelled, so quit and return
+				done = true;
+			} else {
+				// User has selected a file; see if it already exists
+				File file = new File(fileName);
+				if (file.exists()) {
+					// The file already exists; asks for confirmation
+					MessageBox mb = new MessageBox(dlg.getParent(), SWT.ICON_WARNING
+		              | SWT.YES | SWT.NO);
+
+					mb.setMessage(fileName + " already exists. Do you want to replace it?");
+
+					// If they click Yes, we're done and we drop out. If
+					// they click No, we redisplay the File Dialog
+					done = mb.open() == SWT.YES;
+				} else {
+					// File does not exist, so drop out
+					done = true;
+				}
+			}
+		}
+		return fileName;
+	}		
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/HtmlFormatter.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,292 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import java.util.List;
+import com.nokia.s60tools.crashanalyser.files.*;
+import com.nokia.s60tools.crashanalyser.containers.Message;
+import com.nokia.s60tools.crashanalyser.containers.Summary;
+import com.nokia.s60tools.crashanalyser.containers.Thread;
+import com.nokia.s60tools.crashanalyser.data.*;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.widgets.TableItem;
+
+/**
+ * Formats different texts to shown in UI to be html format. 
+ *
+ */
+public final class HtmlFormatter {
+	private HtmlFormatter() {
+	}
+	
+	final static String HEADER = "<h3>";
+	final static String HEADER_END = "</h3>";
+	final static String BOLD = "<b>";
+	final static String BOLD_END = "</b>";
+	final static String BREAK = "<br>";
+	final static String ITALIC = "<i>";
+	final static String ITALIC_END = "</i>";
+	final static String RED_FONT = "<font color=#FF0000>";
+	final static String ORANGE_FONT = "<font color=#FF8C00>";
+	final static String FONT_END = "</font>";
+
+	/**
+	 * Formats a description for a panic category in html format
+	 * @param categoryName category name
+	 * @param categoryDescription category description
+	 * @return category description in html format
+	 */
+	public static String formatCategoryDescription(String categoryName, String categoryDescription) {
+		return BOLD + categoryName + BOLD_END + BREAK + BREAK + categoryDescription;
+	}
+
+	/**
+	 * Formats a description for an error in html format
+	 * @param errorName error name
+	 * @param errorDescription error description 
+	 * @return error description in html format
+	 */
+	public static String formatErrorDescription(String errorName, String errorDescription) {
+		return BOLD + errorName + "  " + errorDescription + BOLD_END + BREAK + BREAK;
+	}
+
+	/**
+	 * Formats a description for a panic in html format
+	 * @param panicName panic name
+	 * @param panicDescription panic description
+	 * @return panic description in html format
+	 */
+	public static String formatPanicDescription(String panicName, String panicDescription) {
+		return BOLD + panicName + BOLD_END + BREAK + panicDescription + BREAK + BREAK;
+	}
+	
+	/**
+	 * Formats a panic name to html format
+	 * @param categoryName category name
+	 * @param panicId panic id
+	 * @return panic name in html format
+	 */
+	public static String formatPanicName(String categoryName, String panicId) {
+		return BREAK + BREAK + BOLD + categoryName + " - " + panicId + BOLD_END + BREAK;
+	}
+	
+	/**
+	 * 
+	 * @param component
+	 * @return
+	 */
+	public static String formatErrorComponent(String component) {
+		if (component.trim().length() < 1)
+			return "";
+		return BREAK + BREAK + BOLD + "Error Component:" + BOLD_END + BREAK + component;
+	}
+	
+	/**
+	 * Formats emulator panic into html format
+	 * @param file emulator panic file
+	 * @param errorLibrary error library
+	 * @return emulator panic description in html format
+	 */
+	public static String formatEmulatorPanicDescription(PanicFile file, ErrorLibrary errorLibrary) {
+		String panicCategory = file.getPanicCategory();
+		String panicCode = file.getPanicCode();
+		String description = BOLD + "Panic time : " + BOLD_END + file.getTime() + BREAK +
+		  					 BOLD + "Paniced thread : " + BOLD_END + file.getThreadName() + BREAK +
+		  					 BOLD + "Panic category : " + BOLD_END + panicCategory + BREAK +
+		  					 BOLD + "Panic code : " + BOLD_END + panicCode + BREAK;
+
+		try {
+			String panicDescription = errorLibrary.getPanicDescription(panicCategory, panicCode);
+			if (!"".equals(panicDescription))
+				description += BOLD + "Panic description : " + BOLD_END + BREAK + panicDescription;
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return description;
+	}
+	
+	/**
+	 * Formats a crash description in html format. 
+	 * @param crashSummary crash summary data
+	 * @param messages messages for the crash
+	 * @param thread crashed thread
+	 * @return crash description
+	 */
+	public static String formatCrashFileDescription(Summary crashSummary, 
+													List<Message> messages,
+													Thread thread) {
+		String description = "";
+		String panicDescription = "";
+		
+		description = HEADER + "Crash Summary" + HEADER_END;
+		
+		// format exit information
+		if (thread != null) {
+			if (!"".equals(thread.getFullName())) {
+				description += BOLD + "Crashed Thread: " + BOLD_END + thread.getFullName() + BREAK;
+			}
+			if (!"".equals(thread.getExitType())) {
+				description += BOLD + "Exit Type: " + BOLD_END + thread.getExitType() + BREAK;
+			}
+			
+			if (!"".equals(thread.getExitCategory()) && !"".equals(thread.getExitReason())) {
+				description += BOLD + "Exit Category: " + BOLD_END + thread.getExitCategory() + BREAK;
+				description += BOLD + "Exit Reason: " + BOLD_END + thread.getExitReason() + BREAK;
+				panicDescription = thread.getPanicDescription();
+			}
+		}
+
+		// format summary information
+		if (crashSummary != null) {
+			if (!"".equals(crashSummary.getRomId()))
+				description += BOLD + "ROM ID: " + BOLD_END + crashSummary.getRomId() + BREAK;
+			String[] versions = crashSummary.getSwVersion();
+			if (versions != null && versions.length > 0) {
+				for (int i = 0; i < versions.length; i++) {
+					description += BOLD + "SW Version: " + BOLD_END + versions[i] + BREAK;
+				}
+			}
+			if (!"".equals(crashSummary.getProductType()))
+				description += BOLD + "Product type: " + BOLD_END + crashSummary.getProductType() + BREAK;
+			if (!"".equals(crashSummary.getProductCode()))
+				description += BOLD + "Product code: " + BOLD_END + crashSummary.getProductCode() + BREAK;
+			if (!"".equals(crashSummary.getLanguage()))
+				description += BOLD + "Language: " + BOLD_END + crashSummary.getLanguage() + BREAK;
+		}
+		
+		if (!"".equals(panicDescription)) {
+			description += BREAK + BOLD + "Exit Description:" + BOLD_END + BREAK + panicDescription + BREAK;
+		}
+
+		return description;
+	}
+	
+	/**
+	 * Formats messages into errors and warnings into html format
+	 * @param messages messages to be formatted
+	 * @return messages in html format
+	 */
+	public static String formatErrosAndWarnings(List<Message> messages) {
+		String description = "";
+		String lineBreak = System.getProperty("line.separator");
+		// format errors and warnings
+		if (messages != null && !messages.isEmpty()) {
+			for (int i = 0; i < messages.size(); i++) {
+				Message message = messages.get(i);
+				if (Message.MessageTypes.WARNING.equals(message.getMessageType())) {
+					description += BOLD + ORANGE_FONT + "Warning: " + FONT_END + BREAK + ITALIC + message.getTitle() + ITALIC_END + BOLD_END + BREAK;
+					description += message.getMessage().replace(lineBreak, BREAK) + BREAK + BREAK;
+				} else if (Message.MessageTypes.ERROR.equals(message.getMessageType())){
+					description += BOLD + RED_FONT + "Error: " + FONT_END + BREAK + ITALIC + message.getTitle() + ITALIC_END + BOLD_END + BREAK;
+					description += message.getMessage().replace(lineBreak, BREAK) + BREAK + BREAK;
+				}
+			}
+		}
+		return description;
+	}
+	
+	/**
+	 * Formats css style parameters into html body text
+	 * @param font font to be used
+	 * @param bodyText html text
+	 * @return html text with css style data
+	 */
+	public static String formatHtmlStyle(Font font, String bodyText) {
+		String format = "";
+		FontData[] fd = font.getFontData();
+		if (fd != null && fd.length > 0) {
+			format = "<style type=\"text/css\">";
+			format += "body {font-family: " + fd[0].getName() + "} ";
+			format += "body {font-size: 12} ";
+			format += "p {font-family: " + fd[0].getName() + "} ";
+			format += "p {font-size: 12} ";
+			format += "b {font-family: " + fd[0].getName() + "} ";
+			format += "b {font-size: 12} ";
+			format += "</style>";
+			format += "<body>";
+			format += bodyText;
+			format += "</body>";
+		} else {
+			format = bodyText;
+		}
+		return format;
+	}
+	
+	/**
+	 * Formats given table item's data into html format. Sets background colors correctly
+	 * @param items table items
+	 * @param columns how many columns a table item contains
+	 * @return given table item's data in html format
+	 */
+	public static String formatStackForClipboard(TableItem[] items, int columns) {
+		String retval = "";
+		if (items != null && items.length > 0) {
+			String separator = System.getProperty("line.separator"); 
+			retval = "<table>" + separator;
+			// go through all table items (i.e. table rows)
+			for (int i = 0; i < items.length; i++) {
+				TableItem item = items[i];
+				String backGroundColor = getHexColor(item.getBackground());
+				String textColor = getHexColor(item.getForeground());
+				retval += "<tr bgcolor=#"+backGroundColor+"><font color=#"+textColor+">" + separator;
+				// go through all columns in current row
+				for (int j = 0; j < columns; j++) {
+					retval += "<td>" + separator;
+					retval += item.getText(j) + separator;
+					retval += "</td>" + separator;
+				}
+				retval += "</font></tr>" + separator;
+			}
+			retval += "</table>" + separator;
+		}
+		return retval;
+	}
+	
+	/**
+	 * Returns color as hex value
+	 * @param color
+	 * @return color as hex value
+	 */
+	static String getHexColor(Color color) {
+		RGB rgb = color.getRGB();
+		String retval = Integer.toHexString( rgb.red);
+		if (rgb.red < 1)
+			retval += "0";
+		retval += Integer.toHexString( rgb.green);
+		if (rgb.green < 1)
+			retval += "0";
+		retval += Integer.toHexString( rgb.blue);
+		if (rgb.blue < 1)
+			retval += "0";
+		return retval;
+	}
+	
+	/**
+	 * Formats a message about missing error description
+	 * @param panic 
+	 * @return
+	 */
+	public static String formatUnknownPanicMessage(String panic) {
+		return "Could not find a description for this error. Please <a href=\"mailto:S60RnDtools@nokia.com?subject=Crash Analyser - Missing description for " +
+				panic + 
+				"\">report this missing error description</a>";		
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/MobileCrashImporter.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,102 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import com.nokia.s60tools.crashanalyser.corecomponents.interfaces.*;
+import com.nokia.s60tools.crashanalyser.files.*;
+import com.nokia.s60tools.crashanalyser.data.*;
+import com.nokia.s60tools.crashanalyser.ui.views.*;
+import java.io.*;
+
+/**
+ * This class imports a mobilecrash file received via TraceViewer.
+ *
+ */
+public class MobileCrashImporter extends Job {
+
+	String traceDumpFolder = "";
+	String traceDumpFileName = "";
+	ErrorLibrary errorLibrary = null;
+	boolean decodeFile = false;
+	
+	/**
+	 * Constructor
+	 */
+	public MobileCrashImporter() {
+		super("Importing MobileCrash File via Trace Data");
+	}
+	
+	/**
+	 * Starts import process
+	 * @param dumpFolder folder where file received via Trace is
+	 * @param dumpFileName name of the trace file
+	 * @param library error library
+	 * @param decode if true, crash file is also decoded, if false, crash file is only imported as undecoded state
+	 */
+	public void importFrom(String dumpFolder, String dumpFileName, ErrorLibrary library, boolean decode) {
+		traceDumpFolder = FileOperations.addSlashToEnd(dumpFolder);
+		traceDumpFileName = dumpFileName;
+		decodeFile = decode;
+		errorLibrary = library;
+		setPriority(Job.LONG);
+		setUser(false);
+		schedule();		
+	}
+	
+	/**
+	 * Executes CrashAnalyser.exe with correct parameters
+	 */
+	void executeCrashAnalyserExe(IProgressMonitor monitor) {
+		CommandLineManager.executeSummary(traceDumpFolder, 
+											traceDumpFolder + traceDumpFileName, 
+											CrashAnalyserFile.SUMMARY_FILE_EXTENSION,
+											monitor);
+	}
+	
+	@Override
+	protected IStatus run(IProgressMonitor monitor) {
+		try {
+			// if we need to decoded the received crash file
+			if (decodeFile) {
+				executeCrashAnalyserExe(monitor);
+				File summaryFile = new File(traceDumpFolder + 
+											traceDumpFileName + 
+											"." + 
+											CrashAnalyserFile.SUMMARY_FILE_EXTENSION);
+				SummaryFile sf = SummaryFile.read(summaryFile, errorLibrary);
+				if (sf == null) {
+					MainView.showOrRefresh();
+				} else {
+					MainView.showOrRefreshAndOpenFile(sf);
+				}
+			// we did not need to decode the file, just refresh main view and the undecoded file is shown
+			} else {
+				MainView.showOrRefresh();
+			}
+			
+		} catch (Exception e){
+			e.printStackTrace();
+		}
+		
+		return Status.OK_STATUS;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/PEBClip.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import sun.awt.windows.*;
+import java.lang.reflect.*;
+
+/**
+ * Access the native clipboard, windows only, write only.
+ */
+public class PEBClip extends WClipboard {
+	private final Method m;
+
+	public PEBClip() throws NoSuchMethodException {
+		m = WClipboard.class.getDeclaredMethod("publishClipboardData",
+				new Class[]  {Long.TYPE, (new byte[0]).getClass()});
+		m.setAccessible(true);
+	}
+	
+	public synchronized void setData(long format, byte[] data) throws IllegalAccessException, InvocationTargetException {
+		setData(new long[]{format}, new byte[][]{data});
+	}
+
+	public synchronized void setData(long[] format, byte[][] data) throws IllegalAccessException, InvocationTargetException {
+		openClipboard(this);
+		try{
+			for(int i=0;i<format.length && i<data.length;i++)
+				myPublishClipboardData(format[i], data[i]);
+		} finally {
+			closeClipboard();
+		}
+	}
+
+	protected void myPublishClipboardData(long format, byte[] bytes) throws IllegalAccessException, InvocationTargetException{
+		m.invoke(this, new Object[]{new Long(format),bytes});
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/PanicsViewerSorter.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import org.eclipse.jface.viewers.ViewerSorter;
+import org.eclipse.jface.viewers.Viewer;
+
+import com.nokia.s60tools.crashanalyser.containers.ErrorLibraryError;
+
+/**
+ * Sorts errors correctly in ErrorDialog's panics list.
+ * 
+ *  E.g.
+ *  
+ *  USER 1
+ *  USER 2
+ *  USER 34
+ *  W32 1
+ *  W32 2
+ *
+ */
+public class PanicsViewerSorter extends ViewerSorter {
+
+	@Override
+	public int compare(Viewer viewer, Object e1, Object e2) {
+		String panicName1 = ((ErrorLibraryError)e1).toString().trim();
+		String panicName2 = ((ErrorLibraryError)e2).toString().trim();
+		
+		// separate panic id from panic name
+		// panic name is category + panic id e.g. "W32 4"
+		int index1 = panicName1.lastIndexOf(' ');
+		int index2 = panicName2.lastIndexOf(' ');
+		if (index1 > -1 && index2 > -1) {
+			String category1 = panicName1.substring(0, index1).trim();
+			String category2 = panicName2.substring(0, index2).trim();
+			String panicId1 = panicName1.substring(index1).trim();
+			String panicId2 = panicName2.substring(index2).trim();
+			int res = category1.compareTo(category2);
+			if (res == 0) {
+				try {
+					int panic1 = Integer.valueOf( panicId1 ).intValue();
+					int panic2 = Integer.valueOf( panicId2 ).intValue();
+					if (panic1 < panic2)
+						return -1;
+					else if (panic1 > panic2)
+						return 1;
+					else
+						return 0;
+				} catch (Exception e) {
+					return panicName1.compareTo(panicName2);
+				}
+			} else {
+				return panicName1.compareTo(panicName2);
+			}
+				
+		} else {
+			return panicName1.compareTo(panicName2);
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/SourceSdkManager.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import com.nokia.s60tools.sdk.SdkUtils;
+import java.util.*;
+
+/**
+ * Manages SDKs for 'Open Source File' functionality. 
+ *
+ */
+public final class SourceSdkManager {
+	private SourceSdkManager() {
+		// no implementation needed
+	}
+	
+	/**
+	 * Returns a list of all SDKs and their location
+	 * @return all SDKS.
+	 */
+	public static Map<String, String> getAllSdks() {
+		try {
+			return SdkUtils.getSdkMapFileFolders(true, true);
+		} catch (Exception e) {
+			e.printStackTrace();
+			return null;
+		}
+	}
+	
+	/**
+	 * Set given SDK as the SDK which is to be used in 'Open Source File' functionality
+	 * @param sdk default sdk to be used
+	 */
+	public static void setSdk(String sdk) {
+		UserEnteredData data = new UserEnteredData();
+		data.savePreviousSdk(sdk);
+	}
+	
+	/**
+	 * Gets the name of the SDK which is currently the one being used 
+	 * by 'Open Source File' functionality
+	 * @return name of the currently default SDK
+	 */
+	public static String getCurrentSkdName() {
+		UserEnteredData data = new UserEnteredData();
+		return data.getPreviousSdk();
+	}
+
+	/**
+	 * Returns the epocroot folder of given sdk.
+	 * @param sdkName sdk
+	 * @return epocroot folder or null
+	 */
+	public static String getEpocroot(String sdkName) {
+		try {
+			Map<String, String> sdks = SdkUtils.getSdkMapFileFolders(true, true);
+			if (sdks.containsKey(sdkName))
+				return sdks.get(sdkName);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/StartupHandler.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import org.eclipse.ui.IStartup;
+
+import com.nokia.s60tools.crashanalyser.plugin.CrashAnalyserPlugin;
+
+/**
+ * Startup handler is called when Carbide is started. We need to start
+ * emulator and/or trace listeners according to preferences. 
+ *
+ */
+public class StartupHandler implements IStartup {
+
+	public void earlyStartup() {
+		CrashAnalyserPlugin.startTraceListener();
+		CrashAnalyserPlugin.startEmulatorListener();
+	}	
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/TraceListener.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,220 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import java.io.*;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtension;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.swt.widgets.Display;
+import com.nokia.s60tools.crashanalyser.data.*;
+import com.nokia.s60tools.crashanalyser.interfaces.IErrorLibraryObserver;
+import com.nokia.s60tools.crashanalyser.files.*;
+import com.nokia.s60tools.crashanalyser.export.*;
+import com.nokia.s60tools.crashanalyser.plugin.*;
+
+/**
+ * This class listens MobileCrash files via TraceViewer 
+ *
+ */
+public class TraceListener implements ITraceDataProcessor, 
+										IErrorLibraryObserver  {
+	private final static String MOBILE_CRASH_STARTTAG = "<MB_CR_START>"; //$NON-NLS-1$
+	private final static String MOBILE_CRASH_LINE_TAG = "<MB_CD>"; //$NON-NLS-1$
+	private final static String MOBILE_CRASH_STOPTAG = "<MB_CR_STOP>"; //$NON-NLS-1$
+	private final static String MOBILECRASH_START = "MobileCrash_"; //$NON-NLS-1$
+	final String EXTENSION_TRACE_PROVIDER = "traceprovider"; //$NON-NLS-1$
+
+
+	boolean listening = false;
+	boolean mobileCrashStarted = false;
+	BufferedWriter mcFile = null;
+	String dumpFolder = ""; //$NON-NLS-1$
+	File dumpFile;
+	ErrorLibrary errorLibrary = null;
+	boolean decode = false;
+	private static ITraceProvider traceProvider = null;
+	
+	/**
+	 * Constructor
+	 */
+	public TraceListener() {
+		readTraceProvider();
+	}
+	
+	/**
+	 * Starts trace listening asynchronously
+	 */
+	public void errorLibraryReady() {
+		Runnable refreshRunnable = new Runnable(){
+			public void run(){
+				startListening();
+			}
+		};
+		
+		Display.getDefault().asyncExec(refreshRunnable);        		
+	}
+	
+	/**
+	 * Activates MobileCrash file listening
+	 */
+	public void startListening() {
+		if (errorLibrary == null) {
+			errorLibrary = ErrorLibrary.getInstance(this);
+			return;
+		}
+		
+		if (listening || traceProvider == null)
+			return;
+
+		if (traceProvider.start(this))
+			listening = true;
+	}
+	
+	/**
+	 * Sets whether we should decode imported files or just import them as undecoded state.
+	 * @param decodeFiles 
+	 */
+	public void setDecode(boolean decodeFiles) {
+		decode = decodeFiles;
+	}
+	
+	/**
+	 * De-activates MobileCrash file listening
+	 */
+	public void stopListening() {
+		if (!listening)
+			return;
+		
+		if (traceProvider != null)
+			traceProvider.stop();
+		listening = false;
+	}
+
+	/**
+	 * All lines in trace data will be passed to this method. This method
+	 * pics up MobileCrash file content from trace data.
+	 * @param line trace data line
+	 */
+	public void processDataLine(String line) {
+		int idx = line.indexOf(MOBILE_CRASH_STARTTAG);
+		
+		try {
+			// Line contained <MC_CR_START>
+			if (idx > -1) { 
+				mobileCrashStarted = true;
+				dumpFolder = FileOperations.addSlashToEnd(DecoderEngine.getNewCrashFolder());
+				
+				Calendar cal = Calendar.getInstance();
+			    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmssSSS"); //$NON-NLS-1$
+			    dumpFile = new File(dumpFolder +
+			    					MOBILECRASH_START + 
+			    					sdf.format(cal.getTime()) + 
+			    					"." + 
+			    					CrashAnalyserFile.TRACE_EXTENSION);		
+				
+			    // create a file for this mobilecrash
+			    mcFile = new BufferedWriter(new FileWriter(dumpFile));
+			    mcFile.write(line);
+				mcFile.newLine();
+				
+			// Line did not contain <MC_CR_START>, but <MB_CR_START> has been found previously (i.e we are reading a file) 
+			} else if (mobileCrashStarted){ 
+				
+				idx = line.indexOf(MOBILE_CRASH_LINE_TAG);
+				// Line contained <MB_CD>, add data to file
+				if (idx > -1) { 
+					mcFile.write(line);
+					mcFile.newLine();
+				// Line did not contain <MB_CD>
+				} else { 
+					idx = line.indexOf(MOBILE_CRASH_STOPTAG);
+					// Line contained <MC_CR_STOP>, we can finish reading this mobile crash file
+					if (idx > -1) {
+						mcFile.write(line);
+						mcFile.newLine();
+						mcFile.close();
+						mcFile = null;
+						mobileCrashStarted = false;
+						
+						// give this mobilecrash file for further processing
+						MobileCrashImporter tc = new MobileCrashImporter();
+						tc.importFrom(dumpFolder, dumpFile.getName(), errorLibrary, decode);
+					}
+				}
+			}
+		} catch (Exception e) {
+			if (mcFile != null) {
+				try {mcFile.close();}catch (Exception E) {E.printStackTrace();}
+			}
+			mcFile = null;
+			mobileCrashStarted = false;
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * Returns whether we have found trace provider plugins.
+	 * @return true if trace providers were found, false if not
+	 */
+	public static boolean traceProviderAvailable() {
+		if (traceProvider == null)
+			return false;
+		return true;
+	}
+	
+	/**
+	 * Tries to find plugins which are Trace Providers. Selected the first found
+	 * Trace provider plugin.
+	 */
+	void readTraceProvider() {
+		try {
+			IExtensionRegistry er = Platform.getExtensionRegistry();
+			IExtensionPoint ep = 
+				er.getExtensionPoint(CrashAnalyserPlugin.PLUGIN_ID, EXTENSION_TRACE_PROVIDER);
+			IExtension[] extensions = ep.getExtensions();
+			
+			// if plug-ins were found.
+			if (extensions != null && extensions.length > 0) {
+				
+				// read all found trace providers
+				for (int i = 0; i < extensions.length; i++) {
+					IConfigurationElement[] ce = extensions[i].getConfigurationElements();
+					if (ce != null && ce.length > 0) {
+						try {
+							ITraceProvider provider = (ITraceProvider)ce[0].createExecutableExtension("class");
+							// we support only one trace provider
+							if (provider != null) {
+								traceProvider = provider;
+								break;
+							}
+						} catch (Exception e) {
+							e.printStackTrace();
+						}
+					}
+				}
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/UserEnteredData.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,217 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import org.eclipse.jface.dialogs.IDialogSettings;
+
+import com.nokia.s60tools.crashanalyser.plugin.CrashAnalyserPlugin;
+
+/**
+ * This class is used to save and restore data which is entered by user in 
+ * wizard pages.
+ *
+ */
+public class UserEnteredData {
+	// sections for each wizard page
+	public static final String SECTION_CRASH_FILE_OR_FOLDER = "CrashFileOrFolderPage"; //$NON-NLS-1$
+	public static final String SECTION_PARAMETER_FILES = "ParameterFilesPage"; //$NON-NLS-1$
+	public static final String SECTION_ADDITIONAL_SETTINGS = "AdditionalSettingsPage"; //$NON-NLS-1$
+	public static final String SECTION_CALL_STACK = "CallStack";
+	
+	// FileOrPathSelectionPage
+	public static final String LAST_USED_CRASH_FILES_OR_FOLDERS = "CrashFilesOrPaths"; //$NON-NLS-1$
+	
+	//SDK selection for Call Stack popup menu
+	public static final String LAST_USED_SOURCE_SDK = "LastUsedSourceSdk";
+	
+	public static enum ValueTypes {	CRASH_FILE_OR_PATH, 
+									TEXT_OR_HTML_OUTPUT_PATH} 
+	public static final int MAX_SAVED_VALUES = 5;
+
+	/**
+	 * Returns values user has previously entered to wizard pages.
+	 * @param valueType type of the values 
+	 * @return user's previous values
+	 */
+	public String[] getPreviousValues(ValueTypes valueType) {
+		try {
+			String[] retVal = null;
+
+			if (ValueTypes.CRASH_FILE_OR_PATH.equals(valueType)) {
+				retVal = getPreviousPaths(SECTION_CRASH_FILE_OR_FOLDER, LAST_USED_CRASH_FILES_OR_FOLDERS);
+			}
+			
+			return retVal;
+		} catch (Exception e) {
+			return null;
+		}
+	}
+	
+
+	/**
+	 * Saves user's latest value.
+	 * @param pathType value type
+	 * @param value value to be saved
+	 */
+	public void saveValue(ValueTypes pathType, String value) {
+		if (value.trim().length() < 1)
+			return;
+		
+		try {
+			if (ValueTypes.CRASH_FILE_OR_PATH.equals(pathType)) {
+				savePath(value, LAST_USED_CRASH_FILES_OR_FOLDERS, getSection(SECTION_CRASH_FILE_OR_FOLDER));
+			}
+		} catch (Exception E) {
+			E.printStackTrace();
+		}
+	}
+	
+	public void savePreviousSdk(String sdkName) {
+		try {
+			IDialogSettings section = getSection(SECTION_CALL_STACK);
+			if (section != null) {
+				section.put(LAST_USED_SOURCE_SDK, sdkName);
+			}
+		} catch (Exception E) {
+			E.printStackTrace();
+		}
+	}
+	
+	public String getPreviousSdk() {
+		String retval = "";
+		try {
+			IDialogSettings section = getSection(SECTION_CALL_STACK);
+			if (section != null) {
+				retval = section.get(LAST_USED_SOURCE_SDK);
+			}
+		} catch (Exception E) {
+			E.printStackTrace();
+		}
+		return retval;
+	}
+
+	/**
+	 * Saves given path to correct section in dialog_settings.xml
+	 * @param path path to save
+	 * @param array name of the array which contains correct values
+	 * @param section section which has array 
+	 */
+	protected void savePath(String path, String array, IDialogSettings section) {
+		savePath(path, array, section, false);
+	}
+
+	/**
+	 * Saves given path to correct section in dialog_settings.xml
+	 * @param path path to save
+	 * @param array name of the array which contains correct values
+	 * @param section section which has array 
+	 * @param saveJustOne if true, only 'path' is saved. If false, 'path' is added to previously used paths.
+	 */
+	protected void savePath(String path, String array, IDialogSettings section, boolean saveJustOne) {
+		if (section != null) {
+			String[] previousValues = section.getArray(array);
+			
+			// No previous values exist
+			if (previousValues == null) {
+				previousValues = new String[1];
+				previousValues[0] = path;
+			// Previous values exists
+			} else {
+				int valuesCount = previousValues.length;
+				
+				boolean valueExisted = false;
+				// see if passed value already exist.
+				for (int i = 0; i < valuesCount; i++) {
+					if (previousValues[i].compareToIgnoreCase(path) == 0) {
+						valueExisted = true;
+						
+						// passed value exists, move it to first position
+						for (int j = i; j > 0; j--) {
+							previousValues[j] = previousValues[j-1];
+						}
+						previousValues[0] = path;
+						
+						break;
+					}
+				}
+				
+				// passed value did not exist, add it to first position (and move older values "down")
+				if (!valueExisted) {
+					if (valuesCount >= MAX_SAVED_VALUES) {
+						for (int i = valuesCount-1; i > 0; i--) {
+							previousValues[i] = previousValues[i-1];
+						}
+						previousValues[0] = path;
+					} else {
+						String[] values = new String[valuesCount + 1];
+						values[0] = path;
+						for (int i = 0; i < valuesCount; i++) {
+							values[i+1] = previousValues[i];
+						}
+						previousValues = values;
+					}
+				}
+			}
+			section.put(array, previousValues);
+		}
+	}
+
+	/**
+	 * Returns previously entered values of wanted context (i.e. wizard page).
+	 * @param section section which contains array
+	 * @param array name of the array whose values are needed
+	 * @return previously entered paths of given section
+	 */
+	protected String[] getPreviousPaths(String section, String array) {
+		String[] retVal = null;
+		IDialogSettings sect = getSection(section);
+		if (sect != null) {
+			retVal = sect.getArray(array);
+		}
+		
+		return retVal;
+	}
+		
+	/**
+	 * Returns wanted section
+	 * @param section name of the wanted section
+	 * @return wanted section
+	 */
+	protected IDialogSettings getSection(String section) {
+		IDialogSettings retVal = null;
+		if (CrashAnalyserPlugin.getDefault().getDialogSettings() != null) {
+			retVal = CrashAnalyserPlugin.getDefault().getDialogSettings().getSection(section);
+			if (retVal == null) {
+				retVal = CrashAnalyserPlugin.getDefault().getDialogSettings().addNewSection(section);
+			}
+		}
+		return retVal;
+	}	
+	
+	public static IDialogSettings getParameterFilesSection() {
+		IDialogSettings retVal = null;
+		if (CrashAnalyserPlugin.getDefault().getDialogSettings() != null) {
+			retVal = CrashAnalyserPlugin.getDefault().getDialogSettings().getSection(SECTION_PARAMETER_FILES);
+			if (retVal == null) {
+				retVal = CrashAnalyserPlugin.getDefault().getDialogSettings().addNewSection(SECTION_PARAMETER_FILES);
+			}
+		}
+		return retVal;
+	}
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/model/XmlUtils.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,98 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.model;
+
+import org.w3c.dom.*;
+
+/**
+ * Utility class for XML handling 
+ *
+ */
+public final class XmlUtils {
+	private XmlUtils() {
+		// not meant to be initialized
+	}
+	
+	/**
+	 * Returns the value of given tagName under given element.
+	 * 
+	 * E.g.
+	 * <ele>
+	 * 	<tagName>MyValue</tagName>
+	 * </ele>
+	 * 
+	 * MyValue is returned in the above case.
+	 * 
+	 * @param ele xml element under which the tagName should be found
+	 * @param tagName tag name of the tag which value is read
+	 * @return the value of given tagName under given element.
+	 */
+	public static String getTextValue(Element ele, String tagName) {
+		String textVal = null;
+
+		try {
+			NodeList nl = ele.getElementsByTagName(tagName);
+			if(nl != null && nl.getLength() > 0) {
+				Element el = (Element)nl.item(0);
+				Node firstChild = el.getFirstChild();
+				if (firstChild != null)
+					textVal = firstChild.getNodeValue();
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return textVal;
+	}
+	
+	/**
+	 * Returns the value of given node
+	 * @param node node which value is to be returned
+	 * @return the value of given node
+	 */
+	public static String getNodeValue(Node node) {
+		String retval = "";
+		try {
+			Node firstChild = node.getFirstChild();
+			if (firstChild != null)
+				retval = firstChild.getNodeValue();
+		} catch (Exception e) { 
+			return "";
+		}
+		return retval;
+	}	
+	
+	/**
+	 * Checks whether given xml element contains a node of given name
+	 * @param ele xml element
+	 * @param tagName name of the node to be found
+	 * @return true if node is found under xml element, false if not
+	 */
+	public static boolean containsNode(Element ele, String tagName) {
+		try {
+			NodeList nl = ele.getElementsByTagName(tagName);
+			if(nl != null && nl.getLength() > 0) {
+				return true;
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		
+		return false;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/plugin/CrashAnalyserPlugin.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,189 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.plugin;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+import com.nokia.s60tools.crashanalyser.model.FileOperations;
+import com.nokia.s60tools.crashanalyser.model.TraceListener;
+import com.nokia.s60tools.crashanalyser.model.EmulatorListener;
+import com.nokia.s60tools.crashanalyser.resources.*;
+import com.nokia.s60tools.crashanalyser.ui.preferences.*;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class CrashAnalyserPlugin extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "com.nokia.s60tools.crashanalyser"; //$NON-NLS-1$
+
+	// The shared instance
+	private static CrashAnalyserPlugin plugin;
+	private static IPreferenceStore prefsStore;
+	private static TraceListener traceListener = null;
+	private static EmulatorListener emulatorListener = null;
+	private String pluginInstallPath = ""; //$NON-NLS-1$
+	
+	protected static final String DATA_FOLDER = "data\\";	
+	
+	/**
+	 * The constructor
+	 */
+	public CrashAnalyserPlugin() {
+		plugin = this;
+	}
+	
+	/**
+	 * Starts/Stops emulator listener according to preferences
+	 */
+	public static void startEmulatorListener() {
+		if (emulatorListener == null)
+			emulatorListener = new EmulatorListener();
+		
+		if (CrashAnalyserPreferences.epocwindListenerOn()) {
+			emulatorListener.start();
+		} else {
+			emulatorListener.stop();
+		}
+	}
+	
+	/**
+	 * Starts/Stops trace listener according to preferences
+	 */
+	public static void startTraceListener() {
+		if (traceListener == null)
+			traceListener = new TraceListener();
+		
+		traceListener.setDecode(CrashAnalyserPreferences.showVisualizer());
+		if (CrashAnalyserPreferences.traceListenerOn()) {
+			traceListener.startListening();
+		} else {
+			traceListener.stopListening();
+		}		
+	}
+	
+	/**
+	 * Returns the path where this plugin is installed
+	 * @return the path where this plugin is installed
+	 */
+	public static String getPluginInstallPath() {
+		try {
+			if (plugin.pluginInstallPath.equals("")) { //$NON-NLS-1$
+				 // URL to the plugin's root ("/")
+				URL relativeURL = plugin.getBundle().getEntry("/"); //$NON-NLS-1$
+				//	Converting into local path
+				URL localURL = FileLocator.toFileURL(relativeURL);
+				//	Getting install location in correct form
+				File f = new File(localURL.getPath());
+				plugin.pluginInstallPath = f.getAbsolutePath();
+			}
+			return plugin.pluginInstallPath;
+		} catch (Exception e) {
+			return ""; //$NON-NLS-1$
+		}
+	}
+	
+	/**
+	 * Gets images path relative to given plugin install path.
+	 * @param pluginInstallPath Plugin installation path.
+	 * @return Path were image resources are located.
+	 * @throws IOException
+	 */
+	private String getImagesPath(String pluginInstallPath) throws IOException{
+		return pluginInstallPath
+				+ File.separatorChar + "icons"; //$NON-NLS-1$
+	}
+	
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		
+		String pluginInstallLocation = getPluginInstallPath();
+		String imagesPath = getImagesPath(pluginInstallLocation);
+		
+		// Loading images required by this plug-in
+		ImageResourceManager.loadImages(imagesPath);				
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		if (emulatorListener != null) {
+			emulatorListener.stop();
+		}
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static CrashAnalyserPlugin getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * Returns an image descriptor for the image file at the given
+	 * plug-in relative path
+	 *
+	 * @param path the path
+	 * @return the image descriptor
+	 */
+	public static ImageDescriptor getImageDescriptor(String path) {
+		return imageDescriptorFromPlugin(PLUGIN_ID, path);
+	}
+	
+	/**
+	 * Returns the PreferenceStore where plugin preferences are stored
+	 * 
+	 * @return the PreferenceStore where plugin preferences are stored
+	 */
+	public static IPreferenceStore getCrashAnalyserPrefsStore(){
+		if (prefsStore == null){
+			prefsStore = getDefault().getPreferenceStore();
+		}
+		
+		return prefsStore;
+	}
+	
+	/**
+	 * Returns the location for data-folder which contains all 
+	 * error & panic description xml files
+	 * @return
+	 */
+	public static String getDataPath() {
+		String path = FileOperations.addSlashToEnd(getPluginInstallPath());
+		return path + DATA_FOLDER;
+	}		
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/resources/HelpContextIDs.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.resources;
+
+/**
+ * IDs for context sensitive help.
+ * @see contexts.xml -file IDs links to <code> <context id="<ID>"> </code>
+ */
+public class HelpContextIDs {
+
+	/**
+	 * The plug-in ID. 
+	 */	 
+	private static final String CRASH_ANALYSER_HELP_PROJECT_PLUGIN_ID = "com.nokia.s60tools.crashanalyser.help"; //$NON-NLS-1$
+
+	
+	/**
+	 * ID to CrashAnalyser Help TOC
+	 */
+    public static final String CRASH_ANALYSER_HELP = 
+    	CRASH_ANALYSER_HELP_PROJECT_PLUGIN_ID +".CRASH_ANALYSER_HELP_TOC"; //$NON-NLS-1$
+
+    public static final String CRASH_ANALYSER_HELP_PREFERENCES = 
+    	CRASH_ANALYSER_HELP_PROJECT_PLUGIN_ID +".CRASH_ANALYSER_HELP_PREFERENCES"; //$NON-NLS-1$
+
+    public static final String CRASH_ANALYSER_HELP_MAIN_VIEW = 
+    	CRASH_ANALYSER_HELP_PROJECT_PLUGIN_ID +".CRASH_ANALYSER_HELP_MAIN_VIEW"; //$NON-NLS-1$
+
+    public static final String CRASH_ANALYSER_HELP_IMPORT_CRASH_FILES = 
+    	CRASH_ANALYSER_HELP_PROJECT_PLUGIN_ID +".CRASH_ANALYSER_HELP_IMPORT"; //$NON-NLS-1$
+
+    public static final String CRASH_ANALYSER_HELP_DECODE_CRASH_FILES = 
+    	CRASH_ANALYSER_HELP_PROJECT_PLUGIN_ID +".CRASH_ANALYSER_HELP_DECODE"; //$NON-NLS-1$
+
+    public static final String CRASH_ANALYSER_HELP_ERROR_LIBRARY = 
+    	CRASH_ANALYSER_HELP_PROJECT_PLUGIN_ID +".CRASH_ANALYSER_HELP_ERROR_LIBRARY"; //$NON-NLS-1$
+
+    public static final String CRASH_ANALYSER_HELP_CRASH_VISUALISER = 
+    	CRASH_ANALYSER_HELP_PROJECT_PLUGIN_ID +".CRASH_ANALYSER_HELP_ANALYSE_CRASH"; //$NON-NLS-1$
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/resources/ImageKeys.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+ 
+package com.nokia.s60tools.crashanalyser.resources;
+
+/**
+ * Image keys container 
+ *
+ */
+public class ImageKeys {
+	public static final String IMG_APP_ICON = "CRASH_ANALYSER_IMG_APP_ICON"; //$NON-NLS-1$
+	public static final String WIZARD_BANNER = "CRASH_ANALYSER_WIZARD_BANNER"; //$NON-NLS-1$
+	public static final String DECODE_FILES = "DECODE_SELECTED_CRASH_FILES"; //$NON-NLS-1$
+	public static final String EMULATOR_PANIC = "EMULATOR_PANIC";
+	public static final String DECODED_FILE = "DECODED_FILE";
+	public static final String CODED_FILE = "CODED_FILE";
+	public static final String PARTIALLY_DECODED_FILE = "PARTIALLY_DECODED_FILE";
+	public static final String ERROR_LIBRARY = "ERROR_LIBRARY";
+	public static final String SELECTED_SDK = "SELECTED_SDK";
+	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/resources/ImageResourceManager.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+ 
+package com.nokia.s60tools.crashanalyser.resources;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+
+
+/**
+ * Class for handling Crash Analyser icons.
+ *
+ */
+public final class ImageResourceManager {
+	
+	private ImageResourceManager() {
+		// not meant to be instantiated
+	}
+
+	/**
+	 * Loads CrashAnalyser images into image registry
+	 * @param imagesPath path where images are
+	 */
+	public static void loadImages(String imagesPath){
+		
+    	Display disp = Display.getCurrent();
+    	
+    	ImageRegistry imgReg = JFaceResources.getImageRegistry();
+    	
+    	Image img = new Image( disp, imagesPath + "\\crash_analyser_16.png" );        	 //$NON-NLS-1$
+        imgReg.put( ImageKeys.IMG_APP_ICON, img );
+
+        img = new Image( disp, imagesPath + "\\crash_analyser_55_bannered.png" );        	 //$NON-NLS-1$
+        imgReg.put( ImageKeys.WIZARD_BANNER, img );
+        
+        img = new Image( disp, imagesPath + "\\decode_files.png"); //$NON-NLS-1$
+        imgReg.put( ImageKeys.DECODE_FILES, img);
+        
+        img = new Image( disp, imagesPath + "\\emulator.png");
+        imgReg.put( ImageKeys.EMULATOR_PANIC, img);
+        
+        img = new Image( disp, imagesPath + "\\error_library.png");
+        imgReg.put( ImageKeys.ERROR_LIBRARY, img);
+
+        img = new Image( disp, imagesPath + "\\file_de_coded.png");
+        imgReg.put( ImageKeys.DECODED_FILE, img);
+
+        img = new Image( disp, imagesPath + "\\file_part_coded.png");
+        imgReg.put( ImageKeys.PARTIALLY_DECODED_FILE, img);
+
+        img = new Image( disp, imagesPath + "\\file_coded.png");
+        imgReg.put( ImageKeys.CODED_FILE, img);
+        
+        img = new Image( disp, imagesPath + "\\selected.png");
+        imgReg.put( ImageKeys.SELECTED_SDK, img);
+
+	}
+	
+	/**
+	 * Returns an image descriptor for given image key
+	 * @param key image key
+	 * @return image descriptor
+	 */
+	public static ImageDescriptor getImageDescriptor( String key ){
+    	ImageRegistry imgReg = JFaceResources.getImageRegistry();
+    	return  imgReg.getDescriptor( key );		
+	}	
+
+	/**
+	 * Returns an image for given image key
+	 * @param key image key
+	 * @return image
+	 */
+	public static Image getImage( String key ){
+    	ImageRegistry imgReg = JFaceResources.getImageRegistry();    	
+    	return  imgReg.get(key);		
+	}	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/search/TextViewerFilter.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.search;
+
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerFilter;
+
+/**
+ * A filter class for a text viewer. Used e.g. in ErrorLibrary dialog to
+ * filter list of text which match to what user has started to write.
+ *
+ */
+public class TextViewerFilter extends ViewerFilter {
+
+	String filterText = "";
+	
+	/**
+	 * Constructor
+	 * @param text text to match
+	 */
+	public TextViewerFilter(String text) {
+		filterText = text.toLowerCase();
+	}
+	
+	@Override
+	public boolean select(Viewer viewer, Object parentElement, Object element) {
+		if (element.toString().toLowerCase().startsWith(filterText)) 
+			return true;
+		return false;
+	}
+	
+	public boolean isFilterProperty(Object element, String property) {
+		return true;
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/actions/ToolbarShortcutAction.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.actions;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.IWorkbenchWindowActionDelegate;
+
+//import com.nokia.s60tools.util.console.IConsolePrintUtility;
+import com.nokia.s60tools.crashanalyser.ui.views.MainView;
+
+/**
+ * Action for toolbar shortcut. Carbide > Crash Analyser
+ * @see IWorkbenchWindowActionDelegate
+ */
+public class ToolbarShortcutAction implements IWorkbenchWindowActionDelegate {
+
+	/**
+	 * The action has been activated. The argument of the
+	 * method represents the 'real' action sitting
+	 * in the workbench UI.
+	 * @see IWorkbenchWindowActionDelegate#run
+	 */
+	public void run(IAction action) {
+		MainView mv = MainView.showAndReturnYourself();
+		mv.showWizardIfNoFiles();
+	}
+
+	/**
+	 * Selection in the workbench has been changed. We 
+	 * can change the state of the 'real' action here
+	 * if we want, but this can only happen after 
+	 * the delegate has been created.
+	 * @see IWorkbenchWindowActionDelegate#selectionChanged
+	 */
+	public void selectionChanged(IAction action, ISelection selection) {
+		// nothing to be done
+	}
+
+	/**
+	 * We can use this method to dispose of any system
+	 * resources we previously allocated.
+	 * @see IWorkbenchWindowActionDelegate#dispose
+	 */
+	public void dispose() {
+		// nothing to be done
+	}
+
+	/**
+	 * We will cache window object in order to
+	 * be able to provide parent shell for the message dialog.
+	 * @see IWorkbenchWindowActionDelegate#init
+	 */
+	public void init(IWorkbenchWindow window) {
+		// nothing to be done
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/console/CrashAnalyserEditorConsole.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.console;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+
+import com.nokia.s60tools.util.console.AbstractProductSpecificConsole;
+
+/**
+ * A console for Crash Analyser.
+ *
+ */
+public final class CrashAnalyserEditorConsole extends AbstractProductSpecificConsole {
+
+	/**
+	 * Private constructor forcing Singleton usage of the class.
+	 */
+	private CrashAnalyserEditorConsole() {		
+	}
+	
+	/**
+	 * Singleton instance of the class.
+	 */
+	static private CrashAnalyserEditorConsole instance = null;
+	
+	/**
+	 * Public accessor method.
+	 * @return Singleton instance of the class.
+	 */
+	static public CrashAnalyserEditorConsole getInstance(){
+		if(instance == null ){
+			instance = new CrashAnalyserEditorConsole();
+		}
+		return instance;
+	}	
+
+	@Override
+	protected ImageDescriptor getProductConsoleImageDescriptor() {
+		return null;
+	}
+
+	@Override
+	protected String getProductConsoleName() {
+		return "Crash Analyser";
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/dialogs/ErrorLibraryDialog.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,378 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.dialogs;
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.ViewerSorter;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.browser.Browser;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.layout.RowLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Link;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+import org.eclipse.swt.events.*;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.PlatformUI;
+import com.nokia.s60tools.crashanalyser.resources.HelpContextIDs;
+import com.nokia.s60tools.crashanalyser.search.TextViewerFilter;
+import com.nokia.s60tools.crashanalyser.containers.ErrorLibraryError;
+import com.nokia.s60tools.crashanalyser.data.*;
+import com.nokia.s60tools.crashanalyser.model.PanicsViewerSorter;
+import com.nokia.s60tools.crashanalyser.model.ErrorsViewerSorter;
+import com.nokia.s60tools.crashanalyser.model.HtmlFormatter;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+
+/**
+ * A dialog which contains all errors, panics and panic categories.
+ * 
+ * Dialog contains three tab pages: Panic search, Category search and Error search.
+ *
+ */
+public class ErrorLibraryDialog extends Dialog implements 	ModifyListener,
+															SelectionListener,
+															ISelectionChangedListener {
+	Text textPanicSearch;
+	Text textCategorySearch;
+	Text textErrorSearch;
+	ListViewer listPanics;
+	ListViewer listCategories;
+	ListViewer listErrors;
+	Browser browserPanicDescription;
+	Browser browserCategoryDescription;
+	Browser browserErrorDescription;
+	ErrorLibraryContentProvider contentPanics;
+	ErrorLibraryContentProvider contentCategories;
+	ErrorLibraryContentProvider contentErrors;
+	ErrorLibrary errorLibrary;
+	Link linkMailTo;
+	
+	/**
+	 * Constructor
+	 * @param parentShell shell
+	 * @param library error library
+	 */
+	public ErrorLibraryDialog(Shell parentShell, ErrorLibrary library) {
+		super(parentShell);
+		setShellStyle(getShellStyle() | SWT.RESIZE | SWT.HELP);
+		errorLibrary = library;
+	}
+	
+	@Override
+	protected Control createDialogArea(Composite parent) {
+		Composite dialogAreaComposite = (Composite) super.createDialogArea(parent);
+		
+		GridLayout gdl = new GridLayout(1, false);
+		GridData gd = new GridData(GridData.FILL_BOTH);
+		gd.widthHint = 600;
+		gd.heightHint = 600;
+		dialogAreaComposite.setLayout(gdl);
+		dialogAreaComposite.setLayoutData(gd);
+
+		// create tab
+		TabFolder tabFolder = new TabFolder(dialogAreaComposite, SWT.NONE);
+		tabFolder.setLayoutData(gd);
+		
+		// create tab pages
+		createPanicsPage(tabFolder);
+		createCategoriesPage(tabFolder);
+		createErrorsPage(tabFolder);
+		
+		// mail to link, which can be used to notify about missing panic descriptions
+		linkMailTo = new Link(dialogAreaComposite, SWT.NONE);
+		linkMailTo.setText("<a href=\"mailto:S60RnDtools@nokia.com?subject=Crash Analyser - Missing Panic\">Report a missing panic or error</a>");
+		linkMailTo.addSelectionListener(this);
+		
+		tabFolder.setSelection(0);
+
+		// load data to tab pages asynchronously
+		loadDataAsync();
+		
+		return dialogAreaComposite;
+	}
+
+	@Override
+	protected void createButtonsForButtonBar(Composite parent) {
+		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.CLOSE_LABEL, false);
+		setHelps();
+	}
+	
+	@Override
+	protected void configureShell(Shell newShell) {
+		super.configureShell(newShell);
+		newShell.setText("Crash Analyser - Error Library");
+	}
+	
+	/**
+	 * Called when user types something into search boxes
+	 */
+	public void modifyText(ModifyEvent item) {
+		// panic search text was modified, filter list accordingly
+		if (item.widget == textPanicSearch) {
+			listPanics.resetFilters();
+			String text = textPanicSearch.getText();
+			if (text.length() > 0) {
+				listPanics.addFilter(new TextViewerFilter(text));
+			}
+			if (listPanics.getList().getItemCount() > 0) {
+				listPanics.setSelection(new StructuredSelection(listPanics.getElementAt(0)), true);
+			} else {
+				browserPanicDescription.setText("");
+			}
+			
+		// category search text was modified, filter list accordingly
+		} else if (item.widget == textCategorySearch) {
+			listCategories.resetFilters();
+			String text = textCategorySearch.getText();
+			if (text.length() > 0) {
+				listCategories.addFilter(new TextViewerFilter(text));
+			}
+			if (listCategories.getList().getItemCount() > 0) {
+				listCategories.setSelection(new StructuredSelection(listCategories.getElementAt(0)), true);
+			} else {
+				browserCategoryDescription.setText("");
+			}
+
+		// error search text was modified, filter list accordingly
+		} else if (item.widget == textErrorSearch) {
+			listErrors.resetFilters();
+			String text = textErrorSearch.getText();
+			if (text.length() > 0) {
+				listErrors.addFilter(new TextViewerFilter(text));
+			}
+			if (listErrors.getList().getItemCount() > 0) {
+				listErrors.setSelection(new StructuredSelection(listErrors.getElementAt(0)), true);
+			} else {
+				browserErrorDescription.setText("");
+			}
+		}
+	}	
+	
+	/**
+	 * Called when user selects something from list
+	 */
+	public void selectionChanged(SelectionChangedEvent event) {
+		// user selected from panics list
+		if (event.getSource() == listPanics) {
+			int index = listPanics.getList().getSelectionIndex();
+			if (index >= 0) {
+				ErrorLibraryError p = (ErrorLibraryError)listPanics.getElementAt(index);
+				if (p != null)
+					browserPanicDescription.setText(HtmlFormatter.formatHtmlStyle(textPanicSearch.getFont(), 
+													p.getDescription()));
+			}
+			
+		// user selected from categories list
+		} else if (event.getSource() == listCategories) {
+			int index = listCategories.getList().getSelectionIndex();
+			if (index >= 0) {
+				ErrorLibraryError p = (ErrorLibraryError)listCategories.getElementAt(index);
+				if (p != null)
+					browserCategoryDescription.setText(HtmlFormatter.formatHtmlStyle(textPanicSearch.getFont(),
+														p.getDescription()));
+			}
+			
+		// user selected from errors list
+		} else if (event.getSource() == listErrors) {
+			int index = listErrors.getList().getSelectionIndex();
+			if (index >= 0) {
+				ErrorLibraryError p = (ErrorLibraryError)listErrors.getElementAt(index);
+				if (p != null)
+					browserErrorDescription.setText(HtmlFormatter.formatHtmlStyle(textPanicSearch.getFont(),
+													p.getDescription()));
+			}			
+		}
+	}
+	
+	public void widgetDefaultSelected(SelectionEvent arg0) {
+		// no implementation needed
+	}
+
+	public void widgetSelected(SelectionEvent event) {
+		try	{
+			browserCategoryDescription.setUrl(event.text);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * Creates panics tab page
+	 * @param tabFolder
+	 */
+	void createPanicsPage(TabFolder tabFolder) {
+		TabItem panicsPage = new TabItem(tabFolder, SWT.NONE);
+		panicsPage.setText("Panic Search");
+		
+		Composite composite = getComposite(tabFolder);
+		
+		textPanicSearch = new Text(composite, SWT.BORDER | SWT.SINGLE);
+		textPanicSearch.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+		textPanicSearch.addModifyListener(this);
+		
+		listPanics = new ListViewer(composite, SWT.BORDER | SWT.V_SCROLL);
+		listPanics.getList().setLayoutData(getListGridData());
+		listPanics.addSelectionChangedListener(this);
+		listPanics.setSorter(new PanicsViewerSorter());
+		
+		browserPanicDescription = new Browser(composite, SWT.BORDER);
+		browserPanicDescription.setLayoutData(new GridData(GridData.FILL_BOTH));
+		browserPanicDescription.setText("");
+		
+		panicsPage.setControl(composite);
+	}
+	
+	/**
+	 * Creates categories tab page
+	 * @param tabFolder
+	 */
+	void createCategoriesPage(TabFolder tabFolder) {
+		TabItem categoriesPage = new TabItem(tabFolder, SWT.NONE);
+		categoriesPage.setText("Category Search");
+
+		Composite composite = getComposite(tabFolder);
+		
+		textCategorySearch = new Text(composite, SWT.BORDER | SWT.SINGLE);
+		textCategorySearch.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+		textCategorySearch.addModifyListener(this);
+		
+		listCategories = new ListViewer(composite, SWT.BORDER | SWT.V_SCROLL);
+		listCategories.getList().setLayoutData(getListGridData());
+		listCategories.addSelectionChangedListener(this);
+		listCategories.setSorter(new ViewerSorter());
+		
+		browserCategoryDescription = new Browser(composite, SWT.BORDER);
+		browserCategoryDescription.setLayoutData(new GridData(GridData.FILL_BOTH));
+		browserCategoryDescription.setText("");
+		
+		categoriesPage.setControl(composite);
+	}
+
+	/**
+	 * Creates errors tab page
+	 * @param tabFolder
+	 */
+	void createErrorsPage(TabFolder tabFolder) {
+		TabItem errorsPage = new TabItem(tabFolder, SWT.NONE);
+		errorsPage.setText("Error Search");
+
+		Composite composite = getComposite(tabFolder);
+		
+		textErrorSearch = new Text(composite, SWT.BORDER | SWT.SINGLE);
+		textErrorSearch.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+		textErrorSearch.addModifyListener(this);
+		
+		listErrors = new ListViewer(composite, SWT.BORDER | SWT.V_SCROLL);
+		listErrors.getList().setLayoutData(getListGridData());
+		listErrors.addSelectionChangedListener(this);
+		listErrors.setSorter(new ErrorsViewerSorter());
+		
+		browserErrorDescription = new Browser(composite, SWT.BORDER);
+		browserErrorDescription.setLayoutData(new GridData(GridData.FILL_BOTH));
+		browserErrorDescription.setText("");
+		
+		errorsPage.setControl(composite);
+	}
+	
+	/**
+	 * Creates a composite which tab pages can utilize.
+	 * @param tabFolder
+	 * @return composite
+	 */
+	Composite getComposite(TabFolder tabFolder) {
+		Composite composite = new Composite(tabFolder, SWT.NONE);
+		composite.setLayout(new RowLayout());
+		GridLayout gdl = new GridLayout(1, false);
+		GridData gd = new GridData(GridData.FILL_BOTH);
+		composite.setLayout(gdl);
+		composite.setLayoutData(gd);
+		return composite;
+	}
+	
+	/**
+	 * Creates a grid data object for lists
+	 * @return
+	 */
+	GridData getListGridData() {
+		GridData listGd = new GridData(GridData.FILL_HORIZONTAL);
+		listGd.heightHint = 100;
+		return listGd;
+	}
+	
+	/**
+	 * Sets context sensitive helps to all UI items.
+	 */
+	void setHelps() {
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(textPanicSearch,
+				HelpContextIDs.CRASH_ANALYSER_HELP_ERROR_LIBRARY);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(textErrorSearch,
+				HelpContextIDs.CRASH_ANALYSER_HELP_ERROR_LIBRARY);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(textCategorySearch,
+				HelpContextIDs.CRASH_ANALYSER_HELP_ERROR_LIBRARY);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(listPanics.getControl(),
+				HelpContextIDs.CRASH_ANALYSER_HELP_ERROR_LIBRARY);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(listCategories.getControl(),
+				HelpContextIDs.CRASH_ANALYSER_HELP_ERROR_LIBRARY);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(listErrors.getControl(),
+				HelpContextIDs.CRASH_ANALYSER_HELP_ERROR_LIBRARY);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(browserCategoryDescription,
+				HelpContextIDs.CRASH_ANALYSER_HELP_ERROR_LIBRARY);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(browserErrorDescription,
+				HelpContextIDs.CRASH_ANALYSER_HELP_ERROR_LIBRARY);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(browserPanicDescription,
+				HelpContextIDs.CRASH_ANALYSER_HELP_ERROR_LIBRARY);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(linkMailTo,
+				HelpContextIDs.CRASH_ANALYSER_HELP_ERROR_LIBRARY);	
+	}
+		
+	/**
+	 * Loads panics, categories and errors into lists asynchronously so that
+	 * dialog can be opened fast
+	 */
+	public void loadDataAsync() {
+		Runnable refreshRunnable = new Runnable(){
+			public void run(){
+				// panics
+				contentPanics = new ErrorLibraryContentProvider(ErrorLibraryContentProvider.ContentTypes.PANIC, errorLibrary);
+				listPanics.setContentProvider(contentPanics);
+				listPanics.setInput(contentPanics);
+				
+				// categories
+				contentCategories = new ErrorLibraryContentProvider(ErrorLibraryContentProvider.ContentTypes.CATEGORY, errorLibrary);
+				listCategories.setContentProvider(contentCategories);
+				listCategories.setInput(contentCategories);
+				
+				// errors
+				contentErrors = new ErrorLibraryContentProvider(ErrorLibraryContentProvider.ContentTypes.ERROR, errorLibrary);
+				listErrors.setContentProvider(contentErrors);
+				listErrors.setInput(contentErrors);
+			}
+		};
+		
+		Display.getDefault().asyncExec(refreshRunnable);        		
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/editors/AdvancedPage.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,592 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.editors;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.jface.resource.FontRegistry;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.SashForm;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.TableItem;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.PlatformUI;
+
+import com.nokia.s60tools.crashanalyser.containers.CodeSegment;
+import com.nokia.s60tools.crashanalyser.containers.EventLog;
+import com.nokia.s60tools.crashanalyser.containers.Process;
+import com.nokia.s60tools.crashanalyser.containers.Register;
+import com.nokia.s60tools.crashanalyser.containers.RegisterBit;
+import com.nokia.s60tools.crashanalyser.containers.RegisterDetails;
+import com.nokia.s60tools.crashanalyser.containers.RegisterSet;
+import com.nokia.s60tools.crashanalyser.containers.Thread;
+import com.nokia.s60tools.crashanalyser.files.CrashFile;
+import com.nokia.s60tools.crashanalyser.files.SummaryFile;
+import com.nokia.s60tools.crashanalyser.resources.HelpContextIDs;
+import com.nokia.s60tools.crashanalyser.ui.viewers.CodeSegmentsTableViewer;
+
+/**
+ * Advanced page in Crash Visualiser editor. 
+ *
+ */
+public class AdvancedPage implements SelectionListener{
+
+	// registers group UI items
+	Combo comboRegisters;
+	Table tableRegisters;
+
+	// code segments group UI items
+	Table tableCodeSegments;
+	CodeSegmentsTableViewer tableViewerCodeSegments;
+	
+	// event log group UI items
+	Table tableEventLog;
+	
+	// CPSR details group UI items
+	Group groupCpsrEmpty;
+	Combo comboCpsrDetails;
+	Table tableCpsrDetails;
+	
+	FontRegistry fontRegistry;
+	SummaryFile crashFile;
+	Process selectedProcess = null;
+	Thread selectedThread = null;
+		
+	/**
+	 * Creates the page
+	 * @param parent composite
+	 * @param file summary file
+	 * @return composite
+	 */
+	public Composite createPage(Composite parent, SummaryFile file) {
+		crashFile = file;
+		return doCreatePage(parent);
+	}
+	
+	/**
+	 * Creates the page
+	 * @param parent composite
+	 * @return composite
+	 */
+	public Composite createPage(Composite parent) {
+		return doCreatePage(parent);
+	}
+	
+	/**
+	 * Loads data from given file into UI elements.
+	 * @param file crash file
+	 */
+	public void setFile(CrashFile file) {
+		if (file != null) {
+			crashFile = file;
+			initialUserRegistersTableLoad();
+			loadCodeSegmentsTable();
+			loadEventLogTable();
+			initialCpsrDetailsTableLoad();
+		}
+	}
+	
+	/**
+	 * Creates all UI elements to the page
+	 * @param parent
+	 * @return composite
+	 */
+	Composite doCreatePage(Composite parent) {
+		GridLayout layout = new GridLayout();
+		layout.numColumns = 1;
+		parent.setLayout(layout);
+		parent.setLayoutData(new GridData(GridData.FILL_BOTH));
+		
+		fontRegistry = new FontRegistry(Display.getCurrent());
+		fontRegistry.put("monospace", new FontData[]{new FontData("Courier", 8, SWT.NORMAL)});
+
+		SashForm sashFormMain = new SashForm(parent, SWT.VERTICAL);
+		sashFormMain.setLayoutData(new GridData(GridData.FILL_BOTH));
+		SashForm sashFormTop = new SashForm(sashFormMain, SWT.HORIZONTAL);
+		createRegistersGroup(sashFormTop);
+		createCodeSegmentsGroup(sashFormTop);
+		SashForm sashFormBottom = new SashForm(sashFormMain, SWT.HORIZONTAL);
+		createEventLogGroup(sashFormBottom);
+		createCpsrDetailsGroup(sashFormBottom);
+		
+		sashFormTop.setWeights(new int[]{3,2});
+		sashFormBottom.setWeights(new int[]{3,7});
+			
+		setHelps();
+		
+		return parent;
+	}
+	
+	/**
+	 * Creates registers group
+	 * @param parent
+	 */
+	void createRegistersGroup(Composite parent) {
+		Group groupRegisters = new Group(parent, SWT.NONE);
+		GridLayout layout = new GridLayout();
+		layout.numColumns = 2;
+		groupRegisters.setLayout(layout);
+		groupRegisters.setText("Registers");
+		GridData groupGD = new GridData(GridData.FILL_HORIZONTAL);
+		groupRegisters.setLayoutData(groupGD);
+		
+		comboRegisters = new Combo(groupRegisters, SWT.BORDER | SWT.DROP_DOWN | SWT.READ_ONLY);
+		GridData comboGD = new GridData();
+		comboGD.horizontalSpan = 2;
+		comboRegisters.setLayoutData(comboGD);
+		comboRegisters.addSelectionListener(this);
+		
+		tableRegisters = new Table(groupRegisters, SWT.BORDER);
+		tableRegisters.setHeaderVisible(true);
+		tableRegisters.setLinesVisible(true);
+		TableColumn col = new TableColumn(tableRegisters, SWT.LEFT);
+		col.setWidth(100);
+		col.setText("Register");
+		col = new TableColumn(tableRegisters, SWT.LEFT);
+		col.setWidth(100);
+		col.setText("Value");
+		col = new TableColumn(tableRegisters, SWT.LEFT);
+		col.setWidth(100);
+		col.setText("Symbol");
+		col = new TableColumn(tableRegisters, SWT.LEFT);
+		col.setWidth(100);
+		col.setText("Comment");
+		tableRegisters.setFont(fontRegistry.get("monospace"));
+
+		GridData tableGd = new GridData(GridData.FILL_BOTH);
+		tableGd.horizontalSpan = 2;
+		tableRegisters.setLayoutData(tableGd);
+
+		initialUserRegistersTableLoad();
+		
+	}
+	
+	/**
+	 * Creates code segments group
+	 * @param parent
+	 */
+	void createCodeSegmentsGroup(Composite parent) {
+		Group groupCodeSegments = new Group(parent, SWT.NONE);
+		GridLayout layout = new GridLayout();
+		layout.numColumns = 1;
+		groupCodeSegments.setLayout(layout);
+		groupCodeSegments.setText("Code Segments");
+		GridData groupGD = new GridData();
+		groupCodeSegments.setLayoutData(groupGD);
+		
+		tableCodeSegments = new Table(groupCodeSegments, SWT.BORDER);
+		tableCodeSegments.setHeaderVisible(true);
+		GridData tableGd = new GridData(GridData.FILL_BOTH);
+		tableCodeSegments.setLayoutData(tableGd);
+		
+		tableViewerCodeSegments = new CodeSegmentsTableViewer(tableCodeSegments);
+		tableCodeSegments.setFont(fontRegistry.get("monospace"));
+		
+		loadCodeSegmentsTable();
+		AutoSizeTableCells(tableCodeSegments);
+		
+	}
+	
+	/**
+	 * Creates event log group
+	 * @param parent
+	 */
+	void createEventLogGroup(Composite parent) {
+		Group groupEventLog = new Group(parent, SWT.NONE);
+		GridLayout layout = new GridLayout();
+		layout.numColumns = 1;
+		groupEventLog.setLayout(layout);
+		groupEventLog.setText("Event Log");
+		GridData groupGD = new GridData(GridData.FILL_BOTH);
+		groupEventLog.setLayoutData(groupGD);
+
+		tableEventLog = new Table(groupEventLog, SWT.BORDER);
+		tableEventLog.setHeaderVisible(true);
+		TableColumn col = new TableColumn(tableEventLog, SWT.LEFT);
+		col.setWidth(200);
+		col.setText("Type");
+		col = new TableColumn(tableEventLog, SWT.LEFT);
+		col.setWidth(200);
+		col.setText("Value");
+		tableEventLog.setLayoutData(new GridData(GridData.FILL_BOTH));
+		tableEventLog.setFont(fontRegistry.get("monospace"));
+		
+		loadEventLogTable();
+	}
+	
+	/**
+	 * Creates cpsr details group
+	 * @param parent
+	 */
+	void createCpsrDetailsGroup(Composite parent) {
+		Group groupCpsrDetails = new Group(parent, SWT.NONE);
+		GridLayout layout = new GridLayout();
+		layout.numColumns = 1;
+		groupCpsrDetails.setLayout(layout);
+		groupCpsrDetails.setText("CPSR Details");
+		GridData groupGD = new GridData(GridData.FILL_VERTICAL);
+		groupCpsrDetails.setLayoutData(groupGD);
+		
+		comboCpsrDetails = new Combo(groupCpsrDetails, SWT.BORDER | SWT.DROP_DOWN | SWT.READ_ONLY);
+		comboCpsrDetails.addSelectionListener(this);
+
+		// Empty group
+		groupCpsrEmpty = new Group(groupCpsrDetails, SWT.NONE);
+		FormLayout fl = new FormLayout();
+		fl.marginRight = 5;
+		fl.marginLeft = 5;
+		fl.marginBottom = 5;
+		groupCpsrEmpty.setLayout(fl);
+		GridData groupCpsrEmptyGd = new GridData(GridData.FILL_HORIZONTAL);
+		groupCpsrEmptyGd.horizontalAlignment = SWT.FILL;
+		groupCpsrEmptyGd.grabExcessHorizontalSpace = true;
+		groupCpsrEmpty.setLayoutData(groupCpsrEmptyGd);
+
+		// create 32 empty text boxes
+		for (int i = 0; i < 32; i++) {
+			Text text = new Text(groupCpsrEmpty, SWT.READ_ONLY | SWT.BORDER | SWT.NO_FOCUS | SWT.CENTER);
+			text.setFont(fontRegistry.get("monospace"));
+			FormData textFd = new FormData();
+			textFd.left = new FormAttachment(0,i*20);
+			textFd.top = new FormAttachment(8, 15);
+			textFd.width = 8;
+			text.setLayoutData(textFd); 			
+		}
+
+		tableCpsrDetails = new Table(groupCpsrDetails, SWT.BORDER);
+		tableCpsrDetails.setLinesVisible(true);
+		tableCpsrDetails.setHeaderVisible(true);
+		TableColumn col = new TableColumn(tableCpsrDetails, SWT.LEFT);
+		col.setWidth(380);
+		col.setText("Name");
+		col = new TableColumn(tableCpsrDetails, SWT.LEFT);
+		col.setWidth(220);
+		col.setText("Value");
+		GridData tableGd = new GridData(GridData.FILL_VERTICAL | GridData.FILL_HORIZONTAL);
+		tableGd.horizontalAlignment = SWT.FILL;
+		tableGd.grabExcessHorizontalSpace = true;
+		tableCpsrDetails.setLayoutData(tableGd);
+		tableCpsrDetails.setFont(fontRegistry.get("monospace"));
+		initialCpsrDetailsTableLoad();
+	}
+	
+	
+	/**
+	 * Loads register sets to combo, selects the correct set as
+	 * default set and then loads set's registers to table.
+	 */
+	void initialUserRegistersTableLoad() {
+		if (crashFile == null)
+			return;
+
+		int defaultSelectionIndex = 0;
+
+		// show the data of crashed process
+		selectedProcess = crashFile.getCrashedProcess();
+		if (selectedProcess != null) {
+			// current UI support only one thread, so show the first thread of first process
+			selectedThread = selectedProcess.getFirstThread();
+			if (selectedThread != null) {
+				List<RegisterSet> registerSets = selectedThread.getRegisters();
+				if (registerSets != null && !registerSets.isEmpty()) {
+					// load all register sets to combo
+					for (int i = 0; i < registerSets.size(); i++) {
+						RegisterSet registerSet = registerSets.get(i);
+						// default register to show is the one that contains CPSR register
+						if (registerSet.containsCPSR()) 
+							defaultSelectionIndex = i;
+						comboRegisters.add(registerSet.getName());
+						comboRegisters.setData(registerSet.getName(), registerSet);
+					}
+				}
+			}
+		}
+		
+		List<RegisterSet> standAloneRegisters = crashFile.getStandAloneRegisterSets();
+		if (standAloneRegisters != null && !standAloneRegisters.isEmpty()) {
+			for (int i = 0; i < standAloneRegisters.size(); i++) {
+				RegisterSet regSet = standAloneRegisters.get(i);
+				if (regSet.containsCPSR())
+					defaultSelectionIndex = comboRegisters.getItemCount() + i;
+				comboRegisters.add(regSet.getName());
+				comboRegisters.setData(regSet.getName(), regSet);
+			}
+		}
+		
+		if (comboRegisters.getItemCount() > 0) {
+			comboRegisters.select(defaultSelectionIndex);
+			loadRegistersTable();
+		}
+		
+	}
+	
+	/**
+	 * Loads user registers table according to which registers set is
+	 * selected in combo. 
+	 */
+	void loadRegistersTable() {
+		tableRegisters.removeAll();
+		
+		if (comboRegisters.getItemCount() < 1)
+			return;
+		
+		try {
+			RegisterSet registerSet = (RegisterSet)comboRegisters.getData(comboRegisters.getText());
+			List<Register> registers = registerSet.getRegisters();
+			if (registers != null && !registers.isEmpty()) {
+				// show all register values in selected register set
+				for (int i = 0; i < registers.size(); i++) {
+					Register register = registers.get(i);
+					newRegistersTableItem(register);
+				}
+				AutoSizeTableCells(tableRegisters);
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * Loads code segments to table
+	 */
+	void loadCodeSegmentsTable() {
+		if (selectedProcess == null)
+			return;
+		
+		List<CodeSegment> codeSegments = selectedProcess.getCodeSegments();
+		if (codeSegments != null && !codeSegments.isEmpty()) {
+			for (int i = 0; i < codeSegments.size(); i++) {
+				CodeSegment codeSegment = codeSegments.get(i);
+				newCodeSegmentsTableItem(codeSegment);
+			}
+		}
+		
+		AutoSizeTableCells(tableCodeSegments);
+	}
+	
+	/**
+	 * Loads all event log events to table
+	 */
+	void loadEventLogTable() {
+		if (crashFile == null)
+			return;
+		
+		EventLog eventLog = crashFile.getEventLog();
+		if (eventLog != null) {
+			List<String[]> events = eventLog.getLogEvents();
+			if (events != null && !events.isEmpty()) {
+				for (int i = 0; i < events.size(); i++) {
+					String[] event = events.get(i);
+					newEventTableItem(event[0], event[1]);
+				}
+				AutoSizeTableCells(tableEventLog);
+			}
+		}
+	}
+	
+	/**
+	 * Loads cprs types to combo, selects first type and then loads it's
+	 * data to table.
+	 */
+	void initialCpsrDetailsTableLoad() {
+		if (crashFile == null)
+			return;
+
+		List<RegisterDetails> registerDetails = crashFile.getRegisterDetails();
+		if (registerDetails != null && !registerDetails.isEmpty()) {
+			for (int i = 0; i < registerDetails.size(); i++) {
+				RegisterDetails regDetails = registerDetails.get(i);
+				if (regDetails.getDescription().contains("CPSR")) {
+					comboCpsrDetails.add(regDetails.getDescription());
+					comboCpsrDetails.setData(regDetails.getDescription(), regDetails);
+				}
+			}
+			comboCpsrDetails.select(0);
+			loadCpsrDetailsTable();
+		}		
+	}
+	
+	/**
+	 * Loads currently selected cprs's details into table.
+	 */
+	void loadCpsrDetailsTable() {
+		try {
+			tableCpsrDetails.removeAll();
+
+			RegisterDetails registerDetails = null;
+			if (comboRegisters.getSelectionIndex() >= 0)
+				registerDetails = (RegisterDetails)comboCpsrDetails.getData(comboCpsrDetails.getText());
+
+			boolean bitStartFromRight = registerDetails.bitsStartFromRight();
+			Map<String, String> categories = new HashMap<String, String>();
+			// go through all 32 text boxes, and see if there is a bit for each box
+			for (int i = 0, j = 31; i < 32; i++, j--) {
+				Text box = (Text)groupCpsrEmpty.getChildren().clone()[j];
+				// bits can start from the right or left (endianess)
+				if (!bitStartFromRight)
+					box = (Text)groupCpsrEmpty.getChildren().clone()[i];
+				RegisterBit bit = registerDetails.getBit(i);
+				// there's no bit for this box
+				if (bit == null) {
+					box.setText("");
+					box.setToolTipText("");
+				// there is a bit for this box
+				} else {
+					String regChar = bit.getRegisterChar();
+					String category = bit.getCategory();
+					String interpretation = bit.getInterpretation();
+					// if this bit contains a longer description, it should be shown in the table also
+					if (!"".equals(interpretation) && !categories.containsKey(category)) {
+						categories.put(category, interpretation);
+					}
+					box.setText(regChar);
+					box.setToolTipText(category);
+				}
+			}
+			
+			// load table
+			for (int i = 0; i < categories.size(); i++) {
+				newCpsrDetailsTableItem(categories.keySet().toArray()[i].toString(),
+										categories.values().toArray()[i].toString());
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * Adds a new table row for registers table
+	 * @param register row data
+	 */
+	void newRegistersTableItem(Register register) {
+		TableItem item = new TableItem(tableRegisters, SWT.NONE);
+		item.setText(new String[] {register.getName(),
+									register.getValue(),
+									register.getSymbol(),
+									register.getComments()});
+	}	
+
+	/**
+	 * Adds a new table row for code segments table
+	 * @param codeSegment
+	 */
+	void newCodeSegmentsTableItem(CodeSegment codeSegment) {
+		TableItem item = new TableItem(tableCodeSegments, SWT.NONE);
+		String segmentRange = codeSegment.getSegmentRange();
+		String base = "";
+		String top = "";
+		try {
+			// segment range is of format: XXXXX-YYYYY, parse this to XXXXX and YYYYY
+			if (segmentRange.contains("-")) {
+				top = segmentRange.substring(segmentRange.indexOf('-')+1);
+				base = segmentRange.substring(0, segmentRange.indexOf('-'));
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		item.setText(new String[] {base, top, codeSegment.getSegmentName()});
+		
+		// code segment should be highlighted if there was some problem with the code section
+		// while creating data
+		if (codeSegment.shouldBeHighlighted()) {
+			item.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_MAGENTA));
+		}
+		item.setData(codeSegment);
+	}
+	
+	/**
+	 * Adds a new table row for event log table
+	 * @param header header text
+	 * @param value value text
+	 */
+	void newEventTableItem(String header, String value) {
+		TableItem item = new TableItem(tableEventLog, SWT.NONE);
+		item.setText(new String[] {header, value});
+	}
+
+	/**
+	 * Adds a new table row for cpsr details table
+	 * @param header header text
+	 * @param value value text
+	 */
+	void newCpsrDetailsTableItem(String header, String value) {
+		TableItem item = new TableItem(tableCpsrDetails, SWT.NONE);
+		item.setText(new String[] {header, value});
+	}
+
+	/**
+	 * Packs all columns for given table
+	 * @param table table which columns are to be packed
+	 */
+	void AutoSizeTableCells(Table table) {
+		for (int i = 0; i < table.getColumnCount(); i++) {
+			table.getColumn(i).pack();
+		}
+	}
+	
+	public void widgetDefaultSelected(SelectionEvent arg0) {
+		// No implementation needed
+	}
+
+	public void widgetSelected(SelectionEvent event) {
+		// cpsr was changed in combo
+		if (event.widget == comboCpsrDetails) {
+			loadCpsrDetailsTable();
+		// register set was changed in combo
+		} else if (event.widget == comboRegisters) {
+			loadRegistersTable();
+		}
+	}
+	
+	/**
+	 * Sets context sensitive help ids to UI elements
+	 */
+	void setHelps() {
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(tableCodeSegments,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(tableCpsrDetails,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(tableEventLog,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(tableRegisters,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(tableEventLog,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(tableRegisters,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(comboCpsrDetails,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(comboRegisters,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);	
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/editors/ErrorPage.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.editors;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.browser.Browser;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.PlatformUI;
+
+import com.nokia.s60tools.crashanalyser.files.CrashFile;
+import com.nokia.s60tools.crashanalyser.files.SummaryFile;
+import com.nokia.s60tools.crashanalyser.model.HtmlFormatter;
+import com.nokia.s60tools.crashanalyser.resources.HelpContextIDs;
+
+/**
+ * Errors & Warnings page in Crash Visualiser editor. 
+ *
+ */
+public class ErrorPage {
+	SummaryFile crashFile = null;
+	Browser browserMessages;
+	
+	/**
+	 * Creates page
+	 * @param parent composite
+	 * @param file data file
+	 * @return composite
+	 */
+	public Composite createPage(Composite parent, SummaryFile file) {
+		crashFile = file;
+		return doCreate(parent);
+	}
+	
+	/**
+	 * Creates page
+	 * @param parent composite
+	 * @return composite
+	 */
+	public Composite createPage(Composite parent) {
+		return doCreate(parent);
+	}
+	
+	/**
+	 * Loads data from given file into UI elements.
+	 * @param file crash file
+	 */
+	public void setFile(CrashFile file) {
+		if (file != null) {
+			crashFile = file;
+			showMessages();
+		}
+	}
+	
+	/**
+	 * Creates all UI elements to the page
+	 * @param parent
+	 * @return composite
+	 */
+	Composite doCreate(Composite parent) {
+		GridLayout layout = new GridLayout();
+		layout.numColumns = 1;
+		parent.setLayout(layout);
+		
+		parent.setLayoutData(new GridData(GridData.FILL_BOTH));
+
+		browserMessages = new Browser(parent, SWT.NONE);
+		if (crashFile != null)
+			showMessages();
+		
+		browserMessages.setLayoutData(new GridData(GridData.FILL_BOTH));
+		
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(browserMessages,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);			
+		
+		return parent;
+	}
+	
+	/**
+	 * Shows messages in UI
+	 */
+	void showMessages() {
+		String errorsAndWarnings = HtmlFormatter.formatErrosAndWarnings(crashFile.getMessages());
+		browserMessages.setText(HtmlFormatter.formatHtmlStyle(browserMessages.getFont(), errorsAndWarnings));
+	}
+	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/editors/MultiPageEditor.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,300 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.editors;
+
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.*;
+import org.eclipse.ui.ide.FileStoreEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+import com.nokia.s60tools.crashanalyser.data.ErrorLibrary;
+import com.nokia.s60tools.crashanalyser.files.*;
+import com.nokia.s60tools.crashanalyser.interfaces.*;
+import com.nokia.s60tools.crashanalyser.resources.ImageKeys;
+import com.nokia.s60tools.crashanalyser.resources.ImageResourceManager;
+import com.nokia.s60tools.crashanalyser.model.*;
+import java.io.*;
+
+/**
+ * A Crash Visualiser editor. Editor contains four tab pages:
+ * Crash Data, Advanced, Errors & Warnings and XML.
+ * 
+ * Crash Data page contains summary data of the crash and crash reason
+ * and description. Crash Data page also contain stack data if available.
+ * 
+ * Advanced page contains more advanced details about the crash, such as 
+ * registers values, code segments, event log and cpsr details.
+ * 
+ * Errors & Warnings page contains all error and warning messages which 
+ * may have occurred during the xml file creation.
+ * 
+ * XML tab page contains the raw xml data as an xml tree.
+ *
+ */
+public class MultiPageEditor extends MultiPageEditorPart implements IResourceChangeListener, 
+																	IErrorLibraryObserver {
+	// editor pages
+	private SummaryPage summaryPage;
+	private AdvancedPage advancedPage;
+	private ErrorPage errorPage;
+	private XmlPage xmlPage;
+	
+	// editor data consists of either crashFile or summaryFile
+	private CrashFile crashFile = null;
+	private SummaryFile summaryFile = null;
+	
+	private ErrorLibrary errorLibrary = null;
+	private String crashFilePath = "";
+	static final int ERROR_PAGE_INDEX = 2;
+	
+	public MultiPageEditor() {
+		super();
+		ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
+	}
+	
+	/**
+	 * Creates Crash Data page
+	 */
+	void createSummaryPage() {
+		summaryPage = new SummaryPage();
+		
+		// output.crashxml is opened via CrashAnalyser View
+		if (crashFile != null) {
+			int index = 
+				addPage(summaryPage.createPage(new Composite(getContainer(), SWT.NONE), crashFile));
+			setPageText(index, "Crash Data");
+		// Summary xml is opened via CrashAnalyser View
+		} else if (summaryFile != null) {
+			int index = 
+				addPage(summaryPage.createPage(new Composite(getContainer(), SWT.NONE), summaryFile));
+			setPageText(index, "Crash Summary");
+		// output.crashxml file opened from File > Open
+		} else {
+			int index = 
+				addPage(summaryPage.createPage(new Composite(getContainer(), SWT.NONE)));
+			setPageText(index, "Crash Data");
+		}
+	}
+	
+	/**
+	 * Creates advanced page
+	 */
+	void createAdvancedPage() {
+		advancedPage = new AdvancedPage();
+		
+		// output.crashxml is opened via CrashAnalyser View
+		if (crashFile != null) {
+			int index = addPage(advancedPage.createPage(new Composite(getContainer(), SWT.NONE), crashFile));
+			setPageText(index, "Advanced");
+		// Summary xml is opened via CrashAnalyser View			
+		} else if (summaryFile != null) {
+			int index = addPage(advancedPage.createPage(new Composite(getContainer(), SWT.NONE), summaryFile));
+			setPageText(index, "Advanced");
+		// output.crashxml file opened from File > Open			
+		} else {
+			int index = addPage(advancedPage.createPage(new Composite(getContainer(), SWT.NONE)));
+			setPageText(index, "Advanced");
+		}
+	}
+	
+	/**
+	 * Creates Errors & Warnings page
+	 */
+	void createErrorPage() {
+		errorPage = new ErrorPage();
+		
+		// output.crashxml is opened via CrashAnalyser View
+		if (crashFile != null) {
+			if (crashFile.containsErrorsOrWarnings()) {
+				int index = addPage(errorPage.createPage(new Composite(getContainer(), SWT.NONE), crashFile));
+				setPageText(index, "Errors && Warnings");
+			}
+		// Summary xml is opened via CrashAnalyser View			
+		} else if (summaryFile != null) {
+			if (summaryFile.containsErrorsOrWarnings()) {
+				int index = addPage(errorPage.createPage(new Composite(getContainer(), SWT.NONE), summaryFile));
+				setPageText(index, "Errors && Warnings");
+			}
+		// output.crashxml file opened from File > Open			
+		} else {
+			int index = addPage(errorPage.createPage(new Composite(getContainer(), SWT.NONE)));
+			setPageText(index, "Errors && Warnings");
+		}
+		
+	}
+	
+	/**
+	 * Creates XML page
+	 */
+	void createXmlPage() {
+		xmlPage = new XmlPage();
+
+		// output.crashxml is opened via CrashAnalyser View
+		if (crashFile != null) {
+			int index = addPage(xmlPage.createPage(new Composite(getContainer(), SWT.NONE), crashFile));
+			setPageText(index, "XML");
+		// Summary xml is opened via CrashAnalyser View			
+		} else if (summaryFile != null) {
+			int index = addPage(xmlPage.createPage(new Composite(getContainer(), SWT.NONE), summaryFile));
+			setPageText(index, "XML");
+		// output.crashxml file opened from File > Open			
+		} else {
+			int index = addPage(xmlPage.createPage(new Composite(getContainer(), SWT.NONE), crashFile));
+			setPageText(index, "XML");
+		}
+	}
+	
+	/**
+	 * Creates the pages of the multi-page editor.
+	 */
+	protected void createPages() {
+		createSummaryPage();
+		createAdvancedPage();
+		createErrorPage();
+		createXmlPage();
+		
+		// output.crashxml file was opened via File > Open
+		// we need to read error library and CrashFile
+		if (crashFilePath != null && !"".equals(crashFilePath)) {
+			errorLibrary = ErrorLibrary.getInstance(this);
+		} else {
+			updatePages();
+		}
+	}
+	
+	public void errorLibraryReady() {
+		Runnable refreshRunnable = new Runnable(){
+			public void run(){
+				crashFile = CrashFile.read(new File(crashFilePath), errorLibrary);
+				summaryPage.setFile(crashFile);
+				advancedPage.setFile(crashFile);
+				if (crashFile.containsErrorsOrWarnings()) {
+					errorPage.setFile(crashFile);
+				} else {
+					removePage(ERROR_PAGE_INDEX);
+				}
+				xmlPage.setFile(crashFile);
+			}
+		};
+		
+		Display.getDefault().asyncExec(refreshRunnable);        		
+	}
+	
+	public void updatePages() {
+		Runnable refreshRunnable = new Runnable(){
+			public void run(){
+				summaryPage.update();
+			}
+		};
+		
+		Display.getDefault().asyncExec(refreshRunnable);        		
+	}
+	
+	
+	/**
+	 * The <code>MultiPageEditorPart</code> implementation of this 
+	 * <code>IWorkbenchPart</code> method disposes all nested editors.
+	 * Subclasses may extend.
+	 */
+	public void dispose() {
+		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
+		super.dispose();
+	}
+	/**
+	 * Saves the multi-page editor's document.
+	 */
+	public void doSave(IProgressMonitor monitor) {
+		// not supported
+	}
+
+	/**
+	 * editor's data can be saved as xml, html or txt.
+	 */
+	public void doSaveAs() {
+		String[] filter = null;
+		// we have a fully decoded file
+		if (crashFile != null) {
+			filter = new String[] { "*.crashxml", 
+					   				"*.html",
+					   				"*.txt"};
+		// we have a summary file
+		} else {
+			filter = new String[] { "*.xml", 
+					   				"*.html",
+									"*.txt"};	
+		}		
+		String result = FileOperations.saveAsDialog("Crash Analyser - Save Crash File As", filter, getEditorSite().getShell());
+		if (result != null && result.length() > 0) {
+			// crash file exists and user did not select the current crash file
+			if (crashFile != null && !result.equalsIgnoreCase(crashFile.getFilePath()))
+				crashFile.writeTo(new File(result));
+			// summary file exists and user did not select the current summary file
+			else if (summaryFile != null && !result.equalsIgnoreCase(summaryFile.getFilePath()))
+				summaryFile.writeTo(new File(result));
+		}
+	}
+	
+	public void init(IEditorSite site, IEditorInput editorInput)
+		throws PartInitException {
+		
+		String fileName = "Crash Analyser";
+		
+		// We don't support files, must be CrashFile or SummaryFile object
+		if (editorInput instanceof IFileEditorInput) {
+			throw new PartInitException("Not Valid Crash Analyser File.");
+			
+		// CrashFile or SummaryFile
+		} else {
+			
+			// output.crashxml file opened from Crash Analyser Main View
+			if (editorInput instanceof CrashFile) {
+				crashFile = (CrashFile)editorInput;
+				fileName = crashFile.getFileName();
+				super.setTitleImage(ImageResourceManager.getImage(ImageKeys.DECODED_FILE));
+			
+			// Summary xml file opened from Crash Analyser Main View
+			} else if (editorInput instanceof SummaryFile) {
+				summaryFile = (SummaryFile)editorInput;
+				fileName = summaryFile.getFileName();
+				super.setTitleImage(ImageResourceManager.getImage(ImageKeys.PARTIALLY_DECODED_FILE));
+
+			// output.crashxml file opened from Carbide File menu
+			} else {
+				crashFilePath = ((FileStoreEditorInput)editorInput).getURI().getPath();
+				fileName = editorInput.getName();
+				super.setTitleImage(ImageResourceManager.getImage(ImageKeys.DECODED_FILE));
+			}
+		}
+		super.init(site, editorInput);
+		super.setPartName(fileName);
+	}
+	
+	public boolean isSaveAsAllowed() {
+		return true;
+	}
+	
+	public void resourceChanged(final IResourceChangeEvent event){
+		// nothing to be done
+	}
+	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/editors/SummaryPage.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,614 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.editors;
+
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.*;
+import org.eclipse.swt.browser.*;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.custom.SashForm;
+import org.eclipse.ui.PlatformUI;
+
+import com.nokia.s60tools.crashanalyser.files.*;
+import com.nokia.s60tools.crashanalyser.model.HtmlFormatter;
+import com.nokia.s60tools.crashanalyser.containers.Summary;
+import com.nokia.s60tools.crashanalyser.containers.Process;
+import com.nokia.s60tools.crashanalyser.containers.Thread;
+import com.nokia.s60tools.crashanalyser.containers.Stack;
+import com.nokia.s60tools.crashanalyser.containers.StackEntry;
+import com.nokia.s60tools.crashanalyser.containers.RegisterSet;
+import com.nokia.s60tools.crashanalyser.resources.HelpContextIDs;
+import com.nokia.s60tools.crashanalyser.ui.viewers.*;
+import com.nokia.s60tools.crashanalyser.ui.views.*;
+import java.util.List;
+import org.eclipse.jface.resource.FontRegistry;
+import org.eclipse.swt.graphics.FontData;
+
+/**
+ * Crash Data page in Crash Visualiser editor. 
+ *
+ */
+public class SummaryPage implements SelectionListener {
+	
+	// summary group UI items
+	Table tableSummary;
+
+	// exit info group UI items
+	Label labelExitType;
+	Label labelPanicSummary;
+	Browser browserPanicDescription;
+	
+	// call stack group UI items
+	Combo comboCallStack;
+	Label labelStackWarning;
+	Button buttonDecodeFile;
+	Table tableCallStack;
+	CallStackTableViewer tableViewerCallStack;
+	Button buttonAllStackEntries;
+	Button buttonSymbolStackEntries;
+	
+	SummaryFile crashFile = null;
+	FontRegistry fontRegistry;
+	Thread selectedThread = null;
+	
+	/**
+	 * Creates the page
+	 * @param parent composite
+	 * @param file summary file
+	 * @return composite
+	 */
+	public Composite createPage(Composite parent, SummaryFile file) {
+		crashFile = file;
+		return doCreate(parent);
+	}
+	
+	/**
+	 * Creates the page
+	 * @param parent composite
+	 * @return composite
+	 */
+	public Composite createPage(Composite parent) {
+		return doCreate(parent);
+	}
+	
+	public void update() {
+		AutoSizeCallStackTableCells();
+	}
+	
+	/**
+	 * Loads data from given file into UI elements.
+	 * @param file crash file
+	 */
+	public void setFile(CrashFile file) {
+		if (file != null) {
+			crashFile = file;
+			loadSummaryTable();
+			loadExitInfo();
+			initialCallStackTableLoad();
+		}
+	}
+	
+	/**
+	 * Creates all UI elements to the page
+	 * @param parent
+	 * @return composite
+	 */
+	Composite doCreate(Composite parent) {
+		GridLayout layout = new GridLayout();
+		layout.numColumns = 1;
+		parent.setLayout(layout);
+		parent.setLayoutData(new GridData(GridData.FILL_BOTH));
+		fontRegistry = new FontRegistry(Display.getCurrent());
+		fontRegistry.put("monospace", new FontData[]{new FontData("Courier", 8, SWT.NORMAL)});
+		SashForm sashFormMain = new SashForm(parent, SWT.VERTICAL);
+		sashFormMain.setLayoutData(new GridData(GridData.FILL_BOTH));
+		SashForm sashFormTop = new SashForm(sashFormMain, SWT.HORIZONTAL);
+		createSummaryGroup(sashFormTop);
+		createExitInfoGroup(sashFormTop);
+		createCallStackGroup(sashFormMain);
+
+		sashFormMain.setWeights(new int[] {1,2});
+		
+		setHelps();
+		
+		return parent;
+	}
+	
+	/**
+	 * Creates summary group
+	 * @param parent
+	 */
+	void createSummaryGroup(Composite parent) {
+		Group groupSummary = new Group(parent, SWT.NONE);
+		GridLayout layout = new GridLayout();
+		layout.numColumns = 1;
+		groupSummary.setLayout(layout);
+		groupSummary.setText("Summary");
+		GridData groupGD = new GridData(GridData.FILL_HORIZONTAL);
+		groupGD.heightHint = 200;
+		groupSummary.setLayoutData(groupGD);
+		
+		tableSummary = new Table(groupSummary, SWT.BORDER);
+		tableSummary.setHeaderVisible(true);
+		tableSummary.setLinesVisible(true);
+		TableColumn col1 = new TableColumn(tableSummary, SWT.LEFT);
+		col1.setWidth(130);
+		TableColumn col2 = new TableColumn(tableSummary, SWT.LEFT);
+		col2.setWidth(300);
+		tableSummary.setLayoutData(new GridData(GridData.FILL_BOTH));
+		
+		tableSummary.setFont(fontRegistry.get("monospace"));
+
+		loadSummaryTable();		
+	}
+	
+	/**
+	 * Creates exit info group
+	 * @param parent
+	 */
+	void createExitInfoGroup(Composite parent) {
+		Group groupExitInfo = new Group(parent, SWT.NONE);
+		GridLayout layout = new GridLayout();
+		layout.numColumns = 1;
+		groupExitInfo.setLayout(layout);
+		groupExitInfo.setText("Exit Info");
+		GridData groupGD = new GridData(GridData.FILL_HORIZONTAL);
+		groupGD.heightHint = 200;
+		groupExitInfo.setLayoutData(groupGD);
+		
+		labelExitType = new Label(groupExitInfo, SWT.NONE);
+		labelExitType.setText("Exit Type:");
+		labelExitType.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+		
+		labelPanicSummary = new Label(groupExitInfo, SWT.BORDER);
+		labelPanicSummary.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+		
+		browserPanicDescription = new Browser(groupExitInfo, SWT.BORDER);
+		browserPanicDescription.setLayoutData(new GridData(GridData.FILL_BOTH));
+		
+		loadExitInfo();
+	}
+	
+	/**
+	 * Creates call stack group
+	 * @param parent
+	 */
+	void createCallStackGroup(Composite parent) {
+		Group groupCallStack = new Group(parent, SWT.NONE);
+		GridLayout layout = new GridLayout();
+		layout.numColumns = 3;
+		groupCallStack.setLayout(layout);
+		GridData groupGD = new GridData(GridData.FILL_BOTH);
+		groupGD.horizontalSpan = 3;
+		groupCallStack.setText("Call Stack");
+		groupCallStack.setLayoutData(groupGD);
+		
+		comboCallStack = new Combo(groupCallStack, SWT.BORDER | SWT.DROP_DOWN | SWT.READ_ONLY);
+		comboCallStack.addSelectionListener(this);
+		
+		labelStackWarning = new Label(groupCallStack, SWT.NONE);
+		labelStackWarning.setText("(selected stack is build with heuristic algorithm)");
+		labelStackWarning.setVisible(false);
+		
+		buttonDecodeFile = new Button(groupCallStack, SWT.PUSH);
+		buttonDecodeFile.setText("Decode");
+		buttonDecodeFile.setVisible(false);
+		buttonDecodeFile.addSelectionListener(this);
+
+		tableCallStack = new Table(groupCallStack, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION | 
+													SWT.V_SCROLL | SWT.H_SCROLL);
+		tableCallStack.setHeaderVisible(true);
+		tableCallStack.setFont(fontRegistry.get("monospace"));
+		
+		GridData tableGD = new GridData(GridData.FILL_BOTH);
+		tableGD.horizontalSpan = 3;
+		tableCallStack.setLayoutData(tableGD);
+
+		GridData buttonGD = new GridData(GridData.FILL_HORIZONTAL);
+		buttonGD.horizontalSpan = 3;
+
+		buttonAllStackEntries = new Button(groupCallStack, SWT.RADIO);
+		buttonAllStackEntries.setText("Show all stack entries");
+		buttonAllStackEntries.addSelectionListener(this);
+		buttonAllStackEntries.setLayoutData(buttonGD);
+		
+		buttonSymbolStackEntries = new Button(groupCallStack, SWT.RADIO);
+		buttonSymbolStackEntries.setText("Show stack entries which have associated symbols");
+		buttonSymbolStackEntries.addSelectionListener(this);
+		buttonSymbolStackEntries.setLayoutData(buttonGD);
+		buttonSymbolStackEntries.setSelection(true);
+		
+		tableViewerCallStack = new CallStackTableViewer(tableCallStack);
+
+		initialCallStackTableLoad();
+		AutoSizeCallStackTableCells();
+	}
+	
+	/**
+	 * Packs all columns for given table
+	 * @param table table which columns are to be packed
+	 */
+	void AutoSizeTableCells(Table table) {
+		for (int i = 0; i < table.getColumnCount(); i++) {
+			table.getColumn(i).pack();
+		}
+	}
+	
+	/**
+	 * Packs columns in call stack table nicely
+	 */
+	void AutoSizeCallStackTableCells() {
+		int tableWidth = tableCallStack.getBounds().width;
+		tableCallStack.getColumn(CallStackTableViewer.COLUMN_ADDRESS).setWidth(80);
+		tableCallStack.getColumn(CallStackTableViewer.COLUMN_VALUE).setWidth(80);
+		tableCallStack.getColumn(CallStackTableViewer.COLUMN_OFFSET).setWidth(65);
+		tableCallStack.getColumn(CallStackTableViewer.COLUMN_TEXT).setWidth(60);
+		int space = tableWidth - 80 - 80 - 65 - 60 - 25;
+		int object = space / 3;
+		if (object < 70)
+			object = 70;
+		tableCallStack.getColumn(CallStackTableViewer.COLUMN_OBJECT).setWidth(object);
+		tableCallStack.getColumn(CallStackTableViewer.COLUMN_SYMBOL).setWidth(object*2);
+	}
+
+	/**
+	 * Loads data into summary table
+	 */
+	void loadSummaryTable() {
+		// if there is no crashFile given, we are waiting for data to be loaded.
+		// Show 'Loading file' text in summary table until we get data.
+		if (crashFile == null) {
+			TableItem item = new TableItem(tableSummary, SWT.NONE);
+			item.setText(new String[] {"Loading file. Please wait.", ""});
+		// we have crash data, load summary table
+		} else {
+			tableSummary.removeAll();
+		
+			// show the data of crashed process
+			Process process = crashFile.getCrashedProcess();
+			if (process != null) {
+				newSummaryTableItem("PROCESS", process.getName(), true);
+				
+				// current UI support only one thread, so show the first thread of first process
+				Thread thread = process.getFirstThread();
+				if (thread != null) {
+					selectedThread = thread;
+					newSummaryTableItem("THREAD", thread.getFullName(), true);
+					newSummaryTableItem("STACK POINTER", thread.getStackPointer(), true);
+					newSummaryTableItem("LINK REGISTER", thread.getLinkRegister(), true);
+					newSummaryTableItem("PROGRAM COUNTER", thread.getProgramCounter(), true);
+				}
+			}
+			
+			Summary crashSummary = crashFile.getSummary();
+			if (crashSummary != null) {
+				newSummaryTableItem("CRASH TIME", crashSummary.getCrashTime(), true);
+				newSummaryTableItem("CRASH DATE", crashSummary.getCrashDate(), true);
+				newSummaryTableItem("UPTIME", crashSummary.getUpTime(), true);
+				newSummaryTableItem("ROM ID", crashSummary.getRomId(), true);
+				// there can be several software version informations, show them all
+				String[] versions = crashSummary.getSwVersion();
+				if (versions != null && versions.length > 0) {
+					for (int i = 0; i < versions.length; i++) {
+						newSummaryTableItem("SW VERSION", versions[i], false);
+					}
+				}
+				// there can be several hardware version informations, show them all
+				versions = crashSummary.getHwVersion();
+				if (versions != null && versions.length > 0) {
+					for (int i = 0; i < versions.length; i++) {
+						newSummaryTableItem("HW VERSION", versions[i], false);
+					}
+				}
+				newSummaryTableItem("PRODUCT TYPE", crashSummary.getProductType(), true);
+				newSummaryTableItem("PRODUCT CODE", crashSummary.getProductCode(), true);
+				newSummaryTableItem("LANGUAGE", crashSummary.getLanguage(), true);
+				newSummaryTableItem("SERIAL NUMBER", crashSummary.getSerialNumber(), true);
+				newSummaryTableItem("IMEI", crashSummary.getImei(), true);
+				newSummaryTableItem("FREE RAM", crashSummary.getFreeRam(), true);
+			}
+			
+			// stand alone stacks don't belong to a thread, check if there are any 
+			// of these, and print SP, LR and PC if needed
+			List<Stack> standAloneStacks = crashFile.getStandAloneStacks();
+			if (standAloneStacks != null && !standAloneStacks.isEmpty()) {
+				for (int i = 0; i < standAloneStacks.size(); i++) {
+					Stack stack = standAloneStacks.get(i);
+					if (stack.stackRegisterContainsCpsr()) {
+						newSummaryTableItem("STACK POINTER", stack.getStackPointer(), true);
+						newSummaryTableItem("LINK REGISTER", stack.getLinkRegister(), true);
+						newSummaryTableItem("PROGRAM COUNTER", stack.getProgramCounter(), true);
+					}
+				}
+			}
+			
+			// stand alone registers don't belong to a thread, check if there are any 
+			// of these, and print SP, LR and PC if needed
+			List<RegisterSet> standAloneRegisterSets = crashFile.getStandAloneRegisterSets();
+			if (standAloneRegisterSets != null && !standAloneRegisterSets.isEmpty()) {
+				for (int i = 0; i < standAloneRegisterSets.size(); i++) {
+					RegisterSet regSet = standAloneRegisterSets.get(i);
+					if (regSet.containsCPSR()) {
+						newSummaryTableItem("STACK POINTER", regSet.getStackPointer(), true);
+						newSummaryTableItem("LINK REGISTER", regSet.getLinkRegister(), true);
+						newSummaryTableItem("PROGRAM COUNTER", regSet.getProgramCounter(), true);
+					}
+				}
+			}
+			
+			AutoSizeTableCells(tableSummary);
+		}
+	}
+	
+	/**
+	 * Load exit information
+	 */
+	void loadExitInfo() {
+		if (crashFile == null)
+			return;
+		
+		String panicSummary = "";
+		String panicDescription = "";
+		if (selectedThread != null && !"".equals(selectedThread.getExitType())) {
+			panicDescription = selectedThread.getPanicDescription();
+			panicSummary = selectedThread.getExitType();
+			if (!"".equals(selectedThread.getExitCategory()) && !"".equals(selectedThread.getExitReason())) {
+				// if crash was an exception
+				if (selectedThread.getExitType().equals("Exception")) {
+					panicSummary += ": " + selectedThread.getExitReason();
+				// crash was a panic
+				} else {
+					panicSummary += ": " + selectedThread.getExitCategory() + " - " + selectedThread.getExitReason();
+				}
+			}
+		}
+		
+		// we could not find panic data
+		if ("".equals(panicSummary.trim())) {
+			panicSummary = "Unknown";
+		}
+		labelPanicSummary.setText(panicSummary);
+		if ("".equals(panicDescription.trim()))
+			panicDescription = HtmlFormatter.formatUnknownPanicMessage(panicSummary); 
+
+		browserPanicDescription.setText(HtmlFormatter.formatHtmlStyle(labelPanicSummary.getFont(), 
+																		panicDescription));
+	}
+	
+	/**
+	 * Loads stacks to combo, selects the correct stack as
+	 * default set and then loads stack's data to table.
+	 */
+	void initialCallStackTableLoad() {
+		int selectedIndex = 0;
+		if (selectedThread != null) {
+			List<Stack> stacks = selectedThread.getStacks();
+			if (stacks != null && !stacks.isEmpty()) {
+				// add all stacks into combo
+				for (int i = 0; i < stacks.size(); i++) {
+					Stack stack = stacks.get(i);
+					// show stack which contains CPSR register as default
+					if (stack.stackRegisterContainsCpsr()) 
+						selectedIndex  = i;
+					comboCallStack.add(stack.getStackType());
+					comboCallStack.setData(stack.getStackType(), stack);
+				}
+			}
+		}
+		
+		List<Stack> standAloneStacks = crashFile.getStandAloneStacks();
+		if (standAloneStacks != null && !standAloneStacks.isEmpty()) {
+			for (int i = 0; i < standAloneStacks.size(); i++) {
+				Stack stack = standAloneStacks.get(i);
+				if (stack.stackRegisterContainsCpsr())
+					selectedIndex = comboCallStack.getItemCount() + i;
+				comboCallStack.add(stack.getStackType());
+				comboCallStack.setData(stack.getStackType(), stack);
+			}
+		}
+
+		if (comboCallStack.getItemCount() > 0) {
+			comboCallStack.select(selectedIndex);
+			loadCallStackTable(true);
+		}
+	}
+	
+	/**
+	 * Loads call stack table according to which stack is
+	 * selected in combo. 
+	 */
+	void loadCallStackTable(boolean autoSizeCells) {
+		tableCallStack.removeAll();
+		labelStackWarning.setVisible(false);
+		
+		if (comboCallStack.getItemCount() < 1)
+			return;
+		
+		try {
+			Stack stack = (Stack)comboCallStack.getData(comboCallStack.getText());
+			boolean containsAccurate = stack.containsAccurateStackEntries();
+			labelStackWarning.setVisible(!containsAccurate);
+			List<StackEntry> stackEntries = stack.getStackEntries();
+			if (stackEntries != null && !stackEntries.isEmpty()) {
+				for (int i = 0; i < stackEntries.size(); i++) {
+					StackEntry stackEntry = stackEntries.get(i);
+					newStackTableItem(stackEntry, containsAccurate);
+				}
+				if (autoSizeCells)
+					AutoSizeCallStackTableCells();
+			}
+			
+			// nothing in stack
+			if (stackEntries == null || stackEntries.isEmpty()) {
+				disableStack();
+			}
+			
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * Disables stack UI elements
+	 */
+	void disableStack() {
+		labelStackWarning.setVisible(true);
+		labelStackWarning.setText("Symbols were not available while creating stack.");
+		buttonDecodeFile.setVisible(true);
+		comboCallStack.setEnabled(false);
+		buttonAllStackEntries.setEnabled(false);
+		buttonSymbolStackEntries.setEnabled(false);
+		tableCallStack.setEnabled(false);
+	}
+	
+	public void widgetDefaultSelected(SelectionEvent arg0) {
+		// no implementation required
+	}
+
+	public void widgetSelected(SelectionEvent event) {
+		// stack was changed in combo
+		if (event.widget == comboCallStack) {
+			loadCallStackTable(true);
+		// stack radio button changes
+		} else if (event.widget == buttonAllStackEntries || 
+					event.widget == buttonSymbolStackEntries) {
+			loadCallStackTable(false);
+		// decode button was pressed
+		} else if (event.widget == buttonDecodeFile) {
+			MainView mv = MainView.showAndReturnYourself(true);
+			mv.decodeFile(crashFile);
+		}
+	}
+	
+	/**
+	 * Adds new summary table row
+	 * @param header header text
+	 * @param value value text
+	 */
+	boolean newSummaryTableItem(String header, String value, boolean doNotDuplicate) {
+		if (!"".equals(value)) {
+			if (doNotDuplicate) {
+				for (int i = 0; i < tableSummary.getItemCount(); i++) {
+					TableItem it = tableSummary.getItem(i);
+					if (it.getText(0).equalsIgnoreCase(header))
+						return false;
+				}
+			}
+			TableItem item = new TableItem(tableSummary, SWT.NONE);
+			item.setText(new String[] {header, value});
+			return true;
+		}
+		
+		return false;
+	}
+	
+	/**
+	 * Adds new stack table row.
+	 * @param stackEntry row data
+	 * @param stackContainsAccurateEntries affects row colorings
+	 */
+	void newStackTableItem(StackEntry stackEntry, boolean stackContainsAccurateEntries) {
+		// if 'Show stack entries which have associated symbols' radio button is selected and
+		// if stack contains accurate stack entries, and this stack entry is not accurate
+		// don't add it to table (unless this stack entry is current stack pointer or register based)
+		if (buttonSymbolStackEntries.getSelection() &&
+			stackContainsAccurateEntries && 
+			!stackEntry.accurate() && 
+			!stackEntry.currentStackPointer() &&
+			!stackEntry.registerBased()) {
+			return;
+		// if 'Show stack entries which have associated symbols' radio button is selected
+		// if stack doesn't contain accurate stack entries, don't show current stack entry
+		// if it doesn't have associated symbol (unless this stack entry is current stack pointer or register based)
+		} else if (buttonSymbolStackEntries.getSelection() &&
+					!stackContainsAccurateEntries &&
+					"".equals(stackEntry.getSymbol()) &&
+					!stackEntry.currentStackPointer() &&
+					!stackEntry.registerBased())
+			return;
+
+		TableItem item = new TableItem(tableCallStack, SWT.NONE);
+		item.setText(new String[] {stackEntry.getAddress(),
+									stackEntry.getSymbol(),
+									stackEntry.getValue(),
+									stackEntry.getOffset(),
+									stackEntry.getObject(),
+									stackEntry.getText()});
+		
+		item.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
+		item.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_BLACK));
+		
+		// item is current stack pointer FG black, BG light pink
+		if (stackEntry.currentStackPointer()) {
+			item.setBackground(new Color(Display.getCurrent(), 255, 182, 193)); // light pink
+		// PC or LR
+		} else if (stackEntry.registerBased()) {
+			item.setBackground(new Color(Display.getCurrent(), 173, 216, 230)); // light blue
+		// item is out of stack bound FG gray, BG white
+		} else if (stackEntry.outsideStackBounds()) {
+			item.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
+		// item has no symbols, FG black, BG white
+		} else if ("".equals(stackEntry.getSymbol())) {
+		} else
+			// if stack contains accurate entries, show "ghost" entries as gray
+			if (stackContainsAccurateEntries) {
+				// color accurate stack entries black or blue
+				if (stackEntry.accurate()) {
+					// ram loaded code (instead of execute-in-place code) FG blue
+					if (!stackEntry.xip()) {
+						item.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_DARK_BLUE));
+					}
+				// not accurate stack entry FG gray
+				} else {
+					item.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
+				}
+			// stack isn't accurate,
+			} else {
+				// ram loaded code (instead of execute-in-place code)
+				if (!stackEntry.xip()) {
+					item.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_DARK_BLUE));
+			}
+		}
+		
+		item.setData(stackEntry);
+	}
+	
+	/**
+	 * Sets context sensitive help ids to UI elements
+	 */
+	void setHelps() {
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(tableCallStack,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(tableSummary,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(comboCallStack,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(buttonAllStackEntries,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(buttonDecodeFile,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(buttonSymbolStackEntries,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);	
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(browserPanicDescription,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);	
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/editors/XmlPage.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.editors;
+
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.browser.*;
+import org.eclipse.ui.PlatformUI;
+
+import com.nokia.s60tools.crashanalyser.files.*;
+import com.nokia.s60tools.crashanalyser.resources.HelpContextIDs;
+
+/**
+ * XML page in Crash Visualiser editor. 
+ *
+ */
+public class XmlPage {
+
+	Browser browserXml;
+	SummaryFile crashFile = null;
+
+	/**
+	 * Creates the page
+	 * @param parent composite
+	 * @param file summary file
+	 * @return composite
+	 */
+	public Composite createPage(Composite parent, SummaryFile file) {
+		crashFile = file;
+		return doCreatePage(parent);
+	}
+	
+	/**
+	 * Creates the page
+	 * @param parent composite
+	 * @return composite
+	 */
+	public Composite createPage(Composite parent) {
+		return doCreatePage(parent);
+	}
+	
+	/**
+	 * Creates all UI elements to the page
+	 * @param parent
+	 * @return composite
+	 */
+	Composite doCreatePage(Composite parent) {
+	
+		GridLayout layout = new GridLayout();
+		layout.numColumns = 1;
+		parent.setLayout(layout);
+		parent.setLayoutData(new GridData(GridData.FILL_BOTH));
+
+		browserXml = new Browser(parent, SWT.NONE);
+		if (crashFile != null)
+			browserXml.setUrl(crashFile.getFilePath());
+		
+		browserXml.setLayoutData(new GridData(GridData.FILL_BOTH));
+		
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(browserXml,
+				HelpContextIDs.CRASH_ANALYSER_HELP_CRASH_VISUALISER);	
+		
+		return parent;
+	}
+	
+	/**
+	 * Loads data from given file into UI elements.
+	 * @param file crash file
+	 */
+	public void setFile(CrashFile file) {
+		if (file != null) {
+			crashFile = file;
+			browserXml.setUrl(crashFile.getFilePath());
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/preferences/CrashAnalyserPreferenceConstants.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.preferences;
+
+/**
+ * Preference constants for Crash Analyser preferences 
+ *
+ */
+public class CrashAnalyserPreferenceConstants {
+	public final static String TRACE_LISTENER = "traceListener";
+	public final static String EPOCWIND_LISTENER = "epocwindListener"; 
+	public final static String SHOW_VISUALIZER = "showVisualizer";
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/preferences/CrashAnalyserPreferenceInitializer.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.preferences;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.jface.preference.IPreferenceStore;
+
+import com.nokia.s60tools.crashanalyser.plugin.*;
+
+/**
+ * Class used to initialize default preference values.
+ */
+public class CrashAnalyserPreferenceInitializer extends AbstractPreferenceInitializer {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
+	 */
+	public void initializeDefaultPreferences() {
+		IPreferenceStore store = CrashAnalyserPlugin.getCrashAnalyserPrefsStore();
+		store.setDefault(CrashAnalyserPreferenceConstants.TRACE_LISTENER, true);
+		store.setDefault(CrashAnalyserPreferenceConstants.EPOCWIND_LISTENER, false);
+		store.setDefault(CrashAnalyserPreferenceConstants.SHOW_VISUALIZER, true);
+	}
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/preferences/CrashAnalyserPreferences.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,178 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.preferences;
+
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Group;
+import com.nokia.s60tools.crashanalyser.plugin.*;
+import com.nokia.s60tools.crashanalyser.resources.HelpContextIDs;
+import com.nokia.s60tools.crashanalyser.model.*;
+import org.eclipse.swt.events.*;
+
+/**
+ * Crash Analyser preferences page 
+ *
+ */
+public class CrashAnalyserPreferences extends PreferencePage implements IWorkbenchPreferencePage, 
+																		SelectionListener{
+	private Button buttonListenTraceViewer;
+	private Button buttonShowVisualizer;
+	private Button buttonEpocwind;
+	
+	/**
+	 * Constructor
+	 */
+	public CrashAnalyserPreferences() {
+		super();
+	}
+	
+	public void init(IWorkbench arg0) {
+		// No implementation needed
+	}
+
+	@Override
+	protected Control createContents(Composite parent) {
+		Composite container = new Composite(parent, SWT.NULL);
+		GridLayout gridLayout = new GridLayout();
+		gridLayout.numColumns = 1;
+		container.setLayout(gridLayout);
+
+		Group emulatorGroup = new Group(container, SWT.NONE);
+		emulatorGroup.setLayout(gridLayout);
+		emulatorGroup.setText("WINSCW Emulator Support");
+		emulatorGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+		
+		buttonEpocwind = new Button(emulatorGroup, SWT.CHECK);
+		buttonEpocwind.setToolTipText("Automatically pick-up panics from epocwind.out while running the Emulator");
+		buttonEpocwind.setText("Listen panics from epocwind.out");
+		
+		Group hardwareGroup = new Group(container, SWT.NONE);
+		hardwareGroup.setLayout(gridLayout);		
+		hardwareGroup.setText("Target Hardware Support");
+		hardwareGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+		
+		buttonListenTraceViewer = new Button(hardwareGroup, SWT.CHECK);
+		buttonListenTraceViewer.setToolTipText("Listens for MobileCrash files while tracing e.g. with Profiler Activator or Trace Viewer.");
+		buttonListenTraceViewer.setText("Listen MobileCrash panics via TraceViewer");
+		buttonListenTraceViewer.addSelectionListener(this);
+		
+		buttonShowVisualizer = new Button(hardwareGroup, SWT.CHECK);
+		buttonShowVisualizer.setToolTipText("When a MobileCrash panic is read via TraceViewer, automatically show panic data");
+		buttonShowVisualizer.setText("Show Crash Visualiser when crash occurs");
+		GridData gd = new GridData();
+		gd.horizontalIndent = 20;
+		buttonShowVisualizer.setLayoutData(gd);
+		
+		if (!TraceListener.traceProviderAvailable())
+			hardwareGroup.setVisible(false);
+		
+		getPrefsStoreValues();
+
+		setHelps();
+		
+		return container;
+	}
+
+	private void getPrefsStoreValues(){
+		IPreferenceStore store = CrashAnalyserPlugin.getCrashAnalyserPrefsStore();
+		boolean listener = store.getBoolean(CrashAnalyserPreferenceConstants.TRACE_LISTENER);
+		buttonListenTraceViewer.setSelection(listener);
+		
+		boolean epocwind = store.getBoolean(CrashAnalyserPreferenceConstants.EPOCWIND_LISTENER);
+		buttonEpocwind.setSelection(epocwind);
+		
+		boolean showVisualizer = store.getBoolean(CrashAnalyserPreferenceConstants.SHOW_VISUALIZER);
+		buttonShowVisualizer.setSelection(showVisualizer);
+		buttonShowVisualizer.setEnabled(listener);
+	}
+	
+	@Override
+	protected void performDefaults() {
+		buttonListenTraceViewer.setSelection(true);
+		buttonShowVisualizer.setSelection(true);
+		buttonShowVisualizer.setEnabled(true);
+		buttonEpocwind.setSelection(false);
+		super.performDefaults();
+	}
+	
+	@Override
+	public boolean performOk() {
+		IPreferenceStore store = CrashAnalyserPlugin.getCrashAnalyserPrefsStore();
+	
+		store.setValue(CrashAnalyserPreferenceConstants.TRACE_LISTENER, buttonListenTraceViewer.getSelection());
+		store.setValue(CrashAnalyserPreferenceConstants.EPOCWIND_LISTENER, buttonEpocwind.getSelection());
+		store.setValue(CrashAnalyserPreferenceConstants.SHOW_VISUALIZER, buttonShowVisualizer.getSelection());
+		
+		CrashAnalyserPlugin.startEmulatorListener();
+		CrashAnalyserPlugin.startTraceListener();
+		
+		return super.performOk();
+	}
+	
+	public void widgetDefaultSelected(SelectionEvent arg0) {
+		// No implementation needed
+	}
+
+	public void widgetSelected(SelectionEvent event) {
+		if (buttonListenTraceViewer.getSelection()) {
+			buttonShowVisualizer.setEnabled(true);
+		} else {
+			buttonShowVisualizer.setEnabled(false);
+			buttonShowVisualizer.setSelection(false);
+		}
+	}	
+	
+	public static boolean traceListenerOn() {
+		IPreferenceStore store = CrashAnalyserPlugin.getCrashAnalyserPrefsStore();
+		return store.getBoolean(CrashAnalyserPreferenceConstants.TRACE_LISTENER);
+	}
+	
+	public static boolean epocwindListenerOn() {
+		IPreferenceStore store = CrashAnalyserPlugin.getCrashAnalyserPrefsStore();
+		return store.getBoolean(CrashAnalyserPreferenceConstants.EPOCWIND_LISTENER);
+	}
+	
+	public static boolean showVisualizer() {
+		IPreferenceStore store = CrashAnalyserPlugin.getCrashAnalyserPrefsStore();
+		return store.getBoolean(CrashAnalyserPreferenceConstants.SHOW_VISUALIZER);
+	}
+	
+	/**
+	 * Sets this page's context sensitive helps
+	 *
+	 */
+	protected void setHelps() {
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(buttonListenTraceViewer,
+				HelpContextIDs.CRASH_ANALYSER_HELP_PREFERENCES);
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(buttonEpocwind,
+				HelpContextIDs.CRASH_ANALYSER_HELP_PREFERENCES);
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(buttonShowVisualizer,
+				HelpContextIDs.CRASH_ANALYSER_HELP_PREFERENCES);
+	}	
+	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/viewers/CallStackTableViewer.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,537 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.viewers;
+
+import org.eclipse.jface.action.*;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.TableViewerColumn;
+import org.eclipse.swt.widgets.*;
+import org.eclipse.swt.SWT;
+import org.eclipse.core.resources.*;
+import org.eclipse.core.runtime.*;
+import org.eclipse.ui.*;
+import org.eclipse.ui.editors.text.*;
+import org.eclipse.ui.ide.IDE;
+import org.eclipse.ui.menus.*;
+import sun.awt.windows.*;
+import com.nokia.s60tools.crashanalyser.model.*;
+import com.nokia.s60tools.crashanalyser.resources.*;
+import com.nokia.s60tools.crashanalyser.containers.*;
+import com.nokia.s60tools.crashanalyser.ui.console.CrashAnalyserEditorConsole;
+import com.nokia.s60tools.util.sourcecode.*;
+import java.util.*;
+import java.net.URI;
+import java.io.*;
+import java.awt.datatransfer.*;
+import java.awt.Toolkit;
+
+/**
+ * Table viewer for call stack table. Call stack table is used in 
+ * SummaryPage.java (Crash Data page in Crash Visualiser editor) 
+ *
+ */
+public class CallStackTableViewer extends CrashAnalyserTableViewer {
+	Action actionCopySelectionToClipboardAsRichText;
+	Action actionCopySelectionToClipboardAsPlainText;
+	Action actionCopyStackToClipboardAsRichText;
+	Action actionCopyStackToClipboardAsPlainText;
+	Action actionOpenSourceFile;
+	Action actionDoubleClick;
+	Table tableControl;
+	
+	public final static int COLUMN_ADDRESS = 0;
+	public final static int COLUMN_SYMBOL = 1;
+	public final static int COLUMN_VALUE = 2;
+	public final static int COLUMN_OFFSET = 3;
+	public final static int COLUMN_OBJECT = 4;
+	public final static int COLUMN_TEXT = 5;
+	
+	MenuManager subMenuSdk;
+
+	/**
+	 * Constructor
+	 * @param table table where this viewer is used
+	 */
+	public CallStackTableViewer(Table table) {
+		super(table);
+		
+		tableControl = table;
+
+		doCreateActions();
+		doCreateContextMenu();
+		
+		TableViewerColumn column = new TableViewerColumn(this, SWT.NONE);
+		column.setLabelProvider(labelProvider);
+		column.getColumn().setText("");
+
+		column = new TableViewerColumn(this, SWT.NONE);
+		column.setLabelProvider(labelProvider);
+		column.getColumn().setText("Symbol");
+		
+		column = new TableViewerColumn(this, SWT.NONE);
+		column.setLabelProvider(labelProvider);
+		column.getColumn().setText("Address");
+
+		column = new TableViewerColumn(this, SWT.NONE);
+		column.setLabelProvider(labelProvider);
+		column.getColumn().setText("Offset");
+
+		column = new TableViewerColumn(this, SWT.NONE);
+		column.setLabelProvider(labelProvider);
+		column.getColumn().setText("Object");
+
+		column = new TableViewerColumn(this, SWT.NONE);
+		column.setLabelProvider(labelProvider);
+		column.getColumn().setText("Data");
+		
+		addDoubleClickListener(new IDoubleClickListener() {
+			public void doubleClick(DoubleClickEvent event) {
+				actionDoubleClick.run();
+			}
+		});			
+	}
+	
+	/**
+	 * Creates pop-up menu actions
+	 */
+	private void doCreateActions() {
+		actionCopySelectionToClipboardAsRichText = new Action("as Rich Text") {
+			public void run() {
+				copyToClipboard(tableControl, true, true);
+				}
+			};
+
+		actionCopyStackToClipboardAsRichText = new Action("as Rich Text") {
+			public void run() {
+				copyToClipboard(tableControl, false, true);
+				}
+			};
+
+		actionCopySelectionToClipboardAsPlainText = new Action("as Plain Text") {
+			public void run() {
+				copyToClipboard(tableControl, true, false);
+				}
+			};
+
+		actionCopyStackToClipboardAsPlainText = new Action("as Plain Text") {
+			public void run() {
+				copyToClipboard(tableControl, false, false);
+				}
+			};
+
+		actionOpenSourceFile = new Action("Open Source File") {
+			public void run() {
+				openSourceFile(tableControl);
+			}
+		};
+		
+		actionDoubleClick = new Action() {
+			public void run() {
+				openSourceFile(tableControl);
+			}
+		};
+	}
+	
+	/**
+	 * Setting the focus in opened file there where the method name occurs,
+	 * must call after file is opened and only if opening was successful
+	 * @param location
+	 * @throws CoreException
+	 */
+	private static void setFocusToLineWhereMethodIs(
+			final SourceFileLocation location) throws CoreException {
+		//Runnable to open new file
+		final IWorkspaceRunnable runSetFocus = new IWorkspaceRunnable() {
+			public void run(IProgressMonitor monitor) throws CoreException {
+				// do the actual work in here
+
+				try {
+					//Setting focus to correct line
+					IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+					IEditorPart activeEditor = activePage.getActiveEditor();
+
+					if(activeEditor != null && activeEditor instanceof TextEditor){
+						
+						// This is actually an instance of 'org.eclipse.cdt.internal.ui.editor.CEditor' 
+						// that extends org.eclipse.ui.editors.text.TextEditor
+						TextEditor editor = (TextEditor) activeEditor;
+						IDocument doc =  getDocument(editor);
+						if(doc != null){
+
+							String text = doc.get();
+							int methodOffset = location.getMethodOffset();
+							if(methodOffset == SourceFileLocation.OFFSET_NOT_FOUND){
+								// Removing parameters and getting new offset.
+								String methodNameWithOutParams = location.getMethodName();
+								methodNameWithOutParams = methodNameWithOutParams.substring(0, methodNameWithOutParams.indexOf("(")); //$NON-NLS-1$
+								methodOffset = text.indexOf(methodNameWithOutParams);
+
+								if(methodOffset == SourceFileLocation.OFFSET_NOT_FOUND){
+									// Removing possible namespace and getting new offset.
+									String separator = "::"; //$NON-NLS-1$
+									int separatorLocation = methodNameWithOutParams.lastIndexOf(separator);
+									if(separatorLocation > 0){
+										methodNameWithOutParams = methodNameWithOutParams.substring(separatorLocation + separator.length());
+										methodOffset = text.indexOf(methodNameWithOutParams);
+									}
+								}
+							}
+							
+							editor.setHighlightRange(methodOffset, 0, true);
+						}							
+					}					
+
+				} catch (Exception e) {
+					e.printStackTrace();
+					Status status = new Status(IStatus.ERROR,
+							"com.nokia.s60tools.crashanalyser", 0, e //$NON-NLS-1$
+									.getMessage(), e);
+
+					throw new CoreException(status);
+				} 
+
+			}
+		};
+		
+		
+		ResourcesPlugin.getWorkspace().run(runSetFocus, null, IWorkspace.AVOID_UPDATE, null);
+	}
+
+	/**
+	 * Returns the document interface for the currently active document 
+	 * in the given editor.
+	 * @param editor Editor to ask currently active document from. 
+	 * @return Document interface if found, otherwise <code>null</code>.
+	 */
+	private static IDocument getDocument(TextEditor editor) {
+		
+		TextFileDocumentProvider  documentProvider = (TextFileDocumentProvider) editor.getDocumentProvider();
+		if(documentProvider != null){
+			return  documentProvider.getDocument(editor.getEditorInput());
+			}								
+		return null;
+	}		
+	
+	/**
+	 * Shows a message box with given message
+	 * @param message
+	 */
+	private static void showMessage(String message, Shell shell) {
+		MessageDialog.openInformation(
+			shell,
+			"Crash Analyser",
+			message);
+	}
+	
+	/**
+	 * Tries to open source file for the selected line in the call stack table
+	 * @param tableControl
+	 */
+	static void openSourceFile(Table tableControl) {
+		try {
+			if (tableControl.getSelection() != null &&
+				tableControl.getSelection().length == 1) {
+				StackEntry stackEntry = 
+					(StackEntry)tableControl.getSelection()[0].getData();
+				
+				// we need code segment in order to be able to open source code,
+				// if we don't find code segment, notify user
+				if (stackEntry == null ||
+					"".equals(stackEntry.getCodeSegmentName())) {
+					showMessage("CODE SEGMENT NOT FOUND\n\nThe selected row does not contain information from which Code Segment (e.g. dll, exe) its address can be found. Source file cannot be opened.", tableControl.getShell());
+					return;
+				}
+				
+				String currentSdkName = SourceSdkManager.getCurrentSkdName();
+				// user must first choose an active SDK. If it has not been chosen, notify user
+				if (currentSdkName == null || "".equals(currentSdkName)) {
+					showMessage("ACTIVE SDK NOT SELECTED.\n\n Please select Active SDK first by right-clicking in the Call Stack table.", tableControl.getShell());
+					return;
+				}
+				
+				String epocroot = SourceSdkManager.getEpocroot(currentSdkName);
+				// user might have e.g. selected long ago an sdk which is not available anymore
+				if (epocroot == null) {
+					showMessage("INVALID ACTIVE SDK.\n\n Please select a valid Active SDK by right-clicking in the Call Stack table.", tableControl.getShell());
+					return;
+				}
+				File epoc = new File(epocroot);
+				
+				// epocroot for the selected SDK if not valid, notify user
+				if (!epoc.isDirectory() || !epoc.exists()) {
+					String message = "INVALID EPOCROOT.\n\nThe EPOCROOT (" +
+					 epocroot +
+					 ") of selected Active SDK ("+
+					 currentSdkName +
+					 ") is not valid. Please check your SDK settings from Window > Preferences > Carbide.c++ > SDK Preferences, or select a different Active SDK by right-clicking in the Call Stack table.";
+					 showMessage(message, tableControl.getShell());
+					return;
+				}
+				// currentSdkName is e.g. 'SDK_Name armv5 urel', we need to get out, build and variant
+				int lastSpace = currentSdkName.lastIndexOf(" ");
+				int secondToLastSpace = currentSdkName.lastIndexOf(" ", lastSpace-1);
+				
+				String build = currentSdkName.substring(lastSpace+1, currentSdkName.length()); //e.g. urel
+				String variant = currentSdkName.substring(secondToLastSpace+1, lastSpace);  // e.g. armv5
+				
+				String methodNameAsItsInMapFile = tableControl.getSelection()[0].getText(COLUMN_SYMBOL); 
+				String dllName = stackEntry.getCodeSegmentName(); 
+
+				ISourceFinder finder = SourceFinderFactory.createMapSourceFinder(CrashAnalyserEditorConsole.getInstance());
+
+				SourceFileLocation location = 
+					finder.findSourceFileByMethodName(methodNameAsItsInMapFile, dllName, variant, build, epocroot);
+
+				File file = new File(location.getSourceFileLocation());
+				// we could not find the source file, notify user
+				if(file == null || !file.exists()){
+					showMessage("SOURCE FILE CANNOT BE FOUND\n\n" +
+								file.getName() +
+								" was not found from " +
+								FileOperations.getFolder(location.getSourceFileLocation()) +
+								". Please make sure you have selected a correct Active SDK by right-clicking in the Call Stack table. It is also possible that you don't have all source files for your Active SDK present. Source file cannot be opened.", 
+								tableControl.getShell());
+					return;
+				}
+				
+				//Create URI to open file
+				String uriStr = location.getSourceFileLocation().replace("\\", "/"); //$NON-NLS-1$ //$NON-NLS-2$
+				uriStr = "file://" + uriStr; //$NON-NLS-1$
+				final URI srcURI = new URI(uriStr);
+				
+				//Find default editor for that file
+				IEditorRegistry reg = PlatformUI.getWorkbench().getEditorRegistry();
+				
+				IEditorDescriptor editor = reg.getDefaultEditor(file.getName());
+				//We open editor by it's ID
+				final String editorId = editor.getId();
+				
+				IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+				try {
+					IEditorPart part = IDE.openEditor(page, srcURI, editorId, true);
+					if(part != null){
+						//Set focus to correct line
+						setFocusToLineWhereMethodIs(location);
+					}
+				} catch (PartInitException e) {
+					e.printStackTrace();
+				}
+			} 
+		}catch (CannotFoundFileException ex) {
+			String newLine = System.getProperty("line.separator");
+			showMessage(ex.getMessage() + newLine + newLine + "Please check that you have selected correct Active SDK, by right-clicking in the Call Stack table.", tableControl.getShell());
+		} catch (Exception e) {
+			e.printStackTrace();
+			showMessage("Unable to find source file. Please check your SDK properties.", tableControl.getShell());
+		}
+	}
+
+	/**
+	 * Copies data from table into clipboard 
+	 * @param table table from which data is copied from
+	 * @param selection if true, only the selected rows are copied, if false, all rows are copied
+	 * @param richText if true, data is copied in rich-text format, if false, data is copied in plain text format
+	 */
+	static void copyToClipboard(Table table, boolean selection, boolean richText) {
+		TableItem[] items = null;
+		// copy only selected rows
+		if (selection)
+			items = table.getSelection();
+		// copy all rows
+		else
+			items = table.getItems();
+		
+		if (items != null && items.length > 0) {
+			// rich-text format
+			if (richText) {
+				try {
+					String data = HtmlFormatter.formatStackForClipboard(items, table.getColumnCount());
+					byte[] bytes = convertToHTMLFormat(data);
+					PEBClip clip = new PEBClip();
+					clip.setData( WDataTransferer.CF_HTML, bytes);
+				} catch (Exception e) {
+				}
+			// plain text format
+			} else {
+				String separator = System.getProperty("line.separator");
+				String data = "";
+				for (int i = 0; i < items.length; i++) {
+					TableItem item = items[i];
+					data += String.format("%-10s  %-10s  %-6s  %-6s  %s    %s", 
+											item.getText(COLUMN_ADDRESS),
+											item.getText(COLUMN_VALUE),
+											item.getText(COLUMN_TEXT),
+											item.getText(COLUMN_OFFSET),
+											item.getText(COLUMN_OBJECT),
+											item.getText(COLUMN_SYMBOL)) +
+											separator;
+				}
+				StringSelection stringSelection = new StringSelection(data);
+				Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
+				clipboard.setContents(stringSelection, null);
+			}
+		}
+	}
+	
+	/**
+	 * surrounds the html with this envelope, ready for
+	 * windows clipboard (jdk support can be made better)
+	 * <pre>
+	 * Version:1.0
+	 * StartHTML:00000000000
+	 * EndHTML:00000000000
+	 * StartFragment:00000000000
+	 * EndFragment:00000000000
+	 * &lt;!--StartFragment--&gt;
+	 * ...
+	 * &lt;!-- EndFragment-- &gt;
+	 * </pre>
+	 * We have to return a byte array 'cause in Windows the html needs to be utf-8
+	 * encoded. And because we have to calculate char-offsets, we encode it here.
+	 * @param htmlText
+	 * @return byte[]
+	 */
+	static byte[] convertToHTMLFormat(String htmlText) {
+		try {
+			String sep = "\r\n";
+			String header = "Version:1.0"+ sep +
+										 "StartHTML:00000000000"+ sep +
+										 "EndHTML:00000000000"+ sep +
+										 "StartFragment:00000000000"+ sep +
+										 "EndFragment:00000000000" + sep;
+			
+			String html = "<!--StartFragment-->\r\n" + htmlText + "<!--EndFragment-->\r\n";
+	
+			byte[] bHtml = html.getBytes("UTF-8");// encode first 'cause it may grow
+	
+			int headerLen = header.length();
+			int htmlLen = bHtml.length;
+	
+			StringBuffer buf = new  StringBuffer(header);
+			setValue( buf, "StartHTML", headerLen-1);
+			setValue( buf, "EndHTML", headerLen + htmlLen-1);
+			setValue( buf, "StartFragment", headerLen-1);
+			setValue( buf, "EndFragment", headerLen + htmlLen-1);
+			byte[] bHeader = buf.toString().getBytes("UTF-8");// should stay the same (no nonASCII chars in header)
+	
+			byte result[] = new byte[headerLen + htmlLen ];
+			System.arraycopy(bHeader, 0, result, 0, bHeader.length);
+			System.arraycopy(bHtml, 0, result, bHeader.length, bHtml.length);
+	
+			return result;
+		} catch (Exception e) {
+			return null;
+		}
+	}
+
+	/**
+	 * Replaces name+":00000000000" with name+":xxxxxxxxxxx" where xxx... is the '0' padded value.
+	 * Value can't be to long, since maxint can be displayed with 11 digits. If value is below zero
+	 * there is enough place (10 for the digits 1 for sign).<br>
+	 * If the search is not found nothing is done.
+	 * @param src
+	 * @param name
+	 * @param value
+	 */
+	private static void setValue( StringBuffer src, String name, int value){
+		int val = value;
+		String search = name+":00000000000";
+		int pos = src.indexOf(search);
+		if (pos ==-1) return;// not found, do nothing
+
+		boolean belowZero = val<0;
+		if (belowZero) val = -val;
+
+		src.replace(pos+search.length()-(val+"").length(), pos+search.length(), val+"");
+		if (belowZero) src.setCharAt(pos+name.length()+1,'-'); // +1 'cause of ':' in "SearchMe:"
+	}
+	
+	/**
+	 * creates context menu accordingly to what is selected in the table.
+	 */
+	private void doCreateContextMenu() {
+		
+		// Active SDK menu
+		subMenuSdk = new MenuManager("Active SDK");	
+		subMenuSdk.setRemoveAllWhenShown(true);
+		subMenuSdk.addMenuListener(new IMenuListener() {
+			public void menuAboutToShow(IMenuManager manager) {
+				Map<String, String> sdks = SourceSdkManager.getAllSdks();
+				String currentSdk = SourceSdkManager.getCurrentSkdName();
+				// if there are sdks
+				if (sdks != null && !sdks.isEmpty()) {
+					String[] sdkNames = sdks.keySet().toArray(new String[sdks.size()]);
+					java.util.Arrays.sort(sdkNames);
+					// go through all found sdks and and them to pop-up menu
+					for (int i = 0; i < sdkNames.length; i++) {
+						String sdk = sdkNames[i];
+						CommandContributionItemParameter p = 
+							new CommandContributionItemParameter(PlatformUI.getWorkbench().getActiveWorkbenchWindow(),
+																 null,
+																 "com.nokia.s60tools.crashanalyser.commands.SdkSelection",
+																 CommandContributionItem.STYLE_PUSH);
+						p.label = sdk;
+						// if this sdk is selected as Active sdk, draw an circular image to 
+						// this menu item to indicate that this is the active sdk
+						if (sdk.equalsIgnoreCase(currentSdk)) {
+							p.icon = ImageResourceManager.getImageDescriptor((ImageKeys.SELECTED_SDK));
+						}
+						CommandContributionItem item = new CommandContributionItem(p);	    
+				   	    subMenuSdk.add(item);
+					}
+				}
+			}
+		});
+
+   	    final MenuManager subMenuSelection = new MenuManager("Copy Selection to Clipboard");
+		subMenuSelection.add(actionCopySelectionToClipboardAsPlainText);
+		subMenuSelection.add(actionCopySelectionToClipboardAsRichText);
+
+		final MenuManager subMenuFull = new MenuManager("Copy Whole Stack to Clipboard");
+		subMenuFull.add(actionCopyStackToClipboardAsPlainText);
+		subMenuFull.add(actionCopyStackToClipboardAsRichText);
+
+		MenuManager manager = new MenuManager("#PopupMenu");
+		Menu menu = manager.createContextMenu(getControl());
+		getControl().setMenu(menu);
+		
+		manager.setRemoveAllWhenShown(true);
+		manager.addMenuListener(new IMenuListener() {
+			public void menuAboutToShow(IMenuManager manager) {
+				Table table = (Table)getControl();
+				if (table.getSelection() != null) {
+					// add 'Open source file' and 'Active SDK' menu items to pop-up menu
+					// only if exactly one row is selected in table and if that
+					// row's symbol column is not empty
+					if (table.getSelection().length == 1 && 
+						!"".equals(table.getSelection()[0].getText(COLUMN_SYMBOL))) {
+						manager.add(actionOpenSourceFile);
+						manager.add(subMenuSdk);
+						manager.add(new Separator());
+					}
+					manager.add(subMenuSelection);
+					manager.add(subMenuFull);
+				}
+			}
+		});
+	}
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/viewers/CodeSegmentsTableViewer.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.viewers;
+
+import org.eclipse.jface.viewers.TableViewerColumn;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Table;
+
+/**
+ * Table viewer for Code Segments table in Advanced page in 
+ * Crash Visualiser editor. 
+ *
+ */
+public class CodeSegmentsTableViewer extends CrashAnalyserTableViewer {
+	/**
+	 * Constructor
+	 * @param table
+	 */
+	public CodeSegmentsTableViewer(Table table) {
+		super(table);
+
+		TableViewerColumn column = new TableViewerColumn(this, SWT.NONE);
+		column.setLabelProvider(labelProvider);
+		column.getColumn().setText("Base Address");
+
+		column = new TableViewerColumn(this, SWT.NONE);
+		column.setLabelProvider(labelProvider);
+		column.getColumn().setText("Top Address");
+		
+		column = new TableViewerColumn(this, SWT.NONE);
+		column.setLabelProvider(labelProvider);
+		column.getColumn().setText("File Name");		
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/viewers/CrashAnalyserTableViewer.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.viewers;
+
+import org.eclipse.jface.viewers.CellLabelProvider;
+import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.ViewerCell;
+import org.eclipse.jface.window.ToolTip;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.widgets.Table;
+
+/**
+ * Base table viewer for table viewers used in Crash Analyser project.
+ * Providers tooltip functionality and settings for all table viewers. 
+ *
+ */
+public class CrashAnalyserTableViewer extends TableViewer {
+	CellLabelProvider labelProvider;
+	protected CrashAnalyserTableViewer(Table table) {
+		super(table);
+		ColumnViewerToolTipSupport.enableFor(this,ToolTip.NO_RECREATE);
+		
+		labelProvider = new CellLabelProvider() {
+
+			public String getToolTipText(Object element) {
+				if ("".equals(element.toString()))
+					return null;
+				else
+					return element.toString();
+			}
+
+			public Point getToolTipShift(Object object) {
+				return new Point(10, 10);
+			}
+
+			public int getToolTipDisplayDelayTime(Object object) {
+				return 200;
+			}
+
+			public int getToolTipTimeDisplayed(Object object) {
+				return 5000;
+			}
+
+			public void update(ViewerCell cell) {
+				cell.setText(cell.getElement().toString());
+			}
+		};		
+		
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/views/MainView.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,974 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.views;
+
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.browser.Browser;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.MessageBox;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.SashForm;
+import org.eclipse.swt.layout.*;
+import org.eclipse.jface.viewers.*;
+import org.eclipse.jface.action.*;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.ui.*;
+import org.eclipse.ui.part.*;
+import org.eclipse.swt.dnd.*;
+
+import com.nokia.s60tools.ui.*;
+import com.nokia.s60tools.util.resource.*;
+import com.nokia.s60tools.crashanalyser.model.*;
+import com.nokia.s60tools.crashanalyser.plugin.*;
+import com.nokia.s60tools.crashanalyser.resources.*;
+import com.nokia.s60tools.crashanalyser.files.*;
+import com.nokia.s60tools.crashanalyser.ui.wizards.*;
+import com.nokia.s60tools.crashanalyser.ui.dialogs.*;
+import com.nokia.s60tools.crashanalyser.data.*;
+import com.nokia.s60tools.crashanalyser.interfaces.*;
+import java.io.*;
+import java.util.*;
+
+/**
+ * Crash Analyser's main view class. Shows Crash files in a table. 
+ * 
+ * 
+ */
+public class MainView extends ViewPart implements IDecodingObserver, 
+												  IErrorLibraryObserver,
+												  INewCrashFilesObserver,
+												  ISelectionChangedListener,
+												  DropTargetListener {
+	
+	/**
+	 * We can get view ID at runtime once the view is instantiated, but we
+	 * also need static access to ID in order to be able to invoke the view.
+	 */
+	public static final String ID = "com.nokia.s60tools.crashanalyser.ui.views.MainView"; //$NON-NLS-1$
+	private TableViewer tableViewerCrashFiles;
+	private Action actionDoubleClick;
+	private Action actionOpenWizard;
+	private Action actionDecode;
+	private Action actionDeleteFiles;
+	private Action actionPanicLibrary;
+	private Action actionExportToHtml;
+	private Action actionExportToXml;
+	private Action actionExportAsHtml;
+	private Action actionExportAsXml;
+	private Action actionExportAll;
+	private String errorMessage = "";
+	private Browser browserPanicDescription;
+	private MainViewContentProvider contentProvider = null;
+	private ErrorLibrary errorLibrary = null;
+	private boolean mainViewLoaded = false;
+	private boolean showWizard = false;
+	private boolean wizardRunning = false;
+	private static SummaryFile summaryFileFromTrace = null;
+	private CrashAnalyserFile fileToBeShown = null;
+	private CrashAnalyserWizard wizard = null;
+
+	
+	public void selectionChanged(SelectionChangedEvent arg0) {
+		ISelection selection = tableViewerCrashFiles.getSelection();
+		
+		// no files selected, don't show description
+		if (selection == null || selection.isEmpty()) {
+			browserPanicDescription.setText("");
+			return;
+		}
+		
+		@SuppressWarnings("unchecked")
+		Iterator<CrashFileBundle> i = ((IStructuredSelection)selection).iterator();
+		while (i.hasNext()) {
+			CrashFileBundle cFileBundle = i.next();
+			// multiple files selected, don't show description
+			if (i.hasNext()) {
+				browserPanicDescription.setText("");
+				break;
+			// only one selected file, show description
+			} else {
+				browserPanicDescription.setText(HtmlFormatter.formatHtmlStyle(browserPanicDescription.getFont(), 
+												cFileBundle.getDescription(true)));
+			}
+		}
+	}
+
+	/**
+	 * Error library calls this method when it's ready to be used (i.e.
+	 * it has finished reading in all errors & panics from xml files)
+	 */
+	public void errorLibraryReady() {
+		contentProvider.setErrorLibrary(errorLibrary);
+		actionPanicLibrary.setEnabled(true);
+		refreshView();
+	}
+	
+	/**
+	 * MainView gets notified by this method to refresh the crash files table
+	 */
+	public void crashFilesUpdated() {
+		mainViewLoaded = true;
+		actionOpenWizard.setEnabled(true);		
+		actionDecode.setEnabled(true);
+		refreshView();
+		if (showWizard) {
+			showWizard = false;
+			showWizardIfNoFiles();
+		}
+	}
+
+	/**
+	 * The constructor.
+	 */
+	public MainView() {
+		// no implementation needed
+	}
+
+	/**
+	 * This is a callback that will allow us
+	 * to create the viewer and initialize it.
+	 */
+	public void createPartControl(Composite parent) {
+		SashForm sashFormMain = new SashForm(parent, SWT.HORIZONTAL);
+		createCrashFilesListViewTableViewer(sashFormMain);
+		createPanicsViewer(sashFormMain);
+		sashFormMain.setWeights(new int[] {2,1});
+		
+		makeActions();
+		hookContextMenu();
+		hookDoubleClickAction();
+		contributeToActionBars();
+		
+		actionOpenWizard.setEnabled(false);
+		actionDecode.setEnabled(false);
+		actionPanicLibrary.setEnabled(false);
+		errorLibrary = ErrorLibrary.getInstance(this);
+		
+		try {
+			PlatformUI.getWorkbench().getHelpSystem().setHelp(tableViewerCrashFiles.getControl(),
+				HelpContextIDs.CRASH_ANALYSER_HELP_MAIN_VIEW);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * Starts Crash Analyser wizard if there are no decoded Crash 
+	 * files in the MainView table.
+	 *
+	 */
+	public void showWizardIfNoFiles() {
+		Runnable showWizardRunnable = new Runnable(){
+			public void run(){
+				try {
+					if (mainViewLoaded) {
+						CrashFileBundle cFile = (CrashFileBundle)tableViewerCrashFiles.getElementAt(0);
+						if (cFile.isEmpty()) {
+							showWizard();
+						}
+					} else {
+						showWizard = true;
+					}
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+		};
+		
+		Display.getDefault().asyncExec(showWizardRunnable);   		
+		
+	}
+	
+	/**
+	 * Starts Crash Analyser wizard asynchronously.
+	 *
+	 */
+	public void showWizard() {
+		showWizard(null);
+	}
+
+	/**
+	 * Starts Crash Analyser wizard asynchronously.
+	 * @param filesToBeDecoded list of files which needs to be decoded with wizard, null if wizard should
+	 * be started from the beginning.
+	 *
+	 */
+	public void showWizard(List<CrashFileBundle> filesToBeDecoded) {
+		wizard = new CrashAnalyserWizard(filesToBeDecoded, errorLibrary);
+		openWizard();
+	}
+	
+	public void showWizard(String prefilledFileOrFolder, String[] filesToBeShown) {
+		wizard = new CrashAnalyserWizard(prefilledFileOrFolder, filesToBeShown, errorLibrary);
+		openWizard();
+	}
+	
+	void openWizard() {
+		Runnable showWizardRunnable = new Runnable(){
+			public void run(){
+				WizardDialog wizDialog;
+				wizDialog = new WizardDialog(getViewSite().getShell(), wizard);
+				wizDialog.create();		
+				wizDialog.getShell().setSize(500, 650);		
+				wizDialog.addPageChangedListener(wizard);				
+				wizDialog.open();		
+			}
+		};
+		
+		Display.getDefault().asyncExec(showWizardRunnable);   		
+	}
+	
+	/**
+	 * Creates the MainView table which is used for showing crash files 
+	 */
+	private void createCrashFilesListViewTableViewer(Composite parent) {
+		SashForm sashFormCrashFiles = new SashForm(parent, SWT.VERTICAL);
+		
+		List<S60ToolsTableColumnData> columnDataArr = new ArrayList<S60ToolsTableColumnData>();
+		
+		columnDataArr.add(new S60ToolsTableColumnData("Crash File", 690, 0));
+		columnDataArr.add(new S60ToolsTableColumnData("Panic Code", 70, 0)); 
+		columnDataArr.add(new S60ToolsTableColumnData("Panic Category", 90, 0)); 
+		columnDataArr.add(new S60ToolsTableColumnData("Thread", 250, 0));
+		columnDataArr.add(new S60ToolsTableColumnData("Time", 130, 0));
+		
+		S60ToolsTableColumnData[] arr 
+				= columnDataArr.toArray(new S60ToolsTableColumnData[columnDataArr.size()]);
+		
+		S60ToolsTable tbl = S60ToolsTableFactory.create(sashFormCrashFiles, arr);
+		
+		TableViewer tblViewer = new TableViewer(tbl.getTableInstance());
+		tbl.setHostingViewer(tblViewer);
+		tblViewer.addDropSupport(DND.DROP_COPY, new Transfer[] {FileTransfer.getInstance()}, this);
+
+		contentProvider = new MainViewContentProvider(this);
+		tblViewer.setContentProvider(contentProvider);
+		tblViewer.setLabelProvider(new MainViewLabelProvider());
+		tblViewer.setSorter(new ViewerSorter());
+		tblViewer.setInput(getViewSite());
+		tblViewer.addSelectionChangedListener(this);
+		
+		tableViewerCrashFiles = tblViewer;
+	}
+	
+	/**
+	 * Creates the right side view of the MainView. Contains a browser which
+	 * is used for showing information about a selected file in MainView table. 
+	 */
+	private void createPanicsViewer(Composite parent) {
+		SashForm sashFormPanics = new SashForm(parent, SWT.HORIZONTAL);
+		
+		SashForm sashFormPanicLookup = new SashForm(sashFormPanics, SWT.VERTICAL);
+
+		Composite composite = new Composite(sashFormPanicLookup, SWT.NONE);
+		
+		GridLayout gridLayout = new GridLayout();
+		gridLayout.numColumns = 1;
+		composite.setLayout(gridLayout);		
+
+		browserPanicDescription = new Browser(composite, SWT.BORDER);
+		browserPanicDescription.setLayoutData(new GridData(GridData.FILL_BOTH));
+	}
+	
+	/**
+	 * Initialize double-click action
+	 */
+	private void hookDoubleClickAction() {
+		tableViewerCrashFiles.addDoubleClickListener(new IDoubleClickListener() {
+			public void doubleClick(DoubleClickEvent event) {
+				actionDoubleClick.run();
+			}
+		});
+	}	
+
+	/**
+	 * Initialize context menu
+	 */
+	private void hookContextMenu() {
+		MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
+		menuMgr.setRemoveAllWhenShown(true);
+		menuMgr.addMenuListener(new IMenuListener() {
+			public void menuAboutToShow(IMenuManager manager) {
+				MainView.this.fillContextMenu(manager);
+				
+			}
+		});
+		Menu menu = menuMgr.createContextMenu(tableViewerCrashFiles.getControl());
+		tableViewerCrashFiles.getControl().setMenu(menu);
+		getSite().registerContextMenu(menuMgr, tableViewerCrashFiles);
+	}
+
+	/**
+	 * Action bars initializer
+	 */
+	private void contributeToActionBars() {
+		IActionBars bars = getViewSite().getActionBars();
+		fillLocalPullDown(bars.getMenuManager());
+		fillLocalToolBar(bars.getToolBarManager());
+	}
+
+	/**
+	 * Fill pull down menu
+	 */
+	private void fillLocalPullDown(IMenuManager manager) {
+		manager.add(actionOpenWizard);
+		manager.add(actionDecode);
+		manager.add(actionDeleteFiles);
+		manager.add(actionPanicLibrary);
+		MenuManager exportMenu = getExportMenu(true);
+		if (exportMenu != null)
+			manager.add(exportMenu);
+	}
+
+	/**
+	 * Fills context menu
+	 */
+	private void fillContextMenu(IMenuManager manager) {
+		manager.add(actionDecode);
+		manager.add(actionDeleteFiles);
+		MenuManager exportMenu = getExportMenu(false);
+		if (exportMenu != null)
+			manager.add(exportMenu);
+	}
+	
+	/**
+	 * Fills tool bar
+	 */
+	private void fillLocalToolBar(IToolBarManager manager) {
+		manager.add(actionOpenWizard);
+		manager.add(actionDecode);
+		manager.add(actionDeleteFiles);
+		manager.add(actionPanicLibrary);
+	}
+	
+	public void dispose() {
+		EditorHandler.closeAllEditors();
+	}
+	
+	/**
+	 * Checks based on which files are selected in MainView table, that
+	 * can Export sub-menu be shown.
+	 * @return Export menu if it can be show, null if it can't
+	 */
+	private MenuManager getExportMenu(boolean showAlways) {
+		MenuManager subMenuExport = new MenuManager("Export");
+		
+		ISelection selection = tableViewerCrashFiles.getSelection();
+		// if no files are selected, don't show export menu
+		if (!showAlways && (selection == null || selection.isEmpty()))
+			return null;
+		
+		boolean allFilesContainsXml = true;
+		boolean itemsAdded = false;
+		
+        // go through all selected files
+    	@SuppressWarnings("unchecked")
+		Iterator<CrashFileBundle> i = ((IStructuredSelection)selection).iterator();
+		while (i.hasNext()) {
+			CrashFileBundle cFileBundle = i.next();
+
+			// if only one item selected, allow export to html and xml if it contains xml file
+			if (((IStructuredSelection)selection).size() == 1 && cFileBundle.hasXml()) {
+				subMenuExport.add(actionExportToHtml);
+				subMenuExport.add(actionExportToXml);
+				itemsAdded = true;
+			}
+			
+			if (!cFileBundle.hasFiles())
+				allFilesContainsXml = false;
+			
+			// do not show Export menu if "empty file" or emulator panic is selected
+			if (cFileBundle.isEmpty() || cFileBundle.isEmulatorPanic())
+				return null;
+		}
+		
+		if (showAlways && !itemsAdded) {
+			subMenuExport.add(actionExportToHtml);
+			subMenuExport.add(actionExportToXml);
+		}
+		
+		// if all selected files contains xml file, these actions can be added
+		if (allFilesContainsXml || showAlways) {
+			subMenuExport.add(actionExportAsHtml);
+			subMenuExport.add(actionExportAsXml);
+		}
+		
+		// export all can always be added, since they will export
+		// all files which are available.
+		subMenuExport.add(actionExportAll);
+		
+		return subMenuExport;
+	}
+
+	/**
+	 * Make all actions (buttons, double-click)
+	 */
+	private void makeActions() {
+		makeDeleteFilesAction();
+		makeOpenWizardAction();
+		makeOpenPanicLibraryAction();	
+		makeExportToHtml();
+		makeExportToXml();
+		makeExportAllAction();
+		makeExportAsHtmlAction();
+		makeExportAsXmlAction();
+		makeDoubleClickAction();
+		makeDecodeFilesAction();
+	}
+	
+	/**
+	 * Double-click action
+	 */
+	private void makeDoubleClickAction() {
+		// when table item is double-clicked
+		actionDoubleClick = new Action() {
+			public void run() {
+				try {
+					if (wizardRunning)
+						return;
+					ISelection selection = tableViewerCrashFiles.getSelection();
+					Object obj = ((IStructuredSelection)selection).getFirstElement();
+					CrashFileBundle cFile = (CrashFileBundle)obj;
+					// if empty file is double-clicked, open wizard
+					if (cFile.isEmpty()) {
+						showWizard();
+					// Crash file (not empty file) is double-clicked
+					} else {
+						// fully decoded
+						if (cFile.isFullyDecoded())
+							EditorHandler.openCrashAnalyserEditor(cFile.getCrashFile());
+						// partially decoded
+						else if (cFile.isPartiallyDecoded())
+							EditorHandler.openCrashAnalyserEditor(cFile.getSummaryFile());
+					}
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+		};
+	}
+
+	/**
+	 * Export selected file to html file
+	 */
+	private void makeExportToHtml() {
+		actionExportToHtml = new Action() {
+			public void run() {
+				ISelection selection = tableViewerCrashFiles.getSelection();
+				FileExportManager.ExportSelectedFileToHtml(selection, getShell());
+			}
+		};
+		actionExportToHtml.setText("to HTML File");
+	}
+
+	/**
+	 * Export selected file to .xml or .crashxml
+	 */
+	private void makeExportToXml() {
+		actionExportToXml = new Action() {
+			public void run() {
+				ISelection selection = tableViewerCrashFiles.getSelection();
+				FileExportManager.ExportSelectedFileToXml(selection, getShell());
+			}
+		};
+		actionExportToXml.setText("to XML File");
+	}
+
+	/**
+	 * Export to Zip as Xml
+	 */
+	private void makeExportAsXmlAction() {
+		actionExportAsXml = new Action() {
+			public void run() {
+				ISelection selection = tableViewerCrashFiles.getSelection();
+				FileExportManager.ExportSelectedFilesAsXmlToZip(selection, getShell());
+			}
+		};
+		actionExportAsXml.setText("to Zip as XML");
+	}
+
+	/**
+	 * Export to Zip as Html
+	 */
+	private void makeExportAsHtmlAction() {
+		actionExportAsHtml = new Action() {
+			public void run() {
+				ISelection selection = tableViewerCrashFiles.getSelection();
+				FileExportManager.ExportSelectedFilesAsHtmlToZip(selection, getShell());
+			}
+		};
+		actionExportAsHtml.setText("to Zip as HTML");
+	}
+
+	/**
+	 * Export all formats to zip
+	 */
+	private void makeExportAllAction() {
+		actionExportAll = new Action() {
+			public void run() {
+				ISelection selection = tableViewerCrashFiles.getSelection();
+				FileExportManager.ExportSelectedFilesToZipInAllFormats(selection, getShell());
+			}
+		};
+		actionExportAll.setText("All Formats to Zip");
+	}
+
+	/**
+	 * Open Error Library button
+	 */
+	private void makeOpenPanicLibraryAction() {
+		actionPanicLibrary = new Action() {
+			public void run() {
+				ErrorLibraryDialog dlg = new ErrorLibraryDialog(tableViewerCrashFiles.getControl().getShell(), errorLibrary);
+				dlg.open();
+			}
+		};
+		actionPanicLibrary.setText("Open Error Library...");
+		actionPanicLibrary.setToolTipText("Open Error Library Window");
+		actionPanicLibrary.setImageDescriptor(ImageResourceManager.getImageDescriptor(ImageKeys.ERROR_LIBRARY));
+	}
+
+	/**
+	 * Import Files button
+	 */
+	private void makeOpenWizardAction() {
+		// Open wizard button
+		actionOpenWizard = new Action() {
+			public void run() {
+				showWizard();
+			}
+		};
+		actionOpenWizard.setText("Import Files...");
+		actionOpenWizard.setToolTipText("Open File Import Wizard");
+		actionOpenWizard.setImageDescriptor(ImageResourceManager.getImageDescriptor(ImageKeys.IMG_APP_ICON));		
+	}
+	
+	/**
+	 * Starts decoding process for the given file by opening the wizard for given file.
+	 * @param f file to be decoded
+	 */
+	public void decodeFile(SummaryFile f) {
+		int sep = f.getFilePath().lastIndexOf(File.separator);
+		CrashFileBundle cfb = new CrashFileBundle(f.getFilePath().substring(0, sep), errorLibrary);
+		List<CrashFileBundle> files = new ArrayList<CrashFileBundle>();
+		files.add(cfb);
+		EditorHandler.closeEditors(files);
+		showWizard(files);
+	}
+	
+	/**
+	 * Decode files button
+	 */
+	private void makeDecodeFilesAction() {
+		actionDecode = new Action() {
+			public void run() {
+				ISelection selection = tableViewerCrashFiles.getSelection();
+				// if nothing is selected, just ignore button press
+				if (selection == null || selection.isEmpty())
+					return;
+
+				String romId = "";
+				// go through all files and check that they can be re-decoded
+				List<CrashFileBundle> files = new ArrayList<CrashFileBundle>();
+				@SuppressWarnings("unchecked")
+				Iterator i = ((IStructuredSelection)selection).iterator();
+				while (i.hasNext()) {
+					CrashFileBundle cFileBundle = (CrashFileBundle)i.next();
+					UndecodedFile udf = cFileBundle.getUndecodedFile();
+					// must have original binaries to be able to re-decode
+					if (udf == null) {
+						errorMessage = "All selected files do not have original binaries available. Cannot Decode.";
+						showErrorMessage();
+						return;
+					}
+					
+					// only mobilecrash files can be re-decoded (e.g. D_EXC files can't)
+					if (!udf.getFileName().toLowerCase().endsWith("."+CrashAnalyserFile.MOBILECRASH_FILE_EXTENSION) &&
+						!udf.getFileName().toLowerCase().endsWith("."+CrashAnalyserFile.TRACE_EXTENSION)) {
+						errorMessage = "Only MobileCrash files can be Decoded.";
+						showErrorMessage();
+						return;
+					}
+					
+					// rom id hasn't yet been read
+					if ("".equals(romId)) {
+						romId = cFileBundle.getRomId();
+					// rom ids of selected files must match
+					} else if (!romId.equalsIgnoreCase(cFileBundle.getRomId())) {
+						errorMessage = "Select only files which have same ROM IDs";
+						showErrorMessage();
+						return;
+					}
+					
+					files.add(cFileBundle);
+				}
+				
+				if (!files.isEmpty()) {
+					EditorHandler.closeEditors(files);
+					showWizard(files);
+				}
+			}
+		};
+		actionDecode.setText("Decode Files...");
+		actionDecode.setToolTipText("Decode Selected Files");
+		actionDecode.setImageDescriptor(ImageResourceManager.getImageDescriptor(ImageKeys.DECODE_FILES));
+	}
+
+	/**
+	 * Delete Files button
+	 */
+	private void makeDeleteFilesAction() {
+		// Delete file button
+		actionDeleteFiles = new Action() {
+			public void run() {
+				ISelection selection = tableViewerCrashFiles.getSelection();
+				if (selection == null || selection.isEmpty())
+					return;
+				
+				// Confirm file delete
+				MessageBox messageBox = new MessageBox(tableViewerCrashFiles.getControl().getShell(), SWT.ICON_QUESTION | SWT.YES | SWT.NO);
+		        messageBox.setText("Crash Analyser - Delete Files");
+		        messageBox.setMessage("Are you sure you want to delete selected files?");
+		        int buttonID = messageBox.open();
+		        if (buttonID == SWT.YES) {
+			        // go through all selected files and remove them
+		        	List<CrashFileBundle> closeFiles = new ArrayList<CrashFileBundle>();
+		        	@SuppressWarnings("unchecked")
+					Iterator<CrashFileBundle> i = ((IStructuredSelection)selection).iterator();
+					while (i.hasNext()) {
+						CrashFileBundle cFileBundle = i.next();
+						if (!cFileBundle.isEmpty()) {
+							cFileBundle.delete();
+							closeFiles.add(cFileBundle);
+						}
+					}
+					EditorHandler.closeEditors(closeFiles);
+					contentProvider.refresh();
+				}
+
+		        // All items were removed, add empty item
+				if (tableViewerCrashFiles.getTable().getItemCount() == 0) {
+					CrashFileBundle empty = new CrashFileBundle(true);
+					tableViewerCrashFiles.add(empty);
+				}
+			}
+		};
+		actionDeleteFiles.setText("Delete Files");
+		actionDeleteFiles.setToolTipText("Delete Selected Files");
+		actionDeleteFiles.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
+	}
+
+	/**
+	 * Shows a message box with given message
+	 * @param message
+	 */
+	private void showMessage(String message) {
+		MessageDialog.openInformation(
+			tableViewerCrashFiles.getControl().getShell(),
+			"Crash Analyser",
+			message);
+	}
+	
+	/**
+	 * Shows an error message asynchronously.
+	 *
+	 */
+	private void showErrorMessage() {
+		Runnable showErrorMessageRunnable = new Runnable(){
+			public void run(){
+				MessageDialog.openError(
+						tableViewerCrashFiles.getControl().getShell(),
+						"Crash Analyser",
+						errorMessage);
+				errorMessage = ""; //$NON-NLS-1$
+			}
+		};
+		
+		// Has to be done in its own thread
+		// in order not to cause invalid thread access
+		Display.getDefault().asyncExec(showErrorMessageRunnable);        		
+	}
+	
+	/**
+	 * Returns a shell
+	 * @return a shell
+	 */
+	private Shell getShell() {
+		return tableViewerCrashFiles.getControl().getShell();
+	}
+
+	/**
+	 * Passing the focus request to the viewer's control.
+	 */
+	public void setFocus() {
+		tableViewerCrashFiles.getControl().setFocus();
+	}
+	
+	/**
+	 * When wizard is finished, wizard passes decoder engine to MainView so that 
+	 * MainView can start decoding process and register itself as the progress listener.
+	 * @param decoder decoder engine
+	 */
+	public void startDecoding(DecoderEngine decoder) {
+		disableUIForImport(true);
+		try {
+			decoder.decode(this);
+		} catch (Exception e) {
+			disableUIForImport(false);
+			showMessage("Processing Failed: "+e.getMessage());
+			setMainViewVisible();
+		}
+	}
+	
+	/**
+	 * While import is in progess, some actions should be disabled. This method
+	 * enables/disables necessary actions after/before import.
+	 * @param disable
+	 */
+	void disableUIForImport(boolean disable) {
+		actionDecode.setEnabled(!disable);
+		actionOpenWizard.setEnabled(!disable);
+		actionDeleteFiles.setEnabled(!disable);
+		wizardRunning = disable;
+	}
+	
+	/**
+	 * Makes Crash Analyser view visible asynchronously.
+	 *
+	 */
+	private void setMainViewVisible() {
+		Runnable decodingFinishedRunnable = new Runnable(){
+			public void run(){
+				updateView();
+				if (fileToBeShown != null) {
+					if (fileToBeShown instanceof CrashFile) {
+						EditorHandler.openCrashAnalyserEditor((CrashFile)fileToBeShown);
+					} else if (fileToBeShown instanceof SummaryFile) {
+						EditorHandler.openCrashAnalyserEditor((SummaryFile)fileToBeShown);
+					}
+					fileToBeShown = null;
+				}
+			}
+		};
+		
+		// Has to be done in its own thread
+		// in order not to cause invalid thread access
+		Display.getDefault().asyncExec(decodingFinishedRunnable);        		
+	}
+	
+	/**
+	 * Refreshes view asynchronously.
+	 */
+	private void refreshView() {
+		Runnable refreshRunnable = new Runnable(){
+			public void run(){
+				tableViewerCrashFiles.refresh();
+			}
+		};
+		
+		// Has to be done in its own thread
+		// in order not to cause invalid thread access
+		Display.getDefault().asyncExec(refreshRunnable);        		
+	}
+	
+	/**
+	 * Reloads Crash files to table
+	 *
+	 */
+	private void updateView() {
+		try {
+			getViewSite().getPage().showView(MainView.ID);
+			tableViewerCrashFiles.refresh();
+		} catch (Exception e) {			
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * Used by Decoder Engine to inform when decoding is finished.
+	 * @param error error message if something went wrong with decoding. Empty if no error occurred
+	 */
+	public void decodingFinished(String error, CrashAnalyserFile caFile) {
+		disableUIForImport(false);
+		// no errors while decoding
+		if ("".equals(error)) { //$NON-NLS-1$
+			contentProvider.refresh();
+			setMainViewVisible();
+			fileToBeShown = caFile;
+		// there were errors in decoding process
+		} else {
+			errorMessage = error;
+			showErrorMessage();
+			contentProvider.refresh();
+		}
+	}
+	
+	/**
+	 * Refreshes table
+	 */
+	public void refresh() {
+		contentProvider.refresh();
+		tableViewerCrashFiles.refresh();
+	}
+	
+	public void dragEnter(DropTargetEvent event) {
+		event.detail = DND.DROP_COPY;
+	}
+
+	public void dragLeave(DropTargetEvent event) {
+		// Nothing to be done
+	}
+
+	public void dragOperationChanged(DropTargetEvent event) {
+		// Nothing to be done
+	}
+
+	public void dragOver(DropTargetEvent event) {
+		event.feedback = DND.FEEDBACK_NONE;
+	}
+
+	public void drop(DropTargetEvent event) {
+		// we accept only file drops
+		if (FileTransfer.getInstance().isSupportedType(event.currentDataType)) {
+			if (event.data != null) {
+				String[] files = (String[])event.data;
+				executeDrop(files);
+			}
+		}
+	}
+
+	public void dropAccept(DropTargetEvent event) {
+		// Nothing to be done
+	}
+	
+	/**
+	 * Executes drop functionality when files are drag&dropped to main view.
+	 * Checks if supported files where dropped and starts wizard accordingly.
+	 * @param files drag&dropped files (paths)
+	 */
+	void executeDrop(String[] files) {
+		// just one (supported) file dropped
+		if (files.length == 1 && DecoderEngine.isFileValidCrashFile(files[0])) {
+			showWizard(files[0], files);
+		// multiple files dropped
+		} else if (files.length > 1) {
+			String path = "";
+			// go through all dropped files, and check that they are from same folder
+			// (wizard doesn't know how to handle multiple files from multiple locations)
+			for (int i = 0; i < files.length; i++) {
+				if (DecoderEngine.isFileValidCrashFile(files[i])) {
+					if ("".equals(path)) {
+						path = FileOperations.getFolder(files[i]);
+					} else if (!FileOperations.getFolder(files[i]).equalsIgnoreCase(path)){
+						showMessage("Multiple files from different folders are not supported");
+						break;
+					}
+				} else {
+					showMessage("Unsupported file type");
+					break;
+				}
+			}
+			showWizard(path, files);
+		} else {
+			showMessage("Unsupported file type");
+		}
+	}
+
+    /**
+     * Opens MainView if it is not open. Can be called from a non-UI thread.
+     */
+    public static void showOrRefresh() {
+    	
+		PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+			public void run() {
+				MainView mv = showAndReturnYourself(true);
+				mv.refresh();
+			}
+		}
+		);
+    }
+    
+    /**
+     * Opens MainView if it is not open. Can be called from a non-UI thread.
+     */
+    public static void showOrRefreshAndOpenFile(SummaryFile summaryFile) {
+    	MainView.summaryFileFromTrace = summaryFile;
+		PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+			public void run() {
+				MainView mv = showAndReturnYourself(true);
+				mv.refresh();
+				EditorHandler.openCrashAnalyserEditor(summaryFileFromTrace);
+			}
+		}
+		);
+    }
+
+    /**
+     * Makes main view visible and returns an instance of itself. Can be called from
+     * an UI thread only.
+     * @return instance of main view
+     */
+    public static MainView showAndReturnYourself() {
+    	return showAndReturnYourself(false);
+    }
+    
+    /**
+     * Makes main view visible and returns an instance of itself. Can be called from
+     * an UI thread only.
+     * @return instance of main view
+     */
+	public static MainView showAndReturnYourself(boolean openOnly) {
+    	try {
+    		
+    		IWorkbenchWindow ww = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+    		if (ww == null)
+    			return null;
+    		
+    		IWorkbenchPage page = ww.getActivePage();
+    		IWorkbenchPart currentPart = page.getActivePart();
+    		
+    		// Checking if view is already open
+    		IViewReference[] viewRefs = page.getViewReferences();
+    		for (int i = 0; i < viewRefs.length; i++) {
+				IViewReference reference = viewRefs[i];
+				String id = reference.getId();
+				if(id.equalsIgnoreCase(MainView.ID)){
+					// Found, restoring the view
+					IViewPart viewPart = reference.getView(true);
+					if (!openOnly)
+						page.activate(viewPart);
+					return (MainView)viewPart;
+				}
+			}
+    		
+    		// View was not found, opening it up as a new view.
+    		MainView mView = (MainView)page.showView(MainView.ID);
+    		if (openOnly)
+    			page.bringToTop(currentPart);
+    		return mView;
+    		
+    	} catch (Exception e) {
+			e.printStackTrace();
+			
+			return null;
+		}
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/views/MainViewContentProvider.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.views;
+
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+import com.nokia.s60tools.crashanalyser.data.*;
+import com.nokia.s60tools.crashanalyser.interfaces.INewCrashFilesObserver;
+import com.nokia.s60tools.crashanalyser.model.CrashFileManager;
+
+/**
+ * This class provides all rows to MainView's table. This class 
+ * contains CrashFileManager which is responsible for handling
+ * Crash files on hard drive. This class just gets all files from
+ * CrashFileManager and provides them to MainView's table in correct
+ * format. 
+ *
+ */
+public class MainViewContentProvider implements IStructuredContentProvider {
+
+	private final CrashFileManager crashFileManager;	
+	private ErrorLibrary errorLibrary = null;
+	
+	public MainViewContentProvider(INewCrashFilesObserver observer) {
+		crashFileManager = new CrashFileManager(observer);
+	}
+	
+	public void refresh() {
+		crashFileManager.refresh();
+	}
+	
+	public void setErrorLibrary(ErrorLibrary library) {
+		errorLibrary = library;
+	}
+
+	public Object[] getElements(Object arg0) {
+		return crashFileManager.getCrashFiles(errorLibrary);
+	}
+
+	public void dispose() {
+		// No implementation needed
+	}
+
+	public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
+		// No implementation needed
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/views/MainViewLabelProvider.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.views;
+
+import org.eclipse.jface.viewers.ITableLabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+import com.nokia.s60tools.crashanalyser.model.CrashFileBundle;
+import com.nokia.s60tools.crashanalyser.resources.ImageKeys;
+import com.nokia.s60tools.crashanalyser.resources.ImageResourceManager;
+
+/**
+ * Label provider for MainView's table. Provides a correct image
+ * for a row in MainView. Provides also a text for each column in a row.
+ *
+ */
+public class MainViewLabelProvider extends LabelProvider implements
+		ITableLabelProvider {
+	
+	/**
+	 * Returns text for a column defined by index
+	 */
+	public String getColumnText(Object obj, int index) {
+		CrashFileBundle cFileBundle = (CrashFileBundle)obj;
+		return cFileBundle.getText(index);
+	}
+	
+	/**
+	 * Returns an image for first column only. Returns null
+	 * for other columns.
+	 */
+	public Image getColumnImage(Object obj, int index) {
+		if (index == CrashFileBundle.INDEX_TIME)
+			return getImage(obj);
+		else
+			return null;
+	}
+	
+	/**
+	 * Returns a correct image for a CrashFileBundle type. 
+	 * Correct image depends on which types of files CrashFileBundle contains.
+	 */
+	public Image getImage(Object obj) {
+		CrashFileBundle cFile = (CrashFileBundle)obj;
+
+		// empty file does not need an image
+		if (cFile.isEmpty()) {
+			return null;
+		// image for emulator panic
+		} else if (cFile.isEmulatorPanic()) {
+			return ImageResourceManager.getImage(ImageKeys.EMULATOR_PANIC);
+		// decoded file
+		} else if (cFile.isFullyDecoded()) {
+			return ImageResourceManager.getImage(ImageKeys.DECODED_FILE);
+		// summary file
+		} else if (cFile.isPartiallyDecoded()) {
+			return ImageResourceManager.getImage(ImageKeys.PARTIALLY_DECODED_FILE);
+		// undecoded file
+		} else {
+			return ImageResourceManager.getImage(ImageKeys.CODED_FILE);
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/wizards/CrashAnalyserWizard.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,348 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.wizards;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtension;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.IWizardPage;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IWorkbench;
+import com.nokia.s60tools.ui.wizards.S60ToolsWizard;
+import com.nokia.s60tools.crashanalyser.model.*;
+import com.nokia.s60tools.crashanalyser.plugin.CrashAnalyserPlugin;
+import com.nokia.s60tools.crashanalyser.resources.*;
+import com.nokia.s60tools.crashanalyser.ui.views.*;
+import com.nokia.s60tools.crashanalyser.data.*;
+import com.nokia.s60tools.crashanalyser.export.ICrashFileProvider;
+
+import java.util.*;
+
+/**
+ * Crash Analyser Wizard is used for collecting required data from user so that CrashAnalyser.exe 
+ * can be executed.
+ *
+ */
+public class CrashAnalyserWizard extends S60ToolsWizard {
+
+	static private final ImageDescriptor bannerImgDescriptor = ImageResourceManager.getImageDescriptor(ImageKeys.WIZARD_BANNER);
+	List<CrashFileBundle> filesToDecode = null;
+	IWizardPage returnPage = null;
+	ErrorLibrary errorLibrary;
+	FileOrPathSelectionPage crashFileOrFolderSelectionPage = null;
+	FilesSelectionPage filesSelectionPage = null;
+	ParameterFilesPage parameterFilesPage = null;
+	DecoderEngine engine;
+	String userProvidedCrashFileOrFolder;
+	boolean crashAnalyserExeExecutionSuccess = false;
+	boolean readCrashFileFromDevice = false;
+	String providedFileOrFolder = "";
+	String errorMessage = "";
+	String[] filesToBeSelectedOnSecondPage = null;
+	final String EXTENSION_FILE_PROVIDER = "fileprovider"; //$NON-NLS-1$
+	ICrashFileProvider fileProvider = null;
+	/**
+	 * Constructor
+	 * @param filesToBeDecoded list of files to be decoded. If null is passed, wizard will start from the beginning. 
+	 * If list contains files, then wizard is started from the 3rd page
+	 * @param library error library
+	 */
+	public CrashAnalyserWizard(List<CrashFileBundle> filesToBeDecoded, ErrorLibrary library) {
+		super(bannerImgDescriptor);
+		engine = new DecoderEngine();
+		filesToDecode = filesToBeDecoded;
+		errorLibrary = library;
+		readFileProvider();
+	}
+	
+	/**
+	 * Constructor (used in drag&drop cases)
+	 * @param prefilledFileOrFolder single file or folder which is filled to 1st wizard page
+	 * @param filesToSelect only these files should be shown in 2nd wizard page
+	 * @param library error library
+	 */
+	public CrashAnalyserWizard(String prefilledFileOrFolder, String[] filesToSelect, ErrorLibrary library) {
+		super(bannerImgDescriptor);
+		engine = new DecoderEngine();
+		filesToDecode = null;
+		errorLibrary = library;
+		providedFileOrFolder = prefilledFileOrFolder;
+		filesToBeSelectedOnSecondPage = filesToSelect;
+		readFileProvider();
+	}
+	
+	public void init(IWorkbench arg0, IStructuredSelection arg1) {
+		// No implementation needed
+	}
+
+	
+	@Override
+	public boolean needsProgressMonitor() {
+		return true;
+	}	
+	
+	@Override
+	public void addPages() {
+		// we are doing a full import, add all pages
+		if (filesToDecode == null) {
+			crashFileOrFolderSelectionPage = 
+				new FileOrPathSelectionPage(engine, 
+											errorLibrary, 
+											providedFileOrFolder, 
+											this,
+											fileProvider);
+			addPage(crashFileOrFolderSelectionPage);
+			
+			filesSelectionPage = new FilesSelectionPage(engine, filesToBeSelectedOnSecondPage);
+			addPage(filesSelectionPage);
+			
+			parameterFilesPage = new ParameterFilesPage(engine, false);
+			addPage(parameterFilesPage);
+		
+			setWindowTitle("Crash Analyser - Crash File Import Wizard");
+			
+			// files were drag&dropped, "press next automatically"
+			if (!"".equals(providedFileOrFolder))
+				moveToSecondPage();
+			
+		// we are re-decoding files provided by user, show only "3rd" page
+		} else {
+			parameterFilesPage = new ParameterFilesPage(engine, true);
+			addPage(parameterFilesPage);
+			
+			engine.setCrashFiles(filesToDecode);
+			
+			setWindowTitle("Crash Analyser - Re-Decoding Selected Files");
+		}
+	}
+	
+	public void moveToSecondPageRequest(String[] showOnlyTheseFiles) {
+		filesSelectionPage.showOnlyTheseFiles(showOnlyTheseFiles);
+		moveToSecondPage();
+	}
+	
+	public void moveToSecondPageRequest(boolean readFilesFromDevice) {
+		readCrashFileFromDevice = readFilesFromDevice;
+		moveToSecondPage();
+	}
+	
+	/**
+	 * When user has drag&dropped files, we "automatically press next" 
+	 * in the first wizard page.
+	 */
+	void moveToSecondPage() {
+		Runnable showWizardRunnable = new Runnable(){
+			public void run(){
+				IWizardPage nextPage = getNextPage(crashFileOrFolderSelectionPage);
+				if (nextPage != null)
+					getContainer().showPage(nextPage);
+			}
+		};
+		
+		Display.getDefault().asyncExec(showWizardRunnable);   		
+	}
+	
+	
+	@Override
+	public boolean performFinish() {
+		boolean fullImport = crashFileOrFolderSelectionPage != null;
+		
+		// full import is the case when wizard is started from page 1
+		if (fullImport) {
+			// if Finish was pressed in 2nd wizard page, symbol page (3rd page) was not used
+			// false here would mean that only "decoded" files (.crashxml) files were selected.
+			boolean symbolPageWasUsed = this.getContainer().getCurrentPage() != filesSelectionPage;
+	
+			DecodingData decodingData = new DecodingData();
+			decodingData.importingFiles = true;
+	
+			// save 1st page
+			crashFileOrFolderSelectionPage.saveUserEnteredData();
+
+			decodingData.crashFileIndexes = filesSelectionPage.getFileIndexes();
+			
+			if (symbolPageWasUsed) {
+				// save 3rd page
+				parameterFilesPage.saveUserEnteredData();
+				decodingData.symbolFiles = parameterFilesPage.getSymbolFiles();
+				decodingData.mapFilesFolder = parameterFilesPage.getMapFilesFolder();
+				decodingData.mapFilesZip = parameterFilesPage.getMapFilesZip();
+				decodingData.imageFiles = parameterFilesPage.getImageFiles();
+			}
+			
+			decodingData.errorLibrary = errorLibrary;
+			
+			engine.setDecodingData(decodingData);
+			
+		// not full import is the case when files are Re-Decoded via MainView
+		} else {
+			DecodingData decodingData = new DecodingData();
+			decodingData.importingFiles = false;
+
+			// save 3rd page
+			parameterFilesPage.saveUserEnteredData();
+			decodingData.symbolFiles = parameterFilesPage.getSymbolFiles();
+			decodingData.mapFilesFolder = parameterFilesPage.getMapFilesFolder();
+			decodingData.mapFilesZip = parameterFilesPage.getMapFilesZip();
+			decodingData.imageFiles = parameterFilesPage.getImageFiles();
+			
+			decodingData.errorLibrary = errorLibrary;
+			
+			engine.setDecodingData(decodingData);
+		}
+
+		MainView mainView = MainView.showAndReturnYourself();
+		if (mainView != null) {
+			mainView.startDecoding(engine);
+		}
+
+		return true;
+	}
+	
+	public boolean canFinish()
+	{
+		if (this.getContainer().getCurrentPage() == filesSelectionPage) {
+			return filesSelectionPage.canFinish();
+		} else if (this.getContainer().getCurrentPage() == parameterFilesPage) {
+			return parameterFilesPage.canFinish();
+		} else {
+			return false;
+		}
+	}
+	
+	public IWizardPage getNextPage(IWizardPage page) {
+		// We are moving from 1st page to 2nd page.
+		// We need to run CrashAnalyser.exe to get summary data for crash files
+		if(page.equals(crashFileOrFolderSelectionPage)){
+			returnPage = null;
+			userProvidedCrashFileOrFolder = crashFileOrFolderSelectionPage.getSelectedFileOrFolder();
+			crashAnalyserExeExecutionSuccess = false;
+			try {
+				getContainer().run(true, false, new IRunnableWithProgress() {
+					public void run(IProgressMonitor monitor) {
+						errorMessage = "";
+						// run CrashAnalyser.exe for summary information for selected file(s).
+						if (readCrashFileFromDevice && fileProvider != null) {
+							errorMessage = fileProvider.executeFunctionality(DecoderEngine.getTemporaryCrashFileFolder(true));
+							userProvidedCrashFileOrFolder = DecoderEngine.getTemporaryCrashFileFolder(false);
+						}
+						crashAnalyserExeExecutionSuccess = 
+							engine.processSummaryInfoForFiles(userProvidedCrashFileOrFolder, errorLibrary, monitor);
+					}
+				}
+				);
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+			
+			// CrashAnalyser.exe execution was successful -> return next wizard page
+			if (crashAnalyserExeExecutionSuccess) {
+				crashFileOrFolderSelectionPage.errorInProcessingNextPress(false);
+				filesSelectionPage.loadTable();
+				returnPage = filesSelectionPage;
+			// CrashAnalyser.exe execution was unsuccessful, don't proceed to next 
+			// wizard page -> return current page
+			} else {
+				if (readCrashFileFromDevice) {
+					if ("".equals(errorMessage)) {
+						showMessage("The device did not contain any crash files");
+					} else {
+						showMessage("Could not read crash files. Please check PC Suite connection.\n\nError:\n" + errorMessage);
+					}
+				} else {
+					crashFileOrFolderSelectionPage.errorInProcessingNextPress(true);
+				}
+				returnPage = crashFileOrFolderSelectionPage;
+				filesSelectionPage.showOnlyTheseFiles(null);
+			}			
+
+			readCrashFileFromDevice = false;
+			
+			return returnPage;
+		}
+		// We are moving from 2nd page to 3rd/4th page.
+		else if (page.equals(filesSelectionPage)) {
+			// only (already "decoded") output.crashxml files have been selected in 2nd page.
+			// Skip parameterFiles page and go to additionalSettingsPage, because we don't have
+			// to query for symbols etc. because there is nothing to decode.
+			return parameterFilesPage;
+		}
+
+		return null;
+	}
+	
+	/**
+	 * Shows a message box with given message
+	 * @param message
+	 */
+	private void showMessage(String message) {
+		MessageDialog.openInformation(
+			getShell(),
+			"Crash Analyser",
+			message);
+	}
+	
+	@Override
+	public boolean performCancel() {
+		DecoderEngine.getTemporaryCrashFileFolder(true);
+		return super.performCancel();
+	}
+
+	/**
+	 * Tries to find plugins which are File Providers. Selectes the first found
+	 * File provider plugin.
+	 */
+	void readFileProvider() {
+		try {
+			IExtensionRegistry er = Platform.getExtensionRegistry();
+			IExtensionPoint ep = 
+				er.getExtensionPoint(CrashAnalyserPlugin.PLUGIN_ID, EXTENSION_FILE_PROVIDER);
+			IExtension[] extensions = ep.getExtensions();
+			
+			// if plug-ins were found.
+			if (extensions != null && extensions.length > 0) {
+				
+				// read all found trace providers
+				for (int i = 0; i < extensions.length; i++) {
+					IConfigurationElement[] ce = extensions[i].getConfigurationElements();
+					if (ce != null && ce.length > 0) {
+						try {
+							ICrashFileProvider provider = (ICrashFileProvider)ce[0].createExecutableExtension("class");
+							// we support only one trace provider
+							if (provider != null) {
+								fileProvider = provider;
+								break;
+							}
+						} catch (Exception e) {
+							e.printStackTrace();
+						}
+					}
+				}
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/wizards/FileOrPathSelectionPage.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,412 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.wizards;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.DirectoryDialog;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.DropTarget;
+import org.eclipse.swt.dnd.DropTargetEvent;
+import org.eclipse.swt.dnd.DropTargetListener;
+import org.eclipse.swt.dnd.FileTransfer;
+import org.eclipse.swt.dnd.Transfer;
+import org.eclipse.swt.events.*;
+import org.eclipse.ui.PlatformUI;
+import com.nokia.s60tools.ui.wizards.S60ToolsWizardPage;
+import com.nokia.s60tools.crashanalyser.export.ICrashFileProvider;
+import com.nokia.s60tools.crashanalyser.files.CrashAnalyserFile;
+import com.nokia.s60tools.crashanalyser.model.*;
+import com.nokia.s60tools.crashanalyser.resources.*;
+import com.nokia.s60tools.crashanalyser.data.*;
+import java.io.*;
+
+/**
+ * This 1st Wizard page queries the user for a crash file or folder from which Crash 
+ * files are found. 
+ *
+ */
+public class FileOrPathSelectionPage extends S60ToolsWizardPage implements SelectionListener,
+																			ModifyListener,
+																			DropTargetListener {
+
+	Combo comboFileOrPath;
+	Button buttonBrowseFolder;
+	Button buttonBrowseFile;
+	Button buttonReadFilesFromDevice;
+	Label labelComboTitle;
+	Label labelOr;
+	DecoderEngine engine;
+	ErrorLibrary errorLibrary;
+	String providedFileOrFolder;
+	CrashAnalyserWizard parentWizard;
+	ICrashFileProvider fileProvider = null;
+	
+	/**
+	 * Constructor
+	 * @param decEng decoder engine 
+	 * @param library error library
+	 */
+	public FileOrPathSelectionPage(DecoderEngine decEng, 
+									ErrorLibrary library,
+									String prefilledFileOrFolder,
+									CrashAnalyserWizard parent,
+									ICrashFileProvider crashFileProvider) {
+		super("");
+			
+		setTitle("Crash Files Selection");
+			
+		setDescription("MobileCrash File (*.bin), D_EXC File (*.txt), Decoded File (*.crashxml), ELF Core Dump File (*.elf)");
+		
+		engine = decEng;
+		errorLibrary = library;
+		providedFileOrFolder = prefilledFileOrFolder;
+		parentWizard = parent;
+		fileProvider = crashFileProvider;
+
+		// User cannot finish the page before some valid 
+		// selection is made.
+		setPageComplete(false);
+		
+	 }
+	
+	
+	@Override
+	public void recalculateButtonStates() {
+		// no implementation needed
+	}
+
+	@Override
+	public void setInitialFocus() {
+		comboFileOrPath.setFocus();
+	}
+	
+
+	/**
+	 * Creates all UI controls
+	 */
+	public void createControl(Composite parent) {
+		Composite composite =  new Composite(parent, SWT.NULL);
+		
+	    // create the desired layout for this wizard page
+		GridLayout gl = new GridLayout();
+		gl.numColumns = 3;
+		composite.setLayout(gl);
+		
+		GridData titleGD = new GridData(GridData.FILL_HORIZONTAL);
+		titleGD.horizontalSpan = 3;
+
+		// Combo title
+		labelComboTitle = new Label(composite, SWT.LEFT);
+		labelComboTitle.setText("A Crash File or a Folder Containing Crash Files:");
+		titleGD.horizontalSpan = 3;
+		labelComboTitle.setLayoutData(titleGD);
+		
+		// MobileCrash path combo
+		comboFileOrPath = new Combo(composite, SWT.BORDER);
+		GridData comboGD = new GridData(GridData.FILL_HORIZONTAL);
+		comboFileOrPath.setLayoutData(comboGD);
+		comboFileOrPath.addModifyListener(this);
+		
+
+		// Restore previous values to MobileCrash path combo
+		UserEnteredData data = new UserEnteredData();
+		String[] lastUsed = data.getPreviousValues(UserEnteredData.ValueTypes.CRASH_FILE_OR_PATH);
+		if (lastUsed != null) {
+			comboFileOrPath.setItems(lastUsed);
+			comboFileOrPath.select(0);
+		}
+		
+		// Browse folder button
+		buttonBrowseFolder = new Button(composite, SWT.PUSH);
+		buttonBrowseFolder.setText("Folder...");
+		buttonBrowseFolder.addSelectionListener(this);
+
+		// Browse file button
+		buttonBrowseFile = new Button(composite, SWT.PUSH);
+		buttonBrowseFile.setText("File...");
+		buttonBrowseFile.addSelectionListener(this);
+		
+		// OR label
+		labelOr = new Label(composite, SWT.LEFT);
+		labelOr.setText("OR");
+		labelOr.setLayoutData(titleGD);
+		if (fileProvider == null)
+			labelOr.setVisible(false);
+		
+		// Read Files from Device button
+		buttonReadFilesFromDevice = new Button(composite, SWT.PUSH);
+		if (fileProvider == null) {
+			buttonReadFilesFromDevice.setVisible(false);
+		} else {
+			buttonReadFilesFromDevice.setText(fileProvider.getFunctionalityName());
+			buttonReadFilesFromDevice.setToolTipText(fileProvider.getFunctionalityDescription());
+		}
+		buttonReadFilesFromDevice.addSelectionListener(this);
+		
+		setHelps();
+
+		setInitialFocus();
+		
+		setControl(composite);
+		
+		if (!"".equals(providedFileOrFolder)) {
+			comboFileOrPath.setText(providedFileOrFolder);
+		}
+		
+		Transfer[] types = new Transfer[] { FileTransfer.getInstance() };
+	    DropTarget dropTarget = new DropTarget(composite, DND.DROP_COPY);
+	    dropTarget.setTransfer(types);
+	    dropTarget.addDropListener(this);		
+	}
+	
+	
+	public void widgetDefaultSelected(SelectionEvent e)	{
+		// no implementation needed
+	}
+	
+	public void widgetSelected(SelectionEvent e) {
+		
+		// browse directory button
+		if (e.widget == buttonBrowseFolder) {
+			// open directory dialog for selecting directory which contains crash files
+			DirectoryDialog dialog = new DirectoryDialog(this.getShell());
+			dialog.setText("Select crash files path");
+			String result = dialog.open();
+			comboFileOrPath.setText(result);
+			
+		// browse file button
+		} else if (e.widget == buttonBrowseFile){
+			// open file dialog for selecting a crash file
+			FileDialog dialog = new FileDialog(this.getShell());
+			dialog.setText("Select a crash file");
+			String[] filterExt = { "*."+CrashAnalyserFile.MOBILECRASH_FILE_EXTENSION, 
+									"*."+CrashAnalyserFile.OUTPUT_FILE_EXTENSION,
+									"*."+CrashAnalyserFile.D_EXC_FILE_EXTENSION,
+									"*."+CrashAnalyserFile.ELF_CORE_DUMP_FILE_EXTENSION};
+	        dialog.setFilterExtensions(filterExt);			
+			String result = dialog.open();
+			comboFileOrPath.setText(result);
+			
+		// Read Files from Device button
+		} else if (e.widget == buttonReadFilesFromDevice) {
+			parentWizard.moveToSecondPageRequest(true);
+		}
+	}
+	
+	public void modifyText(ModifyEvent event) {
+		if(event.widget.equals(comboFileOrPath)){
+			try {
+				getWizard().getContainer().updateButtons();
+			} catch (Exception e) {
+			}
+		}
+	}
+	
+	/**
+	 * Checks if user has selected a valid directory or file
+	 */
+	public boolean canFlipToNextPage() {
+		try {
+			// nothing is selected
+			if (comboFileOrPath.getText().length() <= 0) {
+				this.setErrorMessage(null);
+				return false;
+			}
+			
+			File file = new File(comboFileOrPath.getText());
+			
+			// user has selected a directory
+			if (file.isDirectory() && file.exists()) {
+				// if selected path has crash files, we can proceed to next page
+				if (engine.isPathValid(comboFileOrPath.getText(), DecoderEngine.PathTypes.CRASH)) {
+					this.setErrorMessage(null);
+					return true;
+				}
+				// selected path does not contain crash files, show error
+				else {
+					this.setErrorMessage("Selected path does not contain any crash files");
+					return false;
+				}
+			// user has selected a single file
+			} else if (file.isFile() && file.exists()) {
+				// file seems to be a known crash file type
+				if (DecoderEngine.isFileValidCrashFile(file)) {
+					this.setErrorMessage(null);
+					return true;
+				// file type is not a crash file
+				} else {
+					this.setErrorMessage("Invalid file");
+					return false;
+				}
+			// user has not selected a folder nor a file
+			} else {
+				this.setErrorMessage("Invalid file or folder.");
+				return false;
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+			return false;
+		}
+	}	
+	
+	/**
+	 * Returns the user provided crash file directory if it is a directory
+	 * @return the user provided crash file directory if it is a directory, otherwise ""
+	 */
+	public String getSelectedFolder() {
+		if (comboFileOrPath.getText().length() <= 0) {
+			return "";
+		}
+		
+		File file = new File(comboFileOrPath.getText());
+		
+		// user has selected a directory
+		if (file.isDirectory() && file.exists()) {
+			return comboFileOrPath.getText();
+		}
+		
+		return "";
+	}
+	
+	/**
+	 * Returns the user provided crash file or crash file directory
+	 * @return the user provided crash file or crash file directory
+	 */
+	public String getSelectedFileOrFolder() {
+		return comboFileOrPath.getText();
+	}
+	
+	/**
+	 * When next press has been processed, this should be called to inform
+	 * if any errors were found during next press processing
+	 * @param error
+	 */
+	public void errorInProcessingNextPress(boolean error) {
+		if (error)
+			this.setErrorMessage("Could not read files");
+		else
+			this.setErrorMessage(null);
+	}
+	
+	/**
+	 * Saves current combo value so that it will be the default value
+	 * next time this wizard is shown.
+	 */
+	public void saveUserEnteredData() {
+		UserEnteredData userData = new UserEnteredData();
+		userData.saveValue(UserEnteredData.ValueTypes.CRASH_FILE_OR_PATH, comboFileOrPath.getText());			
+	}
+	
+	/**
+	 * Sets this page's context sensitive helps
+	 *
+	 */
+	protected void setHelps() {
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(comboFileOrPath,
+				HelpContextIDs.CRASH_ANALYSER_HELP_IMPORT_CRASH_FILES);
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(buttonBrowseFolder,
+				HelpContextIDs.CRASH_ANALYSER_HELP_IMPORT_CRASH_FILES);		
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(buttonBrowseFile,
+				HelpContextIDs.CRASH_ANALYSER_HELP_IMPORT_CRASH_FILES);		
+	}
+	
+	/**
+	 * Executes drop functionality when files are drag&dropped to wizard page.
+	 * Checks whether dropped files are supported and starts "presses next automatically"
+	 * @param files drag&dropped files (paths)
+	 */
+	void executeDrop(String[] files) {
+		// just one (supported) file dropped
+		if (files.length == 1 && DecoderEngine.isFileValidCrashFile(files[0])) {
+			comboFileOrPath.setText(files[0]);
+			parentWizard.moveToSecondPageRequest(files);
+		// multiple files dropped
+		} else if (files.length > 1) {
+			String path = "";
+			// go through all dropped files, and check that they are from same folder
+			// (wizard doesn't know how to handle multiple files from multiple locations)
+			for (int i = 0; i < files.length; i++) {
+				if (DecoderEngine.isFileValidCrashFile(files[i])) {
+					if ("".equals(path)) {
+						path = FileOperations.getFolder(files[i]);
+					} else if (!FileOperations.getFolder(files[i]).equalsIgnoreCase(path)){
+						showMessage("Multiple files from different folders are not supported");
+						break;
+					}
+				} else {
+					showMessage("Unsupported file type");
+					break;
+				}
+			}
+			comboFileOrPath.setText(path);
+			parentWizard.moveToSecondPageRequest(files);
+		} else {
+			showMessage("Unsupported file type");
+		}
+	}
+	
+	/**
+	 * Shows a message box with given message
+	 * @param message
+	 */
+	private void showMessage(String message) {
+		MessageDialog.openInformation(
+			comboFileOrPath.getShell(),
+			"Crash Analyser",
+			message);
+	}
+	
+	public void dragEnter(DropTargetEvent event) {
+		event.detail = DND.DROP_COPY;
+	}
+
+	public void dragLeave(DropTargetEvent event) {
+		// nothing to be done
+	}
+
+	public void dragOperationChanged(DropTargetEvent event) {
+		// nothing to be done
+	}
+
+	public void dragOver(DropTargetEvent event) {
+		event.feedback = DND.FEEDBACK_NONE;
+	}
+
+	public void drop(DropTargetEvent event) {
+		// we accept only file drops
+		if (FileTransfer.getInstance().isSupportedType(event.currentDataType)) {
+			if (event.data != null) {
+				String[] files = (String[])event.data;
+				executeDrop(files);
+			}
+		}
+	}
+
+	public void dropAccept(DropTargetEvent event) {
+		// nothing to be done
+	}
+	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/wizards/FilesSelectionPage.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,563 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.wizards;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.TableItem;
+import org.eclipse.swt.browser.*;
+import org.eclipse.swt.events.*;
+import org.eclipse.ui.PlatformUI;
+import com.nokia.s60tools.ui.wizards.S60ToolsWizardPage;
+import com.nokia.s60tools.crashanalyser.model.*;
+import com.nokia.s60tools.crashanalyser.resources.HelpContextIDs;
+import com.nokia.s60tools.crashanalyser.files.*;
+import java.util.*;
+import java.text.Collator;
+import java.util.Locale;
+import java.text.DateFormat;
+import java.util.Date;
+
+/**
+ * This is the 2nd page in the wizard. This page contains a table from which
+ * user selects the crash files he/she wants to import.
+ */
+public class FilesSelectionPage extends S60ToolsWizardPage implements SelectionListener{
+
+	Button buttonSelectDeselect;
+	Table tableFiles;
+	TableColumn tableColumnCreated;
+	TableColumn tableColumnType;
+	TableColumn tableColumnRomId;
+	TableColumn tableColumnFile;
+	Label labelFileInfoTitle;
+	Browser browserFileInfo;
+	DecoderEngine engine;
+	Composite composite;
+	List<CrashFileBundle> files = null;
+	String[] filesToBeShown = null;
+	public boolean romIdsMatch = true;
+	static final int TABLE_COLUMN_CREATED = 0;
+	static final int TABLE_COLUMN_TYPE = 1;
+	static final int TABLE_COLUMN_ROMID = 2;
+	static final int TABLE_COLUMN_FILE = 3;
+	static final int TABLE_COLUMN_COUNT = 4;
+	
+	/**
+	 * Constructor
+	 * @param decEng decoder engine
+	 */
+	public FilesSelectionPage(DecoderEngine decEng, String[] showOnlyTheseFiles) {
+		super("");
+			
+		setTitle("Select Files");
+			
+		setDescription("Select crash files to be imported.");
+
+		// User cannot finish the page before some valid 
+		// selection is made.
+		setPageComplete(false);
+		engine = decEng;
+		filesToBeShown = showOnlyTheseFiles;
+	}
+
+	public void showOnlyTheseFiles(String[] files) {
+		filesToBeShown = files;
+	}
+	
+	@Override
+	public void recalculateButtonStates() {
+		// no implementation needed
+	}
+
+	@Override
+	public void setInitialFocus() {
+		tableFiles.setFocus();
+	}
+
+	/**
+	 * Creates all UI controls
+	 */
+	public void createControl(Composite parent) {
+		composite =  new Composite(parent, SWT.NULL);
+		
+	    // create the desired layout for this wizard page
+		GridLayout gl = new GridLayout();
+		gl.numColumns = 1;
+		composite.setLayout(gl);
+
+		// Table
+		tableFiles = new Table(composite, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK | SWT.V_SCROLL | SWT.H_SCROLL);
+		tableFiles.setLinesVisible (true);
+		tableFiles.setHeaderVisible (true);
+		
+		// Created column
+		tableColumnCreated = new TableColumn (tableFiles, SWT.NONE);
+		tableColumnCreated.setText("Created");
+		tableColumnCreated.addSelectionListener(this);
+		
+		// Type column
+		tableColumnType = new TableColumn (tableFiles, SWT.NONE);
+		tableColumnType.setText("Type");
+		tableColumnType.addSelectionListener(this);
+
+		// ROM ID column
+		tableColumnRomId = new TableColumn (tableFiles, SWT.NONE);
+		tableColumnRomId.setText("ROM ID");
+		tableColumnRomId.addSelectionListener(this);
+
+		// File column
+		tableColumnFile = new TableColumn (tableFiles, SWT.NONE);
+		tableColumnFile.setText("File");
+		tableColumnFile.addSelectionListener(this);
+		
+		autoSizeTableColumns();
+		
+		GridData treeGD = new GridData(GridData.FILL_BOTH);
+		tableFiles.setLayoutData(treeGD);		
+		tableFiles.addSelectionListener(this);
+		
+		// Select/Deselect button
+		buttonSelectDeselect = new Button(composite, SWT.PUSH);
+		buttonSelectDeselect.setText("Select/Unselect");
+		buttonSelectDeselect.addSelectionListener(this);
+
+		// File info title
+		labelFileInfoTitle = new Label(composite, SWT.LEFT);
+		labelFileInfoTitle.setText("File Info");
+		
+		// File info
+		browserFileInfo = new Browser(composite, SWT.BORDER);
+		GridData textGD = new GridData(GridData.FILL_HORIZONTAL);
+		textGD.heightHint = 150;
+		browserFileInfo.setLayoutData(textGD);
+		browserFileInfo.setText("");
+		
+		setHelps();
+		
+		setInitialFocus();
+		
+		setControl(composite);		
+		
+		updateButtons();
+	}
+	
+	/**
+	 * Autos sizes all table columns
+	 */
+	void autoSizeTableColumns() {
+		for (int i = 0; i < TABLE_COLUMN_COUNT; i++) {
+			tableFiles.getColumn(i).pack();
+		}		
+	}
+	
+	/**
+	 * Loads the table with files given by decoder engine
+	 */
+	public void loadTable() {
+		tableFiles.removeAll();
+		files = engine.getCrashFiles();
+		if (files == null || files.size() < 1) {
+			setErrorMessage("No crash files found.");
+		} else {
+			for (int i = 0; i < files.size(); i++) {
+				CrashFileBundle file = files.get(i);
+				String fileType = "";
+				String fileName = "";
+				// summary xml file
+				if (file.isPartiallyDecoded()) {
+					SummaryFile summaryFile = file.getSummaryFile();
+					fileType = summaryFile.getSourceFileType();
+					fileName = summaryFile.getSourceFileName();
+				// .crashxml file
+				} else {
+					CrashFile crashfile = file.getCrashFile();
+					fileType = crashfile.getSourceFileType();
+					fileName = crashfile.getFileName();
+				}
+				// if user has drag&dropped multiple files, we have scanned the whole
+				// folder, but we should show only the dragged ones
+				if (!shouldCrashFileBeShown(fileName))
+					continue;
+				TableItem item = new TableItem (tableFiles, SWT.NONE);
+				item.setText(0, file.getTime());
+				item.setText(1, fileType);
+				item.setText(2, file.getRomId());
+				item.setText(3, fileName);
+				item.setData(file);
+				item.setChecked(true);
+			}
+			autoSizeTableColumns();
+		}
+		browserFileInfo.setText("");
+		
+		if (tableFiles.getItemCount() > 0) {
+			tableFiles.select(0);
+			showFileInfo();
+		}
+	}
+	
+	/**
+	 * Checks whether given crash file should be shown in table. if user has drag&dropped 
+	 * multiple files, we have scanned the whole folder, but we should show only the dragged ones. 
+	 * @param fileName file to be checked
+	 * @return true if file should be shown, false if not
+	 */
+	boolean shouldCrashFileBeShown(String fileName) {
+		if (filesToBeShown != null && filesToBeShown.length > 0) {
+			for (int i = 0; i < filesToBeShown.length; i++) {
+				if (fileName.equalsIgnoreCase(FileOperations.getFileNameWithExtension(filesToBeShown[i])))
+					return true;
+			}
+			return false;
+
+		} else {
+			return true;
+		}
+	}
+
+	public void widgetDefaultSelected(SelectionEvent e) {
+		// no implementation needed
+	}
+
+	public void widgetSelected(SelectionEvent e) {
+		// Select/Unselect button pressed
+		if (e.widget == buttonSelectDeselect) {
+			TableItem[] items = tableFiles.getItems();
+			if (items != null) {
+				boolean checkAll = true;
+				// check whether items needs to be checked or unchecked
+				for (int i = 0; i < items.length; i++) {
+					if (items[i].getChecked()) {
+						checkAll = false;
+						break;
+					}
+				}
+				
+				// check/uncheck all items
+				for (int i = 0; i < items.length; i++)
+					items[i].setChecked(checkAll);
+			}
+			showFileInfo();
+			updateButtons();
+			
+		// table item selected/checked/unchecked
+		} else if (e.widget == tableFiles) {
+			// item was checked/unchecked
+			if (e.detail == SWT.CHECK) {
+				tableFiles.setSelection((TableItem)e.item);
+				updateButtons();
+			}
+			showFileInfo();
+			
+		// table column presses -> sort
+		} else if (e.widget == tableColumnCreated ) {
+			sortTableByColumn(TABLE_COLUMN_CREATED, tableColumnCreated);
+		} else if (e.widget == tableColumnType) {
+			sortTableByColumn(TABLE_COLUMN_TYPE, tableColumnType);
+		} else if (e.widget == tableColumnRomId) {
+			sortTableByColumn(TABLE_COLUMN_ROMID, tableColumnRomId);
+		} else if (e.widget == tableColumnFile) {
+			sortTableByColumn(TABLE_COLUMN_FILE, tableColumnFile);
+		}
+	}
+	
+	/**
+	 * Sorts table by given column number
+	 * @param column column number
+	 * @param col column item
+	 */
+	void sortTableByColumn(int column, TableColumn col) {
+		TableItem[] items = tableFiles.getItems();
+		Collator collator = Collator.getInstance(Locale.getDefault());
+
+		TableColumn sortColumn = tableFiles.getSortColumn();
+		
+		// column is sorted for the "first time" or column is sorted UP. Sort column DOWN.
+		if (sortColumn == null || !col.equals(sortColumn) || tableFiles.getSortDirection() == SWT.UP) {
+			for (int i = 1; i < items.length; i++) {
+				String value1 = items[i].getText(column);
+				for (int j = 0; j < i; j++) {
+					String value2 = items[j].getText(column);
+					// time compare
+					if (column == TABLE_COLUMN_CREATED) {
+						try {
+							DateFormat date = DateFormat.getInstance();
+							Date d1 = date.parse(value1);
+							Date d2 = date.parse(value2);
+							if (d1 != null && d2 != null && d1.compareTo(d2) < 0) {
+								boolean checked = items[i].getChecked();
+								String[] values = { items[i].getText(0), items[i].getText(1), items[i].getText(2), items[i].getText(3)};
+								items[i].dispose();
+								TableItem item = new TableItem(tableFiles, SWT.NONE, j);
+								item.setText(values);
+								item.setChecked(checked);
+								items = tableFiles.getItems();
+								break;
+							}
+						} catch (Exception e) {
+							e.printStackTrace();
+						}
+					// string compare
+					} else {
+						if (collator.compare(value1, value2) < 0) {
+							boolean checked = items[i].getChecked();
+							String[] values = { items[i].getText(0), items[i].getText(1), items[i].getText(2), items[i].getText(3)};
+							items[i].dispose();
+							TableItem item = new TableItem(tableFiles, SWT.NONE, j);
+							item.setText(values);
+							item.setChecked(checked);
+							items = tableFiles.getItems();
+							break;
+						}
+					}
+				}
+			}
+			tableFiles.setSortColumn(col);
+			tableFiles.setSortDirection(SWT.DOWN);
+		
+		// Reverse rows
+		} else {
+			int index = items.length-1;
+			for (int i = 0; i < items.length-1; i++) {
+				boolean checked = items[index].getChecked();
+				String[] values = { items[index].getText(0), items[index].getText(1), items[index].getText(2), items[index].getText(3)};
+				items[index].dispose();
+				TableItem item = new TableItem(tableFiles, SWT.NONE, i);
+				item.setText(values);
+				item.setChecked(checked);
+				items = tableFiles.getItems();
+			}
+			
+			tableFiles.setSortColumn(col);
+			tableFiles.setSortDirection(SWT.UP);
+		}
+	}
+	
+	/**
+	 * Updates next, finish button states
+	 */
+	void updateButtons() {
+		try {
+			getWizard().getContainer().updateButtons();
+		} catch (Exception E) {
+		}
+	}
+	
+	/**
+	 * Show information about the currently selected file
+	 */
+	void showFileInfo() {
+		int selected = tableFiles.getSelectionIndex();
+		if (selected >= 0) {
+			CrashFileBundle cfb = (CrashFileBundle)tableFiles.getItem(selected).getData();
+			browserFileInfo.setText(HtmlFormatter.formatHtmlStyle(labelFileInfoTitle.getFont(), 
+																	cfb.getDescription(false)));
+		} else {
+			browserFileInfo.setText("");
+		}
+	}
+
+	/**
+	 * Checks whether we can press Next button
+	 */
+	public boolean canFlipToNextPage() {
+		try {
+			// decoder engine contains no files (shouldn't happen)
+			if (files == null || files.size() < 1)
+				return false;
+			
+			TableItem[] items = tableFiles.getItems();
+			// no items in table (shouldn't happen)
+			if (items == null) {
+				return false;
+			// table contains items
+			} else {
+				String romId = "";
+				boolean selectedFiles = false;
+				boolean hasMultipleRomIds = false;
+				// check whether user is trying to import files which 
+				// have different ROM IDs
+				for (int i = 0; i < items.length; i++) {
+					CrashFileBundle file = (CrashFileBundle)items[i].getData();
+					if (!items[i].getChecked() || file == null)
+						continue;
+
+					selectedFiles = true;
+					
+					// ignore ROM ID of .crashxml file
+					if (file.isFullyDecoded())
+						continue;
+					
+					//ignore if file has no rom id
+					if ("".equals(file.getRomId()))
+						continue;
+					
+					if (!"".equals(romId) && !file.getRomId().equalsIgnoreCase(romId)) {
+						hasMultipleRomIds = true;
+					}
+					romId = file.getRomId();
+				}
+				
+				// don't allow to proceed when multiple different ROM ID file are selected
+				if (hasMultipleRomIds) {
+					this.setErrorMessage("ROM IDs of selected files do not match. Please select only files which have same ROM IDs.");
+					return false;
+				} else {
+					this.setErrorMessage(null);
+				}
+				
+				// no checked files
+				if (!selectedFiles)
+					return false;
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+			return false;
+		}
+		return true;
+	}		
+	
+	/**
+	 * Checks whether Finish button can be enabled. Finish button can be
+	 * enabled if user is importing only already decoded files (.crashxml files).
+	 * 
+	 * @return true if Finish button can be enable, false if not
+	 */
+	public boolean canFinish() {
+		try {
+			// if no files in this page (shouldn't happen)
+			if (files == null || files.size() < 1)
+				return false;
+			
+			TableItem[] items = tableFiles.getItems();
+			// if no files in table (shouldn't happen)
+			if (items == null) {
+				return false;
+			} else {
+				boolean hasAnalyzedFiles = false;
+				boolean hasUndecodedFiles = false;
+				// go through all checked files in the table
+				for (int i = 0; i < items.length; i++) {
+					if (!items[i].getChecked())
+						continue;
+					
+					CrashFileBundle file = (CrashFileBundle)items[i].getData();
+					if (file != null) {
+						if (file.isPartiallyDecoded()) {
+							hasUndecodedFiles = true;
+						} else {
+							hasAnalyzedFiles = true;
+						}
+					}
+				}
+				
+				// only .crashxml files are selected, we can show Finish button
+				if (hasAnalyzedFiles && !hasUndecodedFiles)
+					return true;
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return false;
+	}
+	
+	/**
+	 * Checks whether only .crashxml files are selected in the table 
+	 * @return true if only .crashxml files are selected, false if not
+	 */
+	public boolean onlyCrashxmlFilesSelected() {
+		try {
+			// if no files in this page (shouldn't happen)
+			if (files == null || files.size() < 1)
+				return false;
+			
+			TableItem[] items = tableFiles.getItems();
+			// if no files in table (shouldn't happen)
+			if (items == null) {
+				return false;
+			} else {
+				boolean onlyCrashxmlFiles = true;
+				// go through all checked files in the table
+				for (int i = 0; i < items.length; i++) {
+					if (!items[i].getChecked())
+						continue;
+					CrashFileBundle file = (CrashFileBundle)items[i].getData();
+					if (file.isPartiallyDecoded()) {
+						onlyCrashxmlFiles = false;
+						break;
+					}
+				}
+				
+				if (onlyCrashxmlFiles)
+					return true;
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+			return false;
+		}
+		return false;
+	}
+	
+	/**
+	 * Returns indexes of those Crash files which are selected (checked) in the table
+	 * @return indexes of those Crash files which are selected (checked) in the table
+	 */
+	public List<Integer> getFileIndexes() {
+		List<Integer> indexes = new ArrayList<Integer>();
+		
+		TableItem[] items = tableFiles.getItems();
+		// if no files in table (shouldn't happen)
+		if (items == null) {
+			return null;
+		} else {
+			// go through all checked files in the table
+			for (int i = 0; i < items.length; i++) {
+				if (items[i].getChecked())
+					indexes.add(i);
+			}
+		}
+		
+		if (indexes.isEmpty()) {
+			return null;
+		} else {
+			return indexes;
+		}
+	}
+	
+	/**
+	 * Sets this page's context sensitive helps
+	 *
+	 */
+	protected void setHelps() {
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(tableFiles,
+				HelpContextIDs.CRASH_ANALYSER_HELP_IMPORT_CRASH_FILES);
+		
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(browserFileInfo,
+				HelpContextIDs.CRASH_ANALYSER_HELP_IMPORT_CRASH_FILES);		
+
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(buttonSelectDeselect,
+				HelpContextIDs.CRASH_ANALYSER_HELP_IMPORT_CRASH_FILES);		
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/src/com/nokia/s60tools/crashanalyser/ui/wizards/ParameterFilesPage.java	Thu Feb 11 15:06:45 2010 +0200
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.crashanalyser.ui.wizards;
+
+import com.nokia.s60tools.ui.wizards.DebugMetadataWizardPage;
+import com.nokia.s60tools.crashanalyser.model.*;
+import com.nokia.s60tools.crashanalyser.resources.HelpContextIDs;
+import com.nokia.s60tools.sdk.SdkUtils;
+import java.util.HashMap;
+
+/**
+ * This 3rd wizard page will query the user for locations of symbol files,
+ * map files and image files.
+ *
+ */
+public class ParameterFilesPage extends DebugMetadataWizardPage {
+	DecoderEngine engine;
+	boolean decodingWizard;
+	
+	public ParameterFilesPage(DecoderEngine decEng, boolean decodeWizard){
+		super("",
+				"Define Decoding Preferences.",
+				true,
+				UserEnteredData.getParameterFilesSection(),
+				UserEnteredData.MAX_SAVED_VALUES);
+			
+		engine = decEng;
+		decodingWizard = decodeWizard;
+	 }
+	
+	public boolean folderContainsMapFiles(String folder) {
+		return SdkUtils.folderContainsMapFiles(folder);
+	}
+	
+	public boolean zipContainsMapFiles(String path) {
+		return SdkUtils.zipContainsMapFiles(path);
+	}
+
+	public String getHelpContext() {
+		if (decodingWizard)
+			return HelpContextIDs.CRASH_ANALYSER_HELP_DECODE_CRASH_FILES;
+		else
+			return HelpContextIDs.CRASH_ANALYSER_HELP_IMPORT_CRASH_FILES;
+	}
+	
+	public boolean canFinish()  {
+		return canProceed();
+	}
+	
+	public HashMap<String, String> getSdkMapFolders() {
+		return SdkUtils.getSdkMapFileFolders(true);
+	}
+	
+	public boolean canFlipToNextPage() {
+		return false;
+	}
+}