rev 7647 - in branches/kde4/packages/kdepimlibs/debian: . patches

Fathi Boudra fboudra-guest at alioth.debian.org
Thu Oct 25 13:37:24 UTC 2007


Author: fboudra-guest
Date: 2007-10-25 13:37:24 +0000 (Thu, 25 Oct 2007)
New Revision: 7647

Added:
   branches/kde4/packages/kdepimlibs/debian/patches/01_kdepimlibs_branch_r729270.diff
Removed:
   branches/kde4/packages/kdepimlibs/debian/patches/01_kdepimlibs_branch_r726760.diff
Modified:
   branches/kde4/packages/kdepimlibs/debian/changelog
   branches/kde4/packages/kdepimlibs/debian/patches/series
Log:
* svn branch pull to r729270.


Modified: branches/kde4/packages/kdepimlibs/debian/changelog
===================================================================
--- branches/kde4/packages/kdepimlibs/debian/changelog	2007-10-25 13:27:56 UTC (rev 7646)
+++ branches/kde4/packages/kdepimlibs/debian/changelog	2007-10-25 13:37:24 UTC (rev 7647)
@@ -1,11 +1,19 @@
 kdepimlibs (3.94.0-3) experimental; urgency=low
 
+  +++ Changes by Fathi Boudra:
+
+  * svn branch pull to r729270.
+
+  +++ Changes by Armin Berres:
+
   * Build depend on kdelibs5-dev >= 4:3.94.0-2.
 
- -- Armin Berres <trigger+debian at space-based.de>  Sat, 20 Oct 2007 14:19:59 +0200
+ -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Sat, 20 Oct 2007 14:19:59 +0200
 
 kdepimlibs (3.94.0-2) experimental; urgency=low
 
+  +++ Changes by Fathi Boudra:
+
   * svn branch pull to r726760.
 
   +++ Changes by Armin Berres:

Deleted: branches/kde4/packages/kdepimlibs/debian/patches/01_kdepimlibs_branch_r726760.diff

Added: branches/kde4/packages/kdepimlibs/debian/patches/01_kdepimlibs_branch_r729270.diff
===================================================================
--- branches/kde4/packages/kdepimlibs/debian/patches/01_kdepimlibs_branch_r729270.diff	                        (rev 0)
+++ branches/kde4/packages/kdepimlibs/debian/patches/01_kdepimlibs_branch_r729270.diff	2007-10-25 13:37:24 UTC (rev 7647)
@@ -0,0 +1,8104 @@
+--- a/kxmlrpcclient/CMakeLists.txt
++++ b/kxmlrpcclient/CMakeLists.txt
+@@ -13,7 +13,11 @@
+ target_link_libraries(kxmlrpcclient ${KDE4_KIO_LIBS})
+ 
+ set_target_properties(kxmlrpcclient PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+-install(TARGETS kxmlrpcclient  DESTINATION ${LIB_INSTALL_DIR} )
++install(TARGETS kxmlrpcclient  
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+ 
+ ########### install files ###############
+ 
+--- a/qgpgme/eventloopinteractor_win.cpp
++++ b/qgpgme/eventloopinteractor_win.cpp
+@@ -55,20 +55,40 @@
+         ok = false;
+         return 0;
+     }
+-    iod->bytesAvailable(); //HACK: tell KDPipeIODevices to start it's threads
+     if ( dir == Read ) {
+         static QSignalMapper * rsm = setupReadSignalMapper( this );
+-        rsm->setMapping( iod, fd );
+-        connect( iod, SIGNAL(readyRead()), rsm, SLOT(map()) );
++	if ( !rsm->mapping( fd ) ) {
++            rsm->setMapping( iod, fd );
++            connect( iod, SIGNAL(readyRead()), rsm, SLOT(map()) );
++	} else {
++            // if this fd is already registered, gpgme registers an additional
++            // callback for the same fd.
++            // if there is already something to read when registering the new 
++	    // callback, gpgme expects the new callback to be called, so we
++            // trigger it"
++            QMetaObject::invokeMethod( this, "slotReadActivity", Qt::QueuedConnection, Q_ARG( int, fd ) );
++        }
+     } else {
+         static QSignalMapper * wsm = setupWriteSignalMapper( this );
+-        wsm->setMapping( iod, fd );
+-        connect( iod, SIGNAL(bytesWritten(qint64)), wsm, SLOT(map()) );
++	if ( !wsm->mapping( fd ) ) {
++            wsm->setMapping( iod, fd );
++            connect( iod, SIGNAL(bytesWritten(qint64)), wsm, SLOT(map()) );
++	} else {
++            // if this fd is already registered, gpgme registers an additional 
++            // callback for the same fd.
++            // if the device is writable when registering the new 
++	    // callback, gpgme expects the new callback to be called, so we
++            // trigger it:
++            QMetaObject::invokeMethod( this, "slotWriteActivity", Qt::QueuedConnection, Q_ARG( int, fd ) );            
++	}
+     }
++
+     ok = true;
+     IO * const io = new IO;
+     io->device = iod;
+     io->direction = dir;
++    iod->bytesAvailable(); //HACK: tell KDPipeIODevices to start their threads
++    iod->bytesToWrite();
+     return io;
+ }
+ 
+--- a/qgpgme/CMakeLists.txt
++++ b/qgpgme/CMakeLists.txt
+@@ -46,7 +46,11 @@
+      SOVERSION 1.0.0
+    )
+ 
+-   install( TARGETS qgpgme  DESTINATION ${LIB_INSTALL_DIR} )
++   install( TARGETS qgpgme  
++     RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++     LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++     ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++   )
+ 
+    install( FILES qgpgme_export.h eventloopinteractor.h dataprovider.h DESTINATION ${INCLUDE_INSTALL_DIR}/qgpgme )
+ 
+--- a/kpimutils/linklocator.cpp
++++ b/kpimutils/linklocator.cpp
+@@ -432,9 +432,13 @@
+   } else {
+     const QString imageName = (*s_smileyEmoticonNameMap)[smiley];
+ 
++    QString emotIconTheme = EmotIcons::theme();
++    if (emotIconTheme == "Default")
++        emotIconTheme = "kde4";
++
+     const QString iconPath =
+       KStandardDirs::locate( "emoticons",
+-                             EmotIcons::theme() +
++                             emotIconTheme +
+                              QString::fromLatin1( "/" ) +
+                              imageName + QString::fromLatin1( ".png" ) );
+ 
+--- a/kpimutils/CMakeLists.txt
++++ b/kpimutils/CMakeLists.txt
+@@ -13,7 +13,11 @@
+ target_link_libraries(kpimutils ${KDE4_KDEUI_LIBS})
+ 
+ set_target_properties(kpimutils PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+-install(TARGETS kpimutils  DESTINATION ${LIB_INSTALL_DIR} )
++install(TARGETS kpimutils  
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+ 
+ ########### install files ###############
+ 
+--- a/kpimidentities/signature.cpp
++++ b/kpimidentities/signature.cpp
+@@ -189,10 +189,10 @@
+     mType = Inlined;
+   } else if ( sigType == sigTypeFileValue ) {
+     mType = FromFile;
+-    mUrl = config.readPathEntry( sigFileKey );
++    mUrl = config.readPathEntry( sigFileKey, QString() );
+   } else if ( sigType == sigTypeCommandValue ) {
+     mType = FromCommand;
+-    mUrl = config.readPathEntry( sigCommandKey );
++    mUrl = config.readPathEntry( sigCommandKey, QString() );
+   } else {
+     mType = Disabled;
+   }
+--- a/kpimidentities/CMakeLists.txt
++++ b/kpimidentities/CMakeLists.txt
+@@ -10,7 +10,11 @@
+ target_link_libraries(kpimidentities ${QT_AND_KDECORE_LIBS}  kpimutils ${KDE4_KIO_LIBS})
+ 
+ set_target_properties(kpimidentities PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+-install(TARGETS kpimidentities  DESTINATION ${LIB_INSTALL_DIR})
++install(TARGETS kpimidentities  
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+ 
+ install(FILES org.kde.pim.IdentityManager.xml DESTINATION ${DBUS_INTERFACES_INSTALL_DIR})
+ install(FILES
+--- a/syndication/tests/CMakeLists.txt
++++ b/syndication/tests/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
+-include_directories( ${CMAKE_SOURCE_DIR}/syndication/ ${Boost_INCLUDE_DIR} )
++include_directories( ../ ${Boost_INCLUDE_DIR} )
+ 
+ 
+ ########### next target ###############
+--- a/syndication/CMakeLists.txt
++++ b/syndication/CMakeLists.txt
+@@ -12,78 +12,78 @@
+ ########### next target ###############
+ 
+ set(librss2local_SRCS 
+-	${CMAKE_SOURCE_DIR}/syndication/rss2/category.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rss2/cloud.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rss2/document.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rss2/enclosure.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rss2/image.cpp
+-	${CMAKE_SOURCE_DIR}/syndication/rss2/item.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rss2/parser.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rss2/source.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rss2/textinput.cpp
+-	${CMAKE_SOURCE_DIR}/syndication/rss2/tools_p.cpp
++	./rss2/category.cpp 
++	./rss2/cloud.cpp 
++	./rss2/document.cpp 
++	./rss2/enclosure.cpp 
++	./rss2/image.cpp
++	./rss2/item.cpp 
++	./rss2/parser.cpp 
++	./rss2/source.cpp 
++	./rss2/textinput.cpp
++	./rss2/tools_p.cpp
+ 	)
+ 
+ 
+ set(librdflocal_la_SRCS
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/parser.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/dublincorevocab.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/dublincore.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/syndicationvocab.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/syndicationinfo.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/contentvocab.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/item.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/image.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/textinput.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/document.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/rssvocab.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/node.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/property.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/literal.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/resource.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/model.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/modelmaker.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/rdfvocab.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/sequence.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/statement.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/resourcewrapper.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/rdf/nodevisitor.cpp
++	./rdf/parser.cpp 
++	./rdf/dublincorevocab.cpp 
++	./rdf/dublincore.cpp 
++	./rdf/syndicationvocab.cpp 
++	./rdf/syndicationinfo.cpp 
++	./rdf/contentvocab.cpp 
++	./rdf/item.cpp 
++	./rdf/image.cpp 
++	./rdf/textinput.cpp 
++	./rdf/document.cpp 
++	./rdf/rssvocab.cpp 
++	./rdf/node.cpp 
++	./rdf/property.cpp 
++	./rdf/literal.cpp 
++	./rdf/resource.cpp 
++	./rdf/model.cpp 
++	./rdf/modelmaker.cpp 
++	./rdf/rdfvocab.cpp 
++	./rdf/sequence.cpp 
++	./rdf/statement.cpp 
++	./rdf/resourcewrapper.cpp 
++	./rdf/nodevisitor.cpp
+ )
+ 
+ set(libatomlocal_SRCS 
+-	${CMAKE_SOURCE_DIR}/syndication/atom/category.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/atom/constants.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/atom/content.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/atom/document.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/atom/entry.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/atom/generator.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/atom/link.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/atom/parser.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/atom/person.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/atom/source.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/atom/atomtools.cpp 
++	./atom/category.cpp 
++	./atom/constants.cpp 
++	./atom/content.cpp 
++	./atom/document.cpp 
++	./atom/entry.cpp 
++	./atom/generator.cpp 
++	./atom/link.cpp 
++	./atom/parser.cpp 
++	./atom/person.cpp 
++	./atom/source.cpp 
++	./atom/atomtools.cpp 
+ )
+ 
+ 
+ set(libmapperrss2local_SRCS 
+-	${CMAKE_SOURCE_DIR}/syndication/mapper/feedrss2impl.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/mapper/itemrss2impl.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/mapper/enclosurerss2impl.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/mapper/categoryrss2impl.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/mapper/imagerss2impl.cpp
++	./mapper/feedrss2impl.cpp 
++	./mapper/itemrss2impl.cpp 
++	./mapper/enclosurerss2impl.cpp 
++	./mapper/categoryrss2impl.cpp 
++	./mapper/imagerss2impl.cpp
+ )
+ 
+ set(libmapperrdflocal_SRCS 
+-	${CMAKE_SOURCE_DIR}/syndication/mapper/feedrdfimpl.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/mapper/itemrdfimpl.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/mapper/imagerdfimpl.cpp
++	./mapper/feedrdfimpl.cpp 
++	./mapper/itemrdfimpl.cpp 
++	./mapper/imagerdfimpl.cpp
+ )
+ 
+ set(libmapperatomlocal_SRCS
+-	${CMAKE_SOURCE_DIR}/syndication/mapper/feedatomimpl.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/mapper/itematomimpl.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/mapper/enclosureatomimpl.cpp 
+-	${CMAKE_SOURCE_DIR}/syndication/mapper/categoryatomimpl.cpp
++	./mapper/feedatomimpl.cpp 
++	./mapper/itematomimpl.cpp 
++	./mapper/enclosureatomimpl.cpp 
++	./mapper/categoryatomimpl.cpp
+ )
+ 
+ set(syndication_LIB_SRCS 
+@@ -120,8 +120,11 @@
+ target_link_libraries(syndication  ${KDE4_KIO_LIBS}  )
+ 
+ set_target_properties(syndication PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+-install(TARGETS syndication  DESTINATION ${LIB_INSTALL_DIR})
+-
++install(TARGETS syndication       
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+ 
+ ########### install files ###############
+ 
+--- a/kresources/kresources_manager.desktop
++++ b/kresources/kresources_manager.desktop
+@@ -11,6 +11,7 @@
+ Comment[hu]=Erőforráskezelő
+ Comment[ja]=K リソースマネージャ
+ Comment[lt]=KResouse tvarkyklė
++Comment[nds]=KResource-Pleger
+ Comment[nl]=KResource-beheerder
+ Comment[pa]=ਕੇ-ਰੀਸੋਰਸ ਮੈਨੇਜਰ
+ Comment[pt]=Gestor do KResource
+--- a/kresources/kresources.desktop
++++ b/kresources/kresources.desktop
+@@ -1,6 +1,6 @@
+ [Desktop Entry]
+ Encoding=UTF-8
+-Exec=kcmshell kresources
++Exec=kcmshell4 kresources
+ Icon=date
+ Type=Service
+ ServiceTypes=KCModule
+@@ -11,6 +11,7 @@
+ Name=KDE Resources
+ Name[be]=Рэсурсы KDE
+ Name[ca]=Recursos del KDE
++Name[cs]=Zdroje KDE
+ Name[de]=KDE-Ressourcen
+ Name[el]=Πόροι του KDE
+ Name[es]=Recursos KDE
+@@ -18,6 +19,7 @@
+ Name[hu]=KDE-erőforrások
+ Name[ja]=KDE リソース
+ Name[lt]=KDE resursai
++Name[nds]=KDE Ressourcen
+ Name[nl]=KDE-hulpbronnen
+ Name[pa]=KDE ਸਰੋਤ
+ Name[pt]=Recursos do KDE
+@@ -38,6 +40,7 @@
+ Comment[hu]=A KDE-erőforrások beállítása
+ Comment[ja]=KDE リソースの設定
+ Comment[lt]=Konfigūruoti KDE resursus
++Comment[nds]=KDE Ressourcen instellen
+ Comment[nl]=KDE-hulpbronnen instellen
+ Comment[pt]=Configurar os Recursos do KDE
+ Comment[sv]=Anpassa KDE-resurser
+--- a/kresources/Mainpage.dox
++++ b/kresources/Mainpage.dox
+@@ -56,7 +56,7 @@
+     : Resource( config )
+ {
+   if ( config ) {
+-    mLocation = config->readPathEntry( "Location" );
++    mLocation = config->readPathEntry( "Location", QString() );
+     mPassword = KStringHandler::obscure( config->readEntry( "Password" ) );
+   } else {
+     mLocation = ""; // Or some sensible default
+--- a/kresources/kresources_plugin.desktop
++++ b/kresources/kresources_plugin.desktop
+@@ -5,12 +5,13 @@
+ Comment=KResource Framework Plugin
+ Comment[ca]=Connector del marc de treball pel KResource
+ Comment[de]=Modul für KResource-Framework
+-Comment[el]=Εφαρμογίδιο πλαισίου εργασίας του KResource
++Comment[el]=Μικροεφαρμογή πλαισίου εργασίας του KResource
+ Comment[es]=Extensión de estructura KResource
+ Comment[ga]=Breiseán Creatlaí KResource
+ Comment[hu]=Modul a KResource keretrendszerhez
+ Comment[ja]=K リソース・フレームワーク・プラグイン
+ Comment[lt]=KResource struktūros priedas
++Comment[nds]=Rahmenwark-Moduul för KResource
+ Comment[nl]=KResource-raamwerkplugin
+ Comment[pt]='Plugin' da Plataforma do KResource
+ Comment[sv]=Insticksprogram för resursramverk
+--- a/kresources/CMakeLists.txt
++++ b/kresources/CMakeLists.txt
+@@ -28,8 +28,11 @@
+ target_link_libraries(kresources  ${KDE4_KIO_LIBS} )
+ 
+ set_target_properties(kresources PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+-install(TARGETS kresources  DESTINATION ${LIB_INSTALL_DIR} )
+-
++install(TARGETS kresources  
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+ 
+ ########### next target ###############
+ 
+--- a/kimap/CMakeLists.txt
++++ b/kimap/CMakeLists.txt
+@@ -12,7 +12,11 @@
+ target_link_libraries(kimap ${KDE4_KDECORE_LIBS})
+ 
+ set_target_properties(kimap PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+-install(TARGETS kimap  DESTINATION ${LIB_INSTALL_DIR} )
++install(TARGETS kimap  
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+ 
+ ########### install files ###############
+ 
+--- a/kmime/CMakeLists.txt
++++ b/kmime/CMakeLists.txt
+@@ -35,7 +35,11 @@
+ target_link_libraries(kmime  ${KDE4_KIO_LIBS} )
+ 
+ set_target_properties(kmime PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION})
+-install(TARGETS kmime  DESTINATION ${LIB_INSTALL_DIR})
++install(TARGETS kmime  
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+ 
+ install( FILES
+         boolflags.h
+--- a/kcal/resourcelocaldir.cpp
++++ b/kcal/resourcelocaldir.cpp
+@@ -66,7 +66,7 @@
+ 
+ void ResourceLocalDir::readConfig( const KConfigGroup &group )
+ {
+-  QString url = group.readPathEntry( "CalendarURL" );
++  QString url = group.readPathEntry( "CalendarURL", QString() );
+   d->mURL = KUrl( url );
+ }
+ 
+--- a/kcal/resourcelocal.cpp
++++ b/kcal/resourcelocal.cpp
+@@ -67,7 +67,7 @@
+   : ResourceCached( group ), d( new ResourceLocal::Private() )
+ {
+   d->mLock = 0;
+-  QString url = group.readPathEntry( "CalendarURL" );
++  QString url = group.readPathEntry( "CalendarURL", QString() );
+   d->mURL = KUrl( url );
+ 
+   QString format = group.readEntry( "Format" );
+--- a/kcal/localdir.desktop
++++ b/kcal/localdir.desktop
+@@ -2,6 +2,7 @@
+ Name=Calendar in Local Directory
+ Name[be]=Каляндар у мясцовай тэчцы
+ Name[ca]=Calendari en un directori local
++Name[cs]=Kalendář v místním adresáři
+ Name[de]=Kalender in lokalem Ordner
+ Name[el]=Ημερολόγιο σε τοπικό κατάλογο
+ Name[es]=Calendario en directorio local
+@@ -10,6 +11,7 @@
+ Name[hu]=Naptár helyi könyvtárban
+ Name[ja]=ローカルディレクトリのカレンダー
+ Name[lt]=Kalendorius vietiniame aplanke
++Name[nds]=Kalenner in'n lokalen Orner
+ Name[nl]=Agenda in lokale map
+ Name[pa]=ਲੋਕਲ ਡਾਇਰੈਕਟਰੀ 'ਚ ਕੈਲੰਡਰ
+ Name[pt]=Calendário numa Pasta Local
+--- a/kcal/resourcelocal_plugin.cpp
++++ b/kcal/resourcelocal_plugin.cpp
+@@ -25,10 +25,6 @@
+ 
+ using namespace KCal;
+ 
+-extern "C"
+-{
+-  KDE_EXPORT void *init_kcal_local()
+-  {
+-    return new KRES::PluginFactory<ResourceLocal,ResourceLocalConfig>();
+-  }
+-}
++typedef KRES::PluginFactory<ResourceLocal, ResourceLocalConfig> ResourceLocalFactory;
++
++K_EXPORT_PLUGIN(ResourceLocalFactory)
+--- a/kcal/local.desktop
++++ b/kcal/local.desktop
+@@ -2,6 +2,7 @@
+ Name=Calendar in Local File
+ Name[be]=Каляндар у мясцовым файлу
+ Name[ca]=Calendari en un fitxer local
++Name[cs]=Kalendář v místním souboru
+ Name[de]=Kalender in lokaler Datei
+ Name[el]=Ημερολόγιο σε τοπικό αρχείο
+ Name[es]=Calendario en archivo local
+@@ -9,7 +10,8 @@
+ Name[ga]=Féilire i gComhad Logánta
+ Name[hu]=Helyi naptárfájl
+ Name[ja]=ローカルファイルのカレンダー
+-Name[lt]=Kalendorius vietinėje byloje
++Name[lt]=Kalendorius vietiniame faile
++Name[nds]=Kalenner in en lokale Datei
+ Name[nl]=Agenda in lokaal bestand
+ Name[pa]=ਲੋਕਲ ਫਾਇਲ 'ਚ ਕੈਲੰਡਰ
+ Name[pt]=Calendário num Ficheiro Local
+--- a/kcal/kcal_manager.desktop
++++ b/kcal/kcal_manager.desktop
+@@ -12,7 +12,9 @@
+ Name[hu]=Naptár
+ Name[ja]=カレンダー
+ Name[lt]=Kalendorius
++Name[nds]=Kalenner
+ Name[nl]=Agenda
++Name[oc]=Calendièr
+ Name[pa]=ਕੈਲੰਡਰ
+ Name[pt]=Calendário
+ Name[sv]=Kalender
+--- a/kcal/libical/README.zoneinfo
++++ b/kcal/libical/README.zoneinfo
+@@ -4,9 +4,9 @@
+     from ftp://elsie.nci.nih.gov/pub/ to the tzdata subdir
+ 
+     % cd tzdata
+-    % wget ftp://elsie.nci.nih.gov/pub/tzdata2007g.tar.gz
+-    % cat tzdata2007g.tar.gz | gunzip -c | tar xvf -
+-    % rm tzdata2007g.tar.gz
++    % wget ftp://elsie.nci.nih.gov/pub/tzdata2007h.tar.gz
++    % cat tzdata2007h.tar.gz | gunzip -c | tar xvf -
++    % rm tzdata2007h.tar.gz
+     % cd ..
+ 
+  2. Make sure we have the most recent version of the vzic program
+@@ -30,19 +30,15 @@
+    % make
+    % cd ..
+ 
+- 4. Prepare for to generate the zoneinfo files
+-
+-    % svn mv zoneinfo zoneinfo.bak
+-
+- 5. Do it!
++ 4. Do it!
+ 
+     % cd vzic-1.3
+     % ./vzic --pure --output-dir ../zoneinfo
+ 
+- 6. Cleanup
++ 5. Cleanup
+ 
+     % make clean
+ 
+- 7. Commit new tzdata and vzic, if necessary
++ 6. Commit new tzdata and vzic, if necessary
+ 
+- 8. Commit new zoneinfo and remove zoneinfo.bak
++ 7. Commit new zoneinfo
+--- a/kcal/libical/tzdata/southamerica
++++ b/kcal/libical/tzdata/southamerica
+@@ -1,4 +1,4 @@
+-# @(#)southamerica	8.11
++# @(#)southamerica	8.12
+ # <pre>
+ 
+ # This data is by no means authoritative; if you think you know better,
+@@ -424,6 +424,10 @@
+ # modern Brazilian eletronic voting machines which, apparently, can't deal
+ # with a time change between the first and the second rounds of the elections.
+ 
++# From Steffen Thorsen (2007-09-20):
++# Brazil will start DST on 2007-10-14 00:00 and end on 2008-02-17 00:00:
++# http://www.mme.gov.br/site/news/detail.do;jsessionid=BBA06811AFCAAC28F0285210913513DA?newsId=13975
++
+ # From Paul Eggert (2002-10-10):
+ # The official decrees referenced below are mostly taken from
+ # <a href="http://pcdsh01.on.br/DecHV.html">
+@@ -557,13 +561,18 @@
+ # Decree <a href="http://pcdsh01.on.br/DecHV5539.gif">5,539</a> (2005-09-19),
+ # adopted by the same states as before.
+ Rule	Brazil	2005	only	-	Oct	16	 0:00	1:00	S
+-# Decree <a href="http://www.planalto.gov.br/ccivil_03/_Ato2004-2006/2006/Decreto/D5920.htm">5,920</a>
+-# (2006-10-03), adopted by the same states as before.
+-Rule	Brazil	2006	max	-	Nov	Sun>=1	 0:00	1:00	S
+-Rule	Brazil	2007	max	-	Feb	lastSun	 0:00	0	-
++# Decree <a href="http://pcdsh01.on.br/DecHV5920.gif">5,920</a> (2006-10-03),
++# adopted by the same states as before.
++Rule	Brazil	2006	only	-	Nov	 5	 0:00	1:00	S
++Rule	Brazil	2007	only	-	Feb	25	 0:00	0	-
++# (Decree number not yet known)
++# http://www.brasil.gov.br/noticias/ultimas_noticias/horario_verao070920/
++# (2007-09-20) after a heads-up from Steffen Thorsen:
++Rule	Brazil	2007	max	-	Oct	Sun>=8	 0:00	1:00	S
++Rule	Brazil	2008	max	-	Feb	Sun>=15	 0:00	0	-
+ # The latest ruleset listed above says that the following states observe DST:
+ # DF, ES, GO, MG, MS, MT, PR, RJ, RS, SC, SP.
+-# For dates after mid-2007, the above rules with TO="max" are guesses
++# For dates after mid-2008, the above rules with TO="max" are guesses
+ # and are quite possibly wrong, but are more likely than no DST at all.
+ 
+ 
+@@ -1097,8 +1106,20 @@
+ 			-3:00	Uruguay	UY%sT
+ 
+ # Venezuela
++#
++# From Kiraz Janicke (2007-09-25), in
++# http://www.venezuelanalysis.com/analysis/2645:
++# The proposal ... involves turning the clock back half an hour from
++# +4.00 Greenwich Mean Time (GMT), to +4.30GMT, the time zone
++# Venezuela had until December 31, 1964, when the current time zone
++# was adopted. The change was due to take place on September 17 and
++# then on September 24, but has since been postponed until December
++# 31, to allow for compliance with international organizations, such
++# as the International Office of Weights and Measures.
++
+ # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
+ Zone	America/Caracas	-4:27:44 -	LMT	1890
+ 			-4:27:40 -	CMT	1912 Feb 12 # Caracas Mean Time?
+ 			-4:30	-	VET	1965	     # Venezuela Time
+-			-4:00	-	VET
++			-4:00	-	VET	2008
++			-4:30	-	VET
+--- a/kcal/libical/tzdata/africa
++++ b/kcal/libical/tzdata/africa
+@@ -1,4 +1,4 @@
+-# @(#)africa	8.9
++# @(#)africa	8.10
+ # <pre>
+ 
+ # This data is by no means authoritative; if you think you know better,
+@@ -224,9 +224,19 @@
+ # From Jesper Norgaard Welen (2007-08-15): [The following agree:]
+ # http://www.nentjes.info/Bill/bill5.htm 
+ # http://www.timeanddate.com/worldclock/city.html?n=53
++# From Steffen Thorsen (2007-09-04): The official information...:
++# http://www.sis.gov.eg/En/EgyptOnline/Miscellaneous/000002/0207000000000000001580.htm
++Rule	Egypt	2007	only	-	Sep	Thu>=1	23:00s	0	-
++# From Abdelrahman Hassan (2007-09-06):
++# Due to the Hijri (lunar Islamic calendar) year being 11 days shorter
++# than the year of the Gregorian calendar, Ramadan shifts earlier each
++# year. This year it will be observed September 13 (September is quite
++# hot in Egypt), and the idea is to make fasting easier for workers by
++# shifting business hours one hour out of daytime heat. Consequently,
++# unless discontinued, next DST may end Thursday 28 August 2008.
+ # From Paul Eggert (2007-08-17):
+-# For lack of better info, assume the new rule is first Thursday.
+-Rule	Egypt	2007	max	-	Sep	Thu>=1	23:00s	0	-
++# For lack of better info, assume the new rule is last Thursday in August.
++Rule	Egypt	2008	max	-	Aug	lastThu	23:00s	0	-
+ 
+ # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
+ Zone	Africa/Cairo	2:05:00 -	LMT	1900 Oct
+--- a/kcal/libical/tzdata/asia
++++ b/kcal/libical/tzdata/asia
+@@ -1,4 +1,4 @@
+-# @(#)asia	8.11
++# @(#)asia	8.12
+ # <pre>
+ 
+ # This data is by no means authoritative; if you think you know better,
+@@ -568,14 +568,15 @@
+ # Reingold's/Dershowitz' calculator gives correctly the Gregorian date
+ # 2058-03-21 for 1 Farvardin 1437 (astronomical).
+ #
+-# From Paul Eggert (2006-03-22):
+-# The above comments about post-2006 transitions may become relevant again,
+-# if Iran ever resuscitates DST, so we'll leave the comments in.
+-#
+ # From Steffen Thorsen (2006-03-22):
+ # Several of my users have reported that Iran will not observe DST anymore:
+ # http://www.irna.ir/en/news/view/line-17/0603193812164948.htm
+ #
++# From Reuters (2007-09-16), with a heads-up from Jesper Norgaard Welen:
++# ... the Guardian Council ... approved a law on Sunday to re-introduce
++# daylight saving time ...
++# http://uk.reuters.com/article/oilRpt/idUKBLA65048420070916
++#
+ # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
+ Rule	Iran	1978	1980	-	Mar	21	0:00	1:00	D
+ Rule	Iran	1978	only	-	Oct	21	0:00	0	S
+@@ -596,6 +597,36 @@
+ Rule	Iran	2004	only	-	Sep	21	0:00	0	S
+ Rule	Iran	2005	only	-	Mar	22	0:00	1:00	D
+ Rule	Iran	2005	only	-	Sep	22	0:00	0	S
++Rule	Iran	2008	only	-	Mar	21	0:00	1:00	D
++Rule	Iran	2008	only	-	Sep	21	0:00	0	S
++Rule	Iran	2009	2011	-	Mar	22	0:00	1:00	D
++Rule	Iran	2009	2011	-	Sep	22	0:00	0	S
++Rule	Iran	2012	only	-	Mar	21	0:00	1:00	D
++Rule	Iran	2012	only	-	Sep	21	0:00	0	S
++Rule	Iran	2013	2015	-	Mar	22	0:00	1:00	D
++Rule	Iran	2013	2015	-	Sep	22	0:00	0	S
++Rule	Iran	2016	only	-	Mar	21	0:00	1:00	D
++Rule	Iran	2016	only	-	Sep	21	0:00	0	S
++Rule	Iran	2017	2019	-	Mar	22	0:00	1:00	D
++Rule	Iran	2017	2019	-	Sep	22	0:00	0	S
++Rule	Iran	2020	only	-	Mar	21	0:00	1:00	D
++Rule	Iran	2020	only	-	Sep	21	0:00	0	S
++Rule	Iran	2021	2023	-	Mar	22	0:00	1:00	D
++Rule	Iran	2021	2023	-	Sep	22	0:00	0	S
++Rule	Iran	2024	only	-	Mar	21	0:00	1:00	D
++Rule	Iran	2024	only	-	Sep	21	0:00	0	S
++Rule	Iran	2025	2027	-	Mar	22	0:00	1:00	D
++Rule	Iran	2025	2027	-	Sep	22	0:00	0	S
++Rule	Iran	2028	2029	-	Mar	21	0:00	1:00	D
++Rule	Iran	2028	2029	-	Sep	21	0:00	0	S
++Rule	Iran	2030	2031	-	Mar	22	0:00	1:00	D
++Rule	Iran	2030	2031	-	Sep	22	0:00	0	S
++Rule	Iran	2032	2033	-	Mar	21	0:00	1:00	D
++Rule	Iran	2032	2033	-	Sep	21	0:00	0	S
++Rule	Iran	2034	2035	-	Mar	22	0:00	1:00	D
++Rule	Iran	2034	2035	-	Sep	22	0:00	0	S
++Rule	Iran	2036	2037	-	Mar	21	0:00	1:00	D
++Rule	Iran	2036	2037	-	Sep	21	0:00	0	S
+ # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
+ Zone	Asia/Tehran	3:25:44	-	LMT	1916
+ 			3:25:44	-	TMT	1946	# Tehran Mean Time
+@@ -1518,6 +1549,17 @@
+ # I guess it is likely that next year's date will be moved as well,
+ # because of the Ramadan.
+ 
++# From Jesper Norgaard Welen (2007-09-18):
++# According to Steffen Thorsen's web site the Gaza Strip and the rest of the
++# Palestinian territories left DST early on 13.th. of September at 2:00.
++
++# From Paul Eggert (2007-09-20):
++# My understanding is that Gaza and the West Bank disagree even over when
++# the weekend is (Thursday+Friday versus Friday+Saturday), so I'd be a bit
++# surprised if they agreed about DST.  But for now, assume they agree.
++# For lack of better information, predict that future changes will be
++# the 2nd Thursday of September at 02:00.
++
+ # The rules for Egypt are stolen from the `africa' file.
+ # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
+ Rule EgyptAsia	1957	only	-	May	10	0:00	1:00	S
+@@ -1533,7 +1575,7 @@
+ Rule Palestine	2005	only	-	Oct	 4	2:00	0	-
+ Rule Palestine	2006	max	-	Apr	 1	0:00	1:00	S
+ Rule Palestine	2006	only	-	Sep	22	0:00	0	-
+-Rule Palestine	2007	max	-	Oct	Fri>=15	0:00	0	-
++Rule Palestine	2007	max	-	Sep	Thu>=8	2:00	0	-
+ 
+ # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
+ Zone	Asia/Gaza	2:17:52	-	LMT	1900 Oct
+--- a/kcal/libical/zoneinfo/Atlantic/Madeira.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Madeira.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Madeira
++TZID:/kde.org/Olson_20071016_1/Atlantic/Madeira
+ X-LIC-LOCATION:Atlantic/Madeira
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Atlantic/St_Helena.ics
++++ b/kcal/libical/zoneinfo/Atlantic/St_Helena.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/St_Helena
++TZID:/kde.org/Olson_20071016_1/Atlantic/St_Helena
+ X-LIC-LOCATION:Atlantic/St_Helena
+ BEGIN:STANDARD
+ TZOFFSETFROM:-002248
+--- a/kcal/libical/zoneinfo/Atlantic/Azores.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Azores.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Azores
++TZID:/kde.org/Olson_20071016_1/Atlantic/Azores
+ X-LIC-LOCATION:Atlantic/Azores
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0100
+--- a/kcal/libical/zoneinfo/Atlantic/Faroe.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Faroe.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Faroe
++TZID:/kde.org/Olson_20071016_1/Atlantic/Faroe
+ X-LIC-LOCATION:Atlantic/Faroe
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Atlantic/Canary.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Canary.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Canary
++TZID:/kde.org/Olson_20071016_1/Atlantic/Canary
+ X-LIC-LOCATION:Atlantic/Canary
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Atlantic/Cape_Verde.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Cape_Verde.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Cape_Verde
++TZID:/kde.org/Olson_20071016_1/Atlantic/Cape_Verde
+ X-LIC-LOCATION:Atlantic/Cape_Verde
+ BEGIN:STANDARD
+ TZOFFSETFROM:-013404
+--- a/kcal/libical/zoneinfo/Atlantic/Bermuda.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Bermuda.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Bermuda
++TZID:/kde.org/Olson_20071016_1/Atlantic/Bermuda
+ X-LIC-LOCATION:Atlantic/Bermuda
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/Atlantic/Reykjavik.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Reykjavik.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Reykjavik
++TZID:/kde.org/Olson_20071016_1/Atlantic/Reykjavik
+ X-LIC-LOCATION:Atlantic/Reykjavik
+ BEGIN:STANDARD
+ TZOFFSETFROM:-012724
+--- a/kcal/libical/zoneinfo/Atlantic/South_Georgia.ics
++++ b/kcal/libical/zoneinfo/Atlantic/South_Georgia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/South_Georgia
++TZID:/kde.org/Olson_20071016_1/Atlantic/South_Georgia
+ X-LIC-LOCATION:Atlantic/South_Georgia
+ BEGIN:STANDARD
+ TZOFFSETFROM:-022608
+--- a/kcal/libical/zoneinfo/Atlantic/Stanley.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Stanley.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Stanley
++TZID:/kde.org/Olson_20071016_1/Atlantic/Stanley
+ X-LIC-LOCATION:Atlantic/Stanley
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0300
+--- a/kcal/libical/zoneinfo/Atlantic/Jan_Mayen.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Jan_Mayen.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Jan_Mayen
++TZID:/kde.org/Olson_20071016_1/Atlantic/Jan_Mayen
+ X-LIC-LOCATION:Atlantic/Jan_Mayen
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Rome.ics
++++ b/kcal/libical/zoneinfo/Europe/Rome.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Rome
++TZID:/kde.org/Olson_20071016_1/Europe/Rome
+ X-LIC-LOCATION:Europe/Rome
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Chisinau.ics
++++ b/kcal/libical/zoneinfo/Europe/Chisinau.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Chisinau
++TZID:/kde.org/Olson_20071016_1/Europe/Chisinau
+ X-LIC-LOCATION:Europe/Chisinau
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Warsaw.ics
++++ b/kcal/libical/zoneinfo/Europe/Warsaw.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Warsaw
++TZID:/kde.org/Olson_20071016_1/Europe/Warsaw
+ X-LIC-LOCATION:Europe/Warsaw
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Helsinki.ics
++++ b/kcal/libical/zoneinfo/Europe/Helsinki.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Helsinki
++TZID:/kde.org/Olson_20071016_1/Europe/Helsinki
+ X-LIC-LOCATION:Europe/Helsinki
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Podgorica.ics
++++ b/kcal/libical/zoneinfo/Europe/Podgorica.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Podgorica
++TZID:/kde.org/Olson_20071016_1/Europe/Podgorica
+ X-LIC-LOCATION:Europe/Podgorica
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Berlin.ics
++++ b/kcal/libical/zoneinfo/Europe/Berlin.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Berlin
++TZID:/kde.org/Olson_20071016_1/Europe/Berlin
+ X-LIC-LOCATION:Europe/Berlin
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Oslo.ics
++++ b/kcal/libical/zoneinfo/Europe/Oslo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Oslo
++TZID:/kde.org/Olson_20071016_1/Europe/Oslo
+ X-LIC-LOCATION:Europe/Oslo
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Dublin.ics
++++ b/kcal/libical/zoneinfo/Europe/Dublin.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Dublin
++TZID:/kde.org/Olson_20071016_1/Europe/Dublin
+ X-LIC-LOCATION:Europe/Dublin
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Europe/Paris.ics
++++ b/kcal/libical/zoneinfo/Europe/Paris.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Paris
++TZID:/kde.org/Olson_20071016_1/Europe/Paris
+ X-LIC-LOCATION:Europe/Paris
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Simferopol.ics
++++ b/kcal/libical/zoneinfo/Europe/Simferopol.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Simferopol
++TZID:/kde.org/Olson_20071016_1/Europe/Simferopol
+ X-LIC-LOCATION:Europe/Simferopol
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0300
+--- a/kcal/libical/zoneinfo/Europe/Vienna.ics
++++ b/kcal/libical/zoneinfo/Europe/Vienna.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Vienna
++TZID:/kde.org/Olson_20071016_1/Europe/Vienna
+ X-LIC-LOCATION:Europe/Vienna
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Minsk.ics
++++ b/kcal/libical/zoneinfo/Europe/Minsk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Minsk
++TZID:/kde.org/Olson_20071016_1/Europe/Minsk
+ X-LIC-LOCATION:Europe/Minsk
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Istanbul.ics
++++ b/kcal/libical/zoneinfo/Europe/Istanbul.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Istanbul
++TZID:/kde.org/Olson_20071016_1/Europe/Istanbul
+ X-LIC-LOCATION:Europe/Istanbul
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Athens.ics
++++ b/kcal/libical/zoneinfo/Europe/Athens.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Athens
++TZID:/kde.org/Olson_20071016_1/Europe/Athens
+ X-LIC-LOCATION:Europe/Athens
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Kaliningrad.ics
++++ b/kcal/libical/zoneinfo/Europe/Kaliningrad.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Kaliningrad
++TZID:/kde.org/Olson_20071016_1/Europe/Kaliningrad
+ X-LIC-LOCATION:Europe/Kaliningrad
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Bratislava.ics
++++ b/kcal/libical/zoneinfo/Europe/Bratislava.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Bratislava
++TZID:/kde.org/Olson_20071016_1/Europe/Bratislava
+ X-LIC-LOCATION:Europe/Bratislava
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/London.ics
++++ b/kcal/libical/zoneinfo/Europe/London.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/London
++TZID:/kde.org/Olson_20071016_1/Europe/London
+ X-LIC-LOCATION:Europe/London
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Europe/Vaduz.ics
++++ b/kcal/libical/zoneinfo/Europe/Vaduz.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Vaduz
++TZID:/kde.org/Olson_20071016_1/Europe/Vaduz
+ X-LIC-LOCATION:Europe/Vaduz
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Malta.ics
++++ b/kcal/libical/zoneinfo/Europe/Malta.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Malta
++TZID:/kde.org/Olson_20071016_1/Europe/Malta
+ X-LIC-LOCATION:Europe/Malta
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Kiev.ics
++++ b/kcal/libical/zoneinfo/Europe/Kiev.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Kiev
++TZID:/kde.org/Olson_20071016_1/Europe/Kiev
+ X-LIC-LOCATION:Europe/Kiev
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Madrid.ics
++++ b/kcal/libical/zoneinfo/Europe/Madrid.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Madrid
++TZID:/kde.org/Olson_20071016_1/Europe/Madrid
+ X-LIC-LOCATION:Europe/Madrid
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Jersey.ics
++++ b/kcal/libical/zoneinfo/Europe/Jersey.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Jersey
++TZID:/kde.org/Olson_20071016_1/Europe/Jersey
+ X-LIC-LOCATION:Europe/Jersey
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Europe/Ljubljana.ics
++++ b/kcal/libical/zoneinfo/Europe/Ljubljana.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Ljubljana
++TZID:/kde.org/Olson_20071016_1/Europe/Ljubljana
+ X-LIC-LOCATION:Europe/Ljubljana
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Brussels.ics
++++ b/kcal/libical/zoneinfo/Europe/Brussels.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Brussels
++TZID:/kde.org/Olson_20071016_1/Europe/Brussels
+ X-LIC-LOCATION:Europe/Brussels
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Stockholm.ics
++++ b/kcal/libical/zoneinfo/Europe/Stockholm.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Stockholm
++TZID:/kde.org/Olson_20071016_1/Europe/Stockholm
+ X-LIC-LOCATION:Europe/Stockholm
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Samara.ics
++++ b/kcal/libical/zoneinfo/Europe/Samara.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Samara
++TZID:/kde.org/Olson_20071016_1/Europe/Samara
+ X-LIC-LOCATION:Europe/Samara
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0400
+--- a/kcal/libical/zoneinfo/Europe/Zurich.ics
++++ b/kcal/libical/zoneinfo/Europe/Zurich.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Zurich
++TZID:/kde.org/Olson_20071016_1/Europe/Zurich
+ X-LIC-LOCATION:Europe/Zurich
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Belgrade.ics
++++ b/kcal/libical/zoneinfo/Europe/Belgrade.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Belgrade
++TZID:/kde.org/Olson_20071016_1/Europe/Belgrade
+ X-LIC-LOCATION:Europe/Belgrade
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Moscow.ics
++++ b/kcal/libical/zoneinfo/Europe/Moscow.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Moscow
++TZID:/kde.org/Olson_20071016_1/Europe/Moscow
+ X-LIC-LOCATION:Europe/Moscow
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0300
+--- a/kcal/libical/zoneinfo/Europe/Budapest.ics
++++ b/kcal/libical/zoneinfo/Europe/Budapest.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Budapest
++TZID:/kde.org/Olson_20071016_1/Europe/Budapest
+ X-LIC-LOCATION:Europe/Budapest
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Copenhagen.ics
++++ b/kcal/libical/zoneinfo/Europe/Copenhagen.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Copenhagen
++TZID:/kde.org/Olson_20071016_1/Europe/Copenhagen
+ X-LIC-LOCATION:Europe/Copenhagen
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Gibraltar.ics
++++ b/kcal/libical/zoneinfo/Europe/Gibraltar.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Gibraltar
++TZID:/kde.org/Olson_20071016_1/Europe/Gibraltar
+ X-LIC-LOCATION:Europe/Gibraltar
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Sarajevo.ics
++++ b/kcal/libical/zoneinfo/Europe/Sarajevo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Sarajevo
++TZID:/kde.org/Olson_20071016_1/Europe/Sarajevo
+ X-LIC-LOCATION:Europe/Sarajevo
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Zagreb.ics
++++ b/kcal/libical/zoneinfo/Europe/Zagreb.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Zagreb
++TZID:/kde.org/Olson_20071016_1/Europe/Zagreb
+ X-LIC-LOCATION:Europe/Zagreb
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Zaporozhye.ics
++++ b/kcal/libical/zoneinfo/Europe/Zaporozhye.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Zaporozhye
++TZID:/kde.org/Olson_20071016_1/Europe/Zaporozhye
+ X-LIC-LOCATION:Europe/Zaporozhye
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Isle_of_Man.ics
++++ b/kcal/libical/zoneinfo/Europe/Isle_of_Man.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Isle_of_Man
++TZID:/kde.org/Olson_20071016_1/Europe/Isle_of_Man
+ X-LIC-LOCATION:Europe/Isle_of_Man
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Europe/Monaco.ics
++++ b/kcal/libical/zoneinfo/Europe/Monaco.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Monaco
++TZID:/kde.org/Olson_20071016_1/Europe/Monaco
+ X-LIC-LOCATION:Europe/Monaco
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Amsterdam.ics
++++ b/kcal/libical/zoneinfo/Europe/Amsterdam.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Amsterdam
++TZID:/kde.org/Olson_20071016_1/Europe/Amsterdam
+ X-LIC-LOCATION:Europe/Amsterdam
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Bucharest.ics
++++ b/kcal/libical/zoneinfo/Europe/Bucharest.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Bucharest
++TZID:/kde.org/Olson_20071016_1/Europe/Bucharest
+ X-LIC-LOCATION:Europe/Bucharest
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Riga.ics
++++ b/kcal/libical/zoneinfo/Europe/Riga.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Riga
++TZID:/kde.org/Olson_20071016_1/Europe/Riga
+ X-LIC-LOCATION:Europe/Riga
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Tirane.ics
++++ b/kcal/libical/zoneinfo/Europe/Tirane.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Tirane
++TZID:/kde.org/Olson_20071016_1/Europe/Tirane
+ X-LIC-LOCATION:Europe/Tirane
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Prague.ics
++++ b/kcal/libical/zoneinfo/Europe/Prague.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Prague
++TZID:/kde.org/Olson_20071016_1/Europe/Prague
+ X-LIC-LOCATION:Europe/Prague
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Volgograd.ics
++++ b/kcal/libical/zoneinfo/Europe/Volgograd.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Volgograd
++TZID:/kde.org/Olson_20071016_1/Europe/Volgograd
+ X-LIC-LOCATION:Europe/Volgograd
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0300
+--- a/kcal/libical/zoneinfo/Europe/Nicosia.ics
++++ b/kcal/libical/zoneinfo/Europe/Nicosia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Nicosia
++TZID:/kde.org/Olson_20071016_1/Europe/Nicosia
+ X-LIC-LOCATION:Europe/Nicosia
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0300
+--- a/kcal/libical/zoneinfo/Europe/Vatican.ics
++++ b/kcal/libical/zoneinfo/Europe/Vatican.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Vatican
++TZID:/kde.org/Olson_20071016_1/Europe/Vatican
+ X-LIC-LOCATION:Europe/Vatican
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Lisbon.ics
++++ b/kcal/libical/zoneinfo/Europe/Lisbon.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Lisbon
++TZID:/kde.org/Olson_20071016_1/Europe/Lisbon
+ X-LIC-LOCATION:Europe/Lisbon
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Andorra.ics
++++ b/kcal/libical/zoneinfo/Europe/Andorra.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Andorra
++TZID:/kde.org/Olson_20071016_1/Europe/Andorra
+ X-LIC-LOCATION:Europe/Andorra
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/San_Marino.ics
++++ b/kcal/libical/zoneinfo/Europe/San_Marino.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/San_Marino
++TZID:/kde.org/Olson_20071016_1/Europe/San_Marino
+ X-LIC-LOCATION:Europe/San_Marino
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Luxembourg.ics
++++ b/kcal/libical/zoneinfo/Europe/Luxembourg.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Luxembourg
++TZID:/kde.org/Olson_20071016_1/Europe/Luxembourg
+ X-LIC-LOCATION:Europe/Luxembourg
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Vilnius.ics
++++ b/kcal/libical/zoneinfo/Europe/Vilnius.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Vilnius
++TZID:/kde.org/Olson_20071016_1/Europe/Vilnius
+ X-LIC-LOCATION:Europe/Vilnius
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Skopje.ics
++++ b/kcal/libical/zoneinfo/Europe/Skopje.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Skopje
++TZID:/kde.org/Olson_20071016_1/Europe/Skopje
+ X-LIC-LOCATION:Europe/Skopje
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Mariehamn.ics
++++ b/kcal/libical/zoneinfo/Europe/Mariehamn.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Mariehamn
++TZID:/kde.org/Olson_20071016_1/Europe/Mariehamn
+ X-LIC-LOCATION:Europe/Mariehamn
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Guernsey.ics
++++ b/kcal/libical/zoneinfo/Europe/Guernsey.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Guernsey
++TZID:/kde.org/Olson_20071016_1/Europe/Guernsey
+ X-LIC-LOCATION:Europe/Guernsey
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Europe/Sofia.ics
++++ b/kcal/libical/zoneinfo/Europe/Sofia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Sofia
++TZID:/kde.org/Olson_20071016_1/Europe/Sofia
+ X-LIC-LOCATION:Europe/Sofia
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Tallinn.ics
++++ b/kcal/libical/zoneinfo/Europe/Tallinn.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Tallinn
++TZID:/kde.org/Olson_20071016_1/Europe/Tallinn
+ X-LIC-LOCATION:Europe/Tallinn
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Uzhgorod.ics
++++ b/kcal/libical/zoneinfo/Europe/Uzhgorod.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Uzhgorod
++TZID:/kde.org/Olson_20071016_1/Europe/Uzhgorod
+ X-LIC-LOCATION:Europe/Uzhgorod
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/America/Port_of_Spain.ics
++++ b/kcal/libical/zoneinfo/America/Port_of_Spain.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Port_of_Spain
++TZID:/kde.org/Olson_20071016_1/America/Port_of_Spain
+ X-LIC-LOCATION:America/Port_of_Spain
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040604
+--- a/kcal/libical/zoneinfo/America/Regina.ics
++++ b/kcal/libical/zoneinfo/America/Regina.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Regina
++TZID:/kde.org/Olson_20071016_1/America/Regina
+ X-LIC-LOCATION:America/Regina
+ BEGIN:STANDARD
+ TZOFFSETFROM:-065836
+--- a/kcal/libical/zoneinfo/America/Glace_Bay.ics
++++ b/kcal/libical/zoneinfo/America/Glace_Bay.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Glace_Bay
++TZID:/kde.org/Olson_20071016_1/America/Glace_Bay
+ X-LIC-LOCATION:America/Glace_Bay
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Mazatlan.ics
++++ b/kcal/libical/zoneinfo/America/Mazatlan.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Mazatlan
++TZID:/kde.org/Olson_20071016_1/America/Mazatlan
+ X-LIC-LOCATION:America/Mazatlan
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/St_Vincent.ics
++++ b/kcal/libical/zoneinfo/America/St_Vincent.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/St_Vincent
++TZID:/kde.org/Olson_20071016_1/America/St_Vincent
+ X-LIC-LOCATION:America/St_Vincent
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040456
+--- a/kcal/libical/zoneinfo/America/Asuncion.ics
++++ b/kcal/libical/zoneinfo/America/Asuncion.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Asuncion
++TZID:/kde.org/Olson_20071016_1/America/Asuncion
+ X-LIC-LOCATION:America/Asuncion
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Campo_Grande.ics
++++ b/kcal/libical/zoneinfo/America/Campo_Grande.ics
+@@ -2,21 +2,21 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Campo_Grande
++TZID:/kde.org/Olson_20071016_1/America/Campo_Grande
+ X-LIC-LOCATION:America/Campo_Grande
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+ TZOFFSETTO:-0300
+ TZNAME:AMST
+-DTSTART:20061105T000000
+-RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
++DTSTART:20071014T000000
++RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=2SU
+ END:DAYLIGHT
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0300
+ TZOFFSETTO:-0400
+ TZNAME:AMT
+-DTSTART:20070225T000000
+-RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=-1SU
++DTSTART:20080217T000000
++RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=3SU
+ END:STANDARD
+ BEGIN:STANDARD
+ TZOFFSETFROM:-033828
+@@ -62,6 +62,7 @@
+ RDATE:20031019T000000
+ RDATE:20041102T000000
+ RDATE:20051016T000000
++RDATE:20061105T000000
+ END:DAYLIGHT
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0300
+@@ -100,6 +101,7 @@
+ RDATE:20040215T000000
+ RDATE:20050220T000000
+ RDATE:20060219T000000
++RDATE:20070225T000000
+ END:STANDARD
+ END:VTIMEZONE
+ END:VCALENDAR
+--- a/kcal/libical/zoneinfo/America/Montreal.ics
++++ b/kcal/libical/zoneinfo/America/Montreal.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Montreal
++TZID:/kde.org/Olson_20071016_1/America/Montreal
+ X-LIC-LOCATION:America/Montreal
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Thule.ics
++++ b/kcal/libical/zoneinfo/America/Thule.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Thule
++TZID:/kde.org/Olson_20071016_1/America/Thule
+ X-LIC-LOCATION:America/Thule
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Cayenne.ics
++++ b/kcal/libical/zoneinfo/America/Cayenne.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Cayenne
++TZID:/kde.org/Olson_20071016_1/America/Cayenne
+ X-LIC-LOCATION:America/Cayenne
+ BEGIN:STANDARD
+ TZOFFSETFROM:-032920
+--- a/kcal/libical/zoneinfo/America/Yakutat.ics
++++ b/kcal/libical/zoneinfo/America/Yakutat.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Yakutat
++TZID:/kde.org/Olson_20071016_1/America/Yakutat
+ X-LIC-LOCATION:America/Yakutat
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0900
+--- a/kcal/libical/zoneinfo/America/Denver.ics
++++ b/kcal/libical/zoneinfo/America/Denver.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Denver
++TZID:/kde.org/Olson_20071016_1/America/Denver
+ X-LIC-LOCATION:America/Denver
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/Scoresbysund.ics
++++ b/kcal/libical/zoneinfo/America/Scoresbysund.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Scoresbysund
++TZID:/kde.org/Olson_20071016_1/America/Scoresbysund
+ X-LIC-LOCATION:America/Scoresbysund
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0100
+--- a/kcal/libical/zoneinfo/America/Monterrey.ics
++++ b/kcal/libical/zoneinfo/America/Monterrey.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Monterrey
++TZID:/kde.org/Olson_20071016_1/America/Monterrey
+ X-LIC-LOCATION:America/Monterrey
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Jamaica.ics
++++ b/kcal/libical/zoneinfo/America/Jamaica.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Jamaica
++TZID:/kde.org/Olson_20071016_1/America/Jamaica
+ X-LIC-LOCATION:America/Jamaica
+ BEGIN:STANDARD
+ TZOFFSETFROM:-050712
+--- a/kcal/libical/zoneinfo/America/Indiana/Petersburg.ics
++++ b/kcal/libical/zoneinfo/America/Indiana/Petersburg.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Indiana/Petersburg
++TZID:/kde.org/Olson_20071016_1/America/Indiana/Petersburg
+ X-LIC-LOCATION:America/Indiana/Petersburg
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Indiana/Marengo.ics
++++ b/kcal/libical/zoneinfo/America/Indiana/Marengo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Indiana/Marengo
++TZID:/kde.org/Olson_20071016_1/America/Indiana/Marengo
+ X-LIC-LOCATION:America/Indiana/Marengo
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Indiana/Tell_City.ics
++++ b/kcal/libical/zoneinfo/America/Indiana/Tell_City.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Indiana/Tell_City
++TZID:/kde.org/Olson_20071016_1/America/Indiana/Tell_City
+ X-LIC-LOCATION:America/Indiana/Tell_City
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Indiana/Vincennes.ics
++++ b/kcal/libical/zoneinfo/America/Indiana/Vincennes.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Indiana/Vincennes
++TZID:/kde.org/Olson_20071016_1/America/Indiana/Vincennes
+ X-LIC-LOCATION:America/Indiana/Vincennes
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Indiana/Indianapolis.ics
++++ b/kcal/libical/zoneinfo/America/Indiana/Indianapolis.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Indiana/Indianapolis
++TZID:/kde.org/Olson_20071016_1/America/Indiana/Indianapolis
+ X-LIC-LOCATION:America/Indiana/Indianapolis
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Indiana/Vevay.ics
++++ b/kcal/libical/zoneinfo/America/Indiana/Vevay.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Indiana/Vevay
++TZID:/kde.org/Olson_20071016_1/America/Indiana/Vevay
+ X-LIC-LOCATION:America/Indiana/Vevay
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Indiana/Knox.ics
++++ b/kcal/libical/zoneinfo/America/Indiana/Knox.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Indiana/Knox
++TZID:/kde.org/Olson_20071016_1/America/Indiana/Knox
+ X-LIC-LOCATION:America/Indiana/Knox
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Indiana/Winamac.ics
++++ b/kcal/libical/zoneinfo/America/Indiana/Winamac.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Indiana/Winamac
++TZID:/kde.org/Olson_20071016_1/America/Indiana/Winamac
+ X-LIC-LOCATION:America/Indiana/Winamac
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Juneau.ics
++++ b/kcal/libical/zoneinfo/America/Juneau.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Juneau
++TZID:/kde.org/Olson_20071016_1/America/Juneau
+ X-LIC-LOCATION:America/Juneau
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0900
+--- a/kcal/libical/zoneinfo/America/Fortaleza.ics
++++ b/kcal/libical/zoneinfo/America/Fortaleza.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Fortaleza
++TZID:/kde.org/Olson_20071016_1/America/Fortaleza
+ X-LIC-LOCATION:America/Fortaleza
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0234
+--- a/kcal/libical/zoneinfo/America/Araguaina.ics
++++ b/kcal/libical/zoneinfo/America/Araguaina.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Araguaina
++TZID:/kde.org/Olson_20071016_1/America/Araguaina
+ X-LIC-LOCATION:America/Araguaina
+ BEGIN:STANDARD
+ TZOFFSETFROM:-031248
+--- a/kcal/libical/zoneinfo/America/Yellowknife.ics
++++ b/kcal/libical/zoneinfo/America/Yellowknife.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Yellowknife
++TZID:/kde.org/Olson_20071016_1/America/Yellowknife
+ X-LIC-LOCATION:America/Yellowknife
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/Miquelon.ics
++++ b/kcal/libical/zoneinfo/America/Miquelon.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Miquelon
++TZID:/kde.org/Olson_20071016_1/America/Miquelon
+ X-LIC-LOCATION:America/Miquelon
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0300
+--- a/kcal/libical/zoneinfo/America/Guadeloupe.ics
++++ b/kcal/libical/zoneinfo/America/Guadeloupe.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Guadeloupe
++TZID:/kde.org/Olson_20071016_1/America/Guadeloupe
+ X-LIC-LOCATION:America/Guadeloupe
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040608
+--- a/kcal/libical/zoneinfo/America/Los_Angeles.ics
++++ b/kcal/libical/zoneinfo/America/Los_Angeles.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Los_Angeles
++TZID:/kde.org/Olson_20071016_1/America/Los_Angeles
+ X-LIC-LOCATION:America/Los_Angeles
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0800
+--- a/kcal/libical/zoneinfo/America/Tijuana.ics
++++ b/kcal/libical/zoneinfo/America/Tijuana.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Tijuana
++TZID:/kde.org/Olson_20071016_1/America/Tijuana
+ X-LIC-LOCATION:America/Tijuana
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/Anguilla.ics
++++ b/kcal/libical/zoneinfo/America/Anguilla.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Anguilla
++TZID:/kde.org/Olson_20071016_1/America/Anguilla
+ X-LIC-LOCATION:America/Anguilla
+ BEGIN:STANDARD
+ TZOFFSETFROM:-041216
+--- a/kcal/libical/zoneinfo/America/Caracas.ics
++++ b/kcal/libical/zoneinfo/America/Caracas.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Caracas
++TZID:/kde.org/Olson_20071016_1/America/Caracas
+ X-LIC-LOCATION:America/Caracas
+ BEGIN:STANDARD
+ TZOFFSETFROM:-042744
+@@ -25,5 +25,12 @@
+ DTSTART:19650101T000000
+ RDATE:19650101T000000
+ END:STANDARD
++BEGIN:STANDARD
++TZOFFSETFROM:-0400
++TZOFFSETTO:-0430
++TZNAME:VET
++DTSTART:20080101T000000
++RDATE:20080101T000000
++END:STANDARD
+ END:VTIMEZONE
+ END:VCALENDAR
+--- a/kcal/libical/zoneinfo/America/Montserrat.ics
++++ b/kcal/libical/zoneinfo/America/Montserrat.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Montserrat
++TZID:/kde.org/Olson_20071016_1/America/Montserrat
+ X-LIC-LOCATION:America/Montserrat
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040852
+--- a/kcal/libical/zoneinfo/America/Chihuahua.ics
++++ b/kcal/libical/zoneinfo/America/Chihuahua.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Chihuahua
++TZID:/kde.org/Olson_20071016_1/America/Chihuahua
+ X-LIC-LOCATION:America/Chihuahua
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/Guatemala.ics
++++ b/kcal/libical/zoneinfo/America/Guatemala.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Guatemala
++TZID:/kde.org/Olson_20071016_1/America/Guatemala
+ X-LIC-LOCATION:America/Guatemala
+ BEGIN:STANDARD
+ TZOFFSETFROM:-060204
+--- a/kcal/libical/zoneinfo/America/North_Dakota/New_Salem.ics
++++ b/kcal/libical/zoneinfo/America/North_Dakota/New_Salem.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/North_Dakota/New_Salem
++TZID:/kde.org/Olson_20071016_1/America/North_Dakota/New_Salem
+ X-LIC-LOCATION:America/North_Dakota/New_Salem
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/North_Dakota/Center.ics
++++ b/kcal/libical/zoneinfo/America/North_Dakota/Center.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/North_Dakota/Center
++TZID:/kde.org/Olson_20071016_1/America/North_Dakota/Center
+ X-LIC-LOCATION:America/North_Dakota/Center
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Porto_Velho.ics
++++ b/kcal/libical/zoneinfo/America/Porto_Velho.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Porto_Velho
++TZID:/kde.org/Olson_20071016_1/America/Porto_Velho
+ X-LIC-LOCATION:America/Porto_Velho
+ BEGIN:STANDARD
+ TZOFFSETFROM:-041536
+--- a/kcal/libical/zoneinfo/America/Santo_Domingo.ics
++++ b/kcal/libical/zoneinfo/America/Santo_Domingo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Santo_Domingo
++TZID:/kde.org/Olson_20071016_1/America/Santo_Domingo
+ X-LIC-LOCATION:America/Santo_Domingo
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043936
+--- a/kcal/libical/zoneinfo/America/St_Thomas.ics
++++ b/kcal/libical/zoneinfo/America/St_Thomas.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/St_Thomas
++TZID:/kde.org/Olson_20071016_1/America/St_Thomas
+ X-LIC-LOCATION:America/St_Thomas
+ BEGIN:STANDARD
+ TZOFFSETFROM:-041944
+--- a/kcal/libical/zoneinfo/America/St_Lucia.ics
++++ b/kcal/libical/zoneinfo/America/St_Lucia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/St_Lucia
++TZID:/kde.org/Olson_20071016_1/America/St_Lucia
+ X-LIC-LOCATION:America/St_Lucia
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0404
+--- a/kcal/libical/zoneinfo/America/Bahia.ics
++++ b/kcal/libical/zoneinfo/America/Bahia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Bahia
++TZID:/kde.org/Olson_20071016_1/America/Bahia
+ X-LIC-LOCATION:America/Bahia
+ BEGIN:STANDARD
+ TZOFFSETFROM:-023404
+--- a/kcal/libical/zoneinfo/America/Noronha.ics
++++ b/kcal/libical/zoneinfo/America/Noronha.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Noronha
++TZID:/kde.org/Olson_20071016_1/America/Noronha
+ X-LIC-LOCATION:America/Noronha
+ BEGIN:STANDARD
+ TZOFFSETFROM:-020940
+--- a/kcal/libical/zoneinfo/America/Santiago.ics
++++ b/kcal/libical/zoneinfo/America/Santiago.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Santiago
++TZID:/kde.org/Olson_20071016_1/America/Santiago
+ X-LIC-LOCATION:America/Santiago
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Boa_Vista.ics
++++ b/kcal/libical/zoneinfo/America/Boa_Vista.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Boa_Vista
++TZID:/kde.org/Olson_20071016_1/America/Boa_Vista
+ X-LIC-LOCATION:America/Boa_Vista
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040240
+--- a/kcal/libical/zoneinfo/America/Cancun.ics
++++ b/kcal/libical/zoneinfo/America/Cancun.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Cancun
++TZID:/kde.org/Olson_20071016_1/America/Cancun
+ X-LIC-LOCATION:America/Cancun
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Costa_Rica.ics
++++ b/kcal/libical/zoneinfo/America/Costa_Rica.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Costa_Rica
++TZID:/kde.org/Olson_20071016_1/America/Costa_Rica
+ X-LIC-LOCATION:America/Costa_Rica
+ BEGIN:STANDARD
+ TZOFFSETFROM:-053620
+--- a/kcal/libical/zoneinfo/America/Cambridge_Bay.ics
++++ b/kcal/libical/zoneinfo/America/Cambridge_Bay.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Cambridge_Bay
++TZID:/kde.org/Olson_20071016_1/America/Cambridge_Bay
+ X-LIC-LOCATION:America/Cambridge_Bay
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/Managua.ics
++++ b/kcal/libical/zoneinfo/America/Managua.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Managua
++TZID:/kde.org/Olson_20071016_1/America/Managua
+ X-LIC-LOCATION:America/Managua
+ BEGIN:STANDARD
+ TZOFFSETFROM:-054508
+--- a/kcal/libical/zoneinfo/America/Phoenix.ics
++++ b/kcal/libical/zoneinfo/America/Phoenix.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Phoenix
++TZID:/kde.org/Olson_20071016_1/America/Phoenix
+ X-LIC-LOCATION:America/Phoenix
+ BEGIN:STANDARD
+ TZOFFSETFROM:-072818
+--- a/kcal/libical/zoneinfo/America/Halifax.ics
++++ b/kcal/libical/zoneinfo/America/Halifax.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Halifax
++TZID:/kde.org/Olson_20071016_1/America/Halifax
+ X-LIC-LOCATION:America/Halifax
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Menominee.ics
++++ b/kcal/libical/zoneinfo/America/Menominee.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Menominee
++TZID:/kde.org/Olson_20071016_1/America/Menominee
+ X-LIC-LOCATION:America/Menominee
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Hermosillo.ics
++++ b/kcal/libical/zoneinfo/America/Hermosillo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Hermosillo
++TZID:/kde.org/Olson_20071016_1/America/Hermosillo
+ X-LIC-LOCATION:America/Hermosillo
+ BEGIN:STANDARD
+ TZOFFSETFROM:-072352
+--- a/kcal/libical/zoneinfo/America/Curacao.ics
++++ b/kcal/libical/zoneinfo/America/Curacao.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Curacao
++TZID:/kde.org/Olson_20071016_1/America/Curacao
+ X-LIC-LOCATION:America/Curacao
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043544
+--- a/kcal/libical/zoneinfo/America/Paramaribo.ics
++++ b/kcal/libical/zoneinfo/America/Paramaribo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Paramaribo
++TZID:/kde.org/Olson_20071016_1/America/Paramaribo
+ X-LIC-LOCATION:America/Paramaribo
+ BEGIN:STANDARD
+ TZOFFSETFROM:-034040
+--- a/kcal/libical/zoneinfo/America/Martinique.ics
++++ b/kcal/libical/zoneinfo/America/Martinique.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Martinique
++TZID:/kde.org/Olson_20071016_1/America/Martinique
+ X-LIC-LOCATION:America/Martinique
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040420
+--- a/kcal/libical/zoneinfo/America/Winnipeg.ics
++++ b/kcal/libical/zoneinfo/America/Winnipeg.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Winnipeg
++TZID:/kde.org/Olson_20071016_1/America/Winnipeg
+ X-LIC-LOCATION:America/Winnipeg
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Lima.ics
++++ b/kcal/libical/zoneinfo/America/Lima.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Lima
++TZID:/kde.org/Olson_20071016_1/America/Lima
+ X-LIC-LOCATION:America/Lima
+ BEGIN:STANDARD
+ TZOFFSETFROM:-050812
+--- a/kcal/libical/zoneinfo/America/Shiprock.ics
++++ b/kcal/libical/zoneinfo/America/Shiprock.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Shiprock
++TZID:/kde.org/Olson_20071016_1/America/Shiprock
+ X-LIC-LOCATION:America/Shiprock
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/Edmonton.ics
++++ b/kcal/libical/zoneinfo/America/Edmonton.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Edmonton
++TZID:/kde.org/Olson_20071016_1/America/Edmonton
+ X-LIC-LOCATION:America/Edmonton
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/Dominica.ics
++++ b/kcal/libical/zoneinfo/America/Dominica.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Dominica
++TZID:/kde.org/Olson_20071016_1/America/Dominica
+ X-LIC-LOCATION:America/Dominica
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040536
+--- a/kcal/libical/zoneinfo/America/Belem.ics
++++ b/kcal/libical/zoneinfo/America/Belem.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Belem
++TZID:/kde.org/Olson_20071016_1/America/Belem
+ X-LIC-LOCATION:America/Belem
+ BEGIN:STANDARD
+ TZOFFSETFROM:-031356
+--- a/kcal/libical/zoneinfo/America/Anchorage.ics
++++ b/kcal/libical/zoneinfo/America/Anchorage.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Anchorage
++TZID:/kde.org/Olson_20071016_1/America/Anchorage
+ X-LIC-LOCATION:America/Anchorage
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0900
+--- a/kcal/libical/zoneinfo/America/Rainy_River.ics
++++ b/kcal/libical/zoneinfo/America/Rainy_River.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Rainy_River
++TZID:/kde.org/Olson_20071016_1/America/Rainy_River
+ X-LIC-LOCATION:America/Rainy_River
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Argentina/Jujuy.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/Jujuy.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/Jujuy
++TZID:/kde.org/Olson_20071016_1/America/Argentina/Jujuy
+ X-LIC-LOCATION:America/Argentina/Jujuy
+ BEGIN:STANDARD
+ TZOFFSETFROM:-042112
+--- a/kcal/libical/zoneinfo/America/Argentina/Rio_Gallegos.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/Rio_Gallegos.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/Rio_Gallegos
++TZID:/kde.org/Olson_20071016_1/America/Argentina/Rio_Gallegos
+ X-LIC-LOCATION:America/Argentina/Rio_Gallegos
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043652
+--- a/kcal/libical/zoneinfo/America/Argentina/Cordoba.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/Cordoba.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/Cordoba
++TZID:/kde.org/Olson_20071016_1/America/Argentina/Cordoba
+ X-LIC-LOCATION:America/Argentina/Cordoba
+ BEGIN:STANDARD
+ TZOFFSETFROM:-041648
+--- a/kcal/libical/zoneinfo/America/Argentina/Catamarca.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/Catamarca.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/Catamarca
++TZID:/kde.org/Olson_20071016_1/America/Argentina/Catamarca
+ X-LIC-LOCATION:America/Argentina/Catamarca
+ BEGIN:STANDARD
+ TZOFFSETFROM:-042308
+--- a/kcal/libical/zoneinfo/America/Argentina/Tucuman.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/Tucuman.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/Tucuman
++TZID:/kde.org/Olson_20071016_1/America/Argentina/Tucuman
+ X-LIC-LOCATION:America/Argentina/Tucuman
+ BEGIN:STANDARD
+ TZOFFSETFROM:-042052
+--- a/kcal/libical/zoneinfo/America/Argentina/Mendoza.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/Mendoza.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/Mendoza
++TZID:/kde.org/Olson_20071016_1/America/Argentina/Mendoza
+ X-LIC-LOCATION:America/Argentina/Mendoza
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043516
+--- a/kcal/libical/zoneinfo/America/Argentina/Buenos_Aires.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/Buenos_Aires.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/Buenos_Aires
++TZID:/kde.org/Olson_20071016_1/America/Argentina/Buenos_Aires
+ X-LIC-LOCATION:America/Argentina/Buenos_Aires
+ BEGIN:STANDARD
+ TZOFFSETFROM:-035348
+--- a/kcal/libical/zoneinfo/America/Argentina/San_Juan.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/San_Juan.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/San_Juan
++TZID:/kde.org/Olson_20071016_1/America/Argentina/San_Juan
+ X-LIC-LOCATION:America/Argentina/San_Juan
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043404
+--- a/kcal/libical/zoneinfo/America/Argentina/Ushuaia.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/Ushuaia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/Ushuaia
++TZID:/kde.org/Olson_20071016_1/America/Argentina/Ushuaia
+ X-LIC-LOCATION:America/Argentina/Ushuaia
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043312
+--- a/kcal/libical/zoneinfo/America/Argentina/La_Rioja.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/La_Rioja.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/La_Rioja
++TZID:/kde.org/Olson_20071016_1/America/Argentina/La_Rioja
+ X-LIC-LOCATION:America/Argentina/La_Rioja
+ BEGIN:STANDARD
+ TZOFFSETFROM:-042724
+--- a/kcal/libical/zoneinfo/America/Pangnirtung.ics
++++ b/kcal/libical/zoneinfo/America/Pangnirtung.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Pangnirtung
++TZID:/kde.org/Olson_20071016_1/America/Pangnirtung
+ X-LIC-LOCATION:America/Pangnirtung
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Maceio.ics
++++ b/kcal/libical/zoneinfo/America/Maceio.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Maceio
++TZID:/kde.org/Olson_20071016_1/America/Maceio
+ X-LIC-LOCATION:America/Maceio
+ BEGIN:STANDARD
+ TZOFFSETFROM:-022252
+--- a/kcal/libical/zoneinfo/America/New_York.ics
++++ b/kcal/libical/zoneinfo/America/New_York.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/New_York
++TZID:/kde.org/Olson_20071016_1/America/New_York
+ X-LIC-LOCATION:America/New_York
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Panama.ics
++++ b/kcal/libical/zoneinfo/America/Panama.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Panama
++TZID:/kde.org/Olson_20071016_1/America/Panama
+ X-LIC-LOCATION:America/Panama
+ BEGIN:STANDARD
+ TZOFFSETFROM:-051808
+--- a/kcal/libical/zoneinfo/America/Adak.ics
++++ b/kcal/libical/zoneinfo/America/Adak.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Adak
++TZID:/kde.org/Olson_20071016_1/America/Adak
+ X-LIC-LOCATION:America/Adak
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-1000
+--- a/kcal/libical/zoneinfo/America/Merida.ics
++++ b/kcal/libical/zoneinfo/America/Merida.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Merida
++TZID:/kde.org/Olson_20071016_1/America/Merida
+ X-LIC-LOCATION:America/Merida
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Resolute.ics
++++ b/kcal/libical/zoneinfo/America/Resolute.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Resolute
++TZID:/kde.org/Olson_20071016_1/America/Resolute
+ X-LIC-LOCATION:America/Resolute
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/America/Nipigon.ics
++++ b/kcal/libical/zoneinfo/America/Nipigon.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Nipigon
++TZID:/kde.org/Olson_20071016_1/America/Nipigon
+ X-LIC-LOCATION:America/Nipigon
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Dawson_Creek.ics
++++ b/kcal/libical/zoneinfo/America/Dawson_Creek.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Dawson_Creek
++TZID:/kde.org/Olson_20071016_1/America/Dawson_Creek
+ X-LIC-LOCATION:America/Dawson_Creek
+ BEGIN:STANDARD
+ TZOFFSETFROM:-080056
+--- a/kcal/libical/zoneinfo/America/Thunder_Bay.ics
++++ b/kcal/libical/zoneinfo/America/Thunder_Bay.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Thunder_Bay
++TZID:/kde.org/Olson_20071016_1/America/Thunder_Bay
+ X-LIC-LOCATION:America/Thunder_Bay
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Toronto.ics
++++ b/kcal/libical/zoneinfo/America/Toronto.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Toronto
++TZID:/kde.org/Olson_20071016_1/America/Toronto
+ X-LIC-LOCATION:America/Toronto
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Port-au-Prince.ics
++++ b/kcal/libical/zoneinfo/America/Port-au-Prince.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Port-au-Prince
++TZID:/kde.org/Olson_20071016_1/America/Port-au-Prince
+ X-LIC-LOCATION:America/Port-au-Prince
+ BEGIN:STANDARD
+ TZOFFSETFROM:-044920
+--- a/kcal/libical/zoneinfo/America/La_Paz.ics
++++ b/kcal/libical/zoneinfo/America/La_Paz.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/La_Paz
++TZID:/kde.org/Olson_20071016_1/America/La_Paz
+ X-LIC-LOCATION:America/La_Paz
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043236
+--- a/kcal/libical/zoneinfo/America/Goose_Bay.ics
++++ b/kcal/libical/zoneinfo/America/Goose_Bay.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Goose_Bay
++TZID:/kde.org/Olson_20071016_1/America/Goose_Bay
+ X-LIC-LOCATION:America/Goose_Bay
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Godthab.ics
++++ b/kcal/libical/zoneinfo/America/Godthab.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Godthab
++TZID:/kde.org/Olson_20071016_1/America/Godthab
+ X-LIC-LOCATION:America/Godthab
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0300
+--- a/kcal/libical/zoneinfo/America/Cayman.ics
++++ b/kcal/libical/zoneinfo/America/Cayman.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Cayman
++TZID:/kde.org/Olson_20071016_1/America/Cayman
+ X-LIC-LOCATION:America/Cayman
+ BEGIN:STANDARD
+ TZOFFSETFROM:-052532
+--- a/kcal/libical/zoneinfo/America/Vancouver.ics
++++ b/kcal/libical/zoneinfo/America/Vancouver.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Vancouver
++TZID:/kde.org/Olson_20071016_1/America/Vancouver
+ X-LIC-LOCATION:America/Vancouver
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0800
+--- a/kcal/libical/zoneinfo/America/Bogota.ics
++++ b/kcal/libical/zoneinfo/America/Bogota.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Bogota
++TZID:/kde.org/Olson_20071016_1/America/Bogota
+ X-LIC-LOCATION:America/Bogota
+ BEGIN:STANDARD
+ TZOFFSETFROM:-045620
+--- a/kcal/libical/zoneinfo/America/Moncton.ics
++++ b/kcal/libical/zoneinfo/America/Moncton.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Moncton
++TZID:/kde.org/Olson_20071016_1/America/Moncton
+ X-LIC-LOCATION:America/Moncton
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Rio_Branco.ics
++++ b/kcal/libical/zoneinfo/America/Rio_Branco.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Rio_Branco
++TZID:/kde.org/Olson_20071016_1/America/Rio_Branco
+ X-LIC-LOCATION:America/Rio_Branco
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043112
+--- a/kcal/libical/zoneinfo/America/Whitehorse.ics
++++ b/kcal/libical/zoneinfo/America/Whitehorse.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Whitehorse
++TZID:/kde.org/Olson_20071016_1/America/Whitehorse
+ X-LIC-LOCATION:America/Whitehorse
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0800
+--- a/kcal/libical/zoneinfo/America/Cuiaba.ics
++++ b/kcal/libical/zoneinfo/America/Cuiaba.ics
+@@ -2,21 +2,21 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Cuiaba
++TZID:/kde.org/Olson_20071016_1/America/Cuiaba
+ X-LIC-LOCATION:America/Cuiaba
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+ TZOFFSETTO:-0300
+ TZNAME:AMST
+-DTSTART:20061105T000000
+-RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
++DTSTART:20071014T000000
++RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=2SU
+ END:DAYLIGHT
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0300
+ TZOFFSETTO:-0400
+ TZNAME:AMT
+-DTSTART:20070225T000000
+-RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=-1SU
++DTSTART:20080217T000000
++RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=3SU
+ END:STANDARD
+ BEGIN:STANDARD
+ TZOFFSETFROM:-034420
+@@ -61,6 +61,7 @@
+ RDATE:20021103T000000
+ RDATE:20041102T000000
+ RDATE:20051016T000000
++RDATE:20061105T000000
+ END:DAYLIGHT
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0300
+@@ -98,6 +99,7 @@
+ RDATE:20030216T000000
+ RDATE:20050220T000000
+ RDATE:20060219T000000
++RDATE:20070225T000000
+ END:STANDARD
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Tortola.ics
++++ b/kcal/libical/zoneinfo/America/Tortola.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Tortola
++TZID:/kde.org/Olson_20071016_1/America/Tortola
+ X-LIC-LOCATION:America/Tortola
+ BEGIN:STANDARD
+ TZOFFSETFROM:-041828
+--- a/kcal/libical/zoneinfo/America/St_Johns.ics
++++ b/kcal/libical/zoneinfo/America/St_Johns.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/St_Johns
++TZID:/kde.org/Olson_20071016_1/America/St_Johns
+ X-LIC-LOCATION:America/St_Johns
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0330
+--- a/kcal/libical/zoneinfo/America/Antigua.ics
++++ b/kcal/libical/zoneinfo/America/Antigua.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Antigua
++TZID:/kde.org/Olson_20071016_1/America/Antigua
+ X-LIC-LOCATION:America/Antigua
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040712
+--- a/kcal/libical/zoneinfo/America/Puerto_Rico.ics
++++ b/kcal/libical/zoneinfo/America/Puerto_Rico.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Puerto_Rico
++TZID:/kde.org/Olson_20071016_1/America/Puerto_Rico
+ X-LIC-LOCATION:America/Puerto_Rico
+ BEGIN:STANDARD
+ TZOFFSETFROM:-042425
+--- a/kcal/libical/zoneinfo/America/Havana.ics
++++ b/kcal/libical/zoneinfo/America/Havana.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Havana
++TZID:/kde.org/Olson_20071016_1/America/Havana
+ X-LIC-LOCATION:America/Havana
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/St_Kitts.ics
++++ b/kcal/libical/zoneinfo/America/St_Kitts.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/St_Kitts
++TZID:/kde.org/Olson_20071016_1/America/St_Kitts
+ X-LIC-LOCATION:America/St_Kitts
+ BEGIN:STANDARD
+ TZOFFSETFROM:-041052
+--- a/kcal/libical/zoneinfo/America/Inuvik.ics
++++ b/kcal/libical/zoneinfo/America/Inuvik.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Inuvik
++TZID:/kde.org/Olson_20071016_1/America/Inuvik
+ X-LIC-LOCATION:America/Inuvik
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/Iqaluit.ics
++++ b/kcal/libical/zoneinfo/America/Iqaluit.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Iqaluit
++TZID:/kde.org/Olson_20071016_1/America/Iqaluit
+ X-LIC-LOCATION:America/Iqaluit
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Montevideo.ics
++++ b/kcal/libical/zoneinfo/America/Montevideo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Montevideo
++TZID:/kde.org/Olson_20071016_1/America/Montevideo
+ X-LIC-LOCATION:America/Montevideo
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0300
+--- a/kcal/libical/zoneinfo/America/Detroit.ics
++++ b/kcal/libical/zoneinfo/America/Detroit.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Detroit
++TZID:/kde.org/Olson_20071016_1/America/Detroit
+ X-LIC-LOCATION:America/Detroit
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Belize.ics
++++ b/kcal/libical/zoneinfo/America/Belize.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Belize
++TZID:/kde.org/Olson_20071016_1/America/Belize
+ X-LIC-LOCATION:America/Belize
+ BEGIN:STANDARD
+ TZOFFSETFROM:-055248
+--- a/kcal/libical/zoneinfo/America/Eirunepe.ics
++++ b/kcal/libical/zoneinfo/America/Eirunepe.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Eirunepe
++TZID:/kde.org/Olson_20071016_1/America/Eirunepe
+ X-LIC-LOCATION:America/Eirunepe
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043928
+--- a/kcal/libical/zoneinfo/America/Mexico_City.ics
++++ b/kcal/libical/zoneinfo/America/Mexico_City.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Mexico_City
++TZID:/kde.org/Olson_20071016_1/America/Mexico_City
+ X-LIC-LOCATION:America/Mexico_City
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Barbados.ics
++++ b/kcal/libical/zoneinfo/America/Barbados.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Barbados
++TZID:/kde.org/Olson_20071016_1/America/Barbados
+ X-LIC-LOCATION:America/Barbados
+ BEGIN:STANDARD
+ TZOFFSETFROM:-035828
+--- a/kcal/libical/zoneinfo/America/Danmarkshavn.ics
++++ b/kcal/libical/zoneinfo/America/Danmarkshavn.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Danmarkshavn
++TZID:/kde.org/Olson_20071016_1/America/Danmarkshavn
+ X-LIC-LOCATION:America/Danmarkshavn
+ BEGIN:STANDARD
+ TZOFFSETFROM:-011440
+--- a/kcal/libical/zoneinfo/America/Rankin_Inlet.ics
++++ b/kcal/libical/zoneinfo/America/Rankin_Inlet.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Rankin_Inlet
++TZID:/kde.org/Olson_20071016_1/America/Rankin_Inlet
+ X-LIC-LOCATION:America/Rankin_Inlet
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Kentucky/Monticello.ics
++++ b/kcal/libical/zoneinfo/America/Kentucky/Monticello.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Kentucky/Monticello
++TZID:/kde.org/Olson_20071016_1/America/Kentucky/Monticello
+ X-LIC-LOCATION:America/Kentucky/Monticello
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Kentucky/Louisville.ics
++++ b/kcal/libical/zoneinfo/America/Kentucky/Louisville.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Kentucky/Louisville
++TZID:/kde.org/Olson_20071016_1/America/Kentucky/Louisville
+ X-LIC-LOCATION:America/Kentucky/Louisville
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Sao_Paulo.ics
++++ b/kcal/libical/zoneinfo/America/Sao_Paulo.ics
+@@ -2,21 +2,21 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Sao_Paulo
++TZID:/kde.org/Olson_20071016_1/America/Sao_Paulo
+ X-LIC-LOCATION:America/Sao_Paulo
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0300
+ TZOFFSETTO:-0200
+ TZNAME:BRST
+-DTSTART:20061105T000000
+-RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
++DTSTART:20071014T000000
++RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=2SU
+ END:DAYLIGHT
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0200
+ TZOFFSETTO:-0300
+ TZNAME:BRT
+-DTSTART:20070225T000000
+-RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=-1SU
++DTSTART:20080217T000000
++RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=3SU
+ END:STANDARD
+ BEGIN:STANDARD
+ TZOFFSETFROM:-030628
+@@ -62,6 +62,7 @@
+ RDATE:20031019T000000
+ RDATE:20041102T000000
+ RDATE:20051016T000000
++RDATE:20061105T000000
+ END:DAYLIGHT
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0200
+@@ -100,6 +101,7 @@
+ RDATE:20040215T000000
+ RDATE:20050220T000000
+ RDATE:20060219T000000
++RDATE:20070225T000000
+ END:STANDARD
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0200
+--- a/kcal/libical/zoneinfo/America/Manaus.ics
++++ b/kcal/libical/zoneinfo/America/Manaus.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Manaus
++TZID:/kde.org/Olson_20071016_1/America/Manaus
+ X-LIC-LOCATION:America/Manaus
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040004
+--- a/kcal/libical/zoneinfo/America/Guyana.ics
++++ b/kcal/libical/zoneinfo/America/Guyana.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Guyana
++TZID:/kde.org/Olson_20071016_1/America/Guyana
+ X-LIC-LOCATION:America/Guyana
+ BEGIN:STANDARD
+ TZOFFSETFROM:-035240
+--- a/kcal/libical/zoneinfo/America/Tegucigalpa.ics
++++ b/kcal/libical/zoneinfo/America/Tegucigalpa.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Tegucigalpa
++TZID:/kde.org/Olson_20071016_1/America/Tegucigalpa
+ X-LIC-LOCATION:America/Tegucigalpa
+ BEGIN:STANDARD
+ TZOFFSETFROM:-054852
+--- a/kcal/libical/zoneinfo/America/Aruba.ics
++++ b/kcal/libical/zoneinfo/America/Aruba.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Aruba
++TZID:/kde.org/Olson_20071016_1/America/Aruba
+ X-LIC-LOCATION:America/Aruba
+ BEGIN:STANDARD
+ TZOFFSETFROM:-044024
+--- a/kcal/libical/zoneinfo/America/Nassau.ics
++++ b/kcal/libical/zoneinfo/America/Nassau.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Nassau
++TZID:/kde.org/Olson_20071016_1/America/Nassau
+ X-LIC-LOCATION:America/Nassau
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/El_Salvador.ics
++++ b/kcal/libical/zoneinfo/America/El_Salvador.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/El_Salvador
++TZID:/kde.org/Olson_20071016_1/America/El_Salvador
+ X-LIC-LOCATION:America/El_Salvador
+ BEGIN:STANDARD
+ TZOFFSETFROM:-055648
+--- a/kcal/libical/zoneinfo/America/Blanc-Sablon.ics
++++ b/kcal/libical/zoneinfo/America/Blanc-Sablon.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Blanc-Sablon
++TZID:/kde.org/Olson_20071016_1/America/Blanc-Sablon
+ X-LIC-LOCATION:America/Blanc-Sablon
+ BEGIN:STANDARD
+ TZOFFSETFROM:-034828
+--- a/kcal/libical/zoneinfo/America/Dawson.ics
++++ b/kcal/libical/zoneinfo/America/Dawson.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Dawson
++TZID:/kde.org/Olson_20071016_1/America/Dawson
+ X-LIC-LOCATION:America/Dawson
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0800
+--- a/kcal/libical/zoneinfo/America/Chicago.ics
++++ b/kcal/libical/zoneinfo/America/Chicago.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Chicago
++TZID:/kde.org/Olson_20071016_1/America/Chicago
+ X-LIC-LOCATION:America/Chicago
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Recife.ics
++++ b/kcal/libical/zoneinfo/America/Recife.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Recife
++TZID:/kde.org/Olson_20071016_1/America/Recife
+ X-LIC-LOCATION:America/Recife
+ BEGIN:STANDARD
+ TZOFFSETFROM:-021936
+--- a/kcal/libical/zoneinfo/America/Nome.ics
++++ b/kcal/libical/zoneinfo/America/Nome.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Nome
++TZID:/kde.org/Olson_20071016_1/America/Nome
+ X-LIC-LOCATION:America/Nome
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0900
+--- a/kcal/libical/zoneinfo/America/Swift_Current.ics
++++ b/kcal/libical/zoneinfo/America/Swift_Current.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Swift_Current
++TZID:/kde.org/Olson_20071016_1/America/Swift_Current
+ X-LIC-LOCATION:America/Swift_Current
+ BEGIN:STANDARD
+ TZOFFSETFROM:-071120
+--- a/kcal/libical/zoneinfo/America/Grand_Turk.ics
++++ b/kcal/libical/zoneinfo/America/Grand_Turk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Grand_Turk
++TZID:/kde.org/Olson_20071016_1/America/Grand_Turk
+ X-LIC-LOCATION:America/Grand_Turk
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Guayaquil.ics
++++ b/kcal/libical/zoneinfo/America/Guayaquil.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Guayaquil
++TZID:/kde.org/Olson_20071016_1/America/Guayaquil
+ X-LIC-LOCATION:America/Guayaquil
+ BEGIN:STANDARD
+ TZOFFSETFROM:-051920
+--- a/kcal/libical/zoneinfo/America/Grenada.ics
++++ b/kcal/libical/zoneinfo/America/Grenada.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Grenada
++TZID:/kde.org/Olson_20071016_1/America/Grenada
+ X-LIC-LOCATION:America/Grenada
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0407
+--- a/kcal/libical/zoneinfo/America/Atikokan.ics
++++ b/kcal/libical/zoneinfo/America/Atikokan.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Atikokan
++TZID:/kde.org/Olson_20071016_1/America/Atikokan
+ X-LIC-LOCATION:America/Atikokan
+ BEGIN:STANDARD
+ TZOFFSETFROM:-060628
+--- a/kcal/libical/zoneinfo/America/Boise.ics
++++ b/kcal/libical/zoneinfo/America/Boise.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Boise
++TZID:/kde.org/Olson_20071016_1/America/Boise
+ X-LIC-LOCATION:America/Boise
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/Indian/Mauritius.ics
++++ b/kcal/libical/zoneinfo/Indian/Mauritius.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Mauritius
++TZID:/kde.org/Olson_20071016_1/Indian/Mauritius
+ X-LIC-LOCATION:Indian/Mauritius
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0350
+--- a/kcal/libical/zoneinfo/Indian/Mayotte.ics
++++ b/kcal/libical/zoneinfo/Indian/Mayotte.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Mayotte
++TZID:/kde.org/Olson_20071016_1/Indian/Mayotte
+ X-LIC-LOCATION:Indian/Mayotte
+ BEGIN:STANDARD
+ TZOFFSETFROM:+030056
+--- a/kcal/libical/zoneinfo/Indian/Chagos.ics
++++ b/kcal/libical/zoneinfo/Indian/Chagos.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Chagos
++TZID:/kde.org/Olson_20071016_1/Indian/Chagos
+ X-LIC-LOCATION:Indian/Chagos
+ BEGIN:STANDARD
+ TZOFFSETFROM:+044940
+--- a/kcal/libical/zoneinfo/Indian/Maldives.ics
++++ b/kcal/libical/zoneinfo/Indian/Maldives.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Maldives
++TZID:/kde.org/Olson_20071016_1/Indian/Maldives
+ X-LIC-LOCATION:Indian/Maldives
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0454
+--- a/kcal/libical/zoneinfo/Indian/Cocos.ics
++++ b/kcal/libical/zoneinfo/Indian/Cocos.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Cocos
++TZID:/kde.org/Olson_20071016_1/Indian/Cocos
+ X-LIC-LOCATION:Indian/Cocos
+ BEGIN:STANDARD
+ TZOFFSETFROM:+062740
+--- a/kcal/libical/zoneinfo/Indian/Mahe.ics
++++ b/kcal/libical/zoneinfo/Indian/Mahe.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Mahe
++TZID:/kde.org/Olson_20071016_1/Indian/Mahe
+ X-LIC-LOCATION:Indian/Mahe
+ BEGIN:STANDARD
+ TZOFFSETFROM:+034148
+--- a/kcal/libical/zoneinfo/Indian/Christmas.ics
++++ b/kcal/libical/zoneinfo/Indian/Christmas.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Christmas
++TZID:/kde.org/Olson_20071016_1/Indian/Christmas
+ X-LIC-LOCATION:Indian/Christmas
+ BEGIN:STANDARD
+ TZOFFSETFROM:+070252
+--- a/kcal/libical/zoneinfo/Indian/Comoro.ics
++++ b/kcal/libical/zoneinfo/Indian/Comoro.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Comoro
++TZID:/kde.org/Olson_20071016_1/Indian/Comoro
+ X-LIC-LOCATION:Indian/Comoro
+ BEGIN:STANDARD
+ TZOFFSETFROM:+025304
+--- a/kcal/libical/zoneinfo/Indian/Reunion.ics
++++ b/kcal/libical/zoneinfo/Indian/Reunion.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Reunion
++TZID:/kde.org/Olson_20071016_1/Indian/Reunion
+ X-LIC-LOCATION:Indian/Reunion
+ BEGIN:STANDARD
+ TZOFFSETFROM:+034152
+--- a/kcal/libical/zoneinfo/Indian/Antananarivo.ics
++++ b/kcal/libical/zoneinfo/Indian/Antananarivo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Antananarivo
++TZID:/kde.org/Olson_20071016_1/Indian/Antananarivo
+ X-LIC-LOCATION:Indian/Antananarivo
+ BEGIN:STANDARD
+ TZOFFSETFROM:+031004
+--- a/kcal/libical/zoneinfo/Indian/Kerguelen.ics
++++ b/kcal/libical/zoneinfo/Indian/Kerguelen.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Kerguelen
++TZID:/kde.org/Olson_20071016_1/Indian/Kerguelen
+ X-LIC-LOCATION:Indian/Kerguelen
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Africa/Luanda.ics
++++ b/kcal/libical/zoneinfo/Africa/Luanda.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Luanda
++TZID:/kde.org/Olson_20071016_1/Africa/Luanda
+ X-LIC-LOCATION:Africa/Luanda
+ BEGIN:STANDARD
+ TZOFFSETFROM:+005256
+--- a/kcal/libical/zoneinfo/Africa/Lagos.ics
++++ b/kcal/libical/zoneinfo/Africa/Lagos.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Lagos
++TZID:/kde.org/Olson_20071016_1/Africa/Lagos
+ X-LIC-LOCATION:Africa/Lagos
+ BEGIN:STANDARD
+ TZOFFSETFROM:+001336
+--- a/kcal/libical/zoneinfo/Africa/Douala.ics
++++ b/kcal/libical/zoneinfo/Africa/Douala.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Douala
++TZID:/kde.org/Olson_20071016_1/Africa/Douala
+ X-LIC-LOCATION:Africa/Douala
+ BEGIN:STANDARD
+ TZOFFSETFROM:+003848
+--- a/kcal/libical/zoneinfo/Africa/Bangui.ics
++++ b/kcal/libical/zoneinfo/Africa/Bangui.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Bangui
++TZID:/kde.org/Olson_20071016_1/Africa/Bangui
+ X-LIC-LOCATION:Africa/Bangui
+ BEGIN:STANDARD
+ TZOFFSETFROM:+011420
+--- a/kcal/libical/zoneinfo/Africa/Sao_Tome.ics
++++ b/kcal/libical/zoneinfo/Africa/Sao_Tome.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Sao_Tome
++TZID:/kde.org/Olson_20071016_1/Africa/Sao_Tome
+ X-LIC-LOCATION:Africa/Sao_Tome
+ BEGIN:STANDARD
+ TZOFFSETFROM:+002656
+--- a/kcal/libical/zoneinfo/Africa/Windhoek.ics
++++ b/kcal/libical/zoneinfo/Africa/Windhoek.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Windhoek
++TZID:/kde.org/Olson_20071016_1/Africa/Windhoek
+ X-LIC-LOCATION:Africa/Windhoek
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Africa/Djibouti.ics
++++ b/kcal/libical/zoneinfo/Africa/Djibouti.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Djibouti
++TZID:/kde.org/Olson_20071016_1/Africa/Djibouti
+ X-LIC-LOCATION:Africa/Djibouti
+ BEGIN:STANDARD
+ TZOFFSETFROM:+025236
+--- a/kcal/libical/zoneinfo/Africa/Accra.ics
++++ b/kcal/libical/zoneinfo/Africa/Accra.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Accra
++TZID:/kde.org/Olson_20071016_1/Africa/Accra
+ X-LIC-LOCATION:Africa/Accra
+ BEGIN:STANDARD
+ TZOFFSETFROM:-000052
+--- a/kcal/libical/zoneinfo/Africa/Banjul.ics
++++ b/kcal/libical/zoneinfo/Africa/Banjul.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Banjul
++TZID:/kde.org/Olson_20071016_1/Africa/Banjul
+ X-LIC-LOCATION:Africa/Banjul
+ BEGIN:STANDARD
+ TZOFFSETFROM:-010636
+--- a/kcal/libical/zoneinfo/Africa/El_Aaiun.ics
++++ b/kcal/libical/zoneinfo/Africa/El_Aaiun.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/El_Aaiun
++TZID:/kde.org/Olson_20071016_1/Africa/El_Aaiun
+ X-LIC-LOCATION:Africa/El_Aaiun
+ BEGIN:STANDARD
+ TZOFFSETFROM:-005248
+--- a/kcal/libical/zoneinfo/Africa/Ndjamena.ics
++++ b/kcal/libical/zoneinfo/Africa/Ndjamena.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Ndjamena
++TZID:/kde.org/Olson_20071016_1/Africa/Ndjamena
+ X-LIC-LOCATION:Africa/Ndjamena
+ BEGIN:STANDARD
+ TZOFFSETFROM:+010012
+--- a/kcal/libical/zoneinfo/Africa/Ouagadougou.ics
++++ b/kcal/libical/zoneinfo/Africa/Ouagadougou.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Ouagadougou
++TZID:/kde.org/Olson_20071016_1/Africa/Ouagadougou
+ X-LIC-LOCATION:Africa/Ouagadougou
+ BEGIN:STANDARD
+ TZOFFSETFROM:-000604
+--- a/kcal/libical/zoneinfo/Africa/Mogadishu.ics
++++ b/kcal/libical/zoneinfo/Africa/Mogadishu.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Mogadishu
++TZID:/kde.org/Olson_20071016_1/Africa/Mogadishu
+ X-LIC-LOCATION:Africa/Mogadishu
+ BEGIN:STANDARD
+ TZOFFSETFROM:+030128
+--- a/kcal/libical/zoneinfo/Africa/Porto-Novo.ics
++++ b/kcal/libical/zoneinfo/Africa/Porto-Novo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Porto-Novo
++TZID:/kde.org/Olson_20071016_1/Africa/Porto-Novo
+ X-LIC-LOCATION:Africa/Porto-Novo
+ BEGIN:STANDARD
+ TZOFFSETFROM:+001028
+--- a/kcal/libical/zoneinfo/Africa/Johannesburg.ics
++++ b/kcal/libical/zoneinfo/Africa/Johannesburg.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Johannesburg
++TZID:/kde.org/Olson_20071016_1/Africa/Johannesburg
+ X-LIC-LOCATION:Africa/Johannesburg
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0152
+--- a/kcal/libical/zoneinfo/Africa/Brazzaville.ics
++++ b/kcal/libical/zoneinfo/Africa/Brazzaville.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Brazzaville
++TZID:/kde.org/Olson_20071016_1/Africa/Brazzaville
+ X-LIC-LOCATION:Africa/Brazzaville
+ BEGIN:STANDARD
+ TZOFFSETFROM:+010108
+--- a/kcal/libical/zoneinfo/Africa/Abidjan.ics
++++ b/kcal/libical/zoneinfo/Africa/Abidjan.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Abidjan
++TZID:/kde.org/Olson_20071016_1/Africa/Abidjan
+ X-LIC-LOCATION:Africa/Abidjan
+ BEGIN:STANDARD
+ TZOFFSETFROM:-001608
+--- a/kcal/libical/zoneinfo/Africa/Libreville.ics
++++ b/kcal/libical/zoneinfo/Africa/Libreville.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Libreville
++TZID:/kde.org/Olson_20071016_1/Africa/Libreville
+ X-LIC-LOCATION:Africa/Libreville
+ BEGIN:STANDARD
+ TZOFFSETFROM:+003748
+--- a/kcal/libical/zoneinfo/Africa/Freetown.ics
++++ b/kcal/libical/zoneinfo/Africa/Freetown.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Freetown
++TZID:/kde.org/Olson_20071016_1/Africa/Freetown
+ X-LIC-LOCATION:Africa/Freetown
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0053
+--- a/kcal/libical/zoneinfo/Africa/Addis_Ababa.ics
++++ b/kcal/libical/zoneinfo/Africa/Addis_Ababa.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Addis_Ababa
++TZID:/kde.org/Olson_20071016_1/Africa/Addis_Ababa
+ X-LIC-LOCATION:Africa/Addis_Ababa
+ BEGIN:STANDARD
+ TZOFFSETFROM:+023448
+--- a/kcal/libical/zoneinfo/Africa/Bamako.ics
++++ b/kcal/libical/zoneinfo/Africa/Bamako.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Bamako
++TZID:/kde.org/Olson_20071016_1/Africa/Bamako
+ X-LIC-LOCATION:Africa/Bamako
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0032
+--- a/kcal/libical/zoneinfo/Africa/Lubumbashi.ics
++++ b/kcal/libical/zoneinfo/Africa/Lubumbashi.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Lubumbashi
++TZID:/kde.org/Olson_20071016_1/Africa/Lubumbashi
+ X-LIC-LOCATION:Africa/Lubumbashi
+ BEGIN:STANDARD
+ TZOFFSETFROM:+014952
+--- a/kcal/libical/zoneinfo/Africa/Gaborone.ics
++++ b/kcal/libical/zoneinfo/Africa/Gaborone.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Gaborone
++TZID:/kde.org/Olson_20071016_1/Africa/Gaborone
+ X-LIC-LOCATION:Africa/Gaborone
+ BEGIN:STANDARD
+ TZOFFSETFROM:+014340
+--- a/kcal/libical/zoneinfo/Africa/Cairo.ics
++++ b/kcal/libical/zoneinfo/Africa/Cairo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Cairo
++TZID:/kde.org/Olson_20071016_1/Africa/Cairo
+ X-LIC-LOCATION:Africa/Cairo
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+@@ -15,8 +15,8 @@
+ TZOFFSETFROM:+0200
+ TZOFFSETTO:+0200
+ TZNAME:EET
+-DTSTART:20070906T230000
+-RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1TH
++DTSTART:20080828T230000
++RRULE:FREQ=YEARLY;BYMONTH=8;BYDAY=-1TH
+ END:STANDARD
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0205
+@@ -142,6 +142,7 @@
+ RDATE:20040930T230000
+ RDATE:20050929T230000
+ RDATE:20060921T230000
++RDATE:20070906T230000
+ END:STANDARD
+ END:VTIMEZONE
+ END:VCALENDAR
+--- a/kcal/libical/zoneinfo/Africa/Kigali.ics
++++ b/kcal/libical/zoneinfo/Africa/Kigali.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Kigali
++TZID:/kde.org/Olson_20071016_1/Africa/Kigali
+ X-LIC-LOCATION:Africa/Kigali
+ BEGIN:STANDARD
+ TZOFFSETFROM:+020016
+--- a/kcal/libical/zoneinfo/Africa/Ceuta.ics
++++ b/kcal/libical/zoneinfo/Africa/Ceuta.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Ceuta
++TZID:/kde.org/Olson_20071016_1/Africa/Ceuta
+ X-LIC-LOCATION:Africa/Ceuta
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Africa/Harare.ics
++++ b/kcal/libical/zoneinfo/Africa/Harare.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Harare
++TZID:/kde.org/Olson_20071016_1/Africa/Harare
+ X-LIC-LOCATION:Africa/Harare
+ BEGIN:STANDARD
+ TZOFFSETFROM:+020412
+--- a/kcal/libical/zoneinfo/Africa/Tunis.ics
++++ b/kcal/libical/zoneinfo/Africa/Tunis.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Tunis
++TZID:/kde.org/Olson_20071016_1/Africa/Tunis
+ X-LIC-LOCATION:Africa/Tunis
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Africa/Asmara.ics
++++ b/kcal/libical/zoneinfo/Africa/Asmara.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Asmara
++TZID:/kde.org/Olson_20071016_1/Africa/Asmara
+ X-LIC-LOCATION:Africa/Asmara
+ BEGIN:STANDARD
+ TZOFFSETFROM:+023532
+--- a/kcal/libical/zoneinfo/Africa/Maputo.ics
++++ b/kcal/libical/zoneinfo/Africa/Maputo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Maputo
++TZID:/kde.org/Olson_20071016_1/Africa/Maputo
+ X-LIC-LOCATION:Africa/Maputo
+ BEGIN:STANDARD
+ TZOFFSETFROM:+021020
+--- a/kcal/libical/zoneinfo/Africa/Kampala.ics
++++ b/kcal/libical/zoneinfo/Africa/Kampala.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Kampala
++TZID:/kde.org/Olson_20071016_1/Africa/Kampala
+ X-LIC-LOCATION:Africa/Kampala
+ BEGIN:STANDARD
+ TZOFFSETFROM:+020940
+--- a/kcal/libical/zoneinfo/Africa/Conakry.ics
++++ b/kcal/libical/zoneinfo/Africa/Conakry.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Conakry
++TZID:/kde.org/Olson_20071016_1/Africa/Conakry
+ X-LIC-LOCATION:Africa/Conakry
+ BEGIN:STANDARD
+ TZOFFSETFROM:-005452
+--- a/kcal/libical/zoneinfo/Africa/Casablanca.ics
++++ b/kcal/libical/zoneinfo/Africa/Casablanca.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Casablanca
++TZID:/kde.org/Olson_20071016_1/Africa/Casablanca
+ X-LIC-LOCATION:Africa/Casablanca
+ BEGIN:STANDARD
+ TZOFFSETFROM:-003020
+--- a/kcal/libical/zoneinfo/Africa/Dar_es_Salaam.ics
++++ b/kcal/libical/zoneinfo/Africa/Dar_es_Salaam.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Dar_es_Salaam
++TZID:/kde.org/Olson_20071016_1/Africa/Dar_es_Salaam
+ X-LIC-LOCATION:Africa/Dar_es_Salaam
+ BEGIN:STANDARD
+ TZOFFSETFROM:+023708
+--- a/kcal/libical/zoneinfo/Africa/Nouakchott.ics
++++ b/kcal/libical/zoneinfo/Africa/Nouakchott.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Nouakchott
++TZID:/kde.org/Olson_20071016_1/Africa/Nouakchott
+ X-LIC-LOCATION:Africa/Nouakchott
+ BEGIN:STANDARD
+ TZOFFSETFROM:-010348
+--- a/kcal/libical/zoneinfo/Africa/Blantyre.ics
++++ b/kcal/libical/zoneinfo/Africa/Blantyre.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Blantyre
++TZID:/kde.org/Olson_20071016_1/Africa/Blantyre
+ X-LIC-LOCATION:Africa/Blantyre
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0220
+--- a/kcal/libical/zoneinfo/Africa/Lusaka.ics
++++ b/kcal/libical/zoneinfo/Africa/Lusaka.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Lusaka
++TZID:/kde.org/Olson_20071016_1/Africa/Lusaka
+ X-LIC-LOCATION:Africa/Lusaka
+ BEGIN:STANDARD
+ TZOFFSETFROM:+015308
+--- a/kcal/libical/zoneinfo/Africa/Dakar.ics
++++ b/kcal/libical/zoneinfo/Africa/Dakar.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Dakar
++TZID:/kde.org/Olson_20071016_1/Africa/Dakar
+ X-LIC-LOCATION:Africa/Dakar
+ BEGIN:STANDARD
+ TZOFFSETFROM:-010944
+--- a/kcal/libical/zoneinfo/Africa/Niamey.ics
++++ b/kcal/libical/zoneinfo/Africa/Niamey.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Niamey
++TZID:/kde.org/Olson_20071016_1/Africa/Niamey
+ X-LIC-LOCATION:Africa/Niamey
+ BEGIN:STANDARD
+ TZOFFSETFROM:+000828
+--- a/kcal/libical/zoneinfo/Africa/Tripoli.ics
++++ b/kcal/libical/zoneinfo/Africa/Tripoli.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Tripoli
++TZID:/kde.org/Olson_20071016_1/Africa/Tripoli
+ X-LIC-LOCATION:Africa/Tripoli
+ BEGIN:STANDARD
+ TZOFFSETFROM:+005244
+--- a/kcal/libical/zoneinfo/Africa/Nairobi.ics
++++ b/kcal/libical/zoneinfo/Africa/Nairobi.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Nairobi
++TZID:/kde.org/Olson_20071016_1/Africa/Nairobi
+ X-LIC-LOCATION:Africa/Nairobi
+ BEGIN:STANDARD
+ TZOFFSETFROM:+022716
+--- a/kcal/libical/zoneinfo/Africa/Mbabane.ics
++++ b/kcal/libical/zoneinfo/Africa/Mbabane.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Mbabane
++TZID:/kde.org/Olson_20071016_1/Africa/Mbabane
+ X-LIC-LOCATION:Africa/Mbabane
+ BEGIN:STANDARD
+ TZOFFSETFROM:+020424
+--- a/kcal/libical/zoneinfo/Africa/Algiers.ics
++++ b/kcal/libical/zoneinfo/Africa/Algiers.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Algiers
++TZID:/kde.org/Olson_20071016_1/Africa/Algiers
+ X-LIC-LOCATION:Africa/Algiers
+ BEGIN:STANDARD
+ TZOFFSETFROM:+001212
+--- a/kcal/libical/zoneinfo/Africa/Bissau.ics
++++ b/kcal/libical/zoneinfo/Africa/Bissau.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Bissau
++TZID:/kde.org/Olson_20071016_1/Africa/Bissau
+ X-LIC-LOCATION:Africa/Bissau
+ BEGIN:STANDARD
+ TZOFFSETFROM:-010220
+--- a/kcal/libical/zoneinfo/Africa/Khartoum.ics
++++ b/kcal/libical/zoneinfo/Africa/Khartoum.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Khartoum
++TZID:/kde.org/Olson_20071016_1/Africa/Khartoum
+ X-LIC-LOCATION:Africa/Khartoum
+ BEGIN:STANDARD
+ TZOFFSETFROM:+021008
+--- a/kcal/libical/zoneinfo/Africa/Monrovia.ics
++++ b/kcal/libical/zoneinfo/Africa/Monrovia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Monrovia
++TZID:/kde.org/Olson_20071016_1/Africa/Monrovia
+ X-LIC-LOCATION:Africa/Monrovia
+ BEGIN:STANDARD
+ TZOFFSETFROM:-004308
+--- a/kcal/libical/zoneinfo/Africa/Malabo.ics
++++ b/kcal/libical/zoneinfo/Africa/Malabo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Malabo
++TZID:/kde.org/Olson_20071016_1/Africa/Malabo
+ X-LIC-LOCATION:Africa/Malabo
+ BEGIN:STANDARD
+ TZOFFSETFROM:+003508
+--- a/kcal/libical/zoneinfo/Africa/Lome.ics
++++ b/kcal/libical/zoneinfo/Africa/Lome.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Lome
++TZID:/kde.org/Olson_20071016_1/Africa/Lome
+ X-LIC-LOCATION:Africa/Lome
+ BEGIN:STANDARD
+ TZOFFSETFROM:+000452
+--- a/kcal/libical/zoneinfo/Africa/Bujumbura.ics
++++ b/kcal/libical/zoneinfo/Africa/Bujumbura.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Bujumbura
++TZID:/kde.org/Olson_20071016_1/Africa/Bujumbura
+ X-LIC-LOCATION:Africa/Bujumbura
+ BEGIN:STANDARD
+ TZOFFSETFROM:+015728
+--- a/kcal/libical/zoneinfo/Africa/Maseru.ics
++++ b/kcal/libical/zoneinfo/Africa/Maseru.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Maseru
++TZID:/kde.org/Olson_20071016_1/Africa/Maseru
+ X-LIC-LOCATION:Africa/Maseru
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0150
+--- a/kcal/libical/zoneinfo/Africa/Kinshasa.ics
++++ b/kcal/libical/zoneinfo/Africa/Kinshasa.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Kinshasa
++TZID:/kde.org/Olson_20071016_1/Africa/Kinshasa
+ X-LIC-LOCATION:Africa/Kinshasa
+ BEGIN:STANDARD
+ TZOFFSETFROM:+010112
+--- a/kcal/libical/zoneinfo/Arctic/Longyearbyen.ics
++++ b/kcal/libical/zoneinfo/Arctic/Longyearbyen.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Arctic/Longyearbyen
++TZID:/kde.org/Olson_20071016_1/Arctic/Longyearbyen
+ X-LIC-LOCATION:Arctic/Longyearbyen
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Australia/Lord_Howe.ics
++++ b/kcal/libical/zoneinfo/Australia/Lord_Howe.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Lord_Howe
++TZID:/kde.org/Olson_20071016_1/Australia/Lord_Howe
+ X-LIC-LOCATION:Australia/Lord_Howe
+ BEGIN:STANDARD
+ TZOFFSETFROM:+1100
+--- a/kcal/libical/zoneinfo/Australia/Perth.ics
++++ b/kcal/libical/zoneinfo/Australia/Perth.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Perth
++TZID:/kde.org/Olson_20071016_1/Australia/Perth
+ X-LIC-LOCATION:Australia/Perth
+ BEGIN:STANDARD
+ TZOFFSETFROM:+074324
+--- a/kcal/libical/zoneinfo/Australia/Darwin.ics
++++ b/kcal/libical/zoneinfo/Australia/Darwin.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Darwin
++TZID:/kde.org/Olson_20071016_1/Australia/Darwin
+ X-LIC-LOCATION:Australia/Darwin
+ BEGIN:STANDARD
+ TZOFFSETFROM:+084320
+--- a/kcal/libical/zoneinfo/Australia/Brisbane.ics
++++ b/kcal/libical/zoneinfo/Australia/Brisbane.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Brisbane
++TZID:/kde.org/Olson_20071016_1/Australia/Brisbane
+ X-LIC-LOCATION:Australia/Brisbane
+ BEGIN:STANDARD
+ TZOFFSETFROM:+101208
+--- a/kcal/libical/zoneinfo/Australia/Lindeman.ics
++++ b/kcal/libical/zoneinfo/Australia/Lindeman.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Lindeman
++TZID:/kde.org/Olson_20071016_1/Australia/Lindeman
+ X-LIC-LOCATION:Australia/Lindeman
+ BEGIN:STANDARD
+ TZOFFSETFROM:+095556
+--- a/kcal/libical/zoneinfo/Australia/Adelaide.ics
++++ b/kcal/libical/zoneinfo/Australia/Adelaide.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Adelaide
++TZID:/kde.org/Olson_20071016_1/Australia/Adelaide
+ X-LIC-LOCATION:Australia/Adelaide
+ BEGIN:STANDARD
+ TZOFFSETFROM:+1030
+--- a/kcal/libical/zoneinfo/Australia/Broken_Hill.ics
++++ b/kcal/libical/zoneinfo/Australia/Broken_Hill.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Broken_Hill
++TZID:/kde.org/Olson_20071016_1/Australia/Broken_Hill
+ X-LIC-LOCATION:Australia/Broken_Hill
+ BEGIN:STANDARD
+ TZOFFSETFROM:+1030
+--- a/kcal/libical/zoneinfo/Australia/Melbourne.ics
++++ b/kcal/libical/zoneinfo/Australia/Melbourne.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Melbourne
++TZID:/kde.org/Olson_20071016_1/Australia/Melbourne
+ X-LIC-LOCATION:Australia/Melbourne
+ BEGIN:STANDARD
+ TZOFFSETFROM:+1100
+--- a/kcal/libical/zoneinfo/Australia/Currie.ics
++++ b/kcal/libical/zoneinfo/Australia/Currie.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Currie
++TZID:/kde.org/Olson_20071016_1/Australia/Currie
+ X-LIC-LOCATION:Australia/Currie
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1000
+--- a/kcal/libical/zoneinfo/Australia/Eucla.ics
++++ b/kcal/libical/zoneinfo/Australia/Eucla.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Eucla
++TZID:/kde.org/Olson_20071016_1/Australia/Eucla
+ X-LIC-LOCATION:Australia/Eucla
+ BEGIN:STANDARD
+ TZOFFSETFROM:+083528
+--- a/kcal/libical/zoneinfo/Australia/Sydney.ics
++++ b/kcal/libical/zoneinfo/Australia/Sydney.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Sydney
++TZID:/kde.org/Olson_20071016_1/Australia/Sydney
+ X-LIC-LOCATION:Australia/Sydney
+ BEGIN:STANDARD
+ TZOFFSETFROM:+1100
+--- a/kcal/libical/zoneinfo/Australia/Hobart.ics
++++ b/kcal/libical/zoneinfo/Australia/Hobart.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Hobart
++TZID:/kde.org/Olson_20071016_1/Australia/Hobart
+ X-LIC-LOCATION:Australia/Hobart
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1000
+--- a/kcal/libical/zoneinfo/Antarctica/Syowa.ics
++++ b/kcal/libical/zoneinfo/Antarctica/Syowa.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/Syowa
++TZID:/kde.org/Olson_20071016_1/Antarctica/Syowa
+ X-LIC-LOCATION:Antarctica/Syowa
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Antarctica/Casey.ics
++++ b/kcal/libical/zoneinfo/Antarctica/Casey.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/Casey
++TZID:/kde.org/Olson_20071016_1/Antarctica/Casey
+ X-LIC-LOCATION:Antarctica/Casey
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Antarctica/Mawson.ics
++++ b/kcal/libical/zoneinfo/Antarctica/Mawson.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/Mawson
++TZID:/kde.org/Olson_20071016_1/Antarctica/Mawson
+ X-LIC-LOCATION:Antarctica/Mawson
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Antarctica/Rothera.ics
++++ b/kcal/libical/zoneinfo/Antarctica/Rothera.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/Rothera
++TZID:/kde.org/Olson_20071016_1/Antarctica/Rothera
+ X-LIC-LOCATION:Antarctica/Rothera
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Antarctica/Vostok.ics
++++ b/kcal/libical/zoneinfo/Antarctica/Vostok.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/Vostok
++TZID:/kde.org/Olson_20071016_1/Antarctica/Vostok
+ X-LIC-LOCATION:Antarctica/Vostok
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Antarctica/Davis.ics
++++ b/kcal/libical/zoneinfo/Antarctica/Davis.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/Davis
++TZID:/kde.org/Olson_20071016_1/Antarctica/Davis
+ X-LIC-LOCATION:Antarctica/Davis
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Antarctica/McMurdo.ics
++++ b/kcal/libical/zoneinfo/Antarctica/McMurdo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/McMurdo
++TZID:/kde.org/Olson_20071016_1/Antarctica/McMurdo
+ X-LIC-LOCATION:Antarctica/McMurdo
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1200
+--- a/kcal/libical/zoneinfo/Antarctica/DumontDUrville.ics
++++ b/kcal/libical/zoneinfo/Antarctica/DumontDUrville.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/DumontDUrville
++TZID:/kde.org/Olson_20071016_1/Antarctica/DumontDUrville
+ X-LIC-LOCATION:Antarctica/DumontDUrville
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Antarctica/Palmer.ics
++++ b/kcal/libical/zoneinfo/Antarctica/Palmer.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/Palmer
++TZID:/kde.org/Olson_20071016_1/Antarctica/Palmer
+ X-LIC-LOCATION:Antarctica/Palmer
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/Antarctica/South_Pole.ics
++++ b/kcal/libical/zoneinfo/Antarctica/South_Pole.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/South_Pole
++TZID:/kde.org/Olson_20071016_1/Antarctica/South_Pole
+ X-LIC-LOCATION:Antarctica/South_Pole
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1200
+--- a/kcal/libical/zoneinfo/Asia/Makassar.ics
++++ b/kcal/libical/zoneinfo/Asia/Makassar.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Makassar
++TZID:/kde.org/Olson_20071016_1/Asia/Makassar
+ X-LIC-LOCATION:Asia/Makassar
+ BEGIN:STANDARD
+ TZOFFSETFROM:+075736
+--- a/kcal/libical/zoneinfo/Asia/Karachi.ics
++++ b/kcal/libical/zoneinfo/Asia/Karachi.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Karachi
++TZID:/kde.org/Olson_20071016_1/Asia/Karachi
+ X-LIC-LOCATION:Asia/Karachi
+ BEGIN:STANDARD
+ TZOFFSETFROM:+042812
+--- a/kcal/libical/zoneinfo/Asia/Rangoon.ics
++++ b/kcal/libical/zoneinfo/Asia/Rangoon.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Rangoon
++TZID:/kde.org/Olson_20071016_1/Asia/Rangoon
+ X-LIC-LOCATION:Asia/Rangoon
+ BEGIN:STANDARD
+ TZOFFSETFROM:+062440
+--- a/kcal/libical/zoneinfo/Asia/Harbin.ics
++++ b/kcal/libical/zoneinfo/Asia/Harbin.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Harbin
++TZID:/kde.org/Olson_20071016_1/Asia/Harbin
+ X-LIC-LOCATION:Asia/Harbin
+ BEGIN:STANDARD
+ TZOFFSETFROM:+082644
+--- a/kcal/libical/zoneinfo/Asia/Novosibirsk.ics
++++ b/kcal/libical/zoneinfo/Asia/Novosibirsk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Novosibirsk
++TZID:/kde.org/Olson_20071016_1/Asia/Novosibirsk
+ X-LIC-LOCATION:Asia/Novosibirsk
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0600
+--- a/kcal/libical/zoneinfo/Asia/Yerevan.ics
++++ b/kcal/libical/zoneinfo/Asia/Yerevan.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Yerevan
++TZID:/kde.org/Olson_20071016_1/Asia/Yerevan
+ X-LIC-LOCATION:Asia/Yerevan
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0400
+--- a/kcal/libical/zoneinfo/Asia/Ashgabat.ics
++++ b/kcal/libical/zoneinfo/Asia/Ashgabat.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Ashgabat
++TZID:/kde.org/Olson_20071016_1/Asia/Ashgabat
+ X-LIC-LOCATION:Asia/Ashgabat
+ BEGIN:STANDARD
+ TZOFFSETFROM:+035332
+--- a/kcal/libical/zoneinfo/Asia/Ulaanbaatar.ics
++++ b/kcal/libical/zoneinfo/Asia/Ulaanbaatar.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Ulaanbaatar
++TZID:/kde.org/Olson_20071016_1/Asia/Ulaanbaatar
+ X-LIC-LOCATION:Asia/Ulaanbaatar
+ BEGIN:STANDARD
+ TZOFFSETFROM:+070732
+--- a/kcal/libical/zoneinfo/Asia/Jakarta.ics
++++ b/kcal/libical/zoneinfo/Asia/Jakarta.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Jakarta
++TZID:/kde.org/Olson_20071016_1/Asia/Jakarta
+ X-LIC-LOCATION:Asia/Jakarta
+ BEGIN:STANDARD
+ TZOFFSETFROM:+070712
+--- a/kcal/libical/zoneinfo/Asia/Thimphu.ics
++++ b/kcal/libical/zoneinfo/Asia/Thimphu.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Thimphu
++TZID:/kde.org/Olson_20071016_1/Asia/Thimphu
+ X-LIC-LOCATION:Asia/Thimphu
+ BEGIN:STANDARD
+ TZOFFSETFROM:+055836
+--- a/kcal/libical/zoneinfo/Asia/Saigon.ics
++++ b/kcal/libical/zoneinfo/Asia/Saigon.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Saigon
++TZID:/kde.org/Olson_20071016_1/Asia/Saigon
+ X-LIC-LOCATION:Asia/Saigon
+ BEGIN:STANDARD
+ TZOFFSETFROM:+070640
+--- a/kcal/libical/zoneinfo/Asia/Riyadh.ics
++++ b/kcal/libical/zoneinfo/Asia/Riyadh.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Riyadh
++TZID:/kde.org/Olson_20071016_1/Asia/Riyadh
+ X-LIC-LOCATION:Asia/Riyadh
+ BEGIN:STANDARD
+ TZOFFSETFROM:+030652
+--- a/kcal/libical/zoneinfo/Asia/Bishkek.ics
++++ b/kcal/libical/zoneinfo/Asia/Bishkek.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Bishkek
++TZID:/kde.org/Olson_20071016_1/Asia/Bishkek
+ X-LIC-LOCATION:Asia/Bishkek
+ BEGIN:STANDARD
+ TZOFFSETFROM:+045824
+--- a/kcal/libical/zoneinfo/Asia/Dili.ics
++++ b/kcal/libical/zoneinfo/Asia/Dili.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Dili
++TZID:/kde.org/Olson_20071016_1/Asia/Dili
+ X-LIC-LOCATION:Asia/Dili
+ BEGIN:STANDARD
+ TZOFFSETFROM:+082220
+--- a/kcal/libical/zoneinfo/Asia/Istanbul.ics
++++ b/kcal/libical/zoneinfo/Asia/Istanbul.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Istanbul
++TZID:/kde.org/Olson_20071016_1/Asia/Istanbul
+ X-LIC-LOCATION:Asia/Istanbul
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Asia/Pontianak.ics
++++ b/kcal/libical/zoneinfo/Asia/Pontianak.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Pontianak
++TZID:/kde.org/Olson_20071016_1/Asia/Pontianak
+ X-LIC-LOCATION:Asia/Pontianak
+ BEGIN:STANDARD
+ TZOFFSETFROM:+071720
+--- a/kcal/libical/zoneinfo/Asia/Kamchatka.ics
++++ b/kcal/libical/zoneinfo/Asia/Kamchatka.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Kamchatka
++TZID:/kde.org/Olson_20071016_1/Asia/Kamchatka
+ X-LIC-LOCATION:Asia/Kamchatka
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1200
+--- a/kcal/libical/zoneinfo/Asia/Seoul.ics
++++ b/kcal/libical/zoneinfo/Asia/Seoul.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Seoul
++TZID:/kde.org/Olson_20071016_1/Asia/Seoul
+ X-LIC-LOCATION:Asia/Seoul
+ BEGIN:STANDARD
+ TZOFFSETFROM:+082752
+--- a/kcal/libical/zoneinfo/Asia/Oral.ics
++++ b/kcal/libical/zoneinfo/Asia/Oral.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Oral
++TZID:/kde.org/Olson_20071016_1/Asia/Oral
+ X-LIC-LOCATION:Asia/Oral
+ BEGIN:STANDARD
+ TZOFFSETFROM:+032524
+--- a/kcal/libical/zoneinfo/Asia/Choibalsan.ics
++++ b/kcal/libical/zoneinfo/Asia/Choibalsan.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Choibalsan
++TZID:/kde.org/Olson_20071016_1/Asia/Choibalsan
+ X-LIC-LOCATION:Asia/Choibalsan
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0738
+--- a/kcal/libical/zoneinfo/Asia/Kuwait.ics
++++ b/kcal/libical/zoneinfo/Asia/Kuwait.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Kuwait
++TZID:/kde.org/Olson_20071016_1/Asia/Kuwait
+ X-LIC-LOCATION:Asia/Kuwait
+ BEGIN:STANDARD
+ TZOFFSETFROM:+031156
+--- a/kcal/libical/zoneinfo/Asia/Krasnoyarsk.ics
++++ b/kcal/libical/zoneinfo/Asia/Krasnoyarsk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Krasnoyarsk
++TZID:/kde.org/Olson_20071016_1/Asia/Krasnoyarsk
+ X-LIC-LOCATION:Asia/Krasnoyarsk
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0700
+--- a/kcal/libical/zoneinfo/Asia/Omsk.ics
++++ b/kcal/libical/zoneinfo/Asia/Omsk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Omsk
++TZID:/kde.org/Olson_20071016_1/Asia/Omsk
+ X-LIC-LOCATION:Asia/Omsk
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0600
+--- a/kcal/libical/zoneinfo/Asia/Baghdad.ics
++++ b/kcal/libical/zoneinfo/Asia/Baghdad.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Baghdad
++TZID:/kde.org/Olson_20071016_1/Asia/Baghdad
+ X-LIC-LOCATION:Asia/Baghdad
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0300
+--- a/kcal/libical/zoneinfo/Asia/Taipei.ics
++++ b/kcal/libical/zoneinfo/Asia/Taipei.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Taipei
++TZID:/kde.org/Olson_20071016_1/Asia/Taipei
+ X-LIC-LOCATION:Asia/Taipei
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0806
+--- a/kcal/libical/zoneinfo/Asia/Yekaterinburg.ics
++++ b/kcal/libical/zoneinfo/Asia/Yekaterinburg.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Yekaterinburg
++TZID:/kde.org/Olson_20071016_1/Asia/Yekaterinburg
+ X-LIC-LOCATION:Asia/Yekaterinburg
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0500
+--- a/kcal/libical/zoneinfo/Asia/Jayapura.ics
++++ b/kcal/libical/zoneinfo/Asia/Jayapura.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Jayapura
++TZID:/kde.org/Olson_20071016_1/Asia/Jayapura
+ X-LIC-LOCATION:Asia/Jayapura
+ BEGIN:STANDARD
+ TZOFFSETFROM:+092248
+--- a/kcal/libical/zoneinfo/Asia/Baku.ics
++++ b/kcal/libical/zoneinfo/Asia/Baku.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Baku
++TZID:/kde.org/Olson_20071016_1/Asia/Baku
+ X-LIC-LOCATION:Asia/Baku
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0400
+--- a/kcal/libical/zoneinfo/Asia/Urumqi.ics
++++ b/kcal/libical/zoneinfo/Asia/Urumqi.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Urumqi
++TZID:/kde.org/Olson_20071016_1/Asia/Urumqi
+ X-LIC-LOCATION:Asia/Urumqi
+ BEGIN:STANDARD
+ TZOFFSETFROM:+055020
+--- a/kcal/libical/zoneinfo/Asia/Vientiane.ics
++++ b/kcal/libical/zoneinfo/Asia/Vientiane.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Vientiane
++TZID:/kde.org/Olson_20071016_1/Asia/Vientiane
+ X-LIC-LOCATION:Asia/Vientiane
+ BEGIN:STANDARD
+ TZOFFSETFROM:+065024
+--- a/kcal/libical/zoneinfo/Asia/Dubai.ics
++++ b/kcal/libical/zoneinfo/Asia/Dubai.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Dubai
++TZID:/kde.org/Olson_20071016_1/Asia/Dubai
+ X-LIC-LOCATION:Asia/Dubai
+ BEGIN:STANDARD
+ TZOFFSETFROM:+034112
+--- a/kcal/libical/zoneinfo/Asia/Nicosia.ics
++++ b/kcal/libical/zoneinfo/Asia/Nicosia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Nicosia
++TZID:/kde.org/Olson_20071016_1/Asia/Nicosia
+ X-LIC-LOCATION:Asia/Nicosia
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0300
+--- a/kcal/libical/zoneinfo/Asia/Singapore.ics
++++ b/kcal/libical/zoneinfo/Asia/Singapore.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Singapore
++TZID:/kde.org/Olson_20071016_1/Asia/Singapore
+ X-LIC-LOCATION:Asia/Singapore
+ BEGIN:STANDARD
+ TZOFFSETFROM:+065525
+--- a/kcal/libical/zoneinfo/Asia/Dushanbe.ics
++++ b/kcal/libical/zoneinfo/Asia/Dushanbe.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Dushanbe
++TZID:/kde.org/Olson_20071016_1/Asia/Dushanbe
+ X-LIC-LOCATION:Asia/Dushanbe
+ BEGIN:STANDARD
+ TZOFFSETFROM:+043512
+--- a/kcal/libical/zoneinfo/Asia/Sakhalin.ics
++++ b/kcal/libical/zoneinfo/Asia/Sakhalin.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Sakhalin
++TZID:/kde.org/Olson_20071016_1/Asia/Sakhalin
+ X-LIC-LOCATION:Asia/Sakhalin
+ BEGIN:STANDARD
+ TZOFFSETFROM:+1100
+--- a/kcal/libical/zoneinfo/Asia/Qyzylorda.ics
++++ b/kcal/libical/zoneinfo/Asia/Qyzylorda.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Qyzylorda
++TZID:/kde.org/Olson_20071016_1/Asia/Qyzylorda
+ X-LIC-LOCATION:Asia/Qyzylorda
+ BEGIN:STANDARD
+ TZOFFSETFROM:+042152
+--- a/kcal/libical/zoneinfo/Asia/Kabul.ics
++++ b/kcal/libical/zoneinfo/Asia/Kabul.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Kabul
++TZID:/kde.org/Olson_20071016_1/Asia/Kabul
+ X-LIC-LOCATION:Asia/Kabul
+ BEGIN:STANDARD
+ TZOFFSETFROM:+043648
+--- a/kcal/libical/zoneinfo/Asia/Calcutta.ics
++++ b/kcal/libical/zoneinfo/Asia/Calcutta.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Calcutta
++TZID:/kde.org/Olson_20071016_1/Asia/Calcutta
+ X-LIC-LOCATION:Asia/Calcutta
+ BEGIN:STANDARD
+ TZOFFSETFROM:+055328
+--- a/kcal/libical/zoneinfo/Asia/Samarkand.ics
++++ b/kcal/libical/zoneinfo/Asia/Samarkand.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Samarkand
++TZID:/kde.org/Olson_20071016_1/Asia/Samarkand
+ X-LIC-LOCATION:Asia/Samarkand
+ BEGIN:STANDARD
+ TZOFFSETFROM:+042712
+--- a/kcal/libical/zoneinfo/Asia/Manila.ics
++++ b/kcal/libical/zoneinfo/Asia/Manila.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Manila
++TZID:/kde.org/Olson_20071016_1/Asia/Manila
+ X-LIC-LOCATION:Asia/Manila
+ BEGIN:STANDARD
+ TZOFFSETFROM:-1556
+--- a/kcal/libical/zoneinfo/Asia/Kuala_Lumpur.ics
++++ b/kcal/libical/zoneinfo/Asia/Kuala_Lumpur.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Kuala_Lumpur
++TZID:/kde.org/Olson_20071016_1/Asia/Kuala_Lumpur
+ X-LIC-LOCATION:Asia/Kuala_Lumpur
+ BEGIN:STANDARD
+ TZOFFSETFROM:+064646
+--- a/kcal/libical/zoneinfo/Asia/Katmandu.ics
++++ b/kcal/libical/zoneinfo/Asia/Katmandu.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Katmandu
++TZID:/kde.org/Olson_20071016_1/Asia/Katmandu
+ X-LIC-LOCATION:Asia/Katmandu
+ BEGIN:STANDARD
+ TZOFFSETFROM:+054116
+--- a/kcal/libical/zoneinfo/Asia/Bahrain.ics
++++ b/kcal/libical/zoneinfo/Asia/Bahrain.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Bahrain
++TZID:/kde.org/Olson_20071016_1/Asia/Bahrain
+ X-LIC-LOCATION:Asia/Bahrain
+ BEGIN:STANDARD
+ TZOFFSETFROM:+032220
+--- a/kcal/libical/zoneinfo/Asia/Aden.ics
++++ b/kcal/libical/zoneinfo/Asia/Aden.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Aden
++TZID:/kde.org/Olson_20071016_1/Asia/Aden
+ X-LIC-LOCATION:Asia/Aden
+ BEGIN:STANDARD
+ TZOFFSETFROM:+030048
+--- a/kcal/libical/zoneinfo/Asia/Qatar.ics
++++ b/kcal/libical/zoneinfo/Asia/Qatar.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Qatar
++TZID:/kde.org/Olson_20071016_1/Asia/Qatar
+ X-LIC-LOCATION:Asia/Qatar
+ BEGIN:STANDARD
+ TZOFFSETFROM:+032608
+--- a/kcal/libical/zoneinfo/Asia/Dhaka.ics
++++ b/kcal/libical/zoneinfo/Asia/Dhaka.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Dhaka
++TZID:/kde.org/Olson_20071016_1/Asia/Dhaka
+ X-LIC-LOCATION:Asia/Dhaka
+ BEGIN:STANDARD
+ TZOFFSETFROM:+060140
+--- a/kcal/libical/zoneinfo/Asia/Pyongyang.ics
++++ b/kcal/libical/zoneinfo/Asia/Pyongyang.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Pyongyang
++TZID:/kde.org/Olson_20071016_1/Asia/Pyongyang
+ X-LIC-LOCATION:Asia/Pyongyang
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0823
+--- a/kcal/libical/zoneinfo/Asia/Aqtobe.ics
++++ b/kcal/libical/zoneinfo/Asia/Aqtobe.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Aqtobe
++TZID:/kde.org/Olson_20071016_1/Asia/Aqtobe
+ X-LIC-LOCATION:Asia/Aqtobe
+ BEGIN:STANDARD
+ TZOFFSETFROM:+034840
+--- a/kcal/libical/zoneinfo/Asia/Aqtau.ics
++++ b/kcal/libical/zoneinfo/Asia/Aqtau.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Aqtau
++TZID:/kde.org/Olson_20071016_1/Asia/Aqtau
+ X-LIC-LOCATION:Asia/Aqtau
+ BEGIN:STANDARD
+ TZOFFSETFROM:+032104
+--- a/kcal/libical/zoneinfo/Asia/Chongqing.ics
++++ b/kcal/libical/zoneinfo/Asia/Chongqing.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Chongqing
++TZID:/kde.org/Olson_20071016_1/Asia/Chongqing
+ X-LIC-LOCATION:Asia/Chongqing
+ BEGIN:STANDARD
+ TZOFFSETFROM:+070620
+--- a/kcal/libical/zoneinfo/Asia/Anadyr.ics
++++ b/kcal/libical/zoneinfo/Asia/Anadyr.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Anadyr
++TZID:/kde.org/Olson_20071016_1/Asia/Anadyr
+ X-LIC-LOCATION:Asia/Anadyr
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1200
+--- a/kcal/libical/zoneinfo/Asia/Kashgar.ics
++++ b/kcal/libical/zoneinfo/Asia/Kashgar.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Kashgar
++TZID:/kde.org/Olson_20071016_1/Asia/Kashgar
+ X-LIC-LOCATION:Asia/Kashgar
+ BEGIN:STANDARD
+ TZOFFSETFROM:+050356
+--- a/kcal/libical/zoneinfo/Asia/Tashkent.ics
++++ b/kcal/libical/zoneinfo/Asia/Tashkent.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Tashkent
++TZID:/kde.org/Olson_20071016_1/Asia/Tashkent
+ X-LIC-LOCATION:Asia/Tashkent
+ BEGIN:STANDARD
+ TZOFFSETFROM:+043712
+--- a/kcal/libical/zoneinfo/Asia/Tehran.ics
++++ b/kcal/libical/zoneinfo/Asia/Tehran.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Tehran
++TZID:/kde.org/Olson_20071016_1/Asia/Tehran
+ X-LIC-LOCATION:Asia/Tehran
+ BEGIN:STANDARD
+ TZOFFSETFROM:+032544
+@@ -68,6 +68,36 @@
+ RDATE:20030322T000000
+ RDATE:20040321T000000
+ RDATE:20050322T000000
++RDATE:20080321T000000
++RDATE:20090322T000000
++RDATE:20100322T000000
++RDATE:20110322T000000
++RDATE:20120321T000000
++RDATE:20130322T000000
++RDATE:20140322T000000
++RDATE:20150322T000000
++RDATE:20160321T000000
++RDATE:20170322T000000
++RDATE:20180322T000000
++RDATE:20190322T000000
++RDATE:20200321T000000
++RDATE:20210322T000000
++RDATE:20220322T000000
++RDATE:20230322T000000
++RDATE:20240321T000000
++RDATE:20250322T000000
++RDATE:20260322T000000
++RDATE:20270322T000000
++RDATE:20280321T000000
++RDATE:20290321T000000
++RDATE:20300322T000000
++RDATE:20310322T000000
++RDATE:20320321T000000
++RDATE:20330321T000000
++RDATE:20340322T000000
++RDATE:20350322T000000
++RDATE:20360321T000000
++RDATE:20370321T000000
+ END:DAYLIGHT
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0430
+@@ -91,6 +121,36 @@
+ RDATE:20030922T000000
+ RDATE:20040921T000000
+ RDATE:20050922T000000
++RDATE:20080921T000000
++RDATE:20090922T000000
++RDATE:20100922T000000
++RDATE:20110922T000000
++RDATE:20120921T000000
++RDATE:20130922T000000
++RDATE:20140922T000000
++RDATE:20150922T000000
++RDATE:20160921T000000
++RDATE:20170922T000000
++RDATE:20180922T000000
++RDATE:20190922T000000
++RDATE:20200921T000000
++RDATE:20210922T000000
++RDATE:20220922T000000
++RDATE:20230922T000000
++RDATE:20240921T000000
++RDATE:20250922T000000
++RDATE:20260922T000000
++RDATE:20270922T000000
++RDATE:20280921T000000
++RDATE:20290921T000000
++RDATE:20300922T000000
++RDATE:20310922T000000
++RDATE:20320921T000000
++RDATE:20330921T000000
++RDATE:20340922T000000
++RDATE:20350922T000000
++RDATE:20360921T000000
++RDATE:20370921T000000
+ END:STANDARD
+ END:VTIMEZONE
+ END:VCALENDAR
+--- a/kcal/libical/zoneinfo/Asia/Magadan.ics
++++ b/kcal/libical/zoneinfo/Asia/Magadan.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Magadan
++TZID:/kde.org/Olson_20071016_1/Asia/Magadan
+ X-LIC-LOCATION:Asia/Magadan
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1100
+--- a/kcal/libical/zoneinfo/Asia/Colombo.ics
++++ b/kcal/libical/zoneinfo/Asia/Colombo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Colombo
++TZID:/kde.org/Olson_20071016_1/Asia/Colombo
+ X-LIC-LOCATION:Asia/Colombo
+ BEGIN:STANDARD
+ TZOFFSETFROM:+051924
+--- a/kcal/libical/zoneinfo/Asia/Phnom_Penh.ics
++++ b/kcal/libical/zoneinfo/Asia/Phnom_Penh.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Phnom_Penh
++TZID:/kde.org/Olson_20071016_1/Asia/Phnom_Penh
+ X-LIC-LOCATION:Asia/Phnom_Penh
+ BEGIN:STANDARD
+ TZOFFSETFROM:+065940
+--- a/kcal/libical/zoneinfo/Asia/Yakutsk.ics
++++ b/kcal/libical/zoneinfo/Asia/Yakutsk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Yakutsk
++TZID:/kde.org/Olson_20071016_1/Asia/Yakutsk
+ X-LIC-LOCATION:Asia/Yakutsk
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0900
+--- a/kcal/libical/zoneinfo/Asia/Muscat.ics
++++ b/kcal/libical/zoneinfo/Asia/Muscat.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Muscat
++TZID:/kde.org/Olson_20071016_1/Asia/Muscat
+ X-LIC-LOCATION:Asia/Muscat
+ BEGIN:STANDARD
+ TZOFFSETFROM:+035420
+--- a/kcal/libical/zoneinfo/Asia/Damascus.ics
++++ b/kcal/libical/zoneinfo/Asia/Damascus.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Damascus
++TZID:/kde.org/Olson_20071016_1/Asia/Damascus
+ X-LIC-LOCATION:Asia/Damascus
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Asia/Hovd.ics
++++ b/kcal/libical/zoneinfo/Asia/Hovd.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Hovd
++TZID:/kde.org/Olson_20071016_1/Asia/Hovd
+ X-LIC-LOCATION:Asia/Hovd
+ BEGIN:STANDARD
+ TZOFFSETFROM:+060636
+--- a/kcal/libical/zoneinfo/Asia/Tokyo.ics
++++ b/kcal/libical/zoneinfo/Asia/Tokyo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Tokyo
++TZID:/kde.org/Olson_20071016_1/Asia/Tokyo
+ X-LIC-LOCATION:Asia/Tokyo
+ BEGIN:STANDARD
+ TZOFFSETFROM:+091859
+--- a/kcal/libical/zoneinfo/Asia/Vladivostok.ics
++++ b/kcal/libical/zoneinfo/Asia/Vladivostok.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Vladivostok
++TZID:/kde.org/Olson_20071016_1/Asia/Vladivostok
+ X-LIC-LOCATION:Asia/Vladivostok
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1000
+--- a/kcal/libical/zoneinfo/Asia/Hong_Kong.ics
++++ b/kcal/libical/zoneinfo/Asia/Hong_Kong.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Hong_Kong
++TZID:/kde.org/Olson_20071016_1/Asia/Hong_Kong
+ X-LIC-LOCATION:Asia/Hong_Kong
+ BEGIN:STANDARD
+ TZOFFSETFROM:+073636
+--- a/kcal/libical/zoneinfo/Asia/Bangkok.ics
++++ b/kcal/libical/zoneinfo/Asia/Bangkok.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Bangkok
++TZID:/kde.org/Olson_20071016_1/Asia/Bangkok
+ X-LIC-LOCATION:Asia/Bangkok
+ BEGIN:STANDARD
+ TZOFFSETFROM:+064204
+--- a/kcal/libical/zoneinfo/Asia/Shanghai.ics
++++ b/kcal/libical/zoneinfo/Asia/Shanghai.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Shanghai
++TZID:/kde.org/Olson_20071016_1/Asia/Shanghai
+ X-LIC-LOCATION:Asia/Shanghai
+ BEGIN:STANDARD
+ TZOFFSETFROM:+080552
+--- a/kcal/libical/zoneinfo/Asia/Gaza.ics
++++ b/kcal/libical/zoneinfo/Asia/Gaza.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Gaza
++TZID:/kde.org/Olson_20071016_1/Asia/Gaza
+ X-LIC-LOCATION:Asia/Gaza
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+@@ -15,8 +15,8 @@
+ TZOFFSETFROM:+0300
+ TZOFFSETTO:+0200
+ TZNAME:EET
+-DTSTART:20071019T000000
+-RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=3FR
++DTSTART:20070913T020000
++RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=2TH
+ END:STANDARD
+ BEGIN:STANDARD
+ TZOFFSETFROM:+021752
+--- a/kcal/libical/zoneinfo/Asia/Brunei.ics
++++ b/kcal/libical/zoneinfo/Asia/Brunei.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Brunei
++TZID:/kde.org/Olson_20071016_1/Asia/Brunei
+ X-LIC-LOCATION:Asia/Brunei
+ BEGIN:STANDARD
+ TZOFFSETFROM:+073940
+--- a/kcal/libical/zoneinfo/Asia/Macau.ics
++++ b/kcal/libical/zoneinfo/Asia/Macau.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Macau
++TZID:/kde.org/Olson_20071016_1/Asia/Macau
+ X-LIC-LOCATION:Asia/Macau
+ BEGIN:STANDARD
+ TZOFFSETFROM:+073420
+--- a/kcal/libical/zoneinfo/Asia/Almaty.ics
++++ b/kcal/libical/zoneinfo/Asia/Almaty.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Almaty
++TZID:/kde.org/Olson_20071016_1/Asia/Almaty
+ X-LIC-LOCATION:Asia/Almaty
+ BEGIN:STANDARD
+ TZOFFSETFROM:+050748
+--- a/kcal/libical/zoneinfo/Asia/Jerusalem.ics
++++ b/kcal/libical/zoneinfo/Asia/Jerusalem.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Jerusalem
++TZID:/kde.org/Olson_20071016_1/Asia/Jerusalem
+ X-LIC-LOCATION:Asia/Jerusalem
+ BEGIN:STANDARD
+ TZOFFSETFROM:+022056
+--- a/kcal/libical/zoneinfo/Asia/Kuching.ics
++++ b/kcal/libical/zoneinfo/Asia/Kuching.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Kuching
++TZID:/kde.org/Olson_20071016_1/Asia/Kuching
+ X-LIC-LOCATION:Asia/Kuching
+ BEGIN:STANDARD
+ TZOFFSETFROM:+072120
+--- a/kcal/libical/zoneinfo/Asia/Amman.ics
++++ b/kcal/libical/zoneinfo/Asia/Amman.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Amman
++TZID:/kde.org/Olson_20071016_1/Asia/Amman
+ X-LIC-LOCATION:Asia/Amman
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Asia/Beirut.ics
++++ b/kcal/libical/zoneinfo/Asia/Beirut.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Beirut
++TZID:/kde.org/Olson_20071016_1/Asia/Beirut
+ X-LIC-LOCATION:Asia/Beirut
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Asia/Irkutsk.ics
++++ b/kcal/libical/zoneinfo/Asia/Irkutsk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Irkutsk
++TZID:/kde.org/Olson_20071016_1/Asia/Irkutsk
+ X-LIC-LOCATION:Asia/Irkutsk
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0800
+--- a/kcal/libical/zoneinfo/Asia/Tbilisi.ics
++++ b/kcal/libical/zoneinfo/Asia/Tbilisi.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Tbilisi
++TZID:/kde.org/Olson_20071016_1/Asia/Tbilisi
+ X-LIC-LOCATION:Asia/Tbilisi
+ BEGIN:STANDARD
+ TZOFFSETFROM:+025916
+--- a/kcal/libical/zoneinfo/Pacific/Palau.ics
++++ b/kcal/libical/zoneinfo/Pacific/Palau.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Palau
++TZID:/kde.org/Olson_20071016_1/Pacific/Palau
+ X-LIC-LOCATION:Pacific/Palau
+ BEGIN:STANDARD
+ TZOFFSETFROM:+085756
+--- a/kcal/libical/zoneinfo/Pacific/Tongatapu.ics
++++ b/kcal/libical/zoneinfo/Pacific/Tongatapu.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Tongatapu
++TZID:/kde.org/Olson_20071016_1/Pacific/Tongatapu
+ X-LIC-LOCATION:Pacific/Tongatapu
+ BEGIN:STANDARD
+ TZOFFSETFROM:+121920
+--- a/kcal/libical/zoneinfo/Pacific/Fakaofo.ics
++++ b/kcal/libical/zoneinfo/Pacific/Fakaofo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Fakaofo
++TZID:/kde.org/Olson_20071016_1/Pacific/Fakaofo
+ X-LIC-LOCATION:Pacific/Fakaofo
+ BEGIN:STANDARD
+ TZOFFSETFROM:-112456
+--- a/kcal/libical/zoneinfo/Pacific/Gambier.ics
++++ b/kcal/libical/zoneinfo/Pacific/Gambier.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Gambier
++TZID:/kde.org/Olson_20071016_1/Pacific/Gambier
+ X-LIC-LOCATION:Pacific/Gambier
+ BEGIN:STANDARD
+ TZOFFSETFROM:-085948
+--- a/kcal/libical/zoneinfo/Pacific/Norfolk.ics
++++ b/kcal/libical/zoneinfo/Pacific/Norfolk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Norfolk
++TZID:/kde.org/Olson_20071016_1/Pacific/Norfolk
+ X-LIC-LOCATION:Pacific/Norfolk
+ BEGIN:STANDARD
+ TZOFFSETFROM:+111152
+--- a/kcal/libical/zoneinfo/Pacific/Apia.ics
++++ b/kcal/libical/zoneinfo/Pacific/Apia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Apia
++TZID:/kde.org/Olson_20071016_1/Pacific/Apia
+ X-LIC-LOCATION:Pacific/Apia
+ BEGIN:STANDARD
+ TZOFFSETFROM:+123304
+--- a/kcal/libical/zoneinfo/Pacific/Saipan.ics
++++ b/kcal/libical/zoneinfo/Pacific/Saipan.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Saipan
++TZID:/kde.org/Olson_20071016_1/Pacific/Saipan
+ X-LIC-LOCATION:Pacific/Saipan
+ BEGIN:STANDARD
+ TZOFFSETFROM:-1417
+--- a/kcal/libical/zoneinfo/Pacific/Tarawa.ics
++++ b/kcal/libical/zoneinfo/Pacific/Tarawa.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Tarawa
++TZID:/kde.org/Olson_20071016_1/Pacific/Tarawa
+ X-LIC-LOCATION:Pacific/Tarawa
+ BEGIN:STANDARD
+ TZOFFSETFROM:+113204
+--- a/kcal/libical/zoneinfo/Pacific/Fiji.ics
++++ b/kcal/libical/zoneinfo/Pacific/Fiji.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Fiji
++TZID:/kde.org/Olson_20071016_1/Pacific/Fiji
+ X-LIC-LOCATION:Pacific/Fiji
+ BEGIN:STANDARD
+ TZOFFSETFROM:+115340
+--- a/kcal/libical/zoneinfo/Pacific/Funafuti.ics
++++ b/kcal/libical/zoneinfo/Pacific/Funafuti.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Funafuti
++TZID:/kde.org/Olson_20071016_1/Pacific/Funafuti
+ X-LIC-LOCATION:Pacific/Funafuti
+ BEGIN:STANDARD
+ TZOFFSETFROM:+115652
+--- a/kcal/libical/zoneinfo/Pacific/Easter.ics
++++ b/kcal/libical/zoneinfo/Pacific/Easter.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Easter
++TZID:/kde.org/Olson_20071016_1/Pacific/Easter
+ X-LIC-LOCATION:Pacific/Easter
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/Pacific/Port_Moresby.ics
++++ b/kcal/libical/zoneinfo/Pacific/Port_Moresby.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Port_Moresby
++TZID:/kde.org/Olson_20071016_1/Pacific/Port_Moresby
+ X-LIC-LOCATION:Pacific/Port_Moresby
+ BEGIN:STANDARD
+ TZOFFSETFROM:+094840
+--- a/kcal/libical/zoneinfo/Pacific/Kosrae.ics
++++ b/kcal/libical/zoneinfo/Pacific/Kosrae.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Kosrae
++TZID:/kde.org/Olson_20071016_1/Pacific/Kosrae
+ X-LIC-LOCATION:Pacific/Kosrae
+ BEGIN:STANDARD
+ TZOFFSETFROM:+105156
+--- a/kcal/libical/zoneinfo/Pacific/Truk.ics
++++ b/kcal/libical/zoneinfo/Pacific/Truk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Truk
++TZID:/kde.org/Olson_20071016_1/Pacific/Truk
+ X-LIC-LOCATION:Pacific/Truk
+ BEGIN:STANDARD
+ TZOFFSETFROM:+100708
+--- a/kcal/libical/zoneinfo/Pacific/Wake.ics
++++ b/kcal/libical/zoneinfo/Pacific/Wake.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Wake
++TZID:/kde.org/Olson_20071016_1/Pacific/Wake
+ X-LIC-LOCATION:Pacific/Wake
+ BEGIN:STANDARD
+ TZOFFSETFROM:+110628
+--- a/kcal/libical/zoneinfo/Pacific/Guam.ics
++++ b/kcal/libical/zoneinfo/Pacific/Guam.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Guam
++TZID:/kde.org/Olson_20071016_1/Pacific/Guam
+ X-LIC-LOCATION:Pacific/Guam
+ BEGIN:STANDARD
+ TZOFFSETFROM:-1421
+--- a/kcal/libical/zoneinfo/Pacific/Pago_Pago.ics
++++ b/kcal/libical/zoneinfo/Pacific/Pago_Pago.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Pago_Pago
++TZID:/kde.org/Olson_20071016_1/Pacific/Pago_Pago
+ X-LIC-LOCATION:Pacific/Pago_Pago
+ BEGIN:STANDARD
+ TZOFFSETFROM:+123712
+--- a/kcal/libical/zoneinfo/Pacific/Majuro.ics
++++ b/kcal/libical/zoneinfo/Pacific/Majuro.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Majuro
++TZID:/kde.org/Olson_20071016_1/Pacific/Majuro
+ X-LIC-LOCATION:Pacific/Majuro
+ BEGIN:STANDARD
+ TZOFFSETFROM:+112448
+--- a/kcal/libical/zoneinfo/Pacific/Galapagos.ics
++++ b/kcal/libical/zoneinfo/Pacific/Galapagos.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Galapagos
++TZID:/kde.org/Olson_20071016_1/Pacific/Galapagos
+ X-LIC-LOCATION:Pacific/Galapagos
+ BEGIN:STANDARD
+ TZOFFSETFROM:-055824
+--- a/kcal/libical/zoneinfo/Pacific/Enderbury.ics
++++ b/kcal/libical/zoneinfo/Pacific/Enderbury.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Enderbury
++TZID:/kde.org/Olson_20071016_1/Pacific/Enderbury
+ X-LIC-LOCATION:Pacific/Enderbury
+ BEGIN:STANDARD
+ TZOFFSETFROM:-112420
+--- a/kcal/libical/zoneinfo/Pacific/Johnston.ics
++++ b/kcal/libical/zoneinfo/Pacific/Johnston.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Johnston
++TZID:/kde.org/Olson_20071016_1/Pacific/Johnston
+ X-LIC-LOCATION:Pacific/Johnston
+ BEGIN:STANDARD
+ TZOFFSETFROM:-1000
+--- a/kcal/libical/zoneinfo/Pacific/Kwajalein.ics
++++ b/kcal/libical/zoneinfo/Pacific/Kwajalein.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Kwajalein
++TZID:/kde.org/Olson_20071016_1/Pacific/Kwajalein
+ X-LIC-LOCATION:Pacific/Kwajalein
+ BEGIN:STANDARD
+ TZOFFSETFROM:+110920
+--- a/kcal/libical/zoneinfo/Pacific/Chatham.ics
++++ b/kcal/libical/zoneinfo/Pacific/Chatham.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Chatham
++TZID:/kde.org/Olson_20071016_1/Pacific/Chatham
+ X-LIC-LOCATION:Pacific/Chatham
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1245
+--- a/kcal/libical/zoneinfo/Pacific/Honolulu.ics
++++ b/kcal/libical/zoneinfo/Pacific/Honolulu.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Honolulu
++TZID:/kde.org/Olson_20071016_1/Pacific/Honolulu
+ X-LIC-LOCATION:Pacific/Honolulu
+ BEGIN:STANDARD
+ TZOFFSETFROM:-103126
+--- a/kcal/libical/zoneinfo/Pacific/Kiritimati.ics
++++ b/kcal/libical/zoneinfo/Pacific/Kiritimati.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Kiritimati
++TZID:/kde.org/Olson_20071016_1/Pacific/Kiritimati
+ X-LIC-LOCATION:Pacific/Kiritimati
+ BEGIN:STANDARD
+ TZOFFSETFROM:-102920
+--- a/kcal/libical/zoneinfo/Pacific/Pitcairn.ics
++++ b/kcal/libical/zoneinfo/Pacific/Pitcairn.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Pitcairn
++TZID:/kde.org/Olson_20071016_1/Pacific/Pitcairn
+ X-LIC-LOCATION:Pacific/Pitcairn
+ BEGIN:STANDARD
+ TZOFFSETFROM:-084020
+--- a/kcal/libical/zoneinfo/Pacific/Ponape.ics
++++ b/kcal/libical/zoneinfo/Pacific/Ponape.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Ponape
++TZID:/kde.org/Olson_20071016_1/Pacific/Ponape
+ X-LIC-LOCATION:Pacific/Ponape
+ BEGIN:STANDARD
+ TZOFFSETFROM:+103252
+--- a/kcal/libical/zoneinfo/Pacific/Auckland.ics
++++ b/kcal/libical/zoneinfo/Pacific/Auckland.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Auckland
++TZID:/kde.org/Olson_20071016_1/Pacific/Auckland
+ X-LIC-LOCATION:Pacific/Auckland
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1200
+--- a/kcal/libical/zoneinfo/Pacific/Tahiti.ics
++++ b/kcal/libical/zoneinfo/Pacific/Tahiti.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Tahiti
++TZID:/kde.org/Olson_20071016_1/Pacific/Tahiti
+ X-LIC-LOCATION:Pacific/Tahiti
+ BEGIN:STANDARD
+ TZOFFSETFROM:-095816
+--- a/kcal/libical/zoneinfo/Pacific/Noumea.ics
++++ b/kcal/libical/zoneinfo/Pacific/Noumea.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Noumea
++TZID:/kde.org/Olson_20071016_1/Pacific/Noumea
+ X-LIC-LOCATION:Pacific/Noumea
+ BEGIN:STANDARD
+ TZOFFSETFROM:+110548
+--- a/kcal/libical/zoneinfo/Pacific/Efate.ics
++++ b/kcal/libical/zoneinfo/Pacific/Efate.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Efate
++TZID:/kde.org/Olson_20071016_1/Pacific/Efate
+ X-LIC-LOCATION:Pacific/Efate
+ BEGIN:STANDARD
+ TZOFFSETFROM:+111316
+--- a/kcal/libical/zoneinfo/Pacific/Nauru.ics
++++ b/kcal/libical/zoneinfo/Pacific/Nauru.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Nauru
++TZID:/kde.org/Olson_20071016_1/Pacific/Nauru
+ X-LIC-LOCATION:Pacific/Nauru
+ BEGIN:STANDARD
+ TZOFFSETFROM:+110740
+--- a/kcal/libical/zoneinfo/Pacific/Midway.ics
++++ b/kcal/libical/zoneinfo/Pacific/Midway.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Midway
++TZID:/kde.org/Olson_20071016_1/Pacific/Midway
+ X-LIC-LOCATION:Pacific/Midway
+ BEGIN:STANDARD
+ TZOFFSETFROM:-114928
+--- a/kcal/libical/zoneinfo/Pacific/Wallis.ics
++++ b/kcal/libical/zoneinfo/Pacific/Wallis.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Wallis
++TZID:/kde.org/Olson_20071016_1/Pacific/Wallis
+ X-LIC-LOCATION:Pacific/Wallis
+ BEGIN:STANDARD
+ TZOFFSETFROM:+121520
+--- a/kcal/libical/zoneinfo/Pacific/Rarotonga.ics
++++ b/kcal/libical/zoneinfo/Pacific/Rarotonga.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Rarotonga
++TZID:/kde.org/Olson_20071016_1/Pacific/Rarotonga
+ X-LIC-LOCATION:Pacific/Rarotonga
+ BEGIN:STANDARD
+ TZOFFSETFROM:-103904
+--- a/kcal/libical/zoneinfo/Pacific/Guadalcanal.ics
++++ b/kcal/libical/zoneinfo/Pacific/Guadalcanal.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Guadalcanal
++TZID:/kde.org/Olson_20071016_1/Pacific/Guadalcanal
+ X-LIC-LOCATION:Pacific/Guadalcanal
+ BEGIN:STANDARD
+ TZOFFSETFROM:+103948
+--- a/kcal/libical/zoneinfo/Pacific/Niue.ics
++++ b/kcal/libical/zoneinfo/Pacific/Niue.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Niue
++TZID:/kde.org/Olson_20071016_1/Pacific/Niue
+ X-LIC-LOCATION:Pacific/Niue
+ BEGIN:STANDARD
+ TZOFFSETFROM:-111940
+--- a/kcal/libical/zoneinfo/Pacific/Marquesas.ics
++++ b/kcal/libical/zoneinfo/Pacific/Marquesas.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Marquesas
++TZID:/kde.org/Olson_20071016_1/Pacific/Marquesas
+ X-LIC-LOCATION:Pacific/Marquesas
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0918
+--- a/kcal/resourcelocaldir_plugin.cpp
++++ b/kcal/resourcelocaldir_plugin.cpp
+@@ -24,10 +24,6 @@
+ 
+ using namespace KCal;
+ 
+-extern "C"
+-{
+-  KDE_EXPORT void *init_kcal_localdir()
+-  {
+-    return new KRES::PluginFactory<ResourceLocalDir,ResourceLocalDirConfig>();
+-  }
+-}
++typedef KRES::PluginFactory<ResourceLocalDir, ResourceLocalDirConfig> ResourceLocalDirFactory;
++
++K_EXPORT_PLUGIN(ResourceLocalDirFactory)
+--- a/kcal/CMakeLists.txt
++++ b/kcal/CMakeLists.txt
+@@ -244,7 +244,11 @@
+ target_link_libraries(kcal ${KDE4_KDEUI_LIBS} ${QT_QTXML_LIBRARY} kresources kabc kpimutils )
+ 
+ set_target_properties(kcal PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION})
+-install(TARGETS kcal DESTINATION ${LIB_INSTALL_DIR})
++install(TARGETS kcal 
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+ 
+ # hack to force ical[ss].h creation
+ add_custom_target(ical-headers DEPENDS
+--- a/kcal/incidenceformatter.cpp
++++ b/kcal/incidenceformatter.cpp
+@@ -93,9 +93,9 @@
+   QString tmpStr;
+   if ( !event->categoriesStr().isEmpty() ) {
+     if ( event->categories().count() == 1 ) {
+-      tmpStr = eventViewerAddTag( "h2", i18n( "Category" ) );
++      tmpStr = eventViewerAddTag( "h3", i18n( "Category" ) );
+     } else {
+-      tmpStr = eventViewerAddTag( "h2", i18n( "Categories" ) );
++      tmpStr = eventViewerAddTag( "h3", i18n( "Categories" ) );
+     }
+     tmpStr += eventViewerAddTag( "p", event->categoriesStr() );
+   }
+@@ -162,14 +162,14 @@
+     const QString iconPath = iconLoader->iconPath( "mail", KIconLoader::Small );
+ 
+     // Add organizer link
+-    tmpStr += eventViewerAddTag( "h3", i18n( "Organizer" ) );
++    tmpStr += eventViewerAddTag( "h4", i18n( "Organizer" ) );
+     tmpStr += "<ul>";
+     tmpStr += linkPerson( event->organizer().email(), event->organizer().name(),
+                           QString(), iconPath );
+     tmpStr += "</ul>";
+ 
+     // Add attendees links
+-    tmpStr += eventViewerAddTag( "h3", i18n( "Attendees" ) );
++    tmpStr += eventViewerAddTag( "h4", i18n( "Attendees" ) );
+     tmpStr += "<ul>";
+     Attendee::List::ConstIterator it;
+     for ( it = attendees.begin(); it != attendees.end(); ++it ) {
+@@ -262,7 +262,7 @@
+     tmpStr += "</td>";
+   }
+ 
+-  tmpStr += "<td>" + eventViewerAddTag( "h1", incidence->summary() ) + "</td>";
++  tmpStr += "<td>" + eventViewerAddTag( "h2", incidence->summary() ) + "</td>";
+   tmpStr += "</tr></table><br>";
+ 
+   return tmpStr;
+@@ -342,7 +342,7 @@
+   if ( event->categories().count() > 0 ) {
+     tmpStr += "<tr>";
+     tmpStr += "<td align=\"right\"><b>";
+-    tmpStr += i18np( "1 category", "%1 categories", event->categories().count() )+ "</b></td>";
++    tmpStr += i18np( "1&nbsp;category", "%1&nbsp;categories", event->categories().count() )+ "</b></td>";
+     tmpStr += "<td>" + event->categoriesStr() + "</td>";
+     tmpStr += "</tr>";
+   }
+@@ -364,7 +364,7 @@
+   if ( attachmentCount > 0 ) {
+     tmpStr += "<tr>";
+     tmpStr += "<td align=\"right\"><b>";
+-    tmpStr += i18np( "1 attachment", "%1 attachments", attachmentCount )+ "</b></td>";
++    tmpStr += i18np( "1&nbsp;attachment", "%1&nbsp;attachments", attachmentCount )+ "</b></td>";
+     tmpStr += "<td>" + eventViewerFormatAttachments( event ) + "</td>";
+     tmpStr += "</tr>";
+   }
+@@ -428,10 +428,10 @@
+ 
+   QString tmpStr;
+   if ( !journal->summary().isEmpty() ) {
+-    tmpStr+= eventViewerAddTag( "h1", journal->summary() );
++    tmpStr+= eventViewerAddTag( "h2", journal->summary() );
+   }
+   tmpStr += eventViewerAddTag(
+-    "h2", i18n( "Journal for %1",
++    "h3", i18n( "Journal for %1",
+                 journal->dtStartDateStr( false, journal->dtStart().timeSpec() ) ) );
+   if ( !journal->description().isEmpty() ) {
+     tmpStr += eventViewerAddTag( "p", journal->description() );
+@@ -447,9 +447,9 @@
+ 
+   QString tmpStr(
+     eventViewerAddTag(
+-      "h1", i18n( "Free/Busy information for %1", fb->organizer().fullName() ) ) );
++      "h2", i18n( "Free/Busy information for %1", fb->organizer().fullName() ) ) );
+   tmpStr += eventViewerAddTag(
+-    "h3", i18n( "Busy times in date range %1 - %2:",
++    "h4", i18n( "Busy times in date range %1 - %2:",
+                 KGlobal::locale()->formatDate( fb->dtStart().date(), KLocale::ShortDate ),
+                 KGlobal::locale()->formatDate( fb->dtEnd().date(), KLocale::ShortDate ) ) );
+ 
+@@ -755,7 +755,7 @@
+     return i18n( "This event has been published" );
+   case iTIPRequest:
+     if ( event->revision() > 0 ) {
+-      return i18n( "<h2>This meeting has been updated</h2>" );
++      return i18n( "<h3>This meeting has been updated</h3>" );
+     } else {
+       return i18n( "You have been invited to this meeting" );
+     }
+@@ -1120,7 +1120,7 @@
+   if ( !headerVisitor.act( incBase, msg ) ) {
+     return QString();
+   }
+-  html += "<h2>" + headerVisitor.result() + "</h2>";
++  html += "<h3>" + headerVisitor.result() + "</h3>";
+ 
+   InvitationBodyVisitor bodyVisitor;
+   if ( !bodyVisitor.act( incBase, msg ) ) {
+--- a/kioslave/imap4/imapparser.cpp
++++ b/kioslave/imap4/imapparser.cpp
+@@ -270,7 +270,9 @@
+   while ( true )
+   {
+     //read the next line
+-    while (parseLoop() == 0);
++    while (parseLoop() == 0) {
++      ;
++    }
+     if ( cmd->isComplete() ) break;
+ 
+     if (!continuation.isEmpty())
+--- a/kioslave/imap4/imap4.cpp
++++ b/kioslave/imap4/imap4.cpp
+@@ -313,7 +313,7 @@
+         cmd = sendCommand (imapCommand::clientFetch (aSequence, mySection));
+         do
+         {
+-          while (!parseLoop ());
++          while (!parseLoop ()) {}
+         }
+         while (!cmd->isComplete ());
+         completeQueue.removeAll (cmd);
+@@ -332,7 +332,7 @@
+       aUpper = aSection.toUpper();
+       do
+       {
+-        while (!(res = parseLoop()));
++        while (!(res = parseLoop())) {}
+         if (res == -1) break;
+ 
+         mailHeader *lastone = 0;
+@@ -594,7 +594,7 @@
+         imapCache *cache;
+         do
+         {
+-          while (!parseLoop ());
++          while (!parseLoop ()) {}
+ 
+           cache = getLastHandled ();
+ 
+@@ -825,7 +825,7 @@
+ 
+     imapCommand *cmd =
+       sendCommand (imapCommand::clientAppend (aBox, aSection, length));
+-    while (!parseLoop ());
++    while (!parseLoop ()) {}
+ 
+     // see if server is waiting
+     if (!cmd->isComplete () && !getContinuation ().isEmpty ())
+@@ -1935,7 +1935,7 @@
+     imapCommand *cmd;
+ 
+     unhandled.clear ();
+-    if (!alreadyConnected) while (!parseLoop ());    //get greeting
++    if (!alreadyConnected) while (!parseLoop ()) {}   //get greeting
+     QString greeting;
+     if (!unhandled.isEmpty()) greeting = unhandled.first().trimmed();
+     unhandled.clear ();       //get rid of it
+--- a/kioslave/sieve/sieve.protocol
++++ b/kioslave/sieve/sieve.protocol
+@@ -19,6 +19,7 @@
+ Description[ga]=ioslave le haghaidh prótacail scagtha ríomhphoist Sieve
+ Description[hu]=KDE-protokoll a Sieve levélszűrő protokollhoz
+ Description[ja]=Sieve メールフィルタリングプロトコルのための ioslave
++Description[nds]=In-/Utgaavmoduul för't Nettpostfilter-Protokoll Sieve
+ Description[pt]=Um 'ioslave' para o protocolo de filtragem de correio Sieve
+ Description[sv]=En I/O-slav för brevfiltreringsprotokollet Sieve
+ Description[x-test]=xxAn ioslave for the Sieve mail filtering protocolxx
+--- a/gpgme++/context.cpp
++++ b/gpgme++/context.cpp
+@@ -480,7 +480,7 @@
+   std::vector<Key> Context::signingKeys() const {
+     std::vector<Key> result;
+     gpgme_key_t key;
+-    for ( unsigned int i = 0 ; key = gpgme_signers_enum( d->ctx, i ) ; ++i )
++    for ( unsigned int i = 0 ; ( key = gpgme_signers_enum( d->ctx, i ) ) ; ++i )
+       result.push_back( Key( key, false ) );
+     return result;
+   }
+--- a/gpgme++/CMakeLists.txt
++++ b/gpgme++/CMakeLists.txt
+@@ -38,7 +38,11 @@
+     OUTPUT_NAME gpgme++
+    )
+    get_target_property( GPGMEPP_VANILLA_LIBRARY gpgmepp LOCATION )
+-   install(TARGETS gpgmepp  DESTINATION ${LIB_INSTALL_DIR})
++   install(TARGETS gpgmepp  
++      RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++      LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++      ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++   )
+ endif ( GPGME_VANILLA_FOUND )
+ 
+ if ( GPGME_GLIB_FOUND )
+@@ -50,7 +54,11 @@
+     OUTPUT_NAME gpgme++-glib DEFINE_SYMBOL MAKE_GPGME___LIB
+    )
+    get_target_property( GPGMEPP_GLIB_LIBRARY gpgmepp LOCATION )
+-   install(TARGETS gpgmepp-glib  DESTINATION ${LIB_INSTALL_DIR})
++   install(TARGETS gpgmepp-glib
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++   )
+ endif ( GPGME_GLIB_FOUND )
+ 
+ if ( GPGME_QT_FOUND )
+@@ -62,7 +70,11 @@
+     OUTPUT_NAME gpgme++-qt DEFINE_SYMBOL MAKE_GPGME___LIB
+    )
+    get_target_property( GPGMEPP_QT_LIBRARY gpgmepp LOCATION )
+-   install(TARGETS gpgmepp-qt  DESTINATION ${LIB_INSTALL_DIR})
++   install(TARGETS gpgmepp-qt  
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++   )
+ endif ( GPGME_QT_FOUND )
+ 
+ if ( GPGME_PTHREAD_FOUND )
+@@ -74,7 +86,11 @@
+     OUTPUT_NAME gpgme++-pthread DEFINE_SYMBOL MAKE_GPGME___LIB
+    )
+    get_target_property( GPGMEPP_PTHREAD_LIBRARY gpgmepp LOCATION )
+-   install(TARGETS gpgmepp-pthread  DESTINATION ${LIB_INSTALL_DIR})
++   install(TARGETS gpgmepp-pthread  
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++   )
+ endif ( GPGME_PTHREAD_FOUND )
+ 
+ if ( GPGME_PTH_FOUND )
+@@ -86,7 +102,11 @@
+     OUTPUT_NAME gpgme++-pth DEFINE_SYMBOL MAKE_GPGME___LIB
+    )
+    get_target_property( GPGMEPP_PTH_LIBRARY gpgmepp LOCATION )
+-   install(TARGETS gpgmepp-pth  DESTINATION ${LIB_INSTALL_DIR})
++   install(TARGETS gpgmepp-pth  
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++   )
+ endif ( GPGME_PTH_FOUND )
+ 
+ 
+--- a/kldap/ldapmodeltreeitem_p.cpp
++++ /dev/null
+@@ -1,97 +0,0 @@
+-/*
+-  This file is part of libkldap.
+-  Copyright (c) 2006 Sean Harmer <sh at theharmers.co.uk>
+-
+-  This library is free software; you can redistribute it and/or
+-  modify it under the terms of the GNU Library General  Public
+-  License as published by the Free Software Foundation; either
+-  version 2 of the License, or (at your option) any later version.
+-
+-  This library is distributed in the hope that it will be useful,
+-  but WITHOUT ANY WARRANTY; without even the implied warranty of
+-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+-  Library General Public License for more details.
+-
+-  You should have received a copy of the GNU Library General Public License
+-  along with this library; see the file COPYING.LIB.  If not, write to
+-  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+-  Boston, MA 02110-1301, USA.
+-*/
+-
+-#include "ldapmodeltreeitem_p.h"
+-
+-#include <kdebug.h>
+-
+-using namespace KLDAP;
+-
+-LdapModelTreeItem::LdapModelTreeItem( LdapModelTreeItem *parent, const LdapObject &data )
+-  : m_childItems(),
+-    m_parent( parent ),
+-    m_itemData( data ),
+-    m_isPopulated( false )
+-{
+-  kDebug(5322) << "LdapModelTreeItem::LdapModelTreeItem() : Object =" << data.toString();
+-  if ( m_parent ) {
+-    m_parent->appendChild( this );
+-  }
+-}
+-
+-LdapModelTreeItem::~LdapModelTreeItem()
+-{
+-  qDeleteAll( m_childItems );
+-}
+-
+-void LdapModelTreeItem::appendChild( LdapModelTreeItem *pItem )
+-{
+-  m_childItems.append( pItem );
+-  setPopulated( true );
+-}
+-
+-LdapModelTreeItem *LdapModelTreeItem::child( int row )
+-{
+-  return m_childItems.value( row );
+-}
+-
+-LdapModelTreeItem *LdapModelTreeItem::parent()
+-{
+-  return m_parent;
+-}
+-
+-int LdapModelTreeItem::childCount() const
+-{
+-  return m_childItems.count();
+-}
+-
+-int LdapModelTreeItem::columnCount() const
+-{
+-  return 1;
+-}
+-
+-const LdapObject &LdapModelTreeItem::data() const
+-{
+-  return m_itemData;
+-}
+-
+-int LdapModelTreeItem::row() const
+-{
+-  if ( m_parent ) {
+-    return m_parent->m_childItems.indexOf( const_cast<LdapModelTreeItem*>( this ) );
+-  }
+-  return 0;
+-}
+-
+-LdapObject &LdapModelTreeItem::ldapObject()
+-{
+-  return m_itemData;
+-}
+-
+-const LdapObject &LdapModelTreeItem::ldapObject() const
+-{
+-  return m_itemData;
+-}
+-
+-void LdapModelTreeItem::setLdapObject( const LdapObject &object )
+-{
+-  kDebug(5322) << "LdapModelTreeItem::setLdapObject() : Object =" << object.toString();
+-  m_itemData = object;
+-}
+--- a/kldap/ldapmodeltreeitem_p.h
++++ /dev/null
+@@ -1,66 +0,0 @@
+-/*
+-  This file is part of libkldap.
+-  Copyright (c) 2006 Sean Harmer <sh at theharmers.co.uk>
+-
+-  This library is free software; you can redistribute it and/or
+-  modify it under the terms of the GNU Library General  Public
+-  License as published by the Free Software Foundation; either
+-  version 2 of the License, or (at your option) any later version.
+-
+-  This library is distributed in the hope that it will be useful,
+-  but WITHOUT ANY WARRANTY; without even the implied warranty of
+-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+-  Library General Public License for more details.
+-
+-  You should have received a copy of the GNU Library General Public License
+-  along with this library; see the file COPYING.LIB.  If not, write to
+-  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+-  Boston, MA 02110-1301, USA.
+-*/
+-
+-#ifndef KLDAP_LDAPMODELTREEITEM_P_H
+-#define KLDAP_LDAPMODELTREEITEM_P_H
+-
+-#include <QtCore/QList>
+-#include <QtCore/QVariant>
+-
+-#include "ldapobject.h"
+-#include "kldap_export.h"
+-
+-namespace KLDAP {
+-
+-/**
+- * @internal
+- */
+-class LdapModelTreeItem
+-{
+-  public:
+-    explicit LdapModelTreeItem( LdapModelTreeItem *parent = 0,
+-                                const LdapObject &data = LdapObject() );
+-    ~LdapModelTreeItem();
+-
+-    void appendChild( LdapModelTreeItem *pItem );
+-    LdapModelTreeItem *child( int row );
+-    LdapModelTreeItem *parent();
+-    int childCount() const;
+-    int columnCount() const;
+-    const LdapObject &data() const;
+-    int row() const;
+-
+-    LdapObject &ldapObject();
+-    const LdapObject &ldapObject() const;
+-    void setLdapObject( const LdapObject &object );
+-
+-    void setPopulated( bool b ) { m_isPopulated = b; }
+-    bool isPopulated() const { return m_isPopulated; }
+-
+-  private:
+-    QList<LdapModelTreeItem*> m_childItems;
+-    LdapModelTreeItem *m_parent;
+-    LdapObject m_itemData;
+-    bool m_isPopulated;
+-};
+-
+-}
+-
+-#endif
+--- a/kldap/ldapconnection.cpp
++++ b/kldap/ldapconnection.cpp
+@@ -249,6 +249,7 @@
+   }
+ 
+   int version = d->mServer.version();
++  int timeout = d->mServer.timeout();
+ 
+   url = d->mServer.security() == LdapServer::SSL ? "ldaps" : "ldap";
+   url += "://";
+@@ -277,6 +278,19 @@
+     return ret;
+   }
+ 
++#if defined(LDAP_OPT_TIMEOUT)
++  kDebug(5322) << "setting timeout to:" << timeout;
++
++  if ( timeout ) {
++    if ( setOption( LDAP_OPT_TIMEOUT, &timeout ) != LDAP_OPT_SUCCESS ) {
++      ret = ldapErrorCode();
++      d->mConnectionError = i18n("Cannot set timeout to %1 seconds.", timeout );
++      close();
++      return ret;
++    }
++  }
++#endif
++
+   //FIXME: accessing to certificate handling would be good
+   kDebug(5322) << "setting security to:" << d->mServer.security();
+   if ( d->mServer.security() == LdapServer::TLS ) {
+--- a/kldap/ldapmodel.h
++++ b/kldap/ldapmodel.h
+@@ -29,26 +29,179 @@
+ 
+ namespace KLDAP {
+ 
++/**
++ * A ModelView interface to an LDAP tree. At present the model is read only. Editing is
++ * planned for a future release.
++ *
++ * This class is best used in conjunction with an LdapStructureProxyModel object for
++ * displaying the structure of an LDAP tree, and with LdapAttributeProxyModel for
++ * displaying the attributes of particular objects within the tree.
++ *
++ * \author Sean Harmer <sh at theharmers.co.uk>
++ */
+ class KLDAP_EXPORT LdapModel : public QAbstractItemModel
+ {
+   Q_OBJECT
+   public:
++    enum Roles {
++      NodeTypeRole = Qt::UserRole + 1
++    };
++
++    enum LdapDataType {
++      DistinguishedName = 0,
++      Attribute
++    };
++
++    /**
++     * Constructs an LdapModel. You should set a connection for the model to use with
++     * setConnection(). Clients of this class should connect a slot to the ready() signal
++     * before setting this model onto a view.
++     *
++     * \see setConnection()
++     * \see ready()
++     */
+     explicit LdapModel( QObject *parent = 0 );
++    /**
++     * Constructs an LdapModel. Clients of this class should connect a slot to the ready()
++     * signal before setting this model onto a view.
++     *
++     * \see setConnection()
++     * \see ready()
++     */
+     explicit LdapModel( LdapConnection &connection, QObject *parent = 0 );
+     virtual ~LdapModel();
+ 
++    /**
++     * Set the connection that the model should use.
++     *
++     * \see LdapConnection
++     * \see LdapUrl
++     */
+     void setConnection( LdapConnection &connection );
+ 
++    //
++    // Implement the usual QAbstractItemModel interface
++    //
++    /**
++     * Reimplemented from QAbstractItemModel::index().
++     */
+     virtual QModelIndex index( int row, int col, const QModelIndex &parent ) const;
++    /**
++     * Reimplemented from QAbstractItemModel::parent().
++     */
+     virtual QModelIndex parent( const QModelIndex &child ) const;
++    /**
++     * Reimplemented from QAbstractItemModel::data().
++     */
+     virtual QVariant data( const QModelIndex &index, int role ) const;
++    /**
++     * Reimplemented from QAbstractItemModel::setData(). This is a placeholder for when
++     * LdapModel beomes writeable and always returns false.
++     */
++    virtual bool setData( const QModelIndex &index,
++                          const QVariant &value,
++                          int role = Qt::EditRole );
++    /**
++     * Reimplemented from QAbstractItemModel::headerData().
++     */
+     virtual QVariant headerData( int section, Qt::Orientation orientation, int role ) const;
++    /**
++     * Reimplemented from QAbstractItemModel::flags().
++     */
+     virtual Qt::ItemFlags flags( const QModelIndex &index ) const;
++    /**
++     * Reimplemented from QAbstractItemModel::columnCount().
++     */
+     virtual int columnCount( const QModelIndex &parent ) const;
++    /**
++     * Reimplemented from QAbstractItemModel::rowCount().
++     */
+     virtual int rowCount( const QModelIndex &parent ) const;
++    /**
++     * Reimplemented from QAbstractItemModel::hasChildren().
++     */
+     virtual bool hasChildren( const QModelIndex &parent ) const;
++    /**
++     * Reimplemented from QAbstractItemModel::canFetchMore().
++     */
+     virtual bool canFetchMore( const QModelIndex &parent ) const;
++    /**
++     * Reimplemented from QAbstractItemModel::fetchMore().
++     */
+     virtual void fetchMore( const QModelIndex &parent );
++    /**
++     * Reimplemented from QAbstractItemModel::insertRows(). This is a placeholder for when
++     * LdapModel beomes writeable and always returns false.
++     */
++    virtual bool insertRows( int row, int count,
++                             const QModelIndex &parent = QModelIndex() );
++    /**
++     * Reimplemented from QAbstractItemModel::removeRows(). This is a placeholder for when
++     * LdapModel beomes writeable and always returns false.
++     */
++    virtual bool removeRows( int row, int count,
++                             const QModelIndex &parent = QModelIndex() );
++    /**
++     * Reimplemented from QAbstractItemModel::removeRows(). The default implementation
++     * does nothing.
++     */
++    virtual void sort( int column, Qt::SortOrder order = Qt::AscendingOrder );
++
++    //
++    // Drag and drop support
++    //
++    /**
++     * Reimplemented from QAbstractItemModel::supportedDropActions(). The default
++     * implementation returns Qt::MoveAction.
++     */
++    virtual Qt::DropActions supportedDropActions() const;
++    /**
++     * Reimplemented from QAbstractItemModel::mimedata(). This is a placeholder for when
++     * LdapModel beomes writeable and always returns 0.
++     */
++    virtual QMimeData *mimeData( const QModelIndexList &indexes ) const;
++    /**
++     * Reimplemented from QAbstractItemModel::dropMimedata(). This is a placeholder for when
++     * LdapModel beomes writeable and always returns false.
++     */
++    virtual bool dropMimeData( const QMimeData *data, Qt::DropAction action,
++                               int row, int column, const QModelIndex &parent );
++
++    //
++    // Other public utility functions
++    //
++    /**
++     * Checks to see if the item referenced by \p parent has any children of
++     * the type \p type. If the item has not been populated by fetchMore() yet,
++     * then this function returns true.
++     *
++     * \see fetchMore()
++     * \param parent Index to the item to query.
++     * \param type The type of child item to search for.
++     */
++    bool hasChildrenOfType( const QModelIndex &parent, LdapDataType type ) const;
++
++  public Q_SLOTS:
++    /**
++     * Reimplemented from QAbstractItemModel::revert(). This is a placeholder for when
++     * LdapModel beomes writeable. This implementation does nothing.
++     */
++    virtual void revert();
++    /**
++     * Reimplemented from QAbstractItemModel::revert(). This is a placeholder for when
++     * LdapModel beomes writeable. This implementation does nothing and returns false.
++     */
++    virtual bool submit();
++
++  Q_SIGNALS:
++    /**
++     * The ready() signal is emitted when the model is ready for use by other components.
++     * When the model is first created and a connection is set, the model queries the
++     * LDAP server for its base DN and automatically creates items down to that level.
++     * This requires the event loop to be running. This signal indicates that this process
++     * has completed and the model can now be set onto views or queried directly from code.
++     */
++    void ready();
+ 
+   private:
+     class LdapModelPrivate;
+--- a/kldap/ldapserver.cpp
++++ b/kldap/ldapserver.cpp
+@@ -36,7 +36,7 @@
+     QString mPassword;
+     QString mMech;
+     QString mFilter;
+-    int mTimeLimit, mSizeLimit, mVersion, mPageSize;
++    int mTimeLimit, mSizeLimit, mVersion, mPageSize, mTimeout;
+     Security mSecurity;
+     Auth mAuth;
+     LdapUrl::Scope mScope;
+@@ -85,6 +85,7 @@
+   d->mSecurity = None;
+   d->mAuth = Anonymous;
+   d->mVersion = 3;
++  d->mTimeout = 0;
+   d->mSizeLimit = d->mTimeLimit = d->mPageSize = 0;
+ }
+ 
+@@ -168,6 +169,11 @@
+   return d->mMech;
+ }
+ 
++int LdapServer::timeout() const
++{
++  return d->mTimeout;
++}
++
+ void LdapServer::setHost( const QString &host )
+ {
+   d->mHost = host;
+@@ -248,6 +254,11 @@
+   d->mMech = mech;
+ }
+ 
++void LdapServer::setTimeout( int timeout )
++{
++  d->mTimeout = timeout;
++}
++
+ void LdapServer::setUrl( const LdapUrl &url )
+ {
+   bool critical;
+@@ -304,6 +315,12 @@
+     d->mVersion = 3;
+   }
+ 
++  if ( url.hasExtension("x-timeout") ) {
++    d->mTimeout = url.extension( "x-timeout", critical ).toInt();
++  } else {
++    d->mTimeout = 0;
++  }
++
+   if ( url.hasExtension("x-timelimit") ) {
+     d->mTimeLimit = url.extension( "x-timelimit", critical ).toInt();
+   } else {
+@@ -349,6 +366,9 @@
+   if ( d->mVersion == 2 ) {
+     url.setExtension( "x-version", d->mVersion );
+   }
++  if ( d->mTimeout ) {
++    url.setExtension( "x-timeout", d->mTimeout );
++  }
+   if ( d->mTimeLimit != 0 ) {
+     url.setExtension( "x-timelimit", d->mTimeLimit );
+   }
+--- a/kldap/ldapmodel_p.cpp
++++ b/kldap/ldapmodel_p.cpp
+@@ -19,7 +19,7 @@
+ */
+ 
+ #include "ldapmodel_p.h"
+-#include "ldapmodeltreeitem_p.h"
++#include "ldapmodelnode_p.h"
+ #include "ldapsearch.h"
+ 
+ #include <kdebug.h>
+@@ -28,7 +28,7 @@
+ 
+ LdapModel::LdapModelPrivate::LdapModelPrivate( LdapModel *parent )
+   : m_parent( parent ),
+-    m_root( new LdapModelTreeItem ),
++    m_root( new LdapModelDNNode ),
+     m_search( new LdapSearch ),
+     m_searchResultObjects(),
+     m_baseDN(),
+@@ -39,7 +39,7 @@
+ 
+ LdapModel::LdapModelPrivate::LdapModelPrivate( LdapModel *parent, LdapConnection &connection )
+   : m_parent( parent ),
+-    m_root( new LdapModelTreeItem ),
++    m_root( new LdapModelDNNode ),
+     m_search( new LdapSearch( connection ) ),
+     m_searchResultObjects(),
+     m_baseDN(),
+@@ -73,22 +73,22 @@
+   return m_search->search( searchBase, scope, filter, attributes, pagesize );
+ }
+ 
+-void LdapModel::LdapModelPrivate::setSearchType( SearchType t, LdapModelTreeItem *item )
++void LdapModel::LdapModelPrivate::setSearchType( SearchType t, LdapModelDNNode *item )
+ {
+-  kDebug(5322) << "LdapModel::LdapModelPrivate::setSearchType() : item =" << item;
++  //kDebug(5322) << "LdapModel::LdapModelPrivate::setSearchType() : item =" << item;
+   m_searchType = t;
+   m_searchItem = item;
+ }
+ 
+ void LdapModel::LdapModelPrivate::recreateRootItem()
+ {
+-  kDebug(5322) << "LdapModel::LdapModelPrivate::recreateRootItem()";
++  //kDebug(5322) << "LdapModel::LdapModelPrivate::recreateRootItem()";
+   if ( m_root ) {
+     delete m_root;
+     m_root = 0;
+   }
+-  m_root = new LdapModelTreeItem;
+-  kDebug(5322) << "&m_root =" << &m_root;
++  m_root = new LdapModelDNNode;
++  //kDebug(5322) << "&m_root =" << &m_root;
+ }
+ 
+ void LdapModel::LdapModelPrivate::createConnections()
+@@ -101,19 +101,20 @@
+ 
+ void LdapModel::LdapModelPrivate::populateRootToBaseDN()
+ {
+-  kDebug(5322) << "LdapModel::LdapModelPrivate::populateRootToBaseDN()";
++  //kDebug(5322) << "LdapModel::LdapModelPrivate::populateRootToBaseDN()";
+ 
+   if ( baseDN().isEmpty() ) {
+     // Query the server for the base DN
+-    setSearchType( LdapModelPrivate::NamingContexts, rootItem() );
++    //kDebug(5322) << "Searching for the baseDN";
++    setSearchType( LdapModelPrivate::NamingContexts, rootNode() );
+     search( LdapDN(), LdapUrl::Base, QString(), QStringList() << "namingContexts" );
+     return;
+   }
+ 
+   // Start a search for the details of the baseDN object
++  //kDebug(5322) << "Searching for attributes of the baseDN";
+   searchResults().clear();
+-  LdapModelTreeItem *searchItem = rootItem();
+-  setSearchType( LdapModelPrivate::BaseDN, searchItem );
++  setSearchType( LdapModelPrivate::BaseDN, rootNode() );
+   search( baseDN(), LdapUrl::Base, QString(), QStringList() << "dn" << "objectClass" );
+ }
+ 
+@@ -130,7 +131,7 @@
+     if ( !searchResults().isEmpty() &&
+          searchResults().at( 0 ).hasAttribute( "namingContexts" ) ) {
+       baseDN = searchResults().at( 0 ).value( "namingContexts" );
+-      kDebug(5322) << "Found baseDN =" << baseDN;
++      //kDebug(5322) << "Found baseDN =" << baseDN;
+     }
+     setBaseDN( LdapDN( baseDN ) );
+ 
+@@ -144,8 +145,8 @@
+   }
+   case LdapModelPrivate::BaseDN:
+   {
+-    kDebug(5322) << "Found details of the baseDN object."
+-                 << "Creating objects down to this level.";
++    //kDebug(5322) << "Found details of the baseDN object."
++    //             << "Creating objects down to this level.";
+ 
+     // Get the baseDN LdapObject
+     LdapObject baseDNObj = searchResults().at( 0 );
+@@ -154,49 +155,54 @@
+     int depth = baseDNObj.dn().depth();
+ 
+     // Create items that represent objects down to the baseDN
+-    LdapModelTreeItem *parent = rootItem();
+-    LdapModelTreeItem *item = 0;
++    LdapModelDNNode *parent = rootNode();
++    LdapModelDNNode *item = 0;
+     for ( int i = 0; i < depth; i++ ) {
+       QString dn = baseDN().toString( i );
+       kDebug(5322) << "Creating item for DN :" << dn;
+-      LdapObject obj( dn );
+-      item = new LdapModelTreeItem( parent, obj );
++
++      //LdapObject obj( dn );
++      item = new LdapModelDNNode( parent, LdapDN( dn ) );
+       parent = item;
+     }
+ 
+     // Store the search result
+-    item->setLdapObject( searchResults().at( 0 ) );
++    item->setLdapObject( baseDNObj );
+ 
+     // Flag that we are no longer searching
+     setSearchType( LdapModelPrivate::NotSearching );
+     //emit( layoutChanged() );
+ 
++    // Let the world know we are ready for action
++    emit m_parent->ready();
++
+     break;
+   }
+   case LdapModelPrivate::ChildObjects:
+   {
+-    kDebug(5322) << "Found" << searchResults().size() << "child objects";
++    //kDebug(5322) << "Found" << searchResults().size() << "child objects";
+ 
+-    // Create an index for the soon-to-be-a-parent item
+-    LdapModelTreeItem *parentItem = searchItem();
+-    int r = parentItem->row();
+-    QModelIndex parentIndex = m_parent->createIndex( r, 0, parentItem );
+-
+-    m_parent->beginInsertRows( parentIndex, 0, searchResults().size() );
+-    for ( int i = 0; i < searchResults().size(); i++ ) {
+-      LdapObject itemData = searchResults().at( i );
+-      LdapModelTreeItem *item = new LdapModelTreeItem( parentItem, itemData );
+-      if ( !item ) {
+-        kDebug(5322) << "Could not create LdapModelTreeItem";
++    if ( searchResults().size() != 0 )
++    {
++      // Create an index for the soon-to-be-a-parent item
++      LdapModelDNNode *parentNode = searchItem();
++      int r = parentNode->row();
++      QModelIndex parentIndex = m_parent->createIndex( r, 0, parentNode );
++
++      m_parent->beginInsertRows( parentIndex, 0, searchResults().size() );
++      for ( int i = 0; i < searchResults().size(); i++ ) {
++        LdapObject object = searchResults().at( i );
++        LdapModelDNNode *item = new LdapModelDNNode( parentNode, object.dn() );
++        item->setLdapObject( object );
+       }
++
++      m_parent->endInsertRows();
++      emit m_parent->layoutChanged();
+     }
+ 
+     // Flag that we are no longer searching
+     setSearchType( LdapModelPrivate::NotSearching );
+ 
+-    m_parent->endInsertRows();
+-    emit m_parent->layoutChanged();
+-
+     break;
+   }
+   default:
+@@ -207,7 +213,7 @@
+ void LdapModel::LdapModelPrivate::gotSearchData( KLDAP::LdapSearch *search, const KLDAP::LdapObject &obj )
+ {
+   Q_UNUSED( search );
+-  kDebug(5322) << "LdapModel::LdapModelPrivate::gotSearchData()";
++  //kDebug(5322) << "LdapModel::LdapModelPrivate::gotSearchData()";
+   //kDebug(5322) << "Object:";
+   //kDebug(5322) << obj.toString();
+   searchResults().append( obj );
+--- /dev/null
++++ b/kldap/ldapstructureproxymodel.h
+@@ -0,0 +1,98 @@
++/*
++  This file is part of libkldap.
++  Copyright (c) 2006 Sean Harmer <sh at theharmers.co.uk>
++
++  This library is free software; you can redistribute it and/or
++  modify it under the terms of the GNU Library General  Public
++  License as published by the Free Software Foundation; either
++  version 2 of the License, or (at your option) any later version.
++
++  This library is distributed in the hope that it will be useful,
++  but WITHOUT ANY WARRANTY; without even the implied warranty of
++  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++  Library General Public License for more details.
++
++  You should have received a copy of the GNU Library General Public License
++  along with this library; see the file COPYING.LIB.  If not, write to
++  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++  Boston, MA 02110-1301, USA.
++*/
++
++#ifndef KLDAP_LDAPSTRUCTUREPROXYMODEL_H
++#define KLDAP_LDAPSTRUCTUREPROXYMODEL_H
++
++#include <QtGui/QSortFilterProxyModel>
++
++#include "kldap_export.h"
++
++namespace KLDAP {
++
++class KLDAP_EXPORT LdapStructureProxyModel : public QSortFilterProxyModel
++{
++  Q_OBJECT
++  public:
++    explicit LdapStructureProxyModel( QObject *parent = 0 );
++    ~LdapStructureProxyModel();
++
++    virtual QVariant data( const QModelIndex &index, int role ) const;
++    /**
++     * Reimplemented from QAbstractItemModel::setData(). This is a placeholder for when
++     * LdapStructureProxyModel beomes writeable and always returns false.
++     */
++    virtual bool setData( const QModelIndex &index,
++                          const QVariant &value,
++                          int role = Qt::EditRole );
++    virtual bool filterAcceptsRow( int sourceRow, const QModelIndex& sourceParent ) const;
++    virtual QVariant headerData( int section, Qt::Orientation orientation, int role ) const;
++    virtual int columnCount( const QModelIndex &parent ) const;
++    virtual Qt::ItemFlags flags( const QModelIndex &index ) const;
++    virtual bool hasChildren( const QModelIndex &parent ) const;
++
++    virtual QModelIndex mapFromSource ( const QModelIndex & sourceIndex ) const;
++    virtual QModelIndex mapToSource ( const QModelIndex & proxyIndex ) const;
++
++    /**
++     * Reimplemented from QAbstractItemModel::insertRows(). This is a placeholder for when
++     * LdapStructureProxyModel beomes writeable and always returns false.
++     */
++    virtual bool insertRows( int row, int count,
++                             const QModelIndex &parent = QModelIndex() );
++    /**
++     * Reimplemented from QAbstractItemModel::removeRows(). This is a placeholder for when
++     * LdapStructureProxyModel beomes writeable and always returns false.
++     */
++    virtual bool removeRows( int row, int count,
++                             const QModelIndex &parent = QModelIndex() );
++    /**
++     * Reimplemented from QAbstractItemModel::removeRows(). The default implementation
++     * does nothing.
++     */
++    virtual void sort( int column, Qt::SortOrder order = Qt::AscendingOrder );
++
++    //
++    // Drag and drop support
++    //
++    /**
++     * Reimplemented from QAbstractItemModel::supportedDropActions(). The default
++     * implementation returns Qt::MoveAction.
++     */
++    virtual Qt::DropActions supportedDropActions() const;
++    /**
++     * Reimplemented from QAbstractItemModel::mimedata(). This is a placeholder for when
++     * LdapStructureProxyModel beomes writeable and always returns 0.
++     */
++    virtual QMimeData *mimeData( const QModelIndexList &indexes ) const;
++    /**
++     * Reimplemented from QAbstractItemModel::dropMimedata(). This is a placeholder for when
++     * LdapStructureProxyModel beomes writeable and always returns false.
++     */
++    virtual bool dropMimeData( const QMimeData *data, Qt::DropAction action,
++                               int row, int column, const QModelIndex &parent );
++
++  private:
++    class LdapStructureProxyModelPrivate;
++    LdapStructureProxyModelPrivate *const m_d;
++};
++
++}
++#endif
+--- /dev/null
++++ b/kldap/ldapmodelnode_p.h
+@@ -0,0 +1,122 @@
++/*
++  This file is part of libkldap.
++  Copyright (c) 2006 Sean Harmer <sh at theharmers.co.uk>
++
++  This library is free software; you can redistribute it and/or
++  modify it under the terms of the GNU Library General  Public
++  License as published by the Free Software Foundation; either
++  version 2 of the License, or (at your option) any later version.
++
++  This library is distributed in the hope that it will be useful,
++  but WITHOUT ANY WARRANTY; without even the implied warranty of
++  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++  Library General Public License for more details.
++
++  You should have received a copy of the GNU Library General Public License
++  along with this library; see the file COPYING.LIB.  If not, write to
++  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++  Boston, MA 02110-1301, USA.
++*/
++
++#ifndef KLDAP_LDAPMODELTREEITEM_P_H
++#define KLDAP_LDAPMODELTREEITEM_P_H
++
++#include <QByteArray>
++#include <QString>
++#include <QtCore/QList>
++#include <QtCore/QVariant>
++
++#include "ldapdn.h"
++#include "ldapobject.h"
++#include "kldap_export.h"
++
++namespace KLDAP {
++
++class LdapModelDNNode;
++
++/**
++ * @internal
++ */
++class LdapModelNode
++{
++  public:
++    explicit LdapModelNode( LdapModelDNNode *parent = 0 );
++    virtual ~LdapModelNode();
++
++    enum NodeType {
++      DN,
++      Attr
++    };
++
++    virtual NodeType nodeType() const = 0;
++
++    LdapModelDNNode *parent();
++    int columnCount() const { return 2; }
++    int row() const;
++
++    void setPopulated( bool b ) { m_isPopulated = b; }
++    bool isPopulated() const { return m_isPopulated; }
++
++  private:
++    LdapModelDNNode *m_parent;
++    bool m_isPopulated;
++};
++
++
++/**
++ * @internal
++ */
++class LdapModelDNNode : public LdapModelNode
++{
++  public:
++    explicit LdapModelDNNode( LdapModelDNNode *parent = 0,
++                              const LdapDN &dn = LdapDN() );
++    ~LdapModelDNNode();
++
++    LdapModelNode::NodeType nodeType() const { return LdapModelNode::DN; }
++
++    void appendChild( LdapModelNode *pItem );
++    LdapModelNode *child( int row );
++    int childCount() const { return m_childItems.size(); }
++    const QList<LdapModelNode*>& children() const { return m_childItems; }
++
++    const LdapDN &dn() const { return m_dn; }
++
++    /**
++     * Creates child LdapModelAttrNode object to store \p object's attributes
++     * and adds them as children of this node.
++     *
++     * \param The LdapObject to store in this node.
++     */
++    void setLdapObject( const LdapObject &object );
++
++  private:
++    QList<LdapModelNode*> m_childItems;
++    LdapDN m_dn;
++};
++
++
++/**
++ * @internal
++ */
++class LdapModelAttrNode : public LdapModelNode
++{
++  public:
++    explicit LdapModelAttrNode( LdapModelDNNode *parent = 0,
++                                const QString &attrName = QString(),
++                                const QByteArray &attrData = QByteArray() );
++    ~LdapModelAttrNode();
++
++    LdapModelNode::NodeType nodeType() const { return LdapModelNode::Attr; }
++
++    const QString &attributeName() { return m_attrName; }
++    const QByteArray &attributeData() { return m_attrData; }
++
++  private:
++    QString m_attrName;
++    QByteArray m_attrData;
++};
++
++}
++
++#endif
+--- a/kldap/CMakeLists.txt
++++ b/kldap/CMakeLists.txt
+@@ -44,7 +44,7 @@
+ ########### next target ###############
+ 
+ 
+-set(kldap_LIB_SRCS 
++set(kldap_LIB_SRCS
+    ber.cpp
+    ldif.cpp
+    ldapurl.cpp
+@@ -56,9 +56,11 @@
+    ldapsearch.cpp
+    ldapconfigwidget.cpp
+    ldapdn.cpp
+-   ldapmodeltreeitem_p.cpp
++   ldapmodelnode_p.cpp
+    ldapmodel.cpp
+-   ldapmodel_p.cpp )
++   ldapmodel_p.cpp
++   ldapstructureproxymodel.cpp
++   ldapattributeproxymodel.cpp)
+ 
+ 
+ kde4_add_library(kldap SHARED ${kldap_LIB_SRCS})
+@@ -68,12 +70,16 @@
+ target_link_libraries(kldap ${KDE4_KIO_LIBS} ${kldap_EXTRA_LIBS} )
+ 
+ set_target_properties(kldap PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION})
+-install(TARGETS kldap DESTINATION ${LIB_INSTALL_DIR})
+-
++install(TARGETS kldap
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+ 
+ ########### install files ###############
+ 
+-install( FILES ber.h kldap_export.h ldapdefs.h ldif.h ldapurl.h ldapserver.h ldapobject.h 
+-  ldapconnection.h ldapoperation.h 
++install( FILES ber.h kldap_export.h ldapdefs.h ldif.h ldapurl.h ldapserver.h ldapobject.h
++  ldapconnection.h ldapoperation.h
+   ldapconfigwidget.h ldapcontrol.h ldapsearch.h
+-  ldapdn.h ldapmodel.h DESTINATION ${INCLUDE_INSTALL_DIR}/kldap)
++  ldapdn.h ldapmodel.h ldapstructureproxymodel.h ldapattributeproxymodel.h
++  DESTINATION ${INCLUDE_INSTALL_DIR}/kldap)
+--- /dev/null
++++ b/kldap/ldapattributeproxymodel.h
+@@ -0,0 +1,98 @@
++/*
++  This file is part of libkldap.
++  Copyright (c) 2006 Sean Harmer <sh at theharmers.co.uk>
++
++  This library is free software; you can redistribute it and/or
++  modify it under the terms of the GNU Library General  Public
++  License as published by the Free Software Foundation; either
++  version 2 of the License, or (at your option) any later version.
++
++  This library is distributed in the hope that it will be useful,
++  but WITHOUT ANY WARRANTY; without even the implied warranty of
++  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++  Library General Public License for more details.
++
++  You should have received a copy of the GNU Library General Public License
++  along with this library; see the file COPYING.LIB.  If not, write to
++  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++  Boston, MA 02110-1301, USA.
++*/
++
++#ifndef KLDAP_LDAPATTRIBUTEPROXYMODEL_H
++#define KLDAP_LDAPATTRIBUTEPROXYMODEL_H
++
++#include <QtGui/QSortFilterProxyModel>
++
++#include "kldap_export.h"
++
++namespace KLDAP {
++
++class KLDAP_EXPORT LdapAttributeProxyModel : public QSortFilterProxyModel
++{
++  Q_OBJECT
++  public:
++    explicit LdapAttributeProxyModel( QObject *parent = 0 );
++    ~LdapAttributeProxyModel();
++
++    virtual QVariant data( const QModelIndex &index, int role ) const;
++    /**
++     * Reimplemented from QAbstractItemModel::setData(). This is a placeholder for when
++     * LdapAttributeProxyModel beomes writeable and always returns false.
++     */
++    virtual bool setData( const QModelIndex &index,
++                          const QVariant &value,
++                          int role = Qt::EditRole );
++    virtual bool filterAcceptsRow( int sourceRow, const QModelIndex& sourceParent ) const;
++    virtual QVariant headerData( int section, Qt::Orientation orientation, int role ) const;
++    virtual int columnCount( const QModelIndex &parent ) const;
++    virtual Qt::ItemFlags flags( const QModelIndex &index ) const;
++    virtual bool hasChildren( const QModelIndex &parent ) const;
++
++    virtual QModelIndex mapFromSource ( const QModelIndex & sourceIndex ) const;
++    virtual QModelIndex mapToSource ( const QModelIndex & proxyIndex ) const;
++
++    /**
++     * Reimplemented from QAbstractItemModel::insertRows(). This is a placeholder for when
++     * LdapAttributeProxyModel beomes writeable and always returns false.
++     */
++    virtual bool insertRows( int row, int count,
++                             const QModelIndex &parent = QModelIndex() );
++    /**
++     * Reimplemented from QAbstractItemModel::removeRows(). This is a placeholder for when
++     * LdapAttributeProxyModel beomes writeable and always returns false.
++     */
++    virtual bool removeRows( int row, int count,
++                             const QModelIndex &parent = QModelIndex() );
++    /**
++     * Reimplemented from QAbstractItemModel::removeRows(). The default implementation
++     * does nothing.
++     */
++    virtual void sort( int column, Qt::SortOrder order = Qt::AscendingOrder );
++
++    //
++    // Drag and drop support
++    //
++    /**
++     * Reimplemented from QAbstractItemModel::supportedDropActions(). The default
++     * implementation returns Qt::MoveAction.
++     */
++    virtual Qt::DropActions supportedDropActions() const;
++    /**
++     * Reimplemented from QAbstractItemModel::mimedata(). This is a placeholder for when
++     * LdapAttributeProxyModel beomes writeable and always returns 0.
++     */
++    virtual QMimeData *mimeData( const QModelIndexList &indexes ) const;
++    /**
++     * Reimplemented from QAbstractItemModel::dropMimedata(). This is a placeholder for when
++     * LdapAttributeProxyModel beomes writeable and always returns false.
++     */
++    virtual bool dropMimeData( const QMimeData *data, Qt::DropAction action,
++                               int row, int column, const QModelIndex &parent );
++
++  private:
++    class LdapAttributeProxyModelPrivate;
++    LdapAttributeProxyModelPrivate *const m_d;
++};
++
++}
++#endif
+--- a/kldap/ldapmodel.cpp
++++ b/kldap/ldapmodel.cpp
+@@ -20,10 +20,11 @@
+ 
+ #include "ldapmodel.h"
+ #include "ldapmodel_p.h"
+-#include "ldapmodeltreeitem_p.h"
++#include "ldapmodelnode_p.h"
+ #include "ldapsearch.h"
+ 
+ #include <kdebug.h>
++#include <klocale.h>
+ 
+ using namespace KLDAP;
+ 
+@@ -60,68 +61,94 @@
+   m_d->populateRootToBaseDN();
+ }
+ 
+-QModelIndex LdapModel::index( int row, int col, const QModelIndex &parent ) const
+-{
+-  LdapModelTreeItem *parentItem;
+-  if ( !parent.isValid() ) {
+-    parentItem = m_d->rootItem();
+-  } else {
+-    parentItem = static_cast<LdapModelTreeItem*>( parent.internalPointer() );
+-  }
+-
+-  LdapModelTreeItem *childItem = parentItem->child( row );
+-  if ( childItem ) {
+-    return createIndex( row, col, childItem );
+-  } else {
+-    return QModelIndex();
+-  }
+-}
+-
+ QModelIndex LdapModel::parent( const QModelIndex &child ) const
+ {
+   if ( !child.isValid() ) {
+     return QModelIndex();
+   }
+ 
+-  LdapModelTreeItem *childItem = static_cast<LdapModelTreeItem*>( child.internalPointer() );
+-  LdapModelTreeItem *parentItem = childItem->parent();
++  LdapModelNode *childItem = static_cast<LdapModelNode*>( child.internalPointer() );
++  LdapModelDNNode *parentItem = childItem->parent();
+ 
+-  if ( parentItem == m_d->rootItem() ) {
++  if ( parentItem == m_d->rootNode() ) {
+     return QModelIndex();
+   }
+ 
+   return createIndex( parentItem->row(), 0, parentItem );
+ }
+ 
++QModelIndex LdapModel::index( int row, int col, const QModelIndex &parent ) const
++{
++  // Retrieve a pointer to the parent item
++  LdapModelDNNode *parentItem;
++  if ( !parent.isValid() ) {
++    parentItem = m_d->rootNode();
++  } else {
++    parentItem = static_cast<LdapModelDNNode*>( parent.internalPointer() );
++  }
++
++  LdapModelNode *childItem = parentItem->child( row );
++  if ( childItem ) {
++    return createIndex( row, col, childItem );
++  }
++  kDebug(5322) << "Could not create valid index for row =" << row << ", col =" << col;
++  return QModelIndex();
++}
++
+ QVariant LdapModel::data( const QModelIndex &index, int role ) const
+ {
+   if ( !index.isValid() ) {
+     return QVariant();
+   }
+ 
+-  LdapModelTreeItem *item = static_cast<LdapModelTreeItem*>( index.internalPointer() );
+-
+   if ( role == Qt::DisplayRole ) {
+-    kDebug(5322) << "***** LdapModel::data(): rdn =" << item->data().dn().rdnString();
+-    return item->data().dn().rdnString();
+-  } else if ( role == Qt::ToolTipRole ) {
+-    /** \TODO Make the tooltips look nicer - perhaps themeable? */
+-    kDebug(5322) << "***** LdapModel::data(): Object =" << item->data().toString();
+-    return item->data().toString();
++    // This is what gets displayed by the view delegates.
++    LdapModelNode *node = static_cast<LdapModelNode*>( index.internalPointer() );
++    if ( node->nodeType() == LdapModelNode::DN ) {
++      LdapModelDNNode* dn = static_cast<LdapModelDNNode*>( node );
++      if ( index.column() == 0 ) {
++        return dn->dn().rdnString();
++      } else {
++        return QVariant();
++      }
++    } else {
++      LdapModelAttrNode* attr = static_cast<LdapModelAttrNode*>( node );
++      if ( index.column() == 0 ) {
++        return QVariant( attr->attributeName() );
++      } else {
++        return QVariant( QString( attr->attributeData().constData() ) );
++      }
++    }
++  } else if ( role == NodeTypeRole ) {
++    LdapModelNode* node = static_cast<LdapModelNode*>( index.internalPointer() );
++    return QVariant( int( node->nodeType() ) );
+   }
+ 
+-  /** \TODO Include support for nice decorative icons dependent upon
++  /** \todo Include support for nice decorative icons dependent upon
+       the objectClass + other role data. */
++  /** \todo Include support for other roles as needed */
+ 
+   return QVariant();
+ }
+ 
+-QVariant LdapModel::headerData( int /*section*/, Qt::Orientation orientation, int role ) const
++bool LdapModel::setData( const QModelIndex &index,
++                         const QVariant &value,
++                         int role )
++{
++  Q_UNUSED( index );
++  Q_UNUSED( value );
++  Q_UNUSED( role );
++  return false;
++}
++
++QVariant LdapModel::headerData( int section, Qt::Orientation orientation, int role ) const
+ {
+   if ( orientation == Qt::Horizontal && role == Qt::DisplayRole ) {
+-    /** @TODO Hmm, what to do here? Override in proxymodels perhaps as
+-        could be "DN" or "Attribute". */
+-    return QString( "Distinguished Name" );
++    if ( section == 0 ) {
++      return QString( i18n( "Attribute" ) );
++    } else {
++      return QString( i18n( "Value" ) );
++    }
+   }
+ 
+   return QVariant();
+@@ -134,67 +161,158 @@
+     return Qt::ItemIsEnabled;
+   }
+ 
+-  return Qt::ItemIsEnabled | Qt::ItemIsSelectable;
++  return Qt::ItemFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
+ }
+ 
+ int LdapModel::columnCount( const QModelIndex &parent ) const
+ {
+-  LdapModelTreeItem *parentItem =
+-    parent.isValid() ? static_cast<LdapModelTreeItem*>( parent.internalPointer() ) : m_d->rootItem();
+-  return parentItem->columnCount();
++  LdapModelDNNode *parentNode =
++    parent.isValid() ? static_cast<LdapModelDNNode*>( parent.internalPointer() ) : m_d->rootNode();
++  return parentNode->columnCount();
+ }
+ 
+ int LdapModel::rowCount( const QModelIndex &parent ) const
+ {
+-  kDebug(5322) << "LdapModel::rowCount";
+   if ( parent.column() > 0 ) {
+     return 0;
+   }
+ 
+-  const LdapModelTreeItem *item =
+-    parent.isValid() ? static_cast<LdapModelTreeItem*>( parent.internalPointer() ) : m_d->rootItem();
+-  kDebug(5322) << "Parent (" << item->ldapObject().dn().toString() << ") has"
+-               << item->childCount() << "children";
+-  return item->childCount();
++  const LdapModelDNNode *parentNode =
++    parent.isValid() ? static_cast<LdapModelDNNode*>( parent.internalPointer() ) : m_d->rootNode();
++  return parentNode->childCount();
+ }
+ 
+ bool LdapModel::hasChildren( const QModelIndex &parent ) const
+ {
+-  // We always return true. This means that the branch expansion symbol will
+-  // always be drawn. However, once the user clicks on it, rowCount() will
+-  // get called and the view will not draw the expander if the item has no
+-  // children.
+-  const LdapModelTreeItem *item =
+-    parent.isValid() ? static_cast<LdapModelTreeItem*>( parent.internalPointer() ) : m_d->rootItem();
+-  if ( !parent.isValid() || item->isPopulated() ) {
+-    return item->childCount() > 0;
++  // We return true unless the item has been populated and we are able to do a definitive test
++  const LdapModelNode *node = parent.isValid()
++    ? static_cast<const LdapModelNode*>( parent.internalPointer() )
++    : m_d->rootNode();
++
++  if ( node->nodeType() != LdapModelNode::DN )
++    return false;
++
++  const LdapModelDNNode* parentNode = static_cast<const LdapModelDNNode*>( node );
++  if ( !parent.isValid() || parentNode->isPopulated() ) {
++    return parentNode->childCount() > 0;
+   }
+   return true;
+ }
+ 
+ bool LdapModel::canFetchMore( const QModelIndex &parent ) const
+ {
+-  const LdapModelTreeItem *item =
+-    parent.isValid() ? static_cast<LdapModelTreeItem*>( parent.internalPointer() ) : m_d->rootItem();
+-  kDebug(5322) << "LdapModel::canFetchMore() :" << !item->isPopulated();
+-  return !item->isPopulated();
++  const LdapModelDNNode *parentNode =
++    parent.isValid() ? static_cast<LdapModelDNNode*>( parent.internalPointer() ) : m_d->rootNode();
++  return !parentNode->isPopulated();
+ }
+ 
+ void LdapModel::fetchMore( const QModelIndex &parent )
+ {
+-  /** @TODO This should be altered to search for all attributes we can
+-      filter out those not required with a proxy model */
+-  kDebug(5322) << "LdapModel::fetchMore()";
+-
+-  LdapModelTreeItem *parentItem =
+-    parent.isValid() ? static_cast<LdapModelTreeItem*>( parent.internalPointer() ) : m_d->rootItem();
++  LdapModelDNNode *parentNode =
++    parent.isValid() ? static_cast<LdapModelDNNode*>( parent.internalPointer() ) : m_d->rootNode();
+ 
+   // Search for the immediate children of parentItem.
+   m_d->searchResults().clear();
+-  m_d->setSearchType( LdapModelPrivate::ChildObjects, parentItem );
+-  m_d->search( parentItem->data().dn(), LdapUrl::One, QString(),
+-               QStringList() << "dn" << "objectClass" );
+-  parentItem->setPopulated( true );
++  m_d->setSearchType( LdapModelPrivate::ChildObjects, parentNode );
++  m_d->search( parentNode->dn(),  // DN to search from
++               LdapUrl::One,      // What to search
++               QString() );       // Attributes to retrieve
++  parentNode->setPopulated( true );
++}
++
++bool LdapModel::insertRows( int row, int count,
++                            const QModelIndex &parent )
++{
++  Q_UNUSED( row );
++  Q_UNUSED( count );
++  Q_UNUSED( parent );
++  return false;
++}
++
++bool LdapModel::removeRows( int row, int count,
++                            const QModelIndex &parent )
++{
++  Q_UNUSED( row );
++  Q_UNUSED( count );
++  Q_UNUSED( parent );
++  return false;
++}
++
++void LdapModel::sort( int column, Qt::SortOrder order )
++{
++  Q_UNUSED( column );
++  Q_UNUSED( order );
++}
++
++Qt::DropActions LdapModel::supportedDropActions() const
++{
++  return Qt::MoveAction;
++}
++
++QMimeData *LdapModel::mimeData( const QModelIndexList &indexes ) const
++{
++  Q_UNUSED( indexes );
++  return 0;
++}
++
++bool LdapModel::dropMimeData( const QMimeData *data, Qt::DropAction action,
++                              int row, int column, const QModelIndex &parent )
++{
++  /** \todo Implement drag and drop for LdapModel */
++  Q_UNUSED( data );
++  Q_UNUSED( action );
++  Q_UNUSED( row );
++  Q_UNUSED( column );
++  Q_UNUSED( parent );
++  return false;
++}
++
++bool LdapModel::hasChildrenOfType( const QModelIndex &parent, LdapDataType type ) const
++{
++  // Map from LdapDataType to our internal NodeType
++  LdapModelNode::NodeType nodeType;
++  switch ( type ) {
++    case Attribute:
++      nodeType = LdapModelNode::Attr;
++      break;
++
++    case DistinguishedName:
++    default:
++      nodeType = LdapModelNode::DN;
++      break;
++  }
++
++  const LdapModelNode *node = parent.isValid()
++    ? static_cast<const LdapModelNode*>( parent.internalPointer() )
++    : m_d->rootNode();
++
++  const LdapModelDNNode* parentNode = static_cast<const LdapModelDNNode*>( node );
++  if ( !parent.isValid() || parentNode->isPopulated() ) {
++    // Check to see if the parent has any children of the specified type
++    const QList<LdapModelNode*>& children = parentNode->children();
++    foreach ( LdapModelNode *child, children ) {
++      if ( child->nodeType() == nodeType ) {
++        return true;
++      }
++    }
++
++    // Either there are no children or only children of a different type
++    return false;
++  }
++
++  // If the node is not populated or is the root node (invalid), then return
++  // true to be on the safe side.
++  return true;
++}
++
++void LdapModel::revert()
++{
++
++}
++
++bool LdapModel::submit()
++{
++  return false;
+ }
+ 
+ #include "ldapmodel.moc"
+--- a/kldap/ldapserver.h
++++ b/kldap/ldapserver.h
+@@ -66,6 +66,7 @@
+     Security security() const;
+     Auth auth() const;
+     QString mech() const;
++    int timeout() const;
+ 
+     LdapUrl::Scope scope() const;
+     int timeLimit() const;
+@@ -84,6 +85,7 @@
+     void setSecurity( Security security );
+     void setAuth( Auth auth );
+     void setMech( const QString &mech );
++    void setTimeout( int timeout );
+ 
+     void setScope( LdapUrl::Scope scope );
+     void setTimeLimit( int timelimit );
+@@ -96,7 +98,7 @@
+      * The URL extensions which are supported:
+      * Standard: bindname
+      * KLDAP extensions: x-tls, x-version, x-sasl, x-mech, x-realm,
+-     * x-sizelimit, x-timelimit, x-pagesize
++     * x-sizelimit, x-timelimit, x-pagesize, x-timeout
+      */
+     LdapUrl url() const;
+     /**
+--- /dev/null
++++ b/kldap/ldapstructureproxymodel.cpp
+@@ -0,0 +1,170 @@
++/*
++  This file is part of libkldap.
++  Copyright (c) 2006 Sean Harmer <sh at theharmers.co.uk>
++
++  This library is free software; you can redistribute it and/or
++  modify it under the terms of the GNU Library General  Public
++  License as published by the Free Software Foundation; either
++  version 2 of the License, or (at your option) any later version.
++
++  This library is distributed in the hope that it will be useful,
++  but WITHOUT ANY WARRANTY; without even the implied warranty of
++  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++  Library General Public License for more details.
++
++  You should have received a copy of the GNU Library General Public License
++  along with this library; see the file COPYING.LIB.  If not, write to
++  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++  Boston, MA 02110-1301, USA.
++*/
++
++#include "ldapstructureproxymodel.h"
++#include "ldapmodel.h"
++#include "ldapmodelnode_p.h"
++
++#include <kdebug.h>
++#include <klocale.h>
++
++using namespace KLDAP;
++
++class LdapStructureProxyModel::LdapStructureProxyModelPrivate
++{
++  public:
++    LdapStructureProxyModelPrivate();
++
++};
++
++LdapStructureProxyModel::LdapStructureProxyModelPrivate::LdapStructureProxyModelPrivate()
++{
++
++}
++
++LdapStructureProxyModel::LdapStructureProxyModel( QObject *parent )
++  : QSortFilterProxyModel( parent ),
++    m_d( new LdapStructureProxyModelPrivate() )
++{
++
++}
++
++LdapStructureProxyModel::~LdapStructureProxyModel()
++{
++  delete m_d;
++}
++
++QVariant LdapStructureProxyModel::data( const QModelIndex &index,
++                                        int role ) const
++{
++  // Included just in case we decide to do any special presentation of the data
++  // at some other point throughout the 4.x series.
++  return sourceModel()->data( mapToSource( index ), role );
++}
++
++bool LdapStructureProxyModel::setData( const QModelIndex &index,
++                                       const QVariant &value,
++                                       int role )
++{
++  Q_UNUSED( index );
++  Q_UNUSED( value );
++  Q_UNUSED( role );
++  return false;
++}
++
++bool LdapStructureProxyModel::filterAcceptsRow( int sourceRow,
++                                                const QModelIndex& sourceParent ) const
++{
++  QModelIndex idx = sourceModel()->index( sourceRow, 0, sourceParent );
++  LdapModelNode::NodeType nodeType =
++    static_cast<LdapModelNode::NodeType>(
++      sourceModel()->data( idx, LdapModel::NodeTypeRole ).toUInt() );
++  return ( nodeType == LdapModelNode::DN );
++}
++
++QVariant LdapStructureProxyModel::headerData( int /*section*/,
++                                              Qt::Orientation orientation,
++                                              int role ) const
++{
++  if ( orientation == Qt::Horizontal && role == Qt::DisplayRole ) {
++    return QString( i18n( "Distinguished Name" ) );
++  }
++
++  return QVariant();
++}
++
++int LdapStructureProxyModel::columnCount( const QModelIndex &/*parent*/ ) const
++{
++  // No need for more than one column just to show the structure
++  return 1;
++}
++
++Qt::ItemFlags LdapStructureProxyModel::flags( const QModelIndex &index ) const
++{
++  // Included so as not to break BC in case we wish to use this later in 4.x
++  return sourceModel()->flags( mapToSource( index ) );
++}
++
++bool LdapStructureProxyModel::hasChildren( const QModelIndex &parent ) const
++{
++  // We need to handle this carefully bacause of the filtering out of attributes
++  // and the lazy population approach.
++  LdapModel *model = static_cast<LdapModel*>( sourceModel() );
++  return model->hasChildrenOfType( mapToSource( parent ), LdapModel::DistinguishedName );
++}
++
++QModelIndex LdapStructureProxyModel::mapFromSource( const QModelIndex &sourceIndex ) const
++{
++  return QSortFilterProxyModel::mapFromSource( sourceIndex );
++}
++
++QModelIndex LdapStructureProxyModel::mapToSource( const QModelIndex &proxyIndex ) const
++{
++  return QSortFilterProxyModel::mapToSource( proxyIndex );
++}
++
++bool LdapStructureProxyModel::insertRows( int row, int count,
++                                          const QModelIndex &parent )
++{
++  Q_UNUSED( row );
++  Q_UNUSED( count );
++  Q_UNUSED( parent );
++  return false;
++}
++
++bool LdapStructureProxyModel::removeRows( int row, int count,
++                                          const QModelIndex &parent )
++{
++  Q_UNUSED( row );
++  Q_UNUSED( count );
++  Q_UNUSED( parent );
++  return false;
++}
++
++void LdapStructureProxyModel::sort( int column, Qt::SortOrder order )
++{
++  Q_UNUSED( column );
++  Q_UNUSED( order );
++}
++
++Qt::DropActions LdapStructureProxyModel::supportedDropActions() const
++{
++  return Qt::MoveAction;
++}
++
++QMimeData *LdapStructureProxyModel::mimeData( const QModelIndexList &indexes ) const
++{
++  Q_UNUSED( indexes );
++  return 0;
++}
++
++bool LdapStructureProxyModel::dropMimeData( const QMimeData *data, Qt::DropAction action,
++                                            int row, int column, const QModelIndex &parent )
++{
++  /** \todo Implement drag and drop for LdapModel */
++  Q_UNUSED( data );
++  Q_UNUSED( action );
++  Q_UNUSED( row );
++  Q_UNUSED( column );
++  Q_UNUSED( parent );
++  return false;
++}
++
++#include "ldapstructureproxymodel.moc"
+--- a/kldap/ldapmodel_p.h
++++ b/kldap/ldapmodel_p.h
+@@ -28,7 +28,7 @@
+ 
+ namespace KLDAP {
+ 
+-class LdapModelTreeItem;
++class LdapModelDNNode;
+ class LdapSearch;
+ 
+ /**
+@@ -57,7 +57,7 @@
+                  const QStringList &attributes = QStringList(),
+                  int pagesize = 0 );
+ 
+-    LdapModelTreeItem *rootItem() { return m_root; }
++    LdapModelDNNode *rootNode() { return m_root; }
+     LdapSearch *search() { return m_search; }
+ 
+     LdapObjects &searchResults() { return m_searchResultObjects; }
+@@ -69,10 +69,10 @@
+     LdapDN &baseDN() { return m_baseDN; }
+     const LdapDN &baseDN() const { return m_baseDN; }
+ 
+-    void setSearchType( SearchType t, LdapModelTreeItem *item = 0 );
++    void setSearchType( SearchType t, LdapModelDNNode *item = 0 );
+ 
+     SearchType searchType() { return m_searchType; }
+-    LdapModelTreeItem *searchItem() { return m_searchItem; }
++    LdapModelDNNode *searchItem() { return m_searchItem; }
+ 
+     void createConnections();
+     void populateRootToBaseDN();
+@@ -81,12 +81,12 @@
+ 
+   private:
+     LdapModel *m_parent;
+-    LdapModelTreeItem *m_root;
++    LdapModelDNNode *m_root;
+     LdapSearch *m_search;
+     LdapObjects m_searchResultObjects;
+     LdapDN m_baseDN;
+     SearchType m_searchType;
+-    LdapModelTreeItem *m_searchItem;
++    LdapModelDNNode *m_searchItem;
+ };
+ 
+ }
+--- /dev/null
++++ b/kldap/ldapmodelnode_p.cpp
+@@ -0,0 +1,134 @@
++/*
++  This file is part of libkldap.
++  Copyright (c) 2006 Sean Harmer <sh at theharmers.co.uk>
++
++  This library is free software; you can redistribute it and/or
++  modify it under the terms of the GNU Library General  Public
++  License as published by the Free Software Foundation; either
++  version 2 of the License, or (at your option) any later version.
++
++  This library is distributed in the hope that it will be useful,
++  but WITHOUT ANY WARRANTY; without even the implied warranty of
++  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++  Library General Public License for more details.
++
++  You should have received a copy of the GNU Library General Public License
++  along with this library; see the file COPYING.LIB.  If not, write to
++  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++  Boston, MA 02110-1301, USA.
++*/
++
++#include "ldapmodelnode_p.h"
++
++#include <kdebug.h>
++
++using namespace KLDAP;
++
++LdapModelNode::LdapModelNode( LdapModelDNNode *parent )
++  : m_parent( parent ),
++    m_isPopulated( false )
++{
++  if ( m_parent ) {
++    m_parent->appendChild( this );
++  }
++}
++
++LdapModelNode::~LdapModelNode()
++{
++
++}
++
++LdapModelDNNode *LdapModelNode::parent()
++{
++  return m_parent;
++}
++
++int LdapModelNode::row() const
++{
++  if ( m_parent ) {
++    return m_parent->children().indexOf( const_cast<LdapModelNode*>( this ) );
++  }
++  return 0;
++}
++
++
++//
++// LdapModelDNNode imlpementation
++//
++
++LdapModelDNNode::LdapModelDNNode( LdapModelDNNode *parent,
++                                  const LdapDN &dn )
++  : LdapModelNode( parent ),
++    m_childItems(),
++    m_dn( dn )
++{
++  kDebug(5322) << "Creating LdapModelDNNode: DN =" << m_dn.toString();
++}
++
++LdapModelDNNode::~LdapModelDNNode()
++{
++  qDeleteAll( m_childItems );
++}
++
++void LdapModelDNNode::appendChild( LdapModelNode *pItem )
++{
++  m_childItems.append( pItem );
++  setPopulated( true );
++}
++
++LdapModelNode *LdapModelDNNode::child( int row )
++{
++  return m_childItems.value( row );
++}
++
++void LdapModelDNNode::setLdapObject( const LdapObject &object )
++{
++  // Remember whether this item is populated or not
++  bool populated = isPopulated();
++
++  const LdapAttrMap &attrs = object.attributes();
++  /*
++  int attributeCount = 0;
++  for ( LdapAttrMap::ConstIterator it = attrs.begin(); it != attrs.end(); ++it ) {
++    attributeCount += (*it).size();
++  }
++
++  for ( int i = 0; i < attributeCount; i++ )
++  {
++    LdapModelNode* node = new LdapModelAttrNode( this, QString::number( i ) );
++    Q_UNUSED( node );
++  }
++  */
++
++  for ( LdapAttrMap::ConstIterator it = attrs.begin(); it != attrs.end(); ++it ) {
++    QString attr = it.key();
++    for ( LdapAttrValue::ConstIterator it2 = (*it).begin(); it2 != (*it).end(); ++it2 ) {
++      LdapModelNode* node = new LdapModelAttrNode( this, attr, *it2 );
++      Q_UNUSED( node );
++    }
++  }
++
++  // Reset the populated flag so that we don't stop the model querying for children
++  setPopulated( populated );
++}
++
++
++//
++// LdapModelAttrNode imlpementation
++//
++
++LdapModelAttrNode::LdapModelAttrNode( LdapModelDNNode *parent,
++                                      const QString &attrName,
++                                      const QByteArray &attrData )
++  : LdapModelNode( parent ),
++    m_attrName( attrName ),
++    m_attrData( attrData )
++{
++  kDebug(5322) << "Creating LdapModelAttrNode: Name =" << m_attrName
++               << " Data =" << m_attrData;
++}
++
++LdapModelAttrNode::~LdapModelAttrNode()
++{
++
++}
+--- /dev/null
++++ b/kldap/ldapattributeproxymodel.cpp
+@@ -0,0 +1,173 @@
++/*
++  This file is part of libkldap.
++  Copyright (c) 2006 Sean Harmer <sh at theharmers.co.uk>
++
++  This library is free software; you can redistribute it and/or
++  modify it under the terms of the GNU Library General  Public
++  License as published by the Free Software Foundation; either
++  version 2 of the License, or (at your option) any later version.
++
++  This library is distributed in the hope that it will be useful,
++  but WITHOUT ANY WARRANTY; without even the implied warranty of
++  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++  Library General Public License for more details.
++
++  You should have received a copy of the GNU Library General Public License
++  along with this library; see the file COPYING.LIB.  If not, write to
++  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++  Boston, MA 02110-1301, USA.
++*/
++
++#include "ldapattributeproxymodel.h"
++#include "ldapmodel.h"
++#include "ldapmodelnode_p.h"
++
++#include <kdebug.h>
++#include <klocale.h>
++
++using namespace KLDAP;
++
++class LdapAttributeProxyModel::LdapAttributeProxyModelPrivate
++{
++  public:
++    LdapAttributeProxyModelPrivate();
++
++};
++
++LdapAttributeProxyModel::LdapAttributeProxyModelPrivate::LdapAttributeProxyModelPrivate()
++{
++
++}
++
++LdapAttributeProxyModel::LdapAttributeProxyModel( QObject *parent )
++  : QSortFilterProxyModel( parent ),
++    m_d( new LdapAttributeProxyModelPrivate() )
++{
++
++}
++
++LdapAttributeProxyModel::~LdapAttributeProxyModel()
++{
++  delete m_d;
++}
++
++QVariant LdapAttributeProxyModel::data( const QModelIndex &index,
++                                        int role ) const
++{
++  // Included just in case we decide to do any special presentation of the data
++  // at some other point throughout the 4.x series.
++  return sourceModel()->data( mapToSource( index ), role );
++}
++
++bool LdapAttributeProxyModel::setData( const QModelIndex &index,
++                                       const QVariant &value,
++                                       int role )
++{
++  Q_UNUSED( index );
++  Q_UNUSED( value );
++  Q_UNUSED( role );
++  return false;
++}
++
++bool LdapAttributeProxyModel::filterAcceptsRow( int sourceRow,
++                                                const QModelIndex& sourceParent ) const
++{
++  QModelIndex idx = sourceModel()->index( sourceRow, 0, sourceParent );
++  LdapModelNode::NodeType nodeType =
++    static_cast<LdapModelNode::NodeType>(
++      sourceModel()->data( idx, LdapModel::NodeTypeRole ).toUInt() );
++  return ( nodeType == LdapModelNode::Attr );
++}
++
++QVariant LdapAttributeProxyModel::headerData( int section,
++                                              Qt::Orientation orientation,
++                                              int role ) const
++{
++  if ( orientation == Qt::Horizontal && role == Qt::DisplayRole ) {
++    if ( section == 0 ) {
++      return QVariant( QString( i18n( "Attribute" ) ) );
++    } else if ( section == 1 ) {
++      return QVariant( QString( i18n( "Value" ) ) );
++    }
++  }
++
++  return QVariant();
++}
++
++int LdapAttributeProxyModel::columnCount( const QModelIndex &/*parent*/ ) const
++{
++  return 2;
++}
++
++Qt::ItemFlags LdapAttributeProxyModel::flags( const QModelIndex &index ) const
++{
++  // Included so as not to break BC in case we wish to use this later in 4.x
++  return sourceModel()->flags( mapToSource( index ) );
++}
++
++bool LdapAttributeProxyModel::hasChildren( const QModelIndex &parent ) const
++{
++  // We need to handle this carefully bacause of the filtering out of attributes
++  // and the lazy population approach.
++  LdapModel *model = static_cast<LdapModel*>( sourceModel() );
++  return model->hasChildrenOfType( mapToSource( parent ), LdapModel::Attribute );
++}
++
++QModelIndex LdapAttributeProxyModel::mapFromSource( const QModelIndex &sourceIndex ) const
++{
++  return QSortFilterProxyModel::mapFromSource( sourceIndex );
++}
++
++QModelIndex LdapAttributeProxyModel::mapToSource( const QModelIndex &proxyIndex ) const
++{
++  return QSortFilterProxyModel::mapToSource( proxyIndex );
++}
++
++bool LdapAttributeProxyModel::insertRows( int row, int count,
++                                          const QModelIndex &parent )
++{
++  Q_UNUSED( row );
++  Q_UNUSED( count );
++  Q_UNUSED( parent );
++  return false;
++}
++
++bool LdapAttributeProxyModel::removeRows( int row, int count,
++                                          const QModelIndex &parent )
++{
++  Q_UNUSED( row );
++  Q_UNUSED( count );
++  Q_UNUSED( parent );
++  return false;
++}
++
++void LdapAttributeProxyModel::sort( int column, Qt::SortOrder order )
++{
++  Q_UNUSED( column );
++  Q_UNUSED( order );
++}
++
++Qt::DropActions LdapAttributeProxyModel::supportedDropActions() const
++{
++  return Qt::MoveAction;
++}
++
++QMimeData *LdapAttributeProxyModel::mimeData( const QModelIndexList &indexes ) const
++{
++  Q_UNUSED( indexes );
++  return 0;
++}
++
++bool LdapAttributeProxyModel::dropMimeData( const QMimeData *data, Qt::DropAction action,
++                                            int row, int column, const QModelIndex &parent )
++{
++  /** \todo Implement drag and drop for LdapModel */
++  Q_UNUSED( data );
++  Q_UNUSED( action );
++  Q_UNUSED( row );
++  Q_UNUSED( column );
++  Q_UNUSED( parent );
++  return false;
++}
++
++#include "ldapattributeproxymodel.moc"
+--- a/kblog/CMakeLists.txt
++++ b/kblog/CMakeLists.txt
+@@ -26,7 +26,11 @@
+ 
+ set_target_properties(kblog PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+ 
+-install(TARGETS kblog  DESTINATION ${LIB_INSTALL_DIR} )
++install(TARGETS kblog  
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+ 
+ ########### install files ##############
+ 
+--- a/kblog/gdata.cpp
++++ b/kblog/gdata.cpp
+@@ -235,13 +235,10 @@
+   KIO::TransferJob *job = KIO::http_post(
+       KUrl( "http://www.blogger.com/feeds/" + blogId() + "/posts/default/"+post->postId() ),
+       postData, KIO::HideProgressInfo );
+-  d->mModifyPostMap[ job ] = post;
+ 
+-  if ( !job ) {
+-    kWarning() << "Unable to create KIO job for http://www.blogger.com/feeds/"
+-        << blogId() <<"/posts/default/" << post->postId();
+-  }
++  Q_ASSERT( job );
+ 
++  d->mModifyPostMap[ job ] = post;
+ 
+   job->addMetaData( "content-type", "Content-Type: application/atom+xml; charset=utf-8" );
+   job->addMetaData( "ConnectTimeout", "50" );
+--- a/mailtransport/kcm_mailtransport.desktop
++++ b/mailtransport/kcm_mailtransport.desktop
+@@ -15,6 +15,7 @@
+ Name=Mail Transport
+ Name[be]=Паштовы транспарт
+ Name[ca]=Transport de correu
++Name[cs]=Přenos pošty
+ Name[de]=Versandart
+ Name[el]=Κύριος μεταφορέας
+ Name[es]=Transporte de correo
+--- a/mailtransport/CMakeLists.txt
++++ b/mailtransport/CMakeLists.txt
+@@ -33,7 +33,11 @@
+ target_link_libraries(mailtransport ${KDE4_KIO_LIBS})
+ set_target_properties(mailtransport PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+ 
+-install(TARGETS mailtransport DESTINATION ${LIB_INSTALL_DIR})
++install(TARGETS mailtransport 
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+ install(FILES mailtransport.kcfg  DESTINATION ${KCFG_INSTALL_DIR})
+ 
+ set(mailtransport_kcm_srcs configmodule.cpp)
+--- a/mailtransport/TODO
++++ b/mailtransport/TODO
+@@ -11,6 +11,7 @@
+ - load passwords if another instance opens the wallet
+ - load passwords if application opens wallet
+ - add D-Bus interface for sending mails
++- test to see if there is always a default transport, by adding / deleting accounts
+ 
+ Transport
+ ---------
+@@ -31,3 +32,5 @@
+ TransportManagementWidget
+ -------------------------
+ - support inline editing of transport names
++
++
+--- a/kabc/plugins/file/file.desktop
++++ b/kabc/plugins/file/file.desktop
+@@ -10,8 +10,10 @@
+ Name[ga]=Comhad
+ Name[hu]=Fájl
+ Name[ja]=ファイル
+-Name[lt]=Byla
++Name[lt]=Failas
++Name[nds]=Datei
+ Name[nl]=Bestand
++Name[oc]=Fichièr
+ Name[pa]=ਫਾਇਲ
+ Name[pt]=Ficheiro
+ Name[sv]=Fil
+--- a/kabc/plugins/file/resourcefileplugin.cpp
++++ b/kabc/plugins/file/resourcefileplugin.cpp
+@@ -23,10 +23,6 @@
+ 
+ using namespace KABC;
+ 
+-extern "C"
+-{
+-  KDE_EXPORT void *init_kabc_file()
+-  {
+-    return new KRES::PluginFactory<ResourceFile, ResourceFileConfig>();
+-  }
+-}
++typedef KRES::PluginFactory<ResourceFile, ResourceFileConfig> ResourceFileFactory;
++
++K_EXPORT_PLUGIN(ResourceFileFactory)
+--- a/kabc/plugins/file/resourcefile.cpp
++++ b/kabc/plugins/file/resourcefile.cpp
+@@ -49,12 +49,6 @@
+ class ResourceFile::ResourceFilePrivate
+ {
+   public:
+-    KIO::Job *mLoadJob;
+-    bool mIsLoading;
+-
+-    KIO::Job *mSaveJob;
+-    bool mIsSaving;
+-
+     QMap< QString, MissingEntryList > mMissingEntries;
+ };
+ 
+@@ -92,11 +86,6 @@
+ 
+ void ResourceFile::init( const QString &fileName, const QString &formatName )
+ {
+-  d->mLoadJob = 0;
+-  d->mIsLoading = false;
+-  d->mSaveJob = 0;
+-  d->mIsSaving = false;
+-
+   mFormatName = formatName;
+ 
+   FormatFactory *factory = FormatFactory::self();
+@@ -120,19 +109,10 @@
+ 
+ ResourceFile::~ResourceFile()
+ {
+-  if ( d->mIsLoading ) {
+-    d->mLoadJob->kill();
+-  }
+-  if ( d->mIsSaving ) {
+-    d->mSaveJob->kill();
+-  }
+-
+   delete d;
+   d = 0;
+   delete mFormat;
+   mFormat = 0;
+-
+-  deleteLocalTempFile();
+ }
+ 
+ void ResourceFile::writeConfig( KConfigGroup &group )
+@@ -224,10 +204,6 @@
+ {
+   kDebug(5700) << "ResourceFile::load(): '" << mFileName << "'";
+ 
+-  if ( d->mIsLoading ) {
+-    abortAsyncLoading();
+-  }
+-
+   mAsynchronous = false;
+ 
+   QFile file( mFileName );
+@@ -257,73 +233,20 @@
+ 
+ bool ResourceFile::asyncLoad()
+ {
+-  if ( d->mIsLoading ) {
+-    abortAsyncLoading();
+-  }
+-
+-  if ( d->mIsSaving ) {
+-    kWarning(5700) << "Aborted asyncSave() because we're still saving!";
+-    return false;
+-  }
+-
+   mAsynchronous = true;
+ 
+-  bool ok = createLocalTempFile();
+-
+-  if ( !ok ) {
+-    emit loadingError( this, i18n( "Unable to open file '%1'.", mTempFile->fileName() ) );
+-    deleteLocalTempFile();
+-    return false;
+-  }
++  load();
+ 
+-  KUrl dest, src;
+-  dest.setPath( mTempFile->fileName() );
+-  src.setPath( mFileName );
+-
+-  KIO::Scheduler::checkSlaveOnHold( true );
+-  d->mLoadJob = KIO::file_copy( src, dest, -1, KIO::Overwrite | KIO::HideProgressInfo );
+-  d->mIsLoading = true;
+-  connect( d->mLoadJob, SIGNAL( result( KJob* ) ),
+-           this, SLOT( downloadFinished( KJob* ) ) );
++  QTimer::singleShot( 0, this, SLOT( emitLoadingFinished() ) );
+ 
+   return true;
+ }
+ 
+-void ResourceFile::abortAsyncLoading()
+-{
+-  kDebug(5700) << "ResourceFile::abortAsyncLoading()";
+-
+-  if ( d->mLoadJob ) {
+-    d->mLoadJob->kill(); // result not emitted
+-    d->mLoadJob = 0;
+-  }
+-
+-  deleteLocalTempFile();
+-  d->mIsLoading = false;
+-}
+-
+-void ResourceFile::abortAsyncSaving()
+-{
+-  kDebug(5700) << "ResourceFile::abortAsyncSaving()";
+-
+-  if ( d->mSaveJob ) {
+-    d->mSaveJob->kill(); // result not emitted
+-    d->mSaveJob = 0;
+-  }
+-
+-  deleteLocalTempFile();
+-  d->mIsSaving = false;
+-}
+-
+ bool ResourceFile::save( Ticket *ticket )
+ {
+   Q_UNUSED( ticket );
+   kDebug(5700) << "ResourceFile::save()";
+ 
+-  if ( d->mIsSaving ) {
+-    abortAsyncSaving();
+-  }
+-
+   // create backup file
+   QString extension = '_' + QString::number( QDate::currentDate().dayOfWeek() );
+   (void) KSaveFile::simpleBackupFile( mFileName, QString(), extension );
+@@ -347,63 +270,25 @@
+   return ok;
+ }
+ 
+-bool ResourceFile::asyncSave( Ticket * )
++bool ResourceFile::asyncSave( Ticket *ticket )
+ {
+   kDebug(5700) << "ResourceFile::asyncSave()";
+ 
+-  if ( d->mIsSaving ) {
+-    abortAsyncSaving();
+-  }
+-
+-  if ( d->mIsLoading ) {
+-    kWarning(5700) << "Aborted asyncSave() because we're still loading!";
+-    return false;
+-  }
++  save( ticket );
+ 
+-  bool ok = createLocalTempFile();
+-  if ( ok ) {
+-    saveToFile( mTempFile );
+-  }
+-
+-  if ( !ok ) {
+-    emit savingError( this, i18n( "Unable to save file '%1'.", mTempFile->fileName() ) );
+-    deleteLocalTempFile();
+-    return false;
+-  }
+-
+-  KUrl src, dest;
+-  src.setPath( mTempFile->fileName() );
+-  dest.setPath( mFileName );
+-
+-  KIO::Scheduler::checkSlaveOnHold( true );
+-  d->mIsSaving = true;
+-  mDirWatch.stopScan(); // restarted in uploadFinished()
+-  d->mSaveJob = KIO::file_copy( src, dest, -1, KIO::Overwrite | KIO::HideProgressInfo );
+-  connect( d->mSaveJob, SIGNAL( result( KJob* ) ),
+-           this, SLOT( uploadFinished( KJob* ) ) );
++  QTimer::singleShot( 0, this, SLOT( emitSavingFinished() ) );
+ 
+   return true;
+ }
+ 
+-bool ResourceFile::createLocalTempFile()
++void ResourceFile::emitLoadingFinished()
+ {
+-  deleteStaleTempFile();
+-  mTempFile = new KTemporaryFile();
+-  return mTempFile->open();
++  emit loadingFinished( this );
+ }
+ 
+-void ResourceFile::deleteStaleTempFile()
++void ResourceFile::emitSavingFinished()
+ {
+-  if ( hasTempFile() ) {
+-    kDebug(5700) << "stale temp file detected" << mTempFile->fileName();
+-    deleteLocalTempFile();
+-  }
+-}
+-
+-void ResourceFile::deleteLocalTempFile()
+-{
+-  delete mTempFile;
+-  mTempFile = 0;
++  emit savingFinished( this );
+ }
+ 
+ bool ResourceFile::loadDistributionLists()
+@@ -571,48 +456,4 @@
+   mAddrMap.remove( addr.uid() );
+ }
+ 
+-void ResourceFile::downloadFinished( KJob *job )
+-{
+-  Q_UNUSED( job );
+-  kDebug(5700) << "ResourceFile::downloadFinished()";
+-
+-  d->mIsLoading = false;
+-
+-  if ( !hasTempFile() ) {
+-    emit loadingError( this, i18n( "Download failed, could not create temporary file" ) );
+-    return;
+-  }
+-
+-  QFile file( mTempFile->fileName() );
+-  if ( file.open( QIODevice::ReadOnly ) ) {
+-    if ( clearAndLoad( &file ) ) {
+-      emit loadingFinished( this );
+-    } else {
+-      emit loadingError( this, i18n( "Problems during parsing file '%1'.",
+-                                     mTempFile->fileName() ) );
+-    }
+-  } else {
+-    emit loadingError( this, i18n( "Unable to open file '%1'.",
+-                                   mTempFile->fileName() ) );
+-  }
+-
+-  deleteLocalTempFile();
+-}
+-
+-void ResourceFile::uploadFinished( KJob *job )
+-{
+-  kDebug(5700) << "ResourceFile::uploadFinished()";
+-
+-  d->mIsSaving = false;
+-
+-  if ( job->error() ) {
+-    emit savingError( this, job->errorString() );
+-  } else {
+-    emit savingFinished( this );
+-  }
+-
+-  deleteLocalTempFile();
+-  mDirWatch.startScan();
+-}
+-
+ #include "resourcefile.moc"
+--- a/kabc/plugins/file/CMakeLists.txt
++++ b/kabc/plugins/file/CMakeLists.txt
+@@ -13,8 +13,11 @@
+ 
+ set_target_properties(kabc_file_core PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+ 
+-install(TARGETS kabc_file_core  DESTINATION ${LIB_INSTALL_DIR} )
+-
++install(TARGETS kabc_file_core  
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+ 
+ ########### kabc_file plugin ###############
+ 
+--- a/kabc/plugins/file/resourcefile.h
++++ b/kabc/plugins/file/resourcefile.h
+@@ -144,8 +144,8 @@
+     virtual void removeAddressee( const Addressee &addr );
+ 
+   private Q_SLOTS:
+-    void downloadFinished( KJob *job );
+-    void uploadFinished( KJob *job );
++    void emitLoadingFinished();
++    void emitSavingFinished();
+ 
+   protected Q_SLOTS:
+     void fileChanged( const QString &path);
+@@ -159,8 +159,6 @@
+   private:
+     bool clearAndLoad( QFile *file );
+     void saveToFile( QFile *file );
+-    void abortAsyncLoading();
+-    void abortAsyncSaving();
+     bool createLocalTempFile();
+     void deleteLocalTempFile();
+     void deleteStaleTempFile();
+--- a/kabc/plugins/file/resourcefileconfig.cpp
++++ b/kabc/plugins/file/resourcefileconfig.cpp
+@@ -51,6 +51,7 @@
+ 
+   label = new QLabel( i18n( "Location:" ), this );
+   mFileNameEdit = new KUrlRequester( this );
++  mFileNameEdit->setMode( KFile::File | KFile::LocalOnly );
+ 
+   connect( mFileNameEdit, SIGNAL( textChanged( const QString & ) ),
+            SLOT( checkFilePermissions( const QString & ) ) );
+@@ -108,7 +109,7 @@
+     resource->setFormat( mFormatTypes[ mFormatBox->currentIndex() ] );
+   }
+ 
+-  resource->setFileName( mFileNameEdit->url().url() );
++  resource->setFileName( mFileNameEdit->url().path() );
+ }
+ 
+ void ResourceFileConfig::checkFilePermissions( const QString &fileName )
+--- a/kabc/plugins/ldapkio/resourceldapkioconfig.cpp
++++ b/kabc/plugins/ldapkio/resourceldapkioconfig.cpp
+@@ -394,6 +394,7 @@
+   QRadioButton *bt;
+   bt = new QRadioButton( i18n( "Do not use offline cache" ), mCacheBox );
+   cacheBoxLayout->addWidget( bt );
++  bt->setDown(true);
+   mCacheGroup->addButton( bt );
+ 
+   bt = new QRadioButton( i18n( "Use local copy if no connection" ), mCacheBox );
+--- a/kabc/plugins/ldapkio/resourceldapkioplugin.cpp
++++ b/kabc/plugins/ldapkio/resourceldapkioplugin.cpp
+@@ -27,11 +27,14 @@
+ 
+ using namespace KABC;
+ 
+-extern "C"
++class ResourceLDAPKIOFactory : public KRES::PluginFactory<ResourceLDAPKIO, ResourceLDAPKIOConfig>
+ {
+-  KDE_EXPORT void *init_kabc_ldapkio()
+-  {
+-    KGlobal::locale()->insertCatalog( "kabc_ldapkio" );
+-    return new KRES::PluginFactory<ResourceLDAPKIO, ResourceLDAPKIOConfig>();
+-  }
+-}
++  public:
++    ResourceLDAPKIOFactory()
++      : KRES::PluginFactory<ResourceLDAPKIO, ResourceLDAPKIOConfig>()
++    {
++      KGlobal::locale()->insertCatalog( "kabc_ldapkio" );
++    }
++};
++
++K_EXPORT_PLUGIN(ResourceLDAPKIOFactory)
+--- a/kabc/plugins/net/resourcenet.cpp
++++ b/kabc/plugins/net/resourcenet.cpp
+@@ -61,7 +61,7 @@
+     mTempFile( 0 ),
+     d( new ResourceNetPrivate )
+ {
+-  init( KUrl( group.readPathEntry( "NetUrl" ) ), group.readEntry( "NetFormat" ) );
++  init( KUrl( group.readPathEntry( "NetUrl", QString() ) ), group.readEntry( "NetFormat" ) );
+ }
+ 
+ ResourceNet::ResourceNet( const KUrl &url, const QString &format )
+--- a/kabc/plugins/net/net.desktop
++++ b/kabc/plugins/net/net.desktop
+@@ -11,7 +11,9 @@
+ Name[hu]=Hálózat
+ Name[ja]=ネットワーク
+ Name[lt]=Tinklas
++Name[nds]=Nettwark
+ Name[nl]=Netwerk
++Name[oc]=Ret
+ Name[pa]=ਨੈੱਟਵਰ
+ Name[pt]=Rede
+ Name[sv]=Nätverk
+--- a/kabc/plugins/net/resourcenetplugin.cpp
++++ b/kabc/plugins/net/resourcenetplugin.cpp
+@@ -23,10 +23,6 @@
+ 
+ using namespace KABC;
+ 
+-extern "C"
+-{
+-  KDE_EXPORT void *init_kabc_net()
+-  {
+-    return new KRES::PluginFactory<ResourceNet, ResourceNetConfig>();
+-  }
+-}
++typedef KRES::PluginFactory<ResourceNet, ResourceNetConfig> ResourceNetFactory;
++
++K_EXPORT_PLUGIN(ResourceNetFactory)
+--- a/kabc/plugins/dir/dir.desktop
++++ b/kabc/plugins/dir/dir.desktop
+@@ -11,7 +11,9 @@
+ Name[hu]=Könyvtár
+ Name[ja]=ディレクトリ
+ Name[lt]=Aplankas
++Name[nds]=Orner
+ Name[nl]=Map
++Name[oc]=Repertòri
+ Name[pa]=ਡਾਇਰੈਕਟਰੀ
+ Name[pt]=Pasta
+ Name[sv]=Katalog
+--- a/kabc/plugins/dir/resourcedirplugin.cpp
++++ b/kabc/plugins/dir/resourcedirplugin.cpp
+@@ -23,10 +23,7 @@
+ 
+ using namespace KABC;
+ 
+-extern "C"
+-{
+-  KDE_EXPORT void *init_kabc_directory()
+-  {
+-    return new KRES::PluginFactory<ResourceDir, ResourceDirConfig>();
+-  }
+-}
++typedef KRES::PluginFactory<ResourceDir, ResourceDirConfig> ResourceDirFactory;
++
++K_EXPORT_PLUGIN(ResourceDirFactory)
++
+--- a/kabc/kabc_manager.desktop
++++ b/kabc/kabc_manager.desktop
+@@ -12,7 +12,9 @@
+ Name[hu]=Partnerek
+ Name[ja]=コンタクト
+ Name[lt]=Kontaktai
++Name[nds]=Kontakten
+ Name[nl]=Contactpersonen
++Name[oc]=Contactes
+ Name[pa]=ਸੰਪਰਕ
+ Name[pt]=Contactos
+ Name[sv]=Kontakter
+--- a/kabc/formatfactory.cpp
++++ b/kabc/formatfactory.cpp
+@@ -101,7 +101,7 @@
+                                        KStandardDirs::Recursive |
+                                        KStandardDirs::NoDuplicates );
+   for ( QStringList::ConstIterator it = list.begin(); it != list.end(); ++it ) {
+-    KConfig config( *it, KConfig::OnlyLocal );
++    KConfig config( *it, KConfig::SimpleConfig );
+ 
+     if ( !config.hasGroup( "Misc" ) || !config.hasGroup( "Plugin" ) ) {
+       continue;
+--- a/kabc/CMakeLists.txt
++++ b/kabc/CMakeLists.txt
+@@ -88,7 +88,11 @@
+ target_link_libraries(kabc kresources kldap ${KDE4_KDE3SUPPORT_LIBRARY})
+ 
+ set_target_properties(kabc PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+-install(TARGETS kabc  DESTINATION ${LIB_INSTALL_DIR} )
++install(TARGETS kabc  
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+ 
+ ########### install files ###############
+ 
+--- a/kabc/formats/binary.desktop
++++ b/kabc/formats/binary.desktop
+@@ -11,7 +11,9 @@
+ Name[hu]=Bináris
+ Name[ja]=バイナリ
+ Name[lt]=Dvejetainis
++Name[nds]=Bineer
+ Name[nl]=Binair
++Name[oc]=Binari
+ Name[pa]=ਬਾਈਨਰੀ
+ Name[pt]=Binário
+ Name[sv]=Binär
+--- a/ktnef/CMakeLists.txt
++++ b/ktnef/CMakeLists.txt
+@@ -28,8 +28,11 @@
+ target_link_libraries(ktnef  ${KDE4_KIO_LIBS} kabc kcal)
+ 
+ set_target_properties(ktnef PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION})
+-install(TARGETS ktnef DESTINATION ${LIB_INSTALL_DIR})
+-
++install(TARGETS ktnef 
++    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+ 
+ ########### install files ###############
+ 

Modified: branches/kde4/packages/kdepimlibs/debian/patches/series
===================================================================
--- branches/kde4/packages/kdepimlibs/debian/patches/series	2007-10-25 13:27:56 UTC (rev 7646)
+++ branches/kde4/packages/kdepimlibs/debian/patches/series	2007-10-25 13:37:24 UTC (rev 7647)
@@ -1,2 +1,2 @@
 01_kdepimlibs_branch_r000000.diff
-01_kdepimlibs_branch_r726760.diff 
+01_kdepimlibs_branch_r729270.diff




More information about the pkg-kde-commits mailing list