From 71338000a44420d5bd46c18605e76e742c806e00 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 8 Jul 2014 18:32:43 +0200 Subject: [PATCH 001/133] SetupWizard: Keep initial local folder to compare later for changes. If the local folder changes, the sync has to be reinitialized as well. Until now we did not detect that, which led to the case that the sync folder was not reinitialized in case only the local folder changed in the setup dialog. --- src/mirall/owncloudsetupwizard.cpp | 20 ++++++++++++++++++-- src/mirall/owncloudsetupwizard.h | 1 + 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/mirall/owncloudsetupwizard.cpp b/src/mirall/owncloudsetupwizard.cpp index a7d866b51..c4b7388f7 100644 --- a/src/mirall/owncloudsetupwizard.cpp +++ b/src/mirall/owncloudsetupwizard.cpp @@ -111,6 +111,15 @@ void OwncloudSetupWizard::startWizard() } _ocWizard->setProperty("localFolder", localFolder); + + // remember the local folder to compare later if it changed, but clean first + QString lf = QDir::fromNativeSeparators(localFolder); + if( !lf.endsWith(QLatin1Char('/'))) { + lf.append(QLatin1Char('/')); + } + + _initLocalFolder = lf; + _ocWizard->setRemoteFolder(_remoteFolder); _ocWizard->setStartId(WizardCommon::Page_ServerSetup); @@ -392,10 +401,17 @@ void OwncloudSetupWizard::slotAssistantFinished( int result ) Account *newAccount = _ocWizard->account(); Account *origAccount = AccountManager::instance()->account(); - const QString localFolder = _ocWizard->localFolder(); + + QString localFolder = QDir::fromNativeSeparators(_ocWizard->localFolder()); + if( !localFolder.endsWith(QLatin1Char('/'))) { + localFolder.append(QLatin1Char('/')); + } bool isInitialSetup = (origAccount == 0); - bool reinitRequired = newAccount->changed(origAccount, true /* ignoreProtocol, allows http->https */); + + // check if either the account or the local folder changed, than reinit + bool reinitRequired = _initLocalFolder != localFolder || + newAccount->changed(origAccount, true /* ignoreProtocol, allows http->https */); bool startFromScratch = _ocWizard->field("OCSyncFromScratch").toBool(); // This distinguishes three possibilities: diff --git a/src/mirall/owncloudsetupwizard.h b/src/mirall/owncloudsetupwizard.h index 681b776be..b1f2a2bd1 100644 --- a/src/mirall/owncloudsetupwizard.h +++ b/src/mirall/owncloudsetupwizard.h @@ -94,6 +94,7 @@ private: Account* _account; OwncloudWizard* _ocWizard; + QString _initLocalFolder; QString _remoteFolder; }; From e8de3e855a20c76871940592618c5bd7cbe09877 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Wed, 16 Jul 2014 11:43:00 +0200 Subject: [PATCH 002/133] 1.6.2 --- VERSION.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION.cmake b/VERSION.cmake index 6be5d277e..b2fa967dd 100644 --- a/VERSION.cmake +++ b/VERSION.cmake @@ -1,6 +1,6 @@ set( MIRALL_VERSION_MAJOR 1 ) set( MIRALL_VERSION_MINOR 6 ) -set( MIRALL_VERSION_PATCH 1 ) +set( MIRALL_VERSION_PATCH 2 ) set( MIRALL_SOVERSION 0 ) if ( NOT DEFINED MIRALL_VERSION_SUFFIX ) From d3b72940fd4da5b5ee9e22acecb95b553e662820 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 16 Jul 2014 11:55:31 +0200 Subject: [PATCH 003/133] Updated Changelog for 1.6.2 --- ChangeLog | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index bf537e7b7..e1eadfe59 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ ChangeLog ========= +version 1.6.2 (release 2014-07-x ) + * HTTP Credentials: Read password from legacy place if not found. + * Shibboleth: Fix the waiting curser that would not disapear (#1915) + * Limit memory usage to avoid mem wasting and crashes + * Propagator: Fix crash when logging out during upload (#1957) + * Propagator_qnam: Fix signal slot connection (#1963) + * Use more elaborated way to detect that the server was reconfigured (#1948) + * Setup Wizard: Reconfigure Server also if local path was changed (#1948) + version 1.6.1 (release 2014-06-26 ) * Fix 'precondition failed' bug with broken upload * Fix openSSL problems for windows deployment From af3fae9c28f9c47ff879e3b0f53749544cabc8f8 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 16 Jul 2014 14:32:58 +0200 Subject: [PATCH 004/133] Bumped to 1.6.2 rc1 --- VERSION.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION.cmake b/VERSION.cmake index b2fa967dd..6d35bbfef 100644 --- a/VERSION.cmake +++ b/VERSION.cmake @@ -4,7 +4,7 @@ set( MIRALL_VERSION_PATCH 2 ) set( MIRALL_SOVERSION 0 ) if ( NOT DEFINED MIRALL_VERSION_SUFFIX ) - set( MIRALL_VERSION_SUFFIX "") #e.g. beta1, beta2, rc1 + set( MIRALL_VERSION_SUFFIX "rc1") #e.g. beta1, beta2, rc1 endif( NOT DEFINED MIRALL_VERSION_SUFFIX ) if( NOT DEFINED MIRALL_VERSION_BUILD ) From d8ebebaf120bdf0b0963ac6de60da1d8fa58b10d Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 16 Jul 2014 18:39:51 +0200 Subject: [PATCH 005/133] WinInstaller: No hardcoded www in front of the url on final page. --- cmake/modules/NSIS.template.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in index afbdc0c5c..923b2b352 100644 --- a/cmake/modules/NSIS.template.in +++ b/cmake/modules/NSIS.template.in @@ -111,8 +111,8 @@ ReserveFile "${NSISDIR}\Plugins\InstallOptions.dll" !define MUI_HEADERIMAGE !define MUI_HEADERIMAGE_BITMAP ${WIN_SETUP_BITMAP_PATH}/page_header.bmp !define MUI_COMPONENTSPAGE_SMALLDESC -!define MUI_FINISHPAGE_LINK "www.${APPLICATION_DOMAIN}" -!define MUI_FINISHPAGE_LINK_LOCATION "http://www.${APPLICATION_DOMAIN}" +!define MUI_FINISHPAGE_LINK "${APPLICATION_DOMAIN}" +!define MUI_FINISHPAGE_LINK_LOCATION "http://${APPLICATION_DOMAIN}" !define MUI_FINISHPAGE_NOREBOOTSUPPORT !ifdef OPTION_FINISHPAGE_RELEASE_NOTES !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED From 7ff62bc5770df58bf064fbe54e3bff1f9667cd72 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 17 Jul 2014 14:57:04 +0200 Subject: [PATCH 006/133] NSIS: ICU rebumped to 5.3 as per build service change --- cmake/modules/NSIS.template.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in index 5f0a204a8..0ac1e9ea5 100644 --- a/cmake/modules/NSIS.template.in +++ b/cmake/modules/NSIS.template.in @@ -415,9 +415,9 @@ Section "${APPLICATION_NAME}" SEC_APPLICATION ;Qt deps File "${MING_BIN}\libpng16-16.dll" - File "${MING_BIN}\icudata51.dll" - File "${MING_BIN}\icui18n51.dll" - File "${MING_BIN}\icuuc51.dll" + File "${MING_BIN}\icudata53.dll" + File "${MING_BIN}\icui18n53.dll" + File "${MING_BIN}\icuuc53.dll" File "${MING_BIN}\libEGL.dll" File "${MING_BIN}\libGLESv2.dll" File "${MING_BIN}\libjpeg-8.dll" From 0e5d0c117065547a9f612f66900b9634adf3aa75 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 17 Jul 2014 15:00:21 +0200 Subject: [PATCH 007/133] SocketAPI: Some cleaning up --- src/mirall/application.h | 1 - src/mirall/folderman.cpp | 4 +--- src/mirall/socketapi.cpp | 8 +++----- src/mirall/socketapi.h | 2 +- 4 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/mirall/application.h b/src/mirall/application.h index 19c880001..02690cc99 100644 --- a/src/mirall/application.h +++ b/src/mirall/application.h @@ -38,7 +38,6 @@ namespace Mirall { class Theme; class Folder; class SslErrorDialog; -class SocketApi; class Application : public SharedTools::QtSingleApplication { diff --git a/src/mirall/folderman.cpp b/src/mirall/folderman.cpp index ee8aced72..3cbaa8382 100644 --- a/src/mirall/folderman.cpp +++ b/src/mirall/folderman.cpp @@ -48,13 +48,11 @@ FolderMan::FolderMan(QObject *parent) : connect(_folderWatcherSignalMapper, SIGNAL(mapped(const QString&)), this, SLOT(slotScheduleSync(const QString&))); - MirallConfigFile cfg; - ne_sock_init(); Q_ASSERT(!_instance); _instance = this; - _socketApi = new SocketApi(this, QUrl::fromLocalFile(cfg.configPathWithAppName().append(QLatin1String("socket")))); + _socketApi = new SocketApi(this); } FolderMan *FolderMan::instance() diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 2211d1a9a..af5d6a409 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -155,13 +155,11 @@ SyncFileStatus fileStatus(Folder *folder, const QString& fileName ) } -SocketApi::SocketApi(QObject* parent, const QUrl& localFile) +SocketApi::SocketApi(QObject* parent) : QObject(parent) - , _localServer(0) + , _localServer(new QTcpServer(this)) { // setup socket - _localServer = new QTcpServer(this); - _localServer->listen( QHostAddress::LocalHost, 33001); connect(_localServer, SIGNAL(newConnection()), this, SLOT(slotNewConnection())); // folder watcher @@ -183,7 +181,7 @@ void SocketApi::slotNewConnection() if( ! socket ) { return; } - DEBUG << "New connection " << socket; + DEBUG << "New connection" << socket; connect(socket, SIGNAL(readyRead()), this, SLOT(slotReadSocket())); connect(socket, SIGNAL(disconnected()), this, SLOT(onLostConnection())); Q_ASSERT(socket->readAll().isEmpty()); diff --git a/src/mirall/socketapi.h b/src/mirall/socketapi.h index 9bf2c013b..52a07c445 100644 --- a/src/mirall/socketapi.h +++ b/src/mirall/socketapi.h @@ -33,7 +33,7 @@ class SocketApi : public QObject Q_OBJECT public: - SocketApi(QObject* parent, const QUrl& localFile); + SocketApi(QObject* parent); virtual ~SocketApi(); public slots: From 1ae727e70f19fda1f4ab4c8d85595961ec80ff5e Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 17 Jul 2014 15:01:01 +0200 Subject: [PATCH 008/133] SocketAPI: Emit error of binding the server fails --- src/mirall/socketapi.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index af5d6a409..68952582a 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -46,6 +46,10 @@ CSYNC_EXCLUDE_TYPE csync_excluded(CSYNC *ctx, const char *path, int filetype); } +namespace { + const int PORT = 33001; +} + namespace Mirall { #define DEBUG qDebug() << "SocketApi: " @@ -160,6 +164,10 @@ SocketApi::SocketApi(QObject* parent) , _localServer(new QTcpServer(this)) { // setup socket + DEBUG << "Establishing SocketAPI server at" << PORT; + if (!_localServer->listen(QHostAddress::LocalHost, PORT)) { + DEBUG << "Failed to bind to port" << PORT; + } connect(_localServer, SIGNAL(newConnection()), this, SLOT(slotNewConnection())); // folder watcher From 35b6d096159aaa9e9716656c9cb9b1214a601a82 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 17 Jul 2014 17:41:20 +0200 Subject: [PATCH 009/133] SocketAPI: Fix separators on Windows --- src/mirall/socketapi.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 68952582a..60e556797 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -239,7 +239,7 @@ void SocketApi::slotUpdateFolderView(const QString& alias) Folder *f = FolderMan::instance()->folder(alias); if (f) { msg.append(QLatin1String(":")); - msg.append(QDir::cleanPath(f->path())); + msg.append(QDir::toNativeSeparators(QDir::cleanPath(f->path()))); } broadcastMessage(msg); @@ -258,7 +258,8 @@ void SocketApi::slotJobCompleted(const QString &folder, const SyncFileItem &item command = QLatin1String("ERROR"); } - broadcastMessage(QLatin1String("BROADCAST:") + command + QLatin1Char(':') + path); + broadcastMessage(QLatin1String("BROADCAST:") + command + QLatin1Char(':') + + QDir::toNativeSeparators(path)); } @@ -309,7 +310,8 @@ void SocketApi::command_RETRIEVE_FILE_STATUS(const QString& argument, QTcpSocket statusString = fileStatus.toSocketAPIString(); } - QString message = QLatin1String("STATUS:")+statusString+QLatin1Char(':')+argument; + QString message = QLatin1String("STATUS:")+statusString+QLatin1Char(':') + +QDir::toNativeSeparators(argument); sendMessage(socket, message); } From 72cd84e878fcb846fd0159f9b15963dbabb85ccd Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 17 Jul 2014 19:26:58 +0200 Subject: [PATCH 010/133] SocketAPI: Exclude drive part from path blacklist check Otherwise, it always matches the ':' part --- src/mirall/socketapi.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 60e556797..757a1ffe2 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -127,6 +127,11 @@ SyncFileStatus fileStatus(Folder *folder, const QString& fileName ) type = CSYNC_FTW_TYPE_DIR; } + // on windows, there might be a colon in the file name. + QRegExp rx( "^[a-zA-Z]\\:[\\\\/]+"); + if( file.contains(rx) ) { + file.remove(0, 2); + } CSYNC_EXCLUDE_TYPE excl = csync_excluded(folder->csyncContext(), file.toUtf8(), type); if( excl != CSYNC_NOT_EXCLUDED ) { return SyncFileStatus(SyncFileStatus::STATUS_IGNORE); From f8bea55b100ffdafc3c9a56f70af7c9e5da35dcb Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 17 Jul 2014 19:27:12 +0200 Subject: [PATCH 011/133] SocketAPI: Handle top sync folder correctly. --- src/mirall/socketapi.cpp | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 757a1ffe2..e34f86d66 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -107,14 +107,18 @@ SyncFileStatus fileStatus(Folder *folder, const QString& fileName ) { // FIXME: Find a way for STATUS_ERROR - QString file = fileName; - if( folder->path() != QLatin1String("/") ) { + QString file = folder->path(); + + bool isSyncRootFolder = true; + if( fileName != QLatin1String("/") && !fileName.isEmpty() ) { file = folder->path() + fileName; + isSyncRootFolder = false; } QFileInfo fi(file); if( !fi.exists() ) { + qDebug() << "OO File " << file << " is not existing"; return SyncFileStatus(SyncFileStatus::STATUS_STAT_ERROR); } @@ -137,28 +141,30 @@ SyncFileStatus fileStatus(Folder *folder, const QString& fileName ) return SyncFileStatus(SyncFileStatus::STATUS_IGNORE); } + // Problem: for the sync dir itself we do not have a record in the sync journal + // so the next check must not be used for the sync root folder. SyncJournalFileRecord rec = folder->journalDb()->getFileRecord(fileName); - if( !rec.isValid() ) { + if( !isSyncRootFolder && !rec.isValid() ) { return SyncFileStatus(SyncFileStatus::STATUS_NEW); } - SyncFileStatus stat(SyncFileStatus::STATUS_NONE); + SyncFileStatus status(SyncFileStatus::STATUS_NONE); if( type == CSYNC_FTW_TYPE_DIR ) { // compute recursive status of the directory - stat = recursiveFolderStatus( folder, fileName ); + status = recursiveFolderStatus( folder, fileName ); } else if(fi.lastModified() != rec._modtime ) { // file was locally modified. - stat.set(SyncFileStatus::STATUS_EVAL); + status.set(SyncFileStatus::STATUS_EVAL); } else { - stat.set(SyncFileStatus::STATUS_SYNC); + status.set(SyncFileStatus::STATUS_SYNC); } if (rec._remotePerm.contains("S")) { // FIXME! that should be an additional flag - stat.setSharedWithMe(true); + status.setSharedWithMe(true); } - return stat; + return status; } From ed6e3e4ee26c84db00eb06cb27aab7f0b6e468f3 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Fri, 18 Jul 2014 01:25:23 -0400 Subject: [PATCH 012/133] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 42 +++++++++++++++---------------- translations/mirall_cs.ts | 42 +++++++++++++++---------------- translations/mirall_de.ts | 42 +++++++++++++++---------------- translations/mirall_el.ts | 42 +++++++++++++++---------------- translations/mirall_en.ts | 42 +++++++++++++++---------------- translations/mirall_es.ts | 42 +++++++++++++++---------------- translations/mirall_es_AR.ts | 42 +++++++++++++++---------------- translations/mirall_et.ts | 42 +++++++++++++++---------------- translations/mirall_eu.ts | 42 +++++++++++++++---------------- translations/mirall_fa.ts | 42 +++++++++++++++---------------- translations/mirall_fi.ts | 48 ++++++++++++++++++------------------ translations/mirall_fr.ts | 42 +++++++++++++++---------------- translations/mirall_gl.ts | 42 +++++++++++++++---------------- translations/mirall_hu.ts | 42 +++++++++++++++---------------- translations/mirall_it.ts | 42 +++++++++++++++---------------- translations/mirall_ja.ts | 42 +++++++++++++++---------------- translations/mirall_nl.ts | 42 +++++++++++++++---------------- translations/mirall_pl.ts | 42 +++++++++++++++---------------- translations/mirall_pt.ts | 42 +++++++++++++++---------------- translations/mirall_pt_BR.ts | 42 +++++++++++++++---------------- translations/mirall_ru.ts | 42 +++++++++++++++---------------- translations/mirall_sk.ts | 42 +++++++++++++++---------------- translations/mirall_sl.ts | 42 +++++++++++++++---------------- translations/mirall_sv.ts | 42 +++++++++++++++---------------- translations/mirall_th.ts | 42 +++++++++++++++---------------- translations/mirall_tr.ts | 42 +++++++++++++++---------------- translations/mirall_uk.ts | 42 +++++++++++++++---------------- translations/mirall_zh_CN.ts | 42 +++++++++++++++---------------- translations/mirall_zh_TW.ts | 42 +++++++++++++++---------------- 29 files changed, 612 insertions(+), 612 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index 963471b9a..f153739c0 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -375,67 +375,67 @@ Esteu segur que voleu executar aquesta operació? Mirall::FolderMan - + Could not reset folder state No es pot restablir l'estat de la carpeta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. S'ha trobat un diari de sincronització antic '%1', però no s'ha pogut eliminar. Assegureu-vos que no hi ha cap aplicació que actualment en faci ús. - + Undefined State. Estat indefinit. - + Waits to start syncing. Espera per començar la sincronització. - + Preparing for sync. Perparant per la sincronització. - + Sync is running. S'està sincronitzant. - + Server is currently not available. El servidor no està disponible actualment. - + Last Sync was successful. La darrera sincronització va ser correcta. - + Last Sync was successful, but with warnings on individual files. La última sincronització ha estat un èxit, però amb avisos en fitxers individuals. - + Setup Error. Error de configuració. - + User Abort. Cancel·la usuari. - + Sync is paused. La sincronització està en pausa. - + %1 (Sync is paused) %1 (Sync està pausat) @@ -591,17 +591,17 @@ Esteu segur que voleu executar aquesta operació? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway No s'ha rebut cap E-Tag del servidor, comproveu el Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. Hem rebut un E-Tag diferent en la represa. Es comprovarà la pròxima vegada. - + Connection Timeout Temps de connexió excedit @@ -1273,7 +1273,7 @@ No és aconsellada usar-la. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! El fitxer %1 no es pot baixar perquè hi ha un xoc amb el nom d'un fitxer local! @@ -1373,22 +1373,22 @@ No és aconsellada usar-la. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. El fitxer s'ha editat localment però és part d'una compartició només de lectura. S'ha restaurat i la vostra edició és en el fitxer en conflicte. - + The local file was removed during sync. El fitxer local s'ha eliminat durant la sincronització. - + Local file changed during sync. El fitxer local ha canviat durant la sincronització. - + The server did not acknowledge the last chunk. (No e-tag were present) El servidor no ha reconegut l'últim fragment. (No hi havia e-Tag) diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 52cbdb94e..700a75097 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -375,67 +375,67 @@ Opravdu chcete provést tuto akci? Mirall::FolderMan - + Could not reset folder state Nelze obnovit stav složky - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Byl nalezen starý záznam synchronizace '%1', ale nebylo možné jej odebrat. Ujistěte se, že není aktuálně používán jinou aplikací. - + Undefined State. Nedefinovaný stav. - + Waits to start syncing. Vyčkává na spuštění synchronizace. - + Preparing for sync. Příprava na synchronizaci. - + Sync is running. Synchronizace probíhá. - + Server is currently not available. Server je nyní nedostupný. - + Last Sync was successful. Poslední synchronizace byla úspěšná. - + Last Sync was successful, but with warnings on individual files. Poslední synchronizace byla úspěšná, ale s varováním u některých souborů - + Setup Error. Chyba nastavení. - + User Abort. Zrušení uživatelem. - + Sync is paused. Synchronizace pozastavena. - + %1 (Sync is paused) %1 (Synchronizace je pozastavena) @@ -591,17 +591,17 @@ Opravdu chcete provést tuto akci? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ze serveru nebyl obdržen E-Tag, zkontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Obdrželi jsme jiný E-Tag pro pokračování. Zkusím znovu příště. - + Connection Timeout Spojení vypršelo @@ -1273,7 +1273,7 @@ Nedoporučuje se jí používat. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Soubor %1 nemohl být stažen z důvodu kolize názvu se souborem v místním systému. @@ -1373,22 +1373,22 @@ Nedoporučuje se jí používat. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Soubor zde byl editován, ale je součástí sdílení pouze pro čtení. Původní soubor byl obnoven a editovaná verze je uložena v konfliktním souboru. - + The local file was removed during sync. Místní soubor byl odstraněn během synchronizace. - + Local file changed during sync. Místní soubor byl změněn během synchronizace. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index c9fcb1b60..db1dc1db2 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -376,67 +376,67 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Mirall::FolderMan - + Could not reset folder state Konnte Ordner-Zustand nicht zurücksetzen - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Ein altes Synchronisations-Journal '%1' wurde gefunden, konnte jedoch nicht entfernt werden. Bitte stellen Sie sicher, dass keine Anwendung es verwendet. - + Undefined State. Undefinierter Zustand. - + Waits to start syncing. Wartet auf Beginn der Synchronistation - + Preparing for sync. Synchronisation wird vorbereitet. - + Sync is running. Synchronisation läuft. - + Server is currently not available. Der Server ist momentan nicht erreichbar. - + Last Sync was successful. Die letzte Synchronisation war erfolgreich. - + Last Sync was successful, but with warnings on individual files. Letzte Synchronisation war erfolgreich, aber mit Warnungen für einzelne Dateien. - + Setup Error. Setup-Fehler. - + User Abort. Benutzer-Abbruch - + Sync is paused. Synchronisation wurde angehalten. - + %1 (Sync is paused) %1 (Synchronisation ist pausiert) @@ -592,17 +592,17 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Kein E-Tag vom Server empfangen, bitte Proxy / Gateway überprüfen - + We received a different E-Tag for resuming. Retrying next time. Es wurde ein unterschiedlicher E-Tag zum Fortfahren empfangen. Bitte beim nächsten mal nochmal versuchen. - + Connection Timeout Zeitüberschreitung der Verbindung @@ -1274,7 +1274,7 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Die Datei %1 kann aufgrund eines Konfliktes mit dem lokalen Dateinamen nicht herunter geladen werden! @@ -1374,22 +1374,22 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Die Datei wurde von einer Nur-Lese-Freigabe lokal bearbeitet. Die Datei wurde wiederhergestellt und Ihre Bearbeitung ist in der Konflikte-Datei. - + The local file was removed during sync. Die lokale Datei wurde während der Synchronisation gelöscht. - + Local file changed during sync. Eine lokale Datei wurde während der Synchronisation geändert. - + The server did not acknowledge the last chunk. (No e-tag were present) Der Server hat den letzten Block nicht bestätigt. (Der E-Tag war nicht vorhanden) diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 1e46ea0e9..1a842b22e 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -376,67 +376,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Δεν ήταν δυνατό να επαναφερθεί η κατάσταση του φακέλου - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Βρέθηκε ένα παλαιότερο αρχείο συγχρονισμού '%1', αλλά δεν μπόρεσε να αφαιρεθεί. Παρακαλώ βεβαιωθείτε ότι καμμία εφαρμογή δεν το χρησιμοποιεί αυτή τη στιγμή. - + Undefined State. Απροσδιόριστη Κατάσταση. - + Waits to start syncing. Αναμονή έναρξης συγχρονισμού. - + Preparing for sync. Προετοιμασία για συγχρονισμό. - + Sync is running. Ο συγχρονισμός εκτελείται. - + Server is currently not available. Ο διακομιστής δεν είναι διαθέσιμος προς το παρόν. - + Last Sync was successful. Ο τελευταίος συγχρονισμός ήταν επιτυχής. - + Last Sync was successful, but with warnings on individual files. Ο τελευταίος συγχρονισμός ήταν επιτυχής, αλλά υπήρχαν προειδοποιήσεις σε συγκεκριμένα αρχεία. - + Setup Error. Σφάλμα Ρύθμισης. - + User Abort. Ματαίωση από Χρήστη. - + Sync is paused. Παύση συγχρονισμού. - + %1 (Sync is paused) %1 (Παύση συγχρονισμού) @@ -592,17 +592,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Δεν ελήφθη E-Tag από το διακομιστή, ελέγξτε το διακομιστή μεσολάβησης/πύλη - + We received a different E-Tag for resuming. Retrying next time. Ελήφθη διαφορετικό E-Tag για συνέχιση. Επανάληψη την επόμενη φορά. - + Connection Timeout Λήξη Χρόνου Αναμονής Σύνδεσης @@ -1274,7 +1274,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Το αρχείο %1 δεν είναι δυνατό να ληφθεί λόγω διένεξης με το όνομα ενός τοπικού αρχείου! @@ -1374,22 +1374,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Το αρχείο υπέστη επεξεργασία τοπικά αλλά είναι τμήμα ενός διαμοιρασμένου καταλόγου μόνο για ανάγνωση. Επαναφέρθηκε και το επεξεργασμένο βρίσκεται στο αρχείο συγκρούσεων. - + The local file was removed during sync. Το τοπικό αρχείο αφαιρέθηκε κατά το συγχρονισμό. - + Local file changed during sync. Το τοπικό αρχείο τροποποιήθηκε κατά τον συγχρονισμό. - + The server did not acknowledge the last chunk. (No e-tag were present) Ο διακομιστής δεν αναγνώρισε το τελευταίο τμήμα. (Δεν υπήρχε e-tag) diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index c9167915b..74d529070 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. - + Waits to start syncing. - + Preparing for sync. - + Sync is running. - + Server is currently not available. - + Last Sync was successful. - + Last Sync was successful, but with warnings on individual files. - + Setup Error. - + User Abort. - + Sync is paused. - + %1 (Sync is paused) @@ -590,17 +590,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1268,7 +1268,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1368,22 +1368,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index b3df3e085..cf8d3c366 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -375,67 +375,67 @@ Está seguro de que desea realizar esta operación? Mirall::FolderMan - + Could not reset folder state No se ha podido restablecer el estado de la carpeta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Un antiguo registro (journal) de sincronización '%1' se ha encontrado, pero no se ha podido eliminar. Por favor asegúrese que ninguna aplicación la está utilizando. - + Undefined State. Estado no definido. - + Waits to start syncing. Esperando el inicio de la sincronización. - + Preparing for sync. Preparándose para sincronizar. - + Sync is running. Sincronización en funcionamiento. - + Server is currently not available. El servidor no está disponible en el momento - + Last Sync was successful. La última sincronización fue exitosa. - + Last Sync was successful, but with warnings on individual files. La última sincronización fue exitosa pero con advertencias para archivos individuales. - + Setup Error. Error de configuración. - + User Abort. Interrumpir. - + Sync is paused. La sincronización está en pausa. - + %1 (Sync is paused) %1 (Sincronización en pausa) @@ -591,17 +591,17 @@ Está seguro de que desea realizar esta operación? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway No se recibió ninguna e-tag del servidor, revisar el proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Se recibió una e-tag distinta para reanudar. Se intentará nuevamente. - + Connection Timeout Tiempo de espera de conexión agotado @@ -1273,7 +1273,7 @@ No se recomienda usarlo. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! ¡El fichero %1 no puede ser descargado debido al nombre de la clase de un fichero local! @@ -1373,22 +1373,22 @@ No se recomienda usarlo. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. El archivo fue modificado localmente, pero es parte de una carpeta compartida en modo de solo lectura. Ha sido recuperado y tu modificación está en el archivo de conflicto. - + The local file was removed during sync. El archivo local fue eliminado durante la sincronización. - + Local file changed during sync. Un archivo local fue modificado durante la sincronización. - + The server did not acknowledge the last chunk. (No e-tag were present) El servidor no reconoció la última parte. (No había una e-tag presente.) diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index 70152b945..89ab053a5 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -374,67 +374,67 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Mirall::FolderMan - + Could not reset folder state No se pudo - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Una antigua sincronización con journaling '%1' fue encontrada, pero no se pudo eliminar. Por favor, asegurate que ninguna aplicación la está utilizando. - + Undefined State. Estado no definido. - + Waits to start syncing. Esperando el comienzo de la sincronización. - + Preparing for sync. Preparando la sincronización. - + Sync is running. Sincronización en funcionamiento. - + Server is currently not available. El servidor actualmente no está disponible. - + Last Sync was successful. La última sincronización fue exitosa. - + Last Sync was successful, but with warnings on individual files. El último Sync fue exitoso, pero hubo advertencias en archivos individuales. - + Setup Error. Error de configuración. - + User Abort. Interrumpir. - + Sync is paused. La sincronización está en pausa. - + %1 (Sync is paused) %1 (Sincronización en pausa) @@ -590,17 +590,17 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1270,7 +1270,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1370,22 +1370,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 75a77fa12..11162c2d6 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -375,67 +375,67 @@ Oled kindel, et soovid seda operatsiooni teostada? Mirall::FolderMan - + Could not reset folder state Ei suutnud tühistada kataloogi staatust - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Leiti vana sünkroniseeringu zurnaal '%1', kuid selle eemaldamine ebaõnnenstus. Palun veendu, et seda kasutaks ükski programm. - + Undefined State. Määramata staatus. - + Waits to start syncing. Ootab sünkroniseerimise alustamist. - + Preparing for sync. Valmistun sünkroniseerima. - + Sync is running. Sünkroniseerimine on käimas. - + Server is currently not available. Server pole hetkel saadaval. - + Last Sync was successful. Viimane sünkroniseerimine oli edukas. - + Last Sync was successful, but with warnings on individual files. Viimane sünkroniseering oli edukas, kuid mõned failid põhjustasid tõrkeid. - + Setup Error. Seadistamise viga. - + User Abort. Kasutaja tühistamine. - + Sync is paused. Sünkroniseerimine on peatatud. - + %1 (Sync is paused) %1 (Sünkroniseerimine on peatatud) @@ -591,17 +591,17 @@ Oled kindel, et soovid seda operatsiooni teostada? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ühtegi E-Silti ei saabunud serverist, kontrolli puhverserverit/lüüsi. - + We received a different E-Tag for resuming. Retrying next time. Saime jätkamiseks erineva E-Sildi. Proovin järgmine kord uuesti. - + Connection Timeout Ühenduse aegumine @@ -1273,7 +1273,7 @@ Selle kasutamine pole soovitatav. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Faili %1 ei saa alla laadida kuna on konflikt kohaliku faili nimega. @@ -1373,22 +1373,22 @@ Selle kasutamine pole soovitatav. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Faili on lokaalselt muudetud, kuid see on osa kirjutamisõiguseta jagamisest. See on taastatud ning sinu muudatus on konfliktses failis. - + The local file was removed during sync. Kohalik fail on eemaldatud sünkroniseeringu käigus. - + Local file changed during sync. Kohalik fail muutus sünkroniseeringu käigus. - + The server did not acknowledge the last chunk. (No e-tag were present) Server ei tunnistanud viimast tükki. (E-silt puudus). diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 4b70aaaa6..e2f478cf7 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Ezin izan da karpetaren egoera berrezarri - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Definitu gabeko egoera. - + Waits to start syncing. Itxoiten sinkronizazioa hasteko. - + Preparing for sync. Sinkronizazioa prestatzen. - + Sync is running. Sinkronizazioa martxan da. - + Server is currently not available. Zerbitzaria orain ez dago eskuragarri. - + Last Sync was successful. Azkeneko sinkronizazioa ongi burutu zen. - + Last Sync was successful, but with warnings on individual files. Azkenengo sinkronizazioa ongi burutu zen, baina banakako fitxategi batzuetan abisuak egon dira. - + Setup Error. Konfigurazio errorea. - + User Abort. Erabiltzaileak Bertan Behera Utzi. - + Sync is paused. Sinkronizazioa pausatuta dago. - + %1 (Sync is paused) %1 (Sinkronizazioa pausatuta dago) @@ -588,17 +588,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ez da E-Tagik jaso zerbitzaritik, egiaztatu Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1268,7 +1268,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1368,22 +1368,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 4c2eeee11..5ed2a3765 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state نمی تواند حالت پوشه را تنظیم مجدد کند - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. موقعیت تعریف نشده - + Waits to start syncing. صبر کنید تا همگام سازی آغاز شود - + Preparing for sync. - + Sync is running. همگام سازی در حال اجراست - + Server is currently not available. - + Last Sync was successful. آخرین همگام سازی موفقیت آمیز بود - + Last Sync was successful, but with warnings on individual files. - + Setup Error. خطا در پیکر بندی. - + User Abort. - + Sync is paused. همگام سازی فعلا متوقف شده است - + %1 (Sync is paused) @@ -588,17 +588,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1266,7 +1266,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1366,22 +1366,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index fc42c7b24..901510a30 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -373,67 +373,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Kansion tilaa ei voitu alustaa - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Määrittelemätön tila. - + Waits to start syncing. Odottaa synkronoinnin alkamista. - + Preparing for sync. Valmistellaan synkronointia. - + Sync is running. Synkronointi on meneillään. - + Server is currently not available. Palvelin ei ole käytettävissä. - + Last Sync was successful. Viimeisin synkronointi suoritettiin onnistuneesti. - + Last Sync was successful, but with warnings on individual files. Viimeisin synkronointi onnistui, mutta yksittäisten tiedostojen kanssa ilmeni varoituksia. - + Setup Error. Asetusvirhe. - + User Abort. - + Sync is paused. Synkronointi on keskeytetty. - + %1 (Sync is paused) %1 (Synkronointi on keskeytetty) @@ -589,17 +589,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout Yhteys aikakatkaistiin @@ -1269,7 +1269,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1369,22 +1369,22 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. Paikallinen tiedosto poistettiin synkronoinnin aikana. - + Local file changed during sync. Paikallinen tiedosto muuttui synkronoinnin aikana. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1962,7 +1962,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Not allowed because you don't have permission to add files in that directory - + Ei sallittu, koska sinulla ei ole oikeutta lisätä tiedostoja kyseiseen kansioon @@ -1973,12 +1973,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. Not allowed to remove, restoring - + Poistaminen ei ole sallittua, palautetaan Move not allowed, item restored - + Siirtäminen ei ole sallittua, kohde palautettu diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index 697076c72..2b5238eb7 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -375,67 +375,67 @@ Voulez-vous réellement effectuer cette opération ? Mirall::FolderMan - + Could not reset folder state Impossible de réinitialiser l'état du dossier - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Une synchronisation antérieure du journal de %1 a été trouvée, mais ne peut être supprimée. Veuillez vous assurer qu’aucune application n'est utilisée en ce moment. - + Undefined State. Statut indéfini. - + Waits to start syncing. En attente de synchronisation. - + Preparing for sync. Préparation de la synchronisation. - + Sync is running. La synchronisation est en cours. - + Server is currently not available. Le serveur est indisponible actuellement. - + Last Sync was successful. Dernière synchronisation effectuée avec succès - + Last Sync was successful, but with warnings on individual files. La dernière synchronisation s'est achevée avec succès mais avec des messages d'avertissement sur des fichiers individuels. - + Setup Error. Erreur d'installation. - + User Abort. Abandon par l'utilisateur. - + Sync is paused. La synchronisation est en pause. - + %1 (Sync is paused) %1 (Synchronisation en pause) @@ -591,17 +591,17 @@ Voulez-vous réellement effectuer cette opération ? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Aucun E-Tag reçu du serveur, vérifiez le proxy / la passerelle - + We received a different E-Tag for resuming. Retrying next time. Nous avons reçu un E-Tag différent pour reprendre le téléchargement. Nouvel essai la prochaine fois. - + Connection Timeout Temps de connexion expiré @@ -1273,7 +1273,7 @@ Il est déconseillé de l'utiliser. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! File %1 ne peut pas être téléchargé en raison d'un conflit sur le nom du fichier local. @@ -1373,22 +1373,22 @@ Il est déconseillé de l'utiliser. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Le fichier a été modifié localement mais appartient à un partage en lecture seule. Il a été restauré et vos modifications sont présentes dans le fichiers de confit. - + The local file was removed during sync. Fichier local supprimé pendant la synchronisation. - + Local file changed during sync. Fichier local modifié pendant la synchronisation. - + The server did not acknowledge the last chunk. (No e-tag were present) Le serveur n'a pas acquitté le dernier morceau (aucun e-tag n'était présent). diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index a3d8ca009..8fad57106 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -375,67 +375,67 @@ Confirma que quere realizar esta operación? Mirall::FolderMan - + Could not reset folder state Non foi posíbel restabelecer o estado do cartafol - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Atopouse un rexistro de sincronización antigo en «%1» máis non pode ser retirado. Asegúrese de que non o está a usar ningún aplicativo. - + Undefined State. Estado sen definir. - + Waits to start syncing. Agardando polo comezo da sincronización. - + Preparing for sync. Preparando para sincronizar. - + Sync is running. Estase sincronizando. - + Server is currently not available. O servidor non está dispoñíbel actualmente. - + Last Sync was successful. A última sincronización fíxose correctamente. - + Last Sync was successful, but with warnings on individual files. A última sincronización fíxose correctamente, mais con algún aviso en ficheiros individuais. - + Setup Error. Erro de configuración. - + User Abort. Interrompido polo usuario. - + Sync is paused. Sincronización en pausa. - + %1 (Sync is paused) %1 (sincronización en pausa) @@ -591,17 +591,17 @@ Confirma que quere realizar esta operación? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Non se recibiu a «E-Tag» do servidor, comprobe o proxy e/ou a pasarela - + We received a different E-Tag for resuming. Retrying next time. Recibiuse unha «E-Tag» diferente para continuar. Tentándoo outra vez. - + Connection Timeout Esgotouse o tempo de conexión @@ -1273,7 +1273,7 @@ Recomendámoslle que non o use. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Non é posíbel descargar o ficheiro %1 por mor dunha colisión co nome dun ficheiro local! @@ -1373,22 +1373,22 @@ Recomendámoslle que non o use. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. O ficheiro foi editado localmente mais é parte dunha compartición de só lectura. O ficheiro foi restaurado e a súa edición atopase no ficheiro de conflitos. - + The local file was removed during sync. O ficheiro local retirarase durante a sincronización. - + Local file changed during sync. O ficheiro local cambiou durante a sincronización. - + The server did not acknowledge the last chunk. (No e-tag were present) O servidor non recoñeceu o último fragmento. (Non hai e-tag presente) diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index 253f0c13b..a9b7c2204 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Ismeretlen állapot. - + Waits to start syncing. Várakozás a szinkronizálás elindítására. - + Preparing for sync. Előkészítés szinkronizációhoz. - + Sync is running. Szinkronizálás fut. - + Server is currently not available. A kiszolgáló jelenleg nem érhető el. - + Last Sync was successful. Legutolsó szinkronizálás sikeres volt. - + Last Sync was successful, but with warnings on individual files. - + Setup Error. Beállítás hiba. - + User Abort. - + Sync is paused. Szinkronizálás megállítva. - + %1 (Sync is paused) @@ -588,17 +588,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1266,7 +1266,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1366,22 +1366,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 53c0b9951..ca34a1ac5 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -375,67 +375,67 @@ Sei sicuro di voler eseguire questa operazione? Mirall::FolderMan - + Could not reset folder state Impossibile ripristinare lo stato della cartella - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. È stato trovato un vecchio registro di sincronizzazione '%1', ma non può essere rimosso. Assicurati che nessuna applicazione lo stia utilizzando. - + Undefined State. Stato non definito. - + Waits to start syncing. Attende l'inizio della sincronizzazione. - + Preparing for sync. Preparazione della sincronizzazione. - + Sync is running. La sincronizzazione è in corso. - + Server is currently not available. Il server è attualmente non disponibile. - + Last Sync was successful. L'ultima sincronizzazione è stato completata correttamente. - + Last Sync was successful, but with warnings on individual files. Ultima sincronizzazione avvenuta, ma con avvisi relativi a singoli file. - + Setup Error. Errore di configurazione. - + User Abort. Interrotto dall'utente. - + Sync is paused. La sincronizzazione è sospesa. - + %1 (Sync is paused) %1 (La sincronizzazione è sospesa) @@ -591,17 +591,17 @@ Sei sicuro di voler eseguire questa operazione? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nessun e-tag ricevuto dal server, controlla il proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Abbiamo ricevuto un e-tag diverso per il recupero. Riprova più tardi. - + Connection Timeout Connessione scaduta @@ -1272,7 +1272,7 @@ Non è consigliabile utilizzarlo. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Il file %1 non può essere scaricato a causa di un conflitto con un file locale. @@ -1372,22 +1372,22 @@ Non è consigliabile utilizzarlo. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Il file è stato modificato localmente, ma è parte di una condivisione in sola lettura. È stato ripristinato e la tua modifica è nel file di conflitto. - + The local file was removed during sync. Il file locale è stato rimosso durante la sincronizzazione. - + Local file changed during sync. Un file locale è cambiato durante la sincronizzazione. - + The server did not acknowledge the last chunk. (No e-tag were present) Il server non ha riconosciuto l'ultimo pezzo. (Non era presente alcun e-tag) diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index 74cd06f54..c8bb2917f 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -375,67 +375,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state フォルダーの状態をリセットできませんでした - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 古い同期ジャーナル '%1' が見つかりましたが、削除できませんでした。それを現在使用しているアプリケーションが存在しないか確認してください。 - + Undefined State. 未定義の状態。 - + Waits to start syncing. 同期開始を待機中 - + Preparing for sync. 同期の準備中。 - + Sync is running. 同期を実行中です。 - + Server is currently not available. サーバーは現在利用できません。 - + Last Sync was successful. 最後の同期は成功しました。 - + Last Sync was successful, but with warnings on individual files. 最新の同期は成功しました。しかし、いくつかのファイルで問題がありました。 - + Setup Error. 設定エラー。 - + User Abort. ユーザーによる中止。 - + Sync is paused. 同期を一時停止しました。 - + %1 (Sync is paused) %1 (同期を一時停止) @@ -591,17 +591,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway サーバーからE-Tagを受信できません。プロキシ/ゲートウェイを確認してください。 - + We received a different E-Tag for resuming. Retrying next time. 同期再開時に違う E-Tagを受信しました。次回リトライします。 - + Connection Timeout 接続タイムアウト @@ -1271,7 +1271,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! ファイル %1 はローカルファイル名が衝突しているためダウンロードできません! @@ -1371,22 +1371,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. ファイルがローカルで編集されましたが、読み込み専用の共有の一部です。ファイルは復元され、あなたの編集は競合するファイル内にあります。 - + The local file was removed during sync. ローカルファイルを同期時に削除します。 - + Local file changed during sync. ローカルのファイルが同期中に変更されました。 - + The server did not acknowledge the last chunk. (No e-tag were present) サーバーは最終チャンクを認識しません。(e-tag が存在しません) diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index 07597439b..d7e0f88ee 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -375,67 +375,67 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Mirall::FolderMan - + Could not reset folder state Kan de beginstaat van de map niet terugzetten - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Een oud synchronisatieverslag '%1' is gevonden maar kan niet worden verwijderd. Zorg ervoor dat geen applicatie dit bestand gebruikt. - + Undefined State. Ongedefiniëerde staat - + Waits to start syncing. In afwachting van synchronisatie. - + Preparing for sync. Synchronisatie wordt voorbereid - + Sync is running. Bezig met synchroniseren. - + Server is currently not available. De server is nu niet beschikbaar. - + Last Sync was successful. Laatste synchronisatie was succesvol. - + Last Sync was successful, but with warnings on individual files. Laatste synchronisatie geslaagd, maar met waarschuwingen over individuele bestanden. - + Setup Error. Installatiefout. - + User Abort. Afgebroken door gebruiker. - + Sync is paused. Synchronisatie gepauzeerd. - + %1 (Sync is paused) %1 (Synchronisatie onderbroken) @@ -591,17 +591,17 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Geen E-Tag ontvangen van de server, controleer Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. We ontvingen een afwijkende E-Tag om door te gaan. We proberen het later opnieuw. - + Connection Timeout Verbindingstime-out @@ -1273,7 +1273,7 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Bestand %1 kan niet worden gedownload omdat de naam conflicteert met een lokaal bestand @@ -1373,22 +1373,22 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Het bestand is lokaal bewerkt, maar hoort bij een alleen-lezen share. Het originele bestand is teruggezet en uw bewerking staat in het conflicten bestand. - + The local file was removed during sync. Het lokale bestand werd verwijderd tijdens sync. - + Local file changed during sync. Lokaal bestand gewijzigd bij sync. - + The server did not acknowledge the last chunk. (No e-tag were present) De server heeft het laatste deel niet bevestigd (er was geen e-tag aanwezig) diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index d57bcce04..9b973885c 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -375,67 +375,67 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Mirall::FolderMan - + Could not reset folder state Nie udało się zresetować stanu folderu - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Stary sync journal '%1' został znaleziony, lecz nie mógł być usunięty. Proszę się upewnić, że żaden program go obecnie nie używa. - + Undefined State. Niezdefiniowany stan - + Waits to start syncing. Czekają na uruchomienie synchronizacji. - + Preparing for sync. Przygotowuję do synchronizacji - + Sync is running. Synchronizacja w toku - + Server is currently not available. Serwer jest obecnie niedostępny. - + Last Sync was successful. Ostatnia synchronizacja zakończona powodzeniem. - + Last Sync was successful, but with warnings on individual files. Ostatnia synchronizacja udana, ale istnieją ostrzeżenia z pojedynczymi plikami. - + Setup Error. Błąd ustawień. - + User Abort. Użytkownik anulował. - + Sync is paused. Synchronizacja wstrzymana - + %1 (Sync is paused) %1 (Synchronizacja jest zatrzymana) @@ -591,17 +591,17 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nie otrzymano E-Tag z serwera, sprawdź Proxy/Bramę - + We received a different E-Tag for resuming. Retrying next time. Otrzymaliśmy inny E-Tag wznowienia. Spróbuje ponownie następnym razem. - + Connection Timeout Limit czasu połączenia @@ -1273,7 +1273,7 @@ Niezalecane jest jego użycie. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Nie można pobrać pliku %1 ze względu na konflikt nazwy pliku lokalnego! @@ -1373,22 +1373,22 @@ Niezalecane jest jego użycie. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Plik był edytowany lokalnie ale jest częścią udziału z prawem tylko do odczytu. Został przywrócony i Twoja edycja jest w pliku konfliktu - + The local file was removed during sync. - + Local file changed during sync. Lokalny plik zmienił się podczas synchronizacji. - + The server did not acknowledge the last chunk. (No e-tag were present) Serwer nie potwierdził ostatniego łańcucha danych. (Nie było żadnego e-tag-u) diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index fb0367824..02debb480 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -374,67 +374,67 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Mirall::FolderMan - + Could not reset folder state Não foi possível repor o estado da pasta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Não foi possível remover o antigo 'journal sync' '%1'. Por favor certifique-se que nenhuma aplicação o está a utilizar. - + Undefined State. Estado indefinido. - + Waits to start syncing. A aguardar o inicio da sincronização. - + Preparing for sync. A preparar para sincronização. - + Sync is running. A sincronização está a correr. - + Server is currently not available. O servidor não está disponível de momento. - + Last Sync was successful. A última sincronização foi efectuada com sucesso. - + Last Sync was successful, but with warnings on individual files. A última sincronização foi efectuada com sucesso, mas existem avisos sobre alguns ficheiros. - + Setup Error. Erro na instalação. - + User Abort. Cancelado pelo utilizador. - + Sync is paused. A sincronização está em pausa. - + %1 (Sync is paused) %1 (Sincronização em pausa) @@ -590,17 +590,17 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nenhum E-Tag recebido do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tentando uma próxima vez. - + Connection Timeout O tempo de ligação expirou @@ -1270,7 +1270,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! O ficheiro %1 não pode ser descarregado devido a conflito com um nome de ficheiro local! @@ -1370,22 +1370,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. O ficheiro foi editado localmente mas faz parte de uma prtilha só de leitura. Foi restaurado mas a edição está no ficheiro de conflito. - + The local file was removed during sync. O arquivo local foi removido durante a sincronização. - + Local file changed during sync. Ficheiro local alterado durante a sincronização. - + The server did not acknowledge the last chunk. (No e-tag were present) O servidor não reconheceu o último bloco. (Nenhuma e-tag estava presente) diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index aea6fc567..11cfde759 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -375,67 +375,67 @@ Você tem certeza que quer executar esta operação? Mirall::FolderMan - + Could not reset folder state Não foi possível redefinir o estado da pasta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Uma velha revista de sincronização '%1' foi encontrada, mas não pôde ser removida. Por favor, certifique-se de que nenhuma aplicação está a usá-la. - + Undefined State. Estado indefinido. - + Waits to start syncing. Aguardando o inicio da sincronização. - + Preparing for sync. Preparando para sincronização. - + Sync is running. A sincronização está ocorrendo. - + Server is currently not available. Servidor indisponível no momento. - + Last Sync was successful. A última sincronização foi feita com sucesso. - + Last Sync was successful, but with warnings on individual files. A última sincronização foi executada com sucesso, mas com advertências em arquivos individuais. - + Setup Error. Erro de Configuração. - + User Abort. Usuário Abortou - + Sync is paused. Sincronização pausada. - + %1 (Sync is paused) %1 (Pausa na Sincronização) @@ -591,17 +591,17 @@ Você tem certeza que quer executar esta operação? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nenhuma E-Tag recebida do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tente uma próxima vez. - + Connection Timeout Conexão Finalizada @@ -1271,7 +1271,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! O arquivo %1 não pode ser baixado por causa de um confronto local no nome do arquivo! @@ -1371,22 +1371,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. O arquivo foi editado localmente mas faz parte de compartilhamento só de leitura. Ele foi restaurado mas sua edição está em conflito com o arquivo. - + The local file was removed during sync. O arquivo local foi removido durante a sincronização. - + Local file changed during sync. Arquivo local modificado durante a sincronização. - + The server did not acknowledge the last chunk. (No e-tag were present) O servidor não reconheceu o último bloco. (Nenhuma e-tag estava presente) diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index fd1d4d41d..04a55c584 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Невозможно сбросить состояние папки - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Найден старый журнал синхронизации '%1', и он не может быть удалён. Пожалуйста убедитесь что он не открыт в каком-либо приложении. - + Undefined State. Неопределенное состояние. - + Waits to start syncing. Ожидает, чтобы начать синхронизацию. - + Preparing for sync. Подготовка к синхронизации. - + Sync is running. Идет синхронизация. - + Server is currently not available. Сервер недоступен. - + Last Sync was successful. Последняя синхронизация прошла успешно. - + Last Sync was successful, but with warnings on individual files. Последняя синхронизация прошла успешно, но были предупреждения о нескольких файлах. - + Setup Error. Ошибка установки. - + User Abort. Отмена пользователем. - + Sync is paused. Синхронизация приостановлена. - + %1 (Sync is paused) %! (синхронизация приостановлена) @@ -590,17 +590,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway E-Tag от сервера на получен, проверьте сетевые настройки (настройки прокси, шлюз). - + We received a different E-Tag for resuming. Retrying next time. Мы получили другой E-Tag для возобновления. Повторите попытку позже. - + Connection Timeout Тайм-аут подключения @@ -1272,7 +1272,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1372,22 +1372,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. Локальный файл был удалён в процессе синхронизации. - + Local file changed during sync. Локальный файл изменился в процессе синхронизации. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index 47db84530..b5988ddef 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -374,67 +374,67 @@ Ste si istý, že chcete uskutočniť danú operáciu? Mirall::FolderMan - + Could not reset folder state Nemožno resetovať stav priečinka - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Starý synchronizačný žurnál '%1' nájdený, avšak neodstrániteľný. Prosím uistite sa, že žiadna aplikácia ho práve nevyužíva. - + Undefined State. Nedefinovaný stav. - + Waits to start syncing. Čakanie na štart synchronizácie. - + Preparing for sync. Príprava na synchronizáciu. - + Sync is running. Synchronizácia prebieha. - + Server is currently not available. Sever momentálne nie je prístupný. - + Last Sync was successful. Posledná synchronizácia sa úspešne skončila. - + Last Sync was successful, but with warnings on individual files. Posledná synchronizácia bola úspešná, ale z varovaniami pre individuálne súbory. - + Setup Error. Chyba pri inštalácii. - + User Abort. Zrušené používateľom. - + Sync is paused. Synchronizácia je pozastavená. - + %1 (Sync is paused) %1 (Synchronizácia je pozastavená) @@ -590,17 +590,17 @@ Ste si istý, že chcete uskutočniť danú operáciu? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Zo servera nebol prijatý E-Tag, skontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Prijali sme iný E-Tag pre pokračovanie. Skúsim to neskôr znovu. - + Connection Timeout Spojenie vypršalo @@ -1272,7 +1272,7 @@ Nie je vhodné ju používať. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Súbor %1 nie je možné stiahnuť, pretože súbor s rovnakým menom už existuje! @@ -1372,22 +1372,22 @@ Nie je vhodné ju používať. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Súbor bol zmenený, ale je súčasťou zdieľania len na čítanie. Pôvodný súbor bol obnovený a upravená verzia je uložená v konfliktnom súbore. - + The local file was removed during sync. Lokálny súbor bol odstránený počas synchronizácie. - + Local file changed during sync. Lokálny súbor bol zmenený počas synchronizácie. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 5a0701f13..b19178eff 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -374,67 +374,67 @@ Ali sta prepričani, da želite izvesti to opravilo? Mirall::FolderMan - + Could not reset folder state Ni mogoče ponastaviti stanja mape - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Obstaja starejši dnevnik usklajevanja '%1', vendar ga ni mogoče odstraniti. Preverite, da datoteka ni v uporabi. - + Undefined State. Nedoločeno stanje. - + Waits to start syncing. V čakanju na začetek usklajevanja. - + Preparing for sync. Poteka priprava za usklajevanje. - + Sync is running. Usklajevanje je v teku. - + Server is currently not available. Strežnik trenutno ni na voljo. - + Last Sync was successful. Zadnje usklajevanje je bilo uspešno končano. - + Last Sync was successful, but with warnings on individual files. Zadnje usklajevanje je bilo sicer uspešno, vendar z opozorili za posamezne datoteke. - + Setup Error. Napaka nastavitve. - + User Abort. Uporabniška prekinitev. - + Sync is paused. Usklajevanje je začasno v premoru. - + %1 (Sync is paused) %1 (usklajevanje je v premoru) @@ -590,17 +590,17 @@ Ali sta prepričani, da želite izvesti to opravilo? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ni prejete oznake s strežnika. Preveriti je treba podatke posredovalnega strežnika ali prehoda. - + We received a different E-Tag for resuming. Retrying next time. Prejeta je različna oznaka za nadaljevanje opravila. Ponovni poskus bo izveden kasneje. - + Connection Timeout Povezava časovno pretekla @@ -1272,7 +1272,7 @@ Uporaba ni priporočljiva. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Datoteke %1 ni mogoče prejeti zaradi neskladja z imenom krajevne datoteke! @@ -1372,22 +1372,22 @@ Uporaba ni priporočljiva. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Datoteka je bila krajevno spremenjena, vendar pa je označena za souporabo le za branje. Izvorna datoteka je obnovljena, vaše spremembe pa so zabeležene v datoteki spora. - + The local file was removed during sync. - + Local file changed during sync. Krajevna datoteka je bila med usklajevanjem spremenjena. - + The server did not acknowledge the last chunk. (No e-tag were present) Strežnik ni prepoznal zadnjega niza besed. (ni določenih e-oznak) diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 385cd622a..de5b24fdf 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -375,67 +375,67 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Mirall::FolderMan - + Could not reset folder state Kunde inte återställa mappens skick - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. En gammal synkroniseringsjournal '%1' hittades, men kunde inte raderas. Vänligen se till att inga program för tillfället använder den. - + Undefined State. Okänt tillstånd. - + Waits to start syncing. Väntar på att starta synkronisering. - + Preparing for sync. Förbereder synkronisering - + Sync is running. Synkronisering pågår. - + Server is currently not available. Servern är för tillfället inte tillgänglig. - + Last Sync was successful. Senaste synkronisering lyckades. - + Last Sync was successful, but with warnings on individual files. Senaste synkning lyckades, men det finns varningar för vissa filer! - + Setup Error. Inställningsfel. - + User Abort. Användare Avbryt - + Sync is paused. Synkronisering är pausad. - + %1 (Sync is paused) %1 (Synk är stoppad) @@ -591,17 +591,17 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ingen e-tag mottogs från servern, kontrollera proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Vi mottog en helt annan e-tag för att återuppta. Försök igen nästa gång. - + Connection Timeout Anslutningen avbröts på grund av timeout @@ -1273,7 +1273,7 @@ Det är inte lämpligt använda den. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Fil %1 kan inte laddas ner på grund av namnkonflikt med en lokal fil! @@ -1373,22 +1373,22 @@ Det är inte lämpligt använda den. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Filen ändrades lokalt men är en del av en endast-läsbar delning. Den återställdes och din editering är i konflikt filen. - + The local file was removed during sync. Den lokala filen togs bort under synkronisering. - + Local file changed during sync. Lokal fil ändrades under synk. - + The server did not acknowledge the last chunk. (No e-tag were present) Servern bekräftade inte det sista fil-fragmentet (Ingen e-tag fanns tillgänglig) diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index 76360353a..ee605ec1a 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. สถานะที่ยังไม่ได้ถูกกำหนด - + Waits to start syncing. รอการเริ่มต้นซิงค์ข้อมูล - + Preparing for sync. - + Sync is running. การซิงค์ข้อมูลกำลังทำงาน - + Server is currently not available. - + Last Sync was successful. การซิงค์ข้อมูลครั้งล่าสุดเสร็จเรียบร้อยแล้ว - + Last Sync was successful, but with warnings on individual files. - + Setup Error. เกิดข้อผิดพลาดในการติดตั้ง - + User Abort. - + Sync is paused. การซิงค์ข้อมูลถูกหยุดไว้ชั่วคราว - + %1 (Sync is paused) @@ -588,17 +588,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1266,7 +1266,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1366,22 +1366,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index d26d699c8..ef7bc37f2 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -375,67 +375,67 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Mirall::FolderMan - + Could not reset folder state Klasör durumu sıfırılanamadı - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Eski eşitleme günlüğü '%1' bulundu ancak kaldırılamadı. Başka bir uygulama tarafından kullanılmadığından emin olun. - + Undefined State. Tanımlanmamış Durum. - + Waits to start syncing. Eşitleme başlatmak için bekleniyor. - + Preparing for sync. Eşitleme için hazırlanıyor. - + Sync is running. Eşitleme çalışıyor. - + Server is currently not available. Sunucu şu an kullanılabilir değil. - + Last Sync was successful. Son Eşitleme başarılı oldu. - + Last Sync was successful, but with warnings on individual files. Son eşitleme başarılıydı, ancak tekil dosyalarda uyarılar vardı. - + Setup Error. Kurulum Hatası. - + User Abort. Kullanıcı İptal Etti. - + Sync is paused. Eşitleme duraklatıldı. - + %1 (Sync is paused) %1 (Eşitleme duraklatıldı) @@ -591,17 +591,17 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Sunucudan E-Etiket alınamadı, Vekil sunucu/Ağ geçidini denetleyin. - + We received a different E-Tag for resuming. Retrying next time. Devam etmek üzere farklı bir E-Etiket aldık. Sonraki işlemde yeniden denenecek. - + Connection Timeout Bağlantı Zaman Aşımı @@ -1273,7 +1273,7 @@ Kullanmanız önerilmez. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! %1 dosyası, yerel dosya adı çakışması nedeniyle indirilemiyor! @@ -1373,22 +1373,22 @@ Kullanmanız önerilmez. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Dosya yerel olarak düzenlendi ancak salt okunur paylaşımın bir parçası. Geri yüklendi ve düzenlemeniz çakışan dosyada. - + The local file was removed during sync. Eşitleme sırasında yerel dosya kaldırıldı. - + Local file changed during sync. Eşitleme sırasında yerel dosya değişti. - + The server did not acknowledge the last chunk. (No e-tag were present) Sunucu son yığını onaylamadı. (Mevcut e-etiket bulunamadı) diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index d42e57372..c8ea419b9 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Не вдалося скинути стан теки - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Невизначений стан. - + Waits to start syncing. Очікування початку синхронізації. - + Preparing for sync. Підготовка до синхронізації - + Sync is running. Синхронізація запущена. - + Server is currently not available. Сервер наразі недоступний. - + Last Sync was successful. Остання синхронізація була успішною. - + Last Sync was successful, but with warnings on individual files. - + Setup Error. Помилка установки. - + User Abort. - + Sync is paused. - + %1 (Sync is paused) @@ -590,17 +590,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1268,7 +1268,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1368,22 +1368,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index a34da98ab..23030f37f 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state 不能重置文件夹状态 - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 一个旧的同步日志 '%1' 被找到,但是不能被移除。请确定没有应用程序正在使用它。 - + Undefined State. 未知状态。 - + Waits to start syncing. 等待启动同步。 - + Preparing for sync. 准备同步。 - + Sync is running. 同步正在运行。 - + Server is currently not available. 服务器当前是不可用的。 - + Last Sync was successful. 最后一次同步成功。 - + Last Sync was successful, but with warnings on individual files. 上次同步已成功,不过一些文件出现了警告。 - + Setup Error. 安装失败 - + User Abort. 用户撤销。 - + Sync is paused. 同步已暂停。 - + %1 (Sync is paused) %1 (同步已暂停) @@ -590,17 +590,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway 未能收到来自服务器的 E-Tag,请检查代理/网关 - + We received a different E-Tag for resuming. Retrying next time. 我们收到了不同的恢复 E-Tag,将在下次尝试。 - + Connection Timeout 连接超时 @@ -1270,7 +1270,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1370,22 +1370,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. 本地文件在同步时已修改。 - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index dbdeed79b..48454e4b4 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state 無法重置資料夾狀態 - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 發現較舊的同步處理日誌'%1',但無法移除。請確認沒有應用程式正在使用它。 - + Undefined State. 未知狀態 - + Waits to start syncing. 等待啟動同步 - + Preparing for sync. 正在準備同步。 - + Sync is running. 同步執行中 - + Server is currently not available. - + Last Sync was successful. 最後一次同步成功 - + Last Sync was successful, but with warnings on individual files. - + Setup Error. 安裝失敗 - + User Abort. 使用者中斷。 - + Sync is paused. 同步已暫停 - + %1 (Sync is paused) %1 (同步暫停) @@ -588,17 +588,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1266,7 +1266,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1366,22 +1366,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) From c35880d4f17a1263d5f1c75814d5edf707f2aa2f Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 18 Jul 2014 12:02:57 +0200 Subject: [PATCH 013/133] Fix corruption while trying to resume and the server don't suport it Issue #1982 --- src/mirall/propagator_legacy.cpp | 46 +++++++++++++++++++++++++------- src/mirall/propagator_legacy.h | 6 ++++- src/mirall/propagator_qnam.cpp | 30 ++++++++++++++++++++- src/mirall/propagator_qnam.h | 9 ++++--- 4 files changed, 75 insertions(+), 16 deletions(-) diff --git a/src/mirall/propagator_legacy.cpp b/src/mirall/propagator_legacy.cpp index 34ae55d03..faf3cd1c3 100644 --- a/src/mirall/propagator_legacy.cpp +++ b/src/mirall/propagator_legacy.cpp @@ -397,24 +397,39 @@ void PropagateDownloadFileLegacy::install_content_reader( ne_request *req, void if (etag.isEmpty()) { qDebug() << Q_FUNC_INFO << "No E-Tag reply by server, considering it invalid" << ne_get_response_header(req, "etag"); - that->errorString = tr("No E-Tag received from server, check Proxy/Gateway"); - ne_set_error(that->_propagator->_session, "%s", that->errorString.toUtf8().data()); - ne_add_response_body_reader( req, do_not_accept, - do_not_download_content_reader, - (void*) that ); + that->abortTransfer(req, tr("No E-Tag received from server, check Proxy/Gateway")); return; } else if (!that->_expectedEtagForResume.isEmpty() && that->_expectedEtagForResume != etag) { qDebug() << Q_FUNC_INFO << "We received a different E-Tag for resuming!" << QString::fromLatin1(that->_expectedEtagForResume.data()) << "vs" << QString::fromLatin1(etag.data()); - that->errorString = tr("We received a different E-Tag for resuming. Retrying next time."); - ne_set_error(that->_propagator->_session, "%s", that->errorString.toUtf8().data()); - ne_add_response_body_reader( req, do_not_accept, - do_not_download_content_reader, - (void*) that ); + that->abortTransfer(req, tr("We received a different E-Tag for resuming. Retrying next time.")); return; } + quint64 start = 0; + QByteArray ranges = ne_get_response_header(req, "content-range"); + if (!ranges.isEmpty()) { + QRegExp rx("bytes (\\d+)-"); + if (rx.indexIn(ranges) >= 0) { + start = rx.cap(1).toULongLong(); + } + } + if (start != that->_resumeStart) { + qDebug() << Q_FUNC_INFO << "Wrong content-range: "<< ranges << " while expecting start was" << that->_resumeStart; + if (start == 0) { + // device don't support range, just stry again from scratch + that->_file->close(); + if (!that->_file->open(QIODevice::WriteOnly)) { + that->abortTransfer(req, that->_file->errorString()); + return; + } + } else { + that->abortTransfer(req, tr("Server returned wrong content-range")); + return; + } + } + const char *enc = ne_get_response_header( req, "Content-Encoding" ); qDebug("Content encoding ist <%s> with status %d", enc ? enc : "empty", @@ -431,6 +446,16 @@ void PropagateDownloadFileLegacy::install_content_reader( ne_request *req, void } } +void PropagateDownloadFileLegacy::abortTransfer(ne_request* req, const QString& error) +{ + errorString = error; + ne_set_error(_propagator->_session, "%s", errorString.toUtf8().data()); + ne_add_response_body_reader( req, do_not_accept, + do_not_download_content_reader, + this); +} + + void PropagateDownloadFileLegacy::notify_status_cb(void* userdata, ne_session_status status, const ne_session_status_info* info) { @@ -521,6 +546,7 @@ void PropagateDownloadFileLegacy::start() ne_add_request_header(req.data(), "Range", rangeRequest.constData()); ne_add_request_header(req.data(), "Accept-Ranges", "bytes"); qDebug() << "Retry with range " << rangeRequest; + _resumeStart = done; } /* hook called before the content is parsed to set the correct reader, diff --git a/src/mirall/propagator_legacy.h b/src/mirall/propagator_legacy.h index a624064b7..40cd5ec08 100644 --- a/src/mirall/propagator_legacy.h +++ b/src/mirall/propagator_legacy.h @@ -53,13 +53,14 @@ class PropagateDownloadFileLegacy: public PropagateNeonJob { Q_OBJECT public: explicit PropagateDownloadFileLegacy(OwncloudPropagator* propagator,const SyncFileItem& item) - : PropagateNeonJob(propagator, item), _file(0) {} + : PropagateNeonJob(propagator, item), _file(0), _resumeStart(0) {} void start(); private: QFile *_file; QScopedPointer _decompress; QString errorString; QByteArray _expectedEtagForResume; + quint64 _resumeStart; static int do_not_accept (void *userdata, ne_request *req, const ne_status *st) { @@ -78,6 +79,9 @@ private: static void install_content_reader( ne_request *req, void *userdata, const ne_status *status ); static void notify_status_cb(void* userdata, ne_session_status status, const ne_session_status_info* info); + + /** To be called from install_content_reader if we want to abort the transfer */ + void abortTransfer(ne_request *req, const QString &error); }; } diff --git a/src/mirall/propagator_qnam.cpp b/src/mirall/propagator_qnam.cpp index a4acd5d73..e3a6a91e7 100644 --- a/src/mirall/propagator_qnam.cpp +++ b/src/mirall/propagator_qnam.cpp @@ -438,6 +438,34 @@ void GETFileJob::slotMetaDataChanged() reply()->abort(); return; } + + quint64 start = 0; + QByteArray ranges = parseEtag(reply()->rawHeader("Content-Range")); + if (!ranges.isEmpty()) { + QRegExp rx("bytes (\\d+)-"); + if (rx.indexIn(ranges) >= 0) { + start = rx.cap(1).toULongLong(); + } + } + if (start != _resumeStart) { + qDebug() << Q_FUNC_INFO << "Wrong content-range: "<< ranges << " while expecting start was" << _resumeStart; + if (start == 0) { + // device don't support range, just stry again from scratch + _device->close(); + if (!_device->open(QIODevice::WriteOnly)) { + _errorString = _device->errorString(); + _errorStatus = SyncFileItem::NormalError; + reply()->abort(); + return; + } + } else { + _errorString = tr("Server returned wrong content-range"); + _errorStatus = SyncFileItem::NormalError; + reply()->abort(); + return; + } + } + } void GETFileJob::slotReadyRead() @@ -544,7 +572,7 @@ void PropagateDownloadFileQNAM::start() _job = new GETFileJob(AccountManager::instance()->account(), _propagator->_remoteFolder + _item._file, - &_tmpFile, headers, expectedEtagForResume); + &_tmpFile, headers, expectedEtagForResume, _startSize); _job->setTimeout(_propagator->httpTimeout() * 1000); connect(_job, SIGNAL(finishedSignal()), this, SLOT(slotGetFinished())); connect(_job, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(slotDownloadProgress(qint64,qint64))); diff --git a/src/mirall/propagator_qnam.h b/src/mirall/propagator_qnam.h index 6df32a678..7c92b8d69 100644 --- a/src/mirall/propagator_qnam.h +++ b/src/mirall/propagator_qnam.h @@ -105,20 +105,21 @@ private slots: class GETFileJob : public AbstractNetworkJob { Q_OBJECT - QIODevice* _device; + QFile* _device; QMap _headers; QString _errorString; QByteArray _expectedEtagForResume; + quint64 _resumeStart; SyncFileItem::Status _errorStatus; public: // DOES NOT take owncership of the device. - explicit GETFileJob(Account* account, const QString& path, QIODevice *device, + explicit GETFileJob(Account* account, const QString& path, QFile *device, const QMap &headers, QByteArray expectedEtagForResume, - QObject* parent = 0) + quint64 resumeStart, QObject* parent = 0) : AbstractNetworkJob(account, path, parent), _device(device), _headers(headers), _expectedEtagForResume(expectedEtagForResume), - _errorStatus(SyncFileItem::NoStatus) {} + _resumeStart(resumeStart), _errorStatus(SyncFileItem::NoStatus) {} virtual void start(); virtual bool finished() { From 74b3e2ce3f579e3de31f12a87ca2153eb4fd2ac4 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 18 Jul 2014 12:19:46 +0200 Subject: [PATCH 014/133] tests: Another try to get around the jenkins test problem. --- csync/tests/ownCloud/ownCloud/Test.pm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/csync/tests/ownCloud/ownCloud/Test.pm b/csync/tests/ownCloud/ownCloud/Test.pm index 9540682b1..3538d83b0 100644 --- a/csync/tests/ownCloud/ownCloud/Test.pm +++ b/csync/tests/ownCloud/ownCloud/Test.pm @@ -34,6 +34,7 @@ use LWP::UserAgent; use LWP::Protocol::https; use HTTP::Request::Common qw( POST GET DELETE ); use File::Basename; +use IO::Handle; use Encode qw(from_to); use utf8; @@ -577,7 +578,7 @@ sub createLocalFile( $$ ) my $minimum = 32; my $range = 96; - for (my $bytes = 0; $bytes < $size; $bytes += 4) { + for (my $bytes = 0; $bytes < $size-1; $bytes += 4) { my $rand = int(rand($range ** 4)); my $string = ''; for (1..4) { @@ -587,6 +588,9 @@ sub createLocalFile( $$ ) print FILE $string; $md5->add($string); } + my $s = "\n"; + print FILE $s; + $md5->add($s); close FILE; return $md5->hexdigest; } From beb9300b4ee4e586682f34a5140d13709d39aca9 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 18 Jul 2014 12:27:02 +0200 Subject: [PATCH 015/133] network limit: Never wait more than 10 seconds When using the "Limit automatically" limit, we wait for 25% of the time it took to upload something. However, if we go to sleep while uploading, the time it took to upload may take days. And waiting for 25% of a day is too long. So never wait for more than 10 seconds This may be related to issue #1880 --- src/mirall/propagator_legacy.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/mirall/propagator_legacy.cpp b/src/mirall/propagator_legacy.cpp index faf3cd1c3..839606e73 100644 --- a/src/mirall/propagator_legacy.cpp +++ b/src/mirall/propagator_legacy.cpp @@ -328,8 +328,7 @@ void PropagateNeonJob::limitBandwidth(qint64 progress, qint64 bandwidth_limit) // -bandwidth_limit is the % of bandwidth int64_t wait_time = -diff * (1 + 100.0 / bandwidth_limit); if (wait_time > 0) { - Mirall::Utility::usleep(wait_time); - + Mirall::Utility::usleep(qMin(wait_time, int64_t(1000000*10))); } } _lastTime.start(); From 336e74b9921de886cc7049f2520e45e9041e1043 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 18 Jul 2014 16:52:04 +0200 Subject: [PATCH 016/133] csync_owncloud: fix the name of the permissions property --- csync/src/csync_owncloud_private.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csync/src/csync_owncloud_private.h b/csync/src/csync_owncloud_private.h index ffe84c73b..e02152b26 100644 --- a/csync/src/csync_owncloud_private.h +++ b/csync/src/csync_owncloud_private.h @@ -127,7 +127,7 @@ static const ne_propname ls_props[] = { { "http://owncloud.org/ns", "id"}, { "http://owncloud.org/ns", "dDU"}, { "http://owncloud.org/ns", "dDC"}, - { "http://owncloud.org/ns", "perm"}, + { "http://owncloud.org/ns", "permissions"}, { NULL, NULL } }; From 3cb93510ac4d5a961e5e8b13591bbfc0b2498dbc Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Sat, 19 Jul 2014 01:25:30 -0400 Subject: [PATCH 017/133] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 78 +++++++++++--------- translations/mirall_cs.ts | 78 +++++++++++--------- translations/mirall_de.ts | 78 +++++++++++--------- translations/mirall_el.ts | 78 +++++++++++--------- translations/mirall_en.ts | 78 +++++++++++--------- translations/mirall_es.ts | 78 +++++++++++--------- translations/mirall_es_AR.ts | 78 +++++++++++--------- translations/mirall_et.ts | 78 +++++++++++--------- translations/mirall_eu.ts | 78 +++++++++++--------- translations/mirall_fa.ts | 78 +++++++++++--------- translations/mirall_fi.ts | 78 +++++++++++--------- translations/mirall_fr.ts | 78 +++++++++++--------- translations/mirall_gl.ts | 78 +++++++++++--------- translations/mirall_hu.ts | 78 +++++++++++--------- translations/mirall_it.ts | 78 +++++++++++--------- translations/mirall_ja.ts | 78 +++++++++++--------- translations/mirall_nl.ts | 78 +++++++++++--------- translations/mirall_pl.ts | 78 +++++++++++--------- translations/mirall_pt.ts | 78 +++++++++++--------- translations/mirall_pt_BR.ts | 78 +++++++++++--------- translations/mirall_ru.ts | 137 +++++++++++++++++++---------------- translations/mirall_sk.ts | 78 +++++++++++--------- translations/mirall_sl.ts | 78 +++++++++++--------- translations/mirall_sv.ts | 78 +++++++++++--------- translations/mirall_th.ts | 78 +++++++++++--------- translations/mirall_tr.ts | 78 +++++++++++--------- translations/mirall_uk.ts | 78 +++++++++++--------- translations/mirall_zh_CN.ts | 78 +++++++++++--------- translations/mirall_zh_TW.ts | 78 +++++++++++--------- 29 files changed, 1306 insertions(+), 1015 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index f153739c0..1eefecb2d 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -601,7 +601,12 @@ Esteu segur que voleu executar aquesta operació? Hem rebut un E-Tag diferent en la represa. Es comprovarà la pròxima vegada. - + + Server returned wrong content-range + + + + Connection Timeout Temps de connexió excedit @@ -1079,126 +1084,126 @@ No és aconsellada usar-la. Mirall::OwncloudSetupWizard - + Folder rename failed Ha fallat en canviar el nom de la carpeta - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>la carpeta de sincronització %1 s'ha creat correctament!</b></font> - + Trying to connect to %1 at %2... Intentant connectar amb %1 a %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">S'ha connectat correctament amb %1: %2 versió %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Error: credencials incorrectes. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> La carpeta local %1 ja existeix, s'està configurant per sincronitzar.<br/><br/> - + Creating local sync folder %1... Creant carpeta local de sincronització %1... - + ok correcte - + failed. ha fallat. - + Could not create local folder %1 No s'ha pogut crear la carpeta local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Ha fallat la connexió amb %1 a %2:<br/>%3 - + No remote folder specified! No heu especificat cap carpeta remota! - + Error: %1 Error: %1 - + creating folder on ownCloud: %1 creant la carpeta a ownCloud: %1 - + Remote folder %1 created successfully. La carpeta remota %1 s'ha creat correctament. - + The remote folder %1 already exists. Connecting it for syncing. La carpeta remota %1 ja existeix. S'hi està connectant per sincronitzar-les. - - + + The folder creation resulted in HTTP error code %1 La creació de la carpeta ha resultat en el codi d'error HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Ha fallat la creació de la carpeta perquè les credencials proporcionades són incorrectes!<br/>Aneu enrera i comproveu les credencials.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">La creació de la carpeta remota ha fallat, probablement perquè les credencials facilitades són incorrectes.</font><br/>Comproveu les vostres credencials.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. La creació de la carpeta remota %1 ha fallat amb l'error <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. S'ha establert una connexió de sincronització des de %1 a la carpeta remota %2. - + Successfully connected to %1! Connectat amb èxit a %1! - + Connection to %1 could not be established. Please check again. No s'ha pogut establir la connexió amb %1. Comproveu-ho de nou. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. No es pot esborrar i restaurar la carpeta perquè una carpeta o un fitxer de dins està obert en un altre programa. Tanqueu la carpeta o el fitxer i intenteu-ho de nou o cancel·leu la configuració. @@ -1250,22 +1255,27 @@ No és aconsellada usar-la. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. L'usuari ha aturat la sincronització. - + No E-Tag received from server, check Proxy/Gateway No s'ha rebut cap E-Tag del servidor, comproveu el Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. hem rebut un E-Tag diferent en la represa. Es comprovarà la pròxima vegada. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! El fitxer %1 no es pot baixar perquè hi ha un xoc amb el nom d'un fitxer local! @@ -1273,7 +1283,7 @@ No és aconsellada usar-la. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! El fitxer %1 no es pot baixar perquè hi ha un xoc amb el nom d'un fitxer local! diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 700a75097..7c3d77c44 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -601,7 +601,12 @@ Opravdu chcete provést tuto akci? Obdrželi jsme jiný E-Tag pro pokračování. Zkusím znovu příště. - + + Server returned wrong content-range + + + + Connection Timeout Spojení vypršelo @@ -1079,126 +1084,126 @@ Nedoporučuje se jí používat. Mirall::OwncloudSetupWizard - + Folder rename failed Přejmenování složky selhalo - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Místní synchronizovaná složka %1 byla vytvořena úspěšně!</b></font> - + Trying to connect to %1 at %2... Pokouším se připojit k %1 na %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Úspěšně připojeno k %1: %2 verze %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Chyba: nesprávné přihlašovací údaje. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Místní synchronizovaná složka %1 již existuje, nastavuji ji pro synchronizaci.<br/><br/> - + Creating local sync folder %1... Vytvářím místní synchronizovanou složku %1... - + ok OK - + failed. selhalo. - + Could not create local folder %1 Nelze vytvořit místní složku %1 - - + + Failed to connect to %1 at %2:<br/>%3 Selhalo spojení s %1 v %2:<br/>%3 - + No remote folder specified! Žádná vzdálená složka nenastavena! - + Error: %1 Chyba: %1 - + creating folder on ownCloud: %1 vytvářím složku na ownCloudu: %1 - + Remote folder %1 created successfully. Vzdálená složka %1 byla úspěšně vytvořena. - + The remote folder %1 already exists. Connecting it for syncing. Vzdálená složka %1 již existuje. Spojuji ji pro synchronizaci. - - + + The folder creation resulted in HTTP error code %1 Vytvoření složky selhalo HTTP chybou %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Vytvoření vzdálené složky selhalo, pravděpodobně z důvodu neplatných přihlašovacích údajů.<br/>Vraťte se, prosím, zpět a zkontrolujte je.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Vytvoření vzdálené složky selhalo, pravděpodobně z důvodu neplatných přihlašovacích údajů.</font><br/>Vraťte se, prosím, zpět a zkontrolujte je.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Vytváření vzdálené složky %1 selhalo s chybou <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Bylo nastaveno synchronizované spojení z %1 do vzdáleného adresáře %2. - + Successfully connected to %1! Úspěšně spojeno s %1. - + Connection to %1 could not be established. Please check again. Spojení s %1 nelze navázat. Prosím zkuste to znovu. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Nelze odstranit a zazálohovat adresář, protože adresář nebo soubor v něm je otevřen v jiném programu. Prosím zavřete adresář nebo soubor a zkuste znovu nebo zrušte akci. @@ -1250,22 +1255,27 @@ Nedoporučuje se jí používat. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synchronizace zrušena uživatelem. - + No E-Tag received from server, check Proxy/Gateway Ze serveru nebyl obdržen E-Tag, zkontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Obdrželi jsme jiný E-Tag pro pokračování. Zkusím znovu příště. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Soubor %1 nemohl být stažen z důvodu kolize názvu se souborem v místním systému. @@ -1273,7 +1283,7 @@ Nedoporučuje se jí používat. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Soubor %1 nemohl být stažen z důvodu kolize názvu se souborem v místním systému. diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index db1dc1db2..2ae152ec6 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -602,7 +602,12 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Es wurde ein unterschiedlicher E-Tag zum Fortfahren empfangen. Bitte beim nächsten mal nochmal versuchen. - + + Server returned wrong content-range + + + + Connection Timeout Zeitüberschreitung der Verbindung @@ -1080,126 +1085,126 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::OwncloudSetupWizard - + Folder rename failed Ordner umbenennen fehlgeschlagen. - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Lokaler Sync-Ordner %1 erfolgreich erstellt!</b></font> - + Trying to connect to %1 at %2... Versuche zu %1 an %2 zu verbinden... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Erfolgreich mit %1 verbunden: %2 Version %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Fehler: Falsche Anmeldeinformationen. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Lokaler Sync-Ordner %1 existiert bereits, aktiviere Synchronistation.<br/><br/> - + Creating local sync folder %1... Erstelle lokalen Sync-Ordner %1... - + ok ok - + failed. fehlgeschlagen. - + Could not create local folder %1 Der lokale Ordner %1 konnte nicht angelegt werden - - + + Failed to connect to %1 at %2:<br/>%3 Die Verbindung zu %1 auf %2:<br/>%3 konnte nicht hergestellt werden - + No remote folder specified! Keinen fernen Ordner spezifiziert! - + Error: %1 Fehler: %1 - + creating folder on ownCloud: %1 erstelle Ordner auf ownCloud: %1 - + Remote folder %1 created successfully. Remoteordner %1 erfolgreich erstellt. - + The remote folder %1 already exists. Connecting it for syncing. Der Ordner %1 ist auf dem Server bereits vorhanden. Verbinde zur Synchronisation. - - + + The folder creation resulted in HTTP error code %1 Das Erstellen des Verzeichnisses erzeugte den HTTP-Fehler-Code %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Die Remote-Ordner-Erstellung ist fehlgeschlagen, weil die angegebenen Zugangsdaten falsch sind. Bitte gehen Sie zurück und überprüfen Sie die Zugangsdaten. - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Die Remote-Ordner-Erstellung ist fehlgeschlagen, vermutlich sind die angegebenen Zugangsdaten falsch.</font><br/>Bitte gehen Sie zurück und überprüfen Sie Ihre Zugangsdaten.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Remote-Ordner %1 konnte mit folgendem Fehler nicht erstellt werden: <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Eine Synchronisationsverbindung für Ordner %1 zum entfernten Ordner %2 wurde eingerichtet. - + Successfully connected to %1! Erfolgreich verbunden mit %1! - + Connection to %1 could not be established. Please check again. Die Verbindung zu %1 konnte nicht hergestellt werden. Bitte prüfen Sie die Einstellungen erneut. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Kann den Ordner nicht entfernen und sichern, da der Ordner oder einer seiner Dateien in einem anderen Programm geöffnet ist. Bitte schließen Sie den Ordner ode die Datei oder beenden Sie das Setup. @@ -1251,22 +1256,27 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synchronisation wurde durch den Nutzer abgebrochen. - + No E-Tag received from server, check Proxy/Gateway Kein E-Tag vom Server empfangen, bitte Proxy / Gateway überprüfen - + We received a different E-Tag for resuming. Retrying next time. Es wurde ein unterschiedlicher E-Tag zum Fortfahren empfangen. Bitte beim nächsten mal nochmal versuchen. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Die Datei %1 kann aufgrund eines Konfliktes mit dem lokalen Dateinamen nicht herunter geladen werden! @@ -1274,7 +1284,7 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Die Datei %1 kann aufgrund eines Konfliktes mit dem lokalen Dateinamen nicht herunter geladen werden! diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 1a842b22e..47dda3afe 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -602,7 +602,12 @@ Are you sure you want to perform this operation? Ελήφθη διαφορετικό E-Tag για συνέχιση. Επανάληψη την επόμενη φορά. - + + Server returned wrong content-range + + + + Connection Timeout Λήξη Χρόνου Αναμονής Σύνδεσης @@ -1080,126 +1085,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Αποτυχία μετονομασίας φακέλου - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Επιτυχής δημιουργία τοπικού φακέλου %1 για συγχρονισμό!</b></font> - + Trying to connect to %1 at %2... Προσπάθεια σύνδεσης στο %1 για %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Επιτυχής σύνδεση στο %1: %2 έκδοση %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Σφάλμα: Λάθος διαπιστευτήρια. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Ο τοπικός φάκελος συγχρονισμού %1 υπάρχει ήδη, ρύθμιση για συγχρονισμό.<br/><br/> - + Creating local sync folder %1... Δημιουργία τοπικού φακέλου %1 για συγχρονισμό... - + ok οκ - + failed. απέτυχε. - + Could not create local folder %1 Αδυναμία δημιουργίας τοπικού φακέλου %1 - - + + Failed to connect to %1 at %2:<br/>%3 Αποτυχία σύνδεσης με το %1 στο %2:<br/>%3 - + No remote folder specified! Δεν προσδιορίστηκε κανένας απομακρυσμένος φάκελος! - + Error: %1 Σφάλμα: %1 - + creating folder on ownCloud: %1 δημιουργία φακέλου στο ownCloud: %1 - + Remote folder %1 created successfully. Ο απομακρυσμένος φάκελος %1 δημιουργήθηκε με επιτυχία. - + The remote folder %1 already exists. Connecting it for syncing. Ο απομακρυσμένος φάκελος %1 υπάρχει ήδη. Θα συνδεθεί για συγχρονισμό. - - + + The folder creation resulted in HTTP error code %1 Η δημιουργία φακέλου είχε ως αποτέλεσμα τον κωδικό σφάλματος HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Η δημιουργία απομακρυσμένου φακέλλου απέτυχε επειδή τα διαπιστευτήρια είναι λάθος!<br/>Παρακαλώ επιστρέψετε και ελέγξετε τα διαπιστευτήριά σας.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Η δημιουργία απομακρυσμένου φακέλου απέτυχε, πιθανώς επειδή τα διαπιστευτήρια που δόθηκαν είναι λάθος.</font><br/>Παρακαλώ επιστρέψτε πίσω και ελέγξτε τα διαπιστευτήρια σας.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Η δημιουργία απομακρυσμένου φακέλου %1 απέτυχε με σφάλμα <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Μια σύνδεση συγχρονισμού από τον απομακρυσμένο κατάλογο %1 σε %2 έχει ρυθμιστεί. - + Successfully connected to %1! Επιτυχής σύνδεση με %1! - + Connection to %1 could not be established. Please check again. Αδυναμία σύνδεσης στον %1. Παρακαλώ ελέξτε ξανά. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Αδυναμία αφαίρεσης και δημιουργίας αντιγράφου ασφαλείας του φακέλου διότι ο φάκελος ή ένα αρχείο του είναι ανοικτό από άλλο πρόγραμμα. Παρακαλώ κλείστε τον φάκελο ή το αρχείο και πατήστε επανάληψη ή ακυρώστε την ρύθμιση. @@ -1251,22 +1256,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Ο συγχρονισμός ματαιώθηκε από τον χρήστη. - + No E-Tag received from server, check Proxy/Gateway Δεν ελήφθη E-Tag από τον διακομιστή, ελέγξτε τον διακομιστή μεσολάβησης/πύλη - + We received a different E-Tag for resuming. Retrying next time. Ελήφθη διαφορετικό E-Tag για συνέχιση. Επανάληψη την επόμενη φορά. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Το αρχείο %1 δεν είναι δυνατό να ληφθεί λόγω διένεξης με το όνομα ενός τοπικού αρχείου! @@ -1274,7 +1284,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Το αρχείο %1 δεν είναι δυνατό να ληφθεί λόγω διένεξης με το όνομα ενός τοπικού αρχείου! diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index 74d529070..e8abd573a 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -600,7 +600,12 @@ Are you sure you want to perform this operation? - + + Server returned wrong content-range + + + + Connection Timeout @@ -1074,126 +1079,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> - + Trying to connect to %1 at %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> - + Error: Wrong credentials. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> - + Creating local sync folder %1... - + ok - + failed. - + Could not create local folder %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 - + creating folder on ownCloud: %1 - + Remote folder %1 created successfully. - + The remote folder %1 already exists. Connecting it for syncing. - - + + The folder creation resulted in HTTP error code %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. - + Successfully connected to %1! - + Connection to %1 could not be established. Please check again. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1245,22 +1250,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1268,7 +1278,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index cf8d3c366..909bfe1cb 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -601,7 +601,12 @@ Está seguro de que desea realizar esta operación? Se recibió una e-tag distinta para reanudar. Se intentará nuevamente. - + + Server returned wrong content-range + + + + Connection Timeout Tiempo de espera de conexión agotado @@ -1079,126 +1084,126 @@ No se recomienda usarlo. Mirall::OwncloudSetupWizard - + Folder rename failed Error Renombrando Carpeta - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Carpeta de sincronización local %1 creada con éxito</b></font> - + Trying to connect to %1 at %2... Intentando conectar a %1 desde %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Conectado con éxito a %1: versión %2 %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Error: Credenciales erróneas. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> La carpeta de sincronización local %1 ya existe, configurándola para la sincronización.<br/><br/> - + Creating local sync folder %1... Creando la carpeta de sincronización local %1... - + ok ok - + failed. falló. - + Could not create local folder %1 No se pudo crear carpeta local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Error conectando con %1 en %2:<br/>%3 - + No remote folder specified! No se ha especificado la carpeta remota! - + Error: %1 Error: %1 - + creating folder on ownCloud: %1 creando carpeta en ownCloud: %1 - + Remote folder %1 created successfully. Carpeta remota %1 creado correctamente. - + The remote folder %1 already exists. Connecting it for syncing. La carpeta remota %1 ya existe. Conectándola para sincronizacion. - - + + The folder creation resulted in HTTP error code %1 La creación de la carpeta causó un error HTTP de código %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> ¡La creación de la carpeta remota ha fallado debido a que las credenciales proporcionadas son incorrectas!<br/>Por favor, vuelva atrás y comprueba sus credenciales</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">La creación de la carpeta remota ha fallado, probablemente porque las credenciales proporcionadas son incorrectas.</font><br/>Por favor, vuelva atrás y compruebe sus credenciales.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Creación %1 de carpeta remota ha fallado con el error <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Una conexión de sincronización desde %1 al directorio remoto %2 ha sido configurada. - + Successfully connected to %1! ¡Conectado con éxito a %1! - + Connection to %1 could not be established. Please check again. Conexión a %1 no se pudo establecer. Por favor compruebelo de nuevo. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. No se puede eliminar y respaldar la carpeta porque la misma o un fichero en ella está abierto por otro programa. Por favor, cierre la carpeta o el fichero y reintente, o cancele la instalación. @@ -1250,22 +1255,27 @@ No se recomienda usarlo. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. La sincronización ha sido Interrumpida por el usuario - + No E-Tag received from server, check Proxy/Gateway No se recibió ninguna e-tag del servidor, revisar el proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Se recibió una e-tag distinta para reanudar. Se intentará nuevamente. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! ¡El fichero %1 no puede ser descargado debido al nombre de la clase de un fichero local! @@ -1273,7 +1283,7 @@ No se recomienda usarlo. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! ¡El fichero %1 no puede ser descargado debido al nombre de la clase de un fichero local! diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index 89ab053a5..377a5e671 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -600,7 +600,12 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o - + + Server returned wrong content-range + + + + Connection Timeout @@ -1076,126 +1081,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Error Al Renombrar Directorio - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Directorio local %1 creado</b></font> - + Trying to connect to %1 at %2... Intentando conectar a %1 en %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Conectado a %1: versión de %2 %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Error: Credenciales erróneas. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> El directorio de sincronización local %1 ya existe, configurándolo para la sincronización.<br/><br/> - + Creating local sync folder %1... Creando el directorio %1... - + ok aceptar - + failed. Error. - + Could not create local folder %1 No fue posible crear el directorio local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Falló al conectarse a %1 en %2:<br/>%3 - + No remote folder specified! ¡No se ha especificado un directorio remoto! - + Error: %1 Error: %1 - + creating folder on ownCloud: %1 Creando carpeta en ownCloud: %1 - + Remote folder %1 created successfully. El directorio remoto %1 fue creado con éxito. - + The remote folder %1 already exists. Connecting it for syncing. El directorio remoto %1 ya existe. Estableciendo conexión para sincronizar. - - + + The folder creation resulted in HTTP error code %1 La creación del directorio resultó en un error HTTP con código de error %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> <p><font color="red">Error al crear el directorio remoto porque las credenciales provistas son incorrectas.</font><br/>Por favor, volvé atrás y verificá tus credenciales.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Error al crear el directorio remoto, probablemente porque las credenciales provistas son incorrectas.</font><br/>Por favor, volvé atrás y verificá tus credenciales.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Se prtodujo un error <tt>%2</tt> al crear el directorio remoto %1. - + A sync connection from %1 to remote directory %2 was set up. Fue creada una conexión de sincronización desde %1 al directorio remoto %2. - + Successfully connected to %1! Conectado con éxito a %1! - + Connection to %1 could not be established. Please check again. No fue posible establecer la conexión a %1. Por favor, intentalo nuevamente. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1247,22 +1252,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Sincronizaciójn abortada por el usuario. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1270,7 +1280,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 11162c2d6..6c59e89a4 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -601,7 +601,12 @@ Oled kindel, et soovid seda operatsiooni teostada? Saime jätkamiseks erineva E-Sildi. Proovin järgmine kord uuesti. - + + Server returned wrong content-range + + + + Connection Timeout Ühenduse aegumine @@ -1079,126 +1084,126 @@ Selle kasutamine pole soovitatav. Mirall::OwncloudSetupWizard - + Folder rename failed Kataloogi ümbernimetamine ebaõnnestus - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Kohalik kataloog %1 edukalt loodud!</b></font> - + Trying to connect to %1 at %2... Püüan ühenduda %1 kohast %2 - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Edukalt ühendatud %1: %2 versioon %3 (4)</font><br/><br/> - + Error: Wrong credentials. Viga: Valed kasutajaandmed. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Kohalik kataloog %1 on juba olemas. Valmistan selle ette sünkroniseerimiseks. - + Creating local sync folder %1... Kohaliku kausta %1 sünkroonimise loomine ... - + ok ok - + failed. ebaõnnestus. - + Could not create local folder %1 Ei suuda tekitada kohalikku kataloogi %1 - - + + Failed to connect to %1 at %2:<br/>%3 Ühendumine ebaõnnestus %1 %2-st:<br/>%3 - + No remote folder specified! Ühtegi võrgukataloogi pole määratletud! - + Error: %1 Viga: %1 - + creating folder on ownCloud: %1 loon uue kataloogi ownCloudi: %1 - + Remote folder %1 created successfully. Eemalolev kaust %1 on loodud. - + The remote folder %1 already exists. Connecting it for syncing. Serveris on kataloog %1 juba olemas. Ühendan selle sünkroniseerimiseks. - - + + The folder creation resulted in HTTP error code %1 Kausta tekitamine lõppes HTTP veakoodiga %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Kataloogi loomine serverisse ebaõnnestus, kuna kasutajatõendid on valed!<br/>Palun kontrolli oma kasutajatunnust ja parooli.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Serveris oleva kataloogi tekitamine ebaõnnestus tõenäoliselt valede kasutajatunnuste tõttu.</font><br/>Palun mine tagasi ning kontrolli kasutajatunnust ning parooli.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Kataloogi %1 tekitamine serverisse ebaõnnestus veaga <tt>%2</tt> - + A sync connection from %1 to remote directory %2 was set up. Loodi sünkroniseerimisühendus kataloogist %1 serveri kataloogi %2 - + Successfully connected to %1! Edukalt ühendatud %1! - + Connection to %1 could not be established. Please check again. Ühenduse loomine %1 ebaõnnestus. Palun kontrolli uuesti. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Ei suuda eemaldada ning varundada kataloogi kuna kataloog või selles asuv fail on avatud mõne teise programmi poolt. Palun sulge kataloog või fail ning proovi uuesti või katkesta paigaldus. @@ -1250,22 +1255,27 @@ Selle kasutamine pole soovitatav. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Sünkroniseering katkestati kasutaja poolt. - + No E-Tag received from server, check Proxy/Gateway Ühtegi E-Silti ei saabunud serverist, kontrolli puhverserverit/lüüsi. - + We received a different E-Tag for resuming. Retrying next time. Saime jätkamiseks erineva E-Sildi. Proovin järgmine kord uuesti. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Faili %1 ei saa alla laadida kuna on konflikt kohaliku faili nimega. @@ -1273,7 +1283,7 @@ Selle kasutamine pole soovitatav. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Faili %1 ei saa alla laadida kuna on konflikt kohaliku faili nimega. diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index e2f478cf7..2a8bc9759 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -598,7 +598,12 @@ Are you sure you want to perform this operation? - + + Server returned wrong content-range + + + + Connection Timeout @@ -1074,126 +1079,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Karpetaren berrizendatzeak huts egin du - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Bertako sinkronizazio %1 karpeta ongi sortu da!</b></font> - + Trying to connect to %1 at %2... %2 zerbitzarian dagoen %1 konektatzen... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Konexioa ongi burutu da %1 zerbitzarian: %2 bertsioa %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Errorea: Kredentzial okerrak. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Bertako %1 karpeta dagoeneko existitzen da, sinkronizaziorako prestatzen.<br/><br/> - + Creating local sync folder %1... Bertako sinkronizazio %1 karpeta sortzen... - + ok ados - + failed. huts egin du. - + Could not create local folder %1 Ezin da %1 karpeta lokala sortu - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! Ez da urruneko karpeta zehaztu! - + Error: %1 Errorea: %1 - + creating folder on ownCloud: %1 ownClouden karpeta sortzen: %1 - + Remote folder %1 created successfully. Urruneko %1 karpeta ongi sortu da. - + The remote folder %1 already exists. Connecting it for syncing. Urruneko %1 karpeta dagoeneko existintzen da. Bertara konetatuko da sinkronizatzeko. - - + + The folder creation resulted in HTTP error code %1 Karpeta sortzeak HTTP %1 errore kodea igorri du - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Urruneko karpeten sortzeak huts egin du ziuraski emandako kredentzialak gaizki daudelako.</font><br/>Mesedez atzera joan eta egiaztatu zure kredentzialak.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Urruneko %1 karpetaren sortzeak huts egin du <tt>%2</tt> errorearekin. - + A sync connection from %1 to remote directory %2 was set up. Sinkronizazio konexio bat konfiguratu da %1 karpetatik urruneko %2 karpetara. - + Successfully connected to %1! %1-era ongi konektatu da! - + Connection to %1 could not be established. Please check again. %1 konexioa ezin da ezarri. Mesedez egiaztatu berriz. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1245,22 +1250,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Sinkronizazioa erabiltzaileak bertan behera utzi du - + No E-Tag received from server, check Proxy/Gateway Ez da E-Tagik jaso zerbitzaritik, egiaztatu Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1268,7 +1278,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 5ed2a3765..02149153d 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -598,7 +598,12 @@ Are you sure you want to perform this operation? - + + Server returned wrong content-range + + + + Connection Timeout @@ -1072,126 +1077,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed تغییر نام پوشه ناموفق بود - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b> پوشه همگام سازی محلی %1 با موفقیت ساخته شده است!</b></font> - + Trying to connect to %1 at %2... تلاش برای اتصال %1 به %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green"> با موفقیت متصل شده است به %1: %2 نسخه %3 (%4)</font><br/><br/> - + Error: Wrong credentials. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> پوشه همگام سازی محلی %1 در حال حاضر موجود است، تنظیم آن برای همگام سازی. <br/><br/> - + Creating local sync folder %1... ایجاد پوشه همگام سازی محلی %1... - + ok خوب - + failed. ناموفق. - + Could not create local folder %1 نمی تواند پوشه محلی ایجاد کند %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 خطا: %1 - + creating folder on ownCloud: %1 ایجاد کردن پوشه بر روی ownCloud: %1 - + Remote folder %1 created successfully. پوشه از راه دور %1 با موفقیت ایجاد شده است. - + The remote folder %1 already exists. Connecting it for syncing. در حال حاضر پوشه از راه دور %1 موجود است. برای همگام سازی به آن متصل شوید. - - + + The folder creation resulted in HTTP error code %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> ایجاد پوشه از راه دور ناموفق بود به علت اینکه اعتبارهای ارائه شده اشتباه هستند!<br/>لطفا اعتبارهای خودتان را بررسی کنید.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red"> ایجاد پوشه از راه دور ناموفق بود، شاید به علت اعتبارهایی که ارئه شده اند، اشتباه هستند.</font><br/> لطفا باز گردید و اعتبار خود را بررسی کنید.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. ایجاد پوشه از راه دور %1 ناموفق بود با خطا <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. یک اتصال همگام سازی از %1 تا %2 پوشه از راه دور راه اندازی شد. - + Successfully connected to %1! با موفقیت به %1 اتصال یافت! - + Connection to %1 could not be established. Please check again. اتصال به %1 نمی تواند مقرر باشد. لطفا دوباره بررسی کنید. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1243,22 +1248,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1266,7 +1276,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 901510a30..37ca946bb 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -599,7 +599,12 @@ Are you sure you want to perform this operation? - + + Server returned wrong content-range + + + + Connection Timeout Yhteys aikakatkaistiin @@ -1075,126 +1080,126 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::OwncloudSetupWizard - + Folder rename failed Kansion nimen muuttaminen epäonnistui - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Paikallinen synkronointikansio %1 luotu onnistuneesti!</b></font> - + Trying to connect to %1 at %2... Yritetään yhdistetää palvelimeen %1 portissa %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Muodostettu yhteys onnistuneesti kohteeseen %1: %2 versio %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Virhe: väärät tilitiedot. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Paikallinen kansio %1 on jo olemassa, asetetaan se synkronoitavaksi.<br/><br/> - + Creating local sync folder %1... Luodaan paikallista synkronointikansiota %1... - + ok ok - + failed. epäonnistui. - + Could not create local folder %1 Paikalliskansion %1 luonti epäonnistui - - + + Failed to connect to %1 at %2:<br/>%3 Yhteys %1iin osoitteessa %2 epäonnistui:<br/>%3 - + No remote folder specified! Etäkansiota ei määritelty! - + Error: %1 Virhe: %1 - + creating folder on ownCloud: %1 luodaan kansio ownCloudiin: %1 - + Remote folder %1 created successfully. Etäkansio %1 luotiin onnistuneesti. - + The remote folder %1 already exists. Connecting it for syncing. Etäkansio %1 on jo olemassa. Otetaan siihen yhteyttä tiedostojen täsmäystä varten. - - + + The folder creation resulted in HTTP error code %1 Kansion luonti aiheutti HTTP-virhekoodin %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Etäkansion luominen epäonnistui koska antamasi tunnus/salasana ei täsmää!<br/>Ole hyvä ja palaa tarkistamaan tunnus/salasana</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Pilvipalvelun etäkansion luominen ei onnistunut , koska tunnistautumistietosi ovat todennäköisesti väärin.</font><br/>Palaa takaisin ja tarkista käyttäjätunnus ja salasana.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Etäkansion %1 luonti epäonnistui, virhe <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Täsmäysyhteys kansiosta %1 etäkansioon %2 on asetettu. - + Successfully connected to %1! Yhteys kohteeseen %1 muodostettiin onnistuneesti! - + Connection to %1 could not be established. Please check again. Yhteyttä osoitteeseen %1 ei voitu muodostaa. Ole hyvä ja tarkista uudelleen. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1246,22 +1251,27 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synkronointi peruttiin käyttäjän toimesta. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1269,7 +1279,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index 2b5238eb7..e4acec93e 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -601,7 +601,12 @@ Voulez-vous réellement effectuer cette opération ? Nous avons reçu un E-Tag différent pour reprendre le téléchargement. Nouvel essai la prochaine fois. - + + Server returned wrong content-range + + + + Connection Timeout Temps de connexion expiré @@ -1079,126 +1084,126 @@ Il est déconseillé de l'utiliser. Mirall::OwncloudSetupWizard - + Folder rename failed Echec du renommage du dossier - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Dossier de synchronisation local %1 créé avec succès !</b></font> - + Trying to connect to %1 at %2... Tentative de connexion de %1 à %2 ... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Connecté avec succès à %1: %2 version %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Erreur : paramètres de connexion invalides. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Le dossier de synchronisation local %1 existe déjà, configuration de la synchronisation.<br/><br/> - + Creating local sync folder %1... Création du dossier de synchronisation local %1 … - + ok ok - + failed. échoué. - + Could not create local folder %1 Impossible de créer le répertoire local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Échec de la connexion à %1 pour %2:<br/>%3 - + No remote folder specified! Aucun dossier distant n'est spécifié ! - + Error: %1 Erreur : %1 - + creating folder on ownCloud: %1 création d'un répertoire sur ownCloud : %1 - + Remote folder %1 created successfully. Le dossier distant %1 a été créé avec succès. - + The remote folder %1 already exists. Connecting it for syncing. Le dossier distant %1 existe déjà. Veuillez vous y connecter pour la synchronisation. - - + + The folder creation resulted in HTTP error code %1 La création du dossier a généré le code d'erreur HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> La création du répertoire distant a échoué car les identifiants de connexion sont erronés !<br/>Veuillez revenir en arrière et vérifier ces derniers.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">La création du dossier distant a échoué probablement parce que les informations d'identification fournies sont fausses.</font><br/>Veuillez revenir à l'étape précédente et vérifier vos informations d'identification.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. La création du dossier distant "%1" a échouée avec l'erreur <tt>%2</tt> - + A sync connection from %1 to remote directory %2 was set up. Une synchronisation entre le dossier local %1 et le dossier distant %2 a été configurée. - + Successfully connected to %1! Connecté avec succès à %1! - + Connection to %1 could not be established. Please check again. La connexion à %1 n'a pu être établie. Essayez encore svp. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Impossible de supprimer et de sauvegarder le dossier parce que ce dossier ou un de ces fichiers est ouvert dans un autre programme. Veuillez fermer le dossier ou le fichier et cliquez sur ré-essayer ou annuler l'installation. @@ -1250,22 +1255,27 @@ Il est déconseillé de l'utiliser. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. La synchronisation a été interrompue par l'utilisateur. - + No E-Tag received from server, check Proxy/Gateway Aucun E-Tag reçu du serveur, vérifiez le proxy / la passerelle - + We received a different E-Tag for resuming. Retrying next time. Nous avons reçu un E-Tag différent pour reprendre le téléchargement. Nouvel essai la prochaine fois. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! File %1 ne peut pas être téléchargé en raison d'un conflit sur le nom du fichier local. @@ -1273,7 +1283,7 @@ Il est déconseillé de l'utiliser. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! File %1 ne peut pas être téléchargé en raison d'un conflit sur le nom du fichier local. diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index 8fad57106..c5eb11fae 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -601,7 +601,12 @@ Confirma que quere realizar esta operación? Recibiuse unha «E-Tag» diferente para continuar. Tentándoo outra vez. - + + Server returned wrong content-range + + + + Connection Timeout Esgotouse o tempo de conexión @@ -1079,126 +1084,126 @@ Recomendámoslle que non o use. Mirall::OwncloudSetupWizard - + Folder rename failed Non foi posíbel renomear o cartafol - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>O cartafol local de sincronización %1 creouse correctamente!</b></font> - + Trying to connect to %1 at %2... Tentando conectarse a %1 en %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Conectouse correctamente a %1: %2 versión %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Erro: Credenciais incorrectas. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> O cartafol de sincronización local %1 xa existe. Configurándoo para a sincronización.<br/><br/> - + Creating local sync folder %1... Creando un cartafol local de sincronización %1... - + ok aceptar - + failed. fallou. - + Could not create local folder %1 Non foi posíbel crear o cartafol local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Non foi posíbel conectar con %1 en %2:<br/>%3 - + No remote folder specified! Non foi especificado o cartafol remoto! - + Error: %1 Erro: %1 - + creating folder on ownCloud: %1 creando o cartafol en ownCloud: %1 - + Remote folder %1 created successfully. O cartafol remoto %1 creouse correctamente. - + The remote folder %1 already exists. Connecting it for syncing. O cartafol remoto %1 xa existe. Conectándoo para a sincronización. - - + + The folder creation resulted in HTTP error code %1 A creación do cartafol resultou nun código de erro HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> A creación do cartafol remoto fracasou por por de seren incorrectas as credenciais!<br/>Volva atrás e comprobe as súas credenciais.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">A creación do cartafol remoto fallou probabelmente debido a que as credenciais que se deron non foran as correctas.</font><br/>Volva atrás e comprobe as súas credenciais.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Produciuse un fallo ao crear o cartafol remoto %1 e dou o erro <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Estabeleceuse a conexión de sincronización de %1 ao directorio remoto %2. - + Successfully connected to %1! Conectou satisfactoriamente con %1 - + Connection to %1 could not be established. Please check again. Non foi posíbel estabelecer a conexión con %1. Compróbeo de novo. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Non é posíbel retirar e facer copia de seguranza do cartafol, xa que o cartafol ou un ficheiro está aberto noutro programa Peche o cartafol ou o ficheiro e tenteo de novo, ou cancele a acción. @@ -1250,22 +1255,27 @@ Recomendámoslle que non o use. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. A sincronización foi interrompida polo usuario. - + No E-Tag received from server, check Proxy/Gateway Non se recibiu a «E-Tag» do servidor, comprobe o proxy e/ou a pasarela - + We received a different E-Tag for resuming. Retrying next time. Recibiuse unha «E-Tag» diferente para continuar. Tentándoo outra vez. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Non é posíbel descargar o ficheiro %1 por mor dunha colisión co nome dun ficheiro local! @@ -1273,7 +1283,7 @@ Recomendámoslle que non o use. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Non é posíbel descargar o ficheiro %1 por mor dunha colisión co nome dun ficheiro local! diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index a9b7c2204..6bb401b38 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -598,7 +598,12 @@ Are you sure you want to perform this operation? - + + Server returned wrong content-range + + + + Connection Timeout @@ -1072,126 +1077,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed A mappa átnevezése nem sikerült - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Helyi %1 szinkronizációs mappa sikeresen létrehozva!</b></font> - + Trying to connect to %1 at %2... Próbál kapcsolódni az %1-hoz: %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Sikeresen csatlakozott az %1-hoz: %2 verziószám %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Hiba: rossz azonosítási adatok - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> A helyi %1 mappa már létezik, állítsa be a szinkronizálódását.<br/><br/> - + Creating local sync folder %1... Helyi %1 szinkronizációs mappa létrehozása... - + ok ok - + failed. sikertelen. - + Could not create local folder %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 Hiba: %1 - + creating folder on ownCloud: %1 - + Remote folder %1 created successfully. %1 távoli nappa sikeresen létrehozva. - + The remote folder %1 already exists. Connecting it for syncing. A %1 távoli mappa már létezik. Csatlakoztassa a szinkronizációhoz. - - + + The folder creation resulted in HTTP error code %1 A könyvtár létrehozásakor keletkezett HTTP hibakód %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">A távoli mappa létrehozása sikertelen, valószínűleg mivel hibásak a megdott hitelesítési adatok.</font><br/>Lépjen vissza és ellenőrizze a belépési adatokat.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. A távoli %1 mappa létrehozása nem sikerült. Hibaüzenet: <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. A szinkronizációs kapcsolat a %1 és a %2 távoli mappa között létrejött. - + Successfully connected to %1! Sikeresen csatlakozva: %1! - + Connection to %1 could not be established. Please check again. A kapcsolat a %1 kiszolgálóhoz sikertelen. Ellenőrizze újra. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1243,22 +1248,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1266,7 +1276,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index ca34a1ac5..8e3573a11 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -601,7 +601,12 @@ Sei sicuro di voler eseguire questa operazione? Abbiamo ricevuto un e-tag diverso per il recupero. Riprova più tardi. - + + Server returned wrong content-range + + + + Connection Timeout Connessione scaduta @@ -1078,126 +1083,126 @@ Non è consigliabile utilizzarlo. Mirall::OwncloudSetupWizard - + Folder rename failed Rinomina cartella non riuscita - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Cartella locale %1 creta correttamente!</b></font> - + Trying to connect to %1 at %2... Tentativo di connessione a %1 su %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Connesso correttamente a %1: %2 versione %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Errore: credenziali non valide. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> La cartella di sincronizzazione locale %1 esiste già, impostata per la sincronizzazione.<br/><br/> - + Creating local sync folder %1... Creazione della cartella locale di sincronizzazione %1 in corso... - + ok ok - + failed. non riuscita. - + Could not create local folder %1 Impossibile creare la cartella locale %1 - - + + Failed to connect to %1 at %2:<br/>%3 Connessione a %1 su %2:<br/>%3 - + No remote folder specified! Nessuna cartella remota specificata! - + Error: %1 Errore: %1 - + creating folder on ownCloud: %1 creazione cartella su ownCloud: %1 - + Remote folder %1 created successfully. La cartella remota %1 è stata creata correttamente. - + The remote folder %1 already exists. Connecting it for syncing. La cartella remota %1 esiste già. Connessione in corso per la sincronizzazione - - + + The folder creation resulted in HTTP error code %1 La creazione della cartella ha restituito un codice di errore HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> La creazione della cartella remota non è riuscita poiché le credenziali fornite sono errate!<br/>Torna indietro e verifica le credenziali.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">La creazione della cartella remota non è riuscita probabilmente perché le credenziali fornite non sono corrette.</font><br/>Torna indietro e controlla le credenziali inserite.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Creazione della cartella remota %1 non riuscita con errore <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Una connessione di sincronizzazione da %1 alla cartella remota %2 è stata stabilita. - + Successfully connected to %1! Connessi con successo a %1! - + Connection to %1 could not be established. Please check again. La connessione a %1 non può essere stabilita. Prova ancora. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Impossibile rimuovere o creare una copia di sicurezza della cartella poiché la cartella o un file in essa contenuto è aperta in un altro programma. Chiudi la cartella o il file e premi Riprova o annulla la configurazione. @@ -1249,22 +1254,27 @@ Non è consigliabile utilizzarlo. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Sincronizzazione interrotta dall'utente. - + No E-Tag received from server, check Proxy/Gateway Nessun e-tag ricevuto dal server, controlla il proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Abbiamo ricevuto un e-tag diverso per il recupero. Riprova più tardi. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Il file %1 non può essere scaricato a causa di un conflitto con un file locale. @@ -1272,7 +1282,7 @@ Non è consigliabile utilizzarlo. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Il file %1 non può essere scaricato a causa di un conflitto con un file locale. diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index c8bb2917f..e5eafdaee 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -601,7 +601,12 @@ Are you sure you want to perform this operation? 同期再開時に違う E-Tagを受信しました。次回リトライします。 - + + Server returned wrong content-range + + + + Connection Timeout 接続タイムアウト @@ -1077,126 +1082,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed フォルダー名の変更に失敗しました。 - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>ローカルの同期フォルダー %1 は正常に作成されました!</b></font> - + Trying to connect to %1 at %2... %2 の %1 へ接続を試みています... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">正常に %1 へ接続されました:%2 バージョン %3 (%4)</font><br/><br/> - + Error: Wrong credentials. エラー:資格情報が間違っています。 - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> ローカルの同期フォルダー %1 はすでに存在するため、同期の設定をしてください。<br/><br/> - + Creating local sync folder %1... ローカルの同期フォルダー %1 を作成中... - + ok OK - + failed. 失敗。 - + Could not create local folder %1 ローカルフォルダー %1 を作成できませんでした - - + + Failed to connect to %1 at %2:<br/>%3 %2 の %1 に接続に失敗:<br/>%3 - + No remote folder specified! リモートフォルダーが指定されていません! - + Error: %1 エラー: %1 - + creating folder on ownCloud: %1 ownCloud上にフォルダーを作成中: %1 - + Remote folder %1 created successfully. リモートフォルダー %1 は正常に生成されました。 - + The remote folder %1 already exists. Connecting it for syncing. リモートフォルダー %1 はすでに存在します。同期のために接続しています。 - - + + The folder creation resulted in HTTP error code %1 フォルダーの作成はHTTPのエラーコード %1 で終了しました - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> 指定された資格情報が間違っているため、リモートフォルダーの作成に失敗しました!<br/>前に戻って資格情報を確認してください。</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">おそらく資格情報が間違っているため、リモートフォルダーの作成に失敗しました。</font><br/>前に戻り、資格情報をチェックしてください。</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. リモートフォルダー %1 の作成がエラーで失敗しました。<tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. %1 からリモートディレクトリ %2 への同期接続を設定しました。 - + Successfully connected to %1! %1への接続に成功しました! - + Connection to %1 could not be established. Please check again. %1 への接続を確立できませんでした。もう一度確認してください。 - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. フォルダーまたはその中にあるファイルが他のプログラムで開かれているため、フォルダーの削除やバックアップができません。フォルダーまたはファイルを閉じてから再試行するか、セットアップをキャンセルしてください。 @@ -1248,22 +1253,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. 同期はユーザーによって中止されました。 - + No E-Tag received from server, check Proxy/Gateway サーバーからE-Tagを受信できません。プロキシ/ゲートウェイを確認してください。 - + We received a different E-Tag for resuming. Retrying next time. 同期再開時に違う E-Tagを受信しました。次回リトライします。 - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! ファイル %1 はローカルファイル名が衝突しているためダウンロードできません! @@ -1271,7 +1281,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! ファイル %1 はローカルファイル名が衝突しているためダウンロードできません! diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index d7e0f88ee..dbb770d6a 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -601,7 +601,12 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? We ontvingen een afwijkende E-Tag om door te gaan. We proberen het later opnieuw. - + + Server returned wrong content-range + + + + Connection Timeout Verbindingstime-out @@ -1079,126 +1084,126 @@ We adviseren deze site niet te gebruiken. Mirall::OwncloudSetupWizard - + Folder rename failed Hernoemen map mislukt - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Lokale synch map %1 is succesvol aangemaakt!</b></font> - + Trying to connect to %1 at %2... Probeer te verbinden met %1 om %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Succesvol verbonden met %1: %2 versie %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Fout: Verkeerde inloggegevens - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Lokale synch map %1 bestaat al, deze wordt ingesteld voor synchronisatie.<br/><br/> - + Creating local sync folder %1... Maak lokale synchronisatiemap %1... - + ok ok - + failed. mislukt. - + Could not create local folder %1 Kon lokale map %1 niet aanmaken - - + + Failed to connect to %1 at %2:<br/>%3 Kon geen verbinding maken met %1 op %2:<br/>%3 - + No remote folder specified! Geen externe map opgegeven! - + Error: %1 Fout: %1 - + creating folder on ownCloud: %1 aanmaken map op ownCloud: %1 - + Remote folder %1 created successfully. Externe map %1 succesvol gecreërd. - + The remote folder %1 already exists. Connecting it for syncing. De remote map %1 bestaat al. Verbinden voor synchroniseren. - - + + The folder creation resulted in HTTP error code %1 Het aanmaken van de map resulteerde in HTTP foutcode %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Het aanmaken van de remote map is mislukt, waarschijnlijk omdat uw inloggegevens fout waren.<br/>Ga terug en controleer uw inloggegevens.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Het aanmaken van de remote map is mislukt, waarschijnlijk omdat uw inloggegevens fout waren.</font><br/>ga terug en controleer uw inloggevens.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Aanmaken van remote map %1 mislukt met fout <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Er is een sync verbinding van %1 naar remote directory %2 opgezet. - + Successfully connected to %1! Succesvol verbonden met %1! - + Connection to %1 could not be established. Please check again. Verbinding met %1 niet geslaagd. Probeer het nog eens. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Kan de map niet verwijderen en backuppen, omdat de map of een bestand daarin, geopend is in een ander programma. Sluit de map of het bestand en drup op Opnieuw of annuleer de installatie. @@ -1250,22 +1255,27 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synchronisatie afgebroken door gebruiker. - + No E-Tag received from server, check Proxy/Gateway Geen E-Tag ontvangen van de server, controleer Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. We ontvingen een afwijkende E-Tag om door te gaan. We proberen het later opnieuw. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Bestand %1 kan niet worden gedownload omdat de naam conflicteert met een lokaal bestand @@ -1273,7 +1283,7 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Bestand %1 kan niet worden gedownload omdat de naam conflicteert met een lokaal bestand diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index 9b973885c..7f9fd6066 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -601,7 +601,12 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Otrzymaliśmy inny E-Tag wznowienia. Spróbuje ponownie następnym razem. - + + Server returned wrong content-range + + + + Connection Timeout Limit czasu połączenia @@ -1079,126 +1084,126 @@ Niezalecane jest jego użycie. Mirall::OwncloudSetupWizard - + Folder rename failed Zmiana nazwy folderu nie powiodła się - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Utworzenie lokalnego folderu synchronizowanego %1 zakończone pomyślnie!</b></font> - + Trying to connect to %1 at %2... Próba połączenia z %1 w %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Udane połączenie z %1: %2 wersja %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Błąd: złe poświadczenia. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Lokalny folder synchronizacji %1 już istnieje. Ustawiam go do synchronizacji.<br/><br/> - + Creating local sync folder %1... Tworzenie lokalnego folderu synchronizowanego %1... - + ok OK - + failed. Błąd. - + Could not create local folder %1 Nie udało się utworzyć lokalnego folderu %1 - - + + Failed to connect to %1 at %2:<br/>%3 Nie udało się połączyć do %1 w %2:<br/>%3 - + No remote folder specified! Nie określono folderu zdalnego! - + Error: %1 Błąd: %1 - + creating folder on ownCloud: %1 tworzę folder na ownCloud: %1 - + Remote folder %1 created successfully. Zdalny folder %1 został utworzony pomyślnie. - + The remote folder %1 already exists. Connecting it for syncing. Zdalny folder %1 już istnieje. Podłączam go do synchronizowania. - - + + The folder creation resulted in HTTP error code %1 Tworzenie folderu spowodowało kod błędu HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Nie udało się utworzyć zdalnego folderu ponieważ podane dane dostępowe są nieprawidłowe!<br/>Wróć i sprawdź podane dane dostępowe.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Tworzenie folderu zdalnego nie powiodło się. Prawdopodobnie dostarczone poświadczenia są błędne.</font><br/>Wróć i sprawdź poświadczenia.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Tworzenie folderu zdalnego %1 nie powiodło się z powodu błędu <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Połączenie synchronizacji z %1 do katalogu zdalnego %2 zostało utworzone. - + Successfully connected to %1! Udane połączenie z %1! - + Connection to %1 could not be established. Please check again. Połączenie z %1 nie może być nawiązane. Sprawdź ponownie. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Nie można usunąć i zarchiwizować folderu ponieważ znajdujący się w nim plik lub folder jest otwarty przez inny program. Proszę zamknąć folder lub plik albo kliknąć ponów lub anuluj setup. @@ -1250,22 +1255,27 @@ Niezalecane jest jego użycie. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synchronizacja anulowane przez użytkownika. - + No E-Tag received from server, check Proxy/Gateway Nie otrzymano E-Tag z serwera, sprawdź Proxy/Bramę - + We received a different E-Tag for resuming. Retrying next time. Otrzymaliśmy inny E-Tag wznowienia. Spróbuje ponownie następnym razem. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Nie można pobrać pliku %1 ze względu na konflikt nazwy pliku lokalnego! @@ -1273,7 +1283,7 @@ Niezalecane jest jego użycie. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Nie można pobrać pliku %1 ze względu na konflikt nazwy pliku lokalnego! diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 02debb480..4c597a2bc 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -600,7 +600,12 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Recebemos um e-Tag diferente para resumir. Tentando uma próxima vez. - + + Server returned wrong content-range + + + + Connection Timeout O tempo de ligação expirou @@ -1076,126 +1081,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Erro ao renomear a pasta - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Pasta de sincronização local %1 criada com sucesso!</b></font> - + Trying to connect to %1 at %2... A tentar ligação a %1 em %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Conectado com sucesso a %1: %2 versão %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Erro: Credenciais erradas. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> A pasta de sincronização locl %1 já existe, a configurar para sincronizar.<br/><br/> - + Creating local sync folder %1... A criar a pasta de sincronização local %1 ... - + ok ok - + failed. Falhou. - + Could not create local folder %1 Não foi possível criar a pasta local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Impossível conectar a %1 em %2:<br/>%3 - + No remote folder specified! Não foi indicada a pasta remota! - + Error: %1 Erro: %1 - + creating folder on ownCloud: %1 a criar a pasta na ownCloud: %1 - + Remote folder %1 created successfully. Criação da pasta remota %1 com sucesso! - + The remote folder %1 already exists. Connecting it for syncing. A pasta remota %1 já existe. Ligue-a para sincronizar. - - + + The folder creation resulted in HTTP error code %1 A criação da pasta resultou num erro HTTP com o código %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> A criação da pasta remota falhou, provavelmente por ter introduzido as credenciais erradas.<br/>Por favor, verifique as suas credenciais.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">A criação da pasta remota falhou, provavelmente por ter introduzido as credenciais erradas.</font><br/>Por favor, verifique as suas credenciais.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. A criação da pasta remota %1 falhou com o erro <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. A sincronização de %1 com a pasta remota %2 foi criada com sucesso. - + Successfully connected to %1! Conectado com sucesso a %1! - + Connection to %1 could not be established. Please check again. Não foi possível ligar a %1 . Por Favor verifique novamente. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Não é possível remover e fazer backup à pasta porque a pasta ou um ficheiro nesta está aberto em outro programa. Por favor, feche a pasta ou o ficheiro e clique novamente ou cancele a configuração. @@ -1247,22 +1252,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. A sincronização foi cancelada pelo utilizador. - + No E-Tag received from server, check Proxy/Gateway Nenhum E-Tag recebido do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tentando uma próxima vez. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! O ficheiro %1 não pode ser descarregado devido a conflito com um nome de ficheiro local! @@ -1270,7 +1280,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! O ficheiro %1 não pode ser descarregado devido a conflito com um nome de ficheiro local! diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index 11cfde759..61c05798b 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -601,7 +601,12 @@ Você tem certeza que quer executar esta operação? Recebemos um e-Tag diferente para resumir. Tente uma próxima vez. - + + Server returned wrong content-range + + + + Connection Timeout Conexão Finalizada @@ -1077,126 +1082,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Falha no nome da pasta - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Pasta de sincronização local %1 criada com sucesso!</b></font> - + Trying to connect to %1 at %2... Tentando conectar a %1 em %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Conectado com sucesso a %1: 2% versão %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Erro: Credenciais erradas. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Pasta local de sincronização %1 já existe, configurando para sincronização. <br/><br/> - + Creating local sync folder %1... Criando pasta local de sincronização %1... - + ok ok - + failed. falhou. - + Could not create local folder %1 Não foi possível criar pasta local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Falha ao conectar a %1 em %2:<br/>%3 - + No remote folder specified! Nenhuma pasta remota foi especificada! - + Error: %1 Erro: %1 - + creating folder on ownCloud: %1 criar pasta no ownCloud: %1 - + Remote folder %1 created successfully. Pasta remota %1 criada com sucesso. - + The remote folder %1 already exists. Connecting it for syncing. Pasta remota %1 já existe. Conectando para sincronizar. - - + + The folder creation resulted in HTTP error code %1 A criação da pasta resultou em um erro do código HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> A criação da pasta remota falhou porque as credenciais fornecidas estão erradas!<br/>Por favor, volte e verifique suas credenciais.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">A criação remota de pasta falhou provavelmente as causas da falha na criação da pasta remota são credenciais erradas</font><br/>Volte e verifique suas credenciais, por favor.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Falha na criação da pasta remota %1 com erro <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Uma conexão de sincronização de %1 para o diretório remoto %2 foi realizada. - + Successfully connected to %1! Conectado com sucesso a %1! - + Connection to %1 could not be established. Please check again. Conexão à %1 não foi estabelecida. Por favor, verifique novamente. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Não é possível remover e fazer backup da pasta porque a pasta ou um arquivo que está nesta pasta está aberto em outro programa. Por favor, feche a pasta ou arquivo e clique tentar novamente ou cancelar a operação. @@ -1248,22 +1253,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. A sincronização foi abortada pelo usuário. - + No E-Tag received from server, check Proxy/Gateway Nenhuma E-Tag recebida do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tente uma próxima vez. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! O arquivo %1 não pode ser baixado por causa de um confronto local no nome do arquivo! @@ -1271,7 +1281,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! O arquivo %1 não pode ser baixado por causa de um confronto local no nome do arquivo! diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index 04a55c584..b666cf3e4 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -183,13 +183,14 @@ %1 %2 (%3 of %4) %5 left at a rate of %6/s Example text: "uploading foobar.png (1MB of 2MB) time left 2 minutes at a rate of 24Kb/s" - + %1 %2 (%3 / %4) Осталось %5 на скорости %6/сек. %1 of %2, file %3 of %4 Total time left %5 - + %1 / %2, файл %3 / %4 +Оставшееся время: %5 @@ -507,7 +508,7 @@ Are you sure you want to perform this operation? The selected folder is a symbolic link. An already configured folder is contained in the folder this link is pointing to. - + Выбранная папка является симолической ссылкой. В папке, на которую идет ссылка, присутствует папка, которая синхронизируется. @@ -600,7 +601,12 @@ Are you sure you want to perform this operation? Мы получили другой E-Tag для возобновления. Повторите попытку позже. - + + Server returned wrong content-range + + + + Connection Timeout Тайм-аут подключения @@ -615,7 +621,7 @@ Are you sure you want to perform this operation? General Settings - + Основные настройки @@ -800,7 +806,7 @@ Checked items will also be deleted if they prevent a directory from being remove <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>Доступна новая версия приложения %1.</p><p><b>%2</b> доступна для загрузки. Установленная версия: %3.</p> @@ -956,7 +962,7 @@ for additional privileges during the process. New version %1 available. Please use the system's update tool to install it. - + Доступна новая версия %1. Чтобы его установить, пожалуйста, воспользуйтесь инструментом обновления системы. @@ -1078,128 +1084,128 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Ошибка переименования папки - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Локальная папка для синхронизации %1 успешно создана!</b></font> - + Trying to connect to %1 at %2... Попытка соединиться с %1 на %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Успешно подключено к %1: %2 версия %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Ошибка: Неверные учётные данные. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Локальная синхронизация папки %1 уже существует, ее настройки для синхронизации.<br/><br/> - + Creating local sync folder %1... Создание локальной папки синхронизации %1... - + ok ок - + failed. не удалось. - + Could not create local folder %1 Не удалось создать локальную папку синхронизации %1 - - + + Failed to connect to %1 at %2:<br/>%3 Не удалось подключиться к %1 в %2:<br/>%3 - + No remote folder specified! Не указана удалённая папка! - + Error: %1 Ошибка: %1 - + creating folder on ownCloud: %1 создание папки на ownCloud: %1 - + Remote folder %1 created successfully. Удалённая папка %1 успешно создана. - + The remote folder %1 already exists. Connecting it for syncing. Удалённая папка %1 уже существует. Подключение к ней для синхронизации. - - + + The folder creation resulted in HTTP error code %1 Создание папки завершилось с HTTP-ошибкой %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Не удалось создать удаленную папку — представленные параметры доступа неверны!<br/>Пожалуйста, вернитесь назад и проверьте параметры доступа.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Удаленное создание папки не удалось, вероятно, потому, что предоставленные учетные данные неверны.</font><br/>Пожалуйста, вернитесь назад и проверьте данные.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Удаленная папка %1 не создана из-за ошибки <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Установлено соединение синхронизации с %1 к удалённой директории %2. - + Successfully connected to %1! Соединение с %1 установлено успешно! - + Connection to %1 could not be established. Please check again. Подключение к %1 не воможно. Пожалуйста, проверьте еще раз. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. - + Невозможно стереть папку и создать её резервную копию так как папка или файл в ней открыты в другой программе. Пожалуйста, закройте папку или файл и нажмите "Повторите попытку", либо прервите мастер настройки. @@ -1249,32 +1255,37 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Синхронизация прервана пользователем. - + No E-Tag received from server, check Proxy/Gateway E-Tag от сервера на получен, проверьте сетевые настройки (настройки прокси, шлюз). - + We received a different E-Tag for resuming. Retrying next time. Мы получили другой E-Tag для возобновления. Повторите попытку позже. - - File %1 can not be downloaded because of a local file name clash! + + Server returned wrong content-range + + + File %1 can not be downloaded because of a local file name clash! + Файл %1 не может быть загружен из-за локальных конфликтов имен! + Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! - + Файл %1 не может быть загружен из-за локальных конфликтов имен! @@ -1282,7 +1293,7 @@ It is not advisable to use it. ; Restoration Failed: - + ; Восстановление не удалось: @@ -1295,7 +1306,7 @@ It is not advisable to use it. Attention, possible case sensitivity clash with %1 - + Внимание, возможен конфликт чувствительности к регистру с %1 @@ -1308,7 +1319,7 @@ It is not advisable to use it. Could not remove %1 because of a local file name clash - + Файл %1 не может быть удален из-за локальных конфликтов имен @@ -1321,7 +1332,7 @@ It is not advisable to use it. File %1 can not be renamed to %2 because of a local file name clash - + Файл %1 не может быть переименован в %2 из-за локальных конфликтов имен @@ -1347,7 +1358,7 @@ It is not advisable to use it. The file was renamed but is part of a read only share. The original file was restored. - Этот файл был переименован но является частью распространения только для чтения. Оригинальный файл был восстановлен. + Этот файл был переименован но является частью опубликованной папки с правами только для чтения. Оригинальный файл был восстановлен. @@ -1366,7 +1377,7 @@ It is not advisable to use it. The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + Этот файл был изменен локально, но является частью опубликованной папки с правами только для чтения. Он восстановлен и ваши изменения находятся в файле конфликтов. @@ -1374,7 +1385,7 @@ It is not advisable to use it. The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + Этот файл был изменен локально, но является частью опубликованной папки с правами только для чтения. Он восстановлен и ваши изменения находятся в файле конфликтов. @@ -1389,7 +1400,7 @@ It is not advisable to use it. The server did not acknowledge the last chunk. (No e-tag were present) - + Сервер не смог подтвердить последний отрезок данных. (Отсутствовали теги e-tag) @@ -1543,7 +1554,7 @@ It is not advisable to use it. Login Error - + Ошибка входа @@ -1561,12 +1572,12 @@ It is not advisable to use it. Reauthentication required - + Требуется повторная аутентификация Your session has expired. You need to re-login to continue to use the client. - + Срок действия вашей сессии истек. Нужно перезайти, чтобы продолжить пользоваться приложением. @@ -1880,7 +1891,7 @@ It is not advisable to use it. A network connection timeout happened. - + Произошёл таймаут соединения сети. @@ -1956,38 +1967,38 @@ It is not advisable to use it. Not allowed because you don't have permission to add sub-directories in that directory - + Недопустимо из-за отсутствия у вас разрешений на добавление подпапок в этой папке Not allowed because you don't have permission to add parent directory - + Недопустимо из-за отсутствия у вас разрешений на добавление родительской папки Not allowed because you don't have permission to add files in that directory - + Недопустимо из-за отсутствия у вас разрешений на добавление файлов в эту папку Not allowed to upload this file because it is read-only on the server, restoring - + Недопустимо отправить этот файл поскольку на севрере он помечен только для чтения, восстанавливаем Not allowed to remove, restoring - + Недопустимо удалить, восстанавливаем Move not allowed, item restored - + Перемещение недопустимо, элемент восстановлен Move not allowed because %1 is read-only - + Перемещение недопустимо, поскольку %1 помечен только для чтения @@ -2026,7 +2037,7 @@ It is not advisable to use it. Disconnected from server - + Отсоединен от сервера diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index b5988ddef..923c73727 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -600,7 +600,12 @@ Ste si istý, že chcete uskutočniť danú operáciu? Prijali sme iný E-Tag pre pokračovanie. Skúsim to neskôr znovu. - + + Server returned wrong content-range + + + + Connection Timeout Spojenie vypršalo @@ -1078,126 +1083,126 @@ Nie je vhodné ju používať. Mirall::OwncloudSetupWizard - + Folder rename failed Premenovanie priečinka zlyhalo - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Lokálny synchronizačný priečinok %1 bol úspešne vytvorený!</b></font> - + Trying to connect to %1 at %2... Pokúšam sa o pripojenie k %1 na %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Úspešne pripojené k %1: %2 verzie %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Chyba: Nesprávne údaje. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Lokálny synchronizačný priečinok %1 už existuje, prebieha jeho nastavovanie pre synchronizáciu.<br/><br/> - + Creating local sync folder %1... Vytváranie lokálneho synchronizačného priečinka %1 ... - + ok v poriadku - + failed. neúspešné. - + Could not create local folder %1 Nemožno vytvoriť lokálny priečinok %1 - - + + Failed to connect to %1 at %2:<br/>%3 Zlyhalo spojenie s %1 o %2:<br/>%3 - + No remote folder specified! Vzdialený priečinok nie je nastavený! - + Error: %1 Chyba: %1 - + creating folder on ownCloud: %1 vytváram priečinok v ownCloude: %1 - + Remote folder %1 created successfully. Vzdialený priečinok %1 bol úspešne vytvorený. - + The remote folder %1 already exists. Connecting it for syncing. Vzdialený priečinok %1 už existuje. Prebieha jeho pripájanie pre synchronizáciu. - - + + The folder creation resulted in HTTP error code %1 Vytváranie priečinka skončilo s HTTP chybovým kódom %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Proces vytvárania vzdialeného priečinka zlyhal, lebo použité prihlasovacie údaje nie sú správne!<br/>Prosím skontrolujte si vaše údaje a skúste to znovu.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Vytvorenie vzdialeného priečinka pravdepodobne zlyhalo kvôli nesprávnym prihlasovacím údajom.</font><br/>Prosím choďte späť a skontrolujte ich.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Vytvorenie vzdialeného priečinka %1 zlyhalo s chybou <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Synchronizačné spojenie z %1 do vzdialeného priečinka %2 bolo práve nastavené. - + Successfully connected to %1! Úspešne pripojené s %1! - + Connection to %1 could not be established. Please check again. Pripojenie k %1 nemohlo byť iniciované. Prosím skontrolujte to znovu. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Nemožno odstrániť a zazálohovať priečinok, pretože priečinok alebo súbor je otvorený v inom programe. Prosím zatvorte priečinok nebo súbor a skúste to znovu alebo zrušte akciu. @@ -1249,22 +1254,27 @@ Nie je vhodné ju používať. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synchronizácia zrušená používateľom. - + No E-Tag received from server, check Proxy/Gateway Zo servera nebol prijatý E-Tag, skontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Prijali sme iný E-Tag pre pokračovanie. Skúsim to neskôr znovu. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Súbor %1 nie je možné stiahnuť, pretože súbor s rovnakým menom už existuje! @@ -1272,7 +1282,7 @@ Nie je vhodné ju používať. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Súbor %1 nie je možné stiahnuť, pretože súbor s rovnakým menom už existuje! diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index b19178eff..50f346531 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -600,7 +600,12 @@ Ali sta prepričani, da želite izvesti to opravilo? Prejeta je različna oznaka za nadaljevanje opravila. Ponovni poskus bo izveden kasneje. - + + Server returned wrong content-range + + + + Connection Timeout Povezava časovno pretekla @@ -1078,126 +1083,126 @@ Uporaba ni priporočljiva. Mirall::OwncloudSetupWizard - + Folder rename failed Preimenovanje mape je spodletelo - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Krajevno usklajena mapa %1 je uspešno ustvarjena!</b></font> - + Trying to connect to %1 at %2... Poteka poskus povezave z %1 na %2 ... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Uspešno vzpostavljena povezava z %1: %2 različica %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Napaka: napačna poverila. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Krajevna mapa %1 že obstaja. Nastavljena bo za usklajevanje.<br/><br/> - + Creating local sync folder %1... Ustvarjanje mape za krajevno usklajevanje %1... - + ok je v redu - + failed. je spodletelo. - + Could not create local folder %1 Krajevne mape %1 ni mogoče ustvariti. - - + + Failed to connect to %1 at %2:<br/>%3 Povezava z %1 pri %2 je spodletela:<br/>%3 - + No remote folder specified! Ni navedenega oddaljenega strežnika! - + Error: %1 Napaka: %1 - + creating folder on ownCloud: %1 ustvarjanje mape v oblaku ownCloud: %1 - + Remote folder %1 created successfully. Oddaljena mapa %1 je uspešno ustvarjena. - + The remote folder %1 already exists. Connecting it for syncing. Oddaljena mapa %1 že obstaja. Vzpostavljena bo povezava za usklajevanje. - - + + The folder creation resulted in HTTP error code %1 Ustvarjanje mape je povzročilo napako HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Ustvarjanje mape na oddaljenem naslovu je spodletelo zaradi napačnih poveril. <br/>Vrnite se in preverite zahtevana gesla.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Ustvarjanje oddaljene mape je spodletelo. Najverjetneje je vzrok v neustreznih poverilih.</font><br/>Vrnite se na predhodno stran in jih preverite.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Ustvarjanje oddaljene mape %1 je spodletelo z napako <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Povezava za usklajevanje med %1 in oddaljeno mapo %2 je vzpostavljena. - + Successfully connected to %1! Povezava z %1 je uspešno vzpostavljena! - + Connection to %1 could not be established. Please check again. Povezave z %1 ni mogoče vzpostaviti. Preveriti je treba nastavitve. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Mape ni mogoče odstraniti niti ni mogoče ustvariti varnostne kopije, saj je mapa oziroma dokument v njej odprt v z drugim programom. Zaprite mapo/dokument ali prekinite namestitev. @@ -1249,22 +1254,27 @@ Uporaba ni priporočljiva. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Usklajevanje je bilo prekinjeno s strani uporabnika - + No E-Tag received from server, check Proxy/Gateway Ni prejete oznake s strežnika. Preveriti je treba podatke posredovalnega strežnika ali prehoda. - + We received a different E-Tag for resuming. Retrying next time. Prejeta je različna oznaka za nadaljevanje opravila. Ponovni poskus bo izveden kasneje. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Datoteke %1 ni možno prejeti, zaradi neskladja z imenom krajevne datoteke! @@ -1272,7 +1282,7 @@ Uporaba ni priporočljiva. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Datoteke %1 ni mogoče prejeti zaradi neskladja z imenom krajevne datoteke! diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index de5b24fdf..f2e770f42 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -601,7 +601,12 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Vi mottog en helt annan e-tag för att återuppta. Försök igen nästa gång. - + + Server returned wrong content-range + + + + Connection Timeout Anslutningen avbröts på grund av timeout @@ -1079,126 +1084,126 @@ Det är inte lämpligt använda den. Mirall::OwncloudSetupWizard - + Folder rename failed Omdöpning av mapp misslyckades - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Lokal synkmapp %1 skapad!</b></font> - + Trying to connect to %1 at %2... Försöker ansluta till %1 på %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Lyckades ansluta till %1: %2 version %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Fel: Ogiltiga inloggningsuppgifter. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Lokal synkmapp %1 finns redan, aktiverar den för synk.<br/><br/> - + Creating local sync folder %1... Skapar lokal synkmapp %1... - + ok ok - + failed. misslyckades. - + Could not create local folder %1 Kunde inte skapa lokal mapp %1 - - + + Failed to connect to %1 at %2:<br/>%3 Misslyckades att ansluta till %1 vid %2:<br/>%3 - + No remote folder specified! Ingen fjärrmapp specificerad! - + Error: %1 Fel: %1 - + creating folder on ownCloud: %1 skapar mapp på ownCloud: %1 - + Remote folder %1 created successfully. Fjärrmapp %1 har skapats. - + The remote folder %1 already exists. Connecting it for syncing. Fjärrmappen %1 finns redan. Ansluter den för synkronisering. - - + + The folder creation resulted in HTTP error code %1 Skapande av mapp resulterade i HTTP felkod %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Det gick inte att skapa mappen efter som du inte har tillräckliga rättigheter!<br/>Vänligen återvänd och kontrollera dina rättigheter. - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Misslyckades skapa fjärrmappen, troligen p.g.a felaktiga inloggningsuppgifter.</font><br/>Kontrollera dina inloggningsuppgifter.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Misslyckades skapa fjärrmapp %1 med fel <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. En synkroniseringsanslutning från %1 till fjärrmappen %2 har skapats. - + Successfully connected to %1! Ansluten till %1! - + Connection to %1 could not be established. Please check again. Anslutningen till %1 kunde inte etableras. Var god kontrollera och försök igen. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Kan inte ta bort och göra en säkerhetskopia av mappen på grund av att mappen eller en fil i den används av ett annat program. Vänligen stäng mappen eller filen och försök igen eller avbryt installationen. @@ -1250,22 +1255,27 @@ Det är inte lämpligt använda den. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synkningen avbröts av användare. - + No E-Tag received from server, check Proxy/Gateway Ingen E-Tag mottogs från servern, kontrollera proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Vi mottog en helt annan E-Tag för att återuppta. Försöker igen nästa gång. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Fil %1 kan inte laddas ner på grund av namnkonflikt med en lokal fil! @@ -1273,7 +1283,7 @@ Det är inte lämpligt använda den. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Fil %1 kan inte laddas ner på grund av namnkonflikt med en lokal fil! diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index ee605ec1a..248c401a8 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -598,7 +598,12 @@ Are you sure you want to perform this operation? - + + Server returned wrong content-range + + + + Connection Timeout @@ -1072,126 +1077,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>โฟลเดอร์ภายในเครื่องสำหรับผสานข้อมูล %1 ได้ถูกสร้างขึ้นเรียบร้อยแล้ว!</b></font> - + Trying to connect to %1 at %2... กำลังพยายามเชื่อมต่อไปที่ %1 ที่ %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">เชื่อมต่อกับ %1: %2 รุ่น %3 (%4) เสร็จเรียบร้อยแล้ว</font><br/><br/> - + Error: Wrong credentials. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> โฟลเดอร์สำหรับถ่ายโอนข้อมูลภายในเครื่อง %1 มีอยู่แล้ว กรุณาตั้งค่าเพื่อถ่ายข้อมูล <br/<br/> - + Creating local sync folder %1... กำลังสร้างโฟลเดอร์สำหรับโอนถ่ายข้อมูลภายในเครื่อง %1 ... - + ok ตกลง - + failed. ล้มเหลว - + Could not create local folder %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 ข้อผิดพลาด: %1 - + creating folder on ownCloud: %1 กำลังสร้างโฟลเดอร์ใหม่บน ownCloud: %1 - + Remote folder %1 created successfully. โฟลเดอร์ระยะไกล %1 ถูกสร้างเรียบร้อยแล้ว - + The remote folder %1 already exists. Connecting it for syncing. โฟลเดอร์ระยะไกล %1 มีอยู่แล้ว กำลังเชื่อมต่อเพื่อถ่ายโอนข้อมูล - - + + The folder creation resulted in HTTP error code %1 การสร้างโฟลเดอร์ดังกล่าวส่งผลให้เกิดรหัสข้อผิดพลาด HTTP error code %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">การสร้างโฟลเดอร์ระยะไกลล้มเหลว ซึ่งอาจมีสาเหตุมาจากการกรอกข้อมูลส่วนตัวเพื่อเข้าใช้งานไม่ถูกต้อง.</font><br/>กรุณาย้อนกลับไปแล้วตรวจสอบข้อมูลส่วนตัวของคุณอีกครั้ง.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. การสร้างโฟลเดอร์ระยะไกล %1 ล้มเหลวเนื่องข้อผิดพลาด <tt>%2</tt> - + A sync connection from %1 to remote directory %2 was set up. การเชื่อมต่อเผื่อผสานข้อมูลจาก %1 ไปที่ไดเร็กทอรี่ระยะไกล %2 ได้ถูกติดตั้งแล้ว - + Successfully connected to %1! เชื่อมต่อไปที่ %1! สำเร็จ - + Connection to %1 could not be established. Please check again. การเชื่อมต่อกับ %1 ไม่สามารถดำเนินการได้ กรุณาตรวจสอบอีกครั้ง - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1243,22 +1248,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1266,7 +1276,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index ef7bc37f2..e6d1f0d78 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -601,7 +601,12 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Devam etmek üzere farklı bir E-Etiket aldık. Sonraki işlemde yeniden denenecek. - + + Server returned wrong content-range + + + + Connection Timeout Bağlantı Zaman Aşımı @@ -1079,126 +1084,126 @@ Kullanmanız önerilmez. Mirall::OwncloudSetupWizard - + Folder rename failed Klasör adlandırma başarısız - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Yerel eşitleme klasörü %1 başarıyla oluşturuldu!</b></font> - + Trying to connect to %1 at %2... %2 üzerinde %1 bağlantısı deneniyor... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">%1 bağlantısı başarılı: %2 sürüm %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Hata: Hatalı kimlik bilgileri. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Yerel eşitleme klasörü %1 zaten mevcut, eşitlemek için ayarlanıyor.<br/><br/> - + Creating local sync folder %1... Yerel eşitleme klasörü %1 oluşturuluyor... - + ok tamam - + failed. başarısız. - + Could not create local folder %1 %1 yerel klasörü oluşturulamadı - - + + Failed to connect to %1 at %2:<br/>%3 %2 üzerinde %1 bağlantısı yapılamadı:<br/>%3 - + No remote folder specified! Uzak klasör belirtilmemiş! - + Error: %1 Hata: %1 - + creating folder on ownCloud: %1 ownCloud üzerinde klasör oluşturuluyor: %1 - + Remote folder %1 created successfully. %1 uzak klasörü başarıyla oluşturuldu. - + The remote folder %1 already exists. Connecting it for syncing. Uzak klasör %1 zaten mevcut. Eşitlemek için bağlanılıyor. - - + + The folder creation resulted in HTTP error code %1 Klasör oluşturma %1 HTTP hata kodu ile sonuçlandı - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Uzak klasör oluşturması, geçersiz kimlik bilgileri nedeniyle başarısız!<br/>Lütfen geri gidin ve bilgileri denetleyin.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Uzak klasör oluşturma muhtemelen hatalı kimlik bilgilerinden dolayı başarısız oldu.</font><br/>Lütfen geri gidip kimlik bilgilerini doğrulayın.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Uzak klasör %1 oluşturma işlemi <tt>%2</tt> hatası ile başarısız oldu. - + A sync connection from %1 to remote directory %2 was set up. %1 kaynaklı %2 uzak dizinine bir eşitleme bağlantısı ayarlandı. - + Successfully connected to %1! %1 bağlantısı başarılı! - + Connection to %1 could not be established. Please check again. %1 bağlantısı kurulamadı. Lütfen tekrar denetleyin. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Klasör veya içerisindeki bir dosya farklı bir program içerisinde açık olduğundan, kaldırma ve yedekleme işlemi yapılamıyor. Lütfen klasör veya dosyayı kapatıp yeniden deneyin veya kurulumu iptal edin. @@ -1250,22 +1255,27 @@ Kullanmanız önerilmez. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Eşitleme kullanıcı tarafından iptal edildi. - + No E-Tag received from server, check Proxy/Gateway Sunucudan E-Etiket alınamadı, Vekil sunucu/Ağ geçidini denetleyin. - + We received a different E-Tag for resuming. Retrying next time. Devam etmek üzere farklı bir E-Etiket aldık. Sonraki işlemde yeniden denenecek. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! %1 dosyası, yerel dosya adı çakışması nedeniyle indirilemiyor! @@ -1273,7 +1283,7 @@ Kullanmanız önerilmez. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! %1 dosyası, yerel dosya adı çakışması nedeniyle indirilemiyor! diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index c8ea419b9..546d1142a 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -600,7 +600,12 @@ Are you sure you want to perform this operation? - + + Server returned wrong content-range + + + + Connection Timeout @@ -1074,126 +1079,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Не вдалося перейменувати теку - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Локальна тека синхронізації %1 успішно створена!</b></font> - + Trying to connect to %1 at %2... Спроба підключення до %1 на %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Успішно підключено до %1: %2 версія %3 (%4)</font><br/><br/> - + Error: Wrong credentials. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Локальна тека синхронізації %1 вже існує, налаштування її для синхронізації.<br/><br/> - + Creating local sync folder %1... Створення локальної теки для синхронізації %1... - + ok ok - + failed. не вдалося. - + Could not create local folder %1 Не вдалося створити локальну теку $1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 Помилка: %1 - + creating folder on ownCloud: %1 створення теки на ownCloud: %1 - + Remote folder %1 created successfully. Віддалена тека %1 успішно створена. - + The remote folder %1 already exists. Connecting it for syncing. Віддалена тека %1 вже існує. Під'єднання для синхронізації. - - + + The folder creation resulted in HTTP error code %1 Створення теки завершилось HTTP помилкою %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Створити віддалену теку не вдалося через невірно вказані облікові дані.<br/>Поверніться назад та перевірте облікові дані.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Створити віддалену теку не вдалося, можливо, через невірно вказані облікові дані.</font><br/>Будь ласка, поверніться назад та перевірте облікові дані.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Не вдалося створити віддалену теку %1 через помилку <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. З'єднання для синхронізації %1 з віддаленою текою %2 було встановлено. - + Successfully connected to %1! Успішно під'єднано до %1! - + Connection to %1 could not be established. Please check again. Підключення до %1 встановити не вдалося. Будь ласка, перевірте ще раз. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1245,22 +1250,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1268,7 +1278,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 23030f37f..204d5f532 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -600,7 +600,12 @@ Are you sure you want to perform this operation? 我们收到了不同的恢复 E-Tag,将在下次尝试。 - + + Server returned wrong content-range + + + + Connection Timeout 连接超时 @@ -1076,126 +1081,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed 文件夹更名失败 - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>本地同步目录 %1 已成功创建</b></font> - + Trying to connect to %1 at %2... 尝试连接位于 %2 的 %1... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">成功连接到 %1:%2 版本 %3 (%4)</font><br/><br/> - + Error: Wrong credentials. 错误:密码错误。 - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> 本地同步文件夹 %1 已存在,将使用它来同步。<br/><br/> - + Creating local sync folder %1... 正在创建本地同步文件夹 %1... - + ok 成功 - + failed. 失败 - + Could not create local folder %1 不能创建本地文件夹 %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 错误:%1 - + creating folder on ownCloud: %1 在 ownCloud 创建文件夹:%1 - + Remote folder %1 created successfully. 远程目录%1成功创建。 - + The remote folder %1 already exists. Connecting it for syncing. 远程文件夹 %1 已存在。连接它以供同步。 - - + + The folder creation resulted in HTTP error code %1 创建文件夹出现 HTTP 错误代码 %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> 远程文件夹创建失败,因为提供的凭证有误!<br/>请返回并检查您的凭证。</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">远程文件夹创建失败,可能是由于提供的用户名密码不正确。</font><br/>请返回并检查它们。</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. 创建远程文件夹 %1 失败,错误为 <tt>%2</tt>。 - + A sync connection from %1 to remote directory %2 was set up. 已经设置了一个 %1 到远程文件夹 %2 的同步连接 - + Successfully connected to %1! 成功连接到了 %1! - + Connection to %1 could not be established. Please check again. 无法建立到 %1的链接,请稍后重试 - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1247,22 +1252,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. 同步被用户撤销。 - + No E-Tag received from server, check Proxy/Gateway 未能收到来自服务器的 E-Tag,请检查代理/网关 - + We received a different E-Tag for resuming. Retrying next time. 我们收到了不同的恢复 E-Tag,将在下次尝试。 - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1270,7 +1280,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index 48454e4b4..1608aef37 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -598,7 +598,12 @@ Are you sure you want to perform this operation? - + + Server returned wrong content-range + + + + Connection Timeout @@ -1072,126 +1077,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed 重新命名資料夾失敗 - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>本地同步資料夾 %1 建立成功!</b></font> - + Trying to connect to %1 at %2... 嘗試連線到%1從%2 - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">成功連線到 %1: %2 版本 %3 (%4)</font><br/><br/> - + Error: Wrong credentials. 錯誤: 錯誤的憑證。 - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> 本地同步資料夾%1已存在, 將其設置為同步<br/><br/> - + Creating local sync folder %1... 建立本地同步資料夾 %1 - + ok ok - + failed. 失敗 - + Could not create local folder %1 無法建立本地資料夾 %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 錯誤: %1 - + creating folder on ownCloud: %1 在 ownCloud 建立資料夾: %1 - + Remote folder %1 created successfully. 遠端資料夾%1建立成功! - + The remote folder %1 already exists. Connecting it for syncing. 遠端資料夾%1已存在,連線同步中 - - + + The folder creation resulted in HTTP error code %1 在HTTP建立資料夾失敗, error code %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> 由於帳號或密碼錯誤,遠端資料夾建立失敗<br/>請檢查您的帳號密碼。</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">遠端資料夾建立失敗,也許是因為所提供的帳號密碼錯誤</font><br/>請重新檢查您的帳號密碼</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. 建立遠端資料夾%1發生錯誤<tt>%2</tt>失敗 - + A sync connection from %1 to remote directory %2 was set up. 從%1到遠端資料夾%2的連線已建立 - + Successfully connected to %1! 成功連接到 %1 ! - + Connection to %1 could not be established. Please check again. 無法建立連線%1, 請重新檢查 - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1243,22 +1248,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1266,7 +1276,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! From 010ab7119ecc8f594c4d3822293a0384a2e0443f Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Sun, 20 Jul 2014 01:25:22 -0400 Subject: [PATCH 018/133] [tx-robot] updated from transifex --- translations/mirall_ru.ts | 16 +++++++-------- translations/mirall_zh_CN.ts | 40 ++++++++++++++++++------------------ 2 files changed, 27 insertions(+), 29 deletions(-) diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index b666cf3e4..d864db783 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -673,7 +673,7 @@ Are you sure you want to perform this operation? Ignored Files Editor - Редактор игнорирующихся файлов + Редактор игнорированных файлов @@ -869,7 +869,7 @@ Checked items will also be deleted if they prevent a directory from being remove Download Bandwidth - Пропускная способность загрузки + Скорость загрузки с сервера @@ -892,7 +892,7 @@ Checked items will also be deleted if they prevent a directory from being remove Upload Bandwidth - Пропускная способность закачки + Скорость закачки на сервер @@ -1503,7 +1503,7 @@ It is not advisable to use it. Activity - Действие + Действия @@ -1536,7 +1536,7 @@ It is not advisable to use it. Activity - Действие + Действия @@ -2107,7 +2107,7 @@ It is not advisable to use it. Quit %1 - Выход %1 + Закрыть %1 @@ -2411,9 +2411,7 @@ It is not advisable to use it. <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 - <p>Версия %2. Дополнительная информация: <a href="%3">%4</a></p><p><small>Создано Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>За основу взато ПО Mirall. Duncan Mac-Vicar P.</small></p>%7 - - + <p>Версия %2. Дополнительная информация: <a href="%3">%4</a></p><p><small>Авторы: Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Основано на Mirall, автор Duncan Mac-Vicar P.</small></p>%7 diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 204d5f532..0337b84e4 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -141,7 +141,7 @@ <p>Do you really want to reset folder <i>%1</i> and rebuild your client database?</p><p><b>Note:</b> This function is designed for maintenance purposes only. No files will be removed, but this can cause significant data traffic and take several minutes or hours to complete, depending on the size of the folder. Only use this option if advised by your administrator.</p> - + <p>您真希望重置文件夹 <i>%1</i> 并重新构建您的客户端数据库吗?</p><p><b>注意:</b>此功能设计仅用作维护操作。没有文件将被移除,但这将导致大量的数据传输。根据文件夹的大小,这一过程将持续几分钟到几小时。请仅在管理员指导的情况下使用此功能。</p> @@ -172,7 +172,7 @@ No account configured. - + 没有配置的帐号。 @@ -194,17 +194,17 @@ Total time left %5 Connected to <a href="%1">%2</a>. - + 已连接到<a href="%1">%2</a>。 Connected to <a href="%1">%2</a> as <i>%3</i>. - + 已作为 <i>%3</i> 连接到 <a href="%1">%2</a>。 Currently there is no storage usage information available. - + 目前没有储存使用量信息可用。 @@ -235,27 +235,27 @@ Total time left %5 No ownCloud account configured - + 没有已经配置的 ownCloud 帐号 The configured server for this client is too old - + 此客户端连接到的服务器版本过旧 Please update to the latest server and restart the client. - + 请更新到最新的服务器版本然后重启客户端。 Unable to connect to %1 - + 无法连接到 %1 The provided credentials are not correct - + 提供的证书不正确 @@ -620,7 +620,7 @@ Are you sure you want to perform this operation? General Settings - + 常规设置 @@ -805,7 +805,7 @@ Checked items will also be deleted if they prevent a directory from being remove <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>新版本的 %1 客户端可用。</p><p><b>%2</b> 已经开放下载。已安装的版本是 %3。</p> @@ -960,7 +960,7 @@ for additional privileges during the process. New version %1 available. Please use the system's update tool to install it. - + 新版本 %1 已经可用,使用系统更新工具升级。 @@ -1075,7 +1075,7 @@ It is not advisable to use it. Update %1 server - + 更新 %1 服务器 @@ -1238,7 +1238,7 @@ It is not advisable to use it. %1 folder <i>%1</i> is synced to local folder <i>%2</i> - + %1 文件夹 <i>%1</i> 已同步到本地文件夹 <i>%2</i> @@ -1440,7 +1440,7 @@ It is not advisable to use it. Action - + 动作 @@ -1887,7 +1887,7 @@ It is not advisable to use it. A network connection timeout happened. - + 网络连接超时。 @@ -2068,7 +2068,7 @@ It is not advisable to use it. Open folder '%1' - + 打开文件夹“%1” @@ -2078,7 +2078,7 @@ It is not advisable to use it. Calculating quota... - + 计算配额.... @@ -2531,7 +2531,7 @@ It is not advisable to use it. The server is currently unavailable - + 服务器当前不可用 From bca1ef42fc2f2757761961586e991300a7b3a51b Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Mon, 21 Jul 2014 01:25:21 -0400 Subject: [PATCH 019/133] [tx-robot] updated from transifex --- translations/mirall_de.ts | 4 ++-- translations/mirall_sl.ts | 4 ++-- translations/mirall_tr.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index 2ae152ec6..5ed983537 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -604,7 +604,7 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Server returned wrong content-range - + Server hat falschen Bereich für den Inhalt zurück gegeben @@ -1273,7 +1273,7 @@ Es ist nicht ratsam, diese zu benutzen. Server returned wrong content-range - + Server hat falschen Bereich für den Inhalt zurück gegeben diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 50f346531..50ca4499c 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -620,7 +620,7 @@ Ali sta prepričani, da želite izvesti to opravilo? General Settings - + Splošne nastavitve @@ -2141,7 +2141,7 @@ Te je treba uskladiti znova. Syncing %1 (%2 left) - + Usklajevanje %1 (%2 do konca) diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index e6d1f0d78..f1c3ea95f 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -603,7 +603,7 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Server returned wrong content-range - + Sunucu yanlış içerik aralığı döndürdü @@ -1272,7 +1272,7 @@ Kullanmanız önerilmez. Server returned wrong content-range - + Sunucu yanlış içerik aralığı döndürdü From 77e3480b2f0b0be7694e46ce67d611e290497340 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 21 Jul 2014 13:19:36 +0200 Subject: [PATCH 020/133] csync oC Util: set field flag correctly to avoid etag memleak. The fields varialbe should contain or'ed flags of the fields set in the csync_vio_file_stat_t struct. The problem was that the field for CSYNC_VIO_FILE_STAT_FIELDS_PERM was assigned rather than or'ed which makes the release function for the struct not freeing the etag memory => memleak. --- csync/src/csync_owncloud_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csync/src/csync_owncloud_util.c b/csync/src/csync_owncloud_util.c index 1a07a2854..af64ff6fc 100644 --- a/csync/src/csync_owncloud_util.c +++ b/csync/src/csync_owncloud_util.c @@ -318,7 +318,7 @@ void resourceToFileStat(csync_vio_file_stat_t *lfs, struct resource *res ) lfs->directDownloadCookies = c_strdup(res->directDownloadCookies); } if (strlen(res->remotePerm) > 0) { - lfs->fields = CSYNC_VIO_FILE_STAT_FIELDS_PERM; + lfs->fields |= CSYNC_VIO_FILE_STAT_FIELDS_PERM; strncpy(lfs->remotePerm, res->remotePerm, sizeof(lfs->remotePerm)); } } From 2e91ea80934d32ff121d9bf42d40b4903982a3ce Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Tue, 22 Jul 2014 01:25:22 -0400 Subject: [PATCH 021/133] [tx-robot] updated from transifex --- translations/mirall_cs.ts | 4 ++-- translations/mirall_ja.ts | 4 ++-- translations/mirall_nl.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 7c3d77c44..4b7b6187e 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -603,7 +603,7 @@ Opravdu chcete provést tuto akci? Server returned wrong content-range - + Server odpověděl chybným rozsahem obsahu @@ -1272,7 +1272,7 @@ Nedoporučuje se jí používat. Server returned wrong content-range - + Server odpověděl chybným rozsahem obsahu diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index e5eafdaee..43f4e59c0 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -603,7 +603,7 @@ Are you sure you want to perform this operation? Server returned wrong content-range - + サーバーが間違ったcontent-rangeを返しました @@ -1270,7 +1270,7 @@ It is not advisable to use it. Server returned wrong content-range - + サーバーが間違ったcontent-rangeを返しました diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index dbb770d6a..3dbf2b57f 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -603,7 +603,7 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Server returned wrong content-range - + Server retourneerde verkeerde content-bandbreedte @@ -1272,7 +1272,7 @@ We adviseren deze site niet te gebruiken. Server returned wrong content-range - + Server retourneerde verkeerde content-bandbreedte From 4dfe0fad7d73597db35008b50b4dd9fce2c69774 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 22 Jul 2014 10:44:05 +0200 Subject: [PATCH 022/133] tests: Big file chunking, change an existing big file to trigger update This failed on oC7 --- csync/tests/ownCloud/t6.pl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/csync/tests/ownCloud/t6.pl b/csync/tests/ownCloud/t6.pl index 6e8f31b09..b93de0f8c 100755 --- a/csync/tests/ownCloud/t6.pl +++ b/csync/tests/ownCloud/t6.pl @@ -63,6 +63,9 @@ sub chunkFileTest( $$ ) printInfo("Big file that needs chunking with default chunk size"); chunkFileTest( "BIG.file", 23251233 ); +# change the existing file again -> update +chunkFileTest( "BIG.file", 21762122 ); + # Set a custom chunk size in environment. my $ChunkSize = 1*1024*1024; $ENV{'OWNCLOUD_CHUNK_SIZE'} = $ChunkSize; From 0f4cf74ae0cf4448331e1bb681d73e62f82dd78d Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 22 Jul 2014 18:07:02 +0200 Subject: [PATCH 023/133] SyncEngine: allow to do a post upgrade script in debug mode. --- src/mirall/syncengine.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index 8d664f937..cad4ce7c3 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -39,6 +39,7 @@ #include #include #include +#include namespace Mirall { @@ -584,6 +585,15 @@ void SyncEngine::slotUpdateFinished(int updateResult) csync_set_module_property(_csync_ctx, "get_dav_session", &session); Q_ASSERT(session); + // post update phase script: allow to tweak stuff by a custom script in debug mode. +#ifndef NDEBUG + if( !qgetenv("OWNCLOUD_POST_UPDATE_SCRIPT").isEmpty() ) { + QString script = qgetenv("OWNCLOUD_POST_UPDATE_SCRIPT"); + + qDebug() << "OOO => Post Update Script: " << script; + QProcess::execute(script.toUtf8()); + } +#endif _propagator.reset(new OwncloudPropagator (session, _localPath, _remoteUrl, _remotePath, _journal, &_thread)); connect(_propagator.data(), SIGNAL(completed(SyncFileItem)), From 8d85516e726bbfc625fbb2cbeebcc0cf311fa28f Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 22 Jul 2014 18:07:34 +0200 Subject: [PATCH 024/133] tx.pl: Add a chunking update test, test for precondition failed. --- csync/tests/ownCloud/t6.pl | 47 +++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/csync/tests/ownCloud/t6.pl b/csync/tests/ownCloud/t6.pl index b93de0f8c..66019fecf 100755 --- a/csync/tests/ownCloud/t6.pl +++ b/csync/tests/ownCloud/t6.pl @@ -33,6 +33,34 @@ print "Hello, this is t6, a tester for csync with ownCloud.\n"; initTesting(); +sub createPostUpdateScript() +{ + my $srcFile = localDir()."BIG.file"; + my $cred = configValue("user") . ":" . configValue("passwd"); + my $cmd = "curl -T $srcFile -u $cred " . testDirUrl(); + my $script = "/tmp/post_update_script.sh"; + open SC, ">$script" || die("Can not create script file"); + print SC "#!/bin/bash\n"; + print SC "$cmd\n"; + close SC; + chmod 0755, $script; + + return $script; +} + +sub getETagFromJournal($) +{ + my ($num) = @_; + + my $sql = "sqlite3 " . localDir() . ".csync_journal.db \"SELECT md5 FROM metadata WHERE path='BIG.file';\""; + open(my $fh, '-|', $sql) or die $!; + my $etag = <$fh>; + close $fh; + print "$num etag: $etag"; + + return $etag; +} + sub chunkFileTest( $$ ) { my ($name, $size) = @_; @@ -63,10 +91,27 @@ sub chunkFileTest( $$ ) printInfo("Big file that needs chunking with default chunk size"); chunkFileTest( "BIG.file", 23251233 ); +printInfo("Update the existing file and trigger reupload"); # change the existing file again -> update chunkFileTest( "BIG.file", 21762122 ); - # Set a custom chunk size in environment. +printInfo("Cause a precondition failed error"); +# Now overwrite the existing file to change it +createLocalFile( localDir()."BIG.file", 21832199 ); +# and create a post update script +my $script = createPostUpdateScript(); +$ENV{'OWNCLOUD_POST_UPDATE_SCRIPT'} = $script; + +# Save the etag before the sync +my $firstETag = getETagFromJournal('First'); +csync(); # Sync, which ends in a precondition failed error +# get the etag again. It has to be unchanged because of the error. +my $secondETag = getETagFromJournal('Second'); +assert( $firstETag eq $secondETag, "Different ETags, no precondition error." ); + +unlink($script); + +# Set a custom chunk size in environment. my $ChunkSize = 1*1024*1024; $ENV{'OWNCLOUD_CHUNK_SIZE'} = $ChunkSize; From 6b7bd07c977373af91372e387ff917ff3dd02c3c Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Wed, 23 Jul 2014 01:25:21 -0400 Subject: [PATCH 025/133] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 94 +++++++++++++++++----------------- translations/mirall_cs.ts | 94 +++++++++++++++++----------------- translations/mirall_de.ts | 94 +++++++++++++++++----------------- translations/mirall_el.ts | 94 +++++++++++++++++----------------- translations/mirall_en.ts | 94 +++++++++++++++++----------------- translations/mirall_es.ts | 98 ++++++++++++++++++------------------ translations/mirall_es_AR.ts | 94 +++++++++++++++++----------------- translations/mirall_et.ts | 94 +++++++++++++++++----------------- translations/mirall_eu.ts | 94 +++++++++++++++++----------------- translations/mirall_fa.ts | 94 +++++++++++++++++----------------- translations/mirall_fi.ts | 94 +++++++++++++++++----------------- translations/mirall_fr.ts | 94 +++++++++++++++++----------------- translations/mirall_gl.ts | 94 +++++++++++++++++----------------- translations/mirall_hu.ts | 94 +++++++++++++++++----------------- translations/mirall_it.ts | 98 ++++++++++++++++++------------------ translations/mirall_ja.ts | 94 +++++++++++++++++----------------- translations/mirall_nl.ts | 94 +++++++++++++++++----------------- translations/mirall_pl.ts | 94 +++++++++++++++++----------------- translations/mirall_pt.ts | 94 +++++++++++++++++----------------- translations/mirall_pt_BR.ts | 98 ++++++++++++++++++------------------ translations/mirall_ru.ts | 94 +++++++++++++++++----------------- translations/mirall_sk.ts | 94 +++++++++++++++++----------------- translations/mirall_sl.ts | 94 +++++++++++++++++----------------- translations/mirall_sv.ts | 94 +++++++++++++++++----------------- translations/mirall_th.ts | 94 +++++++++++++++++----------------- translations/mirall_tr.ts | 94 +++++++++++++++++----------------- translations/mirall_uk.ts | 94 +++++++++++++++++----------------- translations/mirall_zh_CN.ts | 94 +++++++++++++++++----------------- translations/mirall_zh_TW.ts | 94 +++++++++++++++++----------------- 29 files changed, 1369 insertions(+), 1369 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index 1eefecb2d..004441c05 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -1784,229 +1784,229 @@ Proveu de sincronitzar-los de nou. Mirall::SyncEngine - + Success. Èxit. - + CSync failed to create a lock file. CSync ha fallat en crear un fitxer de bloqueig. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync ha fallat en carregar o crear el fitxer de revista. Assegureu-vos que yeniu permisos de lectura i escriptura en la carpeta local de sincronització. - + CSync failed to write the journal file. CSync ha fallat en escriure el fitxer de revista - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>No s'ha pogut carregar el connector %1 per csync.<br/>Comproveu la instal·lació!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'hora del sistema d'aquest client és diferent de l'hora del sistema del servidor. Useu un servei de sincronització de temps (NTP) en el servidor i al client perquè l'hora sigui la mateixa. - + CSync could not detect the filesystem type. CSync no ha pogut detectar el tipus de fitxers del sistema. - + CSync got an error while processing internal trees. CSync ha patit un error mentre processava els àrbres interns. - + CSync failed to reserve memory. CSync ha fallat en reservar memòria. - + CSync fatal parameter error. Error fatal de paràmetre en CSync. - + CSync processing step update failed. El pas d'actualització del processat de CSync ha fallat. - + CSync processing step reconcile failed. El pas de reconciliació del processat de CSync ha fallat. - + CSync processing step propagate failed. El pas de propagació del processat de CSync ha fallat. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>La carpeta destí no existeix.</p><p>Comproveu la configuració de sincronització</p> - + A remote file can not be written. Please check the remote access. No es pot escriure el fitxer remot. Reviseu l'acces remot. - + The local filesystem can not be written. Please check permissions. No es pot escriure al sistema de fitxers local. Reviseu els permisos. - + CSync failed to connect through a proxy. CSync ha fallat en connectar a través d'un proxy. - + CSync could not authenticate at the proxy. CSync no s'ha pogut acreditar amb el proxy. - + CSync failed to lookup proxy or server. CSync ha fallat en cercar el proxy o el servidor. - + CSync failed to authenticate at the %1 server. L'autenticació de CSync ha fallat al servidor %1. - + CSync failed to connect to the network. CSync ha fallat en connectar-se a la xarxa. - + A network connection timeout happened. Temps excedit en la connexió. - + A HTTP transmission error happened. S'ha produït un error en la transmissió HTTP. - + CSync failed due to not handled permission deniend. CSync ha fallat en no implementar el permís denegat. - + CSync failed to access CSync ha fallat en accedir - + CSync tried to create a directory that already exists. CSync ha intentat crear una carpeta que ja existeix. - - + + CSync: No space on %1 server available. CSync: No hi ha espai disponible al servidor %1. - + CSync unspecified error. Error inespecífic de CSync. - + Aborted by the user Aturat per l'usuari - + An internal error number %1 happened. S'ha produït l'error intern número %1. - + The item is not synced because of previous errors: %1 L'element no s'ha sincronitzat degut a errors previs: %1 - + Symbolic links are not supported in syncing. La sincronització d'enllaços simbòlics no està implementada. - + File is listed on the ignore list. El fitxer està a la llista d'ignorats. - + File contains invalid characters that can not be synced cross platform. El fitxer conté caràcters no vàlids que no es poden sincronitzar entre plataformes. - + Unable to initialize a sync journal. No es pot inicialitzar un periòdic de sincronització - + Cannot open the sync journal No es pot obrir el diari de sincronització - + Not allowed because you don't have permission to add sub-directories in that directory No es permet perquè no teniu permisos per afegir subcarpetes en aquesta carpeta - + Not allowed because you don't have permission to add parent directory No es permet perquè no teniu permisos per afegir una carpeta inferior - + Not allowed because you don't have permission to add files in that directory No es permet perquè no teniu permisos per afegir fitxers en aquesta carpeta - + Not allowed to upload this file because it is read-only on the server, restoring No es permet pujar aquest fitxer perquè només és de lectura en el servidor, es restaura - - + + Not allowed to remove, restoring No es permet l'eliminació, es restaura - + Move not allowed, item restored No es permet moure'l, l'element es restaura - + Move not allowed because %1 is read-only No es permet moure perquè %1 només és de lectura - + the destination el destí - + the source l'origen diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 4b7b6187e..0bd6e5e35 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -1785,229 +1785,229 @@ Zkuste provést novou synchronizaci. Mirall::SyncEngine - + Success. Úspěch. - + CSync failed to create a lock file. CSync nemůže vytvořit soubor zámku. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync se nepodařilo načíst či vytvořit soubor žurnálu. Ujistěte se, že máte oprávnění pro čtení a zápis v místní synchronizované složce. - + CSync failed to write the journal file. CSync se nepodařilo zapsat do souboru žurnálu. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Plugin %1 pro csync nelze načíst.<br/>Zkontrolujte prosím instalaci!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systémový čas na klientovi je rozdílný od systémového času serveru. Použijte, prosím, službu synchronizace času (NTP) na serveru i klientovi, aby byl čas na obou strojích stejný. - + CSync could not detect the filesystem type. CSync nemohl detekovat typ souborového systému. - + CSync got an error while processing internal trees. CSync obdrželo chybu při zpracování vnitřních struktur. - + CSync failed to reserve memory. CSync se nezdařilo rezervovat paměť. - + CSync fatal parameter error. CSync: kritická chyba parametrů. - + CSync processing step update failed. CSync se nezdařilo zpracovat krok aktualizace. - + CSync processing step reconcile failed. CSync se nezdařilo zpracovat krok sladění. - + CSync processing step propagate failed. CSync se nezdařilo zpracovat krok propagace. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Cílový adresář neexistuje.</p><p>Zkontrolujte, prosím, nastavení synchronizace.</p> - + A remote file can not be written. Please check the remote access. Vzdálený soubor nelze zapsat. Ověřte prosím vzdálený přístup. - + The local filesystem can not be written. Please check permissions. Do místního souborového systému nelze zapisovat. Ověřte, prosím, přístupová práva. - + CSync failed to connect through a proxy. CSync se nezdařilo připojit skrze proxy. - + CSync could not authenticate at the proxy. CSync se nemohlo přihlásit k proxy. - + CSync failed to lookup proxy or server. CSync se nezdařilo najít proxy server nebo cílový server. - + CSync failed to authenticate at the %1 server. CSync se nezdařilo přihlásit k serveru %1. - + CSync failed to connect to the network. CSync se nezdařilo připojit k síti. - + A network connection timeout happened. Došlo k vypršení časového limitu síťového spojení. - + A HTTP transmission error happened. Nastala chyba HTTP přenosu. - + CSync failed due to not handled permission deniend. CSync selhalo z důvodu nezpracovaného odmítnutí práv. - + CSync failed to access CSync se nezdařil přístup - + CSync tried to create a directory that already exists. CSync se pokusilo vytvořit adresář, který již existuje. - - + + CSync: No space on %1 server available. CSync: Nedostatek volného místa na serveru %1. - + CSync unspecified error. Nespecifikovaná chyba CSync. - + Aborted by the user Zrušeno uživatelem - + An internal error number %1 happened. Nastala vnitřní chyba číslo %1. - + The item is not synced because of previous errors: %1 Položka nebyla synchronizována kvůli předchozí chybě: %1 - + Symbolic links are not supported in syncing. Symbolické odkazy nejsou při synchronizaci podporovány. - + File is listed on the ignore list. Soubor se nachází na seznamu ignorovaných. - + File contains invalid characters that can not be synced cross platform. Soubor obsahuje alespoň jeden neplatný znak, který narušuje synchronizaci v prostředí více platforem. - + Unable to initialize a sync journal. Nemohu inicializovat synchronizační žurnál. - + Cannot open the sync journal Nelze otevřít synchronizační žurnál - + Not allowed because you don't have permission to add sub-directories in that directory Není povoleno, protože nemáte oprávnění vytvářet podadresáře v tomto adresáři. - + Not allowed because you don't have permission to add parent directory Není povoleno, protože nemáte oprávnění vytvořit rodičovský adresář. - + Not allowed because you don't have permission to add files in that directory Není povoleno, protože nemáte oprávnění přidávat soubory do tohoto adresáře - + Not allowed to upload this file because it is read-only on the server, restoring Není povoleno nahrát tento soubor, protože je na serveru uložen pouze pro čtení, obnovuji - - + + Not allowed to remove, restoring Odstranění není povoleno, obnovuji - + Move not allowed, item restored Přesun není povolen, položka obnovena - + Move not allowed because %1 is read-only Přesun není povolen, protože %1 je pouze pro čtení - + the destination cílové umístění - + the source zdroj diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index 5ed983537..f681abc8c 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -1785,229 +1785,229 @@ Versuchen Sie diese nochmals zu synchronisieren. Mirall::SyncEngine - + Success. Erfolgreich - + CSync failed to create a lock file. CSync konnte keine lock-Datei erstellen. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync konnte den Synchronisationsbericht nicht laden oder erstellen. Stellen Sie bitte sicher, dass Sie Lese- und Schreibrechte auf das lokale Synchronisationsverzeichnis haben. - + CSync failed to write the journal file. CSync konnte den Synchronisationsbericht nicht schreiben. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Das %1-Plugin für csync konnte nicht geladen werden.<br/>Bitte überprüfen Sie die Installation!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Die Uhrzeit auf diesem Computer und dem Server sind verschieden. Bitte verwenden Sie ein Zeitsynchronisationsprotokolls (NTP) auf Ihrem Server und Klienten, damit die gleiche Uhrzeit verwendet wird. - + CSync could not detect the filesystem type. CSync konnte den Typ des Dateisystem nicht feststellen. - + CSync got an error while processing internal trees. CSync hatte einen Fehler bei der Verarbeitung von internen Strukturen. - + CSync failed to reserve memory. CSync konnte keinen Speicher reservieren. - + CSync fatal parameter error. CSync hat einen schwerwiegender Parameterfehler festgestellt. - + CSync processing step update failed. CSync Verarbeitungsschritt "Aktualisierung" fehlgeschlagen. - + CSync processing step reconcile failed. CSync Verarbeitungsschritt "Abgleich" fehlgeschlagen. - + CSync processing step propagate failed. CSync Verarbeitungsschritt "Übertragung" fehlgeschlagen. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Das Zielverzeichnis existiert nicht.</p><p>Bitte prüfen Sie die Synchronisationseinstellungen.</p> - + A remote file can not be written. Please check the remote access. Eine Remote-Datei konnte nicht geschrieben werden. Bitte den Remote-Zugriff überprüfen. - + The local filesystem can not be written. Please check permissions. Kann auf dem lokalen Dateisystem nicht schreiben. Bitte Berechtigungen überprüfen. - + CSync failed to connect through a proxy. CSync konnte sich nicht über einen Proxy verbinden. - + CSync could not authenticate at the proxy. CSync konnte sich nicht am Proxy authentifizieren. - + CSync failed to lookup proxy or server. CSync konnte den Proxy oder Server nicht auflösen. - + CSync failed to authenticate at the %1 server. CSync konnte sich nicht am Server %1 authentifizieren. - + CSync failed to connect to the network. CSync konnte sich nicht mit dem Netzwerk verbinden. - + A network connection timeout happened. Eine Zeitüberschreitung der Netzwerkverbindung ist aufgetreten. - + A HTTP transmission error happened. Es hat sich ein HTTP-Übertragungsfehler ereignet. - + CSync failed due to not handled permission deniend. CSync wegen fehlender Berechtigung fehlgeschlagen. - + CSync failed to access CSync-Zugriff fehlgeschlagen - + CSync tried to create a directory that already exists. CSync versuchte, ein Verzeichnis zu erstellen, welches bereits existiert. - - + + CSync: No space on %1 server available. CSync: Kein Platz auf Server %1 frei. - + CSync unspecified error. CSync unbekannter Fehler. - + Aborted by the user Abbruch durch den Benutzer - + An internal error number %1 happened. Interne Fehlernummer %1 aufgetreten. - + The item is not synced because of previous errors: %1 Das Element ist aufgrund vorheriger Fehler nicht synchronisiert: %1 - + Symbolic links are not supported in syncing. Symbolische Verknüpfungen werden bei der Synchronisation nicht unterstützt. - + File is listed on the ignore list. Die Datei ist in der Ignorierliste geführt. - + File contains invalid characters that can not be synced cross platform. Die Datei beinhaltet ungültige Zeichen und kann nicht plattformübergreifend synchronisiert werden. - + Unable to initialize a sync journal. Synchronisationsbericht konnte nicht initialisiert werden. - + Cannot open the sync journal Synchronisationsbericht kann nicht geöffnet werden - + Not allowed because you don't have permission to add sub-directories in that directory Nicht erlaubt, da Sie keine Rechte zur Erstellung von Unterordnern haben - + Not allowed because you don't have permission to add parent directory Nicht erlaubt, da Sie keine Rechte zur Erstellung von Hauptordnern haben - + Not allowed because you don't have permission to add files in that directory Nicht erlaubt, da Sie keine Rechte zum Hinzufügen von Dateien in diesen Ordner haben - + Not allowed to upload this file because it is read-only on the server, restoring Das Hochladen dieser Datei ist nicht erlaubt, da die Datei auf dem Server schreibgeschützt ist, Wiederherstellung - - + + Not allowed to remove, restoring Löschen nicht erlaubt, Wiederherstellung - + Move not allowed, item restored Verschieben nicht erlaubt, Element wiederhergestellt - + Move not allowed because %1 is read-only Verschieben nicht erlaubt, da %1 schreibgeschützt ist - + the destination Das Ziel - + the source Die Quelle diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 47dda3afe..85f63b26f 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -1785,229 +1785,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Επιτυχία. - + CSync failed to create a lock file. Το CSync απέτυχε να δημιουργήσει ένα αρχείο κλειδώματος. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Το CSync απέτυχε να φορτώσει ή να δημιουργήσει το αρχείο καταλόγου. Βεβαιωθείτε ότι έχετε άδειες ανάγνωσης και εγγραφής στον τοπικό κατάλογο συγχρονισμού. - + CSync failed to write the journal file. Το CSync απέτυχε να εγγράψει στο αρχείο καταλόγου. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Το πρόσθετο του %1 για το csync δεν μπόρεσε να φορτωθεί.<br/>Παρακαλούμε επαληθεύσετε την εγκατάσταση!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Η ώρα του συστήματος στον τοπικό υπολογιστή διαφέρει από την ώρα του συστήματος στο διακομιστή. Παρακαλούμε χρησιμοποιήστε μια υπηρεσία χρονικού συγχρονισμού (NTP) στο διακομιστή και στον τοπικό υπολογιστή ώστε η ώρα να παραμένει η ίδια. - + CSync could not detect the filesystem type. To CSync δεν μπορούσε να ανιχνεύσει τον τύπο του συστήματος αρχείων. - + CSync got an error while processing internal trees. Το CSync έλαβε κάποιο μήνυμα λάθους κατά την επεξεργασία της εσωτερικής διεργασίας. - + CSync failed to reserve memory. Το CSync απέτυχε να δεσμεύσει μνήμη. - + CSync fatal parameter error. Μοιραίο σφάλμα παράμετρου CSync. - + CSync processing step update failed. Η ενημέρωση του βήματος επεξεργασίας του CSync απέτυχε. - + CSync processing step reconcile failed. CSync στάδιο επεξεργασίας συμφιλίωση απέτυχε. - + CSync processing step propagate failed. Η μετάδοση του βήματος επεξεργασίας του CSync απέτυχε. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Ο κατάλογος προορισμού δεν υπάρχει.</p><p>Παρακαλώ ελέγξτε τις ρυθμίσεις συγχρονισμού.</p> - + A remote file can not be written. Please check the remote access. Ένα απομακρυσμένο αρχείο δεν μπορεί να εγγραφεί. Παρακαλούμε ελέγξτε την απομακρυσμένη πρόσβαση. - + The local filesystem can not be written. Please check permissions. Το τοπικό σύστημα αρχείων δεν είναι εγγράψιμο. Παρακαλούμε ελέγξτε τα δικαιώματα. - + CSync failed to connect through a proxy. Το CSync απέτυχε να συνδεθεί μέσω ενός διαμεσολαβητή. - + CSync could not authenticate at the proxy. Το CSync δεν μπόρεσε να πιστοποιηθεί στο διακομιστή μεσολάβησης. - + CSync failed to lookup proxy or server. Το CSync απέτυχε να διερευνήσει το διαμεσολαβητή ή το διακομιστή. - + CSync failed to authenticate at the %1 server. Το CSync απέτυχε να πιστοποιηθεί στο διακομιστή 1%. - + CSync failed to connect to the network. Το CSync απέτυχε να συνδεθεί με το δίκτυο. - + A network connection timeout happened. Διακοπή σύνδεσης δικτύου. - + A HTTP transmission error happened. Ένα σφάλμα μετάδοσης HTTP συνέβη. - + CSync failed due to not handled permission deniend. Το CSync απέτυχε λόγω απόρριψης μη-διαχειρίσιμων δικαιωμάτων. - + CSync failed to access Το CSync απέτυχε να αποκτήσει πρόσβαση - + CSync tried to create a directory that already exists. Το CSync προσπάθησε να δημιουργήσει ένα κατάλογο που υπάρχει ήδη. - - + + CSync: No space on %1 server available. CSync: Δεν υπάρχει διαθέσιμος χώρος στο διακομιστή 1%. - + CSync unspecified error. Άγνωστο σφάλμα CSync. - + Aborted by the user Ματαιώθηκε από το χρήστη - + An internal error number %1 happened. Συνέβη εσωτερικό σφάλμα με αριθμό %1. - + The item is not synced because of previous errors: %1 Το αντικείμενο δεν είναι συγχρονισμένο λόγω προηγούμενων σφαλμάτων: %1 - + Symbolic links are not supported in syncing. Οι συμβολικού σύνδεσμοι δεν υποστηρίζονται για το συγχρονισμό. - + File is listed on the ignore list. Το αρχείο περιέχεται στη λίστα αρχείων προς αγνόηση. - + File contains invalid characters that can not be synced cross platform. Το αρχείο περιέχει άκυρους χαρακτήρες που δεν μπορούν να συγχρονιστούν σε όλα τα συστήματα. - + Unable to initialize a sync journal. Αδυναμία προετοιμασίας αρχείου συγχρονισμού. - + Cannot open the sync journal Αδυναμία ανοίγματος του αρχείου συγχρονισμού - + Not allowed because you don't have permission to add sub-directories in that directory Δεν επιτρέπεται επειδή δεν έχετε δικαιώματα να προσθέσετε υπο-καταλόγους σε αυτό τον κατάλογο - + Not allowed because you don't have permission to add parent directory Δεν επιτρέπεται επειδή δεν έχετε δικαιώματα να προσθέσετε στο γονεϊκό κατάλογο - + Not allowed because you don't have permission to add files in that directory Δεν επιτρέπεται επειδή δεν έχεται δικαιώματα να προσθέσετε αρχεία σε αυτόν τον κατάλογο - + Not allowed to upload this file because it is read-only on the server, restoring Δεν επιτρέπεται να μεταφορτώσετε αυτό το αρχείο επειδή είναι μόνο για ανάγνωση στο διακομιστή, αποκατάσταση σε εξέλιξη - - + + Not allowed to remove, restoring Δεν επιτρέπεται η αφαίρεση, αποκατάσταση σε εξέλιξη - + Move not allowed, item restored Η μετακίνηση δεν επιτρέπεται, το αντικείμενο αποκαταστάθηκε - + Move not allowed because %1 is read-only Η μετακίνηση δεν επιτρέπεται επειδή το %1 είναι μόνο για ανάγνωση - + the destination ο προορισμός - + the source η προέλευση diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index e8abd573a..efcd5d9ae 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -1776,229 +1776,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. - + CSync failed to create a lock file. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. - + CSync could not detect the filesystem type. - + CSync got an error while processing internal trees. - + CSync failed to reserve memory. - + CSync fatal parameter error. - + CSync processing step update failed. - + CSync processing step reconcile failed. - + CSync processing step propagate failed. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. - + The local filesystem can not be written. Please check permissions. - + CSync failed to connect through a proxy. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. - + CSync failed to authenticate at the %1 server. - + CSync failed to connect to the network. - + A network connection timeout happened. - + A HTTP transmission error happened. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. - - + + CSync: No space on %1 server available. - + CSync unspecified error. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 909bfe1cb..3543fa406 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -603,7 +603,7 @@ Está seguro de que desea realizar esta operación? Server returned wrong content-range - + El servidor devolvió un content-range erróneo @@ -1272,7 +1272,7 @@ No se recomienda usarlo. Server returned wrong content-range - + El servidor devolvió un content-range erróneo @@ -1784,229 +1784,229 @@ Intente sincronizar los archivos nuevamente. Mirall::SyncEngine - + Success. Completado con éxito. - + CSync failed to create a lock file. CSync no pudo crear un fichero de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync falló al cargar o crear el archivo de diario. Asegúrese de tener permisos de lectura y escritura en el directorio local de sincronización. - + CSync failed to write the journal file. CSync falló al escribir el archivo de diario. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>El %1 complemente para csync no se ha podido cargar.<br/>Por favor, verifique la instalación</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. La hora del sistema en este cliente es diferente de la hora del sistema en el servidor. Por favor use un servicio de sincronización de hora (NTP) en los servidores y clientes para que las horas se mantengan idénticas. - + CSync could not detect the filesystem type. CSync no pudo detectar el tipo de sistema de archivos. - + CSync got an error while processing internal trees. CSync encontró un error mientras procesaba los árboles de datos internos. - + CSync failed to reserve memory. Fallo al reservar memoria para Csync - + CSync fatal parameter error. Error fatal de parámetro en CSync. - + CSync processing step update failed. El proceso de actualización de CSync ha fallado. - + CSync processing step reconcile failed. Falló el proceso de composición de CSync - + CSync processing step propagate failed. Error en el proceso de propagación de CSync - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>El directorio de destino no existe.</p><p>Por favor verifique la configuración de sincronización.</p> - + A remote file can not be written. Please check the remote access. No se pudo escribir en un archivo remoto. Por favor, compruebe el acceso remoto. - + The local filesystem can not be written. Please check permissions. No se puede escribir en el sistema de archivos local. Por favor, compruebe los permisos. - + CSync failed to connect through a proxy. CSync falló al realizar la conexión a través del proxy - + CSync could not authenticate at the proxy. CSync no pudo autenticar el proxy. - + CSync failed to lookup proxy or server. CSync falló al realizar la búsqueda del proxy - + CSync failed to authenticate at the %1 server. CSync: Falló la autenticación con el servidor %1. - + CSync failed to connect to the network. CSync: Falló la conexión con la red. - + A network connection timeout happened. Se sobrepasó el tiempo de espera de la conexión de red. - + A HTTP transmission error happened. Ha ocurrido un error de transmisión HTTP. - + CSync failed due to not handled permission deniend. CSync: Falló debido a un permiso denegado. - + CSync failed to access Error al acceder CSync - + CSync tried to create a directory that already exists. CSync trató de crear un directorio que ya existe. - - + + CSync: No space on %1 server available. CSync: No queda espacio disponible en el servidor %1. - + CSync unspecified error. Error no especificado de CSync - + Aborted by the user Interrumpido por el usuario - + An internal error number %1 happened. Ha ocurrido un error interno número %1. - + The item is not synced because of previous errors: %1 El elemento no está sincronizado por errores previos: %1 - + Symbolic links are not supported in syncing. Los enlaces simbolicos no estan sopertados. - + File is listed on the ignore list. El fichero está en la lista de ignorados - + File contains invalid characters that can not be synced cross platform. El fichero contiene caracteres inválidos que no pueden ser sincronizados con la plataforma. - + Unable to initialize a sync journal. No se pudo inicializar un registro (journal) de sincronización. - + Cannot open the sync journal No es posible abrir el diario de sincronización - + Not allowed because you don't have permission to add sub-directories in that directory No está permitido, porque no tiene permisos para añadir subcarpetas en este directorio. - + Not allowed because you don't have permission to add parent directory No está permitido porque no tiene permisos para añadir un directorio - + Not allowed because you don't have permission to add files in that directory No está permitido, porque no tiene permisos para crear archivos en este directorio - + Not allowed to upload this file because it is read-only on the server, restoring No está permitido subir este archivo porque es de solo lectura en el servidor, restaurando. - - + + Not allowed to remove, restoring No está permitido borrar, restaurando. - + Move not allowed, item restored No está permitido mover, elemento restaurado. - + Move not allowed because %1 is read-only No está permitido mover, porque %1 es solo lectura. - + the destination destino - + the source origen diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index 377a5e671..ff5cab196 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -1779,229 +1779,229 @@ Intente sincronizar estos nuevamente. Mirall::SyncEngine - + Success. Éxito. - + CSync failed to create a lock file. Se registró un error en CSync cuando se intentaba crear un archivo de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>No fue posible cargar el plugin de %1 para csync.<br/>Por favor, verificá la instalación</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. La hora del sistema en este cliente es diferente de la hora del sistema en el servidor. Por favor, usá un servicio de sincronización (NTP) de hora en las máquinas cliente y servidor para que las horas se mantengan iguales. - + CSync could not detect the filesystem type. CSync no pudo detectar el tipo de sistema de archivos. - + CSync got an error while processing internal trees. CSync tuvo un error mientras procesaba los árboles de datos internos. - + CSync failed to reserve memory. CSync falló al reservar memoria. - + CSync fatal parameter error. Error fatal de parámetro en CSync. - + CSync processing step update failed. Falló el proceso de actualización de CSync. - + CSync processing step reconcile failed. Falló el proceso de composición de CSync - + CSync processing step propagate failed. Proceso de propagación de CSync falló - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>El directorio de destino %1 no existe.</p> Por favor, comprobá la configuración de sincronización. </p> - + A remote file can not be written. Please check the remote access. No se puede escribir un archivo remoto. Revisá el acceso remoto. - + The local filesystem can not be written. Please check permissions. No se puede escribir en el sistema de archivos local. Revisá los permisos. - + CSync failed to connect through a proxy. CSync falló al tratar de conectarse a través de un proxy - + CSync could not authenticate at the proxy. CSync no pudo autenticar el proxy. - + CSync failed to lookup proxy or server. CSync falló al realizar la busqueda del proxy. - + CSync failed to authenticate at the %1 server. CSync: fallo al autenticarse en el servidor %1. - + CSync failed to connect to the network. CSync: fallo al conectarse a la red - + A network connection timeout happened. - + A HTTP transmission error happened. Ha ocurrido un error de transmisión HTTP. - + CSync failed due to not handled permission deniend. CSync: Falló debido a un permiso denegado. - + CSync failed to access CSync falló al acceder - + CSync tried to create a directory that already exists. Csync trató de crear un directorio que ya existía. - - + + CSync: No space on %1 server available. CSync: No hay más espacio disponible en el servidor %1. - + CSync unspecified error. Error no especificado de CSync - + Aborted by the user Interrumpido por el usuario - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. Los vínculos simbólicos no está soportados al sincronizar. - + File is listed on the ignore list. El archivo está en la lista de ignorados. - + File contains invalid characters that can not be synced cross platform. El archivo contiene caracteres inválidos que no pueden ser sincronizados entre plataforma. - + Unable to initialize a sync journal. Imposible inicializar un diario de sincronización. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 6c59e89a4..55cd7b341 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -1784,229 +1784,229 @@ Proovi neid uuesti sünkroniseerida. Mirall::SyncEngine - + Success. Korras. - + CSync failed to create a lock file. CSync lukustusfaili loomine ebaõnnestus. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync ei suutnud avada või luua registri faili. Tee kindlaks et sul on õigus lugeda ja kirjutada kohalikus sünkrooniseerimise kataloogis - + CSync failed to write the journal file. CSync ei suutnud luua registri faili. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Ei suuda laadida csync lisa %1.<br/>Palun kontrolli paigaldust!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Kliendi arvuti kellaeg erineb serveri omast. Palun kasuta õige aja hoidmiseks kella sünkroniseerimise teenust (NTP) nii serveris kui kliendi arvutites, et kell oleks kõikjal õige. - + CSync could not detect the filesystem type. CSync ei suutnud tuvastada failisüsteemi tüüpi. - + CSync got an error while processing internal trees. CSync sai vea sisemiste andmestruktuuride töötlemisel. - + CSync failed to reserve memory. CSync ei suutnud mälu reserveerida. - + CSync fatal parameter error. CSync parameetri saatuslik viga. - + CSync processing step update failed. CSync uuendusprotsess ebaõnnestus. - + CSync processing step reconcile failed. CSync tasakaalustuse protsess ebaõnnestus. - + CSync processing step propagate failed. CSync edasikandeprotsess ebaõnnestus. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Sihtkataloogi ei eksisteeri.</p><p>Palun kontrolli sünkroniseeringu seadistust</p> - + A remote file can not be written. Please check the remote access. Eemalolevasse faili ei saa kirjutada. Palun kontrolli kaugühenduse ligipääsu. - + The local filesystem can not be written. Please check permissions. Kohalikku failissüsteemi ei saa kirjutada. Palun kontrolli õiguseid. - + CSync failed to connect through a proxy. CSync ühendus läbi puhverserveri ebaõnnestus. - + CSync could not authenticate at the proxy. CSync ei suutnud puhverserveris autoriseerida. - + CSync failed to lookup proxy or server. Csync ei suuda leida puhverserverit. - + CSync failed to authenticate at the %1 server. CSync autoriseering serveris %1 ebaõnnestus. - + CSync failed to connect to the network. CSync võrguga ühendumine ebaõnnestus. - + A network connection timeout happened. Toimus võrgukatkestus. - + A HTTP transmission error happened. HTTP ülekande viga. - + CSync failed due to not handled permission deniend. CSync ebaõnnestus ligipääsu puudumisel. - + CSync failed to access CSyncile ligipääs ebaõnnestus - + CSync tried to create a directory that already exists. Csync proovis tekitada kataloogi, mis oli juba olemas. - - + + CSync: No space on %1 server available. CSync: Serveris %1 on ruum otsas. - + CSync unspecified error. CSync tuvastamatu viga. - + Aborted by the user Kasutaja poolt tühistatud - + An internal error number %1 happened. Tekkis sisemine viga number %1. - + The item is not synced because of previous errors: %1 Üksust ei sünkroniseeritud eelnenud vigade tõttu: %1 - + Symbolic links are not supported in syncing. Sümboolsed lingid ei ole sünkroniseerimisel toetatud. - + File is listed on the ignore list. Fail on märgitud ignoreeritavate nimistus. - + File contains invalid characters that can not be synced cross platform. Fail sisaldab sobimatuid sümboleid, mida ei saa sünkroniseerida erinevate platvormide vahel. - + Unable to initialize a sync journal. Ei suuda lähtestada sünkroniseeringu zurnaali. - + Cannot open the sync journal Ei suuda avada sünkroniseeringu zurnaali - + Not allowed because you don't have permission to add sub-directories in that directory Pole lubatud, kuna sul puuduvad õigused lisada sellesse kataloogi lisada alam-kataloogi - + Not allowed because you don't have permission to add parent directory Pole lubatud, kuna sul puuduvad õigused lisada ülemkataloog - + Not allowed because you don't have permission to add files in that directory Pole lubatud, kuna sul puuduvad õigused sellesse kataloogi faile lisada - + Not allowed to upload this file because it is read-only on the server, restoring Pole lubatud üles laadida, kuna tegemist on ainult-loetava serveriga, taastan - - + + Not allowed to remove, restoring Eemaldamine pole lubatud, taastan - + Move not allowed, item restored Liigutamine pole lubatud, üksus taastatud - + Move not allowed because %1 is read-only Liigutamien pole võimalik kuna %1 on ainult lugemiseks - + the destination sihtkoht - + the source allikas diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 2a8bc9759..44299e196 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -1777,229 +1777,229 @@ Saiatu horiek berriz sinkronizatzen. Mirall::SyncEngine - + Success. Arrakasta. - + CSync failed to create a lock file. CSyncek huts egin du lock fitxategia sortzean. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csyncen %1 plugina ezin da kargatu.<br/>Mesedez egiaztatu instalazioa!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Bezero honetako sistemaren ordua zerbitzariarenaren ezberdina da. Mesedez erabili sinkronizazio zerbitzari bat (NTP) zerbitzari eta bezeroan orduak berdinak izan daitezen. - + CSync could not detect the filesystem type. CSyncek ezin du fitxategi sistema mota antzeman. - + CSync got an error while processing internal trees. CSyncek errorea izan du barne zuhaitzak prozesatzerakoan. - + CSync failed to reserve memory. CSyncek huts egin du memoria alokatzean. - + CSync fatal parameter error. CSync parametro larri errorea. - + CSync processing step update failed. CSync prozesatzearen eguneratu urratsak huts egin du. - + CSync processing step reconcile failed. CSync prozesatzearen berdinkatze urratsak huts egin du. - + CSync processing step propagate failed. CSync prozesatzearen hedatu urratsak huts egin du. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Helburu direktorioa ez da existitzen.</p><p>Egiazt6atu sinkronizazio konfigurazioa.</p> - + A remote file can not be written. Please check the remote access. Urruneko fitxategi bat ezin da idatzi. Mesedez egiaztatu urreneko sarbidea. - + The local filesystem can not be written. Please check permissions. Ezin da idatzi bertako fitxategi sisteman. Mesedez egiaztatu baimenak. - + CSync failed to connect through a proxy. CSyncek huts egin du proxiaren bidez konektatzean. - + CSync could not authenticate at the proxy. CSyncek ezin izan du proxya autentikatu. - + CSync failed to lookup proxy or server. CSyncek huts egin du zerbitzaria edo proxia bilatzean. - + CSync failed to authenticate at the %1 server. CSyncek huts egin du %1 zerbitzarian autentikatzean. - + CSync failed to connect to the network. CSyncek sarera konektatzean huts egin du. - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP transmisio errore bat gertatu da. - + CSync failed due to not handled permission deniend. CSyncek huts egin du kudeatu gabeko baimen ukapen bat dela eta. - + CSync failed to access - + CSync tried to create a directory that already exists. CSyncek dagoeneko existitzen zen karpeta bat sortzen saiatu da. - - + + CSync: No space on %1 server available. CSync: Ez dago lekurik %1 zerbitzarian. - + CSync unspecified error. CSyncen zehaztugabeko errorea. - + Aborted by the user Erabiltzaileak bertan behera utzita - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. Esteka sinbolikoak ezin dira sinkronizatu. - + File is listed on the ignore list. Fitxategia baztertutakoen zerrendan dago. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. Ezin izan da sinkronizazio egunerokoa hasieratu. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 02149153d..da4f3219e 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -1774,229 +1774,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. موفقیت - + CSync failed to create a lock file. CSync موفق به ایجاد یک فایل قفل شده، نشد. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>ماژول %1 برای csync نمی تواند بارگذاری شود.<br/>لطفا نصب را بررسی کنید!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. سیستم زمان بر روی این مشتری با سیستم زمان بر روی سرور متفاوت است.لطفا از خدمات هماهنگ سازی زمان (NTP) بر روی ماشین های سرور و کلاینت استفاده کنید تا زمان ها یکسان باقی بمانند. - + CSync could not detect the filesystem type. CSync نوع فایل های سیستم را نتوانست تشخیص بدهد. - + CSync got an error while processing internal trees. CSync هنگام پردازش درختان داخلی یک خطا دریافت نمود. - + CSync failed to reserve memory. CSync موفق به رزرو حافظه نشد است. - + CSync fatal parameter error. - + CSync processing step update failed. مرحله به روز روسانی پردازش CSync ناموفق بود. - + CSync processing step reconcile failed. مرحله تطبیق پردازش CSync ناموفق بود. - + CSync processing step propagate failed. مرحله گسترش پردازش CSync ناموفق بود. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>پوشه هدف وجود ندارد.</p><p>لطفا راه اندازی همگام سازی را بررسی کنید.</p> - + A remote file can not be written. Please check the remote access. یک فایل از راه دور نمی تواند نوشته شود. لطفا دسترسی از راه دور را بررسی نمایید. - + The local filesystem can not be written. Please check permissions. بر روی فایل سیستمی محلی نمی توانید چیزی بنویسید.لطفا مجوزش را بررسی کنید. - + CSync failed to connect through a proxy. عدم موفقیت CSync برای اتصال از طریق یک پروکسی. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. عدم موفقیت CSync برای مراجعه به پروکسی یا سرور. - + CSync failed to authenticate at the %1 server. عدم موفقیت CSync برای اعتبار دادن در %1 سرور. - + CSync failed to connect to the network. عدم موفقیت CSync برای اتصال به شبکه. - + A network connection timeout happened. - + A HTTP transmission error happened. خطا در انتقال HTTP اتفاق افتاده است. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync برای ایجاد یک پوشه که در حال حاضر موجود است تلاش کرده است. - - + + CSync: No space on %1 server available. CSync: فضا در %1 سرور در دسترس نیست. - + CSync unspecified error. خطای نامشخص CSync - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 37ca946bb..b16690c28 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -1779,229 +1779,229 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::SyncEngine - + Success. Onnistui. - + CSync failed to create a lock file. Csync ei onnistunut luomaan lukitustiedostoa. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1-liitännäistä csyncia varten ei voitu ladata.<br/>Varmista asennuksen toimivuus!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Tämän koneen järjestelmäaika on erilainen verrattuna palvelimen aikaan. Käytä NTP-palvelua kummallakin koneella, jotta kellot pysyvät samassa ajassa. Muuten tiedostojen synkronointi ei toimi. - + CSync could not detect the filesystem type. Csync-synkronointipalvelu ei kyennyt tunnistamaan tiedostojärjestelmän tyyppiä. - + CSync got an error while processing internal trees. Csync-synkronointipalvelussa tapahtui virhe sisäisten puurakenteiden prosessoinnissa. - + CSync failed to reserve memory. CSync ei onnistunut varaamaan muistia. - + CSync fatal parameter error. - + CSync processing step update failed. - + CSync processing step reconcile failed. - + CSync processing step propagate failed. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Kohdekansiota ei ole olemassa.</p><p>Tarkasta synkronointiasetuksesi.</p> - + A remote file can not be written. Please check the remote access. Etätiedostoa ei pystytä kirjoittamaan. Tarkista, että etäpääsy toimii. - + The local filesystem can not be written. Please check permissions. Paikalliseen tiedostojärjestelmään kirjoittaminen epäonnistui. Tarkista kansion oikeudet. - + CSync failed to connect through a proxy. CSync ei onnistunut muodostamaan yhteyttä välityspalvelimen välityksellä. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. - + CSync failed to authenticate at the %1 server. - + CSync failed to connect to the network. CSync ei onnistunut yhdistämään verkkoon. - + A network connection timeout happened. Tapahtui verkon aikakatkaisu. - + A HTTP transmission error happened. Tapahtui HTTP-välitysvirhe. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync yritti luoda olemassa olevan kansion. - - + + CSync: No space on %1 server available. CSync: %1-palvelimella ei ole tilaa vapaana. - + CSync unspecified error. CSync - määrittämätön virhe. - + Aborted by the user - + An internal error number %1 happened. Ilmeni sisäinen virhe, jonka numero on %1. - + The item is not synced because of previous errors: %1 Kohdetta ei synkronoitu aiempien virheiden vuoksi: %1 - + Symbolic links are not supported in syncing. Symboliset linkit eivät ole tuettuja synkronoinnissa. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory Ei sallittu, koska sinulla ei ole oikeutta lisätä tiedostoja kyseiseen kansioon - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring Poistaminen ei ole sallittua, palautetaan - + Move not allowed, item restored Siirtäminen ei ole sallittua, kohde palautettu - + Move not allowed because %1 is read-only Siirto ei ole sallittu, koska %1 on "vain luku"-tilassa - + the destination kohde - + the source lähde diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index e4acec93e..9f6b3e974 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -1784,229 +1784,229 @@ Il est déconseillé de l'utiliser. Mirall::SyncEngine - + Success. Succès. - + CSync failed to create a lock file. CSync n'a pas pu créer le fichier de verrouillage. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync n’a pu charger ou créer le fichier de journalisation. Veuillez vérifier que vous possédez les droits en lecture/écriture dans le répertoire de synchronisation local. - + CSync failed to write the journal file. CSync n’a pu écrire le fichier de journalisation. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Le plugin %1 pour csync n'a pas pu être chargé.<br/>Merci de vérifier votre installation !</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'heure du client est différente de l'heure du serveur. Veuillez utiliser un service de synchronisation du temps (NTP) sur le serveur et le client afin que les horloges soient à la même heure. - + CSync could not detect the filesystem type. CSync n'a pas pu détecter le type de système de fichier. - + CSync got an error while processing internal trees. CSync obtient une erreur pendant le traitement des arbres internes. - + CSync failed to reserve memory. Erreur lors de l'allocation mémoire par CSync. - + CSync fatal parameter error. Erreur fatale CSync : mauvais paramètre. - + CSync processing step update failed. Erreur CSync lors de l'opération de mise à jour - + CSync processing step reconcile failed. Erreur CSync lors de l'opération d'harmonisation - + CSync processing step propagate failed. Erreur CSync lors de l'opération de propagation - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Le répertoire cible n'existe pas.</p><p>Veuillez vérifier la configuration de la synchronisation.</p> - + A remote file can not be written. Please check the remote access. Un fichier distant ne peut être écrit. Veuillez vérifier l’accès distant. - + The local filesystem can not be written. Please check permissions. Le système de fichiers local n'est pas accessible en écriture. Veuillez vérifier les permissions. - + CSync failed to connect through a proxy. CSync n'a pu établir une connexion à travers un proxy. - + CSync could not authenticate at the proxy. CSync ne peut s'authentifier auprès du proxy. - + CSync failed to lookup proxy or server. CSync n'a pu trouver un proxy ou serveur auquel se connecter. - + CSync failed to authenticate at the %1 server. CSync n'a pu s'authentifier auprès du serveur %1. - + CSync failed to connect to the network. CSync n'a pu établir une connexion au réseau. - + A network connection timeout happened. - + A HTTP transmission error happened. Une erreur de transmission HTTP s'est produite. - + CSync failed due to not handled permission deniend. CSync a échoué en raison d'une erreur de permission non prise en charge. - + CSync failed to access Echec de CSync pour accéder - + CSync tried to create a directory that already exists. CSync a tenté de créer un répertoire déjà présent. - - + + CSync: No space on %1 server available. CSync : Aucun espace disponibla sur le serveur %1. - + CSync unspecified error. Erreur CSync inconnue. - + Aborted by the user Abandonné par l'utilisateur - + An internal error number %1 happened. Une erreur interne numéro %1 s'est produite. - + The item is not synced because of previous errors: %1 Cet élément n'a pas été synchronisé en raison des erreurs précédentes : %1 - + Symbolic links are not supported in syncing. Les liens symboliques ne sont pas supportés par la synchronisation. - + File is listed on the ignore list. Le fichier est présent dans la liste de fichiers à ignorer. - + File contains invalid characters that can not be synced cross platform. Le fichier contient des caractères invalides qui ne peuvent être synchronisés entre plate-formes. - + Unable to initialize a sync journal. Impossible d'initialiser un journal de synchronisation. - + Cannot open the sync journal Impossible d'ouvrir le journal de synchronisation - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory Non autorisé parce-que vous n'avez pas la permission d'ajouter des fichiers dans ce dossier - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only Déplacement non autorisé car %1 est en mode lecture seule - + the destination la destination - + the source la source diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index c5eb11fae..68671e2ac 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -1784,229 +1784,229 @@ Tente sincronizalos de novo. Mirall::SyncEngine - + Success. Correcto. - + CSync failed to create a lock file. Produciuse un fallo en CSync ao crear un ficheiro de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Produciuse un fallo do Csync ao cargar ou crear o ficheiro de rexistro. Asegúrese de que ten permisos de lectura e escritura no directorio de sincronización local. - + CSync failed to write the journal file. Produciuse un fallo en CSync ao escribir o ficheiro de rexistro. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Non foi posíbel cargar o engadido %1 para CSync.<br/>Verifique a instalación!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A diferenza de tempo neste cliente e diferente do tempo do sistema no servidor. Use o servido de sincronización de tempo (NTP) no servidor e nas máquinas cliente para que os tempos se manteñan iguais. - + CSync could not detect the filesystem type. CSync non pode detectar o tipo de sistema de ficheiros. - + CSync got an error while processing internal trees. CSync tivo un erro ao procesar árbores internas. - + CSync failed to reserve memory. Produciuse un fallo ao reservar memoria para CSync. - + CSync fatal parameter error. Produciuse un erro fatal de parámetro CSync. - + CSync processing step update failed. Produciuse un fallo ao procesar o paso de actualización de CSync. - + CSync processing step reconcile failed. Produciuse un fallo ao procesar o paso de reconciliación de CSync. - + CSync processing step propagate failed. Produciuse un fallo ao procesar o paso de propagación de CSync. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Non existe o directorio de destino.</p><p>Comprobe a configuración da sincronización.</p> - + A remote file can not be written. Please check the remote access. Non é posíbel escribir un ficheiro remoto. Comprobe o acceso remoto. - + The local filesystem can not be written. Please check permissions. Non é posíbel escribir no sistema de ficheiros local. Comprobe os permisos. - + CSync failed to connect through a proxy. CSYNC no puido conectarse a través dun proxy. - + CSync could not authenticate at the proxy. CSync non puido autenticarse no proxy. - + CSync failed to lookup proxy or server. CSYNC no puido atopar o servidor proxy. - + CSync failed to authenticate at the %1 server. CSync non puido autenticarse no servidor %1. - + CSync failed to connect to the network. CSYNC no puido conectarse á rede. - + A network connection timeout happened. Excedeuse do tempo de espera para a conexión á rede. - + A HTTP transmission error happened. Produciuse un erro na transmisión HTTP. - + CSync failed due to not handled permission deniend. Produciuse un fallo en CSync por mor dun permiso denegado. - + CSync failed to access Produciuse un fallo ao acceder a CSync - + CSync tried to create a directory that already exists. CSYNC tenta crear un directorio que xa existe. - - + + CSync: No space on %1 server available. CSync: Non hai espazo dispoñíbel no servidor %1. - + CSync unspecified error. Produciuse un erro non especificado de CSync - + Aborted by the user Interrompido polo usuario - + An internal error number %1 happened. Produciuse un erro interno número %1 - + The item is not synced because of previous errors: %1 Este elemento non foi sincronizado por mor de erros anteriores: %1 - + Symbolic links are not supported in syncing. As ligazóns simbolicas non son admitidas nas sincronizacións - + File is listed on the ignore list. O ficheiro está na lista de ignorados. - + File contains invalid characters that can not be synced cross platform. O ficheiro conten caracteres incorrectos que non poden sincronizarse entre distintas plataformas. - + Unable to initialize a sync journal. Non é posíbel iniciar un rexistro de sincronización. - + Cannot open the sync journal Non foi posíbel abrir o rexistro de sincronización - + Not allowed because you don't have permission to add sub-directories in that directory Non está permitido xa que non ten permiso para engadir subdirectorios nese directorio - + Not allowed because you don't have permission to add parent directory Non está permitido xa que non ten permiso para engadir un directorio pai - + Not allowed because you don't have permission to add files in that directory Non está permitido xa que non ten permiso para engadir ficheiros nese directorio - + Not allowed to upload this file because it is read-only on the server, restoring Non está permitido o envío xa que o ficheiro é só de lectura no servidor, restaurando - - + + Not allowed to remove, restoring Non está permitido retiralo, restaurando - + Move not allowed, item restored Nos está permitido movelo, elemento restaurado - + Move not allowed because %1 is read-only Bon está permitido movelo xa que %1 é só de lectura - + the destination o destino - + the source a orixe diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index 6bb401b38..57489022f 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -1774,229 +1774,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Sikerült. - + CSync failed to create a lock file. A CSync nem tudott létrehozni lock fájlt. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Az %1 beépülőmodul a csync-hez nem tölthető be.<br/>Ellenőrizze a telepítést!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A helyi rendszeridő különbözik a kiszolgáló rendszeridejétől. Használjon időszinkronizációs szolgáltatást (NTP) a rendszerén és a szerveren is, hogy az idő mindig megeggyezzen. - + CSync could not detect the filesystem type. A CSync nem tudta megállapítani a fájlrendszer típusát. - + CSync got an error while processing internal trees. A CSync hibába ütközött a belső adatok feldolgozása közben. - + CSync failed to reserve memory. Hiba a CSync memórifoglalásakor. - + CSync fatal parameter error. CSync hibás paraméterhiba. - + CSync processing step update failed. CSync frissítés feldolgozása meghíusult. - + CSync processing step reconcile failed. CSync egyeztetési lépés meghíusult. - + CSync processing step propagate failed. CSync propagálási lépés meghíusult. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>A célmappa nem létezik.</p><p>Ellenőrizze a sync beállításait.</p> - + A remote file can not be written. Please check the remote access. Egy távoli fájl nem írható. Kérlek, ellenőrizd a távoli elérést. - + The local filesystem can not be written. Please check permissions. A helyi fájlrendszer nem írható. Kérlek, ellenőrizd az engedélyeket. - + CSync failed to connect through a proxy. CSync proxy kapcsolódási hiba. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. A CSync nem találja a proxy kiszolgálót. - + CSync failed to authenticate at the %1 server. A CSync nem tuja azonosítani magát a %1 kiszolgálón. - + CSync failed to connect to the network. CSync hálózati kapcsolódási hiba. - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP átviteli hiba történt. - + CSync failed due to not handled permission deniend. CSync hiba, nincs kezelési jogosultság. - + CSync failed to access - + CSync tried to create a directory that already exists. A CSync megpróbált létrehozni egy már létező mappát. - - + + CSync: No space on %1 server available. CSync: Nincs szabad tárhely az %1 kiszolgálón. - + CSync unspecified error. CSync ismeretlen hiba. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 8e3573a11..85c3144f1 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -603,7 +603,7 @@ Sei sicuro di voler eseguire questa operazione? Server returned wrong content-range - + Il server ha restituito un content-range errato @@ -1271,7 +1271,7 @@ Non è consigliabile utilizzarlo. Server returned wrong content-range - + Il server ha restituito un content-range errato @@ -1783,229 +1783,229 @@ Prova a sincronizzare nuovamente. Mirall::SyncEngine - + Success. Successo. - + CSync failed to create a lock file. CSync non è riuscito a creare il file di lock. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync non è riuscito a caricare o a creare il file di registro. Assicurati di avere i permessi di lettura e scrittura nella cartella di sincronizzazione locale. - + CSync failed to write the journal file. CSync non è riuscito a scrivere il file di registro. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Il plugin %1 per csync non può essere caricato.<br/>Verifica l'installazione!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'ora di sistema su questo client è diversa dall'ora di sistema del server. Usa un servizio di sincronizzazione dell'orario (NTP) sul server e sulle macchine client in modo che l'ora sia la stessa. - + CSync could not detect the filesystem type. CSync non è riuscito a individuare il tipo di filesystem. - + CSync got an error while processing internal trees. Errore di CSync durante l'elaborazione degli alberi interni. - + CSync failed to reserve memory. CSync non è riuscito a riservare la memoria. - + CSync fatal parameter error. Errore grave di parametro di CSync. - + CSync processing step update failed. La fase di aggiornamento di CSync non è riuscita. - + CSync processing step reconcile failed. La fase di riconciliazione di CSync non è riuscita. - + CSync processing step propagate failed. La fase di propagazione di CSync non è riuscita. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>La cartella di destinazione non esiste.</p><p>Controlla la configurazione della sincronizzazione.</p> - + A remote file can not be written. Please check the remote access. Un file remoto non può essere scritto. Controlla l'accesso remoto. - + The local filesystem can not be written. Please check permissions. Il filesystem locale non può essere scritto. Controlla i permessi. - + CSync failed to connect through a proxy. CSync non è riuscito a connettersi tramite un proxy. - + CSync could not authenticate at the proxy. CSync non è in grado di autenticarsi al proxy. - + CSync failed to lookup proxy or server. CSync non è riuscito a trovare un proxy o server. - + CSync failed to authenticate at the %1 server. CSync non è riuscito ad autenticarsi al server %1. - + CSync failed to connect to the network. CSync non è riuscito a connettersi alla rete. - + A network connection timeout happened. Si è verificato un timeout della connessione di rete. - + A HTTP transmission error happened. Si è verificato un errore di trasmissione HTTP. - + CSync failed due to not handled permission deniend. Problema di CSync dovuto alla mancata gestione dei permessi. - + CSync failed to access CSync non è riuscito ad accedere - + CSync tried to create a directory that already exists. CSync ha cercato di creare una cartella già esistente. - - + + CSync: No space on %1 server available. CSync: spazio insufficiente sul server %1. - + CSync unspecified error. Errore non specificato di CSync. - + Aborted by the user Interrotto dall'utente - + An internal error number %1 happened. SI è verificato un errore interno numero %1. - + The item is not synced because of previous errors: %1 L'elemento non è sincronizzato a causa dell'errore precedente: %1 - + Symbolic links are not supported in syncing. I collegamenti simbolici non sono supportati dalla sincronizzazione. - + File is listed on the ignore list. Il file è stato aggiunto alla lista ignorati. - + File contains invalid characters that can not be synced cross platform. Il file contiene caratteri non validi che non possono essere sincronizzati su diverse piattaforme. - + Unable to initialize a sync journal. Impossibile inizializzare il registro di sincronizzazione. - + Cannot open the sync journal Impossibile aprire il registro di sincronizzazione - + Not allowed because you don't have permission to add sub-directories in that directory Non consentito poiché non disponi dei permessi per aggiungere sottocartelle in quella cartella - + Not allowed because you don't have permission to add parent directory Non consentito poiché non disponi dei permessi per aggiungere la cartella superiore - + Not allowed because you don't have permission to add files in that directory Non consentito poiché non disponi dei permessi per aggiungere file in quella cartella - + Not allowed to upload this file because it is read-only on the server, restoring Il caricamento di questo file non è consentito poiché è in sola lettura sul server, ripristino - - + + Not allowed to remove, restoring Rimozione non consentita, ripristino - + Move not allowed, item restored Spostamento non consentito, elemento ripristinato - + Move not allowed because %1 is read-only Spostamento non consentito poiché %1 è in sola lettura - + the destination la destinazione - + the source l'origine diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index 43f4e59c0..42ce34dbf 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -1782,229 +1782,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSyncがロックファイルの作成に失敗しました。 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSyncはジャーナルファイルの読み込みや作成に失敗しました。ローカルの同期ディレクトリに読み書きの権限があるか確認してください。 - + CSync failed to write the journal file. CSyncはジャーナルファイルの書き込みに失敗しました。 - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csync 用の %1 プラグインをロードできませんでした。<br/>インストール状態を確認してください!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. このクライアントのシステム時刻はサーバーのシステム時刻と異なります。時刻が同じになるように、クライアントとサーバーの両方で時刻同期サービス(NTP)を実行してください。 - + CSync could not detect the filesystem type. CSyncはファイルシステムタイプを検出できませんでした。 - + CSync got an error while processing internal trees. CSyncは内部ツリーの処理中にエラーに遭遇しました。 - + CSync failed to reserve memory. CSyncで使用するメモリの確保に失敗しました。 - + CSync fatal parameter error. CSyncの致命的なパラメータエラーです。 - + CSync processing step update failed. CSyncの処理ステップの更新に失敗しました。 - + CSync processing step reconcile failed. CSyncの処理ステップの調停に失敗しました。 - + CSync processing step propagate failed. CSyncの処理ステップの伝播に失敗しました。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>ターゲットディレクトリは存在しません。</p><p>同期設定を確認してください。</p> - + A remote file can not be written. Please check the remote access. リモートファイルは書き込みできません。リモートアクセスをチェックしてください。 - + The local filesystem can not be written. Please check permissions. ローカルファイルシステムは書き込みができません。パーミッションをチェックしてください。 - + CSync failed to connect through a proxy. CSyncがプロキシ経由での接続に失敗しました。 - + CSync could not authenticate at the proxy. CSyncはそのプロキシで認証できませんでした。 - + CSync failed to lookup proxy or server. CSyncはプロキシもしくはサーバーの参照に失敗しました。 - + CSync failed to authenticate at the %1 server. CSyncは %1 サーバーでの認証に失敗しました。 - + CSync failed to connect to the network. CSyncはネットワークへの接続に失敗しました。 - + A network connection timeout happened. ネットワーク接続のタイムアウトが発生しました。 - + A HTTP transmission error happened. HTTPの伝送エラーが発生しました。 - + CSync failed due to not handled permission deniend. CSyncは対応できないパーミッション拒否が原因で失敗しました。 - + CSync failed to access CSync はアクセスに失敗しました - + CSync tried to create a directory that already exists. CSyncはすでに存在するディレクトリを作成しようとしました。 - - + + CSync: No space on %1 server available. CSync: %1 サーバーには利用可能な空き領域がありません。 - + CSync unspecified error. CSyncの未指定のエラーです。 - + Aborted by the user ユーザーによって中止されました - + An internal error number %1 happened. 内部エラー番号 %1 が発生しました。 - + The item is not synced because of previous errors: %1 このアイテムは、以前にエラーが発生していたため同期させません: %1 - + Symbolic links are not supported in syncing. 同期の際にシンボリックリンクはサポートしていません - + File is listed on the ignore list. ファイルは除外リストに登録されています。 - + File contains invalid characters that can not be synced cross platform. ファイルに無効な文字が含まれているため、クロスプラットフォーム環境での同期ができません。 - + Unable to initialize a sync journal. 同期ジャーナルの初期化ができません。 - + Cannot open the sync journal 同期ジャーナルを開くことができません - + Not allowed because you don't have permission to add sub-directories in that directory そのディレクトリにサブディレクトリを追加する権限がありません - + Not allowed because you don't have permission to add parent directory 親ディレクトリを追加する権限がありません - + Not allowed because you don't have permission to add files in that directory そのディレクトリにファイルを追加する権限がありません - + Not allowed to upload this file because it is read-only on the server, restoring サーバーでは読み取り専用となっているため、このファイルをアップロードすることはできません、復元しています - - + + Not allowed to remove, restoring 削除できません、復元しています - + Move not allowed, item restored 移動できません、項目を復元しました - + Move not allowed because %1 is read-only %1 は読み取り専用のため移動できません - + the destination 移動先 - + the source 移動元 diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index 3dbf2b57f..cb31c5fe0 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -1784,229 +1784,229 @@ Probeer opnieuw te synchroniseren. Mirall::SyncEngine - + Success. Succes. - + CSync failed to create a lock file. CSync kon geen lock file maken. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync kon het journal bestand niet maken of lezen. Controleer of u de juiste lees- en schrijfrechten in de lokale syncmap hebt. - + CSync failed to write the journal file. CSync kon het journal bestand niet wegschrijven. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>De %1 plugin voor csync kon niet worden geladen.<br/>Verifieer de installatie!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. De systeemtijd van deze client wijkt af van de systeemtijd op de server. Gebruik een tijdsynchronisatieservice (NTP) op zowel de server als de client, zodat de machines dezelfde systeemtijd hebben. - + CSync could not detect the filesystem type. CSync kon het soort bestandssysteem niet bepalen. - + CSync got an error while processing internal trees. CSync kreeg een fout tijdens het verwerken van de interne mappenstructuur. - + CSync failed to reserve memory. CSync kon geen geheugen reserveren. - + CSync fatal parameter error. CSync fatale parameter fout. - + CSync processing step update failed. CSync verwerkingsstap bijwerken mislukt. - + CSync processing step reconcile failed. CSync verwerkingsstap verzamelen mislukt. - + CSync processing step propagate failed. CSync verwerkingsstap doorzetten mislukt. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>De doelmap bestaat niet.</p><p>Controleer de synchinstellingen.</p> - + A remote file can not be written. Please check the remote access. Een extern bestand kon niet worden weggeschreven. Controleer de externe rechten. - + The local filesystem can not be written. Please check permissions. Er kan niet worden geschreven naar het lokale bestandssysteem. Controleer de schrijfrechten. - + CSync failed to connect through a proxy. CSync kon niet verbinden via een proxy. - + CSync could not authenticate at the proxy. CSync kon niet authenticeren bij de proxy. - + CSync failed to lookup proxy or server. CSync kon geen proxy of server vinden. - + CSync failed to authenticate at the %1 server. CSync kon niet authenticeren bij de %1 server. - + CSync failed to connect to the network. CSync kon niet verbinden met het netwerk. - + A network connection timeout happened. Er trad een netwerk time-out op. - + A HTTP transmission error happened. Er trad een HTTP transmissiefout plaats. - + CSync failed due to not handled permission deniend. CSync mislukt omdat de benodigde toegang werd geweigerd. - + CSync failed to access CSync kreeg geen toegang - + CSync tried to create a directory that already exists. CSync probeerde een al bestaande directory aan te maken. - - + + CSync: No space on %1 server available. CSync: Geen ruimte op %1 server beschikbaar. - + CSync unspecified error. CSync ongedefinieerde fout. - + Aborted by the user Afgebroken door de gebruiker - + An internal error number %1 happened. Interne fout nummer %1 opgetreden. - + The item is not synced because of previous errors: %1 Dit onderwerp is niet gesynchroniseerd door eerdere fouten: %1 - + Symbolic links are not supported in syncing. Symbolic links worden niet ondersteund bij het synchroniseren. - + File is listed on the ignore list. De file is opgenomen op de negeerlijst. - + File contains invalid characters that can not be synced cross platform. Bestand bevat ongeldige karakters die niet tussen platformen gesynchroniseerd kunnen worden. - + Unable to initialize a sync journal. Niet in staat om een synchornisatie journaal te starten. - + Cannot open the sync journal Kan het sync journal niet openen - + Not allowed because you don't have permission to add sub-directories in that directory Niet toegestaan, omdat u geen rechten hebt om sub-directories aan te maken in die directory - + Not allowed because you don't have permission to add parent directory Niet toegestaan, omdat u geen rechten hebt om een bovenliggende directories toe te voegen - + Not allowed because you don't have permission to add files in that directory Niet toegestaan, omdat u geen rechten hebt om bestanden in die directory toe te voegen - + Not allowed to upload this file because it is read-only on the server, restoring Niet toegestaan om dit bestand te uploaden, omdat het alleen-lezen is op de server, herstellen - - + + Not allowed to remove, restoring Niet toegestaan te verwijderen, herstellen - + Move not allowed, item restored Verplaatsen niet toegestaan, object hersteld - + Move not allowed because %1 is read-only Verplaatsen niet toegestaan omdat %1 alleen-lezen is - + the destination bestemming - + the source bron diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index 7f9fd6066..aeccc1f94 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -1784,229 +1784,229 @@ Niezalecane jest jego użycie. Mirall::SyncEngine - + Success. Sukces. - + CSync failed to create a lock file. CSync nie mógł utworzyć pliku blokady. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync nie powiodło się załadowanie lub utworzenie pliku dziennika. Upewnij się, że masz prawa do odczytu i zapisu do lokalnego katalogu synchronizacji. - + CSync failed to write the journal file. CSync nie udało się zapisać pliku dziennika. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Wtyczka %1 do csync nie może być załadowana.<br/>Sprawdź poprawność instalacji!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Czas systemowy na tym kliencie różni się od czasu systemowego na serwerze. Użyj usługi synchronizacji czasu (NTP) na serwerze i kliencie, aby czas na obu urządzeniach był taki sam. - + CSync could not detect the filesystem type. CSync nie może wykryć typu systemu plików. - + CSync got an error while processing internal trees. CSync napotkał błąd podczas przetwarzania wewnętrznych drzew. - + CSync failed to reserve memory. CSync nie mógł zarezerwować pamięci. - + CSync fatal parameter error. Krytyczny błąd parametru CSync. - + CSync processing step update failed. Aktualizacja procesu przetwarzania CSync nie powiodła się. - + CSync processing step reconcile failed. Scalenie w procesie przetwarzania CSync nie powiodło się. - + CSync processing step propagate failed. Propagacja w procesie przetwarzania CSync nie powiodła się. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Katalog docelowy nie istnieje.</p><p>Sprawdź ustawienia synchronizacji.</p> - + A remote file can not be written. Please check the remote access. Zdalny plik nie może zostać zapisany. Sprawdź dostęp zdalny. - + The local filesystem can not be written. Please check permissions. Nie można zapisywać na lokalnym systemie plików. Sprawdź uprawnienia. - + CSync failed to connect through a proxy. CSync nie mógł połączyć się przez proxy. - + CSync could not authenticate at the proxy. CSync nie mógł się uwierzytelnić przez proxy. - + CSync failed to lookup proxy or server. CSync nie mógł odnaleźć serwera proxy. - + CSync failed to authenticate at the %1 server. CSync nie mógł uwierzytelnić się na serwerze %1. - + CSync failed to connect to the network. CSync nie mógł połączyć się z siecią. - + A network connection timeout happened. - + A HTTP transmission error happened. Wystąpił błąd transmisji HTTP. - + CSync failed due to not handled permission deniend. CSync nie obsługiwane, odmowa uprawnień. - + CSync failed to access Synchronizacja nieudana z powodu braku dostępu - + CSync tried to create a directory that already exists. CSync próbował utworzyć katalog, który już istnieje. - - + + CSync: No space on %1 server available. CSync: Brak dostępnego miejsca na serwerze %1. - + CSync unspecified error. Nieokreślony błąd CSync. - + Aborted by the user Anulowane przez użytkownika - + An internal error number %1 happened. Wystąpił błąd wewnętrzny numer %1. - + The item is not synced because of previous errors: %1 Ten element nie jest zsynchronizowane z powodu poprzednich błędów: %1 - + Symbolic links are not supported in syncing. Linki symboliczne nie są wspierane przy synchronizacji. - + File is listed on the ignore list. Plik jest na liście plików ignorowanych. - + File contains invalid characters that can not be synced cross platform. Plik zawiera nieprawidłowe znaki, które nie mogą być synchronizowane wieloplatformowo. - + Unable to initialize a sync journal. Nie można zainicjować synchronizacji dziennika. - + Cannot open the sync journal Nie można otworzyć dziennika synchronizacji - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination docelowy - + the source źródło diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 4c597a2bc..9e6668f7f 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -1781,230 +1781,230 @@ Por favor tente sincronizar novamente. Mirall::SyncEngine - + Success. Sucesso - + CSync failed to create a lock file. CSync falhou a criação do ficheiro de lock. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync falhou no carregamento ou criação do ficheiro jornal. Confirme que tem permissões de escrita e leitura no directório de sincronismo local. - + CSync failed to write the journal file. CSync falhou a escrever o ficheiro do jornal. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>O plugin %1 para o CSync não foi carregado.<br/>Por favor verifique a instalação!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A data/hora neste cliente é difere da data/hora do servidor. Por favor utilize um servidor de sincronização horária (NTP), no servidor e nos clientes para garantir que a data/hora são iguais. - + CSync could not detect the filesystem type. Csync não conseguiu detectar o tipo de sistema de ficheiros. - + CSync got an error while processing internal trees. Csync obteve um erro enquanto processava as árvores internas. - + CSync failed to reserve memory. O CSync falhou a reservar memória - + CSync fatal parameter error. Parametro errado, CSync falhou - + CSync processing step update failed. O passo de processamento do CSyn falhou - + CSync processing step reconcile failed. CSync: Processo de reconciliação falhou. - + CSync processing step propagate failed. CSync: O processo de propagação falhou. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>A pasta de destino não existe.</p><p>Por favor verifique a configuração da sincronização.</p> - + A remote file can not be written. Please check the remote access. Não é possivel escrever num ficheiro remoto. Por favor verifique o acesso remoto. - + The local filesystem can not be written. Please check permissions. Não é possivel escrever no sistema de ficheiros local. Por favor verifique as permissões. - + CSync failed to connect through a proxy. CSync: Erro a ligar através do proxy - + CSync could not authenticate at the proxy. CSync: erro ao autenticar-se no servidor proxy. - + CSync failed to lookup proxy or server. CSync: Erro a contactar o proxy ou o servidor. - + CSync failed to authenticate at the %1 server. CSync: Erro a autenticar no servidor %1 - + CSync failed to connect to the network. CSync: Erro na conecção à rede - + A network connection timeout happened. Houve um erro de timeout de rede. - + A HTTP transmission error happened. Ocorreu um erro de transmissão HTTP - + CSync failed due to not handled permission deniend. CSync: Erro devido a permissões de negação não tratadas. - + CSync failed to access CSync: falha no acesso - + CSync tried to create a directory that already exists. O CSync tentou criar uma pasta que já existe. - - + + CSync: No space on %1 server available. CSync: Não ha espaço disponível no servidor %1 - + CSync unspecified error. CSync: erro não especificado - + Aborted by the user Cancelado pelo utilizador - + An internal error number %1 happened. Ocorreu um erro interno número %1. - + The item is not synced because of previous errors: %1 O item não está sincronizado devido a erros anteriores: %1 - + Symbolic links are not supported in syncing. Hiperligações simbólicas não são suportadas em sincronização. - + File is listed on the ignore list. O ficheiro está na lista de ficheiros a ignorar. - + File contains invalid characters that can not be synced cross platform. O ficheiro contém caracteres inválidos que não podem ser sincronizados pelas várias plataformas. - + Unable to initialize a sync journal. Impossível inicializar sincronização 'journal'. - + Cannot open the sync journal Impossível abrir o jornal de sincronismo - + Not allowed because you don't have permission to add sub-directories in that directory Não permitido, porque não tem permissão para adicionar sub-directórios ao directório - + Not allowed because you don't have permission to add parent directory Não permitido, porque não tem permissão para adicionar o directório principal - + Not allowed because you don't have permission to add files in that directory Não permitido, porque não tem permissão para adicionar ficheiros no directório - + Not allowed to upload this file because it is read-only on the server, restoring Não é permitido fazer o envio deste ficheiro porque é só de leitura no servidor, restaurando - - + + Not allowed to remove, restoring Não autorizado para remoção, restaurando - + Move not allowed, item restored Mover não foi permitido, item restaurado - + Move not allowed because %1 is read-only Mover não foi autorizado porque %1 é só de leitura - + the destination o destino - + the source a origem diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index 61c05798b..5d29e6a5a 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -603,7 +603,7 @@ Você tem certeza que quer executar esta operação? Server returned wrong content-range - + O servidor retornou erro numa série-de-conteúdo @@ -1270,7 +1270,7 @@ It is not advisable to use it. Server returned wrong content-range - + O servidor retornou erro numa série-de-conteúdo @@ -1782,229 +1782,229 @@ Tente sincronizar novamente. Mirall::SyncEngine - + Success. Sucesso. - + CSync failed to create a lock file. Falha ao criar o arquivo de trava pelo CSync. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync falhou ao carregar ou criar o arquivo jornal. Certifique-se de ter permissão de escrita no diretório de sincronização local. - + CSync failed to write the journal file. Csync falhou ao tentar gravar o arquivo jornal. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>O plugin %1 para csync não foi carregado.<br/>Por favor verifique a instalação!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A hora do sistema neste cliente é diferente da hora de sistema no servidor. Por favor, use um serviço de sincronização de tempo (NTP) no servidor e máquinas clientes para que as datas continuam as mesmas. - + CSync could not detect the filesystem type. Tipo de sistema de arquivo não detectado pelo CSync. - + CSync got an error while processing internal trees. Erro do CSync enquanto processava árvores internas. - + CSync failed to reserve memory. CSync falhou ao reservar memória. - + CSync fatal parameter error. Erro fatal de parametro do CSync. - + CSync processing step update failed. Processamento da atualização do CSync falhou. - + CSync processing step reconcile failed. Processamento da conciliação do CSync falhou. - + CSync processing step propagate failed. Processamento da propagação do CSync falhou. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>O diretório de destino não existe.</p> <p>Por favor, verifique a configuração de sincronização. </p> - + A remote file can not be written. Please check the remote access. O arquivo remoto não pode ser escrito. Por Favor, verifique o acesso remoto. - + The local filesystem can not be written. Please check permissions. O sistema de arquivos local não pode ser escrito. Por favor, verifique as permissões. - + CSync failed to connect through a proxy. CSync falhou ao conectar por um proxy. - + CSync could not authenticate at the proxy. Csync não conseguiu autenticação no proxy. - + CSync failed to lookup proxy or server. CSync falhou ao localizar o proxy ou servidor. - + CSync failed to authenticate at the %1 server. CSync falhou ao autenticar no servidor %1. - + CSync failed to connect to the network. CSync falhou ao conectar à rede. - + A network connection timeout happened. Ocorreu uma desconexão de rede. - + A HTTP transmission error happened. Houve um erro na transmissão HTTP. - + CSync failed due to not handled permission deniend. CSync falhou devido a uma negativa de permissão não resolvida. - + CSync failed to access Falha no acesso CSync - + CSync tried to create a directory that already exists. CSync tentou criar um diretório que já existe. - - + + CSync: No space on %1 server available. CSync: Sem espaço disponível no servidor %1. - + CSync unspecified error. Erro não especificado no CSync. - + Aborted by the user Abortado pelo usuário - + An internal error number %1 happened. Ocorreu um erro interno de número %1. - + The item is not synced because of previous errors: %1 O item não está sincronizado devido a erros anteriores: %1 - + Symbolic links are not supported in syncing. Linques simbólicos não são suportados em sincronização. - + File is listed on the ignore list. O arquivo está listado na lista de ignorados. - + File contains invalid characters that can not be synced cross platform. Arquivos que contém caracteres inválidos não podem ser sincronizados através de plataformas. - + Unable to initialize a sync journal. Impossibilitado de iniciar a sincronização. - + Cannot open the sync journal Não é possível abrir o arquivo de sincronização - + Not allowed because you don't have permission to add sub-directories in that directory Não permitido porque você não tem permissão de criar sub-pastas nesta pasta - + Not allowed because you don't have permission to add parent directory Não permitido porque você não tem permissão de criar pastas mãe - + Not allowed because you don't have permission to add files in that directory Não permitido porque você não tem permissão de adicionar arquivos a esta pasta - + Not allowed to upload this file because it is read-only on the server, restoring Não é permitido fazer o upload deste arquivo porque ele é somente leitura no servidor, restaurando - - + + Not allowed to remove, restoring Não é permitido remover, restaurando - + Move not allowed, item restored Não é permitido mover, item restaurado - + Move not allowed because %1 is read-only Não é permitido mover porque %1 é somente para leitura - + the destination o destino - + the source a fonte diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index d864db783..c2fc62983 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -1784,229 +1784,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Успешно. - + CSync failed to create a lock file. CSync не удалось создать файл блокировки. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync не смог загрузить или создать файл журнала. Убедитесь что вы имеете права чтения и записи в локальной директории. - + CSync failed to write the journal file. CSync не смог записать файл журнала. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1 плагин для синхронизации не удается загрузить.<br/>Пожалуйста, убедитесь, что он установлен!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Системное время на этом клиенте отличается от времени на сервере. Воспользуйтесь сервисом синхронизации времени (NTP) на серверной и клиентской машинах для установки точного времени. - + CSync could not detect the filesystem type. CSync не удалось обнаружить тип файловой системы. - + CSync got an error while processing internal trees. CSync получил сообщение об ошибке при обработке внутренних деревьев. - + CSync failed to reserve memory. CSync не удалось зарезервировать память. - + CSync fatal parameter error. Фатальная ошибка параметра CSync. - + CSync processing step update failed. Процесс обновления CSync не удался. - + CSync processing step reconcile failed. Процесс согласования CSync не удался. - + CSync processing step propagate failed. Процесс передачи CSync не удался. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Целевая папка не существует.</p><p>Проверьте настройки синхронизации.</p> - + A remote file can not be written. Please check the remote access. Удаленный файл не может быть записан. Пожалуйста, проверьте удаленный доступ. - + The local filesystem can not be written. Please check permissions. Локальная файловая система не доступна для записи. Пожалуйста, проверьте права пользователя. - + CSync failed to connect through a proxy. CSync не удалось подключиться через прокси. - + CSync could not authenticate at the proxy. CSync не удалось авторизоваться на прокси сервере. - + CSync failed to lookup proxy or server. CSync не удалось найти прокси сервер. - + CSync failed to authenticate at the %1 server. CSync не удалось аутентифицироваться на сервере %1. - + CSync failed to connect to the network. CSync не удалось подключиться к сети. - + A network connection timeout happened. Произошёл таймаут соединения сети. - + A HTTP transmission error happened. Произошла ошибка передачи http. - + CSync failed due to not handled permission deniend. CSync упал в связи с отутствием обработки из-за отказа в доступе. - + CSync failed to access CSync не имеет доступа - + CSync tried to create a directory that already exists. CSync пытался создать директорию, которая уже существует. - - + + CSync: No space on %1 server available. CSync: Нет доступного пространства на сервере %1 server. - + CSync unspecified error. Неизвестная ошибка CSync. - + Aborted by the user Прервано пользователем - + An internal error number %1 happened. Произошла внутренняя ошибка номер %1. - + The item is not synced because of previous errors: %1 Путь не синхронизируется из-за произошедших ошибок: %1 - + Symbolic links are not supported in syncing. Синхронизация символических ссылок не поддерживается. - + File is listed on the ignore list. Файл присутствует в списке игнорируемых. - + File contains invalid characters that can not be synced cross platform. Файл содержит недопустимые символы, которые невозможно синхронизировать между платформами. - + Unable to initialize a sync journal. Не удалось инициализировать журнал синхронизации. - + Cannot open the sync journal Не удаётся открыть журнал синхронизации - + Not allowed because you don't have permission to add sub-directories in that directory Недопустимо из-за отсутствия у вас разрешений на добавление подпапок в этой папке - + Not allowed because you don't have permission to add parent directory Недопустимо из-за отсутствия у вас разрешений на добавление родительской папки - + Not allowed because you don't have permission to add files in that directory Недопустимо из-за отсутствия у вас разрешений на добавление файлов в эту папку - + Not allowed to upload this file because it is read-only on the server, restoring Недопустимо отправить этот файл поскольку на севрере он помечен только для чтения, восстанавливаем - - + + Not allowed to remove, restoring Недопустимо удалить, восстанавливаем - + Move not allowed, item restored Перемещение недопустимо, элемент восстановлен - + Move not allowed because %1 is read-only Перемещение недопустимо, поскольку %1 помечен только для чтения - + the destination Назначение - + the source Источник diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index 923c73727..30ef43dca 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -1782,229 +1782,229 @@ Nie je vhodné ju používať. Mirall::SyncEngine - + Success. Úspech. - + CSync failed to create a lock file. Vytvorenie "zamykacieho" súboru cez "CSync" zlyhalo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync sa nepodarilo načítať alebo vytvoriť súbor žurnálu. Uistite sa, že máte oprávnenia na čítanie a zápis v lokálnom synchronizovanom priečinku. - + CSync failed to write the journal file. CSync sa nepodarilo zapísať do súboru žurnálu. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1 zásuvný modul pre "CSync" nebolo možné načítať.<br/>Prosím skontrolujte inštaláciu!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systémový čas tohoto klienta je odlišný od systémového času na serveri. Prosím zvážte použitie sieťovej časovej synchronizačnej služby (NTP) na serveri a klientských strojoch, aby bol na nich rovnaký čas. - + CSync could not detect the filesystem type. Detekcia súborového systému vrámci "CSync" zlyhala. - + CSync got an error while processing internal trees. Spracovanie "vnútorných stromov" vrámci "CSync" zlyhalo. - + CSync failed to reserve memory. CSync sa nepodarilo zarezervovať pamäť. - + CSync fatal parameter error. CSync kritická chyba parametrov. - + CSync processing step update failed. CSync sa nepodarilo spracovať krok aktualizácie. - + CSync processing step reconcile failed. CSync sa nepodarilo spracovať krok zladenia. - + CSync processing step propagate failed. CSync sa nepodarilo spracovať krok propagácie. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Cieľový priečinok neexistuje.</p><p>Skontrolujte, prosím, nastavenia synchronizácie.</p> - + A remote file can not be written. Please check the remote access. Vzdialený súbor nie je možné zapísať. Prosím skontrolujte vzdialený prístup. - + The local filesystem can not be written. Please check permissions. Do lokálneho súborového systému nie je možné zapisovať. Prosím skontrolujte povolenia. - + CSync failed to connect through a proxy. CSync sa nepodarilo prihlásiť cez proxy. - + CSync could not authenticate at the proxy. CSync sa nemohol prihlásiť k proxy. - + CSync failed to lookup proxy or server. CSync sa nepodarilo nájsť proxy alebo server. - + CSync failed to authenticate at the %1 server. CSync sa nepodarilo prihlásiť na server %1. - + CSync failed to connect to the network. CSync sa nepodarilo pripojiť k sieti. - + A network connection timeout happened. - + A HTTP transmission error happened. Chyba HTTP prenosu. - + CSync failed due to not handled permission deniend. CSync zlyhalo. Nedostatočné oprávnenie. - + CSync failed to access CSync nepodaril prístup - + CSync tried to create a directory that already exists. CSync sa pokúsil vytvoriť priečinok, ktorý už existuje. - - + + CSync: No space on %1 server available. CSync: Na serveri %1 nie je žiadne voľné miesto. - + CSync unspecified error. CSync nešpecifikovaná chyba. - + Aborted by the user Zrušené používateľom - + An internal error number %1 happened. Vyskytla sa vnútorná chyba číslo %1. - + The item is not synced because of previous errors: %1 Položka nebola synchronizovaná kvôli predchádzajúcej chybe: %1 - + Symbolic links are not supported in syncing. Symbolické odkazy nie sú podporované pri synchronizácii. - + File is listed on the ignore list. Súbor je zapísaný na zozname ignorovaných. - + File contains invalid characters that can not be synced cross platform. Súbor obsahuje neplatné znaky, ktoré nemôžu byť zosynchronizované medzi platformami. - + Unable to initialize a sync journal. Nemôžem inicializovať synchronizačný žurnál. - + Cannot open the sync journal Nemožno otvoriť sync žurnál - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 50ca4499c..813a99591 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -1783,229 +1783,229 @@ Te je treba uskladiti znova. Mirall::SyncEngine - + Success. Uspešno končano. - + CSync failed to create a lock file. Ustvarjanje datoteke zaklepa s CSync je spodletelo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Nalaganje ali ustvarjanje dnevniške datoteke s CSync je spodletelo. Za to opravilo so zahtevana posebna dovoljenja krajevne mape za usklajevanje. - + CSync failed to write the journal file. Zapisovanje dnevniške datoteke s CSync je spodletelo. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Vstavka %1 za CSync ni mogoče naložiti.<br/>Preverite namestitev!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Sistemski čas na odjemalcu ni skladen s sistemskim časom na strežniku. Priporočljivo je uporabiti storitev usklajevanja časa (NTP) na strežniku in odjemalcu. S tem omogočimo ujemanje podatkov o času krajevnih in oddaljenih datotek. - + CSync could not detect the filesystem type. Zaznavanje vrste datotečnega sistema s CSync je spodletelo. - + CSync got an error while processing internal trees. Pri obdelavi notranje drevesne strukture s CSync je prišlo do napake. - + CSync failed to reserve memory. Vpisovanje prostora v pomnilniku za CSync je spodletelo. - + CSync fatal parameter error. Usodna napaka parametra CSync. - + CSync processing step update failed. Korak opravila posodobitve CSync je spodletel. - + CSync processing step reconcile failed. Korak opravila poravnave CSync je spodletel. - + CSync processing step propagate failed. Korak opravila razširjanja CSync je spodletel. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Ciljna mapa ne obstaja.</p><p>Preveriti je treba nastavitve usklajevanja.</p> - + A remote file can not be written. Please check the remote access. Oddaljene datoteke ni mogoče zapisati. Najverjetneje je vzrok v oddaljenem dostopu. - + The local filesystem can not be written. Please check permissions. V krajevni datotečni sistem ni mogoče pisati. Najverjetneje je vzrok v neustreznih dovoljenjih. - + CSync failed to connect through a proxy. Povezava CSync preko posredniškega strežnika je spodletel. - + CSync could not authenticate at the proxy. Overitev CSync na posredniškem strežniku je spodletela. - + CSync failed to lookup proxy or server. Poizvedba posredniškega strežnika s CSync je spodletela. - + CSync failed to authenticate at the %1 server. Overitev CSync pri strežniku %1 je spodletela. - + CSync failed to connect to the network. Povezava CSync v omrežje je spodletela. - + A network connection timeout happened. - + A HTTP transmission error happened. Prišlo je do napake med prenosom HTTP. - + CSync failed due to not handled permission deniend. Delovanje CSync je zaradi neustreznih dovoljenj spodletelo. - + CSync failed to access Dostop s CSync je spodletel - + CSync tried to create a directory that already exists. Prišlo je do napake programa CSync zaradi poskusa ustvarjanja mape z že obstoječim imenom. - - + + CSync: No space on %1 server available. Odziv CSync: na strežniku %1 ni razpoložljivega prostora. - + CSync unspecified error. Nedoločena napaka CSync. - + Aborted by the user Opravilo je bilo prekinjeno s strani uporabnika - + An internal error number %1 happened. Prišlo je do notranje napake številka %1. - + The item is not synced because of previous errors: %1 Predmet ni usklajen zaradi predhodne napake: %1 - + Symbolic links are not supported in syncing. Usklajevanje simbolnih povezav ni podprto. - + File is listed on the ignore list. Datoteka je na seznamu prezrtih datotek. - + File contains invalid characters that can not be synced cross platform. Ime datoteke vsebuje neveljavne znake, ki niso podprti na vseh okoljih. - + Unable to initialize a sync journal. Dnevnika usklajevanja ni mogoče začeti. - + Cannot open the sync journal Ni mogoče odpreti dnevnika usklajevanja - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination cilj - + the source vir diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index f2e770f42..b5dc931f9 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -1784,229 +1784,229 @@ Försök att synka dessa igen. Mirall::SyncEngine - + Success. Lyckades. - + CSync failed to create a lock file. CSync misslyckades med att skapa en låsfil. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync misslyckades att skapa en journal fil. Se till att du har läs och skriv rättigheter i den lokala synk katalogen. - + CSync failed to write the journal file. CSynk misslyckades att skriva till journal filen. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Plugin %1 för csync kunde inte laddas.<br/>Var god verifiera installationen!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systemtiden på denna klientdator är annorlunda än systemtiden på servern. Använd en tjänst för tidssynkronisering (NTP) på servern och alla klientdatorer så att tiden är lika. - + CSync could not detect the filesystem type. CSync kunde inte upptäcka filsystemtyp. - + CSync got an error while processing internal trees. CSYNC fel vid intern bearbetning. - + CSync failed to reserve memory. CSync misslyckades att reservera minne. - + CSync fatal parameter error. CSync fatal parameter fel. - + CSync processing step update failed. CSync processteg update misslyckades. - + CSync processing step reconcile failed. CSync processteg reconcile misslyckades. - + CSync processing step propagate failed. CSync processteg propagate misslyckades. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Målmappen finns inte</p><p>Vänligen, kontroller inställningen för sync.</p> - + A remote file can not be written. Please check the remote access. En fil på servern kan inte skapas. Kontrollera åtkomst till fjärranslutningen. - + The local filesystem can not be written. Please check permissions. Kan inte skriva till det lokala filsystemet. Var god kontrollera rättigheterna. - + CSync failed to connect through a proxy. CSync misslyckades att ansluta genom en proxy. - + CSync could not authenticate at the proxy. CSync kunde inte autentisera mot proxy. - + CSync failed to lookup proxy or server. CSync misslyckades att hitta proxy eller server. - + CSync failed to authenticate at the %1 server. CSync misslyckades att autentisera mot %1 servern. - + CSync failed to connect to the network. CSync misslyckades att ansluta mot nätverket. - + A network connection timeout happened. En timeout på nätverksanslutningen har inträffat. - + A HTTP transmission error happened. Ett HTTP överföringsfel inträffade. - + CSync failed due to not handled permission deniend. CSYNC misslyckades på grund av att nekad åtkomst inte hanterades. - + CSync failed to access CSynk misslyckades att tillträda - + CSync tried to create a directory that already exists. CSync försökte skapa en mapp som redan finns. - - + + CSync: No space on %1 server available. CSync: Ingen plats på %1 server tillgänglig. - + CSync unspecified error. CSync ospecificerat fel. - + Aborted by the user Avbruten av användare - + An internal error number %1 happened. Ett internt fel hände. nummer %1 - + The item is not synced because of previous errors: %1 Objektet kunde inte synkas på grund av tidigare fel: %1 - + Symbolic links are not supported in syncing. Symboliska länkar stöds ej i synkningen. - + File is listed on the ignore list. Filen är listad i ignorerings listan. - + File contains invalid characters that can not be synced cross platform. Filen innehåller ogiltiga tecken som inte kan synkas oberoende av plattform. - + Unable to initialize a sync journal. Kan inte initialisera en synk journal. - + Cannot open the sync journal Kunde inte öppna synk journalen - + Not allowed because you don't have permission to add sub-directories in that directory Går ej att genomföra då du saknar rättigheter att lägga till underkataloger i den katalogen - + Not allowed because you don't have permission to add parent directory Går ej att genomföra då du saknar rättigheter att lägga till någon moderkatalog - + Not allowed because you don't have permission to add files in that directory Går ej att genomföra då du saknar rättigheter att lägga till filer i den katalogen - + Not allowed to upload this file because it is read-only on the server, restoring Inte behörig att ladda upp denna fil då den är skrivskyddad på servern, återställer - - + + Not allowed to remove, restoring Inte behörig att radera, återställer - + Move not allowed, item restored Det gick inte att genomföra flytten, objektet återställs - + Move not allowed because %1 is read-only Det gick inte att genomföra flytten då %1 är skrivskyddad - + the destination destinationen - + the source källan diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index 248c401a8..57e6647c6 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -1774,229 +1774,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. เสร็จสิ้น - + CSync failed to create a lock file. CSync ล้มเหลวในการสร้างไฟล์ล็อคข้อมูล - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>ปลั๊กอิน %1 สำหรับ csync could not be loadeไม่สามารถโหลดได้.<br/>กรุณาตรวจสอบความถูกต้องในการติดตั้ง!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. เวลาในระบบของโปรแกรมไคลเอนต์นี้แตกต่างจากเวลาในระบบของเซิร์ฟเวอร์ กรุณาใช้บริการผสานข้อมูลของเวลา (NTP) บนเซิร์ฟเวอร์และเครื่องไคลเอนต์เพื่อปรับเวลาให้ตรงกัน - + CSync could not detect the filesystem type. CSync ไม่สามารถตรวจพบประเภทของไฟล์ในระบบได้ - + CSync got an error while processing internal trees. CSync เกิดข้อผิดพลาดบางประการในระหว่างประมวลผล internal trees - + CSync failed to reserve memory. การจัดสรรหน่วยความจำ CSync ล้มเหลว - + CSync fatal parameter error. พบข้อผิดพลาดเกี่ยวกับ CSync fatal parameter - + CSync processing step update failed. การอัพเดทขั้นตอนการประมวลผล CSync ล้มเหลว - + CSync processing step reconcile failed. การปรับปรุงขั้นตอนการประมวลผล CSync ล้มเหลว - + CSync processing step propagate failed. การถ่ายทอดขั้นตอนการประมวลผล CSync ล้มเหลว - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. ไม่สามารถเขียนข้อมูลไปยังไฟล์ระยะไกลได้ กรุณาตรวจสอบการเข้าถึงข้อมูลระยะไกล - + The local filesystem can not be written. Please check permissions. ระบบไฟล์ในพื้นที่ไม่สามารถเขียนข้อมูลได้ กรุณาตรวจสอบสิทธิ์การเข้าใช้งาน - + CSync failed to connect through a proxy. CSync ล้มเหลวในการเชื่อมต่อผ่านทางพร็อกซี่ - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync ไม่สามารถค้นหาพร็อกซี่บนเซิร์ฟเวอร์ได้ - + CSync failed to authenticate at the %1 server. CSync ล้มเหลวในการยืนยันสิทธิ์การเข้าใช้งานที่เซิร์ฟเวอร์ %1 - + CSync failed to connect to the network. CSync ล้มเหลวในการเชื่อมต่อกับเครือข่าย - + A network connection timeout happened. - + A HTTP transmission error happened. เกิดข้อผิดพลาดเกี่ยวกับ HTTP transmission - + CSync failed due to not handled permission deniend. CSync ล้มเหลว เนื่องจากไม่สามารถจัดการกับการปฏิเสธให้เข้าใช้งานได้ - + CSync failed to access - + CSync tried to create a directory that already exists. CSync ได้พยายามที่จะสร้างไดเร็กทอรี่ที่มีอยู่แล้ว - - + + CSync: No space on %1 server available. CSync: ไม่มีพื้นที่เหลือเพียงพอบนเซิร์ฟเวอร์ %1 - + CSync unspecified error. CSync ไม่สามารถระบุข้อผิดพลาดได้ - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index f1c3ea95f..f752bf6e3 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -1784,229 +1784,229 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Mirall::SyncEngine - + Success. Başarılı. - + CSync failed to create a lock file. CSync bir kilit dosyası oluşturamadı. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync, günlük dosyası yükleyemedi veya oluşturamadı. Lütfen yerel eşitleme dizininde okuma ve yazma izinleriniz olduğundan emin olun. - + CSync failed to write the journal file. CSync günlük dosyasına yazamadı. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Csync için %1 eklentisi yüklenemedi.<br/>Lütfen kurulumu doğrulayın!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Bu istemci üzerinde sistem saati sunucudaki sistem saati ile farklı. Sunucu ve istemci makinelerde bir zaman eşitleme hizmeti (NTP) kullanırsanız zaman aynı kalır. - + CSync could not detect the filesystem type. CSync dosya sistemi türünü tespit edemedi. - + CSync got an error while processing internal trees. CSync dahili ağaçları işlerken bir hata ile karşılaştı. - + CSync failed to reserve memory. CSync bellek ayıramadı. - + CSync fatal parameter error. CSync ciddi parametre hatası. - + CSync processing step update failed. CSync güncelleme süreç adımı başarısız. - + CSync processing step reconcile failed. CSync uzlaştırma süreç adımı başarısız. - + CSync processing step propagate failed. CSync yayma süreç adımı başarısız. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Hedef dizin mevcut değil.</p><p>Lütfen eşitleme ayarını denetleyin.</p> - + A remote file can not be written. Please check the remote access. Bir uzak dosya yazılamıyor. Lütfen uzak erişimi denetleyin. - + The local filesystem can not be written. Please check permissions. Yerel dosya sistemine yazılamıyor. Lütfen izinleri kontrol edin. - + CSync failed to connect through a proxy. CSync bir vekil sunucu aracılığıyla bağlanırken hata oluştu. - + CSync could not authenticate at the proxy. CSync vekil sunucuda kimlik doğrulayamadı. - + CSync failed to lookup proxy or server. CSync bir vekil veya sunucu ararken başarısız oldu. - + CSync failed to authenticate at the %1 server. CSync %1 sunucusunda kimlik doğrularken başarısız oldu. - + CSync failed to connect to the network. CSync ağa bağlanamadı. - + A network connection timeout happened. Bir ağ zaman aşımı meydana geldi. - + A HTTP transmission error happened. Bir HTTP aktarım hatası oluştu. - + CSync failed due to not handled permission deniend. CSync ele alınmayan izin reddinden dolayı başarısız. - + CSync failed to access CSync erişemedi: - + CSync tried to create a directory that already exists. CSync, zaten mevcut olan bir dizin oluşturmaya çalıştı. - - + + CSync: No space on %1 server available. CSync: %1 sunucusunda kullanılabilir alan yok. - + CSync unspecified error. CSync belirtilmemiş hata. - + Aborted by the user Kullanıcı tarafından iptal edildi - + An internal error number %1 happened. %1 numaralı bir hata oluştu. - + The item is not synced because of previous errors: %1 Bu öge önceki hatalar koşullarından dolayı eşitlenemiyor: %1 - + Symbolic links are not supported in syncing. Sembolik bağlantılar eşitlemede desteklenmiyor. - + File is listed on the ignore list. Dosya yoksayma listesinde. - + File contains invalid characters that can not be synced cross platform. Dosya, çapraz platform arasında eşitlenemeyecek karakterler içeriyor. - + Unable to initialize a sync journal. Bir eşitleme günlüğü başlatılamadı. - + Cannot open the sync journal Eşitleme günlüğü açılamıyor - + Not allowed because you don't have permission to add sub-directories in that directory Bu dizine alt dizin ekleme yetkiniz olmadığından izin verilmedi - + Not allowed because you don't have permission to add parent directory Üst dizin ekleme yetkiniz olmadığından izin verilmedi - + Not allowed because you don't have permission to add files in that directory Bu dizine dosya ekleme yetkiniz olmadığından izin verilmedi - + Not allowed to upload this file because it is read-only on the server, restoring Sunucuda salt okunur olduğundan, bu dosya yüklenemedi, geri alınıyor - - + + Not allowed to remove, restoring Kaldırmaya izin verilmedi, geri alınıyor - + Move not allowed, item restored Taşımaya izin verilmedi, öge geri alındı - + Move not allowed because %1 is read-only %1 salt okunur olduğundan taşımaya izin verilmedi - + the destination hedef - + the source kaynak diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index 546d1142a..323ac61b9 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -1776,229 +1776,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Успішно. - + CSync failed to create a lock file. CSync не вдалося створити файл блокування. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p> %1 плагін для синхронізації не вдалося завантажити.<br/>Будь ласка, перевірте його інсталяцію!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Системний час цього клієнта відрізняється від системного часу на сервері. Будь ласка, використовуйте сервіс синхронізації часу (NTP) на сервері та клієнті, аби час був однаковий. - + CSync could not detect the filesystem type. CSync не вдалося визначити тип файлової системи. - + CSync got an error while processing internal trees. У CSync виникла помилка під час сканування внутрішньої структури каталогів. - + CSync failed to reserve memory. CSync не вдалося зарезервувати пам'ять. - + CSync fatal parameter error. У CSync сталася фатальна помилка параметра. - + CSync processing step update failed. CSync не вдалася зробити оновлення . - + CSync processing step reconcile failed. CSync не вдалася зробити врегулювання. - + CSync processing step propagate failed. CSync не вдалася зробити розповсюдження. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. Не можливо проводити запис у віддалену файлову систему. Будь ласка, перевірте повноваження доступу. - + The local filesystem can not be written. Please check permissions. Не можливо проводити запис у локальну файлову систему. Будь ласка, перевірте повноваження. - + CSync failed to connect through a proxy. CSync не вдалося приєднатися через Проксі. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync не вдалося знайти Проксі або Сервер. - + CSync failed to authenticate at the %1 server. CSync не вдалося аутентифікуватися на %1 сервері. - + CSync failed to connect to the network. CSync не вдалося приєднатися до мережі. - + A network connection timeout happened. - + A HTTP transmission error happened. Сталася помилка передачі даних по HTTP. - + CSync failed due to not handled permission deniend. CSync завершився неуспішно через порушення прав доступу. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync намагалася створити каталог, який вже існує. - - + + CSync: No space on %1 server available. CSync: на сервері %1 скінчилося місце. - + CSync unspecified error. Невизначена помилка CSync. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 0337b84e4..c2f75dc8f 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -1780,229 +1780,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSync 无法创建文件锁。 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync同步失败,请确定是否有本地同步目录的读写权 - + CSync failed to write the journal file. CSync写日志文件失败 - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csync 的 %1 插件不能加载。<br/>请校验安装!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. 本客户端的系统时间和服务器的系统时间不一致。请在服务器和客户机上使用时间同步服务 (NTP)以让时间一致。 - + CSync could not detect the filesystem type. CSync 无法检测文件系统类型。 - + CSync got an error while processing internal trees. CSync 在处理内部文件树时出错。 - + CSync failed to reserve memory. CSync 失败,内存不足。 - + CSync fatal parameter error. CSync 致命参数错误。 - + CSync processing step update failed. CSync 处理步骤更新失败。 - + CSync processing step reconcile failed. CSync 处理步骤调和失败。 - + CSync processing step propagate failed. CSync 处理步骤传播失败。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>目标目录不存在。</p><p>请检查同步设置。</p> - + A remote file can not be written. Please check the remote access. 远程文件不可写,请检查远程权限。 - + The local filesystem can not be written. Please check permissions. 本地文件系统不可写。请检查权限。 - + CSync failed to connect through a proxy. CSync 未能通过代理连接。 - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync 无法查询代理或服务器。 - + CSync failed to authenticate at the %1 server. CSync 于 %1 服务器认证失败。 - + CSync failed to connect to the network. CSync 联网失败。 - + A network connection timeout happened. 网络连接超时。 - + A HTTP transmission error happened. HTTP 传输错误。 - + CSync failed due to not handled permission deniend. 出于未处理的权限拒绝,CSync 失败。 - + CSync failed to access 访问 CSync 失败 - + CSync tried to create a directory that already exists. CSync 尝试创建了已有的文件夹。 - - + + CSync: No space on %1 server available. CSync:%1 服务器空间已满。 - + CSync unspecified error. CSync 未定义错误。 - + Aborted by the user 用户撤销 - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. 符号链接不被同步支持。 - + File is listed on the ignore list. 文件在忽略列表中。 - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. 无法初始化同步日志 - + Cannot open the sync journal 无法打开同步日志 - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index 1608aef37..41aaf4769 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -1774,229 +1774,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSync 無法建立文件鎖 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>用於csync的套件%1</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. 本客戶端的系統時間和伺服器系統時間不一致,請在伺服器與客戶端上使用時間同步服務(NTP)讓時間保持一致 - + CSync could not detect the filesystem type. CSync 無法偵測檔案系統的類型 - + CSync got an error while processing internal trees. CSync 處理內部資料樹時發生錯誤 - + CSync failed to reserve memory. CSync 無法取得記憶體空間。 - + CSync fatal parameter error. CSync 參數錯誤。 - + CSync processing step update failed. CSync 處理步驟 "update" 失敗。 - + CSync processing step reconcile failed. CSync 處理步驟 "reconcile" 失敗。 - + CSync processing step propagate failed. CSync 處理步驟 "propagate" 失敗。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>目標資料夾不存在</p><p>請檢查同步設定</p> - + A remote file can not be written. Please check the remote access. 遠端檔案無法寫入,請確認遠端存取權限。 - + The local filesystem can not be written. Please check permissions. 本地檔案系統無法寫入,請確認權限。 - + CSync failed to connect through a proxy. CSync 透過代理伺服器連線失敗。 - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync 查詢代理伺服器或伺服器失敗。 - + CSync failed to authenticate at the %1 server. CSync 於伺服器 %1 認證失敗。 - + CSync failed to connect to the network. CSync 無法連接到網路。 - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP 傳輸錯誤。 - + CSync failed due to not handled permission deniend. CSync 失敗,由於未處理的存取被拒。 - + CSync failed to access - + CSync tried to create a directory that already exists. CSync 試圖建立一個已經存在的目錄。 - - + + CSync: No space on %1 server available. CSync:伺服器 %1 沒有可用空間。 - + CSync unspecified error. CSync 未知的錯誤。 - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source From 0f7efbc22e02166c5044871a661309bb9ce6fb81 Mon Sep 17 00:00:00 2001 From: Eran Date: Wed, 23 Jul 2014 13:52:02 +0300 Subject: [PATCH 026/133] fixed bug where the overall text caused in the folder view the to defrom --- src/mirall/folderstatusmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mirall/folderstatusmodel.cpp b/src/mirall/folderstatusmodel.cpp index b94239a35..881e1745e 100644 --- a/src/mirall/folderstatusmodel.cpp +++ b/src/mirall/folderstatusmodel.cpp @@ -254,7 +254,7 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem & painter->save(); // Sizes-Text - QRect octetRect = progressFm.boundingRect( overallString ); + QRect octetRect = progressFm.boundingRect(QRect(0,0,0,0), 0, overallString ); int progressTextWidth = octetRect.width() + 2; // Overall Progress Bar. From 2ca8805cda3822935a12a4ada31daa68942d034a Mon Sep 17 00:00:00 2001 From: Eran Date: Wed, 23 Jul 2014 15:09:28 +0300 Subject: [PATCH 027/133] Removed uneed code --- src/mirall/folderstatusmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mirall/folderstatusmodel.cpp b/src/mirall/folderstatusmodel.cpp index 881e1745e..0dac618b3 100644 --- a/src/mirall/folderstatusmodel.cpp +++ b/src/mirall/folderstatusmodel.cpp @@ -254,7 +254,7 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem & painter->save(); // Sizes-Text - QRect octetRect = progressFm.boundingRect(QRect(0,0,0,0), 0, overallString ); + QRect octetRect = progressFm.boundingRect(QRect(), 0, overallString ); int progressTextWidth = octetRect.width() + 2; // Overall Progress Bar. From 1d9d88ca856dc1c37c1c26521278eec100298889 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 23 Jul 2014 14:38:50 +0200 Subject: [PATCH 028/133] Always use the dummy crendential while trying to determine the credentials Otherwise the SHibbolethCredential may be set and it has hook to intercept 401 This should fix issue #1908 --- src/mirall/owncloudsetupwizard.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mirall/owncloudsetupwizard.cpp b/src/mirall/owncloudsetupwizard.cpp index c4b7388f7..9102c2f00 100644 --- a/src/mirall/owncloudsetupwizard.cpp +++ b/src/mirall/owncloudsetupwizard.cpp @@ -144,6 +144,8 @@ void OwncloudSetupWizard::slotDetermineAuthType(const QString &urlString) } Account *account = _ocWizard->account(); account->setUrl(url); + // Set fake credentials beforfe we check what credidential it actually is. + account->setCredentials(CredentialsFactory::create("dummy")); CheckServerJob *job = new CheckServerJob(_ocWizard->account(), false, this); job->setIgnoreCredentialFailure(true); connect(job, SIGNAL(instanceFound(QUrl,QVariantMap)), SLOT(slotOwnCloudFoundAuth(QUrl,QVariantMap))); From d4de024f15387da023ded98461f2e8e9c4879688 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 23 Jul 2014 17:54:12 +0200 Subject: [PATCH 029/133] Propagator: Fix local file name clash detection. Need to normalize the output of QFileInfo::canonicalFilePath() before comparing to a server side path. See https://bugreports.qt-project.org/browse/QTBUG-39622 This fixes #1998 and #1999 --- doc/ocdoc | 2 +- src/mirall/owncloudpropagator.cpp | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/doc/ocdoc b/doc/ocdoc index 2c3e584b2..c612df399 160000 --- a/doc/ocdoc +++ b/doc/ocdoc @@ -1 +1 @@ -Subproject commit 2c3e584b2356dc4324e6e0720b7aa908aaa480a3 +Subproject commit c612df399e3c775a2f9db1dc5e39d25920ab467b diff --git a/src/mirall/owncloudpropagator.cpp b/src/mirall/owncloudpropagator.cpp index b8295cf55..e32ea3e39 100644 --- a/src/mirall/owncloudpropagator.cpp +++ b/src/mirall/owncloudpropagator.cpp @@ -337,8 +337,15 @@ bool OwncloudPropagator::localFileNameClash( const QString& relFile ) QFileInfo fileInfo(file); if (!fileInfo.exists()) { re = false; + qDebug() << Q_FUNC_INFO << "No valid fileinfo"; } else { - re = ( ! fileInfo.canonicalFilePath().endsWith(relFile, Qt::CaseSensitive) ); + // Need to normalize to composited form because of + // https://bugreports.qt-project.org/browse/QTBUG-39622 + const QString cName = fileInfo.canonicalFilePath().normalized(QString::NormalizationForm_C); + // qDebug() << Q_FUNC_INFO << "comparing " << cName << " with " << file; + bool equal = (file == cName); + re = (!equal && ! cName.endsWith(relFile, Qt::CaseSensitive) ); + // qDebug() << Q_FUNC_INFO << "Returning for localFileNameClash: " << re; } #elif defined(Q_OS_WIN) const QString file( _localDir + relFile ); From 1fb52f0d8bab8ee1d3050d49438b2f3552f6b39f Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 23 Jul 2014 17:58:28 +0200 Subject: [PATCH 030/133] HTTPCreds: Do delete the WritePasswordJob to not leak memory. --- src/creds/httpcredentials.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/creds/httpcredentials.cpp b/src/creds/httpcredentials.cpp index 81899a2ba..9b9a6e0de 100644 --- a/src/creds/httpcredentials.cpp +++ b/src/creds/httpcredentials.cpp @@ -366,6 +366,8 @@ void HttpCredentials::slotWriteJobDone(QKeychain::Job *job) default: qDebug() << "Error while writing password" << job->errorString(); } + WritePasswordJob *wjob = qobject_cast(job); + wjob->deleteLater(); } void HttpCredentials::slotAuthentication(QNetworkReply* reply, QAuthenticator* authenticator) From 5356898efc5914ccd0e9897d8d11bf3096f7adcc Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Thu, 24 Jul 2014 01:25:23 -0400 Subject: [PATCH 031/133] [tx-robot] updated from transifex --- translations/mirall_pt.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 9e6668f7f..0d6b39e34 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -602,7 +602,7 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Server returned wrong content-range - + O servidor retornou o alcance-conteúdo errado @@ -1269,7 +1269,7 @@ It is not advisable to use it. Server returned wrong content-range - + O servidor retornou o alcance-conteúdo errado From c97f46d403b83aa56c460e3f7b8aeb769c0a63f4 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 24 Jul 2014 09:58:23 +0200 Subject: [PATCH 032/133] Bump version to 1.6.2 rc2 plus Changelog --- ChangeLog | 5 +++++ VERSION.cmake | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index e1eadfe59..fad220ba7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,11 @@ ChangeLog ========= version 1.6.2 (release 2014-07-x ) + * Another small mem leak fixed in HTTP Credentials. + * Fix local file name clash detection for MacOSX. + * Limit maximum wait time to ten seconds in network limiting. + * Fix data corruption while trying to resume and the server does + not support it. * HTTP Credentials: Read password from legacy place if not found. * Shibboleth: Fix the waiting curser that would not disapear (#1915) * Limit memory usage to avoid mem wasting and crashes diff --git a/VERSION.cmake b/VERSION.cmake index 6d35bbfef..f91d404e4 100644 --- a/VERSION.cmake +++ b/VERSION.cmake @@ -4,7 +4,7 @@ set( MIRALL_VERSION_PATCH 2 ) set( MIRALL_SOVERSION 0 ) if ( NOT DEFINED MIRALL_VERSION_SUFFIX ) - set( MIRALL_VERSION_SUFFIX "rc1") #e.g. beta1, beta2, rc1 + set( MIRALL_VERSION_SUFFIX "rc2") #e.g. beta1, beta2, rc1 endif( NOT DEFINED MIRALL_VERSION_SUFFIX ) if( NOT DEFINED MIRALL_VERSION_BUILD ) From f84e0010eea5854b7fd94965a3a2e3fa8fd9561e Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 17 Jul 2014 14:57:04 +0200 Subject: [PATCH 033/133] NSIS: ICU rebumped to 5.3 as per build service change --- cmake/modules/NSIS.template.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in index 923b2b352..5b92ee106 100644 --- a/cmake/modules/NSIS.template.in +++ b/cmake/modules/NSIS.template.in @@ -414,9 +414,9 @@ Section "${APPLICATION_NAME}" SEC_APPLICATION ;Qt deps File "${MING_BIN}\libpng16-16.dll" - File "${MING_BIN}\icudata51.dll" - File "${MING_BIN}\icui18n51.dll" - File "${MING_BIN}\icuuc51.dll" + File "${MING_BIN}\icudata53.dll" + File "${MING_BIN}\icui18n53.dll" + File "${MING_BIN}\icuuc53.dll" File "${MING_BIN}\libEGL.dll" File "${MING_BIN}\libGLESv2.dll" File "${MING_BIN}\libjpeg-8.dll" From 208011f6ab891d5b774b5d203fdc9c6a25c5cdb8 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 24 Jul 2014 11:17:59 +0200 Subject: [PATCH 034/133] propagator_qnam: add debug output in cae the file changed localy In order to debug https://github.com/owncloud/core/issues/9781 --- src/mirall/propagator_qnam.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mirall/propagator_qnam.cpp b/src/mirall/propagator_qnam.cpp index e3a6a91e7..73e1fbfb1 100644 --- a/src/mirall/propagator_qnam.cpp +++ b/src/mirall/propagator_qnam.cpp @@ -303,7 +303,7 @@ void PropagateUploadFileQNAM::slotPutFinished() } if (Utility::qDateTimeToTime_t(fi.lastModified()) != _item._modtime) { - /* Uh oh: The local file has changed during upload */ + qDebug() << "The local file has changed during upload:" << _item._modtime << "!=" << Utility::qDateTimeToTime_t(fi.lastModified()) << fi.lastModified(); _propagator->_activeJobs--; done(SyncFileItem::SoftError, tr("Local file changed during sync.")); // FIXME: the legacy code was retrying for a few seconds. From 3d0c0097190f488e23a0575419e441f528bc09e5 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 24 Jul 2014 15:41:09 +0200 Subject: [PATCH 035/133] propagator_qnam: Limit the HTTP buffer size when downloading Otherwise the buffer might fill up too quickly and get too large and consume too much memory which could lead to crash in extreme cases Should fix issue #1974 --- src/mirall/propagator_qnam.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mirall/propagator_qnam.cpp b/src/mirall/propagator_qnam.cpp index 73e1fbfb1..72668c08d 100644 --- a/src/mirall/propagator_qnam.cpp +++ b/src/mirall/propagator_qnam.cpp @@ -402,6 +402,7 @@ void GETFileJob::start() { setReply(davRequest("GET", path(), req)); setupConnections(reply()); + reply()->setReadBufferSize(128 * 1024); if( reply()->error() != QNetworkReply::NoError ) { qWarning() << Q_FUNC_INFO << " Network error: " << reply()->errorString(); From 8b93678e3d93fdcb92dc0e5d0dc15c6066bc5c54 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 25 Jul 2014 12:10:45 +0200 Subject: [PATCH 036/133] SocketAPI: Added REGISTER_PATH and UNREGISTER_PATH to inform the plugins about the top sync directories. Also cleaned the code a bit. --- src/mirall/socketapi.cpp | 63 +++++++++++++++++++++++++++++++--------- src/mirall/socketapi.h | 4 ++- 2 files changed, 52 insertions(+), 15 deletions(-) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index e34f86d66..cbd796b77 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -208,7 +208,7 @@ void SocketApi::slotNewConnection() _listeners.append(socket); foreach( QString alias, FolderMan::instance()->map().keys() ) { - slotUpdateFolderView(alias); + slotRegisterPath(alias); } } @@ -243,17 +243,35 @@ void SocketApi::slotReadSocket() } } -void SocketApi::slotUpdateFolderView(const QString& alias) +void SocketApi::slotRegisterPath( const QString& alias ) { - QString msg = QLatin1String("UPDATE_VIEW"); - Folder *f = FolderMan::instance()->folder(alias); if (f) { - msg.append(QLatin1String(":")); - msg.append(QDir::toNativeSeparators(QDir::cleanPath(f->path()))); + broadcastMessage(QLatin1String("REGISTER_PATH"), f->path() ); } +} - broadcastMessage(msg); +void SocketApi::slotUnregisterPath( const QString& alias ) +{ + Folder *f = FolderMan::instance()->folder(alias); + if (f) { + broadcastMessage(QLatin1String("UNREGISTER_PATH"), f->path() ); + } +} + +void SocketApi::slotUpdateFolderView(const QString& alias) +{ + Folder *f = FolderMan::instance()->folder(alias); + if (f) { + // do only send UPDATE_VIEW for a couple of status + if( f->syncResult().status() == SyncResult::SyncPrepare || + f->syncResult().status() == SyncResult::Success || + f->syncResult().status() == SyncResult::Problem || + f->syncResult().status() == SyncResult::Error || + f->syncResult().status() == SyncResult::SetupError ) { + broadcastMessage(QLatin1String("UPDATE_VIEW"), f->path() ); + } + } } void SocketApi::slotJobCompleted(const QString &folder, const SyncFileItem &item) @@ -269,8 +287,7 @@ void SocketApi::slotJobCompleted(const QString &folder, const SyncFileItem &item command = QLatin1String("ERROR"); } - broadcastMessage(QLatin1String("BROADCAST:") + command + QLatin1Char(':') - + QDir::toNativeSeparators(path)); + broadcastMessage(QLatin1String("BROADCAST:"), path, command); } @@ -279,14 +296,32 @@ void SocketApi::sendMessage(QTcpSocket *socket, const QString& message) { DEBUG << "Sending message: " << message; QString localMessage = message; - socket->write(localMessage.append("\n").toUtf8()); + if( ! localMessage.endsWith(QLatin1Char('\n'))) { + localMessage.append(QLatin1Char('\n')); + } + qint64 sent = socket->write(localMessage.toUtf8()); + if( sent != localMessage.toUtf8().length() ) { + qDebug() << "WARN: Could not send all data on socket for " << localMessage; + } + } -void SocketApi::broadcastMessage(const QString& message) +void SocketApi::broadcastMessage( const QString& verb, const QString& path, const QString& status ) { - DEBUG << "Broadcasting to" << _listeners.count() << "listeners: " << message; - foreach(QTcpSocket* current, _listeners) { - sendMessage(current, message); + QString msg(verb); + + if( !status.isEmpty() ) { + msg.append(QLatin1Char(':')); + msg.append(status); + } + if( !path.isEmpty() ) { + msg.append(QLatin1Char(':')); + msg.append(QDir::toNativeSeparators(path)); + } + + DEBUG << "Broadcasting to" << _listeners.count() << "listeners: " << msg; + foreach(QTcpSocket *socket, _listeners) { + sendMessage(socket, msg); } } diff --git a/src/mirall/socketapi.h b/src/mirall/socketapi.h index 52a07c445..a365d1b1a 100644 --- a/src/mirall/socketapi.h +++ b/src/mirall/socketapi.h @@ -44,10 +44,12 @@ private slots: void onLostConnection(); void slotReadSocket(); void slotJobCompleted(const QString &, const SyncFileItem &); + void slotUnregisterPath( const QString& alias ); + void slotRegisterPath( const QString& alias ); private: void sendMessage(QTcpSocket* socket, const QString& message); - void broadcastMessage(const QString& message); + void broadcastMessage(const QString& verb, const QString &path, const QString &status = QString::null); Q_INVOKABLE void command_RETRIEVE_FOLDER_STATUS(const QString& argument, QTcpSocket* socket); Q_INVOKABLE void command_RETRIEVE_FILE_STATUS(const QString& argument, QTcpSocket* socket); From 00274722cebe99c7ec63838806bc0c2a63310570 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 25 Jul 2014 12:11:12 +0200 Subject: [PATCH 037/133] nautilus plugin: Adopted to latest socket api changes. --- shell_integration/nautilus/ownCloud.py | 96 +++++++++++++++++++------- 1 file changed, 71 insertions(+), 25 deletions(-) mode change 100644 => 100755 shell_integration/nautilus/ownCloud.py diff --git a/shell_integration/nautilus/ownCloud.py b/shell_integration/nautilus/ownCloud.py old mode 100644 new mode 100755 index e83120311..968156f25 --- a/shell_integration/nautilus/ownCloud.py +++ b/shell_integration/nautilus/ownCloud.py @@ -1,3 +1,5 @@ +#!/usr/bin/python3 + import os import urllib import socket @@ -7,11 +9,13 @@ from gi.repository import GObject, Nautilus class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoProvider): nautilusVFSFile_table = {} - + registered_paths = {} + remainder = '' + def __init__(self): - self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) - self.sock.connect("/home/kf/.local/share/data/ownCloud/socket") - self.sock.settimeout(15) + self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.sock.connect(("localhost", 33001)) + self.sock.settimeout(5) GObject.io_add_watch(self.sock, GObject.IO_IN, self.handle_notify) @@ -19,7 +23,10 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP self.sock.send(cmd) def find_item_for_file( self, path ): - return self.nautilusVFSFile_table[path] + if path in self.nautilusVFSFile_table: + return self.nautilusVFSFile_table[path] + else: + return None def callback_update_file( self, path ): print "Got an update callback for " + path @@ -33,32 +40,65 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP # Handles a single line of server respoonse and sets the emblem def handle_server_response(self, l): - Emblems = { 'NOP': '', - 'NEED_SYNC':'view-refresh', - 'OK': 'dialog-ok' } - + Emblems = { 'OK' : 'dialog-ok', + 'SYNC' : 'view-refresh', + 'NEW' : 'view-refresh', + 'IGNORE' : '', + 'ERROR' : '', + 'OK+SWM' : '', + 'SYNC+SWM' : '', + 'NEW+SWM' : '', + 'IGNORE+SWM': '', + 'ERROR+SWM' : '', + 'NOP' : '' + } + + print "Server response: "+l parts = l.split(':') - if len(parts) > 2: - if parts[0] == 'STATUS': - emblem = Emblems[parts[1]] - elif parts[0] == 'BROADCAST': + if len(parts) > 0: + action = parts[0] + + # file = parts[1] + # print "Action for " + file + ": "+parts[0] + if action == 'STATUS': emblem = Emblems[parts[1]] + if emblem: + item = self.find_item_for_file(parts[2]) + if item: + item.add_emblem(emblem) + elif action == 'UPDATE_VIEW': + if parts[1] in self.registered_paths: + for p in self.nautilusVFSFile_table: + if p.startswith( parts[1] ): + item = self.nautilusVFSFile_table[p] + item.invalidate_extension_info() + self.update_file_info(item) + + elif action == 'REGISTER_PATH': + self.registered_paths[parts[1]] = 1 else: - print "We got unknown status " + parts[0] - - if emblem: - item = self.nautilusVFSFile_table[parts[2]] - if item: - item.set_emblem(emblem) + # print "We got unknown action " + action + 1 # notify is the raw answer from the socket def handle_notify(self, source, condition): - print "T " + data = source.recv(1024) + # prepend the remaining data from last call + if len(self.remainder) > 0: + data = self.remainder+data + self.remainder = '' + if len(data) > 0: + # remember the remainder for next round + lastNL = data.rfind('\n'); + if lastNL > -1 and lastNL < len(data): + self.remainder = data[lastNL+1:] + data = data[:lastNL] + for l in data.split('\n'): self.handle_server_response( l ) - + return True # run again def get_local_path(self, path): @@ -75,9 +115,15 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP return filename = urllib.unquote(item.get_uri()[7:]) + if item.is_directory(): + filename += '/' - self.nautilusVFSFile_table[filename] = item + for reg_path in self.registered_paths: + if filename.startswith(reg_path): + self.nautilusVFSFile_table[filename] = item - print "XXX " + filename - item.add_string_attribute('share_state', "share state") - self.askForOverlay(filename) + # item.add_string_attribute('share_state', "share state") + self.askForOverlay(filename) + break + else: + print "Not in scope:"+filename \ No newline at end of file From 98e21ae0ad2939088bd91d79f5b6dfcf1613389c Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 25 Jul 2014 12:20:38 +0200 Subject: [PATCH 038/133] SocketAPI: Connect REGISTER_FOLDER to Foldermans events. --- src/mirall/folderman.cpp | 9 +++++++++ src/mirall/socketapi.h | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/mirall/folderman.cpp b/src/mirall/folderman.cpp index 3cbaa8382..5729c4d35 100644 --- a/src/mirall/folderman.cpp +++ b/src/mirall/folderman.cpp @@ -82,6 +82,10 @@ void FolderMan::unloadFolder( const QString& alias ) f = _folderMap[alias]; } if( f ) { + if( _socketApi ) { + _socketApi->slotUnregisterPath(alias); + } + _folderChangeSignalMapper->removeMappings(f); if( _folderWatchers.contains(alias)) { FolderWatcher *fw = _folderWatchers[alias]; @@ -131,6 +135,11 @@ void FolderMan::registerFolderMonitor( Folder *folder ) _folderWatcherSignalMapper->setMapping(fw, folder->alias()); _folderWatchers.insert(folder->alias(), fw); } + + // register the folder with the socket API + if( _socketApi ) { + _socketApi->slotRegisterPath(folder->alias()); + } } void FolderMan::addMonitorPath( const QString& alias, const QString& path ) diff --git a/src/mirall/socketapi.h b/src/mirall/socketapi.h index a365d1b1a..cd8cbdf0d 100644 --- a/src/mirall/socketapi.h +++ b/src/mirall/socketapi.h @@ -38,14 +38,14 @@ public: public slots: void slotUpdateFolderView(const QString&); + void slotUnregisterPath( const QString& alias ); + void slotRegisterPath( const QString& alias ); private slots: void slotNewConnection(); void onLostConnection(); void slotReadSocket(); void slotJobCompleted(const QString &, const SyncFileItem &); - void slotUnregisterPath( const QString& alias ); - void slotRegisterPath( const QString& alias ); private: void sendMessage(QTcpSocket* socket, const QString& message); From 80c096b6f11062be413877a5145234635d5c053d Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Sat, 26 Jul 2014 01:25:23 -0400 Subject: [PATCH 039/133] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 26 +++++++++++++------------- translations/mirall_cs.ts | 26 +++++++++++++------------- translations/mirall_de.ts | 26 +++++++++++++------------- translations/mirall_el.ts | 26 +++++++++++++------------- translations/mirall_en.ts | 26 +++++++++++++------------- translations/mirall_es.ts | 26 +++++++++++++------------- translations/mirall_es_AR.ts | 26 +++++++++++++------------- translations/mirall_et.ts | 26 +++++++++++++------------- translations/mirall_eu.ts | 26 +++++++++++++------------- translations/mirall_fa.ts | 26 +++++++++++++------------- translations/mirall_fi.ts | 26 +++++++++++++------------- translations/mirall_fr.ts | 26 +++++++++++++------------- translations/mirall_gl.ts | 30 +++++++++++++++--------------- translations/mirall_hu.ts | 26 +++++++++++++------------- translations/mirall_it.ts | 26 +++++++++++++------------- translations/mirall_ja.ts | 26 +++++++++++++------------- translations/mirall_nl.ts | 26 +++++++++++++------------- translations/mirall_pl.ts | 26 +++++++++++++------------- translations/mirall_pt.ts | 26 +++++++++++++------------- translations/mirall_pt_BR.ts | 26 +++++++++++++------------- translations/mirall_ru.ts | 26 +++++++++++++------------- translations/mirall_sk.ts | 26 +++++++++++++------------- translations/mirall_sl.ts | 26 +++++++++++++------------- translations/mirall_sv.ts | 26 +++++++++++++------------- translations/mirall_th.ts | 26 +++++++++++++------------- translations/mirall_tr.ts | 26 +++++++++++++------------- translations/mirall_uk.ts | 26 +++++++++++++------------- translations/mirall_zh_CN.ts | 26 +++++++++++++------------- translations/mirall_zh_TW.ts | 26 +++++++++++++------------- 29 files changed, 379 insertions(+), 379 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index 004441c05..a7240eda5 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -375,67 +375,67 @@ Esteu segur que voleu executar aquesta operació? Mirall::FolderMan - + Could not reset folder state No es pot restablir l'estat de la carpeta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. S'ha trobat un diari de sincronització antic '%1', però no s'ha pogut eliminar. Assegureu-vos que no hi ha cap aplicació que actualment en faci ús. - + Undefined State. Estat indefinit. - + Waits to start syncing. Espera per començar la sincronització. - + Preparing for sync. Perparant per la sincronització. - + Sync is running. S'està sincronitzant. - + Server is currently not available. El servidor no està disponible actualment. - + Last Sync was successful. La darrera sincronització va ser correcta. - + Last Sync was successful, but with warnings on individual files. La última sincronització ha estat un èxit, però amb avisos en fitxers individuals. - + Setup Error. Error de configuració. - + User Abort. Cancel·la usuari. - + Sync is paused. La sincronització està en pausa. - + %1 (Sync is paused) %1 (Sync està pausat) diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 0bd6e5e35..fc47e187b 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -375,67 +375,67 @@ Opravdu chcete provést tuto akci? Mirall::FolderMan - + Could not reset folder state Nelze obnovit stav složky - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Byl nalezen starý záznam synchronizace '%1', ale nebylo možné jej odebrat. Ujistěte se, že není aktuálně používán jinou aplikací. - + Undefined State. Nedefinovaný stav. - + Waits to start syncing. Vyčkává na spuštění synchronizace. - + Preparing for sync. Příprava na synchronizaci. - + Sync is running. Synchronizace probíhá. - + Server is currently not available. Server je nyní nedostupný. - + Last Sync was successful. Poslední synchronizace byla úspěšná. - + Last Sync was successful, but with warnings on individual files. Poslední synchronizace byla úspěšná, ale s varováním u některých souborů - + Setup Error. Chyba nastavení. - + User Abort. Zrušení uživatelem. - + Sync is paused. Synchronizace pozastavena. - + %1 (Sync is paused) %1 (Synchronizace je pozastavena) diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index f681abc8c..001c35b58 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -376,67 +376,67 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Mirall::FolderMan - + Could not reset folder state Konnte Ordner-Zustand nicht zurücksetzen - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Ein altes Synchronisations-Journal '%1' wurde gefunden, konnte jedoch nicht entfernt werden. Bitte stellen Sie sicher, dass keine Anwendung es verwendet. - + Undefined State. Undefinierter Zustand. - + Waits to start syncing. Wartet auf Beginn der Synchronistation - + Preparing for sync. Synchronisation wird vorbereitet. - + Sync is running. Synchronisation läuft. - + Server is currently not available. Der Server ist momentan nicht erreichbar. - + Last Sync was successful. Die letzte Synchronisation war erfolgreich. - + Last Sync was successful, but with warnings on individual files. Letzte Synchronisation war erfolgreich, aber mit Warnungen für einzelne Dateien. - + Setup Error. Setup-Fehler. - + User Abort. Benutzer-Abbruch - + Sync is paused. Synchronisation wurde angehalten. - + %1 (Sync is paused) %1 (Synchronisation ist pausiert) diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 85f63b26f..5a65eea96 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -376,67 +376,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Δεν ήταν δυνατό να επαναφερθεί η κατάσταση του φακέλου - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Βρέθηκε ένα παλαιότερο αρχείο συγχρονισμού '%1', αλλά δεν μπόρεσε να αφαιρεθεί. Παρακαλώ βεβαιωθείτε ότι καμμία εφαρμογή δεν το χρησιμοποιεί αυτή τη στιγμή. - + Undefined State. Απροσδιόριστη Κατάσταση. - + Waits to start syncing. Αναμονή έναρξης συγχρονισμού. - + Preparing for sync. Προετοιμασία για συγχρονισμό. - + Sync is running. Ο συγχρονισμός εκτελείται. - + Server is currently not available. Ο διακομιστής δεν είναι διαθέσιμος προς το παρόν. - + Last Sync was successful. Ο τελευταίος συγχρονισμός ήταν επιτυχής. - + Last Sync was successful, but with warnings on individual files. Ο τελευταίος συγχρονισμός ήταν επιτυχής, αλλά υπήρχαν προειδοποιήσεις σε συγκεκριμένα αρχεία. - + Setup Error. Σφάλμα Ρύθμισης. - + User Abort. Ματαίωση από Χρήστη. - + Sync is paused. Παύση συγχρονισμού. - + %1 (Sync is paused) %1 (Παύση συγχρονισμού) diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index efcd5d9ae..b3fef462f 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. - + Waits to start syncing. - + Preparing for sync. - + Sync is running. - + Server is currently not available. - + Last Sync was successful. - + Last Sync was successful, but with warnings on individual files. - + Setup Error. - + User Abort. - + Sync is paused. - + %1 (Sync is paused) diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 3543fa406..4c20a1333 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -375,67 +375,67 @@ Está seguro de que desea realizar esta operación? Mirall::FolderMan - + Could not reset folder state No se ha podido restablecer el estado de la carpeta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Un antiguo registro (journal) de sincronización '%1' se ha encontrado, pero no se ha podido eliminar. Por favor asegúrese que ninguna aplicación la está utilizando. - + Undefined State. Estado no definido. - + Waits to start syncing. Esperando el inicio de la sincronización. - + Preparing for sync. Preparándose para sincronizar. - + Sync is running. Sincronización en funcionamiento. - + Server is currently not available. El servidor no está disponible en el momento - + Last Sync was successful. La última sincronización fue exitosa. - + Last Sync was successful, but with warnings on individual files. La última sincronización fue exitosa pero con advertencias para archivos individuales. - + Setup Error. Error de configuración. - + User Abort. Interrumpir. - + Sync is paused. La sincronización está en pausa. - + %1 (Sync is paused) %1 (Sincronización en pausa) diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index ff5cab196..c506ca8f6 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -374,67 +374,67 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Mirall::FolderMan - + Could not reset folder state No se pudo - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Una antigua sincronización con journaling '%1' fue encontrada, pero no se pudo eliminar. Por favor, asegurate que ninguna aplicación la está utilizando. - + Undefined State. Estado no definido. - + Waits to start syncing. Esperando el comienzo de la sincronización. - + Preparing for sync. Preparando la sincronización. - + Sync is running. Sincronización en funcionamiento. - + Server is currently not available. El servidor actualmente no está disponible. - + Last Sync was successful. La última sincronización fue exitosa. - + Last Sync was successful, but with warnings on individual files. El último Sync fue exitoso, pero hubo advertencias en archivos individuales. - + Setup Error. Error de configuración. - + User Abort. Interrumpir. - + Sync is paused. La sincronización está en pausa. - + %1 (Sync is paused) %1 (Sincronización en pausa) diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 55cd7b341..e7edfaf34 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -375,67 +375,67 @@ Oled kindel, et soovid seda operatsiooni teostada? Mirall::FolderMan - + Could not reset folder state Ei suutnud tühistada kataloogi staatust - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Leiti vana sünkroniseeringu zurnaal '%1', kuid selle eemaldamine ebaõnnenstus. Palun veendu, et seda kasutaks ükski programm. - + Undefined State. Määramata staatus. - + Waits to start syncing. Ootab sünkroniseerimise alustamist. - + Preparing for sync. Valmistun sünkroniseerima. - + Sync is running. Sünkroniseerimine on käimas. - + Server is currently not available. Server pole hetkel saadaval. - + Last Sync was successful. Viimane sünkroniseerimine oli edukas. - + Last Sync was successful, but with warnings on individual files. Viimane sünkroniseering oli edukas, kuid mõned failid põhjustasid tõrkeid. - + Setup Error. Seadistamise viga. - + User Abort. Kasutaja tühistamine. - + Sync is paused. Sünkroniseerimine on peatatud. - + %1 (Sync is paused) %1 (Sünkroniseerimine on peatatud) diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 44299e196..e7b4581f6 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Ezin izan da karpetaren egoera berrezarri - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Definitu gabeko egoera. - + Waits to start syncing. Itxoiten sinkronizazioa hasteko. - + Preparing for sync. Sinkronizazioa prestatzen. - + Sync is running. Sinkronizazioa martxan da. - + Server is currently not available. Zerbitzaria orain ez dago eskuragarri. - + Last Sync was successful. Azkeneko sinkronizazioa ongi burutu zen. - + Last Sync was successful, but with warnings on individual files. Azkenengo sinkronizazioa ongi burutu zen, baina banakako fitxategi batzuetan abisuak egon dira. - + Setup Error. Konfigurazio errorea. - + User Abort. Erabiltzaileak Bertan Behera Utzi. - + Sync is paused. Sinkronizazioa pausatuta dago. - + %1 (Sync is paused) %1 (Sinkronizazioa pausatuta dago) diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index da4f3219e..848e5a9de 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state نمی تواند حالت پوشه را تنظیم مجدد کند - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. موقعیت تعریف نشده - + Waits to start syncing. صبر کنید تا همگام سازی آغاز شود - + Preparing for sync. - + Sync is running. همگام سازی در حال اجراست - + Server is currently not available. - + Last Sync was successful. آخرین همگام سازی موفقیت آمیز بود - + Last Sync was successful, but with warnings on individual files. - + Setup Error. خطا در پیکر بندی. - + User Abort. - + Sync is paused. همگام سازی فعلا متوقف شده است - + %1 (Sync is paused) diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index b16690c28..3008ca970 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -373,67 +373,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Kansion tilaa ei voitu alustaa - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Määrittelemätön tila. - + Waits to start syncing. Odottaa synkronoinnin alkamista. - + Preparing for sync. Valmistellaan synkronointia. - + Sync is running. Synkronointi on meneillään. - + Server is currently not available. Palvelin ei ole käytettävissä. - + Last Sync was successful. Viimeisin synkronointi suoritettiin onnistuneesti. - + Last Sync was successful, but with warnings on individual files. Viimeisin synkronointi onnistui, mutta yksittäisten tiedostojen kanssa ilmeni varoituksia. - + Setup Error. Asetusvirhe. - + User Abort. - + Sync is paused. Synkronointi on keskeytetty. - + %1 (Sync is paused) %1 (Synkronointi on keskeytetty) diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index 9f6b3e974..7784698bd 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -375,67 +375,67 @@ Voulez-vous réellement effectuer cette opération ? Mirall::FolderMan - + Could not reset folder state Impossible de réinitialiser l'état du dossier - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Une synchronisation antérieure du journal de %1 a été trouvée, mais ne peut être supprimée. Veuillez vous assurer qu’aucune application n'est utilisée en ce moment. - + Undefined State. Statut indéfini. - + Waits to start syncing. En attente de synchronisation. - + Preparing for sync. Préparation de la synchronisation. - + Sync is running. La synchronisation est en cours. - + Server is currently not available. Le serveur est indisponible actuellement. - + Last Sync was successful. Dernière synchronisation effectuée avec succès - + Last Sync was successful, but with warnings on individual files. La dernière synchronisation s'est achevée avec succès mais avec des messages d'avertissement sur des fichiers individuels. - + Setup Error. Erreur d'installation. - + User Abort. Abandon par l'utilisateur. - + Sync is paused. La synchronisation est en pause. - + %1 (Sync is paused) %1 (Synchronisation en pause) diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index 68671e2ac..eca8d8337 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -375,67 +375,67 @@ Confirma que quere realizar esta operación? Mirall::FolderMan - + Could not reset folder state Non foi posíbel restabelecer o estado do cartafol - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Atopouse un rexistro de sincronización antigo en «%1» máis non pode ser retirado. Asegúrese de que non o está a usar ningún aplicativo. - + Undefined State. Estado sen definir. - + Waits to start syncing. Agardando polo comezo da sincronización. - + Preparing for sync. Preparando para sincronizar. - + Sync is running. Estase sincronizando. - + Server is currently not available. O servidor non está dispoñíbel actualmente. - + Last Sync was successful. A última sincronización fíxose correctamente. - + Last Sync was successful, but with warnings on individual files. A última sincronización fíxose correctamente, mais con algún aviso en ficheiros individuais. - + Setup Error. Erro de configuración. - + User Abort. Interrompido polo usuario. - + Sync is paused. Sincronización en pausa. - + %1 (Sync is paused) %1 (sincronización en pausa) @@ -603,7 +603,7 @@ Confirma que quere realizar esta operación? Server returned wrong content-range - + O servidor devolveu un intervalo de contidos estragado @@ -1272,7 +1272,7 @@ Recomendámoslle que non o use. Server returned wrong content-range - + O servidor devolveu un intervalo de contidos estragado diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index 57489022f..9dfaeaaf5 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Ismeretlen állapot. - + Waits to start syncing. Várakozás a szinkronizálás elindítására. - + Preparing for sync. Előkészítés szinkronizációhoz. - + Sync is running. Szinkronizálás fut. - + Server is currently not available. A kiszolgáló jelenleg nem érhető el. - + Last Sync was successful. Legutolsó szinkronizálás sikeres volt. - + Last Sync was successful, but with warnings on individual files. - + Setup Error. Beállítás hiba. - + User Abort. - + Sync is paused. Szinkronizálás megállítva. - + %1 (Sync is paused) diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 85c3144f1..dbe3c5c92 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -375,67 +375,67 @@ Sei sicuro di voler eseguire questa operazione? Mirall::FolderMan - + Could not reset folder state Impossibile ripristinare lo stato della cartella - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. È stato trovato un vecchio registro di sincronizzazione '%1', ma non può essere rimosso. Assicurati che nessuna applicazione lo stia utilizzando. - + Undefined State. Stato non definito. - + Waits to start syncing. Attende l'inizio della sincronizzazione. - + Preparing for sync. Preparazione della sincronizzazione. - + Sync is running. La sincronizzazione è in corso. - + Server is currently not available. Il server è attualmente non disponibile. - + Last Sync was successful. L'ultima sincronizzazione è stato completata correttamente. - + Last Sync was successful, but with warnings on individual files. Ultima sincronizzazione avvenuta, ma con avvisi relativi a singoli file. - + Setup Error. Errore di configurazione. - + User Abort. Interrotto dall'utente. - + Sync is paused. La sincronizzazione è sospesa. - + %1 (Sync is paused) %1 (La sincronizzazione è sospesa) diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index 42ce34dbf..37e4a30ed 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -375,67 +375,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state フォルダーの状態をリセットできませんでした - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 古い同期ジャーナル '%1' が見つかりましたが、削除できませんでした。それを現在使用しているアプリケーションが存在しないか確認してください。 - + Undefined State. 未定義の状態。 - + Waits to start syncing. 同期開始を待機中 - + Preparing for sync. 同期の準備中。 - + Sync is running. 同期を実行中です。 - + Server is currently not available. サーバーは現在利用できません。 - + Last Sync was successful. 最後の同期は成功しました。 - + Last Sync was successful, but with warnings on individual files. 最新の同期は成功しました。しかし、いくつかのファイルで問題がありました。 - + Setup Error. 設定エラー。 - + User Abort. ユーザーによる中止。 - + Sync is paused. 同期を一時停止しました。 - + %1 (Sync is paused) %1 (同期を一時停止) diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index cb31c5fe0..abc415a3e 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -375,67 +375,67 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Mirall::FolderMan - + Could not reset folder state Kan de beginstaat van de map niet terugzetten - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Een oud synchronisatieverslag '%1' is gevonden maar kan niet worden verwijderd. Zorg ervoor dat geen applicatie dit bestand gebruikt. - + Undefined State. Ongedefiniëerde staat - + Waits to start syncing. In afwachting van synchronisatie. - + Preparing for sync. Synchronisatie wordt voorbereid - + Sync is running. Bezig met synchroniseren. - + Server is currently not available. De server is nu niet beschikbaar. - + Last Sync was successful. Laatste synchronisatie was succesvol. - + Last Sync was successful, but with warnings on individual files. Laatste synchronisatie geslaagd, maar met waarschuwingen over individuele bestanden. - + Setup Error. Installatiefout. - + User Abort. Afgebroken door gebruiker. - + Sync is paused. Synchronisatie gepauzeerd. - + %1 (Sync is paused) %1 (Synchronisatie onderbroken) diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index aeccc1f94..1d51118ac 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -375,67 +375,67 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Mirall::FolderMan - + Could not reset folder state Nie udało się zresetować stanu folderu - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Stary sync journal '%1' został znaleziony, lecz nie mógł być usunięty. Proszę się upewnić, że żaden program go obecnie nie używa. - + Undefined State. Niezdefiniowany stan - + Waits to start syncing. Czekają na uruchomienie synchronizacji. - + Preparing for sync. Przygotowuję do synchronizacji - + Sync is running. Synchronizacja w toku - + Server is currently not available. Serwer jest obecnie niedostępny. - + Last Sync was successful. Ostatnia synchronizacja zakończona powodzeniem. - + Last Sync was successful, but with warnings on individual files. Ostatnia synchronizacja udana, ale istnieją ostrzeżenia z pojedynczymi plikami. - + Setup Error. Błąd ustawień. - + User Abort. Użytkownik anulował. - + Sync is paused. Synchronizacja wstrzymana - + %1 (Sync is paused) %1 (Synchronizacja jest zatrzymana) diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 0d6b39e34..a686423d9 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -374,67 +374,67 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Mirall::FolderMan - + Could not reset folder state Não foi possível repor o estado da pasta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Não foi possível remover o antigo 'journal sync' '%1'. Por favor certifique-se que nenhuma aplicação o está a utilizar. - + Undefined State. Estado indefinido. - + Waits to start syncing. A aguardar o inicio da sincronização. - + Preparing for sync. A preparar para sincronização. - + Sync is running. A sincronização está a correr. - + Server is currently not available. O servidor não está disponível de momento. - + Last Sync was successful. A última sincronização foi efectuada com sucesso. - + Last Sync was successful, but with warnings on individual files. A última sincronização foi efectuada com sucesso, mas existem avisos sobre alguns ficheiros. - + Setup Error. Erro na instalação. - + User Abort. Cancelado pelo utilizador. - + Sync is paused. A sincronização está em pausa. - + %1 (Sync is paused) %1 (Sincronização em pausa) diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index 5d29e6a5a..c5944a4ee 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -375,67 +375,67 @@ Você tem certeza que quer executar esta operação? Mirall::FolderMan - + Could not reset folder state Não foi possível redefinir o estado da pasta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Uma velha revista de sincronização '%1' foi encontrada, mas não pôde ser removida. Por favor, certifique-se de que nenhuma aplicação está a usá-la. - + Undefined State. Estado indefinido. - + Waits to start syncing. Aguardando o inicio da sincronização. - + Preparing for sync. Preparando para sincronização. - + Sync is running. A sincronização está ocorrendo. - + Server is currently not available. Servidor indisponível no momento. - + Last Sync was successful. A última sincronização foi feita com sucesso. - + Last Sync was successful, but with warnings on individual files. A última sincronização foi executada com sucesso, mas com advertências em arquivos individuais. - + Setup Error. Erro de Configuração. - + User Abort. Usuário Abortou - + Sync is paused. Sincronização pausada. - + %1 (Sync is paused) %1 (Pausa na Sincronização) diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index c2fc62983..69e1b7ad9 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -375,67 +375,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Невозможно сбросить состояние папки - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Найден старый журнал синхронизации '%1', и он не может быть удалён. Пожалуйста убедитесь что он не открыт в каком-либо приложении. - + Undefined State. Неопределенное состояние. - + Waits to start syncing. Ожидает, чтобы начать синхронизацию. - + Preparing for sync. Подготовка к синхронизации. - + Sync is running. Идет синхронизация. - + Server is currently not available. Сервер недоступен. - + Last Sync was successful. Последняя синхронизация прошла успешно. - + Last Sync was successful, but with warnings on individual files. Последняя синхронизация прошла успешно, но были предупреждения о нескольких файлах. - + Setup Error. Ошибка установки. - + User Abort. Отмена пользователем. - + Sync is paused. Синхронизация приостановлена. - + %1 (Sync is paused) %! (синхронизация приостановлена) diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index 30ef43dca..848b310eb 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -374,67 +374,67 @@ Ste si istý, že chcete uskutočniť danú operáciu? Mirall::FolderMan - + Could not reset folder state Nemožno resetovať stav priečinka - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Starý synchronizačný žurnál '%1' nájdený, avšak neodstrániteľný. Prosím uistite sa, že žiadna aplikácia ho práve nevyužíva. - + Undefined State. Nedefinovaný stav. - + Waits to start syncing. Čakanie na štart synchronizácie. - + Preparing for sync. Príprava na synchronizáciu. - + Sync is running. Synchronizácia prebieha. - + Server is currently not available. Sever momentálne nie je prístupný. - + Last Sync was successful. Posledná synchronizácia sa úspešne skončila. - + Last Sync was successful, but with warnings on individual files. Posledná synchronizácia bola úspešná, ale z varovaniami pre individuálne súbory. - + Setup Error. Chyba pri inštalácii. - + User Abort. Zrušené používateľom. - + Sync is paused. Synchronizácia je pozastavená. - + %1 (Sync is paused) %1 (Synchronizácia je pozastavená) diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 813a99591..0c27ae208 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -374,67 +374,67 @@ Ali sta prepričani, da želite izvesti to opravilo? Mirall::FolderMan - + Could not reset folder state Ni mogoče ponastaviti stanja mape - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Obstaja starejši dnevnik usklajevanja '%1', vendar ga ni mogoče odstraniti. Preverite, da datoteka ni v uporabi. - + Undefined State. Nedoločeno stanje. - + Waits to start syncing. V čakanju na začetek usklajevanja. - + Preparing for sync. Poteka priprava za usklajevanje. - + Sync is running. Usklajevanje je v teku. - + Server is currently not available. Strežnik trenutno ni na voljo. - + Last Sync was successful. Zadnje usklajevanje je bilo uspešno končano. - + Last Sync was successful, but with warnings on individual files. Zadnje usklajevanje je bilo sicer uspešno, vendar z opozorili za posamezne datoteke. - + Setup Error. Napaka nastavitve. - + User Abort. Uporabniška prekinitev. - + Sync is paused. Usklajevanje je začasno v premoru. - + %1 (Sync is paused) %1 (usklajevanje je v premoru) diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index b5dc931f9..4988055b4 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -375,67 +375,67 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Mirall::FolderMan - + Could not reset folder state Kunde inte återställa mappens skick - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. En gammal synkroniseringsjournal '%1' hittades, men kunde inte raderas. Vänligen se till att inga program för tillfället använder den. - + Undefined State. Okänt tillstånd. - + Waits to start syncing. Väntar på att starta synkronisering. - + Preparing for sync. Förbereder synkronisering - + Sync is running. Synkronisering pågår. - + Server is currently not available. Servern är för tillfället inte tillgänglig. - + Last Sync was successful. Senaste synkronisering lyckades. - + Last Sync was successful, but with warnings on individual files. Senaste synkning lyckades, men det finns varningar för vissa filer! - + Setup Error. Inställningsfel. - + User Abort. Användare Avbryt - + Sync is paused. Synkronisering är pausad. - + %1 (Sync is paused) %1 (Synk är stoppad) diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index 57e6647c6..19ad1578f 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. สถานะที่ยังไม่ได้ถูกกำหนด - + Waits to start syncing. รอการเริ่มต้นซิงค์ข้อมูล - + Preparing for sync. - + Sync is running. การซิงค์ข้อมูลกำลังทำงาน - + Server is currently not available. - + Last Sync was successful. การซิงค์ข้อมูลครั้งล่าสุดเสร็จเรียบร้อยแล้ว - + Last Sync was successful, but with warnings on individual files. - + Setup Error. เกิดข้อผิดพลาดในการติดตั้ง - + User Abort. - + Sync is paused. การซิงค์ข้อมูลถูกหยุดไว้ชั่วคราว - + %1 (Sync is paused) diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index f752bf6e3..49e25251e 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -375,67 +375,67 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Mirall::FolderMan - + Could not reset folder state Klasör durumu sıfırılanamadı - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Eski eşitleme günlüğü '%1' bulundu ancak kaldırılamadı. Başka bir uygulama tarafından kullanılmadığından emin olun. - + Undefined State. Tanımlanmamış Durum. - + Waits to start syncing. Eşitleme başlatmak için bekleniyor. - + Preparing for sync. Eşitleme için hazırlanıyor. - + Sync is running. Eşitleme çalışıyor. - + Server is currently not available. Sunucu şu an kullanılabilir değil. - + Last Sync was successful. Son Eşitleme başarılı oldu. - + Last Sync was successful, but with warnings on individual files. Son eşitleme başarılıydı, ancak tekil dosyalarda uyarılar vardı. - + Setup Error. Kurulum Hatası. - + User Abort. Kullanıcı İptal Etti. - + Sync is paused. Eşitleme duraklatıldı. - + %1 (Sync is paused) %1 (Eşitleme duraklatıldı) diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index 323ac61b9..8ca2ab732 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Не вдалося скинути стан теки - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Невизначений стан. - + Waits to start syncing. Очікування початку синхронізації. - + Preparing for sync. Підготовка до синхронізації - + Sync is running. Синхронізація запущена. - + Server is currently not available. Сервер наразі недоступний. - + Last Sync was successful. Остання синхронізація була успішною. - + Last Sync was successful, but with warnings on individual files. - + Setup Error. Помилка установки. - + User Abort. - + Sync is paused. - + %1 (Sync is paused) diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index c2f75dc8f..075c1a242 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state 不能重置文件夹状态 - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 一个旧的同步日志 '%1' 被找到,但是不能被移除。请确定没有应用程序正在使用它。 - + Undefined State. 未知状态。 - + Waits to start syncing. 等待启动同步。 - + Preparing for sync. 准备同步。 - + Sync is running. 同步正在运行。 - + Server is currently not available. 服务器当前是不可用的。 - + Last Sync was successful. 最后一次同步成功。 - + Last Sync was successful, but with warnings on individual files. 上次同步已成功,不过一些文件出现了警告。 - + Setup Error. 安装失败 - + User Abort. 用户撤销。 - + Sync is paused. 同步已暂停。 - + %1 (Sync is paused) %1 (同步已暂停) diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index 41aaf4769..e5e4e9e97 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state 無法重置資料夾狀態 - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 發現較舊的同步處理日誌'%1',但無法移除。請確認沒有應用程式正在使用它。 - + Undefined State. 未知狀態 - + Waits to start syncing. 等待啟動同步 - + Preparing for sync. 正在準備同步。 - + Sync is running. 同步執行中 - + Server is currently not available. - + Last Sync was successful. 最後一次同步成功 - + Last Sync was successful, but with warnings on individual files. - + Setup Error. 安裝失敗 - + User Abort. 使用者中斷。 - + Sync is paused. 同步已暫停 - + %1 (Sync is paused) %1 (同步暫停) From 6284517dc9f311c368e3a98ba02492a7a4bfb7d7 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Sun, 27 Jul 2014 01:25:21 -0400 Subject: [PATCH 040/133] [tx-robot] updated from transifex --- translations/mirall_eu.ts | 91 ++++++++++++++++++++------------------- translations/mirall_pl.ts | 24 +++++------ 2 files changed, 59 insertions(+), 56 deletions(-) diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index e7b4581f6..675a8bf44 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -4,7 +4,7 @@ Form - + Formularioa @@ -27,7 +27,7 @@ Form - + Formularioa @@ -60,7 +60,7 @@ Form - + Formularioa @@ -131,7 +131,7 @@ <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will not remove the files from your client.</p> - + <p>Bentan nahi duzu karpetaren sinkronizazioa gelditu? <i>%1</i>?</p><p><b>Oharra:</b>Honek ez du fitxategiak zure bezerotik ezabatuko.</p> @@ -147,17 +147,17 @@ %1 %2 Example text: "uploading foobar.png" - + %1 %2 %1 (%3%) of %2 server space in use. - + %1 (%3%) tik %2 zerbitzariko lekua erabilia No connection to %1 at <a href="%2">%3</a>. - + Ez dago %1-ra konexiorik hemendik <a href="%2">%3</a>. @@ -189,7 +189,8 @@ %1 of %2, file %3 of %4 Total time left %5 - + %1 of %2, fitxategia %3 of %4 +Geratzen den denbora %5 @@ -217,12 +218,12 @@ Total time left %5 Enter username and password for '%1' at %2. - + Sartu erabiltzaile izena eta pasahitza '%1'-rentzat hemen: %2. &User: - + &Erabiltzailea: @@ -263,7 +264,7 @@ Total time left %5 Unable to create csync-context - + Ezin da csync-context sortu @@ -289,7 +290,7 @@ Total time left %5 %1 and %2 other files have been removed. %1 names a file. - + %1 eta beste %2 fitxategi ezabatu dira. @@ -301,40 +302,40 @@ Total time left %5 %1 and %2 other files have been downloaded. %1 names a file. - + %1 eta beste %2 fitxategi deskargatu dira. %1 has been downloaded. %1 names a file. - + %1 deskargatu da. %1 and %2 other files have been updated. - + %1 eta beste %2 fitxategi kargatu dira. %1 has been updated. %1 names a file. - + %1 kargatu da. %1 has been renamed to %2 and %3 other files have been renamed. - + %1 %2-(e)ra berrizendatu da eta beste %3 fitxategi berrizendatu dira. %1 has been renamed to %2. %1 and %2 name files. - + %1 %2-(e)ra berrizendatu da. %1 has been moved to %2 and %3 other files have been moved. - + %1 %2-(e)ra berrizendatu da eta beste %3 fitxategi mugitu dira. @@ -351,7 +352,9 @@ Total time left %5 This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? - + Sinkronizazioak '%1' sinkronizazio karpetako fitxategi guztiak ezabatuko ditu. +Izan daiteke karpeta isilpean birkonfiguratu delako edo fitxategi guztiak eskuz ezabatu direlako. +Ziur zaude eragiketa hau egin nahi duzula? @@ -379,7 +382,7 @@ Are you sure you want to perform this operation? An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Aurkitu da '%1' sinkronizazio erregistro zaharra, baina ezin da ezabatu. Ziurtatu aplikaziorik ez dela erabiltzen ari. @@ -424,7 +427,7 @@ Are you sure you want to perform this operation? User Abort. - Erabiltzaileak Bertan Behera Utzi. + Erabiltzaileak bertan behera utzi. @@ -448,7 +451,7 @@ Are you sure you want to perform this operation? Syncing all files in your account with - + Fitxategi guztiak sinkronizatzen zure kontuan honekin @@ -480,7 +483,7 @@ Are you sure you want to perform this operation? The directory alias is a descriptive name for this sync connection. - + Direktorioaren ezizena sinkronizazio konexioaren izen deskriptiboa da. @@ -490,12 +493,12 @@ Are you sure you want to perform this operation? You have no permission to write to the selected folder! - + Ez daukazu hautatutako karpetan idazteko baimenik! The local path %1 is already an upload folder. Please pick another one! - + %1 sarbidean badago kargatzeko karpeta bat. Hautatu beste bat! @@ -505,17 +508,17 @@ Are you sure you want to perform this operation? The selected folder is a symbolic link. An already configured folder is contained in the folder this link is pointing to. - + Hautatutako karpeta esteka sinboliko bat da. Eta konfituratutako karpeta dagoeneko badago esteka apuntatzen duen karpetan. An already configured folder contains the currently entered folder. - + Karpeta batek dagoeneko barnean du orain sartutako karpeta. The selected folder is a symbolic link. An already configured folder is the parent of the current selected contains the folder this link is pointing to. - + Hautatutako karpeta esteka sinboliko bat da. Eta konfiguratutako karpeta estekak apuntatzen duen karpetaren gurasoa da. @@ -525,7 +528,7 @@ Are you sure you want to perform this operation? The alias <i>%1</i> is already in use. Please pick another alias. - + <i>%1</i> ezizena dagoeneko erabiltzen ari da. Hautatu beste ezizen bat. @@ -553,7 +556,7 @@ Are you sure you want to perform this operation? Failed to create the folder on %1. Please check manually. - + Huts egin du %1-(e)an karpeta sortzen. Egiaztatu eskuz. @@ -568,12 +571,12 @@ Are you sure you want to perform this operation? You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. - + Dagoeneko <i>%1</i> sinkronizatzen ari zara, <i>%2</i>-ren guraso karpeta dena. You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. - + Dagoeneko fitxategi guztiak sinkronizatzen ari zara. <b>Ezin<b> da sinkronizatu beste karpeta bat. Hainbat karpeta batera sinkronizatu nahi baduzu ezaba ezazu orain konfiguratuta duzun sinkronizazio karpeta nagusia. @@ -605,7 +608,7 @@ Are you sure you want to perform this operation? Connection Timeout - + Konexioa denboraz kanpo @@ -613,12 +616,12 @@ Are you sure you want to perform this operation? Form - + Formularioa General Settings - + Ezarpen orokorrak @@ -826,7 +829,7 @@ Markatutakoak ezabatuko dira karpeta bat ezabatzeko beharrezkoa bada. Hau meta d Form - + Formularioa @@ -1244,7 +1247,7 @@ It is not advisable to use it. Connection Timeout - + Konexioa denboraz kanpo @@ -1403,7 +1406,7 @@ It is not advisable to use it. Form - + Formularioa @@ -1700,7 +1703,7 @@ Saiatu horiek berriz sinkronizatzen. Form - + Formularioa @@ -2153,7 +2156,7 @@ Saiatu horiek berriz sinkronizatzen. Form - + Formularioa @@ -2208,7 +2211,7 @@ Saiatu horiek berriz sinkronizatzen. Form - + Formularioa @@ -2238,7 +2241,7 @@ Saiatu horiek berriz sinkronizatzen. Form - + Formularioa @@ -2325,7 +2328,7 @@ Saiatu horiek berriz sinkronizatzen. Form - + Formularioa diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index 1d51118ac..b176e9106 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -621,7 +621,7 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? General Settings - + Ustawienia ogólne @@ -962,7 +962,7 @@ poprosić o dodatkowe uprawnienia podczas tego procesu. New version %1 available. Please use the system's update tool to install it. - + Nowa wersja %1 jest dostępna. Aby ją zainstalować, użyj systemowego narzędzia do aktualizacji. @@ -1293,7 +1293,7 @@ Niezalecane jest jego użycie. ; Restoration Failed: - + ; Przywracanie nie powiodło się: @@ -1390,7 +1390,7 @@ Niezalecane jest jego użycie. The local file was removed during sync. - + Pliki lokalny został usunięty podczas synchronizacji. @@ -1891,7 +1891,7 @@ Niezalecane jest jego użycie. A network connection timeout happened. - + Upłynął limit czasu połączenia. @@ -1967,38 +1967,38 @@ Niezalecane jest jego użycie. Not allowed because you don't have permission to add sub-directories in that directory - + Nie masz uprawnień do dodawania podkatalogów w tym katalogu. Not allowed because you don't have permission to add parent directory - + Nie masz uprawnień by dodać katalog nadrzędny Not allowed because you don't have permission to add files in that directory - + Nie masz uprawnień by dodać pliki w tym katalogu Not allowed to upload this file because it is read-only on the server, restoring - + Wgrywanie niedozwolone, ponieważ plik jest tylko do odczytu na serwerze, przywracanie Not allowed to remove, restoring - + Brak uprawnień by usunąć, przywracanie Move not allowed, item restored - + Przenoszenie niedozwolone, obiekt przywrócony Move not allowed because %1 is read-only - + Przenoszenie niedozwolone, ponieważ %1 jest tylko do odczytu From e8afac3a015e46e922902852f1242f95d2c6a45a Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Mon, 28 Jul 2014 01:25:19 -0400 Subject: [PATCH 041/133] [tx-robot] updated from transifex --- translations/mirall_el.ts | 8 ++++---- translations/mirall_eu.ts | 2 +- translations/mirall_pl.ts | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 5a65eea96..28a488f90 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -604,7 +604,7 @@ Are you sure you want to perform this operation? Server returned wrong content-range - + Ο διακομιστής επέστρεψε εσφαλμένο πεδίο τιμών @@ -807,7 +807,7 @@ Checked items will also be deleted if they prevent a directory from being remove <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>Μια νέα έκδοση του %1 πελάτη είναι διαθέσιμη.</p><p><b>%2</b> είναι διαθέσιμη για λήψη. Η εγκατεστημένη έκδοση είναι %3.</p> @@ -963,7 +963,7 @@ for additional privileges during the process. New version %1 available. Please use the system's update tool to install it. - + Νέα έκδοση του %1 είναι διαθέσιμη. Παρακαλώ χρησιμοποιήστε το εργαλείο ενημερώσεων του συτήματος για να την εγκαταστήσετε. @@ -1273,7 +1273,7 @@ It is not advisable to use it. Server returned wrong content-range - + Ο διακομιστής επέστρεψε εσφαλμένο πεδίο τιμών diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 675a8bf44..7d9aef5d3 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -2482,7 +2482,7 @@ Saiatu horiek berriz sinkronizatzen. error - + errorea diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index b176e9106..02ea53f06 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -183,7 +183,7 @@ %1 %2 (%3 of %4) %5 left at a rate of %6/s Example text: "uploading foobar.png (1MB of 2MB) time left 2 minutes at a rate of 24Kb/s" - + %1 %2 (%3 z %4) %5 pozostało z %6/s @@ -603,7 +603,7 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Server returned wrong content-range - + Serwer zwrócił błędną zakres zawartości @@ -806,7 +806,7 @@ Zaznaczone przedmioty także będą usunięte, jeżeli będą przeszkadzać w us <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>Nowa wersja klienta %1 jest dostępna.</p><p><b>%2</b>jest dostępna do pobrania. Zainstalowana wersja to %3.<p> @@ -1272,7 +1272,7 @@ Niezalecane jest jego użycie. Server returned wrong content-range - + Serwer zwrócił błędną zakres zawartości From 5a4c023fc94d45f1af4f1f8e7e783afcc3c1f78c Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Mon, 28 Jul 2014 02:06:11 -0400 Subject: [PATCH 042/133] [tx-robot] updated from transifex --- admin/win/nsi/l10n/Basque.nsh | 2 +- admin/win/nsi/l10n/Hungarian.nsh | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/admin/win/nsi/l10n/Basque.nsh b/admin/win/nsi/l10n/Basque.nsh index eeb368ecb..9deb824ab 100644 --- a/admin/win/nsi/l10n/Basque.nsh +++ b/admin/win/nsi/l10n/Basque.nsh @@ -1,4 +1,5 @@ # Auto-generated - do not modify +StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Erakutsi bertsio-berritze oharrak" StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "kill prozesua ez da aurkitu!" StrCpy $PageReinstall_NEW_Field_2 "Desinstalatu instalatu baino lehen" StrCpy $PageReinstall_NEW_Field_3 "Ez desinstalatu" @@ -29,7 +30,6 @@ StrCpy $INIT_INSTALLER_RUNNING "Instalatzailea dagoeneko martxan da." StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Desinstalatzaile honek administratzaile baimenak behar ditu, saiatu berriro" StrCpy $INIT_UNINSTALLER_RUNNING "Desinstalatzailea dagoeneko martxan da." StrCpy $SectionGroup_Shortcuts "Lasterbideak" -StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Show release notes" StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Found ${APPLICATION_EXECUTABLE} process(s) which need to be stopped.$\nDo you want the installer to stop these for you?" StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Killing ${APPLICATION_EXECUTABLE} processes." StrCpy $PageReinstall_NEW_Field_1 "An older version of ${APPLICATION_NAME} is installed on your system. It is recommended that you uninstall the current version before installing. Select the operation you want to perform and click Next to continue." diff --git a/admin/win/nsi/l10n/Hungarian.nsh b/admin/win/nsi/l10n/Hungarian.nsh index f8bdf8085..1c7623829 100644 --- a/admin/win/nsi/l10n/Hungarian.nsh +++ b/admin/win/nsi/l10n/Hungarian.nsh @@ -9,6 +9,13 @@ StrCpy $PageReinstall_SAME_Field_3 "${APPLICATION_NAME} eltávolítása" StrCpy $UNINSTALLER_APPDATA_TITLE "${APPLICATION_NAME} eltávolítása" StrCpy $UNINSTALLER_APPDATA_CHECKBOX "Igen, törölje ezt az adatkönyvtárat." StrCpy $UNINSTALLER_FINISHED_Detail "Befejezve" +StrCpy $UNINSTALL_ABORT "Az eltávolítást egy felhasználó megszakította" +StrCpy $INIT_NO_QUICK_LAUNCH "Gyorsindító Hivatkozás (N/A)" +StrCpy $INIT_NO_DESKTOP "Asztali Hivatkozás (felülírja a meglévőt)" +StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "A telepítő futtatásához adminisztrátori hozzáférés szükséges, próbáld újra." +StrCpy $INIT_INSTALLER_RUNNING "A telepítő már fut." +StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Az eltávolító futtatásához adminisztrátori hozzáférés szükséges, próbáld újra." +StrCpy $INIT_UNINSTALLER_RUNNING "Az eltávolító már fut." StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Found ${APPLICATION_EXECUTABLE} process(s) which need to be stopped.$\nDo you want the installer to stop these for you?" StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Killing ${APPLICATION_EXECUTABLE} processes." StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Process to kill not found!" @@ -33,12 +40,5 @@ StrCpy $UNINSTALLER_APPDATA_LABEL_2 "Leave unchecked to keep the data folder for StrCpy $UNINSTALLER_FILE_Detail "Writing Uninstaller" StrCpy $UNINSTALLER_REGISTRY_Detail "Writing Installer Registry Keys" StrCpy $UNINSTALL_MESSAGEBOX "It does not appear that ${APPLICATION_NAME} is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)?" -StrCpy $UNINSTALL_ABORT "Uninstall aborted by user" -StrCpy $INIT_NO_QUICK_LAUNCH "Quick Launch Shortcut (N/A)" -StrCpy $INIT_NO_DESKTOP "Desktop Shortcut (overwrites existing)" StrCpy $UAC_ERROR_ELEVATE "Unable to elevate, error:" -StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "This installer requires admin access, try again" -StrCpy $INIT_INSTALLER_RUNNING "The installer is already running." -StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "This uninstaller requires admin access, try again" -StrCpy $INIT_UNINSTALLER_RUNNING "The uninstaller is already running." StrCpy $SectionGroup_Shortcuts "Shortcuts" From 2fb283749c2c0a97642224b80f5453f5cdb0e779 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Tue, 29 Jul 2014 01:25:24 -0400 Subject: [PATCH 043/133] [tx-robot] updated from transifex --- translations/mirall_et.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index e7edfaf34..7a014a4af 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -603,7 +603,7 @@ Oled kindel, et soovid seda operatsiooni teostada? Server returned wrong content-range - + Server tagastas vale vahemiku @@ -1272,7 +1272,7 @@ Selle kasutamine pole soovitatav. Server returned wrong content-range - + Server tagastas vale vahemiku From f1ad82d0bafadab233cdbd1c5120ee799d59f4bc Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 29 Jul 2014 13:58:21 +0200 Subject: [PATCH 044/133] t2.pl Fix the test testing that moving a file that was just added do not create duplicate --- csync/tests/ownCloud/t2.pl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/csync/tests/ownCloud/t2.pl b/csync/tests/ownCloud/t2.pl index 4b68a047f..9b372b6aa 100755 --- a/csync/tests/ownCloud/t2.pl +++ b/csync/tests/ownCloud/t2.pl @@ -208,11 +208,11 @@ $inode = getInode('superNewDir/f3'); csync(); assertLocalAndRemoteDir( '', 1); my $file = localDir() . 'superNewDir'; -assert( -e $file ); +assert( ! -e $file ); -$inode2 = getInode('superNewDir/f3'); +$inode2 = getInode('superNewDirRenamed/f3'); assert( $inode == $inode2, "Inode of f3 changed"); -$inode2 = getInode('superNewDir'); +$inode2 = getInode('superNewDirRenamed'); assert( $superNewDirInode == $inode2, "Inode of superNewDir changed"); cleanup(); From 17b320f7dc8bd7edad331e4f91255a193d40c573 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Wed, 30 Jul 2014 01:25:24 -0400 Subject: [PATCH 045/133] [tx-robot] updated from transifex --- translations/mirall_ru.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index 69e1b7ad9..950ed73c0 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -603,7 +603,7 @@ Are you sure you want to perform this operation? Server returned wrong content-range - + Сервер вернул неверный диапазон содержания @@ -1272,7 +1272,7 @@ It is not advisable to use it. Server returned wrong content-range - + Сервер вернул неверный диапазон содержания From 8d7132819228e6c21b8a190f09ce16d509abdabd Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Wed, 30 Jul 2014 17:20:55 +0200 Subject: [PATCH 046/133] Windows Overlay Icons --- .gitignore | 145 +++++++ .../OCShellExtensions/OCOverlays/DllMain.cpp | 156 +++++++ .../OCOverlays/OCOverlay.cpp | 143 +++++++ .../OCShellExtensions/OCOverlays/OCOverlay.h | 49 +++ .../OCShellExtensions/OCOverlays/OCOverlay.rc | Bin 0 -> 4244 bytes .../OCOverlays/OCOverlayFactory.cpp | 104 +++++ .../OCOverlays/OCOverlayFactory.h | 41 ++ .../OCOverlayRegistrationHandler.cpp | 149 +++++++ .../OCOverlays/OCOverlayRegistrationHandler.h | 31 ++ .../OCOverlays/OCOverlays.def | 6 + .../OCOverlays/OCOverlays.vcxproj | 195 +++++++++ .../OCOverlays/OverlayConstants.h | 32 ++ .../OCOverlays/OverlayConstants.h.original | 32 ++ .../OCOverlays/ico/Error.ico | Bin 0 -> 30166 bytes .../OCOverlays/ico/Error_Shared.ico | Bin 0 -> 30166 bytes .../OCShellExtensions/OCOverlays/ico/OK.ico | Bin 0 -> 30166 bytes .../OCOverlays/ico/OK_Shared.ico | Bin 0 -> 30166 bytes .../OCShellExtensions/OCOverlays/ico/Sync.ico | Bin 0 -> 30166 bytes .../OCOverlays/ico/Sync_Shared.ico | Bin 0 -> 30166 bytes .../OCOverlays/ico/Warning.ico | Bin 0 -> 30166 bytes .../OCOverlays/ico/Warning_Shared.ico | Bin 0 -> 30166 bytes .../OCShellExtensions/OCOverlays/resource.h | Bin 0 -> 1626 bytes .../OCShellExtensions/OCOverlays/stdafx.h | 30 ++ .../OCShellExtensions/OCShellExtensions.sln | 49 +++ .../OCUtil/CommunicationSocket.cpp | 127 ++++++ .../OCUtil/CommunicationSocket.h | 42 ++ .../OCShellExtensions/OCUtil/FileUtil.cpp | 84 ++++ .../OCShellExtensions/OCUtil/FileUtil.h | 40 ++ .../OCShellExtensions/OCUtil/OCMessage.cpp | 74 ++++ .../OCShellExtensions/OCUtil/OCMessage.h | 42 ++ .../OCShellExtensions/OCUtil/OCUtil.vcxproj | 157 +++++++ .../OCShellExtensions/OCUtil/ParserUtil.cpp | 389 ++++++++++++++++++ .../OCShellExtensions/OCUtil/RegistryUtil.cpp | 70 ++++ .../OCShellExtensions/OCUtil/RegistryUtil.h | 35 ++ .../OCUtil/RemotePathChecker.cpp | 112 +++++ .../OCUtil/RemotePathChecker.h | 41 ++ .../OCShellExtensions/OCUtil/StringUtil.cpp | 32 ++ .../OCShellExtensions/OCUtil/StringUtil.h | 27 ++ .../OCShellExtensions/OCUtil/UtilConstants.h | 30 ++ .../OCUtilTest/OCUtilTest.cpp | 37 ++ .../OCUtilTest/OCUtilTest.filters | 33 ++ .../OCUtilTest/OCUtilTest.vcxproj | 97 +++++ .../OCShellExtensions/OCUtilTest/ReadMe.txt | 40 ++ .../OCShellExtensions/OCUtilTest/stdafx.cpp | 8 + .../OCShellExtensions/OCUtilTest/stdafx.h | 15 + .../OCShellExtensions/OCUtilTest/targetver.h | 8 + 46 files changed, 2702 insertions(+) create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/DllMain.cpp create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.cpp create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.h create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.rc create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayFactory.cpp create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayFactory.h create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.cpp create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.h create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlays.def create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlays.vcxproj create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/OverlayConstants.h create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/OverlayConstants.h.original create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/ico/Error.ico create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/ico/Error_Shared.ico create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/ico/OK.ico create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/ico/OK_Shared.ico create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/ico/Sync.ico create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/ico/Sync_Shared.ico create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/ico/Warning.ico create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/ico/Warning_Shared.ico create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/resource.h create mode 100644 shell_integration/windows/OCShellExtensions/OCOverlays/stdafx.h create mode 100644 shell_integration/windows/OCShellExtensions/OCShellExtensions.sln create mode 100644 shell_integration/windows/OCShellExtensions/OCUtil/CommunicationSocket.cpp create mode 100644 shell_integration/windows/OCShellExtensions/OCUtil/CommunicationSocket.h create mode 100644 shell_integration/windows/OCShellExtensions/OCUtil/FileUtil.cpp create mode 100644 shell_integration/windows/OCShellExtensions/OCUtil/FileUtil.h create mode 100644 shell_integration/windows/OCShellExtensions/OCUtil/OCMessage.cpp create mode 100644 shell_integration/windows/OCShellExtensions/OCUtil/OCMessage.h create mode 100644 shell_integration/windows/OCShellExtensions/OCUtil/OCUtil.vcxproj create mode 100644 shell_integration/windows/OCShellExtensions/OCUtil/ParserUtil.cpp create mode 100644 shell_integration/windows/OCShellExtensions/OCUtil/RegistryUtil.cpp create mode 100644 shell_integration/windows/OCShellExtensions/OCUtil/RegistryUtil.h create mode 100644 shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.cpp create mode 100644 shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.h create mode 100644 shell_integration/windows/OCShellExtensions/OCUtil/StringUtil.cpp create mode 100644 shell_integration/windows/OCShellExtensions/OCUtil/StringUtil.h create mode 100644 shell_integration/windows/OCShellExtensions/OCUtil/UtilConstants.h create mode 100644 shell_integration/windows/OCShellExtensions/OCUtilTest/OCUtilTest.cpp create mode 100644 shell_integration/windows/OCShellExtensions/OCUtilTest/OCUtilTest.filters create mode 100644 shell_integration/windows/OCShellExtensions/OCUtilTest/OCUtilTest.vcxproj create mode 100644 shell_integration/windows/OCShellExtensions/OCUtilTest/ReadMe.txt create mode 100644 shell_integration/windows/OCShellExtensions/OCUtilTest/stdafx.cpp create mode 100644 shell_integration/windows/OCShellExtensions/OCUtilTest/stdafx.h create mode 100644 shell_integration/windows/OCShellExtensions/OCUtilTest/targetver.h diff --git a/.gitignore b/.gitignore index eed2de186..e1cd73027 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,148 @@ build* cscope.* tags t1.cfg + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +build/ +bld/ +[Bb]in/ +[Oo]bj/ + +# Roslyn cache directories +*.ide/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +#NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# TFS 2012 Local Workspace +$tf/ + +# NCrunch +_NCrunch_* +.*crunch*.local.xml + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +## TODO: Comment the next line if you want to checkin your +## web deploy settings but do note that will include unencrypted +## passwords +*.pubxml + +# NuGet Packages +packages/* +*.nupkg +## TODO: If the tool you use requires repositories.config +## uncomment the next line +#!packages/repositories.config + +# Enable "build/" folder in the NuGet Packages folder since +# NuGet packages use it for MSBuild targets. +# This line needs to be after the ignore of the build folder +# (and the packages folder if the line above has been uncommented) +!packages/build/ + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.pfx +*.publishsettings +node_modules/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Microsoft Fakes +FakesAssemblies/ diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/DllMain.cpp b/shell_integration/windows/OCShellExtensions/OCOverlays/DllMain.cpp new file mode 100644 index 000000000..84b128dd4 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/DllMain.cpp @@ -0,0 +1,156 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#include "OCOverlayRegistrationHandler.h" +#include "OCOverlayFactory.h" +#include "stdafx.h" + +HINSTANCE instanceHandle = NULL; + +long dllReferenceCount = 0; + +BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReason, LPVOID lpReserved) +{ + switch (dwReason) + { + case DLL_PROCESS_ATTACH: + instanceHandle = hModule; + DisableThreadLibraryCalls(hModule); + break; + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + case DLL_PROCESS_DETACH: + break; + } + + return TRUE; +} + +STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv) +{ + HRESULT hResult = CLASS_E_CLASSNOTAVAILABLE; + GUID guid; + + hResult = CLSIDFromString(OVERLAY_GUID, (LPCLSID)&guid); + + if (hResult != S_OK) { + return hResult; + } + + if (!IsEqualCLSID(guid, rclsid)) { + return hResult; + } + + hResult = E_OUTOFMEMORY; + + wchar_t szModule[MAX_PATH]; + + if (GetModuleFileName(instanceHandle, szModule, ARRAYSIZE(szModule)) == 0) { + hResult = HRESULT_FROM_WIN32(GetLastError()); + + return hResult; + } + + OCOverlayFactory* ocOverlayFactory = new OCOverlayFactory(szModule); + + if (ocOverlayFactory) { + hResult = ocOverlayFactory->QueryInterface(riid, ppv); + ocOverlayFactory->Release(); + } + return hResult; +} + +STDAPI DllCanUnloadNow(void) +{ + return dllReferenceCount > 0 ? S_FALSE : S_OK; + + return S_FALSE; +} + +HRESULT _stdcall DllRegisterServer(void) +{ + HRESULT hResult = S_OK; + + wchar_t szModule[MAX_PATH]; + + if (GetModuleFileName(instanceHandle, szModule, ARRAYSIZE(szModule)) == 0) + { + hResult = HRESULT_FROM_WIN32(GetLastError()); + + return hResult; + } + + GUID guid; + + hResult = CLSIDFromString(OVERLAY_GUID, (LPCLSID)&guid); + + if (hResult != S_OK) + { + return hResult; + } + + hResult = OCOverlayRegistrationHandler::RegisterCOMObject(szModule, guid); + + if(!SUCCEEDED(hResult)) + { + return hResult; + } + + hResult = OCOverlayRegistrationHandler::MakeRegistryEntries(guid, OVERLAY_NAME); + + if(!SUCCEEDED(hResult)) + { + return hResult; + } + + return hResult; +} + +STDAPI DllUnregisterServer(void) +{ + HRESULT hResult = S_OK; + + wchar_t szModule[MAX_PATH]; + + if (GetModuleFileNameW(instanceHandle, szModule, ARRAYSIZE(szModule)) == 0) + { + hResult = HRESULT_FROM_WIN32(GetLastError()); + return hResult; + } + + GUID guid; + + hResult = CLSIDFromString(OVERLAY_GUID, (LPCLSID)&guid); + + if (hResult != S_OK) + { + return hResult; + } + + hResult = OCOverlayRegistrationHandler::UnregisterCOMObject(guid); + + if(!SUCCEEDED(hResult)) + { + return hResult; + } + + hResult = OCOverlayRegistrationHandler::RemoveRegistryEntries(OVERLAY_NAME); + + if (!SUCCEEDED(hResult)) + { + return hResult; + } + + return hResult; +} diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.cpp b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.cpp new file mode 100644 index 000000000..2fc947121 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.cpp @@ -0,0 +1,143 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#include "OCOverlay.h" + +#include "RegistryUtil.h" +#include "UtilConstants.h" +#include "RemotePathChecker.h" + +#include "resource.h" + +#include +#include +#include + +using namespace std; + +#pragma comment(lib, "shlwapi.lib") + +extern HINSTANCE instanceHandle; + +#define IDM_DISPLAY 0 +#define IDB_OK 101 + +OCOverlay::OCOverlay() + : _communicationSocket(0) + , _referenceCount(1) + , _checker(new RemotePathChecker(PORT)) + +{ +} + +OCOverlay::~OCOverlay(void) +{ +} + +IFACEMETHODIMP_(ULONG) OCOverlay::AddRef() +{ + return InterlockedIncrement(&_referenceCount); +} + +IFACEMETHODIMP OCOverlay::QueryInterface(REFIID riid, void **ppv) +{ + HRESULT hr = S_OK; + + if (IsEqualIID(IID_IUnknown, riid) || IsEqualIID(IID_IShellIconOverlayIdentifier, riid)) + { + *ppv = static_cast(this); + } + else + { + hr = E_NOINTERFACE; + *ppv = NULL; + } + + if (*ppv) + { + AddRef(); + } + + return hr; +} + +IFACEMETHODIMP_(ULONG) OCOverlay::Release() +{ + ULONG cRef = InterlockedDecrement(&_referenceCount); + if (0 == cRef) + { + delete this; + } + + return cRef; +} + +IFACEMETHODIMP OCOverlay::GetPriority(int *pPriority) +{ + pPriority = 0; + + return S_OK; +} + + IFACEMETHODIMP OCOverlay::IsMemberOf(PCWSTR pwszPath, DWORD dwAttrib) +{ + + //if(!_IsOverlaysEnabled()) + //{ + // return MAKE_HRESULT(S_FALSE, 0, 0); + //} + + bool isDir = dwAttrib & FILE_ATTRIBUTE_DIRECTORY; + + if (!_checker->IsMonitoredPath(pwszPath, isDir)) { + return MAKE_HRESULT(S_FALSE, 0, 0); + } + + return MAKE_HRESULT(S_OK, 0, 0); +} + +IFACEMETHODIMP OCOverlay::GetOverlayInfo(PWSTR pwszIconFile, int cchMax, int *pIndex, DWORD *pdwFlags) +{ + *pIndex = 0; + *pdwFlags = ISIOI_ICONFILE | ISIOI_ICONINDEX; + *pIndex = 2; + + if (GetModuleFileName(instanceHandle, pwszIconFile, cchMax) == 0) { + HRESULT hResult = HRESULT_FROM_WIN32(GetLastError()); + wcerr << L"IsOK? " << (hResult == S_OK) << L" with path " << pwszIconFile << L", index " << *pIndex << endl; + return hResult; + } + + return S_OK; +} + + +bool OCOverlay::_IsOverlaysEnabled() +{ + //int enable; + bool success = false; + + + + + //if(RegistryUtil::ReadRegistry(REGISTRY_ROOT_KEY, REGISTRY_ENABLE_OVERLAY, &enable)) + //{ + // if(enable) { + // success = true; + // } + //} + + return success; +} + diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.h b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.h new file mode 100644 index 000000000..498800a66 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.h @@ -0,0 +1,49 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#ifndef OCOVERLAY_H +#define OCOVERLAY_H + +#include "stdafx.h" + +#pragma once + +class RemotePathChecker; + +class OCOverlay : public IShellIconOverlayIdentifier + +{ +public: + OCOverlay(); + + IFACEMETHODIMP_(ULONG) AddRef(); + IFACEMETHODIMP GetOverlayInfo(PWSTR pwszIconFile, int cchMax, int *pIndex, DWORD *pdwFlags); + IFACEMETHODIMP GetPriority(int *pPriority); + IFACEMETHODIMP IsMemberOf(PCWSTR pwszPath, DWORD dwAttrib); + IFACEMETHODIMP QueryInterface(REFIID riid, void **ppv); + IFACEMETHODIMP_(ULONG) Release(); + +protected: + ~OCOverlay(void); + +private: + //bool _GenerateMessage(const wchar_t*, std::wstring*); + + bool _IsOverlaysEnabled(); + long _referenceCount; + CommunicationSocket* _communicationSocket; + RemotePathChecker* _checker; +}; + +#endif \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.rc b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.rc new file mode 100644 index 0000000000000000000000000000000000000000..8d4d30b6d48b50535658f4c44ddc2e3a4a7bc80c GIT binary patch literal 4244 zcmds)+ip@p6o%KeiSIDNjg6-D@C2n)BvNXiEt-&!21J@r+OWZD(q~t{e`b%IHejI_ zXeOJPz4n@!fBsn~e*HYK19Ns_SJt+n-B`lYwGpxlWQmRK()zp|*$bMpulB_TJVWFo z`VO)oz2=P>wHZ6!wAz*3qO)&L?FqXa_&$$xz}G(79j}{Pn7?m5%Xw|h%zM4ApQp7C z?W5K0%+9T7WjnQ&)$AB)k#W^3_8Cc?-xDh!sW6WF3&ZZUh%WZdO7JqzaTk_u?3(kB zU`IThaq3U}mO1qi=M*2u$lvhH-^ltqxa8Kqr}Jj{-#x}6qF^0kxRNDxIrnC^5t)zc z?p7bsIc|4=|Mk6J_Bicx?tH*o^us!%;FXE(WmrKn=q$@EK>l&TNj|V^@t=zY*ab=S|vLb#CJDra=IcpMsnpkv*{S%bS5WU?H(L?vi`*_^J(-dPu zQ;f)pH;dL5?`XH8$}}1w)O+k5meMBM4E{)_&oKGw?9N9Y#iBm?ckq-DgQQX9_nWUB z#y(r!qH*b~162&l=EGEX#7yTIR<)tb<qpBi7Bj8SW z7ZT-B;R&-<$*7h|>___bnm*)4AujvMLGep=uBcO^o$|z6pY&y-qUw!_Wc4VQVsB#M z$DC5xe8}E9;Z17st1+mmX;9Tn_IVr(TDJ#-V!rbih!jaD7-mP?Akw<)`H2W;xg%OC9@Ejl7JcgqF`x`mu>JgynU+HQ3bS~ zmsuRM>^vThRqQO!8IM!NO~>!u8pm7_d*%Nw_x8V5Xxsf;Qw_8F-&*8xw{CeFjSw!k Q_W}7$Ie78ES$3`T8y~~`&j0`b literal 0 HcmV?d00001 diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayFactory.cpp b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayFactory.cpp new file mode 100644 index 000000000..f2d344c02 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayFactory.cpp @@ -0,0 +1,104 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#include "OCOverlayFactory.h" +#include "OCOverlay.h" + +extern long dllReferenceCount; + +OCOverlayFactory::OCOverlayFactory(wchar_t* path) + : _referenceCount(1) +{ + InterlockedIncrement(&dllReferenceCount); +} + +OCOverlayFactory::~OCOverlayFactory() +{ + InterlockedDecrement(&dllReferenceCount); +} + +IFACEMETHODIMP OCOverlayFactory::QueryInterface(REFIID riid, void **ppv) +{ + HRESULT hResult = S_OK; + + if (IsEqualIID(IID_IUnknown, riid) || + IsEqualIID(IID_IClassFactory, riid)) + { + *ppv = static_cast(this); + AddRef(); + } + else + { + hResult = E_NOINTERFACE; + *ppv = NULL; + } + + return hResult; +} + +IFACEMETHODIMP_(ULONG) OCOverlayFactory::AddRef() +{ + return InterlockedIncrement(&_referenceCount); +} + +IFACEMETHODIMP_(ULONG) OCOverlayFactory::Release() +{ + ULONG cRef = InterlockedDecrement(&_referenceCount); + + if (0 == cRef) + { + delete this; + } + return cRef; +} + +IFACEMETHODIMP OCOverlayFactory::CreateInstance( + IUnknown *pUnkOuter, REFIID riid, void **ppv) +{ + HRESULT hResult = CLASS_E_NOAGGREGATION; + + if (pUnkOuter != NULL) + { + return hResult; + } + + hResult = E_OUTOFMEMORY; + + OCOverlay *lrOverlay = + new (std::nothrow) OCOverlay(); + + if (!lrOverlay) + { + return hResult; + } + + hResult = lrOverlay->QueryInterface(riid, ppv); + + lrOverlay->Release(); + + return hResult; +} + +IFACEMETHODIMP OCOverlayFactory::LockServer(BOOL fLock) +{ + if (fLock) + { + InterlockedIncrement(&dllReferenceCount); + } + else + { + InterlockedDecrement(&dllReferenceCount); + } + return S_OK; +} \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayFactory.h b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayFactory.h new file mode 100644 index 000000000..6751e5b57 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayFactory.h @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#ifndef OCOVERLAYFACTORY_H +#define OCOVERLAYFACTORY_H + +#pragma once + +#include "stdafx.h" + +class OCOverlayFactory : public IClassFactory +{ +public: + OCOverlayFactory(wchar_t* path); + + IFACEMETHODIMP_(ULONG) AddRef(); + IFACEMETHODIMP CreateInstance(IUnknown *pUnkOuter, REFIID riid, void **ppv); + IFACEMETHODIMP LockServer(BOOL fLock); + IFACEMETHODIMP QueryInterface(REFIID riid, void **ppv); + IFACEMETHODIMP_(ULONG) Release(); + +protected: + ~OCOverlayFactory(); + +private: + long _referenceCount; + wchar_t* _path; +}; + +#endif \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.cpp b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.cpp new file mode 100644 index 000000000..3fc0729f1 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.cpp @@ -0,0 +1,149 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#include "OCOverlayRegistrationHandler.h" +#include "stdafx.h" + +#include +#include + +using namespace std; + +HRESULT OCOverlayRegistrationHandler::MakeRegistryEntries(const CLSID& clsid, PWSTR friendlyName) +{ + HRESULT hResult; + HKEY shellOverlayKey = NULL; + hResult = HRESULT_FROM_WIN32(RegOpenKeyEx(HKEY_LOCAL_MACHINE, REGISTRY_OVERLAY_KEY, 0, KEY_WRITE, &shellOverlayKey)); + if (!SUCCEEDED(hResult)) { + hResult = RegCreateKey(HKEY_LOCAL_MACHINE, REGISTRY_OVERLAY_KEY, &shellOverlayKey); + if(!SUCCEEDED(hResult)) { + return hResult; + } + } + + HKEY syncExOverlayKey = NULL; + hResult = HRESULT_FROM_WIN32(RegCreateKeyEx(shellOverlayKey, friendlyName, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &syncExOverlayKey, NULL)); + + if (!SUCCEEDED(hResult)) { + return hResult; + } + + wchar_t stringCLSID[MAX_PATH]; + StringFromGUID2(clsid, stringCLSID, ARRAYSIZE(stringCLSID)); + LPCTSTR value = stringCLSID; + hResult = RegSetValueEx(syncExOverlayKey, NULL, 0, REG_SZ, (LPBYTE)value, (DWORD)((wcslen(value)+1) * sizeof(TCHAR))); + if (!SUCCEEDED(hResult)) { + return hResult; + } + + return hResult; +} + +HRESULT OCOverlayRegistrationHandler::RemoveRegistryEntries(PWSTR friendlyName) +{ + HRESULT hResult; + HKEY shellOverlayKey = NULL; + hResult = HRESULT_FROM_WIN32(RegOpenKeyEx(HKEY_LOCAL_MACHINE, REGISTRY_OVERLAY_KEY, 0, KEY_WRITE, &shellOverlayKey)); + + if (!SUCCEEDED(hResult)) { + return hResult; + } + + HKEY syncExOverlayKey = NULL; + hResult = HRESULT_FROM_WIN32(RegDeleteKeyEx(shellOverlayKey, friendlyName, DELETE, 0)); + if (!SUCCEEDED(hResult)) { + return hResult; + } + + return hResult; +} + +HRESULT OCOverlayRegistrationHandler::RegisterCOMObject(PCWSTR modulePath, const CLSID& clsid) +{ + if (modulePath == NULL) { + return E_FAIL; + } + + wchar_t stringCLSID[MAX_PATH]; + StringFromGUID2(clsid, stringCLSID, ARRAYSIZE(stringCLSID)); + HRESULT hResult; + HKEY hKey = NULL; + + hResult = HRESULT_FROM_WIN32(RegOpenKeyEx(HKEY_CLASSES_ROOT, REGISTRY_CLSID, 0, KEY_WRITE, &hKey)); + if (!SUCCEEDED(hResult)) { + return hResult; + } + + HKEY clsidKey = NULL; + hResult = HRESULT_FROM_WIN32(RegCreateKeyEx(hKey, stringCLSID, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &clsidKey, NULL)); + if(!SUCCEEDED(hResult)) { + return hResult; + } + + HKEY inprocessKey = NULL; + hResult = HRESULT_FROM_WIN32(RegCreateKeyEx(clsidKey, REGISTRY_IN_PROCESS, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &inprocessKey, NULL)); + if(!SUCCEEDED(hResult)) { + return hResult; + } + + DWORD cbData = lstrlen(modulePath) * sizeof(*modulePath); + hResult = HRESULT_FROM_WIN32(RegSetValue(inprocessKey, NULL, REG_SZ, modulePath, cbData)); + + if(!SUCCEEDED(hResult)) { + return hResult; + } + + hResult = HRESULT_FROM_WIN32(RegSetValueEx(inprocessKey, REGISTRY_THREADING, 0, REG_SZ, (LPBYTE)REGISTRY_APARTMENT, (DWORD)((wcslen(REGISTRY_APARTMENT)+1) * sizeof(TCHAR)))); + if(!SUCCEEDED(hResult)) { + return hResult; + } + + hResult = HRESULT_FROM_WIN32(RegSetValueEx(inprocessKey, REGISTRY_VERSION, 0, REG_SZ, (LPBYTE)REGISTRY_VERSION_NUMBER, (DWORD)(wcslen(REGISTRY_VERSION_NUMBER)+1) * sizeof(TCHAR))); + if(!SUCCEEDED(hResult)) { + return hResult; + } + + return S_OK; +} + +HRESULT OCOverlayRegistrationHandler::UnregisterCOMObject(const CLSID& clsid) +{ + wchar_t stringCLSID[MAX_PATH]; + + StringFromGUID2(clsid, stringCLSID, ARRAYSIZE(stringCLSID)); + HRESULT hResult; + HKEY hKey = NULL; + hResult = HRESULT_FROM_WIN32(RegOpenKeyEx(HKEY_CLASSES_ROOT, REGISTRY_CLSID, 0, DELETE, &hKey)); + if (!SUCCEEDED(hResult)) { + return hResult; + } + + HKEY clsidKey = NULL; + hResult = HRESULT_FROM_WIN32(RegOpenKeyEx(hKey, stringCLSID, 0, DELETE, &clsidKey)); + if(!SUCCEEDED(hResult)) { + return hResult; + } + + hResult = HRESULT_FROM_WIN32(RegDeleteKeyEx(clsidKey, REGISTRY_IN_PROCESS, DELETE, 0)); + if(!SUCCEEDED(hResult)) { + return hResult; + } + + hResult = HRESULT_FROM_WIN32(RegDeleteKeyEx(hKey, stringCLSID, DELETE, 0)); + if(!SUCCEEDED(hResult)) { + return hResult; + } + + return S_OK; +} \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.h b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.h new file mode 100644 index 000000000..1fdef93a7 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.h @@ -0,0 +1,31 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#ifndef OCOVERLAYREGISTRATIONHANDLER_H +#define OCOVERLAYREGISTRATIONHANDLER_H + +#pragma once + +#include "stdafx.h" + +class __declspec(dllexport) OCOverlayRegistrationHandler +{ + public: + static HRESULT MakeRegistryEntries(const CLSID& clsid, PWSTR fileType); + static HRESULT RegisterCOMObject(PCWSTR modulePath, const CLSID& clsid); + static HRESULT RemoveRegistryEntries(PWSTR friendlyName); + static HRESULT UnregisterCOMObject(const CLSID& clsid); +}; + +#endif \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlays.def b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlays.def new file mode 100644 index 000000000..8cde2bd02 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlays.def @@ -0,0 +1,6 @@ +LIBRARY +EXPORTS + DllGetClassObject PRIVATE + DllCanUnloadNow PRIVATE + DllRegisterServer PRIVATE + DllUnregisterServer PRIVATE \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlays.vcxproj b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlays.vcxproj new file mode 100644 index 000000000..b9f352b22 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlays.vcxproj @@ -0,0 +1,195 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {42EFEC79-5ACA-4F76-955F-15CE4340F6BC} + OCOverlays + + + + DynamicLibrary + true + Unicode + v120_xp + + + DynamicLibrary + true + Unicode + v120_xp + + + DynamicLibrary + false + true + Unicode + + + DynamicLibrary + false + true + Unicode + Windows7.1SDK + + + + + + + + + + + + + + + + + + + $(SolutionDir)$(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\ + $(ProjectName)_x86 + .dll + + + $(SolutionDir)$(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\ + $(ProjectName)_x64 + .dll + + + $(SolutionDir)$(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\ + $(ProjectName)_x86 + .dll + + + $(SolutionDir)$(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\ + $(ProjectName)_x64 + .dll + + + + Level3 + Disabled + ..\OCUtil;%(AdditionalIncludeDirectories) + false + + + true + ..\$(Configuration)\$(Platform); + OCUtil_x86.lib;%(AdditionalDependencies) + OCOverlays.def + + + + + Level3 + Disabled + ..\OCUtil;%(AdditionalIncludeDirectories) + false + + + true + ..\$(Configuration)\$(Platform); + OCUtil_x64.lib;%(AdditionalDependencies) + OCOverlays.def + + + + + Level3 + MaxSpeed + true + true + ..\OCUtil;%(AdditionalIncludeDirectories) + + + true + true + true + ..\$(Configuration)\$(Platform); + OCUtil_x86.lib;%(AdditionalDependencies) + OCOverlays.def + + + + + Level3 + MaxSpeed + true + true + ..\OCUtil;%(AdditionalIncludeDirectories) + + + true + true + true + ..\$(Configuration)\$(Platform); + OCUtil_x64.lib;%(AdditionalDependencies) + OCOverlays.def + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OverlayConstants.h b/shell_integration/windows/OCShellExtensions/OCOverlays/OverlayConstants.h new file mode 100644 index 000000000..9df0bc5d0 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OverlayConstants.h @@ -0,0 +1,32 @@ +/** +* Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. +* +* This library is free software; you can redistribute it and/or modify it under +* the terms of the GNU Lesser General Public License as published by the Free +* Software Foundation; either version 2.1 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 Lesser General Public License for more +* details. +*/ + +#define OVERLAY_ID 1 +#define OVERLAY_GUID L"{0960F09E-F328-48A3-B746-276B1E3C3722}" +#define OVERLAY_NAME L"OwnCloudStatusOverlay" + +#define REGISTRY_OVERLAY_KEY L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ShellIconOverlayIdentifiers" +#define REGISTRY_CLSID L"CLSID" +#define REGISTRY_IN_PROCESS L"InprocServer32" +#define REGISTRY_THREADING L"ThreadingModel" +#define REGISTRY_APARTMENT L"Apartment" +#define REGISTRY_VERSION L"Version" +#define REGISTRY_VERSION_NUMBER L"1.0" + +//Registry values for running +#define REGISTRY_ENABLE_OVERLAY L"EnableOverlay" + +#define GET_FILE_OVERLAY_ID L"getFileIconId" + +#define PORT 33001 \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OverlayConstants.h.original b/shell_integration/windows/OCShellExtensions/OCOverlays/OverlayConstants.h.original new file mode 100644 index 000000000..e244e1515 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OverlayConstants.h.original @@ -0,0 +1,32 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#define OVERLAY_ID [$overlay.id$] +#define OVERLAY_GUID L"[$overlay.guid$]" +#define OVERLAY_NAME L"[$overlay.name$]" + +#define REGISTRY_OVERLAY_KEY L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ShellIconOverlayIdentifiers" +#define REGISTRY_CLSID L"CLSID" +#define REGISTRY_IN_PROCESS L"InprocServer32" +#define REGISTRY_THREADING L"ThreadingModel" +#define REGISTRY_APARTMENT L"Apartment" +#define REGISTRY_VERSION L"Version" +#define REGISTRY_VERSION_NUMBER L"1.0" + +//Registry values for running +#define REGISTRY_ENABLE_OVERLAY L"EnableOverlay" + +#define GET_FILE_OVERLAY_ID L"getFileIconId" + +#define PORT 33001 diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/ico/Error.ico b/shell_integration/windows/OCShellExtensions/OCOverlays/ico/Error.ico new file mode 100644 index 0000000000000000000000000000000000000000..ebcaa7f98c4140b1afc71401e113e668e6cc7113 GIT binary patch literal 30166 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 literal 0 HcmV?d00001 diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/ico/Error_Shared.ico b/shell_integration/windows/OCShellExtensions/OCOverlays/ico/Error_Shared.ico new file mode 100644 index 0000000000000000000000000000000000000000..02c963937b94281313b1e6d85db9ac0b0031f7ac GIT binary patch literal 30166 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 G?fO5uP7?6| literal 0 HcmV?d00001 diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/ico/OK.ico b/shell_integration/windows/OCShellExtensions/OCOverlays/ico/OK.ico new file mode 100644 index 0000000000000000000000000000000000000000..f285d9c757c45178a4bfa50025351366e0dc0580 GIT binary patch literal 30166 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 UU9cQZ(H8H&Ph6JVur}=ZKipkf4FCWD literal 0 HcmV?d00001 diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/ico/Warning.ico b/shell_integration/windows/OCShellExtensions/OCOverlays/ico/Warning.ico new file mode 100644 index 0000000000000000000000000000000000000000..b7fabc3bf67125141cd7705f139368abc88ea773 GIT binary patch literal 30166 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 literal 0 HcmV?d00001 diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/ico/Warning_Shared.ico b/shell_integration/windows/OCShellExtensions/OCOverlays/ico/Warning_Shared.ico new file mode 100644 index 0000000000000000000000000000000000000000..fc85d46d0acc51d848b5101e85a9a99afae16556 GIT binary patch literal 30166 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 literal 0 HcmV?d00001 diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/stdafx.h b/shell_integration/windows/OCShellExtensions/OCOverlays/stdafx.h new file mode 100644 index 000000000..81121202b --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/stdafx.h @@ -0,0 +1,30 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#define WIN32_LEAN_AND_MEAN + +#include "CommunicationSocket.h" +#include "RegistryUtil.h" +#include "OverlayConstants.h" +#include "FileUtil.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include diff --git a/shell_integration/windows/OCShellExtensions/OCShellExtensions.sln b/shell_integration/windows/OCShellExtensions/OCShellExtensions.sln new file mode 100644 index 000000000..979c155fa --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCShellExtensions.sln @@ -0,0 +1,49 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.30501.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCUtil", "OCUtil\OCUtil.vcxproj", "{E4F63E19-808D-4234-8DF0-69C5F47C9CD3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCOverlays", "OCOverlays\OCOverlays.vcxproj", "{42EFEC79-5ACA-4F76-955F-15CE4340F6BC}" + ProjectSection(ProjectDependencies) = postProject + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3} = {E4F63E19-808D-4234-8DF0-69C5F47C9CD3} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCUtilTest", "ConsoleApplication1\ConsoleApplication1.vcxproj", "{A81E3DAE-8FE7-4BD0-82F9-939B2D59D033}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Debug|Win32.ActiveCfg = Debug|Win32 + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Debug|Win32.Build.0 = Debug|Win32 + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Debug|x64.ActiveCfg = Debug|x64 + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Debug|x64.Build.0 = Debug|x64 + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Release|Win32.ActiveCfg = Release|Win32 + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Release|Win32.Build.0 = Release|Win32 + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Release|x64.ActiveCfg = Release|x64 + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Release|x64.Build.0 = Release|x64 + {42EFEC79-5ACA-4F76-955F-15CE4340F6BC}.Debug|Win32.ActiveCfg = Debug|Win32 + {42EFEC79-5ACA-4F76-955F-15CE4340F6BC}.Debug|Win32.Build.0 = Debug|Win32 + {42EFEC79-5ACA-4F76-955F-15CE4340F6BC}.Debug|x64.ActiveCfg = Debug|x64 + {42EFEC79-5ACA-4F76-955F-15CE4340F6BC}.Debug|x64.Build.0 = Debug|x64 + {42EFEC79-5ACA-4F76-955F-15CE4340F6BC}.Release|Win32.ActiveCfg = Release|Win32 + {42EFEC79-5ACA-4F76-955F-15CE4340F6BC}.Release|Win32.Build.0 = Release|Win32 + {42EFEC79-5ACA-4F76-955F-15CE4340F6BC}.Release|x64.ActiveCfg = Release|x64 + {42EFEC79-5ACA-4F76-955F-15CE4340F6BC}.Release|x64.Build.0 = Release|x64 + {A81E3DAE-8FE7-4BD0-82F9-939B2D59D033}.Debug|Win32.ActiveCfg = Debug|Win32 + {A81E3DAE-8FE7-4BD0-82F9-939B2D59D033}.Debug|Win32.Build.0 = Debug|Win32 + {A81E3DAE-8FE7-4BD0-82F9-939B2D59D033}.Debug|x64.ActiveCfg = Debug|Win32 + {A81E3DAE-8FE7-4BD0-82F9-939B2D59D033}.Release|Win32.ActiveCfg = Release|Win32 + {A81E3DAE-8FE7-4BD0-82F9-939B2D59D033}.Release|Win32.Build.0 = Release|Win32 + {A81E3DAE-8FE7-4BD0-82F9-939B2D59D033}.Release|x64.ActiveCfg = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/CommunicationSocket.cpp b/shell_integration/windows/OCShellExtensions/OCUtil/CommunicationSocket.cpp new file mode 100644 index 000000000..92f404848 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtil/CommunicationSocket.cpp @@ -0,0 +1,127 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#include "CommunicationSocket.h" +#include "UtilConstants.h" +#include "StringUtil.h" + +#include +#include +#include +#include +#include + +#include + +#define BUFSIZE 1024 + +using namespace std; + +#define DEFAULT_BUFLEN 4096 + +CommunicationSocket::CommunicationSocket(int port) + : _port(port), _clientSocket(INVALID_SOCKET) +{ +} + +CommunicationSocket::~CommunicationSocket() +{ + Close(); +} + +bool CommunicationSocket::Close() +{ + WSACleanup(); + bool closed = (closesocket(_clientSocket) == 0); + shutdown(_clientSocket, SD_BOTH); + _clientSocket = INVALID_SOCKET; + return closed; +} + + +bool CommunicationSocket::Connect() +{ + WSADATA wsaData; + + HRESULT iResult = WSAStartup(MAKEWORD(2, 2), &wsaData); + + if (iResult != NO_ERROR) { + int error = WSAGetLastError(); + } + + + _clientSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); + + if (_clientSocket == INVALID_SOCKET) { + //int error = WSAGetLastError(); + Close(); + return false; + } + + struct sockaddr_in clientService; + + clientService.sin_family = AF_INET; + clientService.sin_addr.s_addr = inet_addr(PLUG_IN_SOCKET_ADDRESS); + clientService.sin_port = htons(_port); + + iResult = connect(_clientSocket, (SOCKADDR*)&clientService, sizeof(clientService)); + + if (iResult == SOCKET_ERROR) { + //int error = WSAGetLastError(); + Close(); + return false; + } + return true; +} + +bool CommunicationSocket::SendMsg(const wchar_t* message) +{ + const char* utf8_msg = StringUtil::toUtf8(message); + size_t result = send(_clientSocket, utf8_msg, (int)strlen(utf8_msg), 0); + delete[] utf8_msg; + + if (result == SOCKET_ERROR) { + //int error = WSAGetLastError(); + closesocket(_clientSocket); + return false; + } + + return true; + +} + +bool CommunicationSocket::ReadLine(wstring* response) +{ + if (!response) { + return false; + } + + vector resp_utf8; + char buffer; + while (true) { + int bytesRead = recv(_clientSocket, &buffer, 1, 0); + if (bytesRead <= 0) { + response = 0; + return false; + } + + if (buffer == '\n') { + resp_utf8.push_back(0); + *response = StringUtil::toUtf16(&resp_utf8[0], resp_utf8.size()); + return true; + } else { + resp_utf8.push_back(buffer); + } + } +} diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/CommunicationSocket.h b/shell_integration/windows/OCShellExtensions/OCUtil/CommunicationSocket.h new file mode 100644 index 000000000..7bbf1bf63 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtil/CommunicationSocket.h @@ -0,0 +1,42 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#ifndef COMMUNICATIONSOCKET_H +#define COMMUNICATIONSOCKET_H + +#pragma once + +#pragma warning (disable : 4251) + +#include +#include + +class __declspec(dllexport) CommunicationSocket +{ +public: + CommunicationSocket(int port); + ~CommunicationSocket(); + + bool Connect(); + bool Close(); + + bool SendMsg(const wchar_t*); + bool ReadLine(std::wstring*); + +private: + int _port; + SOCKET _clientSocket; +}; + +#endif \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/FileUtil.cpp b/shell_integration/windows/OCShellExtensions/OCUtil/FileUtil.cpp new file mode 100644 index 000000000..e0861682b --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtil/FileUtil.cpp @@ -0,0 +1,84 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#include "FileUtil.h" +#include "RegistryUtil.h" +#include "UtilConstants.h" + +using namespace std; + +bool FileUtil::IsChildFile(const wchar_t* rootFolder, vector* files) +{ + for(vector::iterator it = files->begin(); it != files->end(); it++) + { + wstring file = *it; + + size_t found = file.find(rootFolder); + + if(found != string::npos) + { + return true; + } + } + + return false; +} + +bool FileUtil::IsChildFile(const wchar_t* rootFolder, const wchar_t* file) +{ + wstring* f = new wstring(file); + + size_t found = f->find(rootFolder); + + if(found != string::npos) + { + return true; + } + + return false; +} + +bool FileUtil::IsChildFileOfRoot(std::vector* files) +{ + wstring* rootFolder = new wstring(); + bool needed = false; + + if(RegistryUtil::ReadRegistry(REGISTRY_ROOT_KEY, REGISTRY_FILTER_FOLDER, rootFolder)) + { + if(IsChildFile(rootFolder->c_str(), files)) + { + needed = true; + } + } + + delete rootFolder; + return needed; +} + +bool FileUtil::IsChildFileOfRoot(const wchar_t* filePath) +{ + wstring* rootFolder = new wstring(); + bool needed = false; + + if(RegistryUtil::ReadRegistry(REGISTRY_ROOT_KEY, REGISTRY_FILTER_FOLDER, rootFolder)) + { + if(FileUtil::IsChildFile(rootFolder->c_str(), filePath)) + { + needed = true; + } + } + + delete rootFolder; + return needed; +} \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/FileUtil.h b/shell_integration/windows/OCShellExtensions/OCUtil/FileUtil.h new file mode 100644 index 000000000..650bc471f --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtil/FileUtil.h @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#ifndef FILEUTIL_H +#define FILEUTIL_H + +#pragma once + +#pragma warning (disable : 4251) + +#include +#include + +class __declspec(dllexport) FileUtil +{ +public: + FileUtil(); + + ~FileUtil(); + + static bool IsChildFile(const wchar_t*, std::vector*); + static bool IsChildFile(const wchar_t*, const wchar_t*); + static bool IsChildFileOfRoot(std::vector*); + static bool IsChildFileOfRoot(const wchar_t*); + +private: +}; + +#endif \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/OCMessage.cpp b/shell_integration/windows/OCShellExtensions/OCUtil/OCMessage.cpp new file mode 100644 index 000000000..b86005f71 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtil/OCMessage.cpp @@ -0,0 +1,74 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#include "OCMessage.h" +#include "ParserUtil.h" +#include "UtilConstants.h" + +#include + +#include +#include + +using namespace std; + +OCMessage::OCMessage(void) +{ + _command = new wstring(); + _value = new wstring(); +} + +OCMessage::~OCMessage(void) +{ +} + +bool OCMessage::InitFromMessage(const wstring* message) +{ + if(message->length() == 0) + { + return false; + } + + if(!ParserUtil::GetItem(COMMAND, message, _command)) + { + return false; + } + + if(!ParserUtil::GetItem(VALUE, message, _value)) + { + return false; + } + + return true; +} + +std::wstring* OCMessage::GetCommand() +{ + return _command; +} + +std::wstring* OCMessage::GetValue() +{ + return _value; +} + +void OCMessage::SetCommand(std::wstring* command) +{ + _command = command; +} + +void OCMessage::SetValue(std::wstring* value) +{ + _value = value; +} diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/OCMessage.h b/shell_integration/windows/OCShellExtensions/OCUtil/OCMessage.h new file mode 100644 index 000000000..131f3d714 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtil/OCMessage.h @@ -0,0 +1,42 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#ifndef OCMESSAGE_H +#define OCMESSAGE_H + +#include + +#pragma once + +class __declspec(dllexport) OCMessage +{ +public: + OCMessage(void); + ~OCMessage(void); + + bool InitFromMessage(const std::wstring*); + + std::wstring* GetCommand(); + std::wstring* GetValue(); + + void SetCommand(std::wstring*); + void SetValue(std::wstring*); + +private: + + std::wstring* _command; + std::wstring* _value; +}; + +#endif \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/OCUtil.vcxproj b/shell_integration/windows/OCShellExtensions/OCUtil/OCUtil.vcxproj new file mode 100644 index 000000000..fc3b1a31f --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtil/OCUtil.vcxproj @@ -0,0 +1,157 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3} + OCUtil + + + + DynamicLibrary + true + Unicode + v120_xp + + + DynamicLibrary + true + Unicode + v120_xp + + + DynamicLibrary + false + true + Unicode + + + DynamicLibrary + false + true + Unicode + Windows7.1SDK + + + + + + + + + + + + + + + + + + + .dll + $(SolutionDir)$(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\ + $(ProjectName)_x86 + + + .dll + $(SolutionDir)$(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\ + $(ProjectName)_x64 + + + $(ProjectName)_x64 + $(Configuration)\$(Platform)\ + $(SolutionDir)$(Configuration)\$(Platform)\ + + + .dll + $(ProjectName)_x86 + $(Configuration)\$(Platform)\ + $(SolutionDir)$(Configuration)\$(Platform)\ + + + + Level3 + Disabled + false + + + true + ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + Level3 + Disabled + + + true + ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/ParserUtil.cpp b/shell_integration/windows/OCShellExtensions/OCUtil/ParserUtil.cpp new file mode 100644 index 000000000..ba7d9f101 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtil/ParserUtil.cpp @@ -0,0 +1,389 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#include "ParserUtil.h" +#include "UtilConstants.h" + +#include + +using namespace std; + +bool ParserUtil::GetItem(const wchar_t* item, const wstring* message, wstring* result) +{ + size_t start = message->find(item, 0); + + if(start == string::npos) + { + return false; + } + + size_t end = message->find(COLON, start); + + if(end == string::npos) + { + return false; + } + + //Move to next character after : + end += 1; + + wchar_t c = message->at(end); + + //Move to the next character, which is the start of the value + end += 1; + + if(c == '[') + { + return GetList(end - 1, message, result); + } + else + { + return GetValue(end, message, result); + } +} + +bool ParserUtil::GetList(size_t start, const wstring* message, wstring* result) +{ + size_t end = start + 1; + + int openBraceCount = 1; + + while(openBraceCount > 0) + { + size_t closeBraceLocation = message->find(CLOSE_BRACE, end); + size_t openBraceLocation = message->find(OPEN_BRACE, end); + + if(closeBraceLocation < openBraceLocation) + { + openBraceCount--; + end = closeBraceLocation + 1; + } + else if(openBraceLocation < closeBraceLocation) + { + openBraceCount++; + end = openBraceLocation + 1; + } + + } + + size_t length = end - start; + + return GetString(start, end, message, result); +} + +size_t ParserUtil::GetNextStringItemInList(const wstring* message, size_t start, wstring* result) +{ + size_t end = string::npos; + size_t commaLocation = message->find(COMMA, start); + + if(commaLocation == string::npos) + { + end = message->find(CLOSE_BRACE, start); + if(end == string::npos) + { + end = message->length(); + } + else + { + end = end - 1; + } + } + else + { + end = commaLocation - 1; + } + + if(!GetString(start + 2, end, message, result)) + { + return string::npos; + } + + return end + 2; +} + +size_t ParserUtil::GetNextOCItemInList(const wstring* message, size_t start, wstring* result) +{ + size_t end = message->find(OPEN_CURLY_BRACE, start) + 1; + + int openBraceCount = 1; + + while(openBraceCount > 0) + { + size_t closeBraceLocation = message->find(CLOSE_CURLY_BRACE, end); + size_t openBraceLocation = message->find(OPEN_CURLY_BRACE, end); + + if(closeBraceLocation < openBraceLocation) + { + openBraceCount--; + end = closeBraceLocation + 1; + } + else if(openBraceLocation < closeBraceLocation) + { + openBraceCount++; + end = openBraceLocation + 1; + } + } + + size_t length = end - start; + + if(!GetString(start, end, message, result)) + { + return string::npos; + } + + return end; +} + +bool ParserUtil::GetValue(size_t start, const wstring* message, wstring* result) +{ + if(message->at(start - 1) == '\"') + { + size_t end = message->find(QUOTE, start); + return GetString(start, end, message, result); + } + else + { + start = start - 1; + + size_t end = message->find(COMMA, start); + + result->append(message->substr(start, end-start)); + } + + return true; +} + +bool ParserUtil::GetString(size_t start, size_t end, const wstring* message, wstring* result) +{ + if(end == string::npos) + { + return false; + } + + size_t length = end - start; + + if(length > 0) + { + result->append(message->substr(start, length)); + } + else + { + result->append(L""); + } + + + return true; +} + +bool ParserUtil::IsList(wstring* message) +{ + wchar_t c = message->at(0); + + if(c == '[') + { + return true; + } + + return false; +} + +bool ParserUtil::ParseJsonList(wstring* message, vector* items) +{ + + size_t currentLocation = message->find(OPEN_BRACE, 0); + + while(currentLocation < message->size()) + { + wstring* item = new wstring(); + + currentLocation = ParserUtil::GetNextStringItemInList(message, currentLocation, item); + + if(currentLocation == string::npos) + { + return false; + } + + items->push_back(item); + } + + return true; +} + +bool ParserUtil::ParseOCList(wstring* message, vector* items) +{ + + size_t currentLocation = message->find(OPEN_CURLY_BRACE, 0); + + while(currentLocation < message->size()) + { + wstring* item = new wstring(); + + currentLocation = ParserUtil::GetNextOCItemInList(message, currentLocation, item); + + if(currentLocation == string::npos) + { + return false; + } + + items->push_back(item); + } + + return true; +} + +bool ParserUtil::ParseOCMessageList(wstring* message, vector* messages) +{ + vector* items = new vector(); + + if(!ParseOCList(message, items)) + { + return false; + } + + for(vector::iterator it = items->begin(); it != items->end(); it++) + { + wstring* temp = *it; + + OCMessage* message = new OCMessage(); + message->InitFromMessage(temp); + + messages->push_back(message); + } + + return true; +} + +bool ParserUtil::SerializeList(std::vector* list, std::wstring* result, bool escapeQuotes) +{ + if(result == 0) + { + return false; + } + + result->append(OPEN_BRACE); + + for(vector::iterator it = list->begin(); it != list->end(); it++) + { + wstring value = *it; + + if(escapeQuotes) + { + result->append(BACK_SLASH); + } + + result->append(QUOTE); + result->append(value.c_str()); + + if(escapeQuotes) + { + result->append(BACK_SLASH); + } + + result->append(QUOTE); + result->append(COMMA); + } + + //Erase last comma + result->erase(result->size() - 1, 1); + + result->append(CLOSE_BRACE); + + return true; +} + +bool ParserUtil::SerializeMessage(std::map* arguments, std::wstring* result, bool escapeQuotes) +{ + if(result == 0) + { + return false; + } + + result->append(OPEN_CURLY_BRACE); + + for(map::iterator it = arguments->begin(); it != arguments->end(); it++) + { + wstring key = *it->first; + wstring value = *it->second; + + if(escapeQuotes) + { + result->append(BACK_SLASH); + } + + result->append(QUOTE); + result->append(key.c_str()); + + if(escapeQuotes) + { + result->append(BACK_SLASH); + } + + result->append(QUOTE); + result->append(COLON); + result->append(value.c_str()); + result->append(COMMA); + } + + //Erase last comma + result->erase(result->size() - 1, 1); + + result->append(CLOSE_CURLY_BRACE); + + return true; +} + +bool ParserUtil::SerializeMessage(OCMessage* OCMessage, std::wstring* result) +{ + if(result == 0) + { + return false; + } + + result->append(OPEN_CURLY_BRACE); + + result->append(QUOTE); + result->append(COMMAND); + result->append(QUOTE); + + result->append(COLON); + + result->append(QUOTE); + result->append(OCMessage->GetCommand()->c_str()); + result->append(QUOTE); + + result->append(COMMA); + + result->append(QUOTE); + result->append(VALUE); + result->append(QUOTE); + + result->append(COLON); + + if(!IsList(OCMessage->GetValue())) + { + result->append(QUOTE); + } + + result->append(OCMessage->GetValue()->c_str()); + + if(!IsList(OCMessage->GetValue())) + { + result->append(QUOTE); + } + + result->append(CLOSE_CURLY_BRACE); + + return true; +} + diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/RegistryUtil.cpp b/shell_integration/windows/OCShellExtensions/OCUtil/RegistryUtil.cpp new file mode 100644 index 000000000..5c41bf861 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtil/RegistryUtil.cpp @@ -0,0 +1,70 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#include "RegistryUtil.h" + +#include + +using namespace std; + +#define SIZE 4096 + +bool RegistryUtil::ReadRegistry(const wchar_t* key, const wchar_t* name, int* result) +{ + wstring* strResult = new wstring(); + + if(!ReadRegistry(key, name, strResult)) + { + return false; + } + + *result = stoi( strResult->c_str() ); + + return true; +} + +bool RegistryUtil::ReadRegistry(const wchar_t* key, const wchar_t* name, wstring* result) +{ + HRESULT hResult; + + HKEY rootKey = NULL; + + hResult = HRESULT_FROM_WIN32(RegOpenKeyEx(HKEY_CURRENT_USER, (LPCWSTR)key, NULL, KEY_READ, &rootKey)); + + if(!SUCCEEDED(hResult)) + { + return false; + } + + wchar_t value[SIZE]; + DWORD value_length = SIZE; + + hResult = RegQueryValueEx(rootKey, (LPCWSTR)name, NULL, NULL, (LPBYTE)value, &value_length ); + + if(!SUCCEEDED(hResult)) + { + return false; + } + + result->append(value); + + HRESULT hResult2 = RegCloseKey(rootKey); + + if (!SUCCEEDED(hResult2)) + { + return false; + } + + return true; +} diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/RegistryUtil.h b/shell_integration/windows/OCShellExtensions/OCUtil/RegistryUtil.h new file mode 100644 index 000000000..1928d64ce --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtil/RegistryUtil.h @@ -0,0 +1,35 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#ifndef REGISTRYUTIL_H +#define REGISTRYUTIL_H + +#pragma once + +#pragma warning (disable : 4251) + +#include + +class __declspec(dllexport) RegistryUtil +{ +public: + RegistryUtil(); + + ~RegistryUtil(); + + static bool ReadRegistry(const wchar_t*, const wchar_t*, int*); + static bool ReadRegistry(const wchar_t*, const wchar_t*, std::wstring*); +}; + +#endif \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.cpp b/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.cpp new file mode 100644 index 000000000..2eec3c2ea --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.cpp @@ -0,0 +1,112 @@ +/** +* Copyright (c) 2014 ownCloud, Inc. All rights reserved. +* +* This library is free software; you can redistribute it and/or modify it under +* the terms of the GNU Lesser General Public License as published by the Free +* Software Foundation; version 2.1 of the License +* +* 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 Lesser General Public License for more +* details. +*/ + +#include "CommunicationSocket.h" + +#include "RemotePathChecker.h" + +#include +#include +#include +#include +#include + +using namespace std; + +namespace { + template + bool begins_with(const TContainer& input, const TContainer& match) + { + return input.size() >= match.size() + && equal(match.begin(), match.end(), input.begin()); + } +} + +RemotePathChecker::RemotePathChecker(int port) + : _port(port) +{ +} + +bool RemotePathChecker::IsMonitoredPath(const wchar_t* filePath, bool isDir) +{ + wstring request; + wstring response; + bool needed = false; + + CommunicationSocket socket(_port); + socket.Connect(); + if (isDir) { + request = L"RETRIEVE_FOLDER_STATUS:"; + } else { + request = L"RETRIEVE_FILE_STATUS:"; + } + request += filePath; + request += L'\n'; + + if (!socket.SendMsg(request.c_str())) { + return false; + } + + while ((socket.ReadLine(&response))) { + // discard broadcast messages + if (begins_with(response, wstring(L"STATUS:"))) { + break; + } + } + + size_t statusBegin = response.find(L':', 0); + if (statusBegin == -1) + return false; + + size_t statusEnd = response.find(L':', statusBegin + 1); + if (statusEnd == -1) + return false; + + + wstring responseStatus = response.substr(statusBegin+1, statusEnd - statusBegin-1); + wstring responsePath = response.substr(statusEnd+1); + if (responsePath == filePath) { + int status = _StrToFileState(responseStatus); + if (status == StateNone) { + return false; + } + needed = true; + } + + return needed; +} + +int RemotePathChecker::_StrToFileState(const std::wstring &str) +{ + if (str == L"NOP" || str == L"NONE") { + return StateNone; + } else if (str == L"SYNC" || str == L"NEW") { + return StateSync; + } else if (str == L"SYNC+SWM" || str == L"NEW+SWM") { + return StateSyncSWM; + } else if (str == L"OK") { + return StateOk; + } else if (str == L"OK+SWM") { + return StateOkSWM; + } else if (str == L"IGNORE") { + return StateWarning; + } else if (str == L"IGNORE+SWM") { + return StateWarningSWM; + } else if (str == L"ERROR") { + return StateError; + } else if (str == L"ERROR+SWM") { + return StateErrorSWM; + } + + return StateNone; +} \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.h b/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.h new file mode 100644 index 000000000..5e58c6d64 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.h @@ -0,0 +1,41 @@ +/** +* Copyright (c) 2014 ownCloud, Inc. All rights reserved. +* +* This library is free software; you can redistribute it and/or modify it under +* the terms of the GNU Lesser General Public License as published by the Free +* Software Foundation; version 2.1 of the License +* +* 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 Lesser General Public License for more +* details. +*/ + +#ifndef PATHCHECKER_H +#define PATHCHECKER_H + +#include + +#pragma once + +class __declspec(dllexport) RemotePathChecker { +public: + enum FileState { + // Order synced with OCOverlay + StateError = 0, StateErrorSWM, + StateOk, StateOkSWM, + StateSync, StateSyncSWM, + StateWarning, StateWarningSWM, + StateNone + }; + RemotePathChecker(int port); + bool IsMonitoredPath(const wchar_t* filePath, bool isDir); + +private: + int _StrToFileState(const std::wstring &str); + + int _port; + +}; + +#endif \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/StringUtil.cpp b/shell_integration/windows/OCShellExtensions/OCUtil/StringUtil.cpp new file mode 100644 index 000000000..0c7af0b82 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtil/StringUtil.cpp @@ -0,0 +1,32 @@ +/** +* Copyright (c) 2014 ownCloud, Inc. All rights reserved. +* +* This library is free software; you can redistribute it and/or modify it under +* the terms of the GNU Lesser General Public License as published by the Free +* Software Foundation; version 2.1 of the License +* +* 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 Lesser General Public License for more +* details. +*/ + +#include + +#include "StringUtil.h" + +char* StringUtil::toUtf8(const wchar_t *utf16, int len) +{ + int newlen = WideCharToMultiByte(CP_UTF8, 0, utf16, len, NULL, 0, NULL, NULL); + char* str = new char[newlen]; + WideCharToMultiByte(CP_UTF8, 0, utf16, -1, str, newlen, NULL, NULL); + return str; +} + +wchar_t* StringUtil::toUtf16(const char *utf8, int len) +{ + int newlen = MultiByteToWideChar(CP_UTF8, 0, utf8, len, NULL, 0); + wchar_t* wstr = new wchar_t[newlen]; + MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wstr, newlen); + return wstr; +} diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/StringUtil.h b/shell_integration/windows/OCShellExtensions/OCUtil/StringUtil.h new file mode 100644 index 000000000..d885a89f6 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtil/StringUtil.h @@ -0,0 +1,27 @@ +/** +* Copyright (c) 2014 ownCloud, Inc. All rights reserved. +* +* This library is free software; you can redistribute it and/or modify it under +* the terms of the GNU Lesser General Public License as published by the Free +* Software Foundation; version 2.1 of the License +* +* 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 Lesser General Public License for more +* details. +*/ + +#ifndef STRINGUTIL_H +#define STRINGUTIL_H + +#pragma once + +#include + +class __declspec(dllexport) StringUtil { +public: + static char* toUtf8(const wchar_t* utf16, int len = -1); + static wchar_t* toUtf16(const char* utf8, int len = -1); +}; + +#endif // STRINGUTIL_H diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/UtilConstants.h b/shell_integration/windows/OCShellExtensions/OCUtil/UtilConstants.h new file mode 100644 index 000000000..04ca7d3ba --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtil/UtilConstants.h @@ -0,0 +1,30 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#define PLUG_IN_SOCKET_ADDRESS "127.0.0.1" + +#define BACK_SLASH L"\\" +#define CLOSE_BRACE L"]" +#define CLOSE_CURLY_BRACE L"}" +#define COLON L":" +#define COMMAND L"command" +#define COMMA L"," +#define OPEN_BRACE L"[" +#define OPEN_CURLY_BRACE L"{" +#define QUOTE L"\"" +#define VALUE L"value" + +#define REGISTRY_ROOT_KEY L"SOFTWARE\\ownCloud Inc\\ownCloud" +#define REGISTRY_ENABLE_OVERLAY L"EnableOverlay" +#define REGISTRY_FILTER_FOLDER L"FilterFolder" diff --git a/shell_integration/windows/OCShellExtensions/OCUtilTest/OCUtilTest.cpp b/shell_integration/windows/OCShellExtensions/OCUtilTest/OCUtilTest.cpp new file mode 100644 index 000000000..179f8334a --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtilTest/OCUtilTest.cpp @@ -0,0 +1,37 @@ +// ConsoleApplication1.cpp : Defines the entry point for the console application. +// + +#include "stdafx.h" + +#include +#include +#include + +#include "RemotePathChecker.h" +#include "StringUtil.h" + +using namespace std; + +int _tmain(int argc, _TCHAR* argv[]) +{ + RemotePathChecker checker(33001); + + vector paths; + + wstring test1(L"C:\\Users\\owncloud\\ownCloud\\wizard2.png"); + wstring test2(L"C:\\Users\\owncloud\\ownCloud\\wizard3.png"); + wstring test3(L"C:\\Users\\owncloud\\ownCloud\\HAMMANET.png"); + paths.push_back(test1); + paths.push_back(test2); + paths.push_back(test3); + +// wstring test3 = StringUtil::toUtf16(StringUtil::toUtf8(test1.c_str())); + + vector::iterator it; + for (it = paths.begin(); it != paths.end(); ++it) { + bool monitored = checker.IsMonitoredPath(it->c_str(), false); + wcout << *it << " " << monitored << " with value " << checker.GetPathType() << endl; + } + return 0; +} + diff --git a/shell_integration/windows/OCShellExtensions/OCUtilTest/OCUtilTest.filters b/shell_integration/windows/OCShellExtensions/OCUtilTest/OCUtilTest.filters new file mode 100644 index 000000000..2507d8e20 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtilTest/OCUtilTest.filters @@ -0,0 +1,33 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCUtilTest/OCUtilTest.vcxproj b/shell_integration/windows/OCShellExtensions/OCUtilTest/OCUtilTest.vcxproj new file mode 100644 index 000000000..e4c35a3b2 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtilTest/OCUtilTest.vcxproj @@ -0,0 +1,97 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {A81E3DAE-8FE7-4BD0-82F9-939B2D59D033} + Win32Proj + OCUtilTest + OCUtilTest + + + + Application + true + v120 + Unicode + + + Application + false + v120 + true + Unicode + + + + + + + + + + + + + true + $(SolutionDir)$(Configuration)\$(Platform)\ + + + false + + + + Use + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) + true + ..\OCUtil + + + Console + true + ..\$(Configuration)\$(Platform); + OCUtil_x86.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + + + + Create + Create + + + + + + \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCUtilTest/ReadMe.txt b/shell_integration/windows/OCShellExtensions/OCUtilTest/ReadMe.txt new file mode 100644 index 000000000..4cb8a2f4b --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtilTest/ReadMe.txt @@ -0,0 +1,40 @@ +======================================================================== + CONSOLE APPLICATION : ConsoleApplication1 Project Overview +======================================================================== + +AppWizard has created this ConsoleApplication1 application for you. + +This file contains a summary of what you will find in each of the files that +make up your ConsoleApplication1 application. + + +ConsoleApplication1.vcxproj + This is the main project file for VC++ projects generated using an Application Wizard. + It contains information about the version of Visual C++ that generated the file, and + information about the platforms, configurations, and project features selected with the + Application Wizard. + +ConsoleApplication1.vcxproj.filters + This is the filters file for VC++ projects generated using an Application Wizard. + It contains information about the association between the files in your project + and the filters. This association is used in the IDE to show grouping of files with + similar extensions under a specific node (for e.g. ".cpp" files are associated with the + "Source Files" filter). + +ConsoleApplication1.cpp + This is the main application source file. + +///////////////////////////////////////////////////////////////////////////// +Other standard files: + +StdAfx.h, StdAfx.cpp + These files are used to build a precompiled header (PCH) file + named ConsoleApplication1.pch and a precompiled types file named StdAfx.obj. + +///////////////////////////////////////////////////////////////////////////// +Other notes: + +AppWizard uses "TODO:" comments to indicate parts of the source code you +should add to or customize. + +///////////////////////////////////////////////////////////////////////////// diff --git a/shell_integration/windows/OCShellExtensions/OCUtilTest/stdafx.cpp b/shell_integration/windows/OCShellExtensions/OCUtilTest/stdafx.cpp new file mode 100644 index 000000000..f1d63e0b4 --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtilTest/stdafx.cpp @@ -0,0 +1,8 @@ +// stdafx.cpp : source file that includes just the standard includes +// ConsoleApplication1.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + +// TODO: reference any additional headers you need in STDAFX.H +// and not in this file diff --git a/shell_integration/windows/OCShellExtensions/OCUtilTest/stdafx.h b/shell_integration/windows/OCShellExtensions/OCUtilTest/stdafx.h new file mode 100644 index 000000000..b005a839d --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtilTest/stdafx.h @@ -0,0 +1,15 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#pragma once + +#include "targetver.h" + +#include +#include + + + +// TODO: reference additional headers your program requires here diff --git a/shell_integration/windows/OCShellExtensions/OCUtilTest/targetver.h b/shell_integration/windows/OCShellExtensions/OCUtilTest/targetver.h new file mode 100644 index 000000000..87c0086de --- /dev/null +++ b/shell_integration/windows/OCShellExtensions/OCUtilTest/targetver.h @@ -0,0 +1,8 @@ +#pragma once + +// Including SDKDDKVer.h defines the highest available Windows platform. + +// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and +// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. + +#include From 50d178feaabf13fbb95c7052ba704b36eb001ee7 Mon Sep 17 00:00:00 2001 From: Mackie Messer Date: Wed, 9 Jul 2014 12:45:53 +0200 Subject: [PATCH 047/133] MacOSX shell integration code plus icons. --- .../contents.xcworkspacedata | 10 + .../xcdebugger/Breakpoints.xcbkptlist | 20 + .../LiferayNativityFinder/ContentManager.h | 32 + .../LiferayNativityFinder/ContentManager.m | 292 + .../ContextMenuHandlers.h | 28 + .../ContextMenuHandlers.m | 106 + .../ContextMenuHandlers.m.unc | 74 + .../English.lproj/.DS_Store | Bin 0 -> 6148 bytes .../English.lproj/InfoPlist.strings | 2 + .../LiferayNativityFinder/Finder/.DS_Store | Bin 0 -> 6148 bytes .../LiferayNativityFinder/Finder/Finder.h | 1016 +++ .../MacOSX/LiferayNativityFinder/FinderHook.h | 22 + .../MacOSX/LiferayNativityFinder/FinderHook.m | 125 + .../LiferayNativityFinder/GCDAsyncSocket.h | 963 +++ .../LiferayNativityFinder/GCDAsyncSocket.m | 6969 +++++++++++++++++ .../MacOSX/LiferayNativityFinder/IconCache.h | 29 + .../MacOSX/LiferayNativityFinder/IconCache.m | 115 + .../IconOverlayHandlers.h | 23 + .../IconOverlayHandlers.m | 140 + .../MacOSX/LiferayNativityFinder/Info.plist | 46 + .../MacOSX/LiferayNativityFinder/JSONKit.h | 251 + .../MacOSX/LiferayNativityFinder/JSONKit.m | 3065 ++++++++ .../project.pbxproj | 339 + .../contents.xcworkspacedata | 7 + .../svp.mode1v3 | 1542 ++++ .../svp.pbxuser | 1899 +++++ .../xcschemes/xcschememanagement.plist | 14 + .../LiferayNativityFinder/MenuManager.h | 29 + .../LiferayNativityFinder/MenuManager.m | 184 + .../LiferayNativityFinder/RequestManager.h | 48 + .../LiferayNativityFinder/RequestManager.m | 170 + .../English.lproj/InfoPlist.strings | 2 + .../MacOSX/LiferayNativityInjector/Info.plist | 59 + .../LNStandardVersionComparator.h | 35 + .../LNStandardVersionComparator.m | 158 + .../LNVersionComparisonProtocol.h | 27 + .../LiferayNativityInjector.m | 270 + .../LiferayNativityInjector.sdef | 9 + .../project.pbxproj | 269 + .../contents.xcworkspacedata | 7 + .../xcschemes/LiferayNativity.osax.xcscheme | 73 + .../xcschemes/xcschememanagement.plist | 14 + .../LiferayNativityInjector/license.txt | 25 + shell_integration/MacOSX/check.scpt | 9 + shell_integration/MacOSX/deploy.sh | 11 + shell_integration/MacOSX/load.scpt | 6 + shell_integration/MacOSX/loadPlugin.sh | 8 + shell_integration/MacOSX/unload.scpt | 6 + shell_integration/icons/.DS_Store | Bin 0 -> 6148 bytes .../icons/1024x1024/Error_1024.png | Bin 0 -> 19432 bytes .../icons/1024x1024/Error_Shared_1024.png | Bin 0 -> 29804 bytes shell_integration/icons/1024x1024/OK_1024.png | Bin 0 -> 21912 bytes .../icons/1024x1024/OK_Shared_1024.png | Bin 0 -> 32098 bytes .../icons/1024x1024/Sync_1024.png | Bin 0 -> 24301 bytes .../icons/1024x1024/Sync_Shared_1024.png | Bin 0 -> 34594 bytes .../icons/1024x1024/Warning_1024.png | Bin 0 -> 19847 bytes .../icons/1024x1024/Warning_Shared_1024.png | Bin 0 -> 30250 bytes shell_integration/icons/128x128/.DS_Store | Bin 0 -> 6148 bytes shell_integration/icons/128x128/Error_128.png | Bin 0 -> 1899 bytes .../icons/128x128/Error_Shared_128.png | Bin 0 -> 3004 bytes shell_integration/icons/128x128/OK_128.png | Bin 0 -> 2052 bytes .../icons/128x128/OK_Shared_128.png | Bin 0 -> 3176 bytes shell_integration/icons/128x128/Sync_128.png | Bin 0 -> 2422 bytes .../icons/128x128/Sync_Shared_128.png | Bin 0 -> 3585 bytes .../icons/128x128/Warning_128.png | Bin 0 -> 1849 bytes .../icons/128x128/Warning_Shared_128.png | Bin 0 -> 3040 bytes shell_integration/icons/16x16/Error_16.png | Bin 0 -> 1388 bytes .../icons/16x16/Error_Shared_16.png | Bin 0 -> 1494 bytes shell_integration/icons/16x16/OK_16.png | Bin 0 -> 1392 bytes .../icons/16x16/OK_Shared_16.png | Bin 0 -> 1483 bytes shell_integration/icons/16x16/Sync_16.png | Bin 0 -> 1391 bytes .../icons/16x16/Sync_Shared_16.png | Bin 0 -> 1495 bytes shell_integration/icons/16x16/Warning_16.png | Bin 0 -> 1389 bytes .../icons/16x16/Warning_Shared_16.png | Bin 0 -> 1484 bytes shell_integration/icons/256x256/Error_256.png | Bin 0 -> 4067 bytes .../icons/256x256/Error_Shared_256.png | Bin 0 -> 6409 bytes shell_integration/icons/256x256/OK_256.png | Bin 0 -> 4384 bytes .../icons/256x256/OK_Shared_256.png | Bin 0 -> 6777 bytes shell_integration/icons/256x256/Sync_256.png | Bin 0 -> 5137 bytes .../icons/256x256/Sync_Shared_256.png | Bin 0 -> 7437 bytes .../icons/256x256/Warning_256.png | Bin 0 -> 4070 bytes .../icons/256x256/Warning_Shared_256.png | Bin 0 -> 6435 bytes shell_integration/icons/32x32/.DS_Store | Bin 0 -> 6148 bytes shell_integration/icons/32x32/Error_32.png | Bin 0 -> 1816 bytes .../icons/32x32/Error_Shared_32.png | Bin 0 -> 2541 bytes shell_integration/icons/32x32/OK_32.png | Bin 0 -> 1825 bytes .../icons/32x32/OK_Shared_32.png | Bin 0 -> 2543 bytes shell_integration/icons/32x32/Sync_32.png | Bin 0 -> 1884 bytes .../icons/32x32/Sync_Shared_32.png | Bin 0 -> 2592 bytes shell_integration/icons/32x32/Warning_32.png | Bin 0 -> 1800 bytes .../icons/32x32/Warning_Shared_32.png | Bin 0 -> 2498 bytes shell_integration/icons/48x48/Error_48.png | Bin 0 -> 2236 bytes .../icons/48x48/Error_Shared_48.png | Bin 0 -> 3215 bytes shell_integration/icons/48x48/OK_48.png | Bin 0 -> 2204 bytes .../icons/48x48/OK_Shared_48.png | Bin 0 -> 3167 bytes shell_integration/icons/48x48/Sync_48.png | Bin 0 -> 2335 bytes .../icons/48x48/Sync_Shared_48.png | Bin 0 -> 3342 bytes shell_integration/icons/48x48/Warning_48.png | Bin 0 -> 2190 bytes .../icons/48x48/Warning_Shared_48.png | Bin 0 -> 3191 bytes shell_integration/icons/512x512/.DS_Store | Bin 0 -> 6148 bytes shell_integration/icons/512x512/Error_512.png | Bin 0 -> 8819 bytes .../icons/512x512/Error_Shared_512.png | Bin 0 -> 14165 bytes shell_integration/icons/512x512/OK_512.png | Bin 0 -> 9584 bytes .../icons/512x512/OK_Shared_512.png | Bin 0 -> 14521 bytes shell_integration/icons/512x512/Sync_512.png | Bin 0 -> 11128 bytes .../icons/512x512/Sync_Shared_512.png | Bin 0 -> 16318 bytes .../icons/512x512/Warning_512.png | Bin 0 -> 8862 bytes .../icons/512x512/Warning_Shared_512.png | Bin 0 -> 14046 bytes shell_integration/icons/64x64/Error_64.png | Bin 0 -> 2558 bytes .../icons/64x64/Error_Shared_64.png | Bin 0 -> 3957 bytes shell_integration/icons/64x64/OK_64.png | Bin 0 -> 2659 bytes .../icons/64x64/OK_Shared_64.png | Bin 0 -> 3871 bytes shell_integration/icons/64x64/Sync_64.png | Bin 0 -> 2764 bytes .../icons/64x64/Sync_Shared_64.png | Bin 0 -> 4043 bytes shell_integration/icons/64x64/Warning_64.png | Bin 0 -> 2687 bytes .../icons/64x64/Warning_Shared_64.png | Bin 0 -> 3929 bytes shell_integration/icons/72x72/Error_72.png | Bin 0 -> 2939 bytes .../icons/72x72/Error_Shared_72.png | Bin 0 -> 4292 bytes shell_integration/icons/72x72/OK_72.png | Bin 0 -> 2818 bytes .../icons/72x72/OK_Shared_72.png | Bin 0 -> 4216 bytes shell_integration/icons/72x72/Sync_72.png | Bin 0 -> 3157 bytes .../icons/72x72/Sync_Shared_72.png | Bin 0 -> 4570 bytes shell_integration/icons/72x72/Warning_72.png | Bin 0 -> 2871 bytes .../icons/72x72/Warning_Shared_72.png | Bin 0 -> 4282 bytes shell_integration/icons/SVG/Error.svg | 3824 +++++++++ shell_integration/icons/SVG/Error_Shared.svg | 4769 +++++++++++ shell_integration/icons/SVG/OK.svg | 3781 +++++++++ shell_integration/icons/SVG/OK_Shared.svg | 4711 +++++++++++ shell_integration/icons/SVG/Sync.svg | 3837 +++++++++ shell_integration/icons/SVG/Sync_Shared.svg | 4802 ++++++++++++ shell_integration/icons/SVG/Warning.svg | 3787 +++++++++ .../icons/SVG/Warning_Shared.svg | 4730 +++++++++++ .../icons/Sidebar/sidebar_icon_osx_18.png | Bin 0 -> 1419 bytes .../Sidebar/sidebar_icon_osx_hover_18.png | Bin 0 -> 1371 bytes .../icons/Sidebar/sidebar_icon_win_18.png | Bin 0 -> 1396 bytes .../Sidebar/sidebar_icon_win_hover_18.png | Bin 0 -> 1228 bytes .../icons/__MACOSX/1024x1024/._Error_1024.png | Bin 0 -> 120 bytes .../1024x1024/._Error_Shared_1024.png | Bin 0 -> 120 bytes .../icons/__MACOSX/1024x1024/._OK_1024.png | Bin 0 -> 120 bytes .../__MACOSX/1024x1024/._OK_Shared_1024.png | Bin 0 -> 120 bytes .../icons/__MACOSX/1024x1024/._Sync_1024.png | Bin 0 -> 120 bytes .../__MACOSX/1024x1024/._Sync_Shared_1024.png | Bin 0 -> 120 bytes .../__MACOSX/1024x1024/._Warning_1024.png | Bin 0 -> 120 bytes .../1024x1024/._Warning_Shared_1024.png | Bin 0 -> 120 bytes .../icons/__MACOSX/128x128/._Error_128.png | Bin 0 -> 120 bytes .../__MACOSX/128x128/._Error_Shared_128.png | Bin 0 -> 120 bytes .../icons/__MACOSX/128x128/._OK_128.png | Bin 0 -> 120 bytes .../__MACOSX/128x128/._OK_Shared_128.png | Bin 0 -> 120 bytes .../icons/__MACOSX/128x128/._Sync_128.png | Bin 0 -> 120 bytes .../__MACOSX/128x128/._Sync_Shared_128.png | Bin 0 -> 120 bytes .../icons/__MACOSX/128x128/._Warning_128.png | Bin 0 -> 120 bytes .../__MACOSX/128x128/._Warning_Shared_128.png | Bin 0 -> 120 bytes .../icons/__MACOSX/16x16/._Error_16.png | Bin 0 -> 120 bytes .../__MACOSX/16x16/._Error_Shared_16.png | Bin 0 -> 120 bytes .../icons/__MACOSX/16x16/._OK_16.png | Bin 0 -> 120 bytes .../icons/__MACOSX/16x16/._OK_Shared_16.png | Bin 0 -> 120 bytes .../icons/__MACOSX/16x16/._Sync_16.png | Bin 0 -> 120 bytes .../icons/__MACOSX/16x16/._Sync_Shared_16.png | Bin 0 -> 120 bytes .../icons/__MACOSX/16x16/._Warning_16.png | Bin 0 -> 120 bytes .../__MACOSX/16x16/._Warning_Shared_16.png | Bin 0 -> 120 bytes .../icons/__MACOSX/256x256/._Error_256.png | Bin 0 -> 120 bytes .../__MACOSX/256x256/._Error_Shared_256.png | Bin 0 -> 120 bytes .../icons/__MACOSX/256x256/._OK_256.png | Bin 0 -> 120 bytes .../__MACOSX/256x256/._OK_Shared_256.png | Bin 0 -> 120 bytes .../icons/__MACOSX/256x256/._Sync_256.png | Bin 0 -> 120 bytes .../__MACOSX/256x256/._Sync_Shared_256.png | Bin 0 -> 120 bytes .../icons/__MACOSX/256x256/._Warning_256.png | Bin 0 -> 120 bytes .../__MACOSX/256x256/._Warning_Shared_256.png | Bin 0 -> 120 bytes .../icons/__MACOSX/32x32/._Error_32.png | Bin 0 -> 120 bytes .../__MACOSX/32x32/._Error_Shared_32.png | Bin 0 -> 120 bytes .../icons/__MACOSX/32x32/._OK_32.png | Bin 0 -> 120 bytes .../icons/__MACOSX/32x32/._OK_Shared_32.png | Bin 0 -> 120 bytes .../icons/__MACOSX/32x32/._Sync_32.png | Bin 0 -> 120 bytes .../icons/__MACOSX/32x32/._Sync_Shared_32.png | Bin 0 -> 120 bytes .../icons/__MACOSX/32x32/._Warning_32.png | Bin 0 -> 120 bytes .../__MACOSX/32x32/._Warning_Shared_32.png | Bin 0 -> 120 bytes .../icons/__MACOSX/48x48/._Error_48.png | Bin 0 -> 120 bytes .../__MACOSX/48x48/._Error_Shared_48.png | Bin 0 -> 120 bytes .../icons/__MACOSX/48x48/._OK_48.png | Bin 0 -> 120 bytes .../icons/__MACOSX/48x48/._OK_Shared_48.png | Bin 0 -> 120 bytes .../icons/__MACOSX/48x48/._Sync_48.png | Bin 0 -> 120 bytes .../icons/__MACOSX/48x48/._Sync_Shared_48.png | Bin 0 -> 120 bytes .../icons/__MACOSX/48x48/._Warning_48.png | Bin 0 -> 120 bytes .../__MACOSX/48x48/._Warning_Shared_48.png | Bin 0 -> 120 bytes .../icons/__MACOSX/512x512/._Error_512.png | Bin 0 -> 120 bytes .../__MACOSX/512x512/._Error_Shared_512.png | Bin 0 -> 120 bytes .../icons/__MACOSX/512x512/._OK_512.png | Bin 0 -> 120 bytes .../__MACOSX/512x512/._OK_Shared_512.png | Bin 0 -> 120 bytes .../icons/__MACOSX/512x512/._Sync_512.png | Bin 0 -> 120 bytes .../__MACOSX/512x512/._Sync_Shared_512.png | Bin 0 -> 120 bytes .../icons/__MACOSX/512x512/._Warning_512.png | Bin 0 -> 120 bytes .../__MACOSX/512x512/._Warning_Shared_512.png | Bin 0 -> 120 bytes .../icons/__MACOSX/64x64/._Error_64.png | Bin 0 -> 120 bytes .../__MACOSX/64x64/._Error_Shared_64.png | Bin 0 -> 120 bytes .../icons/__MACOSX/64x64/._OK_64.png | Bin 0 -> 120 bytes .../icons/__MACOSX/64x64/._OK_Shared_64.png | Bin 0 -> 120 bytes .../icons/__MACOSX/64x64/._Sync_64.png | Bin 0 -> 120 bytes .../icons/__MACOSX/64x64/._Sync_Shared_64.png | Bin 0 -> 120 bytes .../icons/__MACOSX/64x64/._Warning_64.png | Bin 0 -> 120 bytes .../__MACOSX/64x64/._Warning_Shared_64.png | Bin 0 -> 120 bytes .../icons/__MACOSX/72x72/._Error_72.png | Bin 0 -> 120 bytes .../__MACOSX/72x72/._Error_Shared_72.png | Bin 0 -> 120 bytes .../icons/__MACOSX/72x72/._OK_72.png | Bin 0 -> 120 bytes .../icons/__MACOSX/72x72/._OK_Shared_72.png | Bin 0 -> 120 bytes .../icons/__MACOSX/72x72/._Sync_72.png | Bin 0 -> 120 bytes .../icons/__MACOSX/72x72/._Sync_Shared_72.png | Bin 0 -> 120 bytes .../icons/__MACOSX/72x72/._Warning_72.png | Bin 0 -> 120 bytes .../__MACOSX/72x72/._Warning_Shared_72.png | Bin 0 -> 120 bytes .../icons/__MACOSX/SVG/._Error.svg | Bin 0 -> 120 bytes .../icons/__MACOSX/SVG/._Error_Shared.svg | Bin 0 -> 120 bytes shell_integration/icons/__MACOSX/SVG/._OK.svg | Bin 0 -> 120 bytes .../icons/__MACOSX/SVG/._OK_Shared.svg | Bin 0 -> 120 bytes .../icons/__MACOSX/SVG/._Sync.svg | Bin 0 -> 120 bytes .../icons/__MACOSX/SVG/._Sync_Shared.svg | Bin 0 -> 152 bytes .../icons/__MACOSX/SVG/._Warning.svg | Bin 0 -> 120 bytes .../icons/__MACOSX/SVG/._Warning_Shared.svg | Bin 0 -> 120 bytes .../Sidebar/._sidebar_icon_osx_18.png | Bin 0 -> 120 bytes .../Sidebar/._sidebar_icon_osx_hover_18.png | Bin 0 -> 120 bytes .../Sidebar/._sidebar_icon_win_18.png | Bin 0 -> 120 bytes .../Sidebar/._sidebar_icon_win_hover_18.png | Bin 0 -> 120 bytes 220 files changed, 52789 insertions(+) create mode 100644 shell_integration/MacOSX/LiferayNativity.xcworkspace/contents.xcworkspacedata create mode 100644 shell_integration/MacOSX/LiferayNativity.xcworkspace/xcuserdata/mackie.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/ContextMenuHandlers.h create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/ContextMenuHandlers.m create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/ContextMenuHandlers.m.unc create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/English.lproj/.DS_Store create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/English.lproj/InfoPlist.strings create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/Finder/.DS_Store create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/Finder/Finder.h create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/FinderHook.h create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/FinderHook.m create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/GCDAsyncSocket.h create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/GCDAsyncSocket.m create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/IconCache.h create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/IconCache.m create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.h create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.m create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/Info.plist create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/JSONKit.h create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/JSONKit.m create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/project.pbxproj create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/svp.mode1v3 create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/svp.pbxuser create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/xcuserdata/mackie.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/MenuManager.h create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/MenuManager.m create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h create mode 100644 shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m create mode 100644 shell_integration/MacOSX/LiferayNativityInjector/English.lproj/InfoPlist.strings create mode 100644 shell_integration/MacOSX/LiferayNativityInjector/Info.plist create mode 100644 shell_integration/MacOSX/LiferayNativityInjector/LNStandardVersionComparator.h create mode 100644 shell_integration/MacOSX/LiferayNativityInjector/LNStandardVersionComparator.m create mode 100644 shell_integration/MacOSX/LiferayNativityInjector/LNVersionComparisonProtocol.h create mode 100644 shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.m create mode 100644 shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.sdef create mode 100644 shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.xcodeproj/project.pbxproj create mode 100644 shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.xcodeproj/xcshareddata/xcschemes/LiferayNativity.osax.xcscheme create mode 100644 shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.xcodeproj/xcuserdata/mackie.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 shell_integration/MacOSX/LiferayNativityInjector/license.txt create mode 100644 shell_integration/MacOSX/check.scpt create mode 100644 shell_integration/MacOSX/deploy.sh create mode 100644 shell_integration/MacOSX/load.scpt create mode 100755 shell_integration/MacOSX/loadPlugin.sh create mode 100644 shell_integration/MacOSX/unload.scpt create mode 100644 shell_integration/icons/.DS_Store create mode 100644 shell_integration/icons/1024x1024/Error_1024.png create mode 100644 shell_integration/icons/1024x1024/Error_Shared_1024.png create mode 100644 shell_integration/icons/1024x1024/OK_1024.png create mode 100644 shell_integration/icons/1024x1024/OK_Shared_1024.png create mode 100644 shell_integration/icons/1024x1024/Sync_1024.png create mode 100644 shell_integration/icons/1024x1024/Sync_Shared_1024.png create mode 100644 shell_integration/icons/1024x1024/Warning_1024.png create mode 100644 shell_integration/icons/1024x1024/Warning_Shared_1024.png create mode 100644 shell_integration/icons/128x128/.DS_Store create mode 100644 shell_integration/icons/128x128/Error_128.png create mode 100644 shell_integration/icons/128x128/Error_Shared_128.png create mode 100644 shell_integration/icons/128x128/OK_128.png create mode 100644 shell_integration/icons/128x128/OK_Shared_128.png create mode 100644 shell_integration/icons/128x128/Sync_128.png create mode 100644 shell_integration/icons/128x128/Sync_Shared_128.png create mode 100644 shell_integration/icons/128x128/Warning_128.png create mode 100644 shell_integration/icons/128x128/Warning_Shared_128.png create mode 100644 shell_integration/icons/16x16/Error_16.png create mode 100644 shell_integration/icons/16x16/Error_Shared_16.png create mode 100644 shell_integration/icons/16x16/OK_16.png create mode 100644 shell_integration/icons/16x16/OK_Shared_16.png create mode 100644 shell_integration/icons/16x16/Sync_16.png create mode 100644 shell_integration/icons/16x16/Sync_Shared_16.png create mode 100644 shell_integration/icons/16x16/Warning_16.png create mode 100644 shell_integration/icons/16x16/Warning_Shared_16.png create mode 100644 shell_integration/icons/256x256/Error_256.png create mode 100644 shell_integration/icons/256x256/Error_Shared_256.png create mode 100644 shell_integration/icons/256x256/OK_256.png create mode 100644 shell_integration/icons/256x256/OK_Shared_256.png create mode 100644 shell_integration/icons/256x256/Sync_256.png create mode 100644 shell_integration/icons/256x256/Sync_Shared_256.png create mode 100644 shell_integration/icons/256x256/Warning_256.png create mode 100644 shell_integration/icons/256x256/Warning_Shared_256.png create mode 100644 shell_integration/icons/32x32/.DS_Store create mode 100644 shell_integration/icons/32x32/Error_32.png create mode 100644 shell_integration/icons/32x32/Error_Shared_32.png create mode 100644 shell_integration/icons/32x32/OK_32.png create mode 100644 shell_integration/icons/32x32/OK_Shared_32.png create mode 100644 shell_integration/icons/32x32/Sync_32.png create mode 100644 shell_integration/icons/32x32/Sync_Shared_32.png create mode 100644 shell_integration/icons/32x32/Warning_32.png create mode 100644 shell_integration/icons/32x32/Warning_Shared_32.png create mode 100644 shell_integration/icons/48x48/Error_48.png create mode 100644 shell_integration/icons/48x48/Error_Shared_48.png create mode 100644 shell_integration/icons/48x48/OK_48.png create mode 100644 shell_integration/icons/48x48/OK_Shared_48.png create mode 100644 shell_integration/icons/48x48/Sync_48.png create mode 100644 shell_integration/icons/48x48/Sync_Shared_48.png create mode 100644 shell_integration/icons/48x48/Warning_48.png create mode 100644 shell_integration/icons/48x48/Warning_Shared_48.png create mode 100644 shell_integration/icons/512x512/.DS_Store create mode 100644 shell_integration/icons/512x512/Error_512.png create mode 100644 shell_integration/icons/512x512/Error_Shared_512.png create mode 100644 shell_integration/icons/512x512/OK_512.png create mode 100644 shell_integration/icons/512x512/OK_Shared_512.png create mode 100644 shell_integration/icons/512x512/Sync_512.png create mode 100644 shell_integration/icons/512x512/Sync_Shared_512.png create mode 100644 shell_integration/icons/512x512/Warning_512.png create mode 100644 shell_integration/icons/512x512/Warning_Shared_512.png create mode 100644 shell_integration/icons/64x64/Error_64.png create mode 100644 shell_integration/icons/64x64/Error_Shared_64.png create mode 100644 shell_integration/icons/64x64/OK_64.png create mode 100644 shell_integration/icons/64x64/OK_Shared_64.png create mode 100644 shell_integration/icons/64x64/Sync_64.png create mode 100644 shell_integration/icons/64x64/Sync_Shared_64.png create mode 100644 shell_integration/icons/64x64/Warning_64.png create mode 100644 shell_integration/icons/64x64/Warning_Shared_64.png create mode 100644 shell_integration/icons/72x72/Error_72.png create mode 100644 shell_integration/icons/72x72/Error_Shared_72.png create mode 100644 shell_integration/icons/72x72/OK_72.png create mode 100644 shell_integration/icons/72x72/OK_Shared_72.png create mode 100644 shell_integration/icons/72x72/Sync_72.png create mode 100644 shell_integration/icons/72x72/Sync_Shared_72.png create mode 100644 shell_integration/icons/72x72/Warning_72.png create mode 100644 shell_integration/icons/72x72/Warning_Shared_72.png create mode 100644 shell_integration/icons/SVG/Error.svg create mode 100644 shell_integration/icons/SVG/Error_Shared.svg create mode 100644 shell_integration/icons/SVG/OK.svg create mode 100644 shell_integration/icons/SVG/OK_Shared.svg create mode 100644 shell_integration/icons/SVG/Sync.svg create mode 100644 shell_integration/icons/SVG/Sync_Shared.svg create mode 100644 shell_integration/icons/SVG/Warning.svg create mode 100644 shell_integration/icons/SVG/Warning_Shared.svg create mode 100644 shell_integration/icons/Sidebar/sidebar_icon_osx_18.png create mode 100644 shell_integration/icons/Sidebar/sidebar_icon_osx_hover_18.png create mode 100644 shell_integration/icons/Sidebar/sidebar_icon_win_18.png create mode 100644 shell_integration/icons/Sidebar/sidebar_icon_win_hover_18.png create mode 100644 shell_integration/icons/__MACOSX/1024x1024/._Error_1024.png create mode 100644 shell_integration/icons/__MACOSX/1024x1024/._Error_Shared_1024.png create mode 100644 shell_integration/icons/__MACOSX/1024x1024/._OK_1024.png create mode 100644 shell_integration/icons/__MACOSX/1024x1024/._OK_Shared_1024.png create mode 100644 shell_integration/icons/__MACOSX/1024x1024/._Sync_1024.png create mode 100644 shell_integration/icons/__MACOSX/1024x1024/._Sync_Shared_1024.png create mode 100644 shell_integration/icons/__MACOSX/1024x1024/._Warning_1024.png create mode 100644 shell_integration/icons/__MACOSX/1024x1024/._Warning_Shared_1024.png create mode 100644 shell_integration/icons/__MACOSX/128x128/._Error_128.png create mode 100644 shell_integration/icons/__MACOSX/128x128/._Error_Shared_128.png create mode 100644 shell_integration/icons/__MACOSX/128x128/._OK_128.png create mode 100644 shell_integration/icons/__MACOSX/128x128/._OK_Shared_128.png create mode 100644 shell_integration/icons/__MACOSX/128x128/._Sync_128.png create mode 100644 shell_integration/icons/__MACOSX/128x128/._Sync_Shared_128.png create mode 100644 shell_integration/icons/__MACOSX/128x128/._Warning_128.png create mode 100644 shell_integration/icons/__MACOSX/128x128/._Warning_Shared_128.png create mode 100644 shell_integration/icons/__MACOSX/16x16/._Error_16.png create mode 100644 shell_integration/icons/__MACOSX/16x16/._Error_Shared_16.png create mode 100644 shell_integration/icons/__MACOSX/16x16/._OK_16.png create mode 100644 shell_integration/icons/__MACOSX/16x16/._OK_Shared_16.png create mode 100644 shell_integration/icons/__MACOSX/16x16/._Sync_16.png create mode 100644 shell_integration/icons/__MACOSX/16x16/._Sync_Shared_16.png create mode 100644 shell_integration/icons/__MACOSX/16x16/._Warning_16.png create mode 100644 shell_integration/icons/__MACOSX/16x16/._Warning_Shared_16.png create mode 100644 shell_integration/icons/__MACOSX/256x256/._Error_256.png create mode 100644 shell_integration/icons/__MACOSX/256x256/._Error_Shared_256.png create mode 100644 shell_integration/icons/__MACOSX/256x256/._OK_256.png create mode 100644 shell_integration/icons/__MACOSX/256x256/._OK_Shared_256.png create mode 100644 shell_integration/icons/__MACOSX/256x256/._Sync_256.png create mode 100644 shell_integration/icons/__MACOSX/256x256/._Sync_Shared_256.png create mode 100644 shell_integration/icons/__MACOSX/256x256/._Warning_256.png create mode 100644 shell_integration/icons/__MACOSX/256x256/._Warning_Shared_256.png create mode 100644 shell_integration/icons/__MACOSX/32x32/._Error_32.png create mode 100644 shell_integration/icons/__MACOSX/32x32/._Error_Shared_32.png create mode 100644 shell_integration/icons/__MACOSX/32x32/._OK_32.png create mode 100644 shell_integration/icons/__MACOSX/32x32/._OK_Shared_32.png create mode 100644 shell_integration/icons/__MACOSX/32x32/._Sync_32.png create mode 100644 shell_integration/icons/__MACOSX/32x32/._Sync_Shared_32.png create mode 100644 shell_integration/icons/__MACOSX/32x32/._Warning_32.png create mode 100644 shell_integration/icons/__MACOSX/32x32/._Warning_Shared_32.png create mode 100644 shell_integration/icons/__MACOSX/48x48/._Error_48.png create mode 100644 shell_integration/icons/__MACOSX/48x48/._Error_Shared_48.png create mode 100644 shell_integration/icons/__MACOSX/48x48/._OK_48.png create mode 100644 shell_integration/icons/__MACOSX/48x48/._OK_Shared_48.png create mode 100644 shell_integration/icons/__MACOSX/48x48/._Sync_48.png create mode 100644 shell_integration/icons/__MACOSX/48x48/._Sync_Shared_48.png create mode 100644 shell_integration/icons/__MACOSX/48x48/._Warning_48.png create mode 100644 shell_integration/icons/__MACOSX/48x48/._Warning_Shared_48.png create mode 100644 shell_integration/icons/__MACOSX/512x512/._Error_512.png create mode 100644 shell_integration/icons/__MACOSX/512x512/._Error_Shared_512.png create mode 100644 shell_integration/icons/__MACOSX/512x512/._OK_512.png create mode 100644 shell_integration/icons/__MACOSX/512x512/._OK_Shared_512.png create mode 100644 shell_integration/icons/__MACOSX/512x512/._Sync_512.png create mode 100644 shell_integration/icons/__MACOSX/512x512/._Sync_Shared_512.png create mode 100644 shell_integration/icons/__MACOSX/512x512/._Warning_512.png create mode 100644 shell_integration/icons/__MACOSX/512x512/._Warning_Shared_512.png create mode 100644 shell_integration/icons/__MACOSX/64x64/._Error_64.png create mode 100644 shell_integration/icons/__MACOSX/64x64/._Error_Shared_64.png create mode 100644 shell_integration/icons/__MACOSX/64x64/._OK_64.png create mode 100644 shell_integration/icons/__MACOSX/64x64/._OK_Shared_64.png create mode 100644 shell_integration/icons/__MACOSX/64x64/._Sync_64.png create mode 100644 shell_integration/icons/__MACOSX/64x64/._Sync_Shared_64.png create mode 100644 shell_integration/icons/__MACOSX/64x64/._Warning_64.png create mode 100644 shell_integration/icons/__MACOSX/64x64/._Warning_Shared_64.png create mode 100644 shell_integration/icons/__MACOSX/72x72/._Error_72.png create mode 100644 shell_integration/icons/__MACOSX/72x72/._Error_Shared_72.png create mode 100644 shell_integration/icons/__MACOSX/72x72/._OK_72.png create mode 100644 shell_integration/icons/__MACOSX/72x72/._OK_Shared_72.png create mode 100644 shell_integration/icons/__MACOSX/72x72/._Sync_72.png create mode 100644 shell_integration/icons/__MACOSX/72x72/._Sync_Shared_72.png create mode 100644 shell_integration/icons/__MACOSX/72x72/._Warning_72.png create mode 100644 shell_integration/icons/__MACOSX/72x72/._Warning_Shared_72.png create mode 100644 shell_integration/icons/__MACOSX/SVG/._Error.svg create mode 100644 shell_integration/icons/__MACOSX/SVG/._Error_Shared.svg create mode 100644 shell_integration/icons/__MACOSX/SVG/._OK.svg create mode 100644 shell_integration/icons/__MACOSX/SVG/._OK_Shared.svg create mode 100644 shell_integration/icons/__MACOSX/SVG/._Sync.svg create mode 100644 shell_integration/icons/__MACOSX/SVG/._Sync_Shared.svg create mode 100644 shell_integration/icons/__MACOSX/SVG/._Warning.svg create mode 100644 shell_integration/icons/__MACOSX/SVG/._Warning_Shared.svg create mode 100644 shell_integration/icons/__MACOSX/Sidebar/._sidebar_icon_osx_18.png create mode 100644 shell_integration/icons/__MACOSX/Sidebar/._sidebar_icon_osx_hover_18.png create mode 100644 shell_integration/icons/__MACOSX/Sidebar/._sidebar_icon_win_18.png create mode 100644 shell_integration/icons/__MACOSX/Sidebar/._sidebar_icon_win_hover_18.png diff --git a/shell_integration/MacOSX/LiferayNativity.xcworkspace/contents.xcworkspacedata b/shell_integration/MacOSX/LiferayNativity.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..e7bb6c85e --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativity.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/shell_integration/MacOSX/LiferayNativity.xcworkspace/xcuserdata/mackie.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/shell_integration/MacOSX/LiferayNativity.xcworkspace/xcuserdata/mackie.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist new file mode 100644 index 000000000..c96a683fa --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativity.xcworkspace/xcuserdata/mackie.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist @@ -0,0 +1,20 @@ + + + + + + + diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h new file mode 100644 index 000000000..2e167f7be --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h @@ -0,0 +1,32 @@ +/** + * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#import + +@interface ContentManager : NSObject +{ + NSMutableDictionary* _fileNamesCache; + BOOL _fileIconsEnabled; +} + ++ (ContentManager*)sharedInstance; + +- (void)enableFileIcons:(BOOL)enable; +- (NSNumber*)iconByPath:(NSString*)path; +- (void)removeAllIcons; +- (void)removeIcons:(NSArray*)paths; +- (void)setIcons:(NSDictionary*)iconDictionary filterByFolder:(NSString*)filterFolder; +- (void)setResultForPath:(NSString*)path result:(NSString*)result; + +@end \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m new file mode 100644 index 000000000..6427f2b48 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m @@ -0,0 +1,292 @@ +/** + * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#import +#import +#import +#import "ContentManager.h" +#import "MenuManager.h" +#import "RequestManager.h" +#import "IconCache.h" + +static ContentManager* sharedInstance = nil; + +@implementation ContentManager +- init +{ + self = [super init]; + + if (self) + { + _fileNamesCache = [[NSMutableDictionary alloc] init]; + _fileIconsEnabled = TRUE; + + [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/128x128/OK_128.png"]; + [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/128x128/Sync_128.png"]; + [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/128x128/Warning_128.png"]; + [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/128x128/Error_128.png"]; + [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/128x128/OK_Shared_128.png"]; + + } + + return self; +} + +- (void)dealloc +{ + [self removeAllIcons]; + [_fileNamesCache release]; + sharedInstance = nil; + + [super dealloc]; +} + ++ (ContentManager*)sharedInstance +{ + @synchronized(self) + { + if (sharedInstance == nil) + { + sharedInstance = [[self alloc] init]; + } + } + + return sharedInstance; +} + +- (void)enableFileIcons:(BOOL)enable +{ + _fileIconsEnabled = enable; + + [self repaintAllWindows]; +} + +- (void)setResultForPath:(NSString*)path result:(NSString*)result +{ + int res = 0; // NOP + if( [result isEqualToString:@"OK"] ) { + res = 1; + } else if( [result isEqualToString:@"NEED_SYNC"]) { + res = 2; + } else if( [result isEqualToString:@"IGNORE"]) { + res = 3; + } else if( [result isEqualToString:@"ERROR"]) { + res = 4; + }else if( [result isEqualToString:@"SHARED"]) { + res = 5; + }else if( [result isEqualToString:@"NOP"]) { + // Nothing. + } else { + NSLog(@"Unknown status code %@", result); + } + NSString* normalizedPath = [path decomposedStringWithCanonicalMapping]; + [_fileNamesCache setObject:[NSNumber numberWithInt:res] forKey:normalizedPath]; + NSLog(@"SET value %d", res); + + [self repaintAllWindows]; +} + +- (NSNumber*)iconByPath:(NSString*)path +{ + if (!_fileIconsEnabled) + { + NSLog(@"Icons are NOT ENABLED!"); + // return nil; + } + + NSString* normalizedPath = [path decomposedStringWithCanonicalMapping]; + + NSNumber* result = [_fileNamesCache objectForKey:normalizedPath]; + NSLog(@"XXXXXXX Asking for icon for path %@ = %d",path, [result intValue]); + + if( result != nil ) { + NSLog(@"Found icon index %d", [result intValue]); + // there is a proper icon index + } else { + NSLog(@"Need to query for icon"); + // start the async call + NSNumber *minusOne = -1; + [_fileNamesCache setObject:minusOne forKey:normalizedPath]; + [[RequestManager sharedInstance] askForIcon:normalizedPath]; + result = [NSNumber numberWithInt:0]; + } + NSLog(@"iconByPath return value %d", [result intValue]); + + return result; +} + +- (void)removeAllIcons +{ + [_fileNamesCache removeAllObjects]; + + [self repaintAllWindows]; +} + +- (void)removeIcons:(NSArray*)paths +{ + for (NSString* path in paths) + { + NSString* normalizedPath = [path decomposedStringWithCanonicalMapping]; + + [_fileNamesCache removeObjectForKey:normalizedPath]; + } + + [self repaintAllWindows]; +} + +- (void)repaintAllWindows +{ + NSArray* windows = [[NSApplication sharedApplication] windows]; + + for (int i = 0; i < [windows count]; i++) + { + NSWindow* window = [windows objectAtIndex:i]; + + if (![window isVisible]) + { + continue; + } + + MenuManager* menuManager = [MenuManager sharedInstance]; + RequestManager* requestManager = [RequestManager sharedInstance]; + + if ([[window className] isEqualToString:@"TBrowserWindow"]) + { + NSObject* browserWindowController = [window browserWindowController]; + + BOOL repaintWindow = YES; + + NSString* filterFolder = [requestManager filterFolder]; + + if (filterFolder) + { + repaintWindow = NO; + + struct TFENodeVector* targetPath; + + if ([browserWindowController respondsToSelector:@selector(targetPath)]) + { + // 10.7 & 10.8 + targetPath = [browserWindowController targetPath]; + } + else if ([browserWindowController respondsToSelector:@selector(activeContainer)]) + { + // 10.9 + targetPath = [[browserWindowController activeContainer] targetPath]; + } + else + { + NSLog(@"LiferayNativityFinder: refreshing icon badges failed"); + + return; + } + + NSArray* folderPaths = [menuManager pathsForNodes:targetPath]; + + for (NSString* folderPath in folderPaths) + { + if ([folderPath hasPrefix:filterFolder] || [filterFolder hasPrefix:folderPath]) + { + repaintWindow = YES; + + break; + } + } + } + + if (repaintWindow) + { + if ([browserWindowController respondsToSelector:@selector(browserViewController)]) + { + // 10.7 & 10.8 + NSObject* browserViewController = [browserWindowController browserViewController]; + + NSObject* browserView = [browserViewController browserView]; + + dispatch_async(dispatch_get_main_queue(), ^{[browserView setNeedsDisplay:YES];}); + } + else if ([browserWindowController respondsToSelector:@selector(activeBrowserViewController)]) + { + // 10.9 + NSObject* browserViewController = [browserWindowController activeBrowserViewController]; + + NSObject* browserView = [browserViewController browserView]; + + if ([browserView isKindOfClass:(id)objc_getClass("TListView")]) + { + // List or Coverflow View + [self setNeedsDisplayForListView:browserView]; + } + else + { + // Icon or Column View + dispatch_async(dispatch_get_main_queue(), ^{[browserView setNeedsDisplay:YES];}); + } + } + else + { + NSLog(@"LiferayNativityFinder: refreshing icon badges failed"); + + return; + } + } + } + } +} + +- (void)setIcons:(NSDictionary*)iconDictionary filterByFolder:(NSString*)filterFolder +{ + for (NSString* path in iconDictionary) + { + if (filterFolder && ![path hasPrefix:filterFolder]) + { + continue; + } + + NSString* normalizedPath = [path decomposedStringWithCanonicalMapping]; + NSNumber* iconId = [iconDictionary objectForKey:path]; + + if ([iconId intValue] == -1) + { + [_fileNamesCache removeObjectForKey:normalizedPath]; + } + else + { + [_fileNamesCache setObject:iconId forKey:normalizedPath]; + } + } + + [self repaintAllWindows]; +} + +- (void)setNeedsDisplayForListView:(NSView*)view +{ + NSArray* subviews = [view subviews]; + + for (int i = 0; i < [subviews count]; i++) + { + NSView* subview = [subviews objectAtIndex:i]; + + if ([subview isKindOfClass:(id)objc_getClass("TListRowView")]) + { + [self setNeedsDisplayForListView:subview]; + } + else if ([subview isKindOfClass:(id)objc_getClass("TListNameCellView")]) + { + dispatch_async(dispatch_get_main_queue(), ^{[subview setNeedsDisplay:YES];}); + } + } +} + +@end \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContextMenuHandlers.h b/shell_integration/MacOSX/LiferayNativityFinder/ContextMenuHandlers.h new file mode 100644 index 000000000..d57479aa6 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContextMenuHandlers.h @@ -0,0 +1,28 @@ +/** + * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#import + +@interface NSObject (ContextMenuHandlers) + +struct TFENodeVector; + ++ (void)ContextMenuHandlers_handleContextMenuCommon:(unsigned int)arg1 nodes:(const struct TFENodeVector*)arg2 event:(id)arg3 view:(id)arg4 browserController:(id)arg5 addPlugIns:(BOOL)arg6; ++ (void)ContextMenuHandlers_handleContextMenuCommon:(unsigned int)arg1 nodes:(const struct TFENodeVector*)arg2 event:(id)arg3 view:(id)arg4 windowController:(id)arg5 addPlugIns:(BOOL)arg6; ++ (void)ContextMenuHandlers_addViewSpecificStuffToMenu:(id)arg1 browserViewController:(id)arg2 context:(unsigned int)arg3; + +- (void)ContextMenuHandlers_configureWithNodes:(const struct TFENodeVector*)arg1 browserController:(id)arg2 container:(BOOL)arg3; +- (void)ContextMenuHandlers_configureWithNodes:(const struct TFENodeVector*)arg1 windowController:(id)arg2 container:(BOOL)arg3; + +@end \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContextMenuHandlers.m b/shell_integration/MacOSX/LiferayNativityFinder/ContextMenuHandlers.m new file mode 100644 index 000000000..d370f4e2b --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContextMenuHandlers.m @@ -0,0 +1,106 @@ +/** + * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#import "ContextMenuHandlers.h" +#import "MenuManager.h" + +@implementation NSObject (ContextMenuHandlers) + ++ (void)ContextMenuHandlers_addViewSpecificStuffToMenu:(id)arg1 browserViewController:(id)arg2 context:(unsigned int)arg3 // 10.7 & 10.8 +{ + [self ContextMenuHandlers_addViewSpecificStuffToMenu:arg1 browserViewController:arg2 context:arg3]; + + MenuManager* menuManager = [MenuManager sharedInstance]; + + if (menuManager.menuItems.count > 0) + { + [menuManager addItemsToMenu:arg1 forFiles:menuManager.menuItems]; + [menuManager.menuItems removeAllObjects]; + } +} + ++ (void)ContextMenuHandlers_addViewSpecificStuffToMenu:(id)arg1 clickedView:(id)arg2 browserViewController:(id)arg3 context:(unsigned int)arg4 // 10.9 +{ + [self ContextMenuHandlers_addViewSpecificStuffToMenu:arg1 clickedView:arg2 browserViewController:arg3 context:arg4]; + + MenuManager* menuManager = [MenuManager sharedInstance]; + + if (menuManager.menuItems.count > 0) + { + [menuManager addItemsToMenu:arg1 forFiles:menuManager.menuItems]; + [menuManager.menuItems removeAllObjects]; + } +} + ++ (void)ContextMenuHandlers_handleContextMenuCommon:(unsigned int)arg1 nodes:(const struct TFENodeVector*)arg2 event:(id)arg3 view:(id)arg4 windowController:(id)arg5 addPlugIns:(BOOL)arg6 // 10.7 +{ + MenuManager* menuManager = [MenuManager sharedInstance]; + + menuManager.menuItems = (NSMutableArray*)[menuManager pathsForNodes:arg2]; + + [self ContextMenuHandlers_handleContextMenuCommon:arg1 nodes:arg2 event:arg3 view:arg4 windowController:arg5 addPlugIns:arg6]; +} + ++ (void)ContextMenuHandlers_handleContextMenuCommon:(unsigned int)arg1 nodes:(const struct TFENodeVector*)arg2 event:(id)arg3 view:(id)arg4 browserController:(id)arg5 addPlugIns:(BOOL)arg6 // 10.8 +{ + MenuManager* menuManager = [MenuManager sharedInstance]; + + menuManager.menuItems = (NSMutableArray*)[menuManager pathsForNodes:arg2]; + + [self ContextMenuHandlers_handleContextMenuCommon:arg1 nodes:arg2 event:arg3 view:arg4 browserController:arg5 addPlugIns:arg6]; +} + ++ (void)ContextMenuHandlers_handleContextMenuCommon:(unsigned int)arg1 nodes:(const struct TFENodeVector*)arg2 event:(id)arg3 clickedView:(id)arg4 browserViewController:(id)arg5 addPlugIns:(BOOL)arg6 // 10.9 +{ + MenuManager* menuManager = [MenuManager sharedInstance]; + + menuManager.menuItems = (NSMutableArray*)[menuManager pathsForNodes:arg2]; + + [self ContextMenuHandlers_handleContextMenuCommon:arg1 nodes:arg2 event:arg3 clickedView:arg4 browserViewController:arg5 addPlugIns:arg6]; +} + +- (void)ContextMenuHandlers_configureWithNodes:(const struct TFENodeVector*)arg1 windowController:(id)arg2 container:(BOOL)arg3 // 10.7 +{ + [self ContextMenuHandlers_configureWithNodes:arg1 windowController:arg2 container:arg3]; + + TContextMenu* realSelf = (TContextMenu*)self; + MenuManager* menuManager = [MenuManager sharedInstance]; + + NSArray* selectedItems = [menuManager pathsForNodes:arg1]; + [menuManager addItemsToMenu:realSelf forFiles:selectedItems]; +} + +- (void)ContextMenuHandlers_configureWithNodes:(const struct TFENodeVector*)arg1 browserController:(id)arg2 container:(BOOL)arg3 // 10.8 +{ + [self ContextMenuHandlers_configureWithNodes:arg1 browserController:arg2 container:arg3]; + + TContextMenu* realSelf = (TContextMenu*)self; + MenuManager* menuManager = [MenuManager sharedInstance]; + + NSArray* selectedItems = [menuManager pathsForNodes:arg1]; + [menuManager addItemsToMenu:realSelf forFiles:selectedItems]; +} + +- (void)ContextMenuHandlers_configureFromMenuNeedsUpdate:(id)arg1 clickedView:(id)arg2 container:(BOOL)arg3 event:(id)arg4 selectedNodes:(const struct TFENodeVector *)arg5 // 10.9 +{ + [self ContextMenuHandlers_configureFromMenuNeedsUpdate:arg1 clickedView:arg2 container:arg3 event:arg4 selectedNodes:arg5]; // 10.8 + + TContextMenu* realSelf = (TContextMenu*)self; + MenuManager* menuManager = [MenuManager sharedInstance]; + + NSArray* selectedItems = [menuManager pathsForNodes:arg5]; + [menuManager addItemsToMenu:realSelf forFiles:selectedItems]; +} + +@end \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContextMenuHandlers.m.unc b/shell_integration/MacOSX/LiferayNativityFinder/ContextMenuHandlers.m.unc new file mode 100644 index 000000000..f060b1555 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContextMenuHandlers.m.unc @@ -0,0 +1,74 @@ +/** + * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#import "ContextMenuHandlers.h" +#import "Finder/Finder.h" +#import "MenuManager.h" + +@implementation NSObject (ContextMenuHandlers) + ++ (void) ContextMenuHandlers_handleContextMenuCommon:(unsigned int)arg1 nodes:(const struct TFENodeVector*)arg2 event:(id)arg3 view:(id)arg4 windowController:(id)arg5 addPlugIns:(BOOL)arg6 // Lion +{ + MenuManager* contextMenuUtils = [MenuManager sharedInstance]; + + contextMenuUtils.menuItems = (NSMutableArray*)[contextMenuUtils pathsForNodes:arg2]; + + [self ContextMenuHandlers_handleContextMenuCommon:arg1 nodes:arg2 event:arg3 view:arg4 windowController:arg5 addPlugIns:arg6]; +} + ++ (void) ContextMenuHandlers_handleContextMenuCommon:(unsigned int)arg1 nodes:(const struct TFENodeVector*)arg2 event:(id)arg3 view:(id)arg4 browserController:(id)arg5 addPlugIns:(BOOL)arg6 // Mountain Lion +{ + MenuManager* contextMenuUtils = [MenuManager sharedInstance]; + + contextMenuUtils.menuItems = (NSMutableArray*)[contextMenuUtils pathsForNodes:arg2]; + + [self ContextMenuHandlers_handleContextMenuCommon:arg1 nodes:arg2 event:arg3 view:arg4 browserController:arg5 addPlugIns:arg6]; +} + ++ (void) ContextMenuHandlers_addViewSpecificStuffToMenu:(id)arg1 browserViewController:(id)arg2 context:(unsigned int)arg3 +{ + [self ContextMenuHandlers_addViewSpecificStuffToMenu:arg1 browserViewController:arg2 context:arg3]; + + if ([MenuManager sharedInstance].menuItems.count > 0) + { + MenuManager* contextMenuUtils = [MenuManager sharedInstance]; + [contextMenuUtils addItemsToMenu:arg1 forPaths:contextMenuUtils.menuItems]; + [contextMenuUtils.menuItems removeAllObjects]; + } +} + +- (void) ContextMenuHandlers_configureWithNodes:(const struct TFENodeVector*)arg1 windowController:(id)arg2 container:(BOOL)arg3 // Lion +{ + [self ContextMenuHandlers_configureWithNodes:arg1 windowController:arg2 container:arg3]; + + TContextMenu* realSelf = (TContextMenu*)self; + MenuManager* contextMenuUtils = [MenuManager sharedInstance]; + + NSArray* selectedItems = [contextMenuUtils pathsForNodes:arg1]; + [contextMenuUtils addItemsToMenu:realSelf forPaths:selectedItems]; +} + +- (void) ContextMenuHandlers_configureWithNodes:(const struct TFENodeVector*)arg1 browserController:(id)arg2 container:(BOOL)arg3 // Mountain Lion +{ + [self ContextMenuHandlers_configureWithNodes:arg1 browserController:arg2 container:arg3]; + + TContextMenu* realSelf = (TContextMenu*)self; + MenuManager* contextMenuUtils = [MenuManager sharedInstance]; + + NSArray* selectedItems = [contextMenuUtils pathsForNodes:arg1]; + [contextMenuUtils addItemsToMenu:realSelf forPaths:selectedItems]; +} + + +@end \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityFinder/English.lproj/.DS_Store b/shell_integration/MacOSX/LiferayNativityFinder/English.lproj/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..170d2482ea9a55024a4062f588de748e0836e338 GIT binary patch literal 6148 zcmeH~F-rqM5QX1pihxb*EVr~0{0B>jLOQ`eAW;;|3j`vBN7aCfVNyy!I4pZ1ISG zRPVdIaJMaTi{if?T%=VvpO+P<`aV8T15fA|p5CIYRJpu2%wE0P@MiCGJ5%?tF z--kkXtxbp2_;hfHD*$!Ia2V%tm!K98P;1j6l@Xd{DK$&2T`?@n880obHXTy492O^Y zpLVjf8;Zs0jF(7<)l`ilAOd3o$GKd1|G%RDaQ`0{X(a+8@UIBiY<0U@@|9X|oxGg) v+Csmhe;9KkokO%@YP4c5ycM5)$tynR^V)PsjdI4LoT@(p&P65ye?j0KjWivI literal 0 HcmV?d00001 diff --git a/shell_integration/MacOSX/LiferayNativityFinder/English.lproj/InfoPlist.strings b/shell_integration/MacOSX/LiferayNativityFinder/English.lproj/InfoPlist.strings new file mode 100644 index 000000000..88f65cf6e --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/English.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/shell_integration/MacOSX/LiferayNativityFinder/Finder/.DS_Store b/shell_integration/MacOSX/LiferayNativityFinder/Finder/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..4f38b02f85fe289e9b5c999dbfd1c40519836ef6 GIT binary patch literal 6148 zcmeHKJxfDD5S-N%4{TCeUTG!x4~`H6sr>^IBPav|Li$(vyZmQn_5(3It;9xVVR!EK zcHZSp@iq&<7KiN(Fb6Qu9r5O2YJToMv9rn;k4qfdoOLcNK}*pQa}oPD&XITMtAImV`6+d z7-9q<&X^A4I%WxC^8~RMj)~0BEUCn#T8$W%bmm*t^};bR>9Dw& ZOCKQX?nQu`J z>xqg|Knk2HaGu+__y1e^5A**iNjoVZ1^$%+He22;7ks7at&^AYUfbyRbgy}*yKx;9 nhG@scXvf@mJHCvftZTmJc`qCjgU)==iTX3(y2zx!Un_6~ij*4` literal 0 HcmV?d00001 diff --git a/shell_integration/MacOSX/LiferayNativityFinder/Finder/Finder.h b/shell_integration/MacOSX/LiferayNativityFinder/Finder/Finder.h new file mode 100644 index 000000000..8322f7b2c --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/Finder/Finder.h @@ -0,0 +1,1016 @@ +// +// Finder.h +// +// Created by snow on 9/30/10. +// Copyright 2010 Canvastudio Les Nie. All rights reserved. +// + +#import +#import + +struct _NSPoint { + float x; + float y; +}; + +struct _NSSize { + float width; + float height; +}; + +struct _NSRect { + struct _NSPoint origin; + struct _NSSize size; +}; + +typedef struct { + struct TFENode *_M_start; + struct TFENode *_M_finish; + struct TFENode *_M_end_of_storage; +} _Vector_impl_6bc0f568; + +struct TFENodeVector { + _Vector_impl_6bc0f568 _M_impl; +}; + +@class TListViewController, TTableViewShrinkToFitController; + +@interface TListView : NSOutlineView +{ + TListViewController *_controller; + BOOL _itemHitOnMouseDown; + TTableViewShrinkToFitController *_stfController; +} + +- (void)dealloc; +- (void)setDelegate:(id)arg1; +- (BOOL)shouldDelayWindowOrderingForEvent:(id)arg1; +- (BOOL)acceptsFirstResponder; +- (id)columnWithStringIdentifier:(id)arg1; +- (struct CGRect)_dropHighlightBackgroundRectForRow:(long long)arg1; +- (void)drawRow:(long long)arg1 clipRect:(struct CGRect)arg2; +- (BOOL)clickedOnMoreButton:(id)arg1; +- (BOOL)handleUnicodeTextInput:(id)arg1; +- (BOOL)acceptsFirstMouse:(id)arg1; +- (unsigned long long)hitTestForEvent:(id)arg1 row:(long long)arg2; +- (id)menuForEvent:(id)arg1; +- (BOOL)_onlyDragOnContent; +- (BOOL)commonMouseDownAndEarlyReturn:(id)arg1 controller:(id)arg2; +- (void)commonPostMouseDown:(id)arg1 controller:(id)arg2; +- (BOOL)_typeSelectInterpretKeyEvent:(id)arg1; +- (void)mouseDown:(id)arg1; +- (void)drawRect:(struct CGRect)arg1; +- (BOOL)_wantsLiveResizeToUseCachedImage; +- (id)inputContext; +- (void)keyDown:(id)arg1; +- (void)expandItem:(id)arg1 expandChildren:(BOOL)arg2; +- (void)collapseItem:(id)arg1 collapseChildren:(BOOL)arg2; +- (void)selectRowIndexes:(id)arg1 byExtendingSelection:(BOOL)arg2; +- (void)editColumn:(long long)arg1 row:(long long)arg2 withEvent:(id)arg3 select:(BOOL)arg4; +- (id)preparedCellAtColumn:(long long)arg1 row:(long long)arg2; +- (void)startEditingWithNode:(const struct TFENode *)arg1; +- (void)stopEditing:(BOOL)arg1; +- (struct CGRect)maxSTFEditorFrameFromTitleFrame:(struct CGRect)arg1; +- (void)updateSTFEditorLocation; +- (BOOL)shrinkToFitTextViewAboutToOpen; +- (void)shrinkToFitTextViewEditingComplete:(id)arg1; +- (void)shrinkToFitTextViewAboutToClose; +- (id)stfEditorController; +@property(readonly, nonatomic) TListViewController *controller; // @synthesize controller=_controller; + +@end + +typedef struct { + unsigned int selected:1; + unsigned int focus:1; + unsigned int twoLines:1; + unsigned int label:3; +} CDStruct_b8373011; +typedef struct { + struct CGRect _field1; + unsigned long long _field2; + struct CGRect _field3[2]; + unsigned long long _field4; +} CDStruct_51b97681; + +@protocol IKImageProxy +- (void)bind; +- (void)unbind; +- (BOOL)isBinded; +- (int)proxyDataFormat; +- (id)proxyData; +- (void)disconnect; +- (void)connect:(id)fp8; +- (id)image; +- (id)thumbnailWithSize:(struct _NSSize)fp8 antialiased:(BOOL)fp16 qualityRequested:(int)fp20 qualityProduced:(int *)fp24; +- (BOOL)isVectorial; +- (struct _NSSize)proxySize; +- (void)lockForThreadedOperation; +- (void)unlockForThreadedOperation; +- (BOOL)isLockedForThreadedOperation; +@end + + +@interface IKImageWrapper : NSObject +{ + NSString *_path; + NSData *_dataRepresentation; + NSBitmapImageRep *_bitmapRepresentation; + id _imageProxy; + union { + struct CGImage *_cgImage; + CIImage *_ciImage; + struct CGImageSource *_cgImageSource; + NSImage *_nsImage; + } _volatileRep; + unsigned short _volatileRepresentation; + unsigned int _exifOrientation:3; + unsigned int _generatedWithIconServices:1; + unsigned int _underlyingDataAreVolatile:1; + unsigned int _isReference:1; + struct _NSSize _cachedSize; + NSDictionary *_info; +} + ++ (id)imageWithPath:(id)fp8; ++ (id)imageWithNSImage:(id)fp8; ++ (id)imageWithCGImage:(struct CGImage *)fp8; ++ (id)imageWithCGImageSource:(struct CGImageSource *)fp8; ++ (id)imageWithData:(id)fp8; ++ (id)imageWithPasteboard:(id)fp8; ++ (id)imageWithNSBitmapImageRep:(id)fp8; ++ (id)emptyImage; ++ (id)imageWithSize:(struct _NSSize)fp8; ++ (id)imageWithImageProxy:(id)fp8; ++ (id)imageWithObject:(id)fp8; +- (void)dealloc; +- (void)finalize; +- (id)initWithPath:(id)fp8; +- (id)initWithCGImage:(struct CGImage *)fp8; +- (id)initWithCGImageSource:(struct CGImageSource *)fp8; +- (id)initWithNSImage:(id)fp8; +- (id)initEmptyImage; +- (id)initWithPasteboard:(id)fp8; +- (id)initWithSize:(struct _NSSize)fp8; +- (id)initWithData:(id)fp8; +- (id)initWithNSBitmapImageRep:(id)fp8; +- (id)initWithImageProxy:(id)fp8; +- (id)initWithOpenGLID:(unsigned int)fp8 size:(struct _NSSize)fp12 offset:(struct _NSPoint)fp20 premultiplied:(BOOL)fp28 deleteWhenDone:(BOOL)fp32; +- (int)volatileRepresentation; +- (void)setVolatileRepresentation:(int)fp8; +- (void)releaseVolatileImageRep; +- (unsigned short)flags; +- (void)setFlags:(unsigned short)fp8; +- (BOOL)wasGeneratedWithIconServices; +- (void)setWasGeneratedWithIconServices:(BOOL)fp8; +- (BOOL)underlyingDataAreVolatile; +- (void)setUnderlyingDataAreVolatile:(BOOL)fp8; +- (struct CGImage *)_cgImage; +- (id)_nsImage; +- (struct CGImage *)cgImage; +- (id)nsImage:(BOOL)fp8; +- (id)nsImage; +- (struct CGImageSource *)cgImageSourceRef:(BOOL)fp8; +- (void)setCGImageSource:(struct CGImageSource *)fp8; +- (void)setCGImage:(struct CGImage *)fp8; +- (void)setNSImage:(id)fp8; +- (id)copy; +- (void)setIsReference:(BOOL)fp8; +- (void)integrateReferenceInstance:(id)fp8; +- (void)referenceWillDie; +- (id)referenceInstance; +- (id)_thumbnailWithSize:(struct _NSSize)fp8 antialiased:(BOOL)fp16 qualityRequested:(int)fp20 qualityProduced:(int *)fp24; +- (id)thumbnailWithSize:(struct _NSSize)fp8 antialiased:(BOOL)fp16 qualityRequested:(int)fp20 qualityProduced:(int *)fp24; +- (struct _NSSize)cachedSize; +- (id)_sizeOfNSImage:(id)fp8; +- (struct _NSSize)_size; +- (struct _NSSize)size; +- (void)setSize:(struct _NSSize)fp8; +- (void)setSizeWithoutSavingContent:(struct _NSSize)fp8; +- (BOOL)isVectorial; +- (BOOL)isValid; +- (BOOL)isEmpty; +- (BOOL)hasAlpha; +- (id)animatedGifsCache; +- (BOOL)isAnimatedGifs; +- (int)imageFrameCount; +- (int)loopCount; +- (float)nextFrameDelayAtIndex:(int)fp8; +- (struct CGImage *)imageAtFrameIndex:(int)fp8; +- (id)GIFRepresentation; +- (id)TIFFRepresentation; +- (id)TIFFRepresentationUsingCompression:(unsigned int)fp8 factor:(float)fp12; +- (id)IK_JPEGRepresentationWithCompressionFactor:(float)fp8; +- (id)imagePath; +- (id)_dataRepresentationFromBitmapRepresentation:(id)fp8; +- (id)_createBitmapImageRepFromCGRepresentation; +- (id)dataRepresentationFromCGRepresentationWithCompressionFactor:(float)fp8; +- (id)dataRepresentation; +- (id)imageProxy; +- (void)setImageProxy:(id)fp8; +- (void)setPath:(id)fp8; +- (void)setDataRepresentation:(id)fp8; +- (void)drawInRect:(NSRect)fp8 fromRect:(NSRect)fp24 alpha:(float)fp40; +- (void)lockFocus; +- (void)unlockFocus; +- (void)saveAsTIFFAtPath:(id)fp8; +- (void)saveAsJPGAtPath:(id)fp8; +- (id)writeToFileWithAutomaticFormat:(id)fp8; +- (BOOL)hasDataRepresentation; +- (BOOL)hasBitmapRepresentation; +- (id)bitmapRepresentation; +- (void)setBitmapRepresentation:(id)fp8; +- (struct CGContext *)cgContext; +- (void)mapIntoVRAM; +- (void)mapRepresentationIntoRAM:(int)fp8; +- (BOOL)mappedIntoRAM; +- (BOOL)mappedAndDecompressedIntoRAM; +- (BOOL)mappedIntoVRAM; +- (void)freeImageCache; +- (void)bindCGCache; +- (BOOL)hasCGCache; +- (BOOL)hasVolatileCache; +- (BOOL)hasRAMCache; +- (void)freeRAMCache; +- (void)freeVRAMCache; +- (void)freeCache; +- (BOOL)textureIsPacked; +- (unsigned int)openGLTextureID; +- (void)deleteTextureInCurrentContext; +- (void)setOpenGLTextureID:(unsigned int)fp8 withGLContext:(id)fp12; +- (unsigned int)generateNewGLTextureID; +- (struct _NSPoint)openGLTextureOffset; +- (void)setOpenGLTextureOffset:(struct _NSPoint)fp8; +- (BOOL)openGLTextureIsPremultiplied; +- (void)setOpenGLTextureIsPremultiplied:(BOOL)fp8; +- (void)setValue:(id)fp8 forKey:(id)fp12; +- (id)valueForKey:(id)fp8; +- (id)_tryToCreateCGImageRepFromNonCGFile:(id)fp8; +- (id)description; + +@end + + +@class IKMipmapItem; + +@interface IKMipmapImage : NSObject +{ + IKMipmapItem *_mipmaps[4]; + IKMipmapItem *_originalMipmap; + IKMipmapItem *_customMipmap; + unsigned long _version; + struct _NSSize _originalImageSizeCache; + unsigned int _originalImageIsInvalid:1; + unsigned int _dirty:1; + unsigned int _mark:1; + unsigned int _isReference:1; +} + +- (void)_mipmapCommonInit; +- (id)init; +- (id)initWithMipmapSizes:(id)fp8 VMUsagePolicy:(id)fp12; +- (void)_cleanUp; +- (void)dealloc; +- (void)finalize; +- (BOOL)isDirty; +- (void)setDirty:(BOOL)fp8; +- (void)setIsReference:(BOOL)fp8; +- (void)setOriginalImageIsInvalid:(BOOL)fp8; +- (unsigned long)version; +- (void)setVersion:(unsigned long)fp8; +- (BOOL)marked; +- (void)mark; +- (void)clearMark; +- (id)temporaryItem; +- (id)originalItem; +- (id)mipmapItemAtIndex:(int)fp8; +- (int)indexOfMipmapItem:(id)fp8; +- (int)highestMipmapItemIndex; +- (id)highestMipmapItem; +- (float)originalAspectRatio; +- (BOOL)originalImageIsInvalid; +- (void)checkAndMarkMipmapAsInvalid; +- (void)invalidateOriginalImageSizeCache; +- (struct _NSSize)originalImageSize; +- (void)setOriginalImageSizeCache:(struct _NSSize)fp8; +- (struct _NSSize)originalImageSizeCache; +- (id)image; +- (void)setImage:(id)fp8; +- (void)setImageWithoutInvalidate:(id)fp8; +- (id *)mipmapItems; +- (id)validMipmapItems; +- (BOOL)atLeastOneMipmapItemIsValid; +- (BOOL)allMipmapItemsAreValid; +- (BOOL)customMipmapIsValidAndMatchSize:(struct _NSSize)fp8 andQuality:(int)fp16; +- (BOOL)validateMipmap:(id)fp8 withModel:(id)fp12 withQuality:(int)fp16; +- (BOOL)validateMipmap:(id)fp8 withQuality:(int)fp12; +- (BOOL)validateMipmapAtIndex:(int)fp8 withQuality:(int)fp12; +- (int)bestMipmapIndexToValidateForSize:(int)fp8; +- (id)mipmapWithSize:(int)fp8; +- (void)setImage:(id)fp8 forMipmapSize:(int)fp12; +- (id)fastMipmapItemForSize:(int)fp8 forOpenGL:(BOOL)fp12 useMinimumQualityThreshold:(BOOL)fp16; +- (id)_fastMipmapItemForSize:(struct _NSSize)fp8 forOpenGL:(BOOL)fp16 useMinimumQualityThreshold:(BOOL)fp20; +- (id)fastMipmapItemForSize:(struct _NSSize)fp8 forGLRendering:(BOOL)fp16; +- (id)fastestMipmapItemForSize:(struct _NSSize)fp8 forGLRendering:(BOOL)fp16; +- (void)_cacheMipmapSize:(struct _NSSize)fp8 fromModel:(id)fp16; +- (id)nicestMipmapItemForSize:(struct _NSSize)fp8 forGLRendering:(BOOL)fp16 cacheIt:(BOOL)fp20; +- (BOOL)shouldUseOriginalImageToCacheNiceImageWithSize:(struct _NSSize)fp8; +- (id)niceMipmapItemForSize:(struct _NSSize)fp8 forGLRendering:(BOOL)fp16 cacheIt:(BOOL)fp20; +- (id)fastMipmapItemWithExactSize:(struct _NSSize)fp8; +- (id)nicestImageForSize:(struct _NSSize)fp8 forGLRendering:(BOOL)fp16 cacheIt:(BOOL)fp20; +- (id)niceImageForSize:(struct _NSSize)fp8 forGLRendering:(BOOL)fp16 cacheIt:(BOOL)fp20; +- (id)fastImageForSize:(struct _NSSize)fp8 forGLRendering:(BOOL)fp16; +- (id)fastestImageForSize:(struct _NSSize)fp8 forGLRendering:(BOOL)fp16; +- (id)lockMipmapAtIndex:(int)fp8; +- (void)unlockMipmapItem:(id)fp8; +- (BOOL)preloadMipmapsWithQuality:(int)fp8; +- (BOOL)containsMipmapItem:(id)fp8; +- (void)freeAllCaches; +- (void)freeTemporaryCache; +- (void)freeExpendedRepresentationCaches; +- (void)freeOriginalImageCache; +- (void)invalidateMipMaps; +- (void)setMipmapSizes:(id)fp8; +- (void)setMipmapVMUsagePolicy:(id)fp8; +- (id)referenceInstance; +- (void)integrateReferenceInstance:(id)fp8; +- (void)referenceWillDie; + +@end + + +@interface IKMipmapItem : NSObject +{ + IKMipmapImage *_parent; + IKImageWrapper *_image; + int _mipmapSize; + unsigned int _vmUsagePolicy:8; + unsigned int _thumbnailQuality:8; + unsigned int _isReference:1; +} + +- (id)init; +- (void)dealloc; +- (id)description; +- (id)parent; +- (void)setParent:(id)fp8; +- (BOOL)loaded; +- (void)mapIntoVRAM; +- (BOOL)unload; +- (BOOL)isValid; +- (int)thumbnailQuality; +- (void)setThumbnailQuality:(int)fp8; +- (id)__image; +- (id)image; +- (void)setImage:(id)fp8; +- (void)setMipmapSize:(int)fp8; +- (void)invalidate; +- (int)mipmapSize; +- (void)__setDictionaryRepresentation:(id)fp8; +- (BOOL)setAsMipmapOfImage:(id)fp8 withSize:(struct _NSSize)fp12 antialiased:(BOOL)fp20 quality:(int)fp24; +- (BOOL)setAsMipmapOfImage:(id)fp8 aspectRatio:(float)fp12 antialiased:(BOOL)fp16 quality:(int)fp20; +- (int)vmUsagePolicy; +- (void)setVmUsagePolicy:(int)fp8; +- (void)setIsReference:(BOOL)fp8; +- (void)setAsReferenceOf:(id)fp8; +- (void)integrateReferenceInstance:(id)fp8 replaceImage:(BOOL)fp12; +- (void)referenceWillDie; + +@end + + +@interface IKImageCell : NSObject +{ + id _parent; + id _cellSource; + id _proxy; + unsigned int _dataSourceIndex; + unsigned int _mipmapDBIndex; + IKMipmapImage *_mipmapImage; + unsigned int _datasourceIsVectorial:1; + float _alpha; + NSMutableDictionary *_properties; +} + ++ (id)_IKBuildImageWrapperForType:(id)fp8 withObject:(id)fp12 withOwner:(id)fp16; +- (id)init; +- (struct _NSRect)imageFrame; +- (void)invalidate; +- (void)validate; +- (void)mipmapImageChanged; +- (void)validateMipmapDBIndex; +- (id)mipmapDB; +- (unsigned int)mipmapDBIndex; +- (void)setCacheDBIndex:(unsigned int)fp8; +- (void)parentWillDie:(id)fp8; +- (void)dealloc; +- (void)finalize; +- (void)setParent:(id)fp8; +- (id)parent; +- (void)setDataSource:(id)fp8; +- (id)dataSource; +- (unsigned int)dataSourceIndex; +- (void)setDataSourceIndex:(unsigned int)fp8; +- (id)mipmapImage; +- (void)setMipmapImage:(id)fp8; +- (float)alpha; +- (void)setAlpha:(float)fp8; +- (BOOL)isAnIcon; +- (BOOL)_representationTypeCanBePlayed:(id)fp8; +- (void)removeObjectForKey:(id)fp8; +- (void)setObject:(id)fp8 forKey:(id)fp12; +- (id)objectForKey:(id)fp8; +- (void)checkMipmapVersion; +- (id)dataSourcePath; + +@end + +//@class IKImageWrapper; + +@interface TIconViewCell : IKImageBrowserCell +{ + IKImageWrapper *_titleImage; + BOOL _twoLine; + CDStruct_b8373011 _titleSettings; +} + ++ (struct CGSize)cellSizeForIconSize:(double)arg1 labelOnBottom:(BOOL)arg2 gridSpacing:(double)arg3 titleAttrs:(id)arg4 subTitleAttrs:(id)arg5; +- (id)init; +- (void)dealloc; +- (double)iconSize; +- (BOOL)labelOnBottom; +- (BOOL)showPreview; +- (BOOL)showItemInfo; +- (double)endCapWidth; +- (struct CGRect)frame; +- (struct CGRect)imageFrame; +- (double)titleOffset; +- (double)maxTitleWidth; +- (struct CGRect)titleFrame; +- (struct CGRect)subtitleFrame; +- (int)heightOfInfoSpace; +- (id)subString:(id)arg1 atIndex:(unsigned long long)arg2 attributes:(id)arg3 lineBreakMode:(unsigned long long)arg4; +- (struct CGRect)placeSubString:(id)arg1 atIndex:(unsigned long long)arg2 fromFrame:(struct CGRect)arg3 bounds:(struct CGRect)arg4 attributes:(id)arg5 lineBreakMode:(unsigned long long)arg6 position:(BOOL)arg7; +- (CDStruct_51b97681)calculateTextMetrics:(id)arg1 attributes:(id)arg2; +- (void)drawLabel:(struct CGContext *)arg1 fillRect:(struct CGRect)arg2 bounds:(struct CGRect)arg3 firstLine:(struct CGRect)arg4 secondLine:(struct CGRect)arg5 actualLineCount:(unsigned long long)arg6 selected:(BOOL)arg7 labelValue:(short)arg8 justification:(short)arg9 inset:(double)arg10 radius:(double)arg11; +- (id)constructTitleImage; +- (CDStruct_b8373011)currentTitleImageSettings; +- (BOOL)titleImageStillValid:(CDStruct_b8373011)arg1; +- (id)titleImage; +- (void)invalidate; +- (void)drawTitle; + +@end + +@protocol TShrinkToFitDelegateProtocol +- (BOOL)shrinkToFitTextViewAboutToOpen; +- (void)shrinkToFitTextViewEditingComplete:(id)arg1; +- (void)shrinkToFitTextViewAboutToClose; +@end + +@class TCocoaShrinkToFitController, TIconViewController; + +@interface TIconView : IKImageBrowserView +{ + TIconViewController *_controller; + TCocoaShrinkToFitController *_stfController; + BOOL _startEditingOnMouseUp; + BOOL _viewIsReloadingData; + BOOL _isDrawingInDragImage; + unsigned long long _editedCellIndex; + unsigned long long _selectionCountBeforeReloadingData; +} + +- (id)initWithFrame:(struct CGRect)arg1 controller:(id)arg2; +- (void)setDelegate:(id)arg1; +- (id)_viewIdentifier; +- (void)viewDidMoveToWindow; +- (BOOL)shouldPreserveVisibleRangeWhileZooming; +- (void)reloadData; +- (BOOL)isReloadingData; +- (unsigned long long)selectionCountBeforeReloadingData; +- (BOOL)respondsToSelector:(SEL)arg1; +- (void)draggingExited:(id)arg1; +- (void)dragImage:(id)arg1 at:(struct CGPoint)arg2 offset:(struct CGSize)arg3 event:(id)arg4 pasteboard:(id)arg5 source:(id)arg6 slideBack:(BOOL)arg7; +- (void)scrollSTFEditorIntoView; +- (void)updateSTFEditorLocation; +- (void)scrollWheel:(id)arg1; +- (void)browserDidScroll; +- (void)mouseDown:(id)arg1; +- (void)drawRect:(struct CGRect)arg1; +- (void)rightMouseDown:(id)arg1; +- (void)mouseDragged:(id)arg1; +- (void)mouseUp:(id)arg1; +- (BOOL)_typeSelectInterpretKeyEvent:(id)arg1; +- (id)inputContext; +- (void)keyDown:(id)arg1; +- (int)defaultHeightOfInfoSpaceWithCurrentViewOptions; +- (BOOL)isDragImageOpaque; +- (int)nextIndexInGridLayoutWithDirectionKey:(unsigned short)arg1 currentIndex:(long long)arg2; +- (void)startEditingWithNode:(const struct TFENode *)arg1 afterDelay:(BOOL)arg2; +- (void)stopEditing:(BOOL)arg1; +- (unsigned long long)editingIndex; +- (struct CGRect)maxSTFEditorFrameForCellAtIndex:(unsigned long long)arg1; +- (BOOL)editCellTitleAtIndex:(unsigned long long)arg1 withEvent:(id)arg2 select:(BOOL)arg3; +- (BOOL)shrinkToFitTextViewAboutToOpen; +- (void)shrinkToFitTextViewEditingComplete:(id)arg1; +- (void)shrinkToFitTextViewAboutToClose; +- (BOOL)hasFocus; +- (id)draggedImageWithEvent:(id)arg1 countBadge:(int)arg2 hotPoint:(struct CGPoint *)arg3; +@property(readonly, retain, nonatomic) TIconViewController *controller; // @synthesize controller=_controller; + +@end + +@class TPropertyIconController; + +@interface TIconImageView : NSImageView +{ + TPropertyIconController *_controller; +} + +- (id)initWithFrame:(struct CGRect)arg1; +- (id)initWithCoder:(id)arg1; +- (void)initCommon; +- (void)drawRect:(struct CGRect)arg1; +- (void)setImage:(id)arg1; +- (BOOL)canChangeIcon; +- (BOOL)validateCopy:(id)arg1; +- (void)copy:(id)arg1; +- (BOOL)validateCut:(id)arg1; +- (void)cut:(id)arg1; +- (BOOL)validateDelete:(id)arg1; +- (void)delete:(id)arg1; +- (BOOL)validatePaste:(id)arg1; +- (void)paste:(id)arg1; +- (BOOL)validateUndo:(id)arg1; +- (void)undo:(id)arg1; +- (BOOL)validateRedo:(id)arg1; +- (void)redo:(id)arg1; +- (BOOL)validateMenuItem:(id)arg1; +- (unsigned long long)draggingEntered:(id)arg1; +- (void)concludeDragOperation:(id)arg1; +- (void)draggingEnded:(id)arg1; +@property TPropertyIconController *controller; //@synthesize controller=_controller; + +@end + +@interface FINode : NSObject +{ + +} + ++ (id)nodeWithFENode:(const struct TFENode *)arg1; ++ (struct TFENode)asFENode:(id)arg1; +- (struct TFENode)feNode; +- (struct TFENode)feNodeFollowingAliasChainSynchronously; +- (struct TFENode)feNodeFollowingAliasChainAsyncWithTarget:(id)arg1 okToLogin:(BOOL)arg2 tryToFixIfBroken:(BOOL)arg3; +- (BOOL)nodeIs:(unsigned long long)arg1; +- (id)name; +- (id)fullPath; +- (id)kind; +- (id)kindWithoutPlatform; +- (id)copyMDAttribute:(struct __CFString *)arg1; +- (id)typeIdentifier; +- (short)labelValue; +- (id)icon; +- (BOOL)isDimmed; +- (id)modificationDate; +- (id)creationDate; +- (id)lastOpenedDate; +- (long long)fileSize; +- (id)size:(BOOL)arg1; +- (id)label; +- (id)version; +- (id)comments; +- (id)authorName; +- (id)serverUserName; +- (BOOL)supportsScreenSharing; +- (BOOL)supportsFileSharing; +- (int)serverConnectionState; +- (BOOL)isSharedServer; +- (BOOL)isODSNode; +- (BOOL)isMountedSharePoint; +- (BOOL)isIDiskNode; +- (BOOL)isVolume; +- (BOOL)volumeIsEjectableOrUnmountable; +- (void)connectToSharedServerAs; +- (void)askToUseODS; +- (void)disconnectShare; +- (void)launchScreenSharingApp; +- (id)url; +- (long long)fileSizeSync; +- (BOOL)isExtensionHidden; +- (BOOL)containsLocalizations; +- (BOOL)containsPlugins; +- (BOOL)isAlias; +- (BOOL)isMDQueryHit; +- (BOOL)isResolved; +- (BOOL)isApplication; +- (BOOL)isContainer; +- (BOOL)isPackage; +- (BOOL)isVirtual; +- (BOOL)isQueryHit; +- (unsigned long long)nodeIs64:(unsigned long long)arg1; + +@end + + +@interface TViewController : NSViewController +{ +} + +- (id)initWithCoder:(id)arg1; +- (id)initWithNibName:(id)arg1 bundle:(id)arg2; +- (void)initCommon; +- (void)loadView; + +@end + +@class IPropertyValueExtractor, NSObject, TLayoutBinder; + +@interface IPropertyValueController : TViewController +{ + NSObject *_value; + TLayoutBinder *_layoutBinder; + double _viewHeight; + IPropertyValueExtractor *_valueExtractor; + BOOL _shouldBeVisible; + BOOL _shouldBeEnabled; +} + ++ (id)propertyValueController; ++ (id)propertyValueControllerWithValueExtractor:(id)arg1; +- (id)initWithValueExtractor:(id)arg1; +- (void)initCommon; +- (void)dealloc; +- (id)defaultValue; +- (void)setView:(id)arg1; +@property(retain) IPropertyValueExtractor *valueExtractor; // @synthesize valueExtractor=_valueExtractor; +- (void)updateWithNodes:(const struct TFENodeVector *)arg1; +@property BOOL shouldBeVisible; // @synthesize shouldBeVisible=_shouldBeVisible; +- (id)extractValueFromNodes:(const struct TFENodeVector *)arg1; +- (BOOL)needsUpdateForProperty:(unsigned int)arg1; +- (BOOL)isApplicableToNodes:(const struct TFENodeVector *)arg1; +- (void)flush; +- (BOOL)canModifyNodes:(const struct TFENodeVector *)arg1; +- (BOOL)adjustSize:(BOOL)arg1; +- (void)handleNodesGoingAway:(const struct TFENodeVector *)arg1; +- (void)handleNodeMDAttributesChanged:(const struct TFENode *)arg1 attributes:(id)arg2 isDisplayAttributes:(BOOL)arg3; +@property BOOL shouldBeEnabled; // @synthesize shouldBeEnabled=_shouldBeEnabled; +@property(readonly, retain) TLayoutBinder *layoutBinder; // @synthesize layoutBinder=_layoutBinder; +@property(retain) NSObject *value; // @synthesize value=_value; + +@end + + +@interface TPropertyImageViewController : IPropertyValueController +{ +} + +@end + + + +@interface TPropertyIconController : TPropertyImageViewController +{ + struct TFENodeVector _nodes; + BOOL _nodesHaveSameIcon; + BOOL _nodesHaveCustomIcon; + BOOL _nodesCanChangeIcon; +} + +- (void)initCommon; +- (void)updateWithNodes:(const struct TFENodeVector *)arg1; +- (BOOL)canModifyNodes:(const struct TFENodeVector *)arg1; +- (BOOL)validateCopy:(id)arg1; +- (void)copy:(id)arg1; +- (BOOL)validateCut:(id)arg1; +- (void)cut:(id)arg1; +- (BOOL)validateDelete:(id)arg1; +- (void)delete:(id)arg1; +- (BOOL)validatePaste:(id)arg1; +- (void)paste:(id)arg1; +- (void)concludeDragOperation:(id)arg1; + +@end + +struct TFENode { + struct OpaqueNodeRef *fNodeRef; +}; + + +@class TViewOptionsWindowController; + +@interface TFileBasedImageView : NSImageView +{ + TViewOptionsWindowController *_controller; + struct TFENode _imageNode; +} + +@property struct TFENode *imageNode; // @dynamic imageNode; +- (void)mouseDown:(id)arg1; +- (BOOL)performDragOperation:(id)arg1; + +@end + +@interface TTextCell : NSTextFieldCell +{ + double _leftMargin; + double _rightMargin; + BOOL _drawGrayTextWhenDisabled; +} + +- (id)init; +- (id)initTextCell:(id)arg1; +- (id)initWithCoder:(id)arg1; +- (void)initializeTextCell; +- (struct CGSize)cellSizeForBounds:(struct CGRect)arg1; +- (struct CGRect)titleRectForBounds:(struct CGRect)arg1; +- (void)drawInteriorWithFrame:(struct CGRect)arg1 inView:(id)arg2; +- (void)drawWithExpansionFrame:(struct CGRect)arg1 inView:(id)arg2; +- (unsigned long long)hitTestForEvent:(id)arg1 inRect:(struct CGRect)arg2 ofView:(id)arg3; +@property BOOL drawGrayTextWhenDisabled; // @synthesize drawGrayTextWhenDisabled=_drawGrayTextWhenDisabled; +@property double rightMargin; // @synthesize rightMargin=_rightMargin; +@property double leftMargin; // @synthesize leftMargin=_leftMargin; + +@end + +struct TIconRef { + //struct TRef fIconRef; +}; + +@interface TIconAndTextCell : TTextCell +{ + struct TIconRef _icon; + struct CGSize _iconSize; + double _iconToTextSpacing; + BOOL _showIcon; +} + +- (void)initializeTextCell; +- (id)copyWithZone:(struct _NSZone *)arg1; +- (void)setIcon:(const struct TIconRef *)arg1; +@property(readonly) struct TIconRef *icon; +- (struct CGRect)titleRectForBounds:(struct CGRect)arg1; +- (struct CGRect)imageRectForBounds:(struct CGRect)arg1; +- (struct CGSize)cellSizeForBounds:(struct CGRect)arg1; +- (void)drawIconWithFrame:(struct CGRect)arg1; +- (void)drawInteriorWithFrame:(struct CGRect)arg1 inView:(id)arg2; +- (unsigned long long)hitTestForEvent:(id)arg1 inRect:(struct CGRect)arg2 ofView:(id)arg3; +@property BOOL showIcon; // @synthesize showIcon=_showIcon; +@property double iconToTextSpacing; // @synthesize iconToTextSpacing=_iconToTextSpacing; +@property struct CGSize iconSize; // @synthesize iconSize=_iconSize; + +@end + +@interface TNodeIconAndNameCell : TIconAndTextCell +{ + struct TFENode _node; +} + +- (id)copyWithZone:(struct _NSZone *)arg1; +- (const struct TFENode *)node; +- (void)setNode:(const struct TFENode *)arg1; +- (id)accessibilityAttributeNames; +- (id)accessibilityAttributeValue:(id)arg1; +- (BOOL)accessibilityIsAttributeSettable:(id)arg1; + +@end + +@class NSImage, NSView; + +@interface TListViewIconAndTextCell : TNodeIconAndNameCell +{ + NSImage *_thumbnail; + NSView *_view; +} + +- (void)initializeTextCell; +- (void)dealloc; +- (id)copyWithZone:(struct _NSZone *)arg1; +- (void)drawIconWithFrame:(struct CGRect)arg1; +- (id)controller; +- (id)accessibilityActionNames; +- (id)accessibilityActionDescription:(id)arg1; +- (void)accessibilityPerformAction:(id)arg1; +@property NSView *view; // @synthesize view=_view; +@property(retain) NSImage *thumbnail; // @synthesize thumbnail=_thumbnail; + +@end + +@interface IKImageFlowView : NSOpenGLView +{ + id _dataSource; + id _dragDestinationDelegate; + id _delegate; + void *_reserved; +} + ++ (id)pixelFormat; ++ (BOOL)flowViewIsSupportedByCurrentHardware; ++ (void)initialize; ++ (void)setImportAnimationStyle:(unsigned int)fp8; +- (void)_setDefaultTextAttributes; +- (void)_ikCommonInit; +- (id)initWithFrame:(struct _NSRect)fp8; +- (void)dealloc; +- (void)finalize; +- (void)setValue:(id)fp8 forUndefinedKey:(id)fp12; +- (id)valueForUndefinedKey:(id)fp8; +- (id)allocateNewCell; +- (void)dataSourceDidChange; +- (void)_reloadCellDataAtIndex:(int)fp8; +- (void)reloadCellDataAtIndex:(int)fp8; +- (void)reloadAllCellsData; +- (void)reloadData; +- (id)loadCellAtIndex:(int)fp8; +- (void)didStabilize; +- (BOOL)isAnimating; +- (void)setAnimationsMask:(unsigned int)fp8; +- (unsigned int)animationsMask; +- (void)_cellFinishedImportAnimation:(id)fp8; +- (BOOL)itemAtIndexIsLoaded:(unsigned int)fp8; +- (void)keyWindowChanged:(id)fp8; +- (void)setSelectedIndex:(unsigned int)fp8; +- (BOOL)hitTestWithImage:(id)fp8 x:(float)fp12 y:(float)fp16; +- (unsigned int)cellIndexAtLocation:(struct _NSPoint)fp8; +- (void)_adjustScroller; +- (void)resetCursorRects; +- (void)frameDidChange:(id)fp8; +- (void)invalidateLayout; +- (float)offset; +- (int)cellIndexAtPosition:(float)fp8; +- (int)heightOfInfoSpace; +- (int)countOfVisibleCellsOnEachSide; +- (struct _NSRange)rangeOfVisibleIndexes; +- (struct _NSRange)rangeOfVisibleIndexesAtSelection; +- (id)visibleCellIndexesAtSelection; +- (id)visibleCellIndexes; +- (void)flipCellsWithOldSelectedIndex:(unsigned int)fp8 newSelectedIndex:(unsigned int)fp12; +- (void)flowLayout:(struct _NSRange)fp8; +- (void)zoomOnSelectedLayerLayout:(struct _NSRange)fp8; +- (void)updateLayoutInRange:(struct _NSRange)fp8; +- (void)updateLayout; +- (struct _NSRect)titleFrame; +- (struct _NSRect)subtitleFrame; +- (struct _NSRect)splitterFrame; +- (double)_viewAspectRatio; +- (double)_zScreen; +- (struct _NSSize)imageRenderedSize; +- (struct _NSRect)selectedImageFrame; +- (double)_computeCameraDZ; +- (double)cameraDZ; +- (double)_computeCameraDY; +- (double)cameraDY; +- (float)convertPixelUnitTo3DUnit:(float)fp8; +- (double)alignOnPixelValue; +- (BOOL)updatesCGSurfaceOnDrawRect; +- (void)setUpdatesCGSurfaceOnDrawRect:(BOOL)fp8; +- (BOOL)showSplitter; +- (void)setShowSplitter:(BOOL)fp8; +- (id)delegate; +- (void)setDelegate:(id)fp8; +- (id)dataSource; +- (void)setDataSource:(id)fp8; +- (void)setZoomOnSelectedLayer:(BOOL)fp8; +- (BOOL)zoomOnSelectedLayer; +- (unsigned int)itemsCount; +- (id)cells; +- (unsigned int)selectedIndex; +- (unsigned int)focusedIndex; +- (id)backgroundColor; +- (void)_setBackgroundColorWithRed:(float)fp8 green:(float)fp12 blue:(float)fp16 alpha:(float)fp20; +- (BOOL)backgroundIsLight; +- (BOOL)backgroundIsBlack; +- (BOOL)_convertColor:(id)fp8 toRed:(float *)fp12 green:(float *)fp16 blue:(float *)fp20 alpha:(float *)fp24; +- (void)_getBackgroundRed:(float *)fp8 green:(float *)fp12 blue:(float *)fp16 alpha:(float *)fp20; +- (void)setBackgroundColor:(id)fp8; +- (id)cellBackgroundColor; +- (void)setCellBackgroundColor:(id)fp8; +- (id)cellBorderColor; +- (void)setCellBorderColor:(id)fp8; +- (float)imageAspectRatio; +- (void)setImageAspectRatio:(float)fp8; +- (float)scaleFactor; +- (id)cacheManager; +- (BOOL)cellsAlignOnBaseline; +- (void)setCellsAlignOnBaseline:(BOOL)fp8; +- (void)startInlinePreview; +- (void)stopInlinePreview; +- (void)inlinePreviewDidRenderImage:(void *)fp8; +- (id)thumbnailImageAtIndex:(int)fp8; +- (id)previewImageAtIndex:(int)fp8; +- (void)initRenderingContext; +- (void *)fogShader; +- (void)renewGState; +- (void)setHidden:(BOOL)fp8; +- (id)renderer; +- (void)_setAutoscalesBoundsToPixelUnits:(BOOL)fp8; +- (void)setCacheManager:(id)fp8; +- (id)imageFlowContext; +- (void)setImageFlowContext:(id)fp8; +- (void)__ikSetupGLContext:(id)fp8; +- (id)openGLContext; +- (void)setOpenGLContext:(id)fp8; +- (void)_cacheWasFlushed:(id)fp8; +- (float)fogAtLocation:(float)fp8; +- (struct _NSRect)clampedBounds; +- (struct _NSRect)clampedFrame; +- (void)drawVisibleCells:(struct _NSRect)fp8; +- (void)drawBackground; +- (void)drawTitle; +- (BOOL)installViewport; +- (void)setupGLState; +- (void)installPerspetiveViewportForPicking:(BOOL)fp8 location:(struct _NSPoint)fp12; +- (void)drawFocusRing; +- (BOOL)drawWithCurrentRendererInRect:(struct _NSRect)fp8; +- (void)__copyPixels:(void *)fp8 withSize:(struct _NSSize)fp12 toCurrentFocusedViewAtPoint:(struct _NSPoint)fp20; +- (void)__copyGLToCurrentFocusedView; +- (BOOL)_createPBuffer; +- (void)_deletePBUffer; +- (BOOL)_installPBuffer; +- (void)_copyPBufferToCGSurface; +- (void)drawRect:(struct _NSRect)fp8; + +@end + +@interface TFlowView : IKImageFlowView +{ +} + +- (id)_viewIdentifier; +- (BOOL)acceptsFirstMouse:(id)arg1; +- (BOOL)acceptsFirstResponder; +- (void)dragImage:(id)arg1 at:(struct CGPoint)arg2 offset:(struct CGSize)arg3 event:(id)arg4 pasteboard:(id)arg5 source:(id)arg6 slideBack:(BOOL)arg7; +- (BOOL)isDragImageOpaque; +- (void)mouseDown:(id)arg1; +- (void)reloadData; +- (void)resetCursorRects; +- (BOOL)shouldDelayWindowOrderingForEvent:(id)arg1; + +@end + +@interface TContextMenu : NSMenu +{ +} + ++ (id)contextMenuWithDelegate:(id)arg1; ++ (void)clearContextMenuState; ++ (BOOL)allowContextualMenuForEvent:(id)arg1; ++ (void)contextMenuClickedOnNodes:(const struct TFENodeVector *)arg1 event:(id)arg2 view:(id)arg3 windowController:(id)arg4; ++ (void)contextMenuClickedOnContainer:(const struct TFENode *)arg1 event:(id)arg2 view:(id)arg3 windowController:(id)arg4; ++ (void)populateActionMenu:(id)arg1 forWindowController:(id)arg2; +- (id)initWithTitle:(id)arg1; +- (id)initWithObject:(id)arg1 nodes:(const struct TFENodeVector *)arg2 event:(id)arg3; +- (id)initWithDelegate:(id)arg1; +- (void)dealloc; +- (void)configureWithNodes:(const struct TFENodeVector *)arg1 windowController:(id)arg2 container:(BOOL)arg3; +- (void)configureForSidebarWithNode:(const struct TFENode *)arg1 windowController:(id)arg2 constrained:(BOOL)arg3 data:(id)arg4; +- (void)configureForPathbarWithNode:(const struct TFENode *)arg1 windowController:(id)arg2; +- (void)menuDidCompleteInteraction:(id)arg1; + +@end + +@interface TContextMenu (Private) ++ (void)addViewSpecificStuffToMenu:(id)arg1 browserViewController:(id)arg2 context:(unsigned int)arg3; ++ (void)buildContextMenu:(id)arg1 forContext:(unsigned int)arg2 target:(id)arg3 maxItems:(unsigned long long)arg4 addServices:(BOOL)arg5; ++ (void)handleContextMenuCommon:(unsigned int)arg1 nodes:(const struct TFENodeVector *)arg2 event:(id)arg3 view:(id)arg4 windowController:(id)arg5 addPlugIns:(BOOL)arg6; +@end + + + +@interface TDimmableIconImageView : NSImageView +{ +} + +- (void)drawRect:(struct CGRect)arg1; + +@end + +@interface TListRowView : NSTableRowView +{ + struct TFENode _node; + TListViewController *_listViewController; +// struct TNSRef _selectionView; + _Bool _isDropTarget; +} + +@property(nonatomic) _Bool isDropTarget; // @synthesize isDropTarget=_isDropTarget; +@property(nonatomic) TListViewController *listViewController; // @synthesize listViewController=_listViewController; +@property(nonatomic) struct TFENode node; // @synthesize node=_node; +- (void)openNode; +- (void)setSelected:(BOOL)arg1; +- (void)updateCellSelectedStateAppearance; +- (void)layout; +- (void)setNeedsLayout:(BOOL)arg1; +- (struct CGRect)selectionFrame; +- (void)updateLayer; +- (_Bool)isRowAfterSelected; +- (_Bool)isRowBeforeSelected; +- (long long)selectionHighlightStyle; +- (void)forceDisclosureTriangleBackgroundStyle; +- (id)disclosureTriangleButton; +- (void)dealloc; +- (id)initWithFrame:(struct CGRect)arg1; + +@end \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityFinder/FinderHook.h b/shell_integration/MacOSX/LiferayNativityFinder/FinderHook.h new file mode 100644 index 000000000..3e53b128f --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/FinderHook.h @@ -0,0 +1,22 @@ +/** + * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#import + +@interface FinderHook : NSObject + ++ (void)hookClassMethod:(SEL)oldSelector inClass:(NSString*)className toCallToTheNewMethod:(SEL)newSelector; ++ (void)hookMethod:(SEL)oldSelector inClass:(NSString*)className toCallToTheNewMethod:(SEL)newSelector; + +@end \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityFinder/FinderHook.m b/shell_integration/MacOSX/LiferayNativityFinder/FinderHook.m new file mode 100644 index 000000000..f77e6c890 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/FinderHook.m @@ -0,0 +1,125 @@ +/** + * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#import "ContentManager.h" +#import "FinderHook.h" +#import "IconCache.h" +#import "objc/objc-class.h" +#import "RequestManager.h" + +static BOOL installed = NO; + +@implementation FinderHook + ++ (void)hookClassMethod:(SEL)oldSelector inClass:(NSString*)className toCallToTheNewMethod:(SEL)newSelector +{ + Class hookedClass = NSClassFromString(className); + Method oldMethod = class_getClassMethod(hookedClass, oldSelector); + Method newMethod = class_getClassMethod(hookedClass, newSelector); + + method_exchangeImplementations(newMethod, oldMethod); +} + ++ (void)hookMethod:(SEL)oldSelector inClass:(NSString*)className toCallToTheNewMethod:(SEL)newSelector +{ + Class hookedClass = NSClassFromString(className); + Method oldMethod = class_getInstanceMethod(hookedClass, oldSelector); + Method newMethod = class_getInstanceMethod(hookedClass, newSelector); + + method_exchangeImplementations(newMethod, oldMethod); +} + ++ (void)install +{ + if (installed) + { + NSLog(@"LiferayNativityFinder: already installed"); + + return; + } + + NSLog(@"LiferayNativityFinder: installing ownCloud Shell extension"); + + [RequestManager sharedInstance]; + + // Icons + [self hookMethod:@selector(drawImage:) inClass:@"IKImageBrowserCell" toCallToTheNewMethod:@selector(IconOverlayHandlers_IKImageBrowserCell_drawImage:)]; // 10.7 & 10.8 & 10.9 (Icon View arrange by name) + + [self hookMethod:@selector(drawImage:) inClass:@"IKFinderReflectiveIconCell" toCallToTheNewMethod:@selector(IconOverlayHandlers_IKFinderReflectiveIconCell_drawImage:)]; // 10.7 & 10.8 & 10.9 (Icon View arrange by everything else) + + [self hookMethod:@selector(drawIconWithFrame:) inClass:@"TListViewIconAndTextCell" toCallToTheNewMethod:@selector(IconOverlayHandlers_drawIconWithFrame:)]; // 10.7 & 10.8 & 10.9 Column View + + [self hookMethod:@selector(drawRect:) inClass:@"TDimmableIconImageView" toCallToTheNewMethod:@selector(IconOverlayHandlers_drawRect:)]; // 10.9 (List and Coverflow Views) + + // Context Menus + [self hookClassMethod:@selector(addViewSpecificStuffToMenu:browserViewController:context:) inClass:@"TContextMenu" toCallToTheNewMethod:@selector(ContextMenuHandlers_addViewSpecificStuffToMenu:browserViewController:context:)]; // 10.7 & 10.8 + + [self hookClassMethod:@selector(addViewSpecificStuffToMenu:clickedView:browserViewController:context:) inClass:@"TContextMenu" toCallToTheNewMethod:@selector(ContextMenuHandlers_addViewSpecificStuffToMenu:clickedView:browserViewController:context:)]; // 10.9 + + [self hookClassMethod:@selector(handleContextMenuCommon:nodes:event:view:windowController:addPlugIns:) inClass:@"TContextMenu" toCallToTheNewMethod:@selector(ContextMenuHandlers_handleContextMenuCommon:nodes:event:view:windowController:addPlugIns:)]; // 10.7 + + [self hookClassMethod:@selector(handleContextMenuCommon:nodes:event:view:browserController:addPlugIns:) inClass:@"TContextMenu" toCallToTheNewMethod:@selector(ContextMenuHandlers_handleContextMenuCommon:nodes:event:view:browserController:addPlugIns:)]; // 10.8 + + [self hookClassMethod:@selector(handleContextMenuCommon:nodes:event:clickedView:browserViewController:addPlugIns:) inClass:@"TContextMenu" toCallToTheNewMethod:@selector(ContextMenuHandlers_handleContextMenuCommon:nodes:event:clickedView:browserViewController:addPlugIns:)]; // 10.9 + + [self hookMethod:@selector(configureWithNodes:windowController:container:) inClass:@"TContextMenu" toCallToTheNewMethod:@selector(ContextMenuHandlers_configureWithNodes:windowController:container:)]; // 10.7 + + [self hookMethod:@selector(configureWithNodes:browserController:container:) inClass:@"TContextMenu" toCallToTheNewMethod:@selector(ContextMenuHandlers_configureWithNodes:browserController:container:)]; // 10.8 + + [self hookMethod:@selector(configureFromMenuNeedsUpdate:clickedView:container:event:selectedNodes:) inClass:@"TContextMenu" toCallToTheNewMethod:@selector(ContextMenuHandlers_configureFromMenuNeedsUpdate:clickedView:container:event:selectedNodes:)]; // 10.9 + + installed = YES; + + NSLog(@"LiferayNativityFinder: installed"); +} + ++ (void)uninstall +{ + if (!installed) + { + NSLog(@"LiferayNativityFinder: not installed"); + + return; + } + + NSLog(@"LiferayNativityFinder: uninstalling"); + + [[ContentManager sharedInstance] dealloc]; + + [[IconCache sharedInstance] dealloc]; + + [[RequestManager sharedInstance] dealloc]; + + // Icons + [self hookMethod:@selector(IconOverlayHandlers_drawImage:) inClass:@"TIconViewCell" toCallToTheNewMethod:@selector(drawImage:)]; // 10.7 & 10.8 & 10.9 + + [self hookMethod:@selector(IconOverlayHandlers_drawIconWithFrame:) inClass:@"TListViewIconAndTextCell" toCallToTheNewMethod:@selector(drawIconWithFrame:)]; // 10.7 & 10.8 & 10.9 + + // Context Menus + [self hookClassMethod:@selector(ContextMenuHandlers_addViewSpecificStuffToMenu:browserViewController:context:) inClass:@"TContextMenu" toCallToTheNewMethod:@selector(addViewSpecificStuffToMenu:browserViewController:context:)]; // 10.7 & 10.8 + + [self hookClassMethod:@selector(ContextMenuHandlers_handleContextMenuCommon:nodes:event:view:windowController:addPlugIns:) inClass:@"TContextMenu" toCallToTheNewMethod:@selector(handleContextMenuCommon:nodes:event:view:windowController:addPlugIns:)]; // 10.7 + + [self hookMethod:@selector(ContextMenuHandlers_configureWithNodes:windowController:container:) inClass:@"TContextMenu" toCallToTheNewMethod:@selector(configureWithNodes:windowController:container:)]; // 10.7 + + [self hookClassMethod:@selector(ContextMenuHandlers_handleContextMenuCommon:nodes:event:view:browserController:addPlugIns:) inClass:@"TContextMenu" toCallToTheNewMethod:@selector(handleContextMenuCommon:nodes:event:view:browserController:addPlugIns:)]; // 10.8 + + [self hookMethod:@selector(ContextMenuHandlers_configureWithNodes:browserController:container:) inClass:@"TContextMenu" toCallToTheNewMethod:@selector(configureWithNodes:browserController:container:)]; // 10.8 + + installed = NO; + + NSLog(@"LiferayNativityFinder: uninstalled"); +} + +@end \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityFinder/GCDAsyncSocket.h b/shell_integration/MacOSX/LiferayNativityFinder/GCDAsyncSocket.h new file mode 100644 index 000000000..e53350b32 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/GCDAsyncSocket.h @@ -0,0 +1,963 @@ +// +// GCDAsyncSocket.h +// +// This class is in the public domain. +// Originally created by Robbie Hanson in Q3 2010. +// Updated and maintained by Deusty LLC and the Mac development community. +// +// http://code.google.com/p/cocoaasyncsocket/ +// + +#import +#import +#import + +@class GCDAsyncReadPacket; +@class GCDAsyncWritePacket; + +extern NSString *const GCDAsyncSocketException; +extern NSString *const GCDAsyncSocketErrorDomain; + +#if !TARGET_OS_IPHONE +extern NSString *const GCDAsyncSocketSSLCipherSuites; +extern NSString *const GCDAsyncSocketSSLDiffieHellmanParameters; +#endif + +enum GCDAsyncSocketError +{ + GCDAsyncSocketNoError = 0, // Never used + GCDAsyncSocketBadConfigError, // Invalid configuration + GCDAsyncSocketBadParamError, // Invalid parameter was passed + GCDAsyncSocketConnectTimeoutError, // A connect operation timed out + GCDAsyncSocketReadTimeoutError, // A read operation timed out + GCDAsyncSocketWriteTimeoutError, // A write operation timed out + GCDAsyncSocketReadMaxedOutError, // Reached set maxLength without completing + GCDAsyncSocketClosedError, // The remote peer closed the connection + GCDAsyncSocketOtherError, // Description provided in userInfo +}; +typedef enum GCDAsyncSocketError GCDAsyncSocketError; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@interface GCDAsyncSocket : NSObject +{ + uint32_t flags; + uint16_t config; + + id delegate; + dispatch_queue_t delegateQueue; + + int socket4FD; + int socket6FD; + int connectIndex; + NSData * connectInterface4; + NSData * connectInterface6; + + dispatch_queue_t socketQueue; + + dispatch_source_t accept4Source; + dispatch_source_t accept6Source; + dispatch_source_t connectTimer; + dispatch_source_t readSource; + dispatch_source_t writeSource; + dispatch_source_t readTimer; + dispatch_source_t writeTimer; + + NSMutableArray *readQueue; + NSMutableArray *writeQueue; + + GCDAsyncReadPacket *currentRead; + GCDAsyncWritePacket *currentWrite; + + unsigned long socketFDBytesAvailable; + + NSMutableData *partialReadBuffer; + +#if TARGET_OS_IPHONE + CFStreamClientContext streamContext; + CFReadStreamRef readStream; + CFWriteStreamRef writeStream; +#else + SSLContextRef sslContext; + NSMutableData *sslReadBuffer; + size_t sslWriteCachedLength; +#endif + + id userData; +} + +/** + * GCDAsyncSocket uses the standard delegate paradigm, + * but executes all delegate callbacks on a given delegate dispatch queue. + * This allows for maximum concurrency, while at the same time providing easy thread safety. + * + * You MUST set a delegate AND delegate dispatch queue before attempting to + * use the socket, or you will get an error. + * + * The socket queue is optional. + * If you pass NULL, GCDAsyncSocket will automatically create it's own socket queue. + * If you choose to provide a socket queue, the socket queue must not be a concurrent queue. + * + * The delegate queue and socket queue can optionally be the same. +**/ +- (id)init; +- (id)initWithSocketQueue:(dispatch_queue_t)sq; +- (id)initWithDelegate:(id)aDelegate delegateQueue:(dispatch_queue_t)dq; +- (id)initWithDelegate:(id)aDelegate delegateQueue:(dispatch_queue_t)dq socketQueue:(dispatch_queue_t)sq; + +#pragma mark Configuration + +- (id)delegate; +- (void)setDelegate:(id)delegate; +- (void)synchronouslySetDelegate:(id)delegate; + +- (dispatch_queue_t)delegateQueue; +- (void)setDelegateQueue:(dispatch_queue_t)delegateQueue; +- (void)synchronouslySetDelegateQueue:(dispatch_queue_t)delegateQueue; + +- (void)getDelegate:(id *)delegatePtr delegateQueue:(dispatch_queue_t *)delegateQueuePtr; +- (void)setDelegate:(id)delegate delegateQueue:(dispatch_queue_t)delegateQueue; +- (void)synchronouslySetDelegate:(id)delegate delegateQueue:(dispatch_queue_t)delegateQueue; + +/** + * Traditionally sockets are not closed until the conversation is over. + * However, it is technically possible for the remote enpoint to close its write stream. + * Our socket would then be notified that there is no more data to be read, + * but our socket would still be writeable and the remote endpoint could continue to receive our data. + * + * The argument for this confusing functionality stems from the idea that a client could shut down its + * write stream after sending a request to the server, thus notifying the server there are to be no further requests. + * In practice, however, this technique did little to help server developers. + * + * To make matters worse, from a TCP perspective there is no way to tell the difference from a read stream close + * and a full socket close. They both result in the TCP stack receiving a FIN packet. The only way to tell + * is by continuing to write to the socket. If it was only a read stream close, then writes will continue to work. + * Otherwise an error will be occur shortly (when the remote end sends us a RST packet). + * + * In addition to the technical challenges and confusion, many high level socket/stream API's provide + * no support for dealing with the problem. If the read stream is closed, the API immediately declares the + * socket to be closed, and shuts down the write stream as well. In fact, this is what Apple's CFStream API does. + * It might sound like poor design at first, but in fact it simplifies development. + * + * The vast majority of the time if the read stream is closed it's because the remote endpoint closed its socket. + * Thus it actually makes sense to close the socket at this point. + * And in fact this is what most networking developers want and expect to happen. + * However, if you are writing a server that interacts with a plethora of clients, + * you might encounter a client that uses the discouraged technique of shutting down its write stream. + * If this is the case, you can set this property to NO, + * and make use of the socketDidCloseReadStream delegate method. + * + * The default value is YES. +**/ +- (BOOL)autoDisconnectOnClosedReadStream; +- (void)setAutoDisconnectOnClosedReadStream:(BOOL)flag; + +/** + * By default, both IPv4 and IPv6 are enabled. + * + * For accepting incoming connections, this means GCDAsyncSocket automatically supports both protocols, + * and can simulataneously accept incoming connections on either protocol. + * + * For outgoing connections, this means GCDAsyncSocket can connect to remote hosts running either protocol. + * If a DNS lookup returns only IPv4 results, GCDAsyncSocket will automatically use IPv4. + * If a DNS lookup returns only IPv6 results, GCDAsyncSocket will automatically use IPv6. + * If a DNS lookup returns both IPv4 and IPv6 results, the preferred protocol will be chosen. + * By default, the preferred protocol is IPv4, but may be configured as desired. +**/ +- (BOOL)isIPv4Enabled; +- (void)setIPv4Enabled:(BOOL)flag; + +- (BOOL)isIPv6Enabled; +- (void)setIPv6Enabled:(BOOL)flag; + +- (BOOL)isIPv4PreferredOverIPv6; +- (void)setPreferIPv4OverIPv6:(BOOL)flag; + +/** + * User data allows you to associate arbitrary information with the socket. + * This data is not used internally by socket in any way. +**/ +- (id)userData; +- (void)setUserData:(id)arbitraryUserData; + +#pragma mark Accepting + +/** + * Tells the socket to begin listening and accepting connections on the given port. + * When a connection is accepted, a new instance of GCDAsyncSocket will be spawned to handle it, + * and the socket:didAcceptNewSocket: delegate method will be invoked. + * + * The socket will listen on all available interfaces (e.g. wifi, ethernet, etc) +**/ +- (BOOL)acceptOnPort:(uint16_t)port error:(NSError **)errPtr; + +/** + * This method is the same as acceptOnPort:error: with the + * additional option of specifying which interface to listen on. + * + * For example, you could specify that the socket should only accept connections over ethernet, + * and not other interfaces such as wifi. + * + * The interface may be specified by name (e.g. "en1" or "lo0") or by IP address (e.g. "192.168.4.34"). + * You may also use the special strings "localhost" or "loopback" to specify that + * the socket only accept connections from the local machine. + * + * You can see the list of interfaces via the command line utility "ifconfig", + * or programmatically via the getifaddrs() function. + * + * To accept connections on any interface pass nil, or simply use the acceptOnPort:error: method. +**/ +- (BOOL)acceptOnInterface:(NSString *)interface port:(uint16_t)port error:(NSError **)errPtr; + +#pragma mark Connecting + +/** + * Connects to the given host and port. + * + * This method invokes connectToHost:onPort:viaInterface:withTimeout:error: + * and uses the default interface, and no timeout. +**/ +- (BOOL)connectToHost:(NSString *)host onPort:(uint16_t)port error:(NSError **)errPtr; + +/** + * Connects to the given host and port with an optional timeout. + * + * This method invokes connectToHost:onPort:viaInterface:withTimeout:error: and uses the default interface. +**/ +- (BOOL)connectToHost:(NSString *)host + onPort:(uint16_t)port + withTimeout:(NSTimeInterval)timeout + error:(NSError **)errPtr; + +/** + * Connects to the given host & port, via the optional interface, with an optional timeout. + * + * The host may be a domain name (e.g. "deusty.com") or an IP address string (e.g. "192.168.0.2"). + * The host may also be the special strings "localhost" or "loopback" to specify connecting + * to a service on the local machine. + * + * The interface may be a name (e.g. "en1" or "lo0") or the corresponding IP address (e.g. "192.168.4.35"). + * The interface may also be used to specify the local port (see below). + * + * To not time out use a negative time interval. + * + * This method will return NO if an error is detected, and set the error pointer (if one was given). + * Possible errors would be a nil host, invalid interface, or socket is already connected. + * + * If no errors are detected, this method will start a background connect operation and immediately return YES. + * The delegate callbacks are used to notify you when the socket connects, or if the host was unreachable. + * + * Since this class supports queued reads and writes, you can immediately start reading and/or writing. + * All read/write operations will be queued, and upon socket connection, + * the operations will be dequeued and processed in order. + * + * The interface may optionally contain a port number at the end of the string, separated by a colon. + * This allows you to specify the local port that should be used for the outgoing connection. (read paragraph to end) + * To specify both interface and local port: "en1:8082" or "192.168.4.35:2424". + * To specify only local port: ":8082". + * Please note this is an advanced feature, and is somewhat hidden on purpose. + * You should understand that 99.999% of the time you should NOT specify the local port for an outgoing connection. + * If you think you need to, there is a very good chance you have a fundamental misunderstanding somewhere. + * Local ports do NOT need to match remote ports. In fact, they almost never do. + * This feature is here for networking professionals using very advanced techniques. +**/ +- (BOOL)connectToHost:(NSString *)host + onPort:(uint16_t)port + viaInterface:(NSString *)interface + withTimeout:(NSTimeInterval)timeout + error:(NSError **)errPtr; + +/** + * Connects to the given address, specified as a sockaddr structure wrapped in a NSData object. + * For example, a NSData object returned from NSNetService's addresses method. + * + * If you have an existing struct sockaddr you can convert it to a NSData object like so: + * struct sockaddr sa -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len]; + * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len]; + * + * This method invokes connectToAdd +**/ +- (BOOL)connectToAddress:(NSData *)remoteAddr error:(NSError **)errPtr; + +/** + * This method is the same as connectToAddress:error: with an additional timeout option. + * To not time out use a negative time interval, or simply use the connectToAddress:error: method. +**/ +- (BOOL)connectToAddress:(NSData *)remoteAddr withTimeout:(NSTimeInterval)timeout error:(NSError **)errPtr; + +/** + * Connects to the given address, using the specified interface and timeout. + * + * The address is specified as a sockaddr structure wrapped in a NSData object. + * For example, a NSData object returned from NSNetService's addresses method. + * + * If you have an existing struct sockaddr you can convert it to a NSData object like so: + * struct sockaddr sa -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len]; + * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len]; + * + * The interface may be a name (e.g. "en1" or "lo0") or the corresponding IP address (e.g. "192.168.4.35"). + * The interface may also be used to specify the local port (see below). + * + * The timeout is optional. To not time out use a negative time interval. + * + * This method will return NO if an error is detected, and set the error pointer (if one was given). + * Possible errors would be a nil host, invalid interface, or socket is already connected. + * + * If no errors are detected, this method will start a background connect operation and immediately return YES. + * The delegate callbacks are used to notify you when the socket connects, or if the host was unreachable. + * + * Since this class supports queued reads and writes, you can immediately start reading and/or writing. + * All read/write operations will be queued, and upon socket connection, + * the operations will be dequeued and processed in order. + * + * The interface may optionally contain a port number at the end of the string, separated by a colon. + * This allows you to specify the local port that should be used for the outgoing connection. (read paragraph to end) + * To specify both interface and local port: "en1:8082" or "192.168.4.35:2424". + * To specify only local port: ":8082". + * Please note this is an advanced feature, and is somewhat hidden on purpose. + * You should understand that 99.999% of the time you should NOT specify the local port for an outgoing connection. + * If you think you need to, there is a very good chance you have a fundamental misunderstanding somewhere. + * Local ports do NOT need to match remote ports. In fact, they almost never do. + * This feature is here for networking professionals using very advanced techniques. +**/ +- (BOOL)connectToAddress:(NSData *)remoteAddr + viaInterface:(NSString *)interface + withTimeout:(NSTimeInterval)timeout + error:(NSError **)errPtr; + +#pragma mark Disconnecting + +/** + * Disconnects immediately (synchronously). Any pending reads or writes are dropped. + * + * If the socket is not already disconnected, an invocation to the socketDidDisconnect:withError: delegate method + * will be queued onto the delegateQueue asynchronously (behind any previously queued delegate methods). + * In other words, the disconnected delegate method will be invoked sometime shortly after this method returns. + * + * Please note the recommended way of releasing a GCDAsyncSocket instance (e.g. in a dealloc method) + * [asyncSocket setDelegate:nil]; + * [asyncSocket disconnect]; + * [asyncSocket release]; + * + * If you plan on disconnecting the socket, and then immediately asking it to connect again, + * you'll likely want to do so like this: + * [asyncSocket setDelegate:nil]; + * [asyncSocket disconnect]; + * [asyncSocket setDelegate:self]; + * [asyncSocket connect...]; +**/ +- (void)disconnect; + +/** + * Disconnects after all pending reads have completed. + * After calling this, the read and write methods will do nothing. + * The socket will disconnect even if there are still pending writes. +**/ +- (void)disconnectAfterReading; + +/** + * Disconnects after all pending writes have completed. + * After calling this, the read and write methods will do nothing. + * The socket will disconnect even if there are still pending reads. +**/ +- (void)disconnectAfterWriting; + +/** + * Disconnects after all pending reads and writes have completed. + * After calling this, the read and write methods will do nothing. +**/ +- (void)disconnectAfterReadingAndWriting; + +#pragma mark Diagnostics + +/** + * Returns whether the socket is disconnected or connected. + * + * A disconnected socket may be recycled. + * That is, it can used again for connecting or listening. + * + * If a socket is in the process of connecting, it may be neither disconnected nor connected. +**/ +- (BOOL)isDisconnected; +- (BOOL)isConnected; + +/** + * Returns the local or remote host and port to which this socket is connected, or nil and 0 if not connected. + * The host will be an IP address. +**/ +- (NSString *)connectedHost; +- (uint16_t)connectedPort; + +- (NSString *)localHost; +- (uint16_t)localPort; + +/** + * Returns the local or remote address to which this socket is connected, + * specified as a sockaddr structure wrapped in a NSData object. + * + * See also the connectedHost, connectedPort, localHost and localPort methods. +**/ +- (NSData *)connectedAddress; +- (NSData *)localAddress; + +/** + * Returns whether the socket is IPv4 or IPv6. + * An accepting socket may be both. +**/ +- (BOOL)isIPv4; +- (BOOL)isIPv6; + +/** + * Returns whether or not the socket has been secured via SSL/TLS. + * + * See also the startTLS method. +**/ +- (BOOL)isSecure; + +#pragma mark Reading + +// The readData and writeData methods won't block (they are asynchronous). +// +// When a read is complete the socket:didReadData:withTag: delegate method is dispatched on the delegateQueue. +// When a write is complete the socket:didWriteDataWithTag: delegate method is dispatched on the delegateQueue. +// +// You may optionally set a timeout for any read/write operation. (To not timeout, use a negative time interval.) +// If a read/write opertion times out, the corresponding "socket:shouldTimeout..." delegate method +// is called to optionally allow you to extend the timeout. +// Upon a timeout, the "socket:didDisconnectWithError:" method is called +// +// The tag is for your convenience. +// You can use it as an array index, step number, state id, pointer, etc. + +/** + * Reads the first available bytes that become available on the socket. + * + * If the timeout value is negative, the read operation will not use a timeout. +**/ +- (void)readDataWithTimeout:(NSTimeInterval)timeout tag:(long)tag; + +/** + * Reads the first available bytes that become available on the socket. + * The bytes will be appended to the given byte buffer starting at the given offset. + * The given buffer will automatically be increased in size if needed. + * + * If the timeout value is negative, the read operation will not use a timeout. + * If the buffer if nil, the socket will create a buffer for you. + * + * If the bufferOffset is greater than the length of the given buffer, + * the method will do nothing, and the delegate will not be called. + * + * If you pass a buffer, you must not alter it in any way while the socket is using it. + * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. + * That is, it will reference the bytes that were appended to the given buffer via + * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. +**/ +- (void)readDataWithTimeout:(NSTimeInterval)timeout + buffer:(NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + tag:(long)tag; + +/** + * Reads the first available bytes that become available on the socket. + * The bytes will be appended to the given byte buffer starting at the given offset. + * The given buffer will automatically be increased in size if needed. + * A maximum of length bytes will be read. + * + * If the timeout value is negative, the read operation will not use a timeout. + * If the buffer if nil, a buffer will automatically be created for you. + * If maxLength is zero, no length restriction is enforced. + * + * If the bufferOffset is greater than the length of the given buffer, + * the method will do nothing, and the delegate will not be called. + * + * If you pass a buffer, you must not alter it in any way while the socket is using it. + * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. + * That is, it will reference the bytes that were appended to the given buffer via + * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. +**/ +- (void)readDataWithTimeout:(NSTimeInterval)timeout + buffer:(NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + maxLength:(NSUInteger)length + tag:(long)tag; + +/** + * Reads the given number of bytes. + * + * If the timeout value is negative, the read operation will not use a timeout. + * + * If the length is 0, this method does nothing and the delegate is not called. +**/ +- (void)readDataToLength:(NSUInteger)length withTimeout:(NSTimeInterval)timeout tag:(long)tag; + +/** + * Reads the given number of bytes. + * The bytes will be appended to the given byte buffer starting at the given offset. + * The given buffer will automatically be increased in size if needed. + * + * If the timeout value is negative, the read operation will not use a timeout. + * If the buffer if nil, a buffer will automatically be created for you. + * + * If the length is 0, this method does nothing and the delegate is not called. + * If the bufferOffset is greater than the length of the given buffer, + * the method will do nothing, and the delegate will not be called. + * + * If you pass a buffer, you must not alter it in any way while AsyncSocket is using it. + * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. + * That is, it will reference the bytes that were appended to the given buffer via + * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. +**/ +- (void)readDataToLength:(NSUInteger)length + withTimeout:(NSTimeInterval)timeout + buffer:(NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + tag:(long)tag; + +/** + * Reads bytes until (and including) the passed "data" parameter, which acts as a separator. + * + * If the timeout value is negative, the read operation will not use a timeout. + * + * If you pass nil or zero-length data as the "data" parameter, + * the method will do nothing (except maybe print a warning), and the delegate will not be called. + * + * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the "data" parameter. + * If you're developing your own custom protocol, be sure your separator can not occur naturally as + * part of the data between separators. + * For example, imagine you want to send several small documents over a socket. + * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents. + * In this particular example, it would be better to use a protocol similar to HTTP with + * a header that includes the length of the document. + * Also be careful that your separator cannot occur naturally as part of the encoding for a character. + * + * The given data (separator) parameter should be immutable. + * For performance reasons, the socket will retain it, not copy it. + * So if it is immutable, don't modify it while the socket is using it. +**/ +- (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag; + +/** + * Reads bytes until (and including) the passed "data" parameter, which acts as a separator. + * The bytes will be appended to the given byte buffer starting at the given offset. + * The given buffer will automatically be increased in size if needed. + * + * If the timeout value is negative, the read operation will not use a timeout. + * If the buffer if nil, a buffer will automatically be created for you. + * + * If the bufferOffset is greater than the length of the given buffer, + * the method will do nothing (except maybe print a warning), and the delegate will not be called. + * + * If you pass a buffer, you must not alter it in any way while the socket is using it. + * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. + * That is, it will reference the bytes that were appended to the given buffer via + * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. + * + * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the "data" parameter. + * If you're developing your own custom protocol, be sure your separator can not occur naturally as + * part of the data between separators. + * For example, imagine you want to send several small documents over a socket. + * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents. + * In this particular example, it would be better to use a protocol similar to HTTP with + * a header that includes the length of the document. + * Also be careful that your separator cannot occur naturally as part of the encoding for a character. + * + * The given data (separator) parameter should be immutable. + * For performance reasons, the socket will retain it, not copy it. + * So if it is immutable, don't modify it while the socket is using it. +**/ +- (void)readDataToData:(NSData *)data + withTimeout:(NSTimeInterval)timeout + buffer:(NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + tag:(long)tag; + +/** + * Reads bytes until (and including) the passed "data" parameter, which acts as a separator. + * + * If the timeout value is negative, the read operation will not use a timeout. + * + * If maxLength is zero, no length restriction is enforced. + * Otherwise if maxLength bytes are read without completing the read, + * it is treated similarly to a timeout - the socket is closed with a GCDAsyncSocketReadMaxedOutError. + * The read will complete successfully if exactly maxLength bytes are read and the given data is found at the end. + * + * If you pass nil or zero-length data as the "data" parameter, + * the method will do nothing (except maybe print a warning), and the delegate will not be called. + * If you pass a maxLength parameter that is less than the length of the data parameter, + * the method will do nothing (except maybe print a warning), and the delegate will not be called. + * + * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the "data" parameter. + * If you're developing your own custom protocol, be sure your separator can not occur naturally as + * part of the data between separators. + * For example, imagine you want to send several small documents over a socket. + * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents. + * In this particular example, it would be better to use a protocol similar to HTTP with + * a header that includes the length of the document. + * Also be careful that your separator cannot occur naturally as part of the encoding for a character. + * + * The given data (separator) parameter should be immutable. + * For performance reasons, the socket will retain it, not copy it. + * So if it is immutable, don't modify it while the socket is using it. +**/ +- (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout maxLength:(NSUInteger)length tag:(long)tag; + +/** + * Reads bytes until (and including) the passed "data" parameter, which acts as a separator. + * The bytes will be appended to the given byte buffer starting at the given offset. + * The given buffer will automatically be increased in size if needed. + * + * If the timeout value is negative, the read operation will not use a timeout. + * If the buffer if nil, a buffer will automatically be created for you. + * + * If maxLength is zero, no length restriction is enforced. + * Otherwise if maxLength bytes are read without completing the read, + * it is treated similarly to a timeout - the socket is closed with a GCDAsyncSocketReadMaxedOutError. + * The read will complete successfully if exactly maxLength bytes are read and the given data is found at the end. + * + * If you pass a maxLength parameter that is less than the length of the data (separator) parameter, + * the method will do nothing (except maybe print a warning), and the delegate will not be called. + * If the bufferOffset is greater than the length of the given buffer, + * the method will do nothing (except maybe print a warning), and the delegate will not be called. + * + * If you pass a buffer, you must not alter it in any way while the socket is using it. + * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. + * That is, it will reference the bytes that were appended to the given buffer via + * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. + * + * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the "data" parameter. + * If you're developing your own custom protocol, be sure your separator can not occur naturally as + * part of the data between separators. + * For example, imagine you want to send several small documents over a socket. + * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents. + * In this particular example, it would be better to use a protocol similar to HTTP with + * a header that includes the length of the document. + * Also be careful that your separator cannot occur naturally as part of the encoding for a character. + * + * The given data (separator) parameter should be immutable. + * For performance reasons, the socket will retain it, not copy it. + * So if it is immutable, don't modify it while the socket is using it. +**/ +- (void)readDataToData:(NSData *)data + withTimeout:(NSTimeInterval)timeout + buffer:(NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + maxLength:(NSUInteger)length + tag:(long)tag; + +#pragma mark Writing + +/** + * Writes data to the socket, and calls the delegate when finished. + * + * If you pass in nil or zero-length data, this method does nothing and the delegate will not be called. + * If the timeout value is negative, the write operation will not use a timeout. + * + * Thread-Safety Note: + * If the given data parameter is mutable (NSMutableData) then you MUST NOT alter the data while + * the socket is writing it. In other words, it's not safe to alter the data until after the delegate method + * socket:didWriteDataWithTag: is invoked signifying that this particular write operation has completed. + * This is due to the fact that GCDAsyncSocket does NOT copy the data. It simply retains it. + * This is for performance reasons. Often times, if NSMutableData is passed, it is because + * a request/response was built up in memory. Copying this data adds an unwanted/unneeded overhead. + * If you need to write data from an immutable buffer, and you need to alter the buffer before the socket + * completes writing the bytes (which is NOT immediately after this method returns, but rather at a later time + * when the delegate method notifies you), then you should first copy the bytes, and pass the copy to this method. +**/ +- (void)writeData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag; + +#pragma mark Security + +/** + * Secures the connection using SSL/TLS. + * + * This method may be called at any time, and the TLS handshake will occur after all pending reads and writes + * are finished. This allows one the option of sending a protocol dependent StartTLS message, and queuing + * the upgrade to TLS at the same time, without having to wait for the write to finish. + * Any reads or writes scheduled after this method is called will occur over the secured connection. + * + * The possible keys and values for the TLS settings are well documented. + * Some possible keys are: + * - kCFStreamSSLLevel + * - kCFStreamSSLAllowsExpiredCertificates + * - kCFStreamSSLAllowsExpiredRoots + * - kCFStreamSSLAllowsAnyRoot + * - kCFStreamSSLValidatesCertificateChain + * - kCFStreamSSLPeerName + * - kCFStreamSSLCertificates + * - kCFStreamSSLIsServer + * + * Please refer to Apple's documentation for associated values, as well as other possible keys. + * + * If you pass in nil or an empty dictionary, the default settings will be used. + * + * The default settings will check to make sure the remote party's certificate is signed by a + * trusted 3rd party certificate agency (e.g. verisign) and that the certificate is not expired. + * However it will not verify the name on the certificate unless you + * give it a name to verify against via the kCFStreamSSLPeerName key. + * The security implications of this are important to understand. + * Imagine you are attempting to create a secure connection to MySecureServer.com, + * but your socket gets directed to MaliciousServer.com because of a hacked DNS server. + * If you simply use the default settings, and MaliciousServer.com has a valid certificate, + * the default settings will not detect any problems since the certificate is valid. + * To properly secure your connection in this particular scenario you + * should set the kCFStreamSSLPeerName property to "MySecureServer.com". + * If you do not know the peer name of the remote host in advance (for example, you're not sure + * if it will be "domain.com" or "www.domain.com"), then you can use the default settings to validate the + * certificate, and then use the X509Certificate class to verify the issuer after the socket has been secured. + * The X509Certificate class is part of the CocoaAsyncSocket open source project. + **/ +- (void)startTLS:(NSDictionary *)tlsSettings; + +#pragma mark Advanced + +/** + * It's not thread-safe to access certain variables from outside the socket's internal queue. + * + * For example, the socket file descriptor. + * File descriptors are simply integers which reference an index in the per-process file table. + * However, when one requests a new file descriptor (by opening a file or socket), + * the file descriptor returned is guaranteed to be the lowest numbered unused descriptor. + * So if we're not careful, the following could be possible: + * + * - Thread A invokes a method which returns the socket's file descriptor. + * - The socket is closed via the socket's internal queue on thread B. + * - Thread C opens a file, and subsequently receives the file descriptor that was previously the socket's FD. + * - Thread A is now accessing/altering the file instead of the socket. + * + * In addition to this, other variables are not actually objects, + * and thus cannot be retained/released or even autoreleased. + * An example is the sslContext, of type SSLContextRef, which is actually a malloc'd struct. + * + * Although there are internal variables that make it difficult to maintain thread-safety, + * it is important to provide access to these variables + * to ensure this class can be used in a wide array of environments. + * This method helps to accomplish this by invoking the current block on the socket's internal queue. + * The methods below can be invoked from within the block to access + * those generally thread-unsafe internal variables in a thread-safe manner. + * The given block will be invoked synchronously on the socket's internal queue. + * + * If you save references to any protected variables and use them outside the block, you do so at your own peril. +**/ +- (void)performBlock:(dispatch_block_t)block; + +/** + * These methods are only available from within the context of a performBlock: invocation. + * See the documentation for the performBlock: method above. + * + * Provides access to the socket's file descriptor(s). + * If the socket is a server socket (is accepting incoming connections), + * it might actually have multiple internal socket file descriptors - one for IPv4 and one for IPv6. +**/ +- (int)socketFD; +- (int)socket4FD; +- (int)socket6FD; + +#if TARGET_OS_IPHONE + +/** + * These methods are only available from within the context of a performBlock: invocation. + * See the documentation for the performBlock: method above. + * + * Provides access to the socket's internal CFReadStream/CFWriteStream. + * + * These streams are only used as workarounds for specific iOS shortcomings: + * + * - Apple has decided to keep the SecureTransport framework private is iOS. + * This means the only supplied way to do SSL/TLS is via CFStream or some other API layered on top of it. + * Thus, in order to provide SSL/TLS support on iOS we are forced to rely on CFStream, + * instead of the preferred and faster and more powerful SecureTransport. + * + * - If a socket doesn't have backgrounding enabled, and that socket is closed while the app is backgrounded, + * Apple only bothers to notify us via the CFStream API. + * The faster and more powerful GCD API isn't notified properly in this case. + * + * See also: (BOOL)enableBackgroundingOnSocket +**/ +- (CFReadStreamRef)readStream; +- (CFWriteStreamRef)writeStream; + +/** + * This method is only available from within the context of a performBlock: invocation. + * See the documentation for the performBlock: method above. + * + * Configures the socket to allow it to operate when the iOS application has been backgrounded. + * In other words, this method creates a read & write stream, and invokes: + * + * CFReadStreamSetProperty(readStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP); + * CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP); + * + * Returns YES if successful, NO otherwise. + * + * Note: Apple does not officially support backgrounding server sockets. + * That is, if your socket is accepting incoming connections, Apple does not officially support + * allowing iOS applications to accept incoming connections while an app is backgrounded. + * + * Example usage: + * + * - (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port + * { + * [asyncSocket performBlock:^{ + * [asyncSocket enableBackgroundingOnSocket]; + * }]; + * } +**/ +- (BOOL)enableBackgroundingOnSocket; + +#else + +/** + * This method is only available from within the context of a performBlock: invocation. + * See the documentation for the performBlock: method above. + * + * Provides access to the socket's SSLContext, if SSL/TLS has been started on the socket. +**/ +- (SSLContextRef)sslContext; + +#endif + +#pragma mark Utilities + +/** + * Extracting host and port information from raw address data. +**/ ++ (NSString *)hostFromAddress:(NSData *)address; ++ (uint16_t)portFromAddress:(NSData *)address; ++ (BOOL)getHost:(NSString **)hostPtr port:(uint16_t *)portPtr fromAddress:(NSData *)address; + +/** + * A few common line separators, for use with the readDataToData:... methods. +**/ ++ (NSData *)CRLFData; // 0x0D0A ++ (NSData *)CRData; // 0x0D ++ (NSData *)LFData; // 0x0A ++ (NSData *)ZeroData; // 0x00 + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@protocol GCDAsyncSocketDelegate +@optional + +/** + * This method is called immediately prior to socket:didAcceptNewSocket:. + * It optionally allows a listening socket to specify the socketQueue for a new accepted socket. + * If this method is not implemented, or returns NULL, the new accepted socket will create its own default queue. + * + * Since you cannot autorelease a dispatch_queue, + * this method uses the "new" prefix in its name to specify that the returned queue has been retained. + * + * Thus you could do something like this in the implementation: + * return dispatch_queue_create("MyQueue", NULL); + * + * If you are placing multiple sockets on the same queue, + * then care should be taken to increment the retain count each time this method is invoked. + * + * For example, your implementation might look something like this: + * dispatch_retain(myExistingQueue); + * return myExistingQueue; +**/ +- (dispatch_queue_t)newSocketQueueForConnectionFromAddress:(NSData *)address onSocket:(GCDAsyncSocket *)sock; + +/** + * Called when a socket accepts a connection. + * Another socket is automatically spawned to handle it. + * + * You must retain the newSocket if you wish to handle the connection. + * Otherwise the newSocket instance will be released and the spawned connection will be closed. + * + * By default the new socket will have the same delegate and delegateQueue. + * You may, of course, change this at any time. +**/ +- (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket; + +/** + * Called when a socket connects and is ready for reading and writing. + * The host parameter will be an IP address, not a DNS name. +**/ +- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port; + +/** + * Called when a socket has completed reading the requested data into memory. + * Not called if there is an error. +**/ +- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag; + +/** + * Called when a socket has read in data, but has not yet completed the read. + * This would occur if using readToData: or readToLength: methods. + * It may be used to for things such as updating progress bars. +**/ +- (void)socket:(GCDAsyncSocket *)sock didReadPartialDataOfLength:(NSUInteger)partialLength tag:(long)tag; + +/** + * Called when a socket has completed writing the requested data. Not called if there is an error. +**/ +- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag; + +/** + * Called when a socket has written some data, but has not yet completed the entire write. + * It may be used to for things such as updating progress bars. +**/ +- (void)socket:(GCDAsyncSocket *)sock didWritePartialDataOfLength:(NSUInteger)partialLength tag:(long)tag; + +/** + * Called if a read operation has reached its timeout without completing. + * This method allows you to optionally extend the timeout. + * If you return a positive time interval (> 0) the read's timeout will be extended by the given amount. + * If you don't implement this method, or return a non-positive time interval (<= 0) the read will timeout as usual. + * + * The elapsed parameter is the sum of the original timeout, plus any additions previously added via this method. + * The length parameter is the number of bytes that have been read so far for the read operation. + * + * Note that this method may be called multiple times for a single read if you return positive numbers. +**/ +- (NSTimeInterval)socket:(GCDAsyncSocket *)sock shouldTimeoutReadWithTag:(long)tag + elapsed:(NSTimeInterval)elapsed + bytesDone:(NSUInteger)length; + +/** + * Called if a write operation has reached its timeout without completing. + * This method allows you to optionally extend the timeout. + * If you return a positive time interval (> 0) the write's timeout will be extended by the given amount. + * If you don't implement this method, or return a non-positive time interval (<= 0) the write will timeout as usual. + * + * The elapsed parameter is the sum of the original timeout, plus any additions previously added via this method. + * The length parameter is the number of bytes that have been written so far for the write operation. + * + * Note that this method may be called multiple times for a single write if you return positive numbers. +**/ +- (NSTimeInterval)socket:(GCDAsyncSocket *)sock shouldTimeoutWriteWithTag:(long)tag + elapsed:(NSTimeInterval)elapsed + bytesDone:(NSUInteger)length; + +/** + * Conditionally called if the read stream closes, but the write stream may still be writeable. + * + * This delegate method is only called if autoDisconnectOnClosedReadStream has been set to NO. + * See the discussion on the autoDisconnectOnClosedReadStream method for more information. +**/ +- (void)socketDidCloseReadStream:(GCDAsyncSocket *)sock; + +/** + * Called when a socket disconnects with or without error. + * + * If you call the disconnect method, and the socket wasn't already disconnected, + * this delegate method will be called before the disconnect method returns. +**/ +- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err; + +/** + * Called after the socket has successfully completed SSL/TLS negotiation. + * This method is not called unless you use the provided startTLS method. + * + * If a SSL/TLS negotiation fails (invalid certificate, etc) then the socket will immediately close, + * and the socketDidDisconnect:withError: delegate method will be called with the specific SSL error code. +**/ +- (void)socketDidSecure:(GCDAsyncSocket *)sock; + +@end diff --git a/shell_integration/MacOSX/LiferayNativityFinder/GCDAsyncSocket.m b/shell_integration/MacOSX/LiferayNativityFinder/GCDAsyncSocket.m new file mode 100644 index 000000000..ca2474dfe --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/GCDAsyncSocket.m @@ -0,0 +1,6969 @@ +// +// GCDAsyncSocket.m +// +// This class is in the public domain. +// Originally created by Robbie Hanson in Q4 2010. +// Updated and maintained by Deusty LLC and the Mac development community. +// +// http://code.google.com/p/cocoaasyncsocket/ +// + +#import "GCDAsyncSocket.h" + +#if TARGET_OS_IPHONE + #import +#endif + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import + + +#if 0 + +// Logging Enabled - See log level below + +// Logging uses the CocoaLumberjack framework (which is also GCD based). +// http://code.google.com/p/cocoalumberjack/ +// +// It allows us to do a lot of logging without significantly slowing down the code. +#import "DDLog.h" + +#define LogAsync YES +#define LogContext 65535 + +#define LogObjc(flg, frmt, ...) LOG_OBJC_MAYBE(LogAsync, logLevel, flg, LogContext, frmt, ##__VA_ARGS__) +#define LogC(flg, frmt, ...) LOG_C_MAYBE(LogAsync, logLevel, flg, LogContext, frmt, ##__VA_ARGS__) + +#define LogError(frmt, ...) LogObjc(LOG_FLAG_ERROR, (@"%@: " frmt), THIS_FILE, ##__VA_ARGS__) +#define LogWarn(frmt, ...) LogObjc(LOG_FLAG_WARN, (@"%@: " frmt), THIS_FILE, ##__VA_ARGS__) +#define LogInfo(frmt, ...) LogObjc(LOG_FLAG_INFO, (@"%@: " frmt), THIS_FILE, ##__VA_ARGS__) +#define LogVerbose(frmt, ...) LogObjc(LOG_FLAG_VERBOSE, (@"%@: " frmt), THIS_FILE, ##__VA_ARGS__) + +#define LogCError(frmt, ...) LogC(LOG_FLAG_ERROR, (@"%@: " frmt), THIS_FILE, ##__VA_ARGS__) +#define LogCWarn(frmt, ...) LogC(LOG_FLAG_WARN, (@"%@: " frmt), THIS_FILE, ##__VA_ARGS__) +#define LogCInfo(frmt, ...) LogC(LOG_FLAG_INFO, (@"%@: " frmt), THIS_FILE, ##__VA_ARGS__) +#define LogCVerbose(frmt, ...) LogC(LOG_FLAG_VERBOSE, (@"%@: " frmt), THIS_FILE, ##__VA_ARGS__) + +#define LogTrace() LogObjc(LOG_FLAG_VERBOSE, @"%@: %@", THIS_FILE, THIS_METHOD) +#define LogCTrace() LogC(LOG_FLAG_VERBOSE, @"%@: %s", THIS_FILE, __FUNCTION__) + +// Log levels : off, error, warn, info, verbose +static const int logLevel = LOG_LEVEL_VERBOSE; + +#else + +// Logging Disabled + +#define LogError(frmt, ...) {} +#define LogWarn(frmt, ...) {} +#define LogInfo(frmt, ...) {} +#define LogVerbose(frmt, ...) {} + +#define LogCError(frmt, ...) {} +#define LogCWarn(frmt, ...) {} +#define LogCInfo(frmt, ...) {} +#define LogCVerbose(frmt, ...) {} + +#define LogTrace() {} +#define LogCTrace(frmt, ...) {} + +#endif + +/** + * Seeing a return statements within an inner block + * can sometimes be mistaken for a return point of the enclosing method. + * This makes inline blocks a bit easier to read. +**/ +#define return_from_block return + +/** + * A socket file descriptor is really just an integer. + * It represents the index of the socket within the kernel. + * This makes invalid file descriptor comparisons easier to read. +**/ +#define SOCKET_NULL -1 + + +NSString *const GCDAsyncSocketException = @"GCDAsyncSocketException"; +NSString *const GCDAsyncSocketErrorDomain = @"GCDAsyncSocketErrorDomain"; + +#if !TARGET_OS_IPHONE +NSString *const GCDAsyncSocketSSLCipherSuites = @"GCDAsyncSocketSSLCipherSuites"; +NSString *const GCDAsyncSocketSSLDiffieHellmanParameters = @"GCDAsyncSocketSSLDiffieHellmanParameters"; +#endif + +enum GCDAsyncSocketFlags +{ + kSocketStarted = 1 << 0, // If set, socket has been started (accepting/connecting) + kConnected = 1 << 1, // If set, the socket is connected + kForbidReadsWrites = 1 << 2, // If set, no new reads or writes are allowed + kReadsPaused = 1 << 3, // If set, reads are paused due to possible timeout + kWritesPaused = 1 << 4, // If set, writes are paused due to possible timeout + kDisconnectAfterReads = 1 << 5, // If set, disconnect after no more reads are queued + kDisconnectAfterWrites = 1 << 6, // If set, disconnect after no more writes are queued + kSocketCanAcceptBytes = 1 << 7, // If set, we know socket can accept bytes. If unset, it's unknown. + kReadSourceSuspended = 1 << 8, // If set, the read source is suspended + kWriteSourceSuspended = 1 << 9, // If set, the write source is suspended + kQueuedTLS = 1 << 10, // If set, we've queued an upgrade to TLS + kStartingReadTLS = 1 << 11, // If set, we're waiting for TLS negotiation to complete + kStartingWriteTLS = 1 << 12, // If set, we're waiting for TLS negotiation to complete + kSocketSecure = 1 << 13, // If set, socket is using secure communication via SSL/TLS + kSocketHasReadEOF = 1 << 14, // If set, we have read EOF from socket + kReadStreamClosed = 1 << 15, // If set, we've read EOF plus prebuffer has been drained +#if TARGET_OS_IPHONE + kAddedStreamListener = 1 << 16, // If set, CFStreams have been added to listener thread + kSecureSocketHasBytesAvailable = 1 << 17, // If set, CFReadStream has notified us of bytes available +#endif +}; + +enum GCDAsyncSocketConfig +{ + kIPv4Disabled = 1 << 0, // If set, IPv4 is disabled + kIPv6Disabled = 1 << 1, // If set, IPv6 is disabled + kPreferIPv6 = 1 << 2, // If set, IPv6 is preferred over IPv4 + kAllowHalfDuplexConnection = 1 << 3, // If set, the socket will stay open even if the read stream closes +}; + +#if TARGET_OS_IPHONE + static NSThread *listenerThread; // Used for CFStreams +#endif + +@interface GCDAsyncSocket (Private) + +// Accepting +- (BOOL)doAccept:(int)socketFD; + +// Connecting +- (void)startConnectTimeout:(NSTimeInterval)timeout; +- (void)endConnectTimeout; +- (void)doConnectTimeout; +- (void)lookup:(int)aConnectIndex host:(NSString *)host port:(uint16_t)port; +- (void)lookup:(int)aConnectIndex didSucceedWithAddress4:(NSData *)address4 address6:(NSData *)address6; +- (void)lookup:(int)aConnectIndex didFail:(NSError *)error; +- (BOOL)connectWithAddress4:(NSData *)address4 address6:(NSData *)address6 error:(NSError **)errPtr; +- (void)didConnect:(int)aConnectIndex; +- (void)didNotConnect:(int)aConnectIndex error:(NSError *)error; + +// Disconnect +- (void)closeWithError:(NSError *)error; +- (void)close; +- (void)maybeClose; + +// Errors +- (NSError *)badConfigError:(NSString *)msg; +- (NSError *)badParamError:(NSString *)msg; +- (NSError *)gaiError:(int)gai_error; +- (NSError *)errnoError; +- (NSError *)errnoErrorWithReason:(NSString *)reason; +- (NSError *)connectTimeoutError; +- (NSError *)otherError:(NSString *)msg; + +// Diagnostics +- (NSString *)connectedHost4; +- (NSString *)connectedHost6; +- (uint16_t)connectedPort4; +- (uint16_t)connectedPort6; +- (NSString *)localHost4; +- (NSString *)localHost6; +- (uint16_t)localPort4; +- (uint16_t)localPort6; +- (NSString *)connectedHostFromSocket4:(int)socketFD; +- (NSString *)connectedHostFromSocket6:(int)socketFD; +- (uint16_t)connectedPortFromSocket4:(int)socketFD; +- (uint16_t)connectedPortFromSocket6:(int)socketFD; +- (NSString *)localHostFromSocket4:(int)socketFD; +- (NSString *)localHostFromSocket6:(int)socketFD; +- (uint16_t)localPortFromSocket4:(int)socketFD; +- (uint16_t)localPortFromSocket6:(int)socketFD; + +// Utilities +- (void)getInterfaceAddress4:(NSMutableData **)addr4Ptr + address6:(NSMutableData **)addr6Ptr + fromDescription:(NSString *)interfaceDescription + port:(uint16_t)port; +- (void)setupReadAndWriteSourcesForNewlyConnectedSocket:(int)socketFD; +- (void)suspendReadSource; +- (void)resumeReadSource; +- (void)suspendWriteSource; +- (void)resumeWriteSource; + +// Reading +- (void)maybeDequeueRead; +- (void)flushSSLBuffers; +- (void)doReadData; +- (void)doReadEOF; +- (void)completeCurrentRead; +- (void)endCurrentRead; +- (void)setupReadTimerWithTimeout:(NSTimeInterval)timeout; +- (void)doReadTimeout; +- (void)doReadTimeoutWithExtension:(NSTimeInterval)timeoutExtension; + +// Writing +- (void)maybeDequeueWrite; +- (void)doWriteData; +- (void)completeCurrentWrite; +- (void)endCurrentWrite; +- (void)setupWriteTimerWithTimeout:(NSTimeInterval)timeout; +- (void)doWriteTimeout; +- (void)doWriteTimeoutWithExtension:(NSTimeInterval)timeoutExtension; + +// Security +- (void)maybeStartTLS; +#if !TARGET_OS_IPHONE +- (void)continueSSLHandshake; +#endif + +// CFStream +#if TARGET_OS_IPHONE ++ (void)startListenerThreadIfNeeded; +- (BOOL)createReadAndWriteStream; +- (BOOL)registerForStreamCallbacksIncludingReadWrite:(BOOL)includeReadWrite; +- (BOOL)addStreamsToRunLoop; +- (BOOL)openStreams; +- (void)removeStreamsFromRunLoop; +#endif + +// Class Methods ++ (NSString *)hostFromSockaddr4:(const struct sockaddr_in *)pSockaddr4; ++ (NSString *)hostFromSockaddr6:(const struct sockaddr_in6 *)pSockaddr6; ++ (uint16_t)portFromSockaddr4:(const struct sockaddr_in *)pSockaddr4; ++ (uint16_t)portFromSockaddr6:(const struct sockaddr_in6 *)pSockaddr6; + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * The GCDAsyncReadPacket encompasses the instructions for any given read. + * The content of a read packet allows the code to determine if we're: + * - reading to a certain length + * - reading to a certain separator + * - or simply reading the first chunk of available data +**/ +@interface GCDAsyncReadPacket : NSObject +{ + @public + NSMutableData *buffer; + NSUInteger startOffset; + NSUInteger bytesDone; + NSUInteger maxLength; + NSTimeInterval timeout; + NSUInteger readLength; + NSData *term; + BOOL bufferOwner; + NSUInteger originalBufferLength; + long tag; +} +- (id)initWithData:(NSMutableData *)d + startOffset:(NSUInteger)s + maxLength:(NSUInteger)m + timeout:(NSTimeInterval)t + readLength:(NSUInteger)l + terminator:(NSData *)e + tag:(long)i; + +- (void)ensureCapacityForAdditionalDataOfLength:(NSUInteger)bytesToRead; + +- (NSUInteger)optimalReadLengthWithDefault:(NSUInteger)defaultValue shouldPreBuffer:(BOOL *)shouldPreBufferPtr; + +- (NSUInteger)readLengthForNonTermWithHint:(NSUInteger)bytesAvailable; +- (NSUInteger)readLengthForTermWithHint:(NSUInteger)bytesAvailable shouldPreBuffer:(BOOL *)shouldPreBufferPtr; +- (NSUInteger)readLengthForTermWithPreBuffer:(NSData *)preBuffer found:(BOOL *)foundPtr; + +- (NSInteger)searchForTermAfterPreBuffering:(ssize_t)numBytes; + +@end + +@implementation GCDAsyncReadPacket + +- (id)initWithData:(NSMutableData *)d + startOffset:(NSUInteger)s + maxLength:(NSUInteger)m + timeout:(NSTimeInterval)t + readLength:(NSUInteger)l + terminator:(NSData *)e + tag:(long)i +{ + if((self = [super init])) + { + bytesDone = 0; + maxLength = m; + timeout = t; + readLength = l; + term = [e copy]; + tag = i; + + if (d) + { + buffer = [d retain]; + startOffset = s; + bufferOwner = NO; + originalBufferLength = [d length]; + } + else + { + if (readLength > 0) + buffer = [[NSMutableData alloc] initWithLength:readLength]; + else + buffer = [[NSMutableData alloc] initWithLength:0]; + + startOffset = 0; + bufferOwner = YES; + originalBufferLength = 0; + } + } + return self; +} + +/** + * Increases the length of the buffer (if needed) to ensure a read of the given size will fit. +**/ +- (void)ensureCapacityForAdditionalDataOfLength:(NSUInteger)bytesToRead +{ + NSUInteger buffSize = [buffer length]; + NSUInteger buffUsed = startOffset + bytesDone; + + NSUInteger buffSpace = buffSize - buffUsed; + + if (bytesToRead > buffSpace) + { + NSUInteger buffInc = bytesToRead - buffSpace; + + [buffer increaseLengthBy:buffInc]; + } +} + +/** + * This method is used when we do NOT know how much data is available to be read from the socket. + * This method returns the default value unless it exceeds the specified readLength or maxLength. + * + * Furthermore, the shouldPreBuffer decision is based upon the packet type, + * and whether the returned value would fit in the current buffer without requiring a resize of the buffer. +**/ +- (NSUInteger)optimalReadLengthWithDefault:(NSUInteger)defaultValue shouldPreBuffer:(BOOL *)shouldPreBufferPtr +{ + NSUInteger result; + + if (readLength > 0) + { + // Read a specific length of data + + result = MIN(defaultValue, (readLength - bytesDone)); + + // There is no need to prebuffer since we know exactly how much data we need to read. + // Even if the buffer isn't currently big enough to fit this amount of data, + // it would have to be resized eventually anyway. + + if (shouldPreBufferPtr) + *shouldPreBufferPtr = NO; + } + else + { + // Either reading until we find a specified terminator, + // or we're simply reading all available data. + // + // In other words, one of: + // + // - readDataToData packet + // - readDataWithTimeout packet + + if (maxLength > 0) + result = MIN(defaultValue, (maxLength - bytesDone)); + else + result = defaultValue; + + // Since we don't know the size of the read in advance, + // the shouldPreBuffer decision is based upon whether the returned value would fit + // in the current buffer without requiring a resize of the buffer. + // + // This is because, in all likelyhood, the amount read from the socket will be less than the default value. + // Thus we should avoid over-allocating the read buffer when we can simply use the pre-buffer instead. + + if (shouldPreBufferPtr) + { + NSUInteger buffSize = [buffer length]; + NSUInteger buffUsed = startOffset + bytesDone; + + NSUInteger buffSpace = buffSize - buffUsed; + + if (buffSpace >= result) + *shouldPreBufferPtr = NO; + else + *shouldPreBufferPtr = YES; + } + } + + return result; +} + +/** + * For read packets without a set terminator, returns the amount of data + * that can be read without exceeding the readLength or maxLength. + * + * The given parameter indicates the number of bytes estimated to be available on the socket, + * which is taken into consideration during the calculation. + * + * The given hint MUST be greater than zero. +**/ +- (NSUInteger)readLengthForNonTermWithHint:(NSUInteger)bytesAvailable +{ + NSAssert(term == nil, @"This method does not apply to term reads"); + NSAssert(bytesAvailable > 0, @"Invalid parameter: bytesAvailable"); + + if (readLength > 0) + { + // Read a specific length of data + + return MIN(bytesAvailable, (readLength - bytesDone)); + + // No need to avoid resizing the buffer. + // If the user provided their own buffer, + // and told us to read a certain length of data that exceeds the size of the buffer, + // then it is clear that our code will resize the buffer during the read operation. + // + // This method does not actually do any resizing. + // The resizing will happen elsewhere if needed. + } + else + { + // Read all available data + + NSUInteger result = bytesAvailable; + + if (maxLength > 0) + { + result = MIN(result, (maxLength - bytesDone)); + } + + // No need to avoid resizing the buffer. + // If the user provided their own buffer, + // and told us to read all available data without giving us a maxLength, + // then it is clear that our code might resize the buffer during the read operation. + // + // This method does not actually do any resizing. + // The resizing will happen elsewhere if needed. + + return result; + } +} + +/** + * For read packets with a set terminator, returns the amount of data + * that can be read without exceeding the maxLength. + * + * The given parameter indicates the number of bytes estimated to be available on the socket, + * which is taken into consideration during the calculation. + * + * To optimize memory allocations, mem copies, and mem moves + * the shouldPreBuffer boolean value will indicate if the data should be read into a prebuffer first, + * or if the data can be read directly into the read packet's buffer. +**/ +- (NSUInteger)readLengthForTermWithHint:(NSUInteger)bytesAvailable shouldPreBuffer:(BOOL *)shouldPreBufferPtr +{ + NSAssert(term != nil, @"This method does not apply to non-term reads"); + NSAssert(bytesAvailable > 0, @"Invalid parameter: bytesAvailable"); + + + NSUInteger result = bytesAvailable; + + if (maxLength > 0) + { + result = MIN(result, (maxLength - bytesDone)); + } + + // Should the data be read into the read packet's buffer, or into a pre-buffer first? + // + // One would imagine the preferred option is the faster one. + // So which one is faster? + // + // Reading directly into the packet's buffer requires: + // 1. Possibly resizing packet buffer (malloc/realloc) + // 2. Filling buffer (read) + // 3. Searching for term (memcmp) + // 4. Possibly copying overflow into prebuffer (malloc/realloc, memcpy) + // + // Reading into prebuffer first: + // 1. Possibly resizing prebuffer (malloc/realloc) + // 2. Filling buffer (read) + // 3. Searching for term (memcmp) + // 4. Copying underflow into packet buffer (malloc/realloc, memcpy) + // 5. Removing underflow from prebuffer (memmove) + // + // Comparing the performance of the two we can see that reading + // data into the prebuffer first is slower due to the extra memove. + // + // However: + // The implementation of NSMutableData is open source via core foundation's CFMutableData. + // Decreasing the length of a mutable data object doesn't cause a realloc. + // In other words, the capacity of a mutable data object can grow, but doesn't shrink. + // + // This means the prebuffer will rarely need a realloc. + // The packet buffer, on the other hand, may often need a realloc. + // This is especially true if we are the buffer owner. + // Furthermore, if we are constantly realloc'ing the packet buffer, + // and then moving the overflow into the prebuffer, + // then we're consistently over-allocating memory for each term read. + // And now we get into a bit of a tradeoff between speed and memory utilization. + // + // The end result is that the two perform very similarly. + // And we can answer the original question very simply by another means. + // + // If we can read all the data directly into the packet's buffer without resizing it first, + // then we do so. Otherwise we use the prebuffer. + + if (shouldPreBufferPtr) + { + NSUInteger buffSize = [buffer length]; + NSUInteger buffUsed = startOffset + bytesDone; + + if ((buffSize - buffUsed) >= result) + *shouldPreBufferPtr = NO; + else + *shouldPreBufferPtr = YES; + } + + return result; +} + +/** + * For read packets with a set terminator, + * returns the amount of data that can be read from the given preBuffer, + * without going over a terminator or the maxLength. + * + * It is assumed the terminator has not already been read. +**/ +- (NSUInteger)readLengthForTermWithPreBuffer:(NSData *)preBuffer found:(BOOL *)foundPtr +{ + NSAssert(term != nil, @"This method does not apply to non-term reads"); + NSAssert([preBuffer length] > 0, @"Invoked with empty pre buffer!"); + + // We know that the terminator, as a whole, doesn't exist in our own buffer. + // But it is possible that a portion of it exists in our buffer. + // So we're going to look for the terminator starting with a portion of our own buffer. + // + // Example: + // + // term length = 3 bytes + // bytesDone = 5 bytes + // preBuffer length = 5 bytes + // + // If we append the preBuffer to our buffer, + // it would look like this: + // + // --------------------- + // |B|B|B|B|B|P|P|P|P|P| + // --------------------- + // + // So we start our search here: + // + // --------------------- + // |B|B|B|B|B|P|P|P|P|P| + // -------^-^-^--------- + // + // And move forwards... + // + // --------------------- + // |B|B|B|B|B|P|P|P|P|P| + // ---------^-^-^------- + // + // Until we find the terminator or reach the end. + // + // --------------------- + // |B|B|B|B|B|P|P|P|P|P| + // ---------------^-^-^- + + BOOL found = NO; + + NSUInteger termLength = [term length]; + NSUInteger preBufferLength = [preBuffer length]; + + if ((bytesDone + preBufferLength) < termLength) + { + // Not enough data for a full term sequence yet + return preBufferLength; + } + + NSUInteger maxPreBufferLength; + if (maxLength > 0) { + maxPreBufferLength = MIN(preBufferLength, (maxLength - bytesDone)); + + // Note: maxLength >= termLength + } + else { + maxPreBufferLength = preBufferLength; + } + + uint8_t seq[termLength]; + const void *termBuf = [term bytes]; + + NSUInteger bufLen = MIN(bytesDone, (termLength - 1)); + uint8_t *buf = (uint8_t *)[buffer mutableBytes] + startOffset + bytesDone - bufLen; + + NSUInteger preLen = termLength - bufLen; + const uint8_t *pre = [preBuffer bytes]; + + NSUInteger loopCount = bufLen + maxPreBufferLength - termLength + 1; // Plus one. See example above. + + NSUInteger result = preBufferLength; + + NSUInteger i; + for (i = 0; i < loopCount; i++) + { + if (bufLen > 0) + { + // Combining bytes from buffer and preBuffer + + memcpy(seq, buf, bufLen); + memcpy(seq + bufLen, pre, preLen); + + if (memcmp(seq, termBuf, termLength) == 0) + { + result = preLen; + found = YES; + break; + } + + buf++; + bufLen--; + preLen++; + } + else + { + // Comparing directly from preBuffer + + if (memcmp(pre, termBuf, termLength) == 0) + { + NSUInteger preOffset = pre - (const uint8_t *)[preBuffer bytes]; // pointer arithmetic + + result = preOffset + termLength; + found = YES; + break; + } + + pre++; + } + } + + // There is no need to avoid resizing the buffer in this particular situation. + + if (foundPtr) *foundPtr = found; + return result; +} + +/** + * For read packets with a set terminator, scans the packet buffer for the term. + * It is assumed the terminator had not been fully read prior to the new bytes. + * + * If the term is found, the number of excess bytes after the term are returned. + * If the term is not found, this method will return -1. + * + * Note: A return value of zero means the term was found at the very end. + * + * Prerequisites: + * The given number of bytes have been added to the end of our buffer. + * Our bytesDone variable has NOT been changed due to the prebuffered bytes. +**/ +- (NSInteger)searchForTermAfterPreBuffering:(ssize_t)numBytes +{ + NSAssert(term != nil, @"This method does not apply to non-term reads"); + + // The implementation of this method is very similar to the above method. + // See the above method for a discussion of the algorithm used here. + + uint8_t *buff = [buffer mutableBytes]; + NSUInteger buffLength = bytesDone + numBytes; + + const void *termBuff = [term bytes]; + NSUInteger termLength = [term length]; + + // Note: We are dealing with unsigned integers, + // so make sure the math doesn't go below zero. + + NSUInteger i = ((buffLength - numBytes) >= termLength) ? (buffLength - numBytes - termLength + 1) : 0; + + while (i + termLength <= buffLength) + { + uint8_t *subBuffer = buff + startOffset + i; + + if (memcmp(subBuffer, termBuff, termLength) == 0) + { + return buffLength - (i + termLength); + } + + i++; + } + + return -1; +} + +- (void)dealloc +{ + [buffer release]; + [term release]; + [super dealloc]; +} + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * The GCDAsyncWritePacket encompasses the instructions for any given write. +**/ +@interface GCDAsyncWritePacket : NSObject +{ + @public + NSData *buffer; + NSUInteger bytesDone; + long tag; + NSTimeInterval timeout; +} +- (id)initWithData:(NSData *)d timeout:(NSTimeInterval)t tag:(long)i; +@end + +@implementation GCDAsyncWritePacket + +- (id)initWithData:(NSData *)d timeout:(NSTimeInterval)t tag:(long)i +{ + if((self = [super init])) + { + buffer = [d retain]; // Retain not copy. For performance as documented in header file. + bytesDone = 0; + timeout = t; + tag = i; + } + return self; +} + +- (void)dealloc +{ + [buffer release]; + [super dealloc]; +} + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * The GCDAsyncSpecialPacket encompasses special instructions for interruptions in the read/write queues. + * This class my be altered to support more than just TLS in the future. +**/ +@interface GCDAsyncSpecialPacket : NSObject +{ + @public + NSDictionary *tlsSettings; +} +- (id)initWithTLSSettings:(NSDictionary *)settings; +@end + +@implementation GCDAsyncSpecialPacket + +- (id)initWithTLSSettings:(NSDictionary *)settings +{ + if((self = [super init])) + { + tlsSettings = [settings copy]; + } + return self; +} + +- (void)dealloc +{ + [tlsSettings release]; + [super dealloc]; +} + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@implementation GCDAsyncSocket + +- (id)init +{ + return [self initWithDelegate:nil delegateQueue:NULL socketQueue:NULL]; +} + +- (id)initWithSocketQueue:(dispatch_queue_t)sq +{ + return [self initWithDelegate:nil delegateQueue:NULL socketQueue:sq]; +} + +- (id)initWithDelegate:(id)aDelegate delegateQueue:(dispatch_queue_t)dq +{ + return [self initWithDelegate:aDelegate delegateQueue:dq socketQueue:NULL]; +} + +- (id)initWithDelegate:(id)aDelegate delegateQueue:(dispatch_queue_t)dq socketQueue:(dispatch_queue_t)sq +{ + if((self = [super init])) + { + delegate = aDelegate; + + if (dq) + { + dispatch_retain(dq); + delegateQueue = dq; + } + + socket4FD = SOCKET_NULL; + socket6FD = SOCKET_NULL; + connectIndex = 0; + + if (sq) + { + NSAssert(sq != dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), + @"The given socketQueue parameter must not be a concurrent queue."); + NSAssert(sq != dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), + @"The given socketQueue parameter must not be a concurrent queue."); + NSAssert(sq != dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), + @"The given socketQueue parameter must not be a concurrent queue."); + + dispatch_retain(sq); + socketQueue = sq; + } + else + { + socketQueue = dispatch_queue_create("GCDAsyncSocket", NULL); + } + + readQueue = [[NSMutableArray alloc] initWithCapacity:5]; + currentRead = nil; + + writeQueue = [[NSMutableArray alloc] initWithCapacity:5]; + currentWrite = nil; + + partialReadBuffer = [[NSMutableData alloc] init]; + } + return self; +} + +- (void)dealloc +{ + LogInfo(@"%@ - %@ (start)", THIS_METHOD, self); + + if (dispatch_get_current_queue() == socketQueue) + { + [self closeWithError:nil]; + } + else + { + dispatch_sync(socketQueue, ^{ + [self closeWithError:nil]; + }); + } + + delegate = nil; + if (delegateQueue) + dispatch_release(delegateQueue); + delegateQueue = NULL; + + dispatch_release(socketQueue); + socketQueue = NULL; + + [readQueue release]; + [writeQueue release]; + + [partialReadBuffer release]; + +#if !TARGET_OS_IPHONE + [sslReadBuffer release]; +#endif + + [userData release]; + + LogInfo(@"%@ - %@ (finish)", THIS_METHOD, self); + + [super dealloc]; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Configuration +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (id)delegate +{ + if (dispatch_get_current_queue() == socketQueue) + { + return delegate; + } + else + { + __block id result; + + dispatch_sync(socketQueue, ^{ + result = delegate; + }); + + return result; + } +} + +- (void)setDelegate:(id)newDelegate synchronously:(BOOL)synchronously +{ + dispatch_block_t block = ^{ + delegate = newDelegate; + }; + + if (dispatch_get_current_queue() == socketQueue) { + block(); + } + else { + if (synchronously) + dispatch_sync(socketQueue, block); + else + dispatch_async(socketQueue, block); + } +} + +- (void)setDelegate:(id)newDelegate +{ + [self setDelegate:newDelegate synchronously:NO]; +} + +- (void)synchronouslySetDelegate:(id)newDelegate +{ + [self setDelegate:newDelegate synchronously:YES]; +} + +- (dispatch_queue_t)delegateQueue +{ + if (dispatch_get_current_queue() == socketQueue) + { + return delegateQueue; + } + else + { + __block dispatch_queue_t result; + + dispatch_sync(socketQueue, ^{ + result = delegateQueue; + }); + + return result; + } +} + +- (void)setDelegateQueue:(dispatch_queue_t)newDelegateQueue synchronously:(BOOL)synchronously +{ + dispatch_block_t block = ^{ + + if (delegateQueue) + dispatch_release(delegateQueue); + + if (newDelegateQueue) + dispatch_retain(newDelegateQueue); + + delegateQueue = newDelegateQueue; + }; + + if (dispatch_get_current_queue() == socketQueue) { + block(); + } + else { + if (synchronously) + dispatch_sync(socketQueue, block); + else + dispatch_async(socketQueue, block); + } +} + +- (void)setDelegateQueue:(dispatch_queue_t)newDelegateQueue +{ + [self setDelegateQueue:newDelegateQueue synchronously:NO]; +} + +- (void)synchronouslySetDelegateQueue:(dispatch_queue_t)newDelegateQueue +{ + [self setDelegateQueue:newDelegateQueue synchronously:YES]; +} + +- (void)getDelegate:(id *)delegatePtr delegateQueue:(dispatch_queue_t *)delegateQueuePtr +{ + if (dispatch_get_current_queue() == socketQueue) + { + if (delegatePtr) *delegatePtr = delegate; + if (delegateQueuePtr) *delegateQueuePtr = delegateQueue; + } + else + { + __block id dPtr = NULL; + __block dispatch_queue_t dqPtr = NULL; + + dispatch_sync(socketQueue, ^{ + dPtr = delegate; + dqPtr = delegateQueue; + }); + + if (delegatePtr) *delegatePtr = dPtr; + if (delegateQueuePtr) *delegateQueuePtr = dqPtr; + } +} + +- (void)setDelegate:(id)newDelegate delegateQueue:(dispatch_queue_t)newDelegateQueue synchronously:(BOOL)synchronously +{ + dispatch_block_t block = ^{ + + delegate = newDelegate; + + if (delegateQueue) + dispatch_release(delegateQueue); + + if (newDelegateQueue) + dispatch_retain(newDelegateQueue); + + delegateQueue = newDelegateQueue; + }; + + if (dispatch_get_current_queue() == socketQueue) { + block(); + } + else { + if (synchronously) + dispatch_sync(socketQueue, block); + else + dispatch_async(socketQueue, block); + } +} + +- (void)setDelegate:(id)newDelegate delegateQueue:(dispatch_queue_t)newDelegateQueue +{ + [self setDelegate:newDelegate delegateQueue:newDelegateQueue synchronously:NO]; +} + +- (void)synchronouslySetDelegate:(id)newDelegate delegateQueue:(dispatch_queue_t)newDelegateQueue +{ + [self setDelegate:newDelegate delegateQueue:newDelegateQueue synchronously:YES]; +} + +- (BOOL)autoDisconnectOnClosedReadStream +{ + // Note: YES means kAllowHalfDuplexConnection is OFF + + if (dispatch_get_current_queue() == socketQueue) + { + return ((config & kAllowHalfDuplexConnection) == 0); + } + else + { + __block BOOL result; + + dispatch_sync(socketQueue, ^{ + result = ((config & kAllowHalfDuplexConnection) == 0); + }); + + return result; + } +} + +- (void)setAutoDisconnectOnClosedReadStream:(BOOL)flag +{ + // Note: YES means kAllowHalfDuplexConnection is OFF + + dispatch_block_t block = ^{ + + if (flag) + config &= ~kAllowHalfDuplexConnection; + else + config |= kAllowHalfDuplexConnection; + }; + + if (dispatch_get_current_queue() == socketQueue) + block(); + else + dispatch_async(socketQueue, block); +} + +- (BOOL)isIPv4Enabled +{ + // Note: YES means kIPv4Disabled is OFF + + if (dispatch_get_current_queue() == socketQueue) + { + return ((config & kIPv4Disabled) == 0); + } + else + { + __block BOOL result; + + dispatch_sync(socketQueue, ^{ + result = ((config & kIPv4Disabled) == 0); + }); + + return result; + } +} + +- (void)setIPv4Enabled:(BOOL)flag +{ + // Note: YES means kIPv4Disabled is OFF + + dispatch_block_t block = ^{ + + if (flag) + config &= ~kIPv4Disabled; + else + config |= kIPv4Disabled; + }; + + if (dispatch_get_current_queue() == socketQueue) + block(); + else + dispatch_async(socketQueue, block); +} + +- (BOOL)isIPv6Enabled +{ + // Note: YES means kIPv6Disabled is OFF + + if (dispatch_get_current_queue() == socketQueue) + { + return ((config & kIPv6Disabled) == 0); + } + else + { + __block BOOL result; + + dispatch_sync(socketQueue, ^{ + result = ((config & kIPv6Disabled) == 0); + }); + + return result; + } +} + +- (void)setIPv6Enabled:(BOOL)flag +{ + // Note: YES means kIPv6Disabled is OFF + + dispatch_block_t block = ^{ + + if (flag) + config &= ~kIPv6Disabled; + else + config |= kIPv6Disabled; + }; + + if (dispatch_get_current_queue() == socketQueue) + block(); + else + dispatch_async(socketQueue, block); +} + +- (BOOL)isIPv4PreferredOverIPv6 +{ + // Note: YES means kPreferIPv6 is OFF + + if (dispatch_get_current_queue() == socketQueue) + { + return ((config & kPreferIPv6) == 0); + } + else + { + __block BOOL result; + + dispatch_sync(socketQueue, ^{ + result = ((config & kPreferIPv6) == 0); + }); + + return result; + } +} + +- (void)setPreferIPv4OverIPv6:(BOOL)flag +{ + // Note: YES means kPreferIPv6 is OFF + + dispatch_block_t block = ^{ + + if (flag) + config &= ~kPreferIPv6; + else + config |= kPreferIPv6; + }; + + if (dispatch_get_current_queue() == socketQueue) + block(); + else + dispatch_async(socketQueue, block); +} + +- (id)userData +{ + __block id result = nil; + + dispatch_block_t block = ^{ + + result = [userData retain]; + }; + + if (dispatch_get_current_queue() == socketQueue) + block(); + else + dispatch_sync(socketQueue, block); + + return [result autorelease]; +} + +- (void)setUserData:(id)arbitraryUserData +{ + dispatch_block_t block = ^{ + + if (userData != arbitraryUserData) + { + [userData release]; + userData = [arbitraryUserData retain]; + } + }; + + if (dispatch_get_current_queue() == socketQueue) + block(); + else + dispatch_async(socketQueue, block); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Accepting +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (BOOL)acceptOnPort:(uint16_t)port error:(NSError **)errPtr +{ + return [self acceptOnInterface:nil port:port error:errPtr]; +} + +- (BOOL)acceptOnInterface:(NSString *)inInterface port:(uint16_t)port error:(NSError **)errPtr +{ + LogTrace(); + + // Just in-case interface parameter is immutable. + NSString *interface = [[inInterface copy] autorelease]; + + __block BOOL result = NO; + __block NSError *err = nil; + + // CreateSocket Block + // This block will be invoked within the dispatch block below. + + int(^createSocket)(int, NSData*) = ^int (int domain, NSData *interfaceAddr) { + + int socketFD = socket(domain, SOCK_STREAM, 0); + + if (socketFD == SOCKET_NULL) + { + NSString *reason = @"Error in socket() function"; + err = [[self errnoErrorWithReason:reason] retain]; + + return SOCKET_NULL; + } + + int status; + + // Set socket options + + status = fcntl(socketFD, F_SETFL, O_NONBLOCK); + if (status == -1) + { + NSString *reason = @"Error enabling non-blocking IO on socket (fcntl)"; + err = [[self errnoErrorWithReason:reason] retain]; + + close(socketFD); + return SOCKET_NULL; + } + + int reuseOn = 1; + status = setsockopt(socketFD, SOL_SOCKET, SO_REUSEADDR, &reuseOn, sizeof(reuseOn)); + if (status == -1) + { + NSString *reason = @"Error enabling address reuse (setsockopt)"; + err = [[self errnoErrorWithReason:reason] retain]; + + close(socketFD); + return SOCKET_NULL; + } + + // Bind socket + + status = bind(socketFD, (const struct sockaddr *)[interfaceAddr bytes], (socklen_t)[interfaceAddr length]); + if (status == -1) + { + NSString *reason = @"Error in bind() function"; + err = [[self errnoErrorWithReason:reason] retain]; + + close(socketFD); + return SOCKET_NULL; + } + + // Listen + + status = listen(socketFD, 1024); + if (status == -1) + { + NSString *reason = @"Error in listen() function"; + err = [[self errnoErrorWithReason:reason] retain]; + + close(socketFD); + return SOCKET_NULL; + } + + return socketFD; + }; + + // Create dispatch block and run on socketQueue + + dispatch_block_t block = ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + if (delegate == nil) // Must have delegate set + { + NSString *msg = @"Attempting to accept without a delegate. Set a delegate first."; + err = [[self badConfigError:msg] retain]; + + [pool drain]; + return_from_block; + } + + if (delegateQueue == NULL) // Must have delegate queue set + { + NSString *msg = @"Attempting to accept without a delegate queue. Set a delegate queue first."; + err = [[self badConfigError:msg] retain]; + + [pool drain]; + return_from_block; + } + + BOOL isIPv4Disabled = (config & kIPv4Disabled) ? YES : NO; + BOOL isIPv6Disabled = (config & kIPv6Disabled) ? YES : NO; + + if (isIPv4Disabled && isIPv6Disabled) // Must have IPv4 or IPv6 enabled + { + NSString *msg = @"Both IPv4 and IPv6 have been disabled. Must enable at least one protocol first."; + err = [[self badConfigError:msg] retain]; + + [pool drain]; + return_from_block; + } + + if (![self isDisconnected]) // Must be disconnected + { + NSString *msg = @"Attempting to accept while connected or accepting connections. Disconnect first."; + err = [[self badConfigError:msg] retain]; + + [pool drain]; + return_from_block; + } + + // Clear queues (spurious read/write requests post disconnect) + [readQueue removeAllObjects]; + [writeQueue removeAllObjects]; + + // Resolve interface from description + + NSMutableData *interface4 = nil; + NSMutableData *interface6 = nil; + + [self getInterfaceAddress4:&interface4 address6:&interface6 fromDescription:interface port:port]; + + if ((interface4 == nil) && (interface6 == nil)) + { + NSString *msg = @"Unknown interface. Specify valid interface by name (e.g. \"en1\") or IP address."; + err = [[self badParamError:msg] retain]; + + [pool drain]; + return_from_block; + } + + if (isIPv4Disabled && (interface6 == nil)) + { + NSString *msg = @"IPv4 has been disabled and specified interface doesn't support IPv6."; + err = [[self badParamError:msg] retain]; + + [pool drain]; + return_from_block; + } + + if (isIPv6Disabled && (interface4 == nil)) + { + NSString *msg = @"IPv6 has been disabled and specified interface doesn't support IPv4."; + err = [[self badParamError:msg] retain]; + + [pool drain]; + return_from_block; + } + + BOOL enableIPv4 = !isIPv4Disabled && (interface4 != nil); + BOOL enableIPv6 = !isIPv6Disabled && (interface6 != nil); + + // Create sockets, configure, bind, and listen + + if (enableIPv4) + { + LogVerbose(@"Creating IPv4 socket"); + socket4FD = createSocket(AF_INET, interface4); + + if (socket4FD == SOCKET_NULL) + { + [pool drain]; + return_from_block; + } + } + + if (enableIPv6) + { + LogVerbose(@"Creating IPv6 socket"); + + if (enableIPv4 && (port == 0)) + { + // No specific port was specified, so we allowed the OS to pick an available port for us. + // Now we need to make sure the IPv6 socket listens on the same port as the IPv4 socket. + + struct sockaddr_in6 *addr6 = (struct sockaddr_in6 *)[interface6 mutableBytes]; + addr6->sin6_port = htons([self localPort4]); + } + + socket6FD = createSocket(AF_INET6, interface6); + + if (socket6FD == SOCKET_NULL) + { + if (socket4FD != SOCKET_NULL) + { + close(socket4FD); + } + + [pool drain]; + return_from_block; + } + } + + // Create accept sources + + if (enableIPv4) + { + accept4Source = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, socket4FD, 0, socketQueue); + + int socketFD = socket4FD; + dispatch_source_t acceptSource = accept4Source; + + dispatch_source_set_event_handler(accept4Source, ^{ + NSAutoreleasePool *eventPool = [[NSAutoreleasePool alloc] init]; + + LogVerbose(@"event4Block"); + + unsigned long i = 0; + unsigned long numPendingConnections = dispatch_source_get_data(acceptSource); + + LogVerbose(@"numPendingConnections: %lu", numPendingConnections); + + while ([self doAccept:socketFD] && (++i < numPendingConnections)); + + [eventPool drain]; + }); + + dispatch_source_set_cancel_handler(accept4Source, ^{ + + LogVerbose(@"dispatch_release(accept4Source)"); + dispatch_release(acceptSource); + + LogVerbose(@"close(socket4FD)"); + close(socketFD); + }); + + LogVerbose(@"dispatch_resume(accept4Source)"); + dispatch_resume(accept4Source); + } + + if (enableIPv6) + { + accept6Source = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, socket6FD, 0, socketQueue); + + int socketFD = socket6FD; + dispatch_source_t acceptSource = accept6Source; + + dispatch_source_set_event_handler(accept6Source, ^{ + NSAutoreleasePool *eventPool = [[NSAutoreleasePool alloc] init]; + + LogVerbose(@"event6Block"); + + unsigned long i = 0; + unsigned long numPendingConnections = dispatch_source_get_data(acceptSource); + + LogVerbose(@"numPendingConnections: %lu", numPendingConnections); + + while ([self doAccept:socketFD] && (++i < numPendingConnections)); + + [eventPool drain]; + }); + + dispatch_source_set_cancel_handler(accept6Source, ^{ + + LogVerbose(@"dispatch_release(accept6Source)"); + dispatch_release(acceptSource); + + LogVerbose(@"close(socket6FD)"); + close(socketFD); + }); + + LogVerbose(@"dispatch_resume(accept6Source)"); + dispatch_resume(accept6Source); + } + + flags |= kSocketStarted; + + result = YES; + [pool drain]; + }; + + if (dispatch_get_current_queue() == socketQueue) + block(); + else + dispatch_sync(socketQueue, block); + + if (result == NO) + { + LogInfo(@"Error in accept: %@", err); + + if (errPtr) + *errPtr = [err autorelease]; + else + [err release]; + } + + return result; +} + +- (BOOL)doAccept:(int)parentSocketFD +{ + LogTrace(); + + BOOL isIPv4; + int childSocketFD; + NSData *childSocketAddress; + + if (parentSocketFD == socket4FD) + { + isIPv4 = YES; + + struct sockaddr_in addr; + socklen_t addrLen = sizeof(addr); + + childSocketFD = accept(parentSocketFD, (struct sockaddr *)&addr, &addrLen); + + if (childSocketFD == -1) + { + LogWarn(@"Accept failed with error: %@", [self errnoError]); + return NO; + } + + childSocketAddress = [NSData dataWithBytes:&addr length:addrLen]; + } + else // if (parentSocketFD == socket6FD) + { + isIPv4 = NO; + + struct sockaddr_in6 addr; + socklen_t addrLen = sizeof(addr); + + childSocketFD = accept(parentSocketFD, (struct sockaddr *)&addr, &addrLen); + + if (childSocketFD == -1) + { + LogWarn(@"Accept failed with error: %@", [self errnoError]); + return NO; + } + + childSocketAddress = [NSData dataWithBytes:&addr length:addrLen]; + } + + // Enable non-blocking IO on the socket + + int result = fcntl(childSocketFD, F_SETFL, O_NONBLOCK); + if (result == -1) + { + LogWarn(@"Error enabling non-blocking IO on accepted socket (fcntl)"); + return NO; + } + + // Prevent SIGPIPE signals + + int nosigpipe = 1; + setsockopt(childSocketFD, SOL_SOCKET, SO_NOSIGPIPE, &nosigpipe, sizeof(nosigpipe)); + + // Notify delegate + + if (delegateQueue) + { + id theDelegate = delegate; + + dispatch_async(delegateQueue, ^{ + NSAutoreleasePool *delegatePool = [[NSAutoreleasePool alloc] init]; + + // Query delegate for custom socket queue + + dispatch_queue_t childSocketQueue = NULL; + + if ([theDelegate respondsToSelector:@selector(newSocketQueueForConnectionFromAddress:onSocket:)]) + { + childSocketQueue = [theDelegate newSocketQueueForConnectionFromAddress:childSocketAddress + onSocket:self]; + } + + // Create GCDAsyncSocket instance for accepted socket + + GCDAsyncSocket *acceptedSocket = [[GCDAsyncSocket alloc] initWithDelegate:delegate + delegateQueue:delegateQueue + socketQueue:childSocketQueue]; + + if (isIPv4) + acceptedSocket->socket4FD = childSocketFD; + else + acceptedSocket->socket6FD = childSocketFD; + + acceptedSocket->flags = (kSocketStarted | kConnected); + + // Setup read and write sources for accepted socket + + dispatch_async(acceptedSocket->socketQueue, ^{ + NSAutoreleasePool *socketPool = [[NSAutoreleasePool alloc] init]; + + [acceptedSocket setupReadAndWriteSourcesForNewlyConnectedSocket:childSocketFD]; + + [socketPool drain]; + }); + + // Notify delegate + + if ([theDelegate respondsToSelector:@selector(socket:didAcceptNewSocket:)]) + { + [theDelegate socket:self didAcceptNewSocket:acceptedSocket]; + } + + // Release the socket queue returned from the delegate (it was retained by acceptedSocket) + if (childSocketQueue) + dispatch_release(childSocketQueue); + + // Release the accepted socket (it should have been retained by the delegate) + [acceptedSocket release]; + + [delegatePool drain]; + }); + } + + return YES; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Connecting +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * This method runs through the various checks required prior to a connection attempt. + * It is shared between the connectToHost and connectToAddress methods. + * +**/ +- (BOOL)preConnectWithInterface:(NSString *)interface error:(NSError **)errPtr +{ + NSAssert(dispatch_get_current_queue() == socketQueue, @"Must be dispatched on socketQueue"); + + if (delegate == nil) // Must have delegate set + { + if (errPtr) + { + NSString *msg = @"Attempting to connect without a delegate. Set a delegate first."; + *errPtr = [self badConfigError:msg]; + } + return NO; + } + + if (delegateQueue == NULL) // Must have delegate queue set + { + if (errPtr) + { + NSString *msg = @"Attempting to connect without a delegate queue. Set a delegate queue first."; + *errPtr = [self badConfigError:msg]; + } + return NO; + } + + if (![self isDisconnected]) // Must be disconnected + { + if (errPtr) + { + NSString *msg = @"Attempting to connect while connected or accepting connections. Disconnect first."; + *errPtr = [self badConfigError:msg]; + } + return NO; + } + + BOOL isIPv4Disabled = (config & kIPv4Disabled) ? YES : NO; + BOOL isIPv6Disabled = (config & kIPv6Disabled) ? YES : NO; + + if (isIPv4Disabled && isIPv6Disabled) // Must have IPv4 or IPv6 enabled + { + if (errPtr) + { + NSString *msg = @"Both IPv4 and IPv6 have been disabled. Must enable at least one protocol first."; + *errPtr = [self badConfigError:msg]; + } + return NO; + } + + if (interface) + { + NSMutableData *interface4 = nil; + NSMutableData *interface6 = nil; + + [self getInterfaceAddress4:&interface4 address6:&interface6 fromDescription:interface port:0]; + + if ((interface4 == nil) && (interface6 == nil)) + { + if (errPtr) + { + NSString *msg = @"Unknown interface. Specify valid interface by name (e.g. \"en1\") or IP address."; + *errPtr = [self badParamError:msg]; + } + return NO; + } + + if (isIPv4Disabled && (interface6 == nil)) + { + if (errPtr) + { + NSString *msg = @"IPv4 has been disabled and specified interface doesn't support IPv6."; + *errPtr = [self badParamError:msg]; + } + return NO; + } + + if (isIPv6Disabled && (interface4 == nil)) + { + if (errPtr) + { + NSString *msg = @"IPv6 has been disabled and specified interface doesn't support IPv4."; + *errPtr = [self badParamError:msg]; + } + return NO; + } + + connectInterface4 = [interface4 retain]; + connectInterface6 = [interface6 retain]; + } + + // Clear queues (spurious read/write requests post disconnect) + [readQueue removeAllObjects]; + [writeQueue removeAllObjects]; + + return YES; +} + +- (BOOL)connectToHost:(NSString*)host onPort:(uint16_t)port error:(NSError **)errPtr +{ + return [self connectToHost:host onPort:port withTimeout:-1 error:errPtr]; +} + +- (BOOL)connectToHost:(NSString *)host + onPort:(uint16_t)port + withTimeout:(NSTimeInterval)timeout + error:(NSError **)errPtr +{ + return [self connectToHost:host onPort:port viaInterface:nil withTimeout:timeout error:errPtr]; +} + +- (BOOL)connectToHost:(NSString *)inHost + onPort:(uint16_t)port + viaInterface:(NSString *)inInterface + withTimeout:(NSTimeInterval)timeout + error:(NSError **)errPtr +{ + LogTrace(); + + // Just in case immutable objects were passed + NSString *host = [[inHost copy] autorelease]; + NSString *interface = [[inInterface copy] autorelease]; + + __block BOOL result = NO; + __block NSError *err = nil; + + dispatch_block_t block = ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + // Check for problems with host parameter + + if ([host length] == 0) + { + NSString *msg = @"Invalid host parameter (nil or \"\"). Should be a domain name or IP address string."; + err = [[self badParamError:msg] retain]; + + [pool drain]; + return_from_block; + } + + // Run through standard pre-connect checks + + if (![self preConnectWithInterface:interface error:&err]) + { + [err retain]; + [pool drain]; + return_from_block; + } + + // We've made it past all the checks. + // It's time to start the connection process. + + flags |= kSocketStarted; + + LogVerbose(@"Dispatching DNS lookup..."); + + // It's possible that the given host parameter is actually a NSMutableString. + // So we want to copy it now, within this block that will be executed synchronously. + // This way the asynchronous lookup block below doesn't have to worry about it changing. + + int aConnectIndex = connectIndex; + NSString *hostCpy = [[host copy] autorelease]; + + dispatch_queue_t globalConcurrentQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); + dispatch_async(globalConcurrentQueue, ^{ + NSAutoreleasePool *lookupPool = [[NSAutoreleasePool alloc] init]; + + [self lookup:aConnectIndex host:hostCpy port:port]; + + [lookupPool drain]; + }); + + [self startConnectTimeout:timeout]; + + result = YES; + [pool drain]; + }; + + if (dispatch_get_current_queue() == socketQueue) + block(); + else + dispatch_sync(socketQueue, block); + + if (result == NO) + { + if (errPtr) + *errPtr = [err autorelease]; + else + [err release]; + } + + return result; +} + +- (BOOL)connectToAddress:(NSData *)remoteAddr error:(NSError **)errPtr +{ + return [self connectToAddress:remoteAddr viaInterface:nil withTimeout:-1 error:errPtr]; +} + +- (BOOL)connectToAddress:(NSData *)remoteAddr withTimeout:(NSTimeInterval)timeout error:(NSError **)errPtr +{ + return [self connectToAddress:remoteAddr viaInterface:nil withTimeout:timeout error:errPtr]; +} + +- (BOOL)connectToAddress:(NSData *)inRemoteAddr + viaInterface:(NSString *)inInterface + withTimeout:(NSTimeInterval)timeout + error:(NSError **)errPtr +{ + LogTrace(); + + // Just in case immutable objects were passed + NSData *remoteAddr = [[inRemoteAddr copy] autorelease]; + NSString *interface = [[inInterface copy] autorelease]; + + __block BOOL result = NO; + __block NSError *err = nil; + + dispatch_block_t block = ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + // Check for problems with remoteAddr parameter + + NSData *address4 = nil; + NSData *address6 = nil; + + if ([remoteAddr length] >= sizeof(struct sockaddr)) + { + const struct sockaddr *sockaddr = (const struct sockaddr *)[remoteAddr bytes]; + + if (sockaddr->sa_family == AF_INET) + { + if ([remoteAddr length] == sizeof(struct sockaddr_in)) + { + address4 = remoteAddr; + } + } + else if (sockaddr->sa_family == AF_INET6) + { + if ([remoteAddr length] == sizeof(struct sockaddr_in6)) + { + address6 = remoteAddr; + } + } + } + + if ((address4 == nil) && (address6 == nil)) + { + NSString *msg = @"A valid IPv4 or IPv6 address was not given"; + err = [[self badParamError:msg] retain]; + + [pool drain]; + return_from_block; + } + + BOOL isIPv4Disabled = (config & kIPv4Disabled) ? YES : NO; + BOOL isIPv6Disabled = (config & kIPv6Disabled) ? YES : NO; + + if (isIPv4Disabled && (address4 != nil)) + { + NSString *msg = @"IPv4 has been disabled and an IPv4 address was passed."; + err = [[self badParamError:msg] retain]; + + [pool drain]; + return_from_block; + } + + if (isIPv6Disabled && (address6 != nil)) + { + NSString *msg = @"IPv6 has been disabled and an IPv6 address was passed."; + err = [[self badParamError:msg] retain]; + + [pool drain]; + return_from_block; + } + + // Run through standard pre-connect checks + + if (![self preConnectWithInterface:interface error:&err]) + { + [err retain]; + [pool drain]; + return_from_block; + } + + // We've made it past all the checks. + // It's time to start the connection process. + + if (![self connectWithAddress4:address4 address6:address6 error:&err]) + { + [err retain]; + [pool drain]; + return_from_block; + } + + flags |= kSocketStarted; + + [self startConnectTimeout:timeout]; + + result = YES; + [pool drain]; + }; + + if (dispatch_get_current_queue() == socketQueue) + block(); + else + dispatch_sync(socketQueue, block); + + if (result == NO) + { + if (errPtr) + *errPtr = [err autorelease]; + else + [err release]; + } + + return result; +} + +- (void)lookup:(int)aConnectIndex host:(NSString *)host port:(uint16_t)port +{ + LogTrace(); + + // This method is executed on a global concurrent queue. + // It posts the results back to the socket queue. + // The lookupIndex is used to ignore the results if the connect operation was cancelled or timed out. + + NSError *error = nil; + + NSData *address4 = nil; + NSData *address6 = nil; + + + if ([host isEqualToString:@"localhost"] || [host isEqualToString:@"loopback"]) + { + // Use LOOPBACK address + struct sockaddr_in nativeAddr; + nativeAddr.sin_len = sizeof(struct sockaddr_in); + nativeAddr.sin_family = AF_INET; + nativeAddr.sin_port = htons(port); + nativeAddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); + memset(&(nativeAddr.sin_zero), 0, sizeof(nativeAddr.sin_zero)); + + struct sockaddr_in6 nativeAddr6; + nativeAddr6.sin6_len = sizeof(struct sockaddr_in6); + nativeAddr6.sin6_family = AF_INET6; + nativeAddr6.sin6_port = htons(port); + nativeAddr6.sin6_flowinfo = 0; + nativeAddr6.sin6_addr = in6addr_loopback; + nativeAddr6.sin6_scope_id = 0; + + // Wrap the native address structures + address4 = [NSData dataWithBytes:&nativeAddr length:sizeof(nativeAddr)]; + address6 = [NSData dataWithBytes:&nativeAddr6 length:sizeof(nativeAddr6)]; + } + else + { + NSString *portStr = [NSString stringWithFormat:@"%hu", port]; + + struct addrinfo hints, *res, *res0; + + memset(&hints, 0, sizeof(hints)); + hints.ai_family = PF_UNSPEC; + hints.ai_socktype = SOCK_STREAM; + hints.ai_protocol = IPPROTO_TCP; + + int gai_error = getaddrinfo([host UTF8String], [portStr UTF8String], &hints, &res0); + + if (gai_error) + { + error = [self gaiError:gai_error]; + } + else + { + for(res = res0; res; res = res->ai_next) + { + if ((address4 == nil) && (res->ai_family == AF_INET)) + { + // Found IPv4 address + // Wrap the native address structure + address4 = [NSData dataWithBytes:res->ai_addr length:res->ai_addrlen]; + } + else if ((address6 == nil) && (res->ai_family == AF_INET6)) + { + // Found IPv6 address + // Wrap the native address structure + address6 = [NSData dataWithBytes:res->ai_addr length:res->ai_addrlen]; + } + } + freeaddrinfo(res0); + + if ((address4 == nil) && (address6 == nil)) + { + error = [self gaiError:EAI_FAIL]; + } + } + } + + if (error) + { + dispatch_async(socketQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + [self lookup:aConnectIndex didFail:error]; + [pool drain]; + }); + } + else + { + dispatch_async(socketQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + [self lookup:aConnectIndex didSucceedWithAddress4:address4 address6:address6]; + [pool drain]; + }); + } +} + +- (void)lookup:(int)aConnectIndex didSucceedWithAddress4:(NSData *)address4 address6:(NSData *)address6 +{ + LogTrace(); + + NSAssert(dispatch_get_current_queue() == socketQueue, @"Must be dispatched on socketQueue"); + NSAssert(address4 || address6, @"Expected at least one valid address"); + + if (aConnectIndex != connectIndex) + { + LogInfo(@"Ignoring lookupDidSucceed, already disconnected"); + + // The connect operation has been cancelled. + // That is, socket was disconnected, or connection has already timed out. + return; + } + + // Check for problems + + BOOL isIPv4Disabled = (config & kIPv4Disabled) ? YES : NO; + BOOL isIPv6Disabled = (config & kIPv6Disabled) ? YES : NO; + + if (isIPv4Disabled && (address6 == nil)) + { + NSString *msg = @"IPv4 has been disabled and DNS lookup found no IPv6 address."; + + [self closeWithError:[self otherError:msg]]; + return; + } + + if (isIPv6Disabled && (address4 == nil)) + { + NSString *msg = @"IPv6 has been disabled and DNS lookup found no IPv4 address."; + + [self closeWithError:[self otherError:msg]]; + return; + } + + // Start the normal connection process + + NSError *err = nil; + if (![self connectWithAddress4:address4 address6:address6 error:&err]) + { + [self closeWithError:err]; + } +} + +/** + * This method is called if the DNS lookup fails. + * This method is executed on the socketQueue. + * + * Since the DNS lookup executed synchronously on a global concurrent queue, + * the original connection request may have already been cancelled or timed-out by the time this method is invoked. + * The lookupIndex tells us whether the lookup is still valid or not. +**/ +- (void)lookup:(int)aConnectIndex didFail:(NSError *)error +{ + LogTrace(); + + NSAssert(dispatch_get_current_queue() == socketQueue, @"Must be dispatched on socketQueue"); + + + if (aConnectIndex != connectIndex) + { + LogInfo(@"Ignoring lookup:didFail: - already disconnected"); + + // The connect operation has been cancelled. + // That is, socket was disconnected, or connection has already timed out. + return; + } + + [self endConnectTimeout]; + [self closeWithError:error]; +} + +- (BOOL)connectWithAddress4:(NSData *)address4 address6:(NSData *)address6 error:(NSError **)errPtr +{ + LogTrace(); + + NSAssert(dispatch_get_current_queue() == socketQueue, @"Must be dispatched on socketQueue"); + + LogVerbose(@"IPv4: %@:%hu", [[self class] hostFromAddress:address4], [[self class] portFromAddress:address4]); + LogVerbose(@"IPv6: %@:%hu", [[self class] hostFromAddress:address6], [[self class] portFromAddress:address6]); + + // Determine socket type + + BOOL preferIPv6 = (config & kPreferIPv6) ? YES : NO; + + BOOL useIPv6 = ((preferIPv6 && address6) || (address4 == nil)); + + // Create the socket + + int socketFD; + NSData *address; + NSData *connectInterface; + + if (useIPv6) + { + LogVerbose(@"Creating IPv6 socket"); + + socket6FD = socket(AF_INET6, SOCK_STREAM, 0); + + socketFD = socket6FD; + address = address6; + connectInterface = connectInterface6; + } + else + { + LogVerbose(@"Creating IPv4 socket"); + + socket4FD = socket(AF_INET, SOCK_STREAM, 0); + + socketFD = socket4FD; + address = address4; + connectInterface = connectInterface4; + } + + if (socketFD == SOCKET_NULL) + { + if (errPtr) + *errPtr = [self errnoErrorWithReason:@"Error in socket() function"]; + + return NO; + } + + // Bind the socket to the desired interface (if needed) + + if (connectInterface) + { + LogVerbose(@"Binding socket..."); + + if ([[self class] portFromAddress:connectInterface] > 0) + { + // Since we're going to be binding to a specific port, + // we should turn on reuseaddr to allow us to override sockets in time_wait. + + int reuseOn = 1; + setsockopt(socketFD, SOL_SOCKET, SO_REUSEADDR, &reuseOn, sizeof(reuseOn)); + } + + const struct sockaddr *interfaceAddr = (const struct sockaddr *)[connectInterface bytes]; + + int result = bind(socketFD, interfaceAddr, (socklen_t)[connectInterface length]); + if (result != 0) + { + if (errPtr) + *errPtr = [self errnoErrorWithReason:@"Error in bind() function"]; + + return NO; + } + } + + // Start the connection process in a background queue + + int aConnectIndex = connectIndex; + + dispatch_queue_t globalConcurrentQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); + dispatch_async(globalConcurrentQueue, ^{ + + int result = connect(socketFD, (const struct sockaddr *)[address bytes], (socklen_t)[address length]); + if (result == 0) + { + dispatch_async(socketQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + [self didConnect:aConnectIndex]; + [pool drain]; + }); + } + else + { + NSError *error = [self errnoErrorWithReason:@"Error in connect() function"]; + + dispatch_async(socketQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + [self didNotConnect:aConnectIndex error:error]; + [pool drain]; + }); + } + }); + + LogVerbose(@"Connecting..."); + + return YES; +} + +- (void)didConnect:(int)aConnectIndex +{ + LogTrace(); + + NSAssert(dispatch_get_current_queue() == socketQueue, @"Must be dispatched on socketQueue"); + + + if (aConnectIndex != connectIndex) + { + LogInfo(@"Ignoring didConnect, already disconnected"); + + // The connect operation has been cancelled. + // That is, socket was disconnected, or connection has already timed out. + return; + } + + flags |= kConnected; + + [self endConnectTimeout]; + + #if TARGET_OS_IPHONE + // The endConnectTimeout method executed above incremented the connectIndex. + aConnectIndex = connectIndex; + #endif + + // Setup read/write streams (as workaround for specific shortcomings in the iOS platform) + // + // Note: + // There may be configuration options that must be set by the delegate before opening the streams. + // The primary example is the kCFStreamNetworkServiceTypeVoIP flag, which only works on an unopened stream. + // + // Thus we wait until after the socket:didConnectToHost:port: delegate method has completed. + // This gives the delegate time to properly configure the streams if needed. + + dispatch_block_t SetupStreamsPart1 = ^{ + #if TARGET_OS_IPHONE + + if (![self createReadAndWriteStream]) + { + [self closeWithError:[self otherError:@"Error creating CFStreams"]]; + return; + } + + if (![self registerForStreamCallbacksIncludingReadWrite:NO]) + { + [self closeWithError:[self otherError:@"Error in CFStreamSetClient"]]; + return; + } + + #endif + }; + dispatch_block_t SetupStreamsPart2 = ^{ + #if TARGET_OS_IPHONE + + if (aConnectIndex != connectIndex) + { + // The socket has been disconnected. + return; + } + + if (![self addStreamsToRunLoop]) + { + [self closeWithError:[self otherError:@"Error in CFStreamScheduleWithRunLoop"]]; + return; + } + + if (![self openStreams]) + { + [self closeWithError:[self otherError:@"Error creating CFStreams"]]; + return; + } + + #endif + }; + + // Notify delegate + + NSString *host = [self connectedHost]; + uint16_t port = [self connectedPort]; + + if (delegateQueue && [delegate respondsToSelector:@selector(socket:didConnectToHost:port:)]) + { + SetupStreamsPart1(); + + id theDelegate = delegate; + + dispatch_async(delegateQueue, ^{ + NSAutoreleasePool *delegatePool = [[NSAutoreleasePool alloc] init]; + + [theDelegate socket:self didConnectToHost:host port:port]; + + dispatch_async(socketQueue, ^{ + NSAutoreleasePool *callbackPool = [[NSAutoreleasePool alloc] init]; + + SetupStreamsPart2(); + + [callbackPool drain]; + }); + + [delegatePool drain]; + }); + } + else + { + SetupStreamsPart1(); + SetupStreamsPart2(); + } + + // Get the connected socket + + int socketFD = (socket4FD != SOCKET_NULL) ? socket4FD : socket6FD; + + // Enable non-blocking IO on the socket + + int result = fcntl(socketFD, F_SETFL, O_NONBLOCK); + if (result == -1) + { + NSString *errMsg = @"Error enabling non-blocking IO on socket (fcntl)"; + [self closeWithError:[self otherError:errMsg]]; + + return; + } + + // Prevent SIGPIPE signals + + int nosigpipe = 1; + setsockopt(socketFD, SOL_SOCKET, SO_NOSIGPIPE, &nosigpipe, sizeof(nosigpipe)); + + // Setup our read/write sources + + [self setupReadAndWriteSourcesForNewlyConnectedSocket:socketFD]; + + // Dequeue any pending read/write requests + + [self maybeDequeueRead]; + [self maybeDequeueWrite]; +} + +- (void)didNotConnect:(int)aConnectIndex error:(NSError *)error +{ + LogTrace(); + + NSAssert(dispatch_get_current_queue() == socketQueue, @"Must be dispatched on socketQueue"); + + + if (aConnectIndex != connectIndex) + { + LogInfo(@"Ignoring didNotConnect, already disconnected"); + + // The connect operation has been cancelled. + // That is, socket was disconnected, or connection has already timed out. + return; + } + + [self endConnectTimeout]; + [self closeWithError:error]; +} + +- (void)startConnectTimeout:(NSTimeInterval)timeout +{ + if (timeout >= 0.0) + { + connectTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, socketQueue); + + dispatch_source_set_event_handler(connectTimer, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + [self doConnectTimeout]; + + [pool drain]; + }); + + dispatch_source_t theConnectTimer = connectTimer; + dispatch_source_set_cancel_handler(connectTimer, ^{ + LogVerbose(@"dispatch_release(connectTimer)"); + dispatch_release(theConnectTimer); + }); + + dispatch_time_t tt = dispatch_time(DISPATCH_TIME_NOW, (timeout * NSEC_PER_SEC)); + dispatch_source_set_timer(connectTimer, tt, DISPATCH_TIME_FOREVER, 0); + + dispatch_resume(connectTimer); + } +} + +- (void)endConnectTimeout +{ + LogTrace(); + + if (connectTimer) + { + dispatch_source_cancel(connectTimer); + connectTimer = NULL; + } + + // Increment connectIndex. + // This will prevent us from processing results from any related background asynchronous operations. + // + // Note: This should be called from close method even if connectTimer is NULL. + // This is because one might disconnect a socket prior to a successful connection which had no timeout. + + connectIndex++; + + if (connectInterface4) + { + [connectInterface4 release]; + connectInterface4 = nil; + } + if (connectInterface6) + { + [connectInterface6 release]; + connectInterface6 = nil; + } +} + +- (void)doConnectTimeout +{ + LogTrace(); + + [self endConnectTimeout]; + [self closeWithError:[self connectTimeoutError]]; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Disconnecting +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (void)closeWithError:(NSError *)error +{ + LogTrace(); + + NSAssert(dispatch_get_current_queue() == socketQueue, @"Must be dispatched on socketQueue"); + + + [self endConnectTimeout]; + + if (currentRead != nil) [self endCurrentRead]; + if (currentWrite != nil) [self endCurrentWrite]; + + [readQueue removeAllObjects]; + [writeQueue removeAllObjects]; + + [partialReadBuffer setLength:0]; + + #if TARGET_OS_IPHONE + { + if (readStream || writeStream) + { + [self removeStreamsFromRunLoop]; + + if (readStream) + { + CFReadStreamSetClient(readStream, kCFStreamEventNone, NULL, NULL); + CFReadStreamClose(readStream); + CFRelease(readStream); + readStream = NULL; + } + if (writeStream) + { + CFWriteStreamSetClient(writeStream, kCFStreamEventNone, NULL, NULL); + CFWriteStreamClose(writeStream); + CFRelease(writeStream); + writeStream = NULL; + } + } + } + #else + { + [sslReadBuffer setLength:0]; + if (sslContext) + { + // Getting a linker error here about SSLDisposeContext? + // You need to add the Security Framework to your application. + + SSLDisposeContext(sslContext); + sslContext = NULL; + } + } + #endif + + // For some crazy reason (in my opinion), cancelling a dispatch source doesn't + // invoke the cancel handler if the dispatch source is paused. + // So we have to unpause the source if needed. + // This allows the cancel handler to be run, which in turn releases the source and closes the socket. + + if (accept4Source) + { + LogVerbose(@"dispatch_source_cancel(accept4Source)"); + dispatch_source_cancel(accept4Source); + + // We never suspend accept4Source + + accept4Source = NULL; + } + + if (accept6Source) + { + LogVerbose(@"dispatch_source_cancel(accept6Source)"); + dispatch_source_cancel(accept6Source); + + // We never suspend accept6Source + + accept6Source = NULL; + } + if (!readSource && !writeSource) { + LogVerbose(@"manually closing close"); + + if (socket4FD) { + close(socket4FD); + } + + if (socket6FD) { + close(socket6FD); + } + } + + if (readSource) + { + LogVerbose(@"dispatch_source_cancel(readSource)"); + dispatch_source_cancel(readSource); + + [self resumeReadSource]; + + readSource = NULL; + } + + if (writeSource) + { + LogVerbose(@"dispatch_source_cancel(writeSource)"); + dispatch_source_cancel(writeSource); + + [self resumeWriteSource]; + + writeSource = NULL; + } + + // The sockets will be closed by the cancel handlers of the corresponding source + + socket4FD = SOCKET_NULL; + socket6FD = SOCKET_NULL; + + // If the client has passed the connect/accept method, then the connection has at least begun. + // Notify delegate that it is now ending. + BOOL shouldCallDelegate = (flags & kSocketStarted); + + // Clear stored socket info and all flags (config remains as is) + socketFDBytesAvailable = 0; + flags = 0; + + if (shouldCallDelegate) + { + if (delegateQueue && [delegate respondsToSelector: @selector(socketDidDisconnect:withError:)]) + { + id theDelegate = delegate; + + dispatch_async(delegateQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + [theDelegate socketDidDisconnect:self withError:error]; + + [pool drain]; + }); + } + } +} + +- (void)disconnect +{ + dispatch_block_t block = ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + if (flags & kSocketStarted) + { + [self closeWithError:nil]; + } + + [pool drain]; + }; + + // Synchronous disconnection, as documented in the header file + + if (dispatch_get_current_queue() == socketQueue) + block(); + else + dispatch_sync(socketQueue, block); +} + +- (void)disconnectAfterReading +{ + dispatch_async(socketQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + if (flags & kSocketStarted) + { + flags |= (kForbidReadsWrites | kDisconnectAfterReads); + [self maybeClose]; + } + + [pool drain]; + }); +} + +- (void)disconnectAfterWriting +{ + dispatch_async(socketQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + if (flags & kSocketStarted) + { + flags |= (kForbidReadsWrites | kDisconnectAfterWrites); + [self maybeClose]; + } + + [pool drain]; + }); +} + +- (void)disconnectAfterReadingAndWriting +{ + dispatch_async(socketQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + if (flags & kSocketStarted) + { + flags |= (kForbidReadsWrites | kDisconnectAfterReads | kDisconnectAfterWrites); + [self maybeClose]; + } + + [pool drain]; + }); +} + +/** + * Closes the socket if possible. + * That is, if all writes have completed, and we're set to disconnect after writing, + * or if all reads have completed, and we're set to disconnect after reading. +**/ +- (void)maybeClose +{ + NSAssert(dispatch_get_current_queue() == socketQueue, @"Must be dispatched on socketQueue"); + + BOOL shouldClose = NO; + + if (flags & kDisconnectAfterReads) + { + if (([readQueue count] == 0) && (currentRead == nil)) + { + if (flags & kDisconnectAfterWrites) + { + if (([writeQueue count] == 0) && (currentWrite == nil)) + { + shouldClose = YES; + } + } + else + { + shouldClose = YES; + } + } + } + else if (flags & kDisconnectAfterWrites) + { + if (([writeQueue count] == 0) && (currentWrite == nil)) + { + shouldClose = YES; + } + } + + if (shouldClose) + { + [self closeWithError:nil]; + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Errors +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (NSError *)badConfigError:(NSString *)errMsg +{ + NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey]; + + return [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketBadConfigError userInfo:userInfo]; +} + +- (NSError *)badParamError:(NSString *)errMsg +{ + NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey]; + + return [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketBadParamError userInfo:userInfo]; +} + +- (NSError *)gaiError:(int)gai_error +{ + NSString *errMsg = [NSString stringWithCString:gai_strerror(gai_error) encoding:NSASCIIStringEncoding]; + NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey]; + + return [NSError errorWithDomain:@"kCFStreamErrorDomainNetDB" code:gai_error userInfo:userInfo]; +} + +- (NSError *)errnoErrorWithReason:(NSString *)reason +{ + NSString *errMsg = [NSString stringWithUTF8String:strerror(errno)]; + NSDictionary *userInfo = [NSDictionary dictionaryWithObjectsAndKeys:errMsg, NSLocalizedDescriptionKey, + reason, NSLocalizedFailureReasonErrorKey, nil]; + + return [NSError errorWithDomain:NSPOSIXErrorDomain code:errno userInfo:userInfo]; +} + +- (NSError *)errnoError +{ + NSString *errMsg = [NSString stringWithUTF8String:strerror(errno)]; + NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey]; + + return [NSError errorWithDomain:NSPOSIXErrorDomain code:errno userInfo:userInfo]; +} + +- (NSError *)sslError:(OSStatus)ssl_error +{ + NSString *msg = @"Error code definition can be found in Apple's SecureTransport.h"; + NSDictionary *userInfo = [NSDictionary dictionaryWithObject:msg forKey:NSLocalizedRecoverySuggestionErrorKey]; + + return [NSError errorWithDomain:@"kCFStreamErrorDomainSSL" code:ssl_error userInfo:userInfo]; +} + +- (NSError *)connectTimeoutError +{ + NSString *errMsg = NSLocalizedStringWithDefaultValue(@"GCDAsyncSocketConnectTimeoutError", + @"GCDAsyncSocket", [NSBundle mainBundle], + @"Attempt to connect to host timed out", nil); + + NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey]; + + return [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketConnectTimeoutError userInfo:userInfo]; +} + +/** + * Returns a standard AsyncSocket maxed out error. +**/ +- (NSError *)readMaxedOutError +{ + NSString *errMsg = NSLocalizedStringWithDefaultValue(@"GCDAsyncSocketReadMaxedOutError", + @"GCDAsyncSocket", [NSBundle mainBundle], + @"Read operation reached set maximum length", nil); + + NSDictionary *info = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey]; + + return [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketReadMaxedOutError userInfo:info]; +} + +/** + * Returns a standard AsyncSocket write timeout error. +**/ +- (NSError *)readTimeoutError +{ + NSString *errMsg = NSLocalizedStringWithDefaultValue(@"GCDAsyncSocketReadTimeoutError", + @"GCDAsyncSocket", [NSBundle mainBundle], + @"Read operation timed out", nil); + + NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey]; + + return [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketReadTimeoutError userInfo:userInfo]; +} + +/** + * Returns a standard AsyncSocket write timeout error. +**/ +- (NSError *)writeTimeoutError +{ + NSString *errMsg = NSLocalizedStringWithDefaultValue(@"GCDAsyncSocketWriteTimeoutError", + @"GCDAsyncSocket", [NSBundle mainBundle], + @"Write operation timed out", nil); + + NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey]; + + return [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketWriteTimeoutError userInfo:userInfo]; +} + +- (NSError *)connectionClosedError +{ + NSString *errMsg = NSLocalizedStringWithDefaultValue(@"GCDAsyncSocketClosedError", + @"GCDAsyncSocket", [NSBundle mainBundle], + @"Socket closed by remote peer", nil); + + NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey]; + + return [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketClosedError userInfo:userInfo]; +} + +- (NSError *)otherError:(NSString *)errMsg +{ + NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey]; + + return [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketOtherError userInfo:userInfo]; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Diagnostics +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (BOOL)isDisconnected +{ + __block BOOL result = NO; + + dispatch_block_t block = ^{ + result = (flags & kSocketStarted) ? NO : YES; + }; + + if (dispatch_get_current_queue() == socketQueue) + block(); + else + dispatch_sync(socketQueue, block); + + return result; +} + +- (BOOL)isConnected +{ + __block BOOL result = NO; + + dispatch_block_t block = ^{ + result = (flags & kConnected) ? YES : NO; + }; + + if (dispatch_get_current_queue() == socketQueue) + block(); + else + dispatch_sync(socketQueue, block); + + return result; +} + +- (NSString *)connectedHost +{ + if (dispatch_get_current_queue() == socketQueue) + { + if (socket4FD != SOCKET_NULL) + return [self connectedHostFromSocket4:socket4FD]; + if (socket6FD != SOCKET_NULL) + return [self connectedHostFromSocket6:socket6FD]; + + return nil; + } + else + { + __block NSString *result = nil; + + dispatch_sync(socketQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + if (socket4FD != SOCKET_NULL) + result = [[self connectedHostFromSocket4:socket4FD] retain]; + else if (socket6FD != SOCKET_NULL) + result = [[self connectedHostFromSocket6:socket6FD] retain]; + + [pool drain]; + }); + + return [result autorelease]; + } +} + +- (uint16_t)connectedPort +{ + if (dispatch_get_current_queue() == socketQueue) + { + if (socket4FD != SOCKET_NULL) + return [self connectedPortFromSocket4:socket4FD]; + if (socket6FD != SOCKET_NULL) + return [self connectedPortFromSocket6:socket6FD]; + + return 0; + } + else + { + __block uint16_t result = 0; + + dispatch_sync(socketQueue, ^{ + // No need for autorelease pool + + if (socket4FD != SOCKET_NULL) + result = [self connectedPortFromSocket4:socket4FD]; + else if (socket6FD != SOCKET_NULL) + result = [self connectedPortFromSocket6:socket6FD]; + }); + + return result; + } +} + +- (NSString *)localHost +{ + if (dispatch_get_current_queue() == socketQueue) + { + if (socket4FD != SOCKET_NULL) + return [self localHostFromSocket4:socket4FD]; + if (socket6FD != SOCKET_NULL) + return [self localHostFromSocket6:socket6FD]; + + return nil; + } + else + { + __block NSString *result = nil; + + dispatch_sync(socketQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + if (socket4FD != SOCKET_NULL) + result = [[self localHostFromSocket4:socket4FD] retain]; + else if (socket6FD != SOCKET_NULL) + result = [[self localHostFromSocket6:socket6FD] retain]; + + [pool drain]; + }); + + return [result autorelease]; + } +} + +- (uint16_t)localPort +{ + if (dispatch_get_current_queue() == socketQueue) + { + if (socket4FD != SOCKET_NULL) + return [self localPortFromSocket4:socket4FD]; + if (socket6FD != SOCKET_NULL) + return [self localPortFromSocket6:socket6FD]; + + return 0; + } + else + { + __block uint16_t result = 0; + + dispatch_sync(socketQueue, ^{ + // No need for autorelease pool + + if (socket4FD != SOCKET_NULL) + result = [self localPortFromSocket4:socket4FD]; + else if (socket6FD != SOCKET_NULL) + result = [self localPortFromSocket6:socket6FD]; + }); + + return result; + } +} + +- (NSString *)connectedHost4 +{ + if (socket4FD != SOCKET_NULL) + return [self connectedHostFromSocket4:socket4FD]; + + return nil; +} + +- (NSString *)connectedHost6 +{ + if (socket6FD != SOCKET_NULL) + return [self connectedHostFromSocket6:socket6FD]; + + return nil; +} + +- (uint16_t)connectedPort4 +{ + if (socket4FD != SOCKET_NULL) + return [self connectedPortFromSocket4:socket4FD]; + + return 0; +} + +- (uint16_t)connectedPort6 +{ + if (socket6FD != SOCKET_NULL) + return [self connectedPortFromSocket6:socket6FD]; + + return 0; +} + +- (NSString *)localHost4 +{ + if (socket4FD != SOCKET_NULL) + return [self localHostFromSocket4:socket4FD]; + + return nil; +} + +- (NSString *)localHost6 +{ + if (socket6FD != SOCKET_NULL) + return [self localHostFromSocket6:socket6FD]; + + return nil; +} + +- (uint16_t)localPort4 +{ + if (socket4FD != SOCKET_NULL) + return [self localPortFromSocket4:socket4FD]; + + return 0; +} + +- (uint16_t)localPort6 +{ + if (socket6FD != SOCKET_NULL) + return [self localPortFromSocket6:socket6FD]; + + return 0; +} + +- (NSString *)connectedHostFromSocket4:(int)socketFD +{ + struct sockaddr_in sockaddr4; + socklen_t sockaddr4len = sizeof(sockaddr4); + + if (getpeername(socketFD, (struct sockaddr *)&sockaddr4, &sockaddr4len) < 0) + { + return nil; + } + return [[self class] hostFromSockaddr4:&sockaddr4]; +} + +- (NSString *)connectedHostFromSocket6:(int)socketFD +{ + struct sockaddr_in6 sockaddr6; + socklen_t sockaddr6len = sizeof(sockaddr6); + + if (getpeername(socketFD, (struct sockaddr *)&sockaddr6, &sockaddr6len) < 0) + { + return nil; + } + return [[self class] hostFromSockaddr6:&sockaddr6]; +} + +- (uint16_t)connectedPortFromSocket4:(int)socketFD +{ + struct sockaddr_in sockaddr4; + socklen_t sockaddr4len = sizeof(sockaddr4); + + if (getpeername(socketFD, (struct sockaddr *)&sockaddr4, &sockaddr4len) < 0) + { + return 0; + } + return [[self class] portFromSockaddr4:&sockaddr4]; +} + +- (uint16_t)connectedPortFromSocket6:(int)socketFD +{ + struct sockaddr_in6 sockaddr6; + socklen_t sockaddr6len = sizeof(sockaddr6); + + if (getpeername(socketFD, (struct sockaddr *)&sockaddr6, &sockaddr6len) < 0) + { + return 0; + } + return [[self class] portFromSockaddr6:&sockaddr6]; +} + +- (NSString *)localHostFromSocket4:(int)socketFD +{ + struct sockaddr_in sockaddr4; + socklen_t sockaddr4len = sizeof(sockaddr4); + + if (getsockname(socketFD, (struct sockaddr *)&sockaddr4, &sockaddr4len) < 0) + { + return nil; + } + return [[self class] hostFromSockaddr4:&sockaddr4]; +} + +- (NSString *)localHostFromSocket6:(int)socketFD +{ + struct sockaddr_in6 sockaddr6; + socklen_t sockaddr6len = sizeof(sockaddr6); + + if (getsockname(socketFD, (struct sockaddr *)&sockaddr6, &sockaddr6len) < 0) + { + return nil; + } + return [[self class] hostFromSockaddr6:&sockaddr6]; +} + +- (uint16_t)localPortFromSocket4:(int)socketFD +{ + struct sockaddr_in sockaddr4; + socklen_t sockaddr4len = sizeof(sockaddr4); + + if (getsockname(socketFD, (struct sockaddr *)&sockaddr4, &sockaddr4len) < 0) + { + return 0; + } + return [[self class] portFromSockaddr4:&sockaddr4]; +} + +- (uint16_t)localPortFromSocket6:(int)socketFD +{ + struct sockaddr_in6 sockaddr6; + socklen_t sockaddr6len = sizeof(sockaddr6); + + if (getsockname(socketFD, (struct sockaddr *)&sockaddr6, &sockaddr6len) < 0) + { + return 0; + } + return [[self class] portFromSockaddr6:&sockaddr6]; +} + +- (NSData *)connectedAddress +{ + __block NSData *result = nil; + + dispatch_block_t block = ^{ + if (socket4FD != SOCKET_NULL) + { + struct sockaddr_in sockaddr4; + socklen_t sockaddr4len = sizeof(sockaddr4); + + if (getpeername(socket4FD, (struct sockaddr *)&sockaddr4, &sockaddr4len) == 0) + { + result = [[NSData alloc] initWithBytes:&sockaddr4 length:sockaddr4len]; + } + } + + if (socket6FD != SOCKET_NULL) + { + struct sockaddr_in6 sockaddr6; + socklen_t sockaddr6len = sizeof(sockaddr6); + + if (getpeername(socket6FD, (struct sockaddr *)&sockaddr6, &sockaddr6len) == 0) + { + result = [[NSData alloc] initWithBytes:&sockaddr6 length:sockaddr6len]; + } + } + }; + + if (dispatch_get_current_queue() == socketQueue) + block(); + else + dispatch_sync(socketQueue, block); + + return [result autorelease]; +} + +- (NSData *)localAddress +{ + __block NSData *result = nil; + + dispatch_block_t block = ^{ + if (socket4FD != SOCKET_NULL) + { + struct sockaddr_in sockaddr4; + socklen_t sockaddr4len = sizeof(sockaddr4); + + if (getsockname(socket4FD, (struct sockaddr *)&sockaddr4, &sockaddr4len) == 0) + { + result = [[NSData alloc] initWithBytes:&sockaddr4 length:sockaddr4len]; + } + } + + if (socket6FD != SOCKET_NULL) + { + struct sockaddr_in6 sockaddr6; + socklen_t sockaddr6len = sizeof(sockaddr6); + + if (getsockname(socket6FD, (struct sockaddr *)&sockaddr6, &sockaddr6len) == 0) + { + result = [[NSData alloc] initWithBytes:&sockaddr6 length:sockaddr6len]; + } + } + }; + + if (dispatch_get_current_queue() == socketQueue) + block(); + else + dispatch_sync(socketQueue, block); + + return [result autorelease]; +} + +- (BOOL)isIPv4 +{ + if (dispatch_get_current_queue() == socketQueue) + { + return (socket4FD != SOCKET_NULL); + } + else + { + __block BOOL result = NO; + + dispatch_sync(socketQueue, ^{ + result = (socket4FD != SOCKET_NULL); + }); + + return result; + } +} + +- (BOOL)isIPv6 +{ + if (dispatch_get_current_queue() == socketQueue) + { + return (socket6FD != SOCKET_NULL); + } + else + { + __block BOOL result = NO; + + dispatch_sync(socketQueue, ^{ + result = (socket6FD != SOCKET_NULL); + }); + + return result; + } +} + +- (BOOL)isSecure +{ + if (dispatch_get_current_queue() == socketQueue) + { + return (flags & kSocketSecure) ? YES : NO; + } + else + { + __block BOOL result; + + dispatch_sync(socketQueue, ^{ + result = (flags & kSocketSecure) ? YES : NO; + }); + + return result; + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Utilities +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * Finds the address of an interface description. + * An inteface description may be an interface name (en0, en1, lo0) or corresponding IP (192.168.4.34). + * + * The interface description may optionally contain a port number at the end, separated by a colon. + * If a non-zero port parameter is provided, any port number in the interface description is ignored. + * + * The returned value is a 'struct sockaddr' wrapped in an NSMutableData object. +**/ +- (void)getInterfaceAddress4:(NSMutableData **)interfaceAddr4Ptr + address6:(NSMutableData **)interfaceAddr6Ptr + fromDescription:(NSString *)interfaceDescription + port:(uint16_t)port +{ + NSMutableData *addr4 = nil; + NSMutableData *addr6 = nil; + + NSString *interface = nil; + + NSArray *components = [interfaceDescription componentsSeparatedByString:@":"]; + if ([components count] > 0) + { + NSString *temp = [components objectAtIndex:0]; + if ([temp length] > 0) + { + interface = temp; + } + } + if ([components count] > 1 && port == 0) + { + long portL = strtol([[components objectAtIndex:1] UTF8String], NULL, 10); + + if (portL > 0 && portL <= UINT16_MAX) + { + port = (uint16_t)portL; + } + } + + if (interface == nil) + { + // ANY address + + struct sockaddr_in sockaddr4; + memset(&sockaddr4, 0, sizeof(sockaddr4)); + + sockaddr4.sin_len = sizeof(sockaddr4); + sockaddr4.sin_family = AF_INET; + sockaddr4.sin_port = htons(port); + sockaddr4.sin_addr.s_addr = htonl(INADDR_ANY); + + struct sockaddr_in6 sockaddr6; + memset(&sockaddr6, 0, sizeof(sockaddr6)); + + sockaddr6.sin6_len = sizeof(sockaddr6); + sockaddr6.sin6_family = AF_INET6; + sockaddr6.sin6_port = htons(port); + sockaddr6.sin6_addr = in6addr_any; + + addr4 = [NSMutableData dataWithBytes:&sockaddr4 length:sizeof(sockaddr4)]; + addr6 = [NSMutableData dataWithBytes:&sockaddr6 length:sizeof(sockaddr6)]; + } + else if ([interface isEqualToString:@"localhost"] || [interface isEqualToString:@"loopback"]) + { + // LOOPBACK address + + struct sockaddr_in sockaddr4; + memset(&sockaddr4, 0, sizeof(sockaddr4)); + + sockaddr4.sin_len = sizeof(sockaddr4); + sockaddr4.sin_family = AF_INET; + sockaddr4.sin_port = htons(port); + sockaddr4.sin_addr.s_addr = htonl(INADDR_LOOPBACK); + + struct sockaddr_in6 sockaddr6; + memset(&sockaddr6, 0, sizeof(sockaddr6)); + + sockaddr6.sin6_len = sizeof(sockaddr6); + sockaddr6.sin6_family = AF_INET6; + sockaddr6.sin6_port = htons(port); + sockaddr6.sin6_addr = in6addr_loopback; + + addr4 = [NSMutableData dataWithBytes:&sockaddr4 length:sizeof(sockaddr4)]; + addr6 = [NSMutableData dataWithBytes:&sockaddr6 length:sizeof(sockaddr6)]; + } + else + { + const char *iface = [interface UTF8String]; + + struct ifaddrs *addrs; + const struct ifaddrs *cursor; + + if ((getifaddrs(&addrs) == 0)) + { + cursor = addrs; + while (cursor != NULL) + { + if ((addr4 == nil) && (cursor->ifa_addr->sa_family == AF_INET)) + { + // IPv4 + + struct sockaddr_in nativeAddr4; + memcpy(&nativeAddr4, cursor->ifa_addr, sizeof(nativeAddr4)); + + if (strcmp(cursor->ifa_name, iface) == 0) + { + // Name match + + nativeAddr4.sin_port = htons(port); + + addr4 = [NSMutableData dataWithBytes:&nativeAddr4 length:sizeof(nativeAddr4)]; + } + else + { + char ip[INET_ADDRSTRLEN]; + + const char *conversion = inet_ntop(AF_INET, &nativeAddr4.sin_addr, ip, sizeof(ip)); + + if ((conversion != NULL) && (strcmp(ip, iface) == 0)) + { + // IP match + + nativeAddr4.sin_port = htons(port); + + addr4 = [NSMutableData dataWithBytes:&nativeAddr4 length:sizeof(nativeAddr4)]; + } + } + } + else if ((addr6 == nil) && (cursor->ifa_addr->sa_family == AF_INET6)) + { + // IPv6 + + struct sockaddr_in6 nativeAddr6; + memcpy(&nativeAddr6, cursor->ifa_addr, sizeof(nativeAddr6)); + + if (strcmp(cursor->ifa_name, iface) == 0) + { + // Name match + + nativeAddr6.sin6_port = htons(port); + + addr6 = [NSMutableData dataWithBytes:&nativeAddr6 length:sizeof(nativeAddr6)]; + } + else + { + char ip[INET6_ADDRSTRLEN]; + + const char *conversion = inet_ntop(AF_INET6, &nativeAddr6.sin6_addr, ip, sizeof(ip)); + + if ((conversion != NULL) && (strcmp(ip, iface) == 0)) + { + // IP match + + nativeAddr6.sin6_port = htons(port); + + addr6 = [NSMutableData dataWithBytes:&nativeAddr6 length:sizeof(nativeAddr6)]; + } + } + } + + cursor = cursor->ifa_next; + } + + freeifaddrs(addrs); + } + } + + if (interfaceAddr4Ptr) *interfaceAddr4Ptr = addr4; + if (interfaceAddr6Ptr) *interfaceAddr6Ptr = addr6; +} + +- (void)setupReadAndWriteSourcesForNewlyConnectedSocket:(int)socketFD +{ + readSource = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, socketFD, 0, socketQueue); + writeSource = dispatch_source_create(DISPATCH_SOURCE_TYPE_WRITE, socketFD, 0, socketQueue); + + // Setup event handlers + + dispatch_source_set_event_handler(readSource, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + LogVerbose(@"readEventBlock"); + + socketFDBytesAvailable = dispatch_source_get_data(readSource); + LogVerbose(@"socketFDBytesAvailable: %lu", socketFDBytesAvailable); + + if (socketFDBytesAvailable > 0) + [self doReadData]; + else + [self doReadEOF]; + + [pool drain]; + }); + + dispatch_source_set_event_handler(writeSource, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + LogVerbose(@"writeEventBlock"); + + flags |= kSocketCanAcceptBytes; + [self doWriteData]; + + [pool drain]; + }); + + // Setup cancel handlers + + __block int socketFDRefCount = 2; + + dispatch_source_t theReadSource = readSource; + dispatch_source_t theWriteSource = writeSource; + + dispatch_source_set_cancel_handler(readSource, ^{ + + LogVerbose(@"readCancelBlock"); + + LogVerbose(@"dispatch_release(readSource)"); + dispatch_release(theReadSource); + + if (--socketFDRefCount == 0) + { + LogVerbose(@"close(socketFD)"); + close(socketFD); + } + }); + + dispatch_source_set_cancel_handler(writeSource, ^{ + + LogVerbose(@"writeCancelBlock"); + + LogVerbose(@"dispatch_release(writeSource)"); + dispatch_release(theWriteSource); + + if (--socketFDRefCount == 0) + { + LogVerbose(@"close(socketFD)"); + close(socketFD); + } + }); + + // We will not be able to read until data arrives. + // But we should be able to write immediately. + + socketFDBytesAvailable = 0; + flags &= ~kReadSourceSuspended; + + LogVerbose(@"dispatch_resume(readSource)"); + dispatch_resume(readSource); + + flags |= kSocketCanAcceptBytes; + flags |= kWriteSourceSuspended; +} + +- (BOOL)usingCFStream +{ + #if TARGET_OS_IPHONE + + if (flags & kSocketSecure) + { + // Due to the fact that Apple doesn't give us the full power of SecureTransport on iOS, + // we are relegated to using the slower, less powerful, and RunLoop based CFStream API. :( Boo! + // + // Thus we're not able to use the GCD read/write sources in this particular scenario. + + return YES; + } + + #endif + + return NO; +} + +- (void)suspendReadSource +{ + if (!(flags & kReadSourceSuspended)) + { + LogVerbose(@"dispatch_suspend(readSource)"); + + dispatch_suspend(readSource); + flags |= kReadSourceSuspended; + } +} + +- (void)resumeReadSource +{ + if (flags & kReadSourceSuspended) + { + LogVerbose(@"dispatch_resume(readSource)"); + + dispatch_resume(readSource); + flags &= ~kReadSourceSuspended; + } +} + +- (void)suspendWriteSource +{ + if (!(flags & kWriteSourceSuspended)) + { + LogVerbose(@"dispatch_suspend(writeSource)"); + + dispatch_suspend(writeSource); + flags |= kWriteSourceSuspended; + } +} + +- (void)resumeWriteSource +{ + if (flags & kWriteSourceSuspended) + { + LogVerbose(@"dispatch_resume(writeSource)"); + + dispatch_resume(writeSource); + flags &= ~kWriteSourceSuspended; + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Reading +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (void)readDataWithTimeout:(NSTimeInterval)timeout tag:(long)tag +{ + [self readDataWithTimeout:timeout buffer:nil bufferOffset:0 maxLength:0 tag:tag]; +} + +- (void)readDataWithTimeout:(NSTimeInterval)timeout + buffer:(NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + tag:(long)tag +{ + [self readDataWithTimeout:timeout buffer:buffer bufferOffset:offset maxLength:0 tag:tag]; +} + +- (void)readDataWithTimeout:(NSTimeInterval)timeout + buffer:(NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + maxLength:(NSUInteger)length + tag:(long)tag +{ + if (offset > [buffer length]) { + LogWarn(@"Cannot read: offset > [buffer length]"); + return; + } + + GCDAsyncReadPacket *packet = [[GCDAsyncReadPacket alloc] initWithData:buffer + startOffset:offset + maxLength:length + timeout:timeout + readLength:0 + terminator:nil + tag:tag]; + + dispatch_async(socketQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + LogTrace(); + + if ((flags & kSocketStarted) && !(flags & kForbidReadsWrites)) + { + [readQueue addObject:packet]; + [self maybeDequeueRead]; + } + + [pool drain]; + }); + + // Do not rely on the block being run in order to release the packet, + // as the queue might get released without the block completing. + [packet release]; +} + +- (void)readDataToLength:(NSUInteger)length withTimeout:(NSTimeInterval)timeout tag:(long)tag +{ + [self readDataToLength:length withTimeout:timeout buffer:nil bufferOffset:0 tag:tag]; +} + +- (void)readDataToLength:(NSUInteger)length + withTimeout:(NSTimeInterval)timeout + buffer:(NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + tag:(long)tag +{ + if (length == 0) { + LogWarn(@"Cannot read: length == 0"); + return; + } + if (offset > [buffer length]) { + LogWarn(@"Cannot read: offset > [buffer length]"); + return; + } + + GCDAsyncReadPacket *packet = [[GCDAsyncReadPacket alloc] initWithData:buffer + startOffset:offset + maxLength:0 + timeout:timeout + readLength:length + terminator:nil + tag:tag]; + + dispatch_async(socketQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + LogTrace(); + + if ((flags & kSocketStarted) && !(flags & kForbidReadsWrites)) + { + [readQueue addObject:packet]; + [self maybeDequeueRead]; + } + + [pool drain]; + }); + + // Do not rely on the block being run in order to release the packet, + // as the queue might get released without the block completing. + [packet release]; +} + +- (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag +{ + [self readDataToData:data withTimeout:timeout buffer:nil bufferOffset:0 maxLength:0 tag:tag]; +} + +- (void)readDataToData:(NSData *)data + withTimeout:(NSTimeInterval)timeout + buffer:(NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + tag:(long)tag +{ + [self readDataToData:data withTimeout:timeout buffer:buffer bufferOffset:offset maxLength:0 tag:tag]; +} + +- (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout maxLength:(NSUInteger)length tag:(long)tag +{ + [self readDataToData:data withTimeout:timeout buffer:nil bufferOffset:0 maxLength:length tag:tag]; +} + +- (void)readDataToData:(NSData *)data + withTimeout:(NSTimeInterval)timeout + buffer:(NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + maxLength:(NSUInteger)maxLength + tag:(long)tag +{ + if ([data length] == 0) { + LogWarn(@"Cannot read: [data length] == 0"); + return; + } + if (offset > [buffer length]) { + LogWarn(@"Cannot read: offset > [buffer length]"); + return; + } + if (maxLength > 0 && maxLength < [data length]) { + LogWarn(@"Cannot read: maxLength > 0 && maxLength < [data length]"); + return; + } + + GCDAsyncReadPacket *packet = [[GCDAsyncReadPacket alloc] initWithData:buffer + startOffset:offset + maxLength:maxLength + timeout:timeout + readLength:0 + terminator:data + tag:tag]; + + dispatch_async(socketQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + LogTrace(); + + if ((flags & kSocketStarted) && !(flags & kForbidReadsWrites)) + { + [readQueue addObject:packet]; + [self maybeDequeueRead]; + } + + [pool drain]; + }); + + // Do not rely on the block being run in order to release the packet, + // as the queue might get released without the block completing. + [packet release]; +} + +/** + * This method starts a new read, if needed. + * + * It is called when: + * - a user requests a read + * - after a read request has finished (to handle the next request) + * - immediately after the socket opens to handle any pending requests + * + * This method also handles auto-disconnect post read/write completion. +**/ +- (void)maybeDequeueRead +{ + LogTrace(); + NSAssert(dispatch_get_current_queue() == socketQueue, @"Must be dispatched on socketQueue"); + + // If we're not currently processing a read AND we have an available read stream + if ((currentRead == nil) && (flags & kConnected)) + { + if ([readQueue count] > 0) + { + // Dequeue the next object in the write queue + currentRead = [[readQueue objectAtIndex:0] retain]; + [readQueue removeObjectAtIndex:0]; + + + if ([currentRead isKindOfClass:[GCDAsyncSpecialPacket class]]) + { + LogVerbose(@"Dequeued GCDAsyncSpecialPacket"); + + // Attempt to start TLS + flags |= kStartingReadTLS; + + // This method won't do anything unless both kStartingReadTLS and kStartingWriteTLS are set + [self maybeStartTLS]; + } + else + { + LogVerbose(@"Dequeued GCDAsyncReadPacket"); + + // Setup read timer (if needed) + [self setupReadTimerWithTimeout:currentRead->timeout]; + + // Immediately read, if possible + [self doReadData]; + } + } + else if (flags & kDisconnectAfterReads) + { + if (flags & kDisconnectAfterWrites) + { + if (([writeQueue count] == 0) && (currentWrite == nil)) + { + [self closeWithError:nil]; + } + } + else + { + [self closeWithError:nil]; + } + } + else if (flags & kSocketSecure) + { + [self flushSSLBuffers]; + + // Edge case: + // + // We just drained all data from the ssl buffers, + // and all known data from the socket (socketFDBytesAvailable). + // + // If we didn't get any data from this process, + // then we may have reached the end of the TCP stream. + // + // Be sure callbacks are enabled so we're notified about a disconnection. + + if ([partialReadBuffer length] == 0) + { + if ([self usingCFStream]) { + // Callbacks never disabled + } + else { + [self resumeReadSource]; + } + } + } + } +} + +- (void)flushSSLBuffers +{ + LogTrace(); + + NSAssert((flags & kSocketSecure), @"Cannot flush ssl buffers on non-secure socket"); + + if ([partialReadBuffer length] > 0) + { + // Only flush the ssl buffers if the partialReadBuffer is empty. + // This is to avoid growing the partialReadBuffer inifinitely large. + + return; + } + +#if TARGET_OS_IPHONE + + if ((flags & kSecureSocketHasBytesAvailable) && CFReadStreamHasBytesAvailable(readStream)) + { + LogVerbose(@"%@ - Flushing ssl buffers into partialReadBuffer...", THIS_METHOD); + + CFIndex defaultBytesToRead = (1024 * 16); + + NSUInteger partialReadBufferOffset = [partialReadBuffer length]; + [partialReadBuffer increaseLengthBy:defaultBytesToRead]; + + uint8_t *buffer = [partialReadBuffer mutableBytes] + partialReadBufferOffset; + + CFIndex result = CFReadStreamRead(readStream, buffer, defaultBytesToRead); + LogVerbose(@"%@ - CFReadStreamRead(): result = %i", THIS_METHOD, (int)result); + + if (result <= 0) + { + [partialReadBuffer setLength:partialReadBufferOffset]; + } + else + { + [partialReadBuffer setLength:(partialReadBufferOffset + result)]; + } + + flags &= ~kSecureSocketHasBytesAvailable; + } + +#else + + __block NSUInteger estimatedBytesAvailable = 0; + + dispatch_block_t updateEstimatedBytesAvailable = ^{ + + // Figure out if there is any data available to be read + // + // socketFDBytesAvailable <- Number of encrypted bytes we haven't read from the bsd socket + // [sslReadBuffer length] <- Number of encrypted bytes we've buffered from bsd socket + // sslInternalBufSize <- Number od decrypted bytes SecureTransport has buffered + // + // We call the variable "estimated" because we don't know how many decrypted bytes we'll get + // from the encrypted bytes in the sslReadBuffer. + // However, we do know this is an upper bound on the estimation. + + estimatedBytesAvailable = socketFDBytesAvailable + [sslReadBuffer length]; + + size_t sslInternalBufSize = 0; + SSLGetBufferedReadSize(sslContext, &sslInternalBufSize); + + estimatedBytesAvailable += sslInternalBufSize; + }; + + updateEstimatedBytesAvailable(); + + if (estimatedBytesAvailable > 0) + { + LogVerbose(@"%@ - Flushing ssl buffers into partialReadBuffer...", THIS_METHOD); + + BOOL done = NO; + do + { + LogVerbose(@"%@ - estimatedBytesAvailable = %lu", THIS_METHOD, (unsigned long)estimatedBytesAvailable); + + // Make room in the partialReadBuffer + + NSUInteger partialReadBufferOffset = [partialReadBuffer length]; + [partialReadBuffer increaseLengthBy:estimatedBytesAvailable]; + + uint8_t *buffer = (uint8_t *)[partialReadBuffer mutableBytes] + partialReadBufferOffset; + size_t bytesRead = 0; + + // Read data into partialReadBuffer + + OSStatus result = SSLRead(sslContext, buffer, (size_t)estimatedBytesAvailable, &bytesRead); + LogVerbose(@"%@ - read from secure socket = %u", THIS_METHOD, (unsigned)bytesRead); + + [partialReadBuffer setLength:(partialReadBufferOffset + bytesRead)]; + LogVerbose(@"%@ - partialReadBuffer.length = %lu", THIS_METHOD, (unsigned long)[partialReadBuffer length]); + + if (result != noErr) + { + done = YES; + } + else + { + updateEstimatedBytesAvailable(); + } + + } while (!done && estimatedBytesAvailable > 0); + } + +#endif +} + +- (void)doReadData +{ + LogTrace(); + + // This method is called on the socketQueue. + // It might be called directly, or via the readSource when data is available to be read. + + if ((currentRead == nil) || (flags & kReadsPaused)) + { + LogVerbose(@"No currentRead or kReadsPaused"); + + // Unable to read at this time + + if (flags & kSocketSecure) + { + // Here's the situation: + // + // We have an established secure connection. + // There may not be a currentRead, but there might be encrypted data sitting around for us. + // When the user does get around to issuing a read, that encrypted data will need to be decrypted. + // + // So why make the user wait? + // We might as well get a head start on decrypting some data now. + // + // The other reason we do this has to do with detecting a socket disconnection. + // The SSL/TLS protocol has it's own disconnection handshake. + // So when a secure socket is closed, a "goodbye" packet comes across the wire. + // We want to make sure we read the "goodbye" packet so we can properly detect the TCP disconnection. + + [self flushSSLBuffers]; + } + + if ([self usingCFStream]) + { + // CFReadStream only fires once when there is available data. + // It won't fire again until we've invoked CFReadStreamRead. + } + else + { + // If the readSource is firing, we need to pause it + // or else it will continue to fire over and over again. + // + // If the readSource is not firing, + // we want it to continue monitoring the socket. + + if (socketFDBytesAvailable > 0) + { + [self suspendReadSource]; + } + } + return; + } + + BOOL hasBytesAvailable; + unsigned long estimatedBytesAvailable; + + #if TARGET_OS_IPHONE + { + if (flags & kSocketSecure) + { + // Relegated to using CFStream... :( Boo! Give us SecureTransport Apple! + + estimatedBytesAvailable = 0; + if ((flags & kSecureSocketHasBytesAvailable) && CFReadStreamHasBytesAvailable(readStream)) + hasBytesAvailable = YES; + else + hasBytesAvailable = NO; + } + else + { + estimatedBytesAvailable = socketFDBytesAvailable; + hasBytesAvailable = (estimatedBytesAvailable > 0); + + } + } + #else + { + estimatedBytesAvailable = socketFDBytesAvailable; + + if (flags & kSocketSecure) + { + // There are 2 buffers to be aware of here. + // + // We are using SecureTransport, a TLS/SSL security layer which sits atop TCP. + // We issue a read to the SecureTranport API, which in turn issues a read to our SSLReadFunction. + // Our SSLReadFunction then reads from the BSD socket and returns the encrypted data to SecureTransport. + // SecureTransport then decrypts the data, and finally returns the decrypted data back to us. + // + // The first buffer is one we create. + // SecureTransport often requests small amounts of data. + // This has to do with the encypted packets that are coming across the TCP stream. + // But it's non-optimal to do a bunch of small reads from the BSD socket. + // So our SSLReadFunction reads all available data from the socket (optimizing the sys call) + // and may store excess in the sslReadBuffer. + + estimatedBytesAvailable += [sslReadBuffer length]; + + // The second buffer is within SecureTransport. + // As mentioned earlier, there are encrypted packets coming across the TCP stream. + // SecureTransport needs the entire packet to decrypt it. + // But if the entire packet produces X bytes of decrypted data, + // and we only asked SecureTransport for X/2 bytes of data, + // it must store the extra X/2 bytes of decrypted data for the next read. + // + // The SSLGetBufferedReadSize function will tell us the size of this internal buffer. + // From the documentation: + // + // "This function does not block or cause any low-level read operations to occur." + + size_t sslInternalBufSize = 0; + SSLGetBufferedReadSize(sslContext, &sslInternalBufSize); + + estimatedBytesAvailable += sslInternalBufSize; + } + + hasBytesAvailable = (estimatedBytesAvailable > 0); + } + #endif + + if ((hasBytesAvailable == NO) && ([partialReadBuffer length] == 0)) + { + LogVerbose(@"No data available to read..."); + + // No data available to read. + + if (![self usingCFStream]) + { + // Need to wait for readSource to fire and notify us of + // available data in the socket's internal read buffer. + + [self resumeReadSource]; + } + return; + } + + if (flags & kStartingReadTLS) + { + LogVerbose(@"Waiting for SSL/TLS handshake to complete"); + + // The readQueue is waiting for SSL/TLS handshake to complete. + + if (flags & kStartingWriteTLS) + { + #if !TARGET_OS_IPHONE + { + // We are in the process of a SSL Handshake. + // We were waiting for incoming data which has just arrived. + + [self continueSSLHandshake]; + } + #endif + } + else + { + // We are still waiting for the writeQueue to drain and start the SSL/TLS process. + // We now know data is available to read. + + if (![self usingCFStream]) + { + // Suspend the read source or else it will continue to fire nonstop. + + [self suspendReadSource]; + } + } + + return; + } + + BOOL done = NO; // Completed read operation + NSError *error = nil; // Error occured + + NSUInteger totalBytesReadForCurrentRead = 0; + + // + // STEP 1 - READ FROM PREBUFFER + // + + NSUInteger partialReadBufferLength = [partialReadBuffer length]; + + if (partialReadBufferLength > 0) + { + // There are 3 types of read packets: + // + // 1) Read all available data. + // 2) Read a specific length of data. + // 3) Read up to a particular terminator. + + NSUInteger bytesToCopy; + + if (currentRead->term != nil) + { + // Read type #3 - read up to a terminator + + bytesToCopy = [currentRead readLengthForTermWithPreBuffer:partialReadBuffer found:&done]; + } + else + { + // Read type #1 or #2 + + bytesToCopy = [currentRead readLengthForNonTermWithHint:partialReadBufferLength]; + } + + // Make sure we have enough room in the buffer for our read. + + [currentRead ensureCapacityForAdditionalDataOfLength:bytesToCopy]; + + // Copy bytes from prebuffer into packet buffer + + uint8_t *buffer = (uint8_t *)[currentRead->buffer mutableBytes] + currentRead->startOffset + + currentRead->bytesDone; + + memcpy(buffer, [partialReadBuffer bytes], bytesToCopy); + + // Remove the copied bytes from the partial read buffer + [partialReadBuffer replaceBytesInRange:NSMakeRange(0, bytesToCopy) withBytes:NULL length:0]; + partialReadBufferLength -= bytesToCopy; + + LogVerbose(@"copied(%lu) partialReadBufferLength(%lu)", bytesToCopy, partialReadBufferLength); + + // Update totals + + currentRead->bytesDone += bytesToCopy; + totalBytesReadForCurrentRead += bytesToCopy; + + // Check to see if the read operation is done + + if (currentRead->readLength > 0) + { + // Read type #2 - read a specific length of data + + done = (currentRead->bytesDone == currentRead->readLength); + } + else if (currentRead->term != nil) + { + // Read type #3 - read up to a terminator + + // Our 'done' variable was updated via the readLengthForTermWithPreBuffer:found: method + + if (!done && currentRead->maxLength > 0) + { + // We're not done and there's a set maxLength. + // Have we reached that maxLength yet? + + if (currentRead->bytesDone >= currentRead->maxLength) + { + error = [self readMaxedOutError]; + } + } + } + else + { + // Read type #1 - read all available data + // + // We're done as soon as + // - we've read all available data (in prebuffer and socket) + // - we've read the maxLength of read packet. + + done = ((currentRead->maxLength > 0) && (currentRead->bytesDone == currentRead->maxLength)); + } + + } + + // + // STEP 2 - READ FROM SOCKET + // + + BOOL socketEOF = (flags & kSocketHasReadEOF) ? YES : NO; // Nothing more to via socket (end of file) + BOOL waiting = !done && !error && !socketEOF && !hasBytesAvailable; // Ran out of data, waiting for more + + if (!done && !error && !socketEOF && !waiting && hasBytesAvailable) + { + NSAssert((partialReadBufferLength == 0), @"Invalid logic"); + + // There are 3 types of read packets: + // + // 1) Read all available data. + // 2) Read a specific length of data. + // 3) Read up to a particular terminator. + + BOOL readIntoPartialReadBuffer = NO; + NSUInteger bytesToRead; + + if ([self usingCFStream]) + { + // Since Apple has neglected to make SecureTransport available on iOS, + // we are relegated to using the slower, less powerful, RunLoop based CFStream API. + // + // This API doesn't tell us how much data is available on the socket to be read. + // If we had that information we could optimize our memory allocations, and sys calls. + // + // But alas... + // So we do it old school, and just read as much data from the socket as we can. + + NSUInteger defaultReadLength = (1024 * 32); + + bytesToRead = [currentRead optimalReadLengthWithDefault:defaultReadLength + shouldPreBuffer:&readIntoPartialReadBuffer]; + } + else + { + if (currentRead->term != nil) + { + // Read type #3 - read up to a terminator + + bytesToRead = [currentRead readLengthForTermWithHint:estimatedBytesAvailable + shouldPreBuffer:&readIntoPartialReadBuffer]; + } + else + { + // Read type #1 or #2 + + bytesToRead = [currentRead readLengthForNonTermWithHint:estimatedBytesAvailable]; + } + } + + if (bytesToRead > SIZE_MAX) // NSUInteger may be bigger than size_t (read param 3) + { + bytesToRead = SIZE_MAX; + } + + // Make sure we have enough room in the buffer for our read. + // + // We are either reading directly into the currentRead->buffer, + // or we're reading into the temporary partialReadBuffer. + + uint8_t *buffer; + + if (readIntoPartialReadBuffer) + { + if (bytesToRead > partialReadBufferLength) + { + [partialReadBuffer setLength:bytesToRead]; + } + + buffer = [partialReadBuffer mutableBytes]; + } + else + { + [currentRead ensureCapacityForAdditionalDataOfLength:bytesToRead]; + + buffer = (uint8_t *)[currentRead->buffer mutableBytes] + currentRead->startOffset + currentRead->bytesDone; + } + + // Read data into buffer + + size_t bytesRead = 0; + + if (flags & kSocketSecure) + { + #if TARGET_OS_IPHONE + { + CFIndex result = CFReadStreamRead(readStream, buffer, (CFIndex)bytesToRead); + LogVerbose(@"CFReadStreamRead(): result = %i", (int)result); + + if (result < 0) + { + error = [NSMakeCollectable(CFReadStreamCopyError(readStream)) autorelease]; + + if (readIntoPartialReadBuffer) + [partialReadBuffer setLength:0]; + } + else if (result == 0) + { + socketEOF = YES; + + if (readIntoPartialReadBuffer) + [partialReadBuffer setLength:0]; + } + else + { + waiting = YES; + bytesRead = (size_t)result; + } + + // We only know how many decrypted bytes were read. + // The actual number of bytes read was likely more due to the overhead of the encryption. + // So we reset our flag, and rely on the next callback to alert us of more data. + flags &= ~kSecureSocketHasBytesAvailable; + } + #else + { + // The documentation from Apple states: + // + // "a read operation might return errSSLWouldBlock, + // indicating that less data than requested was actually transferred" + // + // However, starting around 10.7, the function will sometimes return noErr, + // even if it didn't read as much data as requested. So we need to watch out for that. + + OSStatus result; + do + { + void *loop_buffer = buffer + bytesRead; + size_t loop_bytesToRead = (size_t)bytesToRead - bytesRead; + size_t loop_bytesRead = 0; + + result = SSLRead(sslContext, loop_buffer, loop_bytesToRead, &loop_bytesRead); + LogVerbose(@"read from secure socket = %u", (unsigned)bytesRead); + + bytesRead += loop_bytesRead; + + } while ((result == noErr) && (bytesRead < bytesToRead)); + + + if (result != noErr) + { + if (result == errSSLWouldBlock) + waiting = YES; + else + error = [self sslError:result]; + + // It's possible that bytesRead > 0, yet the result is errSSLWouldBlock. + // This happens when the SSLRead function is able to read some data, + // but not the entire amount we requested. + + if (bytesRead <= 0) + { + bytesRead = 0; + + if (readIntoPartialReadBuffer) + [partialReadBuffer setLength:0]; + } + } + + // Do not modify socketFDBytesAvailable. + // It will be updated via the SSLReadFunction(). + } + #endif + } + else + { + int socketFD = (socket4FD == SOCKET_NULL) ? socket6FD : socket4FD; + + ssize_t result = read(socketFD, buffer, (size_t)bytesToRead); + LogVerbose(@"read from socket = %i", (int)result); + + if (result < 0) + { + if (errno == EWOULDBLOCK) + waiting = YES; + else + error = [self errnoErrorWithReason:@"Error in read() function"]; + + socketFDBytesAvailable = 0; + + if (readIntoPartialReadBuffer) + [partialReadBuffer setLength:0]; + } + else if (result == 0) + { + socketEOF = YES; + socketFDBytesAvailable = 0; + + if (readIntoPartialReadBuffer) + [partialReadBuffer setLength:0]; + } + else + { + bytesRead = result; + + if (socketFDBytesAvailable <= bytesRead) + socketFDBytesAvailable = 0; + else + socketFDBytesAvailable -= bytesRead; + + if (socketFDBytesAvailable == 0) + { + waiting = YES; + } + } + } + + if (bytesRead > 0) + { + // Check to see if the read operation is done + + if (currentRead->readLength > 0) + { + // Read type #2 - read a specific length of data + // + // Note: We should never be using a prebuffer when we're reading a specific length of data. + + NSAssert(readIntoPartialReadBuffer == NO, @"Invalid logic"); + + currentRead->bytesDone += bytesRead; + totalBytesReadForCurrentRead += bytesRead; + + done = (currentRead->bytesDone == currentRead->readLength); + } + else if (currentRead->term != nil) + { + // Read type #3 - read up to a terminator + + if (readIntoPartialReadBuffer) + { + // We just read a big chunk of data into the partialReadBuffer. + // Search for the terminating sequence. + // + // Note: We are depending upon [partialReadBuffer length] to tell us how much data is + // available in the partialReadBuffer. So we need to be sure this matches how many bytes + // have actually been read into said buffer. + + [partialReadBuffer setLength:bytesRead]; + + bytesToRead = [currentRead readLengthForTermWithPreBuffer:partialReadBuffer found:&done]; + + // Ensure there's room on the read packet's buffer + + [currentRead ensureCapacityForAdditionalDataOfLength:bytesToRead]; + + // Copy bytes from prebuffer into read buffer + + uint8_t *preBuf = [partialReadBuffer mutableBytes]; + uint8_t *readBuf = (uint8_t *)[currentRead->buffer mutableBytes] + currentRead->startOffset + + currentRead->bytesDone; + + memcpy(readBuf, preBuf, bytesToRead); + + // Remove the copied bytes from the prebuffer + [partialReadBuffer replaceBytesInRange:NSMakeRange(0, bytesToRead) withBytes:NULL length:0]; + + // Update totals + currentRead->bytesDone += bytesToRead; + totalBytesReadForCurrentRead += bytesToRead; + + // Our 'done' variable was updated via the readLengthForTermWithPreBuffer:found: method above + } + else + { + // We just read a big chunk of data directly into the packet's buffer. + // We need to move any overflow into the prebuffer. + + NSInteger overflow = [currentRead searchForTermAfterPreBuffering:bytesRead]; + + if (overflow == 0) + { + // Perfect match! + // Every byte we read stays in the read buffer, + // and the last byte we read was the last byte of the term. + + currentRead->bytesDone += bytesRead; + totalBytesReadForCurrentRead += bytesRead; + done = YES; + } + else if (overflow > 0) + { + // The term was found within the data that we read, + // and there are extra bytes that extend past the end of the term. + // We need to move these excess bytes out of the read packet and into the prebuffer. + + NSInteger underflow = bytesRead - overflow; + + // Copy excess data into partialReadBuffer + void *overflowBuffer = buffer + currentRead->bytesDone + underflow; + + [partialReadBuffer appendBytes:overflowBuffer length:overflow]; + + // Note: The completeCurrentRead method will trim the buffer for us. + + currentRead->bytesDone += underflow; + totalBytesReadForCurrentRead += underflow; + done = YES; + } + else + { + // The term was not found within the data that we read. + + currentRead->bytesDone += bytesRead; + totalBytesReadForCurrentRead += bytesRead; + done = NO; + } + } + + if (!done && currentRead->maxLength > 0) + { + // We're not done and there's a set maxLength. + // Have we reached that maxLength yet? + + if (currentRead->bytesDone >= currentRead->maxLength) + { + error = [self readMaxedOutError]; + } + } + } + else + { + // Read type #1 - read all available data + + if (readIntoPartialReadBuffer) + { + // We just read a chunk of data into the partialReadBuffer. + // Copy the data into the read packet. + // + // Recall that we didn't read directly into the packet's buffer to avoid + // over-allocating memory since we had no clue how much data was available to be read. + // + // Note: We are depending upon [partialReadBuffer length] to tell us how much data is + // available in the partialReadBuffer. So we need to be sure this matches how many bytes + // have actually been read into said buffer. + + [partialReadBuffer setLength:bytesRead]; + + // Ensure there's room on the read packet's buffer + + [currentRead ensureCapacityForAdditionalDataOfLength:bytesRead]; + + // Copy bytes from prebuffer into read buffer + + uint8_t *preBuf = [partialReadBuffer mutableBytes]; + uint8_t *readBuf = (uint8_t *)[currentRead->buffer mutableBytes] + currentRead->startOffset + + currentRead->bytesDone; + + memcpy(readBuf, preBuf, bytesRead); + + // Remove the copied bytes from the prebuffer + [partialReadBuffer replaceBytesInRange:NSMakeRange(0, bytesRead) withBytes:NULL length:0]; + + // Update totals + currentRead->bytesDone += bytesRead; + totalBytesReadForCurrentRead += bytesRead; + } + else + { + currentRead->bytesDone += bytesRead; + totalBytesReadForCurrentRead += bytesRead; + } + + done = YES; + } + + } // if (bytesRead > 0) + + } // if (!done && !error && !socketEOF && !waiting && hasBytesAvailable) + + + if (!done && currentRead->readLength == 0 && currentRead->term == nil) + { + // Read type #1 - read all available data + // + // We might arrive here if we read data from the prebuffer but not from the socket. + + done = (totalBytesReadForCurrentRead > 0); + } + + // Check to see if we're done, or if we've made progress + + if (done) + { + [self completeCurrentRead]; + + if (!error && (!socketEOF || partialReadBufferLength > 0)) + { + [self maybeDequeueRead]; + } + } + else if (totalBytesReadForCurrentRead > 0) + { + // We're not done read type #2 or #3 yet, but we have read in some bytes + + if (delegateQueue && [delegate respondsToSelector:@selector(socket:didReadPartialDataOfLength:tag:)]) + { + id theDelegate = delegate; + GCDAsyncReadPacket *theRead = currentRead; + + dispatch_async(delegateQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + [theDelegate socket:self didReadPartialDataOfLength:totalBytesReadForCurrentRead tag:theRead->tag]; + + [pool drain]; + }); + } + } + + // Check for errors + + if (error) + { + [self closeWithError:error]; + } + else if (socketEOF) + { + [self doReadEOF]; + } + else if (waiting) + { + if (![self usingCFStream]) + { + // Monitor the socket for readability (if we're not already doing so) + [self resumeReadSource]; + } + } + + // Do not add any code here without first adding return statements in the error cases above. +} + +- (void)doReadEOF +{ + LogTrace(); + + // This method may be called more than once. + // If the EOF is read while there is still data in the partialReadBuffer, + // then this method may be called continually after invocations of doReadData to see if it's time to disconnect. + + flags |= kSocketHasReadEOF; + + if (flags & kSocketSecure) + { + // If the SSL layer has any buffered data, flush it into the partialReadBuffer now. + + [self flushSSLBuffers]; + } + + BOOL shouldDisconnect; + NSError *error = nil; + + if ((flags & kStartingReadTLS) || (flags & kStartingWriteTLS)) + { + // We received an EOF during or prior to startTLS. + // The SSL/TLS handshake is now impossible, so this is an unrecoverable situation. + + shouldDisconnect = YES; + + #if !TARGET_OS_IPHONE + error = [self sslError:errSSLClosedAbort]; + #endif + } + else if (flags & kReadStreamClosed) + { + // The partialReadBuffer has already been drained. + // The config allows half-duplex connections. + // We've previously checked the socket, and it appeared writeable. + // So we marked the read stream as closed and notified the delegate. + // + // As per the half-duplex contract, the socket will be closed when a write fails, + // or when the socket is manually closed. + + shouldDisconnect = NO; + } + else if ([partialReadBuffer length] > 0) + { + LogVerbose(@"Socket reached EOF, but there is still data available in prebuffer"); + + // Although we won't be able to read any more data from the socket, + // there is existing data that has been prebuffered that we can read. + + shouldDisconnect = NO; + } + else if (config & kAllowHalfDuplexConnection) + { + // We just received an EOF (end of file) from the socket's read stream. + // This means the remote end of the socket (the peer we're connected to) + // has explicitly stated that it will not be sending us any more data. + // + // Query the socket to see if it is still writeable. (Perhaps the peer will continue reading data from us) + + int socketFD = (socket4FD == SOCKET_NULL) ? socket6FD : socket4FD; + + struct pollfd pfd[1]; + pfd[0].fd = socketFD; + pfd[0].events = POLLOUT; + pfd[0].revents = 0; + + poll(pfd, 1, 0); + + if (pfd[0].revents & POLLOUT) + { + // Socket appears to still be writeable + + shouldDisconnect = NO; + flags |= kReadStreamClosed; + + // Notify the delegate that we're going half-duplex + + if (delegateQueue && [delegate respondsToSelector:@selector(socketDidCloseReadStream:)]) + { + id theDelegate = delegate; + + dispatch_async(delegateQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + [theDelegate socketDidCloseReadStream:self]; + + [pool drain]; + }); + } + } + else + { + shouldDisconnect = YES; + } + } + else + { + shouldDisconnect = YES; + } + + + if (shouldDisconnect) + { + if (error == nil) + { + error = [self connectionClosedError]; + } + [self closeWithError:error]; + } + else + { + if (![self usingCFStream]) + { + // Suspend the read source (if needed) + + [self suspendReadSource]; + } + } +} + +- (void)completeCurrentRead +{ + LogTrace(); + + NSAssert(currentRead, @"Trying to complete current read when there is no current read."); + + + NSData *result; + + if (currentRead->bufferOwner) + { + // We created the buffer on behalf of the user. + // Trim our buffer to be the proper size. + [currentRead->buffer setLength:currentRead->bytesDone]; + + result = currentRead->buffer; + } + else + { + // We did NOT create the buffer. + // The buffer is owned by the caller. + // Only trim the buffer if we had to increase its size. + + if ([currentRead->buffer length] > currentRead->originalBufferLength) + { + NSUInteger readSize = currentRead->startOffset + currentRead->bytesDone; + NSUInteger origSize = currentRead->originalBufferLength; + + NSUInteger buffSize = MAX(readSize, origSize); + + [currentRead->buffer setLength:buffSize]; + } + + uint8_t *buffer = (uint8_t *)[currentRead->buffer mutableBytes] + currentRead->startOffset; + + result = [NSData dataWithBytesNoCopy:buffer length:currentRead->bytesDone freeWhenDone:NO]; + } + + if (delegateQueue && [delegate respondsToSelector:@selector(socket:didReadData:withTag:)]) + { + id theDelegate = delegate; + GCDAsyncReadPacket *theRead = currentRead; + + dispatch_async(delegateQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + [theDelegate socket:self didReadData:result withTag:theRead->tag]; + + [pool drain]; + }); + } + + [self endCurrentRead]; +} + +- (void)endCurrentRead +{ + if (readTimer) + { + dispatch_source_cancel(readTimer); + readTimer = NULL; + } + + [currentRead release]; + currentRead = nil; +} + +- (void)setupReadTimerWithTimeout:(NSTimeInterval)timeout +{ + if (timeout >= 0.0) + { + readTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, socketQueue); + + dispatch_source_set_event_handler(readTimer, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + [self doReadTimeout]; + [pool drain]; + }); + + dispatch_source_t theReadTimer = readTimer; + dispatch_source_set_cancel_handler(readTimer, ^{ + LogVerbose(@"dispatch_release(readTimer)"); + dispatch_release(theReadTimer); + }); + + dispatch_time_t tt = dispatch_time(DISPATCH_TIME_NOW, (timeout * NSEC_PER_SEC)); + + dispatch_source_set_timer(readTimer, tt, DISPATCH_TIME_FOREVER, 0); + dispatch_resume(readTimer); + } +} + +- (void)doReadTimeout +{ + // This is a little bit tricky. + // Ideally we'd like to synchronously query the delegate about a timeout extension. + // But if we do so synchronously we risk a possible deadlock. + // So instead we have to do so asynchronously, and callback to ourselves from within the delegate block. + + flags |= kReadsPaused; + + if (delegateQueue && [delegate respondsToSelector:@selector(socket:shouldTimeoutReadWithTag:elapsed:bytesDone:)]) + { + id theDelegate = delegate; + GCDAsyncReadPacket *theRead = currentRead; + + dispatch_async(delegateQueue, ^{ + NSAutoreleasePool *delegatePool = [[NSAutoreleasePool alloc] init]; + + NSTimeInterval timeoutExtension = 0.0; + + timeoutExtension = [theDelegate socket:self shouldTimeoutReadWithTag:theRead->tag + elapsed:theRead->timeout + bytesDone:theRead->bytesDone]; + + dispatch_async(socketQueue, ^{ + NSAutoreleasePool *callbackPool = [[NSAutoreleasePool alloc] init]; + + [self doReadTimeoutWithExtension:timeoutExtension]; + + [callbackPool drain]; + }); + + [delegatePool drain]; + }); + } + else + { + [self doReadTimeoutWithExtension:0.0]; + } +} + +- (void)doReadTimeoutWithExtension:(NSTimeInterval)timeoutExtension +{ + if (currentRead) + { + if (timeoutExtension > 0.0) + { + currentRead->timeout += timeoutExtension; + + // Reschedule the timer + dispatch_time_t tt = dispatch_time(DISPATCH_TIME_NOW, (timeoutExtension * NSEC_PER_SEC)); + dispatch_source_set_timer(readTimer, tt, DISPATCH_TIME_FOREVER, 0); + + // Unpause reads, and continue + flags &= ~kReadsPaused; + [self doReadData]; + } + else + { + LogVerbose(@"ReadTimeout"); + + [self closeWithError:[self readTimeoutError]]; + } + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Writing +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (void)writeData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag +{ + if ([data length] == 0) return; + + GCDAsyncWritePacket *packet = [[GCDAsyncWritePacket alloc] initWithData:data timeout:timeout tag:tag]; + + dispatch_async(socketQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + LogTrace(); + + if ((flags & kSocketStarted) && !(flags & kForbidReadsWrites)) + { + [writeQueue addObject:packet]; + [self maybeDequeueWrite]; + } + + [pool drain]; + }); + + // Do not rely on the block being run in order to release the packet, + // as the queue might get released without the block completing. + [packet release]; +} + +/** + * Conditionally starts a new write. + * + * It is called when: + * - a user requests a write + * - after a write request has finished (to handle the next request) + * - immediately after the socket opens to handle any pending requests + * + * This method also handles auto-disconnect post read/write completion. +**/ +- (void)maybeDequeueWrite +{ + LogTrace(); + NSAssert(dispatch_get_current_queue() == socketQueue, @"Must be dispatched on socketQueue"); + + + // If we're not currently processing a write AND we have an available write stream + if ((currentWrite == nil) && (flags & kConnected)) + { + if ([writeQueue count] > 0) + { + // Dequeue the next object in the write queue + currentWrite = [[writeQueue objectAtIndex:0] retain]; + [writeQueue removeObjectAtIndex:0]; + + + if ([currentWrite isKindOfClass:[GCDAsyncSpecialPacket class]]) + { + LogVerbose(@"Dequeued GCDAsyncSpecialPacket"); + + // Attempt to start TLS + flags |= kStartingWriteTLS; + + // This method won't do anything unless both kStartingReadTLS and kStartingWriteTLS are set + [self maybeStartTLS]; + } + else + { + LogVerbose(@"Dequeued GCDAsyncWritePacket"); + + // Setup write timer (if needed) + [self setupWriteTimerWithTimeout:currentWrite->timeout]; + + // Immediately write, if possible + [self doWriteData]; + } + } + else if (flags & kDisconnectAfterWrites) + { + if (flags & kDisconnectAfterReads) + { + if (([readQueue count] == 0) && (currentRead == nil)) + { + [self closeWithError:nil]; + } + } + else + { + [self closeWithError:nil]; + } + } + } +} + +- (void)doWriteData +{ + LogTrace(); + + // This method is called by the writeSource via the socketQueue + + if ((currentWrite == nil) || (flags & kWritesPaused)) + { + LogVerbose(@"No currentWrite or kWritesPaused"); + + // Unable to write at this time + + if ([self usingCFStream]) + { + // CFWriteStream only fires once when there is available data. + // It won't fire again until we've invoked CFWriteStreamWrite. + } + else + { + // If the writeSource is firing, we need to pause it + // or else it will continue to fire over and over again. + + if (flags & kSocketCanAcceptBytes) + { + [self suspendWriteSource]; + } + } + return; + } + + if (!(flags & kSocketCanAcceptBytes)) + { + LogVerbose(@"No space available to write..."); + + // No space available to write. + + if (![self usingCFStream]) + { + // Need to wait for writeSource to fire and notify us of + // available space in the socket's internal write buffer. + + [self resumeWriteSource]; + } + return; + } + + if (flags & kStartingWriteTLS) + { + LogVerbose(@"Waiting for SSL/TLS handshake to complete"); + + // The writeQueue is waiting for SSL/TLS handshake to complete. + + if (flags & kStartingReadTLS) + { + #if !TARGET_OS_IPHONE + + // We are in the process of a SSL Handshake. + // We were waiting for available space in the socket's internal OS buffer to continue writing. + + [self continueSSLHandshake]; + + #endif + } + else + { + // We are still waiting for the readQueue to drain and start the SSL/TLS process. + // We now know we can write to the socket. + + if (![self usingCFStream]) + { + // Suspend the write source or else it will continue to fire nonstop. + + [self suspendWriteSource]; + } + } + + return; + } + + // Note: This method is not called if theCurrentWrite is an GCDAsyncSpecialPacket (startTLS packet) + + BOOL waiting = NO; + NSError *error = nil; + size_t bytesWritten = 0; + + if (flags & kSocketSecure) + { + #if TARGET_OS_IPHONE + + const uint8_t *buffer = (const uint8_t *)[currentWrite->buffer bytes] + currentWrite->bytesDone; + + NSUInteger bytesToWrite = [currentWrite->buffer length] - currentWrite->bytesDone; + + if (bytesToWrite > SIZE_MAX) // NSUInteger may be bigger than size_t (write param 3) + { + bytesToWrite = SIZE_MAX; + } + + CFIndex result = CFWriteStreamWrite(writeStream, buffer, (CFIndex)bytesToWrite); + LogVerbose(@"CFWriteStreamWrite(%lu) = %li", bytesToWrite, result); + + if (result < 0) + { + error = [NSMakeCollectable(CFWriteStreamCopyError(writeStream)) autorelease]; + } + else + { + bytesWritten = (size_t)result; + + // We always set waiting to true in this scenario. + // CFStream may have altered our underlying socket to non-blocking. + // Thus if we attempt to write without a callback, we may end up blocking our queue. + waiting = YES; + } + + #else + + // We're going to use the SSLWrite function. + // + // OSStatus SSLWrite(SSLContextRef context, const void *data, size_t dataLength, size_t *processed) + // + // Parameters: + // context - An SSL session context reference. + // data - A pointer to the buffer of data to write. + // dataLength - The amount, in bytes, of data to write. + // processed - On return, the length, in bytes, of the data actually written. + // + // It sounds pretty straight-forward, + // but there are a few caveats you should be aware of. + // + // The SSLWrite method operates in a non-obvious (and rather annoying) manner. + // According to the documentation: + // + // Because you may configure the underlying connection to operate in a non-blocking manner, + // a write operation might return errSSLWouldBlock, indicating that less data than requested + // was actually transferred. In this case, you should repeat the call to SSLWrite until some + // other result is returned. + // + // This sounds perfect, but when our SSLWriteFunction returns errSSLWouldBlock, + // then the SSLWrite method returns (with the proper errSSLWouldBlock return value), + // but it sets bytesWritten to bytesToWrite !! + // + // In other words, if the SSLWrite function doesn't completely write all the data we tell it to, + // then it doesn't tell us how many bytes were actually written. + // + // You might be wondering: + // If the SSLWrite function doesn't tell us how many bytes were written, + // then how in the world are we supposed to update our parameters (buffer & bytesToWrite) + // for the next time we invoke SSLWrite? + // + // The answer is that SSLWrite cached all the data we told it to write, + // and it will push out that data next time we call SSLWrite. + // If we call SSLWrite with new data, it will push out the cached data first, and then the new data. + // If we call SSLWrite with empty data, then it will simply push out the cached data. + // + // For this purpose we're going to break large writes into a series of smaller writes. + // This allows us to report progress back to the delegate. + + OSStatus result; + + BOOL hasCachedDataToWrite = (sslWriteCachedLength > 0); + BOOL hasNewDataToWrite = YES; + + if (hasCachedDataToWrite) + { + size_t processed = 0; + + result = SSLWrite(sslContext, NULL, 0, &processed); + + if (result == noErr) + { + bytesWritten = sslWriteCachedLength; + sslWriteCachedLength = 0; + + if (currentWrite->bytesDone == [currentWrite->buffer length]) + { + // We've written all data for the current write. + hasNewDataToWrite = NO; + } + } + else + { + if (result == errSSLWouldBlock) + { + waiting = YES; + } + else + { + error = [self sslError:result]; + } + + // Can't write any new data since we were unable to write the cached data. + hasNewDataToWrite = NO; + } + } + + if (hasNewDataToWrite) + { + const uint8_t *buffer = (const uint8_t *)[currentWrite->buffer bytes] + currentWrite->bytesDone + bytesWritten; + + NSUInteger bytesToWrite = [currentWrite->buffer length] - currentWrite->bytesDone - bytesWritten; + + if (bytesToWrite > SIZE_MAX) // NSUInteger may be bigger than size_t (write param 3) + { + bytesToWrite = SIZE_MAX; + } + + size_t bytesRemaining = bytesToWrite; + + BOOL keepLooping = YES; + while (keepLooping) + { + size_t sslBytesToWrite = MIN(bytesRemaining, 32768); + size_t sslBytesWritten = 0; + + result = SSLWrite(sslContext, buffer, sslBytesToWrite, &sslBytesWritten); + + if (result == noErr) + { + buffer += sslBytesWritten; + bytesWritten += sslBytesWritten; + bytesRemaining -= sslBytesWritten; + + keepLooping = (bytesRemaining > 0); + } + else + { + if (result == errSSLWouldBlock) + { + waiting = YES; + sslWriteCachedLength = sslBytesToWrite; + } + else + { + error = [self sslError:result]; + } + + keepLooping = NO; + } + + } // while (keepLooping) + + } // if (hasNewDataToWrite) + + #endif + } + else + { + int socketFD = (socket4FD == SOCKET_NULL) ? socket6FD : socket4FD; + + const uint8_t *buffer = (const uint8_t *)[currentWrite->buffer bytes] + currentWrite->bytesDone; + + NSUInteger bytesToWrite = [currentWrite->buffer length] - currentWrite->bytesDone; + + if (bytesToWrite > SIZE_MAX) // NSUInteger may be bigger than size_t (write param 3) + { + bytesToWrite = SIZE_MAX; + } + + ssize_t result = write(socketFD, buffer, (size_t)bytesToWrite); + LogVerbose(@"wrote to socket = %zd", result); + + // Check results + if (result < 0) + { + if (errno == EWOULDBLOCK) + { + waiting = YES; + } + else + { + error = [self errnoErrorWithReason:@"Error in write() function"]; + } + } + else + { + bytesWritten = result; + } + } + + // We're done with our writing. + // If we explictly ran into a situation where the socket told us there was no room in the buffer, + // then we immediately resume listening for notifications. + // + // We must do this before we dequeue another write, + // as that may in turn invoke this method again. + // + // Note that if CFStream is involved, it may have maliciously put our socket in blocking mode. + + if (waiting) + { + flags &= ~kSocketCanAcceptBytes; + + if (![self usingCFStream]) + { + [self resumeWriteSource]; + } + } + + // Check our results + + BOOL done = NO; + + if (bytesWritten > 0) + { + // Update total amount read for the current write + currentWrite->bytesDone += bytesWritten; + LogVerbose(@"currentWrite->bytesDone = %lu", currentWrite->bytesDone); + + // Is packet done? + done = (currentWrite->bytesDone == [currentWrite->buffer length]); + } + + if (done) + { + [self completeCurrentWrite]; + + if (!error) + { + [self maybeDequeueWrite]; + } + } + else + { + // We were unable to finish writing the data, + // so we're waiting for another callback to notify us of available space in the lower-level output buffer. + + if (!waiting & !error) + { + // This would be the case if our write was able to accept some data, but not all of it. + + flags &= ~kSocketCanAcceptBytes; + + if (![self usingCFStream]) + { + [self resumeWriteSource]; + } + } + + if (bytesWritten > 0) + { + // We're not done with the entire write, but we have written some bytes + + if (delegateQueue && [delegate respondsToSelector:@selector(socket:didWritePartialDataOfLength:tag:)]) + { + id theDelegate = delegate; + GCDAsyncWritePacket *theWrite = currentWrite; + + dispatch_async(delegateQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + [theDelegate socket:self didWritePartialDataOfLength:bytesWritten tag:theWrite->tag]; + + [pool drain]; + }); + } + } + } + + // Check for errors + + if (error) + { + [self closeWithError:[self errnoErrorWithReason:@"Error in write() function"]]; + } + + // Do not add any code here without first adding a return statement in the error case above. +} + +- (void)completeCurrentWrite +{ + LogTrace(); + + NSAssert(currentWrite, @"Trying to complete current write when there is no current write."); + + + if (delegateQueue && [delegate respondsToSelector:@selector(socket:didWriteDataWithTag:)]) + { + id theDelegate = delegate; + GCDAsyncWritePacket *theWrite = currentWrite; + + dispatch_async(delegateQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + [theDelegate socket:self didWriteDataWithTag:theWrite->tag]; + + [pool drain]; + }); + } + + [self endCurrentWrite]; +} + +- (void)endCurrentWrite +{ + if (writeTimer) + { + dispatch_source_cancel(writeTimer); + writeTimer = NULL; + } + + [currentWrite release]; + currentWrite = nil; +} + +- (void)setupWriteTimerWithTimeout:(NSTimeInterval)timeout +{ + if (timeout >= 0.0) + { + writeTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, socketQueue); + + dispatch_source_set_event_handler(writeTimer, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + [self doWriteTimeout]; + + [pool drain]; + }); + + dispatch_source_t theWriteTimer = writeTimer; + dispatch_source_set_cancel_handler(writeTimer, ^{ + LogVerbose(@"dispatch_release(writeTimer)"); + dispatch_release(theWriteTimer); + }); + + dispatch_time_t tt = dispatch_time(DISPATCH_TIME_NOW, (timeout * NSEC_PER_SEC)); + + dispatch_source_set_timer(writeTimer, tt, DISPATCH_TIME_FOREVER, 0); + dispatch_resume(writeTimer); + } +} + +- (void)doWriteTimeout +{ + // This is a little bit tricky. + // Ideally we'd like to synchronously query the delegate about a timeout extension. + // But if we do so synchronously we risk a possible deadlock. + // So instead we have to do so asynchronously, and callback to ourselves from within the delegate block. + + flags |= kWritesPaused; + + if (delegateQueue && [delegate respondsToSelector:@selector(socket:shouldTimeoutWriteWithTag:elapsed:bytesDone:)]) + { + id theDelegate = delegate; + GCDAsyncWritePacket *theWrite = currentWrite; + + dispatch_async(delegateQueue, ^{ + NSAutoreleasePool *delegatePool = [[NSAutoreleasePool alloc] init]; + + NSTimeInterval timeoutExtension = 0.0; + + timeoutExtension = [theDelegate socket:self shouldTimeoutWriteWithTag:theWrite->tag + elapsed:theWrite->timeout + bytesDone:theWrite->bytesDone]; + + dispatch_async(socketQueue, ^{ + NSAutoreleasePool *callbackPool = [[NSAutoreleasePool alloc] init]; + + [self doWriteTimeoutWithExtension:timeoutExtension]; + + [callbackPool drain]; + }); + + [delegatePool drain]; + }); + } + else + { + [self doWriteTimeoutWithExtension:0.0]; + } +} + +- (void)doWriteTimeoutWithExtension:(NSTimeInterval)timeoutExtension +{ + if (currentWrite) + { + if (timeoutExtension > 0.0) + { + currentWrite->timeout += timeoutExtension; + + // Reschedule the timer + dispatch_time_t tt = dispatch_time(DISPATCH_TIME_NOW, (timeoutExtension * NSEC_PER_SEC)); + dispatch_source_set_timer(writeTimer, tt, DISPATCH_TIME_FOREVER, 0); + + // Unpause writes, and continue + flags &= ~kWritesPaused; + [self doWriteData]; + } + else + { + LogVerbose(@"WriteTimeout"); + + [self closeWithError:[self writeTimeoutError]]; + } + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Security +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (void)startTLS:(NSDictionary *)tlsSettings +{ + LogTrace(); + + if (tlsSettings == nil) + { + // Passing nil/NULL to CFReadStreamSetProperty will appear to work the same as passing an empty dictionary, + // but causes problems if we later try to fetch the remote host's certificate. + // + // To be exact, it causes the following to return NULL instead of the normal result: + // CFReadStreamCopyProperty(readStream, kCFStreamPropertySSLPeerCertificates) + // + // So we use an empty dictionary instead, which works perfectly. + + tlsSettings = [NSDictionary dictionary]; + } + + GCDAsyncSpecialPacket *packet = [[GCDAsyncSpecialPacket alloc] initWithTLSSettings:tlsSettings]; + + dispatch_async(socketQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + if ((flags & kSocketStarted) && !(flags & kQueuedTLS) && !(flags & kForbidReadsWrites)) + { + [readQueue addObject:packet]; + [writeQueue addObject:packet]; + + flags |= kQueuedTLS; + + [self maybeDequeueRead]; + [self maybeDequeueWrite]; + } + + [pool drain]; + }); + + [packet release]; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Security - Mac OS X +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#if !TARGET_OS_IPHONE + +- (OSStatus)sslReadWithBuffer:(void *)buffer length:(size_t *)bufferLength +{ + LogVerbose(@"sslReadWithBuffer:%p length:%lu", buffer, (unsigned long)*bufferLength); + + if ((socketFDBytesAvailable == 0) && ([sslReadBuffer length] == 0)) + { + LogVerbose(@"%@ - No data available to read...", THIS_METHOD); + + // No data available to read. + // + // Need to wait for readSource to fire and notify us of + // available data in the socket's internal read buffer. + + [self resumeReadSource]; + + *bufferLength = 0; + return errSSLWouldBlock; + } + + size_t totalBytesRead = 0; + size_t totalBytesLeftToBeRead = *bufferLength; + + BOOL done = NO; + BOOL socketError = NO; + + // + // STEP 1 : READ FROM SSL PRE BUFFER + // + + NSUInteger sslReadBufferLength = [sslReadBuffer length]; + + if (sslReadBufferLength > 0) + { + LogVerbose(@"%@: Reading from SSL pre buffer...", THIS_METHOD); + + size_t bytesToCopy; + if (sslReadBufferLength > totalBytesLeftToBeRead) + bytesToCopy = totalBytesLeftToBeRead; + else + bytesToCopy = (size_t)sslReadBufferLength; + + LogVerbose(@"%@: Copying %zu bytes from sslReadBuffer", THIS_METHOD, bytesToCopy); + + memcpy(buffer, [sslReadBuffer mutableBytes], bytesToCopy); + + [sslReadBuffer replaceBytesInRange:NSMakeRange(0, bytesToCopy) withBytes:NULL length:0]; + + LogVerbose(@"%@: sslReadBuffer.length = %lu", THIS_METHOD, (unsigned long)[sslReadBuffer length]); + + totalBytesRead += bytesToCopy; + totalBytesLeftToBeRead -= bytesToCopy; + + done = (totalBytesLeftToBeRead == 0); + + if (done) LogVerbose(@"%@: Complete", THIS_METHOD); + } + + // + // STEP 2 : READ FROM SOCKET + // + + if (!done && (socketFDBytesAvailable > 0)) + { + LogVerbose(@"%@: Reading from socket...", THIS_METHOD); + + int socketFD = (socket6FD == SOCKET_NULL) ? socket4FD : socket6FD; + + BOOL readIntoPreBuffer; + size_t bytesToRead; + uint8_t *buf; + + if (socketFDBytesAvailable > totalBytesLeftToBeRead) + { + // Read all available data from socket into sslReadBuffer. + // Then copy requested amount into dataBuffer. + + LogVerbose(@"%@: Reading into sslReadBuffer...", THIS_METHOD); + + if ([sslReadBuffer length] < socketFDBytesAvailable) + { + [sslReadBuffer setLength:socketFDBytesAvailable]; + } + + readIntoPreBuffer = YES; + bytesToRead = (size_t)socketFDBytesAvailable; + buf = [sslReadBuffer mutableBytes]; + } + else + { + // Read available data from socket directly into dataBuffer. + + LogVerbose(@"%@: Reading directly into dataBuffer...", THIS_METHOD); + + readIntoPreBuffer = NO; + bytesToRead = totalBytesLeftToBeRead; + buf = (uint8_t *)buffer + totalBytesRead; + } + + ssize_t result = read(socketFD, buf, bytesToRead); + LogVerbose(@"%@: read from socket = %zd", THIS_METHOD, result); + + if (result < 0) + { + LogVerbose(@"%@: read errno = %i", THIS_METHOD, errno); + + if (errno != EWOULDBLOCK) + { + socketError = YES; + } + + socketFDBytesAvailable = 0; + + if (readIntoPreBuffer) + { + [sslReadBuffer setLength:0]; + } + } + else if (result == 0) + { + LogVerbose(@"%@: read EOF", THIS_METHOD); + + socketError = YES; + socketFDBytesAvailable = 0; + + if (readIntoPreBuffer) + { + [sslReadBuffer setLength:0]; + } + } + else + { + size_t bytesReadFromSocket = result; + + if (socketFDBytesAvailable > bytesReadFromSocket) + socketFDBytesAvailable -= bytesReadFromSocket; + else + socketFDBytesAvailable = 0; + + if (readIntoPreBuffer) + { + size_t bytesToCopy = MIN(totalBytesLeftToBeRead, bytesReadFromSocket); + + LogVerbose(@"%@: Copying %zu bytes out of sslReadBuffer", THIS_METHOD, bytesToCopy); + + memcpy((uint8_t *)buffer + totalBytesRead, [sslReadBuffer bytes], bytesToCopy); + + [sslReadBuffer setLength:bytesReadFromSocket]; + [sslReadBuffer replaceBytesInRange:NSMakeRange(0, bytesToCopy) withBytes:NULL length:0]; + + totalBytesRead += bytesToCopy; + totalBytesLeftToBeRead -= bytesToCopy; + + LogVerbose(@"%@: sslReadBuffer.length = %lu", THIS_METHOD, (unsigned long)[sslReadBuffer length]); + } + else + { + totalBytesRead += bytesReadFromSocket; + totalBytesLeftToBeRead -= bytesReadFromSocket; + } + + done = (totalBytesLeftToBeRead == 0); + + if (done) LogVerbose(@"%@: Complete", THIS_METHOD); + } + } + + *bufferLength = totalBytesRead; + + if (done) + return noErr; + + if (socketError) + return errSSLClosedAbort; + + return errSSLWouldBlock; +} + +- (OSStatus)sslWriteWithBuffer:(const void *)buffer length:(size_t *)bufferLength +{ + if (!(flags & kSocketCanAcceptBytes)) + { + // Unable to write. + // + // Need to wait for writeSource to fire and notify us of + // available space in the socket's internal write buffer. + + [self resumeWriteSource]; + + *bufferLength = 0; + return errSSLWouldBlock; + } + + size_t bytesToWrite = *bufferLength; + size_t bytesWritten = 0; + + BOOL done = NO; + BOOL socketError = NO; + + int socketFD = (socket4FD == SOCKET_NULL) ? socket6FD : socket4FD; + + ssize_t result = write(socketFD, buffer, bytesToWrite); + + if (result < 0) + { + if (errno != EWOULDBLOCK) + { + socketError = YES; + } + + flags &= ~kSocketCanAcceptBytes; + } + else if (result == 0) + { + flags &= ~kSocketCanAcceptBytes; + } + else + { + bytesWritten = result; + + done = (bytesWritten == bytesToWrite); + } + + *bufferLength = bytesWritten; + + if (done) + return noErr; + + if (socketError) + return errSSLClosedAbort; + + return errSSLWouldBlock; +} + +static OSStatus SSLReadFunction(SSLConnectionRef connection, void *data, size_t *dataLength) +{ + GCDAsyncSocket *asyncSocket = (GCDAsyncSocket *)connection; + + NSCAssert(dispatch_get_current_queue() == asyncSocket->socketQueue, @"What the deuce?"); + + return [asyncSocket sslReadWithBuffer:data length:dataLength]; +} + +static OSStatus SSLWriteFunction(SSLConnectionRef connection, const void *data, size_t *dataLength) +{ + GCDAsyncSocket *asyncSocket = (GCDAsyncSocket *)connection; + + NSCAssert(dispatch_get_current_queue() == asyncSocket->socketQueue, @"What the deuce?"); + + return [asyncSocket sslWriteWithBuffer:data length:dataLength]; +} + +- (void)maybeStartTLS +{ + LogTrace(); + + // We can't start TLS until: + // - All queued reads prior to the user calling startTLS are complete + // - All queued writes prior to the user calling startTLS are complete + // + // We'll know these conditions are met when both kStartingReadTLS and kStartingWriteTLS are set + + if ((flags & kStartingReadTLS) && (flags & kStartingWriteTLS)) + { + LogVerbose(@"Starting TLS..."); + + OSStatus status; + + GCDAsyncSpecialPacket *tlsPacket = (GCDAsyncSpecialPacket *)currentRead; + NSDictionary *tlsSettings = tlsPacket->tlsSettings; + + // Create SSLContext, and setup IO callbacks and connection ref + + BOOL isServer = [[tlsSettings objectForKey:(NSString *)kCFStreamSSLIsServer] boolValue]; + + status = SSLNewContext(isServer, &sslContext); + if (status != noErr) + { + [self closeWithError:[self otherError:@"Error in SSLNewContext"]]; + return; + } + + status = SSLSetIOFuncs(sslContext, &SSLReadFunction, &SSLWriteFunction); + if (status != noErr) + { + [self closeWithError:[self otherError:@"Error in SSLSetIOFuncs"]]; + return; + } + + status = SSLSetConnection(sslContext, (SSLConnectionRef)self); + if (status != noErr) + { + [self closeWithError:[self otherError:@"Error in SSLSetConnection"]]; + return; + } + + // Configure SSLContext from given settings + // + // Checklist: + // 1. kCFStreamSSLPeerName + // 2. kCFStreamSSLAllowsAnyRoot + // 3. kCFStreamSSLAllowsExpiredRoots + // 4. kCFStreamSSLValidatesCertificateChain + // 5. kCFStreamSSLAllowsExpiredCertificates + // 6. kCFStreamSSLCertificates + // 7. kCFStreamSSLLevel + // 8. GCDAsyncSocketSSLCipherSuites + // 9. GCDAsyncSocketSSLDiffieHellmanParameters + + id value; + + // 1. kCFStreamSSLPeerName + + value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLPeerName]; + if ([value isKindOfClass:[NSString class]]) + { + NSString *peerName = (NSString *)value; + + const char *peer = [peerName UTF8String]; + size_t peerLen = strlen(peer); + + status = SSLSetPeerDomainName(sslContext, peer, peerLen); + if (status != noErr) + { + [self closeWithError:[self otherError:@"Error in SSLSetPeerDomainName"]]; + return; + } + } + + // 2. kCFStreamSSLAllowsAnyRoot + + value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLAllowsAnyRoot]; + if (value) + { + BOOL allowsAnyRoot = [value boolValue]; + + status = SSLSetAllowsAnyRoot(sslContext, allowsAnyRoot); + if (status != noErr) + { + [self closeWithError:[self otherError:@"Error in SSLSetAllowsAnyRoot"]]; + return; + } + } + + // 3. kCFStreamSSLAllowsExpiredRoots + + value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLAllowsExpiredRoots]; + if (value) + { + BOOL allowsExpiredRoots = [value boolValue]; + + status = SSLSetAllowsExpiredRoots(sslContext, allowsExpiredRoots); + if (status != noErr) + { + [self closeWithError:[self otherError:@"Error in SSLSetAllowsExpiredRoots"]]; + return; + } + } + + // 4. kCFStreamSSLValidatesCertificateChain + + value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLValidatesCertificateChain]; + if (value) + { + BOOL validatesCertChain = [value boolValue]; + + status = SSLSetEnableCertVerify(sslContext, validatesCertChain); + if (status != noErr) + { + [self closeWithError:[self otherError:@"Error in SSLSetEnableCertVerify"]]; + return; + } + } + + // 5. kCFStreamSSLAllowsExpiredCertificates + + value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLAllowsExpiredCertificates]; + if (value) + { + BOOL allowsExpiredCerts = [value boolValue]; + + status = SSLSetAllowsExpiredCerts(sslContext, allowsExpiredCerts); + if (status != noErr) + { + [self closeWithError:[self otherError:@"Error in SSLSetAllowsExpiredCerts"]]; + return; + } + } + + // 6. kCFStreamSSLCertificates + + value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLCertificates]; + if (value) + { + CFArrayRef certs = (CFArrayRef)value; + + status = SSLSetCertificate(sslContext, certs); + if (status != noErr) + { + [self closeWithError:[self otherError:@"Error in SSLSetCertificate"]]; + return; + } + } + + // 7. kCFStreamSSLLevel + + value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLLevel]; + if (value) + { + NSString *sslLevel = (NSString *)value; + + if ([sslLevel isEqualToString:(NSString *)kCFStreamSocketSecurityLevelSSLv2]) + { + // kCFStreamSocketSecurityLevelSSLv2: + // + // Specifies that SSL version 2 be set as the security protocol. + + SSLSetProtocolVersionEnabled(sslContext, kSSLProtocolAll, NO); + SSLSetProtocolVersionEnabled(sslContext, kSSLProtocol2, YES); + } + else if ([sslLevel isEqualToString:(NSString *)kCFStreamSocketSecurityLevelSSLv3]) + { + // kCFStreamSocketSecurityLevelSSLv3: + // + // Specifies that SSL version 3 be set as the security protocol. + // If SSL version 3 is not available, specifies that SSL version 2 be set as the security protocol. + + SSLSetProtocolVersionEnabled(sslContext, kSSLProtocolAll, NO); + SSLSetProtocolVersionEnabled(sslContext, kSSLProtocol2, YES); + SSLSetProtocolVersionEnabled(sslContext, kSSLProtocol3, YES); + } + else if ([sslLevel isEqualToString:(NSString *)kCFStreamSocketSecurityLevelTLSv1]) + { + // kCFStreamSocketSecurityLevelTLSv1: + // + // Specifies that TLS version 1 be set as the security protocol. + + SSLSetProtocolVersionEnabled(sslContext, kSSLProtocolAll, NO); + SSLSetProtocolVersionEnabled(sslContext, kTLSProtocol1, YES); + } + else if ([sslLevel isEqualToString:(NSString *)kCFStreamSocketSecurityLevelNegotiatedSSL]) + { + // kCFStreamSocketSecurityLevelNegotiatedSSL: + // + // Specifies that the highest level security protocol that can be negotiated be used. + + SSLSetProtocolVersionEnabled(sslContext, kSSLProtocolAll, YES); + } + } + + // 8. GCDAsyncSocketSSLCipherSuites + + value = [tlsSettings objectForKey:GCDAsyncSocketSSLCipherSuites]; + if (value) + { + NSArray *cipherSuites = (NSArray *)value; + NSUInteger numberCiphers = [cipherSuites count]; + SSLCipherSuite ciphers[numberCiphers]; + + NSUInteger cipherIndex; + for (cipherIndex = 0; cipherIndex < numberCiphers; cipherIndex++) + { + NSNumber *cipherObject = [cipherSuites objectAtIndex:cipherIndex]; + ciphers[cipherIndex] = [cipherObject shortValue]; + } + + status = SSLSetEnabledCiphers(sslContext, ciphers, numberCiphers); + if (status != noErr) + { + [self closeWithError:[self otherError:@"Error in SSLSetEnabledCiphers"]]; + return; + } + } + + // 9. GCDAsyncSocketSSLDiffieHellmanParameters + + value = [tlsSettings objectForKey:GCDAsyncSocketSSLDiffieHellmanParameters]; + if (value) + { + NSData *diffieHellmanData = (NSData *)value; + + status = SSLSetDiffieHellmanParams(sslContext, [diffieHellmanData bytes], [diffieHellmanData length]); + if (status != noErr) + { + [self closeWithError:[self otherError:@"Error in SSLSetDiffieHellmanParams"]]; + return; + } + } + + // Setup the sslReadBuffer + // + // If there is any data in the partialReadBuffer, + // this needs to be moved into the sslReadBuffer, + // as this data is now part of the secure read stream. + + sslReadBuffer = [[NSMutableData alloc] init]; + + if ([partialReadBuffer length] > 0) + { + [sslReadBuffer appendData:partialReadBuffer]; + [partialReadBuffer setLength:0]; + } + + // Start the SSL Handshake process + + [self continueSSLHandshake]; + } +} + +- (void)continueSSLHandshake +{ + LogTrace(); + + // If the return value is noErr, the session is ready for normal secure communication. + // If the return value is errSSLWouldBlock, the SSLHandshake function must be called again. + // Otherwise, the return value indicates an error code. + + OSStatus status = SSLHandshake(sslContext); + + if (status == noErr) + { + LogVerbose(@"SSLHandshake complete"); + + flags &= ~kStartingReadTLS; + flags &= ~kStartingWriteTLS; + + flags |= kSocketSecure; + + if (delegateQueue && [delegate respondsToSelector:@selector(socketDidSecure:)]) + { + id theDelegate = delegate; + + dispatch_async(delegateQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + [theDelegate socketDidSecure:self]; + + [pool drain]; + }); + } + + [self endCurrentRead]; + [self endCurrentWrite]; + + [self maybeDequeueRead]; + [self maybeDequeueWrite]; + } + else if (status == errSSLWouldBlock) + { + LogVerbose(@"SSLHandshake continues..."); + + // Handshake continues... + // + // This method will be called again from doReadData or doWriteData. + } + else + { + [self closeWithError:[self sslError:status]]; + } +} + +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Security - iOS +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#if TARGET_OS_IPHONE + +- (void)finishSSLHandshake +{ + LogTrace(); + + if ((flags & kStartingReadTLS) && (flags & kStartingWriteTLS)) + { + flags &= ~kStartingReadTLS; + flags &= ~kStartingWriteTLS; + + flags |= kSocketSecure; + + if (delegateQueue && [delegate respondsToSelector:@selector(socketDidSecure:)]) + { + id theDelegate = delegate; + + dispatch_async(delegateQueue, ^{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + [theDelegate socketDidSecure:self]; + + [pool drain]; + }); + } + + [self endCurrentRead]; + [self endCurrentWrite]; + + [self maybeDequeueRead]; + [self maybeDequeueWrite]; + } +} + +- (void)abortSSLHandshake:(NSError *)error +{ + LogTrace(); + + if ((flags & kStartingReadTLS) && (flags & kStartingWriteTLS)) + { + flags &= ~kStartingReadTLS; + flags &= ~kStartingWriteTLS; + + [self closeWithError:error]; + } +} + +- (void)maybeStartTLS +{ + LogTrace(); + + // We can't start TLS until: + // - All queued reads prior to the user calling startTLS are complete + // - All queued writes prior to the user calling startTLS are complete + // + // We'll know these conditions are met when both kStartingReadTLS and kStartingWriteTLS are set + + if ((flags & kStartingReadTLS) && (flags & kStartingWriteTLS)) + { + LogVerbose(@"Starting TLS..."); + + if ([partialReadBuffer length] > 0) + { + NSString *msg = @"Invalid TLS transition. Handshake has already been read from socket."; + + [self closeWithError:[self otherError:msg]]; + return; + } + + [self suspendReadSource]; + [self suspendWriteSource]; + + socketFDBytesAvailable = 0; + flags &= ~kSocketCanAcceptBytes; + flags &= ~kSecureSocketHasBytesAvailable; + + if (![self createReadAndWriteStream]) + { + [self closeWithError:[self otherError:@"Error in CFStreamCreatePairWithSocket"]]; + return; + } + + if (![self registerForStreamCallbacksIncludingReadWrite:YES]) + { + [self closeWithError:[self otherError:@"Error in CFStreamSetClient"]]; + return; + } + + if (![self addStreamsToRunLoop]) + { + [self closeWithError:[self otherError:@"Error in CFStreamScheduleWithRunLoop"]]; + return; + } + + NSAssert([currentRead isKindOfClass:[GCDAsyncSpecialPacket class]], @"Invalid read packet for startTLS"); + NSAssert([currentWrite isKindOfClass:[GCDAsyncSpecialPacket class]], @"Invalid write packet for startTLS"); + + GCDAsyncSpecialPacket *tlsPacket = (GCDAsyncSpecialPacket *)currentRead; + NSDictionary *tlsSettings = tlsPacket->tlsSettings; + + // Getting an error concerning kCFStreamPropertySSLSettings ? + // You need to add the CFNetwork framework to your iOS application. + + BOOL r1 = CFReadStreamSetProperty(readStream, kCFStreamPropertySSLSettings, (CFDictionaryRef)tlsSettings); + BOOL r2 = CFWriteStreamSetProperty(writeStream, kCFStreamPropertySSLSettings, (CFDictionaryRef)tlsSettings); + + // For some reason, starting around the time of iOS 4.3, + // the first call to set the kCFStreamPropertySSLSettings will return true, + // but the second will return false. + // + // Order doesn't seem to matter. + // So you could call CFReadStreamSetProperty and then CFWriteStreamSetProperty, or you could reverse the order. + // Either way, the first call will return true, and the second returns false. + // + // Interestingly, this doesn't seem to affect anything. + // Which is not altogether unusual, as the documentation seems to suggest that (for many settings) + // setting it on one side of the stream automatically sets it for the other side of the stream. + // + // Although there isn't anything in the documentation to suggest that the second attempt would fail. + // + // Furthermore, this only seems to affect streams that are negotiating a security upgrade. + // In other words, the socket gets connected, there is some back-and-forth communication over the unsecure + // connection, and then a startTLS is issued. + // So this mostly affects newer protocols (XMPP, IMAP) as opposed to older protocols (HTTPS). + + if (!r1 && !r2) // Yes, the && is correct - workaround for apple bug. + { + [self closeWithError:[self otherError:@"Error in CFStreamSetProperty"]]; + return; + } + + if (![self openStreams]) + { + [self closeWithError:[self otherError:@"Error in CFStreamOpen"]]; + return; + } + + LogVerbose(@"Waiting for SSL Handshake to complete..."); + } +} + +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark CFStream +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#if TARGET_OS_IPHONE + ++ (void)startListenerThreadIfNeeded +{ + static dispatch_once_t predicate; + dispatch_once(&predicate, ^{ + + listenerThread = [[NSThread alloc] initWithTarget:self + selector:@selector(listenerThread) + object:nil]; + [listenerThread start]; + }); +} + ++ (void)listenerThread +{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + LogInfo(@"ListenerThread: Started"); + + // We can't run the run loop unless it has an associated input source or a timer. + // So we'll just create a timer that will never fire - unless the server runs for a decades. + [NSTimer scheduledTimerWithTimeInterval:[[NSDate distantFuture] timeIntervalSinceNow] + target:self + selector:@selector(ignore:) + userInfo:nil + repeats:YES]; + + [[NSRunLoop currentRunLoop] run]; + + LogInfo(@"ListenerThread: Stopped"); + + [pool drain]; +} + ++ (void)addStreamListener:(GCDAsyncSocket *)asyncSocket +{ + LogTrace(); + NSAssert([NSThread currentThread] == listenerThread, @"Invoked on wrong thread"); + + CFRunLoopRef runLoop = CFRunLoopGetCurrent(); + + if (asyncSocket->readStream) + CFReadStreamScheduleWithRunLoop(asyncSocket->readStream, runLoop, kCFRunLoopDefaultMode); + + if (asyncSocket->writeStream) + CFWriteStreamScheduleWithRunLoop(asyncSocket->writeStream, runLoop, kCFRunLoopDefaultMode); +} + ++ (void)removeStreamListener:(GCDAsyncSocket *)asyncSocket +{ + LogTrace(); + NSAssert([NSThread currentThread] == listenerThread, @"Invoked on wrong thread"); + + CFRunLoopRef runLoop = CFRunLoopGetCurrent(); + + if (asyncSocket->readStream) + CFReadStreamUnscheduleFromRunLoop(asyncSocket->readStream, runLoop, kCFRunLoopDefaultMode); + + if (asyncSocket->writeStream) + CFWriteStreamUnscheduleFromRunLoop(asyncSocket->writeStream, runLoop, kCFRunLoopDefaultMode); +} + +static void CFReadStreamCallback (CFReadStreamRef stream, CFStreamEventType type, void *pInfo) +{ + GCDAsyncSocket *asyncSocket = [(GCDAsyncSocket *)pInfo retain]; + + switch(type) + { + case kCFStreamEventHasBytesAvailable: + { + dispatch_async(asyncSocket->socketQueue, ^{ + + LogCVerbose(@"CFReadStreamCallback - HasBytesAvailable"); + + if (asyncSocket->readStream != stream) + return_from_block; + + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + if ((asyncSocket->flags & kStartingReadTLS) && (asyncSocket->flags & kStartingWriteTLS)) + { + // If we set kCFStreamPropertySSLSettings before we opened the streams, this might be a lie. + // (A callback related to the tcp stream, but not to the SSL layer). + + if (CFReadStreamHasBytesAvailable(asyncSocket->readStream)) + { + asyncSocket->flags |= kSecureSocketHasBytesAvailable; + [asyncSocket finishSSLHandshake]; + } + } + else + { + asyncSocket->flags |= kSecureSocketHasBytesAvailable; + [asyncSocket doReadData]; + } + + [pool drain]; + }); + + break; + } + default: + { + NSError *error = NSMakeCollectable(CFReadStreamCopyError(stream)); + if (error == nil && type == kCFStreamEventEndEncountered) + { + error = [[asyncSocket connectionClosedError] retain]; + } + + dispatch_async(asyncSocket->socketQueue, ^{ + + LogCVerbose(@"CFReadStreamCallback - Other"); + + if (asyncSocket->readStream != stream) + return_from_block; + + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + if ((asyncSocket->flags & kStartingReadTLS) && (asyncSocket->flags & kStartingWriteTLS)) + { + [asyncSocket abortSSLHandshake:error]; + } + else + { + [asyncSocket closeWithError:error]; + } + + [pool drain]; + }); + + [error release]; + break; + } + } + + [asyncSocket release]; +} + +static void CFWriteStreamCallback (CFWriteStreamRef stream, CFStreamEventType type, void *pInfo) +{ + GCDAsyncSocket *asyncSocket = [(GCDAsyncSocket *)pInfo retain]; + + switch(type) + { + case kCFStreamEventCanAcceptBytes: + { + dispatch_async(asyncSocket->socketQueue, ^{ + + LogCVerbose(@"CFWriteStreamCallback - CanAcceptBytes"); + + if (asyncSocket->writeStream != stream) + return_from_block; + + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + if ((asyncSocket->flags & kStartingReadTLS) && (asyncSocket->flags & kStartingWriteTLS)) + { + // If we set kCFStreamPropertySSLSettings before we opened the streams, this might be a lie. + // (A callback related to the tcp stream, but not to the SSL layer). + + if (CFWriteStreamCanAcceptBytes(asyncSocket->writeStream)) + { + asyncSocket->flags |= kSocketCanAcceptBytes; + [asyncSocket finishSSLHandshake]; + } + } + else + { + asyncSocket->flags |= kSocketCanAcceptBytes; + [asyncSocket doWriteData]; + } + + [pool drain]; + }); + + break; + } + default: + { + NSError *error = NSMakeCollectable(CFWriteStreamCopyError(stream)); + if (error == nil && type == kCFStreamEventEndEncountered) + { + error = [[asyncSocket connectionClosedError] retain]; + } + + dispatch_async(asyncSocket->socketQueue, ^{ + + LogCVerbose(@"CFWriteStreamCallback - Other"); + + if (asyncSocket->writeStream != stream) + return_from_block; + + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + if ((asyncSocket->flags & kStartingReadTLS) && (asyncSocket->flags & kStartingWriteTLS)) + { + [asyncSocket abortSSLHandshake:error]; + } + else + { + [asyncSocket closeWithError:error]; + } + + [pool drain]; + }); + + [error release]; + break; + } + } + + [asyncSocket release]; +} + +- (BOOL)createReadAndWriteStream +{ + LogTrace(); + + NSAssert(dispatch_get_current_queue() == socketQueue, @"Must be dispatched on socketQueue"); + + + if (readStream || writeStream) + { + // Streams already created + return YES; + } + + int socketFD = (socket6FD == SOCKET_NULL) ? socket4FD : socket6FD; + + if (socketFD == SOCKET_NULL) + { + // Cannot create streams without a file descriptor + return NO; + } + + if (![self isConnected]) + { + // Cannot create streams until file descriptor is connected + return NO; + } + + LogVerbose(@"Creating read and write stream..."); + + CFStreamCreatePairWithSocket(NULL, (CFSocketNativeHandle)socketFD, &readStream, &writeStream); + + // The kCFStreamPropertyShouldCloseNativeSocket property should be false by default (for our case). + // But let's not take any chances. + + if (readStream) + CFReadStreamSetProperty(readStream, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanFalse); + if (writeStream) + CFWriteStreamSetProperty(writeStream, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanFalse); + + if ((readStream == NULL) || (writeStream == NULL)) + { + LogWarn(@"Unable to create read and write stream..."); + + if (readStream) + { + CFReadStreamClose(readStream); + CFRelease(readStream); + readStream = NULL; + } + if (writeStream) + { + CFWriteStreamClose(writeStream); + CFRelease(writeStream); + writeStream = NULL; + } + + return NO; + } + + return YES; +} + +- (BOOL)registerForStreamCallbacksIncludingReadWrite:(BOOL)includeReadWrite +{ + LogVerbose(@"%@ %@", THIS_METHOD, (includeReadWrite ? @"YES" : @"NO")); + + NSAssert(dispatch_get_current_queue() == socketQueue, @"Must be dispatched on socketQueue"); + NSAssert((readStream != NULL && writeStream != NULL), @"Read/Write stream is null"); + + streamContext.version = 0; + streamContext.info = self; + streamContext.retain = nil; + streamContext.release = nil; + streamContext.copyDescription = nil; + + CFOptionFlags readStreamEvents = kCFStreamEventErrorOccurred | kCFStreamEventEndEncountered; + if (includeReadWrite) + readStreamEvents |= kCFStreamEventHasBytesAvailable; + + if (!CFReadStreamSetClient(readStream, readStreamEvents, &CFReadStreamCallback, &streamContext)) + { + return NO; + } + + CFOptionFlags writeStreamEvents = kCFStreamEventErrorOccurred | kCFStreamEventEndEncountered; + if (includeReadWrite) + writeStreamEvents |= kCFStreamEventCanAcceptBytes; + + if (!CFWriteStreamSetClient(writeStream, writeStreamEvents, &CFWriteStreamCallback, &streamContext)) + { + return NO; + } + + return YES; +} + +- (BOOL)addStreamsToRunLoop +{ + LogTrace(); + + NSAssert(dispatch_get_current_queue() == socketQueue, @"Must be dispatched on socketQueue"); + NSAssert((readStream != NULL && writeStream != NULL), @"Read/Write stream is null"); + + if (!(flags & kAddedStreamListener)) + { + LogVerbose(@"Adding streams to runloop..."); + + [[self class] startListenerThreadIfNeeded]; + [[self class] performSelector:@selector(addStreamListener:) + onThread:listenerThread + withObject:self + waitUntilDone:YES]; + + flags |= kAddedStreamListener; + } + + return YES; +} + +- (void)removeStreamsFromRunLoop +{ + LogTrace(); + + NSAssert(dispatch_get_current_queue() == socketQueue, @"Must be dispatched on socketQueue"); + NSAssert((readStream != NULL && writeStream != NULL), @"Read/Write stream is null"); + + if (flags & kAddedStreamListener) + { + LogVerbose(@"Removing streams from runloop..."); + + [[self class] performSelector:@selector(removeStreamListener:) + onThread:listenerThread + withObject:self + waitUntilDone:YES]; + + flags &= ~kAddedStreamListener; + } +} + +- (BOOL)openStreams +{ + LogTrace(); + + NSAssert(dispatch_get_current_queue() == socketQueue, @"Must be dispatched on socketQueue"); + NSAssert((readStream != NULL && writeStream != NULL), @"Read/Write stream is null"); + + CFStreamStatus readStatus = CFReadStreamGetStatus(readStream); + CFStreamStatus writeStatus = CFWriteStreamGetStatus(writeStream); + + if ((readStatus == kCFStreamStatusNotOpen) || (writeStatus == kCFStreamStatusNotOpen)) + { + LogVerbose(@"Opening read and write stream..."); + + BOOL r1 = CFReadStreamOpen(readStream); + BOOL r2 = CFWriteStreamOpen(writeStream); + + if (!r1 || !r2) + { + LogError(@"Error in CFStreamOpen"); + return NO; + } + } + + return YES; +} + +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Advanced +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (void)performBlock:(dispatch_block_t)block +{ + dispatch_sync(socketQueue, block); +} + +- (int)socketFD +{ + if (dispatch_get_current_queue() != socketQueue) + { + LogWarn(@"%@ - Method only available from within the context of a performBlock: invocation", THIS_METHOD); + return SOCKET_NULL; + } + + if (socket4FD != SOCKET_NULL) + return socket4FD; + else + return socket6FD; +} + +- (int)socket4FD +{ + if (dispatch_get_current_queue() != socketQueue) + { + LogWarn(@"%@ - Method only available from within the context of a performBlock: invocation", THIS_METHOD); + return SOCKET_NULL; + } + + return socket4FD; +} + +- (int)socket6FD +{ + if (dispatch_get_current_queue() != socketQueue) + { + LogWarn(@"%@ - Method only available from within the context of a performBlock: invocation", THIS_METHOD); + return SOCKET_NULL; + } + + return socket6FD; +} + +#if TARGET_OS_IPHONE + +- (CFReadStreamRef)readStream +{ + if (dispatch_get_current_queue() != socketQueue) + { + LogWarn(@"%@ - Method only available from within the context of a performBlock: invocation", THIS_METHOD); + return NULL; + } + + if (readStream == NULL) + [self createReadAndWriteStream]; + + return readStream; +} + +- (CFWriteStreamRef)writeStream +{ + if (dispatch_get_current_queue() != socketQueue) + { + LogWarn(@"%@ - Method only available from within the context of a performBlock: invocation", THIS_METHOD); + return NULL; + } + + if (writeStream == NULL) + [self createReadAndWriteStream]; + + return writeStream; +} + +- (BOOL)enableBackgroundingOnSocketWithCaveat:(BOOL)caveat +{ + if (![self createReadAndWriteStream]) + { + // Error occured creating streams (perhaps socket isn't open) + return NO; + } + + BOOL r1, r2; + + LogVerbose(@"Enabling backgrouding on socket"); + + r1 = CFReadStreamSetProperty(readStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP); + r2 = CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP); + + if (!r1 || !r2) + { + return NO; + } + + if (!caveat) + { + if (![self openStreams]) + { + return NO; + } + } + + return YES; +} + +- (BOOL)enableBackgroundingOnSocket +{ + LogTrace(); + + if (dispatch_get_current_queue() != socketQueue) + { + LogWarn(@"%@ - Method only available from within the context of a performBlock: invocation", THIS_METHOD); + return NO; + } + + return [self enableBackgroundingOnSocketWithCaveat:NO]; +} + +- (BOOL)enableBackgroundingOnSocketWithCaveat // Deprecated in iOS 4.??? +{ + // This method was created as a workaround for a bug in iOS. + // Apple has since fixed this bug. + // I'm not entirely sure which version of iOS they fixed it in... + + LogTrace(); + + if (dispatch_get_current_queue() != socketQueue) + { + LogWarn(@"%@ - Method only available from within the context of a performBlock: invocation", THIS_METHOD); + return NO; + } + + return [self enableBackgroundingOnSocketWithCaveat:YES]; +} + +#else + +- (SSLContextRef)sslContext +{ + if (dispatch_get_current_queue() != socketQueue) + { + LogWarn(@"%@ - Method only available from within the context of a performBlock: invocation", THIS_METHOD); + return NULL; + } + + return sslContext; +} + +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Class Methods +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + ++ (NSString *)hostFromSockaddr4:(const struct sockaddr_in *)pSockaddr4 +{ + char addrBuf[INET_ADDRSTRLEN]; + + if (inet_ntop(AF_INET, &pSockaddr4->sin_addr, addrBuf, (socklen_t)sizeof(addrBuf)) == NULL) + { + addrBuf[0] = '\0'; + } + + return [NSString stringWithCString:addrBuf encoding:NSASCIIStringEncoding]; +} + ++ (NSString *)hostFromSockaddr6:(const struct sockaddr_in6 *)pSockaddr6 +{ + char addrBuf[INET6_ADDRSTRLEN]; + + if (inet_ntop(AF_INET6, &pSockaddr6->sin6_addr, addrBuf, (socklen_t)sizeof(addrBuf)) == NULL) + { + addrBuf[0] = '\0'; + } + + return [NSString stringWithCString:addrBuf encoding:NSASCIIStringEncoding]; +} + ++ (uint16_t)portFromSockaddr4:(const struct sockaddr_in *)pSockaddr4 +{ + return ntohs(pSockaddr4->sin_port); +} + ++ (uint16_t)portFromSockaddr6:(const struct sockaddr_in6 *)pSockaddr6 +{ + return ntohs(pSockaddr6->sin6_port); +} + ++ (NSString *)hostFromAddress:(NSData *)address +{ + NSString *host; + + if ([self getHost:&host port:NULL fromAddress:address]) + return host; + else + return nil; +} + ++ (uint16_t)portFromAddress:(NSData *)address +{ + uint16_t port; + + if ([self getHost:NULL port:&port fromAddress:address]) + return port; + else + return 0; +} + ++ (BOOL)getHost:(NSString **)hostPtr port:(uint16_t *)portPtr fromAddress:(NSData *)address +{ + if ([address length] >= sizeof(struct sockaddr)) + { + const struct sockaddr *sockaddrX = [address bytes]; + + if (sockaddrX->sa_family == AF_INET) + { + if ([address length] >= sizeof(struct sockaddr_in)) + { + struct sockaddr_in sockaddr4; + memcpy(&sockaddr4, sockaddrX, sizeof(sockaddr4)); + + if (hostPtr) *hostPtr = [self hostFromSockaddr4:&sockaddr4]; + if (portPtr) *portPtr = [self portFromSockaddr4:&sockaddr4]; + + return YES; + } + } + else if (sockaddrX->sa_family == AF_INET6) + { + if ([address length] >= sizeof(struct sockaddr_in6)) + { + struct sockaddr_in6 sockaddr6; + memcpy(&sockaddr6, sockaddrX, sizeof(sockaddr6)); + + if (hostPtr) *hostPtr = [self hostFromSockaddr6:&sockaddr6]; + if (portPtr) *portPtr = [self portFromSockaddr6:&sockaddr6]; + + return YES; + } + } + } + + return NO; +} + ++ (NSData *)CRLFData +{ + return [NSData dataWithBytes:"\x0D\x0A" length:2]; +} + ++ (NSData *)CRData +{ + return [NSData dataWithBytes:"\x0D" length:1]; +} + ++ (NSData *)LFData +{ + return [NSData dataWithBytes:"\x0A" length:1]; +} + ++ (NSData *)ZeroData +{ + return [NSData dataWithBytes:"" length:1]; +} + +@end diff --git a/shell_integration/MacOSX/LiferayNativityFinder/IconCache.h b/shell_integration/MacOSX/LiferayNativityFinder/IconCache.h new file mode 100644 index 000000000..d07f4d161 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/IconCache.h @@ -0,0 +1,29 @@ +/** + * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#import + +@interface IconCache : NSObject { + int _currentIconId; + NSMutableDictionary* _iconIdDictionary; + NSMutableDictionary* _iconPathDictionary; +} + ++ (IconCache*)sharedInstance; + +- (NSImage*)getIcon:(NSNumber*)iconId; +- (NSNumber*)registerIcon:(NSString*)path; +- (void)unregisterIcon:(NSNumber*)iconId; + +@end \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityFinder/IconCache.m b/shell_integration/MacOSX/LiferayNativityFinder/IconCache.m new file mode 100644 index 000000000..c1e12a3af --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/IconCache.m @@ -0,0 +1,115 @@ +/** + * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#import "IconCache.h" + +@implementation IconCache + +static IconCache* sharedInstance = nil; + +- init +{ + self = [super init]; + + if (self) + { + _iconIdDictionary = [[NSMutableDictionary alloc] init]; + _iconPathDictionary = [[NSMutableDictionary alloc] init]; + _currentIconId = 0; + } + + return self; +} + +- (void)dealloc +{ + [_iconIdDictionary release]; + [_iconPathDictionary release]; + sharedInstance = nil; + + [super dealloc]; +} + ++ (IconCache*)sharedInstance +{ + @synchronized(self) + { + if (sharedInstance == nil) + { + sharedInstance = [[self alloc] init]; + } + } + return sharedInstance; +} + +- (NSImage*)getIcon:(NSNumber*)iconId +{ + NSImage* image = [_iconIdDictionary objectForKey:iconId]; + + return image; +} + +- (NSNumber*)registerIcon:(NSString*)path +{ + if (path == nil) + { + return [NSNumber numberWithInt:-1]; + } + + NSImage* image = [[NSImage alloc]initWithContentsOfFile:path]; + + if (image == nil) + { + return [NSNumber numberWithInt:-1]; + } + + NSNumber* iconId = [_iconPathDictionary objectForKey:path]; + + if (iconId == nil) + { + _currentIconId++; + + iconId = [NSNumber numberWithInt:_currentIconId]; + + [_iconPathDictionary setObject:iconId forKey:path]; + } + + [_iconIdDictionary setObject:image forKey:iconId]; + [image release]; + + return iconId; +} + +- (void)unregisterIcon:(NSNumber*)iconId +{ + NSString* path = @""; + + for (NSString* key in _iconPathDictionary) + { + NSNumber* value = [_iconPathDictionary objectForKey:key]; + + if ([value isEqualToNumber:iconId]) + { + path = key; + + break; + } + } + + [_iconPathDictionary removeObjectForKey:path]; + + [_iconIdDictionary removeObjectForKey:iconId]; +} + +@end diff --git a/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.h b/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.h new file mode 100644 index 000000000..d6b1f91be --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.h @@ -0,0 +1,23 @@ +/** + * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#import + +@interface NSObject (IconOverlayHandlers) + +- (void)IconOverlayHandlers_drawIconWithFrame:(struct CGRect)arg1; +- (void)IconOverlayHandlers_drawImage:(id)arg1; +- (void)IconOverlayHandlers_drawRect:(struct CGRect)arg1; + +@end \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.m b/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.m new file mode 100644 index 000000000..6ff08a9ae --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.m @@ -0,0 +1,140 @@ +/** + * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#import +#import "ContentManager.h" +#import "IconCache.h" +#import "IconOverlayHandlers.h" +#import "Finder/Finder.h" + +@implementation NSObject (IconOverlayHandlers) + +- (void)IconOverlayHandlers_drawIconWithFrame:(struct CGRect)arg1 +{ + [self IconOverlayHandlers_drawIconWithFrame:arg1]; + + NSURL* url = [[NSClassFromString(@"FINode") nodeFromNodeRef:[(TIconAndTextCell*)self node]->fNodeRef] previewItemURL]; + + NSNumber* imageIndex = [[ContentManager sharedInstance] iconByPath:[url path]]; + + NSLog(@"The icon index is %d", [imageIndex intValue]); + if ([imageIndex intValue] > 0) + { + NSImage* image = [[IconCache sharedInstance] getIcon:imageIndex]; + + if (image != nil) + { + struct CGRect arg2 = [(TIconViewCell*)self imageRectForBounds:arg1]; + + [image drawInRect:NSMakeRect(arg2.origin.x, arg2.origin.y, arg2.size.width, arg2.size.height) fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0 respectFlipped:TRUE hints:nil]; + } + } +} + +- (void)IconOverlayHandlers_IKImageBrowserCell_drawImage:(id)arg1 +{ + IKImageWrapper*imageWrapper = [self IconOverlayHandlers_imageWrapper:arg1]; + + [self IconOverlayHandlers_IKImageBrowserCell_drawImage:imageWrapper]; +} + +- (void)IconOverlayHandlers_IKFinderReflectiveIconCell_drawImage:(id)arg1 +{ + IKImageWrapper*imageWrapper = [self IconOverlayHandlers_imageWrapper:arg1]; + + [self IconOverlayHandlers_IKFinderReflectiveIconCell_drawImage:imageWrapper]; +} + +- (IKImageWrapper*)IconOverlayHandlers_imageWrapper:(id)arg1 +{ + TIconViewCell* realSelf = (TIconViewCell*)self; + FINode* node = (FINode*)[realSelf representedItem]; + + NSURL* url = [node previewItemURL]; + + NSNumber* imageIndex = [[ContentManager sharedInstance] iconByPath:[url path]]; + NSLog(@"The icon index is %d", [imageIndex intValue]); + + if ([imageIndex intValue] > 0) + { + NSImage* icon = [arg1 _nsImage]; + + [icon lockFocus]; + + CGContextRef myContext = [[NSGraphicsContext currentContext] graphicsPort]; + + NSImage* iconimage = [[IconCache sharedInstance] getIcon:[NSNumber numberWithInt:[imageIndex intValue]]]; + + if (iconimage != nil) + { + CGImageSourceRef source; + NSData* data = [iconimage TIFFRepresentation]; + + source = CGImageSourceCreateWithData((CFDataRef)data, NULL); + CGImageRef maskRef = CGImageSourceCreateImageAtIndex(source, 0, NULL); + CGContextDrawImage(myContext, CGRectMake(0, 0, [icon size].width, [icon size].height), maskRef); + CFRelease(source); + CFRelease(maskRef); + } + + [icon unlockFocus]; + + return [[[IKImageWrapper alloc] initWithNSImage:icon] autorelease]; + } + else + { + return arg1; + } +} + +- (void)IconOverlayHandlers_drawRect:(struct CGRect)arg1 +{ + [self IconOverlayHandlers_drawRect:arg1]; + + NSView* supersuperview = [[(NSView*)self superview] superview]; + + if ([supersuperview isKindOfClass:(id)objc_getClass("TListRowView")]) + { + TListRowView *listRowView = (TListRowView*) supersuperview; + FINode *fiNode; + + object_getInstanceVariable(listRowView, "_node", (void**)&fiNode); + + NSURL *url; + + if ([fiNode respondsToSelector:@selector(previewItemURL)]) + { + url = [fiNode previewItemURL]; + } + else { + return; + } + + NSNumber* imageIndex = [[ContentManager sharedInstance] iconByPath:[url path]]; + NSLog(@"The icon index is %d", [imageIndex intValue]); + + if ([imageIndex intValue] > 0) + { + NSImage* image = [[IconCache sharedInstance] getIcon:imageIndex]; + + if (image != nil) + { + [image drawInRect:NSMakeRect(arg1.origin.x, arg1.origin.y, arg1.size.width, arg1.size.height) fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0 respectFlipped:TRUE hints:nil]; + } + } + + } +} + +@end \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityFinder/Info.plist b/shell_integration/MacOSX/LiferayNativityFinder/Info.plist new file mode 100644 index 000000000..b7111eae4 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/Info.plist @@ -0,0 +1,46 @@ + + + + + NSPrincipalClass + FinderHook + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.liferay.nativity + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + NVTY + CFBundleVersion + 1 + CFPlugInDynamicRegisterFunction + + CFPlugInDynamicRegistration + NO + CFPlugInFactories + + 00000000-0000-0000-0000-000000000000 + MyFactoryFunction + + CFPlugInTypes + + 00000000-0000-0000-0000-000000000000 + + 00000000-0000-0000-0000-000000000000 + + + CFPlugInUnloadFunction + + + diff --git a/shell_integration/MacOSX/LiferayNativityFinder/JSONKit.h b/shell_integration/MacOSX/LiferayNativityFinder/JSONKit.h new file mode 100644 index 000000000..71bd0c3b7 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/JSONKit.h @@ -0,0 +1,251 @@ +// +// JSONKit.h +// http://github.com/johnezang/JSONKit +// Dual licensed under either the terms of the BSD License, or alternatively +// under the terms of the Apache License, Version 2.0, as specified below. +// + +/* + Copyright (c) 2011, John Engelhart + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the Zang Industries nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + Copyright 2011 John Engelhart + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#include +#include +#include +#include +#include + +#ifdef __OBJC__ +#import +#import +#import +#import +#import +#import +#endif // __OBJC__ + +#ifdef __cplusplus +extern "C" { +#endif + + +// For Mac OS X < 10.5. +#ifndef NSINTEGER_DEFINED +#define NSINTEGER_DEFINED +#if defined(__LP64__) || defined(NS_BUILD_32_LIKE_64) +typedef long NSInteger; +typedef unsigned long NSUInteger; +#define NSIntegerMin LONG_MIN +#define NSIntegerMax LONG_MAX +#define NSUIntegerMax ULONG_MAX +#else // defined(__LP64__) || defined(NS_BUILD_32_LIKE_64) +typedef int NSInteger; +typedef unsigned int NSUInteger; +#define NSIntegerMin INT_MIN +#define NSIntegerMax INT_MAX +#define NSUIntegerMax UINT_MAX +#endif // defined(__LP64__) || defined(NS_BUILD_32_LIKE_64) +#endif // NSINTEGER_DEFINED + + +#ifndef _JSONKIT_H_ +#define _JSONKIT_H_ + +#if defined(__GNUC__) && (__GNUC__ >= 4) && defined(__APPLE_CC__) && (__APPLE_CC__ >= 5465) +#define JK_DEPRECATED_ATTRIBUTE __attribute__((deprecated)) +#else +#define JK_DEPRECATED_ATTRIBUTE +#endif + +#define JSONKIT_VERSION_MAJOR 1 +#define JSONKIT_VERSION_MINOR 4 + +typedef NSUInteger JKFlags; + +/* + JKParseOptionComments : Allow C style // and /_* ... *_/ (without a _, obviously) comments in JSON. + JKParseOptionUnicodeNewlines : Allow Unicode recommended (?:\r\n|[\n\v\f\r\x85\p{Zl}\p{Zp}]) newlines. + JKParseOptionLooseUnicode : Normally the decoder will stop with an error at any malformed Unicode. + This option allows JSON with malformed Unicode to be parsed without reporting an error. + Any malformed Unicode is replaced with \uFFFD, or "REPLACEMENT CHARACTER". + */ + +enum { + JKParseOptionNone = 0, + JKParseOptionStrict = 0, + JKParseOptionComments = (1 << 0), + JKParseOptionUnicodeNewlines = (1 << 1), + JKParseOptionLooseUnicode = (1 << 2), + JKParseOptionPermitTextAfterValidJSON = (1 << 3), + JKParseOptionValidFlags = (JKParseOptionComments | JKParseOptionUnicodeNewlines | JKParseOptionLooseUnicode | JKParseOptionPermitTextAfterValidJSON), +}; +typedef JKFlags JKParseOptionFlags; + +enum { + JKSerializeOptionNone = 0, + JKSerializeOptionPretty = (1 << 0), + JKSerializeOptionEscapeUnicode = (1 << 1), + JKSerializeOptionEscapeForwardSlashes = (1 << 4), + JKSerializeOptionValidFlags = (JKSerializeOptionPretty | JKSerializeOptionEscapeUnicode | JKSerializeOptionEscapeForwardSlashes), +}; +typedef JKFlags JKSerializeOptionFlags; + +#ifdef __OBJC__ + +typedef struct JKParseState JKParseState; // Opaque internal, private type. + +// As a general rule of thumb, if you use a method that doesn't accept a JKParseOptionFlags argument, it defaults to JKParseOptionStrict + +@interface JSONDecoder : NSObject { + JKParseState *parseState; +} ++ (id)decoder; ++ (id)decoderWithParseOptions:(JKParseOptionFlags)parseOptionFlags; +- (id)initWithParseOptions:(JKParseOptionFlags)parseOptionFlags; +- (void)clearCache; + +// The parse... methods were deprecated in v1.4 in favor of the v1.4 objectWith... methods. +- (id)parseUTF8String:(const unsigned char *)string length:(size_t)length JK_DEPRECATED_ATTRIBUTE; // Deprecated in JSONKit v1.4. Use objectWithUTF8String:length: instead. +- (id)parseUTF8String:(const unsigned char *)string length:(size_t)length error:(NSError **)error JK_DEPRECATED_ATTRIBUTE; // Deprecated in JSONKit v1.4. Use objectWithUTF8String:length:error: instead. +// The NSData MUST be UTF8 encoded JSON. +- (id)parseJSONData:(NSData *)jsonData JK_DEPRECATED_ATTRIBUTE; // Deprecated in JSONKit v1.4. Use objectWithData: instead. +- (id)parseJSONData:(NSData *)jsonData error:(NSError **)error JK_DEPRECATED_ATTRIBUTE; // Deprecated in JSONKit v1.4. Use objectWithData:error: instead. + +// Methods that return immutable collection objects. +- (id)objectWithUTF8String:(const unsigned char *)string length:(NSUInteger)length; +- (id)objectWithUTF8String:(const unsigned char *)string length:(NSUInteger)length error:(NSError **)error; +// The NSData MUST be UTF8 encoded JSON. +- (id)objectWithData:(NSData *)jsonData; +- (id)objectWithData:(NSData *)jsonData error:(NSError **)error; + +// Methods that return mutable collection objects. +- (id)mutableObjectWithUTF8String:(const unsigned char *)string length:(NSUInteger)length; +- (id)mutableObjectWithUTF8String:(const unsigned char *)string length:(NSUInteger)length error:(NSError **)error; +// The NSData MUST be UTF8 encoded JSON. +- (id)mutableObjectWithData:(NSData *)jsonData; +- (id)mutableObjectWithData:(NSData *)jsonData error:(NSError **)error; + +@end + +//////////// +#pragma mark Deserializing methods +//////////// + +@interface NSString (JSONKitDeserializing) +- (id)objectFromJSONString; +- (id)objectFromJSONStringWithParseOptions:(JKParseOptionFlags)parseOptionFlags; +- (id)objectFromJSONStringWithParseOptions:(JKParseOptionFlags)parseOptionFlags error:(NSError **)error; +- (id)mutableObjectFromJSONString; +- (id)mutableObjectFromJSONStringWithParseOptions:(JKParseOptionFlags)parseOptionFlags; +- (id)mutableObjectFromJSONStringWithParseOptions:(JKParseOptionFlags)parseOptionFlags error:(NSError **)error; +@end + +@interface NSData (JSONKitDeserializing) +// The NSData MUST be UTF8 encoded JSON. +- (id)objectFromJSONData; +- (id)objectFromJSONDataWithParseOptions:(JKParseOptionFlags)parseOptionFlags; +- (id)objectFromJSONDataWithParseOptions:(JKParseOptionFlags)parseOptionFlags error:(NSError **)error; +- (id)mutableObjectFromJSONData; +- (id)mutableObjectFromJSONDataWithParseOptions:(JKParseOptionFlags)parseOptionFlags; +- (id)mutableObjectFromJSONDataWithParseOptions:(JKParseOptionFlags)parseOptionFlags error:(NSError **)error; +@end + +//////////// +#pragma mark Serializing methods +//////////// + +@interface NSString (JSONKitSerializing) +// Convenience methods for those that need to serialize the receiving NSString (i.e., instead of having to serialize a NSArray with a single NSString, you can "serialize to JSON" just the NSString). +// Normally, a string that is serialized to JSON has quotation marks surrounding it, which you may or may not want when serializing a single string, and can be controlled with includeQuotes: +// includeQuotes:YES `a "test"...` -> `"a \"test\"..."` +// includeQuotes:NO `a "test"...` -> `a \"test\"...` +- (NSData *)JSONData; // Invokes JSONDataWithOptions:JKSerializeOptionNone includeQuotes:YES +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions includeQuotes:(BOOL)includeQuotes error:(NSError **)error; +- (NSString *)JSONString; // Invokes JSONStringWithOptions:JKSerializeOptionNone includeQuotes:YES +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions includeQuotes:(BOOL)includeQuotes error:(NSError **)error; +@end + +@interface NSArray (JSONKitSerializing) +- (NSData *)JSONData; +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions error:(NSError **)error; +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingDelegate:(id)delegate selector:(SEL)selector error:(NSError **)error; +- (NSString *)JSONString; +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions error:(NSError **)error; +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingDelegate:(id)delegate selector:(SEL)selector error:(NSError **)error; +@end + +@interface NSDictionary (JSONKitSerializing) +- (NSData *)JSONData; +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions error:(NSError **)error; +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingDelegate:(id)delegate selector:(SEL)selector error:(NSError **)error; +- (NSString *)JSONString; +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions error:(NSError **)error; +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingDelegate:(id)delegate selector:(SEL)selector error:(NSError **)error; +@end + +#ifdef __BLOCKS__ + +@interface NSArray (JSONKitSerializingBlockAdditions) +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingBlock:(id(^)(id object))block error:(NSError **)error; +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingBlock:(id(^)(id object))block error:(NSError **)error; +@end + +@interface NSDictionary (JSONKitSerializingBlockAdditions) +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingBlock:(id(^)(id object))block error:(NSError **)error; +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingBlock:(id(^)(id object))block error:(NSError **)error; +@end + +#endif + + +#endif // __OBJC__ + +#endif // _JSONKIT_H_ + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/shell_integration/MacOSX/LiferayNativityFinder/JSONKit.m b/shell_integration/MacOSX/LiferayNativityFinder/JSONKit.m new file mode 100644 index 000000000..0e9331f1a --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/JSONKit.m @@ -0,0 +1,3065 @@ +// +// JSONKit.m +// http://github.com/johnezang/JSONKit +// Dual licensed under either the terms of the BSD License, or alternatively +// under the terms of the Apache License, Version 2.0, as specified below. +// + +/* + Copyright (c) 2011, John Engelhart + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the Zang Industries nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + Copyright 2011 John Engelhart + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + + +/* + Acknowledgments: + + The bulk of the UTF8 / UTF32 conversion and verification comes + from ConvertUTF.[hc]. It has been modified from the original sources. + + The original sources were obtained from http://www.unicode.org/. + However, the web site no longer seems to host the files. Instead, + the Unicode FAQ http://www.unicode.org/faq//utf_bom.html#gen4 + points to International Components for Unicode (ICU) + http://site.icu-project.org/ as an example of how to write a UTF + converter. + + The decision to use the ConvertUTF.[ch] code was made to leverage + "proven" code. Hopefully the local modifications are bug free. + + The code in isValidCodePoint() is derived from the ICU code in + utf.h for the macros U_IS_UNICODE_NONCHAR and U_IS_UNICODE_CHAR. + + From the original ConvertUTF.[ch]: + + * Copyright 2001-2004 Unicode, Inc. + * + * Disclaimer + * + * This source code is provided as is by Unicode, Inc. No claims are + * made as to fitness for any particular purpose. No warranties of any + * kind are expressed or implied. The recipient agrees to determine + * applicability of information provided. If this file has been + * purchased on magnetic or optical media from Unicode, Inc., the + * sole remedy for any claim will be exchange of defective media + * within 90 days of receipt. + * + * Limitations on Rights to Redistribute This Code + * + * Unicode, Inc. hereby grants the right to freely use the information + * supplied in this file in the creation of products supporting the + * Unicode Standard, and to make copies of this file in any form + * for internal or external distribution as long as this notice + * remains attached. + +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#import "JSONKit.h" + +//#include +#include +#include +#include +#include + +//#import +#import +#import +#import +#import +#import +#import +#import + +#ifndef __has_feature +#define __has_feature(x) 0 +#endif + +#ifdef JK_ENABLE_CF_TRANSFER_OWNERSHIP_CALLBACKS +#warning As of JSONKit v1.4, JK_ENABLE_CF_TRANSFER_OWNERSHIP_CALLBACKS is no longer required. It is no longer a valid option. +#endif + +#ifdef __OBJC_GC__ +#error JSONKit does not support Objective-C Garbage Collection +#endif + +#if __has_feature(objc_arc) +#error JSONKit does not support Objective-C Automatic Reference Counting (ARC) +#endif + +// The following checks are really nothing more than sanity checks. +// JSONKit technically has a few problems from a "strictly C99 conforming" standpoint, though they are of the pedantic nitpicking variety. +// In practice, though, for the compilers and architectures we can reasonably expect this code to be compiled for, these pedantic nitpicks aren't really a problem. +// Since we're limited as to what we can do with pre-processor #if checks, these checks are not nearly as through as they should be. + +#if (UINT_MAX != 0xffffffffU) || (INT_MIN != (-0x7fffffff-1)) || (ULLONG_MAX != 0xffffffffffffffffULL) || (LLONG_MIN != (-0x7fffffffffffffffLL-1LL)) +#error JSONKit requires the C 'int' and 'long long' types to be 32 and 64 bits respectively. +#endif + +#if !defined(__LP64__) && ((UINT_MAX != ULONG_MAX) || (INT_MAX != LONG_MAX) || (INT_MIN != LONG_MIN) || (WORD_BIT != LONG_BIT)) +#error JSONKit requires the C 'int' and 'long' types to be the same on 32-bit architectures. +#endif + +// Cocoa / Foundation uses NS*Integer as the type for a lot of arguments. We make sure that NS*Integer is something we are expecting and is reasonably compatible with size_t / ssize_t + +#if (NSUIntegerMax != ULONG_MAX) || (NSIntegerMax != LONG_MAX) || (NSIntegerMin != LONG_MIN) +#error JSONKit requires NSInteger and NSUInteger to be the same size as the C 'long' type. +#endif + +#if (NSUIntegerMax != SIZE_MAX) || (NSIntegerMax != SSIZE_MAX) +#error JSONKit requires NSInteger and NSUInteger to be the same size as the C 'size_t' type. +#endif + + +// For DJB hash. +#define JK_HASH_INIT (1402737925UL) + +// Use __builtin_clz() instead of trailingBytesForUTF8[] table lookup. +#define JK_FAST_TRAILING_BYTES + +// JK_CACHE_SLOTS must be a power of 2. Default size is 1024 slots. +#define JK_CACHE_SLOTS_BITS (10) +#define JK_CACHE_SLOTS (1UL << JK_CACHE_SLOTS_BITS) +// JK_CACHE_PROBES is the number of probe attempts. +#define JK_CACHE_PROBES (4UL) +// JK_INIT_CACHE_AGE must be < (1 << AGE) - 1, where AGE is sizeof(typeof(AGE)) * 8. +#define JK_INIT_CACHE_AGE (0) + +// JK_TOKENBUFFER_SIZE is the default stack size for the temporary buffer used to hold "non-simple" strings (i.e., contains \ escapes) +#define JK_TOKENBUFFER_SIZE (1024UL * 2UL) + +// JK_STACK_OBJS is the default number of spaces reserved on the stack for temporarily storing pointers to Obj-C objects before they can be transferred to a NSArray / NSDictionary. +#define JK_STACK_OBJS (1024UL * 1UL) + +#define JK_JSONBUFFER_SIZE (1024UL * 4UL) +#define JK_UTF8BUFFER_SIZE (1024UL * 16UL) + +#define JK_ENCODE_CACHE_SLOTS (1024UL) + + +#if defined (__GNUC__) && (__GNUC__ >= 4) +#define JK_ATTRIBUTES(attr, ...) __attribute__((attr, ##__VA_ARGS__)) +#define JK_EXPECTED(cond, expect) __builtin_expect((long)(cond), (expect)) +#define JK_EXPECT_T(cond) JK_EXPECTED(cond, 1U) +#define JK_EXPECT_F(cond) JK_EXPECTED(cond, 0U) +#define JK_PREFETCH(ptr) __builtin_prefetch(ptr) +#else // defined (__GNUC__) && (__GNUC__ >= 4) +#define JK_ATTRIBUTES(attr, ...) +#define JK_EXPECTED(cond, expect) (cond) +#define JK_EXPECT_T(cond) (cond) +#define JK_EXPECT_F(cond) (cond) +#define JK_PREFETCH(ptr) +#endif // defined (__GNUC__) && (__GNUC__ >= 4) + +#define JK_STATIC_INLINE static __inline__ JK_ATTRIBUTES(always_inline) +#define JK_ALIGNED(arg) JK_ATTRIBUTES(aligned(arg)) +#define JK_UNUSED_ARG JK_ATTRIBUTES(unused) +#define JK_WARN_UNUSED JK_ATTRIBUTES(warn_unused_result) +#define JK_WARN_UNUSED_CONST JK_ATTRIBUTES(warn_unused_result, const) +#define JK_WARN_UNUSED_PURE JK_ATTRIBUTES(warn_unused_result, pure) +#define JK_WARN_UNUSED_SENTINEL JK_ATTRIBUTES(warn_unused_result, sentinel) +#define JK_NONNULL_ARGS(arg, ...) JK_ATTRIBUTES(nonnull(arg, ##__VA_ARGS__)) +#define JK_WARN_UNUSED_NONNULL_ARGS(arg, ...) JK_ATTRIBUTES(warn_unused_result, nonnull(arg, ##__VA_ARGS__)) +#define JK_WARN_UNUSED_CONST_NONNULL_ARGS(arg, ...) JK_ATTRIBUTES(warn_unused_result, const, nonnull(arg, ##__VA_ARGS__)) +#define JK_WARN_UNUSED_PURE_NONNULL_ARGS(arg, ...) JK_ATTRIBUTES(warn_unused_result, pure, nonnull(arg, ##__VA_ARGS__)) + +#if defined (__GNUC__) && (__GNUC__ >= 4) && (__GNUC_MINOR__ >= 3) +#define JK_ALLOC_SIZE_NON_NULL_ARGS_WARN_UNUSED(as, nn, ...) JK_ATTRIBUTES(warn_unused_result, nonnull(nn, ##__VA_ARGS__), alloc_size(as)) +#else // defined (__GNUC__) && (__GNUC__ >= 4) && (__GNUC_MINOR__ >= 3) +#define JK_ALLOC_SIZE_NON_NULL_ARGS_WARN_UNUSED(as, nn, ...) JK_ATTRIBUTES(warn_unused_result, nonnull(nn, ##__VA_ARGS__)) +#endif // defined (__GNUC__) && (__GNUC__ >= 4) && (__GNUC_MINOR__ >= 3) + + +@class JKArray, JKDictionaryEnumerator, JKDictionary; + +enum { + JSONNumberStateStart = 0, + JSONNumberStateFinished = 1, + JSONNumberStateError = 2, + JSONNumberStateWholeNumberStart = 3, + JSONNumberStateWholeNumberMinus = 4, + JSONNumberStateWholeNumberZero = 5, + JSONNumberStateWholeNumber = 6, + JSONNumberStatePeriod = 7, + JSONNumberStateFractionalNumberStart = 8, + JSONNumberStateFractionalNumber = 9, + JSONNumberStateExponentStart = 10, + JSONNumberStateExponentPlusMinus = 11, + JSONNumberStateExponent = 12, +}; + +enum { + JSONStringStateStart = 0, + JSONStringStateParsing = 1, + JSONStringStateFinished = 2, + JSONStringStateError = 3, + JSONStringStateEscape = 4, + JSONStringStateEscapedUnicode1 = 5, + JSONStringStateEscapedUnicode2 = 6, + JSONStringStateEscapedUnicode3 = 7, + JSONStringStateEscapedUnicode4 = 8, + JSONStringStateEscapedUnicodeSurrogate1 = 9, + JSONStringStateEscapedUnicodeSurrogate2 = 10, + JSONStringStateEscapedUnicodeSurrogate3 = 11, + JSONStringStateEscapedUnicodeSurrogate4 = 12, + JSONStringStateEscapedNeedEscapeForSurrogate = 13, + JSONStringStateEscapedNeedEscapedUForSurrogate = 14, +}; + +enum { + JKParseAcceptValue = (1 << 0), + JKParseAcceptComma = (1 << 1), + JKParseAcceptEnd = (1 << 2), + JKParseAcceptValueOrEnd = (JKParseAcceptValue | JKParseAcceptEnd), + JKParseAcceptCommaOrEnd = (JKParseAcceptComma | JKParseAcceptEnd), +}; + +enum { + JKClassUnknown = 0, + JKClassString = 1, + JKClassNumber = 2, + JKClassArray = 3, + JKClassDictionary = 4, + JKClassNull = 5, +}; + +enum { + JKManagedBufferOnStack = 1, + JKManagedBufferOnHeap = 2, + JKManagedBufferLocationMask = (0x3), + JKManagedBufferLocationShift = (0), + + JKManagedBufferMustFree = (1 << 2), +}; +typedef JKFlags JKManagedBufferFlags; + +enum { + JKObjectStackOnStack = 1, + JKObjectStackOnHeap = 2, + JKObjectStackLocationMask = (0x3), + JKObjectStackLocationShift = (0), + + JKObjectStackMustFree = (1 << 2), +}; +typedef JKFlags JKObjectStackFlags; + +enum { + JKTokenTypeInvalid = 0, + JKTokenTypeNumber = 1, + JKTokenTypeString = 2, + JKTokenTypeObjectBegin = 3, + JKTokenTypeObjectEnd = 4, + JKTokenTypeArrayBegin = 5, + JKTokenTypeArrayEnd = 6, + JKTokenTypeSeparator = 7, + JKTokenTypeComma = 8, + JKTokenTypeTrue = 9, + JKTokenTypeFalse = 10, + JKTokenTypeNull = 11, + JKTokenTypeWhiteSpace = 12, +}; +typedef NSUInteger JKTokenType; + +// These are prime numbers to assist with hash slot probing. +enum { + JKValueTypeNone = 0, + JKValueTypeString = 5, + JKValueTypeLongLong = 7, + JKValueTypeUnsignedLongLong = 11, + JKValueTypeDouble = 13, +}; +typedef NSUInteger JKValueType; + +enum { + JKEncodeOptionAsData = 1, + JKEncodeOptionAsString = 2, + JKEncodeOptionAsTypeMask = 0x7, + JKEncodeOptionCollectionObj = (1 << 3), + JKEncodeOptionStringObj = (1 << 4), + JKEncodeOptionStringObjTrimQuotes = (1 << 5), + +}; +typedef NSUInteger JKEncodeOptionType; + +typedef NSUInteger JKHash; + +typedef struct JKTokenCacheItem JKTokenCacheItem; +typedef struct JKTokenCache JKTokenCache; +typedef struct JKTokenValue JKTokenValue; +typedef struct JKParseToken JKParseToken; +typedef struct JKPtrRange JKPtrRange; +typedef struct JKObjectStack JKObjectStack; +typedef struct JKBuffer JKBuffer; +typedef struct JKConstBuffer JKConstBuffer; +typedef struct JKConstPtrRange JKConstPtrRange; +typedef struct JKRange JKRange; +typedef struct JKManagedBuffer JKManagedBuffer; +typedef struct JKFastClassLookup JKFastClassLookup; +typedef struct JKEncodeCache JKEncodeCache; +typedef struct JKEncodeState JKEncodeState; +typedef struct JKObjCImpCache JKObjCImpCache; +typedef struct JKHashTableEntry JKHashTableEntry; + +typedef id (*NSNumberAllocImp)(id receiver, SEL selector); +typedef id (*NSNumberInitWithUnsignedLongLongImp)(id receiver, SEL selector, unsigned long long value); +typedef id (*JKClassFormatterIMP)(id receiver, SEL selector, id object); +#ifdef __BLOCKS__ +typedef id (^JKClassFormatterBlock)(id formatObject); +#endif + + +struct JKPtrRange { + unsigned char *ptr; + size_t length; +}; + +struct JKConstPtrRange { + const unsigned char *ptr; + size_t length; +}; + +struct JKRange { + size_t location, length; +}; + +struct JKManagedBuffer { + JKPtrRange bytes; + JKManagedBufferFlags flags; + size_t roundSizeUpToMultipleOf; +}; + +struct JKObjectStack { + void **objects, **keys; + CFHashCode *cfHashes; + size_t count, index, roundSizeUpToMultipleOf; + JKObjectStackFlags flags; +}; + +struct JKBuffer { + JKPtrRange bytes; +}; + +struct JKConstBuffer { + JKConstPtrRange bytes; +}; + +struct JKTokenValue { + JKConstPtrRange ptrRange; + JKValueType type; + JKHash hash; + union { + long long longLongValue; + unsigned long long unsignedLongLongValue; + double doubleValue; + } number; + JKTokenCacheItem *cacheItem; +}; + +struct JKParseToken { + JKConstPtrRange tokenPtrRange; + JKTokenType type; + JKTokenValue value; + JKManagedBuffer tokenBuffer; +}; + +struct JKTokenCacheItem { + void *object; + JKHash hash; + CFHashCode cfHash; + size_t size; + unsigned char *bytes; + JKValueType type; +}; + +struct JKTokenCache { + JKTokenCacheItem *items; + size_t count; + unsigned int prng_lfsr; + unsigned char age[JK_CACHE_SLOTS]; +}; + +struct JKObjCImpCache { + Class NSNumberClass; + NSNumberAllocImp NSNumberAlloc; + NSNumberInitWithUnsignedLongLongImp NSNumberInitWithUnsignedLongLong; +}; + +struct JKParseState { + JKParseOptionFlags parseOptionFlags; + JKConstBuffer stringBuffer; + size_t atIndex, lineNumber, lineStartIndex; + size_t prev_atIndex, prev_lineNumber, prev_lineStartIndex; + JKParseToken token; + JKObjectStack objectStack; + JKTokenCache cache; + JKObjCImpCache objCImpCache; + NSError *error; + int errorIsPrev; + BOOL mutableCollections; +}; + +struct JKFastClassLookup { + void *stringClass; + void *numberClass; + void *arrayClass; + void *dictionaryClass; + void *nullClass; +}; + +struct JKEncodeCache { + id object; + size_t offset; + size_t length; +}; + +struct JKEncodeState { + JKManagedBuffer utf8ConversionBuffer; + JKManagedBuffer stringBuffer; + size_t atIndex; + JKFastClassLookup fastClassLookup; + JKEncodeCache cache[JK_ENCODE_CACHE_SLOTS]; + JKSerializeOptionFlags serializeOptionFlags; + JKEncodeOptionType encodeOption; + size_t depth; + NSError *error; + id classFormatterDelegate; + SEL classFormatterSelector; + JKClassFormatterIMP classFormatterIMP; +#ifdef __BLOCKS__ + JKClassFormatterBlock classFormatterBlock; +#endif +}; + +// This is a JSONKit private class. +@interface JKSerializer : NSObject { + JKEncodeState *encodeState; +} + +#ifdef __BLOCKS__ +#define JKSERIALIZER_BLOCKS_PROTO id(^)(id object) +#else +#define JKSERIALIZER_BLOCKS_PROTO id +#endif + ++ (id)serializeObject:(id)object options:(JKSerializeOptionFlags)optionFlags encodeOption:(JKEncodeOptionType)encodeOption block:(JKSERIALIZER_BLOCKS_PROTO)block delegate:(id)delegate selector:(SEL)selector error:(NSError **)error; +- (id)serializeObject:(id)object options:(JKSerializeOptionFlags)optionFlags encodeOption:(JKEncodeOptionType)encodeOption block:(JKSERIALIZER_BLOCKS_PROTO)block delegate:(id)delegate selector:(SEL)selector error:(NSError **)error; +- (void)releaseState; + +@end + +struct JKHashTableEntry { + NSUInteger keyHash; + id key, object; +}; + + +typedef uint32_t UTF32; /* at least 32 bits */ +typedef uint16_t UTF16; /* at least 16 bits */ +typedef uint8_t UTF8; /* typically 8 bits */ + +typedef enum { + conversionOK, /* conversion successful */ + sourceExhausted, /* partial character in source, but hit end */ + targetExhausted, /* insuff. room in target for conversion */ + sourceIllegal /* source sequence is illegal/malformed */ +} ConversionResult; + +#define UNI_REPLACEMENT_CHAR (UTF32)0x0000FFFD +#define UNI_MAX_BMP (UTF32)0x0000FFFF +#define UNI_MAX_UTF16 (UTF32)0x0010FFFF +#define UNI_MAX_UTF32 (UTF32)0x7FFFFFFF +#define UNI_MAX_LEGAL_UTF32 (UTF32)0x0010FFFF +#define UNI_SUR_HIGH_START (UTF32)0xD800 +#define UNI_SUR_HIGH_END (UTF32)0xDBFF +#define UNI_SUR_LOW_START (UTF32)0xDC00 +#define UNI_SUR_LOW_END (UTF32)0xDFFF + + +#if !defined(JK_FAST_TRAILING_BYTES) +static const char trailingBytesForUTF8[256] = { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5 +}; +#endif + +static const UTF32 offsetsFromUTF8[6] = { 0x00000000UL, 0x00003080UL, 0x000E2080UL, 0x03C82080UL, 0xFA082080UL, 0x82082080UL }; +static const UTF8 firstByteMark[7] = { 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC }; + +#define JK_AT_STRING_PTR(x) (&((x)->stringBuffer.bytes.ptr[(x)->atIndex])) +#define JK_END_STRING_PTR(x) (&((x)->stringBuffer.bytes.ptr[(x)->stringBuffer.bytes.length])) + + +static JKArray *_JKArrayCreate(id *objects, NSUInteger count, BOOL mutableCollection); +static void _JKArrayInsertObjectAtIndex(JKArray *array, id newObject, NSUInteger objectIndex); +static void _JKArrayReplaceObjectAtIndexWithObject(JKArray *array, NSUInteger objectIndex, id newObject); +static void _JKArrayRemoveObjectAtIndex(JKArray *array, NSUInteger objectIndex); + + +static NSUInteger _JKDictionaryCapacityForCount(NSUInteger count); +static JKDictionary *_JKDictionaryCreate(id *keys, NSUInteger *keyHashes, id *objects, NSUInteger count, BOOL mutableCollection); +static JKHashTableEntry *_JKDictionaryHashEntry(JKDictionary *dictionary); +static NSUInteger _JKDictionaryCapacity(JKDictionary *dictionary); +static void _JKDictionaryResizeIfNeccessary(JKDictionary *dictionary); +static void _JKDictionaryRemoveObjectWithEntry(JKDictionary *dictionary, JKHashTableEntry *entry); +static void _JKDictionaryAddObject(JKDictionary *dictionary, NSUInteger keyHash, id key, id object); +static JKHashTableEntry *_JKDictionaryHashTableEntryForKey(JKDictionary *dictionary, id aKey); + + +static void _JSONDecoderCleanup(JSONDecoder *decoder); + +static id _NSStringObjectFromJSONString(NSString *jsonString, JKParseOptionFlags parseOptionFlags, NSError **error, BOOL mutableCollection); + + +static void jk_managedBuffer_release(JKManagedBuffer *managedBuffer); +static void jk_managedBuffer_setToStackBuffer(JKManagedBuffer *managedBuffer, unsigned char *ptr, size_t length); +static unsigned char *jk_managedBuffer_resize(JKManagedBuffer *managedBuffer, size_t newSize); +static void jk_objectStack_release(JKObjectStack *objectStack); +static void jk_objectStack_setToStackBuffer(JKObjectStack *objectStack, void **objects, void **keys, CFHashCode *cfHashes, size_t count); +static int jk_objectStack_resize(JKObjectStack *objectStack, size_t newCount); + +static void jk_error(JKParseState *parseState, NSString *format, ...); +static int jk_parse_string(JKParseState *parseState); +static int jk_parse_number(JKParseState *parseState); +static size_t jk_parse_is_newline(JKParseState *parseState, const unsigned char *atCharacterPtr); +JK_STATIC_INLINE int jk_parse_skip_newline(JKParseState *parseState); +JK_STATIC_INLINE void jk_parse_skip_whitespace(JKParseState *parseState); +static int jk_parse_next_token(JKParseState *parseState); +static void jk_error_parse_accept_or3(JKParseState *parseState, int state, NSString *or1String, NSString *or2String, NSString *or3String); +static void *jk_create_dictionary(JKParseState *parseState, size_t startingObjectIndex); +static void *jk_parse_dictionary(JKParseState *parseState); +static void *jk_parse_array(JKParseState *parseState); +static void *jk_object_for_token(JKParseState *parseState); +static void *jk_cachedObjects(JKParseState *parseState); +JK_STATIC_INLINE void jk_cache_age(JKParseState *parseState); +JK_STATIC_INLINE void jk_set_parsed_token(JKParseState *parseState, const unsigned char *ptr, size_t length, JKTokenType type, size_t advanceBy); + + +static void jk_encode_error(JKEncodeState *encodeState, NSString *format, ...); +static int jk_encode_printf(JKEncodeState *encodeState, JKEncodeCache *cacheSlot, size_t startingAtIndex, id object, const char *format, ...); +static int jk_encode_write(JKEncodeState *encodeState, JKEncodeCache *cacheSlot, size_t startingAtIndex, id object, const char *format); +static int jk_encode_writePrettyPrintWhiteSpace(JKEncodeState *encodeState); +static int jk_encode_write1slow(JKEncodeState *encodeState, ssize_t depthChange, const char *format); +static int jk_encode_write1fast(JKEncodeState *encodeState, ssize_t depthChange JK_UNUSED_ARG, const char *format); +static int jk_encode_writen(JKEncodeState *encodeState, JKEncodeCache *cacheSlot, size_t startingAtIndex, id object, const char *format, size_t length); +JK_STATIC_INLINE JKHash jk_encode_object_hash(void *objectPtr); +JK_STATIC_INLINE void jk_encode_updateCache(JKEncodeState *encodeState, JKEncodeCache *cacheSlot, size_t startingAtIndex, id object); +static int jk_encode_add_atom_to_buffer(JKEncodeState *encodeState, void *objectPtr); + +#define jk_encode_write1(es, dc, f) (JK_EXPECT_F(_jk_encode_prettyPrint) ? jk_encode_write1slow(es, dc, f) : jk_encode_write1fast(es, dc, f)) + + +JK_STATIC_INLINE size_t jk_min(size_t a, size_t b); +JK_STATIC_INLINE size_t jk_max(size_t a, size_t b); +JK_STATIC_INLINE JKHash jk_calculateHash(JKHash currentHash, unsigned char c); + +// JSONKit v1.4 used both a JKArray : NSArray and JKMutableArray : NSMutableArray, and the same for the dictionary collection type. +// However, Louis Gerbarg (via cocoa-dev) pointed out that Cocoa / Core Foundation actually implements only a single class that inherits from the +// mutable version, and keeps an ivar bit for whether or not that instance is mutable. This means that the immutable versions of the collection +// classes receive the mutating methods, but this is handled by having those methods throw an exception when the ivar bit is set to immutable. +// We adopt the same strategy here. It's both cleaner and gets rid of the method swizzling hackery used in JSONKit v1.4. + + +// This is a workaround for issue #23 https://github.com/johnezang/JSONKit/pull/23 +// Basically, there seem to be a problem with using +load in static libraries on iOS. However, __attribute__ ((constructor)) does work correctly. +// Since we do not require anything "special" that +load provides, and we can accomplish the same thing using __attribute__ ((constructor)), the +load logic was moved here. + +static Class _JKArrayClass = NULL; +static size_t _JKArrayInstanceSize = 0UL; +static Class _JKDictionaryClass = NULL; +static size_t _JKDictionaryInstanceSize = 0UL; + +// For JSONDecoder... +static Class _jk_NSNumberClass = NULL; +static NSNumberAllocImp _jk_NSNumberAllocImp = NULL; +static NSNumberInitWithUnsignedLongLongImp _jk_NSNumberInitWithUnsignedLongLongImp = NULL; + +extern void jk_collectionClassLoadTimeInitialization(void) __attribute__ ((constructor)); + +void jk_collectionClassLoadTimeInitialization(void) { + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; // Though technically not required, the run time environment at load time initialization may be less than ideal. + + _JKArrayClass = objc_getClass("JKArray"); + _JKArrayInstanceSize = jk_max(16UL, class_getInstanceSize(_JKArrayClass)); + + _JKDictionaryClass = objc_getClass("JKDictionary"); + _JKDictionaryInstanceSize = jk_max(16UL, class_getInstanceSize(_JKDictionaryClass)); + + // For JSONDecoder... + _jk_NSNumberClass = [NSNumber class]; + _jk_NSNumberAllocImp = (NSNumberAllocImp)[NSNumber methodForSelector:@selector(alloc)]; + + // Hacktacular. Need to do it this way due to the nature of class clusters. + id temp_NSNumber = [NSNumber alloc]; + _jk_NSNumberInitWithUnsignedLongLongImp = (NSNumberInitWithUnsignedLongLongImp)[temp_NSNumber methodForSelector:@selector(initWithUnsignedLongLong:)]; + [[temp_NSNumber init] release]; + temp_NSNumber = NULL; + + [pool release]; pool = NULL; +} + + +#pragma mark - +@interface JKArray : NSMutableArray { + id *objects; + NSUInteger count, capacity, mutations; +} +@end + +@implementation JKArray + ++ (id)allocWithZone:(NSZone *)zone +{ +#pragma unused(zone) + [NSException raise:NSInvalidArgumentException format:@"*** - [%@ %@]: The %@ class is private to JSONKit and should not be used in this fashion.", NSStringFromClass([self class]), NSStringFromSelector(_cmd), NSStringFromClass([self class])]; + return(NULL); +} + +static JKArray *_JKArrayCreate(id *objects, NSUInteger count, BOOL mutableCollection) { + NSCParameterAssert((objects != NULL) && (_JKArrayClass != NULL) && (_JKArrayInstanceSize > 0UL)); + JKArray *array = NULL; + if(JK_EXPECT_T((array = (JKArray *)calloc(1UL, _JKArrayInstanceSize)) != NULL)) { // Directly allocate the JKArray instance via calloc. + array->isa = _JKArrayClass; + if((array = [array init]) == NULL) { return(NULL); } + array->capacity = count; + array->count = count; + if(JK_EXPECT_F((array->objects = (id *)malloc(sizeof(id) * array->capacity)) == NULL)) { [array autorelease]; return(NULL); } + memcpy(array->objects, objects, array->capacity * sizeof(id)); + array->mutations = (mutableCollection == NO) ? 0UL : 1UL; + } + return(array); +} + +// Note: The caller is responsible for -retaining the object that is to be added. +static void _JKArrayInsertObjectAtIndex(JKArray *array, id newObject, NSUInteger objectIndex) { + NSCParameterAssert((array != NULL) && (array->objects != NULL) && (array->count <= array->capacity) && (objectIndex <= array->count) && (newObject != NULL)); + if(!((array != NULL) && (array->objects != NULL) && (objectIndex <= array->count) && (newObject != NULL))) { [newObject autorelease]; return; } + if((array->count + 1UL) >= array->capacity) { + id *newObjects = NULL; + if((newObjects = (id *)realloc(array->objects, sizeof(id) * (array->capacity + 16UL))) == NULL) { [NSException raise:NSMallocException format:@"Unable to resize objects array."]; } + array->objects = newObjects; + array->capacity += 16UL; + memset(&array->objects[array->count], 0, sizeof(id) * (array->capacity - array->count)); + } + array->count++; + if((objectIndex + 1UL) < array->count) { memmove(&array->objects[objectIndex + 1UL], &array->objects[objectIndex], sizeof(id) * ((array->count - 1UL) - objectIndex)); array->objects[objectIndex] = NULL; } + array->objects[objectIndex] = newObject; +} + +// Note: The caller is responsible for -retaining the object that is to be added. +static void _JKArrayReplaceObjectAtIndexWithObject(JKArray *array, NSUInteger objectIndex, id newObject) { + NSCParameterAssert((array != NULL) && (array->objects != NULL) && (array->count <= array->capacity) && (objectIndex < array->count) && (array->objects[objectIndex] != NULL) && (newObject != NULL)); + if(!((array != NULL) && (array->objects != NULL) && (objectIndex < array->count) && (array->objects[objectIndex] != NULL) && (newObject != NULL))) { [newObject autorelease]; return; } + CFRelease(array->objects[objectIndex]); + array->objects[objectIndex] = NULL; + array->objects[objectIndex] = newObject; +} + +static void _JKArrayRemoveObjectAtIndex(JKArray *array, NSUInteger objectIndex) { + NSCParameterAssert((array != NULL) && (array->objects != NULL) && (array->count > 0UL) && (array->count <= array->capacity) && (objectIndex < array->count) && (array->objects[objectIndex] != NULL)); + if(!((array != NULL) && (array->objects != NULL) && (array->count > 0UL) && (array->count <= array->capacity) && (objectIndex < array->count) && (array->objects[objectIndex] != NULL))) { return; } + CFRelease(array->objects[objectIndex]); + array->objects[objectIndex] = NULL; + if((objectIndex + 1UL) < array->count) { memmove(&array->objects[objectIndex], &array->objects[objectIndex + 1UL], sizeof(id) * ((array->count - 1UL) - objectIndex)); array->objects[array->count - 1UL] = NULL; } + array->count--; +} + +- (void)dealloc +{ + if(JK_EXPECT_T(objects != NULL)) { + NSUInteger atObject = 0UL; + for(atObject = 0UL; atObject < count; atObject++) { if(JK_EXPECT_T(objects[atObject] != NULL)) { CFRelease(objects[atObject]); objects[atObject] = NULL; } } + free(objects); objects = NULL; + } + + [super dealloc]; +} + +- (NSUInteger)count +{ + NSParameterAssert((objects != NULL) && (count <= capacity)); + return(count); +} + +- (void)getObjects:(id *)objectsPtr range:(NSRange)range +{ + NSParameterAssert((objects != NULL) && (count <= capacity)); + if((objectsPtr == NULL) && (NSMaxRange(range) > 0UL)) { [NSException raise:NSRangeException format:@"*** -[%@ %@]: pointer to objects array is NULL but range length is %lu", NSStringFromClass([self class]), NSStringFromSelector(_cmd), (unsigned long)NSMaxRange(range)]; } + if((range.location > count) || (NSMaxRange(range) > count)) { [NSException raise:NSRangeException format:@"*** -[%@ %@]: index (%lu) beyond bounds (%lu)", NSStringFromClass([self class]), NSStringFromSelector(_cmd), (unsigned long)NSMaxRange(range), (unsigned long)count]; } +#ifndef __clang_analyzer__ + memcpy(objectsPtr, objects + range.location, range.length * sizeof(id)); +#endif +} + +- (id)objectAtIndex:(NSUInteger)objectIndex +{ + if(objectIndex >= count) { [NSException raise:NSRangeException format:@"*** -[%@ %@]: index (%lu) beyond bounds (%lu)", NSStringFromClass([self class]), NSStringFromSelector(_cmd), (unsigned long)objectIndex, (unsigned long)count]; } + NSParameterAssert((objects != NULL) && (count <= capacity) && (objects[objectIndex] != NULL)); + return(objects[objectIndex]); +} + +- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len +{ + NSParameterAssert((state != NULL) && (stackbuf != NULL) && (len > 0UL) && (objects != NULL) && (count <= capacity)); + if(JK_EXPECT_F(state->state == 0UL)) { state->mutationsPtr = (unsigned long *)&mutations; state->itemsPtr = stackbuf; } + if(JK_EXPECT_F(state->state >= count)) { return(0UL); } + + NSUInteger enumeratedCount = 0UL; + while(JK_EXPECT_T(enumeratedCount < len) && JK_EXPECT_T(state->state < count)) { NSParameterAssert(objects[state->state] != NULL); stackbuf[enumeratedCount++] = objects[state->state++]; } + + return(enumeratedCount); +} + +- (void)insertObject:(id)anObject atIndex:(NSUInteger)objectIndex +{ + if(mutations == 0UL) { [NSException raise:NSInternalInconsistencyException format:@"*** -[%@ %@]: mutating method sent to immutable object", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + if(anObject == NULL) { [NSException raise:NSInvalidArgumentException format:@"*** -[%@ %@]: attempt to insert nil", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + if(objectIndex > count) { [NSException raise:NSRangeException format:@"*** -[%@ %@]: index (%lu) beyond bounds (%lu)", NSStringFromClass([self class]), NSStringFromSelector(_cmd), (unsigned long)objectIndex, (unsigned long)(count + 1UL)]; } +#ifdef __clang_analyzer__ + [anObject retain]; // Stupid clang analyzer... Issue #19. +#else + anObject = [anObject retain]; +#endif + _JKArrayInsertObjectAtIndex(self, anObject, objectIndex); + mutations = (mutations == NSUIntegerMax) ? 1UL : mutations + 1UL; +} + +- (void)removeObjectAtIndex:(NSUInteger)objectIndex +{ + if(mutations == 0UL) { [NSException raise:NSInternalInconsistencyException format:@"*** -[%@ %@]: mutating method sent to immutable object", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + if(objectIndex >= count) { [NSException raise:NSRangeException format:@"*** -[%@ %@]: index (%lu) beyond bounds (%lu)", NSStringFromClass([self class]), NSStringFromSelector(_cmd), (unsigned long)objectIndex, (unsigned long)count]; } + _JKArrayRemoveObjectAtIndex(self, objectIndex); + mutations = (mutations == NSUIntegerMax) ? 1UL : mutations + 1UL; +} + +- (void)replaceObjectAtIndex:(NSUInteger)objectIndex withObject:(id)anObject +{ + if(mutations == 0UL) { [NSException raise:NSInternalInconsistencyException format:@"*** -[%@ %@]: mutating method sent to immutable object", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + if(anObject == NULL) { [NSException raise:NSInvalidArgumentException format:@"*** -[%@ %@]: attempt to insert nil", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + if(objectIndex >= count) { [NSException raise:NSRangeException format:@"*** -[%@ %@]: index (%lu) beyond bounds (%lu)", NSStringFromClass([self class]), NSStringFromSelector(_cmd), (unsigned long)objectIndex, (unsigned long)count]; } +#ifdef __clang_analyzer__ + [anObject retain]; // Stupid clang analyzer... Issue #19. +#else + anObject = [anObject retain]; +#endif + _JKArrayReplaceObjectAtIndexWithObject(self, objectIndex, anObject); + mutations = (mutations == NSUIntegerMax) ? 1UL : mutations + 1UL; +} + +- (id)copyWithZone:(NSZone *)zone +{ + NSParameterAssert((objects != NULL) && (count <= capacity)); + return((mutations == 0UL) ? [self retain] : [(NSArray *)[NSArray allocWithZone:zone] initWithObjects:objects count:count]); +} + +- (id)mutableCopyWithZone:(NSZone *)zone +{ + NSParameterAssert((objects != NULL) && (count <= capacity)); + return([(NSMutableArray *)[NSMutableArray allocWithZone:zone] initWithObjects:objects count:count]); +} + +@end + + +#pragma mark - +@interface JKDictionaryEnumerator : NSEnumerator { + id collection; + NSUInteger nextObject; +} + +- (id)initWithJKDictionary:(JKDictionary *)initDictionary; +- (NSArray *)allObjects; +- (id)nextObject; + +@end + +@implementation JKDictionaryEnumerator + +- (id)initWithJKDictionary:(JKDictionary *)initDictionary +{ + NSParameterAssert(initDictionary != NULL); + if((self = [super init]) == NULL) { return(NULL); } + if((collection = (id)CFRetain(initDictionary)) == NULL) { [self autorelease]; return(NULL); } + return(self); +} + +- (void)dealloc +{ + if(collection != NULL) { CFRelease(collection); collection = NULL; } + [super dealloc]; +} + +- (NSArray *)allObjects +{ + NSParameterAssert(collection != NULL); + NSUInteger count = [(NSDictionary *)collection count], atObject = 0UL; + id objects[count]; + + while((objects[atObject] = [self nextObject]) != NULL) { NSParameterAssert(atObject < count); atObject++; } + + return([NSArray arrayWithObjects:objects count:atObject]); +} + +- (id)nextObject +{ + NSParameterAssert((collection != NULL) && (_JKDictionaryHashEntry(collection) != NULL)); + JKHashTableEntry *entry = _JKDictionaryHashEntry(collection); + NSUInteger capacity = _JKDictionaryCapacity(collection); + id returnObject = NULL; + + if(entry != NULL) { while((nextObject < capacity) && ((returnObject = entry[nextObject++].key) == NULL)) { /* ... */ } } + + return(returnObject); +} + +@end + +#pragma mark - +@interface JKDictionary : NSMutableDictionary { + NSUInteger count, capacity, mutations; + JKHashTableEntry *entry; +} +@end + +@implementation JKDictionary + ++ (id)allocWithZone:(NSZone *)zone +{ +#pragma unused(zone) + [NSException raise:NSInvalidArgumentException format:@"*** - [%@ %@]: The %@ class is private to JSONKit and should not be used in this fashion.", NSStringFromClass([self class]), NSStringFromSelector(_cmd), NSStringFromClass([self class])]; + return(NULL); +} + +// These values are taken from Core Foundation CF-550 CFBasicHash.m. As a bonus, they align very well with our JKHashTableEntry struct too. +static const NSUInteger jk_dictionaryCapacities[] = { + 0UL, 3UL, 7UL, 13UL, 23UL, 41UL, 71UL, 127UL, 191UL, 251UL, 383UL, 631UL, 1087UL, 1723UL, + 2803UL, 4523UL, 7351UL, 11959UL, 19447UL, 31231UL, 50683UL, 81919UL, 132607UL, + 214519UL, 346607UL, 561109UL, 907759UL, 1468927UL, 2376191UL, 3845119UL, + 6221311UL, 10066421UL, 16287743UL, 26354171UL, 42641881UL, 68996069UL, + 111638519UL, 180634607UL, 292272623UL, 472907251UL +}; + +static NSUInteger _JKDictionaryCapacityForCount(NSUInteger count) { + NSUInteger bottom = 0UL, top = sizeof(jk_dictionaryCapacities) / sizeof(NSUInteger), mid = 0UL, tableSize = (NSUInteger)lround(floor(((double)count) * 1.33)); + while(top > bottom) { mid = (top + bottom) / 2UL; if(jk_dictionaryCapacities[mid] < tableSize) { bottom = mid + 1UL; } else { top = mid; } } + return(jk_dictionaryCapacities[bottom]); +} + +static void _JKDictionaryResizeIfNeccessary(JKDictionary *dictionary) { + NSCParameterAssert((dictionary != NULL) && (dictionary->entry != NULL) && (dictionary->count <= dictionary->capacity)); + + NSUInteger capacityForCount = 0UL; + if(dictionary->capacity < (capacityForCount = _JKDictionaryCapacityForCount(dictionary->count + 1UL))) { // resize + NSUInteger oldCapacity = dictionary->capacity; +#ifndef NS_BLOCK_ASSERTIONS + NSUInteger oldCount = dictionary->count; +#endif + JKHashTableEntry *oldEntry = dictionary->entry; + if(JK_EXPECT_F((dictionary->entry = (JKHashTableEntry *)calloc(1UL, sizeof(JKHashTableEntry) * capacityForCount)) == NULL)) { [NSException raise:NSMallocException format:@"Unable to allocate memory for hash table."]; } + dictionary->capacity = capacityForCount; + dictionary->count = 0UL; + + NSUInteger idx = 0UL; + for(idx = 0UL; idx < oldCapacity; idx++) { if(oldEntry[idx].key != NULL) { _JKDictionaryAddObject(dictionary, oldEntry[idx].keyHash, oldEntry[idx].key, oldEntry[idx].object); oldEntry[idx].keyHash = 0UL; oldEntry[idx].key = NULL; oldEntry[idx].object = NULL; } } + NSCParameterAssert((oldCount == dictionary->count)); + free(oldEntry); oldEntry = NULL; + } +} + +static JKDictionary *_JKDictionaryCreate(id *keys, NSUInteger *keyHashes, id *objects, NSUInteger count, BOOL mutableCollection) { + NSCParameterAssert((keys != NULL) && (keyHashes != NULL) && (objects != NULL) && (_JKDictionaryClass != NULL) && (_JKDictionaryInstanceSize > 0UL)); + JKDictionary *dictionary = NULL; + if(JK_EXPECT_T((dictionary = (JKDictionary *)calloc(1UL, _JKDictionaryInstanceSize)) != NULL)) { // Directly allocate the JKDictionary instance via calloc. + dictionary->isa = _JKDictionaryClass; + if((dictionary = [dictionary init]) == NULL) { return(NULL); } + dictionary->capacity = _JKDictionaryCapacityForCount(count); + dictionary->count = 0UL; + + if(JK_EXPECT_F((dictionary->entry = (JKHashTableEntry *)calloc(1UL, sizeof(JKHashTableEntry) * dictionary->capacity)) == NULL)) { [dictionary autorelease]; return(NULL); } + + NSUInteger idx = 0UL; + for(idx = 0UL; idx < count; idx++) { _JKDictionaryAddObject(dictionary, keyHashes[idx], keys[idx], objects[idx]); } + + dictionary->mutations = (mutableCollection == NO) ? 0UL : 1UL; + } + return(dictionary); +} + +- (void)dealloc +{ + if(JK_EXPECT_T(entry != NULL)) { + NSUInteger atEntry = 0UL; + for(atEntry = 0UL; atEntry < capacity; atEntry++) { + if(JK_EXPECT_T(entry[atEntry].key != NULL)) { CFRelease(entry[atEntry].key); entry[atEntry].key = NULL; } + if(JK_EXPECT_T(entry[atEntry].object != NULL)) { CFRelease(entry[atEntry].object); entry[atEntry].object = NULL; } + } + + free(entry); entry = NULL; + } + + [super dealloc]; +} + +static JKHashTableEntry *_JKDictionaryHashEntry(JKDictionary *dictionary) { + NSCParameterAssert(dictionary != NULL); + return(dictionary->entry); +} + +static NSUInteger _JKDictionaryCapacity(JKDictionary *dictionary) { + NSCParameterAssert(dictionary != NULL); + return(dictionary->capacity); +} + +static void _JKDictionaryRemoveObjectWithEntry(JKDictionary *dictionary, JKHashTableEntry *entry) { + NSCParameterAssert((dictionary != NULL) && (entry != NULL) && (entry->key != NULL) && (entry->object != NULL) && (dictionary->count > 0UL) && (dictionary->count <= dictionary->capacity)); + CFRelease(entry->key); entry->key = NULL; + CFRelease(entry->object); entry->object = NULL; + entry->keyHash = 0UL; + dictionary->count--; + // In order for certain invariants that are used to speed up the search for a particular key, we need to "re-add" all the entries in the hash table following this entry until we hit a NULL entry. + NSUInteger removeIdx = entry - dictionary->entry, idx = 0UL; + NSCParameterAssert((removeIdx < dictionary->capacity)); + for(idx = 0UL; idx < dictionary->capacity; idx++) { + NSUInteger entryIdx = (removeIdx + idx + 1UL) % dictionary->capacity; + JKHashTableEntry *atEntry = &dictionary->entry[entryIdx]; + if(atEntry->key == NULL) { break; } + NSUInteger keyHash = atEntry->keyHash; + id key = atEntry->key, object = atEntry->object; + NSCParameterAssert(object != NULL); + atEntry->keyHash = 0UL; + atEntry->key = NULL; + atEntry->object = NULL; + NSUInteger addKeyEntry = keyHash % dictionary->capacity, addIdx = 0UL; + for(addIdx = 0UL; addIdx < dictionary->capacity; addIdx++) { + JKHashTableEntry *atAddEntry = &dictionary->entry[((addKeyEntry + addIdx) % dictionary->capacity)]; + if(JK_EXPECT_T(atAddEntry->key == NULL)) { NSCParameterAssert((atAddEntry->keyHash == 0UL) && (atAddEntry->object == NULL)); atAddEntry->key = key; atAddEntry->object = object; atAddEntry->keyHash = keyHash; break; } + } + } +} + +static void _JKDictionaryAddObject(JKDictionary *dictionary, NSUInteger keyHash, id key, id object) { + NSCParameterAssert((dictionary != NULL) && (key != NULL) && (object != NULL) && (dictionary->count < dictionary->capacity) && (dictionary->entry != NULL)); + NSUInteger keyEntry = keyHash % dictionary->capacity, idx = 0UL; + for(idx = 0UL; idx < dictionary->capacity; idx++) { + NSUInteger entryIdx = (keyEntry + idx) % dictionary->capacity; + JKHashTableEntry *atEntry = &dictionary->entry[entryIdx]; + if(JK_EXPECT_F(atEntry->keyHash == keyHash) && JK_EXPECT_T(atEntry->key != NULL) && (JK_EXPECT_F(key == atEntry->key) || JK_EXPECT_F(CFEqual(atEntry->key, key)))) { _JKDictionaryRemoveObjectWithEntry(dictionary, atEntry); } + if(JK_EXPECT_T(atEntry->key == NULL)) { NSCParameterAssert((atEntry->keyHash == 0UL) && (atEntry->object == NULL)); atEntry->key = key; atEntry->object = object; atEntry->keyHash = keyHash; dictionary->count++; return; } + } + + // We should never get here. If we do, we -release the key / object because it's our responsibility. + CFRelease(key); + CFRelease(object); +} + +- (NSUInteger)count +{ + return(count); +} + +static JKHashTableEntry *_JKDictionaryHashTableEntryForKey(JKDictionary *dictionary, id aKey) { + NSCParameterAssert((dictionary != NULL) && (dictionary->entry != NULL) && (dictionary->count <= dictionary->capacity)); + if((aKey == NULL) || (dictionary->capacity == 0UL)) { return(NULL); } + NSUInteger keyHash = CFHash(aKey), keyEntry = (keyHash % dictionary->capacity), idx = 0UL; + JKHashTableEntry *atEntry = NULL; + for(idx = 0UL; idx < dictionary->capacity; idx++) { + atEntry = &dictionary->entry[(keyEntry + idx) % dictionary->capacity]; + if(JK_EXPECT_T(atEntry->keyHash == keyHash) && JK_EXPECT_T(atEntry->key != NULL) && ((atEntry->key == aKey) || CFEqual(atEntry->key, aKey))) { NSCParameterAssert(atEntry->object != NULL); return(atEntry); break; } + if(JK_EXPECT_F(atEntry->key == NULL)) { NSCParameterAssert(atEntry->object == NULL); return(NULL); break; } // If the key was in the table, we would have found it by now. + } + return(NULL); +} + +- (id)objectForKey:(id)aKey +{ + NSParameterAssert((entry != NULL) && (count <= capacity)); + JKHashTableEntry *entryForKey = _JKDictionaryHashTableEntryForKey(self, aKey); + return((entryForKey != NULL) ? entryForKey->object : NULL); +} + +- (void)getObjects:(id *)objects andKeys:(id *)keys +{ + NSParameterAssert((entry != NULL) && (count <= capacity)); + NSUInteger atEntry = 0UL; NSUInteger arrayIdx = 0UL; + for(atEntry = 0UL; atEntry < capacity; atEntry++) { + if(JK_EXPECT_T(entry[atEntry].key != NULL)) { + NSCParameterAssert((entry[atEntry].object != NULL) && (arrayIdx < count)); + if(JK_EXPECT_T(keys != NULL)) { keys[arrayIdx] = entry[atEntry].key; } + if(JK_EXPECT_T(objects != NULL)) { objects[arrayIdx] = entry[atEntry].object; } + arrayIdx++; + } + } +} + +- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len +{ + NSParameterAssert((state != NULL) && (stackbuf != NULL) && (len > 0UL) && (entry != NULL) && (count <= capacity)); + if(JK_EXPECT_F(state->state == 0UL)) { state->mutationsPtr = (unsigned long *)&mutations; state->itemsPtr = stackbuf; } + if(JK_EXPECT_F(state->state >= capacity)) { return(0UL); } + + NSUInteger enumeratedCount = 0UL; + while(JK_EXPECT_T(enumeratedCount < len) && JK_EXPECT_T(state->state < capacity)) { if(JK_EXPECT_T(entry[state->state].key != NULL)) { stackbuf[enumeratedCount++] = entry[state->state].key; } state->state++; } + + return(enumeratedCount); +} + +- (NSEnumerator *)keyEnumerator +{ + return([[[JKDictionaryEnumerator alloc] initWithJKDictionary:self] autorelease]); +} + +- (void)setObject:(id)anObject forKey:(id)aKey +{ + if(mutations == 0UL) { [NSException raise:NSInternalInconsistencyException format:@"*** -[%@ %@]: mutating method sent to immutable object", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + if(aKey == NULL) { [NSException raise:NSInvalidArgumentException format:@"*** -[%@ %@]: attempt to insert nil key", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + if(anObject == NULL) { [NSException raise:NSInvalidArgumentException format:@"*** -[%@ %@]: attempt to insert nil value (key: %@)", NSStringFromClass([self class]), NSStringFromSelector(_cmd), aKey]; } + + _JKDictionaryResizeIfNeccessary(self); +#ifndef __clang_analyzer__ + aKey = [aKey copy]; // Why on earth would clang complain that this -copy "might leak", + anObject = [anObject retain]; // but this -retain doesn't!? +#endif // __clang_analyzer__ + _JKDictionaryAddObject(self, CFHash(aKey), aKey, anObject); + mutations = (mutations == NSUIntegerMax) ? 1UL : mutations + 1UL; +} + +- (void)removeObjectForKey:(id)aKey +{ + if(mutations == 0UL) { [NSException raise:NSInternalInconsistencyException format:@"*** -[%@ %@]: mutating method sent to immutable object", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + if(aKey == NULL) { [NSException raise:NSInvalidArgumentException format:@"*** -[%@ %@]: attempt to remove nil key", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + JKHashTableEntry *entryForKey = _JKDictionaryHashTableEntryForKey(self, aKey); + if(entryForKey != NULL) { + _JKDictionaryRemoveObjectWithEntry(self, entryForKey); + mutations = (mutations == NSUIntegerMax) ? 1UL : mutations + 1UL; + } +} + +- (id)copyWithZone:(NSZone *)zone +{ + NSParameterAssert((entry != NULL) && (count <= capacity)); + return((mutations == 0UL) ? [self retain] : [[NSDictionary allocWithZone:zone] initWithDictionary:self]); +} + +- (id)mutableCopyWithZone:(NSZone *)zone +{ + NSParameterAssert((entry != NULL) && (count <= capacity)); + return([[NSMutableDictionary allocWithZone:zone] initWithDictionary:self]); +} + +@end + + + +#pragma mark - + +JK_STATIC_INLINE size_t jk_min(size_t a, size_t b) { return((a < b) ? a : b); } +JK_STATIC_INLINE size_t jk_max(size_t a, size_t b) { return((a > b) ? a : b); } + +JK_STATIC_INLINE JKHash jk_calculateHash(JKHash currentHash, unsigned char c) { return((((currentHash << 5) + currentHash) + (c - 29)) ^ (currentHash >> 19)); } + + +static void jk_error(JKParseState *parseState, NSString *format, ...) { + NSCParameterAssert((parseState != NULL) && (format != NULL)); + + va_list varArgsList; + va_start(varArgsList, format); + NSString *formatString = [[[NSString alloc] initWithFormat:format arguments:varArgsList] autorelease]; + va_end(varArgsList); + +#if 0 + const unsigned char *lineStart = parseState->stringBuffer.bytes.ptr + parseState->lineStartIndex; + const unsigned char *lineEnd = lineStart; + const unsigned char *atCharacterPtr = NULL; + + for(atCharacterPtr = lineStart; atCharacterPtr < JK_END_STRING_PTR(parseState); atCharacterPtr++) { lineEnd = atCharacterPtr; if(jk_parse_is_newline(parseState, atCharacterPtr)) { break; } } + + NSString *lineString = @"", *carretString = @""; + if(lineStart < JK_END_STRING_PTR(parseState)) { + lineString = [[[NSString alloc] initWithBytes:lineStart length:(lineEnd - lineStart) encoding:NSUTF8StringEncoding] autorelease]; + carretString = [NSString stringWithFormat:@"%*.*s^", (int)(parseState->atIndex - parseState->lineStartIndex), (int)(parseState->atIndex - parseState->lineStartIndex), " "]; + } +#endif + + if(parseState->error == NULL) { + parseState->error = [NSError errorWithDomain:@"JKErrorDomain" code:-1L userInfo: + [NSDictionary dictionaryWithObjectsAndKeys: + formatString, NSLocalizedDescriptionKey, + [NSNumber numberWithUnsignedLong:parseState->atIndex], @"JKAtIndexKey", + [NSNumber numberWithUnsignedLong:parseState->lineNumber], @"JKLineNumberKey", + //lineString, @"JKErrorLine0Key", + //carretString, @"JKErrorLine1Key", + NULL]]; + } +} + +#pragma mark - +#pragma mark Buffer and Object Stack management functions + +static void jk_managedBuffer_release(JKManagedBuffer *managedBuffer) { + if((managedBuffer->flags & JKManagedBufferMustFree)) { + if(managedBuffer->bytes.ptr != NULL) { free(managedBuffer->bytes.ptr); managedBuffer->bytes.ptr = NULL; } + managedBuffer->flags &= ~JKManagedBufferMustFree; + } + + managedBuffer->bytes.ptr = NULL; + managedBuffer->bytes.length = 0UL; + managedBuffer->flags &= ~JKManagedBufferLocationMask; +} + +static void jk_managedBuffer_setToStackBuffer(JKManagedBuffer *managedBuffer, unsigned char *ptr, size_t length) { + jk_managedBuffer_release(managedBuffer); + managedBuffer->bytes.ptr = ptr; + managedBuffer->bytes.length = length; + managedBuffer->flags = (managedBuffer->flags & ~JKManagedBufferLocationMask) | JKManagedBufferOnStack; +} + +static unsigned char *jk_managedBuffer_resize(JKManagedBuffer *managedBuffer, size_t newSize) { + size_t roundedUpNewSize = newSize; + + if(managedBuffer->roundSizeUpToMultipleOf > 0UL) { roundedUpNewSize = newSize + ((managedBuffer->roundSizeUpToMultipleOf - (newSize % managedBuffer->roundSizeUpToMultipleOf)) % managedBuffer->roundSizeUpToMultipleOf); } + + if((roundedUpNewSize != managedBuffer->bytes.length) && (roundedUpNewSize > managedBuffer->bytes.length)) { + if((managedBuffer->flags & JKManagedBufferLocationMask) == JKManagedBufferOnStack) { + NSCParameterAssert((managedBuffer->flags & JKManagedBufferMustFree) == 0); + unsigned char *newBuffer = NULL, *oldBuffer = managedBuffer->bytes.ptr; + + if((newBuffer = (unsigned char *)malloc(roundedUpNewSize)) == NULL) { return(NULL); } + memcpy(newBuffer, oldBuffer, jk_min(managedBuffer->bytes.length, roundedUpNewSize)); + managedBuffer->flags = (managedBuffer->flags & ~JKManagedBufferLocationMask) | (JKManagedBufferOnHeap | JKManagedBufferMustFree); + managedBuffer->bytes.ptr = newBuffer; + managedBuffer->bytes.length = roundedUpNewSize; + } else { + NSCParameterAssert(((managedBuffer->flags & JKManagedBufferMustFree) != 0) && ((managedBuffer->flags & JKManagedBufferLocationMask) == JKManagedBufferOnHeap)); + if((managedBuffer->bytes.ptr = (unsigned char *)reallocf(managedBuffer->bytes.ptr, roundedUpNewSize)) == NULL) { return(NULL); } + managedBuffer->bytes.length = roundedUpNewSize; + } + } + + return(managedBuffer->bytes.ptr); +} + + + +static void jk_objectStack_release(JKObjectStack *objectStack) { + NSCParameterAssert(objectStack != NULL); + + NSCParameterAssert(objectStack->index <= objectStack->count); + size_t atIndex = 0UL; + for(atIndex = 0UL; atIndex < objectStack->index; atIndex++) { + if(objectStack->objects[atIndex] != NULL) { CFRelease(objectStack->objects[atIndex]); objectStack->objects[atIndex] = NULL; } + if(objectStack->keys[atIndex] != NULL) { CFRelease(objectStack->keys[atIndex]); objectStack->keys[atIndex] = NULL; } + } + objectStack->index = 0UL; + + if(objectStack->flags & JKObjectStackMustFree) { + NSCParameterAssert((objectStack->flags & JKObjectStackLocationMask) == JKObjectStackOnHeap); + if(objectStack->objects != NULL) { free(objectStack->objects); objectStack->objects = NULL; } + if(objectStack->keys != NULL) { free(objectStack->keys); objectStack->keys = NULL; } + if(objectStack->cfHashes != NULL) { free(objectStack->cfHashes); objectStack->cfHashes = NULL; } + objectStack->flags &= ~JKObjectStackMustFree; + } + + objectStack->objects = NULL; + objectStack->keys = NULL; + objectStack->cfHashes = NULL; + + objectStack->count = 0UL; + objectStack->flags &= ~JKObjectStackLocationMask; +} + +static void jk_objectStack_setToStackBuffer(JKObjectStack *objectStack, void **objects, void **keys, CFHashCode *cfHashes, size_t count) { + NSCParameterAssert((objectStack != NULL) && (objects != NULL) && (keys != NULL) && (cfHashes != NULL) && (count > 0UL)); + jk_objectStack_release(objectStack); + objectStack->objects = objects; + objectStack->keys = keys; + objectStack->cfHashes = cfHashes; + objectStack->count = count; + objectStack->flags = (objectStack->flags & ~JKObjectStackLocationMask) | JKObjectStackOnStack; +#ifndef NS_BLOCK_ASSERTIONS + size_t idx; + for(idx = 0UL; idx < objectStack->count; idx++) { objectStack->objects[idx] = NULL; objectStack->keys[idx] = NULL; objectStack->cfHashes[idx] = 0UL; } +#endif +} + +static int jk_objectStack_resize(JKObjectStack *objectStack, size_t newCount) { + size_t roundedUpNewCount = newCount; + int returnCode = 0; + + void **newObjects = NULL, **newKeys = NULL; + CFHashCode *newCFHashes = NULL; + + if(objectStack->roundSizeUpToMultipleOf > 0UL) { roundedUpNewCount = newCount + ((objectStack->roundSizeUpToMultipleOf - (newCount % objectStack->roundSizeUpToMultipleOf)) % objectStack->roundSizeUpToMultipleOf); } + + if((roundedUpNewCount != objectStack->count) && (roundedUpNewCount > objectStack->count)) { + if((objectStack->flags & JKObjectStackLocationMask) == JKObjectStackOnStack) { + NSCParameterAssert((objectStack->flags & JKObjectStackMustFree) == 0); + + if((newObjects = (void ** )calloc(1UL, roundedUpNewCount * sizeof(void * ))) == NULL) { returnCode = 1; goto errorExit; } + memcpy(newObjects, objectStack->objects, jk_min(objectStack->count, roundedUpNewCount) * sizeof(void *)); + if((newKeys = (void ** )calloc(1UL, roundedUpNewCount * sizeof(void * ))) == NULL) { returnCode = 1; goto errorExit; } + memcpy(newKeys, objectStack->keys, jk_min(objectStack->count, roundedUpNewCount) * sizeof(void *)); + + if((newCFHashes = (CFHashCode *)calloc(1UL, roundedUpNewCount * sizeof(CFHashCode))) == NULL) { returnCode = 1; goto errorExit; } + memcpy(newCFHashes, objectStack->cfHashes, jk_min(objectStack->count, roundedUpNewCount) * sizeof(CFHashCode)); + + objectStack->flags = (objectStack->flags & ~JKObjectStackLocationMask) | (JKObjectStackOnHeap | JKObjectStackMustFree); + objectStack->objects = newObjects; newObjects = NULL; + objectStack->keys = newKeys; newKeys = NULL; + objectStack->cfHashes = newCFHashes; newCFHashes = NULL; + objectStack->count = roundedUpNewCount; + } else { + NSCParameterAssert(((objectStack->flags & JKObjectStackMustFree) != 0) && ((objectStack->flags & JKObjectStackLocationMask) == JKObjectStackOnHeap)); + if((newObjects = (void ** )realloc(objectStack->objects, roundedUpNewCount * sizeof(void * ))) != NULL) { objectStack->objects = newObjects; newObjects = NULL; } else { returnCode = 1; goto errorExit; } + if((newKeys = (void ** )realloc(objectStack->keys, roundedUpNewCount * sizeof(void * ))) != NULL) { objectStack->keys = newKeys; newKeys = NULL; } else { returnCode = 1; goto errorExit; } + if((newCFHashes = (CFHashCode *)realloc(objectStack->cfHashes, roundedUpNewCount * sizeof(CFHashCode))) != NULL) { objectStack->cfHashes = newCFHashes; newCFHashes = NULL; } else { returnCode = 1; goto errorExit; } + +#ifndef NS_BLOCK_ASSERTIONS + size_t idx; + for(idx = objectStack->count; idx < roundedUpNewCount; idx++) { objectStack->objects[idx] = NULL; objectStack->keys[idx] = NULL; objectStack->cfHashes[idx] = 0UL; } +#endif + objectStack->count = roundedUpNewCount; + } + } + + errorExit: + if(newObjects != NULL) { free(newObjects); newObjects = NULL; } + if(newKeys != NULL) { free(newKeys); newKeys = NULL; } + if(newCFHashes != NULL) { free(newCFHashes); newCFHashes = NULL; } + + return(returnCode); +} + +//////////// +#pragma mark - +#pragma mark Unicode related functions + +JK_STATIC_INLINE ConversionResult isValidCodePoint(UTF32 *u32CodePoint) { + ConversionResult result = conversionOK; + UTF32 ch = *u32CodePoint; + + if(JK_EXPECT_F(ch >= UNI_SUR_HIGH_START) && (JK_EXPECT_T(ch <= UNI_SUR_LOW_END))) { result = sourceIllegal; ch = UNI_REPLACEMENT_CHAR; goto finished; } + if(JK_EXPECT_F(ch >= 0xFDD0U) && (JK_EXPECT_F(ch <= 0xFDEFU) || JK_EXPECT_F((ch & 0xFFFEU) == 0xFFFEU)) && JK_EXPECT_T(ch <= 0x10FFFFU)) { result = sourceIllegal; ch = UNI_REPLACEMENT_CHAR; goto finished; } + if(JK_EXPECT_F(ch == 0U)) { result = sourceIllegal; ch = UNI_REPLACEMENT_CHAR; goto finished; } + + finished: + *u32CodePoint = ch; + return(result); +} + + +static int isLegalUTF8(const UTF8 *source, size_t length) { + const UTF8 *srcptr = source + length; + UTF8 a; + + switch(length) { + default: return(0); // Everything else falls through when "true"... + case 4: if(JK_EXPECT_F(((a = (*--srcptr)) < 0x80) || (a > 0xBF))) { return(0); } + case 3: if(JK_EXPECT_F(((a = (*--srcptr)) < 0x80) || (a > 0xBF))) { return(0); } + case 2: if(JK_EXPECT_F( (a = (*--srcptr)) > 0xBF )) { return(0); } + + switch(*source) { // no fall-through in this inner switch + case 0xE0: if(JK_EXPECT_F(a < 0xA0)) { return(0); } break; + case 0xED: if(JK_EXPECT_F(a > 0x9F)) { return(0); } break; + case 0xF0: if(JK_EXPECT_F(a < 0x90)) { return(0); } break; + case 0xF4: if(JK_EXPECT_F(a > 0x8F)) { return(0); } break; + default: if(JK_EXPECT_F(a < 0x80)) { return(0); } + } + + case 1: if(JK_EXPECT_F((JK_EXPECT_T(*source < 0xC2)) && JK_EXPECT_F(*source >= 0x80))) { return(0); } + } + + if(JK_EXPECT_F(*source > 0xF4)) { return(0); } + + return(1); +} + +static ConversionResult ConvertSingleCodePointInUTF8(const UTF8 *sourceStart, const UTF8 *sourceEnd, UTF8 const **nextUTF8, UTF32 *convertedUTF32) { + ConversionResult result = conversionOK; + const UTF8 *source = sourceStart; + UTF32 ch = 0UL; + +#if !defined(JK_FAST_TRAILING_BYTES) + unsigned short extraBytesToRead = trailingBytesForUTF8[*source]; +#else + unsigned short extraBytesToRead = __builtin_clz(((*source)^0xff) << 25); +#endif + + if(JK_EXPECT_F((source + extraBytesToRead + 1) > sourceEnd) || JK_EXPECT_F(!isLegalUTF8(source, extraBytesToRead + 1))) { + source++; + while((source < sourceEnd) && (((*source) & 0xc0) == 0x80) && ((source - sourceStart) < (extraBytesToRead + 1))) { source++; } + NSCParameterAssert(source <= sourceEnd); + result = ((source < sourceEnd) && (((*source) & 0xc0) != 0x80)) ? sourceIllegal : ((sourceStart + extraBytesToRead + 1) > sourceEnd) ? sourceExhausted : sourceIllegal; + ch = UNI_REPLACEMENT_CHAR; + goto finished; + } + + switch(extraBytesToRead) { // The cases all fall through. + case 5: ch += *source++; ch <<= 6; + case 4: ch += *source++; ch <<= 6; + case 3: ch += *source++; ch <<= 6; + case 2: ch += *source++; ch <<= 6; + case 1: ch += *source++; ch <<= 6; + case 0: ch += *source++; + } + ch -= offsetsFromUTF8[extraBytesToRead]; + + result = isValidCodePoint(&ch); + + finished: + *nextUTF8 = source; + *convertedUTF32 = ch; + + return(result); +} + + +static ConversionResult ConvertUTF32toUTF8 (UTF32 u32CodePoint, UTF8 **targetStart, UTF8 *targetEnd) { + const UTF32 byteMask = 0xBF, byteMark = 0x80; + ConversionResult result = conversionOK; + UTF8 *target = *targetStart; + UTF32 ch = u32CodePoint; + unsigned short bytesToWrite = 0; + + result = isValidCodePoint(&ch); + + // Figure out how many bytes the result will require. Turn any illegally large UTF32 things (> Plane 17) into replacement chars. + if(ch < (UTF32)0x80) { bytesToWrite = 1; } + else if(ch < (UTF32)0x800) { bytesToWrite = 2; } + else if(ch < (UTF32)0x10000) { bytesToWrite = 3; } + else if(ch <= UNI_MAX_LEGAL_UTF32) { bytesToWrite = 4; } + else { bytesToWrite = 3; ch = UNI_REPLACEMENT_CHAR; result = sourceIllegal; } + + target += bytesToWrite; + if (target > targetEnd) { target -= bytesToWrite; result = targetExhausted; goto finished; } + + switch (bytesToWrite) { // note: everything falls through. + case 4: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; + case 3: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; + case 2: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; + case 1: *--target = (UTF8) (ch | firstByteMark[bytesToWrite]); + } + + target += bytesToWrite; + + finished: + *targetStart = target; + return(result); +} + +JK_STATIC_INLINE int jk_string_add_unicodeCodePoint(JKParseState *parseState, uint32_t unicodeCodePoint, size_t *tokenBufferIdx, JKHash *stringHash) { + UTF8 *u8s = &parseState->token.tokenBuffer.bytes.ptr[*tokenBufferIdx]; + ConversionResult result; + + if((result = ConvertUTF32toUTF8(unicodeCodePoint, &u8s, (parseState->token.tokenBuffer.bytes.ptr + parseState->token.tokenBuffer.bytes.length))) != conversionOK) { if(result == targetExhausted) { return(1); } } + size_t utf8len = u8s - &parseState->token.tokenBuffer.bytes.ptr[*tokenBufferIdx], nextIdx = (*tokenBufferIdx) + utf8len; + + while(*tokenBufferIdx < nextIdx) { *stringHash = jk_calculateHash(*stringHash, parseState->token.tokenBuffer.bytes.ptr[(*tokenBufferIdx)++]); } + + return(0); +} + +//////////// +#pragma mark - +#pragma mark Decoding / parsing / deserializing functions + +static int jk_parse_string(JKParseState *parseState) { + NSCParameterAssert((parseState != NULL) && (JK_AT_STRING_PTR(parseState) <= JK_END_STRING_PTR(parseState))); + const unsigned char *stringStart = JK_AT_STRING_PTR(parseState) + 1; + const unsigned char *endOfBuffer = JK_END_STRING_PTR(parseState); + const unsigned char *atStringCharacter = stringStart; + unsigned char *tokenBuffer = parseState->token.tokenBuffer.bytes.ptr; + size_t tokenStartIndex = parseState->atIndex; + size_t tokenBufferIdx = 0UL; + + int onlySimpleString = 1, stringState = JSONStringStateStart; + uint16_t escapedUnicode1 = 0U, escapedUnicode2 = 0U; + uint32_t escapedUnicodeCodePoint = 0U; + JKHash stringHash = JK_HASH_INIT; + + while(1) { + unsigned long currentChar; + + if(JK_EXPECT_F(atStringCharacter == endOfBuffer)) { /* XXX Add error message */ stringState = JSONStringStateError; goto finishedParsing; } + + if(JK_EXPECT_F((currentChar = *atStringCharacter++) >= 0x80UL)) { + const unsigned char *nextValidCharacter = NULL; + UTF32 u32ch = 0U; + ConversionResult result; + + if(JK_EXPECT_F((result = ConvertSingleCodePointInUTF8(atStringCharacter - 1, endOfBuffer, (UTF8 const **)&nextValidCharacter, &u32ch)) != conversionOK)) { goto switchToSlowPath; } + stringHash = jk_calculateHash(stringHash, currentChar); + while(atStringCharacter < nextValidCharacter) { NSCParameterAssert(JK_AT_STRING_PTR(parseState) <= JK_END_STRING_PTR(parseState)); stringHash = jk_calculateHash(stringHash, *atStringCharacter++); } + continue; + } else { + if(JK_EXPECT_F(currentChar == (unsigned long)'"')) { stringState = JSONStringStateFinished; goto finishedParsing; } + + if(JK_EXPECT_F(currentChar == (unsigned long)'\\')) { + switchToSlowPath: + onlySimpleString = 0; + stringState = JSONStringStateParsing; + tokenBufferIdx = (atStringCharacter - stringStart) - 1L; + if(JK_EXPECT_F((tokenBufferIdx + 16UL) > parseState->token.tokenBuffer.bytes.length)) { if((tokenBuffer = jk_managedBuffer_resize(&parseState->token.tokenBuffer, tokenBufferIdx + 1024UL)) == NULL) { jk_error(parseState, @"Internal error: Unable to resize temporary buffer. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); stringState = JSONStringStateError; goto finishedParsing; } } + memcpy(tokenBuffer, stringStart, tokenBufferIdx); + goto slowMatch; + } + + if(JK_EXPECT_F(currentChar < 0x20UL)) { jk_error(parseState, @"Invalid character < 0x20 found in string: 0x%2.2x.", currentChar); stringState = JSONStringStateError; goto finishedParsing; } + + stringHash = jk_calculateHash(stringHash, currentChar); + } + } + + slowMatch: + + for(atStringCharacter = (stringStart + ((atStringCharacter - stringStart) - 1L)); (atStringCharacter < endOfBuffer) && (tokenBufferIdx < parseState->token.tokenBuffer.bytes.length); atStringCharacter++) { + if((tokenBufferIdx + 16UL) > parseState->token.tokenBuffer.bytes.length) { if((tokenBuffer = jk_managedBuffer_resize(&parseState->token.tokenBuffer, tokenBufferIdx + 1024UL)) == NULL) { jk_error(parseState, @"Internal error: Unable to resize temporary buffer. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); stringState = JSONStringStateError; goto finishedParsing; } } + + NSCParameterAssert(tokenBufferIdx < parseState->token.tokenBuffer.bytes.length); + + unsigned long currentChar = (*atStringCharacter), escapedChar; + + if(JK_EXPECT_T(stringState == JSONStringStateParsing)) { + if(JK_EXPECT_T(currentChar >= 0x20UL)) { + if(JK_EXPECT_T(currentChar < (unsigned long)0x80)) { // Not a UTF8 sequence + if(JK_EXPECT_F(currentChar == (unsigned long)'"')) { stringState = JSONStringStateFinished; atStringCharacter++; goto finishedParsing; } + if(JK_EXPECT_F(currentChar == (unsigned long)'\\')) { stringState = JSONStringStateEscape; continue; } + stringHash = jk_calculateHash(stringHash, currentChar); + tokenBuffer[tokenBufferIdx++] = currentChar; + continue; + } else { // UTF8 sequence + const unsigned char *nextValidCharacter = NULL; + UTF32 u32ch = 0U; + ConversionResult result; + + if(JK_EXPECT_F((result = ConvertSingleCodePointInUTF8(atStringCharacter, endOfBuffer, (UTF8 const **)&nextValidCharacter, &u32ch)) != conversionOK)) { + if((result == sourceIllegal) && ((parseState->parseOptionFlags & JKParseOptionLooseUnicode) == 0)) { jk_error(parseState, @"Illegal UTF8 sequence found in \"\" string."); stringState = JSONStringStateError; goto finishedParsing; } + if(result == sourceExhausted) { jk_error(parseState, @"End of buffer reached while parsing UTF8 in \"\" string."); stringState = JSONStringStateError; goto finishedParsing; } + if(jk_string_add_unicodeCodePoint(parseState, u32ch, &tokenBufferIdx, &stringHash)) { jk_error(parseState, @"Internal error: Unable to add UTF8 sequence to internal string buffer. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); stringState = JSONStringStateError; goto finishedParsing; } + atStringCharacter = nextValidCharacter - 1; + continue; + } else { + while(atStringCharacter < nextValidCharacter) { tokenBuffer[tokenBufferIdx++] = *atStringCharacter; stringHash = jk_calculateHash(stringHash, *atStringCharacter++); } + atStringCharacter--; + continue; + } + } + } else { // currentChar < 0x20 + jk_error(parseState, @"Invalid character < 0x20 found in string: 0x%2.2x.", currentChar); stringState = JSONStringStateError; goto finishedParsing; + } + + } else { // stringState != JSONStringStateParsing + int isSurrogate = 1; + + switch(stringState) { + case JSONStringStateEscape: + switch(currentChar) { + case 'u': escapedUnicode1 = 0U; escapedUnicode2 = 0U; escapedUnicodeCodePoint = 0U; stringState = JSONStringStateEscapedUnicode1; break; + + case 'b': escapedChar = '\b'; goto parsedEscapedChar; + case 'f': escapedChar = '\f'; goto parsedEscapedChar; + case 'n': escapedChar = '\n'; goto parsedEscapedChar; + case 'r': escapedChar = '\r'; goto parsedEscapedChar; + case 't': escapedChar = '\t'; goto parsedEscapedChar; + case '\\': escapedChar = '\\'; goto parsedEscapedChar; + case '/': escapedChar = '/'; goto parsedEscapedChar; + case '"': escapedChar = '"'; goto parsedEscapedChar; + + parsedEscapedChar: + stringState = JSONStringStateParsing; + stringHash = jk_calculateHash(stringHash, escapedChar); + tokenBuffer[tokenBufferIdx++] = escapedChar; + break; + + default: jk_error(parseState, @"Invalid escape sequence found in \"\" string."); stringState = JSONStringStateError; goto finishedParsing; break; + } + break; + + case JSONStringStateEscapedUnicode1: + case JSONStringStateEscapedUnicode2: + case JSONStringStateEscapedUnicode3: + case JSONStringStateEscapedUnicode4: isSurrogate = 0; + case JSONStringStateEscapedUnicodeSurrogate1: + case JSONStringStateEscapedUnicodeSurrogate2: + case JSONStringStateEscapedUnicodeSurrogate3: + case JSONStringStateEscapedUnicodeSurrogate4: + { + uint16_t hexValue = 0U; + + switch(currentChar) { + case '0' ... '9': hexValue = currentChar - '0'; goto parsedHex; + case 'a' ... 'f': hexValue = (currentChar - 'a') + 10U; goto parsedHex; + case 'A' ... 'F': hexValue = (currentChar - 'A') + 10U; goto parsedHex; + + parsedHex: + if(!isSurrogate) { escapedUnicode1 = (escapedUnicode1 << 4) | hexValue; } else { escapedUnicode2 = (escapedUnicode2 << 4) | hexValue; } + + if(stringState == JSONStringStateEscapedUnicode4) { + if(((escapedUnicode1 >= 0xD800U) && (escapedUnicode1 < 0xE000U))) { + if((escapedUnicode1 >= 0xD800U) && (escapedUnicode1 < 0xDC00U)) { stringState = JSONStringStateEscapedNeedEscapeForSurrogate; } + else if((escapedUnicode1 >= 0xDC00U) && (escapedUnicode1 < 0xE000U)) { + if((parseState->parseOptionFlags & JKParseOptionLooseUnicode)) { escapedUnicodeCodePoint = UNI_REPLACEMENT_CHAR; } + else { jk_error(parseState, @"Illegal \\u Unicode escape sequence."); stringState = JSONStringStateError; goto finishedParsing; } + } + } + else { escapedUnicodeCodePoint = escapedUnicode1; } + } + + if(stringState == JSONStringStateEscapedUnicodeSurrogate4) { + if((escapedUnicode2 < 0xdc00) || (escapedUnicode2 > 0xdfff)) { + if((parseState->parseOptionFlags & JKParseOptionLooseUnicode)) { escapedUnicodeCodePoint = UNI_REPLACEMENT_CHAR; } + else { jk_error(parseState, @"Illegal \\u Unicode escape sequence."); stringState = JSONStringStateError; goto finishedParsing; } + } + else { escapedUnicodeCodePoint = ((escapedUnicode1 - 0xd800) * 0x400) + (escapedUnicode2 - 0xdc00) + 0x10000; } + } + + if((stringState == JSONStringStateEscapedUnicode4) || (stringState == JSONStringStateEscapedUnicodeSurrogate4)) { + if((isValidCodePoint(&escapedUnicodeCodePoint) == sourceIllegal) && ((parseState->parseOptionFlags & JKParseOptionLooseUnicode) == 0)) { jk_error(parseState, @"Illegal \\u Unicode escape sequence."); stringState = JSONStringStateError; goto finishedParsing; } + stringState = JSONStringStateParsing; + if(jk_string_add_unicodeCodePoint(parseState, escapedUnicodeCodePoint, &tokenBufferIdx, &stringHash)) { jk_error(parseState, @"Internal error: Unable to add UTF8 sequence to internal string buffer. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); stringState = JSONStringStateError; goto finishedParsing; } + } + else if((stringState >= JSONStringStateEscapedUnicode1) && (stringState <= JSONStringStateEscapedUnicodeSurrogate4)) { stringState++; } + break; + + default: jk_error(parseState, @"Unexpected character found in \\u Unicode escape sequence. Found '%c', expected [0-9a-fA-F].", currentChar); stringState = JSONStringStateError; goto finishedParsing; break; + } + } + break; + + case JSONStringStateEscapedNeedEscapeForSurrogate: + if(currentChar == '\\') { stringState = JSONStringStateEscapedNeedEscapedUForSurrogate; } + else { + if((parseState->parseOptionFlags & JKParseOptionLooseUnicode) == 0) { jk_error(parseState, @"Required a second \\u Unicode escape sequence following a surrogate \\u Unicode escape sequence."); stringState = JSONStringStateError; goto finishedParsing; } + else { stringState = JSONStringStateParsing; atStringCharacter--; if(jk_string_add_unicodeCodePoint(parseState, UNI_REPLACEMENT_CHAR, &tokenBufferIdx, &stringHash)) { jk_error(parseState, @"Internal error: Unable to add UTF8 sequence to internal string buffer. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); stringState = JSONStringStateError; goto finishedParsing; } } + } + break; + + case JSONStringStateEscapedNeedEscapedUForSurrogate: + if(currentChar == 'u') { stringState = JSONStringStateEscapedUnicodeSurrogate1; } + else { + if((parseState->parseOptionFlags & JKParseOptionLooseUnicode) == 0) { jk_error(parseState, @"Required a second \\u Unicode escape sequence following a surrogate \\u Unicode escape sequence."); stringState = JSONStringStateError; goto finishedParsing; } + else { stringState = JSONStringStateParsing; atStringCharacter -= 2; if(jk_string_add_unicodeCodePoint(parseState, UNI_REPLACEMENT_CHAR, &tokenBufferIdx, &stringHash)) { jk_error(parseState, @"Internal error: Unable to add UTF8 sequence to internal string buffer. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); stringState = JSONStringStateError; goto finishedParsing; } } + } + break; + + default: jk_error(parseState, @"Internal error: Unknown stringState. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); stringState = JSONStringStateError; goto finishedParsing; break; + } + } + } + +finishedParsing: + + if(JK_EXPECT_T(stringState == JSONStringStateFinished)) { + NSCParameterAssert((parseState->stringBuffer.bytes.ptr + tokenStartIndex) < atStringCharacter); + + parseState->token.tokenPtrRange.ptr = parseState->stringBuffer.bytes.ptr + tokenStartIndex; + parseState->token.tokenPtrRange.length = (atStringCharacter - parseState->token.tokenPtrRange.ptr); + + if(JK_EXPECT_T(onlySimpleString)) { + NSCParameterAssert(((parseState->token.tokenPtrRange.ptr + 1) < endOfBuffer) && (parseState->token.tokenPtrRange.length >= 2UL) && (((parseState->token.tokenPtrRange.ptr + 1) + (parseState->token.tokenPtrRange.length - 2)) < endOfBuffer)); + parseState->token.value.ptrRange.ptr = parseState->token.tokenPtrRange.ptr + 1; + parseState->token.value.ptrRange.length = parseState->token.tokenPtrRange.length - 2UL; + } else { + parseState->token.value.ptrRange.ptr = parseState->token.tokenBuffer.bytes.ptr; + parseState->token.value.ptrRange.length = tokenBufferIdx; + } + + parseState->token.value.hash = stringHash; + parseState->token.value.type = JKValueTypeString; + parseState->atIndex = (atStringCharacter - parseState->stringBuffer.bytes.ptr); + } + + if(JK_EXPECT_F(stringState != JSONStringStateFinished)) { jk_error(parseState, @"Invalid string."); } + return(JK_EXPECT_T(stringState == JSONStringStateFinished) ? 0 : 1); +} + +static int jk_parse_number(JKParseState *parseState) { + NSCParameterAssert((parseState != NULL) && (JK_AT_STRING_PTR(parseState) <= JK_END_STRING_PTR(parseState))); + const unsigned char *numberStart = JK_AT_STRING_PTR(parseState); + const unsigned char *endOfBuffer = JK_END_STRING_PTR(parseState); + const unsigned char *atNumberCharacter = NULL; + int numberState = JSONNumberStateWholeNumberStart, isFloatingPoint = 0, isNegative = 0, backup = 0; + size_t startingIndex = parseState->atIndex; + + for(atNumberCharacter = numberStart; (JK_EXPECT_T(atNumberCharacter < endOfBuffer)) && (JK_EXPECT_T(!(JK_EXPECT_F(numberState == JSONNumberStateFinished) || JK_EXPECT_F(numberState == JSONNumberStateError)))); atNumberCharacter++) { + unsigned long currentChar = (unsigned long)(*atNumberCharacter), lowerCaseCC = currentChar | 0x20UL; + + switch(numberState) { + case JSONNumberStateWholeNumberStart: if (currentChar == '-') { numberState = JSONNumberStateWholeNumberMinus; isNegative = 1; break; } + case JSONNumberStateWholeNumberMinus: if (currentChar == '0') { numberState = JSONNumberStateWholeNumberZero; break; } + else if( (currentChar >= '1') && (currentChar <= '9')) { numberState = JSONNumberStateWholeNumber; break; } + else { /* XXX Add error message */ numberState = JSONNumberStateError; break; } + case JSONNumberStateExponentStart: if( (currentChar == '+') || (currentChar == '-')) { numberState = JSONNumberStateExponentPlusMinus; break; } + case JSONNumberStateFractionalNumberStart: + case JSONNumberStateExponentPlusMinus:if(!((currentChar >= '0') && (currentChar <= '9'))) { /* XXX Add error message */ numberState = JSONNumberStateError; break; } + else { if(numberState == JSONNumberStateFractionalNumberStart) { numberState = JSONNumberStateFractionalNumber; } + else { numberState = JSONNumberStateExponent; } break; } + case JSONNumberStateWholeNumberZero: + case JSONNumberStateWholeNumber: if (currentChar == '.') { numberState = JSONNumberStateFractionalNumberStart; isFloatingPoint = 1; break; } + case JSONNumberStateFractionalNumber: if (lowerCaseCC == 'e') { numberState = JSONNumberStateExponentStart; isFloatingPoint = 1; break; } + case JSONNumberStateExponent: if(!((currentChar >= '0') && (currentChar <= '9')) || (numberState == JSONNumberStateWholeNumberZero)) { numberState = JSONNumberStateFinished; backup = 1; break; } + break; + default: /* XXX Add error message */ numberState = JSONNumberStateError; break; + } + } + + parseState->token.tokenPtrRange.ptr = parseState->stringBuffer.bytes.ptr + startingIndex; + parseState->token.tokenPtrRange.length = (atNumberCharacter - parseState->token.tokenPtrRange.ptr) - backup; + parseState->atIndex = (parseState->token.tokenPtrRange.ptr + parseState->token.tokenPtrRange.length) - parseState->stringBuffer.bytes.ptr; + + if(JK_EXPECT_T(numberState == JSONNumberStateFinished)) { + unsigned char numberTempBuf[parseState->token.tokenPtrRange.length + 4UL]; + unsigned char *endOfNumber = NULL; + + memcpy(numberTempBuf, parseState->token.tokenPtrRange.ptr, parseState->token.tokenPtrRange.length); + numberTempBuf[parseState->token.tokenPtrRange.length] = 0; + + errno = 0; + + // Treat "-0" as a floating point number, which is capable of representing negative zeros. + if(JK_EXPECT_F(parseState->token.tokenPtrRange.length == 2UL) && JK_EXPECT_F(numberTempBuf[1] == '0') && JK_EXPECT_F(isNegative)) { isFloatingPoint = 1; } + + if(isFloatingPoint) { + parseState->token.value.number.doubleValue = strtod((const char *)numberTempBuf, (char **)&endOfNumber); // strtod is documented to return U+2261 (identical to) 0.0 on an underflow error (along with setting errno to ERANGE). + parseState->token.value.type = JKValueTypeDouble; + parseState->token.value.ptrRange.ptr = (const unsigned char *)&parseState->token.value.number.doubleValue; + parseState->token.value.ptrRange.length = sizeof(double); + parseState->token.value.hash = (JK_HASH_INIT + parseState->token.value.type); + } else { + if(isNegative) { + parseState->token.value.number.longLongValue = strtoll((const char *)numberTempBuf, (char **)&endOfNumber, 10); + parseState->token.value.type = JKValueTypeLongLong; + parseState->token.value.ptrRange.ptr = (const unsigned char *)&parseState->token.value.number.longLongValue; + parseState->token.value.ptrRange.length = sizeof(long long); + parseState->token.value.hash = (JK_HASH_INIT + parseState->token.value.type) + (JKHash)parseState->token.value.number.longLongValue; + } else { + parseState->token.value.number.unsignedLongLongValue = strtoull((const char *)numberTempBuf, (char **)&endOfNumber, 10); + parseState->token.value.type = JKValueTypeUnsignedLongLong; + parseState->token.value.ptrRange.ptr = (const unsigned char *)&parseState->token.value.number.unsignedLongLongValue; + parseState->token.value.ptrRange.length = sizeof(unsigned long long); + parseState->token.value.hash = (JK_HASH_INIT + parseState->token.value.type) + (JKHash)parseState->token.value.number.unsignedLongLongValue; + } + } + + if(JK_EXPECT_F(errno != 0)) { + numberState = JSONNumberStateError; + if(errno == ERANGE) { + switch(parseState->token.value.type) { + case JKValueTypeDouble: jk_error(parseState, @"The value '%s' could not be represented as a 'double' due to %s.", numberTempBuf, (parseState->token.value.number.doubleValue == 0.0) ? "underflow" : "overflow"); break; // see above for == 0.0. + case JKValueTypeLongLong: jk_error(parseState, @"The value '%s' exceeded the minimum value that could be represented: %lld.", numberTempBuf, parseState->token.value.number.longLongValue); break; + case JKValueTypeUnsignedLongLong: jk_error(parseState, @"The value '%s' exceeded the maximum value that could be represented: %llu.", numberTempBuf, parseState->token.value.number.unsignedLongLongValue); break; + default: jk_error(parseState, @"Internal error: Unknown token value type. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); break; + } + } + } + if(JK_EXPECT_F(endOfNumber != &numberTempBuf[parseState->token.tokenPtrRange.length]) && JK_EXPECT_F(numberState != JSONNumberStateError)) { numberState = JSONNumberStateError; jk_error(parseState, @"The conversion function did not consume all of the number tokens characters."); } + + size_t hashIndex = 0UL; + for(hashIndex = 0UL; hashIndex < parseState->token.value.ptrRange.length; hashIndex++) { parseState->token.value.hash = jk_calculateHash(parseState->token.value.hash, parseState->token.value.ptrRange.ptr[hashIndex]); } + } + + if(JK_EXPECT_F(numberState != JSONNumberStateFinished)) { jk_error(parseState, @"Invalid number."); } + return(JK_EXPECT_T((numberState == JSONNumberStateFinished)) ? 0 : 1); +} + +JK_STATIC_INLINE void jk_set_parsed_token(JKParseState *parseState, const unsigned char *ptr, size_t length, JKTokenType type, size_t advanceBy) { + parseState->token.tokenPtrRange.ptr = ptr; + parseState->token.tokenPtrRange.length = length; + parseState->token.type = type; + parseState->atIndex += advanceBy; +} + +static size_t jk_parse_is_newline(JKParseState *parseState, const unsigned char *atCharacterPtr) { + NSCParameterAssert((parseState != NULL) && (atCharacterPtr != NULL) && (atCharacterPtr >= parseState->stringBuffer.bytes.ptr) && (atCharacterPtr < JK_END_STRING_PTR(parseState))); + const unsigned char *endOfStringPtr = JK_END_STRING_PTR(parseState); + + if(JK_EXPECT_F(atCharacterPtr >= endOfStringPtr)) { return(0UL); } + + if(JK_EXPECT_F((*(atCharacterPtr + 0)) == '\n')) { return(1UL); } + if(JK_EXPECT_F((*(atCharacterPtr + 0)) == '\r')) { if((JK_EXPECT_T((atCharacterPtr + 1) < endOfStringPtr)) && ((*(atCharacterPtr + 1)) == '\n')) { return(2UL); } return(1UL); } + if(parseState->parseOptionFlags & JKParseOptionUnicodeNewlines) { + if((JK_EXPECT_F((*(atCharacterPtr + 0)) == 0xc2)) && (((atCharacterPtr + 1) < endOfStringPtr) && ((*(atCharacterPtr + 1)) == 0x85))) { return(2UL); } + if((JK_EXPECT_F((*(atCharacterPtr + 0)) == 0xe2)) && (((atCharacterPtr + 2) < endOfStringPtr) && ((*(atCharacterPtr + 1)) == 0x80) && (((*(atCharacterPtr + 2)) == 0xa8) || ((*(atCharacterPtr + 2)) == 0xa9)))) { return(3UL); } + } + + return(0UL); +} + +JK_STATIC_INLINE int jk_parse_skip_newline(JKParseState *parseState) { + size_t newlineAdvanceAtIndex = 0UL; + if(JK_EXPECT_F((newlineAdvanceAtIndex = jk_parse_is_newline(parseState, JK_AT_STRING_PTR(parseState))) > 0UL)) { parseState->lineNumber++; parseState->atIndex += (newlineAdvanceAtIndex - 1UL); parseState->lineStartIndex = parseState->atIndex + 1UL; return(1); } + return(0); +} + +JK_STATIC_INLINE void jk_parse_skip_whitespace(JKParseState *parseState) { +#ifndef __clang_analyzer__ + NSCParameterAssert((parseState != NULL) && (JK_AT_STRING_PTR(parseState) <= JK_END_STRING_PTR(parseState))); + const unsigned char *atCharacterPtr = NULL; + const unsigned char *endOfStringPtr = JK_END_STRING_PTR(parseState); + + for(atCharacterPtr = JK_AT_STRING_PTR(parseState); (JK_EXPECT_T((atCharacterPtr = JK_AT_STRING_PTR(parseState)) < endOfStringPtr)); parseState->atIndex++) { + if(((*(atCharacterPtr + 0)) == ' ') || ((*(atCharacterPtr + 0)) == '\t')) { continue; } + if(jk_parse_skip_newline(parseState)) { continue; } + if(parseState->parseOptionFlags & JKParseOptionComments) { + if((JK_EXPECT_F((*(atCharacterPtr + 0)) == '/')) && (JK_EXPECT_T((atCharacterPtr + 1) < endOfStringPtr))) { + if((*(atCharacterPtr + 1)) == '/') { + parseState->atIndex++; + for(atCharacterPtr = JK_AT_STRING_PTR(parseState); (JK_EXPECT_T((atCharacterPtr = JK_AT_STRING_PTR(parseState)) < endOfStringPtr)); parseState->atIndex++) { if(jk_parse_skip_newline(parseState)) { break; } } + continue; + } + if((*(atCharacterPtr + 1)) == '*') { + parseState->atIndex++; + for(atCharacterPtr = JK_AT_STRING_PTR(parseState); (JK_EXPECT_T((atCharacterPtr = JK_AT_STRING_PTR(parseState)) < endOfStringPtr)); parseState->atIndex++) { + if(jk_parse_skip_newline(parseState)) { continue; } + if(((*(atCharacterPtr + 0)) == '*') && (((atCharacterPtr + 1) < endOfStringPtr) && ((*(atCharacterPtr + 1)) == '/'))) { parseState->atIndex++; break; } + } + continue; + } + } + } + break; + } +#endif +} + +static int jk_parse_next_token(JKParseState *parseState) { + NSCParameterAssert((parseState != NULL) && (JK_AT_STRING_PTR(parseState) <= JK_END_STRING_PTR(parseState))); + const unsigned char *atCharacterPtr = NULL; + const unsigned char *endOfStringPtr = JK_END_STRING_PTR(parseState); + unsigned char currentCharacter = 0U; + int stopParsing = 0; + + parseState->prev_atIndex = parseState->atIndex; + parseState->prev_lineNumber = parseState->lineNumber; + parseState->prev_lineStartIndex = parseState->lineStartIndex; + + jk_parse_skip_whitespace(parseState); + + if((JK_AT_STRING_PTR(parseState) == endOfStringPtr)) { stopParsing = 1; } + + if((JK_EXPECT_T(stopParsing == 0)) && (JK_EXPECT_T((atCharacterPtr = JK_AT_STRING_PTR(parseState)) < endOfStringPtr))) { + currentCharacter = *atCharacterPtr; + + if(JK_EXPECT_T(currentCharacter == '"')) { if(JK_EXPECT_T((stopParsing = jk_parse_string(parseState)) == 0)) { jk_set_parsed_token(parseState, parseState->token.tokenPtrRange.ptr, parseState->token.tokenPtrRange.length, JKTokenTypeString, 0UL); } } + else if(JK_EXPECT_T(currentCharacter == ':')) { jk_set_parsed_token(parseState, atCharacterPtr, 1UL, JKTokenTypeSeparator, 1UL); } + else if(JK_EXPECT_T(currentCharacter == ',')) { jk_set_parsed_token(parseState, atCharacterPtr, 1UL, JKTokenTypeComma, 1UL); } + else if((JK_EXPECT_T(currentCharacter >= '0') && JK_EXPECT_T(currentCharacter <= '9')) || JK_EXPECT_T(currentCharacter == '-')) { if(JK_EXPECT_T((stopParsing = jk_parse_number(parseState)) == 0)) { jk_set_parsed_token(parseState, parseState->token.tokenPtrRange.ptr, parseState->token.tokenPtrRange.length, JKTokenTypeNumber, 0UL); } } + else if(JK_EXPECT_T(currentCharacter == '{')) { jk_set_parsed_token(parseState, atCharacterPtr, 1UL, JKTokenTypeObjectBegin, 1UL); } + else if(JK_EXPECT_T(currentCharacter == '}')) { jk_set_parsed_token(parseState, atCharacterPtr, 1UL, JKTokenTypeObjectEnd, 1UL); } + else if(JK_EXPECT_T(currentCharacter == '[')) { jk_set_parsed_token(parseState, atCharacterPtr, 1UL, JKTokenTypeArrayBegin, 1UL); } + else if(JK_EXPECT_T(currentCharacter == ']')) { jk_set_parsed_token(parseState, atCharacterPtr, 1UL, JKTokenTypeArrayEnd, 1UL); } + + else if(JK_EXPECT_T(currentCharacter == 't')) { if(!((JK_EXPECT_T((atCharacterPtr + 4UL) < endOfStringPtr)) && (JK_EXPECT_T(atCharacterPtr[1] == 'r')) && (JK_EXPECT_T(atCharacterPtr[2] == 'u')) && (JK_EXPECT_T(atCharacterPtr[3] == 'e')))) { stopParsing = 1; /* XXX Add error message */ } else { jk_set_parsed_token(parseState, atCharacterPtr, 4UL, JKTokenTypeTrue, 4UL); } } + else if(JK_EXPECT_T(currentCharacter == 'f')) { if(!((JK_EXPECT_T((atCharacterPtr + 5UL) < endOfStringPtr)) && (JK_EXPECT_T(atCharacterPtr[1] == 'a')) && (JK_EXPECT_T(atCharacterPtr[2] == 'l')) && (JK_EXPECT_T(atCharacterPtr[3] == 's')) && (JK_EXPECT_T(atCharacterPtr[4] == 'e')))) { stopParsing = 1; /* XXX Add error message */ } else { jk_set_parsed_token(parseState, atCharacterPtr, 5UL, JKTokenTypeFalse, 5UL); } } + else if(JK_EXPECT_T(currentCharacter == 'n')) { if(!((JK_EXPECT_T((atCharacterPtr + 4UL) < endOfStringPtr)) && (JK_EXPECT_T(atCharacterPtr[1] == 'u')) && (JK_EXPECT_T(atCharacterPtr[2] == 'l')) && (JK_EXPECT_T(atCharacterPtr[3] == 'l')))) { stopParsing = 1; /* XXX Add error message */ } else { jk_set_parsed_token(parseState, atCharacterPtr, 4UL, JKTokenTypeNull, 4UL); } } + else { stopParsing = 1; /* XXX Add error message */ } + } + + if(JK_EXPECT_F(stopParsing)) { jk_error(parseState, @"Unexpected token, wanted '{', '}', '[', ']', ',', ':', 'true', 'false', 'null', '\"STRING\"', 'NUMBER'."); } + return(stopParsing); +} + +static void jk_error_parse_accept_or3(JKParseState *parseState, int state, NSString *or1String, NSString *or2String, NSString *or3String) { + NSString *acceptStrings[16]; + int acceptIdx = 0; + if(state & JKParseAcceptValue) { acceptStrings[acceptIdx++] = or1String; } + if(state & JKParseAcceptComma) { acceptStrings[acceptIdx++] = or2String; } + if(state & JKParseAcceptEnd) { acceptStrings[acceptIdx++] = or3String; } + if(acceptIdx == 1) { jk_error(parseState, @"Expected %@, not '%*.*s'", acceptStrings[0], (int)parseState->token.tokenPtrRange.length, (int)parseState->token.tokenPtrRange.length, parseState->token.tokenPtrRange.ptr); } + else if(acceptIdx == 2) { jk_error(parseState, @"Expected %@ or %@, not '%*.*s'", acceptStrings[0], acceptStrings[1], (int)parseState->token.tokenPtrRange.length, (int)parseState->token.tokenPtrRange.length, parseState->token.tokenPtrRange.ptr); } + else if(acceptIdx == 3) { jk_error(parseState, @"Expected %@, %@, or %@, not '%*.*s", acceptStrings[0], acceptStrings[1], acceptStrings[2], (int)parseState->token.tokenPtrRange.length, (int)parseState->token.tokenPtrRange.length, parseState->token.tokenPtrRange.ptr); } +} + +static void *jk_parse_array(JKParseState *parseState) { + size_t startingObjectIndex = parseState->objectStack.index; + int arrayState = JKParseAcceptValueOrEnd, stopParsing = 0; + void *parsedArray = NULL; + + while(JK_EXPECT_T((JK_EXPECT_T(stopParsing == 0)) && (JK_EXPECT_T(parseState->atIndex < parseState->stringBuffer.bytes.length)))) { + if(JK_EXPECT_F(parseState->objectStack.index > (parseState->objectStack.count - 4UL))) { if(jk_objectStack_resize(&parseState->objectStack, parseState->objectStack.count + 128UL)) { jk_error(parseState, @"Internal error: [array] objectsIndex > %zu, resize failed? %@ line %#ld", (parseState->objectStack.count - 4UL), [NSString stringWithUTF8String:__FILE__], (long)__LINE__); break; } } + + if(JK_EXPECT_T((stopParsing = jk_parse_next_token(parseState)) == 0)) { + void *object = NULL; +#ifndef NS_BLOCK_ASSERTIONS + parseState->objectStack.objects[parseState->objectStack.index] = NULL; + parseState->objectStack.keys [parseState->objectStack.index] = NULL; +#endif + switch(parseState->token.type) { + case JKTokenTypeNumber: + case JKTokenTypeString: + case JKTokenTypeTrue: + case JKTokenTypeFalse: + case JKTokenTypeNull: + case JKTokenTypeArrayBegin: + case JKTokenTypeObjectBegin: + if(JK_EXPECT_F((arrayState & JKParseAcceptValue) == 0)) { parseState->errorIsPrev = 1; jk_error(parseState, @"Unexpected value."); stopParsing = 1; break; } + if(JK_EXPECT_F((object = jk_object_for_token(parseState)) == NULL)) { jk_error(parseState, @"Internal error: Object == NULL"); stopParsing = 1; break; } else { parseState->objectStack.objects[parseState->objectStack.index++] = object; arrayState = JKParseAcceptCommaOrEnd; } + break; + case JKTokenTypeArrayEnd: if(JK_EXPECT_T(arrayState & JKParseAcceptEnd)) { NSCParameterAssert(parseState->objectStack.index >= startingObjectIndex); parsedArray = (void *)_JKArrayCreate((id *)&parseState->objectStack.objects[startingObjectIndex], (parseState->objectStack.index - startingObjectIndex), parseState->mutableCollections); } else { parseState->errorIsPrev = 1; jk_error(parseState, @"Unexpected ']'."); } stopParsing = 1; break; + case JKTokenTypeComma: if(JK_EXPECT_T(arrayState & JKParseAcceptComma)) { arrayState = JKParseAcceptValue; } else { parseState->errorIsPrev = 1; jk_error(parseState, @"Unexpected ','."); stopParsing = 1; } break; + default: parseState->errorIsPrev = 1; jk_error_parse_accept_or3(parseState, arrayState, @"a value", @"a comma", @"a ']'"); stopParsing = 1; break; + } + } + } + + if(JK_EXPECT_F(parsedArray == NULL)) { size_t idx = 0UL; for(idx = startingObjectIndex; idx < parseState->objectStack.index; idx++) { if(parseState->objectStack.objects[idx] != NULL) { CFRelease(parseState->objectStack.objects[idx]); parseState->objectStack.objects[idx] = NULL; } } } +#if !defined(NS_BLOCK_ASSERTIONS) + else { size_t idx = 0UL; for(idx = startingObjectIndex; idx < parseState->objectStack.index; idx++) { parseState->objectStack.objects[idx] = NULL; parseState->objectStack.keys[idx] = NULL; } } +#endif + + parseState->objectStack.index = startingObjectIndex; + return(parsedArray); +} + +static void *jk_create_dictionary(JKParseState *parseState, size_t startingObjectIndex) { + void *parsedDictionary = NULL; + + parseState->objectStack.index--; + + parsedDictionary = _JKDictionaryCreate((id *)&parseState->objectStack.keys[startingObjectIndex], (NSUInteger *)&parseState->objectStack.cfHashes[startingObjectIndex], (id *)&parseState->objectStack.objects[startingObjectIndex], (parseState->objectStack.index - startingObjectIndex), parseState->mutableCollections); + + return(parsedDictionary); +} + +static void *jk_parse_dictionary(JKParseState *parseState) { + size_t startingObjectIndex = parseState->objectStack.index; + int dictState = JKParseAcceptValueOrEnd, stopParsing = 0; + void *parsedDictionary = NULL; + + while(JK_EXPECT_T((JK_EXPECT_T(stopParsing == 0)) && (JK_EXPECT_T(parseState->atIndex < parseState->stringBuffer.bytes.length)))) { + if(JK_EXPECT_F(parseState->objectStack.index > (parseState->objectStack.count - 4UL))) { if(jk_objectStack_resize(&parseState->objectStack, parseState->objectStack.count + 128UL)) { jk_error(parseState, @"Internal error: [dictionary] objectsIndex > %zu, resize failed? %@ line #%ld", (parseState->objectStack.count - 4UL), [NSString stringWithUTF8String:__FILE__], (long)__LINE__); break; } } + + size_t objectStackIndex = parseState->objectStack.index++; + parseState->objectStack.keys[objectStackIndex] = NULL; + parseState->objectStack.objects[objectStackIndex] = NULL; + void *key = NULL, *object = NULL; + + if(JK_EXPECT_T((JK_EXPECT_T(stopParsing == 0)) && (JK_EXPECT_T((stopParsing = jk_parse_next_token(parseState)) == 0)))) { + switch(parseState->token.type) { + case JKTokenTypeString: + if(JK_EXPECT_F((dictState & JKParseAcceptValue) == 0)) { parseState->errorIsPrev = 1; jk_error(parseState, @"Unexpected string."); stopParsing = 1; break; } + if(JK_EXPECT_F((key = jk_object_for_token(parseState)) == NULL)) { jk_error(parseState, @"Internal error: Key == NULL."); stopParsing = 1; break; } + else { + parseState->objectStack.keys[objectStackIndex] = key; + if(JK_EXPECT_T(parseState->token.value.cacheItem != NULL)) { if(JK_EXPECT_F(parseState->token.value.cacheItem->cfHash == 0UL)) { parseState->token.value.cacheItem->cfHash = CFHash(key); } parseState->objectStack.cfHashes[objectStackIndex] = parseState->token.value.cacheItem->cfHash; } + else { parseState->objectStack.cfHashes[objectStackIndex] = CFHash(key); } + } + break; + + case JKTokenTypeObjectEnd: if((JK_EXPECT_T(dictState & JKParseAcceptEnd))) { NSCParameterAssert(parseState->objectStack.index >= startingObjectIndex); parsedDictionary = jk_create_dictionary(parseState, startingObjectIndex); } else { parseState->errorIsPrev = 1; jk_error(parseState, @"Unexpected '}'."); } stopParsing = 1; break; + case JKTokenTypeComma: if((JK_EXPECT_T(dictState & JKParseAcceptComma))) { dictState = JKParseAcceptValue; parseState->objectStack.index--; continue; } else { parseState->errorIsPrev = 1; jk_error(parseState, @"Unexpected ','."); stopParsing = 1; } break; + + default: parseState->errorIsPrev = 1; jk_error_parse_accept_or3(parseState, dictState, @"a \"STRING\"", @"a comma", @"a '}'"); stopParsing = 1; break; + } + } + + if(JK_EXPECT_T(stopParsing == 0)) { + if(JK_EXPECT_T((stopParsing = jk_parse_next_token(parseState)) == 0)) { if(JK_EXPECT_F(parseState->token.type != JKTokenTypeSeparator)) { parseState->errorIsPrev = 1; jk_error(parseState, @"Expected ':'."); stopParsing = 1; } } + } + + if((JK_EXPECT_T(stopParsing == 0)) && (JK_EXPECT_T((stopParsing = jk_parse_next_token(parseState)) == 0))) { + switch(parseState->token.type) { + case JKTokenTypeNumber: + case JKTokenTypeString: + case JKTokenTypeTrue: + case JKTokenTypeFalse: + case JKTokenTypeNull: + case JKTokenTypeArrayBegin: + case JKTokenTypeObjectBegin: + if(JK_EXPECT_F((dictState & JKParseAcceptValue) == 0)) { parseState->errorIsPrev = 1; jk_error(parseState, @"Unexpected value."); stopParsing = 1; break; } + if(JK_EXPECT_F((object = jk_object_for_token(parseState)) == NULL)) { jk_error(parseState, @"Internal error: Object == NULL."); stopParsing = 1; break; } else { parseState->objectStack.objects[objectStackIndex] = object; dictState = JKParseAcceptCommaOrEnd; } + break; + default: parseState->errorIsPrev = 1; jk_error_parse_accept_or3(parseState, dictState, @"a value", @"a comma", @"a '}'"); stopParsing = 1; break; + } + } + } + + if(JK_EXPECT_F(parsedDictionary == NULL)) { size_t idx = 0UL; for(idx = startingObjectIndex; idx < parseState->objectStack.index; idx++) { if(parseState->objectStack.keys[idx] != NULL) { CFRelease(parseState->objectStack.keys[idx]); parseState->objectStack.keys[idx] = NULL; } if(parseState->objectStack.objects[idx] != NULL) { CFRelease(parseState->objectStack.objects[idx]); parseState->objectStack.objects[idx] = NULL; } } } +#if !defined(NS_BLOCK_ASSERTIONS) + else { size_t idx = 0UL; for(idx = startingObjectIndex; idx < parseState->objectStack.index; idx++) { parseState->objectStack.objects[idx] = NULL; parseState->objectStack.keys[idx] = NULL; } } +#endif + + parseState->objectStack.index = startingObjectIndex; + return(parsedDictionary); +} + +static id json_parse_it(JKParseState *parseState) { + id parsedObject = NULL; + int stopParsing = 0; + + while((JK_EXPECT_T(stopParsing == 0)) && (JK_EXPECT_T(parseState->atIndex < parseState->stringBuffer.bytes.length))) { + if((JK_EXPECT_T(stopParsing == 0)) && (JK_EXPECT_T((stopParsing = jk_parse_next_token(parseState)) == 0))) { + switch(parseState->token.type) { + case JKTokenTypeArrayBegin: + case JKTokenTypeObjectBegin: parsedObject = [(id)jk_object_for_token(parseState) autorelease]; stopParsing = 1; break; + default: jk_error(parseState, @"Expected either '[' or '{'."); stopParsing = 1; break; + } + } + } + + NSCParameterAssert((parseState->objectStack.index == 0) && (JK_AT_STRING_PTR(parseState) <= JK_END_STRING_PTR(parseState))); + + if((parsedObject == NULL) && (JK_AT_STRING_PTR(parseState) == JK_END_STRING_PTR(parseState))) { jk_error(parseState, @"Reached the end of the buffer."); } + if(parsedObject == NULL) { jk_error(parseState, @"Unable to parse JSON."); } + + if((parsedObject != NULL) && (JK_AT_STRING_PTR(parseState) < JK_END_STRING_PTR(parseState))) { + jk_parse_skip_whitespace(parseState); + if((parsedObject != NULL) && ((parseState->parseOptionFlags & JKParseOptionPermitTextAfterValidJSON) == 0) && (JK_AT_STRING_PTR(parseState) < JK_END_STRING_PTR(parseState))) { + jk_error(parseState, @"A valid JSON object was parsed but there were additional non-white-space characters remaining."); + parsedObject = NULL; + } + } + + return(parsedObject); +} + +//////////// +#pragma mark - +#pragma mark Object cache + +// This uses a Galois Linear Feedback Shift Register (LFSR) PRNG to pick which item in the cache to age. It has a period of (2^32)-1. +// NOTE: A LFSR *MUST* be initialized to a non-zero value and must always have a non-zero value. The LFSR is initalized to 1 in -initWithParseOptions: +JK_STATIC_INLINE void jk_cache_age(JKParseState *parseState) { + NSCParameterAssert((parseState != NULL) && (parseState->cache.prng_lfsr != 0U)); + parseState->cache.prng_lfsr = (parseState->cache.prng_lfsr >> 1) ^ ((0U - (parseState->cache.prng_lfsr & 1U)) & 0x80200003U); + parseState->cache.age[parseState->cache.prng_lfsr & (parseState->cache.count - 1UL)] >>= 1; +} + +// The object cache is nothing more than a hash table with open addressing collision resolution that is bounded by JK_CACHE_PROBES attempts. +// +// The hash table is a linear C array of JKTokenCacheItem. The terms "item" and "bucket" are synonymous with the index in to the cache array, i.e. cache.items[bucket]. +// +// Items in the cache have an age associated with them. An items age is incremented using saturating unsigned arithmetic and decremeted using unsigned right shifts. +// Thus, an items age is managed using an AIMD policy- additive increase, multiplicative decrease. All age calculations and manipulations are branchless. +// The primitive C type MUST be unsigned. It is currently a "char", which allows (at a minimum and in practice) 8 bits. +// +// A "useable bucket" is a bucket that is not in use (never populated), or has an age == 0. +// +// When an item is found in the cache, it's age is incremented. +// If a useable bucket hasn't been found, the current item (bucket) is aged along with two random items. +// +// If a value is not found in the cache, and no useable bucket has been found, that value is not added to the cache. + +static void *jk_cachedObjects(JKParseState *parseState) { + unsigned long bucket = parseState->token.value.hash & (parseState->cache.count - 1UL), setBucket = 0UL, useableBucket = 0UL, x = 0UL; + void *parsedAtom = NULL; + + if(JK_EXPECT_F(parseState->token.value.ptrRange.length == 0UL) && JK_EXPECT_T(parseState->token.value.type == JKValueTypeString)) { return(@""); } + + for(x = 0UL; x < JK_CACHE_PROBES; x++) { + if(JK_EXPECT_F(parseState->cache.items[bucket].object == NULL)) { setBucket = 1UL; useableBucket = bucket; break; } + + if((JK_EXPECT_T(parseState->cache.items[bucket].hash == parseState->token.value.hash)) && (JK_EXPECT_T(parseState->cache.items[bucket].size == parseState->token.value.ptrRange.length)) && (JK_EXPECT_T(parseState->cache.items[bucket].type == parseState->token.value.type)) && (JK_EXPECT_T(parseState->cache.items[bucket].bytes != NULL)) && (JK_EXPECT_T(memcmp(parseState->cache.items[bucket].bytes, parseState->token.value.ptrRange.ptr, parseState->token.value.ptrRange.length) == 0U))) { + parseState->cache.age[bucket] = (((uint32_t)parseState->cache.age[bucket]) + 1U) - (((((uint32_t)parseState->cache.age[bucket]) + 1U) >> 31) ^ 1U); + parseState->token.value.cacheItem = &parseState->cache.items[bucket]; + NSCParameterAssert(parseState->cache.items[bucket].object != NULL); + return((void *)CFRetain(parseState->cache.items[bucket].object)); + } else { + if(JK_EXPECT_F(setBucket == 0UL) && JK_EXPECT_F(parseState->cache.age[bucket] == 0U)) { setBucket = 1UL; useableBucket = bucket; } + if(JK_EXPECT_F(setBucket == 0UL)) { parseState->cache.age[bucket] >>= 1; jk_cache_age(parseState); jk_cache_age(parseState); } + // This is the open addressing function. The values length and type are used as a form of "double hashing" to distribute values with the same effective value hash across different object cache buckets. + // The values type is a prime number that is relatively coprime to the other primes in the set of value types and the number of hash table buckets. + bucket = (parseState->token.value.hash + (parseState->token.value.ptrRange.length * (x + 1UL)) + (parseState->token.value.type * (x + 1UL)) + (3UL * (x + 1UL))) & (parseState->cache.count - 1UL); + } + } + + switch(parseState->token.value.type) { + case JKValueTypeString: parsedAtom = (void *)CFStringCreateWithBytes(NULL, parseState->token.value.ptrRange.ptr, parseState->token.value.ptrRange.length, kCFStringEncodingUTF8, 0); break; + case JKValueTypeLongLong: parsedAtom = (void *)CFNumberCreate(NULL, kCFNumberLongLongType, &parseState->token.value.number.longLongValue); break; + case JKValueTypeUnsignedLongLong: + if(parseState->token.value.number.unsignedLongLongValue <= LLONG_MAX) { parsedAtom = (void *)CFNumberCreate(NULL, kCFNumberLongLongType, &parseState->token.value.number.unsignedLongLongValue); } + else { parsedAtom = (void *)parseState->objCImpCache.NSNumberInitWithUnsignedLongLong(parseState->objCImpCache.NSNumberAlloc(parseState->objCImpCache.NSNumberClass, @selector(alloc)), @selector(initWithUnsignedLongLong:), parseState->token.value.number.unsignedLongLongValue); } + break; + case JKValueTypeDouble: parsedAtom = (void *)CFNumberCreate(NULL, kCFNumberDoubleType, &parseState->token.value.number.doubleValue); break; + default: jk_error(parseState, @"Internal error: Unknown token value type. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); break; + } + + if(JK_EXPECT_T(setBucket) && (JK_EXPECT_T(parsedAtom != NULL))) { + bucket = useableBucket; + if(JK_EXPECT_T((parseState->cache.items[bucket].object != NULL))) { CFRelease(parseState->cache.items[bucket].object); parseState->cache.items[bucket].object = NULL; } + + if(JK_EXPECT_T((parseState->cache.items[bucket].bytes = (unsigned char *)reallocf(parseState->cache.items[bucket].bytes, parseState->token.value.ptrRange.length)) != NULL)) { + memcpy(parseState->cache.items[bucket].bytes, parseState->token.value.ptrRange.ptr, parseState->token.value.ptrRange.length); + parseState->cache.items[bucket].object = (void *)CFRetain(parsedAtom); + parseState->cache.items[bucket].hash = parseState->token.value.hash; + parseState->cache.items[bucket].cfHash = 0UL; + parseState->cache.items[bucket].size = parseState->token.value.ptrRange.length; + parseState->cache.items[bucket].type = parseState->token.value.type; + parseState->token.value.cacheItem = &parseState->cache.items[bucket]; + parseState->cache.age[bucket] = JK_INIT_CACHE_AGE; + } else { // The realloc failed, so clear the appropriate fields. + parseState->cache.items[bucket].hash = 0UL; + parseState->cache.items[bucket].cfHash = 0UL; + parseState->cache.items[bucket].size = 0UL; + parseState->cache.items[bucket].type = 0UL; + } + } + + return(parsedAtom); +} + + +static void *jk_object_for_token(JKParseState *parseState) { + void *parsedAtom = NULL; + + parseState->token.value.cacheItem = NULL; + switch(parseState->token.type) { + case JKTokenTypeString: parsedAtom = jk_cachedObjects(parseState); break; + case JKTokenTypeNumber: parsedAtom = jk_cachedObjects(parseState); break; + case JKTokenTypeObjectBegin: parsedAtom = jk_parse_dictionary(parseState); break; + case JKTokenTypeArrayBegin: parsedAtom = jk_parse_array(parseState); break; + case JKTokenTypeTrue: parsedAtom = (void *)kCFBooleanTrue; break; + case JKTokenTypeFalse: parsedAtom = (void *)kCFBooleanFalse; break; + case JKTokenTypeNull: parsedAtom = (void *)kCFNull; break; + default: jk_error(parseState, @"Internal error: Unknown token type. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); break; + } + + return(parsedAtom); +} + +#pragma mark - +@implementation JSONDecoder + ++ (id)decoder +{ + return([self decoderWithParseOptions:JKParseOptionStrict]); +} + ++ (id)decoderWithParseOptions:(JKParseOptionFlags)parseOptionFlags +{ + return([[[self alloc] initWithParseOptions:parseOptionFlags] autorelease]); +} + +- (id)init +{ + return([self initWithParseOptions:JKParseOptionStrict]); +} + +- (id)initWithParseOptions:(JKParseOptionFlags)parseOptionFlags +{ + if((self = [super init]) == NULL) { return(NULL); } + + if(parseOptionFlags & ~JKParseOptionValidFlags) { [self autorelease]; [NSException raise:NSInvalidArgumentException format:@"Invalid parse options."]; } + + if((parseState = (JKParseState *)calloc(1UL, sizeof(JKParseState))) == NULL) { goto errorExit; } + + parseState->parseOptionFlags = parseOptionFlags; + + parseState->token.tokenBuffer.roundSizeUpToMultipleOf = 4096UL; + parseState->objectStack.roundSizeUpToMultipleOf = 2048UL; + + parseState->objCImpCache.NSNumberClass = _jk_NSNumberClass; + parseState->objCImpCache.NSNumberAlloc = _jk_NSNumberAllocImp; + parseState->objCImpCache.NSNumberInitWithUnsignedLongLong = _jk_NSNumberInitWithUnsignedLongLongImp; + + parseState->cache.prng_lfsr = 1U; + parseState->cache.count = JK_CACHE_SLOTS; + if((parseState->cache.items = (JKTokenCacheItem *)calloc(1UL, sizeof(JKTokenCacheItem) * parseState->cache.count)) == NULL) { goto errorExit; } + + return(self); + + errorExit: + if(self) { [self autorelease]; self = NULL; } + return(NULL); +} + +// This is here primarily to support the NSString and NSData convenience functions so the autoreleased JSONDecoder can release most of its resources before the pool pops. +static void _JSONDecoderCleanup(JSONDecoder *decoder) { + if((decoder != NULL) && (decoder->parseState != NULL)) { + jk_managedBuffer_release(&decoder->parseState->token.tokenBuffer); + jk_objectStack_release(&decoder->parseState->objectStack); + + [decoder clearCache]; + if(decoder->parseState->cache.items != NULL) { free(decoder->parseState->cache.items); decoder->parseState->cache.items = NULL; } + + free(decoder->parseState); decoder->parseState = NULL; + } +} + +- (void)dealloc +{ + _JSONDecoderCleanup(self); + [super dealloc]; +} + +- (void)clearCache +{ + if(JK_EXPECT_T(parseState != NULL)) { + if(JK_EXPECT_T(parseState->cache.items != NULL)) { + size_t idx = 0UL; + for(idx = 0UL; idx < parseState->cache.count; idx++) { + if(JK_EXPECT_T(parseState->cache.items[idx].object != NULL)) { CFRelease(parseState->cache.items[idx].object); parseState->cache.items[idx].object = NULL; } + if(JK_EXPECT_T(parseState->cache.items[idx].bytes != NULL)) { free(parseState->cache.items[idx].bytes); parseState->cache.items[idx].bytes = NULL; } + memset(&parseState->cache.items[idx], 0, sizeof(JKTokenCacheItem)); + parseState->cache.age[idx] = 0U; + } + } + } +} + +// This needs to be completely rewritten. +static id _JKParseUTF8String(JKParseState *parseState, BOOL mutableCollections, const unsigned char *string, size_t length, NSError **error) { + NSCParameterAssert((parseState != NULL) && (string != NULL) && (parseState->cache.prng_lfsr != 0U)); + parseState->stringBuffer.bytes.ptr = string; + parseState->stringBuffer.bytes.length = length; + parseState->atIndex = 0UL; + parseState->lineNumber = 1UL; + parseState->lineStartIndex = 0UL; + parseState->prev_atIndex = 0UL; + parseState->prev_lineNumber = 1UL; + parseState->prev_lineStartIndex = 0UL; + parseState->error = NULL; + parseState->errorIsPrev = 0; + parseState->mutableCollections = (mutableCollections == NO) ? NO : YES; + + unsigned char stackTokenBuffer[JK_TOKENBUFFER_SIZE] JK_ALIGNED(64); + jk_managedBuffer_setToStackBuffer(&parseState->token.tokenBuffer, stackTokenBuffer, sizeof(stackTokenBuffer)); + + void *stackObjects [JK_STACK_OBJS] JK_ALIGNED(64); + void *stackKeys [JK_STACK_OBJS] JK_ALIGNED(64); + CFHashCode stackCFHashes[JK_STACK_OBJS] JK_ALIGNED(64); + jk_objectStack_setToStackBuffer(&parseState->objectStack, stackObjects, stackKeys, stackCFHashes, JK_STACK_OBJS); + + id parsedJSON = json_parse_it(parseState); + + if((error != NULL) && (parseState->error != NULL)) { *error = parseState->error; } + + jk_managedBuffer_release(&parseState->token.tokenBuffer); + jk_objectStack_release(&parseState->objectStack); + + parseState->stringBuffer.bytes.ptr = NULL; + parseState->stringBuffer.bytes.length = 0UL; + parseState->atIndex = 0UL; + parseState->lineNumber = 1UL; + parseState->lineStartIndex = 0UL; + parseState->prev_atIndex = 0UL; + parseState->prev_lineNumber = 1UL; + parseState->prev_lineStartIndex = 0UL; + parseState->error = NULL; + parseState->errorIsPrev = 0; + parseState->mutableCollections = NO; + + return(parsedJSON); +} + +//////////// +#pragma mark Deprecated as of v1.4 +//////////// + +// Deprecated in JSONKit v1.4. Use objectWithUTF8String:length: instead. +- (id)parseUTF8String:(const unsigned char *)string length:(size_t)length +{ + return([self objectWithUTF8String:string length:length error:NULL]); +} + +// Deprecated in JSONKit v1.4. Use objectWithUTF8String:length:error: instead. +- (id)parseUTF8String:(const unsigned char *)string length:(size_t)length error:(NSError **)error +{ + return([self objectWithUTF8String:string length:length error:error]); +} + +// Deprecated in JSONKit v1.4. Use objectWithData: instead. +- (id)parseJSONData:(NSData *)jsonData +{ + return([self objectWithData:jsonData error:NULL]); +} + +// Deprecated in JSONKit v1.4. Use objectWithData:error: instead. +- (id)parseJSONData:(NSData *)jsonData error:(NSError **)error +{ + return([self objectWithData:jsonData error:error]); +} + +//////////// +#pragma mark Methods that return immutable collection objects +//////////// + +- (id)objectWithUTF8String:(const unsigned char *)string length:(NSUInteger)length +{ + return([self objectWithUTF8String:string length:length error:NULL]); +} + +- (id)objectWithUTF8String:(const unsigned char *)string length:(NSUInteger)length error:(NSError **)error +{ + if(parseState == NULL) { [NSException raise:NSInternalInconsistencyException format:@"parseState is NULL."]; } + if(string == NULL) { [NSException raise:NSInvalidArgumentException format:@"The string argument is NULL."]; } + + return(_JKParseUTF8String(parseState, NO, string, (size_t)length, error)); +} + +- (id)objectWithData:(NSData *)jsonData +{ + return([self objectWithData:jsonData error:NULL]); +} + +- (id)objectWithData:(NSData *)jsonData error:(NSError **)error +{ + if(jsonData == NULL) { [NSException raise:NSInvalidArgumentException format:@"The jsonData argument is NULL."]; } + return([self objectWithUTF8String:(const unsigned char *)[jsonData bytes] length:[jsonData length] error:error]); +} + +//////////// +#pragma mark Methods that return mutable collection objects +//////////// + +- (id)mutableObjectWithUTF8String:(const unsigned char *)string length:(NSUInteger)length +{ + return([self mutableObjectWithUTF8String:string length:length error:NULL]); +} + +- (id)mutableObjectWithUTF8String:(const unsigned char *)string length:(NSUInteger)length error:(NSError **)error +{ + if(parseState == NULL) { [NSException raise:NSInternalInconsistencyException format:@"parseState is NULL."]; } + if(string == NULL) { [NSException raise:NSInvalidArgumentException format:@"The string argument is NULL."]; } + + return(_JKParseUTF8String(parseState, YES, string, (size_t)length, error)); +} + +- (id)mutableObjectWithData:(NSData *)jsonData +{ + return([self mutableObjectWithData:jsonData error:NULL]); +} + +- (id)mutableObjectWithData:(NSData *)jsonData error:(NSError **)error +{ + if(jsonData == NULL) { [NSException raise:NSInvalidArgumentException format:@"The jsonData argument is NULL."]; } + return([self mutableObjectWithUTF8String:(const unsigned char *)[jsonData bytes] length:[jsonData length] error:error]); +} + +@end + +/* + The NSString and NSData convenience methods need a little bit of explanation. + + Prior to JSONKit v1.4, the NSString -objectFromJSONStringWithParseOptions:error: method looked like + + const unsigned char *utf8String = (const unsigned char *)[self UTF8String]; + if(utf8String == NULL) { return(NULL); } + size_t utf8Length = strlen((const char *)utf8String); + return([[JSONDecoder decoderWithParseOptions:parseOptionFlags] parseUTF8String:utf8String length:utf8Length error:error]); + + This changed with v1.4 to a more complicated method. The reason for this is to keep the amount of memory that is + allocated, but not yet freed because it is dependent on the autorelease pool to pop before it can be reclaimed. + + In the simpler v1.3 code, this included all the bytes used to store the -UTF8String along with the JSONDecoder and all its overhead. + + Now we use an autoreleased CFMutableData that is sized to the UTF8 length of the NSString in question and is used to hold the UTF8 + conversion of said string. + + Once parsed, the CFMutableData has its length set to 0. This should, hopefully, allow the CFMutableData to realloc and/or free + the buffer. + + Another change made was a slight modification to JSONDecoder so that most of the cleanup work that was done in -dealloc was moved + to a private, internal function. These convenience routines keep the pointer to the autoreleased JSONDecoder and calls + _JSONDecoderCleanup() to early release the decoders resources since we already know that particular decoder is not going to be used + again. + + If everything goes smoothly, this will most likely result in perhaps a few hundred bytes that are allocated but waiting for the + autorelease pool to pop. This is compared to the thousands and easily hundreds of thousands of bytes that would have been in + autorelease limbo. It's more complicated for us, but a win for the user. + + Autorelease objects are used in case things don't go smoothly. By having them autoreleased, we effectively guarantee that our + requirement to -release the object is always met, not matter what goes wrong. The downside is having a an object or two in + autorelease limbo, but we've done our best to minimize that impact, so it all balances out. + */ + +@implementation NSString (JSONKitDeserializing) + +static id _NSStringObjectFromJSONString(NSString *jsonString, JKParseOptionFlags parseOptionFlags, NSError **error, BOOL mutableCollection) { + id returnObject = NULL; + CFMutableDataRef mutableData = NULL; + JSONDecoder *decoder = NULL; + + CFIndex stringLength = CFStringGetLength((CFStringRef)jsonString); + NSUInteger stringUTF8Length = [jsonString lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; + + if((mutableData = (CFMutableDataRef)[(id)CFDataCreateMutable(NULL, (NSUInteger)stringUTF8Length) autorelease]) != NULL) { + UInt8 *utf8String = CFDataGetMutableBytePtr(mutableData); + CFIndex usedBytes = 0L, convertedCount = 0L; + + convertedCount = CFStringGetBytes((CFStringRef)jsonString, CFRangeMake(0L, stringLength), kCFStringEncodingUTF8, '?', NO, utf8String, (NSUInteger)stringUTF8Length, &usedBytes); + if(JK_EXPECT_F(convertedCount != stringLength) || JK_EXPECT_F(usedBytes < 0L)) { if(error != NULL) { *error = [NSError errorWithDomain:@"JKErrorDomain" code:-1L userInfo:[NSDictionary dictionaryWithObject:@"An error occurred converting the contents of a NSString to UTF8." forKey:NSLocalizedDescriptionKey]]; } goto exitNow; } + + if(mutableCollection == NO) { returnObject = [(decoder = [JSONDecoder decoderWithParseOptions:parseOptionFlags]) objectWithUTF8String:(const unsigned char *)utf8String length:(size_t)usedBytes error:error]; } + else { returnObject = [(decoder = [JSONDecoder decoderWithParseOptions:parseOptionFlags]) mutableObjectWithUTF8String:(const unsigned char *)utf8String length:(size_t)usedBytes error:error]; } + } + +exitNow: + if(mutableData != NULL) { CFDataSetLength(mutableData, 0L); } + if(decoder != NULL) { _JSONDecoderCleanup(decoder); } + return(returnObject); +} + +- (id)objectFromJSONString +{ + return([self objectFromJSONStringWithParseOptions:JKParseOptionStrict error:NULL]); +} + +- (id)objectFromJSONStringWithParseOptions:(JKParseOptionFlags)parseOptionFlags +{ + return([self objectFromJSONStringWithParseOptions:parseOptionFlags error:NULL]); +} + +- (id)objectFromJSONStringWithParseOptions:(JKParseOptionFlags)parseOptionFlags error:(NSError **)error +{ + return(_NSStringObjectFromJSONString(self, parseOptionFlags, error, NO)); +} + + +- (id)mutableObjectFromJSONString +{ + return([self mutableObjectFromJSONStringWithParseOptions:JKParseOptionStrict error:NULL]); +} + +- (id)mutableObjectFromJSONStringWithParseOptions:(JKParseOptionFlags)parseOptionFlags +{ + return([self mutableObjectFromJSONStringWithParseOptions:parseOptionFlags error:NULL]); +} + +- (id)mutableObjectFromJSONStringWithParseOptions:(JKParseOptionFlags)parseOptionFlags error:(NSError **)error +{ + return(_NSStringObjectFromJSONString(self, parseOptionFlags, error, YES)); +} + +@end + +@implementation NSData (JSONKitDeserializing) + +- (id)objectFromJSONData +{ + return([self objectFromJSONDataWithParseOptions:JKParseOptionStrict error:NULL]); +} + +- (id)objectFromJSONDataWithParseOptions:(JKParseOptionFlags)parseOptionFlags +{ + return([self objectFromJSONDataWithParseOptions:parseOptionFlags error:NULL]); +} + +- (id)objectFromJSONDataWithParseOptions:(JKParseOptionFlags)parseOptionFlags error:(NSError **)error +{ + JSONDecoder *decoder = NULL; + id returnObject = [(decoder = [JSONDecoder decoderWithParseOptions:parseOptionFlags]) objectWithData:self error:error]; + if(decoder != NULL) { _JSONDecoderCleanup(decoder); } + return(returnObject); +} + +- (id)mutableObjectFromJSONData +{ + return([self mutableObjectFromJSONDataWithParseOptions:JKParseOptionStrict error:NULL]); +} + +- (id)mutableObjectFromJSONDataWithParseOptions:(JKParseOptionFlags)parseOptionFlags +{ + return([self mutableObjectFromJSONDataWithParseOptions:parseOptionFlags error:NULL]); +} + +- (id)mutableObjectFromJSONDataWithParseOptions:(JKParseOptionFlags)parseOptionFlags error:(NSError **)error +{ + JSONDecoder *decoder = NULL; + id returnObject = [(decoder = [JSONDecoder decoderWithParseOptions:parseOptionFlags]) mutableObjectWithData:self error:error]; + if(decoder != NULL) { _JSONDecoderCleanup(decoder); } + return(returnObject); +} + + +@end + +//////////// +#pragma mark - +#pragma mark Encoding / deserializing functions + +static void jk_encode_error(JKEncodeState *encodeState, NSString *format, ...) { + NSCParameterAssert((encodeState != NULL) && (format != NULL)); + + va_list varArgsList; + va_start(varArgsList, format); + NSString *formatString = [[[NSString alloc] initWithFormat:format arguments:varArgsList] autorelease]; + va_end(varArgsList); + + if(encodeState->error == NULL) { + encodeState->error = [NSError errorWithDomain:@"JKErrorDomain" code:-1L userInfo: + [NSDictionary dictionaryWithObjectsAndKeys: + formatString, NSLocalizedDescriptionKey, + NULL]]; + } +} + +JK_STATIC_INLINE void jk_encode_updateCache(JKEncodeState *encodeState, JKEncodeCache *cacheSlot, size_t startingAtIndex, id object) { + NSCParameterAssert(encodeState != NULL); + if(JK_EXPECT_T(cacheSlot != NULL)) { + NSCParameterAssert((object != NULL) && (startingAtIndex <= encodeState->atIndex)); + cacheSlot->object = object; + cacheSlot->offset = startingAtIndex; + cacheSlot->length = (size_t)(encodeState->atIndex - startingAtIndex); + } +} + +static int jk_encode_printf(JKEncodeState *encodeState, JKEncodeCache *cacheSlot, size_t startingAtIndex, id object, const char *format, ...) { + va_list varArgsList, varArgsListCopy; + va_start(varArgsList, format); + va_copy(varArgsListCopy, varArgsList); + + NSCParameterAssert((encodeState != NULL) && (encodeState->atIndex < encodeState->stringBuffer.bytes.length) && (startingAtIndex <= encodeState->atIndex) && (format != NULL)); + + ssize_t formattedStringLength = 0L; + int returnValue = 0; + + if(JK_EXPECT_T((formattedStringLength = vsnprintf((char *)&encodeState->stringBuffer.bytes.ptr[encodeState->atIndex], (encodeState->stringBuffer.bytes.length - encodeState->atIndex), format, varArgsList)) >= (ssize_t)(encodeState->stringBuffer.bytes.length - encodeState->atIndex))) { + NSCParameterAssert(((encodeState->atIndex + (formattedStringLength * 2UL) + 256UL) > encodeState->stringBuffer.bytes.length)); + if(JK_EXPECT_F(((encodeState->atIndex + (formattedStringLength * 2UL) + 256UL) > encodeState->stringBuffer.bytes.length)) && JK_EXPECT_F((jk_managedBuffer_resize(&encodeState->stringBuffer, encodeState->atIndex + (formattedStringLength * 2UL)+ 4096UL) == NULL))) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); returnValue = 1; goto exitNow; } + if(JK_EXPECT_F((formattedStringLength = vsnprintf((char *)&encodeState->stringBuffer.bytes.ptr[encodeState->atIndex], (encodeState->stringBuffer.bytes.length - encodeState->atIndex), format, varArgsListCopy)) >= (ssize_t)(encodeState->stringBuffer.bytes.length - encodeState->atIndex))) { jk_encode_error(encodeState, @"vsnprintf failed unexpectedly."); returnValue = 1; goto exitNow; } + } + +exitNow: + va_end(varArgsList); + va_end(varArgsListCopy); + if(JK_EXPECT_T(returnValue == 0)) { encodeState->atIndex += formattedStringLength; jk_encode_updateCache(encodeState, cacheSlot, startingAtIndex, object); } + return(returnValue); +} + +static int jk_encode_write(JKEncodeState *encodeState, JKEncodeCache *cacheSlot, size_t startingAtIndex, id object, const char *format) { + NSCParameterAssert((encodeState != NULL) && (encodeState->atIndex < encodeState->stringBuffer.bytes.length) && (startingAtIndex <= encodeState->atIndex) && (format != NULL)); + if(JK_EXPECT_F(((encodeState->atIndex + strlen(format) + 256UL) > encodeState->stringBuffer.bytes.length)) && JK_EXPECT_F((jk_managedBuffer_resize(&encodeState->stringBuffer, encodeState->atIndex + strlen(format) + 1024UL) == NULL))) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); return(1); } + + size_t formatIdx = 0UL; + for(formatIdx = 0UL; format[formatIdx] != 0; formatIdx++) { NSCParameterAssert(encodeState->atIndex < encodeState->stringBuffer.bytes.length); encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = format[formatIdx]; } + jk_encode_updateCache(encodeState, cacheSlot, startingAtIndex, object); + return(0); +} + +static int jk_encode_writePrettyPrintWhiteSpace(JKEncodeState *encodeState) { + NSCParameterAssert((encodeState != NULL) && ((encodeState->serializeOptionFlags & JKSerializeOptionPretty) != 0UL)); + if(JK_EXPECT_F((encodeState->atIndex + ((encodeState->depth + 1UL) * 2UL) + 16UL) > encodeState->stringBuffer.bytes.length) && JK_EXPECT_T(jk_managedBuffer_resize(&encodeState->stringBuffer, encodeState->atIndex + ((encodeState->depth + 1UL) * 2UL) + 4096UL) == NULL)) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); return(1); } + encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\n'; + size_t depthWhiteSpace = 0UL; + for(depthWhiteSpace = 0UL; depthWhiteSpace < (encodeState->depth * 2UL); depthWhiteSpace++) { NSCParameterAssert(encodeState->atIndex < encodeState->stringBuffer.bytes.length); encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = ' '; } + return(0); +} + +static int jk_encode_write1slow(JKEncodeState *encodeState, ssize_t depthChange, const char *format) { + NSCParameterAssert((encodeState != NULL) && (encodeState->atIndex < encodeState->stringBuffer.bytes.length) && (format != NULL) && ((depthChange >= -1L) && (depthChange <= 1L)) && ((encodeState->depth == 0UL) ? (depthChange >= 0L) : 1) && ((encodeState->serializeOptionFlags & JKSerializeOptionPretty) != 0UL)); + if(JK_EXPECT_F((encodeState->atIndex + ((encodeState->depth + 1UL) * 2UL) + 16UL) > encodeState->stringBuffer.bytes.length) && JK_EXPECT_F(jk_managedBuffer_resize(&encodeState->stringBuffer, encodeState->atIndex + ((encodeState->depth + 1UL) * 2UL) + 4096UL) == NULL)) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); return(1); } + encodeState->depth += depthChange; + if(JK_EXPECT_T(format[0] == ':')) { encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = format[0]; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = ' '; } + else { + if(JK_EXPECT_F(depthChange == -1L)) { if(JK_EXPECT_F(jk_encode_writePrettyPrintWhiteSpace(encodeState))) { return(1); } } + encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = format[0]; + if(JK_EXPECT_T(depthChange != -1L)) { if(JK_EXPECT_F(jk_encode_writePrettyPrintWhiteSpace(encodeState))) { return(1); } } + } + NSCParameterAssert(encodeState->atIndex < encodeState->stringBuffer.bytes.length); + return(0); +} + +static int jk_encode_write1fast(JKEncodeState *encodeState, ssize_t depthChange JK_UNUSED_ARG, const char *format) { + NSCParameterAssert((encodeState != NULL) && (encodeState->atIndex < encodeState->stringBuffer.bytes.length) && ((encodeState->serializeOptionFlags & JKSerializeOptionPretty) == 0UL)); + if(JK_EXPECT_T((encodeState->atIndex + 4UL) < encodeState->stringBuffer.bytes.length)) { encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = format[0]; } + else { return(jk_encode_write(encodeState, NULL, 0UL, NULL, format)); } + return(0); +} + +static int jk_encode_writen(JKEncodeState *encodeState, JKEncodeCache *cacheSlot, size_t startingAtIndex, id object, const char *format, size_t length) { + NSCParameterAssert((encodeState != NULL) && (encodeState->atIndex < encodeState->stringBuffer.bytes.length) && (startingAtIndex <= encodeState->atIndex)); + if(JK_EXPECT_F((encodeState->stringBuffer.bytes.length - encodeState->atIndex) < (length + 4UL))) { if(jk_managedBuffer_resize(&encodeState->stringBuffer, encodeState->atIndex + 4096UL + length) == NULL) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); return(1); } } + memcpy(encodeState->stringBuffer.bytes.ptr + encodeState->atIndex, format, length); + encodeState->atIndex += length; + jk_encode_updateCache(encodeState, cacheSlot, startingAtIndex, object); + return(0); +} + +JK_STATIC_INLINE JKHash jk_encode_object_hash(void *objectPtr) { + return( ( (((JKHash)objectPtr) >> 21) ^ (((JKHash)objectPtr) >> 9) ) + (((JKHash)objectPtr) >> 4) ); +} + +static int jk_encode_add_atom_to_buffer(JKEncodeState *encodeState, void *objectPtr) { + NSCParameterAssert((encodeState != NULL) && (encodeState->atIndex < encodeState->stringBuffer.bytes.length) && (objectPtr != NULL)); + + id object = (id)objectPtr, encodeCacheObject = object; + int isClass = JKClassUnknown; + size_t startingAtIndex = encodeState->atIndex; + + JKHash objectHash = jk_encode_object_hash(objectPtr); + JKEncodeCache *cacheSlot = &encodeState->cache[objectHash % JK_ENCODE_CACHE_SLOTS]; + + if(JK_EXPECT_T(cacheSlot->object == object)) { + NSCParameterAssert((cacheSlot->object != NULL) && + (cacheSlot->offset < encodeState->atIndex) && ((cacheSlot->offset + cacheSlot->length) < encodeState->atIndex) && + (cacheSlot->offset < encodeState->stringBuffer.bytes.length) && ((cacheSlot->offset + cacheSlot->length) < encodeState->stringBuffer.bytes.length) && + ((encodeState->stringBuffer.bytes.ptr + encodeState->atIndex) < (encodeState->stringBuffer.bytes.ptr + encodeState->stringBuffer.bytes.length)) && + ((encodeState->stringBuffer.bytes.ptr + cacheSlot->offset) < (encodeState->stringBuffer.bytes.ptr + encodeState->stringBuffer.bytes.length)) && + ((encodeState->stringBuffer.bytes.ptr + cacheSlot->offset + cacheSlot->length) < (encodeState->stringBuffer.bytes.ptr + encodeState->stringBuffer.bytes.length))); + if(JK_EXPECT_F(((encodeState->atIndex + cacheSlot->length + 256UL) > encodeState->stringBuffer.bytes.length)) && JK_EXPECT_F((jk_managedBuffer_resize(&encodeState->stringBuffer, encodeState->atIndex + cacheSlot->length + 1024UL) == NULL))) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); return(1); } + NSCParameterAssert(((encodeState->atIndex + cacheSlot->length) < encodeState->stringBuffer.bytes.length) && + ((encodeState->stringBuffer.bytes.ptr + encodeState->atIndex) < (encodeState->stringBuffer.bytes.ptr + encodeState->stringBuffer.bytes.length)) && + ((encodeState->stringBuffer.bytes.ptr + encodeState->atIndex + cacheSlot->length) < (encodeState->stringBuffer.bytes.ptr + encodeState->stringBuffer.bytes.length)) && + ((encodeState->stringBuffer.bytes.ptr + cacheSlot->offset) < (encodeState->stringBuffer.bytes.ptr + encodeState->stringBuffer.bytes.length)) && + ((encodeState->stringBuffer.bytes.ptr + cacheSlot->offset + cacheSlot->length) < (encodeState->stringBuffer.bytes.ptr + encodeState->stringBuffer.bytes.length)) && + ((encodeState->stringBuffer.bytes.ptr + cacheSlot->offset + cacheSlot->length) < (encodeState->stringBuffer.bytes.ptr + encodeState->atIndex))); + memcpy(encodeState->stringBuffer.bytes.ptr + encodeState->atIndex, encodeState->stringBuffer.bytes.ptr + cacheSlot->offset, cacheSlot->length); + encodeState->atIndex += cacheSlot->length; + return(0); + } + + // When we encounter a class that we do not handle, and we have either a delegate or block that the user supplied to format unsupported classes, + // we "re-run" the object check. However, we re-run the object check exactly ONCE. If the user supplies an object that isn't one of the + // supported classes, we fail the second time (i.e., double fault error). + BOOL rerunningAfterClassFormatter = NO; + rerunAfterClassFormatter:; + + // XXX XXX XXX XXX + // + // We need to work around a bug in 10.7, which breaks ABI compatibility with Objective-C going back not just to 10.0, but OpenStep and even NextStep. + // + // It has long been documented that "the very first thing that a pointer to an Objective-C object "points to" is a pointer to that objects class". + // + // This is euphemistically called "tagged pointers". There are a number of highly technical problems with this, most involving long passages from + // the C standard(s). In short, one can make a strong case, couched from the perspective of the C standard(s), that that 10.7 "tagged pointers" are + // fundamentally Wrong and Broken, and should have never been implemented. Assuming those points are glossed over, because the change is very clearly + // breaking ABI compatibility, this should have resulted in a minimum of a "minimum version required" bump in various shared libraries to prevent + // causes code that used to work just fine to suddenly break without warning. + // + // In fact, the C standard says that the hack below is "undefined behavior"- there is no requirement that the 10.7 tagged pointer hack of setting the + // "lower, unused bits" must be preserved when casting the result to an integer type, but this "works" because for most architectures + // `sizeof(long) == sizeof(void *)` and the compiler uses the same representation for both. (note: this is informal, not meant to be + // normative or pedantically correct). + // + // In other words, while this "works" for now, technically the compiler is not obligated to do "what we want", and a later version of the compiler + // is not required in any way to produce the same results or behavior that earlier versions of the compiler did for the statement below. + // + // Fan-fucking-tastic. + // + // Why not just use `object_getClass()`? Because `object->isa` reduces to (typically) a *single* instruction. Calling `object_getClass()` requires + // that the compiler potentially spill registers, establish a function call frame / environment, and finally execute a "jump subroutine" instruction. + // Then, the called subroutine must spend half a dozen instructions in its prolog, however many instructions doing whatever it does, then half a dozen + // instructions in its prolog. One instruction compared to dozens, maybe a hundred instructions. + // + // Yes, that's one to two orders of magnitude difference. Which is compelling in its own right. When going for performance, you're often happy with + // gains in the two to three percent range. + // + // XXX XXX XXX XXX + + + BOOL workAroundMacOSXABIBreakingBug = (JK_EXPECT_F(((NSUInteger)object) & 0x1)) ? YES : NO; + void *objectISA = (JK_EXPECT_F(workAroundMacOSXABIBreakingBug)) ? NULL : *((void **)objectPtr); + if(JK_EXPECT_F(workAroundMacOSXABIBreakingBug)) { goto slowClassLookup; } + + if(JK_EXPECT_T(objectISA == encodeState->fastClassLookup.stringClass)) { isClass = JKClassString; } + else if(JK_EXPECT_T(objectISA == encodeState->fastClassLookup.numberClass)) { isClass = JKClassNumber; } + else if(JK_EXPECT_T(objectISA == encodeState->fastClassLookup.dictionaryClass)) { isClass = JKClassDictionary; } + else if(JK_EXPECT_T(objectISA == encodeState->fastClassLookup.arrayClass)) { isClass = JKClassArray; } + else if(JK_EXPECT_T(objectISA == encodeState->fastClassLookup.nullClass)) { isClass = JKClassNull; } + else { + slowClassLookup: + if(JK_EXPECT_T([object isKindOfClass:[NSString class]])) { if(workAroundMacOSXABIBreakingBug == NO) { encodeState->fastClassLookup.stringClass = objectISA; } isClass = JKClassString; } + else if(JK_EXPECT_T([object isKindOfClass:[NSNumber class]])) { if(workAroundMacOSXABIBreakingBug == NO) { encodeState->fastClassLookup.numberClass = objectISA; } isClass = JKClassNumber; } + else if(JK_EXPECT_T([object isKindOfClass:[NSDictionary class]])) { if(workAroundMacOSXABIBreakingBug == NO) { encodeState->fastClassLookup.dictionaryClass = objectISA; } isClass = JKClassDictionary; } + else if(JK_EXPECT_T([object isKindOfClass:[NSArray class]])) { if(workAroundMacOSXABIBreakingBug == NO) { encodeState->fastClassLookup.arrayClass = objectISA; } isClass = JKClassArray; } + else if(JK_EXPECT_T([object isKindOfClass:[NSNull class]])) { if(workAroundMacOSXABIBreakingBug == NO) { encodeState->fastClassLookup.nullClass = objectISA; } isClass = JKClassNull; } + else { + if((rerunningAfterClassFormatter == NO) && ( +#ifdef __BLOCKS__ + ((encodeState->classFormatterBlock) && ((object = encodeState->classFormatterBlock(object)) != NULL)) || +#endif + ((encodeState->classFormatterIMP) && ((object = encodeState->classFormatterIMP(encodeState->classFormatterDelegate, encodeState->classFormatterSelector, object)) != NULL)) )) { rerunningAfterClassFormatter = YES; goto rerunAfterClassFormatter; } + + if(rerunningAfterClassFormatter == NO) { jk_encode_error(encodeState, @"Unable to serialize object class %@.", NSStringFromClass([encodeCacheObject class])); return(1); } + else { jk_encode_error(encodeState, @"Unable to serialize object class %@ that was returned by the unsupported class formatter. Original object class was %@.", (object == NULL) ? @"NULL" : NSStringFromClass([object class]), NSStringFromClass([encodeCacheObject class])); return(1); } + } + } + + // This is here for the benefit of the optimizer. It allows the optimizer to do loop invariant code motion for the JKClassArray + // and JKClassDictionary cases when printing simple, single characters via jk_encode_write(), which is actually a macro: + // #define jk_encode_write1(es, dc, f) (_jk_encode_prettyPrint ? jk_encode_write1slow(es, dc, f) : jk_encode_write1fast(es, dc, f)) + int _jk_encode_prettyPrint = JK_EXPECT_T((encodeState->serializeOptionFlags & JKSerializeOptionPretty) == 0) ? 0 : 1; + + switch(isClass) { + case JKClassString: + { + { + const unsigned char *cStringPtr = (const unsigned char *)CFStringGetCStringPtr((CFStringRef)object, kCFStringEncodingMacRoman); + if(cStringPtr != NULL) { + const unsigned char *utf8String = cStringPtr; + size_t utf8Idx = 0UL; + + CFIndex stringLength = CFStringGetLength((CFStringRef)object); + if(JK_EXPECT_F(((encodeState->atIndex + (stringLength * 2UL) + 256UL) > encodeState->stringBuffer.bytes.length)) && JK_EXPECT_F((jk_managedBuffer_resize(&encodeState->stringBuffer, encodeState->atIndex + (stringLength * 2UL) + 1024UL) == NULL))) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); return(1); } + + if(JK_EXPECT_T((encodeState->encodeOption & JKEncodeOptionStringObjTrimQuotes) == 0UL)) { encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\"'; } + for(utf8Idx = 0UL; utf8String[utf8Idx] != 0U; utf8Idx++) { + NSCParameterAssert(((&encodeState->stringBuffer.bytes.ptr[encodeState->atIndex]) - encodeState->stringBuffer.bytes.ptr) < (ssize_t)encodeState->stringBuffer.bytes.length); + NSCParameterAssert(encodeState->atIndex < encodeState->stringBuffer.bytes.length); + if(JK_EXPECT_F(utf8String[utf8Idx] >= 0x80U)) { encodeState->atIndex = startingAtIndex; goto slowUTF8Path; } + if(JK_EXPECT_F(utf8String[utf8Idx] < 0x20U)) { + switch(utf8String[utf8Idx]) { + case '\b': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 'b'; break; + case '\f': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 'f'; break; + case '\n': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 'n'; break; + case '\r': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 'r'; break; + case '\t': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 't'; break; + default: if(JK_EXPECT_F(jk_encode_printf(encodeState, NULL, 0UL, NULL, "\\u%4.4x", utf8String[utf8Idx]))) { return(1); } break; + } + } else { + if(JK_EXPECT_F(utf8String[utf8Idx] == '\"') || JK_EXPECT_F(utf8String[utf8Idx] == '\\') || (JK_EXPECT_F(encodeState->serializeOptionFlags & JKSerializeOptionEscapeForwardSlashes) && JK_EXPECT_F(utf8String[utf8Idx] == '/'))) { encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; } + encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = utf8String[utf8Idx]; + } + } + NSCParameterAssert((encodeState->atIndex + 1UL) < encodeState->stringBuffer.bytes.length); + if(JK_EXPECT_T((encodeState->encodeOption & JKEncodeOptionStringObjTrimQuotes) == 0UL)) { encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\"'; } + jk_encode_updateCache(encodeState, cacheSlot, startingAtIndex, encodeCacheObject); + return(0); + } + } + + slowUTF8Path: + { + CFIndex stringLength = CFStringGetLength((CFStringRef)object); + CFIndex maxStringUTF8Length = CFStringGetMaximumSizeForEncoding(stringLength, kCFStringEncodingUTF8) + 32L; + + if(JK_EXPECT_F((size_t)maxStringUTF8Length > encodeState->utf8ConversionBuffer.bytes.length) && JK_EXPECT_F(jk_managedBuffer_resize(&encodeState->utf8ConversionBuffer, maxStringUTF8Length + 1024UL) == NULL)) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); return(1); } + + CFIndex usedBytes = 0L, convertedCount = 0L; + convertedCount = CFStringGetBytes((CFStringRef)object, CFRangeMake(0L, stringLength), kCFStringEncodingUTF8, '?', NO, encodeState->utf8ConversionBuffer.bytes.ptr, encodeState->utf8ConversionBuffer.bytes.length - 16L, &usedBytes); + if(JK_EXPECT_F(convertedCount != stringLength) || JK_EXPECT_F(usedBytes < 0L)) { jk_encode_error(encodeState, @"An error occurred converting the contents of a NSString to UTF8."); return(1); } + + if(JK_EXPECT_F((encodeState->atIndex + (maxStringUTF8Length * 2UL) + 256UL) > encodeState->stringBuffer.bytes.length) && JK_EXPECT_F(jk_managedBuffer_resize(&encodeState->stringBuffer, encodeState->atIndex + (maxStringUTF8Length * 2UL) + 1024UL) == NULL)) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); return(1); } + + const unsigned char *utf8String = encodeState->utf8ConversionBuffer.bytes.ptr; + + size_t utf8Idx = 0UL; + if(JK_EXPECT_T((encodeState->encodeOption & JKEncodeOptionStringObjTrimQuotes) == 0UL)) { encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\"'; } + for(utf8Idx = 0UL; utf8Idx < (size_t)usedBytes; utf8Idx++) { + NSCParameterAssert(((&encodeState->stringBuffer.bytes.ptr[encodeState->atIndex]) - encodeState->stringBuffer.bytes.ptr) < (ssize_t)encodeState->stringBuffer.bytes.length); + NSCParameterAssert(encodeState->atIndex < encodeState->stringBuffer.bytes.length); + NSCParameterAssert((CFIndex)utf8Idx < usedBytes); + if(JK_EXPECT_F(utf8String[utf8Idx] < 0x20U)) { + switch(utf8String[utf8Idx]) { + case '\b': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 'b'; break; + case '\f': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 'f'; break; + case '\n': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 'n'; break; + case '\r': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 'r'; break; + case '\t': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 't'; break; + default: if(JK_EXPECT_F(jk_encode_printf(encodeState, NULL, 0UL, NULL, "\\u%4.4x", utf8String[utf8Idx]))) { return(1); } break; + } + } else { + if(JK_EXPECT_F(utf8String[utf8Idx] >= 0x80U) && (encodeState->serializeOptionFlags & JKSerializeOptionEscapeUnicode)) { + const unsigned char *nextValidCharacter = NULL; + UTF32 u32ch = 0U; + ConversionResult result; + + if(JK_EXPECT_F((result = ConvertSingleCodePointInUTF8(&utf8String[utf8Idx], &utf8String[usedBytes], (UTF8 const **)&nextValidCharacter, &u32ch)) != conversionOK)) { jk_encode_error(encodeState, @"Error converting UTF8."); return(1); } + else { + utf8Idx = (nextValidCharacter - utf8String) - 1UL; + if(JK_EXPECT_T(u32ch <= 0xffffU)) { if(JK_EXPECT_F(jk_encode_printf(encodeState, NULL, 0UL, NULL, "\\u%4.4x", u32ch))) { return(1); } } + else { if(JK_EXPECT_F(jk_encode_printf(encodeState, NULL, 0UL, NULL, "\\u%4.4x\\u%4.4x", (0xd7c0U + (u32ch >> 10)), (0xdc00U + (u32ch & 0x3ffU))))) { return(1); } } + } + } else { + if(JK_EXPECT_F(utf8String[utf8Idx] == '\"') || JK_EXPECT_F(utf8String[utf8Idx] == '\\') || (JK_EXPECT_F(encodeState->serializeOptionFlags & JKSerializeOptionEscapeForwardSlashes) && JK_EXPECT_F(utf8String[utf8Idx] == '/'))) { encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; } + encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = utf8String[utf8Idx]; + } + } + } + NSCParameterAssert((encodeState->atIndex + 1UL) < encodeState->stringBuffer.bytes.length); + if(JK_EXPECT_T((encodeState->encodeOption & JKEncodeOptionStringObjTrimQuotes) == 0UL)) { encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\"'; } + jk_encode_updateCache(encodeState, cacheSlot, startingAtIndex, encodeCacheObject); + return(0); + } + } + break; + + case JKClassNumber: + { + if(object == (id)kCFBooleanTrue) { return(jk_encode_writen(encodeState, cacheSlot, startingAtIndex, encodeCacheObject, "true", 4UL)); } + else if(object == (id)kCFBooleanFalse) { return(jk_encode_writen(encodeState, cacheSlot, startingAtIndex, encodeCacheObject, "false", 5UL)); } + + const char *objCType = [object objCType]; + char anum[256], *aptr = &anum[255]; + int isNegative = 0; + unsigned long long ullv; + long long llv; + + if(JK_EXPECT_F(objCType == NULL) || JK_EXPECT_F(objCType[0] == 0) || JK_EXPECT_F(objCType[1] != 0)) { jk_encode_error(encodeState, @"NSNumber conversion error, unknown type. Type: '%s'", (objCType == NULL) ? "" : objCType); return(1); } + + switch(objCType[0]) { + case 'c': case 'i': case 's': case 'l': case 'q': + if(JK_EXPECT_T(CFNumberGetValue((CFNumberRef)object, kCFNumberLongLongType, &llv))) { + if(llv < 0LL) { ullv = -llv; isNegative = 1; } else { ullv = llv; isNegative = 0; } + goto convertNumber; + } else { jk_encode_error(encodeState, @"Unable to get scalar value from number object."); return(1); } + break; + case 'C': case 'I': case 'S': case 'L': case 'Q': case 'B': + if(JK_EXPECT_T(CFNumberGetValue((CFNumberRef)object, kCFNumberLongLongType, &ullv))) { + convertNumber: + if(JK_EXPECT_F(ullv < 10ULL)) { *--aptr = ullv + '0'; } else { while(JK_EXPECT_T(ullv > 0ULL)) { *--aptr = (ullv % 10ULL) + '0'; ullv /= 10ULL; NSCParameterAssert(aptr > anum); } } + if(isNegative) { *--aptr = '-'; } + NSCParameterAssert(aptr > anum); + return(jk_encode_writen(encodeState, cacheSlot, startingAtIndex, encodeCacheObject, aptr, &anum[255] - aptr)); + } else { jk_encode_error(encodeState, @"Unable to get scalar value from number object."); return(1); } + break; + case 'f': case 'd': + { + double dv; + if(JK_EXPECT_T(CFNumberGetValue((CFNumberRef)object, kCFNumberDoubleType, &dv))) { + if(JK_EXPECT_F(!isfinite(dv))) { jk_encode_error(encodeState, @"Floating point values must be finite. JSON does not support NaN or Infinity."); return(1); } + return(jk_encode_printf(encodeState, cacheSlot, startingAtIndex, encodeCacheObject, "%.17g", dv)); + } else { jk_encode_error(encodeState, @"Unable to get floating point value from number object."); return(1); } + } + break; + default: jk_encode_error(encodeState, @"NSNumber conversion error, unknown type. Type: '%c' / 0x%2.2x", objCType[0], objCType[0]); return(1); break; + } + } + break; + + case JKClassArray: + { + int printComma = 0; + CFIndex arrayCount = CFArrayGetCount((CFArrayRef)object), idx = 0L; + if(JK_EXPECT_F(jk_encode_write1(encodeState, 1L, "["))) { return(1); } + if(JK_EXPECT_F(arrayCount > 1020L)) { + for(id arrayObject in object) { if(JK_EXPECT_T(printComma)) { if(JK_EXPECT_F(jk_encode_write1(encodeState, 0L, ","))) { return(1); } } printComma = 1; if(JK_EXPECT_F(jk_encode_add_atom_to_buffer(encodeState, arrayObject))) { return(1); } } + } else { + void *objects[1024]; + CFArrayGetValues((CFArrayRef)object, CFRangeMake(0L, arrayCount), (const void **)objects); + for(idx = 0L; idx < arrayCount; idx++) { if(JK_EXPECT_T(printComma)) { if(JK_EXPECT_F(jk_encode_write1(encodeState, 0L, ","))) { return(1); } } printComma = 1; if(JK_EXPECT_F(jk_encode_add_atom_to_buffer(encodeState, objects[idx]))) { return(1); } } + } + return(jk_encode_write1(encodeState, -1L, "]")); + } + break; + + case JKClassDictionary: + { + int printComma = 0; + CFIndex dictionaryCount = CFDictionaryGetCount((CFDictionaryRef)object), idx = 0L; + id enumerateObject = JK_EXPECT_F(_jk_encode_prettyPrint) ? [[object allKeys] sortedArrayUsingSelector:@selector(compare:)] : object; + + if(JK_EXPECT_F(jk_encode_write1(encodeState, 1L, "{"))) { return(1); } + if(JK_EXPECT_F(_jk_encode_prettyPrint) || JK_EXPECT_F(dictionaryCount > 1020L)) { + for(id keyObject in enumerateObject) { + if(JK_EXPECT_T(printComma)) { if(JK_EXPECT_F(jk_encode_write1(encodeState, 0L, ","))) { return(1); } } + printComma = 1; + void *keyObjectISA = *((void **)keyObject); + if(JK_EXPECT_F((keyObjectISA != encodeState->fastClassLookup.stringClass)) && JK_EXPECT_F(([keyObject isKindOfClass:[NSString class]] == NO))) { jk_encode_error(encodeState, @"Key must be a string object."); return(1); } + if(JK_EXPECT_F(jk_encode_add_atom_to_buffer(encodeState, keyObject))) { return(1); } + if(JK_EXPECT_F(jk_encode_write1(encodeState, 0L, ":"))) { return(1); } + if(JK_EXPECT_F(jk_encode_add_atom_to_buffer(encodeState, (void *)CFDictionaryGetValue((CFDictionaryRef)object, keyObject)))) { return(1); } + } + } else { + void *keys[1024], *objects[1024]; + CFDictionaryGetKeysAndValues((CFDictionaryRef)object, (const void **)keys, (const void **)objects); + for(idx = 0L; idx < dictionaryCount; idx++) { + if(JK_EXPECT_T(printComma)) { if(JK_EXPECT_F(jk_encode_write1(encodeState, 0L, ","))) { return(1); } } + printComma = 1; + void *keyObjectISA = *((void **)keys[idx]); + if(JK_EXPECT_F(keyObjectISA != encodeState->fastClassLookup.stringClass) && JK_EXPECT_F([(id)keys[idx] isKindOfClass:[NSString class]] == NO)) { jk_encode_error(encodeState, @"Key must be a string object."); return(1); } + if(JK_EXPECT_F(jk_encode_add_atom_to_buffer(encodeState, keys[idx]))) { return(1); } + if(JK_EXPECT_F(jk_encode_write1(encodeState, 0L, ":"))) { return(1); } + if(JK_EXPECT_F(jk_encode_add_atom_to_buffer(encodeState, objects[idx]))) { return(1); } + } + } + return(jk_encode_write1(encodeState, -1L, "}")); + } + break; + + case JKClassNull: return(jk_encode_writen(encodeState, cacheSlot, startingAtIndex, encodeCacheObject, "null", 4UL)); break; + + default: jk_encode_error(encodeState, @"Unable to serialize object class %@.", NSStringFromClass([object class])); return(1); break; + } + + return(0); +} + + +@implementation JKSerializer + ++ (id)serializeObject:(id)object options:(JKSerializeOptionFlags)optionFlags encodeOption:(JKEncodeOptionType)encodeOption block:(JKSERIALIZER_BLOCKS_PROTO)block delegate:(id)delegate selector:(SEL)selector error:(NSError **)error +{ + return([[[[self alloc] init] autorelease] serializeObject:object options:optionFlags encodeOption:encodeOption block:block delegate:delegate selector:selector error:error]); +} + +- (id)serializeObject:(id)object options:(JKSerializeOptionFlags)optionFlags encodeOption:(JKEncodeOptionType)encodeOption block:(JKSERIALIZER_BLOCKS_PROTO)block delegate:(id)delegate selector:(SEL)selector error:(NSError **)error +{ +#ifndef __BLOCKS__ +#pragma unused(block) +#endif + NSParameterAssert((object != NULL) && (encodeState == NULL) && ((delegate != NULL) ? (block == NULL) : 1) && ((block != NULL) ? (delegate == NULL) : 1) && + (((encodeOption & JKEncodeOptionCollectionObj) != 0UL) ? (((encodeOption & JKEncodeOptionStringObj) == 0UL) && ((encodeOption & JKEncodeOptionStringObjTrimQuotes) == 0UL)) : 1) && + (((encodeOption & JKEncodeOptionStringObj) != 0UL) ? ((encodeOption & JKEncodeOptionCollectionObj) == 0UL) : 1)); + + id returnObject = NULL; + + if(encodeState != NULL) { [self releaseState]; } + if((encodeState = (struct JKEncodeState *)calloc(1UL, sizeof(JKEncodeState))) == NULL) { [NSException raise:NSMallocException format:@"Unable to allocate state structure."]; return(NULL); } + + if((error != NULL) && (*error != NULL)) { *error = NULL; } + + if(delegate != NULL) { + if(selector == NULL) { [NSException raise:NSInvalidArgumentException format:@"The delegate argument is not NULL, but the selector argument is NULL."]; } + if([delegate respondsToSelector:selector] == NO) { [NSException raise:NSInvalidArgumentException format:@"The serializeUnsupportedClassesUsingDelegate: delegate does not respond to the selector argument."]; } + encodeState->classFormatterDelegate = delegate; + encodeState->classFormatterSelector = selector; + encodeState->classFormatterIMP = (JKClassFormatterIMP)[delegate methodForSelector:selector]; + NSCParameterAssert(encodeState->classFormatterIMP != NULL); + } + +#ifdef __BLOCKS__ + encodeState->classFormatterBlock = block; +#endif + encodeState->serializeOptionFlags = optionFlags; + encodeState->encodeOption = encodeOption; + encodeState->stringBuffer.roundSizeUpToMultipleOf = (1024UL * 32UL); + encodeState->utf8ConversionBuffer.roundSizeUpToMultipleOf = 4096UL; + + unsigned char stackJSONBuffer[JK_JSONBUFFER_SIZE] JK_ALIGNED(64); + jk_managedBuffer_setToStackBuffer(&encodeState->stringBuffer, stackJSONBuffer, sizeof(stackJSONBuffer)); + + unsigned char stackUTF8Buffer[JK_UTF8BUFFER_SIZE] JK_ALIGNED(64); + jk_managedBuffer_setToStackBuffer(&encodeState->utf8ConversionBuffer, stackUTF8Buffer, sizeof(stackUTF8Buffer)); + + if(((encodeOption & JKEncodeOptionCollectionObj) != 0UL) && (([object isKindOfClass:[NSArray class]] == NO) && ([object isKindOfClass:[NSDictionary class]] == NO))) { jk_encode_error(encodeState, @"Unable to serialize object class %@, expected a NSArray or NSDictionary.", NSStringFromClass([object class])); goto errorExit; } + if(((encodeOption & JKEncodeOptionStringObj) != 0UL) && ([object isKindOfClass:[NSString class]] == NO)) { jk_encode_error(encodeState, @"Unable to serialize object class %@, expected a NSString.", NSStringFromClass([object class])); goto errorExit; } + + if(jk_encode_add_atom_to_buffer(encodeState, object) == 0) { + BOOL stackBuffer = ((encodeState->stringBuffer.flags & JKManagedBufferMustFree) == 0UL) ? YES : NO; + + if((encodeState->atIndex < 2UL)) + if((stackBuffer == NO) && ((encodeState->stringBuffer.bytes.ptr = (unsigned char *)reallocf(encodeState->stringBuffer.bytes.ptr, encodeState->atIndex + 16UL)) == NULL)) { jk_encode_error(encodeState, @"Unable to realloc buffer"); goto errorExit; } + + switch((encodeOption & JKEncodeOptionAsTypeMask)) { + case JKEncodeOptionAsData: + if(stackBuffer == YES) { if((returnObject = [(id)CFDataCreate( NULL, encodeState->stringBuffer.bytes.ptr, (CFIndex)encodeState->atIndex) autorelease]) == NULL) { jk_encode_error(encodeState, @"Unable to create NSData object"); } } + else { if((returnObject = [(id)CFDataCreateWithBytesNoCopy( NULL, encodeState->stringBuffer.bytes.ptr, (CFIndex)encodeState->atIndex, NULL) autorelease]) == NULL) { jk_encode_error(encodeState, @"Unable to create NSData object"); } } + break; + + case JKEncodeOptionAsString: + if(stackBuffer == YES) { if((returnObject = [(id)CFStringCreateWithBytes( NULL, (const UInt8 *)encodeState->stringBuffer.bytes.ptr, (CFIndex)encodeState->atIndex, kCFStringEncodingUTF8, NO) autorelease]) == NULL) { jk_encode_error(encodeState, @"Unable to create NSString object"); } } + else { if((returnObject = [(id)CFStringCreateWithBytesNoCopy(NULL, (const UInt8 *)encodeState->stringBuffer.bytes.ptr, (CFIndex)encodeState->atIndex, kCFStringEncodingUTF8, NO, NULL) autorelease]) == NULL) { jk_encode_error(encodeState, @"Unable to create NSString object"); } } + break; + + default: jk_encode_error(encodeState, @"Unknown encode as type."); break; + } + + if((returnObject != NULL) && (stackBuffer == NO)) { encodeState->stringBuffer.flags &= ~JKManagedBufferMustFree; encodeState->stringBuffer.bytes.ptr = NULL; encodeState->stringBuffer.bytes.length = 0UL; } + } + +errorExit: + if((encodeState != NULL) && (error != NULL) && (encodeState->error != NULL)) { *error = encodeState->error; encodeState->error = NULL; } + [self releaseState]; + + return(returnObject); +} + +- (void)releaseState +{ + if(encodeState != NULL) { + jk_managedBuffer_release(&encodeState->stringBuffer); + jk_managedBuffer_release(&encodeState->utf8ConversionBuffer); + free(encodeState); encodeState = NULL; + } +} + +- (void)dealloc +{ + [self releaseState]; + [super dealloc]; +} + +@end + +@implementation NSString (JSONKitSerializing) + +//////////// +#pragma mark Methods for serializing a single NSString. +//////////// + +// Useful for those who need to serialize just a NSString. Otherwise you would have to do something like [NSArray arrayWithObject:stringToBeJSONSerialized], serializing the array, and then chopping of the extra ^\[.*\]$ square brackets. + +// NSData returning methods... + +- (NSData *)JSONData +{ + return([self JSONDataWithOptions:JKSerializeOptionNone includeQuotes:YES error:NULL]); +} + +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions includeQuotes:(BOOL)includeQuotes error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsData | ((includeQuotes == NO) ? JKEncodeOptionStringObjTrimQuotes : 0UL) | JKEncodeOptionStringObj) block:NULL delegate:NULL selector:NULL error:error]); +} + +// NSString returning methods... + +- (NSString *)JSONString +{ + return([self JSONStringWithOptions:JKSerializeOptionNone includeQuotes:YES error:NULL]); +} + +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions includeQuotes:(BOOL)includeQuotes error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsString | ((includeQuotes == NO) ? JKEncodeOptionStringObjTrimQuotes : 0UL) | JKEncodeOptionStringObj) block:NULL delegate:NULL selector:NULL error:error]); +} + +@end + +@implementation NSArray (JSONKitSerializing) + +// NSData returning methods... + +- (NSData *)JSONData +{ + return([JKSerializer serializeObject:self options:JKSerializeOptionNone encodeOption:(JKEncodeOptionAsData | JKEncodeOptionCollectionObj) block:NULL delegate:NULL selector:NULL error:NULL]); +} + +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsData | JKEncodeOptionCollectionObj) block:NULL delegate:NULL selector:NULL error:error]); +} + +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingDelegate:(id)delegate selector:(SEL)selector error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsData | JKEncodeOptionCollectionObj) block:NULL delegate:delegate selector:selector error:error]); +} + +// NSString returning methods... + +- (NSString *)JSONString +{ + return([JKSerializer serializeObject:self options:JKSerializeOptionNone encodeOption:(JKEncodeOptionAsString | JKEncodeOptionCollectionObj) block:NULL delegate:NULL selector:NULL error:NULL]); +} + +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsString | JKEncodeOptionCollectionObj) block:NULL delegate:NULL selector:NULL error:error]); +} + +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingDelegate:(id)delegate selector:(SEL)selector error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsString | JKEncodeOptionCollectionObj) block:NULL delegate:delegate selector:selector error:error]); +} + +@end + +@implementation NSDictionary (JSONKitSerializing) + +// NSData returning methods... + +- (NSData *)JSONData +{ + return([JKSerializer serializeObject:self options:JKSerializeOptionNone encodeOption:(JKEncodeOptionAsData | JKEncodeOptionCollectionObj) block:NULL delegate:NULL selector:NULL error:NULL]); +} + +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsData | JKEncodeOptionCollectionObj) block:NULL delegate:NULL selector:NULL error:error]); +} + +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingDelegate:(id)delegate selector:(SEL)selector error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsData | JKEncodeOptionCollectionObj) block:NULL delegate:delegate selector:selector error:error]); +} + +// NSString returning methods... + +- (NSString *)JSONString +{ + return([JKSerializer serializeObject:self options:JKSerializeOptionNone encodeOption:(JKEncodeOptionAsString | JKEncodeOptionCollectionObj) block:NULL delegate:NULL selector:NULL error:NULL]); +} + +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsString | JKEncodeOptionCollectionObj) block:NULL delegate:NULL selector:NULL error:error]); +} + +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingDelegate:(id)delegate selector:(SEL)selector error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsString | JKEncodeOptionCollectionObj) block:NULL delegate:delegate selector:selector error:error]); +} + +@end + + +#ifdef __BLOCKS__ + +@implementation NSArray (JSONKitSerializingBlockAdditions) + +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingBlock:(id(^)(id object))block error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsData | JKEncodeOptionCollectionObj) block:block delegate:NULL selector:NULL error:error]); +} + +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingBlock:(id(^)(id object))block error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsString | JKEncodeOptionCollectionObj) block:block delegate:NULL selector:NULL error:error]); +} + +@end + +@implementation NSDictionary (JSONKitSerializingBlockAdditions) + +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingBlock:(id(^)(id object))block error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsData | JKEncodeOptionCollectionObj) block:block delegate:NULL selector:NULL error:error]); +} + +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingBlock:(id(^)(id object))block error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsString | JKEncodeOptionCollectionObj) block:block delegate:NULL selector:NULL error:error]); +} + +@end + +#endif // __BLOCKS__ + diff --git a/shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/project.pbxproj b/shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/project.pbxproj new file mode 100644 index 000000000..1b299f12c --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/project.pbxproj @@ -0,0 +1,339 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 0B13ECAE173C687400548DA1 /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B13ECAD173C686A00548DA1 /* GCDAsyncSocket.m */; }; + 0B13ECAF173C687900548DA1 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BFC9ACB173C57E400CDD329 /* Security.framework */; }; + 0BFAF21C16F8E6C10017EA7E /* JSONKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 0BFAF21B16F8E6C10017EA7E /* JSONKit.m */; }; + 692C18A516660C4700BF6A53 /* ContextMenuHandlers.m in Sources */ = {isa = PBXBuildFile; fileRef = 692C18A416660C4600BF6A53 /* ContextMenuHandlers.m */; }; + 692C18A9166617F500BF6A53 /* IconOverlayHandlers.m in Sources */ = {isa = PBXBuildFile; fileRef = 692C18A8166617F500BF6A53 /* IconOverlayHandlers.m */; }; + 692C18AC1666392700BF6A53 /* MenuManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 692C18AB1666392700BF6A53 /* MenuManager.m */; }; + 6993878616494C000044E4DF /* RequestManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6993878516494C000044E4DF /* RequestManager.m */; }; + 69948B361636D50E0093B6CE /* ContentManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 69948B351636D50E0093B6CE /* ContentManager.m */; }; + 8C37DD9F161593BD00016A95 /* FinderHook.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; }; + 8C37DDB2161593FF00016A95 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C37DDB1161593FF00016A95 /* Cocoa.framework */; }; + 8C37DDBA161594B400016A95 /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C37DDB9161594B400016A95 /* Quartz.framework */; }; + 8C99F6941622D145002D2135 /* IconCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C99F6931622D145002D2135 /* IconCache.m */; }; + 8D576314048677EA00EA77CD /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0AA1909FFE8422F4C02AAC07 /* CoreFoundation.framework */; }; + 8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D5B49A704867FD3000E48DA /* InfoPlist.strings */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; + 0AA1909FFE8422F4C02AAC07 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; + 0B13ECAC173C686900548DA1 /* GCDAsyncSocket.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GCDAsyncSocket.h; sourceTree = ""; }; + 0B13ECAD173C686A00548DA1 /* GCDAsyncSocket.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GCDAsyncSocket.m; sourceTree = ""; }; + 0B2BF60B176A43DB001246CD /* Finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Finder.h; sourceTree = ""; }; + 0BFAF21A16F8E6C10017EA7E /* JSONKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSONKit.h; sourceTree = ""; }; + 0BFAF21B16F8E6C10017EA7E /* JSONKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSONKit.m; sourceTree = ""; }; + 0BFC9ACB173C57E400CDD329 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; + 692C18A316660C4600BF6A53 /* ContextMenuHandlers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextMenuHandlers.h; sourceTree = ""; }; + 692C18A416660C4600BF6A53 /* ContextMenuHandlers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContextMenuHandlers.m; sourceTree = ""; }; + 692C18A7166617F500BF6A53 /* IconOverlayHandlers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IconOverlayHandlers.h; sourceTree = ""; }; + 692C18A8166617F500BF6A53 /* IconOverlayHandlers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IconOverlayHandlers.m; sourceTree = ""; }; + 692C18AA1666392700BF6A53 /* MenuManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MenuManager.h; sourceTree = ""; }; + 692C18AB1666392700BF6A53 /* MenuManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MenuManager.m; sourceTree = ""; }; + 6993878416494C000044E4DF /* RequestManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RequestManager.h; sourceTree = ""; }; + 6993878516494C000044E4DF /* RequestManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RequestManager.m; sourceTree = ""; usesTabs = 1; }; + 69948B341636D50E0093B6CE /* ContentManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContentManager.h; sourceTree = ""; }; + 69948B351636D50E0093B6CE /* ContentManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContentManager.m; sourceTree = ""; }; + 8C37DD99161593BD00016A95 /* FinderHook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FinderHook.h; sourceTree = ""; }; + 8C37DD9A161593BD00016A95 /* FinderHook.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FinderHook.m; sourceTree = ""; }; + 8C37DDB1161593FF00016A95 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + 8C37DDB9161594B400016A95 /* Quartz.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quartz.framework; path = System/Library/Frameworks/Quartz.framework; sourceTree = SDKROOT; }; + 8C99F6921622D145002D2135 /* IconCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IconCache.h; sourceTree = ""; }; + 8C99F6931622D145002D2135 /* IconCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IconCache.m; sourceTree = ""; }; + 8D576316048677EA00EA77CD /* LiferayNativityFinder.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LiferayNativityFinder.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 8D576317048677EA00EA77CD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D576313048677EA00EA77CD /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0B13ECAF173C687900548DA1 /* Security.framework in Frameworks */, + 8D576314048677EA00EA77CD /* CoreFoundation.framework in Frameworks */, + 8C37DDB2161593FF00016A95 /* Cocoa.framework in Frameworks */, + 8C37DDBA161594B400016A95 /* Quartz.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* LiferayNativityFinder */ = { + isa = PBXGroup; + children = ( + 08FB77AFFE84173DC02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB6FE9D52B211CA2CBB /* Products */, + ); + name = LiferayNativityFinder; + sourceTree = ""; + usesTabs = 1; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 0BFC9ACB173C57E400CDD329 /* Security.framework */, + 8C37DDB9161594B400016A95 /* Quartz.framework */, + 0AA1909FFE8422F4C02AAC07 /* CoreFoundation.framework */, + 8C37DDB1161593FF00016A95 /* Cocoa.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8D576317048677EA00EA77CD /* Info.plist */, + 8D5B49A704867FD3000E48DA /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77AFFE84173DC02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 0B2BF60A176A43DB001246CD /* Finder */, + 0B08BAC21759627700C8351E /* GCDAsyncSocket */, + 0BFAF21916F8E6910017EA7E /* JSONKit */, + 8C37DD99161593BD00016A95 /* FinderHook.h */, + 8C37DD9A161593BD00016A95 /* FinderHook.m */, + 692C18A316660C4600BF6A53 /* ContextMenuHandlers.h */, + 692C18A416660C4600BF6A53 /* ContextMenuHandlers.m */, + 692C18A7166617F500BF6A53 /* IconOverlayHandlers.h */, + 692C18A8166617F500BF6A53 /* IconOverlayHandlers.m */, + 6993878416494C000044E4DF /* RequestManager.h */, + 6993878516494C000044E4DF /* RequestManager.m */, + 69948B341636D50E0093B6CE /* ContentManager.h */, + 69948B351636D50E0093B6CE /* ContentManager.m */, + 8C99F6921622D145002D2135 /* IconCache.h */, + 8C99F6931622D145002D2135 /* IconCache.m */, + 692C18AA1666392700BF6A53 /* MenuManager.h */, + 692C18AB1666392700BF6A53 /* MenuManager.m */, + ); + name = Source; + sourceTree = ""; + }; + 0B08BAC21759627700C8351E /* GCDAsyncSocket */ = { + isa = PBXGroup; + children = ( + 0B13ECAC173C686900548DA1 /* GCDAsyncSocket.h */, + 0B13ECAD173C686A00548DA1 /* GCDAsyncSocket.m */, + ); + name = GCDAsyncSocket; + sourceTree = ""; + }; + 0B2BF60A176A43DB001246CD /* Finder */ = { + isa = PBXGroup; + children = ( + 0B2BF60B176A43DB001246CD /* Finder.h */, + ); + path = Finder; + sourceTree = ""; + }; + 0BFAF21916F8E6910017EA7E /* JSONKit */ = { + isa = PBXGroup; + children = ( + 0BFAF21A16F8E6C10017EA7E /* JSONKit.h */, + 0BFAF21B16F8E6C10017EA7E /* JSONKit.m */, + ); + name = JSONKit; + sourceTree = ""; + }; + 19C28FB6FE9D52B211CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D576316048677EA00EA77CD /* LiferayNativityFinder.bundle */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8D57630D048677EA00EA77CD /* LiferayNativityFinder */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1DEB911A08733D790010E9CD /* Build configuration list for PBXNativeTarget "LiferayNativityFinder" */; + buildPhases = ( + 8D57630F048677EA00EA77CD /* Resources */, + 8D576311048677EA00EA77CD /* Sources */, + 8D576313048677EA00EA77CD /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = LiferayNativityFinder; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = LiferayNativityFinder; + productReference = 8D576316048677EA00EA77CD /* LiferayNativityFinder.bundle */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0460; + }; + buildConfigurationList = 1DEB911E08733D790010E9CD /* Build configuration list for PBXProject "LiferayNativityFinder" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* LiferayNativityFinder */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D57630D048677EA00EA77CD /* LiferayNativityFinder */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D57630F048677EA00EA77CD /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D576311048677EA00EA77CD /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0B13ECAE173C687400548DA1 /* GCDAsyncSocket.m in Sources */, + 8C37DD9F161593BD00016A95 /* FinderHook.m in Sources */, + 8C99F6941622D145002D2135 /* IconCache.m in Sources */, + 69948B361636D50E0093B6CE /* ContentManager.m in Sources */, + 6993878616494C000044E4DF /* RequestManager.m in Sources */, + 692C18A516660C4700BF6A53 /* ContextMenuHandlers.m in Sources */, + 692C18A9166617F500BF6A53 /* IconOverlayHandlers.m in Sources */, + 692C18AC1666392700BF6A53 /* MenuManager.m in Sources */, + 0BFAF21C16F8E6C10017EA7E /* JSONKit.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 8D5B49A704867FD3000E48DA /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C167EFE841241C02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 1DEB911B08733D790010E9CD /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Bundles"; + PRODUCT_NAME = LiferayNativityFinder; + WRAPPER_EXTENSION = bundle; + }; + name = Debug; + }; + 1DEB911C08733D790010E9CD /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_MODEL_TUNING = G5; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Bundles"; + PRODUCT_NAME = LiferayNativityFinder; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; + 1DEB911F08733D790010E9CD /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = _DEBUG_LOG; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 1DEB912008733D790010E9CD /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COPY_PHASE_STRIP = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1DEB911A08733D790010E9CD /* Build configuration list for PBXNativeTarget "LiferayNativityFinder" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1DEB911B08733D790010E9CD /* Debug */, + 1DEB911C08733D790010E9CD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1DEB911E08733D790010E9CD /* Build configuration list for PBXProject "LiferayNativityFinder" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1DEB911F08733D790010E9CD /* Debug */, + 1DEB912008733D790010E9CD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..f5850463d --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/svp.mode1v3 b/shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/svp.mode1v3 new file mode 100644 index 000000000..235ec8216 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/svp.mode1v3 @@ -0,0 +1,1542 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 8C37DD941615938A00016A95 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + + Content + + PBXProjectModuleGUID + 8C99F89B16284444002D2135 + PBXProjectModuleLabel + FinderHook.m + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8C99F89C16284444002D2135 + PBXProjectModuleLabel + FinderHook.m + _historyCapacity + 0 + bookmark + 8C95FFD716301448003BB463 + history + + 8C95FFB2162D771B003BB463 + + + SplitCount + 1 + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {1882, 573}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 38 444 1882 614 0 0 1920 1058 + + + + Content + + PBXProjectModuleGUID + 8C95FF84162D59A0003BB463 + PBXProjectModuleLabel + FinderHook.m + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8C95FF85162D59A0003BB463 + PBXProjectModuleLabel + FinderHook.m + _historyCapacity + 0 + bookmark + 8C95FFD816301448003BB463 + history + + 8C95FFC1162D7A3D003BB463 + 8C95FFC2162D7A3D003BB463 + + + SplitCount + 1 + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {1882, 629}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 916 388 1882 670 0 0 1920 1058 + + + + Content + + PBXProjectModuleGUID + 8C99F7B216283292002D2135 + PBXProjectModuleLabel + IconCache.m + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8C99F7B316283292002D2135 + PBXProjectModuleLabel + IconCache.m + _historyCapacity + 0 + bookmark + 8C95FFD916301448003BB463 + history + + 8C99F90216284ECF002D2135 + + + SplitCount + 1 + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {1882, 573}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 38 444 1882 614 0 0 1920 1058 + + + + Content + + PBXProjectModuleGUID + 8C99F7B616283292002D2135 + PBXProjectModuleLabel + IconCache.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8C99F7B716283292002D2135 + PBXProjectModuleLabel + IconCache.h + _historyCapacity + 0 + bookmark + 8C95FFDA16301448003BB463 + history + + 8C99F90316284ECF002D2135 + + + SplitCount + 1 + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {1882, 573}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 352 444 1882 614 0 0 1920 1058 + + + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77AFFE84173DC02AAC07 + 089C1671FE841209C02AAC07 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 3 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 556}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 574}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 632 443 1235 615 0 0 1920 1058 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + FinderHook.m + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + FinderHook.m + _historyCapacity + 0 + bookmark + 8C95FFD616301448003BB463 + history + + 8C99F6D716241A83002D2135 + 8C99F7E91628351A002D2135 + 8C99F89616284444002D2135 + 8C99F8FC16284ECF002D2135 + 8C95FF21162C3A8B003BB463 + 8C95FFD516301448003BB463 + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1027, 357}} + RubberWindowFrame + 632 443 1235 615 0 0 1920 1058 + + Module + PBXNavigatorGroup + Proportion + 357pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 362}, {1027, 212}} + RubberWindowFrame + 632 443 1235 615 0 0 1920 1058 + + Module + XCDetailModule + Proportion + 212pt + + + Proportion + 1027pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 8C95FEE8162C08FC003BB463 + 1CE0B1FE06471DED0097A5F4 + 8C95FEE9162C08FC003BB463 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 8C37DD951615938A00016A95 + 8C99F7B616283292002D2135 + 8C99F7B216283292002D2135 + 8C95FF84162D59A0003BB463 + 8C99F89B16284444002D2135 + /Users/svp/Liferay/trunk/LiferayFinderCore/LiferayFinderCore.xcodeproj + + WindowString + 632 443 1235 615 0 0 1920 1058 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + FinderHook.m + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {698, 229}} + RubberWindowFrame + 1121 132 698 522 0 0 1920 1058 + + Module + PBXNavigatorGroup + Proportion + 229pt + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 234}, {698, 247}} + RubberWindowFrame + 1121 132 698 522 0 0 1920 1058 + + Module + PBXBuildResultsModule + Proportion + 247pt + + + Proportion + 481pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 8C37DD951615938A00016A95 + 8C95FEED162C08FC003BB463 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 1121 132 698 522 0 0 1920 1058 + WindowToolGUID + 8C37DD951615938A00016A95 + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/svp.pbxuser b/shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/svp.pbxuser new file mode 100644 index 000000000..daa8f96a1 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/svp.pbxuser @@ -0,0 +1,1899 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Debug; + activeTarget = 8D57630D048677EA00EA77CD /* LiferayFinderCore */; + addToTargets = ( + 8D57630D048677EA00EA77CD /* LiferayFinderCore */, + ); + breakpoints = ( + 8C99F8BD162849F3002D2135 /* FinderHook.m:112 */, + ); + codeSenseManager = 8C37DD981615938A00016A95 /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = 1; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 788, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 371984582; + PBXWorkspaceStateSaveDate = 371984582; + }; + perUserProjectItems = { + 8C95FEE7162C08FC003BB463 /* PBXTextBookmark */ = 8C95FEE7162C08FC003BB463 /* PBXTextBookmark */; + 8C95FEEA162C08FC003BB463 /* PBXTextBookmark */ = 8C95FEEA162C08FC003BB463 /* PBXTextBookmark */; + 8C95FEEB162C08FC003BB463 /* PBXTextBookmark */ = 8C95FEEB162C08FC003BB463 /* PBXTextBookmark */; + 8C95FEEC162C08FC003BB463 /* PBXTextBookmark */ = 8C95FEEC162C08FC003BB463 /* PBXTextBookmark */; + 8C95FF03162C3429003BB463 /* PBXTextBookmark */ = 8C95FF03162C3429003BB463 /* PBXTextBookmark */; + 8C95FF04162C3429003BB463 /* PBXTextBookmark */ = 8C95FF04162C3429003BB463 /* PBXTextBookmark */; + 8C95FF05162C3429003BB463 /* PBXTextBookmark */ = 8C95FF05162C3429003BB463 /* PBXTextBookmark */; + 8C95FF06162C3429003BB463 /* PBXTextBookmark */ = 8C95FF06162C3429003BB463 /* PBXTextBookmark */; + 8C95FF21162C3A8B003BB463 /* PBXTextBookmark */ = 8C95FF21162C3A8B003BB463 /* PBXTextBookmark */; + 8C95FF22162C3A8B003BB463 /* XCBuildMessageTextBookmark */ = 8C95FF22162C3A8B003BB463 /* XCBuildMessageTextBookmark */; + 8C95FF23162C3A8B003BB463 /* PBXTextBookmark */ = 8C95FF23162C3A8B003BB463 /* PBXTextBookmark */; + 8C95FF24162C3A8B003BB463 /* PBXTextBookmark */ = 8C95FF24162C3A8B003BB463 /* PBXTextBookmark */; + 8C95FF25162C3A8B003BB463 /* PBXTextBookmark */ = 8C95FF25162C3A8B003BB463 /* PBXTextBookmark */; + 8C95FF26162C3A8B003BB463 /* PBXTextBookmark */ = 8C95FF26162C3A8B003BB463 /* PBXTextBookmark */; + 8C95FF4B162C3D26003BB463 /* PBXTextBookmark */ = 8C95FF4B162C3D26003BB463 /* PBXTextBookmark */; + 8C95FF4C162C3D26003BB463 /* PBXTextBookmark */ = 8C95FF4C162C3D26003BB463 /* PBXTextBookmark */; + 8C95FF4D162C3D26003BB463 /* PBXTextBookmark */ = 8C95FF4D162C3D26003BB463 /* PBXTextBookmark */; + 8C95FF4E162C3D26003BB463 /* PBXTextBookmark */ = 8C95FF4E162C3D26003BB463 /* PBXTextBookmark */; + 8C95FF5A162C3ED2003BB463 /* XCBuildMessageTextBookmark */ = 8C95FF5A162C3ED2003BB463 /* XCBuildMessageTextBookmark */; + 8C95FF5B162C3ED2003BB463 /* PBXTextBookmark */ = 8C95FF5B162C3ED2003BB463 /* PBXTextBookmark */; + 8C95FF6A162D5608003BB463 /* PBXTextBookmark */ = 8C95FF6A162D5608003BB463 /* PBXTextBookmark */; + 8C95FF6B162D5608003BB463 /* PBXTextBookmark */ = 8C95FF6B162D5608003BB463 /* PBXTextBookmark */; + 8C95FF6C162D5608003BB463 /* PBXTextBookmark */ = 8C95FF6C162D5608003BB463 /* PBXTextBookmark */; + 8C95FF6D162D5608003BB463 /* PBXTextBookmark */ = 8C95FF6D162D5608003BB463 /* PBXTextBookmark */; + 8C95FF80162D59A0003BB463 /* XCBuildMessageTextBookmark */ = 8C95FF80162D59A0003BB463 /* XCBuildMessageTextBookmark */; + 8C95FF81162D59A0003BB463 /* PBXTextBookmark */ = 8C95FF81162D59A0003BB463 /* PBXTextBookmark */; + 8C95FF82162D59A0003BB463 /* PBXTextBookmark */ = 8C95FF82162D59A0003BB463 /* PBXTextBookmark */; + 8C95FF83162D59A0003BB463 /* PBXTextBookmark */ = 8C95FF83162D59A0003BB463 /* PBXTextBookmark */; + 8C95FF86162D59A0003BB463 /* PBXTextBookmark */ = 8C95FF86162D59A0003BB463 /* PBXTextBookmark */; + 8C95FF87162D59A0003BB463 /* PBXTextBookmark */ = 8C95FF87162D59A0003BB463 /* PBXTextBookmark */; + 8C95FF88162D59A0003BB463 /* PBXTextBookmark */ = 8C95FF88162D59A0003BB463 /* PBXTextBookmark */; + 8C95FF89162D59A0003BB463 /* PBXTextBookmark */ = 8C95FF89162D59A0003BB463 /* PBXTextBookmark */; + 8C95FFAF162D771B003BB463 /* PBXTextBookmark */ = 8C95FFAF162D771B003BB463 /* PBXTextBookmark */; + 8C95FFB0162D771B003BB463 /* PBXTextBookmark */ = 8C95FFB0162D771B003BB463 /* PBXTextBookmark */; + 8C95FFB1162D771B003BB463 /* PBXTextBookmark */ = 8C95FFB1162D771B003BB463 /* PBXTextBookmark */; + 8C95FFB2162D771B003BB463 /* PBXTextBookmark */ = 8C95FFB2162D771B003BB463 /* PBXTextBookmark */; + 8C95FFB3162D771B003BB463 /* PBXTextBookmark */ = 8C95FFB3162D771B003BB463 /* PBXTextBookmark */; + 8C95FFB4162D771B003BB463 /* PBXTextBookmark */ = 8C95FFB4162D771B003BB463 /* PBXTextBookmark */; + 8C95FFB5162D771B003BB463 /* PBXTextBookmark */ = 8C95FFB5162D771B003BB463 /* PBXTextBookmark */; + 8C95FFC0162D7A3D003BB463 /* PBXTextBookmark */ = 8C95FFC0162D7A3D003BB463 /* PBXTextBookmark */; + 8C95FFC1162D7A3D003BB463 /* PBXTextBookmark */ = 8C95FFC1162D7A3D003BB463 /* PBXTextBookmark */; + 8C95FFC2162D7A3D003BB463 /* PBXTextBookmark */ = 8C95FFC2162D7A3D003BB463 /* PBXTextBookmark */; + 8C95FFC3162D7A3D003BB463 /* PBXTextBookmark */ = 8C95FFC3162D7A3D003BB463 /* PBXTextBookmark */; + 8C95FFC4162D7A3D003BB463 /* PBXTextBookmark */ = 8C95FFC4162D7A3D003BB463 /* PBXTextBookmark */; + 8C95FFC5162D7A3D003BB463 /* PBXTextBookmark */ = 8C95FFC5162D7A3D003BB463 /* PBXTextBookmark */; + 8C95FFC6162D7A3D003BB463 /* PBXTextBookmark */ = 8C95FFC6162D7A3D003BB463 /* PBXTextBookmark */; + 8C95FFD516301448003BB463 /* PBXTextBookmark */ = 8C95FFD516301448003BB463 /* PBXTextBookmark */; + 8C95FFD616301448003BB463 /* PBXTextBookmark */ = 8C95FFD616301448003BB463 /* PBXTextBookmark */; + 8C95FFD716301448003BB463 /* PBXTextBookmark */ = 8C95FFD716301448003BB463 /* PBXTextBookmark */; + 8C95FFD816301448003BB463 /* PBXTextBookmark */ = 8C95FFD816301448003BB463 /* PBXTextBookmark */; + 8C95FFD916301448003BB463 /* PBXTextBookmark */ = 8C95FFD916301448003BB463 /* PBXTextBookmark */; + 8C95FFDA16301448003BB463 /* PBXTextBookmark */ = 8C95FFDA16301448003BB463 /* PBXTextBookmark */; + 8C99F6D716241A83002D2135 = 8C99F6D716241A83002D2135 /* PBXTextBookmark */; + 8C99F6D816241A83002D2135 = 8C99F6D816241A83002D2135 /* PBXTextBookmark */; + 8C99F6D916241A83002D2135 = 8C99F6D916241A83002D2135 /* PBXTextBookmark */; + 8C99F6DA16241A83002D2135 = 8C99F6DA16241A83002D2135 /* PBXTextBookmark */; + 8C99F6DB16241A83002D2135 = 8C99F6DB16241A83002D2135 /* PBXTextBookmark */; + 8C99F6E11626C51C002D2135 = 8C99F6E11626C51C002D2135 /* PBXTextBookmark */; + 8C99F70916280074002D2135 = 8C99F70916280074002D2135 /* PBXTextBookmark */; + 8C99F70A16280074002D2135 = 8C99F70A16280074002D2135 /* PBXTextBookmark */; + 8C99F73216280B63002D2135 = 8C99F73216280B63002D2135 /* PBXTextBookmark */; + 8C99F73316280B63002D2135 = 8C99F73316280B63002D2135 /* PBXTextBookmark */; + 8C99F73416280B63002D2135 = 8C99F73416280B63002D2135 /* PBXTextBookmark */; + 8C99F75E16280FF3002D2135 = 8C99F75E16280FF3002D2135 /* PBXTextBookmark */; + 8C99F75F16280FF3002D2135 = 8C99F75F16280FF3002D2135 /* PBXTextBookmark */; + 8C99F76016280FF3002D2135 = 8C99F76016280FF3002D2135 /* PBXTextBookmark */; + 8C99F79516282FF8002D2135 = 8C99F79516282FF8002D2135 /* PBXTextBookmark */; + 8C99F7AA16283292002D2135 = 8C99F7AA16283292002D2135 /* PBXTextBookmark */; + 8C99F7AB16283292002D2135 = 8C99F7AB16283292002D2135 /* PBXTextBookmark */; + 8C99F7AC16283292002D2135 = 8C99F7AC16283292002D2135 /* PBXTextBookmark */; + 8C99F7B116283292002D2135 = 8C99F7B116283292002D2135 /* PBXTextBookmark */; + 8C99F7B416283292002D2135 = 8C99F7B416283292002D2135 /* PBXTextBookmark */; + 8C99F7B516283292002D2135 = 8C99F7B516283292002D2135 /* PBXTextBookmark */; + 8C99F7B816283292002D2135 = 8C99F7B816283292002D2135 /* PBXTextBookmark */; + 8C99F7B916283292002D2135 = 8C99F7B916283292002D2135 /* PBXTextBookmark */; + 8C99F7BC16283292002D2135 = 8C99F7BC16283292002D2135 /* PBXTextBookmark */; + 8C99F7BE16283292002D2135 = 8C99F7BE16283292002D2135 /* PBXTextBookmark */; + 8C99F7C4162832E3002D2135 = 8C99F7C4162832E3002D2135 /* PBXTextBookmark */; + 8C99F7C5162832E3002D2135 = 8C99F7C5162832E3002D2135 /* PBXTextBookmark */; + 8C99F7C6162832E3002D2135 = 8C99F7C6162832E3002D2135 /* PBXTextBookmark */; + 8C99F7C7162832E3002D2135 = 8C99F7C7162832E3002D2135 /* PBXTextBookmark */; + 8C99F7C8162832E3002D2135 = 8C99F7C8162832E3002D2135 /* PBXTextBookmark */; + 8C99F7C916283348002D2135 = 8C99F7C916283348002D2135 /* PBXTextBookmark */; + 8C99F7CA16283348002D2135 = 8C99F7CA16283348002D2135 /* PBXTextBookmark */; + 8C99F7CB16283348002D2135 = 8C99F7CB16283348002D2135 /* PBXTextBookmark */; + 8C99F7CC16283348002D2135 = 8C99F7CC16283348002D2135 /* PBXTextBookmark */; + 8C99F7CD16283348002D2135 = 8C99F7CD16283348002D2135 /* PBXTextBookmark */; + 8C99F7D316283395002D2135 = 8C99F7D316283395002D2135 /* PBXTextBookmark */; + 8C99F7D416283395002D2135 = 8C99F7D416283395002D2135 /* PBXTextBookmark */; + 8C99F7D516283395002D2135 = 8C99F7D516283395002D2135 /* PBXTextBookmark */; + 8C99F7D616283395002D2135 = 8C99F7D616283395002D2135 /* PBXTextBookmark */; + 8C99F7D716283395002D2135 = 8C99F7D716283395002D2135 /* PBXTextBookmark */; + 8C99F7D816283395002D2135 = 8C99F7D816283395002D2135 /* PBXTextBookmark */; + 8C99F7D9162833DB002D2135 = 8C99F7D9162833DB002D2135 /* PBXTextBookmark */; + 8C99F7DA162833DB002D2135 = 8C99F7DA162833DB002D2135 /* PBXTextBookmark */; + 8C99F7DB162833DB002D2135 = 8C99F7DB162833DB002D2135 /* PBXTextBookmark */; + 8C99F7DC162833DB002D2135 = 8C99F7DC162833DB002D2135 /* PBXTextBookmark */; + 8C99F7DD162833DB002D2135 = 8C99F7DD162833DB002D2135 /* PBXTextBookmark */; + 8C99F7E91628351A002D2135 = 8C99F7E91628351A002D2135 /* PBXTextBookmark */; + 8C99F7EA1628351A002D2135 = 8C99F7EA1628351A002D2135 /* PBXTextBookmark */; + 8C99F7EB1628351A002D2135 = 8C99F7EB1628351A002D2135 /* PBXTextBookmark */; + 8C99F7EC1628351A002D2135 = 8C99F7EC1628351A002D2135 /* PBXTextBookmark */; + 8C99F7ED1628351A002D2135 = 8C99F7ED1628351A002D2135 /* PBXTextBookmark */; + 8C99F7EE1628351A002D2135 = 8C99F7EE1628351A002D2135 /* PBXTextBookmark */; + 8C99F7F11628351A002D2135 = 8C99F7F11628351A002D2135 /* PBXTextBookmark */; + 8C99F7F21628351A002D2135 = 8C99F7F21628351A002D2135 /* PBXTextBookmark */; + 8C99F7F31628351A002D2135 = 8C99F7F31628351A002D2135 /* PBXTextBookmark */; + 8C99F7F41628351A002D2135 = 8C99F7F41628351A002D2135 /* PBXTextBookmark */; + 8C99F7F51628351A002D2135 = 8C99F7F51628351A002D2135 /* PBXTextBookmark */; + 8C99F7F61628351A002D2135 = 8C99F7F61628351A002D2135 /* PBXTextBookmark */; + 8C99F7F71628351A002D2135 = 8C99F7F71628351A002D2135 /* PBXTextBookmark */; + 8C99F80716283601002D2135 = 8C99F80716283601002D2135 /* PBXTextBookmark */; + 8C99F80816283601002D2135 = 8C99F80816283601002D2135 /* PBXTextBookmark */; + 8C99F80916283601002D2135 = 8C99F80916283601002D2135 /* PBXTextBookmark */; + 8C99F80A16283601002D2135 = 8C99F80A16283601002D2135 /* PBXTextBookmark */; + 8C99F80B16283601002D2135 = 8C99F80B16283601002D2135 /* PBXTextBookmark */; + 8C99F80C16283601002D2135 = 8C99F80C16283601002D2135 /* PBXTextBookmark */; + 8C99F80D16283601002D2135 = 8C99F80D16283601002D2135 /* PBXTextBookmark */; + 8C99F84F16283CE1002D2135 = 8C99F84F16283CE1002D2135 /* PBXTextBookmark */; + 8C99F85016283CE1002D2135 = 8C99F85016283CE1002D2135 /* PBXTextBookmark */; + 8C99F85116283CE1002D2135 = 8C99F85116283CE1002D2135 /* PBXTextBookmark */; + 8C99F85216283CE1002D2135 = 8C99F85216283CE1002D2135 /* PBXTextBookmark */; + 8C99F85316283CE1002D2135 = 8C99F85316283CE1002D2135 /* PBXTextBookmark */; + 8C99F85416283CE1002D2135 = 8C99F85416283CE1002D2135 /* PBXTextBookmark */; + 8C99F85516283CE1002D2135 = 8C99F85516283CE1002D2135 /* PBXTextBookmark */; + 8C99F87C1628406A002D2135 = 8C99F87C1628406A002D2135 /* PBXBookmark */; + 8C99F89616284444002D2135 = 8C99F89616284444002D2135 /* PBXTextBookmark */; + 8C99F89716284444002D2135 = 8C99F89716284444002D2135 /* PBXTextBookmark */; + 8C99F89816284444002D2135 = 8C99F89816284444002D2135 /* PBXTextBookmark */; + 8C99F89916284444002D2135 = 8C99F89916284444002D2135 /* PBXTextBookmark */; + 8C99F89A16284444002D2135 = 8C99F89A16284444002D2135 /* PBXTextBookmark */; + 8C99F89D16284444002D2135 = 8C99F89D16284444002D2135 /* PBXTextBookmark */; + 8C99F89E16284444002D2135 = 8C99F89E16284444002D2135 /* PBXTextBookmark */; + 8C99F8AB16284854002D2135 = 8C99F8AB16284854002D2135 /* PBXTextBookmark */; + 8C99F8AC16284854002D2135 = 8C99F8AC16284854002D2135 /* PBXTextBookmark */; + 8C99F8AD16284854002D2135 = 8C99F8AD16284854002D2135 /* PBXTextBookmark */; + 8C99F8AE16284854002D2135 = 8C99F8AE16284854002D2135 /* PBXTextBookmark */; + 8C99F8C716284A2D002D2135 = 8C99F8C716284A2D002D2135 /* PBXTextBookmark */; + 8C99F8C816284A2D002D2135 = 8C99F8C816284A2D002D2135 /* PBXTextBookmark */; + 8C99F8C916284A2D002D2135 = 8C99F8C916284A2D002D2135 /* PBXTextBookmark */; + 8C99F8CA16284A2D002D2135 = 8C99F8CA16284A2D002D2135 /* PBXTextBookmark */; + 8C99F8CB16284A2D002D2135 = 8C99F8CB16284A2D002D2135 /* PBXTextBookmark */; + 8C99F8D816284A7B002D2135 = 8C99F8D816284A7B002D2135 /* PBXTextBookmark */; + 8C99F8D916284A7B002D2135 = 8C99F8D916284A7B002D2135 /* PBXTextBookmark */; + 8C99F8DA16284A7B002D2135 = 8C99F8DA16284A7B002D2135 /* PBXTextBookmark */; + 8C99F8DB16284A7B002D2135 = 8C99F8DB16284A7B002D2135 /* PBXTextBookmark */; + 8C99F8EA16284AB5002D2135 = 8C99F8EA16284AB5002D2135 /* PBXTextBookmark */; + 8C99F8EB16284AB5002D2135 = 8C99F8EB16284AB5002D2135 /* PBXTextBookmark */; + 8C99F8EC16284AB5002D2135 = 8C99F8EC16284AB5002D2135 /* PBXTextBookmark */; + 8C99F8ED16284AB5002D2135 = 8C99F8ED16284AB5002D2135 /* PBXTextBookmark */; + 8C99F8FC16284ECF002D2135 = 8C99F8FC16284ECF002D2135 /* PBXTextBookmark */; + 8C99F8FD16284ECF002D2135 = 8C99F8FD16284ECF002D2135 /* PBXTextBookmark */; + 8C99F8FE16284ECF002D2135 = 8C99F8FE16284ECF002D2135 /* PBXTextBookmark */; + 8C99F8FF16284ECF002D2135 = 8C99F8FF16284ECF002D2135 /* PBXTextBookmark */; + 8C99F90016284ECF002D2135 = 8C99F90016284ECF002D2135 /* PBXTextBookmark */; + 8C99F90116284ECF002D2135 = 8C99F90116284ECF002D2135 /* PBXTextBookmark */; + 8C99F90216284ECF002D2135 = 8C99F90216284ECF002D2135 /* PBXTextBookmark */; + 8C99F90316284ECF002D2135 = 8C99F90316284ECF002D2135 /* PBXTextBookmark */; + 8C99F90D16284F81002D2135 = 8C99F90D16284F81002D2135 /* PBXTextBookmark */; + 8C99F90E16284F81002D2135 = 8C99F90E16284F81002D2135 /* PBXTextBookmark */; + 8C99F91016284F81002D2135 = 8C99F91016284F81002D2135 /* PBXTextBookmark */; + 8C99F91116284F81002D2135 = 8C99F91116284F81002D2135 /* PBXTextBookmark */; + }; + sourceControlManager = 8C37DD971615938A00016A95 /* Source Control */; + userBuildSettings = { + }; + }; + 8C37DD971615938A00016A95 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8C37DD981615938A00016A95 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8C37DD99161593BD00016A95 /* FinderHook.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1823, 854}}"; + sepNavSelRange = "{212, 0}"; + sepNavVisRange = "{0, 212}"; + }; + }; + 8C37DD9A161593BD00016A95 /* FinderHook.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1823, 2275}}"; + sepNavSelRange = "{2654, 15}"; + sepNavVisRange = "{2334, 1837}"; + sepNavWindowFrame = "{{38, 91}, {1882, 941}}"; + }; + }; + 8C37DD9B161593BD00016A95 /* logger.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {966, 455}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 468}"; + sepNavWindowFrame = "{{15, 112}, {1882, 941}}"; + }; + }; + 8C37DD9C161593BD00016A95 /* logger.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {966, 404}}"; + sepNavSelRange = "{178, 0}"; + sepNavVisRange = "{0, 178}"; + }; + }; + 8C95FEE7162C08FC003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 13"; + rLen = 0; + rLoc = 199; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C95FEEA162C08FC003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 101"; + rLen = 0; + rLoc = 3293; + rType = 0; + vrLen = 2201; + vrLoc = 2277; + }; + 8C95FEEB162C08FC003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 71"; + rLen = 0; + rLoc = 1312; + rType = 0; + vrLen = 1180; + vrLoc = 209; + }; + 8C95FEEC162C08FC003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 18"; + rLen = 0; + rLoc = 289; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C95FF03162C3429003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 13"; + rLen = 0; + rLoc = 199; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C95FF04162C3429003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 161"; + rLen = 0; + rLoc = 5458; + rType = 0; + vrLen = 2235; + vrLoc = 3315; + }; + 8C95FF05162C3429003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 71"; + rLen = 0; + rLoc = 1312; + rType = 0; + vrLen = 1180; + vrLoc = 209; + }; + 8C95FF06162C3429003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 16"; + rLen = 0; + rLoc = 257; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C95FF21162C3A8B003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 13"; + rLen = 0; + rLoc = 199; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C95FF22162C3A8B003BB463 /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "Incompatible type for argument 1 of 'drawInRect:fromRect:operation:fraction:'"; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 163; + rType = 1; + }; + 8C95FF23162C3A8B003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 162"; + rLen = 0; + rLoc = 5438; + rType = 0; + vrLen = 918; + vrLoc = 4615; + }; + 8C95FF24162C3A8B003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 162"; + rLen = 0; + rLoc = 5539; + rType = 0; + vrLen = 2216; + vrLoc = 3255; + }; + 8C95FF25162C3A8B003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 71"; + rLen = 0; + rLoc = 1312; + rType = 0; + vrLen = 1180; + vrLoc = 209; + }; + 8C95FF26162C3A8B003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 16"; + rLen = 0; + rLoc = 257; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C95FF4B162C3D26003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 163"; + rLen = 0; + rLoc = 5438; + rType = 0; + vrLen = 1100; + vrLoc = 4615; + }; + 8C95FF4C162C3D26003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 162"; + rLen = 0; + rLoc = 5347; + rType = 0; + vrLen = 2389; + vrLoc = 3255; + }; + 8C95FF4D162C3D26003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 71"; + rLen = 0; + rLoc = 1312; + rType = 0; + vrLen = 1180; + vrLoc = 209; + }; + 8C95FF4E162C3D26003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 16"; + rLen = 0; + rLoc = 257; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C95FF5A162C3ED2003BB463 /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "Invalid initializer"; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 137; + rType = 1; + }; + 8C95FF5B162C3ED2003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 130"; + rLen = 0; + rLoc = 4289; + rType = 0; + vrLen = 472; + vrLoc = 4042; + }; + 8C95FF6A162D5608003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 163"; + rLen = 0; + rLoc = 5438; + rType = 0; + vrLen = 1202; + vrLoc = 4119; + }; + 8C95FF6B162D5608003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 130"; + rLen = 0; + rLoc = 4297; + rType = 0; + vrLen = 2221; + vrLoc = 3493; + }; + 8C95FF6C162D5608003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 71"; + rLen = 0; + rLoc = 1312; + rType = 0; + vrLen = 1180; + vrLoc = 209; + }; + 8C95FF6D162D5608003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 16"; + rLen = 0; + rLoc = 257; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C95FF80162D59A0003BB463 /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "'FinderHook' may not respond to '-previewItemTitle'"; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 132; + rType = 1; + }; + 8C95FF81162D59A0003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 129"; + rLen = 0; + rLoc = 4242; + rType = 0; + vrLen = 1283; + vrLoc = 3691; + }; + 8C95FF82162D59A0003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 47"; + rLen = 703; + rLoc = 1521; + rType = 0; + vrLen = 1950; + vrLoc = 1305; + }; + 8C95FF83162D59A0003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 163"; + rLen = 0; + rLoc = 5539; + rType = 0; + vrLen = 2373; + vrLoc = 3279; + }; + 8C95FF86162D59A0003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD99161593BD00016A95 /* FinderHook.h */; + rLen = 0; + rLoc = 9223372036854775807; + rType = 0; + }; + 8C95FF87162D59A0003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD99161593BD00016A95 /* FinderHook.h */; + name = "FinderHook.h: 12"; + rLen = 0; + rLoc = 188; + rType = 0; + vrLen = 212; + vrLoc = 0; + }; + 8C95FF88162D59A0003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 16"; + rLen = 0; + rLoc = 257; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C95FF89162D59A0003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 71"; + rLen = 0; + rLoc = 1312; + rType = 0; + vrLen = 1180; + vrLoc = 209; + }; + 8C95FFAF162D771B003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 129"; + rLen = 0; + rLoc = 4242; + rType = 0; + vrLen = 1283; + vrLoc = 3691; + }; + 8C95FFB0162D771B003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 134"; + rLen = 0; + rLoc = 4428; + rType = 0; + vrLen = 991; + vrLoc = 3489; + }; + 8C95FFB1162D771B003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD99161593BD00016A95 /* FinderHook.h */; + name = "FinderHook.h: 17"; + rLen = 0; + rLoc = 212; + rType = 0; + vrLen = 212; + vrLoc = 0; + }; + 8C95FFB2162D771B003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 163"; + rLen = 0; + rLoc = 5539; + rType = 0; + vrLen = 2373; + vrLoc = 3279; + }; + 8C95FFB3162D771B003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 150"; + rLen = 0; + rLoc = 5140; + rType = 0; + vrLen = 2275; + vrLoc = 3275; + }; + 8C95FFB4162D771B003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 71"; + rLen = 0; + rLoc = 1312; + rType = 0; + vrLen = 1180; + vrLoc = 209; + }; + 8C95FFB5162D771B003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 16"; + rLen = 0; + rLoc = 257; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C95FFC0162D7A3D003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 138"; + rLen = 0; + rLoc = 4428; + rType = 0; + vrLen = 1182; + vrLoc = 2480; + }; + 8C95FFC1162D7A3D003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD99161593BD00016A95 /* FinderHook.h */; + name = "FinderHook.h: 17"; + rLen = 0; + rLoc = 212; + rType = 0; + vrLen = 212; + vrLoc = 0; + }; + 8C95FFC2162D7A3D003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + rLen = 0; + rLoc = 9223372036854775930; + rType = 0; + }; + 8C95FFC3162D7A3D003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 88"; + rLen = 0; + rLoc = 2528; + rType = 0; + vrLen = 2433; + vrLoc = 2334; + }; + 8C95FFC4162D7A3D003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 154"; + rLen = 0; + rLoc = 5140; + rType = 0; + vrLen = 2522; + vrLoc = 2482; + }; + 8C95FFC5162D7A3D003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 71"; + rLen = 0; + rLoc = 1312; + rType = 0; + vrLen = 1180; + vrLoc = 209; + }; + 8C95FFC6162D7A3D003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 16"; + rLen = 0; + rLoc = 257; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C95FFD516301448003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 138"; + rLen = 0; + rLoc = 4428; + rType = 0; + vrLen = 1128; + vrLoc = 2480; + }; + 8C95FFD616301448003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 89"; + rLen = 0; + rLoc = 2534; + rType = 0; + vrLen = 1132; + vrLoc = 2480; + }; + 8C95FFD716301448003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 154"; + rLen = 0; + rLoc = 5140; + rType = 0; + vrLen = 1725; + vrLoc = 2482; + }; + 8C95FFD816301448003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 91"; + rLen = 15; + rLoc = 2654; + rType = 0; + vrLen = 1837; + vrLoc = 2334; + }; + 8C95FFD916301448003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 71"; + rLen = 0; + rLoc = 1312; + rType = 0; + vrLen = 763; + vrLoc = 209; + }; + 8C95FFDA16301448003BB463 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 16"; + rLen = 0; + rLoc = 257; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F6921622D145002D2135 /* IconCache.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1823, 542}}"; + sepNavSelRange = "{257, 0}"; + sepNavVisRange = "{0, 359}"; + sepNavWindowFrame = "{{15, 112}, {1882, 941}}"; + }; + }; + 8C99F6931622D145002D2135 /* IconCache.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1823, 1040}}"; + sepNavSelRange = "{1312, 0}"; + sepNavVisRange = "{209, 763}"; + sepNavWindowFrame = "{{38, 91}, {1882, 941}}"; + }; + }; + 8C99F6D716241A83002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9C161593BD00016A95 /* logger.h */; + name = "logger.h: 10"; + rLen = 0; + rLoc = 178; + rType = 0; + vrLen = 178; + vrLoc = 0; + }; + 8C99F6D816241A83002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD99161593BD00016A95 /* FinderHook.h */; + name = "FinderHook.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 212; + vrLoc = 0; + }; + 8C99F6D916241A83002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 990; + vrLoc = 3; + }; + 8C99F6DA16241A83002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 12"; + rLen = 0; + rLoc = 255; + rType = 0; + vrLen = 207; + vrLoc = 0; + }; + 8C99F6DB16241A83002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + comments = "Expected ')' before '{' token"; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + rLen = 1; + rLoc = 21; + rType = 1; + }; + 8C99F6E11626C51C002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 18"; + rLen = 0; + rLoc = 312; + rType = 0; + vrLen = 565; + vrLoc = 0; + }; + 8C99F70916280074002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + comments = "Instance variable 'dictionary_' accessed in class method"; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + rLen = 1; + rLoc = 44; + rType = 1; + }; + 8C99F70A16280074002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 30"; + rLen = 0; + rLoc = 697; + rType = 0; + vrLen = 298; + vrLoc = 293; + }; + 8C99F73216280B63002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 30"; + rLen = 0; + rLoc = 651; + rType = 0; + vrLen = 256; + vrLoc = 184; + }; + 8C99F73316280B63002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + comments = "Expected specifier-qualifier-list before 'property'"; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + rLen = 1; + rLoc = 13; + rType = 1; + }; + 8C99F73416280B63002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 13"; + rLen = 0; + rLoc = 199; + rType = 0; + vrLen = 286; + vrLoc = 0; + }; + 8C99F75E16280FF3002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 17"; + rLen = 0; + rLoc = 290; + rType = 0; + vrLen = 251; + vrLoc = 76; + }; + 8C99F75F16280FF3002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + comments = "Passing argument 1 of 'removeObjectForKey:' makes pointer from integer without a cast"; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + rLen = 1; + rLoc = 44; + rType = 1; + }; + 8C99F76016280FF3002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 33"; + rLen = 0; + rLoc = 697; + rType = 0; + vrLen = 263; + vrLoc = 344; + }; + 8C99F79516282FF8002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + comments = "Stray '\\342' in program"; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + rLen = 0; + rLoc = 111; + rType = 1; + }; + 8C99F7AA16283292002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 41"; + rLen = 0; + rLoc = 1155; + rType = 0; + vrLen = 589; + vrLoc = 209; + }; + 8C99F7AB16283292002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 13"; + rLen = 0; + rLoc = 199; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F7AC16283292002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 13"; + rLen = 0; + rLoc = 199; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F7B116283292002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 27"; + rLen = 0; + rLoc = 785; + rType = 0; + vrLen = 1795; + vrLoc = 644; + }; + 8C99F7B416283292002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 34"; + rLen = 0; + rLoc = 785; + rType = 0; + vrLen = 891; + vrLoc = 0; + }; + 8C99F7B516283292002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 38"; + rLen = 0; + rLoc = 615; + rType = 0; + vrLen = 1122; + vrLoc = 0; + }; + 8C99F7B816283292002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 17"; + rLen = 0; + rLoc = 290; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F7B916283292002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 18"; + rLen = 0; + rLoc = 289; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F7BC16283292002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F7BD16283292002D2135 /* NSValue.h */; + rLen = 1; + rLoc = 35; + rType = 1; + }; + 8C99F7BD16283292002D2135 /* NSValue.h */ = { + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = NSValue.h; + path = /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSValue.h; + sourceTree = ""; + }; + 8C99F7BE16283292002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F7BF16283292002D2135 /* NSValue.h */; + name = "NSValue.h: 20"; + rLen = 0; + rLoc = 463; + rType = 0; + vrLen = 1777; + vrLoc = 566; + }; + 8C99F7BF16283292002D2135 /* NSValue.h */ = { + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = NSValue.h; + path = /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSValue.h; + sourceTree = ""; + }; + 8C99F7C4162832E3002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 13"; + rLen = 0; + rLoc = 199; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F7C5162832E3002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 27"; + rLen = 0; + rLoc = 785; + rType = 0; + vrLen = 1795; + vrLoc = 644; + }; + 8C99F7C6162832E3002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 38"; + rLen = 0; + rLoc = 615; + rType = 0; + vrLen = 1122; + vrLoc = 0; + }; + 8C99F7C7162832E3002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 18"; + rLen = 0; + rLoc = 289; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F7C8162832E3002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F7BD16283292002D2135 /* NSValue.h */; + name = "NSValue.h: 20"; + rLen = 0; + rLoc = 463; + rType = 0; + vrLen = 1777; + vrLoc = 566; + }; + 8C99F7C916283348002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 13"; + rLen = 0; + rLoc = 199; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F7CA16283348002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 55"; + rLen = 0; + rLoc = 1724; + rType = 0; + vrLen = 2171; + vrLoc = 1717; + }; + 8C99F7CB16283348002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 38"; + rLen = 0; + rLoc = 615; + rType = 0; + vrLen = 1122; + vrLoc = 0; + }; + 8C99F7CC16283348002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 18"; + rLen = 0; + rLoc = 289; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F7CD16283348002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F7BF16283292002D2135 /* NSValue.h */; + name = "NSValue.h: 20"; + rLen = 0; + rLoc = 463; + rType = 0; + vrLen = 1777; + vrLoc = 566; + }; + 8C99F7D316283395002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 13"; + rLen = 0; + rLoc = 199; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F7D416283395002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 38"; + rLen = 0; + rLoc = 615; + rType = 0; + vrLen = 1122; + vrLoc = 0; + }; + 8C99F7D516283395002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 52"; + rLen = 0; + rLoc = 816; + rType = 0; + vrLen = 1083; + vrLoc = 76; + }; + 8C99F7D616283395002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 34"; + rLen = 0; + rLoc = 1014; + rType = 0; + vrLen = 1923; + vrLoc = 410; + }; + 8C99F7D716283395002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 18"; + rLen = 0; + rLoc = 289; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F7D816283395002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F7BF16283292002D2135 /* NSValue.h */; + name = "NSValue.h: 20"; + rLen = 0; + rLoc = 463; + rType = 0; + vrLen = 1777; + vrLoc = 566; + }; + 8C99F7D9162833DB002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 13"; + rLen = 0; + rLoc = 199; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F7DA162833DB002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 51"; + rLen = 0; + rLoc = 789; + rType = 0; + vrLen = 1083; + vrLoc = 76; + }; + 8C99F7DB162833DB002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 34"; + rLen = 0; + rLoc = 1014; + rType = 0; + vrLen = 1923; + vrLoc = 410; + }; + 8C99F7DC162833DB002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 18"; + rLen = 0; + rLoc = 289; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F7DD162833DB002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F7BF16283292002D2135 /* NSValue.h */; + name = "NSValue.h: 20"; + rLen = 0; + rLoc = 463; + rType = 0; + vrLen = 1777; + vrLoc = 566; + }; + 8C99F7E91628351A002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD99161593BD00016A95 /* FinderHook.h */; + name = "FinderHook.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 212; + vrLoc = 0; + }; + 8C99F7EA1628351A002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 53"; + rLen = 0; + rLoc = 818; + rType = 0; + vrLen = 602; + vrLoc = 552; + }; + 8C99F7EB1628351A002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 13"; + rLen = 0; + rLoc = 199; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F7EC1628351A002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 27"; + rLen = 12; + rLoc = 749; + rType = 0; + vrLen = 971; + vrLoc = 44; + }; + 8C99F7ED1628351A002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9B161593BD00016A95 /* logger.c */; + name = "logger.c: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 468; + vrLoc = 0; + }; + 8C99F7EE1628351A002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9B161593BD00016A95 /* logger.c */; + name = "logger.c: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 468; + vrLoc = 0; + }; + 8C99F7F11628351A002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9B161593BD00016A95 /* logger.c */; + name = "logger.c: 32"; + rLen = 0; + rLoc = 503; + rType = 0; + vrLen = 528; + vrLoc = 0; + }; + 8C99F7F21628351A002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9B161593BD00016A95 /* logger.c */; + name = "logger.c: 32"; + rLen = 0; + rLoc = 503; + rType = 0; + vrLen = 528; + vrLoc = 0; + }; + 8C99F7F31628351A002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 34"; + rLen = 0; + rLoc = 1014; + rType = 0; + vrLen = 1923; + vrLoc = 410; + }; + 8C99F7F41628351A002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 116"; + rLen = 0; + rLoc = 4210; + rType = 0; + vrLen = 2170; + vrLoc = 2179; + }; + 8C99F7F51628351A002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 38"; + rLen = 0; + rLoc = 615; + rType = 0; + vrLen = 1083; + vrLoc = 76; + }; + 8C99F7F61628351A002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 18"; + rLen = 0; + rLoc = 289; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F7F71628351A002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F7BF16283292002D2135 /* NSValue.h */; + name = "NSValue.h: 20"; + rLen = 0; + rLoc = 463; + rType = 0; + vrLen = 1777; + vrLoc = 566; + }; + 8C99F80716283601002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9B161593BD00016A95 /* logger.c */; + name = "logger.c: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 468; + vrLoc = 0; + }; + 8C99F80816283601002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 116"; + rLen = 0; + rLoc = 4210; + rType = 0; + vrLen = 2170; + vrLoc = 2179; + }; + 8C99F80916283601002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 106"; + rLen = 0; + rLoc = 3894; + rType = 0; + vrLen = 2099; + vrLoc = 0; + }; + 8C99F80A16283601002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9B161593BD00016A95 /* logger.c */; + name = "logger.c: 36"; + rLen = 0; + rLoc = 528; + rType = 0; + vrLen = 528; + vrLoc = 0; + }; + 8C99F80B16283601002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 38"; + rLen = 0; + rLoc = 615; + rType = 0; + vrLen = 1083; + vrLoc = 76; + }; + 8C99F80C16283601002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 18"; + rLen = 0; + rLoc = 289; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F80D16283601002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F7BF16283292002D2135 /* NSValue.h */; + name = "NSValue.h: 20"; + rLen = 0; + rLoc = 463; + rType = 0; + vrLen = 1777; + vrLoc = 566; + }; + 8C99F84F16283CE1002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9B161593BD00016A95 /* logger.c */; + name = "logger.c: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 472; + vrLoc = 0; + }; + 8C99F85016283CE1002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 106"; + rLen = 0; + rLoc = 3894; + rType = 0; + vrLen = 2099; + vrLoc = 0; + }; + 8C99F85116283CE1002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 106"; + rLen = 0; + rLoc = 3894; + rType = 0; + vrLen = 2517; + vrLoc = 2432; + }; + 8C99F85216283CE1002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9B161593BD00016A95 /* logger.c */; + name = "logger.c: 36"; + rLen = 0; + rLoc = 528; + rType = 0; + vrLen = 534; + vrLoc = 0; + }; + 8C99F85316283CE1002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F7BF16283292002D2135 /* NSValue.h */; + name = "NSValue.h: 20"; + rLen = 0; + rLoc = 463; + rType = 0; + vrLen = 1777; + vrLoc = 566; + }; + 8C99F85416283CE1002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 38"; + rLen = 0; + rLoc = 615; + rType = 0; + vrLen = 1083; + vrLoc = 76; + }; + 8C99F85516283CE1002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 18"; + rLen = 0; + rLoc = 289; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F87C1628406A002D2135 /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + }; + 8C99F89616284444002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9B161593BD00016A95 /* logger.c */; + name = "logger.c: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 468; + vrLoc = 0; + }; + 8C99F89716284444002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 53"; + rLen = 0; + rLoc = 818; + rType = 0; + vrLen = 638; + vrLoc = 516; + }; + 8C99F89816284444002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 51"; + rLen = 0; + rLoc = 818; + rType = 0; + vrLen = 685; + vrLoc = 516; + }; + 8C99F89916284444002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 28"; + rLen = 0; + rLoc = 452; + rType = 0; + vrLen = 1083; + vrLoc = 76; + }; + 8C99F89A16284444002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 61"; + rLen = 0; + rLoc = 1056; + rType = 0; + vrLen = 1209; + vrLoc = 44; + }; + 8C99F89D16284444002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 24"; + rLen = 0; + rLoc = 672; + rType = 0; + vrLen = 2099; + vrLoc = 0; + }; + 8C99F89E16284444002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 18"; + rLen = 0; + rLoc = 289; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F8AB16284854002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 51"; + rLen = 0; + rLoc = 818; + rType = 0; + vrLen = 685; + vrLoc = 516; + }; + 8C99F8AC16284854002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 99"; + rLen = 0; + rLoc = 3293; + rType = 0; + vrLen = 2299; + vrLoc = 1954; + }; + 8C99F8AD16284854002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 61"; + rLen = 0; + rLoc = 1056; + rType = 0; + vrLen = 1209; + vrLoc = 44; + }; + 8C99F8AE16284854002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 18"; + rLen = 0; + rLoc = 289; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F8BD162849F3002D2135 /* FinderHook.m:112 */ = { + isa = PBXFileBreakpoint; + actions = ( + ); + breakpointStyle = 0; + continueAfterActions = 0; + countType = 0; + delayBeforeContinue = 0; + fileReference = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + functionName = "-HOOK_drawIconWithFrame:"; + hitCount = 0; + ignoreCount = 0; + lineNumber = 112; + location = LiferayFinderCore; + modificationTime = 371740467.865518; + originalNumberOfMultipleMatches = 1; + state = 0; + }; + 8C99F8C716284A2D002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 51"; + rLen = 0; + rLoc = 818; + rType = 0; + vrLen = 685; + vrLoc = 516; + }; + 8C99F8C816284A2D002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 101"; + rLen = 0; + rLoc = 3293; + rType = 0; + vrLen = 2592; + vrLoc = 2478; + }; + 8C99F8C916284A2D002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 107"; + rLen = 0; + rLoc = 3293; + rType = 0; + vrLen = 2484; + vrLoc = 2595; + }; + 8C99F8CA16284A2D002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 61"; + rLen = 0; + rLoc = 1056; + rType = 0; + vrLen = 1209; + vrLoc = 44; + }; + 8C99F8CB16284A2D002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 18"; + rLen = 0; + rLoc = 289; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F8D816284A7B002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 51"; + rLen = 0; + rLoc = 818; + rType = 0; + vrLen = 685; + vrLoc = 516; + }; + 8C99F8D916284A7B002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 109"; + rLen = 0; + rLoc = 3615; + rType = 0; + vrLen = 2394; + vrLoc = 2595; + }; + 8C99F8DA16284A7B002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 61"; + rLen = 0; + rLoc = 1056; + rType = 0; + vrLen = 1209; + vrLoc = 44; + }; + 8C99F8DB16284A7B002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 18"; + rLen = 0; + rLoc = 289; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F8EA16284AB5002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 51"; + rLen = 0; + rLoc = 818; + rType = 0; + vrLen = 685; + vrLoc = 516; + }; + 8C99F8EB16284AB5002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 106"; + rLen = 0; + rLoc = 3293; + rType = 0; + vrLen = 2394; + vrLoc = 2595; + }; + 8C99F8EC16284AB5002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 61"; + rLen = 0; + rLoc = 1056; + rType = 0; + vrLen = 1209; + vrLoc = 44; + }; + 8C99F8ED16284AB5002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 18"; + rLen = 0; + rLoc = 289; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F8FC16284ECF002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 51"; + rLen = 0; + rLoc = 818; + rType = 0; + vrLen = 685; + vrLoc = 516; + }; + 8C99F8FD16284ECF002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 13"; + rLen = 0; + rLoc = 199; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F8FE16284ECF002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 13"; + rLen = 0; + rLoc = 199; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F8FF16284ECF002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 106"; + rLen = 0; + rLoc = 3293; + rType = 0; + vrLen = 1840; + vrLoc = 1390; + }; + 8C99F90016284ECF002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 109"; + rLen = 0; + rLoc = 3615; + rType = 0; + vrLen = 2148; + vrLoc = 2303; + }; + 8C99F90116284ECF002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 61"; + rLen = 0; + rLoc = 1056; + rType = 0; + vrLen = 1209; + vrLoc = 44; + }; + 8C99F90216284ECF002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 71"; + rLen = 0; + rLoc = 1312; + rType = 0; + vrLen = 1180; + vrLoc = 209; + }; + 8C99F90316284ECF002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6921622D145002D2135 /* IconCache.h */; + name = "IconCache.h: 18"; + rLen = 0; + rLoc = 289; + rType = 0; + vrLen = 359; + vrLoc = 0; + }; + 8C99F90D16284F81002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F6931622D145002D2135 /* IconCache.m */; + name = "IconCache.m: 55"; + rLen = 0; + rLoc = 1155; + rType = 0; + vrLen = 235; + vrLoc = 251; + }; + 8C99F90E16284F81002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C99F90F16284F81002D2135 /* Finder.h */; + name = "Finder.h: 796"; + rLen = 0; + rLoc = 25014; + rType = 0; + vrLen = 426; + vrLoc = 24765; + }; + 8C99F90F16284F81002D2135 /* Finder.h */ = { + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = Finder.h; + path = /Users/svp/Liferay/trunk/LiferayFinderCore/Finder/Finder.h; + sourceTree = ""; + }; + 8C99F91016284F81002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + comments = "'IconCache' may not respond to '-registerIcon:'"; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + rLen = 1; + rLoc = 26; + rType = 1; + }; + 8C99F91116284F81002D2135 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8C37DD9A161593BD00016A95 /* FinderHook.m */; + name = "FinderHook.m: 27"; + rLen = 0; + rLoc = 720; + rType = 0; + vrLen = 398; + vrLoc = 525; + }; + 8D57630D048677EA00EA77CD /* LiferayFinderCore */ = { + activeExec = 0; + }; +} diff --git a/shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/xcuserdata/mackie.xcuserdatad/xcschemes/xcschememanagement.plist b/shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/xcuserdata/mackie.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..2f490c995 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/LiferayNativityFinder.xcodeproj/xcuserdata/mackie.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SuppressBuildableAutocreation + + 8D57630D048677EA00EA77CD + + primary + + + + + diff --git a/shell_integration/MacOSX/LiferayNativityFinder/MenuManager.h b/shell_integration/MacOSX/LiferayNativityFinder/MenuManager.h new file mode 100644 index 000000000..a89fd117d --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/MenuManager.h @@ -0,0 +1,29 @@ +/** + * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#import + +@class TContextMenu; +struct TFENodeVector; + +@interface MenuManager : NSObject + +@property (nonatomic, strong) NSMutableArray* menuItems; + ++ (MenuManager*)sharedInstance; + +- (void)addItemsToMenu:(TContextMenu*)menu forFiles:(NSArray*)files; +- (NSArray*)pathsForNodes:(const struct TFENodeVector*)nodes; + +@end \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityFinder/MenuManager.m b/shell_integration/MacOSX/LiferayNativityFinder/MenuManager.m new file mode 100644 index 000000000..8cc5ba02e --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/MenuManager.m @@ -0,0 +1,184 @@ +/** + * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#import "MenuManager.h" +#import "Finder/Finder.h" +#import "RequestManager.h" + +@implementation MenuManager + +static MenuManager* sharedInstance = nil; + ++ (MenuManager*)sharedInstance +{ + @synchronized(self) + { + if (sharedInstance == nil) + { + sharedInstance = [[self alloc] init]; + } + } + return sharedInstance; +} + +- init +{ + return [super init]; +} + +- (void)addChildrenSubMenuItems:(NSMenuItem*)parentMenuItem withChildren:(NSArray*)menuItemsDictionaries forFiles:(NSArray*)files +{ + NSMenu* menu = [[NSMenu alloc] init]; + + for (int i = 0; i < [menuItemsDictionaries count]; ++i) + { + NSDictionary* menuItemDictionary = [menuItemsDictionaries objectAtIndex:i]; + + NSString* submenuTitle = [menuItemDictionary objectForKey:@"title"]; + BOOL enabled = [[menuItemDictionary objectForKey:@"enabled"] boolValue]; + NSString* uuid = [menuItemDictionary objectForKey:@"uuid"]; + NSArray* childrenSubMenuItems = (NSArray*)[menuItemDictionary objectForKey:@"contextMenuItems"]; + + if ([submenuTitle isEqualToString:@"_SEPARATOR_"]) + { + [menu addItem:[NSMenuItem separatorItem]]; + } + else if (childrenSubMenuItems != nil && [childrenSubMenuItems count] != 0) + { + NSMenuItem* submenuItem = [menu addItemWithTitle:submenuTitle action:nil keyEquivalent:@""]; + + [self addChildrenSubMenuItems:submenuItem withChildren:childrenSubMenuItems forFiles:files]; + } + else + { + [self createActionMenuItemIn:menu withTitle:submenuTitle withIndex:i enabled:enabled withUuid:uuid forFiles:files]; + } + } + + [parentMenuItem setSubmenu:menu]; + + [menu release]; +} + +- (void)addItemsToMenu:(TContextMenu*)menu forFiles:(NSArray*)files +{ + NSArray* menuItemsArray = [[RequestManager sharedInstance] menuItemsForFiles:files]; + + if (menuItemsArray == nil) + { + return; + } + + if ([menuItemsArray count] == 0) + { + return; + } + + NSInteger menuIndex = 4; + + BOOL hasSeparatorBefore = [[menu itemAtIndex:menuIndex - 1] isSeparatorItem]; + + if (!hasSeparatorBefore) + { + [menu insertItem:[NSMenuItem separatorItem] atIndex:menuIndex]; + } + + for (int i = 0; i < [menuItemsArray count]; ++i) + { + NSDictionary* menuItemDictionary = [menuItemsArray objectAtIndex:i]; + + NSString* mainMenuTitle = [menuItemDictionary objectForKey:@"title"]; + + if ([mainMenuTitle isEqualToString:@""]) + { + continue; + } + + menuIndex++; + + BOOL enabled = [[menuItemDictionary objectForKey:@"enabled"] boolValue]; + NSString* uuid = [menuItemDictionary objectForKey:@"uuid"]; + NSArray* childrenSubMenuItems = (NSArray*)[menuItemDictionary objectForKey:@"contextMenuItems"]; + + if (childrenSubMenuItems != nil && [childrenSubMenuItems count] != 0) + { + NSMenuItem* mainMenuItem = [menu insertItemWithTitle:mainMenuTitle action:nil keyEquivalent:@"" atIndex:menuIndex]; + + [self addChildrenSubMenuItems:mainMenuItem withChildren:childrenSubMenuItems forFiles:files]; + } + else + { + [self createActionMenuItemIn:menu withTitle:mainMenuTitle withIndex:menuIndex enabled:enabled withUuid:uuid forFiles:files]; + } + } + + BOOL hasSeparatorAfter = [[menu itemAtIndex:menuIndex + 1] isSeparatorItem]; + + if (!hasSeparatorAfter) + { + [menu insertItem:[NSMenuItem separatorItem] atIndex:menuIndex + 1]; + } +} + +- (void)createActionMenuItemIn:(NSMenu*)menu withTitle:(NSString*)title withIndex:(NSInteger*)index enabled:(BOOL)enabled withUuid:(NSString*)uuid forFiles:(NSArray*)files +{ + NSMenuItem* mainMenuItem = [menu insertItemWithTitle:title action:@selector(menuItemClicked:) keyEquivalent:@"" atIndex:index]; + + if (enabled) + { + [mainMenuItem setTarget:self]; + } + + NSDictionary* menuActionDictionary = [[NSMutableDictionary alloc] init]; + [menuActionDictionary setValue:uuid forKey:@"uuid"]; + NSMutableArray* filesArray = [files copy]; + [menuActionDictionary setValue:filesArray forKey:@"files"]; + + [mainMenuItem setRepresentedObject:menuActionDictionary]; + + [filesArray release]; + [menuActionDictionary release]; +} + +- (void)menuItemClicked:(id)param +{ + [[RequestManager sharedInstance] menuItemClicked:[param representedObject]]; +} + +- (NSArray*)pathsForNodes:(const struct TFENodeVector*)nodes +{ + struct TFENode* start = nodes->_M_impl._M_start; + struct TFENode* end = nodes->_M_impl._M_finish; + + int count = end - start; + + NSMutableArray* selectedItems = [[NSMutableArray alloc] initWithCapacity:count]; + struct TFENode* current; + + for (current = start; current < end; ++current) + { + FINode* node = (FINode*)[NSClassFromString(@"FINode") nodeFromNodeRef:current->fNodeRef]; + + NSString* path = [[node previewItemURL] path]; + + if (path) + { + [selectedItems addObject:path]; + } + } + + return [selectedItems autorelease]; +} + +@end \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h new file mode 100644 index 000000000..6db388b0f --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h @@ -0,0 +1,48 @@ +/** + * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#import +#import "GCDAsyncSocket.h" +#import "RequestManager.h" + +@interface RequestManager : NSObject +{ + dispatch_queue_t _listenQueue; + dispatch_queue_t _callbackQueue; + + GCDAsyncSocket* _socket; + + NSMutableArray* _connectedListenSockets; + NSMutableArray* _connectedCallbackSockets; + NSMutableDictionary* _callbackMsgs; + + NSMutableArray* _requestQueue; + + NSString* _filterFolder; + + BOOL _isRunning; + BOOL _isConnected; +} + +@property (nonatomic, retain) NSString* filterFolder; + ++ (RequestManager*)sharedInstance; + +- (void)askOnSocket:(NSString*)path; +- (void)askForIcon:(NSString*)path; +- (void)menuItemClicked:(NSDictionary*)actionDictionary; +- (NSArray*)menuItemsForFiles:(NSArray*)files; +- (void)start; + +@end \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m new file mode 100644 index 000000000..e99ecb5a6 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m @@ -0,0 +1,170 @@ +/** + * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 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 Lesser General Public License for more + * details. + */ + +#import "ContentManager.h" +#import "IconCache.h" +#import "JSONKit.h" +#import "RequestManager.h" + +#define READ_TAG 2422 + +static RequestManager* sharedInstance = nil; + +@implementation RequestManager + +- (id)init +{ + if ((self = [super init])) + { + _socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()]; + + _filterFolder = nil; + + _isRunning = NO; + _isConnected = NO; + + [self start]; + } + + return self; +} + +- (void)dealloc +{ + [_socket setDelegate:nil delegateQueue:NULL]; + [_socket disconnect]; + [_socket release]; + + // dispatch_release(_listenQueue); + + // [_callbackMsgs release]; + + // [_filterFolder release]; + + sharedInstance = nil; + + [super dealloc]; +} + ++ (RequestManager*)sharedInstance +{ + @synchronized(self) + { + if (sharedInstance == nil) + { + sharedInstance = [[self alloc] init]; + } + } + + return sharedInstance; +} + + +- (void)askOnSocket:(NSString*)path +{ + NSLog(@"XX on Socket for %@", path); + NSData* data = [[NSString stringWithFormat:@"RETRIEVE_FILE_STATUS:%@\n", path] dataUsingEncoding:NSUTF8StringEncoding]; + [_socket writeData:data withTimeout:5 tag:4711]; + + NSData* stop = [@"\n" dataUsingEncoding:NSUTF8StringEncoding]; + [_socket readDataToData:stop withTimeout:-1 tag:READ_TAG]; +} + + +- (void)askForIcon:(NSString*)path +{ + if( _isConnected ) { + [self askOnSocket:path]; + } else { + [_requestQueue addObject:path]; + } +} + + +- (void)socket:(GCDAsyncSocket*)socket didConnectToHost:(NSString*)host port:(UInt16)port +{ + // [socket readDataToData:[GCDAsyncSocket CRLFData] withTimeout:-1 tag:0]; + + NSLog( @"Connected to host successfully!"); + _isConnected = YES; + + if( [_requestQueue count] > 0 ) { + NSLog( @"We have to empty the queue"); + for( NSString *path in _requestQueue ) { + [self askOnSocket:path]; + } + } +} + + +- (void)socket:(GCDAsyncSocket*)socket didReadData:(NSData*)data withTag:(long)tag +{ + + if( tag == READ_TAG) { + NSString* a1 = [NSString stringWithUTF8String:[data bytes]]; + + NSString *answer = [a1 stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]]; + NSLog(@"READ from socket (%ld): AA%@OO", tag, answer); + + if( answer != nil ) { + NSArray *chunks = [answer componentsSeparatedByString: @":"]; + // FIXME: Check if chunks[0] equals "STATUS" + if( [chunks count] > 0 && [[chunks objectAtIndex:0] isEqualToString:@"STATUS"] ) { + ContentManager *contentman = [ContentManager sharedInstance]; + [contentman setResultForPath:[chunks objectAtIndex:2] result:[chunks objectAtIndex:1]]; + } + } + } +} + +- (NSTimeInterval)socket:(GCDAsyncSocket*)socket shouldTimeoutReadWithTag:(long)tag elapsed:(NSTimeInterval)elapsed bytesDone:(NSUInteger)length +{ + // Called if a read operation has reached its timeout without completing. + return 0.0; +} + +- (void)socketDidDisconnect:(GCDAsyncSocket*)socket withError:(NSError*)err +{ + if ([_connectedListenSockets containsObject:socket]) + { + [_connectedListenSockets removeObject:socket]; + + [[ContentManager sharedInstance] enableFileIcons:false]; + } + + if ([_connectedCallbackSockets containsObject:socket]) + { + [_connectedCallbackSockets removeObject:socket]; + } +} + + +- (void)start +{ + if (!_isRunning) + { + NSLog(@"Connect Socket!"); + NSError *err = nil; + if (![_socket connectToHost:@"localhost" onPort:33001 error:&err]) // Asynchronous! + { + // If there was an error, it's likely something like "already connected" or "no delegate set" + NSLog(@"I goofed: %@", err); + } + NSLog(@"Socket Connected!"); + + _isRunning = YES; + } +} + +@end diff --git a/shell_integration/MacOSX/LiferayNativityInjector/English.lproj/InfoPlist.strings b/shell_integration/MacOSX/LiferayNativityInjector/English.lproj/InfoPlist.strings new file mode 100644 index 000000000..88f65cf6e --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityInjector/English.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/shell_integration/MacOSX/LiferayNativityInjector/Info.plist b/shell_integration/MacOSX/LiferayNativityInjector/Info.plist new file mode 100644 index 000000000..bb17f059c --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityInjector/Info.plist @@ -0,0 +1,59 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + com.liferay.nativity + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + LiferayNativityInjector + CFBundlePackageType + osax + CFBundleShortVersionString + 1.0.2 + CFBundleSignature + NVTY + CFBundleVersion + 1.0.2 + OSAScriptingDefinition + LiferayNativityInjector.sdef + OSAXHandlers + + Events + + NVTYload + + Handler + HandleLoadEvent + ThreadSafe + + Context + Process + + NVTYunld + + Handler + HandleUnloadEvent + ThreadSafe + + Context + Process + + NVTYlded + + Handler + HandleLoadedEvent + ThreadSafe + + Context + Process + + + + + diff --git a/shell_integration/MacOSX/LiferayNativityInjector/LNStandardVersionComparator.h b/shell_integration/MacOSX/LiferayNativityInjector/LNStandardVersionComparator.h new file mode 100644 index 000000000..224b81efd --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityInjector/LNStandardVersionComparator.h @@ -0,0 +1,35 @@ +// +// LNStandardVersionComparator.h +// Sparkle +// +// Created by Andy Matuschak on 12/21/07. +// Copyright 2007 Andy Matuschak. All rights reserved. +// + +#ifndef LNSTANDARDVERSIONCOMPARATOR_H +#define LNSTANDARDVERSIONCOMPARATOR_H + +#import "LNVersionComparisonProtocol.h" + +/*! + @class + @abstract Sparkle's default version comparator. + @discussion This comparator is adapted from MacPAD, by Kevin Ballard. It's "dumb" in that it does essentially string comparison, in components split by character type. + */ +@interface LNStandardVersionComparator : NSObject { } + +/*! + @method + @abstract Returns a singleton instance of the comparator. + */ ++(LNStandardVersionComparator*)defaultComparator; + +/*! + @method + @abstract Compares version strings through textual analysis. + @discussion See the implementation for more details. + */ +-(NSComparisonResult)compareVersion:(NSString*)versionA toVersion:(NSString*)versionB; +@end + +#endif diff --git a/shell_integration/MacOSX/LiferayNativityInjector/LNStandardVersionComparator.m b/shell_integration/MacOSX/LiferayNativityInjector/LNStandardVersionComparator.m new file mode 100644 index 000000000..5d7e8d882 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityInjector/LNStandardVersionComparator.m @@ -0,0 +1,158 @@ +// +// LNStandardVersionComparator.m +// Sparkle +// +// Created by Andy Matuschak on 12/21/07. +// Copyright 2007 Andy Matuschak. All rights reserved. +// + +#import +#import "LNStandardVersionComparator.h" + +@implementation LNStandardVersionComparator + ++(LNStandardVersionComparator*) defaultComparator { + static LNStandardVersionComparator* defaultComparator = nil; + + if (defaultComparator == nil) defaultComparator = [[LNStandardVersionComparator alloc] init]; + return defaultComparator; +} + +typedef enum { + kNumberType, + kStringType, + kPeriodType +} SUCharacterType; + +-(SUCharacterType) typeOfCharacter:(NSString*)character { + if ([character isEqualToString:@"."]) { + return kPeriodType; + } else if ([[NSCharacterSet decimalDigitCharacterSet] characterIsMember:[character characterAtIndex:0]]) { + return kNumberType; + } else { + return kStringType; + } +} + +-(NSArray*) splitVersionString:(NSString*)version { + NSString* character; + NSMutableString* s; + NSUInteger i, n; + SUCharacterType oldType, newType; + NSMutableArray* parts = [NSMutableArray array]; + + if ([version length] == 0) { + // Nothing to do here + return parts; + } + s = [[[version substringToIndex:1] mutableCopy] autorelease]; + oldType = [self typeOfCharacter:s]; + n = [version length] - 1; + for (i = 1; i <= n; ++i) { + character = [version substringWithRange:NSMakeRange(i, 1)]; + newType = [self typeOfCharacter:character]; + if ((oldType != newType) || (oldType == kPeriodType)) { + // We've reached a new segment + NSString* aPart = [[[NSString alloc] initWithString:s] autorelease]; + [parts addObject:aPart]; + [s setString:character]; + } else { + // Add character to string and continue + [s appendString:character]; + } + oldType = newType; + } + + // Add the last part onto the array + [parts addObject:[NSString stringWithString:s]]; + return parts; +} + +-(NSComparisonResult) compareVersion:(NSString*)versionA toVersion:(NSString*)versionB; +{ + NSArray* partsA = [self splitVersionString:versionA]; + NSArray* partsB = [self splitVersionString:versionB]; + + NSString* partA, * partB; + NSUInteger i, n; + int intA, intB; + SUCharacterType typeA, typeB; + + n = MIN([partsA count], [partsB count]); + for (i = 0; i < n; ++i) { + partA = [partsA objectAtIndex:i]; + partB = [partsB objectAtIndex:i]; + + typeA = [self typeOfCharacter:partA]; + typeB = [self typeOfCharacter:partB]; + + // Compare types + if (typeA == typeB) { + // Same type; we can compare + if (typeA == kNumberType) { + intA = [partA intValue]; + intB = [partB intValue]; + if (intA > intB) { + return NSOrderedDescending; + } else if (intA < intB) { + return NSOrderedAscending; + } + } else if (typeA == kStringType) { + NSComparisonResult result = [partA compare:partB]; + if (result != NSOrderedSame) { + return result; + } + } + } else { + // Not the same type? Now we have to do some validity checking + if ((typeA != kStringType) && (typeB == kStringType)) { + // typeA wins + return NSOrderedDescending; + } else if ((typeA == kStringType) && (typeB != kStringType)) { + // typeB wins + return NSOrderedAscending; + } else { + // One is a number and the other is a period. The period is invalid + if (typeA == kNumberType) { + return NSOrderedDescending; + } else { + return NSOrderedAscending; + } + } + } + } + // The versions are equal up to the point where they both still have parts + // Lets check to see if one is larger than the other + if ([partsA count] != [partsB count]) { + // Yep. Lets get the next part of the larger + // n holds the index of the part we want. + NSString* missingPart; + SUCharacterType missingType; + NSComparisonResult shorterResult, largerResult; + + if ([partsA count] > [partsB count]) { + missingPart = [partsA objectAtIndex:n]; + shorterResult = NSOrderedAscending; + largerResult = NSOrderedDescending; + } else { + missingPart = [partsB objectAtIndex:n]; + shorterResult = NSOrderedDescending; + largerResult = NSOrderedAscending; + } + + missingType = [self typeOfCharacter:missingPart]; + // Check the type + if (missingType == kStringType) { + // It's a string. Shorter version wins + return shorterResult; + } else { + // It's a number/period. Larger version wins + return largerResult; + } + } + + // The 2 strings are identical + return NSOrderedSame; +} + +@end diff --git a/shell_integration/MacOSX/LiferayNativityInjector/LNVersionComparisonProtocol.h b/shell_integration/MacOSX/LiferayNativityInjector/LNVersionComparisonProtocol.h new file mode 100644 index 000000000..82686ee60 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityInjector/LNVersionComparisonProtocol.h @@ -0,0 +1,27 @@ +// +// LNVersionComparisonProtocol.h +// Sparkle +// +// Created by Andy Matuschak on 12/21/07. +// Copyright 2007 Andy Matuschak. All rights reserved. +// + +#ifndef LNVERSIONCOMPARISONPROTOCOL_H +#define LNVERSIONCOMPARISONPROTOCOL_H + +/*! + @protocol + @abstract Implement this protocol to provide version comparison facilities for Sparkle. + */ +@protocol LNVersionComparison + +/*! + @method + @abstract An abstract method to compare two version strings. + @discussion Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, and NSOrderedSame if they are equivalent. + */ +-(NSComparisonResult)compareVersion:(NSString*)versionA toVersion:(NSString*)versionB; + +@end + +#endif diff --git a/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.m b/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.m new file mode 100644 index 000000000..8e89a0d8d --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.m @@ -0,0 +1,270 @@ +#import + +#import "LNStandardVersionComparator.h" + +#define EXPORT __attribute__((visibility("default"))) + +#define WAIT_FOR_APPLE_EVENT_TO_ENTER_HANDLER_IN_SECONDS 1.0 +#define FINDER_MIN_TESTED_VERSION @"10.7" +#define FINDER_MAX_TESTED_VERSION @"10.8.5" +#define LIFERAYNATIVITY_INJECTED_NOTIFICATION @"LiferayNativityInjectedNotification" + +EXPORT OSErr HandleLoadEvent(const AppleEvent* ev, AppleEvent* reply, long refcon); + +static NSString* globalLock = @"I'm the global lock to prevent concruent handler executions"; + +// SIMBL-compatible interface +@interface LiferayNativityShell : NSObject { } +-(void) install; +-(void) uninstall; +@end + +// just a dummy class for locating our bundle +@interface LiferayNativityInjector : NSObject { } +@end + +@implementation LiferayNativityInjector { } +@end + +static bool liferayNativityLoaded = false; +static NSString* liferayNativityBundleName = @"LiferayNativityFinder"; + +typedef struct { + NSString* location; +} configuration; + +static OSErr AEPutParamString(AppleEvent* event, AEKeyword keyword, NSString* string) { + UInt8* textBuf; + CFIndex length, maxBytes, actualBytes; + + length = CFStringGetLength((CFStringRef)string); + maxBytes = CFStringGetMaximumSizeForEncoding(length, kCFStringEncodingUTF8); + textBuf = malloc(maxBytes); + if (textBuf) { + CFStringGetBytes((CFStringRef)string, CFRangeMake(0, length), kCFStringEncodingUTF8, 0, true, (UInt8*)textBuf, maxBytes, &actualBytes); + OSErr err = AEPutParamPtr(event, keyword, typeUTF8Text, textBuf, actualBytes); + free(textBuf); + return err; + } else { + return memFullErr; + } +} + +static void reportError(AppleEvent* reply, NSString* msg) { + NSLog(@"LiferayNativityInjector: %@", msg); + AEPutParamString(reply, keyErrorString, msg); +} + +typedef enum { + InvalidBundleType, + LiferayNativityBundleType, +} LNBundleType; + +static OSErr loadBundle(LNBundleType type, AppleEvent* reply, long refcon) { + bool isLoaded = false; + NSString* bundleName = nil; + NSString* targetAppName = nil; + NSString* versionCheckKey = nil; + NSString* maxVersion = nil; + NSString* minVersion = nil; + + switch (type) { + case LiferayNativityBundleType: + isLoaded = liferayNativityLoaded; + bundleName = liferayNativityBundleName; + targetAppName = @"Finder"; + versionCheckKey = @"LiferayNativityFinderVersionCheck"; + maxVersion = FINDER_MAX_TESTED_VERSION; + minVersion = FINDER_MIN_TESTED_VERSION; + break; + default: + NSLog(@"Failed to load bundle for type %d", type); + return 8; + + break; + } + + if (isLoaded) { + NSLog(@"LiferayNativityInjector: %@ already loaded.", bundleName); + return noErr; + } + + @try { + NSBundle* mainBundle = [NSBundle mainBundle]; + if (!mainBundle) { + reportError(reply, [NSString stringWithFormat:@"Unable to locate main %@ bundle!", targetAppName]); + return 4; + } + + NSString* mainVersion = [mainBundle objectForInfoDictionaryKey:@"CFBundleVersion"]; + if (!mainVersion || ![mainVersion isKindOfClass:[NSString class]]) { + reportError(reply, [NSString stringWithFormat:@"Unable to determine %@ version!", targetAppName]); + return 5; + } + + // future compatibility check + if (type == LiferayNativityBundleType) { + // in Dock we cannot use NSAlert and similar UI stuff - this would hang the Dock process and cause 100% CPU load + NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; + if ([defaults boolForKey:versionCheckKey]) { + LNStandardVersionComparator* comparator = [LNStandardVersionComparator defaultComparator]; + if (([comparator compareVersion:mainVersion toVersion:maxVersion] == NSOrderedDescending) || + ([comparator compareVersion:mainVersion toVersion:minVersion] == NSOrderedAscending)) { + NSAlert* alert = [NSAlert new]; + [alert setMessageText:[NSString stringWithFormat:@"You have %@ version %@", targetAppName, mainVersion]]; + [alert setInformativeText:[NSString stringWithFormat:@"But %@ was properly tested only with %@ versions in range %@ - %@\n\nYou have probably updated your system and %@ version got bumped by Apple developers.\n\nYou may expect a new LiferayNativity release soon.", bundleName, targetAppName, targetAppName, minVersion, maxVersion]]; + [alert setShowsSuppressionButton:YES]; + [alert addButtonWithTitle:@"Launch LiferayNativity anyway"]; + [alert addButtonWithTitle:@"Cancel"]; + NSInteger res = [alert runModal]; + if ([[alert suppressionButton] state] == NSOnState) { + [defaults setBool:NO forKey:versionCheckKey]; + } + if (res != NSAlertFirstButtonReturn) { + // cancel + return noErr; + } + } + } + } + + NSBundle* liferayNativityInjectorBundle = [NSBundle bundleForClass:[LiferayNativityInjector class]]; + NSString* liferayNativityLocation = [liferayNativityInjectorBundle pathForResource:bundleName ofType:@"bundle"]; + NSBundle* pluginBundle = [NSBundle bundleWithPath:liferayNativityLocation]; + if (!pluginBundle) { + reportError(reply, [NSString stringWithFormat:@"Unable to create bundle from path: %@ [%@]", liferayNativityLocation, liferayNativityInjectorBundle]); + return 2; + } + + NSError* error; + if (![pluginBundle loadAndReturnError:&error]) { + reportError(reply, [NSString stringWithFormat:@"Unable to load bundle from path: %@ error: %@", liferayNativityLocation, [error localizedDescription]]); + return 6; + } + + Class principalClass = [pluginBundle principalClass]; + if (!principalClass) { + reportError(reply, [NSString stringWithFormat:@"Unable to retrieve principalClass for bundle: %@", pluginBundle]); + return 3; + } + id principalClassObject = NSClassFromString(NSStringFromClass(principalClass)); + if ([principalClassObject respondsToSelector:@selector(install)]) { + NSLog(@"LiferayNativityInjector: Installing %@ ...", bundleName); + [principalClassObject install]; + } + + return noErr; + } @catch (NSException* exception) { + reportError(reply, [NSString stringWithFormat:@"Failed to load %@ with exception: %@", bundleName, exception]); + } + + return 1; +} + +static LNBundleType mainBundleType(AppleEvent* reply) { + @try { + NSBundle* mainBundle = [NSBundle mainBundle]; + if (!mainBundle) { + reportError(reply, [NSString stringWithFormat:@"Unable to locate main bundle!"]); + return InvalidBundleType; + } + + if ([[mainBundle bundleIdentifier] isEqualToString:@"com.apple.finder"]) { + return LiferayNativityBundleType; + } + } @catch (NSException* exception) { + reportError(reply, [NSString stringWithFormat:@"Failed to load main bundle with exception: %@", exception]); + } + + return InvalidBundleType; +} + +EXPORT OSErr HandleLoadEvent(const AppleEvent* ev, AppleEvent* reply, long refcon) { + @synchronized(globalLock) { + @autoreleasepool { + NSBundle* injectorBundle = [NSBundle bundleForClass:[LiferayNativityInjector class]]; + NSString* injectorVersion = [injectorBundle objectForInfoDictionaryKey:@"CFBundleVersion"]; + + if (!injectorVersion || ![injectorVersion isKindOfClass:[NSString class]]) { + reportError(reply, [NSString stringWithFormat:@"Unable to determine LiferayNativityInjector version!"]); + return 7; + } + + @try { + OSErr err = loadBundle(mainBundleType(reply), reply, refcon); + + if (err != noErr) + { + return err; + } + + pid_t pid = [[NSProcessInfo processInfo] processIdentifier]; + + [[NSDistributedNotificationCenter defaultCenter]postNotificationName:LIFERAYNATIVITY_INJECTED_NOTIFICATION object:[[NSBundle mainBundle]bundleIdentifier] userInfo:@{@"pid": @(pid)}]; + + liferayNativityLoaded = true; + + return noErr; + } @catch (NSException* exception) { + reportError(reply, [NSString stringWithFormat:@"Failed to load LiferayNativity with exception: %@", exception]); + } + + return 1; + } + } +} + +EXPORT OSErr HandleLoadedEvent(const AppleEvent* ev, AppleEvent* reply, long refcon) { + @synchronized(globalLock) { + @autoreleasepool { + LNBundleType type = mainBundleType(reply); + if ((type == LiferayNativityBundleType) && liferayNativityLoaded) { + return noErr; + } + reportError(reply, @"LiferayNativity not loaded"); + return 1; + } + } +} + +EXPORT OSErr HandleUnloadEvent(const AppleEvent* ev, AppleEvent* reply, long refcon) { + @synchronized(globalLock) { + @autoreleasepool { + @try { + if (!liferayNativityLoaded) { + NSLog(@"LiferayNativityInjector: not loaded."); + return noErr; + } + + NSString* bundleName = liferayNativityBundleName; + + NSBundle* liferayNativityInjectorBundle = [NSBundle bundleForClass:[LiferayNativityInjector class]]; + NSString* liferayNativityLocation = [liferayNativityInjectorBundle pathForResource:bundleName ofType:@"bundle"]; + NSBundle* pluginBundle = [NSBundle bundleWithPath:liferayNativityLocation]; + if (!pluginBundle) { + reportError(reply, [NSString stringWithFormat:@"Unable to create bundle from path: %@ [%@]", liferayNativityLocation, liferayNativityInjectorBundle]); + return 2; + } + + Class principalClass = [pluginBundle principalClass]; + if (!principalClass) { + reportError(reply, [NSString stringWithFormat:@"Unable to retrieve principalClass for bundle: %@", pluginBundle]); + return 3; + } + id principalClassObject = NSClassFromString(NSStringFromClass(principalClass)); + if ([principalClassObject respondsToSelector:@selector(uninstall)]) { + NSLog(@"LiferayNativityInjector: Uninstalling %@ ...", bundleName); + [principalClassObject uninstall]; + } + + liferayNativityLoaded = false; + + return noErr; + } @catch (NSException* exception) { + reportError(reply, [NSString stringWithFormat:@"Failed to unload LiferayNativity with exception: %@", exception]); + } + + return 1; + } + } +} \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.sdef b/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.sdef new file mode 100644 index 000000000..149fb46d7 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.sdef @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.xcodeproj/project.pbxproj b/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.xcodeproj/project.pbxproj new file mode 100644 index 000000000..ce634a01a --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.xcodeproj/project.pbxproj @@ -0,0 +1,269 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 0B36CB92182461A10039B237 /* LiferayNativityFinder.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 0B36CB91182461A10039B237 /* LiferayNativityFinder.bundle */; }; + 0BD9C38E1778EF450094CF5D /* license.txt in Resources */ = {isa = PBXBuildFile; fileRef = 0BD9C38D1778EF450094CF5D /* license.txt */; }; + 8D576314048677EA00EA77CD /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0AA1909FFE8422F4C02AAC07 /* CoreFoundation.framework */; }; + 8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D5B49A704867FD3000E48DA /* InfoPlist.strings */; }; + D6ACBEA2117B7D5600F6691C /* LiferayNativityInjector.m in Sources */ = {isa = PBXBuildFile; fileRef = D6ACBE9E117B7D5600F6691C /* LiferayNativityInjector.m */; }; + D6ACBEA3117B7D5600F6691C /* LNStandardVersionComparator.m in Sources */ = {isa = PBXBuildFile; fileRef = D6ACBEA0117B7D5600F6691C /* LNStandardVersionComparator.m */; }; + D6ACBEA5117B7D6100F6691C /* LiferayNativityInjector.sdef in Resources */ = {isa = PBXBuildFile; fileRef = D6ACBEA4117B7D6100F6691C /* LiferayNativityInjector.sdef */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; + 0AA1909FFE8422F4C02AAC07 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; + 0B36CB91182461A10039B237 /* LiferayNativityFinder.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = LiferayNativityFinder.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 0BD9C38D1778EF450094CF5D /* license.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = license.txt; sourceTree = ""; }; + 8D576317048677EA00EA77CD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D60A992314CE37030061AD6D /* LiferayNativity.osax */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LiferayNativity.osax; sourceTree = BUILT_PRODUCTS_DIR; }; + D6ACBE9E117B7D5600F6691C /* LiferayNativityInjector.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LiferayNativityInjector.m; sourceTree = ""; }; + D6ACBE9F117B7D5600F6691C /* LNVersionComparisonProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LNVersionComparisonProtocol.h; sourceTree = ""; }; + D6ACBEA0117B7D5600F6691C /* LNStandardVersionComparator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LNStandardVersionComparator.m; sourceTree = ""; }; + D6ACBEA1117B7D5600F6691C /* LNStandardVersionComparator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LNStandardVersionComparator.h; sourceTree = ""; }; + D6ACBEA4117B7D6100F6691C /* LiferayNativityInjector.sdef */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = LiferayNativityInjector.sdef; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D576313048677EA00EA77CD /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D576314048677EA00EA77CD /* CoreFoundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* TotalFinder-osax */ = { + isa = PBXGroup; + children = ( + 08FB77AFFE84173DC02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* Dependencies */, + D60A992414CE37030061AD6D /* Products */, + ); + indentWidth = 2; + name = "TotalFinder-osax"; + sourceTree = ""; + tabWidth = 2; + usesTabs = 0; + }; + 089C1671FE841209C02AAC07 /* Dependencies */ = { + isa = PBXGroup; + children = ( + 0AA1909FFE8422F4C02AAC07 /* CoreFoundation.framework */, + ); + name = Dependencies; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 0B36CB91182461A10039B237 /* LiferayNativityFinder.bundle */, + D6ACBEA4117B7D6100F6691C /* LiferayNativityInjector.sdef */, + 8D576317048677EA00EA77CD /* Info.plist */, + 8D5B49A704867FD3000E48DA /* InfoPlist.strings */, + 0BD9C38D1778EF450094CF5D /* license.txt */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77AFFE84173DC02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + D6ACBE9E117B7D5600F6691C /* LiferayNativityInjector.m */, + D6ACBE9F117B7D5600F6691C /* LNVersionComparisonProtocol.h */, + D6ACBEA0117B7D5600F6691C /* LNStandardVersionComparator.m */, + D6ACBEA1117B7D5600F6691C /* LNStandardVersionComparator.h */, + ); + name = Source; + sourceTree = ""; + }; + D60A992414CE37030061AD6D /* Products */ = { + isa = PBXGroup; + children = ( + D60A992314CE37030061AD6D /* LiferayNativity.osax */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8D57630D048677EA00EA77CD /* LiferayNativity.osax */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1DEB911A08733D790010E9CD /* Build configuration list for PBXNativeTarget "LiferayNativity.osax" */; + buildPhases = ( + 8D57630F048677EA00EA77CD /* Resources */, + 8D576311048677EA00EA77CD /* Sources */, + 8D576313048677EA00EA77CD /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = LiferayNativity.osax; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "TotalFinder-osax"; + productReference = D60A992314CE37030061AD6D /* LiferayNativity.osax */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 0460; + ORGANIZATIONNAME = BinaryAge; + }; + buildConfigurationList = 1DEB911E08733D790010E9CD /* Build configuration list for PBXProject "LiferayNativityInjector" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + en, + English, + ); + mainGroup = 089C166AFE841209C02AAC07 /* TotalFinder-osax */; + productRefGroup = D60A992414CE37030061AD6D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D57630D048677EA00EA77CD /* LiferayNativity.osax */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D57630F048677EA00EA77CD /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0B36CB92182461A10039B237 /* LiferayNativityFinder.bundle in Resources */, + 8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */, + D6ACBEA5117B7D6100F6691C /* LiferayNativityInjector.sdef in Resources */, + 0BD9C38E1778EF450094CF5D /* license.txt in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D576311048677EA00EA77CD /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D6ACBEA2117B7D5600F6691C /* LiferayNativityInjector.m in Sources */, + D6ACBEA3117B7D5600F6691C /* LNStandardVersionComparator.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 8D5B49A704867FD3000E48DA /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C167EFE841241C02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 1DEB911B08733D790010E9CD /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + GCC_DYNAMIC_NO_PIC = NO; + INFOPLIST_FILE = Info.plist; + OTHER_LDFLAGS = ( + "-framework", + Foundation, + "-framework", + AppKit, + ); + PRODUCT_NAME = LiferayNativity; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = osax; + }; + name = Debug; + }; + 1DEB911C08733D790010E9CD /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + INFOPLIST_FILE = Info.plist; + OTHER_LDFLAGS = ( + "-framework", + Foundation, + "-framework", + AppKit, + ); + PRODUCT_NAME = LiferayNativity; + WRAPPER_EXTENSION = osax; + }; + name = Release; + }; + 1DEB911F08733D790010E9CD /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_TEMP_DIR = "$(PROJECT_TEMP_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)"; + COPY_PHASE_STRIP = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx; + }; + name = Debug; + }; + 1DEB912008733D790010E9CD /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1DEB911A08733D790010E9CD /* Build configuration list for PBXNativeTarget "LiferayNativity.osax" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1DEB911B08733D790010E9CD /* Debug */, + 1DEB911C08733D790010E9CD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1DEB911E08733D790010E9CD /* Build configuration list for PBXProject "LiferayNativityInjector" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1DEB911F08733D790010E9CD /* Debug */, + 1DEB912008733D790010E9CD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..af6464bba --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.xcodeproj/xcshareddata/xcschemes/LiferayNativity.osax.xcscheme b/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.xcodeproj/xcshareddata/xcschemes/LiferayNativity.osax.xcscheme new file mode 100644 index 000000000..05ce02170 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.xcodeproj/xcshareddata/xcschemes/LiferayNativity.osax.xcscheme @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.xcodeproj/xcuserdata/mackie.xcuserdatad/xcschemes/xcschememanagement.plist b/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.xcodeproj/xcuserdata/mackie.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..2f490c995 --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityInjector/LiferayNativityInjector.xcodeproj/xcuserdata/mackie.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SuppressBuildableAutocreation + + 8D57630D048677EA00EA77CD + + primary + + + + + diff --git a/shell_integration/MacOSX/LiferayNativityInjector/license.txt b/shell_integration/MacOSX/LiferayNativityInjector/license.txt new file mode 100644 index 000000000..581d9194f --- /dev/null +++ b/shell_integration/MacOSX/LiferayNativityInjector/license.txt @@ -0,0 +1,25 @@ +Copyright (c) 2010-2013, BinaryAge Limited +Contributors: https://github.com/binaryage/totalfinder-osax/contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Antonin Hildebrand nor the + names of other contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY BINARYAGE LIMITED ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Antonin Hildebrand BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/shell_integration/MacOSX/check.scpt b/shell_integration/MacOSX/check.scpt new file mode 100644 index 000000000..54c4e4ecf --- /dev/null +++ b/shell_integration/MacOSX/check.scpt @@ -0,0 +1,9 @@ +tell application "Finder" + try + «event NVTYlded» + set the result to 0 + on error msg number code + set the result to code + end try +end tell + diff --git a/shell_integration/MacOSX/deploy.sh b/shell_integration/MacOSX/deploy.sh new file mode 100644 index 000000000..3476901bb --- /dev/null +++ b/shell_integration/MacOSX/deploy.sh @@ -0,0 +1,11 @@ +#!/bin/sh +# osascript $HOME/owncloud.com/mirall/shell_integration/MacOSX/unload.scpt + +sudo rm -rf /Library/ScriptingAdditions/LiferayNativity.osax +sudo cp -r $HOME/Library/Developer/Xcode/DerivedData/LiferayNativity-flulyntyemvwtcgiriaddqfewwvc/Build/Products/Debug/LiferayNativity.osax /Library/ScriptingAdditions/ + +sudo killall Finder +sleep 1 +osascript $HOME/owncloud.com/mirall/shell_integration/MacOSX/load.scpt +osascript $HOME/owncloud.com/mirall/shell_integration/MacOSX/check.scpt + diff --git a/shell_integration/MacOSX/load.scpt b/shell_integration/MacOSX/load.scpt new file mode 100644 index 000000000..42a50e9e4 --- /dev/null +++ b/shell_integration/MacOSX/load.scpt @@ -0,0 +1,6 @@ +tell application "Finder" + try + «event NVTYload» + end try +end tell + diff --git a/shell_integration/MacOSX/loadPlugin.sh b/shell_integration/MacOSX/loadPlugin.sh new file mode 100755 index 000000000..6a2b5e78f --- /dev/null +++ b/shell_integration/MacOSX/loadPlugin.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +osascript -e 'tell application "Finder" \ + try \ + «event NVTYload» \ + end try \ + end tell' + diff --git a/shell_integration/MacOSX/unload.scpt b/shell_integration/MacOSX/unload.scpt new file mode 100644 index 000000000..612fec2c3 --- /dev/null +++ b/shell_integration/MacOSX/unload.scpt @@ -0,0 +1,6 @@ +tell application "Finder" + try + «event NVTYunld» + end try +end tell + diff --git a/shell_integration/icons/.DS_Store b/shell_integration/icons/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..3ac3eb06fb4f37a0ae5a63652136b0898d8f33a2 GIT binary patch literal 6148 zcmeHKO>5gg5S>k&Sn3D3heCQ=dNxI>lh}bCgh?Qm(t-jhG^LfIPz!_=EV(u~PSueA zQ~C?~FZz4>c6I}?++1=9P1u3mH`>{ec+a!DULq3xapDuTh{!=x*m#8QAEx4}E!m10 zae;#0;nQpC#gpPR&X#7|0jq#j;D1vJG&zZ*(I@uHs2mslXvC5CQ8_?_{ewKu;2)XUhiOs{ zKDS=XX1?EPOW*hAZ8`J3?q*x|ws+=p*KyouqT@V&`RdL7K{P-AUj5Me32ZlPPYqtd zC7c?aZ{cW|<-@OtsH`>WV3V4v{=O5vMx{owNn89|PBq?lqBS}-vg`DgB08pb6w-%l zRDa$<@ou1az3sN#>}{#y?RGu*ou01U*6*v*JyW%d;)C5-x)%s8P^r;uf?i4qolp$A zqog>_Vk{_r>FqkRh@8i_OSf580jt0RRzU3!5=~)Xu+qp|2Rgn202>%)gRkxqDn}X& z3|1NufeD=o)TzQ;F@#RXxHR(ugOx^|PJ+LT_n0pWb3+mQb&N}%P9o4~d#iv|U{Qfp z{n%3H|K82_|HUNxWEHRqJSYW3V>jIGgOWL0m&mEJR-%1DQ>Nxs8aV}>IgZ&;NAU(4 a8)8y9z`$Uo5hF1BM}TFpomJpY75EFnV)!Hg literal 0 HcmV?d00001 diff --git a/shell_integration/icons/1024x1024/Error_1024.png b/shell_integration/icons/1024x1024/Error_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..dcde8e10d678156d0d954fb8b71e7d32876f3196 GIT binary patch literal 19432 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 w?=o#q$*ZcxT_V)0Cl*{;s5{u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/1024x1024/Sync_1024.png b/shell_integration/icons/1024x1024/Sync_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..561d18abe75de941ced785d78d1498e49d2b44d3 GIT binary patch literal 24301 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

&TXR(@z@wekwwAeJyssS}ED7)Z)JK5j|6y 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/1024x1024/Warning_Shared_1024.png b/shell_integration/icons/1024x1024/Warning_Shared_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..40c5a97b089ab57edc0a260ff6fe327de2cddb46 GIT binary patch literal 30250 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%0D9Tl3AMu57(8%a3)hScgl! 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/128x128/.DS_Store b/shell_integration/icons/128x128/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..3604397ad2735244524e5fffcb0b8fada4ae4469 GIT binary patch literal 6148 zcmeHKO-sW-5Pe&FC{?kdh{qf~3H9VLlvWTALUZuuM_W;$v{LZkEkDB_p(oK52_y=r(VWmrRoN5187@yfOH5^t-(TY7cX?x~>N2F_Hi3GPJc z#m@jytjOM}u$O)kRkE0isonme0<76$jn#-AT>)3X6?j)b_J@Qnm>T90b?aczBLK0^ zZZ)>$M?pA=VQQF1Df5z>er zT>)2MUV)W(+mia<`}+JpPx3ogz!msY3WRz$>vs4`R$D7CC$%=AU(&^7ULH{?3|5Y{ eA*FbiuEw!M8pPBvkH{XH{|KlI9$bMRRp1SdeTf19 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/128x128/Error_128.png b/shell_integration/icons/128x128/Error_128.png new file mode 100644 index 0000000000000000000000000000000000000000..84ba8779d0997f899dce640372206b62e4436b65 GIT binary patch literal 1899 zcmdT_={MVn0{w+pGd-<+YnwQj#%PPyu9gtQ9%L+4CDy8rv?K&=67)T^jHR}s;^|J@Z$*4|h5DocrZ|xoKz@yK|Dtk^lglvqvG_&y?~V z;-Y8VV~+iFCK3-(KG6UGk@*e~P*kFL7AoOwyzw5mP<$*lDg;0T;{roq_P=1mLfk{J z!EulJLT&+oD9;{=z!0Z4O8inWA&N}uj((#lgLD6f_Z-jPY-XRzj@Y0*i?NF8Hi)O5 zg$glJ-T8Na21}@>&4TS=kj;>PN#$N(+lnL-WWd??Aa5fy8>Th}hM0$Ig3bY-%Dq>A zJt8bS9iDdoclKrU5My8`p_6*k^CHuV?*D)UmZhKpE0DMd?EljUan;Izr$Sllas^OC zY>;LS)VD-_oh&QMI+Y_bF7tY+&fOC!t?CY>NH0;z&+UoKFQb{wV6>gLMLF`H705DR zR*v{abtN^U@ygarRKz&xYM5`PQT|M|RgvMH$EwfR1yQnO<4q>DJ=VO?A($fGpZI%t z%cm8CkNx0IT`s5CnzPhYYPN*p!-lr+*xjIO(SzRf_`Ej|wGr;q>U zO?ObVp}E$ROgu75Er{ku9tx_rul`-HJ=m{{h7L2vQ`YuM6Ype>O}y~iZ+Fb2$u4Q7 z##UVDr#}f31pO!hw>%m&zfW4~s%Hd!emgfzq|emT>S~qeU7qWhdgT;BQMx$=cZ;`~ z3XYbbk@Fo@Nu4s?!_}1}0+~}(5L<1ey+eyA%nTm(_Dc#5K!HXgjtGNZgC{X#8?H4N zu7abELf_4VF#cL%PV%~@+AqX$ViQW^Qfrw%l{+!Q{{+n&Xp%9Yr9 zb+uE58g;lm_n^Y&yN5sO9BAO z`)`~wSMF8KfTwjIZtkbNnKIdp^vk3ADjQz}j)*%zgrHh zj*{%Ozx|#$uQz6W?z+PBhK0r4TlkgK6EZKc)*Wre43xlg$JUADiMmF}@K zLy6dY4ZNxo#P4RZ{c5<_Z02Ncf>{G;`bCbCcRN>EC}ClxnQWg0hSn_zz;{yCm$md4 z1a5R?enyA>BE1T@v=4}l?{7mqc}_%mH(zG!)i*|y zG3^^)if>jOH@xHr_~ZWEDc0YT=zPM@p4r}w?q#`Bc~+w8_gad0vDH^A?r#eDQuI<6 zZpG}~{#9N#&Ls|g+*%RZvzNeA< z&MZP(<_;Y%lO}{WR)h@rl+K)tx&$>+@nS^ivW=Hf1McS1Xz{Sed$s z%F1;GnLzo9#*a}8twpTj)?}@0fc@sBL>MR>MFG1ka+`!A4r`YV=i6EtY?H)r?J}v{ zx|2exrX@3!)ap<^mGW`!!;oL&ZQ9P^gQ{?@?vy_xv}|<)nD}y}Za+HO%4&x_%RF1| z9iZy|ZW|(P9dgjrkc8g(!HwpvNPBme7#_OCS`}dXPlqx?E9aU9_#76>|@)I zrDGZCJjWX=fAq$g7vW3%ujTDthZ*Et)NmscTLM1H_uhD@pMR~+>G%rVa#_S1B`#o9 z4!mpDD8`T@og@(!8KE<@0mpIQBh~Bam+JF2FrVTZnd<#5&qa`YrWtvZV-pBxPS(q>}Q0)9KFdWo}p(Vk| zjN*I8&^k^J7Fz(xEDlAdOU9IVPgrwWO9PQ3O;74PW{01`sXwgIw<#{tW_n-Svl`i4 z2Qwwi`4isPEC0~6JV3G9Ouw4F?a$wi5Ilet2|nmkh455xdqsz zVAsUtvIphVHX=X`2d$p|IOiM+-XvK7@^Lgb{;x&LuKm*U(pI2WkECEqq#8lxFNR5? xNAT-a6|4F;DH)e)HiP06v>uNv9e@RDT>xV|jjtm*)_r!AfW3_il5Q1{^gm-Wb&mi5 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/128x128/Error_Shared_128.png b/shell_integration/icons/128x128/Error_Shared_128.png new file mode 100644 index 0000000000000000000000000000000000000000..112b849a86875dc1411c9d6cc38b5cb89a438da7 GIT binary patch literal 3004 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 BuHgUx literal 0 HcmV?d00001 diff --git a/shell_integration/icons/128x128/OK_Shared_128.png b/shell_integration/icons/128x128/OK_Shared_128.png new file mode 100644 index 0000000000000000000000000000000000000000..c17ae78ee4ab51fefdf1ebbc335be0b73e2e602d GIT binary patch literal 3176 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 LCVG{+4w3%>LtnZ> literal 0 HcmV?d00001 diff --git a/shell_integration/icons/128x128/Sync_128.png b/shell_integration/icons/128x128/Sync_128.png new file mode 100644 index 0000000000000000000000000000000000000000..d3c5a1b7376d17cba7c8d7ca3a7cbf7716d97b47 GIT binary patch literal 2422 zcmdT``9IT-1Ae>jC^-skMMkOQOtvMKo0=n~v_{JuMW|tOL=<7k5q&WfeWc_lE60}1 zTqU`4A0N#zTQkj=i6l zr1%au!_l2PA{A_VITQe76#qg9c%G-aW9|z(cPY#@=w=uW9fASQ-U#x>fbDLfeK9T= z^o@u+?HK4zP{a;#)-8OPnTJnt!zs0XkNVok9m@Tw@3XU=pP92(0VVw-*nX6KuSLhx|LM%P;YghtD1RNVL{7Y+mf6#h071;79x z1V{oF03iJTX#v0gS7yAdhXcXh)_oIe*7{4k}hu&{aA%HC?f)3 zuQhj;I^Di2^!Y#LpCS&*dWZ-CM$e|QbgflJu*X0PRAf;7ylZlLgA?-om7%=+nh6Ih z3VW-C+}S$z!<3|(w>A}UP*zyjaI(LFZ7i$SJ>s)bmN;lghQId=m|s^WEo224S!s@? zq?eXAMeC5KpDu>~d+A=~nRLC6uSPlPjcceF#$M3r41I*P2+$oq^Kc5To#;zsr`?VE z-AZ_EgYjwYy<_0%=;Ai}nly`tyVLcKsC4{mHoY<~)74gv(%C?>%QL{?h6e#4)iiqU zPgNkh!n_~BAPx<25GF-AxqRc8T4T>r7YeOu;skzR?im*X+KAXI3KVkCDCk5RZ)v>v z`CH=roqSK_my65%$U|R-u84(n>{`pJ5`>7ztLI4x0oVqPPv8cg#^1Bxs!_HWO`Xp2 z);Hqw!edypO(9XVw5;Rdd%oRVI3hPYpv+7lBc$+BH^8+v=q z@*)>PCRvDLQ&s~E+BFLzf&n4AKlz;dsoQh* zz3DJq4;i$rp#kHHXPt_qMPLhcfws*X1r|js_u$YZN&W3ys+k#Y`&0I+!w_5l&*z*X zPRraXY#Ew*W!GUdv}5omoi&SsMzi)o`%DE@L`33Dn#T7YIho!S1BT=|SCX*}82S0w zHP6I90Qc+tKm+pmv&vX&Z9>8n=W}5ZheTj0tuw8t#nmaZvfoZY@E%u5*15VRuye|w z&c%>?+woN<%N*O9eIP^~Hvs!0c+IIz1+GV@f*b|*J~qF&FSPNF-(NV9?|C%Wg>Mbm zkRYj=3BCy8Pzan3hJIv+1xHEVC(uiZrkN+ctY!(y>#7a_MqpuEkMsM@kw-#>AwQ#a zqy&Dv^-DcD-1wG4PGH=w1ReGVre%U$FWg_P!BrZe4~w5$!_l(NR_~H5oC17C3~`D_URK2>CJS zUPQeE;!vkyO5_+!D8DHw!2W{N#*AfwxEb-%a)qqBs_aqkxHjDpx5?_=y9<-F(4)UB z4>ILt6yVKIu1l(S9(G7_R$t;s>oQxFt++iU!e#2?BjY2^ExI2VSMTcfX-St7985|+ z_NhfgpCB=}b+7+c1cox>ULt9+%r8ghv0)?WlZ zk~uLmg6hQYcN@BN0L0XTv^j-Ao;V%{(>U{t8=F$r8Bi#0>#b;k|K_$)Fw00&hz#^y8lsnc=Z4qR8J-EhtUM`+dM+|p|t%+ z;so_9B%r^&`*T*wNC;TQ=w?UAXyM!X*{PYPJjxtvB)iAee6Y7#O!rW(fI+K>cYv>< z(q`1VX77G-)?zPC;FEjuBoJ~MQ&CZ`!c@5c*IY%x(<>iT7tYxq%}X-i+YCJzpN#6bOe-Bezc31y0|S9~~*+fc(w znCeT@hE15;sm1;*9YhQ*!PR9@}Z# z*Vk2D8~EM7o}l2zY#XIGva4IE)_1p@yJJLEfy%UFC7Ccot)0&V*qw7mR9Ie*`!9sQ BT{!>% literal 0 HcmV?d00001 diff --git a/shell_integration/icons/128x128/Sync_Shared_128.png b/shell_integration/icons/128x128/Sync_Shared_128.png new file mode 100644 index 0000000000000000000000000000000000000000..72a49ffe16f8eb71975908677b2292e6ad0eeb2f GIT binary patch literal 3585 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 H;nDvAqT|7` literal 0 HcmV?d00001 diff --git a/shell_integration/icons/128x128/Warning_128.png b/shell_integration/icons/128x128/Warning_128.png new file mode 100644 index 0000000000000000000000000000000000000000..cc2359db7f962afd62e0ec892692602617501bc8 GIT binary patch literal 1849 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 Y0{hN;B;NP`-Z|ht!a%G1jzi>s03w)(<^TWy literal 0 HcmV?d00001 diff --git a/shell_integration/icons/16x16/Error_16.png b/shell_integration/icons/16x16/Error_16.png new file mode 100644 index 0000000000000000000000000000000000000000..3c45db60fb1fe71524bb7e66319c1952d532cb34 GIT binary patch literal 1388 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 BK3xC+ literal 0 HcmV?d00001 diff --git a/shell_integration/icons/16x16/OK_16.png b/shell_integration/icons/16x16/OK_16.png new file mode 100644 index 0000000000000000000000000000000000000000..f8a687c8234cd2dc54b4226e0e42dbf84e147ae9 GIT binary patch literal 1392 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 E0HqB9L;wH) literal 0 HcmV?d00001 diff --git a/shell_integration/icons/16x16/Sync_Shared_16.png b/shell_integration/icons/16x16/Sync_Shared_16.png new file mode 100644 index 0000000000000000000000000000000000000000..8464afc9828d39d881873893a96a00e134b58638 GIT binary patch literal 1495 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 X$nJJT=+!>~xaaak>kDNjsJQ literal 0 HcmV?d00001 diff --git a/shell_integration/icons/256x256/Error_Shared_256.png b/shell_integration/icons/256x256/Error_Shared_256.png new file mode 100644 index 0000000000000000000000000000000000000000..884f8d995e505744a5f52610220ef40d2a08ef5e GIT binary patch literal 6409 zcmcgx_fr#0w@yOnA_CGx=}iz&%8N=17QmncsfHGmCLL)(S`ttcrArY369q&-f>Nb~ z5c#AjQbP*?6cMQjH4s9$ymM#ne{jDacFykE+1XQe<~+~YWNRyP0lrgw002PXhQ&1- z004M21p;`uj)Y6-d+#H`8)5+u0|3O7{vE&@Hj4BkrDXW^JK?s$-r>l*p);!#Sx?OvOwy*l?ViE2Xt8L)wt zP?vEFcNVUnaeAJQ?INh7quRi80+1rU+ax`q4FQXM3w^u!Led=EsZeCe^;HZAlBK)O zxwNktUPFVGe}FecA^4%0A|=e0=hJq*uc>L)(WGD(+ysy&Z4PSE^aG#o^`RI(7u$2C zeTZnub!-~RnZ&*_(yR}7+kZck0ORk#M41tUZ~5#*Dv@8)7>el&JnV4%ciahHSpYQ7 z-InYvjwIXRpuEDx!cSps8-4`S~ zR4!oXu_p%)uEz4fMbP&6>gww9pYQpb4-(=7W@&AVRSplg&4)(4wCxH%A`G?G za4FzQo~d@}z4b@WR9-MQ&j}s#gOfyF@vs+F4(6V>r-4sE<~fNmZ)ay(ABJtZBB>EE zwzk7v)F4KJ3+4GW4>iM+smGJ#N!FgK<=kf4^|-?RyK2HVMh4Qhgnq+!MuO>Q=lv^L z6%CWsCR$5KKS`4HIeb#moJS3Z5GlmWh>ptKVqh;SBxH;5%A$L3?in>DAfT~TL5K4$ zm>K;OHdI1f(HpvTW#rcpyP-?RXw<4nVlDhD40~E+SD>C8O^0#HV+O3xIfGX*o_}`w zR9vFpUdaHgYOI+^yq` zH|E&KQc8WJCv+2i{u$~Y@ z3!X_E-Dg+5dFMnX+fCpp;!?iqPp>_(x2SxUkFxcfQUAFW;glnrLDf8;`M(BDyC|V9 zo@U3px>CD7V2!3DD&AVg%0>UiU1pJ;`%a zh{|Q|=)}apocOhxL<9)ce2Q5poGeg@u^7pQ1Z#(_j#;H;Lb!l-Rs__|#cEEJWh7n3 za8i0j=9qq7?}gI_q1TFxsZ~slxQfy$dkwfy(tLV(?Qj^c?(PxTz(pz&vGHKe3ZkL;zn>pS6@KKw!SdG+ z{bFu2OwD#BNm{OPI)vYi@?H0i-P&m$nPG3b%;+uMtVYAVt^ww4nG3?`n&ocpv z&pJm2)7G-?FQS&pOl})v5yxe#88HMm^58VSQRHOhv{pxqK*?`p-r%dU&~u{!?*@zG zclY40#d7NJ34v5+hGxiPV+@8_F*ao_X0C58vGijt!Klps;^`j-ySI4nf7zu5$Gc|7 zWh5JQj>k*>^l8K*md1@Zly z1r>Rx_9!{8ONne3?`_|ypjO5mbEIsJm45D*cv|$lqe3Z>1B8LxhNAMxJ|%4JR(*u0 z1RnfOx30&cwc)wr`=p2b_J)}whoe%bqQB|78T_S;HONsP*4&zCXl$^m?q8;iwHX8! zQ?1haY(zhIyyE2H!NqE$FYrGMn5C)CfY~r+Fc&eKJ*r9MFt^&u89FW~ zaGjqSiz_R`4WVWmiMp03gM)((C;E*W=P;imDOz?Ntm}XLH&~NT8Y+=f8)Irk(8*l1 z-maHajmGlMLYq%LyQmrb>wz;Fc*#tGKcr=ZnOaNm7DEGi&mZJ*8l^A<{FEHRFHSr0 z?VpQd4`s=uiYlW!y%&lk;)vrH-fcDJG^KD+dkqdv_oTvT9j{_gp3b0+*TbX?Nmfm& zOE(g~x6|!!CXQ&kQ;TkNY#J?CReNLu_X0#a`Bd#A3zrs0;=dQH6=k>QImAl-o!e#> z2CKes2#%p}rkMm)?NiRIio;UBH#^6!PV&z9faz~kWXMVb4hWqfg<>#D_T=rw@aQkI z`uCk9lk+c(o2HTPm_sH(btZ9+cyX|`8;N!~^mljaXfrVvc+;Ow-2KA8)Xvu5GN44o zJr=C4styjB-U<1Qo7kXvzOPQP%RXr+vyq9W&T5@>1r5HORtV{LnJGoAL0LdxHk@hV z^P^CzZwQZ)Rpljxugs}y5#Aq{9Mcm zv`fWoJvQyC1pQVAmXTzZLZ$&~T>;eN<1v>eUs!;hN4@<_F zZdC8nFRelSUKo*$XzQLrH#9UP`~e?J`-gqw#ASGUZLfii8=L0ZIDe4u5(s*n&1z|w zDn0zLPN_EQxgZ4!ZOI<-xDP&;IIE8(vNpb{e^?|&zNx=uKC7N*F4L3;OO{UW^7LfF zZD~nK(c7P3cw{STec08TNn>2Lj4g$^rY(>6zt*q-ZG;H3Hi|Z=HG+D_ebi5NX_C>w zecPIE`Oa@9&YU~YYNdZsPZdv;Bh-!$end!?Grl2MF4w;Zi6%d)KRI2QmHbHTkw8UL zDcrT5c}mZJ=d=!eCMvEP`c9kqI3E^pWA@uQBH155Y`N`&Wy1*m=VR`F%w|ezSZhY@ z8;o${iEnT(M2$k*W8GGfqdaHhmNX*tq8BxM33`2vwr5Thf{C#XY%Ncj!sE`l9(lKu zq8t83x;_K+s&Hfg;;Qr4lH^TQK)Vy0hgH+8;WwGN(W~+=k}oEJkyq4{W2_kO0}t7c zE-y@l+2b0!9?Ux1?!izyk*=3f;{<1c>+%)N?;Nfd3)M%h?=98j&@_9Kv$!CMS8^Fy z{SA5}qKZHRY|n9aa`ed!DykNW8&TrHr6|s>M~S^ky>{+yXxvqAt z6-Dp(Mj+wY9Si-zF0sa`F?(RPoty%|ToGRAU42FIyekRy4ksamjvUmLLu=ptmaB2= zacumUy4L&|me18wt9}&+NLAF50bD{cSksjYZEpM;G&egg3RD!1TCT|-CE z%<_YB#s{ZT&6ZfNuSLXrQ1`K1Eh|5|Pa*&!aO~Jc?CZ+G(V-9Q3bb*w;`xNB&{$eJ zQQwPH?Ze^1wpQ)as49FU$p=yu)INHT>l;4;YrPjaf(k=-yYFtV48sWKSJqeWFunQw`XY%`X@(iaTd$RE3p7+3E7cF z=W7AyntvyvYLwhBaho;+zgd9G z?Uo*mEytCy-n_w&N=ficOm>Spx|J_Uo!YvM=~To9q!=IOj>6SW{Iw5iTv(A0!3vS~ zEOXy4o9vD%)hownTT?f3)LMfZjlm8!vsbvlqQa~pvWi6_qD}b32Hfr3%$AAX)Z60*|^3_l0_`RpOVi{}HJh%A0 zd1BU>muZG0gLp}4U)~b6$|PGVm=-R?g7TMX4_fRDGp*wh|Nouu%Jn~{Z*Z5F zEYo#cH`Wobx+JlC(lR9_=T7~+TNg=dWAKT9fB$^2&07lG?fdT9{VDcmflJ=Se7G|Q zI?zFZJ7St2p%DJ8Lv6R06}T5P=k_S_lXRGNv9v=pzhL%r@YXSRQUYhcUk@f;d{&JJGqaVL=w@4>9&grG}*=A;aSQHmU@!+wy9r{mkB`dMM#uzgp| z2l@Bam1L>yLjCy9tH`YTX~H@&JZQrcSF{ z4}}u0ZCm)dIS)XJFn{TvDS5NO73IA#`!z%(QidEF!?yEI=5eo^mE};aJtrGz_)oz2 zfQhcIrvs;0ze(e*mT_*&yC|)gF=$-)o8lp2RmhVYV(x+bPp@qT7oNOb=T{nY^;W%f zittObA{XYL1zoauYY;I2(V)~{+c@K=Q=8#Yo6Vl7=Q5Fm?0EruUvYLTWLmIBU&@?F z?i`uEYHoQCB@^?z%THCfK8Mp{5!JyxR`Jy`_ay5ei}Up4uFz)WUG4Mt)pBQFK@|)B zUeY(VUWakofb@;5uD>=AiRfgP*`6hIxs&ZHRkn>e{v~{^51!U-=~G;8m!C|W`Af~XZt_o^ie_Jm z$X_1Z6-D~r;`9c*b7N2$W!25iPxw4zp*@~FG5AKfqvQWLsV--6eiZ?fz=Iq8x!PDJ zmA|N>!#0zA`i{JZj8r~Shbp=2@->Iuz-2dcmx(mR(0^7>`$5|m16pkO*hh_}U=Qz=+uZ^*h_9LQu$q|v12EGZS)gQKeC1E;h*{Cg?~eKx`U{BC(? zXD8}H(lP!XJLn{r75CN5OF7YPC3op`#~_^;Zm{Hmqob|f>I6EQsr?1!prV~I%63<) zRdz&}fY7{^;A+CoDS4d~`Fs|AkD&d!!CEidc)YiWIF-<*M1 zcn%0XyXNCNb~8e$sG2@atvE0!=)2o7ESKPd(bD@z@~28-Z1yRgQzwDwssMm#`=O3(i-H&A0QCkq}(bn^gs@6=*0z)cl};Rt*CdgB&9>z@B` zC;Bl6h%s^Y(DKnmz}#aubHjcmkdU6tS4#nL8B@!*=@-JIwj{X7wH?CVTWhzd@t+iE2x48On@#&3^Kva?LW$}o^I6Fj0y?Z( zykVq}+v8!BMQXYo(&Bga4g-@KR=sJ0aW?fUb=>KH+_+KleXthsb~pK0E1V z*oM4ZT->1_x-q986d$(3cvw?6#!_7 z&;WoG06+i${EOiK+zb+V`PUZzZ{SiQ3jaQ#|M;{5mOcN~u>C(~|Dr&+E59O z@(=D@fr7w*ef%hVgsuP;799Xjt0+lU<($)>bQ-4HbQGMGN-hd{2a$$=9fZ`V69#c& zVn*_*XO8Z2RFOFEx4hh;!PbS1tE1t+OR!_#LLflk_FlCFt)d)!GFt`)g1oZ6aW6`9R*_rX2y`h{3 zi3(sl+3a3ym7^P&lL`P>p$-%!Tr&}rjd%+^plkDv-Qu#5womR@z50FmKdv$a)LN9} zw!dkvPl!dnT0*&eASLK?v~a+~vz(0sgeRu5)F1sp*uvCLdUG_1X(-0QI~U)7Q5^kh zXd?L8O#Mv?*kG_=dJs(hWcGrZ`ZB?sMMM&X*z zeE7rOmRHy^Rf5>#ZDAINjz(t3h1!tsbS-=NG(Dp*wolDVP zo@k$bgd0$G-0^kJvXKovC6yY5jnXAAM~g=TO*xM$IOjnSVEY{C!Lc4Y?y7mA;O5m*MuQvqO)5aPE=*+CNc+BgmANn-^!Gl^?5M1Ek$Cz23MmvD)IYbxub(^btS!FQzgUryp=dq9=U6`+A*Uq2fUFO z$?piyu;}rgHV{04@7sUCz$bGKHt;b5) z-(zfclmSzO6;wLw1~tpW!1E+u!1=tp>;T>%*l_F_n~x>kOp6^K)@d+SM9N)pu2Rik zltO$u0|w&D!5=IeQ4;Va{WVa&9f8uaiseT3Tp(0%Ia?%?C5l$U1ozd^v$C}M_ztsI zUJ{-HnHE5KDGkQ1v8?I-OSn#Fxx6B5W31pbUStt0PxywF>4c_)MP4pny+D4{bc3K) zJ;(YI0tRNA*}5zNugQRxdOyu*pH;dbY>}RM>PY5T1V5Yi3u42EzS5&#-DvCFW}=1L zz5oSa*+yK8S7Aw;b-BQqP&Et5_~94cKi}^cyCjxCcCZYj?1fG*v?>`k6Dfy$FW*bh zUAB?>Cb#gcgF$vdZk8P2w`{e{v*!E#e{zLvzU~}c7(G+U)u%Twm#nbTs@BNU;sES6 z?j@WtEZm>bL8i7@##9R3e-JbM>d4PIB*~VXxx`S@GfvS?*1HUw<0UVH0fBwuOB)#G z?)REv*LeNMvStnOiLnU`qEVYLQy=w2@a?yt=U&g99Pi7#dn674&aDlSJ^z%@?Xl>^ z_is=o8~N=lE*uIs@EGmnM@Rt$_tt_e^GJE&?*~!64;GL?lUuwtrMYYpxu#^Rt2|sA zIK;}U(fj7{am50!a5FcaEP<=*G}Q?B1kd6vB;jjL0)W{@ecZfEQKR<|>H}n*##9y7v)& z!VdqpFLk#rF6#Nd?c`?ayN~k)IiDPSIH}j&4?=*hh*{ITER`(my25e!tY9BAWk!7? z<4?~j0(R~0`PM6@*FxzmpO#$xwwv|tZ#-kSX6?eqXI`KSp!^#gc|f^e`_iB9+Mmht zZA>TUPHwSoE;!fDHmmcZ`7IG=-5q1H_}pWju|sjh_hU0^RprX7B$=v7>)Qa%FiDGQ zh^8mdRX0K;7N1!Jpw}tu^vbhw*w_2oBEpvvZ5HqAw`I4vH*SP|yYZCNiLHR^4F+TL zclqY5sDg0p;c-dLXyXON#SBv6nW>$*MzO0@$wfi5N$%4awf7OV)ENR_up+G(jb`@| zwi}16sMBLOWvo|s(!PB0V_e=;PeXu8%o?+$)?lL3xMj+Y%VcI!PzMt%XA?E3U3q0| zqw!?c$_q2U3xB`)i+SwM5f2q+hHEJ>m3ke=HR;N!NarwhW47uvrM{LmsX!afmp%{Y zYZ}yTEsTA-k&3Rei_w6NHkd9p9d1bnaGEWkafYc6f8~j*1kFgfH1&G%$a%+5#5Wcp zxFqOT;^5VJnVDR9z|D$sV<3D`JnvRrVgQCB;83@waCABZP12H4rH_R!x5PT)=H8yyW zxRlx&aHst>=OM|9;ew*fnCq(>EHG>-@712?ydmCivjN(%6kH(jLGkq>JqFO!}86gs#aMZw)NpMhV{j9gH{?2;-A+Dm%^!7+Pn;Ex^99L0!>25sf3>{Z9?5M?c{X9^X0$zl zo9qJD%iLRsri<%LbY}H8;hYs0>hnbnShK|O+)w>B>fmG~H{nYh*S!Mrp@|lKsg!hl z`G~vtLNQ7?YAD*vL)(2OsDPegZo#*c0|v&x-u6dH@!@|HJ!#vKFIFBE3vM9K0_{uM z^4CsYVtaR_>KZF^qHvZ63kPHpPdfE7-uPJXVzfpK6>j-)uD-jHCD8Otn>1cYV7wST z-I$Xv0apUznKFTQQJ$wlXye~TqR1y^Fyc9T7sa=>Fe&IC&m_wB6RIU;Qu$WDlXkf? z$lA!+5-^Z~Tfe}w4}80>vNe`Ctf*+D?}hb3`9u`;kp{1G-yjA~`KKg1ivy@#5Z2X# zRh!k|&lNb6+`>H76PcLpj^PdSE2MCTajPOQ4o(1Q5`pgE)UX`}dU*fV5CoVblUFu9 zei)YPb5NDcEM1W$#6&PS#sl8|Ij5aPY`sBy5mM@K3J5-iN6hL1R#FdgckevdcBJW= z%dMJDX;94LbOiL-r@fsdOuZ-}^MdPrYGEq?T9DK3U{!GHckKe#+oIetWD{-Wb47U>N=s+dY-#AK)vYNHsQkjt&U^EuPtTweZAzpL!J%#mCji)MW7VpC zjb&(~M9sEh-STOJrCUqL}u9=&>D_PHP{v6_qM*-Od@3WkgPc_HjN{}Cu z;iA8s5~SyyRpxh%9F6iPb(L8Cqe->@@Z7%fJ|)$|zWxz+gSE`~eyqW++#o?5*ZPm$3N&g3P6}^i9 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/256x256/OK_Shared_256.png b/shell_integration/icons/256x256/OK_Shared_256.png new file mode 100644 index 0000000000000000000000000000000000000000..112e132ad47c6f4079b03808181e357d23e90e39 GIT binary patch literal 6777 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/256x256/Sync_256.png b/shell_integration/icons/256x256/Sync_256.png new file mode 100644 index 0000000000000000000000000000000000000000..571e86247c55d3ebd3765bc928fdd9903b953f3b GIT binary patch literal 5137 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 VvI&b<2Ecoe2hUg@6bJx_eo&+j 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 YpDak0`{nJ!FCai&`K3~wf^F>o0jX(IYybcN literal 0 HcmV?d00001 diff --git a/shell_integration/icons/256x256/Warning_256.png b/shell_integration/icons/256x256/Warning_256.png new file mode 100644 index 0000000000000000000000000000000000000000..1ea61c973791a057d942c4b8c6a74cb5f0e31006 GIT binary patch literal 4070 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/32x32/Error_32.png b/shell_integration/icons/32x32/Error_32.png new file mode 100644 index 0000000000000000000000000000000000000000..9541677c5fadd15554d9f908cd35d642853d5885 GIT binary patch literal 1816 zcmaJ?c~BE~7)?w##x8<);!)N>JwS3oAZakcgeXc7kt!Y|xfTeJY?>@4C=ybRmLsCY z14a=>Egr3v;xS?oqVYrpo$;zwsZeCl3IT^AC9vHf(Ed@nvpf6yzIpF`=g#IwN3HOf zJZCZvhx3S7DT=|~p!0Ee#o_S8ovY-SK}N#kkachZVvy+|T$mD;LtunjmI%c_GG+Rg zw;>)5NAOj}#vyT%NUj1_Q)NyJ)u`5DY#ffqH)>^y6bJ$3P@+l`O6mT&fdZ{KE28Y9OYA~4r7$QKQu0dqR0FB;fOhE+c z6*`p`QNbF}sVI}fX-Fsq%k*OjYVEkJMnBpntYI{xOiN=>>CTeIfD+07L)GeWv>u6p z{>k@0h4r!NT8I_{>ESe;0vlX{k292(E7UVwOC{kq*HB!lwuvM21knKswU1wG@;%oS2#tciP#4DVkWF(nzLMw@H|$Li z;MR7zau-|eRSn?k&4)-kKD#yhc)jCA;j6+IH(Jpaboh?-3}m%;Jcc6u*~*-!!yI=s z{&eGjH*tMuL3U@_jTqEG&L3XXbCWI7xbNZZl7 z$4x-9dzEN6{`0RC+ZEitNk5| zFrCG+@ju18cD1ySCN*82M)8|tqh4Mw9qcPNTS`jIW&14Vw}Xj!4*xUd4MT}WPcP|= z18#)FUMuF)-(;#L7#uYT{dV7V*x{bW*eF6S?o!qV9@Q(iWD~hD{0~LI-Z|i&VxlL6phfFTRJ)-dIGZJ=3+)BKkT7Jczzo#s0 z_3q6(e%k*VfknOHekw;$?|W11y(F{28;nPX?%2Q1wOskZv>?0a@?2ZT@nY*2PdgSB zlcpr*Fddf+<>s>TY%`fOrsnOon zDb%X-jul({ro;`tPGp@Z$M?=WQ7h#_F4^+vK-&~kN?uTJB=8ovP9~LYByG8H$aVd9 z)`Z&)4Zu?Cl=hn0ErTcayAPC-jwLHY40H4CNkbn7y`Rs71ib+^)KvMBNO1G_w|(E- zQh$NxXw|oMpoCaGj!Ey37oD3eEsSoLKWc{(TG2if?RRTIpL2S8p6n-7piM643DRWz Y!E4!Vr~OJ!Isa7=;ZdR=mrK9;8>}nS;Q#;t literal 0 HcmV?d00001 diff --git a/shell_integration/icons/32x32/Error_Shared_32.png b/shell_integration/icons/32x32/Error_Shared_32.png new file mode 100644 index 0000000000000000000000000000000000000000..4c916621327fd4aa818849469859b0704f646598 GIT binary patch literal 2541 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/32x32/OK_32.png b/shell_integration/icons/32x32/OK_32.png new file mode 100644 index 0000000000000000000000000000000000000000..5565e57c990b5f2ec26f56299652c601abaddaa3 GIT binary patch literal 1825 zcmaJ?c~BE~7~RM@uz0jgfugb|j;JF^HVXkVLg;y2=+H|D zv5HTBm6S}90SR#f21PNE2qhbaAug8*M@DhE@B)a#hB+)Yb#o)&NM00|$BBksUvw&( zL8azpiNvpCQ5K(GKoEK!i&a!q#4JLXxFMef$HvCGH8`9I3K3ykrz22PgwDvAP!M58 zr9q=7G`J3OE20W~Ey1T#nZ7DPtA8V_Grn#U)i9O`)w5tG+g;KGP$Kz%s8;(1Z6va= zxB333uu-~BkFl~aBfi$4qz0#ExI^iALIZ{pxIv2Jt0%gcQGgS;u>jXY!fY-ySAr@v zI=5rqONK!PIC}JW&igG7&)%lVSu23@0H1G0csLj*W!5B3LLA zMo(}>xN@x)(-9L~)myIcom}@aX!TTN5oXX7Vk)r#*FrCg=4t*T7eQe>U-IeA`(bV{R$^Z z#(Qw&iUf~QFTcWm(#IDP|JW-pg%#Y+vgeaLr&>ciH@0bJbCUayImyA@X3$KM7j@@I zGYH=3*$ej6G=Tt3^lj*aMxgzRz3Q~g+*3oTq>Jp<-+T5~2?*su_bOKSk?q&2Nb{5N zi)2N_ViInOi5pBAX*H7}1C!UY2KsE^!=nN6S>kC72BW-rhH_`>fvag; zb&l1XVA6G0W81@B8|KWP$~c|u%6IflPOS#3cziG@ce=dUiG{9V%27;x+ZEo)zAzlT zBkXKWZE2;%Qu^7(s?xbZmb3DVo|c3u?w0Xe4bEjleT%HyJ+tW@7JKhqGIrdUIGQl};(oX{ zO|a1VV%Ny8zQuwL3v8?Y-2XD^9A>ol*G7Z8<4aKX(cAsvEB=bHrkjmjzxRcSt*teA z!P|TmDs8#PJK8$W^+J1GeHD$gurODw>pnTSKc{j9m{!vR`m-WA_7j%HUX3?S=8aVO zl{f!(f+Rn6T$0b4d0FrL!_WHzG1oh%aE|pt=E!~<$5LM{n5(KgzdS=`*-GX++U*Ah zGTW{rU?^=;&D|k++xvG9dx&SS2Y~Os-e`*$LM`=`g2h*Do!J?6KW(ln&-9gDbvnm} z`i?HWPp)7E!%TAqUl-C$`@v<`AOGs_wh}j`tJ9jvE(?giXpZx4@)m|BtLBP`#C15 zv3$P9QXe4e29z|}BiPs8#SX0RQ~t6Rr?rp!bO-lOFGS}055R$g2Glh6=sl0q!3Ymak44*k>KjYxg{^WtH!=&uj0h4F~ZSe!g!WtMkd&{Tbec zYMrUWsdV(}wf7E%NK-4)rh}hc#2S{L(k5wx%_rDS*T|+jjzJcfJdrxo1 gBjy&B3C#8fPB!Rf?Mpmwb^o+dlF~)T66Iz803edzOaK4? literal 0 HcmV?d00001 diff --git a/shell_integration/icons/32x32/OK_Shared_32.png b/shell_integration/icons/32x32/OK_Shared_32.png new file mode 100644 index 0000000000000000000000000000000000000000..f2cc4b9e3ff16d5aa216f69fd7adc69805de3273 GIT binary patch literal 2543 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/32x32/Sync_32.png b/shell_integration/icons/32x32/Sync_32.png new file mode 100644 index 0000000000000000000000000000000000000000..7066c546bbcb1413c0b781584ef164e803198d69 GIT binary patch literal 1884 zcmaJ?drT8|96u=Xkb-0g1yMQcqBx=LwNTn>DbRxAC?eo1+oad_3RT-X+hY_ITEU@i z8u1Ae6yk#KXq_?YM5?Jn5dkL}bhzOgoG2CIc-7vn2yTDKE_b=#_nXh>^L<`!Yih~@ zpNUf@0s!EXv`~^pzCq{X=?(xcZUu|vq!ElKtiaPz6`l+05Fk#8$`LS017{&=2&~Lo z*MQ6i0Ltg;j1~9_X|h0pY8bE+!!T$tk_`a!MFtF3tU+*4j%2B|LVC|73msG|h4kf7 zQkE1GBiZVO`8p&$KP5wvzed4V(nT@ge1m`#&>%Pr8Z>LQdVxVmAJG+%XQ!J<2S*_I z8X^5dQY)mXpcvI5U=)KBp}YWGqLa~d zN|hi@k~kWRw1o6*9LEGqW^QgSBbUQKby-Y^&*wWe*z5=r5uwl1;;Mfh0+UbW($%Rx1Tj{OC9iKVF=`i;IMy1WsHc#N|cvBO$H?5=+F< zV_XTU$k8BLe2l9kxzX`#enMgtZ(Oc(88jFfS%T=)-y+IH9jXCGiWaEH&n0eLy-}|6 z6S<7m5kD@MNhZT|j`lyJ9&?fV<2-&`T+;Zs`iPd?cOALd!>!Bm$nT{&NfMV~_+4%% z2oZ%XlgCm9ChXy~**!eL#5+y0jgZoRACaX}DgjTB%JG~Mx5xEfWe!1mT{oEN)s=j5 zV&VHCtL*TsdfTLIVJz_54WGM9uM{z^)J(s9xNGt^b8a*>WAE;sxg1oN+R)xx^|*bx zxmna5UcRh0=3>G2x>~TfY-_mn$bua`6gR)CSoMAX;tn8CJ{fZLXB^3oJ+UcW7r;rq zZn12mqRraO!I#hOdLD9JGG|SrQG2+GdfDqR^~`Qx&a=F1))pJa!h7;!D`~L|TV$z< zryusQqSXboHx`9q$Pq%Z5=N@zBA_&xG=siyK}bJA6tY?DGth>7tpCM{rU_F3m&pCT zi9XefRjxJhV8e`nnEnYzj)sXSrNe!#ZN%cTBaL?A-P_?2MoX$Pjh5M6MOCMJ4h~T>?5kIXTRTr%g8no* z8ZccvU~Q{11{K!T7HqHfj@@{)^6YEk`lOzqKxI42v)2r5`g^ME(UYghg?YmGEn$?P z2j4w={^UiB45l1=-(u?t4Y5Ami!@t0R<(Qh$tIV1P!9Snn8y0cw8Z0fjYjhI&K=h} zC*ONk%Jr7}FJ-G#oq>-2PMZ1d2Ho@Pt!FD7g%{SlB}7C`q;H{=^YWy30=+8++|HWq z@WA_FnzcXFXdj&LLx!K2elcpx3W7{#uU_gR|Y2xTIjgtIiKltxpPagD$x7gB=bSG1S#W?E1pj z&wR5zOy2#X|8+afohAznt6#Zy2HNaZ(qeQ_3YxCjUbTqa1HqU(Z<;W#`{v}z!aW-| zm+gN1>W8*T$9B7yKe!)vmD=kaGS|P@?e^y0*bOhA(=b7n0+tWh`?gS|tl=}3BXik4enTvo-|(zlM)o&8qD%jpZS?ws2ayr*U`*fl&L zXkX|BYwFKkREh^}E=yzP)QZj?-?4gY>CWw$i*6j#oi`mn6=>}UrFInB-Rt`@-IrBA z46U9<{1_B$FhzLH3iK^OPj?s#&YfuLY`GNTakSjq&m_G`-}U7KZjm@Sp=|4c%>+@E t*#7X2!-znW0^;VXF;uWiSZMu&HL0rAEnI-(gPX(#*slgqk8{586nZ zOV{0OPO{R;V_ZTCQHSJyNww9+rcpG!XSCIxKThZOyzle=zTfBb`FyW`yy;t5-KM!vzos{Gli?_?rXEKdQ#{Dd+-2n0%akzg>$6UOan z0li=_xPv%^tzt7b(*!aJp0|L(t0i&+8wT_8QOkLP-JlBKgOOsXH*VsF76*uh-ni|q zOd?ZG2cyIr;uYX`@vIO*{BD7V5a+WF@KVzZ0uoTg1JsgesgkDl#=Y028SV>i0uFc& zQSJ7|{h1V-xdouh6d>S=r#K6UBoaWS;z=&9R4T~{AQMSs0@3hLok=brLoXCD5l$=IafIO8<5h9aCf9&FxD49y8jFQO# z`gc@d4U;DjOBWp9yk{_(v_Pp+#ghuaK!!KYpn(^Qg)}PBaNGkZ{_Yo4XW{y3aSg_&)d!`9eODM3`xtkRIShu#4rKU+ zsC)T(2=alGxqM$Z#@GqqH_rY7X^BWm#YB8P%-lCqm`946PKCNFW6%-K&Dfr>JPgcu zaRWLvfEy|wy>}E^jgNo|PacP$*W)%&X!(Qr!Ykvw$>XK2P#tn!KLg)3H*?1dArb{> zWJAdmb^a}~{@t5GBVhlz>UXblQm{`wE$9VY(Q*@PW$k2C-}bTyBj&J> zoj6RQ=N%=dVSG#*8jrkr314JhCok$*mNo>F<06GZ;pEhm?ldW~u4xFur=z!K+Vis9W>V*gss^(-#YnnET>L^6&+47T4PJoA=9pEFlkrHiS%ZTBieh1u;A0s;JAqgHusE$yx5or#(e`;K)@P%;*iABJ5wpp6~Zb+6yGA7;%o zJ%iZN2n)cBP5$G|q47}HXy4zExn$lFG$U#D)e*b+dmb8DN2_jb;9c3>ZK4en{oJ%g zbnOM155&11XIg5JJOAL9ur|Qav6(C6*H4<}P19F#jI7^g*|o5igk$hNe|(=(aHw!( z(2}$2{G+pH-yV4&OSy`-w_nDdG8Bm!tVx8oGBVNQs4}=1p*exVVYk^P-}>kCdWt4e zS&ywrn!g1^acT}Wc0O!8f?~5{Dk_O`xty50ErhJs&*Y3u3~ABPwa6EP1%>GF>S**R zX;VsNIceX_R94;3!ewwbQ%CsKiXXnd-{p8BC=r@Zv-5C0YKL2!QGDTQ8n2=ESF{!3 zl&NSc8O`@{LUXipBK38LlOuB%3ekl%^L+PC+uBLp1DS?1ae5GOsP1{z(EQMK2o^jG z+eNyr&GOs0<7C|fpZy~(m&(xomnKO1Io%KYi^HMN8G6q(8da^8|VI8Pw z!*uq|jr0Z8aC~#Z*z8)KvEw~fc*32Isu?4=+iHhyXkH*tm!Geny<2dp8D?C;aV9ZM zw!W@@P!qJ%H)_Tt)7(D8VZ~8DbG}Nz=fl!Sykb8pKD=t{dY}_yg*n4}VhoNLhaJ{N zEi!4GT-LE_!{M#CuYKQ0H{*zDJ!hQOtf~!JA&y<3SH)e0#pOI}KvpY(r3O zdZLF5!82yN(o1qr6cm8%t^K=Q^7#iiLMS$^CH?I3o}~xp?N;|9R+a|^_WTrTU$Q-M z(|yOQ^cC8~B9Eu}`s%u%`WDU6+Zh?J%5UEZ&AHF&{I#m8a&6g{sT-&k4k^v(R~(PI2;XS4i5!?8Tf z@z%Rpqc1GO2`!_8wn}Yt5E;yl-}OnllINXc8_nu z@KxbaNe^%4h(bav*_Dw^a=_CRk!FOl1ah*k1#j+3?MF7`NW)8Q4m1_jZel5a&&6io zic8zqPY3+qfBNaJ2>^Xk=*nyjjm)$Q)>dd)G-~6p&-HuarrQ`h;!>du7H&KBd_iD9C`{PrS zPkry6eB;PtlXSJjKjeoXXTD(VYgz!f#v$#^Cwq)GF*-$tmHBcSOH1`!5cqb>ufx=7wB6u;^M} zNADM$uoqQb?nu|*uLl=iX$F-3_DTEMIIv9~7@ z74+!I%GNeYV^fpT0TT9AXjt6`R*Ago@8b)4{vEmf2T)KFkgck#%}9uApYHPPpX%`J gjX1Qw`ODMO@N9O!57-owweZgt=+9zYUe8Va50e~Q!vFvP literal 0 HcmV?d00001 diff --git a/shell_integration/icons/32x32/Warning_32.png b/shell_integration/icons/32x32/Warning_32.png new file mode 100644 index 0000000000000000000000000000000000000000..8766b93c012aecc5a71328d7de001c2b11f11c00 GIT binary patch literal 1800 zcmaJ?c~BE~7~PO?DDfH(5_NP9v}%zgn~;M@2r(go66AQL5t6df*fRJA&YW6e}Wz?FPa2kJ6pp+28lgd+$4Uc2{i7 z>SGOjksl-EI~G9D`t~ zV#dd$)XG>;hM+LWV{(IZYzPARd?pmk?pZZWqYLkfa4M}CrKMlrg)B$ zDKq_h4QCy+8Axy8Umld1rF6<3a7~l_YAK$dGctg;h+VjP?uTJlSz)ogxT~WBrvfCo zzu>mI@YIyluJ#|+;H;yuuEdJ#7yX=mti^peJ}|h_Idn!se@F3zlquD9=ilIXJ{2Ez zB?~XS9QG{$7_{kgwrda39M`U0>(u|U$<|ZUjXx;k;gX-K1|@;Jw=ao2QXSr4jU$Yu zfzFP`MB2gNerSuh_KL%K%jsxok{|IE3M-p}0|N!lw&DnCgU6BEp)HX|Nay-C(0gL? z>JIPOQz=zz$z*Tu1upgy?V3yPulF@&Zgqy z72%Ho67yI+HBnMqvcNLbTIMa^(R5(*BOC`(FIB9==q1fEn!2rzE)1!psd&sa+ybg& zr?jBrfV8_W{T_a6ajz>sJ8=+qrf$MB$}4lEC_qxAXR$k{r2j@bHJz3LR2A%)U+UN` zqIDXQzv1534BS=e1b;ly&U-gFgqK}im)9Pe+tqXbG(u}V@vKTArDOosx}_r}k2bX} zjN7=VRFXf+&B+|eBeD3>5wC%-CzlVikp3TrQ zxnmv&^{Ch1NSe;|^(XuJ&34w>`}4C$9>3mL|2$dDvywvJ1Ywn@F1OoGVVIDYWvk4} x$KT`6?>LXId%N&mL&mLr$Ipl5z&5W0DscKZdafwBa*q4o6crI8|8Z4P(cdE+%~t>b literal 0 HcmV?d00001 diff --git a/shell_integration/icons/32x32/Warning_Shared_32.png b/shell_integration/icons/32x32/Warning_Shared_32.png new file mode 100644 index 0000000000000000000000000000000000000000..e25e383b6ae08c7172e14305d844e9a5141e82a5 GIT binary patch literal 2498 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/48x48/OK_48.png b/shell_integration/icons/48x48/OK_48.png new file mode 100644 index 0000000000000000000000000000000000000000..cb87c7b2d1a4db44bcaa0ba10c8c3ef746b45773 GIT binary patch literal 2204 zcmaJ@X;@Qd7QTQiLRefO(#ka;qJ}Jl1QG}V2}qPEvJ|8UT*3v?ki{fG05u>Gi{QpM z1%(kuglfwG#kDF;f~?BoKouNRL_`?|1v`Ks%bmoEogc&8=icZ0&iT&!p7%TF{J6OR zySAGeuQLV!z?9|34AiUy?Pp{F06L(4>k5s5mimNAgM@L?6i5sMUa`U$7-aFGcsLM- zVpI3G!tMZ|XU7c=lZLVVX&fOR2Wew)GQLQI1^{=4OayUwuoR4e$Or}tXSkQ?;bixxfFU67QOe0fhPA=f5 z2cyX*j*X)QGJQYg(pYp%f>bJ^;qfUcDYz68PAHDY6RA|Hmcz-(Q4`@PNfk&TnWI2r zyU4(VB^)tVB;^VPpq3Ge5hh9L7>&~3ufP|5rWHs&l}S@DybKcIi8zAxN{fMP_Wuv% z^FK#Rq=E1sdjBV}Bsf(B;{#!dFiFhOG%n6on@U9U7Q>KKC=M116Bnx(kRX%_B?&?i z=p94>9oP_uE6_SNe?+j^G?qXjg#;X!#iV0295^mFmgYqz6PZrV6dzYF5|QXb^7188 zTwSQnL<*DW&GdFz#4?4PBt9&VE@ETka#gC8$V<1Vem zc}c!c*x04Dke9^bHDd7E*8W$k7hRh9(QZEvuEzL0`mjJV?_$kh?~|L`1Ax96i|G|C z`$xX(8m9cvT3eairGYtLdyh%pH#IbkQ6~|?7 zb{SM55t@VS?hv~^x@cXP(Pkh=_uEGnHSsqmk~cxt9t$7Z#!CnAcaNDHqFsBbXh1i? zHM>jnAj72soeA#$u}i6xBbmJ@lld{yz%_NMLI2j87_ek8DQ^Q*T+g^e5xu)&-2U60 zR#j7d)5)8Ab2D?%m)1me0aRPTpXw0?vOuUI{6t7}NRM7_;c55%#MmTsR8FQGK?q?x zn1mA9&qoLT`R|l!hgwjYH7&=*;S^&^B}r5(CLBN}^PrG%k^vH;i_$GQjPlR-Ki#N) z{7`6r7&Y@AvGmSq3|C;T%%Juc52+PdszP~`g9#?=i(dB2TbD25Dw@Wvha)QxR1|WM z)4O+}>s2>dQ3mKZhp#;rPWVQxRgM~?p~EdRzC{$|O2ZKUoYAnNGw4X=^xOcmFa9y>kQMqCC5&k z7-;Utqbf&HsGS$yvQB;_do$1yqAU z1X&n7`RETwaWTXm=NTk< zY&WpooUUknUGUfaovQIScS{RbH+sFKv?7V}$7tD^aW==p{%E-cuY~z87q(Z)O!|pe6ur4^K1k&_sxY$CB3~S2V?TA4`sT;ECD=g-o>VDP- zr!(hwA0yl(=GE7aw}%w|aFthF z-kQrThdGlhyH(*8Wk^Jcbq&o3S&b-{@? zdGtc7rgfcxOzNrZ%J}e>vr)B!R=)=NVXZQ#D=jQ4c`=Or4=5Sy%6*? z(b_W=%d^`wVy=%{hUJ9QbjaL?c9`#8srUGAxjgsdIsctoj;AL#4IhY_273e>4C^Q7 zo~gDR`rC6T%cuM$>BDKKi*>A~YqOVohRaD0;!0=rZyb5N&!c2&Q2W2Y^4Z0#+7^BI EKi^4*E&u=k literal 0 HcmV?d00001 diff --git a/shell_integration/icons/48x48/OK_Shared_48.png b/shell_integration/icons/48x48/OK_Shared_48.png new file mode 100644 index 0000000000000000000000000000000000000000..27db6f8b5926db1ccc17ae7e3ee668b5fd1585d8 GIT binary patch literal 3167 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 UIUe-MapMogi|9kRwkIOvKZf_aq5uE@ literal 0 HcmV?d00001 diff --git a/shell_integration/icons/48x48/Warning_48.png b/shell_integration/icons/48x48/Warning_48.png new file mode 100644 index 0000000000000000000000000000000000000000..1f993f29dd3d5a18969c87d479ba60ee9eb4f52b GIT binary patch literal 2190 zcmaJ@Yg7|w8lDgnigH^(NUV#~$W_T55)#A+Bq+6kh@6FGSIBLENRtUkfB-Hx1z|yj zqZTW*u;{M1Wx-lk+ESWexRi@!p`NOMt88moDGJJR34zQ`tl0ioch1b2@BPmEJn!>f zzByAVirwq9amz*k0Gwj>@#E1q&Gx*32LKF+>;DyM5Osni-9b1_mn+dgK!hBYLST$i zk`Bc~5_w)$KeP(~us(`}Bwdp59j**kQY1DXie9Nk(EzZEr&mj4nUD^YLg@-sIBB-S zKmrx=a8hE3kS0_|K^cmD`5Ne8er$p)KU2n$lX$zqU3xA`poDZ1P_KMfrRD0wNiTT0 z=-ReTC4nzobeZ9#pF|}IMPL-Hfxr+7lPsgr=^%?mp$CVsSo9!}L8CLMH1uYX>A~C( z7MH;WUtT0Mnns?+jps+djD=d^qzs)-&81Rvb8{)VObVEDV(hfC!tDzN7ZXYuJ#{3!N1mJiFam5@rej+Ot6Wxf_`8wRBsjm(EMiX2EDt$~%`i=?@V z*K47@mhUB2{(3F+*J7!t7^?&%VTcr_R`Xh<6$b3h` z)yK;wu+`WHxb6u(B)E1Td%2{n#!lpM1X(GWyuZ^Iujt7=rqr7sGO_+_Hr9Shi}&=5 z#uo!yoc|QOHTdBPMRas@`IL*3^+D&3F0jp79T97Gb5D7bMX6a`nD0x)XAVDcEJ9Y( z^_sm)+ftm|;~s?c}3D)QmD9RdWcK)YX_Qp`xyPM;@Ye5V97nz4 znt75bNxFV*W~Zs0`Y&V7vKOAk@+)sS_L2LyPb`P_)#B{$3|i~%xQWHmH2Lz{Ck{#X zEX;||n!1exy(VKId3Cr13>cva- zb!~+PpYhWAQ&!k)edgc9?p-`R`Avsu?pyquVeY0goZ0<>1NK(}+pF$!z!NPzgPCxb z6GGT?C_r>++t~B}4E{L`xgnbHyA~pj?aYbaJmHc^0<{pQ%N?=g1OKRjuA zE7jvfzW6rwqBmi|*lZsiPMa<{;8LAmoKp;eLAc@HH9C~!2ksf73=B6?0tcG=zwY(f z;IV8m4;uWb|FjwwpY1dqjra~D2d2-L7hG%a^RMXHp_pS{1;Pl8t)mZkykc)CO)QmS zb638^6tKPGIuS(8S;T-aX6_?-v&H&{->}P%`<`ec z$Ij$GyKwY0F}@=5Io@;%-bUEn=^~x0{=8TGIHziIM45w6d(ZGjACt+TG1t>^@Y)&w{=+`vjCdiqQKdI`lb|F$=c*YSvV?-B{ey7k5d@}`}%+lW;b z`o)_0&e%z|wY`Bh^XoaO2XQWozVF=h)nmUUXg|%&)Ev&5XUt;;k)pN~BrosL^itLF m*wv)0M^6n;imdcTp8(+OScubyRTm0ue+V&xSbl4yxb(lg3XsnL literal 0 HcmV?d00001 diff --git a/shell_integration/icons/48x48/Warning_Shared_48.png b/shell_integration/icons/48x48/Warning_Shared_48.png new file mode 100644 index 0000000000000000000000000000000000000000..150b693aa6805457b85cef48c16298246645ec4e GIT binary patch literal 3191 zcmaJ^dpy&7A0K0dQ7UY7Sma2>He;CNHcIZ7LT;OFG_{LanY+0RCy6dDksS3@o}-Y8 zj?2s>%B7wz5@AUyh1_S@Go9)@ujlpj{4THG_w#vu-tW)*bNT0&>F&BuQC?jh001aD z?#FsczKFGVJqQ4hg2{F$OAIK}-k0e`3uQ*(86=*+YaB*K29gMa$Y?4P&oZD! z>U?Lwk|GHVGM!1LQDJM0_z>E0rlqz->0c#K=s#$wk>A=RX&9V^r^Atkh_#Zw2fDcY z|4<6$M|339lk~UV|4AI_9Ze^}JxP(Y;|zjiaG^SDspuFx1_{rkF}!KCW8b^zeuT!P zMINEiVRl|<*bWywflOU<=zm4HxL_QqkxV?5Kyt)dYD+i_$z&qN7>Pxo9gxQMW;P~B zq&>>U0f{yZe$^L=1dwwEr>c?=H#ytQ~(WuEhAU`Xs7k-x-p{mcMqK z1^}%8;E1*HX1xko7K^Qb=;qcWV2&YAny}R}YE-;1IRptR>A@qag-MUAnNMsv7PU0g z%eocZ;=E7~XbnLA>(RmD;^I9bw_*`E#AzlKwTCN`DpW;9fcda>-!B&Vk*5y{1zF6rwr+eu@ zu%CG}=UJ9BNLE*ulbD!@9B7=*VxKK4VxL+u2P!D&NE9fhyQ?dy4)7Jx84PKU(2E%DIJOULc-`OOF>}`tg zDGd`A2%ZhHKoNa2U>HSYYL%Gwd|jrToIs5>I9eAgQsuMbMUaBRLg+2V3}lm+Cy&%J z#7$(+>A+L2Si>LFkyV;OQfS1=B>{LxPs#yVP`))8S-h7eo_iqHsGUS2k{@c7s^{>$ z^ju}8q0nSoJ1ExvK2)>hW@r_o0a!s@1>P4M#R&@(cBd{u7G=zv-!;T7LZddalNuW@ zepqtxKiw!^J~i5V$!eo{)vny<(j&ul7AbihG*Boyl#^&pa-${^Gh7pn#E*4|2>>bM z!>Xqw9pqh?y{rlrVhTO%>;jLETKTW{%3$uW%Ht@U*M}-m9f~4piwL z+lq*0UI)LYySp0^ZEIC`?~P!z%iYsM4t#-&c(AHnqCJyrP6>YT>M z_&S6&Gi`LBB~JKp!Kos5VDQBu>i9%2ucZZ?4a|WX2LHL9s>4n;tgXrrOj;cRH3iRu z0~(fbmT=7)sn`eE;E;b=u$72_eYevek%Ei6@~jfYE0_p@`Ysfz)xNZ?wxYaFw-^{L94C~qT&JCWr>)ceqNaVk)Z3yFflfMX8!3!FQ)<4zm>Mn!7De5QxW9T z)JGj@n7y*m?V~B*V@ zb{N7X?-q4QcHM2FOfB%5;6_tcm;WEbOpBAE)nbRRl4BWJv*p!bX`j3^D`WYC^=5fi zwaS3qZ^A@N-CJYFT05$njh|lb?Erh|NpS-&wz=8aW!ce&s)4`sV+v&gZ{Jtef4fl~ zlYCe2+EfO&#Mgse-X5;aCVnzuGB0ks8nf=KPtf+8@%e+bw{R~r26|-5%pyL{3v!bZ zf>;IE4N3{7kDF@7hu>p!JdC}X&^>?Tj&*#&?&dh@=oFO58^J=844)qN@W3g zopNr|u*waaD*1L&Xx|(oJQtFf>}>Yp;HmAIXCF>T!GAf+8)kWTq02u`2ajI<$J31z z^gG=9C6i?gk}VYa=jcKUkL9iKDf6N)1MIQFWn9uVPC)at7OgbCHl>UlUHYYbgD1Ju zwO^29a*V9v$KA7-on{m>Kiip>ej)AS_;`2%bVJrYufjH#kz9#LWYltFpnhsp%{Rao zH!?sq4T>2(*nX??K&IMuEHx-uGg{$u;G9euBtCL)`<0Ol`{1_uYohCe?CO*K!$bf4 zJ!kCXe6#}VB)iAzLXlat;g@F)S3PFZdlj_i7ZR@yI2}xz#FlDcVw=!;_kSHbdCGCf z_u%YAzfP&DMySJ3de4f9=H!u5zx_n_DE8Q(@(KzdpG`3Rw-=0xi|&URqeC z)OTM-9D3Pj2t6e?=i^25lN2(U9C>e`s2%TgFP>BZK&n+^ncWP+^sXzL`O^gdx?jW2 w50?ppea;227zY%k literal 0 HcmV?d00001 diff --git a/shell_integration/icons/512x512/.DS_Store b/shell_integration/icons/512x512/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..1f45086b2ecc1d4a37510d82c924746aa1eaeb64 GIT binary patch literal 6148 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/512x512/OK_512.png b/shell_integration/icons/512x512/OK_512.png new file mode 100644 index 0000000000000000000000000000000000000000..9b274525a487df1a02c3bd6266c65a58ff48d24a GIT binary patch literal 9584 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/512x512/OK_Shared_512.png b/shell_integration/icons/512x512/OK_Shared_512.png new file mode 100644 index 0000000000000000000000000000000000000000..e3008168de0b5d2b1fc886443a33e2d9dedaf7af GIT binary patch literal 14521 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/512x512/Sync_512.png b/shell_integration/icons/512x512/Sync_512.png new file mode 100644 index 0000000000000000000000000000000000000000..41db98155cd5cf7c8faa905abcb609e7415900e3 GIT binary patch literal 11128 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/512x512/Sync_Shared_512.png b/shell_integration/icons/512x512/Sync_Shared_512.png new file mode 100644 index 0000000000000000000000000000000000000000..12e5eb7e170a9d41f6c12b43ef28555d14fa1297 GIT binary patch literal 16318 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 K_v*Erp8g+mFW)Ty literal 0 HcmV?d00001 diff --git a/shell_integration/icons/512x512/Warning_512.png b/shell_integration/icons/512x512/Warning_512.png new file mode 100644 index 0000000000000000000000000000000000000000..cd61c04d16113bbecd49bdcfb3974200f8693843 GIT binary patch literal 8862 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 ZQ{;pwMo(ej_WSLNu(^p9zUl}e?%ze{^b`O9 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/64x64/OK_64.png b/shell_integration/icons/64x64/OK_64.png new file mode 100644 index 0000000000000000000000000000000000000000..0eb21dd6bf933ab93ba6d976ea13dc2bf2a1bad3 GIT binary patch literal 2659 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/64x64/Sync_64.png b/shell_integration/icons/64x64/Sync_64.png new file mode 100644 index 0000000000000000000000000000000000000000..faf65f003dc7409a1a25110d5ebde5c8beb77e41 GIT binary patch literal 2764 zcmaJ@dpwi-AAe?y7#67!nNd;M-LNp5S?MI#%1LQgteUNDnp-weAxGl;6gm~soumur zB$gFPp(sZuw{A+O&CC(hp*Qo5j>73a-)ks#$V{e zjpnUR5OG5i)`hYYwzJ(iNU|5gBaWmc;BzHRL>zxdjF=SXiTuJ#(%xs>Xe8oGh-AAb z^6#R;`~wj_0udMCg2FqqF<2~uNJL=?E<_@B1puY~mPmvoG+HW^qNI3~Koo_>y1Tp2aNuyx+6ZTHe2jz{=Nu!ppJkwN z#cUBzDB%fW5HpNSmLOK*iPTp5cME*sH`*BS*D+}ahK^$j(O48_rlr|HfB*j<%IANJ z7E6M;|J3`h#NyC+Ar~FY6$@fTZ0+JA?PpR6Nj@SjQz8(B3Isc5rx+M5kO;)l0wKaD zgotqTXR>)QGY+RO2!DT)UyNA7jA3*AXr4$d2a3nzkX+ndDR_4(!PkvKz+!#z6grmZ z=ITzs5@}c;nvd%&mL_1w^0_gRSuE!ttjl+?Gh*NiwV7#L5pNflLl+77h%Zf(c;BxD z_g%iPSkCur!G9Nv))s@FS?&L6kaJ9xa>2qVWdKYPhopzaM0s#76el$vG z+!K~cqalO66t}#Ab_&RdNTJi|Dnsvna%ZA$IbeWjEQXn^t!YTf2np4vv5oc1vL0zH z>ok#!ewLD{he7<>T|g5oq(HIP z()>CmN8L0sJh(C!3h*|xZu-kK{{!V!&oA>ER!bss{K6(QO>GyU*vEzpb+w=#er?Ot z>RKbW8cRzr4TljXQ(GR<3{0URK_JvK<4@|(=+x?cj;R$@j^I1CyZ@-bCTR>m8eWP3 z^pF^+x^zFt8wlFG2pUJSidCEe(`_(Az;BOMIXn($D3-ja^9H=LrW6|C+|{A{#Z*9bO@Z3r1^!JoNb(%cL=Ji69>SbowjDe zVEr71E)ioZC_K7mw?0Ok?pSs)?!IDVKXcPjC*`TJwh1Dg(-&E=>)=5`o{8Vpu79j=E8 zOx6WVk45)c=UB-BE52zKiO~rvHG$8LLLQ`_MUtQMw0{9{%Eau?Syoe~e%`|`l-|#w z=KHpn4-@N4a;@?Bn)8a03ADMgDY1I^M&FimP^pbe`0dKkwej*Olx~K z-KJ-5U-P_SWNN9AGS3&gN25ua_C7!u*@|Ng7;U&lhSqCTY>fVRb~Z5)W4(QpfjRVo z{mDpTy!@>I(mbL!%rn#5fg6uMnv`{-z+>N>2XyGQgon^pi*SV~ab*%bdux1aj^~5} zcqw_|nTexo#$f#qJ~)G7o4sVJ)_&HCmJ@|n_YEw^{7DJJ#x71hUT)^L&U;(j6;!a zP@6b7{oZW-5$$r{6@~v08Z@s-Ge|t<-s-ks@$lTNj5Vjip8b$h5u6&fLa{_P#4CViReCmT7@9gca?WuYb4FBVxCQMg#w(sW}0=@Euk$Ym1 z|F8ei_aEQ0s=5f|U?vnMYYzI#|WgPzF zySWb{(|Fi-{dsEM#`Rms^?O~hu_Bf^B zM;kv=`Z~LYdp90lmTMy)tqnilMsB%qZl&T<)xbUPF#7JG`3Wcjt9c>yhe4w(XLZ{B zZIC7`-Mn*^cjpdifAT6Yh}GDBI-am)k$gS*svqo3q5P$3YCzs5y^r@=(_2~Ci<0BL zgW0^%oCS0CF5U`XA2n48OQ&8rY1e`(UutAFwCjAjdw@aed&>)H7SI5c)xoAhrTc~y z_xjo;-5^G3?QOHJRu$A5-Mr7+qc^_or)VqFW8s2bh8_nnb54k*z3hd}U=zRemL|we zPG0Y1`k**&S5hE(02VL=MLINJeYD{Di{jwUcTQ=`(clPKnyP{-69;J`KI#U&BCxBj zTiCz2yQJ9mkp?k;|A}oL4S4o&FjWuU`{$Le*q_`sS5WsoIFXw*Y!6v;>+;4Y<8Z`d zI^v4qfn%S|OQ%LxNyf6h@4;>^;mpOF^rA!hk}jh2PY2p4gm2bIr9+7X!Ou4lhbS&~ zsXT{|rI`>Jjfhj9!nsX;U-z Y9X5`Xij?Hmng2^a-*vPKDr3)o0Y|%m@&Et; literal 0 HcmV?d00001 diff --git a/shell_integration/icons/64x64/Sync_Shared_64.png b/shell_integration/icons/64x64/Sync_Shared_64.png new file mode 100644 index 0000000000000000000000000000000000000000..a62d5a3e293e1a2ae0579e0c7b22993c3147b45f GIT binary patch literal 4043 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/64x64/Warning_64.png b/shell_integration/icons/64x64/Warning_64.png new file mode 100644 index 0000000000000000000000000000000000000000..11aab672522b7e8b945ced8107576b9f6060b2ed GIT binary patch literal 2687 zcmaJ@dpMN&9)HJWh%snqqD@SrqziK~<1&mfj9c5t?Uc4+ZZ9V0VrH0$YDOgrDJQim zA{&-;*)As`4Bcd@ty9Wj*b*m}2$@`FN1OKiv7PsM-{<%H{+{pW^Syn3&+{G%4)QlK z`ql^l0F%G~TBvsQn*R);008OYQv@jU={!=g6G*ag_0dS~LK7P-H?TI}VhfSYQm7PezZ_)T2>c4jH|L zNXOEJK42_2AXx;4B?pDGljGQK95lrfQh(pqG6tVALtVK7pu)KTi>C=kV9aBgmH^Bj1*gVw`Ayo)bk${hG& z+XV(1C}xYeLJ3#EN6j-bS%O3f8LiFq&k}gTFSLB|=Qe2@hLJIa7@Q+^zN7_5I{p8< z@_1jo#gb6)uYCWOSRB4f2x3A(u^>^z)($S(c0QDl#Fs57vA_(CMT=zF5NKv%x?b8Lj1Tq;f!aK27d zKb*6xiyHywOvCxmd|Vc=Gyyx22l6EgSk7Nq->+il#lRD4Bhx?;HwonUi3B{lIuk=~_2CCaLRH0^!F!PA5cB@%8GpM~#v z2dH(H?^gnPUWA}^&)V}KPXGuFYh^##Tn;Huuy}Kq)Zgn+r%8DhJ7e&;`k0k_#u0r+ z^TY1ibJK>+C$`iy0|W)ZVrJ%-cQ?!Co;jMO^c#g;?wDC5y$I+%iX~YR8A8hj?+wv9 zA;DzSM~gtHV*B*#!fq9%UW1>Ro<5mc@XrG3_oHar$B`W#QC8(@N>i2b3@m5l6n9bCkl~(G=>jJe$OL3MqkGCN>m_f%5xlEITr? zRN-K}a*lGd^u6Z6@;Z&FU|>d7=l!<+rzK*`?aQxcvWkkcULMZc>;B;_ANWU9QSx{j zk_Rno=!5x7kK^uF3~{D3BNW|b?oK}22l}>GxGVDWk4+4NRZ&^%TZLDqpUd&CQz}l! z^_G3quAXJ+sij;q{f$Ll3>MA&m4(`-sInzEy-6WGz$-7!yr=3cIOeJrww6=%S-G3K3X~%Z9SKYL!hw9B;lj8>V# z+ER0->NT7xny~@)!s!)bs*b?L9-Aho`z@fzt`x>-TnuOFO|@R*P>qEO@0w0#|Co#p zKgk})OHW2C)R}n&*}eTaXM>&554b-Z!n<1Hz>rQz7IpZ{zvUW~cV1c=vSU?B%e(iT zQfLx9iDohUoN^E)=(bw2*1f0x8le)t;hK)Fda$gl!BK6)XwT2VHrvO zjs=)RGyvrvYPr+>YQh8k)BT5LpIj` z4ji+C_b}K!p0{?4W|muFutsxE9=G4;_hPWaNTRyI_i4IC)KaUukq5QY|||*unFQS~f%N$cB>$YVmsg#m6Ume5yRvW{8z!J#*?&Q)+DLIC>{~iJwh4f*P=* z?^IOvy6W80%F4D|?_U&b&5mE4vaW164a{#6R`*LaAO7=@95eTEwn1LM>>EH2fOr9B zf4|6Y7H507?w35oMD0*-(X0UmT`SjYDP1Fc&AWO$d2GPetutTQ3Ok-zoKRt;9M3{b zA03I)1o2ye?OsIDn{921g8VV&rVqr7?{Ad<*bx$cP^^fIo^>zA z#>1x4T!Fm_Mi(|Bw*5452gEf}4gH56JQqwA-fzV}x-YxAxG+Sz8K0F?n10f<%}XvY z;qd#tPGnbyT+`Q!RQzjX$}{YYUZ-{D?a7*N=K6dgJ^_*qSLx|8VSI(&ra)czULtlW zV!Uewvpc~o97GmM4o08uEGgRv0V)~2EZe9@LjLQ?{zkXDagT%@>lDF@;liZ#@)*|T z=Iq{BGI7tVu}5Ond3Dwc!vn1nvtO6pQ@oeBJ^5|o){!@|8$eu1V$AhWL*8AaZ}YYS zBx1e13a!IT%)sgE%wZ+cAPVo+>N8Kr#-cqI*%8Wgf1T_Li`?WXj`fGvJn8f1x(1=P wZtknTY-w$5#2zs?5L36ex^K{9qvgb?iMa~bp2{=No&O~a^bMk2^k(e)1AudEmjD0& literal 0 HcmV?d00001 diff --git a/shell_integration/icons/64x64/Warning_Shared_64.png b/shell_integration/icons/64x64/Warning_Shared_64.png new file mode 100644 index 0000000000000000000000000000000000000000..de3181a6c3a07ada325cda0629fe2ed23746a461 GIT binary patch literal 3929 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/72x72/Error_Shared_72.png b/shell_integration/icons/72x72/Error_Shared_72.png new file mode 100644 index 0000000000000000000000000000000000000000..381a638d28e0f6eb922c6f6d9b4cba6ff1bea3dc GIT binary patch literal 4292 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/72x72/OK_Shared_72.png b/shell_integration/icons/72x72/OK_Shared_72.png new file mode 100644 index 0000000000000000000000000000000000000000..d7342f393eff4783ef6edccc9e8685a13087f3ca GIT binary patch literal 4216 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/72x72/Sync_72.png b/shell_integration/icons/72x72/Sync_72.png new file mode 100644 index 0000000000000000000000000000000000000000..6fd229e56487e170b15a69c11303b5d3cbec77ba GIT binary patch literal 3157 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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/72x72/Sync_Shared_72.png b/shell_integration/icons/72x72/Sync_Shared_72.png new file mode 100644 index 0000000000000000000000000000000000000000..3794be7f4c2cb38b0a08b1a5df6a15b78bd6f0ab GIT binary patch literal 4570 zcmaJ_2{@GN+n=$9v2QaZgOU_u>@%`2QAYMeWXz1^$jlgHOPDN^vL@t|EkqrTB~%oK zAw;$aDN7u?D7!HKan9-dzwf%f^S#&mKJRni*Zuq5_x(J-=epkOy=`rEj+a}48vp?C zT9}*IGT-Kh&k+s)04Tc<-N!T_WK$=y9l?_vj3(g#hFF3J4r<|t_QKiX(AZG_4%}G) zfc3bKy%X69Wr@TP{FKp$G0Gu+L?#*lIIAB*L}Pq$WT*$u%LlJ3yYi}07V3l5mA#~a zQb7@oao#@W*GV|L>sI!d>%JHSR#smRdNu^fB=EzL(a;dTYxn?Uh_39Pyh!H!&<&G? z{ux5{)s_9LC?}LP)R;iRK{b@slrSoAI8;+p8LqCOsR=&=RaJqj!c>^IrV?BosiBEf z)q?(g$uhH%u%1X;6SKc_F)dwLZ!(#Pgu#M?gO!8TlnEp+7#x8>9CE0tDlsFJ0z&a* zbchl@K<+1l2`&Ib@*$Fa2zclrBie%yNY<5QR{B>9e#C!h@d1A?6LY~}A!s5DuB>v{ z($7E?>i-Y*^ZO?{fNYEVZ@vE~ae#d&5eKuy1rP#B80N-#${nU6B8^EnG?_rMClIdv zTt#bd0+|rtO&~&z?KGhZC^W_gf9N>%Cjx~+THpi7XgmgIVWKO` zBV$u-gfSd$s%B^g*VNWRsKYf);KnA#T0gNS1WceG4p07x#r_v-@~_xKG58UgnN4sc zpCBC8j70E*{@FCr=ih5F{8zrevDkmF#pqwLFlI5Z!>#=vTm93;)X(AcAK@~Mf25DY zGxbhl3fuqcI41zWXK7(#Xdm*?V~@emXO*F~7_fm8?l`3&5)u+D4aN`lSvM+d7dWUF zgUfQzCVWxC;^mCU?{k9mGFKglX1F?fo3X}E?@af9@?n4H$5vxP)=~P()kbh;1B2ys zX2XFhs{sJcw@AYpahp>=WMtU78ys+=^Lis6Cu}ebzpO$5{?DbgcO&1uO$VKthk*L_ z#lhg0P7s5)Hl@M>0$2f2QT8eZW2duMsF2f>l}*6rriDgNqJ)VQEea)&CPt~;kiW+sU3e@1YGNnq;8K4fg2+BnkIbD&?^{UUECWyJZTd92GQW;t1mYRGu2N) zM$OG2wBX$oGON9$#*|_-m`9jiaOo;oJN6~G;l@D|joxGEYr1ml3$^Oj{@3$2?�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 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/72x72/Warning_72.png b/shell_integration/icons/72x72/Warning_72.png new file mode 100644 index 0000000000000000000000000000000000000000..93fe8ce33486b505ade5c506969f4cc04ae0290a GIT binary patch literal 2871 zcmaJ@dpuO>8$V`>NkoKk%Q4vGe#S6kq%j!^4b!Ae!WuIN6K2NDxTc0!m!f-Xr9u(4 zTa;8vJBkz=(UnqIAxSLSMCR;h)$Sj^e&=(}=Xsy!eZJr4`p3y;_^ee`)>8%mK-F^{ zjVYJw=01!f04U(zq_xWxU9r2rcq2bd9M2NM0F}cJg+b3~RyfRrS)9a}CU_M9piQ}c z{$hXndNP|IZNr-Lu}O#)$k70>ijp8;u_IwI7z&4Tc`mro>rx!Z<+$KBJJ9Xu0yj8< zyDmuxZ%p#>V<$zjoj5qkYH(EoSxyiQi&4N(w zDStWxbmI$Q(80#unr#O`prfM=L~w9)gseck9fY^FlfRDE5P|IANX8Sv`3EPDCgg;X znKY02SaQt;7aEo8yQ#BcJ= zV>#c>h4f9VtvngqxzYY-)L%^U{h2#{U0k{Hb@gGMeBXug#kSO)jsyUuGoCc6U&6D{ zPY6Om8`m|sF2LsO_7`~C;qiEbK-&q)ohQUHY|O%&#i|#P{_3l#R*qdyMmnbdGSJj? z{#jMsHK(3zmp`^}U}W)8gi1i0V=8-<&lM+ZGrPc8{D z-h?)9UsYQ=gWMlAQt=A7k`m>T;aed+^zP)=L5I4P8OIMD>g~I(69TQ?;PXJ0X`N{OeV9^f3a+|X%V}(AxC?$KD(D?8L{y{_8JuOg z&6D+Qg~{1*hpQ1j&qjT34{}nU6mcaHhC=H*zQegXI~!T`|y%*VTQUWNqui(L%n;?xXQ_vxQYkrMfgzV^uvyiw{dT34i6}Z*;y4>Y3(tTs96)a8{v~^3?tE`ACg9Lv@K;^H6sn6HgjrIM`R}9Eh zN9$XnpIyTW6cvxHRfSi{S!vowhwc9J=q4 z=gM8m+ZiWVJtO-_w7YZyIY0EVT=u#jnE_(~1;Vq?|Mn)A9Px;HYKh)_yU5ejssm~s zCGATXuAlVps)sW3!o|UDW>X)>p~uJ-+ikKNab6?H^p=yzxyhe37=iR(_Trcrs6V}G z#3Hg?pxAl4;ojXb+54>_@d22QitvySm>uSiA9`|XT*e=t#260%+kg74c?o?`f`H4V z$!oHxPd_cHPt#ZEY2Vu|mEju(erbAKDhe$1KKz*2G+5u5fvwXVNe(%kl7$LvsVJ1_ zYK(8Xls<(mi5LPsHrt=}f)bZs1xPtEsX~=B`RbjNV*&o1`Pk6pjH=0nnAn2?fyYA<3mL&@K7z_<|38m+XXv0 z4r|DG6} z9)30}?IJNk`{Q(HnTnpr!Jamh(_eQ_uSM!7UQ$t+hjrtb;e!XLm73mtH)9_lqd^Zp zB2(vOh!RnZ6uvw)Msd!GHM>Yo0Y;8_uGeHOyVEUxHnhuY<&Vuwl$VA11&d%pQKMNZ zphv>0VO`XH8&Y28Xyg)YEly-LVBJ<>7a42RYiMbj=|R>SN7gV>>uL;!gwrj3$!mg_zum6FvJ!z{qx5lfa)w@sUz@KJ+4Cl0>`gHE7 zRfg0@N+0&|u-M7kWJmRF)iqa}{7?;<`YV z`W4=Po(xzjEUxSVU;h;bT=&swSjQdf$O|cY9(o-yW!SU(S1&eHFWf9%_^7GiT(fL< zfOW-@o+sG^^H*lxJJmW`HVI13n_S+ptyV4YviJTgCYHRO70O-@ibP_s57MvF zt$G5{on9THb6YyMZYe9hkkmiAJ(tzA43Ei_fEA%st8DF&lz6=op|aydZjZ&{+cWs$ zeteg|VC&$Ifde&fyiT91U30GP#6ffQ2xwfPbaN7XKC&uZhr!1Kq8 z!Msbhw}NrLdtB?nvrz$)U=go~OZMFBwgaW?xzG8PmIWw#BGp%Y;h-B7g@^TgZhdri zFmE_oTy`jRRMF+IQHyKhO33fnFWUDMUP}xUtX{9p&EE2EId41Q58OLNxGd=g*-4B9lK*^@FepNpSDe=$}a6A)260JZ);*-@a_fEvU-4J#i;G YDl_`p(aOP#bHB2l?mo2hYeIJY4aSnb5dZ)H literal 0 HcmV?d00001 diff --git a/shell_integration/icons/72x72/Warning_Shared_72.png b/shell_integration/icons/72x72/Warning_Shared_72.png new file mode 100644 index 0000000000000000000000000000000000000000..882740a7ca398f9ac0765df6c659f19f66a66a41 GIT binary patch literal 4282 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 + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + eJzsvemS3ciVJvgEeIc7P8pMaitGweHuWDRjZXbXKs1IKplStU1NWxrFDGWyi0mmkUyppZeZh5kX +m/Odzd1xEQuToW5JHeEW5A1cwAH4cpbvbH/zv/3yixf7r9795vZFvOl33d/8zfH97cuP797/ZMdH +dz998+b7Dx/f49CPfvXjXRhvejpp/9P5Sz3xX27ff3j97u1P+Cv+8oKrf7R/9c3rb3+8+9GP6civ +X398c0vH/vXl+7ev33598+F3X//YbkXXnl5+pG97un68CWkX0k+GBV+/fPu7lx8+vP7jLTqPc6Rj +h3ffv/2Kuji8++90MMfdixDDLix592LGNf/4+le3H9Yn3YQh48T+JoyZTk78P12AL+ii07tX3397 ++/bjL9+/e3X74cPx3Zt37z/8ZHf8w8u3u5+//Jq+ebn799s3b979fnd48/LVf3b0/vnLy+s3t/Sq +3778uAsDXnz/0zB8efj+9ZuvfvH9t7+5pUEY5wGH45fc5T9/oL6oW3zG4enLn35LR764/fiRHpZu +iMH71T8c6segg9x+9B+/pKG4pbu9/8/bt//1x9rt+3ff4QhdOyZ6w2Gmtxt2vXz769tvv3tDQyvD +MMw3mU+h/+o/9Fx6GT7vRcgB36WUdqmf6GOMi5xThun2d69vf/+T3S/evb2Vsdi///iFzFNKfS// +yje/+v7N7ft/fvv6I54RhxYZjJ+/++r2DZ3v11/evOQx4BbKv3LCr1++//r2I83tuzfff+TlNtsd +aLB/9vIPt5ixIDf4p+9u3/763b/wM74Y4nQzjjTfU5D/427I/UJjkOkOM98kDMNuCNlvbq2350OP +6M9uNNFM/ZLm7p/ev/769duf6GNOX/7D+9dflfmctfF73MzV72K/8sD07h8/3r7VF6BVdPx5tSr6 +m59/Qfc7v/3q+O5bTMAHbIRbujGtlDfvvpbv/DN/Q5d//508O//9Jc3VL9+/fos+u1/wN/OXv3zz +PX31D+/fff/dT9/+9l33I9ny/3L7ivY1TedXu3/6zX+jP2gX/+Llq2++vv3j7etX37y9/Xj7YXeg +ZU7H/dybl6+/+/G93dJLvr/dyZd0Jf9p/z989en2t7TXyuVy9B//H5reN29u3774v7//8PLjH799 +99X3b+jb89vf3b55993t7uXbr3ZEdb57+Aa/fPPy7cv3Oz5u/de97n769uPt+5f/+fH173bfvqRb +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 + + + EvPNkp8s5kV7+/yQlznf0OgNTxTyYr1pyMs0cSmBOYDcIU8XVhpfnEit4r69ophX6+ISA/eGvDxl +t59nUVo2LUrLj3kJqUWpQojqAnQ1OlhK2hrMcqk+Nc3Nq6qe2v+lGSppuL2Zi2WTm1W5sjt3/tF0 +CDNRT6tWIMvFM8wulS1cM852mniW210cW9D/wqPs/22fz5VjZ6fI/t65kvzr4J/r3ueWAV2xHGUw +nWdmXOfc2zettc6crkJOzCQzdFrKkvmKSLLFq6CGmL1ukVPhwfW2Y5VYf2InpGTJ9KdLx7n0i34m +nlCxcnsE/QX1xU/S4kVgj6V8kTBALWHUcdp7qWGUmc72WsUI5HXkXPaBqxhJ6vqFeBEUZilidNQc +5RnlEsx5Gr7OydVhBgqKsam28VXSRpWR2WDG4oZueLDqXNO+U0Pj3lepgeaTlhQYVWvN6imWVH+N +qsOKHhtEl0WESK/gq6GaJ1VtpUkwxt6rEJhv2ax3Gt3HTCsTdOpsxuqvVLANV63fbuvEmmtA22Bt +01Hbdrxq65/9NtzdbWHdlapb2ti0vGru7dZVOnG01Ndm623TX+eN9NdHhWRbULaBZbtrXLaJ0VtH +6Rkwu06D6kF63SYqu52M+FHpiA165YpEqyI+qMoivg5jmIlViRAgCS5JCMi0umLJfanJOacbopep +Tv34mf0w12ZHDpwUSF+Jhe1LTcibydJv0uSQJMAeH9OG/8jndfNZXHnYLHk3hCYQVY0VibHwXqGo +uqyFFbUIdUknKxbFyFGs6lqcJJ/zwvmcBe8T/KeUnz6tUL7aV23tpRZhS2gM7YpzCN5Rua41WerN +c61wmspvrXO3tcOG61rtvjbd6bNWe62l7hEOa1v+aMVUveH0dN5sp3vadW1fb919XzZW2Ue2buMQ +U/RRYx/EMVq8osdV4APCHhD0gJCHExMqSeMtZQnPXJRwYj4fwSZ7YnfC1SYuiNNzauEjqhFy2Rvi +56rsmno7MSJjCm1wNeqcjl2lxE6qS5ny6qor4J9WaW10Vqlmo7pqZ473jbK6ryrazFVFm8x6amKZ +qJfqJlXqdEmX7TLWrMWipLVVnQpKoOhBhSwU4EFrJpUALWvr+KC7Mpiv2x31Rdrc1Z/8syEWW37s +yNYVjqGlGyXPkCK4HsTKqpwAO5ZZMYG6kIA6lXUeQWs+ZXteDoLonXMpJWDxtMD0xInsXDmPAcqD +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 +HJVu/fuwQ8leGoOYw3GHbdb9WkezDpfhnl5kEzEEezQhCVCHmo9PZau203zNe0Pe29Zf04bjcFzS +PmTgwnFcH9qjWXwghta+wO4x4P6R9n3OM+Arqqkmgnv2yfOwmBT9SjF55jv6HMsHy2mYD5/TdXrJ +mNU5Fjnvc7z6+hjHNddRjn9fa/GNXmsyrI3vcDjWL/7tT7799j/fWumv/vpnv/nN17/+5Vd/9Q9f +/c3Xv/r6Z7/5+udoqEkjdciN77gePvO9s0gljhf9y59/85tvf/3VX/zjb779X3/1s4/f/PLvv/r3 +duXti3/7V7cmex/717/++rfffP27r/7m29/9gx3qTXznd17+b7+5lem///qbv/9P/th/xOP8b36P +C9Krffv99/jfv/n5b/7Tv3Gf7DWCw9X/3a+//d33Hfc/fPOLrz58+6tvvv6Hr/7nr//p+47+6df/ +8TdfffPLr/7HX3/7y99838F/++2vHsd+73B/+PY/+3C37zqU6fGbb/jsX/3tP/3qa7/w8p1Dxgv+ +9de//njvWP0Nv/Pq/O9n//c9yPeY/NNXP/32Yz/nMQv/8kf/zV/8Vf3qL3/5c7+E/f7J13//zS9d +8t9/8d/+9be/+NXPfv7tP/763/xo+LcKOVb499azemgJ0x6JuDhvifbKv9B//4/f/chgZmIvvUX/ +pJ//0/3P/+cW/u6LdfniP3zxf/5fyxc/t1P+Jtyu8ZqOK/W40xc/HaX5RD8dr/Bp6XSFX/7Bi9zH ++ic/+/j/Mvk1qW+bZ17tvO9/Zy/9v8hMqMutpy4ZF7eNhZVxHFe7laW4Ybdr1Z9uK4F/1PjHbT1Q +02NI3tQR7zSO7daF8AsX3oq1C5s5lAeCtpdLgm29N7Vrl0fw8UdGy3qC5kgdtPjPqXdb1aBEL531 +hUDop/BntSI6nUnlJK0LK2FIsQ4iaZdJpLPtGAWkyf35eZT0UXxLraBKsEC4rqcdZRD9eDHrYVdq +0eVHOdK9qezafkWzAEHmVdSasBvKNMF6NmiaG9dgL6QbjV5hriquTjjvK6hFgHqvtvVe+2U2R2YA +ZHdgY2ubUssvZsGuXekwd8aYesGcuT0dkTjzpMIorETPkcIxqt2rbMZ9c+4ewhQ2JhK5bHHmVg47 +08GnRDJcJFG7oO2E1e7pZYhse/uqat/NSgfZ4NZdaTXsKTUF1mUr8VtnQYfJjIhjxBWlOuXFAGAH +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 + + + 3BuCs368jSH4s09/Nw5f/vr6RTcIQYqgfPmHm+s/tSZ4J+CRkD/DxWjrfzj4w7dsI8ifPv/X1Vc3 +lwc//+z0+sUvDobDT9v///b9wev2z3D454PhOAfv3Hg4HKdQxlLwg6uD8+2HMvo4hPbDOPrs4sYP +QyzFHf4NzbWX+c/f/tV++e/th/9qD7Snvj8Mh78//F//ezh8gY/++eCoaUjO+3B45MfjUnM8vDoI +xyUPaSSpplgO43HNfmzPjOV4LC4dluPsXW1PjKl1NoyHZwdjez2n2Eix9SSFQxeO84iX3Hg81tZn +l49LrJVPxBhze8ljiCPaGY5jLuNh+0BJvrRPt3GN3pMQkmu9H/zgsseXGsmVdOiPhdIaCUPKh60H +Y2g9aN9JIR62r9QQ8ELrSUnte67NbB7aX9yxy7kcjuG4jc4d1ta/mtvH07HPrYNnB+nY+ZIzvj74 +4A4xpFjbJ9uEhOoOjzCZyYdyyFkrob1z1EY1uOpJCu3ho9ZKSa3vY25vte8c1eNhGELFh0IeMAFH +rS/DGEf0pXBGMW1lKIdt1oahdfII0+YwPMxaSnipjZjr0WbNxyzrUqofD12bcoyIhDY56GhMQwzy +rbZsY/GY3NQ+2nrYGvK+YEna11LjD37Nj7KMeBPvuXjcet3eaxMYQ219ar1uHIofWm9dSBjamPxQ +yRGh8Srea9PpXZTeDLmx7xEXfizCbJ7zOOO+s4NXBz/7skmiuw15+7MvAdsaMPlrXozPPvsUuOE/ +39z1ogDtwc/Wnvj8m9Nvzz9rB/aLP53effO7X+kjn65WWx/6/Sn0wZvPzl/e3J7rs//jjc39RWXO +z75sIuLLg/HY18YBHEtwjTeuGh+ltjllJ405lcN0XP2ACWg8EdvGbbzX1otz1Nh1SORv12bJOU6u +7KQ2ba7gpdo4vTZGLo31uf38ca7tL9xJue2/w6O2xm2zJrBuTmilMVjKbUs1Aj512FbapZJkI/nS +dkho22Fs/XX12KfWudaBlNqudG0Bh9GDf10KeMP5xvdtuRw2e67Ycm6MHrw5usZHTTyMoa1iY4IU +KnZF+0PApEByjE0IYNOW1nabkFwgY9qOiikGEELg+I8y5qoxLyatLflhI7gxYEy5vZ3JbcW3ruG7 +KVanGynlxvptSkrCFsCsUQ7UY9lYpQ2zcTEeIKOB+9ujufU6JQhV7ho224QaeBiEtr/ww3FIEHyy +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 + + + diff --git a/shell_integration/icons/SVG/Error_Shared.svg b/shell_integration/icons/SVG/Error_Shared.svg new file mode 100644 index 000000000..3e2722050 --- /dev/null +++ b/shell_integration/icons/SVG/Error_Shared.svg @@ -0,0 +1,4769 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + eJzsvemSHcl1JvgE8Q53fsiMbBOS4eHusXDG2uyuErtFisaiKGk0bWUgKlmFFgooA1Bkky8zDzMv +Nuc7m7vHjVxQSHaL7Ey3BG7GjfCI8OUs39n+5v/45Rcv9l+9++3ti3jT77q/+Zvj+9uXH9+9/+mO +j+5+9ubN9x8+vsehH/3qx7sw3vR00v5n85d64m9u3394/e7tT/kr/vKCq3+0f/XN629/vPvRj+nI +r19/fHNLx/7xv375xTcv399+dfPh91//2G5GV59efqTve+phvAlpF9JPhxlfv3z7+5cfPrz+0y26 +j3OkY4d337/96vXbrw/v/gcdDNPuRYhhF5a8ezEv9P3fv/7V7Yf1STc5zyPO7G/CmOnsdBPCPOCS +mzBkuuz07tX3396+/fjL9+9e3X74cHz35t37Dz/dHf/48u3u5y+/pm9e7v719s2bd3/YHd68fPXv +HY1B/vLy+s0tve63Lz/uwoCX3/8sDF8evn/95qtffP/tb29pIMZ5wOH4JXf5Tx+oL+oWn3F4+vJn +39KRL24/fqTHpRtiAH/1d4f6Meggtx/92y9pMG7pbu///fbtf/uxdvv+3Xc4QteOiV5xmOn1hl0v +3/769tvv3tDgykAM803mU+i/+g89l16Gz3sRcsB3KaVd6mnwdjEuck4Zptvfv779w093v3j39lbG +Yv/+4xcyUyn1vfwr3/zq+ze37//p7euPeEYcWmQwfv7uq9s3dL5ff3nzkseAWyj/ygm/fvn+69uP +NLvv3nz/kZfcbHegwf6Hl3+8xYwFucE/fnf79tfvfsPP+GKI08040sRPQf6PuyH3C41BpjvMfJMw +DLshZL95KP/KPdAj+rMbTTRTv6S5+8f3r79+/fan+pjTl3/3/vVXZT5nbfweN3P1u9ivPDC9+8eP +t2/1BWgVHX9erYr+5udf0P3Ob786vvsWE/ABW+GWbkwr5c27r+U7/8zf0OXffyfPzn9/SXP1y/ev +36LP7hf8zfzlL998T1/93ft333/3s7e/e9f9SLb9b25f0d6m6fxq94+//e/0B+3kX7x89c3Xt3+6 +ff3qm7e3H28/7A60zOm4n3vz8vV3P763W3rJ97c7+ZKu5D/t/4evPt3+jvZauVyO/v3/Q9P75s3t +2xf/9/cfXn7807fvvvr+DX17fvv72zfvvrvdvXz71e6fX77/7uEb/PLNy7cv3+/4uPVf97r72duP +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 +etOY1sNbaXPs4Y+j0q1/H3Yo2UtjEHM47rDNul/raNbhMtzTi2wihmCPJiQB6lDz8als1Xaar3lv +yHvb+mvacByOS9qHDFw4jutDezSLD8TQ2hfYPQbcP9K+z3kGfEU11URwzz55HhaTol8pJs98R59j ++WA5DfPhc7pOLxmzOsci532OV18f47jmOsrx72stvtFrTYa18R0Ox/rFv/3Jt9/+51sr/dVf/+w3 +v/n617/86q/+4au/+fpXX//sN1//HA01aaQOufEd18NnvncWqcTxon/5829+8+2vv/qLf/zNt//r +r3728Ztf/v1X/96uvH3xb//q1mTvY//611//9puvf/fV33z7u3+wQ72J7/zOy//tN7cy/fdff/P3 +/8kf+494nP/N73FBerVvv/8e//s3P//Nf/o37pO9RnC4+r/79be/+77j/odvfvHVh29/9c3X//DV +//z1P33f0T/9+j/+5qtvfvnV//jrb3/5m+87+G+//dXj2O8d7g/f/mcf7vZdhzI9fvMNn/2rv/2n +X33tF16+c8h4wb/++tcf7x2rv+F3Xp3//ez/vgf5HpN/+uqn337s5zxm4V/+6L/5i7+qX/3lL3/u +l7DfP/n677/5pUv++y/+27/+9he/+tnPv/3HX/+bHw3/ViHHCv/eelYPLWHaIxEX5y3RXvkX+u// +8bsfGcxM7KW36J/083+6//n/3MLffbEuX/yHL/7P/2v54ud2yt+E2zVe03GlHnf64qejNJ/op+MV +Pi2drvDLP3iR+1j/5Gcf/18mvyb1bfPMq533/e/spf8XmQl1ufXUJePitrGwMo7jareyFDfsdq36 +020l8I8a/7itB2p6DMmbOuKdxrHduhB+4cJbsXZhM4fyQND2ckmwrfemdu3yCD7+yGhZT9AcqYMW +/zn1bqsalOils74QCP0U/qxWRKczqZykdWElDCnWQSTtMol0th2jgDS5Pz+Pkj6Kb6kVVAkWCNf1 +tKMMoh8vZj3sSi26/ChHujeVXduvaBYgyLyKWhN2Q5kmWM8GTXPjGuyFdKPRK8xVxdUJ530FtQhQ +79W23mu/zObIDIDsDmxsbVNq+cUs2LUrHebOGFMvmDO3pyMSZ55UGIWV6DlSOEa1e5XNuG/O3UOY +wsZEIpctztzKYWc6+JRIhoskahe0nbDaPb0MkW1vX1Xtu1npIBvcuiuthj2lpsC6bCV+6yzoMJkR +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 +t06GC8Oncv7S1YU765cHrtGT0dLBox/XF+7qcnu5c+9+e6XZvH4wNtT63msYL1tZu3o7e/NwtPLp +3ZJ+M3dr8bi/Plx8vD06vHk/vXK6tqK/f7n0qXv95aWrK/vJk92JnX2fFfvZix/f/rS4s9x8cfag +Ybvb7xbuHq29W7g9bB7fXLl19XRt5uHe/qWrhKy1j8CTV/bfvcyWugvdV7f3lw5Hy4fZGxGh4+O1 +lbZY/3nh7oPrL7kfmPJw+f3B+z78dO3nlcd7jy8vzeWfvl/cnrvS4zm8au2dXrpafJq52V5tmx9n +lg/1hzt3F6+qazeXfrj18ebC8vXna8vl6Y37L55cObzTbreO8KfOzdX99UMeWSTzrWzQ+f7j7c77 +J3tL3asPrs8Nbv50uri+fe1nnP/swp0nh+rS1fTOi3cLi7329eOb957dmc+Of7rXybL54b5aHLQf +i5tHt4Xvsb3yZPgC0JZdL7OXKtm73Vmeb8H+imf3ZuZulUvdbPOYV/B6/erC8uO7V16u3irMEPbl +8dv0yv1suf/+5t0Xe29vy90r76jb+72rsKD76Y0ruCVv05fpjz3E0/2lo9l0zpLmi731RLy78mxl +vnX32trlm28GOEqKf3hPvVCTS1eT3e8ea/r55v21u/anuy9Xn3Lz5VurH7kz+Vo+BtJ9ldy8f3/1 +llx5cHDP9vPy3t07e59+eE876ScM/W0sGTsKNFp64ifwrpqAmLm3hY1KTTBzeWnlA6EaJOADnb5J +P7UXd1Y+3VzZn3/682qrdf37pXT3+Y/F5tVXzxc3lpc2V/a3Oz8v/Pzu9sGlq0v69c4HRuabdO/N +6gdx88WSfrW4sbby6eWH5c6ndP7O/vHVg7Xl/RsCEHj/Y5Zt7fWr8fLtn4+fLm6s33i6tjK795Rx +4xDNtA+7Pzpp/njzwYvWz7yg+2neWrizM/pucefJ6HR8aTXMBnhwG/FqcNl1tQ0nZ2N5dOnq6pu9 +qwfy490HK8naTwuKSODux7trK0AdN27dXOoX7+t7FWM23Fi3EUw5Dw6Hp4QlWEuIpyfrDxc/PBFE +MXdvntz5uDaz/7S5mNzdeSNnv39/lycSoyM93SrKtZlrJ7PLh+nW0erN9eZaRalwAF73kcNsr+4h +hS7AoTq+Bku7Mrt8cLg6zO60n28tZm/ky/oebD7qvoj6/u7h6tyt3WLSlhRH5dPlS1cXd57t3QQO +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 +5e0YmqjnqbSwx2xxp+s4K+0s6K7lq7RYIks3yHPaufuaK+3wpQ0N1HJXWuNQ5E+nj5dzVarMGcvO +D1YKxoXJSlkFrYVV3JUaW1oIt42o5Kw01T1oSa8d11dxVSqREe6ODjdPX81pstGJCgdfpT2ER9Xd +yF2phyjKHJBbWlClEhmbwDNpqgKq0ha1nEXggkpjHkVeV/uom1Fpay5RblHrYKVZrEolMl9q8cCk +ubZHrQfVWqbY/Fve1trDU6k5zTLa7+7kq9RJVGR12FClkMdYfS2Zzi4c8VbWclZal5Np4K20bKDO +QHBVCjW/sU1N1HUpUrn66kstKx6obGtVyDkrbcycGOSttG6oprsXVSqRhfa1zUM0lk3lcldabpA1 +uAtz87grnSpN5aoU6GRYbWOXJ3WGh8BtVURTQZmTu9KKfFdXZ01HB2elHVWjJahSOL+E9nWkxdTv +5qm03Up0+MbU3JVWjkyNV9msBlal0O0Fq+0qUU/wEtgrq1NKeSptaSBcw+OlnJVaK9Wp0sIONTxG +2Z+RPc0WmtkuSxdVaa9BwRIaRWt5TxaqVJ+ZLy9m9rSc6M7KLoKVqoKVglpgtaDYkWm/0s/zsiv1 +TWbkUZXOFChZPZW297QpyErtLboSpiJUeX0N+VJQC6hWE6qVStSor6BSx0yIKixONZOVFujK1CxF +qJoyVpIzjSE921GGKoW1UNWme709vROwUoJVqddbNDDp599SKatSn2kkm5ppCrJrNCzypk4OdNdL +KPthoKfLzGxUcUNG52Q277ctNbrxRr5vh4jibtls8NsQzQ9UrzOD56/BGGQoHf52jQxYWN+arbqu +eupb36g1RCrNE0OpzVzfk0qxuiS7nfdbqz6rtpv/26GezswAxUK/L9JntPbxfluunCjQ83/bW7Um +J/gti2LmtKrUvt5inr+2FmcU5zb4yG/XZE7bWH/boBz2G6drdKnZIRRr6C2tm+D6ntRyTuWol/fb +JlmvVsr/bbszO89PMY7vu2WdlnTeb0dmqqeKeb8dbdTba4LfhlBsfNSd38n316BJNTkm3m9L9cb8 +Zn6KyfomeuvK+f46Q5pR0p7F+62rqKJ3gPfbUn1Bqo6fYkVSfboim+dbUzHhysvy9zlbnsP6Vllf +4yugvnVoctlSWVzf7ckqCn5v9BlVtcwVmIPoz2xzUPqnWzYGv52ilqPuLhOpeuyTvg== + + + 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 +ZAucNe+gHZQ3ZCiqIFE7wI+WJjnisQ4d+gw/6elvVgwa4TMjuY5ltKbG3d3Y4nAqrQq321XRaPV7 +QsdNxEBvthntewacGq2kB94i1jUYpWMQ6rEIXINROgYlkbkGo3QMSmQRuQajdAxCr4JI1+DkGfmS +HIkMblN2uSb66VuUEpkMPKkbmJmdgi+YuuwDg8MT5T2nDXgluhTyPwL8B39abCk6vTVFbzKBX0zw +aXmvRF532kSfIqV8QiLr0hZ5Z5zDfTPDkxM93tNSsuGj5oryhhJnSnYK9WJOihy0g+gCr4LnCrgj +2gXa1iUhUorA/82nSmZBxYSGsFL1Np8GHpeCjyPgl1NTdERKRUpbB5HSD9+uJRvtHh4byKa1v7bH +NwM6IFfAv/dItM6BU4b7Bmo99pTmSkkbKF1vRKWjDzqdRWMyWc0paqtNo9ObUjpSDDrQVQvsc/OQ +mPfhd/6/8f9rTTFA6lkQ6YwpqABAbdQ+Z89MT3aKzmwwmwhJc8mx/4eBgYGBgRFv/FdUSHSrMTCO +LEQnp1iiD28caK7ASDokmiUx2Eg0R2AkJRLNtkcuEj3yGIcPEs3LRwQSPcgYhzkSzQ== + + + 4IchEj2kGEccEs3ySY9EDyDGkY5ES0DyIdEjhoHBRqJlIgmQ6CHCwBBCouXjUESixwQDIwIkWlwO +FSR6HDAwokGi5SbBSDT5MTBiRaJlKDFINNUxMOKDREvSQUWiiY2BEX8kWqoOBhJNYwyMA4VEy9YB +RKJJi4FxMJBoOYs/Ek1RDIyDh0RLWzyRaFpiYBxsJFrm4oBEkxADI2FItPDFhEQTDwMj8Ui0FEaD +RNMMA+NQQaJlMQIkmlQYGIccEi2UopBoImFgHKJItGiGQaLJg4FxSCPRAsqLRBMGAyMJkGgx5UCi +SYKBkTRItLAykGhiYGAkGRItshQSTQYMjKREogUXSy4GRvTAwouBkaTAkouBkbzAkouBkbzAkouB +kbzAkouBkaTAwouBkbzAkouBkbzAkouBkbzAkouBkaTAwouBkbzAkouBkbzAkouBkaTAwouBkbzA +kouBkaTAwouBkbzAkouBkaTAwouBkbzAkouBkaTAwouBkbzAkouBkaTAwouBkaTAwouBkbzAkouB +kaTAwouBkbzAkouBkaTAwouBkaTAwouBkbzAkouBkaTAwouBkaTAwouBkbzAkouBkaTAwouBkaTA +wouBkaTAwouBkbzAkouBkaTAwouBkaTAwouBkaTAwouBkbzAkouBkaTAwouBkaTAwouBkaTAwouB +kaTAwouBkaTAwouBkbzAwouBkaTAkouBkaTAwouBkaTAwouBkaTAwouBkaTAwouBkaTAwouBkaTA +wouBkaTAwouBkbzAwouBkaTAwouBkaTAwouBkaTAwouBkYzADisMjCQFFl4MjCQFFl4MjCQFFl4M +jCQFFl4MjCQFFl4MjCQFvgYHAyNJgYUXAyNJgYUXAyMZ8X9MJLo5GBgYYoGFFwMjSYGFFwMjSYGF +FwMjSfF/IUh0izAwMEQBCy8GRjIiVHKx8GJgJAWw8GJgJCk4hRfLLwbGoQ8svBgYyQg+ycXCi4Fx +iAMLLwZGkkJAeLH8YmAcysDCi4GRjBCWXCy8GBiHLMIKL5ZfDIxDE1h4MTCSEWIkFwsvBsYhCJHC +i+UXA+NQAxZeDIxkhHjJxfKLgXFIAQsvBkYyIlLJxcKLgXGIIArhxfKLgXEoAAsvBkYyIjrJxfKL +gZFwYOHFwEhGxCK5WH4xMBIILLwYGMmI2CUXyy8GRkKAhRcDIxkRL8nF8ouBcZARX+HF8ouBcXAQ +d8nFwouBcRBwICQXyy8GxkHAgRNeLL8YGAcOB1RysfxiYBwgHATJxcKLgRF3HBzJxfKLgRF3HEzh +xfKLgREvHGTJxfKLgREXJERysfxiYMSIBEouFl4MjFiQWOHF8ouBER0SLbgUEk0GDIwkQ6JFloFE +EwMDI2mQaGHlQKJJgoGRBEi0mPIi0YTBwDikkWgBDYNEkwcD4xBFokVTFBJNJAyMQw6JFsrIkGhq +YWAcKki0LEaDRNMMAyPxSLQURo9EUw4DI5FItPzFAYkmIQbGwUaiZS6eSDQtMTAOHhItbfFHoimK +gXEwkGg5O4BINGkxMA4UEi1bBwOJpjEGRvyRaKk6qEg0sTEw4oZEC1MCkGiSY2DEikTLUIKRaPJj +YESDRMvNIYREDwUGRgRItLgcokj0sGBgCCHR8pEESPQQYWCwkWiZSD4kesQwMLDYxopEDyDGEYdE +s/xhiEQPKcZhjkQz+JGCRI8zxuGDRPPyEY1EDz5GUiLRbIshhERzB8Yhh0SzJAbGYQUssBgYhxOw +nGJgYGBgYGAcIojvsgLjMMPPQpDoFiUH/NT6bxYOXSqGjnQCAUn1c4hfMIAe+cmYaIKRYDT50ACi +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 + + + diff --git a/shell_integration/icons/SVG/OK.svg b/shell_integration/icons/SVG/OK.svg new file mode 100644 index 000000000..fa47be1a9 --- /dev/null +++ b/shell_integration/icons/SVG/OK.svg @@ -0,0 +1,3781 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + eJzsvemS3ciVJvgEeIc7P8pMaitGweHuWDRjZXbXKs1IKplStU1NWxrFDGWyi0mmkUyppZeZh5kX +m/Odzd1xEQuToW5JHeEW5A1cwAH4cpbvbH/zv/3yixf7r9795vZFvOl33d/8zfH97cuP797/ZMdH +dz998+b7Dx/f49CPfvXjXRhvejpp/9P5Sz3xX27ff3j97u1P+Cv+8oKrf7R/9c3rb3+8+9GP6civ +X398c0vHzu/fv3t/8+F3X//YbkRXnl5+pO96unq8CWkX0k8iejm+fPu7lx8+vP7jLbqOc6Rjh3ff +v/3q9duvD+/+Ox3McfcixLALS969mBf6/h9f/+r2w/qkmzAknNjfhDHTyYn+TwFX0DeZrjq9e/X9 +t7dvP/7y/btXtx8+HN+9eff+w092xz+8fLv7+cuv6ZuXu3+/ffPm3e93hzcvX/1nR6+fv7y8fnNL +b/rty4+7MOC99z8Nw5eH71+/+eoX33/7m1sag3EecDh+yV3+8wfqi7rFZxyevvzpt3Tki9uPH+lp +6YZ461/9w6F+DDrI7Uf/8Usai1u62/v/vH37X3+s3b5/9x2O0LUjXnGY6fWGXS/f/vr22+/e0NjK +OAzzTeZT6L/6Dz2XXobPexFywHcppV3qJ/oY4yLnlGG6/d3r29//ZPeLd29vZSz27z9+IROVUt/L +v/LNr75/c/v+n9++/ohnxKFFBuPn7766fUPn+/WXNy95DLiF8q+c8OuX77++/UiT++7N9x95tc12 +Bxrsn738wy1mLMgN/um727e/fvcv/IwvhjjdjCNN/BTk/7gbcr/QGGS6w8w3CcOwG0L2m1vr7fnQ +I/qzG000U7+kufun96+/fv32J/qY05f/8P71V2U+Z238Hjdz9bvYrzwwvfvHj7dv9QVoFR1/Xq2K +/ubnX9D9zm+/Or77FhPwATvhlm5MK+XNu6/lO//M39Dl338nz85/f0lz9cv3r9+iz+4X/M385S/f +fE9f/cP7d99/99O3v33X/Uh2/L/cvqJtTdP51e6ffvPf6A/axL94+eqbr2//ePv61Tdvbz/eftgd +aJnTcT/35uXr7358b7f0ku9vd/IlXcl/2v8PX326/S3ttXK5HP3H/4em982b27cv/u/vP7z8+Mdv +3331/Rv69vz2d7dv3n13u3v59qvdv758/93DN/jlm5dvX77f8XHrv+5199O3H2/fv/zPj69/t/v2 +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 +D38clW79+7BDyV4ag5jDcYdt1v1aR7MOl+GeXmQTMQR7NCEJUIeaj09lq7bTfM17Q97b1l/ThuNw +XNI+ZODCcVwf2qNZfCCG1r7A7jHg/pH2fc4z4CuqqSaCe/bJ87CYFP1KMXnmO/ocywfLaZgPn9N1 +esmY1TkWOe9zvPr6GMc111GOf19r8Y1eazKsje9wONYv/u1Pvv32P99a6a/++me/+c3Xv/7lV3/1 +D1/9zde/+vpnv/n652ioSSN1yI3vuB4+872zSCWOF/3Ln3/zm29//dVf/ONvvv1ff/Wzj9/88u+/ ++vd25e2Lf/tXtyZ7H/vXv/76t998/buv/ubb3/2DHepNfOd3Xv5vv7mV6b//+pu//0/+2H/E4/xv +fo8L0qt9+/33+N+/+flv/tO/cZ/sNYLD1f/dr7/93fcd9z9884uvPnz7q2++/oev/uev/+n7jv7p +1//xN19988uv/sdff/vL33zfwX/77a8ex37vcH/49j/7cLfvOpTp8Ztv+Oxf/e0//eprv/DynUPG +C/7117/+eO9Y/Q2/8+r872f/9z3I95j801c//fZjP+cxC//yR//NX/xV/eovf/lzv4T9/snXf//N +L13y33/x3/71t7/41c9+/u0//vrf/Gj4two5Vvj31rN6aAnTHom4OG+J9sq/0H//j9/9yGBmYi+9 +Rf+kn//T/c//5xb+7ot1+eI/fPF//l/LFz+3U/4m3K7xmo4r9bjTFz8dpflEPx2v8GnpdIVf/sGL +3Mf6Jz/7+P8y+TWpb5tnXu28739nL/2/yEyoy62nLhkXt42FlXEcV7uVpbhht2vVn24rgX/U+Mdt +PVDTY0je1BHvNI7t1oXwCxfeirULmzmUB4K2l0uCbb03tWuXR/DxR0bLeoLmSB20+M+pd1vVoEQv +nfWFQOin8Ge1IjqdSeUkrQsrYUixDiJpl0mks+0YBaTJ/fl5lPRRfEutoEqwQLiupx1lEP14Meth +V2rR5Uc50r2p7Np+RbMAQeZV1JqwG8o0wXo2aJob12AvpBuNXmGuKq5OOO8rqEWAeq+29V77ZTZH +ZgBkd2Bja5tSyy9mwa5d6TB3xph6wZy5PR2ROPOkwiisRM+RwjGq3atsxn1z7h7CFDYmErlsceZW +DjvTwadEMlwkUbug7YTV7ulliGx7+6pq381KB9ng1l1pNewpNQXWZSvxW2dBh8mMiGPEFaU65cUA +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 + + + grN+vI0h+LNPfzcOX/76+kU3CEGKoHz5h5vrP7UmeCfgkZA/w8Vo6384+MO3bCPInz7/19VXN5cH +P//s9PrFLw6Gw0/b///2/cHr9s9w+OeD4TgH79x4OBynUMZS8IOrg/PthzL6OIT2wzj67OLGD0Ms +xR3+Dc21l/nP3/7Vfvnv7Yf/ag+0p74/DIe/P/xf/3s4fIGP/vngqGlIzvtweOTH41JzPLw6CMcl +D2kkqaZYDuNxzX5sz4zleCwuHZbj7F1tT4ypdTaMh2cHY3s9p9hIsfUkhUMXjvOIl9x4PNbWZ5eP +S6yVT8QYc3vJY4gj2hmOYy7jYftASb60T7dxjd6TEJJrvR/84LLHlxrJlXToj4XSGglDyoetB2No +PWjfSSEetq/UEPBC60lJ7XuuzWwe2l/cscu5HI7huI3OHdbWv5rbx9Oxz62DZwfp2PmSM74++OAO +MaRY2yfbhITqDo8wmcmHcshZK6G9c9RGNbjqSQrt4aPWSkmt72Nub7XvHNXjYRhCxYdCHjABR60v +wxhH9KVwRjFtZSiHbdaGoXXyCNPmMDzMWkp4qY2Y69Fmzccs61KqHw9dm3KMiIQ2OehoTEMM8q22 +bGPxmNzUPtp62BryvmBJ2tdS4w9+zY+yjHgT77l43Hrd3msTGENtfWq9bhyKH1pvXUgY2pj8UMkR +ofEq3mvT6V2U3gy5se8RF34swmye8zjjvrODVwc/+7JJorsNefuzLwHbGjD5a16Mzz77FLjhP9/c +9aIA7cHP1p74/JvTb88/awf2iz+d3n3zu1/pI5+uVlsf+v0p9MGbz85f3tye67P/443N/UVlzs++ +bCLiy4Px2NfGARxLcI03rhofpbY5ZSeNOZXDdFz9gAloPBHbxm2819aLc9TYdUjkb9dmyTlOruyk +Nm2u4KXaOL02Ri6N9bn9/HGu7S/cSbntv8OjtsZtsyawbk5opTFYym1LNQI+ddhW2qWSZCP50nZI +aNthbP119din1rnWgZTarnRtAYfRg39dCnjD+cb3bbkcNnuu2HJujB68ObrGR008jKGtYmOCFCp2 +RftDwKRAcoxNCGDTltZ2m5BcIGPajoopBhBC4PiPMuaqMS8mrS35YSO4MWBMub2dyW3Ft67huylW +pxsp5cb6bUpKwhbArFEO1GPZWKUNs3ExHiCjgfvbo7n1OiUIVe4aNtuEGngYhLa/8MNxSBB8sos8 +d0hoqzK21Thy+IKv3BZtz+BbbRMkbN42EdVldrDNXWjLSXmYIqVp45ihbU2KzNrkbFu8MTjdRTk6 +kSpt85PU/pggYNvupbgCU7WVbSOaMx42UVupJj8L93htHW3cWBr3+DLKtsdR0fZ6IXu2z5UA8dv2 +oychgmuwgG26ZKeLRCZThPZRcHByELeN0WL2HP0QxijM2KSRw8I1/kmUoyllSJXGfJgzTOLYGKi9 +4nzgdygkcxO1LuCoI49DeLZN0DZOE4tthqJwMb6BWfQ4VVw7nJosa10f2y6hmKxN+mYcGI1XsAJj +gVAPx0PbVmxibOdBm7Y4Du13TKPDqrWJjblNLLpfIw61tiAlDqS0YbhpgcDgsirtBMPegPxuS04G +aTzeJhrbqI6jcIPHoYY9X0ZhxSa/8cBYPc8Oz4mBeCjCEdi9I469dipi95LtQuR+9jlVMjDnDJwU +297xJQqTy2JgtGR7nF0+soHGpSLQRzbb/tgOjOhlGK4oK7bxjFi6sU2K4zoPkFTtvaAHJduKlEht +1B4L6zGbEYfyjO3Ai42ZvMvCeCFX6BhYrow91zZPW6/xkOf8KKw/Fp7mjn1sI3GO420T2/QIOX5G +BwHVOhlJiO3tgRLMDTjYbDyNF9vMZkjcxlguN0EDDkpUqsB6IhjbCela14f28ii8GCGL2wE+gJfa +d1ysFHNtVzf52zilyTmIljpEqhiDHOONTYfcRtNO+lLQdmr7qE06dJFIDhhF+DgVe5zJxt/QKOow +tLWgIISOEXG4VzJfpB5DLal1BMNsUzVSochjls+IQAk1kxnbkotYbD9iKCNUOUwv58xzn1A5wQKM +JXDvx9Fl5cYxodPoksjFVNoStE5i5+Akpzxv/N42TZvosSg7xpAqFB+f8DfMG5auKxMQgtlDZrap +S0nUhDZ3I1nOQXS3VWzDcsmpXBp9EzqtxbYQyo1cRfSyMYGIXWyNtkxYgxGda/33TfYfLvgOzNhE +Xdv3mcSmYXkwY5scn7l7SlP02uqVpv9qv6HSgeHYD+zttqnBIwGCSCZ9hCbYBltTCLr1mnKDVSJ3 +NoZremoQZnTUidtZEIZA9bYdLBDhQ/sPT7jcWKodycOYYxFehA6AM7FknsntLAzkpDpS/OF8aTu6 +iTY91Jv8LFAa2rJCVR+4VdtUtk65Q+jCY6FSGmLiSBrF4TDHwSYKA1VadBbdhhSPta0LJgz/ldPW +DW35MGMUjCMmsz3cZiy0qVIVsS0Kzw+flBdFExkxukT+aAtYKeNDEWGQfGNKnMOjKJ9Yy6Ep776J +iZySMOPIEwmbXw6iAmWd4qnp7cqKrcVK1aEUCGrHzRxFnjWlgcKvia7IA7mpREEP9whZADWcalRb +vNakk6M81sB9OeScguhwPvOccDpFaIACEZPK7QHjp033guvAijgVK4YAIeibQLmCjMsDvuuwcI0H +28Rm7CkcMJm2Sy0yvU1JxG4doSEUsaGaCKo8kDOfcKmtp4dlGLCFYPyMwoXtY9RqmiJSqCt6Gkgw +Jp0cVJAzbaS0qNpH2nk3UlVqcq9xFbgL4hvnFEzFtoera8NscxpDrPJGE16RDFtxsCVHrm1c02Rc +6wt0ULC7sK2YZgOlcRjQuSYMSuMtsOFQPbdRbroehXzyNelRi0lxEEaUSlA8aNjlKipLGhPmLIzc +tNjQTd3ImNWmHDg5il3gWRy8rU8p3HBNgx2VBdvx2nqP40dkX9Sd0o6hKNp8Y6kM3hiHgeMX01g0 +cjlFeBTXXFSt5OGMnUAlvfEiDDh5rykfmRzbBu5F/XW00rATAzm9nXKjMLMaAE0216bNjrJDqOi0 +WW5SVJiwrdWC28CC0PgKzcwqFuAVGKpZp07Et8eqNXWhCVg9ij33dNOTE2VfHkV9aydc9GII5tHz +jIqZOwKy18sxRrMmqlJIRmxiGa4LUWlwGMJmaesWRUTx1zYPbesEYaoRGm/F4eN43LYzIID9ONKx +ilDmSZKc9Gss7eBoY/EQarCyRuE8YeSmTEM9hCqlOt8A21Y1hSaVqF6l0gxXKoZDFWnXuDwe8uwU +YwJHBQaDD8VR5kZsJCiwVdixgqPaH6ihylpD7auYADEkIrgHe37EYc2jf2ydbqpltqM5NsMJ3pxR +tgV6CcW5bZihJBWIjZcdT82heP2QxymN5XFgGAi4sVIwDjxb5UjGCHhIx1psv0RxCzh4oo6onEFZ +pgE7ymc9NF9a+eIxwBaKIcjRnAbMehRrDyZXgUk5ZzvyooN5J/pxLG1Zr3D6NYYrYlGFJjnaM1k0 +vHYgZE/7IGVdExjAIqsCtIeC86DNDLV39BBqTOMoipRhoCnl2AhZMTWOblu8mVuUiI0FM0zjAaPE +pqxNwc50yozCWNklqk1DIccNJdMybgoOD/YmVrIcw0m11/YtGu8Rjp0mz9uD5EQqyugAhAI3QRD2 +aHIrDqqyJp7EgfYBrH3ubCgmSc7h7EUtwpRBJ2wz1kYgVmlp2xa7lkcGjxJMA9isFBM6uY3sELIK +pw4Wqul1OIlrk0viKmo/YW9iJb3yYh5pBLVuiRsJBwlEFgQUvVfoDVj8CGZYsp3SxJoo6W0wgQzX +mEtO4uSKaJz8PGWm0/e82ERgj6bdRkrbNI7C8TVFT92laR9qLmHQUG/GWJU/2/KPh9gdMBboRnNi +h23yHZkRoiWKSdU4wIEZq+g46FSC6tF6pLzXTmUnfhD11MBfKdzY5IFP6sRoxwa9GjwrEnx2MarC +jw4eR+FEODXVk4dNBd8bzOJmOYMRmwCEpwXGgjJi0wDpi2nGUcER3I55D450KdEAbupcJT80JVNc +tTVVUVDhZrHDuAmSpq4fwshoQpUKIc856jcRkgRTGBylPFTDQKHu6atS3d3pwoku1Q5why3Qpl2U +Z/O/VhqNdN/QAdtMeD0123TBcILohwLMswuGLPR+eJrlNG5z7eCTDSYU214Sr3GGM5z8k2Eb4LAh +zyf6sLEMxYVsykAks0NtSFzY1igNHXAkndnw39BMhVvTmctWBHqbP9KgeHY/bNuxNJSaSBWpD54K +tPicH6oczxkmX5vD9i3Za81akZNig+XAh+oZxbIE0USvDsQxn7jPII2deuYxPvjqHfVkuubFI9hO +cacjHodU7XAy33wVt7PsZbqZ5fQvsQazO3HoHNFfj4OfziBzNGPHw5puuo1MfQni3YeDXlejdXwU +D70MONAohVnsxcfdTKcohjT7RZe9SPdo2mxu+4I+ekgIOu2dE4sHZh797ZwgeumLamNgkWkKYWvT +GBEnPY7WyH1EV0qGg7adGOOoLnqwZjspeBZSahZqk8PYJlgc9J5xDh5pdG5T0yiODEb3fJttuuvh +NYWyJK7ZAslP5/wIc9rc9bRqE9wQh+KsL+qa91Q+PJmcxvTIOEfxZkHHNoxDcdSbWz6KZHPQVMUr +D3fzyAWU7dn0bIzY05eqPnmY/VFOmwXnvdk5D5uxWZ3lXuf8pz/aOf/pSwbwHuab/6vGxEaJiY2H +3x8wPPbiIB3+/BeHf/uf7YmtI+PbVZ+Z4oASwdsS0/vt+e1X57enG2G9reG4cUssztG4E2WiaaVt +p1OtaCxklFWnUETBaF5N722jTW9esyt/PKCrinK+6ZSeYcamfg7cw42jK35oMqEwzOgRXER0sXFG +E1F/O6UQoYZ/hAOlZlit4MCmSRWI16bNgQXhkQiihMZhbDL173wqQfOHv7IiAEadEx61JsiasTCI +azHCDoQK0TTEenhC7WR0VNdqkvCWV8+5R4Ali+crjrQaPQ/VE8rpCs0lgMF1VwRfqTc08eAPlyM5 +OXg5TTBDNu0Mv4JQCvSz0uFeGBERb3au7dj6gsYuRw0jjB8bPb0ooHhx5Yzq5hqg0DRbqX2MgRYh +tWEN4mBM1AUdA4S0UgYY5phCvgIlvcAWDfQWOphkgbJkoE6y6D7GhCUfZM2bCY04HZx9BacCFx1G +DUxn/I9/ys0SwL731bUpbKue4dsf8FTEqiCcQGM0oalEuxh+FRlN46EaqCzj5EHUujZba2xdyWLZ +wTfcTKCxcWUbIQcEkwf8iKBEsx5EDYmenmGR9G0mp2YK5wk9LKEtXMYJGsCnzeSOCa34Ab4ZRA0j +mjtZDmGlM/MjNgMYodCShye2tXOF46gmuP2a7BXHIFaChxqcE43Q1pDeLfBzHR0GBJtlwMEKT36B +zR3ojabbmi7IL8AtEtz1qpPTCvX8uJz5o+3CpvHT/jqB1UG9kc/4xANU/GgOeIBF/w== + + + wS3QLVOhyygwbou1RtiGEdzEuPyKpxvVuszwiQPzDnSStuExdG0+SmrDYwArUp0VXxWtiTYVTWmQ +He2gAsJeEJslR3aH7i24UaABYHDQNKFf0PkA39MXNK0Q6mNEbZQYn0+0aTWu/ffloGz1gyNDtsM+ +knljbowZuP6wwVtH+24YY6Lp3SxSKM4QhlgC6moQZYiYtMlq/O7puupxCXjHnIzTQQUCDzVWZnCT +Nn/B5Kw9NUggr80y3RQyktpGzX8PokzT4wsnJlcQzhlo3idw6AaNMSd2bRBrTCwcxryORIkeaf57 +eA1OMBY4LCTOPxRqsfPB/f3HbxkY3bQdGN+GQ+rqQAzxIoFHGrTQMGtyEg8SLRI6p7BTk7Yi2eBH +TyWLI4zB0bZtQirdLeJAqcTOkJI8DxScNl4NxwKGaZQgDg742PJIiqhK9J3AA32ypevvhonaJys5 +uvUmw+3RmBTyTd0sNNoRkPVBArFBwr+cf91elRx0RHeWhO/aF5tRuUKnB8paRM3llGIUX7eHAHu8 +QgB4siJ8zsHa4jfOgk8DLtl2SskqOXgOlpPEKOFyKpfTPVsURrrhWBD2g+sEBjIBPtAlyNA4K8QR +WilGTjB10aYuw2uyIokbinPX2JgkRIriWgdmU/4u+Lqqb0iisR6KQ6MBHkP3xyghNIjNoSRxiDjF +PpVhEN2piQYOC0KuOvGRpJLEhpIQ2hjEU0lTeWQcognvIZimVCnux+4hSuobb3KG0ZcvGIgR/1hk +uIvW4AhDuAnsgXgHRsASXZ8wZqhPLcb3bpgf/onMeWirWxmP42pmWuY07MWy9kEOUeni36niOrpJ +GdnPIhRTJiQDni2YswWNi4+q8qThQJK4jeyEpoFLzzjjf/EN+uRC6VyopXPd9YydZNOhB6LisYbM +jQGgIIhMbuoTtzEDy9weXH2nDjH+0BatFPn65ry9G0WPoXNICQAbUrN0hY1FwRjorxnITZmOUWIU +acPXxhXZCYVHC2e6jLC3B2oNTmaaQXZYrHQvcO6hew/EjTV5drKlD+9AVds6sMXHVwfiL61of+hu +KkE74mBPdgTNJ3/bEi2WcbbUAgtSSdT2DTQw+D6II4QG79VJ46MnxDPClBMGYQgVwcExK2yizT8i +yWOB8i3bnG6pAY4cGYnrrzmgapZzAiai1pQJewzUT6+UNMAPGYTFqVkFeAuCuMwmgmdISiwwKi8R +CKEiOkqCVyw2M4n7NYmexo1U+Q4cQPD25R4zo8excZKoeHC7ZIEqDU3F11cKBGGb7YJ5ok4D/atK +wO4Lma+CJ1ygN5tuxgR/d9YDPfFMPCwK4jyRcLUvsC1E3HE46KtPXNPZJJ28K2m40Y+rgy19nQ1m +NlwB+HDlR9pMURybEGzUu0cJOELXhEuOHjGZRnIrmCRS426CEioqtARYZjKPhHmiHUE/lGPikyqP +37htIt/Bzo1EPxySoUPkpLTzoA6EukhQE/wPxQ82daAt4AWISi+cMwkegYsBKRDthJiMYzjK+1EA +lVSZadx4nhbOye7ncVvlSxXHNLwHpdmlX4hLRH2ArorGxGg//ouQtWxGiW+Ls1i+TXxi+2QZhECe +pymUirKgp1+gnRUeVv58Jv7+TpguAV/e5q7oJrsC8A0ynDPDsOYRoZ4DA3Bu3N7ZxYAWQ55NiwSe +aJ7DAI5VscJQeOn/HCVsSjg1Q4FRjoeRAoXuEn6pwqnvCP7MERYhnd5wWYKZfaJCLK5fIsMc/VJJ +t5UcwyecB8L84J9FiGF9YrI6szZn6l1wN85jfg4yvURhbw33FBOURJrAF4KIJs8dGTHc706kYJtb ++IhgYWaB0KdB0RAJAaKjoFGrJEjbE6jcPKthhgsQtNlaPN/hPRwkkOeIEIS8SEFtrhrh2mpCRkAI +Zig4RvoTpt8fi8EJF4AcT4AnjxL8znKW8kiyMZ9smYdLeOMkBFXUiYjkhFC4sEEakrgFoSVQ5ANC +MoiTIbaFMULbwuHASIcHCsJVyAkcLGBKi3hCZA40KgFK8rEK+D/hLBIbB5sb7qwvAGomfh6yBsLH +K0CjCoLOqY+k7SFqTScYBZUdAAoQAXGi/eB3nh2zUb6TowQBEhxb8IlA/yPMjbYkogOIyeI8U5zD +ALTx3w/odpHIn+xux9iRoLchOHECOv59BATnhDA46E1AXgTx31QXyRzQTDBpyNIA07khi0OKUUmF +p0HRhrfM/D/Vlrf1utDono/j3XjtaBHjo3DgEvNCboC4azuNDiQsGAD38B99QT/UKGHWdpoE4umg +ORKw5cjpAhoJ8L1F8XVRmghAK9HX5ZwkchDZNevFu9HfF95SOO9mHtUtPtdNt+wZHLV+5COIItCZ +Ow5wKQo2eoRaNNBsHSUcRt8uFaJR9aXpd3E7ZMJDwPxideEjA6UaTCTEDgmyGPBEkx2Ov/MQ8sCx +5Cp+0hHIUNv1K3G9t9/F3YFD2knCjihAWZyFUZQ2Lgo1cYJrAx2QlDlQ8bE4EBOQZUALV9rUzolK +ECgR+QbFqiOD4/iHDwMb1NEbXRZe++8OFn79heN/GRyo6qEbKHUo6jNFMfFJkCtbHOMvDxY+YGKt +HUPnjRSy+omxrUGgef33g3YmjOLIAQiIjpRkvotB7Vskr9CKwevKFANhRUABMHuFXEAvHUj03gAA +UmhixJGQ34VrHoywcN/PHPyLsZ4dLOZjMWOLWSUKZx6XWcZuNqI7hHCox1nVAAo5J06FvpXV548j +g4zWSARPO4nJLjzt3x3MXPELT/3Sm08BMQAqg8kL8Hxy7wdKjCYeEue1cfQgM14THPFdUDT5AHAU +uwoOx6xd4TjjeUXIZVvqtvbwNlbmZbWhw6xsBAEDezirCF+q4qHy9NTLURupBcNTS0dW0ya4wEcE +V7ZvLbjs5GDBi6vt/LoxE98dLGMfi+jIPIIiWGpalcDkQHYhcF5Hxeso+lTcTDAACm1tLOQ4OLWV +XV2GNbi/Z6GPeXBkEUCh9GPuC8ORcKEkoCqHIsh/DHOxVu/miAC0mda/V0jwVhZYfHy1LYayiLSs +tkZjNiM230Ft0En1dIzy+BTnCZDGiadmd7VQ1pBVmFQhqESKn6xea04BNM8AuCccl00RpNBaQWOU +SEtQRgA4gt8ChyB4upiQd6KAARNGPzj0RmyVqwOZLC75QCsZ+XuUEkHt50X/IVFno1wRwUUoMsBe +0EaKhXPggoQO+gXWD9AW+jqoX8QmvfygWQ3gejwjBzBNNei6cGUmSUTTQ242hnfDgcvoF6JmaZDE +l4w8NY82oKrnOIGa/k5oaVVQbkUm1qqRnJhtIFELwKckTQUUCBwoiNRT4dDmgQ9goHcUV/Bx8+xv +nWfgIIqD11En5DueTmQo8lmEdFSp1yQSoU0AHxGf5onC8wLvkw95JlkxAMMuBzrbnLoAiLixoFWU +iAnNFg2MZklzwHaoTgxkfqh1Sr7MrEV5Z1QfuaZGLGKDbePN44fzAOMyCHmyZblW7+IoWkadNBI4 +j03N41eLKJcgFIWVs0VaHBIVwT04dQY6ypSrafeqp73xWiHrNM0NiLqBHkrBqVdVJ2YshwmZc+Zq +K//Op+27g22R4Hm0eEvcdVt0dhHC/e6AboHE5IFB44bOgJSOuhTnJdFDjMYpK+g8qF1+hJTKlmjr +dwdbY7LLuO0sRHom6yyRSo902Lz+lIcmELdEIM/eTTgDzgnFHGl+AxgqB1lhr4lI6iohMIlIHyd+ +epUEnCFPXQQbnd0V/O1RsdjTIhzLkOY8aLsM7M4ikSfbo5WbIc3v4OAa6CtglDVINE9jZlHSP47o +p1RfPXNqxMXVwdeJSOmkHh6ExZhU8QWTjhndIVq2SAhXFBs8Pijuv0jaHmYxJnUNZUnkinQWcvMK +whFYTBqUiwVhxAFp4rAfjujojMSUAfntFSbjRBEROCcjZwTXRo2zgcItx9i+nnvhWKwABqkZFQyK +VEKv6PfqcWj2XWcGjSo8J8dR8GKjhG8WY2a4ez4zy9lbzDFTi5XnyBtRJZ6VSyiWwCTJv01hFTZk +qlyQVZY8d8htjgWnSaCreTSAvReFgZRRP1XEk197TH6UpBOGqLmFo51Pi1V5JxYIODVqcLk7PJEg +VjQqWkRPLvTVH/Gcav37OxECUepWqK6POWBysyesJWxQhgDNSrycEnJnYra8B+Ve2FNQilGj5NB/ +g0w1+I+hY2Mu8rA2JOfOcoZY9mI+j8u5ni+IwMoBsxUhGbzE9ZlqIaJUcY+Mp5ISBbUDi5azybTK +Ilt7E1Dw3cEW2MESmrAI8EsCvGlSKiuLheYg8dnSYj3fUSR6Ebu/gmwUFxGRAYQt52MJqGZKQTgt +GHtAOg+tBhz/EqF2ltKe7Bxzx+LvegPbbGGuBf9tMunJFk5eTA+ldyXMD7JC0hpQeyOLZhlFjVhg +MM4OtiA1FliOOd5DC7/IrAyiwfSQIW20GAVfIsoVU9eLCBtNksOsO82z3wTMfnewBVW7wN3OwRSa +UrCBuFiCMrZAN14eLBaYPLHOAUsOWTQkyUQzpMgWNMkcc3KyFZkyhwJ8d7AVMbBAFcyhBzIrM3TE +EkGxDWdRVPdAoaiCsCiSTqF7kpJFhajwoHUC9Yy2mIUtqeGDvF8oYfg+3ff0lFT6gXtcPNP7R3gg +3DQy5+LpPJKiD6Fs24jvBinnmUPptDQBVz8QbdwWhEfyGsELa0n8HF+lH5wzDVrg7GeJZpECe2qQ +BDcvFPGBZ4m8n0xfA4KCnkrm5CFiAaDWoFl6Et3pq8H3ROl+43pQKMzWbLmsi8U/O9gKxZnDdRY4 +j7ODLWCQJV5kBirRrC5Hr35MsoNhmDAdS6wKN8quWROJDpDAhDpi48j0MVgn8JsGdS98IcUjmOaC +VKwisgq+YDr/6XTKqqu5brzBT1tpqNPXLEFeCTEEFqtZ8Mu7w0jRWEG4vxaJl1famG0KxY4EE0Dz +8QwRwsUOTmEeubcJzxqEgKI5CA/SlcEky1EwC1m9b43EujiQ/JKM3BrmEcJSB8jFa6sdxZzLykle ++ocPUYoAgY7MTxAIq7FApCApiahArFIPVpqvDGfyHJwtgMirzTVarOJ8pQURN6DMThT3AhFy8rvG +tsFR4EPNWRZoVUEecTKXzRw4JOfQJrZoAT6aAZSk/xb90TpPg1SAiv1DmyutR5B4s60hqq+Z8KgA +2Gak+Ks8VwNqTMgSSMzYa2kLzvjIGmCwKnjiZa0U4CXysGAHkVtzllkw1SbjnWxhztmoRD8sPlic +jBODIxtrRM/7HO0k8mMdDrVAS82AQCI7ZmChBZxoBjk6I+QoaixaUSQotxWIRJFKESynIMAlYlVO +eACzN6wilKReRtP4EF+mlvCFaCADY/CCsisKfUioACJVbEQ5NI89dTvZI1ELQCBJEF3pqLg5a7wb +g2kb/mmBDJoBcr47mEN2FpCeOZiFtkti5SArwIIRU99BgiLdFEnZq2geOGdloLcK8g== + + + QZ2jUhwxa9EBBMChHiTzn8E0qjjHkuqMSXOH2uatVYA2nt6uKKFUUeN59EUWmuI7kfETSYd0ywWj ++TJb1Pmqz/hC2JqjUGctHaWj8Ki+MgOWCYppBj5bwNNmS/iODqKgtTSyipsrwu9pf+TJx1EYm0Xc +lXOwbTk2F2yxovNVJ6tEWplFrRPyDhwaXd2eI6wovmYorAVOawblkgWR7V0kk5HZrZDsADXKbA+y +ZPSEj6oRC9/ioCAWF2El2FdQ/CFG6OVqymBmbSwwm1T0g8iqqrowQAQWKx0NcGSVmRoDiZIWtDpJ +kQqlh4s14ZnhVQQXzSemG7JSchfN3KPByN+bkhTL8ut0Ns16uBjDfJziaaIrl8lXQTYBPePOHYt6 +iFpQUIKBhqhqxYqrHNlsUuxwAzv23cESXrYAoG3FqKk0MRNZ/GLYLRzyfJreidXQfhYNuaJqS5Vg +E853B/yZWJvgR/l9ZIYnotLcLVUhDvTAj7GJbbSjcW1IUlflKSqeW2BtC+TbAhs3x8+dTV5rsHiV +qLaElZyChdCsaGdeKhwgKIEDYJBtkKV+sGx0qVXWWH4QkzzIUUkTxQgD7bTDxVy9G0G1gPE13ojw +5ZpAAdZdoJeiOMI/wZpAFbW5vIzPizu1iu9rkEKI+J1azKLrZwfbhjefgM05QlhQjGHiTVmaTcKm +CLtEn3sBFCQlVSYhBS1EjLAbttwMg/jdwRKjuAFh3I7++3E6wxL9V1WaQJMr3JTUBaH4gb+LxL1k +pmizJhaXJOaUCEqrb5y1dl3QmFHq8JSgcR7UARxY7FUMUghul7cBI2fIyTmwcg69PGujcDaVLBkC +3xKgONQkpXbtBkKR5XQXGMY5xnEdBXmywEnO5/K7d7IlgKHgLIo79aoH46PNhfgBkxZEXU73fEHm +CzZfUkCmBME1DlLboyo2C4U5cELP0ZesFbOBz5zDNzfhnSy+xOKBVveHyKiB+A7vJd8YRzeR2+R1 +RrQI90C9nDmKkiCpTZzlHIc5Q2pywWkbFj1coAbjv1lLVCM+h+1q5UJODrTOTcR2HaA5SUyeKhGC +x5jEoDHnk/nCvZMsuDnSEdxQELyHGceKcoBzwEuIYBZOSINSBXUsnRysUaqwQ2CQwno+HwkQSGsD +nU3CfJZYaIjMUgwq6RT6O1BpYKIbZj0nOfkgIOGXSGrXz7CY3x0swJqbUM4Z1PNkMUnvAAkMOROl +bI6YxleAeEggupEURSHoJbjqcRJtwcTMYTMLXM0Ce4PK2Ir2Gmn0HEZDm9CDP7LkkyIFkF1C93PU +xWczIiRmyBEcNjN0yRx+sgWh4gSVQLOLwqWNmRhNxB7oxF9MFE6p/3h9MB7+6kdfWPCm6hK+iFjN +PCIMLDzQlCtlCT5F3f45QnULiHUGQcRbM5jiAsi4ADuimnQVZ6tXJ2TQ4AIICuWaocrw0gJ5tsCm +zfBfhA9tYsQWKLIFR2JF50y74OrZguKdRKcL8YdQzhqBHHSkW3YBiMI7m5ipBahqG/JqGz5rieGa +oW7ODrZgc5b4nTnGh9AgDZ0oiQSdQMnk3UR78JU5IGQJGpkDGURtF06KGkacrlqwWqpL7AHNujlC +YYliWGAdBF9CpwyyxavgEsZBA5Ji9C8C23xrGf1eRshnAVEJbM/CpttCq5thH9r8i+DQ1hDSZqBJ +fZ2YO6hYDEdkZTuEWnjoL0M0GtpZBnKWwZ5lSGgRN1pEljajCfIxzrNThx/7yAAEY4ELR7u8MnfG +z731mw59vtMGkokXHVn5GzB7GI/ekkLn/mWu18wHvcVLvemu5EsiH6NurHYiENoeVcmce+b4ysx5 +N/fuzRxOZPiZT2qL12rTi8LdVeltzZqARg8KpEBmkkpcug8Ue7bhYpj7IGZeCjiclsl2m9l4i0y1 +s4O54X95sNU5MHMgLLwMkI1OBCdII89JNVnXCJumMWtcbljPc+t6ZmFCbC8S0GYJapuWGk6hTVtu +buvNzRMoOJsGzMy+manRZ9Srwe5idcVDg20GDXTNNd6zg6VOPNeZNxVGKggbGUbzDKRtOUrzLKZ5 +ltNGGhRh/VQeGkNIfsoawectVbH4yqJy1ry01qZ+BHDkf/z1APrXp98eDFTCRhRYpVukSXr6OpqM +LvRlDdBMPCVicawkEO2HNsUQ5bRBxL0y6hmArIAq1WVZ5NMzKYD3ImEnIu6HRBHuoii2M8D24gRE +dVzBxXrFLiYGLFB1y1I2ssa9UOVICvMWq1XX4Q4oQgkzb0X3G8IVmI3IjbAifNfRb11ZKBd17xpH +Q5hmNdpXdNkSrGKHBUk5jLxww2lSITypJVUJ/QH6sDroiL6gaVurSaZ6NSZJKirPAfv0Qko0b20q +5SlKPHp2wKSkqSoBvDZYn92Q+5pwpFIbI01+RLkjwbxjTBL0sIJHHLrofEErOnJ+JFuHAjdxroFJ +EScyFZeRyzZNLp4M2OBYFamyDU2FhRWwdO3c9dKeLEGPSwddQ/CA6qfoLgQo2ETcq1SsMic8aRrY +ESsmO8k4SwK4GXh8ckKwQlJgNDlN+ZszKuzAv87rOUqlw3aQDkQ0uNQmghuq8QDBEoNr8h7KBWxw +RXSMMUm5y0YYJVVGAn6jBEauOsHzVhke9KFKjXLy2DSRRqE2mWk594cCq7b73kon6Hd4QgoFh49n +ESRtBDqaqNjTmhkJgl3600nWYWtnNiJFWVcapUiXaycLva9wLnKahpj5Q3dfFJkdgEsYB5NUF0nC +smkygldBhpIoMCODRYd738OENbTLZPpDXnentdIJ0zQZBfl8pnnqlTSjJmiuzZORcGJKhzrJetwb +mo2JE0Vh+w6YSqA/qMsmGgLT2ilRsTup06+mxxA4EInUtHJRlyZSUuVx7cX+VG9/teWb2DVeSwOH +noUDHRQnjW3rVX8G8xFYsjFoiGmiRD02p7fsmdATRubfEu9Ne6hwyUdiTK4giZxYpp5FOjxPA33M +icMcomkgpnKNENdesD9bs6vll/B5GJSjZJIQ/lCT1Lox2Qojph8+9iS8i2VMmngk9vE6jSr2uP7y +9Fz/ymrrt9knZxuWWF9mpyM9g65larzQhVZrzwUtFU5xn7TY1BpJL49Ye9Uesy+stnx1JbD8qLie +dhKGUVD5VQTMqO6N1dpjTqO5PKCS437coDXTPtWNd/tz+onV8qvaFc8kdqfDYFcEnw/o2UBdoz9l +lfNXUo5O4jid5HU61160p9w0S/Mvajekhqf5YIj98QXGs5u4xZ4aZWWFNPCymDVSUCV740V5yppf +Lb/IbiCEJK5TyY1i3L9yBAa7XU1PeYUCc+hyjc4GiQ6htffsIWt9tfwgezGyAB2zBhk+4N4Rb5h5 +zlbTU2Yik/fDnDbwbGTP+pv9MfvAavlNESOsCygxMVYIRIR3cKMUORgFl7manoNtVnTLjZbYs0HL +VfTt/q491j+x2vLZFSuWiEfDKvgj1mlGh2ydVX/G8TpVR+koWuc6RRzp01v2jO+7e/4t+b6TYsU4 +lmgnMtoqauCoqWmr6TGn8H+0PzpNUZ9I0aSZvdif6u2vtnxTdLL6botrr85fn31zd3794vzV4R9v +T6+/Pp9dn6vW0B/fXHJ7HDZrbgOsgMDwEeMFUs3aaE0dZT5e0utfhI4q4vKD4KWkTr1QjuavHi3b +F0SLEO316Qf70zD9SDu3CEhfSYsGtn3ms6/afPz8r9e4zvjF4de3py8uzq/vDoP7BSemYo5kluzf +n319IA0MA+/WaSdH4I0OI/HN+oejpv1k+Vzjapix4fBvV+tv5l3exCV6ODM/O1t7FXnhCInt9NHP +rqD04/YLeNd/+JWEVI129PAdlNKEqnTPK0kuNf3s4WPL4rPA2KA1fvbZR8hn4/Cs+AweDlyG8AA2 +4301xd/HKwODVu+GzRiBniTfx8d1RZju6D6uOzK2O9o2xUFv6GhTrLeZbzDekS3PD7/cNAi4+gvW +Z6AXxTk/7vpFshBcKLHU+18a5BJPe6lWond/+KWU5JaQDc5jilkY7v1icnIR0WdvMTF9Y3W+fY1Y +spjXyr0j/wF6b/Mol0xGrVuTitcKyiTZf4+iBIgmQmccVhHRmEfitUTWitAdPq0/CU55449H87eP +tn3iaNGRo0Vf10ZycvAbaC7XEkyf9sHVwXLnbNldy91xcrDcqrO93Lf5ycFMAMzf3Nb8ohOLPbw2 +jJP1MUEv5Fj/46/isztO66u74cKbfNuHf6Z9kIiDa/uBuIJag8I8mvJ5yOBiDYIAGTMfbbsNLq+/ +fbrJRA564OHvn7N0fNUm19Td+bT+7MttA5+o9w/9Z1++3eDbew8d/s++fLsJ+NmX2E4///QaNw+9 +2QJxh7/8XTs1ft5sDf+n07u789vrX//z25vbu+n+oOHwl5/d3FxuPnN9+tXl+W9fXzRLZO2WoQeY +Mn+6vfn3+atXt+cwaM7+MbNjhgfbMaybjHIpwHajKJVcylMQmjOSJFYlKQtM0MYaoWm6VgWYJKYM +imtojUJZZu0SRz5KvWUp1aKEE17j5bTcPSgrUmqZKGxVwftodf13XvxhBOvbap3C7luTNj77qP1+ +spyV1Ru11R2VVbi/W2dCPFYkAv+ARIahRJmndrw5uYZ0U1vVS1N/+FVc5Ahs2qa26gDodjt+1cwi +H4Zw3zsJmUs5yjuALrh2Zt/7Sqrj3CzaaXDZ8y7rNasIJ8GedX8c67pHyLuDdvs+Ztrg2d1eSf4t +WQ9LN2M9RtTXJOyeFXdnRVPUP/tmu0Ctv1jT5CembBMOtkQiEesa4LjnXbmAz7bFBVy6r/J8rfJ+ +qd7ZgZd2tpT/f/bebKGNJGkYPS/gd5DbbRtsIyq3Wryye8MNDXhvL0IUICMkWhK9zMucm/8Z/qtz +Ny92YsnMyiwJgbvt6e4Zf/ONB4KsXCIjY8vICMs35iadMJ1wFjN/wmqGsqsUPv3bAkPgTGoN5QLk +ED2vvdCAY9arpteh079NMWxi7OMLztYzrZiZsA3bzHQhKLIwBZKRlmKbyr0E0YniPLYpBuCoMQs3 +JCSqJxdssiWLcJPrIE/FtX7WQxsz/JvR9uT4z/kmCnc9LVIHoeoQuSN5fOoQQWRhiY8g8bwciKJK +fL+CwrbTRrgYwznFgxUThA9CmmUegr1mlvDpYVH1uz3WDhLiwwNo/q5Pu8AaTpbrSKobru7MjJut +z+tae936QuUe7YoVNEBqu4uG2IT9DYB+RdXHE0Dhp94SAqZs/pbW0Hb7sNcZjY5bg6Oy1/hpppjb +7nba5U+ztTqqZBVd9GYnAZWI3rPyg/ng13X+lf5Zv1T7sWrUs0FEhZCa4j2yPEspADMVRa4oKCbT +qRNKM283W8NhOeBVvJslVvrqX5fmuHwGvfnlxJY5hofSjyrBHznXW/UjhcDhtWaWUmwlxb1Lzh6T +ZEahWy1XEp/nnDV0U9jBOckTDe76jkekBsGPfvC0SAy/KiyM5JcYBtZLIf3G5OLsdQ== + + + N6UdnEtpcYaMzA8ejEgNgh+rwaUwlJvGSJ2n9iGkpoe6GuQFJsU5a3BlB6dn9zy46zsekRoEP/rB +YZ2aHvJpwDW9JYKRjaEnRDLFy/gzB9d2cCX84K7veEQl4h/94LrAJFkcxskeVJWnml6QyUTjG8cz +Bzd2cFERnKoILhhRFPGP1eAiyfmZLGarpsElvQTEZzsJicSzBk8dtfuxRUVvwYBZ9JMfWQE105GS +OtUFRVeZlF8Owcan2ZRlZzxyRWsVqfnBTPiDHxRfIVCBa5ElRWrv+4uM33BSIpgzB815UOGX60nM +DyWy6Cc/qgDcUqBukmtTIJEnhaZRzx6u4OGk31nhF1kNI4vop4qNmISrn4s0SR0i8YwpfjqXFxgE +zKlGFCpgtuRXTj927Y/QRdc2CH50dXTJRfunOOUbPHmNX//oHIZ8hfAFGLagSUhlE8rlhmJWaTpS +2XweCKT0qcLdLxJIc5U1fCSr7Kf8iIuBlBsVgan7UloAF8mRigsjeZD90JDxErdTGA9GfaUWgkHz +fhbuSwr7oNlKOyY3MkWeRr9rmxLJQ7SxH2hMtZqbpnKLoxrzOSYPSv0UOb0tArnsJIFSBom8+tKB +igotFZCi0njamsfElwIMERYFFATsJqokIwFgrh2VLsvtW1WLUsrvY0FuL0wma+3ojQoNoRKLZX4z +h6sS2n8Ke8D9Sa2kbUehowhKk8yBcsajdImMEIghoIRL7bYjo0KqCCqoHCIaIcbSE+UHsZ9S6pPc +8JtahjiUY7gcgrDspKog9CHGrpt6M9rJ3NgKuQjRmeA1UeS4/dJQ9VZaPZOdpphFRpuhXEwVSLPR +bD/1QFsZk3rDVCO5ZvKhQVNCJM6nKNyXigpRAVCm0o7AD+AQxLFIuNDM9k8g+yln6Qza4TsFyUO4 +JVDqVobwwxbGOOVZRSC9hyNQgtYJzUO5LTVElbrp0rEQkJRyXETiTiI//UIQJYFkckstyOR+S1N6 +mYfAvHCHMU94XfzYikCYUM2DPOVrWW9H+cCwN87uTSfLIk65yyfldtrm+mNQKnhdSo1BsCaW+9IB +bWo06syh18jCjantzsi8YkMitcjk8t90UDV/KjxP49d6uS0X55BUWPxSMCajPLW9JdqdXX75gCCZ +VkeGEjghMJGWfvmnXNkyiAQq8L7KgRwVCiKlsJ2xO8M1jYnI6UFntFQM27dEwnmHEERPDRFkiiSv +gXKVe9K3QEPlHW1nivkgh9zxoNod3sJPlxNII5snkqIVJJYRciGXkDsQxJ8ZpaNm+JZd8qCp59uU +04EFUOIpH1ObWhmXOT6Yud447fmYELUPl0i/KkjHBiamSd9NFJWcQ82k4EdJ+COSE3A+r5tQcoRI +GaCEVZlXBoIfXY6AL62bfPYcvrhuoq2MyiTj9zjckQwPFzCUrgVKvF1FoJd0FK+MID5xLIaoSqLi +dGiOtxHry5TLakbsDgNLEGSkcupPFoA8s1BFBbRT0crUP9ZC2XG1sjyQBSFNJfdToWo8PGXHfOjp +Nq0rK2oQU3iu5WHSyU3OfIygxPIiTbUO0aGIz0TcCqjEU+aYHIEMz4HsEct00wDkuB2V73VAt3bi +xRnWXVV+byi5cg1EnmYH5AnzW2dM4+d0MkWX7Ajy8k9xRkAEiiJxayUphiAnnCpIsNEeCP9r18rZ ++hGUub0i8YAQozx7phR4BFS5cLtg++IqxrQmoyqQI66iAjlSpcfk0ac5qgZx/zmVtKV5iLxSjzKG +pcaxMfI30ppUXgOFa6+AqXEagsUQFzaWrhg7oVt6dOcZpUkNt8WetXDzMlJjHMitnVNVxzvPmkSG +BwBQ37X82Y5BjN3BhKUbw/UCEEQOcwTx+yBpa68SCLVkx+5pMxHIqeKRk3ByV8m1WRmk7XIJZD/l +jPdROylqfUlegn1v7BXQojY1mWZuAaldgMwt7dJCnQJqLP8JMcLZXCPcaT64Y0B6RRbsBupGqbF7 +pr0ybA9XEoh/40mARaCuThzXOYlBMtBfHdCRHfaWpBFx4qBC1GjYaQwBrWubIjc4EaiqF6Z2mFB1 +UMEJs+v3VFt97I+JH4HTh0anWtOTA3v4nbJTGLcsp/g7SLh6D0stwgsyMQKehGGQaZ13YXHFVEWH +yalD0fZZwRUeJs2ZYut7T1n8Yh6M+VOSbAzIefMDrq6p5l3E+jVXjYxFhKbaT6Ek8SivxE0I8lIp +BFrhhZ1ZseQkHA5aOKEcaIl0axhITFQiZSRWEVF2BZVM9icnlMmach3UPmbrOxD7/Pqnph5oTLMX +aRGaDdZQ19BNrlFeW36svax7pVCbFBM0oU8K0FwYvpQEigEtEP1jXg1MM6+CWWWLEs0ar3cFP6bZ +11EDP3sOX8FFhQlD59KkSSkjjkOtzQEZROmBECScXk6R4wQKRBqX006TQPRRUm0CpWOQQD/zwCTP +nTnnOkvIgo0GJcvN+1Ps5DgDLFvaqQXJ3CkClBbJgRwFpmE7R9EybMkgKkgYDMHZHuOZ6CYn1wpm +rK1BFawrAIngVFbA1H3pOnO41JTpLka5poz10dboJhcZCTZQcxp+DwoFq4N1Y1ia6YrtcWkUwWVq +HVBSbbQakDiJAzInIaUSQY7ZcDwxFo5LK35GKioCCycdmXkBiJcTgwKpVwGtge+kGYBS4YQGs2QE +SW9qU0ENgpG+wnzPTo59rcz0ceYO1K6hhIB29fwCtg5UlFY37JHz/BLIcWBbU15EnFrSi25ahmOt +nLWXFuv4fgUKkFIBPfIkeT0iFLNXoLYVlBsj3DBWZqJNpWwiHuTZeTpOJkIyKdIGO0U1dyThGzrb +sw7MTRYN7Zwyfnr4LDnRtUUoThoZLhZBWR6hJASFloAHek5UkOeKNsJ5KrjEEoJUEpgCebyxwQrc +9qOSL1SNoJz9HNEOuu5yPQYkn1XUIacyi4ZlS5noqbJUKPaIVqEiwyogpxAU4KQCety5zioE+zHD +jfBzc9ulixqLUJxJN6amYO0hNSXktkT2hC6jOrDiYzXB5hWEAjaXboNBjc/oHQAmU8H/EcIklM+m +wJtj/ME9B8AaCzK43eI06aGsxh+18rI6+NGYr6M6fPYcvoIHCTCJYxbB7RbmjswYZi+3tMsoUPjL +Lc2JxQnkL7fwGT9aNAh0twymcJ1l7vrAkAHkQE4CUm20uF3i5ubsCHYru2k4jkWFnmi60qmbpLHr +wl9whSB/xxUAtfFfCoYot05K+oOQ6qLLXVog0F50ac79j6DKWqxARYWiCmgvunCIjFcgvKQnhzNC +/EWX08h14S+6EGsJYy3xqjbfsDiQ35eiqLVLLXLdPZe2LjxclL/nwreFkjfL3XNpqkHLoNT5ALLE +zre658L0ExkP4e65nO2FIHvPpbmQEO2BrhzSXOgIgbmzoAqHcneD5a6fHIg+xWsqO2rVjvMJ0RB8 +D2WoXgpPxF914fWnKiwCmAZtnlZCnL3q8qA8uOoKgO6qy3BpM527my4ck1CZBzddhrKVENDddNlr +RgLZGyzDDgIPctZyETfTtgYkgvxdXU63SgiSgaKmeCLuogt1PiqSmfuLLqcbIshfdDmVCdeQuEPJ +Sj+CpL+eoGQjCDKVtkW6NsLsPZe2tU8RRYk7CoZUcwfyhJ/mtXZsimJvhbdOU4s2f8+l3Tbn/p4L +TVHNCFFqDOLvuQKgu+fSTe2xa9xNEpsehN08YEiFbZc4VYtryenc33Npq+giyN9zIS4tehOvBmfK +9pb4K1NO3IkgmQZHRvGEq3uuIkM5rzN/f2WsTeNA7sjQ7XPUjmoQUG/W92PsbW60VsNVgXlXc0u+ +nFIJQO6iKwBVF10eWLiLLmOv9PD82YsuY3U1OrqFny/7aJDjW5XaWM8hguwNVsAdwpsuTlkatNOU +y41BnnFzLT8SRknlciH3OAm8zJ0a7XpTzmyLBaq96QKxzWqTtCQa3tcwA0aGFdzXcIJPBPr7Gi64 +Sat2mh+V0CJQoCBy5jgSku6+hh5H8tQZYdJG7ToQfSqpSFYF7FqgTNPax04kOlVVUopCOxO3w5hJ +2Lh9EvZLJ3WcqhpAvGcogFn/GScltlxduBEzZUVEXi1AWA7ufHZY/8tCrGNPWvPQgeyXbOE6oFs6 +WcJE8s6pKJtcxLcG5AtqB2SQUY4ZGzsyK1QRG0dft+VRzjkqm5x1F0FpWof4nQ6A7sJGNm0i6dxf +2EiqI8gg79uVducQaH3A0mp9ufcTSyfo8+jGJvG8p7qy4cplwbeKgumiAbBuuMVReGXD1XV1HtzZ +cBprWpa7s/Gg8M6mAjqnFOWQQoB3XHGlXMJ45eASjstWdzaiYm7O+iJ0eZDFW0F37NHmKxtyQlpN +ZeGR1CSNQFR3n5xgGXmjvbRRnP2eQPZmRFU6QXVpg4mfUttOuKAtln0EcgFHmFO7AjnzzTHzqp3N +Kx32xvXCdR5c2yivxFST4zA0WkJql8Bl89xS7Ze5U7pCpFBJmjr6uKJ9Hei1D78hVj/NQ/+lE7/+ +2kZRuWNLBT4Qz9Gnu7YJQQFFeWBFecxEI/pMU7uIkI4x72WN3jNPx/5UcGhEdKJsEef4SGkqNh59 +rIOj4u9tYMvS2tnWVlMPZLd1CNK63L2Ng4T3Nh7mVDtbOj0P7m2kO2OhJirpeUxwoDAZr4gPlKYC +yrUD5QJpos1HZ4CUNWasK7kWAkWiTcTe8VohzyIZgBhO67ICrzKdlHH3NhbnRXBvU4HCiwsP9P47 +4eRTdW8jKPozEomaknpHotM61wLxqu0uRbLZH50iiqWgHOfhx6rJGcgj8Z9lqRPOQVgHKbGROsFJ +xCOlI5PObA6iKWI1prq4SURKwfmgqIB9R64IkNsU25wIzutuo4zRLW/jjhOXEdP7PJxTxLo/8Ecl +vCck+FGrr+OY+ew5fHHHjLEX8ioNVEWngqosUBUxPAyJEIHetreFK7LgUg5UsZxBwYEHuWDb+Ts+ +zvSGIE+OXEnEgbx9RHUMsugakbPFRx/TwwEewl+/EyXTVKqDQQURecruAFGKRF6YO2YVKDiOFdAf +Ww6WQZA72xSPorKIA6jC8JgVp9Aq4elW/ISv2h3Im6SygrnVkwEKWxaHH1DJkBhIuXwdjCHIshHi +GagSlgAiRlvwhwE/JsMdQZ5pe0jI2h3QqYrYl2BIVkULpjzXUJooimZBoJc6WCuEQV42cd1BB3Lk +RS4NB/Q37ciMoo9zCh+KhuCwGppKcElEngME+hAKLopC63KBFh4UhSR4oLuZo/r2BPE3c3y9Tyiv +ruZycl5FW2NPXLh/mTK6AjlrniRMbe/Zg6KyKJylIA1NpVGED9cZUKlXFk2TMtoTyOpjxsZuIsgr +i8aWeESgVe8wc1kqLSixljqVQvMg+6mgoxu3yy0NV72xa4NGVZUfgZyh0ezYw0RrSO0a2Hvi1ur8 +Z3RdG2HFNLmcboQ/0+REx3UgBY4EO2K4/Bfvm/Z+wDSz+1s5P1j/JjpgddFUR8+piw== + + + IUgGvjsHdMSHvdmD7EgUR1V5jZRxdkJFJI+h/5mJDga+vpCidqrQb2KCo2YR4Em3+rg6LX6Igkol +RwfccNVUZgTO1VMwF0y9vhiAQgRUwNRinS/2Ag5lqCpNjZFhJay8iE6V8wdFe2jlWHiqMN/v2PZz +qdmIHRvMTKbHgWTRB/wdxhWZjqQATsWK1EpaYBIJKy2sTPFIrwRPCPICKgRaQWbsVXkg7gxXYIzF +oqGyupH4NDaqJxCyxgY/RRLan55QQhv7PiD6mG8fAiWAClk7CV1tNsfwBEoFgIQT0N7HTR7a2vpj +XWY99okJGezncejCCkjB1jcNCQZtcSlrhIXZyC0PqrwpheMY3ptSQQJvige6O5KgMypjFA9KkZXO +J+ImZ4sZ0BIs7wpcIiIJJJ9Xw7OgnVfrE1X7ODe5rg3hz1A4lZx1mmrKykbVBQsLQFEMrAe6MGHf +WRVL7GRSGHLMT5WCvXEPZ6IdxGIbtcNs/QvRaa5g5D60sMKSLVGmMwjprVsdSL4IBySQEJYmWXSw +jWjPGhG/t8OVbeefe7ANh+Ts1asKZKognAqYu/BWtuojhZYt05riizWzohOu7f1epEZzfbXohFdI +CS3CFCtyjgE5+XsWmIlcwSM49cqK6OjUo7snjU+9stKdFutiKyqQR0oI9ATFD/MCFLvHTtFWKOvZ +DLbMuXWCjVWVKkUgf6BqNIFRDnw68zTxnqiYTrwf08mREEghz9HArFJE06OyuvVlSMv3q9VS7u4Y +JxUowF0F9GfW6k24E7nrTTm+rwKPKpns0c76JVT7bwvCxQTF9wkR8UiuiFUHZkVs6KGf3Usqxyv5 +5oCml3g2myVuFXyL4tzMAT2FII+TEOgZuevMITgYs9qHYG5uvyQX0wx3VToFJCSnYPUhSShyuyCL +wtveOjDkZZF0856SXIFKIOg9PfRKwa0wDAWq4Pv6POUcSa48kySp7V0kqnoVrapX0aJ6Ch38qL7S +y+zPnsNXi12RZjx2RZqx2BVpxmJXpJkQuyJNPXZFmrHYFWkmxK7E7RI3tzh2RZoJsSvSjMWuSDMW +uyLNhNgVaeqxK9LUY1fQ5iqqWBCOXZHVI20XkyLNWOyKNBNiV6QZi12Rph67Im3NSe8vQYNUmrHY +FWnGYlekmRC7ErVLLXLrsSsUPGFqsSvSjMWuSDMWuyLNhNgVacZiV6QZi12RZkLsijRjsSvSjMWu +SDMhdiVqx7Er0ozFrkgzIXZFmrHYFWnGYleknhC7InU9dkXqeuyK1BNiV6Qei12Reix2xYGcP6aI +m7nYFanHYldk+Erbxq5IPRa7IvVY7IrUE2JXvJ+LCYloS4/Frkg9Hrsi9VjsitRjsSsO5Ak/zWvt +OHbF+x8r16HU47ErUo/Frkhdj12RekLsitRjsStSj8WuyPjhMseuSD0Wu4KaauZj07lSsp4QuyL1 +WOyK1GOxK1JPiF2Reix2Raqx2BWpJsSuRO34ulPqsdiVaK0udkXqsdgVqcdiV6SeELsiTT12RZqx +2BVpJsSuSDMWuyLNWOyKNBNiV6QZi12RZix2RZoJsSvSjMWuSDMWuyLNxNgVrtynJ9jpDjhXmcJ0 +jGM7PWIAzrRGEqrZ6WRNpXXImJ0u3Zv9qLO6nS71BDsdgTU7negxttMdKLLTHTCy06OP2U6PhmA7 +vTYVNq2DKTv7O1hYABq30ys8BZ3V7PQI585OD/bG2enRDrKd7kChne5g3RhGZBPa6c6DFNnpdWDm +RGfNTpdmzE53TqrITkdgzU5HwVWz08kPVrfTpRmz0+lAxnY6gsbsdNLfYjudTlVspztQO0bKuJ1e +B7LsMWN2Og0b2+k0vbqdTsuI7XRabGynR0gJgTU7PUCxs9OjrXB2erBlzk4PNtbZ6Q4U2OkRTVg7 +HbnVmJ1ea8h6Xx2YFVltYKuNmDE7vbYMstOj1bL9HeGkAo3Z6YTj2E6nnYjtdGeVRHZ6tLN+CXU7 +vUZQbKdHxOMs1Rows+pu3U4PhnU2M02vZqd7KVbZ3wE9haAxOz3AXdVZ3U6P9iGYW91OD3ZVVsJ3 +3E6vkQSb5E6zrQPH7HQH83Z6msuCkqbBqc6pdrwB9ZfS8IHmaChXHIgjenxS/cBmuzfXRZUoRFSJ +QoLkIKHN/FWM9c+cwVeIZqBsfjBEYKojtZEyrbytjhwtY4h2d3Epa1gqMNWNZYpCOVPdYC0vxZDM +3fYZvvayIPclxb1F7fh+nzqzNyysGbtpOMXNKNudNdWNVaqF8qZ6CPKmegDUxn/JWSCdqW4tSIRU +prqzuhBoTXXT5BJ7QgXXlRWoqFBUAa2pjisgi0k5U93Y/CxCBaa6uw8SypvqiDXOKuhNcGshOoj9 +MqUAr6hZqhPeY2eqGxtOgovypjoC+UtnqXtfivKWOoLstleWurGRx4hK7faFb/6E8pY6gLjkqAos +dWNfmCKQtCW6v3QYdxZ46h4Qq8BS9xciYTtOvEJDMN9PWaDhPLyhnjqmqLydm9qHyYg3a6h7kAwM +9QDoDPXUP+VzlnrKT/qEDAx1mJpgC9Ib6tVtt7fAUxslLmR0UVtkjP3AoC/4tAaeBma+CPKGOt5T +8nnylrqxudNoHsruaZbwHwNL3VhDBBeRuDPpXvd6S93Yt9UI8pa6sZoLAq2pjrEFfBXvTXAk6Dyv +QJ7wORAkaOeEjjfV8Ro0cwj2V+i8z9Jb6ngPylLTWeohxFvqAdBZ6tiXxa411HFEO6/QeOU8bLQv +2uKDG4mKARrmSoGVjkyX43+8lY6357arxLt7MsZxYKTjJnMEhzfSjc3rIYQ3vlP3tl4ERnrqjnDY +TuuUScYZ6an1Q0XrTKmWtN3P3JIuF5EHkDPSA1BlpHugckZ6av0RePaskZ46vU0xd7Rfam1PtzPS +U7cdyhvfAWOojHRACblIg3YYdZEzw0s9y+YcRySGEk/17McSyhvpxoYQC+WN9LoojYx0bWNIhIyi +Bvn6XagoajBhZKsgHZ0NBFP2RYKo/DZxxo+EHEIiTAjGWShFmNOr4JfBcUIwThzmgM7q4QLnUTYx +UoRFmBCMk6mKOCGYfT4dJgTzEqd6DV2BgiDWCuhzglGqYWbqwg1aWLER5ARLcyus2NFE65KW01dJ +wTjU24Hc+i39hTnBMmPsSY7C3x3zDIDsYRNhYqnUcsXKok8THTB2Z+JZczdwELiArMqLUEFCu9IB +q6RgVvgEOcHSxJb/CpOCpcJ96SPircYXpvZyVyZR4GBi0qCdD/W2QqwKHBSWOoLAQeFwFAYO8isQ +EeZe4scoIszQ5EFh4GAFdIGDbKQJGQQOcny5kFHgoHCctgocTCoO530I0hb0C70thaWiaPcLexTD +uEHOoSXizGBOlgSZwWRh9994R6zXCcLMYErltp3P5qVSK6KqjF86KQKQd1dbHATtMruNVW+co1LE +ucG8ElPNjq/URJgczAUVRsnBcqd0hVjhNCGilgvKlpeLYzETWdsPq52GucEsp4iTgznjPrgySx2B +8tuHGBSQlAdWpOeM7IBAHcePCDk1RtUIPvWE7I8Fu3ajM+Xv56KoQWHsRlZRg9VR8VGDZFbEp9t4 +og6c7M5ICaIGPSiMGqyATrlzuA6iBoUVn5EyClgqoiOFV4AqPlIY6Rputf00ofuxaP8xnFYXNX5s +KvEWATMr4Kq4QcEipxIDhnMBxeICgE5g+7hBi3YVxA1WoDBuzgN93KAwSSzwDGt3sWDEmQgrLX3c +YMJGaiVm8UbFG9fBkeLTEycI4zeTwceYcU1YWV49HrDojN4Y0BOlSKtgkyJUPTjrdrT8ujIThQ3K +Sk321xHS3pUGtCBtlp6AYlDVduQRXEfIVKcRBaICbinGe7EqSHAd4YHVdYTvrLqO8INWdwDB5Nxd +gbTBwsGJlDYvaXSa3bVFdJzdxUUkXoXNLxNcR4jU8vjwOgL0TBNNGb0Jjjn46wgPCjWECugUCd9Z +pW0Ip84ESonQTlPxygu/cY40nMRJgvAZJsdAR6c5AIYXEnw/SPp94BcUlnQjIAs6FfiPrSHoEtkS +iN4+0amv/MdW9qnAgezdRZUDuQIFDuQKmLsXlpzmK1JqNeUkqim/nDU3UpJVngVnl0F06VPTwz1W +Ql9x4Rw/EVBaN0zlQeYchcHBl842DE8+AHURn3znuqXVOhdyBQpcyBXQH77cWH298iHnjlEHLuS8 +cMq53TJpL0mDjcXbQR1QhTtTukYT+J6cCKq6kJA1MrFATWHvdWBmvZnVuFyJIZqdlQHxKox2gskv +llOlRyipQAHqKqDnR5yaiTYid715G87fSKCaJusb69dQbT+nkYoICp0hyThB8VOSGtAbw75DJ9H8 +oIlwHll/H4GuA7cGVpWEveINiCkEeYyEQIu5qrMKvX7McBscRfjNqtQAv6WC3cEquo3wKw/pwauM +1W1EAAw5WSTc/G1EpkFTp9rWOke/ABZvKRKJRWRA4+cyOQLzXJnohwTjCIPc6VXacncVgKEFmADM +3gLUfp37Spkz/9hEvkIcIfPRhLCtlPOasDvXQ73BhUqUhzKM8h1z7kYX8UX8AHM8CiRXb4Yib0oC +k0FQhoyELAbXnYfJInqtzFCwGfzHuaHuktRH47GTNkGbIavi4FiYYt5LTp1LMFNwf7KQhbXXYB0m +gDkFjtxSHuqf8QlT/z5Xpj4MP+1LyHQQ1Zs64qH49ldKd1+fZzzHwodfWkiMBwcMEOZ6q9DKuQfq +6M+VEPV9ygpGQ7if/FTWwxwayEap00PKy5sAxJx3qGB1w8/rQLrcdECeJLu3kef4yhFU1oIy8pkq +DI4lLmXuUwG+OLtfDULcPkQg5grULpSN8Scwd4izR3nbBOUOqb5UDOMUgRURCOLlDqHsxLQgp8kT +YTmgO0pEgdHHVusjURBRNKVAzAN/juH+hM/5yeeD8j06vHlQuHwPrAJFmGxIFri0CuwRJ1ngFyHp +sXS0M5Jek0X7Z9UtC2qHHKa2+Y7t5AXZ6y6kiK2vsKmyr8XqQIozrQELpdJoRuhMSvNo3sq+LMX1 +oVninG6sm2BuR+GcU+yYaRqLtRAUItUDOdSJe7O7K7xDuLCUUe2kcjpntePoOLY77ujClj2KaMoL +85CmlAu5Db+1oQQV2Sp3HxtSN6rYjKa0yv3BYrg6KhWkWnwFq/R8Vtax2IMraqONkDWC8nnFw40x +FmvB9nHEeURQymXJjQmKn/MmeIepqkTIibJQaT3ShGJijzlnXiFiyhVxt6xI8IbcDsNZ0QGaWMWV +vPWG5CKu1yVTIVd/zDDdBsW8UXG68JDfIr4Ew4RxATM6sSI1CWtucfkPyqXsqYVz6FPG5cTZaB4W +SI4K6iUMdshiupJD1pFYk1jKH9ZKtrlcO6EIVDZCPhahqIoXaV2EKg52iD/n+wwcRvu6cpRthivj +pNUdRMbSKNFVfR7+CfUBjsuke4SEtybJaV3266yOiMzOJcQsv3dNwOCReGvjDmzCwg== + + + VvM5cWwn5emYlFPus2ebZWOqnT8SQ4MTwQRF+rb3lLO4xsxaiePK5HRMKKWuV7Qo2CqhgkjaxMwV +s8mSx73GXS2hOSX6yyixqvFrQzeeXbIVZLl8Mv9M9Ra3LxGQQD7yhorL2r+ENWnhj1W52W3uRxgV +Fa0FNaZqEQwajRkMGY0YD1gfrzbc2GiuHuUZOBGMEwHi3NbfJaMLN8zmond3P7kx8U+2Ef3UJhXf +KQr0J8cebHP+lY8Uh2345sFPyvWpguu64HvRGBsHmi+DWQHwtJo1n77M7gj3aP2MWbjLFC3iVuof +/LtAFP94xK/UHsG8CsRusG0TNOdf7Urp56q5/8k1op+s0zf6XjfGxrEr/QIHQLIZ97+yz1/U3vyn +Ecwac80LsQFPGW6042DJIY6TCsdSMx/iT/3WHl+KKSPezoCgYlKL6dDvPDYLaSImmICUYiKLKdDP +DenIkw5ONK1WGBBRREMBSuL9i5EebHtMEDG1eKRis3Dn4m0NNjwmhZhO/Ny+JHv4r93JL8YN/iEk +8QcYQMDmfEcBShOP0vjw231PK90Hf+dNiwhIcgvq1/8WypagCW2+64JIJA3aK0dAMU0l4QDut1DQ +hE1E2Ee4Ai9vojWJvPrd80Svc1m+KJSJWugaXrQjkiwigSKadxHM2xODb0LE4Pug30LMJJZw+Kj4 +z1U0ggpG8JOomuioDx1j5ovqId+oZoxqvqzW8l9Gfn9UqxlHw9ieSBXviQytrUo2Bj2F1DZOjDVy +HSfokN4jSmJZ6clsnAxrhDpOyhGpR7N2kjNaRhrjo0aiYxRaQ2hEEuMkUyOqcbKLyDLaHBaJnhjG +iaVGTuMEFxFkNO8vrTN9o4svq2H9FxDYH9TAxlZe34KKU40xqueXrn6YXxyMVjrtUaffaw1+b9wG +UNKYX+r3u42ZxcfCbHZ+K7ub5WC/bI+2fz/e7XdXe63dbnlU/j7buAWtRZGxG1EqmJ1IOK4h452b +3ypb3Wet0aDzGzSlHtVmazQqB71iu9tpl9vtVrfTO3g46Ow9dT2axvzj3ihqvFUedIajQQunufP7 +SWmHHm+4+ttJfzCKmvi1+Da0gIennb1yyK3uwH8vFY2Z2carl5euQtPkw2pvj5dLv+sPSzCDnoXM +vCiPRv3BsH14fDr61yxs2iL899Wvl079xXXj4BJVtKT/vPodfnkCP3wCEHkVG2/fJY09IN9XWyj2 +7aOSPEVXKLsmEo4jz32Ka2NTPuRYMMiGIJKP3321jKLIhuECrNA26JrdzABRHHBTH2350j5MZIW+ +ZkshzbkGHakkTZmhtzfNMBQHJG5BxVAFQzi4LeFovxRPt0BrYg5r6dBtQpo2qSjXXEav1QS1kjnV +rWzyXUBK8cf0GQbPU0HaFNMeUD6OprKjuTQ0CUbNUtBxatOvL2Nearr6oPGwtGhD2ltfmCTdLmCi +EdRBUixZIvEbSrBBxbCxhFieNSghDFWIFvxMCB9Q5VSVV3AtxOVLKYarUGVaw4kGtE3cNJelmOMh +b+CbRHJwZwWz0+VLkuoD4maSL79oIE4l7aVqJilfr0p+uJ9rjtDBzaR8L4Za2adtgBRKM5nbh3WA +noLjzQkiC4dEyoSbU+036IDwhLjLKf0ONKc6jngbFIyHGYToZiPHyiFU3hUzVRGpAF1RYo6cciSI +aLzCwzDFFd3PCBsvCzjgZMsuzmcuy5kMl4m0ClofoI5TFAh8UYEO7gyDyOk7jKTG4Hmq2mv4O6R7 +vGqDbVFS2VdZXDU+sTcaY6SMRK4x0pzq7GYg03JkidrYahowByofSdWRaINzDjPDikRUNzyH6aKQ +W8aPcsoKC2ihp4Za2iv9HG96Yc+1CxmtlouDcwn5nCP6tSsVkmHdgYx6iaeHc0bS4yqESHAZvvdB +EBUVTjFDYyoaWBCZ5oyAVMtG9RFQPxyn5UtZYoOfCAIzS12ZMPwB3zjhHzKqJ1nAXtOLsNTYehH4 +NcwnVfwtNgGSSaV9uI9Yx0gFOB7CJpdJC07HgkVR6WUWflKYomHyJo+RF0LAFya3KV9gfDzLxiUs +h9/xQb3BKtJI6Sk+VFL4BbILKiSpGW/G1nFP8aY5kfg73XQxe6BP8BYQqT2VDDJI9Rl/kxSKAJIS +6OOiCi35IwpMwsqGNDNp3+akSHZSEcC4WrBa89QM8kqDTBv2ytgsViblwpQGEyNDD7gojCaFLzKO +IjJ4GWagz6yZaRzESH6qCV0xIzOCLzfpGw7HNQmGT2OvfDePZZaSEGeaNpD3hd94asl1F1J87YhI +MxhjoJEcuPYAjYuj4OGiiAToHpQcICptUwHDloH6QmSXFVQPUlLYGn6k+HUM4tVgfHLmEhWlNl4e +AYIKCGt+PUcfcVhgSnm1qGOOUE4x+iKiZ3sI8GRQbQJOr1DwM1EQVwZf71P238RWbDHuVRNAuEaC +caVJleC3rMj7lE3NK7EIHnZqKE0f9w58UTfGx6PzmdrLcokV0RM6nz6hI+MHmAK/jcT3r4gDAlC+ +eQzloD0FRsmp0vB5PFbfwH7pGQCVQoc2YwMRDhRGMgGhCY6oAAxgIlcMmAFQ5tJF4/Mag5lxKONs +xvErBuN+M0kSI6cwAQQpSiJZ8KsJg1fAlC8Wy0oAh7K8Aj7RCZeOR6TkVKAqYcpFvNHAyANRyFGF +LWJCcxoDybkfzpahFW8XVRWhwicYvAMnVWccl40fZRxpSaXLkKhB7UC5qoHZcVGZgjiFNlyAFD8p ++I23xqeaOI6hiuMFfkMHDwH0nBE6S5DnIgnYR5TaJZA2Nhce9MaBWHDw6CkSl58j2Wdy5sWG3toS +b6CK1thZjjIKdSIUEUh0GMQF36QpZ5AxLkM0MipQM+B3lZNCpPiJALANSg2N38ARQzXM2EKZKWcR +A84DFoji04RnCM+1SfgTxRWnU21fA2AfSIcwPmgzigCUQB0VIIxJwI8SFj0ZaVTM24hRoE5E5xYZ +EhJvhgHRUlsk0EMilEPEIFLmP5m00e0AMJgfKKNaI0QKhjMQZ5hBj45pxrVaMsxpjgMTIEFDggUH +foMvmwEvcBSMyZmPagyroF5onyU3ziinHg+U8Mt1+EhTFB0SB8YNQMdMC0AUFDUTjKRTzgtJSh2V +qSHDFftNqfCMYYwF4yDlojqbYZowqs2jmT6pW0XnIc/iUSyDqM664iT3yBG5xhe5kjJFxxIPasGB ++QihsmDASbCyCvJmzlmdc1eZ5tppfLjp2T3x5qJR/e52x38Dco4plKoAwNFFqZDYzPkYY5JRShdA +vGU7yKiLnKiNIKDwA+Ewm1Ipx4sDwNdlwPoc0Kdm/U9pVpZSTO1KvaacWSu1T6bdMCiTkZfjN4qf +1qMMTij5V24VDcWSYQ7sXyqGhi0yY7+h/BipfaGibBVLg4UIZLUax0SRsRIHRHUFx4HdBE0xIa0C +lQt8+UesLCUlgF7D65SNIVQKWICiloh1UVAkgRqhbfQY0mMC/LE+ArFzP3l8zVlQmLK0hclTNE8o +J5hg0whlISc9KDjFKBpWGekhczKhGKyUUpopSnpDsakpJgOjPKa1gWh0pG58aGjpDQYHyqSxcBNZ +nSc1IpO2dgdKMsViPi04cUae8HNO/BTPKGq3aCCRVFSk3FIgEUq8jGwq1O0p6wfaD2TrZhhtmBF3 +wC2F4QS+M87sG2z8xL62QqKmxAwZZgrIaGrAZ3MCUO4/4lOCzluGGRQVtSEjGU8NsgRcDlWwqSGA +CCHl9+yotZP2jUSKCStyDL+H865RT+DfKeEACkYUQ/g7WEhICAnnNchQfygaQH6YUh9+SzVQW20A +HBMTAOALzTzHTLdoptCLRdBBcisyXORVjhNFa1eympUjkZE3SVrLMrc5LqUVrGj04wuy+hg47ilq +45xaQiccpnYcgARL/PVLwLs5sA8tFow8NJ6BSSbmSgMVjr4MxqnlrBagtmykLSTPB4OOn62rKR0d +G2FfW+qE1VOTuKIkwJl0TvKb5CK2oCIfgO60SiMOs1R4VA09jFM2NSICqO6f8s99EUQR3egEzZXV +Jih5Yk5v4bXLlikzzo2xfAm1Jk7+jYYAHE1MF4G+BTpdSEeisMGeyKXIyJaJKxUi+JmnFPZRmMIk +ODAgbSUVijFsDNNe8vNkKtYBC0ByyF1BKIyIlD55fMFmw/IlUThGDG1oKpyrBQYmK1OgG4a4bkJG +CXyh7IshRAuo8Q0h+KkmAmgqBYVDSuKYeZLgtha2LpwqOLEvin5HLQL4JL775S3U9JQLUA1T5vKC +djWaxK+2mh3SarOwVQ8zLMNDKCC1itsQ85ZUqoIBFM0qiK1o6jaXxFAFUhypjJqVMHzkxfUp0ZmU +N6QLLkdCtoIswUNKPijUaMkbkXIGJ61Y2qG/K6EMNHZNy+Su4zouKOUR66CTkn+EjgSZq4WtnOWO +Frvr+M0tkBKgTZG/g99+AP5IvZoTWOMwYaUcVRD8rHCFsgU+jUZ2bvvEOaqcMlv6GrFo4PFw9Cw7 +YfXFZm1FAzFnpYjIUrrCxwbxQOwLYcoWG6TXzXACXI0/8nFg7iHyAzrMt+1QVFzZsMo/5yP6CSGI +iGqKyPf5ySgeB85P72unY81ewWIbhhMEseVR0qZ9xlVYwaFsMuA5el6YsQohbBI6IhOk5dxqyHiU +qQghBcLyUZGcxzEle4fohJIH5+xyYsOHEy1I8hi5w2DT/OW0MjzcnGZVoU1hlRASfxL/RG18ghj0 +5zK7Yn+kSDlbLOt7Nq1OykY4QthBIFwRaGdnzYmMTzZOUrooc+MqbyY2dbjA3UrYpis4WRgosaiR +sBJrs/docmnQ6eJ8Vbl9r4gKDr87r4YzLh8gTgo3zaDKlTFAUGlagwm9yNMJHRkezSir/IuCHQjY +kU3yVlhFxQ8HJE6OYLbUOHkIqkIUqmyMS6uoOBEvtiHlklOls38zY5UNd04r8sMU9hEfUAI/LEbP +DQVHK1RbBdtEwiY8wm0lWkajSNJ3BY4r2W3EybkLp/8hrCCTSaFU1OzV5uMGvfOrRLDFCs6vj+8N +CCvkocsZxpki0BVGwyGrRvuJXO/kvsHbHEmeJPJaU0Q9OjpIS/c2m0QDjTyLisv5SOyRLUvUeWgp +sFNGsCfUZswu8FWtILWPX7sHxyArrFqA3ICSq6OtxBLSVYl36lQgM8nXy6lylbXNQSHkwmqww4ZV +Rjce3h7iQ1T8LrMPRJAgEQUAsOnm0BZLRKVZooOYHpTz6iyR05FUhIKCUpuApBSEjEzZ1+9ofmRa +WmQW9CQflQnyetEdAHIdIPuU3uCj25Pyq6AQzhRvXmELx6WYXov8XLnl8Wj1UxoNvIKgWrqoWPA5 +T40trpe6ewAgupyqJaaUlFay242vWappAknzuwKkGZFwKy47BhpHQTnIndcCFiwUC0a0vnnqBT2D +EnSC2OdfUNQ/+/1YWhT03kvZk2ej9xP2V2Ir9hHjtRKZ4O7g4SVAwqSJfiROVYjGDw== + + + yRLlMp4Jq2d5dpRT7nTnl+K3TlgnjzROlbukIU0um2a/Qm0D1Slm0GS8Ssx+k7PPk24xBLpOcEu0 +TcoRfmSLUwp6iiGI85MbKyGJgPzZ2fwJoVqkzrmApI4eYUpriu5rrKerie0Fro8C3dxF6lwfWGwP +r83oIsxYS1G4V9wIQPtKaFYOLebRBSrw0g0PAg4NyneDxAduiXNPAlMEdYodDOhch81Bc5CIEa87 +8J2+TGzFBSvgJHKKJLXoIzpH3dVW3pH4VhIGTl3BKnyPJGyCAdwmYRekbO1KwUooiaiMeQRez2Gf +WW5Sq1RQ6jafegd5G7I9/AP5RgWZzUpxdU38pOC7BPwLe2ZtlWjo3ihEpMw4WTFllNDE9CmrG2rI +qKMLTlBLrE+68yxtZu8AB5JdJdIlCMK26KdF3ZwTkwuuEO/ewLHmQvm8SPNhDaTABKD4eyKySt3B +GeG2syJHt5akONikDuQ/R71MqODeTOHFCnNQODFk2CrJl4moRdJBU3jXkvH1G+k1CMgZd+jrQg1J +SVviLcNLKLDQNFpdOF+8DyLnJmozdnqC3b2aL2H5opeGzjn1qb+ew4OKpxh1MTRvAVdwMkGiFqzf +IK1hx/zgCd13QO5U0dpedSp+YK1RIKd8pUyXZAavSlHtyIkMJDuGFbkNKFl+wl5qZtGY+hsBIFHy +hOdLE0efpXG4Q608TWz1TBQVQrAjNbPZdEAZytB9BLzCTY7mib5dm8GpwNd/dKlisxwRq0V/quYz +DgPl+CQH3VJUcZuKV2d0aUZkiFNEbKSSn3mhEOBXouSTyejKBx8Zww8ppX2khJbossmc0UF5QIF/ +pWg98B4KuhBHv51SFdJQEdAp+1qahgoukqBCxppo9M7Br3yvjReX5EdJOO4ATwNlaCf/IOeNwQSM +OblR+Ei595SVfybB9Kx475lpvm6XdCWi+RYDpupuyVE+o+8Pb9ZVhv4T9BsVeI1e0LtV1AVgtIbb +2wxvDlMyPBOSIHSnDkcxb/IrOVYncuSuGgOgyM1LF8ekAsB8s5z1MkEv5tBnkqELyeXPQR+KZHOY +cg3B75RVCXMUkYczR7OwQG5Hz/aCAVKW4ujixViYjMsYZFZTRy6MT1erD1CnRXs6y/lU4u8YpYCL +RqpHlpQGnjKJj15hY3EFGGiBGhPeKaPvCBFv21f9S743Qwi1l6z7UGiCbFCWJvqa7sOgPeb5x51F +hgp/IbcC+tBSkgWuvS2yunwJlWRtrwZz4svo2kVyxNt/ZWtUp7bMEXlMCIV40QdbpYnjSqRoAbuN +fhnSDfGCgk1dbXOI48U2udbc36WAZaPPBw1BDBbRdFbRksQbNrwazulGnWzH1OZaRKcEnVx/UNGP +hA41gICGg+YWdpxaj5FCvTlR7CWlQBOV8r1RavMhKnR0Kfqi0MinQZ6aLDjVimeSoqMe9kYZxpGh +au45ev+Id6NyB0okj0A2CapoKfSsbKEQ1BoEzF1hqU2wow3VOcEPjHVnS1aWqKIpKCwGXVowabQr +8Qksubcl5hYgM5ev91i44LU04B+ZLYp6uwj8s5FuEXR9hj5KQ6vEnJSa0JP7jUa3QsZokvx6GXUm +DKNTCZfj0lzdWiGdCxI+khzu5GJIeIeBUbAnDUhM45vfHH/FFLsKzQhiY5g1Fa1gquhLdEo34njF +IFHE2jL3iBochyibdQf0kackuCn9gbLPWp0DTSm+vyOnG41pmHRQHSp4rRIjeHL2fFbqicgoygch +lNgUf0eDV1n5L1D1SjTvJ106Y0QXKvSIbnRgafaYKSp7lNHvyD7iIbB4lMIAkIzYA4YXILLxlPo1 +CEY6rZosV9SLkBylzXFMiQ4kYYHiImTCN4P0BepG+DvyC813fci5gGjRh4KeIPyVAmFc/mEKGFWk +2ii8DYWJ0SU6jouZc+B3ykRMHENj0R/OVUikR0mOKT8gkl7BhIAaI0g7/CIj96RkjRrVQ5XzhlGF +clAK0a+CPhNBXn6ZUQZ2dHygpKeO2BVLRgFTErolUtL10DRFqSYM65Bo9OIuCMOCG2MEEhIORcpe +34J5oqCb0gZd+2GIZ8YJSZwXG92riggJQwvwljW1UWBUUBEUQ5gCuSOUdbEIKyLbyAL4sZPEnAKC +jgHprHM0mYQ0soIcLehZyCmCAK0cyg1AkW6SmJcLO8jJWeAGCgxPZGe4WozOU5h7Cy/6KTlkRrd3 +dG3FhkxllqFflBMlC3b7a9T76dec2IDm2A/UDhO2ALVis4j8UXTM2eMrbA5Ix8nRvCd1ndZDRjW5 +gkjz0zbHmLT1vNHgMVbVtjf/yLIoF4W0MWJGOEeJzWmFoUBkP6EjzriAIqvV490d+qy9exRtBLzf +yGztckmRgfhNYTMEU4IQaIIySOTsFtQYc4Wan7ZuHClZxXFeMTyxeHWHt/hUFQtvEPC6NrVUTW5L +Q+4nr2VS7DSKHuEc+wXXUxu7tFmmTE4roFLlqFN5pnZ8Cd1c6GxUlCM/bxQkh5FlwdkoOENAxTSB +x9GuUbVg0ArwDkpRA9Jn6t3T1VXO+VLcATu+JG0AE0Ay5IP4e85MJENODByBytpg4i1DMpm8TKTM +pMBdGpQ0HOYq6MonbdSHwGGf++BdDmR1ZgkthbM9ZZzXCyleJuxtorxdKPMz65mlYAISSomx9hmZ +CciViIqQzSA7UFnlJ41G4ltcVl7JYMDLkWMCuXtrWwFJULJhisMqgumk6Lwz7J7Gm0tAAIIoOIaS +rKM2lNgLrfpAy5wA4aygbhcrnTTa/eOT/mlvrzE8bJ2UjeP+XhkEQn+RsHAU3ZjdFl8TUCiPADpJ +wFrGg6xQUflbxIcnXyQ+3OCvH37o9zYHnd4I5js3x2CKGg//cOmHE/xLzn/Z7J7Cvxu7nwCLl2YW +9/q7ZWNpcDo8bDxr9VoH5aCxMdgrB7PT/9bgPy63ut3OwaB1cthp25Y7sLT5xhbu9FzDNDZHzfmx +xrONuUszk78QZ3xSa71BXfzS6sIn6mJfcOOge+piyhdr3Vb7sL4IoNGNHmzaITWlLlz7p/3Dbgnt +10rA0eT2runOoOz1gMg65Tx1YRvvcZuw5Yty8Gtn2D4cuQ4twYSdchfc/lEHdgna90ogpR703uS9 +B2KJdv4LU9DYzGfxxYKdOvycNNCLiW9tMvxHKf4JFJBG2lh8/GFpAGepW9L3651dOP8flrehpfmw +BUyDFrj3Ya3V+0+t5wyigJVEVAG/g+yG/yBjKej/7X+mTfQPjbsREDsNC2ocCKoGeplRl2zYtx9f +a+B4vYLWOpeisUEji68wcsQSaGheKeWSSRjRgv/7tcaur7oa+AL7/CUJchIfgXlFPAd+l435xvNe +r3Vc7jXS+Yb7D+JovkHbJBrVIyHhf4Kf/yAKz5hYxeFqs+JW8EFDVPNDnpDT9THGfrqCZ6DugnJo +OeQZk0fHNf7/1Ol/yY2YwH/dmmPea9f9Q/mr+6ah41+FGP+ddyvB3aJ1T9uyL0t8Bf8F9nN79Hu3 +HF6af9rr/9qjX0AZm1ncLXt7e//+P8fH5eC0dzDbmP8BNhR0lflF0Nl+KV3D+WWr6a11urAs/HT5 +sNXpNbgBQ2d5kbbJLdCh5190hh3QgbDD8R62R6320Wf0sNQadtrh54P+UXnx7yX9obsxsB9Cj6Fm +Ckvvj7bKdh+0oT38IzezGGic+QoP01jZZ3gJPsOjJnvQd7nfuNO41JgJ+kEt8E6Dhm3cudSY32wN +RhNWttzv7Z12RhdZVNjLn9+j2jwQXZ/x9TRsev34+bBc/aXsbeztITJoRyoUb5z92HEczQLRvLTr +n7ouHcIWzziWBAJgr1OC1q5h0vhkoaAbV5Zs6EQt7Eju3yV8abm0FGycn9sFt415yc6g1Rvu9wfH +s9T1Gcia8c2arc4JnDs+6tC4tCewagEcCDhPY36nM7oQotEWaswc938pH33YHJHpgQLOwodgCZUv +PoDN1Qb0TPrjo/CP/k+D/qg1Kj9sAVphXvZPZBb1To+X+yed0gF5o2H2e/3jzr/K2fqsXrhZVW3L +/S6wuNezjKZoomut9qg/wL9oO94JMPF+x0+Pu6DW650ez0LUFlR1Ul/PSnkwKOtT5+m8ioAjtx2W +sw+/UcU3qviTVLF2+q9//Q52+PBoOllQu9V9dJKcSRgvy077sGw8bfVG5UXJQvp14waeXnTyS13Q +Gr6QYJinzioRgM+/LiYBKkZddXHGAr5JyXOlJOjac1ZOYh5XfMiOm4HXNt/k5DeO+E1OfqOK/2E5 ++TcTk+qi/P+bjPxcGSkwYQfeW4qzRKVhSZlwAROZZ5JNygJE5jdR+Y0pfn2m+PUYC1aM0uYbb/mP +698it/o3VzdQRpCDGEsbqG9c5RtX+edzlewbV/nPcxUd6SoKi7AjV1EYsfalucrX9QrhG6qvSD9/ +h92vLgMFlmD8XHK4+M79RZv4NWyWS/Orv5XtU5wD/YG+Hb/lPMDrzb1yVDZW20dlryEpBOAr3nZO +lLhbFCu33B/0ysFwutSlpmdKXF5Ea5cWdWGJ663YwVQr9h9/Ubv1p+ufLl788GGzv+a69xvL+m9m +Wb1+7x8VjfFliPivYBVJkhoye/OCuENRaGQTSUKPjzENk8QK4PgkQGTUVCqBb9TPYhMSKeTPc4mv +JIQspjb294flaLoQ4qbc8kxZ9LTfG50OfikxjXWn3D3tHdxurAOxzqEf9mgUCKfP3KyZx71hBwPK +cdc6vYPGzEpneNJt/c6/zp6xnzFPOouTN/PP3ySfAzzEi5vk30BFTr9ZWF/ewppkVuU807miCt37 +J5hRmIXi61rh/zU7LBKe6lfZ4X8uWrT8gmj5X1TpGqIw/wtq3f+87rJxOvojygvYrYXAC0VMC4BP +n4lW8Z2bouc1OlGYnxffDEtlJqugAiiaC7s0zOcpOMnfWsFxHOebevO1hV/6Tb/5RiSfcctQzAZG +V0Ut+Dbw704v5usG0vwjt3vSHkvxTSGeRPrf9OE/rA8/HLT2O0fDUaf7j9KIvz07+5vxuD+KoD9x +HtkaWRn0Txrbh629/q/TbRFsyO3OtES224fd1gGYIRizceEbPe+RPB2Wm9vrS93TQeSoPGl1BpPZ +30ULZv6pS51hu8uhLE0qCGdvH3erWVKUzG63t8etEt+mf9Jq1yJ+9lqDozCYpz0cUJO5uHcw5kYT +wIf9wb+ow9Tl8qAt5FjhxupvJy1gsEvlfn9QYnqGYQevX/4GJk+CWsp/njcDispB6wh4ceNVY3jS +KQ/K7j/rPuobm/7Gpv/X4hzFfzjOUX3lOEfxD4tz/AuV6fXW6e6Hh9vfWPQ3Fv1nzGKio9lG6Mvh +/7xNyLk2xx62OWkw42yOCSqV0VjHych3jZOvGAD0N0AOlgIVWNQVixrmiaTgEJFj9TVaN5Z3TElz +/hYK9QVZ2ybwHbCdTgff+Ns/nL/9nd3n4qIc0pPjRDYZOAH/s/zwa77e+Kf6yC+6pw== + + + mKDc1mSB/8FSqhj+J7BQFt2+iizF5yvu0hWzjqcyM9/Y/Jdk82MesG+M/h/L6P9qXe2bS/iPuIT/ +3JuJL+EoVuf7iIHt1nzEZsxFLGouYll3Dst/vlv4L+HRlDuj0do9KPcxY+6oSqPxjVn/o5j11CX8 +Rx4j/BX2+5e58zeCMkpKifH2gqoYJAoTgGTmayUA+avz3wjPYqcmwPkPRIByTCJm1z2cjgpuiO3O +xMTmfmuv4YM/P+sdJcmKT73RiX3ub33p3c4xAjIvovaHo7+xP+sLnQdtwwU1HQX5ZUNh/tdE7FsQ +bz1QZPbeBVJ1u3N80vVS9Yynl//hZ6+swm3CmR4Fq6Gc06u9vSrj9Llpqzdb3RI0XFrS5u7FQxNm +3m62hsNycAxaX9l7N0vYePWvS3X4pc32OLqQDf77/+W//WnFF1X1X1ugSXJ3SSKwFhgWs0pVUdC0 +0yxL2atQkJ8hL+AngkiFxYfgh0wbntrys9dPG1v9ketOm9RQTp5mnudYq5C9zQU+S6ToAPfNw7K7 +az/KVZ5ibCMWc6JcMlh3StEzRszxmNNbsSYuQNGLRsrTXnU0+Pf/13PIMVgMNMGKdlg0zWISiz3z +vO1K/LfLv7fcp7B+fjBZpCaj15VJTlngE5hVQjgspDC4scI9ssR6pTLobqnbOvV4zdn7XmRC07QT +RdWVcT40CyLepoaeRLCaZ60D4FMt24vIjNGMwERL2tskM7RNsAOcrj5h/w6WnqHAe+rqnjCNZ/fw +bvb1vSJpPIUf/cRUqiThokgyXE6uqa5POLGmpPT3Okvs6u7BkcKOXt/LDfSWOELFys+YgAyLIgqs +NU9kg4UW8WhY4lNMfBEVco85zS/oEb/OCwp2TYTRTI+KiAPZtYjeuBroHpsEHRrsEJcdzlHpPOH3 +sobqniVM5Vi8GJOG5jzvcF6wYfFKsYwtVmxiwk7d7hWOJgvndktgM7SxXeEe+B1wPcGhSgp+tKsT +yahLc9xT7DtDFNH1DPXj1iYT21W0NqxjbE9bUeDP9qBoRYjCClUpjiSAcNPCTWpyV8CstM2jCh1J +xfORkk56gmWk6boIi7FB/7avzEzsK4fvDTGitMBqirR9SmORb5qg20DJj5S5r5wp1nfmKRa4W5Lg +0EqiL5MooMCqxVgvV9CpwIMUbGFBe+hpS1VrBArgnctg9w1xiKZw+ErtWnV9dVlICVmuLD8QiaaD +p+EQZ7yhRttUtPzqGp/G0CMYu8TELVGHPQIJGsEnDkhCWaYl3Qvu1JJCM7fvaHhy1BfSaYR5nRF3 +0EChCZ8akdsle2GgNc4OkRDSBeGfzk/VIXEeJWF9dI+YacJTgqXFab7uEAk8Q7LGEWkfn+EWvL5n +4i5zKoCInCFJuLy4zPlwC6y9QT/gZIl7MCTskvmaxE6l8axf58wvYMI5SyuJJVmJ5RXEKtlpjnit +TzWr2GWIThCn2kpHU9BTJ5yv4dMrSSb60yYclzMhlzPJxI5llomCGAfoCvSDBHmR0GHN4CjSsylA +qaD5Oxal+EBzz6qasjIRh88zrHlKIq0gcQhEwXMWmSSqzH3XjhRUSAqimrSJWSkW3+OtL6hmJbFl +QxjyTN6TWSWn73lCkBEWREq5m5tSKdZlABmKqh8A4hOWc64aS+belaWy0j6QCJ7hP3Ckwp6VU8tU +kXGuBK1yGkHkmSRA6pZuHEXo8HxpnLI2DgWOzLTU/tAndGhBQtMxVRq/r7rBWsy4X/SnABXGy6k0 +CQkYKE0TJQCGE+o4y6HrBlMh7aNy4sZLVKxdK93hMIiLlHpGgtCVxLF7BSwpMYzCQhBLgYMsDKPZ +KjdwMNOEDkvIuQjN2nftN1A7AjOs82ZK8lETKdW0ROZGCg5VU7WCNlDCkEtbbGQRESvQ32ibDBwH +3v+s0IQOEB7A/+lPlv0o94NkjAcHhNCRR4gG9BqWaRKIghTc1KicNjUBWUwiwKm8le7CVBIQR2qc +aFe+68wofhEJLIsYImiTCeHVSFPQtmoWoEj0KAdxE1i2Bl1nlRg0XtanVJcTb/aoFDVKoiQlMZgJ +XArJQysqPBtNAv2SSS/zGMm4azaVyca41XDWQWCDTDKP682rfjYGrd5BeYv1+/N6iRpXfbwoB7td +tIt6e2AaP+ocH5fdc/ua+JHt05lU/ChsuzwcNH5l19KQF1A2XnQOemjanTvO9K9xwLMDk2o37tyQ +Pvmsm/qgNYtUfJ9yOhyd7qNjSDQ2D76Eochc20kuoEanrqSKtErQhwV9g0YbDZRQ9dqAsoMfOAvN +WLeFF7WFyiiFDZyblJ4Na7QgiXOIXNEAynHq6gfWEsb7zX2/ShjmP4rqziILZ/YhM1Df6bA7aajd +dO0P491m/jRSpWXUTthKdP8rULEkpm0t3rEfxjtNPdMDDUsx1wF+zGIZcUr7kiQp8VMnVIIfAi06 +7NezDlScyeSQYAmx2MhSZj3a5MTtvRlU/2G8Wy9XJLNRkKiGNRcQBqwfplhUlordMl+u/zDeqdfR +RQb6OFnZoNlL1gRVYiLLEuQi89L6D+P9ykorojLgaMmBQkw/ACMtrB3n9qj+w6Rz4F0domANSAlr ++6kUuuQO2XYe/2HCLrkzvD0atA7RM1c21lqD3eAo/2knzb1KoYstNVBnWTWAtlSxmGfvrFnlLEiw +dHAPqs4yM94X6NtkGCXoFCu4n4RyYVLAoTVtoxnVzX8QbZnVpoXKBVuOIMoEo9U4ZVCGOmDdcqwM +DTiTPP3MZLznIPqZqLwN6rIUmFBJs6ZLXW1PYY2k7aKyLhhZaMJQl/g5cVVvuYVEmU7ocHPJexyd +Y/FzKuStd4ajyAk7dg9/djrJs57NnH1vOl6Ar4rkrgU+Ru8lx9ysNO0/UiBQJPwnrkGM3fw/MPCg +/69yOByUONX2EZV9PRr18aLk+HT0L5xkeYp/AxwMG6xwMKJ6ndGI/a6Nn2aKOSq9/NMs/G0J8Ilr +AIUCMDRbL37MA5+9ALtLK/326XHZG620Ri0sLu1+b9ym3wL/flCperMcDE9KupfG8s8ftjoHh6PN +bqtX0t1Ap9sZ/b6NTw/QcX/1A9h1ogHCMeVLHHrYQDWl6/2sl/vczXLZ7a7+NrLvM3DgOeNecJz9 ++VbZbeEva91+f/Ci1esMD2G5/h3F1Q95Clw9F4U4tydc0MQe8ONc64v1QGtZ6o9G/eN6H1nxOX3s +9E+CDs7aBlr32dtw1mce6xO/uvBsfTfxZC+MMf/9GMKyTFxs27CLSbt2Jt2edsvBxqAD5+AxHLzf +tst2n6NiLv7NWmcwdEsFW/1CdF5tbJ3QMxMWgwfWhgwSDIVBawh8cO6XEt/4NHZb8G27KqXu66SH +n7S7nRMqJ98tf2sM4Kz3e8PpX5wMymE5+KVs9H8pByfILewHMyQ/ksQKEvi/IAvP9ouHH150yl+X ++r+9es3tVfXaChhNY+N0dHI6amzRGjr/olLwja1y2O/SzZ2dlIm+eVYOD8/5YubtM+CNsBtlY/F0 +v/vv/zsEdo93fM97nXZ/r3QThFWKhudr2+Xo9ASLlttFb+KiRw28FxzHjuA/I052yt9GjdW9zqjF +R8Q2TlWu/Ja5QZZbvV9aw237MKyipeVB/2RxULY4pIf/Nr84GLR+n8hu/UweD0Eq7fZBeq6U+63T +7iiaLSNtc3HLQsCinxMyD4gQGONOf4uJlgmyP+zgSPRXyd+l6KG+6DfCUjyaNZNOZnBKYhTYnE3P +bFwZ7OIbMlJ7sIH/B41VMb6B1Wrv2H9nHD4IeX4ExsRStyz3mBV0Tx2WXz1b/wG6nIhn6O+3424P +/jwHVDHo7J6OyuH47nzlLr5A/0Gr9mGnu0dvKrGNi69wf8V/Rr+fWOTMXOsNP/zSGgzvBMc6bPpL +hUiCD89o1ws2yjW89Y/Hzm6ntwdLFRdADiAR+AvT6/kYClt/ISL9o2vs9XtnTTlcX7cPyvneRdbm +Wn6h7f+TqxdTV3+hfe20drvlRQj/3J38Jx30279c+Khj07+YinF57dMhaI9/LSf7enR4e9hChQ6t +NWAdFyXHr34utjF35N9mKv8Np3S4/+vfWBr/xcdgiE6Qf/gu46WkV1nPWujvF9na3/9qvpvrIj9v +Jb9diEj/6pXMKZml6Xlr+bWzh7HS56/HNvwnrOmwRJ/ERRblWv61q/K28VkL2iUvEpqBzgw9f2nj +3/wNZD4xu+3+6aBdLmH4/18u9EE0/dVTOC5HrT3Qgf7sPIo/OY8re9bjcxHqChojRMvK1Tfmn1pv +9Q5OWwdlY7N/cnpiia12vpQ/1CetPWtquTqJ7T4//yO3CB+UVrdjqZbcc9Rs76TTrDU7picx0REb +nvRHfhWLjxuLp6O+982Vte9pNW6ljaMe2IH901HjYNB36zijaWfY77ZGZWMXLxdtQu+ocdE4aZ2U +g8awc3zabVV+wAqPRYMyGJ20YIPbv8OYnT1o7aZopEavmG/bsj6kBiCrP2hIGPm0jOlzvNkFu8KE +S70Lth04Ozk1RpmzW4pgguc2DSZwbls/AR20sh5SJOkfT1vo8Wysl79ghEuMICE/bAN9LGNfz/p7 +Zbwndc/3TqX/pBhKefaNxMMAg3mRiylNlyK0TGm45RZa+ZonNds4abW9h9fkU9uGznsUtNm0uxk/ +/rktqyVpk2dn4YmaBog6c6bU0OX4P2dVdDkRX75NHv15rzNy1HDu1cw2Jimzrc1ZQ+NtyDLIOIfP +M+eIDSv3ujx7Ox/1gUX1e48CneXsxoylcPMvfHmFF2bON2737WwM420JnKuVznBUXePoM7GCZLbW +apeLvYPuuY1p92qtz14xtY5WHDKLia09DU+9DK7odxqpU9OAfmeEbibN8HLpaPHx2mm366SjfTAO +f50sEmN9bLvsPmqN4FsKIni8MgxuC85oud4HOkWPbNg2bLCDPgYcdVyWhVdpIPK6nV7ZGJW/+TMy +veWQHicPx7tNg8at3qjTAGbcsu08GTzs9ndb3a3y5LQ79IIxvhHZ6Z8EFyLx3+x99xl/5QvZ4M93 +8M/+oV9tG+rvACthsf3i4Vq/N0IcV9JbVX/cHJTtTjX9qjgY/Olgf7be1+rxLsyc1JAa1uCPO+Xx +SddfYuvqKwruCMRQ0F+v3a8Uj3B0VHieloPaVZZdTtVXOP6rVl3boUn9Ntro8UvbWk8rOyuBcubu +QUE/Wt3cbmDOx8biYNTA3Al0ETn19tR+9dA9J8Wv+D619lU8lmyAbve5Q9FH54/ktm0dtsvd3T1e +GTsZ261fymen3VHnpFu6ZsNF4PUlJqv0asrnas4zb5+Ve53T42Ba7wIm45Yx5VI4PpCoA+NJXMST +OE4xrr9lvIFftjfwW2fdwFPTDcsFts/iAlGrHc9VwngBasLnYf4FBwos1QIFoqYb9Vv+c7HEdHVh +NGHjc/DEPV4MUdz2XEzFzSajittcDFe2vxqyRGiX9PpVyESj06OoC7wtd/d6F2OP8w== + + + lXdh/lN/t0ndtbpdp68P61bp2AdA9hw5dqF+p7caHnVOdgEjRzGrqjcblPjcv8TVDKa3BGujYsgz +47f89fZu2cGK7vigDET0k/7u495+v1FJ43MQfdbMdjuj4xYGv0Qsy1vXYfOTg+OjJobjDfv7+032 +F9VE5ljzXZSh9eaT0B63Ph2WwNpIAPsDGr5kn4I+RHVJmIgCRcYGHI66zT2OKCGicFt4zu7gZ7Z9 +5eC4yDcne8fw527vwpM62btw53zv57+YtNcnJwPbbMoeQBs7ulWxCjNxZ6Fd4N7NtTyrVegvFflZ +rTrHcHibXVD1L9Zy1LeyzWTZ9JaDanh8Yzm1bUihMyung/ZhY2dQdnaB1wNSOr0OZXuathXYVy+U +B+PDtWu4O7tRiLopXfUDw3ZKZ7VmY1tPrciBNJ2R7ZXDzkFvggNqIqPdtT7baT1Sw/5+p1teoF1r +yPzqwow02o7xVXcHzWPvtzmrRbvfw0xf6AmcshZs6QUhCI+2FR6ZnNh6sNcE8xwTCYxCm2Viw31Q +EVxqMbJ7JrY6sTFq02iBRj1oTiU+28ZGNATJ4+utKPe66+vcdr9MX+OwfdJt/342b+I27d5wGhFD +m1GnG/pPz1gf7FO3dXI+Hmy7KXMnuVX20DKexn2x1dClczmXcqk5c+vqYFzkGyD5EeYcsjPBso1n +SWbgaagkxrxoilg+p0170D85pwmqaB1QWs5phuG6Q2BF088FD4qO193WYDhlH2PFohIyF2g8CpZ0 +XttA0lxAeaqmcYHGfhoXaBtMY9Ip2u+Nmnvd6SyP25wM9vu9afwOmw1Pd915VJP2aAgL9W7zibs4 +BAUUVdapTXrlQasKGj6jEdodoMYOp1MNtgNx05veV1dgby3vip28/8Pm8LAFqn85BUvYqByhE6sH +c/MbM7G3uFU2ic//dtKM4t+r26xaq0FdoyfPxaSWB/WWZ7SzUjBy6k1pxy696S27nSksAxqgx68V +mc9nNOyftKdwFWownLLj1GDv1HsCLhRZX+tguqIBltzwfClBrfZPe+0pdMJtrBfC0co5ooG+afV6 +7iZzshVNrc4zEdrHgcI0s9wHo3avsbbxcGtRZo2fZh5vbzSETHU2J2/LJNE/zZ5jrB2DXhcof5O0 +SWiD5pa/XDhjWu4BR/v49ylme9CwPzp0Nl9sWy+65oF1HfpiTOV22+z8VnY3ywGmSIwHrbv7+dkD +vXu5kL0+8/Zxt3tKcrA/mPsTtu9kFoHL3VxZ+/Cs3+u3Dwf9Y7C3f+1xgOVZ/stJ37snIsFk8Z0I +zGy5dcKvRTrlNI72WW99Jn0tcRr8ygavOnqjTSYoxMBmv9tp159ITFpG4Oo/m3Zc451B5xjfcLjD +twIrbACP2mvsddA3x1sFBAtLAbT0DspeY7fsHDe2T+i5x6DXgD/CYsMdXoGThNcbwwYMMbfSPyIC +a2Ka4F/xYWSvsQ2dwwDDsrEadn2rAX/3f21wP8OTf/8fzFnY6YWDNPp7DMPhjxvrrd/7gLdB/2DQ +Oj5u/Apf/6vZWGo2HvdWyMyDWeMr5w5gtXH87/9LTzS5D/wvzOrg3/9fd9Q5KN0sYULDf/1ato+o +AU/ltLdbHgHzwSCHUXM6/brthOHbg87JuSRIjR3Cz9+4NSCul+UuXkFObSx5l1snJwG3Pod41qcr +llHbrXMs+6jxjtP+zsCBJoRZZ9n5ONgqDwLandZyE9T1x15dn8YEvH/4/KaMq840z6prSlEVS165 +n9brstX9FgdTrEO3sc+HJfH5ncBSTKd0/nDQ+n25Ui6fdtwrSSnPYGj+s4qnPkYX0+Ju3ymxk9Wx +yd9+Dj+OvwzmaqYtkVAN+CiruILp6IbmAUpsjMz5qKx/eFFc0nd/FJm1jz8Hm7VPq+lO3QIUZMD6 +dg5Pj3d7rU7XRZ6dQ8Bg4oSvK8/R6WLJh7m6yfnzGCTFqLPfcZrNNMZpBeXjXhskBAVwVNLygqNv +sa3++w9Ttd9zLvLPmOOF3/OeuUBLbmiP/MH11bB7/pAguUD5sfEw1XBnmJAXfyB8ARVssT3o77ZG +INXLwcXsgnO0pwvvzsQwjuCqvL7ki7xvvrCi4NB9LgmyCsCT3glCJad+ND2u5Y/YirWZ4GN9ukkO +MD5VY98+3YXWGHyxheue4hny4pl8/2ug5IN8/LU/OAoV3c/7cmeqK+rMz7bOcY6d+WGgVZ3hy6wr +5S/ja5Mpp4bu8PCTKohFTxUkaCtNEUKfaWVVwkRf6MvJYnOqWEdl4OJSvabnREIdDGRowoS67I1M +a8gudZwRu7i9/PhxblZKJH78o36wce3tzbsv712/03p164m6tjG3tDB4eHx4+6B3+cna5Vsz15c7 +rebw+/T5o9X0yu2F5w/vP9MPbq//dP3ZwuC0na2tymf5VaH1lSQZrnxaObiVfL9w533zxsLdWyfD +heFTOX/p6sKd9csD1+jJaOng0Y/rC3d1ub3cuXe/vdJsXj8YG2p97zWMl62sXb2dvXk4Wvn0bkm/ +mbu1eNxfHy4+3h4d3ryfXjldW9Hfv1z61L3+8tLVlf3kye7Ezr7Piv3sxY9vf1rcWW6+OHvQsN3t +dwt3j9beLdweNo9vrty6ero283Bv/9JVQtbaR+DJK/vvXmZL3YXuq9v7S4ej5cPsjYjQ8fHaSlus +/7xw98H1l9wPTHm4/P7gfR9+uvbzyuO9x5eX5vJP3y9uz13p8RxetfZOL10tPs3cbK+2zY8zy4f6 +w527i1fVtZtLP9z6eHNh+frzteXy9Mb9F0+uHN5pt1tH+FPn5ur++iGPLJL5VjbofP/xduf9k72l +7tUH1+cGN386XVzfvvYzzn924c6TQ3XpanrnxbuFxV77+vHNe8/uzGfHP93rZNn8cF8tDtqPxc2j +28L32F55MnwBaMuul9lLlezd7izPt2B/xbN7M3O3yqVutnnMK3i9fnVh+fHdKy9XbxVmCPvy+G16 +5X623H9/8+6Lvbe35e6Vd9Tt/d5VWND99MYV3JK36cv0xx7i6f7S0Ww6Z0nzxd56It5debYy37p7 +be3yzTcDHCXFP7ynXqjJpavJ7nePNf188/7aXfvT3ZerT7n58q3Vj9yZfC0fA+m+Sm7ev796S648 +OLhn+3l57+6dvU8/vKed9BOG/jaWjB0FGi098RN4V01AzNzbwkalJpi5vLTygVANEvCBTt+kn9qL +Oyufbq7szz/9ebXVuv79Urr7/Mdi8+qr54sby0ubK/vbnZ8Xfn53++DS1SX9eucDI/NNuvdm9YO4 ++WJJv1rcWFv59PLDcudTOn9n//jqwdry/g0BCLz/Mcu29vrVePn2z8dPFzfWbzxdW5nde8q4cYhm +2ofdH500f7z54EXrZ17Q/TRvLdzZGX23uPNkdDq+tBpmAzy4jXg1uOy62oaTs7E8unR19c3e1QP5 +8e6DlWTtpwVFJHD34921FaCOG7duLvWL9/W9ijEbbqzbCKacB4fDU8ISrCXE05P1h4sfngiimLs3 +T+58XJvZf9pcTO7uvJGz37+/yxOJ0ZGebhXl2sy1k9nlw3TraPXmenOtolQ4AK/7yGG2V/eQQhfg +UB1fg6VdmV0+OFwdZnfaz7cWszfyZX0PNh91X0R9f/dwde7WbjFpS4qj8unypauLO8/2bgKHuV+s +LK2/Ppo0W2oZtHv4OtuHQ7MqE/lQPxunnNHm2uxm987ainkjb95/+HHu0tVqXbCq9v7a6orJltK5 +jRfEcJri0YtbNOjK/MeTG0ufRnvHS93ei/7izuGr76GLpzd9Byert/o/yLVrc9nbxa39w+vw2btr +S+nN9UPmlrMr+9cfpTDb/iFzwdUXrx45Fg4DPH23o9YWDu69Qgb/cWVXH75cfH61PYzbXVvc2nnb +zT915+4SR6sEAYxS/b3/JLm7dDRz0lm7+1DMBLz9zdaNVogTkCUBsxbJ7unqzL2fX1aSpvZXoOSZ +UXYA0yu3x/6ef7x55/FwHzh2+4pZEqfdt4vbH58s278Wix8X7j5abkKTjy+AC6xfWxJvTj8sbp/u +6Oqv1Bj4GACOFwbt29d4t8LzOf/67oON5V6WPW1dSZ6M3i4kT2eOV+GfvaXkqdhb5J+eYErdpzOv +7gOstRDCxMESfQGjhC1b9sOnMwfL7sNP8NNsscnf2K/dANwPd3ayBu0ebMFPn1a4iW18wqP46WGj +sB8a5Xil3kUwef/Fk6O9FTsbnhJOjnqBOeAovEzqESc1u7TNMNsZrYpGwa/rKPJTrg+6ftfiBvqj +tbx9EHz9ZLRxFxo9fwD/vF0MUUnDz7xfcFi8+2OAAsbnm+s/uF7eL1aYhVHijZq8tZ+7EbVt8KPI +yw8dsmCitvnb+w5PETq4XfUr0wtRDo48Pocz1nKRLaEV8E+uR/vX6FckC9yXMwhjClm8ubwerqoi +lXFk0R9wlEnI4rUSJhw6gjVj44lIJdoI1mwR6DFWXzV8Y8fzXcSzCQ4pL/ft/WhQ7I8HfXWfzku1 +W/GuMu6wR24OmJh0VOyBxM/wAIRESkN94n3Bv38uqs+lF0L5K15aRWN+46tv+BgeLP8hMqQtscsl +jNFJxrFn0w33Ey0Il8Ervf5TrPrdWNx58bS3tnC93AFNf1+GAqNY7IGsPFhf+/js9e21yzeaIMWS +cvd27qT93PeguawcLby88vxgufP+w8Jq++jnayzKAnXCjDbPNmdCtePmSzJnwBaLDRqa6MrB3OwD +Vv02H8/+VMm4yNpKriy8uD5TLB+ebr1Zefr056VwQUsfysWt3srGwvb7wS5osN2FYxGPcpNsh9s/ +JN0Pd+c+rvXrf53/bvYtGKEvTlbbt3bml9Jbci6wG8XS7sFKeWP1UaVboab05LSoEGO1sJ/yjcB0 +C5UIME3Rti26a/19Vs/GOnil4bO5/vyzrZ8WcV6gKYG2bt78GePkAqYJakp/0ji5gGlitT5PoXO4 +NDaZI9v3/VFloeTd5uCR3YPnV4+sfvTqyRKpsRWeqq7+uywLMqSdPfXop5WnS+l1GGB2d+nHhbc3 +ln68+m5E6nDy5KHIJuAptEWI7O+nT5srjz9lrQptYFkg4iz6F3uPshfd9Z3FjedPgdzhdDJxVhM5 +y6hgfN5P0xv+ADxc6qYHb0n7v3S10v/HJ1purDw8ulrC8frxLjo12vDTrdHDk+92i+LmHf1D3O36 +GUbK3evMYR4ubncXbsLXBz+L9taDDbnw/HJhLdWdGyUg60ifY/TLN0dXlg9/unwbJvzhg9v9d01Y +bhPO/tLRs5tgiGzua39AbqNh8H7pSN67XP3BE3tye++4m+A2PYls5HRp7e7qT03fS7b2/t2NK2ur +vVM4lfJqcZwzZd36fv5tnrXXnyz9uLmwKWdfH/9gJ3r6+urijz9sv0Bb2/3h5Sdlcdy/lmRHp7ub +yfpJs/twuFEOaiPbU1kb+0uPfOmqJ8m1hcHg8Lm+/ezlAxrgTvLgzke07paT/WL5cQ== + + + 0PfGydKjJX26lIhbz4eXoz14+36xuPN0zv9hR//c7CySLbZ6a2Hw3ZNHazdmb2lgVy/Bvrm11wPp +tLW29mH28iGuVC3c3X3fW3j5481rtw9vbndA+BWfiM4D7jzmwHg0t/JkcOMj09g4xVxevc8t/fmN +OrvY6ZXp4jWSgOiHOe/8qsrpOP30BhPB0wumYH9/uTPspOhVmHsL+sPqz8u1Hi9g5Qfd/ngZJLc7 +vUo8XH7apSa3RX75Bzj7s683R4tPX4s93sZ7T3/YW9k7Lm454pv5Duz0B8nK8qMrLIzm+pfvN9kR +wN6zl/fM7fLjtdLi6dHm/FK3uSWg0+0eqR2XrvKIPzzP361+eH/1LUz+4PLCz0vvZ7zEOvR0B1w3 +/f4qYKJ4jDLnYHV3/k0n1mGIY78l293K6/UD0JSyl89OtmPZzS2zu2q1XH2/sfsBdJM7yHD2Z1fb +N5OfFvVM8SOwv5c56wJ2eHVl4e6D59dWHh933i6ZF6+aiz/e2DxY3Nq5uQbn5erDd9nSkdgbhKoK +C5R78yuP367fQGVji5oAd767PWny+c6177fXPly59nplH/C11M2/v7XyZGZ2hpQbf/ZJkzi4egQ0 +UXx3Z//77cMJg2oQolvD1Zs30v1QvOFenXxYer/w4vvRyI+8Dlt8cDkdra+Bxbdkdppz0Z+uX04e +v31413bh5St5aJ992t+/3bn+4zNQ6W4trq28fnRj0tKidubmpat33vXf/jSt0Ysb2Q/tOxu1JnfK +97NH5Ee7/cPBnc7qrf4bAZzRiMVts/bu4fHoxnVs98lxmDEqujIEWfLskBWZB+mrh8s/LL94UKMN +e3sxuPwW1Oaft2CTF34OtEPbVdIE9L48uXSVLkAm7EETzufTNL239vOjuyvddVMpwXYT31+5vLK/ +/bG/3PnuewOErTcWe/cf9yfREO4LEt1Gv31SPNufF4sbt1efLtxZOgk1bzuzuzMLg7niFHnywmL2 +bu+Hlf3i4/zqm3J0rYbP4tPg+g7I/fevF/uHGzcAYzGxeHWJfv2pmjxM6sHjgEru30vVJAIpjhZX +dxazYovUxg8r+z8OQSIzq7CzfXRlbXnx3cHa8sLB1qPv74nHi8X80eLkJos3Pi282HncWru7Mgpm +A5z4yncLt1+WBwv5yeAD+SXHR1mVszdor4CKNg8vulJW8+Je7j7sPju+eT97+Ajky89v7rz2G6WA +Ua4O0U3/I1DHp2sLL/Z3ToO+76dPTleaW3tzC7d/+HQUKOfwz0763Vpv2V69+OP686Jch90/BukX +of96d/6wfP/RobrUIToebZyuPHo/HK7c2l1bvTv7/dXnQIuvf1463rhvxunlx+9AfB29QU3pjpgB +Pqevgqq2M7+yvzMAYy/ZPw5O4OPhu48Pr65dfrowuPJ+tLLfHzQnEGwBUvNgFu92Xq0t7z9Q1fGx +9gsqBxk6YlnFWvv+1adOIs3R4crD+1dLUDGKlH2w7Rdvhr7bO2szj/deonH5E/KIVyvl3fdoKpze +rAxAd8ujbszM5mZw5yVoRQ8/LW6IJQVm9oOjhbv3T66EZ9GpQfDT3nyAxWR46016/7leXTRzT39E +RiHGR6FGNNH3a3Jnokz6bm29t9o2PRh5rjk7AVnXF7PtZ2uwB683F/uL+zOTRwHM///tvQl4G9XV +MNx+/0vZIiCEhDVgyZatXaN98a7dtrxv8irLtuJdtiUbGto3LE8pe6G0UEqBspVC35LSpmwNf9kK +FAIU2pR9J2kIawiEpdDv/e69MxrNjGZGo8VRHOvwxMgz8r3nnu2ee+499zRYuZqQAe8JG7M3Kg1g +Ju0oFQvSVJrY43zhEnwy+I4tACXuiNRi+mpPKxCqIcw90hM1uWp8c/PxL6tmoUNnxgXJ21MzjTYO +Ce9CWVnfW0+hDph1BhzTlpoStJQgNjLNcHPBoliE9qLNrt5QESVHSg1BNPrkmGN6em6IsYBPyBhl +2h52D2MVZVQPnmjRjL+onQ6F4a5EMdyswWrbZv0LLlXz/GjcU5paJLGmzi+ol1L3iMQ8AFYy4qjH +bW3zMZ2NeV+bHy2UyzfMlJaCZfukOeELsXgAjcBiuzWI2aAXHp+ivNutbC5TAgIOqvm+V9UI1LCh +BPTs0bD1LJKSfXfXVEx75FQfnNlYO7feQRWedza5bUNoQlFWxXptCeMIrCUcUqWsVd4DVyhN2oli +ewXh0Ma/5AlOa83ARpqnayyBMXet1RtbgFvfao+sXt3l1HXOxMrD9tIZMOY2ObXnqvkZ5EVCm1w9 +EqZby8Va6/DcGGVKQAa3tzXkA77eLFa+YTEcZZreWYVLS/kLcmMYCY1Iap7X2dqBv93u8dSMASFv +X+wYTS2/ZrToRXSA64BGID7deuCPVDTWtqtqAF/GFBFqL0g43SOLkmCtVa2RQIfQzBAvMB1Fwg7j +1OiouatzoMtqqXb6nON9oxK4wpLUVLQaBl0NDRUScrOY+WfAH/OESt015QOdwO20tCoxvWp+BFj5 +3ikw526Yq22bNnXTjHAoUBOTBySuhnoDEPtixxybQY3v2rf0WjqCixGRFHzTWekaM5klFarF/glz +1bzCDVZBinlPhWeEkEbSPpGmKW6TCDsWIxYVLaXKyhqLxIXODgBEBpyW9tHZCuCNz5UMqhPBTfvo +6EiHXR9StDim1boOb6A3EAF8WXAkonn4V5oGhxc9QwOL4/C0RRlaG6kjqg4jYgSV2RisMYRzY4NW +3Q0Y3ymrjQyPxUjbRmtxUD+D5kDKGQtas13AeR1cBATskQKz1rqYeIvLWHdtR6elI0E721TNpB+M +fKabFrKEVB7qBlPUHBarxSqa5igxUUQsR1lFh0sxoR2pUPU0OGqtqjrYXukEGAvSVdIh4qJ8nDmE +h+cGzpRjpLa5wQe3S8d6IB30NJRaJWByCPeVh7pnJ8HqVeuelHrcttkJ92BgvBMYHHUPy9eHzJ3N +fZOEhfF7+jnb9sgXymfdI2a5ydEol09YInWtSrgSZ0ajW8G83+gpA+Jc0utW91jHHMZug5rC/YlB +1VhthyumMM83hKorwdpYBhZXFTp6f2QrikqgL8P2qUrXwERPMUXQyHbQsh7MOTNcTRhaneM1o2pX +3bSzmzHlY/rW/mKPrMFhBXxp6VXNUsZPi4ObScswAdefJvdwh9uUsIy0nnuh4+AbRQHreISk14Zi +KnCNbMBG6TEXuzs0NKmqjVSLWzxDsgE9VIZ+V714A5ZAL952cLC8rtnXZrYHOofBWMIewkUEokZY +i3psDHAfuHly0EE/NVZvthcPCDpaZLIFle5GpQ1onVIFdKgj5h6p8oGmOkvnSmyd7r4S21g3WCMD +zHwwLq8ZrO0YH1mAOG6qItPC9PCylaJmlI0Sg0ktISKdyUK/gIj6rcSJO1nt6OxwGCb1EDcGwRzt +WfxrzGuYqC2w3CuUdO/e+OwZvonRxNE+jq9FQnOMr3BcNsXoD17+BZFHV8LNhZh5WMQVYPh51AUy +lSKDe2gmIlPTsQXNSOL2w3hCXl1kqggWc6Nn4hE0tzGvv5oLReLJxuXJPZeTZe7odd9gR3g9OHhf +UvydCJ2LpD5hPeCorDINWZTVXcNaTKtsVCurxxcM8JPeWNFqN5AvWslP6EW5obpjwQHcNe+Ur7it +MgTXWVXkW72yss08LpYbfJVitbasTSQVK6umKsTypl6bWDU+AV4NbdCIlYv2drGqMeASq7FGPaat +7JGh7k1ip7zVGNPHgJdgck0Zq5uHqgwOq8EKbMJMLwoyIuVNvMV8wbBTJI1GqyqHa1VzTfU1DbZY +ldVX0a3xzPYau9zR/l7M1evp6fBU1laO6IA7FyF6MZS0Kp1qRRvoz2/mGi4+II3BbysBFEv6kj8W +jZbHOkAnqjpMa2zHh5HALGb1LHTpB2enSrHRUh3quTnRbHQAi1WAtq2LyiqvuBQNHPHFNaXRxqxe +o3W+fBL86p0Gf93jonfaHx1o7G9l79RrGTTZ6wY1rJ0OljSBxQ+j20Sn5okGr5S90wqxLBrTSaPs +nbbo+o0SvV2R6FQkTXQbK1M1qjk6NY3LQmU9bvZOjfJ+ZYV+jH2kEs+gUSQt7pyb9rONFfM4Gmo4 +OjUXl0Si8kqOTnsGMc+GpvZEp+hAMNmtV1xRqqsPdrB26vXpOzjJq++t6hhCnQJZHHbTedoNJLl/ +scoPu5Unc1XWY+ib1slBp8bZJFHyYw6i05ayMkanJtNMcC7RaUKS8W6D0YHxSAdHpzUhs8VTomPt +dLB6qI2rU59IWmKQlfezj7VCPBArHg+3sXfa6pRXzZfM+Nk6VZZP26sSnQK+0EVJUd1b08zeqbGn +B/PYsCbWTiWeMUtJ24y+ma1TkRTzDAx4OMZqLpZORRqdXJ2GMK9qqIu9Uy9WWxaWWXpQpyIpk8AL +xapqotMetYxB4OomYyVBXnf/lIfWaW8F5reodbBTBaNTkTQm8YVnzW0htR50a5ljyq+/rzfE0am5 +2DI16hnk6tSFNSoGbKhTKGOMsdbN22smo01trJ22l5cZODttCLcbMLZOoeU39qmx9qBcwjbWmKTB +F27q65XLWDvtKouMcXbaPt46NIw6FUmTx9rnxboa5irYO/UbpJ2emopK9k7n6iVsnQKbDLvtCnol +CxwE7mvGuqsbXOydNla5g4OtAwOsnQ40T9WhTuH8kjzWyR7TqIej034rNhCbVrN32jQ5N9NssxoY +ncKwF+w2WKeOcBI4Km1Xijk67enE3BMz9aydWpvUEnHNgBoeoxwttc8zlWYxaAkSnQ4b5Aylkff6 +QwrUqb6sSuajj9SPDSnstbBTVaJT0AvsFjQ7OR83+pVRZqex2dJKotOFaiVjpOL+UJ8c79TRo6uj +G0JVNNZZJQa9gG41yVapTo3GCjp1LiSZQp/EjHdarWtQMwyhas7YhM80hhK7swF1Cnshui2JRkPD +Edgpxug0Gq0Nz8blt17M6DRmmrQTM021vVXDIK9kNjzUISL8h3AoaKYj5essHZy1c77tadXNdHG9 +Hcd8Q9LFxNskyw9Mr6uU468BD0qVzjhek2EL463Zqgt2EG9jU9YkrTRHxiUBtve4UWyps/dzvrXq +FW1D3G/HQ4NlJMWS39fqS3tHON/6lZFqPffb4eYN5Ym3DIqZi5slI8M+jr+2+kp9FZ0x/O2Gsnkb +4287lRNx53SDTmJPoljncH17hO09buVcyqko59tu6bBWzP2232WvjFOM5f2QdNBSwvl2cqFlzsf5 +dqpL72hNvE2i2MyUp2qQ668BSq3lJs639XpjVYCbYtKRyHC7n+uvS8Wldf0Kzrfu2sbhMOfben21 +RMdNsVqxvkRu53hr8mHuSkV8zHZZOeOtsqM1Vk28dWoqmFrp6xjyKmoT740xo6qNvgJzYqNlfU7C +/gxJp+HbOWI56gmacNPjmI014Z9odky/UAJXmE6xut7WA1aYkx3whwY+84hVrjYn/A== + + + 0Y3Wb+TqDbcRRH+hNkfc8kUl+rLKFjVhz8E6h+aPVRUbysAf1s8g3YArHYpGaButkTKwjg0sAtMq +KQX9bagg+yvWTlQOy4F1kriji0MaNc3cRiUiaaJbtNLh6NRcDNc5feydGnt6OTsFk8ikjuGPUceK +VjqcncIpb4Sr01Fqp8Z2sEamdGttcrRTOh0tLS1OdIq8f7JTA4O80PsnR+qdpnUq70GrV2q3NAJX +6jk7Rd4/R6dgPQi8/8FEp2AstLEOcHYKCBwzcncKvX/OTkVS6P+Ps4+1Qqzh69Rfxtkp8ikSnULd +p3ULfYoOGlfDtnj36BPBCLmzd3RGyPcGF2ciVN3n+Ka5eH7QHWhO+T3TOCF3hLVwgDH31xLWMkl1 +h2QzkDptlABNlWcxShiX0vYahsbDbThV4kfVnGy0g1isQ5uEr/er5uQVc2SLMtRElc1XMomwqLJ5 ++1zAcIXcsGdDwjQR3Ve5pcQPVeMs0QFygeMdkL4lwAcMrnIO/xIj+gTMnkM7HnZJyR9tVI+ZiJk1 +k192wV681OEO1VcTMSWAcmcLeFAKHdpFRZw6uN9OmGPKCFpK6QQkI24AYazeJJWiH1Agu+mrJDak +pmx1DKSoKAUXy4DoNqr0ZdUYJY7GCAcikgNrObDoaEhFdPiDQB5fzLOMr0zMOT6RNDFC9IOTg3H+ +tUtS86+YHJ+CkDG2EULntZOHWML5N4vkE19ZCCQWT2M6hWPSw9mUSIi4x4lVrk5LshJyRZuRccny +9s+nT3lWugPnppeQ5Kwpr3f02ur56S7iJhbd9MiTTc+gm256DJymR5RKdN39dVEqAUmUaQQsxU0P +O+0G3dCHIQjMgY/KrcJ/ELTTRdhp16MWc5ptLq1E8TjWofVI0h8adRZDgzNUd3U0piK1t6GU2E1g +RcSlZIyKOotRRhVu0ZQS3E8yo27QS9dsWgNiszBAdsByLkChLamGVDkfkpcC5AIuDjap5nShkjIf +wgGP82dIGIx7lh6fVVbGJYciySiow96YTmhjbE0hulN2eRTJehfyCNU7fq0Dc2VIEljk5WWxTtWp +U8EffUrKJkWSWADLKHM3sLETUIzKUPgDMDQRiE6WDTA+0gomy0ZzK4kSBS80lgUvK2ZV3uEY1yBr +sPBCpzbJC0tmSWLF16hMZsmoN5UXJtT0TFljIinnxCTAZ0x8GXgzfQuc05JImg5/vZAmvvS9Jzbd +H/XS7TQLsRpnExMvD0oL1fWcc2VzG4GPEJcOoMTt0MVZJ5IK4yBY5fM6Fql8fhoHI1JexyIN/nlb +ZhJN4ZKcRWPtEQF4Aa0U1Bh9QkkXr/gOL9FYD/8iJp1BUr26rCkWjOaQYnSLliZec/Q4zJAlmrRw +XaiKZegd0/ZfAD4+tsUgl0PLOkHrHYFxcQo7RnGw2bVyoVqSM610BOZL0lso4/uxSZz0wS0Tf4I2 +cCWePnV6JKVCFx+kb8mkTlWMnJZThhHYHUMfwyiw6ktqNlXF+Jd4DEQISU5GJYUVEIQIw7fMjCYp +1J6CCL5GVnJMUWM+GLruS2NNjm9K0g8ZkWd79AOxYQ0loA0+1UGZd6fRAUdQA3iCYh4fhtV8cChI +Hb/bIZKmg1RxhgaAbi2hyg0sSPmnZaEGoC5hAISu97nHVyaA5CJhRKf5CqnjGUxPPhHrm6yDm3rd +uRAq14LOPRDzJiwD7Swc68KHY00OZH/cIFQ+iR0rPmIJV3HOZQ9aJQFipaniNGKRKo7+wlBim9LS +FbwejoWu4qyr7tTRJSC1EmEREr5YQj0zJMvEhi8ky4iQzNTTPXiORXHqkCwYGkWRCO6nHSaph+cS +GoWGN8hVEhOV+kX6tJxBeAPIwbweDQidVEnilnBeMeZUjriPSMoXpZuph5u7PVnFfSBZUsf6GKaA +I14DqWMWJMkUu0mLNMzRXOmaRaYrDeSAO5hI2GQBzjSkcgPTlU6Hdrg/hvCR8uMjNL5gqO60lDEk +grIWS2sibGB4wpnpi71Vzj+01HLekJj8yPklg2j0XANz3uMakEjKI+lAduiTXiYGoLpTahKl4Lkw +wgRTBOlFjKmOy5cF1GFMdKnmIaovi4+FMtXBzaoy6vkNOCrwTIgwcGodRZKdAB9NejHv5DEH2tlm +O/quqOAtSNAYV7yVLdqKryy44q2wsTSUj329BJRGJM16kwJxjX/KEwluh76QTA8bYk8cbydbDcRb +IVeTiVbiNjmddtKf98j1PktjtB3C9CZR+v5gGfIuVDK6x+lEx1RzssPgRIdPRdLUaihguoGN6TVp +7/FxOBHwLKdCECkp7qd9njaLMS1abEqeZNFiU8wNPAEWjTVC4gSEqZnP1qJ1JixafPWajgfPbCy1 +RRMJ3EGCjWVu0Uit9HbN5sCiAa6xWbS0dR+0k75FS4pd4O1kb9FgK9nvvaJ2eHaDVA4ZuYujFUnZ +vAHaJNQ1y7eCpm4dsvsoRlUb/bwlWPMkxcbhs2w3YOPzy4ayeW4zJNAzcwI9b15gU2Y8Ap+emQWN +dYnTMrIiKaeZzfD0A12Zu9BamrYSz8RBAVxjHGrisjCp2xHm2nO2guIwoJ3sj0CgVjgW1Iyd99Tt +0DfdBYaXWXYTUGO5iFXjcyEYnxJ6F/TZEDxVZ+PfU4Q0JGmLZb3iC3QLjWZRYhecs2F3Wv49fwwW +Npa9f98/zzYXpjuLQa6lH9JKnsVgO9n495RWyLkw81kMtcPi37O1Qq5eOdoROhvyz4XIwvTPZz0b +0ubCIHOfGPUCnubkOBK0P6znsIi5knZ4KnEMg9MXCEZ5WEIlpUrA7lsgkE2smhHnB41lq90UvFh0 +m/+sNQ/FBLm7cU7CXrhWRICXGkF6zrN76gT07NLyRK4EHKdjoMQpEehsT0r1Yk5MTo06aVpyarSC +1pUCJia9IzDKeTyP++Qax3ofYKYXRkoByjUcy91pW9AY594NGe0ReqAeNGYoKW/w5yJCAihmSc/F +4DiDCDkZ1AiKweKNcSh7D+/hW1wiRPH4vSCkBEpEknIRMzKuuon5rMrUGGFdWRA8QNlysTGxOtIa +FKu6Bt1ida1hEObNudky6PCbW7LPoaPOYskZdIyMoYxz6Pgz6JBNzkEOHWenKIOOM1swzRw6/gw6 +arZgNjl0/Bl0NK8vixw6/gw6WrZgFjl0/Bl0PNmCaeXQ8WfQoWzBHOTQ8X+PyK3OOocuSXFpGXTk +yiLLHDr+DDrkj6XOoaMdSObJMGsp87B529xn4LkzgRiHXQSgxBrpdaU+uK0Qli/lYayRMz4M62J6 +vyzBAaGR3j4XfbZPj3WUPT4X88BGxnQqV9DElZ4rSs7xMiHJYOHJcFeqIAp9j4+vMf5zWMLGh2J9 +qTLnBI+PEblK1hfhRNemjxJH5mOKyBUfSmwpc3AsaSXNCbI1bsZRkMTZnvQSqBbSOgqCnx9jPQyS +ftiYK2iMbgbLOl7Voy7mH5pIYLIb/SRkuoFBJMmA59lGjPFkN65tG/oqKVWyG/f6lH/DgWIt3byH +QWhL01TLEDcjm4GWKSysMfoRLF3yjs2wfj5V5qMwmxXypLXoRVrJtewdNnAfoUwrxRTlvjUKzDpM +vbYHxGLbyyb9seTQWarA4ZR1jhEmAX/byXpoNoMdKy+n28WZBUbxlJh5YCndLsF5fIupzsCnkcc3 +nCr/pZgWtOJOTeNOguF3pZPPwJdVjhdzIVXDlqLJzb+UZ+AFnyIY9dIjmKz8E5rHZ42myonhEwb6 +6XTYWM4yRKOJnQ+uzJR0Gkst8cIpRg+wZkmxlGmiwgeZsGgZUYwe+NU7Aj1q+kEnH+NgPUsmlzBf +Ninmm7zMIlW9jT1uyZ8vx2iCo4EpCX1GZmliSD+ogz+GeLXbJ2CxR674Uiz2xnyCF3tcDTDPKGbQ +RKqrUQCfyVs1hKXKZcShIJZ6fom7NOxqAVPcUgcZRLwhaZiVxrGISxJ7vhw5UYo0ZwFbnmhA/Fee +iJKWVzx+pD2WdJRf5loQQHLKzgiXJE/WpRfeYVkq4Z5SigS5JKvDnRG1wDqbZ+CP1QnV+IS+c/pj +k3XphXe40+yYJ4gyptN4ikiDiLGU4BaBNCMyNJRo+cgAKX064Q8elOjKnHoW46GTUShK/KfTUyfF +8aHEvLtDw4j/4ilJuYjI1KOITJan1IAnXCIgIkPs8aVIzymxa0qzichQ1vv12UdkQAMyntMdaaSh +ZRKRScoWzD4iA9PQGBEZrozUVPl5xrQiMqxx/noB6TnCknNgih5QuNSSLOz4HizVgdGd5YaEs8x9 +blyIs2yo7lQWCxAG/pzEuYbcnGSAfLG3luUmqAOGZpelONMrJA0twwPs1PkFJpBxR5fSSB9LOrrA +mi2YKq8u7UOzySdUUV6dwPN6vHl1lNRRnkzh1EHQBt5LqijaS/EteY/qtSTfRQqfCZzo4jnvXAeT +cpMPB3vJxZk6/ny49O8fyyQfju0UdMtMrvPhssizSCMfju+Eau7y4WDUOksNFJAPx3IjKGcSV+b5 +cLTTUPG/Kct1Phzz3lE8Iy7X+XApbwnIST4cbcdKwFHLzPLhmGsxrm0dmMmWfWY9nOBydiYSNEU/ +E8nlWwo5E9k1K+hMZCrdj00ZsnUDnOiARPbZ6KgdVSruC2xHSB4JZyu4P4bayUEmV9JJBp4z8Kkt +Gkyu4w6IJZ93ptSy4TjxXDavSDrxXDafghEMJeSM9gS6slHDRPIRJaqQrRqCxnivlWGzY5xq2DMn +VA15vHFI7/TWi6yClpvbgFE76akPRz4yaCcniZAurbBZLGU73FcCc9ymxXXMOvlK4JS3odGj0ozb +GuWq5BgWTD7jv9gp5YKazEjVSTI9IEIZM9fFwhllpIYkQQFJpAIzUkOSYSEhgxSpfjnJSO2fz01G +KmwnFxmpMF8s+4xU2EouMlJhO8KugWYsidnO9SEF4b40Ne1DRnI1wX26GgayVkNGKhy7Hct1Khw6 +z897oicXqXCsfMl5KlzmcUs6xfjX7mmsK7NIhaPeQYSS4ZYkFY4lqrAEqXDs8TGB67MePseQagqo +9yfzJT6Nc55VFXIjPN0fc2pSLIuEHvSCTZkERRQFBJBhY9w326XpwyRdMpzu5gIlG71H4BYO3+28 +wJSzTXmJXlInNzPz6vo5r8NhTg7x6CjL9JDQX1g1TsXWH8EDVOKyqnncO90VCrqKRxfdHltJzaCn +o6rFXaNdKAOW39NRbelBZcNdve5oTa3P3FHvdGhGnE6HtgEWIWifi09H0mk6ykTEiZ6LxZZ1BldJ +RI5SH3fembXV3kIVL3qyW/lIcyM1+Ezp1DSukFaIZ7ky7Iw9Ab5kt1EtZ6eYp8PBl2EnbZ5oDHF1 +OsTTqVdto3TKzMWyK2OUKBwz2c0YGPeTlQkZKWASGV+ym07D6JRej698hivDzlxcPG9e7OdKduvj +yzqb4c+wm+3o4Oy01B8eH+XqNMxfj681wN2pu6nPy0nekoihPMjVaSs9ww5xFSgsMQ== + + + avSJkHO7wO+Vs30PjyrQvmns9wtq0Shvwb9HTJ1+M4sj2hRfJVV5FqeZEypf7FjAkVu6B6uM4GOh +7RG1lM7mJrUn9QlVZtSEu47VvACUKPtiPEilOpya6pwHvnrNZSU5trIjLHeqCIgu8VWSSysK1+cS +fEQyRTYkuhMyjXN9qYrI8Z7rEy5PKYrIcY6Pre5bqmIjQseXutaAYKKnqjPCuEsti/pxwvXFG+Yu +RMR53FVoATr+SG8m2XSZxWHSzaZjWwfEa3HmLptO4P0wWWbTscUEmfqSfTYdWy5dppmP3Nl0bLF4 +9pP22WTT0chC6Czr/WNZZdOxNZXihpAMsukynJHTzKZj26ch58qcZdOx5dJR1/u5yaZjy6UTeLYn +jWw6tlh7vAJ77rLp2LiLIr05zaZjc26oZ0dzk03HlkvHcdt8Ftl0ySiNF3N7Splm07E5pyJprrPp +2PjHchoqy2w6ZlMpawpnlE3H5VvmNptOOMWyyaZjNMXcE89RNl1GFEs7m443xypn2XTsudW5zqZj +awD0kuNsOrbdEsYZ+Bxk07GZB/rqNRfZdCl2RnKUTZd6fslFNh0bMRLeeK6y6VJlcuUmm44tl46z +Hl/2C0B1YgFIqy+W1tVN3FW8kotUMmtzCEx8mk+h7DTiG2e5atlkXq8uCaUFuMuT63p13N6FMDot +KMvSolOCSrSTkDAnM6VjIVAEaAkKHFnPXEgxUBJqCgRUl6NvTGWEEqQYQCqtsst8KLEfpOC0MDx0 +4im7zGEy4SxGXxFV6+pjjBWRocQ2l6KwOX9kjqyWxVfoLusyd5R7rgS65JmUueOsLtcgKFdJYJk7 +rkwuYYl0gg5I8J9PThS6y45X3p45IVVmeKNUgsrcpYwoQsJkXeaO8GH4C91lXeYOz31LUehO2ObR +XEMO7rkyVHfq+JkoPM+iIWdHlOYaEi53xrk8YGiVcqHyybnLAwvUpTx7mEo+YRodXDzzRuAFJdIJ +OdEsSp1hyH2IQ3B+IeiF59hhGofIIHU4Q390SRZWYQv0XFzGzCeCl6Zyjpntbiiu/R5vy0yGiV20 +01BAqFKcBxd8Ggo0lfL8mODTUKAxYSe6+Q82I9uXk8zH7LdCYEVBnuvACe4LbEdQbVe2Vignu9pz +oYGolaRMdtZM4dS57KgxQYm1XDUgmIm17ZHkxNr2SO5uBYSN5aSQMZIxgK0QY0aduzhJ2cFGypT1 +XvnOUCuSt3RhJl7yCWrelTjXGepwbConmSnkzcfpexLJTfkXc1XBELxo4d4iFqz7nWkVqubafYOF +17J2J/BW+E51ptFODm4JwNvJtlo13kpcCdluOEzvrGqngESGtHZ45UoWNewSkMggKAKfdYW7eH4l +V427DNSQ5XBFpnWr06twx5f5mIUaxgWNqHCXk0p5KfOJhFXKyzafiKyUl70a8lS4o+clCckPyaTC +HV+9V1jjLv0Kd0JvNYfZT9kn1vbPJ9wcrtWr4MRa0FhqN0ckxNHBa9NllljLzHw0ZRs/gvmFjazp +0Ondc4XaycBuJt0RAdvJST5nIyZsLZayHe5cWEYSkyjVNROoXF46+e1sSUzUXVFoIFRJamiXpWCE +gLhWvO6bwDQmIUlMZZWDzJUoZRYTksZEH2SK2GmiKZIvnGlMdpmgDHXeZTuplXaZEK0UksRUVhlh +Ot+ZrisDaSUxcZ0ggrUTeWba9BzDAJHDm8Wt/AzHkOWyxEAPXgMiFzmuTg33rWJw/ZJuRbq0yj0i +UnL7Yz25u5qqB+2+5SjHtYfzaqr0fZjhWFrlHlNUytNmmONK0U/yGIaArOfUOa4AJcFZz3w5rkQE +CDLCb2HvL+76wYw3X2WHa0rndGjru13F4fp2kdRVrWzvqJwdUprBJ28Lyu7zBPo9o/qyKokLn3hQ +aJcSOyY+0ZLwmqrbqJ3S8uFE0lhxV08LNVRFr8Nmd/b1cOTDybmT8KKLQ3Yd3SYz0vAwBVfun7m4 +xNImH+BKwuvn7BSMReKZM3COFfMW93ZydlpWN6wZ46rDJk90SmZyJQjcYtJTOqWnpsXKLKWJOoIG +RpajXFbdN83WqUgKCcysOUdLwwsxc/+o5G2oaOHo1FwsNTa5hhIxWGZGXJCnU2+JmbtTb2txL1un +qO6b1UdLrWR22sZXR7Chi7tTt7vTQzvZBbotge9V5CciCXNRUamlc5/jewYnxvk9an4lNqSw1wpo +UWmfXXAnpkkw5h4j0+kkN2uIaA998nTyxInJiU7gsUlAVJMc7QbRqpilPjgpYG4GbVcyE5tSRki4 +U5KSj1ZxogQlmRspp5DUptSJTbFcVWZBAd0UlVmERpJc/EerOFmXVJkFdNCezhE0vqw7xs2TWWSl +pTihiVNJJEyeGJte6Y6PjFrDvLu0qyxyoJR0SoupL4KJntYpLZGUDynuOHF6KAFryX1Oi8An6Wws +w1y5+6sU9M1rd3LNlMyWEqDtOgFXX6eIwQ66c3V5Y49aLOyGQwHZSLzhZaG7PIPubG6iTeQkJl0Z +l1GyG/uWdVr3Wg+6M4ws02/RhFmA2V5Cy3ZXHGe+WKpVS/JdcTwLIPb4GP3QCMsWa8iTVr0Dbgvj +ydkaOeRhWphMd73xhDsuPUY7VqnL19EwY8b5U4fsUD0+zqiKcT7pAMGUNZq+P8JR+6msMsC9OZhe +IllSPYssyrLxZzKllWNlS+ueAwpKjPyXUS9f7DilN05DiXJUn9itpmhtmqmAUyUCUjmp91zxpAKm +Kmmcgn+JnfdRb+pEHcHCwKhrzFplJo3GUlXRKWNm1/I0xphVsqNYylwe4YOk71xmSbGU9XTSopjf +2M/RWFK6MJt3SFAswyxAoTmAgu8h4UoQE5QDyHM6XUAWoNAcwOR4cjpZgEJzAKk3HKafBSg0BxBF +rTPOAqSJCs8Kk3kONr0sQKE5gJBimWcBJujJbzfoOVbpZgEKzQEk18gZZQFyoJSUA0jdr8TxSR5V +9kX5hFdky6YoH2UsS1iULymqsCRF+VJVZMtNUT48Z4TfQcm+KJ9IyuIV5rwoX3J95KUoysddHzmX +RfkE1a/MpigfNaoAkTJzIkWQKFVqMHdVv+zvhqrPxd1QAuv6CbobKuu6fpSh5eBuKK66fumdU8q0 +rh9/Vb+M7oZiqevHHxViX4mnX9ePXfh474bKoK5faknORV0//pMhZOQqy7p+qTK5chTQ5a3qJ5Km +FdDlrOvHPzRG7CLjun40RJKq+mVQAYS1rh//gNhOqGZS1481HZHvVnPhhBGcKct6F3QGdf34b/4i +98SzrOvHO9E50SyWg7p+/GHhtG6g4qnrx7/UZT0FnUFdP7Y0yYTqZVePLwc572nV9eNvBcb5c1HX +j39DRSS4nWwS35kZqZnW9WNxNSlV/ajVGbAs6vox1BCjV/Wj3dmVdnoKRtb1S5n3mpO6fvxV/UhJ +zrKuH/+Ba0pGalZ1/RL5W2yyyLjnKuO6fvwERB5sDur68ehabMqQo3p8Cv5WBNfjS1FOTnA9vqzq ++pGtsKpPutkcSXX9ePIeUp62Dadb14/fk4c3HuSirh/XHN6VvJOYWf6WAHc+vpOYSg1T1fXj32+m +nyLIvK4fndrM1WKm9fjSO6TBXY8vB+pDVvXLvh6fkCSmVLc3JJ/VSK8UHzMjNbu6frTAdlJVPzxj +KPu6fmSqFF9d0azr+vG7ORwylnZdP/6qflnf2kTU9csy1iewrp+AvNcc1PXjr+qXdj2+jLJwGdYy +ua5f5snwlKp+lF6yquuXHEqmVvXjuuUs3bp+/Me7GLNYxnX9+A86MWJKGdf1Y+ELpaof/71wwuv6 +ZR63pFMs/ZwnjnVlFnX9EoaLrapfxqcHGXX9eCWCUgEku7p+/I4hvnrNvq4ff0IsMSNnXdePPkhm +Vb8kf0zwTVb0un7cThDuw6S4yUpgXT9BPkzWdf2onEzewOHJruXQT/a6fvyTA28WZ84SYvF5X8sy +PfTy+WjNnewnPpj3So3jNyoy5krwlDu0y3/wnpG2SJOmuIwldm+qKueoefB4bIroSkabITWzCcJg +2uawmaRnE20l6o/B3Dd9bFwMppV6sbKvqQTTBqYs+JdgPpW4pLGqToPJImLtSN+c0RAdr/dUTQ/Y +WjsVMvWMvMwx78B8Y021xfOLDrO4PzRqAJ+GaqQma7mvtLF5vs00P9XTJ5JaTBrjiLXRE9A0aKJi +k99rHHK0TXVWj7Y3mrvHO8JNpvkuWXhDSXet3OialHS0NUzZpysCs+FqWWQ+aJmXRmsi5iZxd1N1 +WYlB5jVLN/TV1ckXx4v7jLP9YTuh+yi3s6qzo71LrFEO1oj1Y/NdygpDWQ3mcTQ4MM+GkXrMay5t +i0aHbLJozNpdFyseNA/HTMN9LWSmZYeyUqvu1hj8Nkk87W1SG431z8Jic7ZiPLc62YbQ8kvLe/1B +W+1I6xxcUJMlIGE9ycUhnVRRW+OvZyMWIgYY7kIp5IuhRMw5VpTRKAuVhVuKu3o7qkoiUa2nVG8c +WyyeHhWPwkzS+nhyqHhRNWdsgufVGiMoJ1Fc6+nokGIl4VG03m+Zpbvscwz1AUNrcVKS5hLxVsrQ +gFljo0OVWepcFEldvZ5wABXQdA7UF/vc0b6KIEq2dQw1djsdbn2Hy1WttDYkvuexFbfPg3a65uPN +4uUzZTrllAWmMvYM1pT7xVE0qtqZWSjJtQ3d3UGluyvgg5/AgFumNTBpV4Uv66tMPVG0csK0CzJ4 +GiG4gFtirUlTFv+kk6HYMaCIJQJ+tShQ1i8wOHVz4NdKFbIwxWVgFuuLggdOTfwPPVqPW99oBc36 +MKVLJV30yHx1dTpV2fiMe2Rq3oZpqyxyhChEbkCncOrKnRMhrQ68qFRSXoRKnJUiafyVU514pXf0 +dlbHX9SR/TVQ+1OX1I3HCdMkByZjdkrn9UtC5DNl4ssiqc47qBkhX6kp7Xjn7Bh8piX8I1MTBrOM +ZnQ+s98M0xqVhupOMbCHLTUKEsMgCsGAZx4VpJICrL7DDiLSC62gFdo5KyBmM6BdS7MWtqMCpJwH +VqelU4f+xlBim1kAv/YZtI3tUwbwtx1KZVVxRTF8qwQdaGYwbY8/QZahRC9DgBzmXrVLG6ootY9F +yjo9FW7jJCPfE84GrVTXNu7fkpbYBjCMONnaE0kzbDGeRY5alNdbW21Wr6emLNzhqhutFBN2uieg +QzxFY+nQJ7ihl08Hiwkp6gkZyaGHQC8LNkIihpvVSNgJ0R3u1BLCPhzAdMP+Ojn41KcjxHV4UA/X +lXV6wK3hkCH+adSImiBYO9WGWlQj9xP8GtASfz3Vh8U/DepIbIbBHOevIrCZGjVQtHJYPyg2BD1B +eV+DfqhxXkqMZWrGjLTb4LAarOXhQfkG57jZ0+yYthZbKWtEsswmPqDED3w3JBEfA4od0JD4jBDC +sjCI6by6Ghn4FNLFP43qE98DrnYbGN/CpDEJG9NCl0chryq3dKkljYD7Q41SG+Sqww== + + + UBqMWbB6r9IEeDVgJqxOACtOYUYJ191vp+6J05bEYCxo4lUMeBbFqvHJgFjVNegWqxoDPrHaqgqK +y+Y6ZsEndYNYXWsIi5XTRr9YrS3rgnO4X6yYL45S5nBoAAAdtKWQk7K4MjdG4nF+4BwooMMHU6jb +FYS1BPSGR77UUD8x1IShutsdQvyDURNoPH0yZA+gJwijYj4F3hWMYeld6j4lYS1Jo6hGvhAymdDj +ChA22dsgJ7Y0gQVlX3Wa6rC4hsGwRTx2AWygUQZPpGtg3FIms8ctox0NQ6ZzD9or4s9qkEGSEZwG +xhMzDTfAeapBQzXWc07MVV8xi4GvNCcEexAjKk3gMuatVOgAU6twawqZhyQC2lI1bkZxqztn1xIW +1NLlcw5N1YYBUUdjoIE2StsJM4pmYYqfzCdA0Pdgic3Ef5XRTyD4Y9DJqwHui3WRuIlCXGqa9VCc +WyRyEmetBPxh2wL8ehft7ge8CXmiCXGpasLNaEDpLKl2k+6JTyTVy2w9hoTLip5KJFXVXmxUGnFF +o5WzCqoLBfyjmMTjkSaawMISk5bRQCDQUks2MCEjKBb3SLzThKRDHrj7y9WG0vI+HbDoLhXkEL6u +Rs+A7HRp8GcDsSCcafpjcXENLtDoXlxGaKWyQj/WSnqKAwknERXYhtokgS966PdmlCVcNkVNtyIU +98wq9XGnDL+dYgBlpRm9zGLTsBBwnC+LYtipGOeBMdZXCouYi+M3hNiKCWymO5uoS5ceVYSgmEPe +kKjBbfINaCSTnYBOSg/oFMlvy2zybRmuKYCXV0mQwBVrJ0nQTyXBYl8zSYIAs9azkkKEvqhhmHJ3 +SYIIzt7RwTgJADZUEliibCQAkkwlgqKEQoRq5/wshQjVMlcUJwLRabz6OWIJLwkIHwb4JlNanPIG +S/MUQQT9ok6gHGgTgh0Qz2rdOAmijp4+wibjXv1wSVs/hxwQ1/GSVduH2ESJtwGlSCpUGrmaUAnA +QSTlxUKd7TA0lBVfhsPA+LmRwIFTK1XZyrSKQkqRlNaEUEqoNAKGYahplclQA2BduRiqbqY3oeMY +hlBSqvTxBszFiBeAYsQdNg1O2je1isQ3Yan4lkSdezpzZNnLmDxbGdPSZCyjJnTZy5g8WxlTcMqY +4CbUQgSEbADKWNIwtFlyQ4UxGiBkLI0mtELUldEAPWdkSCvE9vHiwEpKRDGh3NAK0Xg2HBKZKdps +uaHFOEkpkgochmDdYMMBxWG0+ix1Q2sQMiP7jJWNTiXeRLTKRLv0bEif7RygV1FmZE5K8OPApZ9U +HERSXiw0WUqEnmothcxEyfOQnqninDhwWku9jv4rfVbRG4ilgmy0AyyKa2JokUoJzkar2iY8HdX2 +Xnd0UNMrktb6zE0+Z2isfhKu2U2JABy+4lPU9tcmlghgMdstwxcfiSUlZRHaHI4QcY/AlFof9I2q +MG1oXo3nvZagBTf8aw2x4O6UoOBlWXw9XFyGzkoBlI1yPCjp7q+BC2q7Eg9J4mtbU40a/3UgFkaL +3jJDSUUFsJb46n3DYM1YPODXICODpQOMFTQlHklfRlOikZRoT5VHQ4n2DCSiPXBJnehPRw0wOubh +xNSkoD7rlA2T0UgV9cWYcZR8AW0yDFGARXgNhmin86k9UJObgLgPj4N1grdTj4KJ1PgYWDujeCMR +H2upU8cZv6ggVvYtfg0ekoQXdMBd0ZY2DNBxWEcs3FsCeLOG6g4gjIhr8hKNnIiz9dQheiupod2e +Zg1/hIvMGqDHuJjZKvGdadBimzb9mBlL/gulxU4s0aK5s9LurO0sLR9yjlsa5mo7aiPdeATT0acY +xCN48pHARJwbHYZEwF0kNVR3zTni8Ui/ihKoxENxw214QB4ey5Ljn0KSLjxumQhAATUz+KCS9ugH +Fivq0CciLDw8ZsIj8GpiR2CqUwOXpjrANysqvqQGbdfK8E8wlB6PR4b0lEAlJZA+NWaML/p7TeRY +huFYOj2+dIPKZIAqKQRcQZXFhT4tUnXkw9SiUWsA3vVK/BMF74UxA3qmd/Qo3QxszL0zvmnXBmms +o6aiOmDEw49VpgETsEStMiSfhtIJKeA+sju4zYLBcqrNwgOC9TNEOBBwGFepkKQecUgZ/0rXPNwZ +0cCQnQzFSuBbLUmxfsQXuEg36WTo3kN0QSFtD6XdiNqGRyDmCVMIzBW6fhJeUdGrrFJ1RePxXUsF +voG+odPex3HbPDBm/WQcsZQ8vOmEuy5wOmqQU4N7tgU4VTcoqc/8Sjh1NhAhO9VYpRbF/6Dux20a +smhw5T/tmJZEPMwdFkr8zy/REKFPb40SqlQj2tcl7LTXg+RcTthprx+eTieikE14lBVuriTaxoO3 +uuFBqZqICdZuqhJZMbOhCP3Qti1Oh6PN0YmxiUiRSlQu0tbW6XSdkdFZTzQc7gh/d8E1O7I4E44s +FNmLtLXtzro6q8kVHpkdDRfhPseQhRRjNWEMCANi4ApPl8OUQodrg8075Stuqwy5NmA9VRS7g4Ij +ZXMd8zB07RNJxcoRjVSsCo72iVV6T7tY5oup4K89eAgH39Jm3UlFkq4odoWjjkW3stHf7WqoE7cz +9hdtQx3eSiDf3Y5wW402Nlah9dX2wm3ErvYa7QI2i4s2voFJOy5ACZGz7IpHo/qFUrG8oslIRtZd +YCwlLqtWrJLX1MCn9WJlq6QJjq8JvqiG0fhRPEyPx+BD81aqLS7VK3HNokwPnmAwzu6W2cTeT/sc +EMWxKlzp8MllSoJPOLgdxGQaLa5K4VBQRnyaDMMJ1ScnAvFl81DcfUriV7sMSroPl3R4mtxvJJoA +CrYQ18Y6LCHzVIOVxt5lYucSeANce5dUzSofq42/YATdoYH3ViackUFqz16niuJzDFL79tZpoK1S +6B2BfiWudAOxyUUUeUe/Ct27VJI7l+gc3hLtXSbMuki6dHuXifbwrJil2btUkjuXwONcsr3LxM5l +Yhcz93uXiZ1Lwntekr3LxM4lRV9yvneZ2LkEns2S7V0mdi6BtaTuXXYHxPKmXhlhNxftLdCk+oAt +re4Qyyemq8TqSGs/tKU2OC+UkM2WIkQIhlX24KaO9PAUZKYiMJnEl8CKSkmc9DDKEic9yH3IMnhd +zjy0lkrCWsJdTIq17JnVEOupGvEAYju0lk60c9SiQh6pdiKwoMFPqk+o7Eq0ngR2zF3PlmUOfOKm +Bgb34YtOwl2Km1Zi7USoAMOuouMnwKTiu5hgSTKFOyOqQUuYXF5h5E7jKNUR99rlCWcE5XhYdTgd +wXoLTlFjzfh6C9+2HDNq0CqL8EhKarTElqi3GcONJ8ViJxZaQ0pKGg95bjVxKBUY88TsiwQxKSMj +PrNjjBqq+Dk096CJ3JtsRfsqiXN4+O6kmro7OWJtYG5vihdkMbKJlqTtTaPCqzH6amcYe5Nk1AwF +CCrUjYlgTfL2prlYLHWUuOJNjJQytjejUYeW0oDOE/Dq0DFAPBfaQag9kHQU8dBOVHW6kXMABa0K +yXn8Wdd8/FlPVDvRHFGidT4SWCRytHNTcMxGeT/akyN2zpQV5TNtgjYPkQnD981QJIZt30ynUZL7 +ZiIpc/MQXYOe+b5ZIgROCSzBE3LCYoWACLo5kgiDVBKg3VyCBL1UEgBs6Fn9U9a5OBFqDBQioDgV +QQSjNkEEiM1UggT41XlcJIjvLlfbpyJxIigY+6fZbplVLqBz3plvIlfbWxYSm8hKri1k4kwh2yYy +kUmc0RYs3gCeAwkaQBFzQdKY1ASq4iYMB2LvJ6kJVIEqm2GgE/txlaLsx6cxjE67VgA3+LQSrIgV +2ci0TuWUKhkN0HZkBRwrUHXq1KmGEapoSjRg6JvWWalZMejUDuswBJISruh1qIGYxOtzKMnaHfhu +2Tzlm17HvJz4pmdSp2Sp8kHIeShYlqWMAQdFlp2M+Y2aRAOcMsbbxGANlq2MlY3LspMxLCLnkDHB +TfiVqpQCQm0ADYIuY4MWTTbcQKEltgaAjAltwuuXpFZX3vMr0OETbPvYcRjUsJOS2JEVwA3gYKbU +eD4c4KnlOXt23IBeLT8p0fzCNwyf2pOebiThYPbroDeehW74qtv0KXCIVml1lBnZZ1zQdFZQmhge +lGY3BwyPKZXxGZkXCx4c5nTcQsXAgXJGiorFSIlFnZVEjKgrNalPyCXPRNQmzE5WFefEIdlajlTX +VVN/9TXXUH9t7axFiwUUY0ceZaI6GcLVqhaPGF3VymDAtRjy+p0D9ShfBY8wmGrigSd8n6B+hn5c +lDu1QkBiBZHVn01qBZY6sQKMhZZaQUZPmZF+Mt+BGe4nsx0aqNkOtGW0lt7LEmxgoiUVsGOsG5ho +1V3dBn9tpbYNFA1StpVYpwOJtxNLE1XjLL4DAYQYyl2rFk/VANKEx5NbiWaBAKFmDZSgpC8YJTag +5WojFM4ONTXxoLqmnAz7tzmmNWOK2paRDX5GLB5FFfAbl5z0OwGk9Fx+h17u81QIaJGtPRFHi63+ +ysTWhGmhpSTsHei1jtW2L5ZMuHtHW+Cxgg5dQn71A4uDNfEN2kEDGbc00uKWrmoLKSzdeNhc72p1 +QjPUrY0Lfjdoe3gArk+7dfFQVDfaUoBbD90G8pMRb8BdPmMGv/aiVRJ8EBxBjO8l82x6MfITRdrg +jePknmuvgfrCNVUSD0lOmsitTHM80ovJS6yYfrpd6lbZ5ECxsa4SJdtRccY2WnyTjTxrPkA5KG8o +lTdDog6AHz3dMiRjAzr0GX7SU7/ZOGaEz4z4OpaGTatnqKvH6VJa5R6Pu7HLGo+Ezpiw8LDdjPY9 +yaBGLx6BtwgNDWYYGIR2LI3QYIaBQVF6ocEMA4MiaVqhwQwDgzCqIDA0OLupSlQuksJtyqA7Mkrd +ohRJpeBJe3hhcQ5+wRR0hMcmIv7QxnBUpCvC/8PAf/CnxVak01uL9CYT+MUEn/qHRbL2jZEReZE/ +IpIGtbXRBdfEyMLEbCQU3Vhkh48Cjf7OOleRvYj4YnmRDOCBBcFXwXM53BENAtyCIqyoFvwLnCFa +BB1jGsxK9BvYCB7Xg4+T4JczinRYUWNR3wBWNAq/3YYj7ZmYDtsp+LeFYgtgADI5/HuvSOsKnz4x +Em7zOooCTaI+0LreiFpHH3Qmg0YH/q+22sD/TUUDRTqLDv0DHYwL+DrCk/iT+D9rkQHSzoIIZyxC +fw9ojbBzhRZC9iKrxaI3iwJ1R/xvAQpwsMO3MoJ8Y12ATCAzXhekYlnDUjO9IAwHIOSL6VyQb3qs +FMg3n1NDvil0cEK+uZoJ5JtmBwPkm4e5gXxTcVlCvpmWe8g3RZcN5JtRSwv5pu4BDflmzv6DfFP6 +gIN8MyQ/kG+qHxCQbybkH/LNgbxBvgl/YEG+ubG/Id/0PhAh3zzZT5BvMh/okG/+LC3km7rLA/LN +paWCfNN1OUG+eZVjyDc5lyvkm2+5gXxTcXlDvrmXLeSbfgcD5JuHmUO+KXfwQL45mQ== + + + CeSbZgch5JulQiHfdDqYId+8TQ35ptDBD/nmMB/kmzYrBfLNZ3bIN1VWFuSb20zINz1WIuSb5zTI +NzFWKOSb7QTkmwwrF/LNeQj5psFKhwL3C1DgfgEK3C9AQQBWOBS4X4AC9wtQ4H4BCgKwwqHA/QIU +uF+AggCscChwvwAFAVjhUOB+AQoCUIAC91c4FASgAAXur3AoCMAKhwL3C1AQgBUOBe4XoCAAKxwK +ArDCocD9AhQEYIVDQQBWOBS4X4CCAKxwKAjACocC9wtQEIAVDgUBWOFQEIAVDgXuF6AgACscCgKw +wqEgACscCtwvQEEAVjgUBGCFQ0EAVjgUBGCFQ0EAVjgUBGCFQ4H7BSgIwAqHggCscCgIwAqHggCs +cCgIwAqHggCscCgIwAqHggCscCgIwAqHggCscCgIwAqHggCscCgIwAqHggCscCgIwAqHggCscCgI +wAoHypmgggysOPhfOuQbnQLsbygIwAqHggCscCgIwAqHggCscCgIwAqH/02CfGNUgP0HydwvCMCK +goIArHAoCMAKB1YBKMjACgEu7hcEYIVAQQBWOBQEYIUDjwAUZOCgB37uFwTgoIeCAKxwSCkABRk4 +iEEI9wsCcBBDQQBWOAgUgIIMHJQgnPsFATgooSAAKxzSEoCCDBxkkC73CwJwkEEGAlCQgYMGMuN+ +QQAOGshYAAoycHBAQQBWMmTD/YIMHARQEICVDNlzvyADyxdyxf2CACxTyKEAFGRg2UFuuV8QgGUH +OReAggwsI1gK7hdkYLnA0nG/IADLApZUAAoycIDDUnO/IAMHMuwf7hdk4MCE/cn9ggAcgLCfBaAg +AwcU7H/uF2TgwIF8cb8gAwcC5Jf7OOSbBisa8s18CPmmwcqFfHM+AfmmxEqEfPOcCfmmx8qCfHOb +HfJNlZUC+eYzH+SbNgc/5JvDqSHfFDqYId+8FQr5ptPBCfnmatqQb4IdVJBvZmYI+SbbwQD55mG2 +kG/6LW/IN/dyA/mm4nKFfPMtx5Bvci4nyDevlgryTdflAfnm0tJCvql7oEO++bOfIN9kPhAh3zzZ +35Bveh9YkG9u5A3yTfj8Q745cEBAvpmQH8g31Q8syDc39jfkm94HKOSbLfsD8k3j5QH55lLuId8U +XZaQb6blBvJNxYMB8s3DTCDfNDs4Id9cTQ35ptBKgXzzmQn5pseKhgLTC0BCgekFSIYCrwtQgAIU +gBVyO0UuG/h2EuQbo2SIY/Z/GHCAYRxH8f+D8F80QI/iKB8QaCIUDznkO985NAm+851DDkEo5xdd +Ak2I5KGHHX74EUeuWrVKRAPw4MgjDj/8sEMhwgS6+cITonkYRPKoo49Zfeya49auXUeBtWuPW3Ps +6mOOPgoifBhCd79jG8fzO4cefsQq0dGr16w9/oSTTll/WpFYLKGAWFx02vpTTjrh+LVrVh8tWnXE +4YC6+xdbiCiO55EQzXUnnLy+qFgqU6jUWkyn05Og02FatUohkxYXrT/5hHUQ3SMJbPcPsgRBAT1F +Rx+79oSTTxVLZSqt3mQtr6yudThdbhJcTkdtdWW51aTXqmRS8aknn7D22KNFgLYEafcLot859IhV +R61ee8IpRSUyFWa0Vda66/zNbZ3dgZ7e3j4Cent7At2dbc3+Ondtpc2IqWQlRaecsHb1UauOOPQ7 +S44sgehhR4iOWXP8yaeVyDUGa6XD62/t6guObJiYjszNR6MxAqLR+bnI9MSGkWBfV6vf66i0GjTy +ktNOPn7NMaIjDltaZCmIHnfCeolMbbBVu/1t3QMj4zPR07+36Zwf/PCCCy+6+OJLEFx88UUXXvDD +H5yz6XunR2fGRwa62/zuaptBLZOsP+G4pUUWVyaI6Oq1J55aotBZqtyNHX2h8cjCmWefd9FlP7nq +mmuvv+HGm26++eZbAID/3XTjDddfe81VP7nsovPOPnMhMh7q62h0V1l0ipJTT1y7mkB2CRSMguhJ +p0mVBrujvq13eHJ+41k/vOSKq6+76dbf3HHnlrvuvufe++67708AwP/uvefuu7bcecdvbr3puquv +uOSHZ22cnxzubat32A1K6WknUZDNPaKHHApZf+JpUpWxwtXYFRyf23jOhZf/7Lqbb9+85Z6tDzz8 +6ONPPLntqaeeehoB+LDtyScef/ThB7bes2Xz7Tdf97PLLzxn49x4sKvRVWFUSU87EYrBoYfkGFmI +KTBPqwCip0JE3U2B4anFTedffvUNv75jy31/fuTxbc88t/35F196+ZVXAbwGAP7/lZdfevH57c89 +s+3xR/5835Y7fn3D1Zefv2lxajjQ5IbIngqQXQVMVy5xxXl/5FFrTlhfojRUuJt7RiLfPfeSK6+/ +dfNd9z/0+FPPbn/h5dfefHvHzn/tevfdd3cTAD7u+tfOHW+/+drLL2x/9qnHH7r/rs23Xn/lJed+ +NzLS0+yuMChL1p+w5qgjcSnIDaI4SUWr150iUejLXU0A0Y0/+NHVN/3Plq0P//WZf7zwyutv79i1 ++/0PPvp4z55PAOxFAD/t2fPxRx+8v3vXjrdff+WFfzzz14e3bvmfm67+0Q82AmSbXOV6heSUdatF +OSMswPS/DjnsyKOPO7GoDLM5GgMQ0cuuuWXzPQ889vQ/XnztrR273vvgoz17P/1s3+eff4HgSwD4 +p88/3/fZp3v3fPTBe7t2vPXai/94+rEH7tl8yzWXQWQDjQ4bVlZ04nFHH3nYIf+VA1wR8w9fBUha +ojJV13eGpr8LEP3V7+596Ilnn3/1zZ3vvg/QBFh+8eVX//73v79mAHj01ZdfAHwBuu+/u/PNV59/ +9omH7v3drwCy350OddZXm1QlgLCrDs+BEEBMDz3iqDUnFsl05Z7WgcnTz/0RQPS+h5987sXX39n1 +/keffLrvc4jl1998881/WAA8/hri+/m+Tz/56P1d77z+4nNPPnwfQPZH554+OdDqKdfJik5cc9QR +SAiyxPSQQwHzTy5Wmmr8gXD0rIuvvnnzvQ8/+feX3tix+8M9e/dBan6NsPy/HIDw/RpSd9/ePR/u +3vHGS39/8uF7N9989cVnRcMBf41JWXwyEILsBBYp1GFHHrNuvVRrc7cFp888/6c3/PaehyCiO3d/ ++MlnnyM8CSy5Vu8Evgjbzz/75MPdOyGyD93z2xt+ev6Z08E2t10rXb/umFXZCCyO6arVx59apq+s +7w7Hzrns2tv++MBfn3vxjZ3vfQQRJfFMFWwgsYXIfvTezjdefO6vD/zxtmsvOycW7q6v1MtOOx4J +bIa4QtX/DsD0hCK5saaxb3Lj+Vfe/Lutj/7thdd37AaIfoEIKgRPCraQtF8AZHfveP2Fvz269Xc3 +X3n+xsn+plqTQnzisaJMlQtherjo2BPFSrOzNTi76dJf3H7XQ9u2v/rOux8iRL9BiAoP4yBsgdgi +ZD98951Xt2976K7bf3HpptmhVpdFJTnpOKBcmeBKYLrmJInK6m4fiZ774xs2b33s2Zfe3PXBns8+ +B4j+J11E48j+ByD7+Wd7Ptj15kvPPrZ18w1XnBsb7fTaNSVAuSCuactAHNNitc3bGV4878pb/vDA +k9tf2/Hex59CGc0IURJZKLOffvzejte2P/nAH3511Q/PGAvUVWDSU9ZCXNOVV6BROKYau6977IwL +rv713Y888+Kbuz78ZN+XhIxmgmgcWahg+z75cNebLz7zyN23/fyiMyd7Gyp1pRBXqFtpYnrIYTim +dYHxjRdd85t7H33ulXd2A5J+lR2iCWS/AoTd/c4rzz32p99ed+n3p/v9VQDX4446PD1ccSt1LMK0 +Z+LMi6/97Z8e/8drO9/f89kXOO+zQRRHFkrBF5/teX/na9ufuH/zLy/bNDPQWKWTnnyc6PB05i3C +np4oUUNMv3fJdXfc/8T21//14d59XyKSZosogew3X3/5+d4Pd73x/LY/33nj5WdFBvyVWMlJx4K5 +QDCu3/42mPePXH2CWGXzBSa+d+n1m///J59/Y9dHcebnAlMCVyAEH7371gtPP/iHm3581kx/Q4VG +cuLqVWCOFahaQPkPPfKY44uUVm/3+JmXAEy3Pf/mux99+sVXX+cMUQJZKAQf7377pWce+sNNl2+a +7q2zq8THH3PkoQLFFZqpI45ed6rc7O4c23jxdQDTF97a/TEQ09yRlMT1m39/+dme996BuN542fcn +A16L4rR1Qs0AFNTDjzpufZnR2R4+46Jr7yAw/TLnmMZx3bfnfYDrg3f+8tIzxzpdJtl6YAaEiCsQ +VKBSa06W6mtaRxYvuOa39z/5/FJhGleufZ8AXJ/+8+brLjpjtLVWLz15DVStlOKKBHX1icXaysZg +9Lyrf/OnJ55/c8kwhcgiXPe89/YL2+7/7c9/GBtqqtQWn7hagLiiWerodUVKW33f7LlX/vrex7e/ +8S6B6RIgmsB191vPP/Gn2646d7a/3q4sWnf04d9JIQKI/aLjTpGZ3N2Tm358y92P/uP1XR8tJaYE +rp99/O4b2x+7+1dXbJrsdkNxFaUSAYL9JbqatvDGS2/4wyPPvfYvYKWWElOEK7ADH+167blHttxw +6cZwW42uJKUIQKIeftS6IlW5Pxg7/xebH3jmlZ0fLjWmOK5ffPrhzleeeWDzL86PBf3lKigCvFYA +EnXVmlPKTJ7A9DlX3r71yRffeX/v518tkUbRcf187/vvvLht6+1XnTPT4zHLTgFWgIesUKeOOOYE +CVbdGj7zspvvemz7m7v37MvxHMWKKpi3vvp8z+43gbjefNmZG9pqsOITjzmCR7MAUYFOrVfY6gei +51/7u4eefW0XUP6lxxTHFajWrteefejOay+IDTbYlaetPYpbs3Cinliid3ROnvXT27Zue2kHENSv +v1l6TCGu33wNxHXHS09tvf3Ks6e6XcbSk47l1iycqKcqyxtDp198wx8f3f7me598vtQqReIKxfWT +997652N33XTpd0eaKzVipFmsZEVEXX2i1OAKTJ979W8f+Nuruz5Ggro/MIW4fv3VPigCD26+5rzZ +Pi/QrGNXcZAVEXXtaaqKppHv/ujme/76wjsffLpfBJVAFYorEIEXn7zv1h9/f0NbtVZyPCIrF1FP +khrdPZEfXLP5oedef3fPfmM/jisUgd1v/P2R3193QXSgzgINFitZSaI2j2y87Ff3Pvnijg+R9u8v +THER+OyjnS8/tfW2n2wab6/ByZqMKpiooPoTRP3dw39/YzfUqf3FfoTq//3Pv7/Y+/5b2x/dcv2F +MUjWk489ksW2wokKqj+QVEDU+558aedHn+0/nSJw/c83ULNeefr+23/632Nt1cAIHMUyZYHZH0xU +JUD9CaK+98kX/95vOkXi+jUg69v/BGS9YL7Payo9aTWYsr6dTNRVa9Yr7I3D3/3RLffiRN2POhVH +lSDr1tuu+F64uUJ16nHJivXt/wNcquMlOkfX1LlXA/UHkrr/iYrI+uWnQFr/8vtfnA== + + + Fwm49MUnJCsWVKrVJ8ss9cHFS2665wmo/vufqHGy/uvlbffd8qMzhhqsYBo4kiEBSKnWnqauahvf +dOX/PPDs6/td/UlcgbS+98ZzD97xs7Mn2qs1RWtFDAmA/D8aKJW7d+7867c89vw7+9umJlD95qvP +PtzxwuN//OWF830eY0mSBAD+H3nsKXJb4/DGy2/d+vSru/bkh6gQ139/vufdV5+5/9c/3jjcaJMz +JQDnf5GmumPynKs3P/yPN9/fmx+ikor1j4c3//ycyY5kCSD53zd/4Q13/fXFnR/t+yo/RIWewFf7 +Ptr54l/vugFIgNvAlABo/4H+W/2hjZf/+v5nXnsXWap8YIok4ItP3n0NSMDlG0N+q+zk1UdQ3Ssg +qqvWnKqqbBs/62d3PPSPt97/NF/8T0jAQ8AGjLdVqk5ds4oirMipWifGHN2RH1635fEXduSP/3EJ +ADZgy3U/jHQ7MPE6EcUPwEVVavQOLFxy831PvQL1P19EJWzArleeuu/mSxYGvEYpTVgJUbX5R868 +4vY/P/v6e3nTfxzVr7/c+97rz/759ivOHPHb6MIKreqa9arK1vGzr978yPa3P/gsf/zHJeCzD97e +/sjmq88eb61UrV+TsKxgqXLoqrVF2tqumfMIUQX2P1+YAly/+TchrOfNdNVqi9auOjTuX0OtOur4 +Yr27L3rRTfdsezm/ohoX1pe33XPTRdE+t774+IR/DVCFWmWqC55+2a1bn3lt994v8iiqhMuy+7Vn +tt562enBOhPUqwSqhxx+zElgAhj53k9+88BzbwKrmgf/j4rqN8CyvvncA7/5yfdGwCRw0jGkCUAG +4BRFefOGTVfd8TChVfnDFAor0quH77hq04bmcsUpCROA3CpgANomzrnmzkefz7dWxfXq+UfvvOac +CTBfrU84V2haPU1d3Tn9g2u3PP7izo/zq1W4Xn2888XHt1z7g+nOavVp5NT67W8DW3UcsFVgWr3+ +ride+leeDQBhAv710hN3XQ+mVmCtwFoQD7PhZhV4AIG5C264+0lgq/JrAHATAKzVk3ffcMFcAHgB +pGHF/Wqxztkzf+GN92x7BXiABwCqn7z7yrZ7brxwvsepE5PeNUJ1nUTn6gUzwL1PvXqgoPrqU/eC +OaDXpZOsY6Cqd/dGLwZ+1QGE6n03XxztdetZUO2LIVR3Hxio7kaoxvo4UAXe6tOv5ntejc+srz4N +PFZuVG/509PABcint0qg+iVwAp7+0y0FVAuoLn+1WjbGatlMActmYl0u7srycQKXj2u9jBYsy2sZ +uHwW18soZLGcAkHLKLy2bIKWyygUvKwC7Mto22L5bAYtoy22ZbVxuYy2g5fPJvsyOrqwrA6ELJ9j +Nsvo8NKyOhK2fA7aLaPji8vqUOjyOWq7jA4wL6dj4cvosH3+Uxi+EZzCsIwSQ/KcboOzX2C6TZ6T +mHD2C0tiYk8N+3w/pIYhQQXsf/OfQlPDOBLull5cUXLg3g/SSLjLWxojsKhfwjTGvz34O8B+QWmM +bMmhS53Gmsi2e/3vf9lyI0wOrRWQHMpIub3iV3c/hicHf72UKbdIpfbsfvOfj99z60/OmgoA9gtI +uU0kMtvr+2fPveq2Pz3x/Fu79+xbQlzxbMtP3nv7hSe3/uZnP5gbaLCrhCQyU9PDm4ZiP/z5b+/f +9sLb7y0hrjime/FU9l9csBhqrhKYHk5Juq9tHT3jous2//npl955/5Mc3mLBhukHO17520O//+Ul +Gze0OwylApPuyasMZCZX59iZl/7yzgefAbgCui7RVQYI052vPPvwlpsu+/5Et8csP3WtsKsMyAsi +TlNYvIHJ71924x8eAri+t2cJrgggLl345P0drzz7yF23XHHWdG+dTVV0/DGC74khrt0Qq+x1vdOb +Lr8J4vo2uswi59duEFdZQEx/9dNzZgf86IoQwdduIHE9FF67oqlo6J8568c3/eHBp194693cX2YC +xPSLT+EFIX97GGB67lywqSp+8YrQe4Lil9mUYJX+gchZl99455+3Pf/Grg/3fp7jK2K+glfEvPnC +0w9tueWn584PNdfoS09Zk/51NoeLjjtZqqtqHJjZdNkvN9//xHby4p0sbwjCESXE9IOdr//zyT// +/qYrzpkbaqk1lK1fm/4lQf/1HWAGTinVVfn7p79/6XW//dNjtOuMckLSTz8GYvr3x7du/uVlZ80G +m2sNslMzunoJmoG1ANfKht7JMy/6+W3US6Kyu9GIuNEKvyTqb3+55ze/uOT70wNNNQDTdRlcaAUv +CTsU4irFKuoCY2f88KpfbXlgG3H1FnFHWOaIwnvC0NVb/9z24JZbf3bBxolef5W+7NR18M6dtK8J +Q3caHXH0cSeXaOzeztHYuVfgF5q9tQvdvPZ1hsjiF9uh29d2vQUvNPvdjT/5weKG7roKrHT9WuK2 +wPQwJe9dPO4kicriah1C18Td/dBT/3xtx+6P9u6LI5v2NXEI0X17P9oNSPrUQ3fffu2lZ82F2j02 +TQm6ziyzOxjx2yzhlXYKU21T/+TG86+6+U5A2Bff2Pn+x3v3ffmV0EsCSTxxRL/ct/fj93e+8SIg +6Z03X3XBxqmBZodZJTlpTYYX2iFckR1Ytfr402TklYa33/Xgk39/+a1d73/86b4vvkr/SkNA0U8/ +fn/XWy///ckH77odXWkYaKgyyIuyuCYwjiuYC9BFkXZ3W3DmzAuuvGnzfY88tf2VtwGyezO5KBJQ +dNfbr2x/6pH7Nt905QVnzgTbPHZt6alZXb5I4Eq9frNnQ+zsS6+59fdbH336n6+89a/3PtzzaXrX +b36658P3/vXWK/98+tGtv7/1mkvPjm3o8deaVcUnrz0m+ztYEa7kpaZtg1PfPe/H19225f5Hn97+ +8hs73k33UtN3d7zx8vanH71/y23X/fi8704NttEvNc3uBlbyqtj1JSpzTUP3yOz3L/jJ9bdv2fqX +bc+98Opb6V0V+9arLzy37S9bt9x+/U8u+P7sSHdDjVlVsj5HV8V+i3oBrwyzu5r7NkQ3XfjT62/7 +/X0PPv5MuhfwPvP4g/f9/rbrf3rhpuiGvmaXHZPl8ALeb1GvNS5WGiu9bQPjsf++4Ipf3HLHH+9P +91rj+/94xy2/uOKC/46ND7R5K43K4pxea/ytb8Uviz56zYmnlWrM1XXtA2Pz3zvvRz/75a/TvSz6 +17/82Y/O+9782EB7XbVZU3raiWuOzuVl0d/6VuIK7rUniWVaS01dW184csbZF/745+ldwf3zH194 +9hmRcF9bXY1FKxOftDbnV3B/i7jY/LAjjjp23SkSgGy1tzkwNDGf/sXm8xNDgWZvNUBUcsq6Y486 +4rBcX2weRxZKwbHHA2Q1pgpXQ3sfvC7+bKHXxZ8Nr4vva29wVZg0ANHjj43zPreI4rjiUnD0muNP +Fpeq9NZqT/qX8HuqrXpVqfjk49ccjfN+qSoG4EUtVh197LqTTi2WaYzplzYwamTFp5607liE6JKQ +lIHskUetPg4WtsigYETRKScct/qoI5cYUYQrXtfksCNWwXIhmZThAAQ94rD9UuHk2/GaIbAISybF +TWAplv1WNyZR2ibjkjFLX4UlgewyKcRDw/ZAL29ExfbALxpFYrssSnHR0D3gC5zFYZmUjaPAcijG +VwAGSKXuyKgrtBASBXwiaW2dKQh+bwvFFsJRUZNoEf2HFbnAv2YRpjGbzTarpQgr0oF/mMZgtpr1 +4FcNeIoZbOCDTm8y2ooCIRHxFfBfYKNIZzECP8xWpLYZNCaz0VQ0I9IB78Vq0pkTz3Q2ncZoMJmK +1DpMp9EZzbRHOkxjKhoRUZ/YQAMG8CWyJZ3egr8k+yOfgL80m/BGKV8zWUDXelpjlEdEj4knJFpk +UyTuzAGOiDaIpEFtbXTBNTGyMDEbCUU3FtnBI12Rti6yUCRr7/IG28dDc+GOjXNheZEKvCoH/0QK +QG6NxYLICMkJejZAUmownc1oBP/X6y1GE3xgspkxixW9MQE+QKJTxm2FNDYbNVaj1Yz/Dr6lseEv +QcNGm5HyhBxr/AGGAXpg5qJEEzYDdZTwy1Yj3gx6ZdNT/wr9RrJMT+2T/CuEExVhJ6CZDohaohvw +Vb3VhkZi0hgtOkvimc5kBR8sNpwtRotBR31EjifxxKYx6c22okRLgLYaq0WnoyJBPBlB4gm+b6R+ +zQZGZ8F01MYoj+KDJZ+QaJFNkbgzBwhHrugUdYpsRTJ5UaCbonX4fzr0H+Qw4Aemtxhgj+ATZjYg +6gAUwVMcDaMJSKYfUFGnMeFfAyQwwidWLP41hJtOjx4CXAwGKCMY5AxAHf6tQWMxmRDdrEDp8fb0 +GoMlLj8mA2jHz4aOn0vyzSkknzr67LQAjtNsMODjtJpNFmRvAH5GfJR6DEPIW/WAV3rEK5PGYrXF +h27SWw340I02izk+dr0pLscGnQE9BCjqzWb8m1YrkGA/ElTwN+ghMBIWzEZQyag3WOFDg8Zmwiln +xnUF8QzYL9S5GXSJIcx1eg1mNtrijDSZLDiNTXoL6sdiA0bXhMZoACw36OIMpg/cL/LgOgVeWYwG +Pf4Ks5hxmgBpwWzEQ5MBi7esN2J6vGUg6joCB6MRdQdGAEYdx9ZiQsKv05j1uOSYLRqdzUqovxGz +6ImxWkwGQjExM/FNM3hvNhC6A6cP+BDQx2Iz4f2YMVv8odmgtxJCZjKQkmex6PCHQGxtBPXNetyi +gU86o4XgkwFwF9dbILfxAdksVhMhzRaznmAzMbmAhzYDTlTw0GKxGfCHRrPZQEiJzWowErw36JCG +AEVHzQPKmYHQGuLqZTPqcMEzGXCMwEMgLsRDzIqZiYcGixEnuwX0g56BGcdmIRhq1BFfTGIlx0Nk +VFh10SJYFzuRDQqMiszkAxvPJ2lwkfgHzRf82Qx/puE4gCky2VsADzPzF8AfZuwxgL/N0GcAf5mh +1yANZug3SIMKRPWMrSaF7rj3AIefpv8Ax52GBwG5KsyHgGwU7EXgNNQh+WPxJXC2ZuBNwNFl6k/g +ApyJRwGHnplPgdMBmQD4j1tFGT4GzvgkLwM+ZvEzII2ZngYcLYuvgfM7yduALST7G/Api8fBipyf +W29SeR1stMlek9g8EHz0DB8EPmTxQnCSJPkhBE2Yngh8zOKL4IKe5I3gFGT6IwR3mR4JfMzikxBM +Z3ol8DGLX8JKEPjYk9BTNv8Ef5zkoeC9JPkoOE5JXgo+AqafAp+yeCo4FZJ8FfxxkrcCH7P4K/jj +JI+FkFymz4JzKclrwXma5Lfgg0zyXHDBSPJd8MdJ3gsuXUn+C26jmB4MobRMHwZ/nOTF4I+Zfgx8 +yuLJsLKd5zFpzjLwaJh63klYPuDZQCNBfczSOngUDeEfZbV1RbWLC7NFeJBk4kzQi7Z9IToRGcN7 +K5LVjs4Oh4O1dbZg83AsHD09PBpsCG8M4l+KUZDSFcm80dCGianYwsQ0wsDvIIMw/g== + + + 0MZwVK0WSaUtobFwRzQ0MR2OisZiodPDRaFIZHYhtBCeA2+KxqLh2MJsNFwUG589Az4BfxL/ulTq +bvaI/h/9ncXa + + + diff --git a/shell_integration/icons/SVG/OK_Shared.svg b/shell_integration/icons/SVG/OK_Shared.svg new file mode 100644 index 000000000..9584801b6 --- /dev/null +++ b/shell_integration/icons/SVG/OK_Shared.svg @@ -0,0 +1,4711 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 +ToYLw6dy/tLVhTvrlweu0ZPR0sGjH9cX7upye7lz7357pdm8fjA21PreaxgvW1m7ejt783C08und +kn4zd2vxuL8+XHy8PTq8eT+9crq2or9/ufSpe/3lpasr+8mT3YmdfZ8V+9mLH9/+tLiz3Hxx9qBh +u9vvFu4erb1buD1sHt9cuXX1dG3m4d7+pauErLWPwJNX9t+9zJa6C91Xt/eXDkfLh9kbEaHj47WV +tlj/eeHug+svuR+Y8nD5/cH7Pvx07eeVx3uPLy/N5Z++X9yeu9LjObxq7Z1eulp8mrnZXm2bH2eW +D/WHO3cXr6prN5d+uPXx5sLy9edry+Xpjfsvnlw5vNNut47wp87N1f31Qx5ZJPOtbND5/uPtzvsn +e0vdqw+uzw1u/nS6uL597Wec/+zCnSeH6tLV9M6LdwuLvfb145v3nt2Zz45/utfJsvnhvloctB+L +m0e3he+xvfJk+ALQll0vs5cq2bvdWZ5vwf6KZ/dm5m6VS91s85hX8Hr96sLy47tXXq7eKswQ9uXx +2/TK/Wy5//7m3Rd7b2/L3SvvqNv7vauwoPvpjSu4JW/Tl+mPPcTT/aWj2XTOkuaLvfVEvLvybGW+ +dffa2uWbbwY4Sop/eE+9UJNLV5Pd7x5r+vnm/bW79qe7L1efcvPlW6sfuTP5Wj4G0n2V3Lx/f/WW +XHlwcM/28/Le3Tt7n354TzvpJwz9bSwZOwo0WnriJ/CumoCYubeFjUpNMHN5aeUDoRok4AOdvkk/ +tRd3Vj7dXNmff/rzaqt1/fuldPf5j8Xm1VfPFzeWlzZX9rc7Py/8/O72waWrS/r1zgdG5pt0783q +B3HzxZJ+tbixtvLp5Yflzqd0/s7+8dWDteX9GwIQeP9jlm3t9avx8u2fj58ubqzfeLq2Mrv3lHHj +EM20D7s/Omn+ePPBi9bPvKD7ad5auLMz+m5x58nodHxpNcwGeHAb8Wpw2XW1DSdnY3l06erqm72r +B/Lj3QcrydpPC4pI4O7Hu2srQB03bt1c6hfv63sVYzbcWLcRTDkPDoenhCVYS4inJ+sPFz88EUQx +d2+e3Pm4NrP/tLmY3N15I2e/f3+XJxKjIz3dKsq1mWsns8uH6dbR6s315lpFqXAAXveRw2yv7iGF +LsChOr4GS7syu3xwuDrM7rSfby1mb+TL+h5sPuq+iPr+7uHq3K3dYtKWFEfl0+VLVxd3nu3dBA5z +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 +KQqkvAgIKQqkvAgIqQukuQgIKQqkvAgIKQqkvAgIqQukuQgIKQqkvAgIKQqkvAgIKQqkvAgIqQuk +uQgIKQqkvAgIKQqkvAgIKQqkvAgIqQukuQgIKQqkvAgIKQqkvAgIKQqkvAgIKQqkvAgIKQqkvAgI +qQukvAgIKQqkuQgIKQqkvAgIKQqkvAgIKQqkvAgIKQqkvAgIKQqkvAgIKQqkvAgIKQqkvAgIqQuk +vAgIKQqkvAgIKQqkvAgIKQqkvAgIqQjksEJASFEg5UVASFEg5UVASFEg5UVASFEg5UVASFEg5UVA +SFGga3AQEFIUSHkREFIUSHkREFIR/6VC6OYgICDwBVJeBIQUBVJeBIQUBVJeBIQUxX8jIHSLEBAQ +eAEpLwJCKiJSc5HyIiCkBJDyIiCkKBiVF+kvAsKRD6S8CAipCDbNRcqLgHCEAykvAkKKgkN5kf4i +IBzJQMqLgJCK4NZcpLwICEcsoiov0l8EhCMTSHkREFIRfDQXKS8CwhEInsqL9BcB4UgDUl4EhFQE +f81F+ouAcEQBKS8CQioiVs1FyouAcIQgDuVF+ouAcCQAKS8CQioiPs1F+ouAIDiQ8iIgpCIS0Vyk +vwgIAgIpLwJCKiJxzUX6i4AgCJKlvEh/ERB+SiRRc5HyIiD8lEiu8iL9RUD4aZB0zUX6i4DwE+Aw +aS5SXgSEw43Dp7xIfxEQDh8Oq+Yi/UVAOEz4CTQX6S8CQtLxk2kuUl4EhOTip1RepL8ICMnCT6y5 +SH8REJICQTQX6S8CQoIQUHOR/iIgJAKhdRdCaA4QEFIPQmttGEIzgYCQShBaX+kQmg8EhNSA0JrK +DKFZQUA40iG0jnJBaG4QEI5cCK2d0SE0QwgIRyKE1ku+EJonBIQjC0JrZGwQmi0EhCMFQutiPBCa +MwQE4SG0FsYPoZlDQBASQutfEiA0hQgIPzWE1rlkQmguERB+OgitbcmH0IwiIPwUEFrPDiOEphYB +4XBBaN36KSA0xwgIyYfQWvWTQmiyERCSBqGVSRgIzToCQkIQWoGEh9A9gIAQM4RWmiMLQvcGAgJf +CK0rRyiE7hYEBC4IrR+pAaF7CQGBAqEVIvUgdI8hICC1TRRCdyDCMQehRf4ohNBdinCUQ2gBP1Yg +dD8jHD0QWpaPdQjd/wipB6FlFiEKhBYQhCMLQssjAsJRBaSwCAhHE5CeIiAgICAgIBwhSO6yAuEo +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 +w723XXfpOVMDbdX2PE32KUsXgGEPThoJsvf/CAWeecLcBUtXZsr1BY4qb8/IqedcdOWN6+558NF/ +PPviq1ve2vb+9p0ffbL708/27N27d5/A+Pzz/fsPHGRQCPzV94C5bwB1Bz7fs/vjHe9t3fzSMxvX +/+XW6y4799Q1XfXuIoM8Y8ViTHETGvZI/OECOGf+wmWrJAp9gb2yqXvIf+baS6++8ba7H3josSee +eeGl115/c+s77773/gfbAXYIip07P/zo411MCgFfHTr05RcH9u/bs/uTnR9se2vzS8/+Y8MDd958 +zSXnnjrc3VRRmqvKgqKXFMUl8/cLYMKIAIGnAALzrBX17X2j079ee8mV1998+933/23D3//x1LPP +b3rp5VdeffXV1wTF5s2vb3njrbe3vcegEODlns8+3f3JRzve37Z1y6ubnnl8wwN33XrDFReeNQ3I +81gtGql4+aL5c2YlSXEpBM6YOVt04qJlqzJztOYSV3VT5+rRqTPP/e1lV1530y233/WX+x9c//CG +Rx997LHH/i4kNm58/Iknn37uhZdeff0NqkLAfz94/71339n6xuZXNj37xGPr77vzlg== + + + G668+LzTJwc7Gz22PF1OxoolJ82dDUQvSYob5i9IIJDAlRlStTHfWlbT1NE7ND59xtlrL7zs91df +94c//umWW29bt27d7ULiz3fcedc99z3wtw2PPf7kM1SFAC9eefmlTc8/8+TGR9bff/e6P153xUXn +nREY7mmtKy+16OSZq5YumHcCPuollT2MwP8JErhgyQpxllxjKrC6Kuu9HT0DIxNTv/zV2eed/9sL +L7r4kksuFRSX/e7y3191zfU3/Wndnffc/1egEI8EFQL88+gjGx5e/9f77rnjtj9ef+WlF5xzun+4 +t72h0lmUq8nJWLV0IaG3yWePTOCceSctXrYyHTBotBTZ3J7axpYOX9/AmpGxiUm/PyAkpqamp0/7 +5Zm/PmfthZdeftV1f7jp5rBCgH9uu/WWm2/6w7VXXX7x+eecMTU22NPWUOUqydMrpekrAXkiYK0c +DtGjEAhm4RPmzl+w+OSVYolMqTWaC0psrvLKmvrGZm9La2ubkGhv7+jo6u7tHxwZD5x25lnnrb2A +pBCXXHLxRRdesPbcs8481T862NvRXOdxluQZ1LLMU5YvWQDIm3lY9JZCIDYLQxGEDC5dfkq6RCpX +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 +3324ufz+b9/9P0DKJ1L8s8/+5Xe/ufhvBohm1g== + + + diff --git a/shell_integration/icons/SVG/Sync.svg b/shell_integration/icons/SVG/Sync.svg new file mode 100644 index 000000000..fb696c446 --- /dev/null +++ b/shell_integration/icons/SVG/Sync.svg @@ -0,0 +1,3837 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + eJzsvemS3ciVJvgEeIc7P8pMaitGweHuWDRjbXbXKnVrM6Vqm5q2NIoZymQXk0wjmVJLLzMPMy82 +5zubu+MiFiZD3SV1hFuQN3ABB+DLWb6z/c3/8asvXuy/evfb2xfxpt91f/M3x/e3Lz++e/+THR/d +/fTNm+8/fHyPQz/69Y93Ybzp6aT9T+cv9cR/un3/4fW7tz/hr/jLC67+0f7VN6+//fHuRz+mI795 +/fHNLR375X+9+fD7r39sd6HLTi8/0hc9XTrehLQL6ScRXRxfvv39yw8fXv/pFv3GOdKxw7vv3371 ++u3Xh3f/gw7muHsRYtiFJe9ezAt9/w+vf337YX3STRgyTuxvwpjp5MT/0wX4gi46vXv1/be3bz/+ +6v27V7cfPhzfvXn3/sNPdsc/vny7+/nLr+mbl7t/vX3z5t0fdoc3L1/9e0evnr+8vH5zS2/57cuP +uzDgnfc/DcOXh+9fv/nqF99/+9tbev9xHnA4fsld/uMH6ou6xWccnr786bd05Ivbjx/pYemGeOlf +//2hfgw6yO1H//YrGopbutv7f799+99+rN2+f/cdjtC1Y6I3HGZ6u2HXy7e/uf32uzc0tDIMw3yT ++RT6r/5Dz6WX4fNehBzwXUppl/qJPsa4yDllmG5///r2Dz/Z/eLd21sZi/37j1/IPKXU9/KvfPPr +79/cvv/Ht68/4hlxaJHB+Pm7r27f0Pl+/eXNSx4DbqH8Kyf85uX7r28/0ty+e/P9R15ps92BBvtn +L/94ixkLcoNffnf79jfv/omf8cUQp5txpPmegvwfd0PuFxqDTHeY+SZhGHZDyH5za709H3pEf3aj +iWbqVzR3v3z/+uvXb3+ijzl9+ffvX39V5nPWxu9xM1e/i/3KA9O7f/x4+1ZfgFbR8efVquhvfv4F +3e/89qvju28xAR+wEW7pxrRS3rz7Wr7zz/wNXf79d/Ls/PeXNFe/ev/6LfrsfsHfzF/+6s339NXf +v3/3/Xc/ffu7d92PZLf/0+0r2tI0nV/tfvnb/05/0Ab+xctX33x9+6fb16++eXv78fbD7kDLnI77 +uTcvX3/343u7pZd8f7uTL+lK/tP+f/jq0+3vaK+Vy+XoP/w/NL1v3ty+ffF/f//h5cc/ffvuq+/f +0Lfnt7+/ffPuu9vdy7df7f755fvvHr7Br968fPvy/Y6PW/91r7ufvv14+/7lv398/fvdty/plnTS +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 +xTNo/GK30X7WZMhon/I9j6rNbdM+7lvjtfby3txB9Uqr8zpol21icYYpO3bjlHz0rVG79nCc7+yM +hloBBgl+bttnC8DwUOr2RRgTg8BtjgZqzx5WbNgmTGqz0sJ+aTKUljpIMMTX85rtHBUX0x4TFhM1 +wALdSMOKSapKChtYN8BYJeXWj1+kkYZkA3TVTTlwLlqgnYa9p8Lj28wOg5DaWCnvtBvpvt7XMHHC +vqSoWSAraYcKhYK6L0Uvwl6lMlaulFu095Q3XFO3esG4WKojOIZpjFCrN4xnIUmwM4aJreLXNLAN +YwD4OZ3khrqV4N6Gklvz/M5MqVv8TVgo9+CES0CNq0rNwnFoAAVG+4p7F+AgyJAK96Pd/1iavZUB +uYM5eDWbieHKUJ8rHZDeDgW6lkUKr0hvcaW1bVgVPOxtpYRzxZieJ1UE7oJxmbO49eN+GgeV836B +cOR0Zfbu9Pd0nXstuPHqfqF68Mti1O/aRQg/y14OD1OKPNrQwhFV8TyoR+mr0pR/L9u1+7RCIQFS +66Nb6PJ9QYfQcKZ/TA3uCp1a+tHU8yaDfbrbjSwvSK/hkfNKm4Y4PHcK5GNAw79vqghaW48MUOKr +9p0uoQqRvXOKFeRjZNyBsuLKx8j4RCM2WD3LnXGMflzEOvq1UjLdM6X5bBFf6c8fcZjpLT1a08ci +Ajo5XBH3mUc14kN99COG1L9QxJrmLxkxqf7FI27VZ0XEt+bJE3GwPskiVtbnYcTU5vkasbec1xmf +y6mfcbxpgWS8L9dRhgRjpUXgcFyNEV3sa9YDkLmsM045rf6MZ6aSyJhn6pGMjU7aJkKoqZMyyppq +K6Oxk3LLqG2qwIzsppbMCPCgSjNOnPo2Y8mpkjPmPGnujE2nfs/4de4AGefOneLDGA/vO0rEzXPn ++a2HexVf7ztUxOBjD8tQ/bTTZUg/98MM+/c9M9ID894aWYS+B3uioe/SIZg28xDmnh95jW4XRP5j +th8iT9LtjMilfEIymSxdGqZN5G+6+RN5ntlMinxQPy5yRt3kytzSZJpFDqpbcJGn6lZe5LNmazDy +Xt1qzNxYWpaZQ5ssUE+1paGa2bhuzHrSbjJ5M7eXlnHm/9J27nnC0cTOdGKa4plyTGs9U5OTUZ8p +zLT9M8sZ3kEmQycfIpOm7mhkWjU9kcy+Tg5LZmnTr4lEbno+me+dHKTMC6cblZnjcLQywTx5Y5mH +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 +Im70YJ3cezu1ujGu2Rycbey611wa6AcyoGmiuGJM51xrcI297cMbJOviGtEGs9GeDXvj29MUkRzh +uZk/65BOtdnqRNz4/jq593RqdW1Ei9GfvVEwUYq8OEh99l6/o23M3dN37yi6DBDJgmm6UjI1bpID +rru51L1O/1gjt1OmwIcl6z40HaPQ99B+z1L3o4mgKFc4CiNVKfze3i1SYmlTeKCKYtNp/j4THkqm +aItREIhrTTRikVjn9LnvTAYAEyu9YpOserHW9faG3vc4DfPkQMg8TKdJWZcfP27+Tw825EZFElNe +k+Ey/YOE3knOqPMKIjz+wjxYNBjnyLcW24FE2gJnun4xDFFG0FSWous3NNOo6jYbQicSkcBni4qI +qmWw5GOxiIhY9HbLDo806WZDksWJaWNIjYjSETWsD6kRndzhsDEkLgoLDm0Mie1SfZMh+TY4IxMj +vDYoEjMU47VBbevvznvyzdpDBPHLP9xc/+n24vru4vrroyMhU6lY/8PBH77FX8ZB/vT5F7/9zcVl +a+bgl/3Hw/928Mu//X71h5sX5/jxVxdndxc316e3//qhP3xy+PN/Xl1etz8dtW7dXg== + + + fPX67vzVLw7/8+CXn97ens6eOPvm4vLF7fk1/u4Of/m767vpb/jX3b++Pcfffv7p77789Kuvz19e +np59c3f+P06v785/f3H3+dk3GPr1l+MvDn/51+uLs/bK5+2b119vNvPd6eVraefiRXty2yPQr/BE +6xye+c/3PcAjN/xs10H864cfXBvKvx75SP6580j++QFGMobdR/L9xYu7b3YejT79qEf0zfnF19/c +7Twke/w/d+j6Y5EqYde5eHX34lfn312cokM7z8jmS+99rT+/eX17dv7p5bffnO4sHXcf3MWHGNJX +l69vdx3L7fmr15e7s689vgv7vqHr4w90ffuhM/X25flvT1+/enVxev3ZvWOcev0DC/BYd9KL3UX+ +iw8h8x/CYo99u+y+KLtrFC8+hEpx8/Llq/O7+3fG0939f+QIn96+f07bJe6sDby+fXl6dv752enl ++e7awMZL731wr749P/vj63s47B3sn/c8rEsonTBzz24ub27/2/ffXNzdsyTrSt2/HrJ+8vT7V9mH +ncfTlvj15entr//57c31+fXuq7d88f2P8qGDPLm5fnV3+haDnF58SpZKM6rb/3adpH/vPCv//hAO +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 +fPH3I6/HpXzy9yNn8lI+VfdXpnMpHz+qAJFyyiJFSJQoNVj+Vr/0z4ZqzMTZUCrv9VN1NlTa9/rx +upaBs6Hk7vVLbp9Sqvf6Kd/ql9LZUBL3+ilHhaRn4snf6yctfIpnQ6Vwr19iSc7EvX7KO0O4yFWa +9/olyuTKUEBX8VY/jS6pgK7svX7KXRPFLlK+10+ASNytfincACJ5r59yh6R2qKZyr59kOqLSqebq +CaM6U1byLOgU7vVTPvmLWxNP814/xYGuDo1iGbjXTzksnNQJVAr3+ilPdSV3Qadwr59UmmRM9dK7 +jy8DOe9J3eunXAuM82fiXj/lBRWN6nrSSXwXZ6Smeq+fhKvJu9WPfzsDlca9fiI1pIS3+gnO7Eo6 +PYXi7vVLmPeakXv9lG/14yQ5zXv9lDdc8zJS07rXL5a/JSWLonOuUr7XT5mAyIPNwL1+CroWnbNl +6D6+EuVaVN/Hl+A6OdX38aV1rx9Xi6T6JJvNEXevn0LeQ8LdtuFk7/VT9uThiQeZuNdPbgzviV9J +TC1/S4U7z64kJlLDRPf6Ka83C3cRpH6vn5Da4tliqvfxJbdJQ/4+vgyoD3erX/r38alJYkp0ekP8 +Xo3kruITZ6Smd6+fILAdd6sfzhhK/14/LlVK6V7RtO/1U3ZzZGQs6Xv9lG/1S/vUJnKvX5qxPpX3 ++qnIe83AvX7Kt/olfR9fSlm4ImsZf69f6snwvFv9eK2kda9ffCiZf6uf3Clnyd7rp7y9SzSKpXyv +n/JGJ1FMKeV7/ST4wrvVT/lcOPX3+qUetxRSLPmcJ5l5ZRr3+sUMl9StfinvHhTd66coEbwbQNK7 +10/ZMcSz1/Tv9VNOiCUjctr3+gk7Kb7VL84fU32SlfBeP3knCPswCU6yUnmvnyofJu17/ficjF/A +UciuldFP6Xv9lAcHxSzOjCXE4nHfKjE89Cv5aK3d0js+xOdKTeMTFUVjJSiVD+0qb7wXpS0KpImV +sdjqTWXFMj8PHsemSFN6wQhpWYoRhrK2hp0cPVsEM9FgFOa+MdFpLRhWGrXGgZZCyhqac+GXYD6V +trC5ssFC6Re11omBZbstMt3or5wf8rR3l+jNC4bi2pVaqn6qpaZgZa3WqR0cm7SBT6PVOoe7rL6o +uXWlw7Ey1zeg0bkcFvuEu9kfsjRZIlpHMGAfre2Y666a7Gx29k53hVscKz368PbC3hqD3Tub39XR +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 +vv71888796tfOeuML34+sjA9MdTbEfRVeWxmff7Jxx21vshiZYKIbj36+FMKS2hXpa+5a2BsenH1 +9DPPOf/C71586Y8uv+InV1511VU/BQD+d+VPrrj8R5de/N0Lzz/nzNNXF6fHBrqafZUuuqTwlOOP +3kqQXQcF4yF6wqk6o620trGjf3x2ZceXv/qN71xy2ZU//+W1v7nu+htuvOnmm2/+AwDwv5tuvOH6 +635z7S9/fuVll3znG1/98o6V2fH+jsbaUptRd+oJPGQzj+gBB0LWH3+qzmQv9zb3jEwv7zjrvG99 +/7Krrtl53Y233HbHXffce9/9DzzwwIMIwIf777v3nrvuuO2WG6/bec1Vl33/W+edtWN5eqSn2Vtu +N+lOPR6KwYEHZBhZiCkwT1sAoqdARH0tofG5tTO+9q1LrvjFtdfd/Mc777n/oYcfefTxJ5586mkA +zwCA/3/qyScef/SRhx+6/547/3jzddf+4opLvvW1M9bmxkMtPojsKQDZLcB0ZRJXzPtDD9t23MmF +Rlu5r7VvYvELZ3/jost/vvP6W2+/54G/PPLYk888/+LLr/xj16uvvrqbAPi46x+vvPzi8888+dgj +f3ngnttvvX7nzy+/6Btnf2Fxoq/VV24zFp583LbDDsVSkBlEMUk1W485Kb+EKfO2AER3fOWbl1z5 +H9fdcsefH/rbY089++LLu3a//s8339qz520A7yCAn/bseevNf76+e9fLLz771GN/e+jPd9xy3X9c +eck3v7IDINviLWNK8k86ZqsmY4QFmP7bAQcdevhRx+cVU57a5hBE9MJLf7rzxtvufvBvjz/zwsu7 +Xvvnm3veefe99z/44EMEHwHAnz744P333n1nz5v/fG3Xyy888/jfHrz7tht3/vTSCyGyoeZaD1Wc +d/xRhx960AH/lgFcEfMP3gJIWmhyVDV2j81/ASD6s1/fdPu9f3n06edfefV1gCbA8sOPPv7Xv/71 +iQhA0ccffQjwBei+/uorzz/96F/uvf2mX/8MIPuF+bHuxiqHqRAQdsvBGRACiOmBhxy27fg8PV3m +bx+a/fzZ3wSI3nzHfQ8//uxLu15/8+133/8AYvnJp59++t8SAIo/gfh+8P67b7/5+q6Xnn384fvu +uBkg+82zPz871O4vo/V5x2877BAkBGliesCBgPknFhgd1cFQOPLlr19y1c6b7rjvr0889/LuN/a8 +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 + + + diff --git a/shell_integration/icons/SVG/Sync_Shared.svg b/shell_integration/icons/SVG/Sync_Shared.svg new file mode 100644 index 000000000..cce9305b8 --- /dev/null +++ b/shell_integration/icons/SVG/Sync_Shared.svg @@ -0,0 +1,4802 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 +aPEPQgS6SxEQnAi0NgQDAt2HCAhcCLR+XJEIdKchIPBFoHXlykCgewkBwUsEWnWGLgLdMwgIfkCg +1WhoIdC9gYDgZwRapQKPQPcAAsLlQqB1K5AINPcICJcdgVay3xqB5hsB4bdDoLXtt0OgmUZA+K0R +aJ277Ag0wQgIgUSg9e9yIdC8IiAEHoHWQv8j0IwiIAwVBFoX/YZAE4mAMBQRaL30FYHmDwFh6CLQ +2uk9As0cAsJQR6B11BsEmjMEhCsDgdZUDxBoqhAQrjAEWmV5IdAkISBckQi04rpBoOlBQLiCEWj1 +ZUWgiUFAuOIRaCVmQKApQUAIEgRalSkINBkICEGFQCs0gUDTgIAQhAi0WkMEmgMEhCBEoNUa6TUC +wuUC0msEhGAF0msEhGAF0msEhKAEUm0EhGAF0msEhGAF0msEhGAF0msEhKAEUm0EhGAF0msEhGAF +0msEhKAEUm0EhGAF0msEhKAEUm0EhGAF0msEhKAEUm0EhGAF0msEhKAEUm0EhGAF0msEhKAEUm0E +hGAF0msEhKAEUm0EhGAFUm0EhKAE0msEhKAEUm0EhGAFUm0EhKAE0msEhKAEUm0EhA== + + + YAVSbQSEoATSawSEoARSbQSEYAVSbQSEoATSawSEoARSbQSEoARSbQSEYAVSbQSEoATSawSEoARS +bQSEoARSbQSEYAVSbQSEoARSbQSEoATSawSEoARSbQSEoARSbQSEoARSbQSEoARSbQSEYAVSbQSE +oARSbQSEoARSbQSEoATSawSEoARSbQSEoARSbQSEoARSbQSEoARSbQSEoARSbQSEoARSbQSEoARS +bQSEoARSbQSEoARSbQSEoARSbQSEoARSbQSEoAQKD0FACEog1UZACEog1UZACEog1UZACEog1UZA +CD78HxWBbg4CAoJ/gFQbASEogVQbASEo8X8uCHSLEBAQ/ACk2ggIQQmk2ggIQQmk2ggIwQdXvUba +jYAQBECqjYAQlECqjYAQlECqjYAQfGDTa6TdCAhXNJBqIyAEJZBqIyAEH7j1Gmk3AsIVCqTaCAhB +CaTaCAjBBz56jbQbAeGKA1JtBISgBFJtBITgA3+9RtqNgHAFAak2AkJQAqk2AkLwwVO9RtqNgHBF +AKk2AkJQwjvVRtqNgDCU4bVeI9VGQBjK8EW1kXYjIAxN+KjXSLUREIYmfFdtpN0ICEMNftFrpNoI +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 + + + diff --git a/shell_integration/icons/SVG/Warning.svg b/shell_integration/icons/SVG/Warning.svg new file mode 100644 index 000000000..4f761579d --- /dev/null +++ b/shell_integration/icons/SVG/Warning.svg @@ -0,0 +1,3787 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + eJzsvemSHcl1JvgE8Q53fsiMbBNS4eHusXDGZHZXiTPiYiyKkkbTVgaiklVooYAyAEU2+TLzMPNi +c76zuXvcyAWFZLfIznRL4GbcCI8IX87yne1v/rdffvFi/9W7396+iDf9rvubvzm+v3358d37n+z4 +6O6nb958/+Hjexz60a9+vAvjTU8n7X86f6kn/ub2/YfX797+hL/iLy+4+kf7V9+8/vbHux/9mI78 ++vXHN7d07F9evn/7+u3XX37xzcv3t1/dfPj91z+2O1IXp5cf6aSeuhlvQtqF9JNhwdcv3/7+5YcP +r/90i3vEOdKxw7vv335FPR3e/Xc6mOPuRYhhF5a8ezHjmn98/avbD+uTbsKQcWJ/E8ZMJyf+ny7A +F3TR6d2r77+9ffvxl+/fvbr98OH47s279x9+sjv+8eXb3c9efk3fvNz92+2bN+/+sDu8efnqPzoa +hvzl5fWbW3rjb19+3IUB77//aRi+PHz/+s1XP//+29/e0liM84DD8Uvu8p8/UF/ULT7j8PTlT7+l +I1/cfvxID0s3xBj+6h8O9WPQQW4/+vdf0lDc0t3e/8ft2//6Y+32/bvvcISuHRO94TDT2w27Xr79 +9e23372hoZVhGOabzKfQf/Ufei69DJ/3IuSA71JKu9RP9DHGRc4pw3T7+9e3f/jJ7ufv3t7KWOzf +f/xC5imlvpd/5Ztfff/m9v0/v339Ec+IQ4sMxs/efXX7hs736y9vXvIYcAvlXznh1y/ff337keb2 +3ZvvP/Kqm+0ONNj/9PKPt5ixIDf4xXe3b3/97jf8jC+GON2MI833FOT/uBtyv9AYZLrDzDcJw7Ab +Qvabh/Kv3AM9oj+70UQz9Uuau1+8f/3167c/0cecvvyH96+/KvM5a+P3uJmr38V+5YHp3T9+vH2r +L0Cr6PizalX0Nz/7gu53fvvV8d23mIAP2Ai3dGNaKW/efS3f+Wf+hi7//jt5dv77S5qrX75//RZ9 +dj/nb+Yvf/nme/rqH96/+/67n7793bvuR7Lzf3P7irY3TedXu1/89r/RH7SZf/7y1Tdf3/7p9vWr +b97efrz9sDvQMqfjfu7Ny9ff/fjebukl39/u5Eu6kv+0/x+++nT7O9pr5XI5+o//D03vmze3b1/8 +399/ePnxT9++++r7N/Tt+e3vb9+8++529/LtVzsiPt89fINfvnn59uX7HR+3/utedz99+/H2/cv/ ++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 +setBojeo/ud3xbP3A7u5TtT9uR19yvz9y+3r/+///dvdF6+++cPL93+imVsduCr41+bnPlzVkMlN +9ZaSvKdY0z1gtHMX2rUD7dHzIdWV1MZ1LTW3o2s9tc6zcde5CM4ld2GVfbspWHyVC0kI4NitChYX +Omi1z6PboEe3EmvRYgvuqGsWd2zks6LFll+rlDDfa5YtL1rsCS6L4W/U0oNcfLBzkusE9yrdZalG +aPUIOeHlulZP0ozddYam7UoGxX3awoQtSLjvNkrm7auclucqZKi4To/u299WNKcV0K2WwFZi9nUw +0DrlQBMB1K2j0XVZeHoKT5S19+wUbT52WyL3LhINA2oCgUoo0HqhNKWtO7cFmzW4zX5aFsjFsp/y +4qB33JpTm9HDA7O5vyPgO3Ybs3kaTj6Xq5oU2/NYZ9jvVnO59y29nsm6Fv3o8VzrPPvnrgm/ic02 +b+fz4GEY2/OpJRW7Kqxrr94tMD2X2WyrlT+4+buqYnlUSK2uWn69+a1eef/nsHXem4ugDs5ok7dN +VSBGm2rgVBK59aGu6FUqn7S1TyqasU0yujvDLCoeUREHW0x1nc2oid+wZDhHnnCCqMlrF10OEthn +Xht7SVPLs4xMcDM7aiAXHDLSZnXNOC7njndf1BrTC1PhM1eYTpzVcOE8hhfOWJjZV2JvJazXFb7+ +hxVrtHKN8TEFGzuvhvREBRu7O/yqf3C22jqfWZ3N7CnzmT02X+3znD7P6RMXVX3UjB767mln9DF5 +B/+Cc0q3aMCU6ASuxJToRaFZjcMiERZziJmT8YUQuZJ19eG+LAhP16VU5P7BdRLv1ALpwJc/f/f2 +l+9fv/34+u3XL15UymH9Rffz7/BNlG9++fLjx9v3b0lr/KeX3/+WdEX+bxfSeJNJbtqFMN/Qytjl +JSLdQ9zFab4hfpv5Mff877/+gf77nj8GffJ//SP/+X/Sx/9GB/9Ab7772e7f/2u/+0ou+RUgSLuJ +9bn7lo5e3Wn3T/VRe6B/qjvYPNhc/5Z+/27//uPp9auPr9+9ffn+j7ufMAr6d4d3797sfrT/qY7E +l+evXn989/7Lw8tX/0Gj9eWvX7+5/fJXt68+/nj3t3TB/06//ra/kKWxkIgaGQeKc9YaXBGSLuJ3 +oNZPljNRUj3+60u80IDMjmPehXm6QRwPv3tEukh6n3mgbvOyI+HohtYQHZkSfUMrEEdIGJ93YUw3 +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 +05jWw1tpc+zhj6PSrX8fdijZS2MQczjusM26X+to1uEy3NOLbCKGYI8mJAHqUPPxqWzVdpqveW/I +e9v6a9pwHI5L2ocMXDiO60N7NIsPxNDaF9g9Btw/0r7PeQZ8RTXVRHDPPnkeFpOiXykmz3xHn2P5 +YDkN8+Fzuk4vGbM6xyLnfY5XXx/juOY6yvHvay2+0WtNhrXxHQ7H+sW//cm33/7nWyv91V//7De/ ++frXv/zqr/7hq7/5+ldf/+w3X/8cDTVppA658R3Xw2e+dxapxPGif/nzb37z7a+/+ot//M23/+uv +fvbxm1/+/Vf/3q68ffFv/+rWZO9j//rXX//2m69/99XffPu7f7BDvYnv/M7L/+03tzL9919/8/f/ +yR/7j3ic/83vcUF6tW+//x7/+zc//81/+jfuk71GcLj6v/v1t7/7vuP+h29+8dWHb3/1zdf/8NX/ +/PU/fd/RP/36P/7mq29++dX/+Otvf/mb7zv4b7/91ePY7x3uD9/+Zx/u9l2HMj1+8w2f/au//adf +fe0XXr5zyHjBv/761x/vHau/4Xdenf/97P++B/kek3/66qfffuznPGbhX/7ov/mLv6pf/eUvf+6X +sN8/+frvv/mlS/77L/7bv/72F7/62c+//cdf/5sfDf9WIccK/956Vg8tYdojERfnLdFe+Rf67//x +ux8ZzEzspbfon/Tzf7r/+f/cwt99sS5f/Icv/s//a/ni53bK34TbNV7TcaUed/rip6M0n+in4xU+ +LZ2u8Ms/eJH7WP/kZx//Xya/JvVt88yrnff97+yl/xeZCXW59dQl4+K2sbAyjuNqt7IUN+x2rfrT +bSXwjxr/uK0HanoMyZs64p3Gsd26EH7hwluxdmEzh/JA0PZySbCt96Z27fIIPv7IaFlP0Bypgxb/ +OfVuqxqU6KWzvhAI/RT+rFZEpzOpnKR1YSUMKdZBJO0yiXS2HaOANLk/P4+SPopvqRVUCRYI1/W0 +owyiHy9mPexKLbr8KEe6N5Vd269oFiDIvIpaE3ZDmSZYzwZNc+Ma7IV0o9ErzFXF1QnnfQW1CFDv +1bbea7/M5sgMgOwObGxtU2r5xSzYtSsd5s4YUy+YM7enIxJnnlQYhZXoOVI4RrV7lc24b87dQ5jC +xkQily3O3MphZzr4lEiGiyRqF7SdsNo9vQyRbW9fVe27WekgG9y6K62GPaWmwLpsJX7rLOgwmRFx +jLiiVKe8GADsIGlWFajzuvRwzxD/rh2OAG4dlTiyemOX2B1BKl4HKc+17LrW5jwmQlE6rdm9rMED +jnRV4uc2Fla9kdh+q6wGzUtZJaVaMkjVpHGmgCIIiAtdEqe30jKLBJZGJFvFCt285M1OFA/3LiPE +LKhd3OaGar5EN6kEp1Uu2nkuFAq4WupoYicmQnxJJB0wChfyJiGxcQWJV8hTcRyLa6EWe6epZtsG +yfRFUkoJ4yrQS1+LNGUwx4nqrw4xL4nm+KaokK9GIlpVxUCrtQRQ+/hbPRjZBSkFWgyc5dqX3v1u +WkTMoYUCz3JZg5G90i09Fzvz/qqXNcwum0uaYEgpk7/snkp22FSBhIdFWYsFOcTUcm2W3zKwEIBI +lTFygU4UbXAZpBRA1g3gMiKJXvy7pCr0Kk4J62oKU70ulAjzBKjU/TLBpHjDKzbsIkGka14RA8GC +lGKGk1ufYnOArkbX2bXax1cTnQrtjdfAF7REje8AvLNqJZEQAkRiBJBUxp9qF4DC5owzdx9x6nCq +WjjoOdrsTIW4kNRF9deXVWPozAsCYp5fpDKUkJPBbChUMjrqP6TEWuA+LM4zaKgpIlgsha/613YB +HF1N22ywSTSgroupWNox7YbMMbDLiJdV3TD0Q2u2ypHco7abbiaWFGfen8Tcxku7G8AHbKOS2DAL +4d8QG1STaWdSiMtuxqw7KWgFAeI0B3cD3+D9HcMBoG9AC5lEI8yYv3DhvccQwfRSZ45SsPb0cuKD +oBHBvNMIyD/6aetFTfHpXREC0ztWE1AuTlJru+y06p3ZdIQIZ0Dq3Sqal1OeonMDqNlGO4AJdNZK +BJWAXRylzDNhtNVBm+4vVthzodCu3l+CcL1Y7gLLbTpKU6RKOazKaV8XvFXEhA9XgFSCY4sYfq4d +pa30FlyHp/GPysZIs9Aad9tsbtEGLxyje7LVnV3tsk+vkvETWvTbFFiCuhsdIOZtr+yn/3BVbbSB +NKZgA6PscGsihffUi9L5faOj+bBYvVZ7sS52CexuFcqvYziKsPih60itdsGifKKd5TJ4sA47CTS5 +L4j/iksBTJBLTTWjQiL+TcHB7YYf6uMtZldAYwJtvU7jmQX/eOx52raLBjoafyBy2fVbZtmC/SQu +YItS2+BfNtY8EmwZsIHc367pPZgQXUDpQX4zFwqGrtojna0VCtF2VcrTgU9kLQRmyy2wjZ/9qEKO +535XUrxg+qVg875dO82F9zgu4o7G8FspQ6zeSFTY+BhZKk6jl5v2mkKDUvURYaNh+uUQUTi9olMv +ezedRg/4eg/ztnYu71KkWizg0QR/eunC5+5A2AhladH7j5KgtrIu97Nsm8FI07h0z+31C/niwcdC +ZwoFFnREiiVjBxzy1t8INEN30fFuElD7HaedbJ5cy9qKKEkvEojfWQJK/E4jEbCzyC7fiwVA7vWy +VsCTz0+ShNDNS9XFXrcR+0dvAbxA0YRiy5iiqBPobTBcNlBp6yntpgz9xrbP3CVsH7MH4UqEFSFL +dZMRQXrLQUs3q02WcpVFaqftqRhle+i0YrpUFSG6cKumS2FwsdMYbro/MFDoKydzsAgozODGNyHi +CiHC/AerlVQ3GOFqYy3jtHIdLRXMBi2yluG9GE6n1EYoiMgGWPo9eyQo+kngXT+xQaL6Ok/CjuOF +dsEeoEOrLcvNr7IDXtGsISeGUV7cttiGs6nx5V401GjA5pECz+/Ee0lGfo6mzq2JPe1So6p6e7bS +3JEJiU6k7VvGax63sC1Y1/V+AVOx3Fp1pwl2te/4QdGNk2STMG9us5ql3XzPRj+SEr4tBHqhSpfo +hjQeFCK7eRywLgwLLWu369YFx2K5uBhNCe83VenQRvtOFRa+dfjyKmUn6ecCnUZZwM6OEkfR69SA +CUARnIMAMNe1xGkhBO2lsQEAr3/rDzJcVDhtAiMRDLoJYjR3ttR+1K0T8X8o0qZ/ZyNFIz1E9DW+ +nvI2TPXd2owlYGKIQ1Gje1kAgArwLb/dZWEChBrJlcVwb7oIaD5DIH3NdYp7tDxTu41wTSiy+Rtd +RmfVPqhEnU2K7UqBnVZoUd6Go1CYh/aQe3nug4B9dY27hXCxxtJtZdKjlEw5cffbzjlToLPACmB5 +51FlN/8N940VlgIqncJZT+GBg3kvUC5+YXEebpht8LaUo6UgvjbmQ8gw6hvxHCgu+i/2yuLJ9RQ2 +J9TgGhrVcs9PiuK2lXw16X4X2AOS2x2ELIe2NNOapIE30rlkpS0Fb0uGjYwy683MEgR7UzmYv2a9 +zLoQOZr3zCI8t0tT31fMBUIFDp8ZtzpiPyQ4trgZX5O64NVfrBIXuFWltenfZ8ERfWvv+G2r8zSH +sR902QckrENSugua1SCEFjch3pnrehlTq++T3OwoalQ14i87rdnyQCgVRVeqAliX0K353S5VrFi/ +cZylNVQWs0B11kHZxGKWm70Zm8pi1pWp1tXslLJaiob9UXbK6tSsXbAa4vpH30XNmiGF00xt3x58 ++cKyi1vVfqgQQUryA+xbHY6DGP4Q7JtZE7czZlGjslopnDQypTBnE2SyjCwW/3Ldm9LpdvlGFJEr +n4OhLgep3F8uhCJKY0egYVLOagjGZZ1COl9FzkljMtGzE0xskCLOAqhORa1vNewpIlkYHNFFBo/a +7Xnea8/pd2nwlkFL/in8NawuRXc32lKtqbksdY/fwikCaYFVEseg8Q+ecLEtEUPxtg0LyDXB7iMZ +q1Yy4gQSoNZ90ZigucDLexHWkyaJzQqdJODtERgwyQXGhwDuhE9up1HT6sBTgtvAG5Q9vRmQB0YQ +owEb3xn3qhZRAWW9ygivptSPzUd6cR+XYOLo3JzwkyLE5EdwrPdiOZwpQO4Ps0gsLO7uIZSlQzC0 +OUyFFgm8dWpr57RqzR8LsVg77aQdVGrVW62huypCTTLmuKIWtPshL1vqH9x1KPdHp0AJ5qVmC/qe +HocZlim4HITA3D0Xrtx1xaDCVrwULL7M56KdXVGMshljjG6HJsSyFSOhTmSSX/RO8w== + + + J81j6odZpqRkFQu3SPdlHrXKi4FiQFIV1KlhrKO5t2olyMvlCBRIt81TvCI1RHkvDgSyGsCHBhjB +/ej+HWCdaaoSr9ZU2gCL26tVRovuBvCAW217rfTigWCktx+yubTacRZbIqqxCuhgsZiZrnV5d4+k +1TPgNopye9C+ghU6JDCzEsEaXJBsP1LS4BE1Q5ayEObqtkGXwIEc4dyU0qdyyc1nizoPwbQ0ARqs +5gOGwDyexeLReRT0Z/f2yTSxsE0Ibv1qStrOC+m6BCoMRvGq5zQqUDyrSWIjQ7aEwHY/Tr3Bq4rl +LZqWEtQsXGM5piaN9naqmtm8CIbJW1vMb2JktDLyFU8Cn1jfhoexeJxvCdAnYt8MliQRXG+760Fd +b/c7bIoiLk5lKQlWsRCxotceqYzea8T2QIkBf8NRfA05qCGwCefKOI9SGQSx1ssgRFJgQxNh0ZSy ++195edYKvLUCNttBdtA6dslHD8PKI+zH8cjEe3mhjATKsaNupDlTFAFDhSQvY4BVoPG4/yEvBlCY +EKBahGoREUqTwttqlJ3ythTrZBpRssAmqm6E1oKWtEDbUUy6FDvunp7RtSCsneLJHkoWmbpxpisN +EnfCXcL6Pg1tR0khnSnbCUkGB7fLgk9qPxBvLcgqliFzsqsuARRn32NRhfRoxiwr4JMqUGiHdAW3 +4EA3huCja9VyXOdwmGAIDgMJMfLgLlkiY9Vle7OkALnC2tDGvAUpGNTgUZVRunpSRjNO2cM8DudN +EXbvzSByupGAtbeJbUrRt82kavuRRCHpI7CIOFO68XCQhjjTVszhJjaSXfaWuFM3u+dx6SU344QM +DeBnOp0LiBSW7KKkZtkniWOD2JkhVbBDd6i+z+F27KdxECuCkxIbWsqy1/G421i992XjRjaICPTK +YYVByvtpgazN86Torb0afonlW9RKQqAMM3T3fq/AUOUwU63EYQxrbvUEmDY4LLIFPbS3LrGoY/MZ +G1LhPBBjU+JgEXJjSi7Lu9iZIRV/pPAgCKh7HlY5CLyya7ek3poRXLjbVkvMWmJiWXy8KHIVZiWS +VTTIR/cvJbUapcNboQWPioLaDjO+9JZKlyAZo+/X7g04AhsibO5PsVlKapAAeFgz/u7CRbTNVckX +jYTgKIk/j7/tOZsp7uGo3RLnBIoUt1w2n0pEvxkEfUYa5JTlD+lP/XKWhYswhqzLchoeulzQQbJb +LDGtUEkBddPOTH2+lhdBai0HKtjadXRJ7NWW887jzqhA4B+CcklJaBDbHUIKJVAT/BwRj2Kd7qIe +JSLqA1TUKGW7Q/UIGdzWhFuJHmHeo2KV+SJ4cZuhbukEQizBMFPiYCMAR82Jl2xBFhTR/L/zEEot +1AngXC94++bB2f6m/OZG8nYTjtvR86Db1sI0i+Pwk1TtQRcB6AspYXck0qITQ4hKIgZJ8o99hBIC +MeMA6rVbWC20AGHh22c/leI4FZcSfSr5GPPlXoHjiCirkcdrZMijrtav0guE5Bauq/V7XcsWidWI +FaqmnPnEcQSdkRjGFj7j5ixQ3RmgPo04nPrTFEFZWHfsUvBC3mbeF4y71bdAt14jPotU+Uk8Z4sW +FctkyK7Qe1KjLX0oSyPjdfJeL5Puis8BPdjs+4C4omiZZdAPy63aifDgXsrkq2NwAxhJeyA9S5Rn +Em31mgAUhZfKErO7J42pmQtcwI3Ad6MFh4p+ML027IDrcoyqwxHXCQRXrcCDzf4LIjWKNfLbwq1Y +XZuCMPefFs/nIlVObRUt2WmHWc76lIO9qXCTFD5oiUtMOKQkNiSFe00BlNOvdKHCkCh4LEnkMZRV +kMq956oKQBWfkj1IMl3BeewspgmIPtXnHWEblTlcpyX7CSvJjS7qaiHEKRy8zXi0ao1H3S3YRD+N +OvU21PoujDIVQEiwnI5TtwVQ2LZ5WpbHKFp7vFE1qC6VoqoHTc+0GnRfRMmqFB01UYQzBGzohx2K +JVFcexB+v5S+WPPEBa98FbL/aZ/x3kZMorpoSZSAvyV133tg7jr3gUiFjIfZlnD7WvyquvpS7UKN +lzytHkOF10ReARI9xGFzWD/LRjZqZ2+iHLxEBPFYbIUXbRurnXlQtEDvlOhoGVfrzdotpBWpIDkS +RYFtBTpPq9qgxUrLqjbLtvEdBVP3wXMKF0GbAmA/UfpNYPQCtlqs8ey3Om6xqhCkbbmvyyq6FH5F +AtDtpo4ler4481wjbnuZvrProRnKFTG4xZwvSYTCtS7d/1eaYvGeu11R2MWL5nA66ODgRKvVUDGb +V3BshIg1p+BWWxRBrxZTYRtWJgaVCB4cZqPgWmP/s7bb1e1SVKmpisDkfSnh0N+f5Dyjpu+4ndDv +4zzzMkmroLF8AVF14p7NCETRY4eCcruqxRkdJV1JFYOwtTXP2mFX7JH6WT3UX80MRnBRpSHjg0B2 +Wy0CJnLiTBGqlExAJpeKAzho5/cBmCi/FSFDEJVKUqJMckGCEzQFBo545KYlaPmL7Tj1NMpPmn5e +LPajMVcy6bAQ/X2dk/Q+el2FQpEStsRDs/oehNIj+OP4xFSZYa9KcC8kBD2LiVV1VGWVNlLnElx2 +t50WRp1GwELN2F5ugpmyEaQLpFGeWtYZ2WnLzTy+2YfPOC0wXA8SIthE6m//hUt37d9Q/VmByWWP +qeOEL0Co5DwNY1tcjB/9TLNKBaBH6R8SAtxIlD6oWZUEdvYWNgPGsAKIJYLV7N8RIpNHT+CKcVfY +btuj1KFYvJZNVyOGl2MmHdpUwBAbTUO2YyS0JNJVuy5SkV5QIHPJDm5eTMcxIstq1rCSJ2rjB6Yc +VGTdQJ7WBUCneA43dNxpkgDco3hjofML5ewvuXrJq8h6KJkoi6dbMM9blFUBeCjX4NjdcyuX+z2Y +k0I0FG5mET7JHsYmIXh7WFjGVeQTiXGOs0ousjCkk1bBzkcWgioY7SQ45rQcKtwpz+04LCyqwKmq +vbBIYlITIbh2L4gTLTTPZp4DEhXLqCCymQWiypaMW4jWEOlWDfLUgm6yeXhaJKp8xehZzn7mopAt +9otBB2N8FnsKoak2i9HrGdYI69BcWmELop9W9djyz8V5VeWfKs6gS4Pm1CLgtQnZ2qoKr616FFF+ +J03Nm6HNNjmY8A2sW56nXH6AO/E9rNYOKwDrkhCsOeXkp64aMZ3FimqEOCzOBCaFvDSgaIlZFKrL +FAZwqGqL6BNQZ2Jsm1dIYiNbzaSrby5uTiHlSGutmVO5P02zVi4D8t96LamqfcHDVHkesNe3Vr4y +Q1Io+GE5K9mo0NJi/D6HoE6pClGpI8iYZ3inNUIzltu2w0z1FDPHkZg7hs0f9WYk5DSKauGsX9hw +nQblXyz7RE7Ri/HrFkWSxVM3PJjhz0A8tIgE4DQqqpeW/Jxbs7Bg2IWKe3ZSwcxR3B41/y/WPsVO +WU8jhOaA5lV4GaOUsIHpWh1tkurWTYve6l0Q7MdpglChVYhy1YRxce1dXMda266s+VOFq04jj8Ru +3tbOLnI1bQ7G/IQpdAkB1Lr97Swgt4W4Yk9AFaKMX61Eq4Fsu4BujbE7YjWUtxKfNqyf04q3EJzS +3aftH630+CnC47hMqEa767TirRaImQhOxUDMJjU1vVoNaz3MBBAm6yKiHWs4JN0lj7A44nKoPeVf +KbIxvG74mcUvhxdo9Ww7vfKtJ/dJd2gtYvEbljyLbpFRZCQlctYwitCxkTe7l7ycDeytQPRW8doe +tAG7VVJSZLtfPWmiQBisaWJXUKZsV8WnMl9EQchUQc6dNbFEoE5h32IaWVOp3eywD31/QvmhKrFt +vXRRZhuKVeDPC6n8e/BVaX0eimOqzOSsRtpt63G1stDTeIKJm6oSRiHd1WCkVNu6kwWOgjuCNqgN +crsi0UDNYGALb5XoM8FVHJ7dcY4+emx1IdcYQh7pYsqqWmg3XGXtZfuoihGyzqg8XB1RWmW6GKBC +4geRghmjKE3kutbNHMm9OjT1SprgFG+LTtotDsBWnbNq9eJKXlf7mliSV+WIjR2E6h1i0mR/6xVv +5qkpIfdo9L2iCNfFGD52JXqpi1yHGOVloIZCcGgGiq4aJ0sG3o+o2rStdWefTUH2AwkRpYir19Lj +rwqgH3QBJgyVmVH0pOoAphV053KBatQrHE60wOZBNg2HOqIZPLc8V4wuQR2AZ4d6vtzHQ6PKecZw +uaJrIcpkNyslldol7EBUVUhFpz8jNaqR1pIQ50hBbrTWeZrBRjxD8K2E9jCWAZKnwCtOW06jNfIW +6MOCjwioRzFkYx3QWzKw7ZqceAe8AKWJQLPAAw5rMlJk0JGmdJZoFKqqt1QNUFUPi9LHxT+NgkpJ +aWKo+Wa7xzloGBBaFGUfZHpIohCiE76waiOJm5zRe1XMPRJGxmXNxYU4PUGs3fHDZPoiaMuepzWL +Xu6G2lws+MNlDMGqmII/Ddu2n6T0xm0JUxO1e/mqgMOLwX2tm/qNLayh02QfUYx/Kb4qAIsqmHFL +TVel6YjX0SoRnVOb+TM7jXp+r53QHdFZ8dMByskk3FQZ6E1sahY7WLEHHiSjqs1cANTVmscLYw9U +3OpUfFxK5bwkva1YhZpIBcgpFWJhYZdclkm+RvPINS90RLL6CSZxKfwsQ1xvvmYw5CIVtK2mjsTH +o6J9kmyoMPEa4Z+bJUw+YjktEvoh7Cr1ta3e6YQdbcls2u9Rrb91O9rysdULmlneZioyw0Ru1Xwb +Jeav5JDuMEkF896i3QWB+Ay8Kssk0RWDVA4c9blSwy3CrUjUm0P8SmnJprhYv+XO2ifEazQsqnAm +dscEXFRWcbgr204LM37wDbS1aJOTGt0jnWXx96oNXMW5Yl/I6izFE4qlWy3PuXk9EhIZqAooUCKn +Cqwjz7NqYIqNiqiHLssbHY7u3hRRkL+1DOUqtMnJj6FMSj08pGQUYopMEgbJeTh2XWLRi07F+itX +ZWJI/Nhc3HxTBmagyaWgmTDajaKxsG1eO3RdnpQnRrgqBrNa5SJsV4I6sGTNbsaswApVl97TA9W4 +KihmvizgcFpNvUXvN2+EIpm6KoCyeQqBOl+FpjhT0b3VdZad2SxgI6kiNuSFFJNDop8qqtLPqKqi +WPUQwBMcLNdqIUDVs7JCLA9AiNsciNUaSezMEiWDq5cCUwize8GKoiVI6D6SYPPGXIQLg6iAKxFw +BlGBEK5kMarVykh1xyjJVNbzMoYta6vAelen8Wq2dxM4bPNevmicIkjBte4lfQkMBwRC1ZHX4pkg +yhA0dUkd4jLYVN285EIgXdXOtMC2emJUVo/kXhOiGA67A3RlvM/riELFzQMlegf18N0KUrEZs8Xd +EGNbtZGORoszOnXXCAcBRUgMGEoxYXvZLfcoFmKHZyc+SncYG/g51E8emEzUyOR6PDZzIRDaYEhi +/FOWjR/PUyFSnGirVBU36ltjtheXoHGRWBYGyRkWj9EnFW0F1s+0u1nCSJtuBXdM1w== + + + Ii0V4F8q5ZT2LsV2Az2FYmHFyZCYA7tl2JpRE9hirpHdXBXMUPm9VSxdUZgDDcyhIqOl9RpsldjK +9FIZWLPwnIpMmnGgSd0DwMhpoVbVl32cFoBq0fDCZNR+hfl7613KM7JOFoVzygWqFs+9n+yeWucS +qWINRdOcEVZqhFytA5+Qo3KMFBZtKoSL9AvQeVIOSLaIXi+nZxSRcifLMl8uUcZhOS1YjkSqzJTN +Stp7h47OC4FxHKFNvDwfQ+6QL3q64dDD5adKc9W1pbYfGt0o4FWSE1NRiUJq2TYv49nYIRT0477Q +U5Aek5VGNeap1NThOgSPb49ifdxgdQRS4Qq6KcF3uTqrSF1Vcrx5rQkaNGoDqH8+WG7YE5ZUaZ6c +BBYb15pb7oq/qF/Y177Ky7XslmoOjtpttHEtjiyrh1WgCwlWd2bgVB0FAUvdLcO3oFxW8epezc5U +3FTkNkdkLzaLKREfIPes6v3TqIFt/6Gcm0VxHbY5WPon0nRLdBiouYSqd7xLcl9kU6yoJDAT8kwF +sWoxa3tTqE61qvTcIThj91ytD+qDD6vZJWo4EJbmHnAOXn6vdLImK5HL05mBSMAVlWmpHWJrav6x +zZ79maozWh/2ZqgG2YSmonWVLwkOFg9JOEvF4pjqEqMBwb42mZyIwdIPZJWopFyI8jLQqvjjDsX6 +iiz2j0EaWso6twxSV/AQmzDZFsMLsEnXalxo7TWgmxoOHZ16sfOsFITL19VaxxZ8TEEftcj5q8KE +RUqRoGoulOM6HZ2XcLT6N7TpaenELIdFXJfbjOCJ1WB1B5vFeEmHml1BgDgK8jYBCIie4TLOOi4l +AwfMp2OzhJnpdKzT4tRZJjUZE/qnP7LkuhqfVjW7nTbNzX3gOBxO9d6RbxeEfHGtTnbYjCOxj6hz +6HB9JSIuUpqHB6nYjKt3T5IuFpDB0byLii8LzAA9AVp7dMvQVHQso3l2Wps9PdwqiLj3VpkgRPMx +5NHZ2tfHmlDV+KiWn/o2SkmbJbWpHhLtK1BhaFti9otbrZYgUBuXkDcpKLKG2suWxd+5qaHqAQpB +1eN7FouuofqMrPCySUWE+4zaX95bwCGLNyXo1tRXs8qqgapIFexWGmNBmNNtVo9MEIQxdXRaJE29 +wgCXXvaRPnh+SQYldfIGjAa6F/CY5lC/IsafMxz9XbC/f/SFBmQe497pcLurAe08cIpUIFDQT4uj +jf3CpbZyQqpyAC05eqEPS9abYlNHd+zWama+d3WygLRhb2oOOjQZTQcv4fMPiUiE9STgh+oiXYuA +sn9Ci9rYdMRhnSYRTtG1qrE7m0YRrn0tFtxb7TQVGiO43GeiIw2Dn5hO8SYjwbJSWVOLpe4Iq5do +8oRqDUsCyG1uztJXMWj0H1MHpso69NYRxUrbZvAk6u7C3lDxJSR3q4/OvlnwCdCecdlrGxSSj1eN +7MLu8B5MQZ1j1i2GMh9nWa3a4jcTui4RmGhftuYa3Sxn8EahLSEE1JvabHcrzSJOw4LeVDBna1cC +nUWjyrl04SafgIV8eWt0Cpox+tppIVxdM90K6FYDpBZ+LEJ09Upta/zWSeQ9tzVlPJDiceLtYK4c +jmlAO3FUpiGjXk0d2oup3CLPxEGEEWjrV8ghKqgOR3YRwoc6QXeL9Khgkp0G5D05Lr3+dqO0WkkE +L7A43Ixvaj0afi9DKVMIsezo79qEzAfYsKWMN/BM9vMwQTRgE3+9yIG4cJe5VpTIkcuegnHgU0h+ +Qv2FoFC0qsA8jSoM/D1cMuuLpzD5WmvT0rE5TrPASlOW06+plOhS5cAXAplWx/4C3pUi5zSX8bte +y2q8yf5Fka3yTgTTscml2HSMwv0IlvPeDRFU55Zkrtx+dxMls2qnKO/D8ECTQOlKwZWqNkJgZrmX +GeVRWAVqs3auULUVnjJgS0etktSM/GI8fUgsmIRSJOj7Vp6/d1OAany9bbo/qnxIwa9NXYsWflWZ +KAWpTdAQtssSOFMQjj1tLcYzb27TuKGS1KKxhfZQ9VKpp1PI2ZEHW72VxhF64jQLKl6ymhXYPKzL +1FIPWIJqyrgMw/mjx/vKKeBoi7NQySDsGrpsBQbRmmHKNK8ptTBhwIqQVj2sEU2NkIK6KsaXepJ1 +Bnpi2aIx7TAbh14BsWgjIK8hCj/xuVsylyrzxdNlpEiI8iATqfmpsvktaOLJoAAVtG1DorI5CgRx +us2imGYCLYZ+/vpiHz7jpFDm0vo5FquW13wguWV1EYuT7nKcvuzhtQVIVrlNh8dMI2C5qgToCB5h +QpjVQ50Wa9mj7B3JEjnDI6DrxN9Ixf9J8FnVMe4Xg77kxRijpyzoG9Ezu5QN1tDLjtOKgPAElMik +amc7wodAKpQpENlPggY0JDLLkJjXzXyhNFKSxD9g95BFQ4mmqg1x5QQexnHAmEuynXatvUYIUSlx +4tZnVGOSsiePsuqF1azueAfQ2Gbv2lYdc5ootWKzFNGpThFPRhRlIVBmK1RWCj1br3Z+BUlZQopG +1gz7uuSju5+HeTN5XET1N9Pz+m1l1r0eLoQ0DxGzttdZDILWNHKN5pStjjqyeYU5cCJ7tap9i2sJ +nkJPEAFe6tKPiHngsJXmTN7CAFFPqmDnmqLbW40os1JLEbnQihXmc3HLUAYPtSS801ImyVA50aWk +2VXlR1JFAH91sSAiA201ZSGx+eowL/04gl6nmmMPAf13AXGUlsHgkAptB8+VSkM1pQpwaLNOippo +i6fDD3OmVXNRZaTxIYKmyZkjRihNkbbmZUHSn5dlmJVlUQcP6KEKxWKGap3CYqaeWvJvRyhegrMq +gLKq8VUJByvNa+psq5aTEJ4AtUlbdK/ul3v2MAKpBxQT4XQ0SusSAxbOuvJp88xOy8uy0ZIKM2lP +sLQleOYvL5s3ZMvwDVXutVnDgILQx+I5m92TcG9d+Tm3ZxLHVjwJzzshbqshOn9swtOZZs/AZkNf +KjN8OU4UEiE9Kz1JCb26B5HW1SA95fLozOYNYbY7Rz1BnJnqWSy7nLi7Tr99NeMPM0hEZb0i/ark ++2q7Bm32lAlZDRxVL9QGAz3rBY97R+/AFzagB6jjRaBCo3qUu53kHChP8XVfLOlkz0q/0WmpPIXW +JFHMhNCNEYNR2LIaHF+6iJKqzwfAqkPNcES+7MSVvUC3NLanYpEoe9jLXNK1OZ0Jn6RaTK5YYKVL +yqAXTark0WLI3ZTXCLnoIrlj9NIKWOqn5qUiu0ceQYQZa4ZKKSURavVCSjXWlsA2OB2Odok0CBVy +934ANl1thiOgNGIIdLPAJAghPYQOCknsE/CKy3E71bju3z1kglwjZUhVivJr8q5VklSignXwt61g +sVmvzaKGc2Jz6u/YHAKrS0iSl0jgdOninek1cEFJYu8CL9gDW8AlMaAqJ+vHUTsvRFTb6XerO5LO +KxbgsjhQxLgJPCpLvwaoCgFKFb+sh4FUNqfQigCShw2rYxyQ3rHUdfUcLmENZXVbHXAYFYeuNrFW +aj/KEmn21duxNT8I9ofEXrJZP7mkYtEruyd7m0oSyijZLGFiZ6aUCBqDQZDb1sXqehD0l7adXWIP +S29snY5bDJEBRxYsqxSoljALqlzI1FZKfTWkHqpOzYKkdnxvpUtiChQ9Vx4HSpjy+sTUqPHtEnbu +7FNtkQ4BS8aKdfcodt6sHYBxVV1kSuxZ10AcjeOiIcCUaqA9bg5tm22Xgns8HDm/aGlR2+awoUVE +AHSkKle9O9xinGgd+FxOBTTEdE8nntR2q2Nsq2rWF26rOVCkj+PHjkx5GXwepqex1V3FP5ok3sEn +snrlKkOq8iypdkpgKLsdJM1SE3ZmSumEUZGhWX7k86xSlFZ9rEOqWPfcc4ovJaQCvAW6IqBct6ZN +h4aT6l1rJctDiwcSxe7bDjtOewJB4AsFrbdcrcx7jYhJVQmj9kNVPxu7rlDsKBJPYnqXsLe5q9Kl +ahWAREnBBLkD3lVbRQV1DX22+U3KHl26x+Uwu0I9Ot3YWZrF1axCv7k5RTuUioYU48IQA69UbdpU +CeFesDv41ZfucMh/FB5EHkfswqpKqrvOKZmUQUoFwyOAi9ILM8QCZs30PMXqdSsf3IE0N3DdjcEa +8ETlsO87GuwGaT4kYJXsznBmOEYOsyCs1MgPp+C3bpTaagopBRwrlbLqK2FvpVPo2leDTFd03wzh +w1WqpO3w47bqkiMkR0jOqG9xKC6rg1kswbwwnoJuJ/4hiZVdOFhvnKn2ROozVjtKOQ0Em4DHbvN8 +saEQ6KLOWlugQp9GCYYfZ5tESffIQwN0w+6j22YpzuJ8RUhUMW7HXZckNsmIsJ/9RFs5gIFeZN9H +STVssxrgOIfVXJiLeTnCRFGpnBqwSQ2SkQLKmBi5FYMATeRpMfBJ9M1gdBSS2nq4W6iO7nOUUKkR +pZkmPQRfZH7Q4jAMYDUTdxe0iBDraDTxhgbV9FTBzzlEoXfaCoyckm4AflnG+2J5A60CrKFDoVCD +AxRwM2GvPZwMVD51DUvHikVmXXBcCtMGhY8Po9B+NYHGVsDqUfIrjJh7OYFUJcArVAytuURZBMN6 ++jZxCKF9yxoa1fNJuNlRjWKiw6lbmmhu7wtznajolNBg/Q5VbHAWxWuBEKnrOmRkN77YqAgWHIGb +tzTvkPdmdwnYQK6hwjiPUiWHypm1k1mjmWNwm+tqv80vO7wOz48hIHKWQANyRSKJCFXShXTheTmQ +zVEsFoMNvgogjVV1W9AS7FGKVG3U8igGiEQw+5oUZQgCESmH8bBsq4p1iVwdKH/KJmSIRP7Amsz6 +qwlcabNWpnZ4U/RlmAJ40JggalWLwiVXfMiIa0mw6hhF/fWbuCW9a1fCaB+2OumBkaV0Lk6soAbH +Yl69ec4hsS/tyjcP44OqOoxKIln2IdGAJPS4C4EfUBxYlwc1rVgbIL3MQKSVDilKUZECgCG0kOsl +mCSLjJ7uFFK0csWWQcxas2bxTKrCriofS+8nJAG1GsFasSUoICD8mMu8ti28EfLZ7Jx77WVACA3p +oToAHMTQqx+lOdMsBaa2gcSqb64OyFsSPkXA7q38mMr4mtcqV4vHxJdTUGCTytG4VYsNK58Uvxmp +iMC6iETzpXK0yzfaLZRc8XqnrXdQbVZsc6VQNZIY3SjyrQy/L9NnEZCSMPqAiCEJr47QJ4YW+mxX +b8rVc1WaVk2tPH7UvfJVm8o2UqT1Vuvo01tsUZdG3eluQjkYl3UeE98kNqizxCvajMEqzpKTqR4U +mt3ABFhshKxXTM3/vFob/MRz99O2H3urt6hGlh8LLzp/H4MHJGHrkKyq1VRa0lSVImzqVXaB7WVe +yB4HASNL7B0UBdXp4LpT3bF5/YW2MtUCav15uo/CP/wEYW2uFuSVYYaJdDrnKUdJLzbDnVOAUjYJ +H3LzyiRaTiQ4esham3Ae1byQU8mQs3ZB8zINOy2E1ZpcVAdDOU5zoBHdTX09t00wRA== + + + j63fKypsia8Ks9YhxiVQt8Y6ZLkRMkq87lYMtsOhVfYIXavmimQ5RlGEf4VC2bxFTxVDp+IOkZML +AeAZ0TmfwtNxMCKHBLAfW9sm2LFBYKcVU7v9qMUKAchtCWAVnh817RV7eX00hN7fJsy9n/q1hO+t +oAV9O1h9uxK3cifzt/DwI0xustVpiyh9k1GQmKgoB2VOltxHyd4vsvM9emgVCSa4+to3X8OFQMCq +yY4otBrvnUYGz0BjoB43J8ZtzctXt+ZBWoqbBQZQPEnH2qR2TB1kdcswlzQtQVJwRtRVCsxlM6AW +FQuVzchz8ILVO71aqS9xUTYRyncu4p0hiJCkLCOX0RNiiIrkhMVqcwYU42qBEp2WUp4XUlv6Xxys +brfKcjoqxT0g6sDqlU/qGyqOEEZkDd6+S40EmzdqvyPEnzP+rJqh76wb+iMvtojicyYwW4xjdP8+ +ar8/lCrw08f9h59980tjdPv2P4p97N/9+tt//NV3kAu+yps+F/3YoyoKZuMXGxnCiY0MwcRGVgS9 +O7ORFcydiY2sWOZqYCODtPvNRgZF8cxGJsnERmbHzGxkutrERoZkZiND8mYjK/CGTGxkRayaIxuZ +OIsfbGQFd1UP4WxktwaY2ciK8llPNrKSKHvBRlboG5/YyADPebORIZ3ZyJDspQ1sZEjuYXiwkUk6 +sZFJsrWBjUzXamViIyuJbRZsZPCR3y5cspGRNX6yka3nMbGREWab2cgGycB9NUidjQxMIjh4O8sY +Aag3G9lt2D7YyHiumY1sFQXy8WAjk3QtAxuZJBMbGZI3GxnSiY0MwcxGhuTe0R9sZJaiH9nIAJya +2Mi6YGAjS2GwkfHWMxsZYbc3G5lhVI5sZKvaG0c2si6ZvkhKjY2MYN/MRsa3frORAWgxs5EJu+Kc +ycgkm8jIJJnIyBSSXYTTNpCRSXpcAxkZkpmMzOoUnmRkILXMZGSrorojGRlhzxcZWVkDcCaksMVP +ZGRowhcZmYQjGRmCe8A6GdlL78aGabVQsNi/ycgqbegTGVktdSYjq0L9nMjIalRJJxmZJBMZWVUp +8ZOMrFK+MpGRIZnJyJC8ycgq1vxERlbL+SAjq7eifZORVUFjDWRkVd1kIxlZreVFRibZREYmyURG +huRNRlbVMzGSkSGZyciQvMnIajkeZGRVaEEDGdn7O37w71wpQn+SkSGcyMh01EhGhuBFRoZwIiND +MJGR3dr6TUZWRLHWyciKihEHMrIisL4HGVmhwmMkI2NPnMjICvxe6z6TkSFcr7OTkUkwkpGVurzJ +yBDeblsnI0MwkZFJ8CQjK6IkOjoZWSF7OJKRFap1HmRkBfTBdetkZMWQcjsZWQpGMrIu9OxYCUah +oBnTan+SkaFKJjKyIsaavZORdUEnI0uZk5HpPUYyskJJ05OMrNRtJiOToG6djEynPcnIijrhBzKy +Iq6QTkbG7xcZWallJiMrqtUcyMi6YCAjS2GQkXHxiYwMG+1FRlYAGRrJyApR65GMLAUjGVkKg4ys +CFptICMr2/EmIyuKkQ9kZIW64pGMrOACPcnICsH+kYzsniczGVm52puMDOFERlbYLkYysrosbzIy +hBMZGYKJjKwK/vhBRoZwIiOTYCQjk+BBRlaUYhjIyFArExnZS9XFXkcZy4uMjPTkREZGrc5ERgYQ +0IuMDOFERib8oJGMTChDTzIyCUcyMp02kpHpwk8yMjzliYwMr3wiIyPv+iIj41UmMjJOm8jI5Ek/ +ycjkgY9kZOaSJxmZfj7JyCQcycgkGMnIdK8HGRlvO5GR8cgTGVkKBjKylAUZGSGCmYysAjLyIiOr +2ihHMrJKf+JIRlbr8SYj46iJjEy8tBMZmSiMX2Rk4pydyMgYhYmMLAUjGVkKg4xM4CkjGVkNZNeR +jKzWayYjq+SURzKyFIxkZF3oZGQVX3QkI4Mi+EVGxiNMZGR1W2cyMmGTPMnIJBzJyCQYycjqVt5k +ZAgnMjIEExlZVb3ag4yMZ5rIyMRiPJKR2aR4kJHVts1kZEaSPJCRdcHAWtSFHvmuanXsZGTc/UVG +xtyZyMhEXjySkaVgJCNLYZCRVbVkDGRk4oh+kpHxtUcyMoz6TkaWv0YyshQGGRnXmMjIYPl+kZFV +/P6RjIzlMJGRGSjOREYm7JyRjAzBREZWj/ImI1N4cSQjQzCRkemIBxkZYcqJjKyq4XMgIwPd5klG +BvzSREaGfp7IyLpgICPrQicjQ/tNZGTc7EVGpicYycgQjGRkAuB5kpGZcCAj01kjGZm92YOMjH1k +IiNjf5zIyLpgICNLYZCRVfnAIxmZQABfZGT6ABMZmQCfRjIyAJ9eZGTCShrJyFj8ExlZJUL2JCOT +gzSSkeGpTGRkKZiWdQiDjKxSyTKSkdV1e5OR1eWYycjqUmcyshrsuiMZGVbXSEZWFHeYychuZ2Ai +I7tt6JmMDEPxSUYm2UhGZoKBjMwEDzIyhBMZmQQjGZkETzKye/ueycgQjGRk/H6SkRV090hGVkBB +GsnI8GNeZGQl4J6CjAzBREYm9+dJRoZwIiMzwUBGptOIpIxkZAXowJGMrAgubCAjI+D7IiPDdRjJ +yIhXT2RkKRjJyFKYZGSM20xGVo71TUZWhIg7kpEVaucnMrL7cT5BRoZ0JiNDMpORFfUJPMnIkE5k +ZAhGMjId8CIjK0JrG8nIiiD6RzKyQifli4wM6UxGhmQmI7t3+0+QkUk6kZHpzJGMTBd/kZHxChMZ +WWH+TmRkXTKSkaU0yMiKtqiBjKyc7U1GVq46k5GhNCYyshRMZGRdGmRkRUTqA/VYoW7gRUZWKEKY +yMhsBEcysi4ZycgGqZORlah7dTIyvcyLjEzSiYwMyUxGhuRNRoZ0JiOTZCIjk+RFRoZ0IiPjUScy +snK2NxlZKuM8CsU0kpGlYCIj69IgI7PLj2Rk+LtvMjLCsDMZmWKNExkZkcAXGRkBw5GMTIHGkYws +BRMZWZcaGVmFYHckIyOY8CYjQzqTkSGZychK4lmNZGRIZzIySSYyMp35IiMrV3mQkTGEMxlZl4xk +ZF0aZGSshZmMrBzHm4zMNtqRjIwYzUxGNkiSjKzLgkqoqI59JCNDDb7JyDTjJjIyltlERlZkyz/J +yJDOZGSSTGRkOvNFRibpREZWBGw+kpEheZOR8WgzGVkhmzaRkQ2SgYysS4OMrBz7g4yMYNebjKxs +x4OMjKDxREZW8NdfZGRFyI0jGRnWxkxGRhDwRUZW2v4gIyutPcjISuKej2RkpRwPMjJSujMZ2SAZ +yMi6NMjIiqWhOhkZt3yRkSmHPJGRITmWZSAjk+RFRibpREama01kZHrLFxkZwfaZjIyw+b4uAxnZ +IOlkZIPQyMiKki+dZoz485OMrFBzNJGRlXrNZGSlnp8gI0P6JiMrBr9aOhmZrMuJjGyQDGRkXRpk +ZIXA6URGhlJ5k5GxV89kZDgUMxlZl4xkZF0aZGTo65mMjIjoi4yMfNhMRkb0aCIjI3jxJiMjGDaT +kXHim4yMEMpMRgaW7UxGBi7tm4xMTY8TGZkhC41kZCkZychS6GRk6gcayMiEU/wkI1O740hGRjPi +REb2ChxHRPl7ychqdBdOZGR13R5kZDpuIiOrqj99kpFV2tMnMjLc3JmMjHF/k5FJOpGRIZnJyJC8 +ycj0HScyMiQTGZmiZS8yMqbPREZWyWJMZGREW99kZMTsZjKyupcHGVndr0+QkREIHsnIiNTMZGQE +ON5kZEgnMjIdNpKRIXiTkUk6kZEpgDKRkSF5k5EpqzCRkVmB3EBGVvnLi4xM3AkjGRlhpZmMTO3G +TzIywdxPZGQ0L09kZFUZ2ScZGd3MMxmZ3mgkI2OYX2RkCCcyMgQzGZlwzF9kZAqvTWRkkkxkZJK8 +yMiQzmRk6qieyMgYnDcZGQGsiYxMFAwTGRm8m28yMvoeZzIy8TRMZGSM64uMjHjYTEYGuvZERoZ2 +fJORVXWMj2RkhMzeZGRIZzIyVtFMRlaFePgkI0M6k5FJMpGRSfIiI1OaYiQj4yFmMjJOfJOR3dr+ +QUZWVcc8kpGhEl9kZKYnBzIyqdKJjOythEN/fz4yMssXPMjI0GMjGVkNdowgI6tHe5GRIZvIyBBM +ZGQSPMnIJBzIyOygTkbG7xcZmZToSEZWFU4cyMiqAB0fZGTo8YmMTJvQSEaGXn+RkUnZj2RkVZXA +AxmZBE8yMoQTGZkEIxmZTnuSkWGmTGRktdWZjOz1zT58xmmB4fomI0O6H9tARiYDt7WBjAxJO48H +GZmkskqDjEwSVYcGGZmutR/XTEYmY3giI6OCZCIjI375JiMrSkuNZGR4ORMZGYUvwg6byMiQru0a +yMhUIDORkemYZZvJyEo5H2RkusFyDmRkSOp6PcjIKN6YycjMcRvJyIi/vsnIKMSYyciIZk9kZEU4 +zU8yMkLwMxlZicR4kpFh7b/JyHCdZzIyhTsnMjIFTl9kZEQIZjKykjTGQUZWxIHyJCNT3GIiI0My +k5FJ8iIjQzqTkUkykJHZlZ5kZDzZTEbGiE1kZIozvMjIiPXMZGSKIo5kZEWkKg8yMs6byMj4HjMZ +GSHYNxkZYYWZjEyTYiQjIy/xJiMrJDgnMjLCPDMZGRd/k5Exx2YyMq41k5EVcsUvMjKeZCYjU2hp +JCPjlm8yMklHMjIJJjIyJC8ysrLXmYzMhmskI0PyJiPjSWcysiLMjYGM7K0lP+fWjL31IiMr4mCu +nYwMA2YkI+OAFxmZhCMZGQIVtwcZGYKdcOFIRobwBAgvyMgkGMnIEFzLdUxkZEUs4AMZWRFHU0sy +soIpdK0zGZnKh0cyMqoQt40YqJGREZZ5kZEhHMnIiqB/BzIyCa5yTWRkCIVrGWRkCIQmGmRkElBK +OZKREb5Zt/VKMjI2p4mMjHTXi4wMtTeRkVE7OpGRUbr2JCMj3TGRkREunsjIipy1BxkZymYkIyvX +OpORSRs9ychImkxkZEqtDWRkpARfZGSKQI1kZAU+sGVPMjI+4YuMTIG/kYysqDh2ICMjQPkiI1MX +ykBGRtx0IiNjw3+RkXHWREaGWprIyBRcfZKRIZzIyHikiYxMgicZWQlImiAjs9MGMjIu/CIjK8Fq +HWRkRUHkJCMr6oN5kJFJv45kZEX02QMZWRG1zoOMDCVWWdNBRqZy21tjJxkZkxoFPpCRKUY5kpEV +kRPsnYyMR3yRkbEpTGRkpHAnMjJSvy8yMlUHjGRknDaRkWELvcjIeO6JjKyIvrV0MjI06pOMDDd3 +IiOT2h3JyEpZ32RkEo5kZBLsaycjK6rw3mYyMoQTGRnPOJGRITj9rHB0aJOayMhWgSQsSUamHqMn +GZkszJGMbFU9bOtkZARhXmRk8tZHMjK84YmMDM99qWUmI5PwuDoZGYJCnD7IyBDI9B3JyIqwujsZ +Gb/vJ+pkZCaYych0Urk6GVkRlVbtZGRqUdqOmYyMWMhIRoYdd+J9BxnZqjTdTEZGLA== + + + ZiIjK6q1HMjIFEJ4kpFZr1gnI2NUJzKyoszwg4xMkY1tGcjISgKUBhkZdsmbjExp/ZGMrBBMGsnI +ilC2H2RkbCEzGZmSbBMZmVnCTzKyEsx2SUaGHf0mI+PsmYyM5T2TkZXj+gQZ2SzVgj6i3cXJyEpU +ZU1kZJJOZGSSTGRkSN5kZEhnMrKiCueRjAzJm4yMDXQmI1PGfyIjYwN/k5FJOpGRIZnIyBC8yMgQ +zmRkyiePZGQI3mRkGBYzGRmSmYwMg+RNRlbE0TKQkZH4mcjIqBl7kZGp72oiIyNJP5OR1do+QUZG +amYmIxvSA05GRjHzm4ysin5mJCOTZCIj05kvMjKkMxkZkoGMjJ9vMjKKVWcyMsV1JjKySkPIi4wM +6UxGVkXrM5KRIXmRkSGcyMg0iBMZmSRPMrKqrOdARkYybSYjq2JDncnIVEY4kZExS2YyMpUhvMjI +imLwIxkZZ85kZFXttg8ysmr4UZ2MjNa7mYysrtcnyMhqWR5kZJw5k5FVSOVeZGQVDK+JjIz3nsnI +qJ98kZEhnMnITDKQkU3nJRmZpBMZGZKZjAzJm4ysBj5TkpHVJYhrgoyMJfomI1Mp50RGpqeYyMiq +KHCfZGRqRBzJyFR+P5GR0ZX4JCNDB0xkZOiciYyMcrUXGZn8kpGMrETDS5CRVQcDG8nIpHAGMjLW +5khGpraJFxmZpBMZGZKZjKwKiPNJRqYGi4mMzLLMIxmZJC8yMiruJzIyiuAnMjLlDp9kZBYuH8jI +1PYzkpGRL3uTkQm1cSIj62C/TkYm4vAXGRnJvJmMjOD7TEZmLLZPMjIjvB3JyBTLH8nIuOWbjEzl +5RMZmdptJjIyYzl/kpEpuzaRkUkykZHpzBcZGYiQExmZqvdHMrIaLCwjGVnd6oOMzJpLRjIysilv +MjKdOZGRVYXqBjIyOIXfZGQ8x0xGVmWmjWRkSie/yMiqWKJGMjIaOGYyMlofXmRkKlqfyMh4iJmM +jAaENxlZFTvKSEbGQI9kZGq3epGRWefWQEaGYCYjQ/ImI0M6kpGpIWkiI5PkRUamnPVERmY5rpGM +TP0bTzIy3nsmI2M1TGRkpEPfZGRJo5xkZFxqIiPjEd5kZCadychIrs9kZEzzmYxMvXcvMjKywzMZ +mfB8JzIyccY/ychIF09kZPqyIxkZ8/dFRsZqmMjIqqbeQEaGzn6RkanGZyAjo0Z0IiNjT3+SkVFR +NJGRVenkBxkZpsZERkbedSIj44gXGRkG70RGVpSCH8jIKJR8kpGVbZ3JyAjCTGRk6hV+kJGRO5rI +yBRiGMjIXhHjzxmO/pcjI1OBwIuMTAUCExmZygFGMjIJXmRkVc3MAxkZk3EiI6OB8EVGhnAiI5Ng +JCOzIx5kZLrWSEaGYCIjQ/AiI6vtCjKyup0zGRlq90VGhvqfyMhY+hMZGXVgLzIy9v+JjIxSkomM +jBX+IiNTfclARqaqkZGMDMGLjEzCkYxMgpGMTNd5kpEBTD+RkVHiNpKRNXpLnmRkwgcTDGQcJZ9g +72RkXTBwYnWhk5EJDB6X1onGBLm/9992r8XQiOIYGqxGMjLBPj/IyCQbycgkGMnIELzIyBBOZGQN +EKWRjKzJEJ/JyMCnHsnIwPYfycj674GMLIVBRgZwOujZQUYGxrtCCSMZmXDeLfxgQmDZFZgOMrIU +TAMfwiAjMwz7kmRkDLzqnQcyMiHpU9kTbGTA3MtCGNnIJKTFP+jIJMAYczoyfmtfGejIJFvXpCMT +9QIucdCRIZAJMdKRMVsUzQk6Mj7XREcmdoYnHRm78kRHJrtgpCNTY+GLjkzSiY4MyUxH9lafv3db ++JPoyBT+etKRFaXFBzoyQmcTHZk2yycdmdJaIx2ZBCMdmU570pEhHOnIFNoc6cjUnvSkI1MccKQj +o5ZhoiOjCOJFRwZExURHphazkY5MTWFPOjIJRzoyCUY6MpVIPOjISJIMdGRqlxvoyJRDedKRUTww +0pEx9BMd2euLffiMk0K5yxcdGZ2hMx2ZjpvoyJC86cgknejIFMSc6MiKzNInHRkhkpmOrBIZmejI +wF9605GpJXeiI6viPR/pyPAF3nRkkk50ZFVYyCMdGZI3HZm6xyc6MjmgEx1ZDQjsiY5MDvpER4Yz +MNOR4ZK86ciqkDxHOjLK6CY6shSMdGRd6Pl6NfRPdGR1z8DvQEdWlRMZ6chUyDfQkdnvBx1ZCoOO +zF5npCNDab7pyCSd6MgkmejIkLzpyOSyTXRkdT9mOjIhhb7oyKpW7EhHhi8+05ENkqF2okuDjoxb +znRkDPSbjkzIEBMdmcJeIx1ZF4x0ZF0adGSqNZzoyGoLTPeRjowzZzoyxdAmOrKqaMSTjowQ4URH +Rnh2piMjEPumI1N4dqIjkwc20ZEpK/GiI5N0oiNDMtORIXnTkSmEOtGRSTLRkdkxTzoyQsczHRmB +15mO7K0rP+f2TOr4TUdGifZER1bW40FHRsPWm44M6UxHVmQ6jXRkpdRP0JFJOtKR6cSJjkwXf9GR +Wfp9oCMr6hsf6ciKqJ+edGR4wzMdGbn1mY6sJIXiSEemspWJjkySiY7MSluedGSSTnRkkox0ZLrl +i46MypmZjoxPMtORdclIR2bSkY6smOEdZGPUyz7oyFTN0+nIBMs10pFRaPimIxMkwkRHphq5gY6M +EpQXHVmiEuRR5XjQkZlkpiNLWdCRqS5loiOj4udNR2YliyMdGUbVTEfWJSMd2SB1OrKyBzBo0IxR +W/mmIysWgDrH49YHHZkqj550ZBJOdGSSTHRkSF50ZEUR0JGOrCi2OdKRIXnTkSn4NNKRCRRuoiOz ++fGkIytCsB7pyBiMmY5skAwMRIPU6chUkTrRkVE696YjU5PrREcmvMCRjiwFIx1ZCoOOjMtPdGTM +5jcdGVNgpiPDQ5jpyLpkpCMz6UhHRunDTEdW1Pf2pCOj1numIyvREpB0ZMJ7fNGRCfBxpCMTvuNE +R6ae1BcdGdKZjgzJTEemY150ZKW2Bx2ZKvknOrJStk/QkaHiZjoyFWhNdGSDZKAjG6SiI+NKMx0Z +d3zTkek5JjoyJDMdmSQvOjKTjnRkkkx0ZPaWTzqyIrjYkY6MzXamIxskAx1ZlwYdWVEwYaQjK2K/ +eNKR6ZtMdGQGtDvSkVHC96YjY5nMdGRCLJ3oyNgd3nRk8h8nOjKqQ2Y6si6ZlEFKg46sXNuPZzoy +a6d/0pEZtNBIRwZ84khHRv77TUdmSEYjHVlkiCc6MozSmY6sCsBhpCOjV+hNR2bSkY7MJCMdmUme +dGQYzDMdmSQTHZkkLzoypaIHOjJ+z3RkmOdPOjKKV2Y6srodDzoy4Zy96MiQznRkSGY6Mrl2Tzoy +oQhOdGSTRJ3mOvFFR0b8fqIjowV7pCMjSv6kI8MPmunIkMx0ZF0y0pGZdKAjY0gnOjKBizzpyFTV +M9CR1dpmOjJAmV90ZAgnOjJBN490ZHRLP+nIkE10ZAgmOjId8aQjE+TKSEdG4myiI6Ng5kVHhnCi +I0Mw0ZEheNGRSTjQkemskY5M133SkVW5rQMdGQ13Ex2ZBE86sjwq6ciqdrKkGhPm9oOOrBJpH+jI +UBszHVlKRjqyFAYdGf7dREcm9IInHRmFNBMdmQZopCNLwUhH1oVOR0bkaqIjq5FBGOjIJBvpyOq6 +THRkeNAPOjJEEx2ZBAMdmX4/6ci48ERHxvPNdGR1PT9BR5bKNw8DKGGiI0vJSEeWwqAjs8t3OrKq +eo+ZjoyyoomOzEKunY6MKPWbjoww8ExHprDrREeWkpGOzIQDHZmqOUc6stvsetORIZzoyBCMdGT6 +/aQjQzjRkUkw0pFVUSw+6Mj4ciMdWV3qREcWvwc6shAFHZnS5SMdWcUCe9KRaf8c6chUJTnQkfXf +Ax1ZCqMTqAqObaAjQ5+96Mg0rUY6Mlb+REdGoPdFR4ZwoiOTYKAj01lPOjIJRzoyBBMdGYIXHRmP +1OnI1No90JH13wMdmQkHOjJVaw50ZIqwPenIqKcY6cgEJDvSkVW1Bj7oyATlOtKRYRxMdGTEHl90 +ZHU7JjoyBShHOjLVJj3pyAhZT3RkYApMdGQpGOnIutDpyFQJM9KR6W4POjKlx0c6MgQTHZkETzoy +CUc6Ml1noCPLqquRjuz/Y+9PkmVHki1LdCo2giRIgart3T+LN4cc/z97MbMIs+JRBFGQBUU2ouV+ +twF6VFFIwcVeCv8WHBk1QxlHtoWEI9ui48hG5JACNKZo8wdHRhVWxpEp7F5wZIPKgh8cGeIvjkyf +VXBkrPoSjmz9O+HIQgsc2aBXI+PINDgkHBlVquDItM4vODITfnBkSwwcGc5/GUemncEHR9bvq+LI +VIpTcGT0kP3iyBQYKDgy+kp/cGRqbSo4MoW+Mo5MBTwfHJlCkhlHpq6QgiNbQsGRbTVwZJhnFByZ +eiq/ODI6hzKO7G+3+YMj+0aI/8348//Fkf3vw5Hdw2qiM41MJUwaKUNTfd1r5BySZrdb5ycU2e0l +IYtE9ng90wKRvW6rVjhkoidDYgoMGThlLeuCQsYR480QspeOi40ge70dZxHIWOteTwWQPbKr98Yi +gh4yEeqE5LyWFn+C96z8sQvP3Gvzx87L6r8DPza9HqLQx8xVb2z4GIyPdm/2mJZF870qemzcNiAu +8pjmcC1pgzumct777BU7JrHfY1PHJJzj3tAxfcxsV2aOTY+ELuSY0lKKeTlNTBYTCvAk4Jg2XMf7 +LN7YaSvYjRtbQmZbLXHBxlSs/G6GmOoP+w9pTCsbPTzrmMcCMQszpv6C666QMWnqVl6MMain89mI +MRFOe78rYUwVQthwBGGsX7Z7XYAxPSDjapUv1t1eaeHFtP46I9+ph3oLCS+2xMCL9dN6VzY1zG3A +ClxMTiHtTAyyY0PFjnrFj4URO+JdiuY6r4+oELGLoO9GiKni5z1/GGLdbNU3QqzHyxMEMRVSth9+ +mNqc3c7B8GHDwhSbHjbMqrvCw14rhVrssB5suWCCjW4teQUdRmxeD3mIsi4577nAYeofX8OWY3ru +YS2SgQ3DB+e+FzXsd3iMac0qlvR6YxFfoGHcDS58QMNIbb9tLmgYT5LKNBM1DE1BvkUNs+etP5sa +Zk9yn5Uapgeegt9FDbP3Yj6bGkaG8eh3pYbRq6fl7qKGqVCFZN2ihmE+ddyWyFzUMPKhx3lubBhP +9NnvjQ1T7oxiwswNQ+RzgxuGMtvGhkmw65axYVK5JwsbJoXExsKGUaAz/cNXskppcvatCxvW8PU5 +z80N+97K/8St1jKWPG/ihkm0wLxzwzhK9yq4YRLMKnhjw7AOJ4ns4IllNhTYMBpcbcBbDgkNFlrC +hjWKBufigWmdx9uYqWGKE6kNJjRltekxd2YY3RaypEvIMFmXyZc5iGFYmWkz5MAwWQu8T8GFKU+q +ITFoYYTttelzWBjrQTXBJASBivnlghuoMCX2FJ8JUth1RyxoRaRkDEibiXPC8OE5+g== + + + ovjEvzMlbGmeszLQz1z0L73bmg0yIux6jUoQmiyD5GgdgLD1780HC8nxYPryb1twMNUXAVNObLAr +DDwdDaZ/ews5rWY6R180g8EubxMN6NXlrifBBVOniN78jAXjhVGFrVPBZOoki4+Agq1/JyZYaIEE +02aR1jhnfd1xYRIQTF1l6icNTWbjWrMFDiz+nWlgoQUMTI3IFCI7C+yll6SQwCg9FzfGQWAKLA4z +HrB/e1QiY8AUi21NyzbfodORqU1oYMCw9NRonTFg5BS0/AkMGPOcCsADA6ZZxljbCQMmkTsanm8S +xEdZGLCG8fBdKGDSaHMKChiC3t2ggCGAJE/2mY3Q/rgWBkzjBHHOwIB9Rq6YvVQ+Ql1kxoApLYgL +RWDAVCNDCCUwYLLgoR0nY8AkNvWhBwYM5x56/h0Dhr+Pec1sDBiiDXTWvq+zug2NuOzxuRo4MwVM +G1Ssz4MCps2w1Tg6BUzpTgvcJQpYpy/xXhAwXChlhboog4fbLmQIGPte7dUDAoagjEVgwBB0fsaA +IS4GGP+igN0ZYAjaISUGmH4r26dggOkLc4WDAbaExABbWjDAtC9/WPEE20t5VdtRZAaYcsiM7/s4 +5aIOWlIdAqZCqa6AWoaA6TAahwMCBg+WGTjgXpCDb/orEwSsRZvmUnUZeLYDAraEDAFbYkDAMC2h +WdXxXg1HVZyad7xeHmnWwRpHKWc1x2KAxb8zAmxpTgCjbEInB9urMfadTyGA6e8TMFxHPdZWFs7Z ++IE02zguABgic5EDwEAwv4YJI+fTcIDrvQDAJLIzDwCYBN6DAIBJYHzOADAcXbtxLwGAAQ7WYx5o +L3sizlkAYKpQPp90EFji6138ry0kUNAWPdTM4lWDTKC99NfpxssAMD03rFPWUa/bAQQAbAkZALbE +AIDBJNBSMNherGzlTJT4X7rVLF7XQboPulsAwNa/MgBsiQEA04eYHZOjvSgsweh91w/i3zu31nBS +mWPhv8y7RmnRzf/CrqZZy4xv3E438HT+lwSWEJn/RTxPRYTB/5KAT3PwvziCVHmyCDuaGeEG/0tW +PfjQBdpLhjLkdzMADGdf9TSvg85YjLol3xIS/2uLzv/SyHdbv4X5d7bDDPwy/qvT/kLBig1OCEbw +xoMJyxuGu03/Mg3iuvNndRKoJqd/2e/SZJLoX5o/mG6C/qVpkZVJ0L+2kOhfSwz6V2cX+/eqrvg1 +rnsq7i70Ly6/Yq9LxWGJ0gNfQ7y+g8jwL7yJtD4L+JdefIbywHqJPsEHZ/gXuxwtINZRsvzrbnrE +njOE8k6HGPAvive0VA34l3ZNDFMZ/kWps5YZAf9q+NiaOT3L7AbN9n4L/IvogK6Eg70w/DhGy/Av +DBD0isQxx2Gx/4B/vadlpBL7C+m+F/qLf5/PIn+9DunK4C/lqpWuC+7XG0t0x37p37RYJurX658X +0C/MV987mF/ydWWntJFfMYEH8Qtn0/dewK/L96aZ92WGSov2dXk3VMC+tJHRQ5NZX5evZwL1dXmc +IUhfOkdPXgZ93R6YDc6XpjvtQQPzhfPU36iRKV+Pe3wH5UuTnV7bgHzFvzPjK7SF+HrjwQ7CF3gj +Ig4Z8aUbz752Ib60xDgjQGxP69+wx7tYEF9SbTYMxBe2V9MrtWwlTu29F+Aui2+p1HkH4gtbCr6a +M744Il6nZZpErcKgwNcZX7hhXW5DDOOLYpKzV8RXow01Eb4kWBwoCF8qVGL5XQhfqMM/zq5iO2NH +Y3lWPptFYyZ86QfYOOyEr/fdbC9aBRPVS3UQ7rndmHL+rlyQunD2mq3gvHCH6ZvmpVFAG/0oXIl/ +F5bXEgPl1cCQO3MM1wZ9VzOpyywvPUDv4ybRdpyuCgGqYHltJbO8kuosLzndMBM5y4tf0mioTCwv +VG2EF8tLikXfguUlZR5PrywvchHEeYPlZdkJf/xheaFocVtYXlK1rgiUF4a5lNU7pKtR1fFcBeW1 +htZ1lDyCyKE4ymsJBeW11UB52cdfCdylh7ytHXYU1tPTM3s+TuG/4b4qKzrH9izbNiiIpyihk7yI +/anGL0heSygkr60aycvigoCSjOSF4ZdmxELyooaU+xUkLwy/7jiOO2hmUL2SvPDzsrHBSV5m9Hu/ +m+Rl5mH0XiWSl4Y1QkWL5EX9qeWanOS1lUzy2mqQvPQmjDE3oUtvDVViheRls6ZGj1CFeen35nit +fy+KVyhB4FEPJeNIoLl0G0kBF4QXTxr5t3WcKtrUBbYYXryOtmZPDC+pviFzhhfK6VQvAiWcefhG +djG87PW+5mZ4SSGstRhemBi9wfkKhpe+m58ZQ7bipiSTguGVlMTw2mowvGRpZTNZsLlej74UhNd7 +GJRgic80+5UAeGmrTWA587vUkUuiMfBddyQ9gt4lOxctzDK8C+7G+89Cd2lje7RrE7nwCCcvm8Bd +WBCeY4vhhbKwXVtI1K4lBrRLmQOtvxe0Sxup97LOmuiEUN6VgTWQXSru1YZjEbsuN8UqwC6JXKTg +dcGdOBzOxSrMt+GF1oWJ4fX8s2BdqqALI3WSDlvYqK6tGalLAxnPcUC4MLPMAiuqwwbmJQJ3zqiu +2+OkhdQlQ14S4RnURU3tYS8f0YYr0j2B6dpConQtMSBdj8fuVkcAlneTyvzUI6AxzTIQ67gZ+flg +dG0lM7q2GowuPTQ4LC9Gl54rvzKb0UUKmAhWMLoU3MFdaEG68OA3vEOCdDGIMD4HpEtnYqZfIF0K +c1CpvSBd6iRhp7XgWwCDzrcyunrsLPdhGO6wDPIQ/1Iyo2uJzuiiSUajrTO6sO/VN8qMLnoAVZ4Z +jC516FGWF4yuT1Q3wr3/U0YXuzetqAujq80I5QWji+MG3XPO6MLRlBE4M7p4+m7asJzRpXGUt20x +unTZrfYjM7pQZ9uILtrkFUFZiC4p7BULoou7yHAZiC4p5IoC0UU8y9cji9ClZ4c15kJ0CYLR+r0J +XX/z0z8FzqV4GgHxBedSGz1plwXnEokKW/YC51KE1gKQBudSFIU44IJzKf5AEKfAuaRa9YTDuTjs +cTYGZpgq7SVJnuFcqJgleMc14Q1LFTubSwox3cLmItTP6BpsLqsWu67F5uqHdz0WNhcoAWb1gHMp +5sOGd8G5aL6lKTHBubB911McbC518lLSGWyuTtrzfCubS629VooQbC5+kQVVHc6ly2xLjUznkooD +4MJzSSGYvPBcOHuzDs94LoJfuqcLz4WiiWPhuVDYW2Q8l1TCYwvPRYcxC8bAc+ny2MCV8VyKMFnR +Q/C5oBLcQMiczyUUJT7Ehc+lRkDe7sXnAl3Q5rP5XLq2PG0F0KWQFduDBejq7HNUDu2ALt0uw9Rk +QJfmByP5BKBLUS1zK8mALqlmUR2ALn1znDsXoMtsLI6nArowriCVHoAuFIuTOaAL5boqn4sMAvTW +AHTpSzBGBZ9L51lVROZzqePQBwjnc1HNwXQYfC7GDBb9GdBlg+Q4N6GLgdTGCyd0fYfgGL3/PUKX +BfSPVghdepxwE3FCF2+bduVB6OqHZ9QSoauHPW0QuiQQrghCF4JiVpnQhaj3MBBddtR5LkaXBIW1 +MqKLoVTPeSC6dFsocwlEl1XMPK0gujSOM34Hoos5SFH0QHQ1XJjMw2898+YQIDcdR3Q1OnCfZyG6 +EJRwzYguCrPusQhd/Pu1Pwahi7MUhsiELq1R8PYKQpe+NEuzwCx97tl//sXHQhHJd1Q+l7xJb0yP +3VqO6hzcgJ3OpbimfmqBc11eMLzYXBKu8W40F3U/96xkLq19CfsFmEuTdgS29FaL72HJ7YTlUq5I +a/lF5ZK9Eks4h3JdtPq9lcmFb+g7N5JL797jGC3q03hS5g+R63IDigXk0ocfz8ZxXXK7fEelcV2P +sVsWjOu+4+F1FhdftVUSlzzaWfkHiOt1f83gcCkkZlHOzOHCtprvGByuFpnpxeHSip5cZ+FwYenN +jBEcLkKS7MaCw0V0k9hk5nARfbq8xIzXsxnBt20Ol+ILvCGFw0XU4X2ezeGSYgGz4HCh9B8MF51d +RFUDw4VCwNUwXJzGk5ExXPiaaecQFC5dL4s0OoWLSAGfnClcFAK/DvWyjYOaxtlOOoWL55adY6Jw +4ZLNiBMYLt0Oq10LDJfidKxlMoVLloSjz38WhOt1IlEwuB7vIS0ILtYgwzbY7Lrf4YWfAeB6rygC +TPwtTavyR1n4La1TohiTQljlaQ9cnBN863m92jfYW6+vHBZ7S/WV1Atm9NYbARUnb+nfGvgWeIsK +zLdgt6IIM6hbXB5nepG+1ppietX56hd7PHmykFv3ZSuKIG79jnr/5kSroI9mlIzbAjI8xqJtqViR +jK/TtlQG5rVsK4woTYvgYG2pfEwl3YHaUmeWgmiZtCUvC72vAdrCpvGZi7OluJGWWNkqCrz1fS/K +FuwhFZobZEvLmbf1wthSna32FNFcoxnvxBnMZu5pTQIZsKVSUkwl/XHGzfaei6+lf799FrzWpWXJ +MxZdS51Gp0wnPZdI59Hfn81sLUH4zjYXWuvuDlJ1stZTmVrYduM+4UytZUweTC2a0lUBtPPlSjvw +dgVSS3FbfIACqUW9sb5hImqBMvDAEjXqdPrdC6hlFvp3L0AtUl80jDlQi0SWYQdIM2ndf1eclsJE +T18wLQ1A8oZwlhZmxTJITiity1dXQdK63Vc1QFra7im4kTlaaqZQXsMxWtp56X0MitbjzucZoqWY +igaAYGg9w6xhA6EFDHo+haClJKNW5qFpGNb0GPws/VujYMZnmYPKXPSs29w5g50l90g9Ehmd9Tjw +KMhZag2mxtLIWfLHPy0CucBZj9ciBjcL0PNxLWwWDBhFVhM1SyhGvZ8BzVL9qeJj4XCl5uL7ODMz +S7HC12htRHVx0L/6ImY93WaTDMzSBlRfKXhZSl5x04OXRcbpuAsui3z60xctSydZgt9pWc9leb0M +y1KroW5ZsLKAi/ZFypq+jU2grBnVo87JCmBVYLJO+2YZknVOS+wHI0v/vuwYEs+aKhmqEiFLUSfF +0wKQpTiaxpD151Rf2c/Cx5q4sS06lijzzYqF4Q15jDCzsWR/cJod72tGlH/3d9yLjDWsPTlzsYbH +FwKLpTFTy4igYmlKGAaqWlAsaVQUO19myO7l6AuJNR5bfmYiFuO1aGNOxJJddP+bCgOIxb/bWYBY +Oqc/9+JhKal09HfhsJTUPGEvbxqWKmcOPJgNhqUp4EwoLKsbyigsAT/0y4KEpQLZ16YEhjiZTCkq +mDlYtC9d5+JgqQ5ek2xgsBjue4FggWeGu+kMLEwxfRfDVPa89kAXAhZp7+NeACzWCHrqAoDFqof3 +IAGwSIISEAgAFhkqjUILgGVr0Fn5V8ZSuzf+CiIN28eMvyIPThIz8Fd6XW2tFvir1nyuK/irquI0 +11bfhvOvWtQlFf4VKpHJ4F+hMCkG/4p1mMXyE/+KZZ/essW/atT2vmPzr6RYCWHmXw== + + + ab7DF2/xr8iSsxkJ/hXFH0QFM/8KlWix468kUJgT+CsJXKdEvwII1b3Y1ZLAysHOjL+SclsnTcJf +aRFA4mThr6RY/CbyM1o7PDfwhoS/oo/QevwMf0WemAfR8VfYQRoFbOOvYgOw6Ff40lkFl9Ov2Ok1 +bw9Z9Cs2KkSOg36VAu9Ov1IVrxXKZPpVg3fS702/Qpltw6848bwr+0qihQccfSWBqd7QV/qnRUQy ++kpxZtsqBfqKgIntXCPKrqYHW8kn9JVUq5fzrvwGQ8bLO6wbSF618xd9JfWgPSnYV3YJKXVpEfy5 +LZqe2VfssqPIop8W/6NCfLGvlkddYl9RRXdffbOvyERQPh3sKxL3PLeZfdWIcbd3s6/wRuIPBfsK +1Ivmmcy+wvdQa/1gX8EyIS4R7CvsKYmCZPYVprZ2qaO7ILzzFvtKbz0Rw4y+wmjSamuePWitbZv1 +gsrnwKr2NvpKouXyI7ZoCkXpbiFVTlzsK1Re0WBf4b1l46mzr6RYliOzrxpmQI5BtJz08OXGYl/p +/bTPyuwrKhkZuoN9xbfgkQn2lTX/zlHZV8SKLWto7Cvqzq3C541Slm6BtcS+0gBAgWmwr3DopUjQ +2VdE3nT/MvuKLYTaKoJ91aLLI9hXDeep+yzwK4YblsBOv9LriUth4K/oGKAeJuOvUImpB/5KSk/w +K/3bAlmJfUVfweun2TRF8vZtm32FEh+9LG8UpCKdHOwrRXSoww/2Fak53dHMvrJA9DMW+4peF819 +wb5SOsrycJl9hUUgE1Owr9xZti/2FZxqXpjMvlKyzHrc1hZTVsIsEYJ9RQaF6E5mXxlf9Xw3+4oY +udao0VShP2lb0cy+orSa9y7YV7SZMGsF+8qg2m+v7CuyQtzkYF9Znuh4NvuKM7ngmX2lrNDpffzm +zqgvrac02FfNoB+jsK/aEzmwYF/RkEDJd7CvlKewGo3MvuJMnv5gX2EMyejv7CuP7v5T0Ff6GrYk +CfRVZ4F2vxt9RbI2ynSCfKXMFlGlRb4iy8g8H+QrcoVW4ZLQV5Rsv8shXmFPUVEYWgJ9pZyU3eyM +vuoMDPfc6CtdZyrkHH1FU5E16yb0lRl3NB/1r9O6kWw1cK6H7o1PSuwrqRaQNfYVfTgWY3T2FYqv +Whb6ipQw8d5AX1nyyAoBCADTucCUl8hX+tk8bwG+IjFMNt/BV0ozsqjI3Csn9rqnPC1rehgpkgzw +lb6ADegZfIVKAW5GX/VVWhroKz3ltm0I9BUNZzc+CQl9pcQrK6MgX2Edy2gV5CsA5eZWsZyBlIdV +cW1wr7itCn8H94pUhVYBmXtlNpv3vbhXBMm1/AjulUZr5vRSQKm6GWrZrUEJq34t2oN7pfmcUogM +vtIGg4j8KuOCkH28BXxFcY7C2QG+Yl3/zMW9ajRptqtwr7BMx7nCuVda6fGXg3ulQUKjQMJePauo +26IMd4xDDr0CmXadBXolz2mtJIN5pZgBWUtnXv1Gbf/NiPD/OeQVKffuKKuFvCLlHjtScy55PVAc +yCuE20/ck7RadhfvSg8h1zJ4V1S0sLNP6T0c3lVhGLwrs3x/n8W7siOuu/Cu+CxN3sG7ksBqNXhX +jVYIa2NfvKv2eKO86oxe76sJ4JUGW/aUGXilQZ/lQwCv9MITaYtOWxVVEcPMwCtN+sRVAnil4gwu +dQCv9Gaf1r9c3nYLshvviiqMy3BJpKUkUACXeVeI1H15XBZB4ZTgXfE5htHa/JuO099cuKvevc4p +SFadEPH5Ft4VBlSZd9XZByTe1RYSdmmLzrvCbTzxrvB0/+FdaYjMvKs+3TE1eFf4CivKnHhXaFCk +nHeFoBkzeFcSNN1n3FXH9PxoC3fVVWGoVXDgriSw18i8q44ZnDXZW7nC8LW7A6/2vxPwaokBvOok +bTbwSi7iH+AVTuIZeCXj7wK8WkK58iEG8Mpc0jfwqpudRQFe4dWegVcyUv8ArxAz8AohAa/071/g +FVoCXmHun4FXEj7AKz0uBXilG0bGJlBW+P8zvJ/VCY30QBx0+OYkeFe00j3eSbL8klBPZ1nBu5JC ++ChwV9+h8384Jfwv4a6IdhHRTrgrlv6a+QJ3pX0oUbfAXTFHWit0mkmxuBmLdsW/ycE67YqzWK8l +2pVEiyIa7Yo4JmWb7qBAXJIIXqJdWfbVrCwtunI8Dhh32lWjUKs/hXaljTc7rKBdEWOlisdpV7RH +6UHLtCtE/degXSFMY2JZuOfwfGrGXdEtoxfbeVf002hJHsArkiDTgViRP9QOnM2GA6908W3x48Cr +zz37z7/5WCizaO0PCXilbPxrRQgOvOI4bu69DJ18MVSAV1Jb9PLbrhqP0BBoXTmilTvxrrRzsrhu +8K60/GWBvThWCnN64UPaH9OFOjIXi6JPfHWCd6UdgNWLZN4VKmG/4F1J4TlbvCspVOAU3hXd0ixo +gnfFppPrEryrbh7LvfKu2JRTRBu8KyoFyX8F70o7ETYIhXfVXs8FLt6VatI8wubAq61k4lVSPX9O +CztLqkBZMfpczz+FeKWN530HcUMqdXEWyjfklQnDPYwW22WpAb3qR2yuA3rVj+jtyNArVIq2A3qF +wkAT0Csp9u0z9IrtWp+muu3F4dFch17hR2kByAS96ry3p6cALNpxebFXQK+SkioZthrQK/3JU5un +BbPSpabxJTOvMENgs7UOU7CLwdeZV1vIzKutBvOK6r3bLeAIfasdZ9n8BfLKaqqnGYSZMZXiZjyf +cb20W7N+s4y8aoDcm91humDYkHvA2S+K+xsW5BVhWeqNAnnF5ou4byCvyEQgJOIVYnOaldUzqwHu +cQdE66pSw4E1oyfiFYHTxw6zWMIIny/nXdkRR/un8K5AsJxeS2ulf5enaQJ39R0p/83peUZNYqZd +zdiJBO3qDE+xgF2d7oJUWFenu+cu1BVrpuv+Z5GuzugDzaArbEF8WNYt0VnXGP8szNXprn0ZckXy +vNlEoU8ksH++G3EFTYhBPBGucEuioNABV+pCinIy6loMydf/KXgr7f7JCQXdSsLt0CpC7qevTwrb +SiINMoG2OiPmHWgr/bXXPmaBrfQ6/bOgVudhEdTFtFpCRloh3htopYSz1oZGq7ojCrlwVqqlUWzU +FEoa7rZgVu9rdYIZZaU+f3LC4eX+eLlBMKpkTaNISQZZRc99aNcRJoWOsbrCIDJhrJYWGCuVipAs +C4rV80QBaNpGU/Y3+2ZYEeUlHBMMq61khlVSnWH1PtEh6GgqXSZrnk8Eq8dTz0tUbTn9z8Gvepzq +UvhVTwSqA1/1uClIwKuEm6dRI8OrRGK10Jyzq9SVY3lnR1cpREFKNpOrnkjYOrjquSJD7pQqHgRP +6CxslSrOLd/u1CoZ8ge+yQoClpAwNVv0dKCC0+Ya6tm0vwUTrWMFWAVndbQt3t68t3hVS8i8qiUG +r+pxb5nFoXrdRr7gqojyP94ot4oErNUhcFVbybgqU5sZ1LqjVI+qYMdQyfTB0s6JVnXfYXXpYhTH +L1bVtRwdE6rqGja9OqgKi3K3qsTTDe7BE83JfjHFPqC9PChVKv3ibwWk6hoxvyRG1eUuw0Goutys +bwGq1L3KTcp8qtP9QpZ4Dm/rDTrVFhKcaouwqU43g1poKjnI0oWUyVT6Aq9VW9P0rfqucAsFSyWB +5XKmUiE+5iDKdumM7H4wqfhhzaqeF5KKGobLrgdFwdOK4xaPav070ahCCxbV6R1aq31UhlQE3HOX +qa58eCWxQVS1ojnwOIdKmxWesUShEqtYkeNgUEFyPp6NllJjkX1sIlCxobMgqKtK4XtpR4xVS8mv +9laDQKWXJcojAFBZL7h7ViwAldnbjLkBVKvYZyGo8MO2pVVCUJmfjjsE2PY+8rSFQUXyKIsqpWjN +XUqZDdULY6ZeGUFlag913n6c+wPblIByhfJEmYnZQS0CFQI1q0GgQrHyh0SgIh/M2O4IKhoRGLUD +QUVnPpcnQ6h4N1g8BoSKBkDODAgVbltmDpMgVA2PDLeqsFf49ZTfglCx29LPTgwqTOyat5jCoCqK +PQw6z1uCF4KqvT5tB4JKg4Flw51BRff07RxBZ1DRm8BNCwaVFNulBYNqK5lBZerfUu5d+xL3EggG +FbYYj9VmLgYV5TVa4waEql3eUxoQKsbV0xYpC0Ilkf18QKgwAjYola37NZZTYZAgVBKfMReDirdN +u4pgUHGArm1mUOEVouVNMKgah9/3YlBpY8ockBlUEtmPBYMK026V9QSDirZ+TfaZQYWodVdAqDit +PcuikM91z8K9eNIs9Pd+BIKKPQrFuiN6eA+bJDKCah21EFSNecr9bdzT2faSm0Gl2diq4fwYlUY+ +LXxsfCRByQyqJQaDSssI4iNBl6I7v10FQYWrgy7aOsi9EIJAFf/OAKqlOX+q4bD5dzuDP9Uiop/4 +U2jHu/BTtu4738BPsVDUpUn8KWnuCmte49NNwoM/haBIYuZP6ZN5NYM/ZYnjq2+wlBZh5gWV8FN7 +4F2HXVFDGPyppWT+1BKDP2UfPwM/xdJZL3LmT9FDp4BciPxV7amcP6WwsW3aMn8K7BRPTPCnCIM2 +j3TbIiiUzJ8ycYzFn6KcUsve4E9ZLOl5Cn+K5iZ8DKLZX36mzY96zCiDrFTmT+GeMebCT/FvzdyB +n6Jr6TWK1cJP6caxS3f8lK4b72rwp5aQAFRLCwKVBeGAs/sIp5UWdUeJQMX0SQwwjlKxokGjbbRf +/04EqiVGo4xCOlRqBVtqtS9mAhVPlspU1lGqpQCL6wSq5p53GUBleIVr8af497Bfai1sOgnbiASg +QuyOl6JwgHJ3ZcodQGW8CtFyEoBK38hOi305GTgHUO1/JwCViSO5ghIJuM4FlyLgRTNuIlBZ3+Cd +jnr89wSCSgttFqkZQYWZqGqDA0FljdxtLASVIoEszTKCSkcxLDqCinDh2xZbihIhuUJlApWCyNyG +dVTzgsogUC0hE6i26AQqSlKmpYwJOPPX9CpnBBUJa22xA0HVoc0bqGqYSbECh+dTEFSIukqBoOJz +dH4wqFb5U2ZQYRjQLRvFqo7qHQ2TwaDaQmJQbdEZVD0yO0GXUvC3CLZMemzoDVFxcLLzwaBSb7q1 +tCUGFaIua2ZQ6bM0MAaCijUfoC9nUG0hQaiWGBQq7W5YFmx3Tj2JWlccaybljx4s7jy05xVHCM9d +MFRLDAwVpnW0l7dYS752GTKGii4FBawCQ6UufTreY1I7rIwrQ6jeaaNtMKheNxvODCoN+9pfBILq +8ZrboEv9rQnNkjIRqBRCZlnkmtpZnT3FtiZRp7gMzpsay1PNcVPT678LbUp9ON0drabdQVZRgZr6 +RGf/zdDv/yVN/e8jTU1q7pSM00wfrCmpwNuWKuXv7b8NmUYrqaq9mwpdWUf4Q6iiSFU+9DsM1dtr +NELRMnl9p/okD7q5jg2dmkOlzxATm03IKPM1hQy4HSMCo4pyXz+vGbVcGt1Ak1Kcxw== + + + jmI5NHFWue2TFntqat8nmF6POMcE2aGqDlVVPfxsrVP/6c+54VNT6bZpDGwWzYN5DLrmzU5kqLlZ +EDtBYxd+aqgAQkUfosayrhfwkItvREkAVM3Lb0To2gQq2lMeUw1BJcOm0+CcDqFqxsmTkihUzShx +QDwNQ6XJBhjmGRwqFcYO+5uBH8ULWP3D6sJtfD6cE3FHtZH8B4Lzoc+xf3OWGDt6JOIY7U1Enher +lHTMVnrbcKSkTgcCK4Ex1STcL6u9FcCy2S++NpJKPMpztqTqe4HvG1gX6f9oyyv8sBCdy9QTVTRX +qQSmUYZARmq40XMppQs7ixLGqlKVNJJIDlACDMQRPTmD7fFtHNsFp9JXu8WYBptsPMdpOFY5mEKn +WsKZ6FQhqo9FdoL61WMIk0vDgziq1AnLejwUu65KMveWjlMI62CCfb3ffSv5jiz1UIXL332b8S46 +c0X3+uL6qbo3uFUCbXdhwnnTlDwcUBiacRyDXIXYGBQuQ1eh2Kt3WYsHPHPx0zt1QHHDg3LeLR3/ +clwHz4rxgEYCVZ0dr/3N1Uo6VF81qNl5rcV3kNUSv0YDEQgr8OVtC5z4aIbuSZ1U9N/iZEwvKJSJ +8hoLnSiDKsQqY6Zct6TYd2Bf9ZpSx9+YOa0eaSo+Yc/WuWFWUw0R3A51iykiP19cc+wBkBXoxKbK +LmzQ5SSJnz3YTgu0Sju5WlFVSa3dnJT36XbfFstqPpdddam2IJWddDvtTNL9UobAlZwZLKv5NuME +8yxqJzFxZYNu6z6/U9YYh6iw0e/BMIs31cVoid/WVHfAOWzEwWJwamXYbZgNkhXaRaNvs4AmCmOE +1kB60ycRSL1RGp8DZSV1CMEqiDIBVynwZ1HsMiubqKdOZ0b2ar7UBzx8M1amf4f8P7p4umuQrL73 +8T9+n6dqdfUyY7IVKCupfxON188obsNxT9TPaAsuBRjvMtn6Lz+zvbdX8igfPzEWuJsrAujgufj6 +mZEFnQIwOLsUy5gpf70HZfp+RjsKXtNQOLHJSosikDjODMBvJ4/ouXxlpXVbtvxe1GSlMN/XvGyx +s0EBLK0oILgQoSXfx9o/Vwf6YINxW+AOX0gpzK8otDFLGf31QqoYCBSv0uOmwhDbjlAtfWNU5JWj +zXi92rFE/GvKn6ZdVitF6HdC4DsuRx+wgljKvZlXW9WSQxHeKcrBiV/ktGIuBgLNNUuxvyk3U1Wl +7uP0Ebd9FuPuVkTZ6bEQW+JJuoefpIcF8zxlz6e2ny8Gez0PWirNFgNdjYHKraGMy44j1smZfHtV +HcaeWyqcWpgKig9Mysxs820LOPoiH/vwFXUevHgq69JXu7lxCiSo9r+5H+xWet9crKS+Vuyiv0CN +c6f8RWEDdj5HUmzxp5CHyrPWcUoqaHHZwbypUHIp7dmMrKSeRsma+IM7k4MQzFRvoXXI3BuVpTP/ +jjV3PLtACk3pAd2XTP7pgsPjQBjArKkuKSHY9U0IKEyVaqjLVccRK5gyzprO3VjMLKks0yjL1egy +NdEIJK8riePWlOfEO8yrdGGzpFJpLJXyJil/C0srv7fH+MKI4TQl0FlSn8O9TymgQmGA6A5qRdE+ +gRWtu5FMOgtUXta85VdD0nM5kQUCzXe4jAnztG50q7hbAK1ToQFGote90M9TpWXeYkF9xknd+mXK +areU2lpzVW/3yZJkWjkkcdnTGFM2TC+MFmoMryxmOLP7oIwZHp8+hw/K4cV3UpJAqutyhhCBVzh8 +t0cgzmbkchJpkbzXr/p7z6eZQWoy0JkgsNfodCo8ewbgJYhaUs+7W5uFVfVK6fZvooH6d/OexoXU +Qj2OZKqJMoa/yKd/0iUEKSaex76wtknEnMpvyd/w3Bnm6IjdCh1a9/qNJp7utHCqFIaVmPKYxPfk +4cNoFQpnMg+PfJzqo8HR3h6yVu3xpY6A89lwLR32t7J5WJ9R5HE2h9J3dbRTh6w90q1YcCj8Sdl+ +qpduHzeH7RM7wFzRmJYy7s3X2qp8LV7CqMpZU+rp+Cv9oL8PblvhzINF9puOU95jykJUZbX9yYqq +z8Nqa6vaBGqbflLpqzFHdX1UdGkkvTV+hRKX9tKEnY5TYcRjowIG2Cfmqa85mi7eFqpNgsNiYCg8 +Lt07X6VY3KGPjdw6cT69zX3Wrq2WjqfiulIUhZRi474+Kyx19N1mf/xJU63Uqb3pM2yKJftuD8v5 +bsXOxCPtzMdpxL1tTqIyMCnJB2OrKuXXJvxUb/BhBrWMavoSf2urZyuc2Akjv+k4bXO1hdQfwNcq +KclxfavDLZv1F16tefv0ZeGpdtJOc865KVx6EFiqhKidxVSsSR91pn9qIg4O11bVBs2Nk8tgf6wA +gBKPE76fEjWh2DfFyTKpenHm4f7NOE2d4roOC/UHjuukRfgyA2PWQVKu6U3c9pvVFclaRseEtZbU +53ztJfHX67VOKYuA33bmQzfQ0ZbJ2ElT/jScnv3IgbvHxVLSkJLkMp4t2Av92FY2HfbanTXHZz0S +SwkOYMwHrjrKRIMn6zgtVpmE9Sfv3sxnc+G5+CLAn6UywCm4jWsGJpcDYbKwfq6N6DK1m+E6q2FO +lL+1FOvX4Ffyte5N6dLExMpI1webWU2+rIxA4tHothR1HgSoK6nNKk9Pduu3uX8c8GIvi2WEsO7I +pQRAHDUoMJ3uR65Wk9EtutWAYPnm8pT7+DONVGhEP3EbX2wsT9srnIrm8eGh/FdsyHufW9VmitiL +njLbVi8lDwNbVagd/0A5hyna16c7gUyVml2aaVVtFsiuqdgbKxvoBNoyU3JMajEs6tRzxtJ6jE3t +mpiwaVyRUbXWXURLxrWE/5fl5eHvUhxlhhsvgwoTrVaqf2tT66EMdhcigymiAhwoTBH+bpkyQ3Hf +fKl0qXWFdMkBUrClayGFq9jp0HhRFsdrirb00pfZIw2mdORhn0XLpXzBuDiq03riLw4PCumdHWwM +hk8QcjPk6h++Se/j2UyvCSCKdrfHNiNS7karoZcAsk/TUyZlob2k2spKWZZ525m8Sh3TqG7KRUhI +VWBhvDMF3Jqnjc2sV6amWcVfO4tQ9VYqacV+VK9GYL60semaGZXXxMXM+HzqDHTKTlKejQfYKpVd +skzrj8+9j/f5zfHY5EChcfzFMW2vr3CbnYg7y9WJAtqTDs1LPmXHtWFfUrvF5S+rFpYyCFEdsXXQ +2H/+PbCcGXZGUk+FNOzzGodpRh1CXWlTDA7leBCWQ9TUMmsqQC2324uAhkpjdStf99P9+3Ia8U1Z +sC+pfzuj09Vhx7H0lwLtawr3wjIZG/Q3TEMBUlyodhXhF4v6rc2AfvV8fRUrIWhf+gmM6/01Q4KJ ++ZsW3I+vN7ai3uwIUG81CvsnE9xjLcC4wE0sJLRDDcU2YIcF2fdxF1Sak2fF4lBLud4NAtvq7dWj +2szdeiNURScLi6lum6LY5dGWQm/5Pk6XUUtbuWybr+pS5gaBbVWIa+3jpvptWT4Cr9H28bAtnK7P +6hNDfbQbVV0zvcwAClW9IYXGZcX0uWJ0kvR9pg2Ut1sOohCPvpuZXKCwBlf9WTC9pNr6Omyq9GUf +hjdZlOo43RPbN4diT16M2Os4HFmJIl9OOV8KFyjivUt9HCFvf0F7+tetY7QPbyxFQ/kvjy+zOd3H +KYhKLJs6OQ9x2vZSzhThZ6FQ6GnP1U2mmBjqrcU0Gyj1bS/lPjcTbKuK6ajl+7G9HnFcPU+quNHE +O7AH8NWK1Ieos9Sj23F/z6kfx708uyezFBzaZr49hpBuTDCUh8ThsKQXZ2qdg7LCnbJB1KQ61Hgi +JpiuomUAm7vNbKU/2z53q6rwUK5CL8XQ5KLMCbCvqeWcRsoQ/svH2H7LI3IdhgmuMmTT6+O3Mu7I +yCWtWdJDudAxNTYLTINbsfrpBhmzayedeOyUHd3HKfevoVkf3zwYfCrnbL8mpi7VDdynqdj+oRBu +DzcxziRRONsmg6HqzVGugOW6lEvLNMtknfY375ef3TcZbJ5HnHmYSdNUupBk3riMDLYVNST1NYiE +2i6zH5lyqdSsp2wuzC/F5AgsLcUurTxYWj6uUcX/kjTDoFihAjKEFgD2lYg2c5YHvi2fN5vnk5SD +s2CeHnqtA5URDUDYhAv4npwIIozYJgm+w63pFXj/G13mVixOOuOJdXXQO9OGJUWECUvKtd0Wttq9 +xmlYms3yzORXtNN7L0tathV/ZuVriWdLuhyHX69+WuoERcso0r6xdUXloumnM5MctIBeKJcFwZUJ +GJY4X7wwpQ5eWSFIxUdKCQD/Ft3ybUk5lqX5FpuVJQ4SS1wJyn8VPM//tu85bfxOR10UBuijLbBK +okCPkqL3wQybtEbPudX/n3+cZRkjaMK6syuJNByjnZSxYVJbPd3/ciqyy+v1N0FYZYM6JafSgaHE +pG05/XXcExUW8zVg01ZiBLEJIlQVW1INJkYEwzNoaU2EovRxgY53kcOU67NShtYdIi9DLz1gWhor +q6fgyN+i1Nc9AQ5TII5BvKtnR+AwnfhqZdhVWBHgsJMqfO3ltUlXs/hpiGab4sjfnkN2e1qshGKb +0BkLtTgufDz67WTvrZznRodtlYZeAeSnzSTKSxDY+vvsh2+lkF6MBCdmT1pya9rQpHpSg6uJ93Bk +8zeqHfHu/ylAjM2ksiOD0NAZuWOPVkql7Y3jFBCXQmGKFBJ6KGuHoGp1xf8GqSddWhmJ2bL+Ma9k +XX7KeHQRF0AMlVXBOyMc1T3/8npLipSuYdHWHCtGiLP8a+pFRFA4jmm3SU3WBOasUGBuhJieIipl +jmk9cqeSLkyFzfHBivh66cPcHDFFCFtvNtpQEXcqSzNlrj+6ccROIUJfsutzc8QUjB72emrO/0dh +H+Kb+rfFe7X+OsmGn5sjdmI6S3b9hCPGYZaWP9mPS7BKhXlujhjqQcHDaZX3RGAe/yRAYlKIX6NE +ooWEByPvdCcVAl7HbbUBk1yBfqsekyhajuCQqjmGGu9U0XBa57qGkNfWOYrcED0dMv0a8VUvi1oN +ZZVU9niqqFnhdlW3ELoh2ayZ62obJHaennDW17BaZf0i1Z1gS0eO4bF1iXazgRGTOHSD1DcnitiJ +2ZEfRpvPCUlPhT/nsyu9idVpzy6VmiyU/poCRQyFGgOt3oIiJvXlUiu8T2ROyxKWmGoltPDX8KWo +1q1BETvp9mtU8QARO433M6iyASJ2Xpg5P9Q3LYjY3w7X3/Dw5tKZN3UZj5ve6rqq723IUSF4Soqm +salQcQsmG6e29opDDCxBLgZJsoK6j4shpuDs26kj6+bFrJBbU1ZwwPtxhphUal8GrYlv5y16FdZF +EUNMiq0tdGYwxKTaaovP08gghQI17S21F0O5rhNlBQXIkujhv934SV/CagO196Ctsr9ejqKnLSBi +f9t+jREPLyp9xycYsm6rX2NxaM/NEu3ZDDEbJyeiLU+f7kOFDlM11XcQjvH730OIWQ== + + + aoKg/bEZYhrIboJ4Wi1wRyND3N2B/pyeSlTuJjBiJ36+p4taEkt5VYyComgjyoikz85eNqv16h53 +sMPM58zMDrQDIJYmJWKqDKd63Ekjk/4jEMkEepqBicbz837sWy2cmAZ1okO9O92HKYksgNCcWBId +00qjViLb8hzTC8mkWhPEsKpNKfhFonQlCeU3twLkWm/dw9JbNLChvP436XPjTKIaSsRs9wOVbZ3G +FjXoGRUD/Kpp9Znfe/mff/F50cL2Vg5Ga6ZFFxt0WmrSVqG5itBYAPNNdZyyMlLmIzfUp2/AGKpW +rZ3OKe2dpShqLoX8xIiKrP4kzwkWy4Qbn4h940TtATV2/JqodfkJ8i2gDkkx1Ygqsq9Lpl0QS77h +rAtV+HTlfTSVLNKY1MZ0LJUuAxJMrJObFxMCGbwQFmtsWJ2AqTQuDGuLO1HAjUkZyvaiBG9M1Sh/ +w8nNqO0/snnJr7yYbpA8h0+NWr4Hc2zisa+tA9l57ezwzrytmFM7l6mdrZImI56d//JYvn1ZdepS +zBTZ+0GgVlVs9BF2W6gs6pi21oMpRgOAqGMER9nZqWf88LDqRaXbPPdzrQjCe3kxIF2n+m62s5Ci +3J0iGFO3gqVPdCIQ13hfW+lgvzvpgtTSk8WQvq0UKn9hKT37zIMAL+Ttbsf9TTT2LbTh5JMOK0hc +2LEJEUn7XaiQqigxO42bG6DXnjiEffSzuWOKBc338FJVECPn5ftSYtQChkzz4tNeKbhjOo/yYm2g +lRnQ/fA6Q3cxUMDWNu392MwchR0oDtJyG/AYDwW7uO52itBYCRNcGz02gQrowVBemhsuwJLVi/qQ +rg+3TaMqrII+pmfs79ZMYhoMp/qsVUtLtfPEtE6TwfNuAJm+Sadu6bktoUnoSWMndiMqPBLwSXV3 +6g1YcA9UC5e+BkmSwNBzv45yGYdv1+537dknsAeVFKiIXg8rl0vDjATLYh3qDbFmhNU3qG9qaZ/H +2+lUjMfKRGX+1OV/Rsl/c87WQoz5iNLO4JGpF4ANEQYLauvS2uZ1c2bshnXIjHLDFcdEnZremgMj +pFDi32k/0KCsK06FSmt7JJVK7BQ1/oJNZEEal7JKHJet14AB9dg2lQ4oKS8FDLKG1yrv6Z48Os7t ++UktNakPMvIaWtRqoTVytzQbBaCTjIzwfFETI/XEM+710nmZAFGMJuVhNH98RjneHXKVet+vq3qc +pFgx2uHZVBTKSY53+w4q6ENVryqqWCFMgzG8VoulP6WkGVtIPKGDQ6XxkEwvfZBMUX/LzXGDubzM +OVKFeX+7l5OLHxUG85qxQvOOd8Wan3HYEoqCj2mtySeViwtlprGITQpLNAoEnyjNG54n1XBFLalK +kK93518IpelXOuyHL23Fr+TS5Jl/B5x3VQsfp9fDHG7yPGSvYn9y2jPwd2/Zx/YwJbM7Eqs9jcAw +8Cgb1h3Rrog+PKFoeJzOYwPO6NihRla7O+onp9fuTMflaHVAya+S7AtzphNtkBluRqxR7NZCnQUs +0WwFa7Vz6ng7Rn6BHm6Zn4c6zWPfz6QzUgpLnpGHb1z8my2RDTHImaqLGu6PoE/ngUIJ8pnWPWxM +pbI7nwSnH3MZ5rzLK6c0c6zHrkV9qX47U6J6owlMiS11+Xe4Bt/13RA0jYCW/xre5Uk5Mld2uImV +Hn4Sy2MuEhoxUD6f7L3ggTA1b6vXstxju7z0TryUGAgm5B+40G5rqqSxPSzdmeYTqJaeJ21Fo4KL +YoXH3dxtizWijIL5lwqAI/KdzyajTagV+u2Xm6UOmSQw0J++j9TgbGFGLYLe6ABZJcTdSmsZwynI +UwwX3N8TXxZ0eFSpS2UPRlAdaOPjDR8KG6uIaFAiT1nwtWlpUg9CiLr3emT1ZS3eKUWlM1KUC+LE +Vd4uSi2xNt0BqGnyAiEL6nxDereIRirWFeQ0Vq72+dNqEwalwkwk3elpCi+QHFdEb/3Ky2MrHXCt +1vyqT1GWSccZRA3o3rDRZ2PUpLLbae6uJKUrTdCbkzWksLRGWTA1IZQ8dGo0NcHEqNrTR8FTQ+nG +ul9ANc6jt/pxpNrlVb3U7yiFSyfYqccn2OyciSWmW11qOTbwSLjsYpAtH+QLDVyy4GoKB9nOST3E +r//FS+FDDMn1EhLHIGzar4xYI0vIW26MNdmdspWVm5pR1pqZNOvZX6A1QiyUZNy3l9co8cOPVMGT +3kKtg+wdUVHaXo7FGH4b8nUqqsVHKadOf6W4hvZy3Ru3pmnJhjIuJzmH0xcmUG00fxqN9CSevnhr +rOR4yh7vLdPK3dLs2joGcE1nkyGmxoNSdjwrdflAT0FZ9Rl6tLmBa1WlB35Gc9E03tqM8jJTogdJ +KltGOXgwhs+I/IKDUdpVoTQSpVJWrb8aqjRAKNps2ENKwPVY6nE8KPu4PeWjJzZ4a5qQ54zGREbe +ayXYbrMQmkDXL8vF7gIz4OjdEsCWeT29hEoKS2Lo6OrPGxvyJPG05sHbYsRkuKcfpSDfhI9OOvVO +5TRqTGTnpNouOqZgprSU29I6B/P61QrJj9Q4Ymmgh9yQUlE8VBKY2m/MrjoblACu0eVmrZzdq5ve +18sEBCdpBICa1WR2tb8HcU3JohmlS7yEKVNxmJe7KrtfC3GcG+yhamDazqTS3YnCCPuc9uZwpgKN +7CBWPBJY+3CVQJEeLlYdUvin1X7pn1H7pbrcm1JmGWZgvnEMr919IiWhzhq2LPezoWtSqX6UakXQ +ghReXktDfEYKTV4SArom8dBISexXwXhdRCJf97IIaV4jez+LuXaSh9XuUMUg9MfRQvDQHM36XvWS +VFrSPRktauTub3J+cEL0lFhR/etejBRGUB4jO6Rgrk3SARruHqfb6kzbP1AACU5AihpcrmtD16b2 +gETaMBik1vK04EyHM0HPpCBWKuBSD11U707Nu3atoyvlOSMXGSGop1lAuj/JAGEK3EqFkspfAT/c +fW9SsfpRDejNQuue+42UiTFbFPmucTlQJoJVCOTzFnUNlSUOhUA0CeqJ7K5ozJViLQ1Sgro2QX5Q +QnR5f9gVaxfZbjO6ynmIz3rODTSiFtXGb2fL8i2ouxZdiSCXllWW7mubukbjJxnXx7xd6EKwaqor +ioXUMHRb9VNg1zQMWMPVdKaAxh2vAb3dPUCdNMxHyq4FeY3dTqeS9rTI14z+IBbEzFvKZGllQXwt +gmO40Nj2alhUWS5zw8oxLY8NiW7y8Cz2GioR9nvYxZHyt6s5USwppJUI44SUILvQefL6mUxalgJ/ +XSEPcjwev7+T45P6DW6MDa4zipsxJrmMFkGeSDlNbu45NoHNAviPFRrTA0ezFH2E52ntmErlWfn8 +9WyP+VMzhsKOGh5wRD9BSTWrHjWM8O1jijLzwWBTntGa/143DFY2wDZOWgJr3aAyb6uKVnw6qhdU +2X1jKX67jw7ZBbYQahvTPl5/87IQ0LEhbNTQ21t4OJYZVurt5W3W83RbxQRKuK2R+WMVq8zbuCz7 +eDDaiJ2hVDlnskG8jw1hO+Hv6g1m6sOE9PVnNrC71Krzlqh+IDhsZz9ihIveClputOGRmbGhEbz0 +ZTlXrDP5m9ZhqSScAobU107oEmd/fEaFF+EgNn0RW6to2YiRNEu3x2LxNBmQ7dZTS/1TkNiUH+wU +k9EIIntRMftsAdCtNu6E52reEquDj4p80n5KTikSrC/BaEPlCWbeWtdgYkHmMDpWQNZ4ao5Ys641 +pYn6C90ar7wnPNEircutI2LSIWHaqjAePFne8UFSomRVqoWopdp5FKzw8aNZox08FSkLxEZKnRB4 +e8170fJvj5kvEBSnZYWWc331oG2LiEnMWtcS1Li2vJSadYs0K1vLWkOfvVhsJzYOSoQ0R0Xoo3BZ +IZ12WiaPgUDKQrGZalqA2JT7pyFs0Bf42JNulUywDsX0Pr0vQTd7gdiUvGbBpIfMMmv37QOXplyR +2M474mGan8MiS+ls/CQAI9FcpnuL3cNwQsCJw6vD3NKy7TGzA8We8CA7ef66jf0s8TWG23yfS1gp +SLLeBO7OP6ppJfeuCIb5fOm9o2332VA2VUDdfDNtvOWVNxmnm+UPF5ZNKxEKHbRLJEOpHLGF9BQ9 +oU9A0WA9YooXLqCM1sTWRaqVCP0WVAyo94ckvdYT+tL0/WjCCZfUiaXJY2caB/7wUQo6CGXpWj2+ +htlZkLaBl+Fp3mwY/xGuAE/TbDf+jWf/m9Hy/3OkNgobujzftDcJUhuFDWykQ6WMgaC5mEy3FRkw +4knY8zl941TlD7Pu1yNKeageURuejwgVjGzPL8LKQ8yum8MrivoYiGcy9XHM7Q01EZjh80jPaoPG +iKOoLbuZ4aneExio1i1Sgtp2NveC0EzevcuqD3eq1dBMkrEzp0ev7Lh83aH9u77Dafyvd7d5n1jD +duuZXOg2rRUwk6GbXd34Komxi/83ZNjVuk6Pax13HSBsysR7yQtgaOPFbHWaYoX2cqxabatSqb1T +wcDjZ1o454hOcX0Wo89x7yf7vDQKEGhqTi68hg8Hr9lbn2qhiVd8cdz+XkZ9SlJPthaE5C9vRd9K +20CxrWpRyGCGozYozQsXz5POsbMtgfPkxX22LeqLeeTvMJ6bDrGYumLRUXUnkVo8QK+HDdj9dOis +sfju21YOUlaCR6oH9KZZfp64bDRrCgfrdrK4n3ZiFBqf2tgc5hVhtSN3bA6aWZFuAXxpVGNstVvf +26nOgcuMCg0Kohqn67ldibZ3qgxI3bh6AeDtloqaZpYcSr4bW+3D+G6nHETmsNyBWnV0N/6un+0X +gvB20j5pL5q9DIo8NBrVro14Ow1GhGjkrRdbV4vrAx55sSW2XraAvCE22wHhuHKyZTntKNISUo5H +c6yU4LzpUfobkyavrZWMyXeQClwNQzITVKGZVaWEYot+r6/ax43p62NxgV7WbOoXaUbKW75kqLaJ +eI32JsUCmRpXFX3+jr//w3nlfwn3RrDNHs57894mef9p+UBzsZRbwxuTo7ZezLwvbpR5hlZyjm5m +9djSYEZT7GNdt57Sa9ZaBCY5sG9SiWWiHtarQ1oAgQyJeraUEkAJ8hvxR/OqaRbiUdlGs0boZnFj +FXzgHWTI6L5dRdwj5jL6G+135s/i8Fo65kizq6Y8+G+oLKVkfaBACQo5mO4uoBSFDDtxEeCU0iHQ +1IlUWUOhQjD6Nx0N4zF3KJSVip1u2aHvJcse3Q9ba6lin6KNz538z7/4tJCYpdVFS/GgwKm79qUk +ZLixN8dhZTW8rEJK03oMJShwqC8Vh7dHpEFqeMzVQj5XdAQAvIoc6O2uhSp/MkcgqGg0TPiGfIJZ +vcdWbEp/LZSyVE3YZlw33Z9b2w9ys0oRLQwcKuZiVzcMnBQeOjzt2O4bTKaZsgwp1IbJDgF09rRe +fvON03Gw/qgpeuyzFgOCuAA10GdUqE4oZK/7u+EL4NYTY5y7vU/jxknRVb8tSKxqQg== + + + q93sRoFbAjm4GM2W6KUJmChQzCmnhMvby323/G4I3El6Zrz5uEgvGO/T/m2l57sacIm3OWraz9Gj +0hxGoeHU+nZUJLYHz+lV9/0wpAKKVkEDxxC+gUeaqdUPAhy7xD5NNYMWqwm7TFHcY3i426qOImLC +e6tr38LZGfKtqqv0m45elFQqslUVD1DhqNUh+7XX+Q+60NY8+iYiBMYcOLms4xiOaTeYIOC20OZG +wCX1MdQCZZb3aRtoj8QPyxljqRkMOJ1phWzdXc2J3/FwritGAKTbnnox4BSn7LddDWtuUoiUEuXm +CDxFg1m0U5YVDDhixNR+6VnEalW7PKoStb5ku2lsVwu1LAgcKuEE+QzSJ6sp9nEjUmugu15voNOZ +bTWjvpZCR8X86gqPPBlWkXznmOMKU9PYgaqiTOluZXGJhWtlQPKoezbwO1b+m/O20tuXjZzHBsGp +aN3E09Z84wlLPk0opK5fd/ySslBwUq2xUiq2nlpH8fQwFXmvHBP2iFqIOHMNz1qVceLlYzo8OD58 +RrZt5YOpFGg2a8ieYNBer0dghDn9c0at59hWKdpoE/YewGpuq184otIPLJxKbuy9b+/mwlGIw0Wg +2uKxsisP1LyWFrBinWYujGvviQrwWAY7N32CGCHZSKC5gD9JAauUoMOpGIjt7iBBT4nYtBooDZPE +cpaiit81LppKFus2Ls6wFfpNQ3u3SmHb9Nm/eTJ78wiuH9NfX9xoh0g+4+9aWnM7fcc9fCEecyPW +KtMyMnr3tfUVZ3VMs14gqbkU/uCycghVXZa2271vw8aZcnmjv99+1wZuekphqrDmZM3QjVGhIiav +4U2beSvZnNaGBO9BSyxzS+juW7YVmaUH/GSrh/P05ghnWGHGLswervBiGBsqMC3i9aTjGt2z1nIK +PY5SKgbld9PjEOkp05BK2UC74zFxnKsULEolRMx6Enslpni4JwRRVVLph+eUFTghy9yO5MJJDHzY +8yWIHB5/pP1Byh5mmYGd3FLsR07ru0dVCkIXw5PPh2EektI3biqpl9mrU5Frr8fjw6GCvSplW4p9 +Wc1goxx3mIOFNsAyGlsCQZxVG2Yi1rak+Jt7Iz2xkOxOdV9KPAKdpo51nMqYyXMpbKcq56Uwga9O +3unpGAyjrVz5inLvbm0Rk4bAp23FvmsLv9k4LtoibGyd1o9r6w/1pUdqB3NP5uth1hc4eYZpLKgA +enbpVxptY+WkYlPAx033ADVvadVkU9X03lHu0DZZTtWe1iuklr4+vJPhpnvrsplmCArMTUPx5sbx +uJfNUikrY4Q/ndGUlLYBc1sVEsMKKG0BOO+ojpWZAVba12bM8T14laRiefz2beQLZg6F9bga+vqq +hu3eog47WoOJFLPmvow0Z7+yWaH7Qs0NrIL1mqt5QLYomnNxHFSZfLMSrFDI/fmOZas0S6hdiogD +uwLvOx5v89xC6U+mCuGKPub7daNlvXBi3rDmOabF6KxHwblzek2oxuN6q6kCj1qazc7bdhmaIezT +Q/mviAjg3b6OE8neqlwO304vpQwGoWJhfWIF0nehCPA5sxsgW3hv+Jy5NNELMww+J99LBffew9Bz +ysUfuLYrQx7oOfOFciMKmHKRpl7C/+trU3ubQj0xuNAPUCmbpli1Tb1XM9P8hZ4zdYQ6bz/uHK7c +odyhPFFv45ZnVpdzWJb70PXEvF+hERQrA2mbPUc2XLOC6kWaHUUSRQLoOa3SD7sUCzynUhr3BT8N +PHd2L0XSRfRdUoQI3pm2GSMK0N9pkBUpVi3Pce+LYoFg2Zs8+0TeHImQ54oyzEduhJnQ3Og5JQjw +4FCGu5OWlVXGSzZMRtaKvltpynMHeU7bIe6ZHhLsh6WYga/VthRlbvKcqbf5Pdl+6HCnCllHEdHH +foX5QVazAZ+jzGiY9Z+bR3ojsmKYjGxy5eZdllXYws9J9Y6+2wwace82g8nYc2jo14frkPAClugN +grdRm6RYoQv2ucMUu8xKqawaZgCCerVkf4SBmO6L2ZPdBixSKY+bbd0bRCfVyg1RTztuUuwkz0Oq +w5/bw5j6rChCRXWXRVh0nNiecxt68uFh8blXZGxpyWuGe+Exw1nAHQJQyENeqXB6H6cyE0q1meGs +Bc+d2a0a2v5t27bbvU39GNWRPj0MlXyAMeWaG0m3VbUX4AOkWgtKYxWvbFjRifSo0ieUK4qmhl/B +dZyuFVUu5/RhdCtP8uVZqgykdJsV4LpxIlVZByuVlZ+4+vbnlmjGVN36vebtLeUUD/FdHUagI8Kt ++PbREVFBMJRmR5FRQCDcqcLpdxmt3/4WX1eQlQ5jcKjyA/7cfKJJIhS7+15MtA6T4wRZMWXK2QIs +hWuzLOpDVXUTwWT+AIm615omKUxp9u8Iw6kYylAnoVq89jX3KYuoPu66oRqbgNUplGxh3dtzu0Rs +qX1b+6WlhHFuRHrhayhpYUwtFaOy2+uxfxE3jI7bcezyJalmnqEuWfz21ELW4jiepekpOPomFt9g +hlHfYdQ6FLyulV3AM/+ZUXp9bG6dbqW1DmkjJeMnyoUsvEwWawnHXOC60MiEv1TWvTZLNzpdGR27 +lWwtxd7h4R73oVLzeWGU+dANtAUt9INet9TVPnXif6cBWWEpYGJq5j0xM712moxHDkevdZxMPw/P +ihFpV9iY1kj7QWcU26me9nKVncprXd0SKHTjRDiNb9scO1TtVxuLO7UOvs2i9ihUK/z9HzJNKGvX ++VxxZv9/vKkePN1LHcwW4A2sLRXqTDa7VKPqXuNprJQSTcft3YrNj161vw7D7/2wJhaGoJOGy+m+ +u0G0w5+Xxgo1YJB7lJMINmmteVZZHuis+LT4Cqjd2b3LlW4IQtSXsRxoGBexjoorenJQ7h0Wtxl+ +HTejaJXMi4rBltKuzbZL6mG9QBT5UHR7uMsLf/O1lq6e49TeQRdVxWKM4Et8uB09Cj0sx5OS8+Py +Kh/99rObcUrY21wRKbdG/+PZiDuFm8009PBmSOqinmaJa08PLqVvyl1ST/cjWRksyM6vFU9Vxc7s +Pnjv4w6vZ5CXDI65lEg81nS4WHeo0T64YHf6PEzgO4ESGbJrpXlZepk9bAjwiQN3t8THeVkn7Stt +m9xqUCFt0657TdOqP9C/5+mFIHIMpsDClDcNGrbPCbU172WUPyOjcWCMtC+xS0IPoVPv5oxaXhmQ +WqNW8/JSVb6QNtTiG3NAGvMcfafQhA3b6tmWCwytvTiRtk2/U28YCKeurTgt7M2rnxWkhb4ozz4r +bHl2PloBUluOuah+GXfCvB2FtxSVui8g3lI1DIHFu5evoLO21dAK3kKbvgXGo9uqu5kbZDyRuOmw +6N4z/41Y/5vx8P8Lx/vfB8dTXdYXjke1VoHjUWJY4HgdR+UfOJ7ehQrHU79rheNp0fuF4ynEXOF4 +KAWOZ8dUOB6fVuB4Uiocz5bZv3A8LdIrHE8vY4Xj6TX7hePhNUPlv8PxNHQUOF4nx/YLx+vbFNHh +eMaWyXA81l4fOJ7UCsdjVdBnguPR23yfP3A81ALHQzlnguPxWbMXOF4PK7oFx9ME+reBXHA8uB8/ +cLz23AWOp/G9wvG2klFsSXU4nio2/2bzBMeDsvSB47F6KnA8HPULHK+pQ+O6f+B4qK0nOB5KgeNJ ++cLxpBY4noQKx5PyN+3/wPGgWhU4Hqu9DMfbQoLjLTHgePrVFY6nmfALx2tAWTMcz+bXDMdLSr4j +SzU4HjW1BY6ne/2F4zU5cBU4XpO7wlPZeGiFjYdS2HjtAX17VjYe6v0mNp6UysZrz/HfsPFUUFTZ +eI0Qc2bjaZHyYeP19v6w8To078TGo/f/w8ZDLWw88zt6EhvvO/zGxGnFWxoqvmw8blVh45HMz2w8 +HrzKxhtRLr7YePZ0ZjaePfq/bDy9IpWNZ69SZuORUv2w8eiRLGw8VeZUNh7+Yx82HgngzMbj6S9s +PCUJf9l4aIWNh1LYeFK+bDyplY0npbLxKEj6sPFUFlDZeAMDp8TG+97H//h9Jsf4YeNJrWw8jits +PClfNh6u8oWNZ9ZSmY1Hd/GHjdcB/yU2XqeWMrPxtKL8svGIfxU2nqbIysbrNLhcP2w8qe19EhsP +pbDxcIj4sPGk/u37Ehuvk7rIbDyUDxtPNmrHcW82Hl5ohY2nKtEPG09xpaediY3HEr+w8ZKS2Hhb +DTZeX5SqYN4xEHzYeBppKhtPX60/V2LjbSWx8ZJobDx+UmHjQYX7sPFwXClsPJRxJjYeZ37YeFIr +G68Dk0lsPAlfNh6VtYWNh3NeYeNtJbPxkupsPP2FysbTmu7LxqMlsLDxujztCxtvK5mNl1Rn46ka +o7LxsNr4sPE6fQGZjUf0tbDxNA182XgKYVc2Ht22hY2HeeyHjUeWprDxmGALG0/z2peNJ7Wy8aRU +Nt7A7/qXjSe1svFQChsP5ZeN18mWZDaehqTKxvsOlzFhqkbny8ZT1rWy8VSKVNl4Mnb6svGkVjYe +llCFjYd11IeNh1rYeJxZ2Hh8+oeNpw14ZeNpv1/ZeMosf9l4gw7UzMbDDLWw8dilf9h4bO8LG882 +/JuNx78/bDzUwsZDKWw8/uIvG08/vbLx9OUrG28riY23xWDjKRJR2XhKaX/ZeErfVzaeDAALG0+V +al82ng6rbDxYzIWNB7b7w8Yb1p+b2Hi6GJWNt5XMxttqsPFwtylsvBFWv4WNJ5O+ysZTcV1l420l +s/G2Gmw8ylcKG0/VB182nr5JZeONs/2w8fCM+bDxUAsbD6Ww8cbZ/xs2ntTKxpNS2XhSvmw87IcL +Gw+cd2Hj2cPyy8ZT/Xhl4xkwPLPxkpKgWFuNoD3L7czG05f4svH0YFU2HjjvwsZLSmLjbTXYeEA1 +ChuPFfmHjacHobDx2GJsNt7+Z2bjbTXYePqcysajAOjDxsOCurDxBiY8mY1nfkaVjYfxUWHjSals +PClfNh5hz8LGk1LZeBzzy8ZTBLWy8WQBVdl4ciX6sPHwqS5sPI3zlY23lczGS6qz8TR4Vjae/uSX +jccXKWw8KYWNh4PSh41nambjcWJh49mv/GXjaWKqbDxNvpWNt5XMxkuqs/EGu/XExsM78peNxx3J +bDzcvAobb1Aa+8vGw/2qsPE0XFQ2njgrXzYeG7nCxtNmqrLxtlKGgaUGG49azMLGG+38b9h4lLAX +Nt44xg8bbyzsdGbjERPJbDw8ZX7ZeDhrZDaeJsXKxgPM9MvGQyxsPFMyG8+UXzYeRQaFjYdS2Hgo +HzYehSKFjSelsPEkfNh4tmTIbDyQcoWNx435sPH6cvQKNh6tjIWNxz7tw8ajLKCw8UzJbDzOJCSU +2XhYARQ2npoNKxvP3NB+2Xja2BQ2nuLvlY2XlMTG22qw8To2z5mNBxLsl42nh6Wy8bTiqWw82Zd8 +2XhSKxsPR7bCxut0Y/yy8aQWNh7+KImNxwEfNh7FKIWNh0tbYeNRPvRh40mtbDwplQ== + + + jaeitS8bD7Ww8Tgzs/H48A8bTz+hsPFUg1PZeFvJbLytBhuvM8FlNh4+dB82Hl5GhY2nYaWy8baS +2XhbDTaeNnOFhKef8WXj6dmqbDy7jJmNl5TExttqsPF61BYHG4/f82HjoRY2npTKxpPyZeORFips +PEsUZTYeyoeNJ7Wy8bCWLmy8/sz/ho23R+x1nMytChtvK5mNt9Vg49lfyGw8vQhfNh6NYIWNRxC1 +sPEwb/mw8RQKLWw8YqiFjbeVzMbbqrHxLMCa2HgY1n3YeFQdFzYehnWFjdfDyqyw8fCjK2w8s8bO +bDwzv/tl42n0q2w8KpYLG28rmY231WDj6aWobDy9QB82nk3ImY2nYFJl421ls/GS5mQrpUIrG093 +9MvG47ErbDxqcjMbj/fzw8aTWtl4KIWNx5kfNp6975mNJ6Wy8bDe+rDx9NUqG09Vx5WNt5XMxttq +sPFky1bZeHpyv2w8PeCVjacXobDxNFV/2XhSKxtPE3hl4ylo+WHj9Xn9sPGIbRY2Xl82+5mN1/v9 +w8Yz/57MxktKYuNtNdh4CrUWNp7+5IeNR468sPEweD2OxMZD+bDxUAsbz9gumY3Hr/yw8VhhFjYe +1ZXtSGy8pGw23hadjddJLG3qHWYvP2w8QjaFjdfHW9l4WuR92Xj4VH/YeFaX3fpm47HuLGy8pCQ2 +3laDjafNQ2XjYev4YeNp5KtsPFp7CxtvK5mNt9Vg4+k5qmw8PWsfNh5p+sLGU8yqsPFAW3zYeIwx +hY2nE79sPIVpKhtPDUqVjQeg68PGG7bfTceZW1Rm420ls/G26mw82q8yGw8X6w8bjzbTwsZTF2hl +432j2hHv/p+y8Ub0dBY23mjnDxuP4wobD/veDxuP57Cw8TTcVjaeLv+XjYda2Hi4MRQ2npQvG4/b +Wdh4Ugobj8Dch42np6iw8QSZqWw8JrIPG08RwsrGk2dDZeMJBPdl4ykYndl4CvtUNp4iJF82ntTC +xuOwzMaT8GXjoRY2HhGYwsaT8mXjkfAobDyrBUxsvKGN0YeNB68js/EUoKpsPDq9f9l4YBMKG099 +44WNN0g2/7Lx1Ehe2Xj8oszG02X+sPEkFjaehMrGw/H+w8YjVlfYeCiFjYfyYeNJrWw8mtkLG08X +58vGU/irsPHAfBQ2nmiwXzaeek0rGw8USGHj6bp+2HiKplU23mCHlNh4ulNfNp5misrGU8jty8aT +Wtl4+uKVjWd+Kb9sPBxSChsPpbDxUD5sPLIkmY2nL1HZeDrxy8ZTU2tl41FFU9h4jBq/bDwbJxMb +j6G0sPG+g3CM3/8eG89SE79sPD1NhY03NnnlCZ7A/LLxhvkxJzaelMrGQ/mw8VAzG88OS2w8CV82 +HsNpYePp9lQ2ntUs/bLxNKhXNh5TUmHjDazBftl4ZkyR2XiDlu/MxkP5sPGopStsPJTCxuPMDxtP +a5jKxtP3r2y87738z7/4vBAi/bDxpF73mdh4LIDnTGw8wq3P/cPGQ8WRLdh4KFTHBhuPz7rut7Lx +WCwXNp5CnYWNBzvnw8brJMUyG0+7oMLG08OA21th4/GIKCq02HhUAhU2nj1GZ2XjIRY2Hn/geBIb +T8po7w8bT8UllY1nG7vMxsMq88PGU+iusvEU/ilsPMXfvmw8bN0LG69H9n6x8bQb+LLxML0vbDyC +o4WNR5j1w8Yj0lXYeH1Rt4ONpwjGl41HXKOw8aRUNh7Kh41HF2Fh46EkNp590i8bDzO+wsbTFSts +POIQHzYeJeCFjUe4MbPxeJR/2Xj4yGc2nu5HZeMRE/yw8RR2qGw8HorMxlNS48vG66xcMhtPYaDK +xiMa92Hj6RmrbDzaqQsbD1rVh42nb1LZeISeMhuP2tgPGw81s/EQChvPymd/2HheQXstNp5drszG +k/Jl4+mbVjaeivEKG+87Sv6bczY+qB82HhVg50hsPLrAMhuPirwPGw+1sPGo5ztnYuNBKFJQsbDx +sCHFqTDYeGZMmtl4NJ4d713ZeB18fWbjURk052bj0Zv2th82HrXUhY3HJHqqw9jZeIrifNl4UIQy +Gw/j6sLGQ3n7W9l4Us2lNNh4eACbYaxnU1Ge64eNpym5ne3dbDzNWZWNp6TZl42HKX5h45nxf2bj +4bvwy8ZTzqSy8RRrrmw8as4/bDwIIpmN19/2w8YzdMUvG4/cXmHjkavLbDwlDr9sPMJYhY2nipD7 +uDYbzyzBf9l4BBALG8+8CzIbT6HOLxuPhp3MxlMMtrLxKK36sPF0YmXj6XMrG49g7YeNR7a1sPH0 +1SobD+XDxuvhKbTYeHZmZuPp079svB7Q9sXGoxU+sfFAV3zYeFyrwsbjOhU2XofZ9MvG0wg4GAmC +jUc58tMTG4+2esqsNxuPGGhh43VQF1di4+m7ftl4QOsKG09ZvMrGI/X2YeNRrFDYeDqzsvG0pvqy +8bD2Lmy8Dpe4JzYe5bS/bDzKGQsbz/B0mY1HafeHjYda2HgoV0tsPCmN1Xdm41HeXdh4hA4LG0/K +Eyeu8vbj/WHjabRqCm8HG4+y1A8bT0NYZePRNX/MxMbTkPBl41FtWNh4DOaFjccsNvoPGw+Vdp5g +40npShMsNp4UltaFjWfTSmLjSfj7ZomNZ8oPG4/z+pvYeP1gC5vYeDSCnfcPG49ap8zGU6/TM87E +xmvkC3/YeCo8qmw8/cXKxtPs+mXjWWNeYuPRmVHYeDY3/bLxOsj4I7HxepjULjae1kFfNh5FB5mN +xxKosPFY4X3YeOSYCxuPtF9h49na+5eN1xeBMdh4wKo+bDzqDQobT0NBZeP1+/1v2HhV5cW/o7nI +2Xg9yssKGw+1sPFQChuP5eaHjccat7DxOiXgmY0n5cvG04Rc2XjUIhQ2HvU3HzYeamHjSSlsPAkf +Nh64uMLGI8Od2XgSvmw8LVcqG09KZeNpnfNl49E6m9l4JOEzGw+T1l82nu97EhsPn8jCxmOX+2Hj +sUUrbLyUqXA2niq7v2y8Afwos/FQChuPMz9sPKmVjSclsfH0zy8bTzH5ysYjmlTYeHJR/bLxpFY2 +3oAqldl42Ej/svEkFjYeF7Gw8VB+2XjEGDIbT/vQysazvHpl41EJWdh4pG4KG4/CiA8br5MOyGw8 +3MoKGw/s04eNhxVpYeNBNipsPJxjP2w8/KYLG8/9LBMbT+/+l42HCWxh4+mXVzaeMmcfNp7EysYz +JbHxynmLjYda2Hj44RU2npQvG28sJ65g49FjX9h4ekm/bDxqUQsbj29R2HjW8f7LxiO4ntl4dCEU +Np66QD9sPA0DlY2HfXZh4xGQ/LDx2O0UNl6P/qDFxhvLEC6x8Rh5MhtPb2lh49FQ8mHjoRY2npTK +xpPyZePReVLYeJYCz2w8lA8bT9G6ysZTZKuy8chpfth4FsDPbDyapQobT6m8LxsPE8/CxlsW0MHG +U9Lxy8ZTnrGy8ZQNqGw8Yy//svGM05zZeGQXChtPf/PLxqOGvrDxaEkqbDy+7YeNR1atsPEsz5bZ +eJz5YeMprVbZePQrFDbeWKCfzMYb5/hh41nLTWbjKdfzZeNxZmHjYd+a2Xge+f5h4+mLVDbeYOmW +2Xhkuz9sPOUHKxuPPG1h45Fv/WXjUZFf2Hj6EpWNp8Tel403GCsyG0/XOrPx6Ev7sPGsyy2x8SRU +Np6ULxtPambj0a9V2HgoHzYeKfXCxrP8W2bj0bLyy8bT765sPHLrmY2nbO2Xjbew34uNp48qbDx9 +hS8bz9R/ChtvWGVvYuPpSa9sPLoVP2w8Ja8rGw+L58LGm8f8b9h4SmdXNh73trDxSOd82Hhuits2 +G4/0QWHjaQz/svEoSMpsPBgbhY2n6f7DxtMmpLLx9K582XhUPhU2Huv/wsYb9AP/svFAHhQ2nhaE +lY2ny/dl4zEJFjaeLktl49Gc/cvGU16rsvEIV2Q23jee/W9Gy//PsfEobPiw8ShsKGw8yhgyGw/h +w8Yb9I1nNp4e0crGo3Dow8YD21DYeCiFjWfH/LLx+LzCxpNS2XiDXpdfNt6Y72LjUfdS2Hgamr9s +PM0RlY2nAaKy8VTO9mXjaa1Q2XgqialsPA0FXzYelTKZjUcBTGHjSfmy8VALGw+lsPH4rA8bT3CD +ysYb71XZeJOQ+C8bD4c3not1HFuLK7HxkpJobFsNNh5cAcN3GfUOgMOVBPuLh1ubxlF0AWc2Hi7i +v2w8xMLGQylsPClfNt5sxw8bb6r6s7DxpHzYeBN/xmuz8eYRmwNn420hs/GSGk62ZL3aZuMJH0CY +orDxYAhoOluqPP8tWh5svK2Uu7HUYOMZI6FvNt40l5fKxoPVMD0DxdsgkoJFJTIcDxXnhaDjoVz3 +puNJ8Dlq0/EQm3W44bkC5UN770XHk8LCpNDx9DBZEDHoeLqNlY4HCuRDx9N8X+l4LDkKHY+ezA8d +D7XQ8aRUOt53BP4fziz/S3Q8wm0fOh4bjULH0ya40vGYez90PLOEynQ8lELH48wPHU9qoeMRUi10 +PCKkHzqeJbwzHU/x1UrH65TY/dLxFAGodDzCvoWOR8/ch46HWuh4KIWOR1nILx2PPqlEx6OTKtPx +yPp86HgKCBQ6nu5HpeN97+R//sWnhdTsh46nqohKx+O4QseT8qXjoRY6HtHUQseT8qXjaetW6Xha +flc6nsKvXzoePc6FjkfVbqHjaQPypeOhFjqelErHk/Kl49GnX+h47HsLHW+E4Xqh4xEZKHQ8qj0L +HU/7oC8db+Dpmul4qicsdLwlZDreFr04ARuFQsdjSPrQ8bTrrXQ8ShoTHc/+/UPH26LT8eznZDre +uO7/ho6HWuh4KIWOJ+VLx2OfWOh447orHQ+j2A8db/DeZjqeAgCVjpeUVCyy1aDj6U9WOp4u9JeO +hzVHoeMRdct0vC1kOl5SnQZBoWWh40GH+dDxrCA+0/GI4BU6njaIXzqeYhKFjkc0oNDxBtu7Xzoe +UeJCx2OfV+h4pEc+dDzUQsej57HQ8aR86XhEcgsdD6XQ8eyYXzoepKZCx6Nxp9DxvmPlvzlva0r+ +0vG0Qit0PDNbyXS83sd/Q8fDMKbQ8TCMKXQ8amg+dDyzrUl0PE4sdDw+/EPHs1qBRMejCKLQ8ToI +sl86npmCZTqeSgAqHa8vomem4xGBKHQ8lELHsyjFLx0PtdDxUDIdjz/5oeNhEFPoeLollY63lELH +MzXT8UidJzpenxEp3XQ8ypQSHc+qPDIdT2HhLx0PR4lCx6NEMNPxtJb90vG2mcM6rgcLPuh4plyF +jhfaouNRWlPoeLSXfeh4VrSZ6XgEpwsdbyuZjrfVoOPxnQsdj8v2oeMZySTT8RRLqnQ8iql+6XiI +hY6HUuh4Uj50PH1+peNJqXQ8KV86HlGuTMez5Eam49lD8kvHUyVDpePpYlQ6XlISECupTsejJrfQ +8VTV9qXj0QZc6HiYQmY63hIyHS/ERcfTxxc6nh7oLx2PjEWh42nfUOl4Syl0PFMzHQ== + + + z/ZjmY6HuciHjqdq90rH69EYseh4FLl96HjYe2Y6Hl6ehY5n6JRfOh74lELHo7au0PE45kPH62P+ +0PHoZSh0PMWxvnQ827tkOh6FZYWOl5REx9uq0fH0SZWO1zGC/qXj8T0KHY+quULHQ/nQ8UzNdDyU +QsezX/lLx2NHWOh4REUKHW8rmY631aDjdSIOmY6HH9uHjsc9KXQ8s1rOdDzAVB86nl6TSsfDpbbQ +8eACfeh47CMLHU/FDJWOt5UyGIS66Hh6syodzwwHful45tOU6XiUPvVNx8MV/0PHM2eoTMeLRHWh +45EvK3Q8lZRUOp4ap750PFMzHc+UTMcz5ZeOp3VzpeOhFDoeyoeORz480fHoRyl0PMwffuh4vDGF +jkfLaKHjYS33oeMNLFkyHU9KpeOxw/ul42HxWOh4RaEXnxM/dDxtdAsdT+NEpuPRf/9Dx6M/pdDx +pFQ6XlISHc/UTMfDiqPQ8TBg+dDxKDTKdLwx5g8dj+H3Q8eTWul4+HcXOp5epw8dT2Kl4/HWFToe +x3zoeHjUFDre4IRMx9P2+EvHk1rpeDj0FzoehhEfOh5qpuNxYqHj8eEfOp5+QqXjsVkqdDyUDx1v +Hxd0vMEM14J8Z8v3SsfThJ7peCA1Ch1vK5mOt9Wg42kxUul4WD986HjYiBQ6nltunJuOl5REx9tq +0PEGfrWZjjdWhiLR8RALHc8WlomOx2L0h44nrdLxUDIdD+FDx9OnVzqepdUzHU+ruy8db5UTrcPU +HVzoeFvJdLytBh3P/kCi47FQ/6Xj0Y1Z6HgWr010PMW8v3Q8oHiFjkfEttDxtpLpeKZmOh7lqIWO +Z5GvXzoejXGFjiel0PEQPnQ8/FsKHQ+l0PFoePvQ8XQrCx1PV7HQ8ZaQ6HihLTqeRQ4zHQ+Qx4eO +x/Rb6HhUfWY63hYyHW+pq4FK0ahKx/PG2LvS8XjkCh2PMpRCxxvm//hDxzMoS6bjoWQ6Hid+6Hio +hY6Hp0+h4xn55peOp6+W6Hg00Wc63hIKHc/UTMejHjXT8Yjdfeh41pP6pMPO9kPH09L+S8fDobfQ +8cxYINPxFNv80vF0XKHjEQItdDxqrj50PIXFKx1v3O8PHW8rmY6XVKfjUeZT6Hj8zV86Hon9QseT +Uul4KB86Hmqh4/FZmY63KssKHQ9Di0LHozKq0PGSkuh4SXU63lgZrKDeKcT9peNRcFboeIr2Vzqe +PBS+dDzUDx1Pn1fpeKw0Mx0vhELHW2LQ8bS9KnQ8QE2Zjsf62el4WlJWOp4pv3S8rQYdD4fGQseD +2vOh49ExUuh4mqkrHY/WvA8dTwuZSsejufeXjsc8Uuh4isAVOp6qlb50PJqqMh1PCdBKx9tKpuNt +Neh4/VjOgk7Ho7HoQ8ej3yrT8XS3Kx3vG7H+N+Ph/x+n4/1/knp3D6/+ztA7FbSS6g+RQm5nM5Gf +U5U1rU2JeKdlkXmsOvBOtfH0rQXv7nVj9oK7U3/EcdpCnIJ12OFs3B1290YR6mbdvbSZ/LNId4DE +fTUP6E6eq5jaZ86ddpDTu6mIrKh6kI7gKBa+fT9eMHcXlsbXxtydi91hlLvlHZUhd2ZuOP5ZjLso +tF+IO+2LqHrMhLtx2/i3AHdgH+bG22kbxrIo0+0k9ntsuJ2Ec9ybbcderV0ZbTfXIsbJdjJauZq1 +fhGhsbhY4tr1AGg41u703o1FtQuhINSWuJh2qsZ+N6pOCcX+A7TTF58tHfNYtGfR7MRUuSy7s31p +Fczplrix+PhlCYlFsgs+SwHZ4XNzWJWyeTtctideHDs154+r7eYtmzi8JyUodlpsn5FbtYc6hESx +W2JQ7PrpDTsLTnebDVth2MmQZZnsSDw2u+6oV/z4J2h1R7xL0VF4uOFRYdVdlppfpDq9r+SgM6qu +mzX+JtX1eHkCVKeC0PaDqVMAwl0zjFLnnIoNqRturF4Yda8VZS1EHWHeaQazZl3YrQ+xEOrOwE+E +eEU3tvPp7uEtmRlPd49wXnc6nZqeKMkJON1nlIxpy0qn2nzd5j+z6Zp67bn4waZr5+XoN2fTtdMr +TROcDs2iiV4ThUIAJeB0jSrmPiucrqmq5TnahtNJYfG64HRSxtHvCqdrWoOz6g04XbuaJQYXnO5v +7rQmjgKna1cPwy+n07XL66oWna5pOdmdOxd4OsTLgyZEPFGm9bAahhJvvdOURaeTyk1ZdDopZFAW +nU6KNfllOl27fJ+76HTtjL7FwNN9b+V/4lYPb6sreDqppAAWno7jrNvc8XTN4xGFTieRxPWi00lh +TbrodG1YiVeB07Xl3BB0ukYt49zQuaYSAF7NDKdTVR2ewyHKwe5sfaPpLpFgzqeS6S63zF5gOszl +5OARXDqZy71PpdIpQathckHptIG477GZdBJGnxVJpw4GeRQHke70dp0FpLs8ZZd5dDLga+z7HUcn +lIjmmcV72kKC0S0xWHS3d5wvxJxee1zRM4nueo0zsUQ5N+E9Hhy6JSQM3daMQqff8XqtsTLyqnd6 +T7esiYHpeqxqfhHoJESfPc130XlW+HOCDmimXCw1cC2nC1pRYUh5O7Yu4s28V9SLOHxOVWkNSJaz +55aQ0XNbdPKctpQWKXeg3H0HsS9x54Q1wS8nRC3B6I0P6twSMnRui86cU1gE1EIg597DOAgZOPf6 +nm3x5mSsNty9wYTLohuFNteoFOI2+ea+qY2JnGvQ5lq/vQIh0+YauJDpO2isJrqXui/a3N80HCZq +iTYn1WiDYdLX8Di+rSyFB7XhIH3/U2BzEmkFW7A5FN74gM2h0L2faXON7MOwEB99Qw17D+wrnDb3 +Hf1iCsSogQqcTJvT24HNx6LNqbSHmMyizRFLGNeotDmprbWxaXOYLOmmL9occQ7Nf4U2h+rDpZkg +6MTuYyxWiXy4huACm9PDhKn9gs0RLjrmvWFzvATazRTYHJ1L7o/B5xL+eq93jz3see0dTaw5Nsva +5S/WHAr+O0GbQ4kLsGhzqP8s1Bz/1L1dqDkUs3DZqDn7UOdxMivpq1uhTKDmtpJQc1sM1Jy29Q+L +qkDIiVjFpqWg5ha/aR8neiNmHcGa0+DfL9CRiTXXoh97seZgG1MkEQw5m7Tuu7Lm4BZ3mDmu6mrw +7C/W3FYya26rwZrDLQZ3mWDINaxzVUiVWXNNhb3wWddx4o7MsVFzS8ikuSUGaE7MJ8tIBECu3Xfw +QhNoTl+DGOU+DhKiRUKxTMd/pTmRfXHmUG2Gc85cC5uGxZlrj7dKF86cVAsJBGcOkBWvSnDmGr3w +rx2zXIr01cziKThzkLFxLAh+nD0p5/yncOZErjqffBjo7cvmH9b5SUl8qa1G9FtQbYamxY/Tl6DR +sXDm9FAZtncdJ78PStCDM5eUxJnbanDmGh0hegIDIAeEXMuJjJnTU2BAh3XYGS0IcOb2PzNnbqvB +mdMHcaEXP05hUx1fMHPKLmje3UdpPDvm2JS5ZVSXMXN4CDVvL/Kt5GnerQszx2xxOgBs25wpfni+ +c2PmpGDevTBzHGP/J5nAaT+qeWlh5hQuxoZw8eM0zJLPLpw5RkdNzvuw05fGgZnbSsbMJdUxc4za +3otiLq7tMBvHQpljuH/fa1PmbALQdOSUObyINApmyJyJYrAHZI7z2PYFZM5+I18qQebIxzErBmRO +LwproQWZ20qGzCXVIXOd/bac7jyuzrpIFe8ZMsf9UPw3RNJl970Zc1qVs8MpjDlcpB7uY4sfe8aM +4Ow4NenaZ2fGHLsxLVP2ceOx0MhizG2ljAFLDcZcUzEN0OZgzDUVs2qEK4y5Ng+vKA7GXMPn2KkG +rP0b+ObbbOcWY65Ri3yaF5oGuEaww1HWwZhrh5slr6NUvEN2Ihhz72mJtYyYQ7tD+9tJIJzPPwsw +hzBCcLKClkL4CAZejrXRa91rlIZIsAbXBJcT+IE3Ndhy7wKOGFpOVT3mj7zJcs/rC4QAy8kiypDe +bvp7+ea6YOXMC+ufBZVTXoy2smDKacfF2ioj5a5YPwVRDuEwgayYTiOKk3lyWorgihI4Oc2lIN6D +JieqBmNNhsk9vhZfMDnNpLzlwZLbQkLJLTFIcpRHaXINkFzTwpHhP5Pk9EiwNV8kub+X0frcFknu +7yx7ZwtJTqrRXIMkJ8Wq04Ik147gPmSSnFSq5IMkJ4FJM1ByHBFYx+V91bArfY2gRfC8/S173ATL +UXJNwRSK+BJJrrEVPjdITgLL3AWSa+3yLUAGyaEO/zi7ii2M0Bwkx2ezRs0gucZu5rgXSO59N0Lu +fSs87n03Nq4xYVH77Di41m7bZmZqXOuX+Savo+Q6RbH1E8EhFzIybolBjGtkx5xvh9tG6+5EWJBx +TXULj1uM23G6NIq5LWRcUhIybquBjGtaXbxeWSRzcH5Moz4zIeNQocQHMk4KEcWFjJMyuVoZGdfC +JH4h41CCpggyDoWldEbGSWWhHMQ4fdfH+hKcBNeobgk85zpxjb/rOOXkKXAIYtxWMjFuq0GMs79w +XZsEp810W8D5CHwp6ms7wXWc4prDjXFW2NE2idluQ+HJk0fK0qeENe9zbmDcVjIwbqsGjGvTh6QA +xiloYZ4DGRgn9SESHMA4Kdcdx3EnoyK/AOOk+kjhwDiU53Y8nFJJnKk1SwHGtX5amGsB43QRjyhk +wRRnKxkYt9UAxumVGJgyOAiuNa9JLsA4m11VsBCqOEL93ri4+PeGxS3FQU+qtaEyJQhwGvNuK9pJ +pDgeNxBQ6ziV/sGjCVScQrMOnU6oOKlm0RCoOJTT4XEEcTjzcGD7QsWhGg3Il9ythYNOoOKkGHUn +o+L03fxMR8U1peFIlgUqbisZFbfVQMW143V/rUDAvR4UKqS49whQsIvPdP8c58Q9qzQtYeLU32yJ +VKfE3Z7UWZA4jZtU7iZGHFyX959FiNNO+mg2u4ERwGqeFF3iw11HPJ8unpc72AQdbgsJDrfEYMMp +K4J1XLDhGFSvVtBwyiu3NjYZTsWTUdVC1uLyDvvChbvclWZh4S4PRS4qHOOk09YWFO6aVhq0mHCC ++YUfPwmVLWwi3NIcCKexjCLgYL1d94/AKuuw8XmJEMkzEe4O2nQGwt3NdjSFBydnsnHcGwen9aIV +YDsNbgsJBrfEYMHhofY+u62ihbV7abTQZExWZR83o/4gUHBbySi4rQYKTiMx1tsLBacwql2ZhIJT +Zs1y/oGCU0jJwCvBglME44jSpMWCU6DMOqaCBaczncmQWHDaoFHtvlhw2kqyQVuMN3nxUrWTUXB0 +VdpSKw7DHIkyj9jsLyWj4LbqKDgrWL0tUYBnuVq2+VIZBUdP5TVsg25ltjJ8Z+0TKLhvyDmC0f9T +FBx7vna8FQXXpgcTFwqO46ggDBScFPJnBQXX1AZ/05buKDjspmxd7ig4XX0DVWcUHOpsmwTXwoh0 +keBsX32PSoLjZuLWHyQ4KSS+ggRH6MxXJgsEp0fI0PNBglN4pHVHOumhafdRGXCEQQ== + + + tDxcDDgi7tOpMzDgCP9obV4YcJT62VsJA04hGXNaCAYcfhXnOysDznIQR18MOA57nLRC2FARbGoB +MgMO9bg3Ao74iGXDHQFH9PVxtNDKfpCFMA9JL+OxgrfrWgg4PXj0KxQEnGEmqAF1Bhz+2vStBwOO +fmboV4kBBx4AnJcj4KittUJXi1t1MrrnWxFw+MbT9REIOH4RblbBgMNKiC+VIXB4FVFnEBQ4cgMa +HhYFjvwBHT6ZAkckDexUUOBQ+js2BW7lIgoFDvN0rnZQ4MwQHjeJEX8zjFIzBY7ACLUdgYHDgO7m +lzsGTnEHPKYLBk7BHnu7AwMH9YIKiMDA4VUEICtz4MiE0vEUHDhSOiCsnAOnAdKLVxMHTuFT4qiL +AwfZAnZa5sBJJQCzOHBk0qiwDw4cNQSsIzIHjuw/a6ngwK1CgsWBQ7muioEjgcEGPjhw+hIEEQID +Ry6Owo+MgROtw1CRgYFrlC/3tjFwDWoQxZ2JA2eD5Dg3CI6BlPEiQHDfIThG738PBGe5g6NVEJxG +MxxaAgTX3kjeBghuWWplEJxED+4HNei4LZCxQHAoFttKIDhURqMgwdlxpynmcHDcFgDLJDgGVQBS +QYJTwN581oMEpwEdG7dCgtOgbniXIMExIxGoDxKc0m6U+RQSnFTnlzgJroXd1CLBoShFXEhwDcM/ +M+1nj4/w+p8EBMeJxCoyCE4LGNzXFghOX5+F2wLBfe/lf/7F50UmtO+oGDjZJIBtCQoclUnj3RA4 +jfj84MyAkziOeyPgJFzj3QQ4ap7uWQFwWhsTJAz+m2bzCIPpdVfU3PxFEv3t8Qjqgr8xOGAqa+w3 +FXCd/a3oN5nczndu8pv+93FaG/V5+t9j/oDfruargOC+6T8ez6a+SW/vqNC36zES0GK+abSiAjaQ +b2RGWgW+yZifnUHw3qKMKnBvTcklGpEy7k1hdfuOgXtrkT5fuDet+M3lOOPeGqwOt5UG90YAk91a +4N6IhZoJTrLnaFEQv3BvzUDSbePeFH/gPSm4N6IStHQG7k2K9YIG7g2l/9DeJFpHZ9DeUKwXGNob +p/FkZNqbvhgA3YC96XoR0QnYG5EE++QEe2sU3zg7jo2Fgm+23XTYW1NmlJ1lgr3pPMNQBu1Nt8Pr +9pz2psZuFjkZ9qYKDEyhg/Wm54FdmqPenrDezKS31xs3FujtHV74Gpy314eVgnnTfDtO82jm26pp +K4pRKQRWmphxPjPe5PFPsVAg3l5fUizEmwpnj/uphLd3BTcN8KZ/M/YF302Vtedb6G7v5bh2h7tx +eRwdRxKdMlqvul9ddU8kXoLspnI6QqgOdvsd9f7NGVj9mJSQZqoblGs95gF1E2rOcswOdZverF6Y +bhJZIQfSjST5sKYy1pzTC6sL0G16fmLx3Obp01Hs+dk6vP7XwqBr+tpmwdwgV1HIYSw3vTxv6xXl +pqJjcg/RU3TKbog8uoHc5ON8OY5tcdwu9wBdHDfsiu+5MW4S3j4rxU2NwPczNsRNDVcn6wrPVtKB +xV9PCDcRIM82N8HtdrPCBXB7ftBtGtvYBi50m8pMsYRZ6DZVudmmYyftlbvwJZWT2xT0dUMmJ7c1 +tmbznwJu07jCviLAbc0hTYvbxsjDWitz2xruTv3e3DYyY9Ykadw2MefvH2qbYk1P38w2bVKOy1K1 +utVK/Tx4ZCdi2xWLsgC2aWFNNiR4bXqVCZNkXJv6TqgjdVrbG8iOgLWp05VyxMxqU4SG4SIKfh+3 +S16kNuDl03hKC9Qmug5VHCHKtIacY2DaJFzuJLPGXbO2sQUtLyin2UEknmX7yfOZCW2Pp3IWoO3x +esoAtMEFOWzFvfhsT5RjBp4NRvlhGV76MYEG8RUTnE24UN7qYLOpPpfmgDAjkxXjfRgnLdBsNJY7 +N5CwMZyFyzbZ/Jene51a5rKpoRdyXGDZlIG1JyKwbMrdkk3MVDbS+0/fULZ2RN1BQNmeK5KJicmm +Zk3uZSDZAuEbQLb5hjnS5rHNVVnrODaNvQZEcxrb6V8xs9jO6IYMFJuEy48i960clrErE4hNmW7i +d8FhE1uOjUZg2E7lqbqR31Yrx+yW1QoI2wjnqni9IzSZEWyyqzjdi9nynqotGFb56U4IllHO+LXh +MY3/P3vvtivLtlzX/cr6AqrGJW/PxzBsWA8GYcCPhEAdWweQTYMiKPjvPXuLiDEiKrdIgFgCbVhv +e/WdWTMrK3Nc4tLboq+pcANfsYCvqSpkOAltsdckWjG2F8NpdWhVME5eG7ctbwt4bXh77wKv6eHt +04qNbOF5+xifuWs6rd/Xxq4ps/Xpz6auUb979Qpd0zoGrmMw19TiYSXdTlyzOqhCXBMTARBqANe0 +733c0Z+xUk8pocmMW6NX7LQgi2XUpm8Xg7Y28EmurDUI5LprgVrD8NR3TcyW9+MPfgatkZSHYWac +taafnNqH4Ky1vpzHEmdNk4gNSMFZI2fGGBacNVv1zopZe8LuKShrWjFbZjpT1ho22o4qshLuj1fA +Lspaaz6NFspaVelWaKtLxjFrLQqsCmYNlSBpYNZQCK4GZq1Rs39al97CrEk1Tk1g1hrFz4+B1/CI +lWLtURmz1sL1cGHWyN9bssp9ejWFU6ZbMGuoR9+UNQnUEgVlTcJsywZynXVYc5tD1sgKz0xZk2JR +u0xZa8NTOYuyJsVDSZ4x0pLkBp6TKWtNo4VlWIyypiwPj1RQ1lT1NczwbVPW6NeCzeaQNaXaLbUe +kDWVwhl0O0PWlIWxxWxA1lIOwCFrKmk2SnGGrDXClP3akDWU2TZjjROPqyLWJFpAwss0JdhqAcKa +/kkcphDWKKujiDcIa4RpqFoNwpqAGlxwIaxJNddqN0KAu3F65QnRDynWqJQJa1I/DIqBWLNbSPnN +HWGny+tDE2KtRfVHINaUNrPK+UCsNeiww/v/os/qtlXPQqw1TJZm24g1SgmoJ8mItdbdnH4h1nQm +v/FCrDX6bD93Raz9fJTlPhZiTQ17LK0XYk2NeOYFkxFrDV7rHBuxpjM9xeeBniZYni4iE9aasmwU +9ARhTV98bRXpv1UFJA0ImbDWor5gEdZMgcLl3mDlxIVYQ2XJEog1KdiSLcSaFKvkz4i1hp2TEzfJ +k7exHBo+0Ux6+GdlxBqlmDZ4+3KIqyAXEoi1BhN4jopYo32RTKYj1ii/t+qjM8prPJiXEWsaA6zB +KBBrGnS8FtIRa6o2s6koI9bYmHQKSb3zu0VTzEKsNVzFWC8nxhrjjq2iHbKmF9W83YOyRi/FBVQ0 +UdZQCV8HZU1KT4w1/RucaUas0XDx+Gk2Y5FZftpGrKHERy+HItXak+teiDXVvZulbSDWSBny42bE +moXG77ERaz0aSxdiTZkyKx3PiDWcIGkgCsSa+wj3hVijY4YxJSPWWHKdbiZo7qaqYGLJEIg1mjgo +Cs6INcP9Hs9GrBkJpd8bsdZhPxGKSYg16sftNfzEjmJ4rXsg1owZ//SKWCOtRkdKINYMWfC5N2KN +M9ncZcQaPiZElgKxRq0+z2wg1toTwPqMWAOnYCNctBWoPJ66wECstdsrSQpijTP5m8/q2XysAiEQ +a43s9F0Ja7oOW6YEYa2zaLueTVgjlxzFRAFYUyTJjJMCsEabgM39DlgzNNN5VMIa9ejPYgIMCxSY +n2IQ1hQr4AcvhDUgGFZ65IQ10DfUVhlhjeYra2tOhDWzRmmO2jwPD+qQ5m7rwXv8kzJiTaqFhQ2x +RpsSkc5ArKH4SmYR1shYt7C2YoAhsXVvwBrNGnRNJ8CavrbV3jlfTa8DYaXgqykLel/msLDwak6O +dooAVZIKH52A35yvpgtgFCh8NVQcMDNhTVE5KmEXYU0PutUGBWGNFj2S7ZmwRj36bBuwhkswL2wA +1qy7bVS+Wg933cCr8cPSQDZWl+L0tqKMV9PbQP35wqtpqWfrksCrafS2ub7Ue2rDY7X5hldTASgL ++oVX01RvjRyZr6ayIjIEi6/WALp/nl+Fr9aocT8Mx2R5v3lb4C3wajqEx6vg1bQYtr7JwKtps8Xf +X3g14obMTImudk+vTY809BVrrmCrges7j8pWk6kj+ZlAqyn+wFI30GqvmPLvDFj/65HViKR2J6Yt +shqlAoEJR+Vr8xo4WQ3h8hP3NK4BeWPVsL2i1TOwamr4sYBAxqpJNeJMYNVQMCMOrJodc3ojySp2 +zmUWDDNSLBobWDUpVBUXrFq7w8VAq8THG4sWV00DsvUIZ65ap375tNywLbvlHkKdfzQ0k5e2/0hc +Nb1Rlt8PrhoRMm59cNWIifjMXsYFmyYdq0ZByenwLTJpfC92DxmrhnpGRcHtZ5JtWlg1PsuRbZub +1DF0NFNpBw0+MQpED7lGqXizF1YNa7CCVetsJzJWLSkJ5LXVwKphSJ+xajj/f2PVNLgWrJouzKN5 +jlXDfprgd8KqIVLYFlg1FLMCcqwasabTKpVWroWoKov2oKophm7hoqCqSbH9S8aq6R3wFlDnqlls +2TvurAMphMxVS6p7oMqLrXDVFP1/c9Vwny9cNbaNhau2lfJzLDW4auaun7hqQMW+uWqsrwtXjTX4 +i6uGWrhqKJmrRrf3N1cNMXPV4EMUrhruuC+ump6mylXTD2lWe8FLM3PUT/tVuGr4JxxXOkxLDW5m +YNXoQry9qWY5YqEejkwDq2bN/X1T1d6j7z85q/yLqGpE1+zxTFS1BqNn2OKN+VqxOcupBVWNKZc+ +9ExVI3U2x4aqIWjhv6BqnKgVYYGqSSV4GVA14qfXcW+oGj1NhA4zVI14YziaWmDn4xGeBVVTYQWZ +zQJVk32G7ecCqkYvmhmP+BqJ7jGewAxVQ2UJFVA1lOnwNQs4fSKDnKlqyslYeMmxajTYEcwOrhpp +mxnktciQto/bUwRXTb+IrbKCq/b+Lf/0O58XpefoDMlctUYWzy2wqYLmOHOu90oGFPIWmavWIru3 +uGrET5eAj8jHA8IZq6bojAWYA6vWZkCTA5cmwyir+chYNVZ5I+PXOgj559hYNW07yKEWrBoqzliB +VZPCY7ewalK8/jJh1ehLNza6Y9XY65KPCaxaN6fuXrFqRAPISAVWrQeOZWHV9ISbHWzGqjGgU9kU +WDUV53k1pHPVtpLBakntYfbUHesaxLT2eNQ5g9XwRb2C6ELX2WflFIysZsJw66qFENrqFWUIvqNf +bDWNqdb2ktlqqBSyB1sNRaPPYqtJsavPbDX2iH32TQrrH3fmCrYaNqPWo5LYap239/BchIVZAhkW +bLWkpNKNrQZbTX/yYLsWzDS2F58k2DPr27t9GP7eFPAbWm0LGa2WVM9gUrp4JbKaCjTHcngMsppO +tKqxIKsRteP5jPulvaG14mWyWsOFvdkvTIOQosONhin/+ooDs3IvZDWiw5RaBVmNLR6Ff0FWIyVC +G28CqyE2h6ZRbyOFWPACq7XhhW0FrEb89u6bq4bgn8RgYkd8WsWqKWxNr11Q1RTytQ== + + + fFFQ1d4j5e+ct6eXYxao2pxBjXao2hFWcsFUO9zPqiDVjtN7D4OoxkhzXhuodnirbOGpReA0cGo6 +Cw/3oKkdbtiYWWpk+ltfKDXyC8ezSWrQqqijTCC1+bipe3DUjuHxpcCoGfmx/yoUNaVejHjgEDUJ +l7PRiPxTP/MJBoPvNKOfehHUJGCFGQQ1/bXHsY/BT1M0+Ndipx0eul3otBAKOQ3x2tw0TTbmAgQS +7Yrg56am3cEDM0kxa9YuwUx7HuvtzsS0x9vyFgBAtVIzA9MUNCUwk3lpy6ogxPPje56gpZ1uEZpp +aaEtWpqqXY7r3rC0+44S2LRHp5Jx9o1K08LJCg8ClbaVjErbaqDSnjt6KJ2AhmfBmZBofiMvQzW6 +SFFkvzYm7Y6ygoxJuz1Ovihp9/BHwSfl222xCiNNOXwLCzoiDd+WblwMMsIKgpAizoA0Qtj9WXy0 +O1o2AobG00Djc6KjqQKf/H/A0YRxCEoY6eQtJBrSFp2MdnvecQHPlAHG1DRz0eD6jrZFzGz8AcAV +awkZixbiwqLd4eYTuDM1hdF4kKlo+rXN3yZULfwpmlhUtKUUKpqpbW4qmkonvC7aaWcyt6H+JEPR +xH2aWYwWgYVEO91CqRDRzmGzrEdscaZ3o1Ks+dSySt9OpqHJ75Xum4ChyevV/paz0M4RZQkJhXa6 +z3SA0JTkus6gnv2cfrhVf8GgHW66skRF5BibA4K2hcRAW6Ih0I6oRgoC2uF+KAWApgt42safyWki +vGKhn0lg1ZzhZ4j33Oyzw32OF/qML9Z6JZ9hRHteG3w2LZG8sGfx7ww9Cy2QZ8QCxrMbbA+3vSh9 +uLrztFUF70wuvcxUgTuTbyjPWIKdCY79uTbqDJL4594EM/Vc8bEZdMbGDgPvUFUw4qUmbiqwlfxq +L3WBzlq/V7kGnDPrlnd7j8U5M68gEt7OOZPnovn/BemsESyZVyWdmT+ReyjYzj/SxQV1psViEVXa +YSygIJ0pdo+zWiGdmdpDnZcf5w7RljdAOUO5o+zF2hcX6AxhgOJxY3UUK8dIoDOS0oztTjqTQEJj +kc4aFjrPUVlnKmuxeGCwzrTDshk3WGcYnJmZTmKdSbVMZ7DOpFi6MVhnbLrmXVBnOAw2774FdVYU +HgbO86bpRTozV8rjWqQztWBbF6SjzhQTtyKRjTrT9sT6ywJ1JsWsYgN1lpSEOjNVIb1j7U/cbmGh +zrAOub2odKHOqPixooQr/Au95XaxzuTybC2omXUm1bvWnHWGG7TDz2wboDHd2r8T60zqPYKcpkXK +6WaZC3XGIdzmjDrDXIVMQKDOlEVzpyxHnamoxmqfMupMqlX9BepMCvW4C3UmxUKLGXWGyuosWGec +2e7tKMmHh8fkXlFpalJIO0hnjQqAz7lJZygkBTPpbB8XpLPG/OUWQe70bVXGG3XWFFMnVeHHqIzz +bmEF5COMKRl1ttVAnWlTRgBlIcywNmhnJZ2p8sZu4DpMt4pn0EFnW0icsyUG5kwBJyI8C3PWVsYg +Yc4QP8+mnLXpfdNBOdPG1/ovE+ZMIkUiQTlDaH4UfwWFAGTGnOnj7RUOzFnDo/3sm1+mHTl3KlPO +dkHPOuz8eIQ+MGdbyZizrQbmzP6AZStoBh5eo10wZypJMtZFqERQLSDuNrmK1RpqM2HOFNy1QGtg +zoigNg+cWyHZUjLmzNQxfi3MGfWgbM0Cc9bUFkFDacacSTVriMCcSTE/ZsecIZAVy5gzqZa5ccoZ +ApmvoJw1iI8OTFuUM/2S1nTplDPdRXunA3O2lcQ5W+ICnZFkJwwSALOmdVp7WgWdMftim76Ou3xj +HqCzLWTQ2VJXf5GCQ2ZiFwAzjYIe9EqgM546rKjWcQIwkxoI0JkCuZQ2Zs6ZxKedG3PWwvdgcc44 +j6cjc85QezDMKH04Lu9mDM6ZFDI/hXOmK/MzxTkza0a8nI1ztoTCOTN1ZKdXQgznsQlmhNKs1zmB +zlSkYfXy6zgZ1T5uvmCj0B1ByEw6wyMWX7QgnWnJYQCJIJ3pS9iaL5POdJyNq046IyDpfiaeU+7m +yVVAZ7Sjma9kHNeieDRAZ1vJoLOkOuiMepvpWW4zEdbftMxaIp2RaqdFMEhneK0EEW2YY7WClIf5 +Y+yM+WdVyN3RmNXdzi5QZ6vEq6DO6HfonhVj/UiNEqjRQJ0lJaHOkuqos77ySoEwM6/ZrNiq7A5/ +b1dJwDFyBuoMC/PHy2YW6gyVioiMOqPlzNlXzBusM+3OO+psKYV1ttWAnanyzuziwm5V/UJavgTs +jKpZijo1ZHav0Fi0M1PuNHJw0lKDdoa5IINy0G60O7G7kmln7ROFtUE7k30CxVIBO9PiG2+XzDrT +ApuhO1Bn6nNlCZhRZyrWhVoQpLM7ypADYXbeZitaQGcyabW1mIskoR1xRutHgpsRzHCs2Vj2d765 +mY5NKFAzdS91Nx8DWfTQUbiIZq9o8e8MRf+/HGj213/+v/787/7hz//+b35OsD/1/yHw2aTw8GcT +PLV2CPKZVJCBS5XyMyxcKOTPpBw/DzdKwM+mEvkq2ZhaEdKvZymsn/84Hnuhp6oyPj+7g6ngRvDP +puKyWjRPdUZoWkf52VqikKK3Y36eLileU8qnHT9v0aRBow8+H4Akil7oifvNZZ+0MGhT1dKCOc4I +uEyAMTQ8f6ykdyr9+vOlj745aFPpv6k/eNjqfDDx/czgUxsKvRbqMxc3cV73JqHJeodalXl7raAA +nHbzadyHhdaskmgKFrdhaPTt3KYaDa2JqXKgOA+tGZlRSgKiNYMRSnUimirTjo7iSDRVFw77mwHO +FVRUBN+pyb/x+apa/hnJJ4045JB/5oAe/+YsoZ54JPyYyUr556ck+ozPw1LuzenaqoCThmpXP9/1 +8xs+UYB84Bh4bMX+4qNsWlJ1XaAideXmj3ViYfNzjOyLw4cVVTRiqUTIUX6WpD/KYc+llC50Mko4 +4kpVEksiOUkJ0DdnNCtJOX6eAlOCk2YJ+0Pq5WYO5wRPqWs1UFoI+rkWKG2Jtzk/6lv/jLTnr0PT +OxUJaqz52eNsxe6rph/FUNdxiqUJazllgQTYfCnlF1nqpTocoov2Ll5O99FvfXL/rs9GqMlFo8/b +30YlMzHM+JkbpwLLAVFDVOfdhKToLh3+6g3rfCHe++kTZYHUUO+PnWls7kmMxRXFfq1s4bG/uRpw +ZQjTRHqfeN7qwSfLdkwbiEg8aJ+tnzYETrw1T/ekTjDPl/wUrFZSY+Fnj4XOLUIV+pcxU85oUuwa +2Kk9ptTxN2ZOK5zSWPHYs9U3U43fip9DhRRKDeg/mjjG+qnl2sqT9yjdORboUJK48AfF6J/hj+fP +cy2F7aE9+z/viJSFVNM7wl2XyorV3qXDzqT8QMoQH5UzA6mmNxqw9fHx2uWJc56u8HFvZr27P5vV +YR8aTaAT/7CT0RJPNB7/nxGL0QU3yKnFYrdhNoBqaAz6tOTxB2OM0BpIb/okFKpHRuNzENUmHRua +slTuzRSn3grNrih2mxV++HnqODPSaPOBOXNzZaxV9ULr5k2a6vlq37/jn/x3nsKM6mXW8LCAalJ/ +Jhqv51GEiOPuqOfRnl4KhGjqeYKoJvVnUe6VRaoPkPI5GKi6EdUm9piPnxn5WL0YtK1qvpV7zzwo +ejxsitCmZ2IZ6NPNQqpNlX7IincfZ87tlqagRnKIVKY5mCKrxfVWLvV5zHbYnIXIriq9M9z4YTyk +/60vdnXvD/YdlyX6sfCUwvyKQppNyuiPF3bFQABQSSlWma+wmBXfEOT2sMdhqqLvxqLpWGG2Kaug +ps4UtbUqBj3Nn9f85mh134oysoFYS+ptgeYplsWhn1fvhypWGAg01yzF/qb61/gq6zhCCvZZjLtJ +mQu0lsRO3omvxMMiswpl8qd2qA+WfU8etGRUpIyg+iWV5EMZpx1HcJUzuXoWML4/nzTuT1MJ803K +3gxIbgu4j8pybvvwFfUe1ip12aXhP0r1p2bg2617k/Js6NpWZbSs7Y3+AgXbXKOiDFrUtZ8tzlZs +8acw2LzTcYqna3E5wAzqbV5KwIDszKV2Y69N7N5UW3B53GfKPFRDjlZNC782ieGf5mBoN0hlzDyg +65ZpA9W0NLjHJrBN5SUalgyHBR20Iu1q/9VxBBOmPMw0J3AVQWCTyjJNxzG6MMF+lANWl6+22prX +ft6BxouwCGxSqY6WSrmVlJ+Fpb0w9hifuI0epgSCTer9efzzYP5KYYB43L8cRTUarGjd6mXKnHlg +NDGttUhD0s2jIWOQPm0wq8NlTJgHrtUMfM8msB2KFjASyRFIa6DjUKnbbQMkhSKHlhA84Vo8xsMl +tbXmqt7ugyXJtMUvAd+D1U23YXoR2FBjeGUxw5ndB2U8Cvl0rboZlMMo8aB1W6Mfi56fEw5CuYet +FQlGHGqFPh0Wv6oI9K1+3vPJGEy4U2dCXF+j06FwL++tiiqCwXbgMKdcuZrn9XChdPu3goj8W8ub +QbN+pPelao2Ip6gmchRthHiRD/+kUzRcKQFh01dnkzgoifGf5Gd47gxz9AgvZSrQ6Q/WFrvTcg+Z +trMSm+7gd8hPhb1SKJwJ2HTk41S9rbWA3PMUujhUD31qkdaPzWDTYT/LkpsXk2qTQ70aLArgVfy8 +goeqsy895qHwJ2XNqobCfdwcvk/E+fZ8kqLgenhiLXXIWE0TzTGUPGfuvy2NoS/UTxm5hcKZH7zV +nnSccuYTqxJvxt+KIr3herZVbQK1TT+oPNaYE+GtQyPppfErlLi1JxP2Pk7xzdtGBbzKDwxu+azP +5rCh2iT4sUgYCo/L4x3AUog7SFkcNqnEJ1C5tyqlOzSpS1Fw8qCW7mPHLF8iXdvstz9pKto6BO2+ +h02xlAHYw3I8W7EzFURWK+c+TiPuZXMSlYpJSQYhSZ0Wnme5zXqg2aimi/hZW91b4cROrPlJxyn0 +rS2k/gAmYlt5kjn+UmfkqPQXHta8zZeFrMi79tihxIPAsjtEthiKNemjjv1PJuLgsG1VyXV+OBk+ +cqMPL2E5YEKyfb125eUB4DyrenF+/paPu6o7OmSxqHXE+SwKl7SfTzSTadZBUk6tzQcVHvrO9NEx +Xj/bvUzqfTz2kvjr9VjflxQW2xxzXqaEp9uBS4GmJ9lM8yVpgaWqyOGkP3/tryihCcFe6Nu2sumw +x39ZXLn1SGzl3iC2rR5ePqPB09Zxh0/C+pNXb2Z5ukhsXAiv0uE5PinHByfqgXWWhMnCWn1vayJB +1Rsnp6vhf+C4PrbnZ+lo35LLmhvFponJVkY/9wcTYE2+tjJiuXJnRZ0QgWLbqsLRimMf7NZZ3lsx +jeZUYhkhrF/k1MY9jmIXfZmZOouWQ8awzLPQzXxzeVCHgR2pU3U1XHwefD+77RUOhTz58FD+Njbk +vc+tajNF7GVEQetW8jCwVC3qzcVRYzLRvuYGKdod9lMfoeL5YLEprsiWbgKS0JZZCQ== + + + 9Eur1o9zmCdeLPpfkF58g0lMhDX+00hwTqIlepdc+EeWlx9/l+Io8yF5GFSYaLVS/ZkCO/uzgLEh +2mDqTrGmnMOVGcoMxfEGUumr09qfpCHKwdD/WAULStN+4nk2ku3n7+mDT1TSZFJOG+itTknCsJvz +WVQ2WzIQcZmWP5nqNbONweN3/xOb9PCJiD3YPRTwlarNiJSrjWnK+dhPajHUz7HhbFJZWUmlxtOU +jylk8jiTkJDK0cKRaMqPcR42NrNemZiwKf4K1PFndlL8emg/yhcJRJs2Nl3PQ3PTNwXgz4f71Gxx +m5RjIxy2Ot1YWPfRYv4q49EGcWKEbrH8RWmb+Ao321nYiZjWnJ0ooD3pwrwPj2IsSptUYgLELFS2 +LGUoRIXC1gF73eFRjPB5knoopGGf1zhMMyqRDW2Kx+M3Wn70YZ01VZg09Wyd7rcwoR3op1QkREvW +n4vTiG/KorRJ/dkZHa4OO46lvxQwbfP4eBRQnxWYNlTCt6czzTnz0sihzYC+9Xx8FSshMG36Cozr +P+sCSnwnFnnasE1fb2xF7SIRoN6qbBBULzWZ4G799Jf55ClyyQ51KbYB+3iQfR13AhA6eFYsDrUU +VdxEBehW57SVpzZz17Bvi4+HvsZTFLs9GgwVr9/HUaHeCDZZgHArbcPbtjrcCGcep815ugOT7ePH +tnA8uNG3hnp3e5zZtUohdomiWLOUyR2js6XvMxko+bzT/8JBPFoGW4q+oGgNrodtwduksr7Wpdm6 +SrQkDW+MkDpOvwn75qXYk+cj9j5OheKkl+TJIXrbVmbbZUFb1eLhWX9Br42CBQql6UVovDih/K3H +l9mc7uMURLVY9rVDnGwvFf1bbh4KhVqwFZMnj6Fe+g82UCRwQpl949u2qpLHwwOsHtxVdYgiHky8 +etQWvk3qzS8n9dPtuJ/n1I/jt5RCMut8sqdy9yGERmgN//QK+exK0osztc5BWeHO47HAmeZv8G26 +i7aPu91yZyvPsW2Ll6ptJXXqeimGJhfW56oL1wt0XX0Lf+tjbL+eOx2G6bCWks0L9bei9sG5glVo +Cp6T9JhU/usK5dZ9sbNVlJTs29hJJx47sqPrOBWtsYGcVoLM+3mwybw3xE3qzzczFT9EFG09pGCy +xpkaKaUsiJu976flCliuT8zitULXXkUhHSnXw5d8NsRNl+ZnXuZWNRV3VjJP+RAgbkuZOOmvQSRU +VRjf/IXhs562MudtqRkCS0uxW6uC6ZaPa7QTPCTNZK2jqbp3Zqlno50mJpnkgafl82aLfNLtlUEK +Wto68GmL5TbhOOrGy2xHPdzTcGw2DUIJ0JLnZ3SZW7E46Ywn1tVBE4/WXUqKfNjWhqIS6/CLSOrj +/UxYrXuemfzKB49nS1q2FX+GQmyJZ0u6fD5+v55uqRMUllFP21tXVG6avjoziT6LMUqFeBYEVxhh +WOJ8od1YYcq9QaqZaT2XX8UdrvtbuZa7fBKtxnGQWOJOUG+s4Hn+t13n9PF7H3VaYYDafAisfg5/ +lBS9D7zbpFV7zq3+W/84yzJG0IR1Z2cH7iz1pWhzvYBfW5W3AVO06kx5vcbwygZ1bk6lA0OJSZuc +/j7u9goLbdaBai1ljSA2QYSqok0l+/QcTYZnQOKaCK/hN0jlEA55I09PeE4kN0WCFbNiA3B9LKun +4MjPotTXPcF4Y4xhEFfzkBhvOvFhZSgLjGC8KUwzuhbp2qSref1nePFkvGrJNVEdg7np2IptQmcs +1OK4MCDRTIW90FYU8wvoxlYxIfu5e4rVaiYZoMG1nZ2aFzykFyPBgdOVWuI0bWhSPZQP1xpJ4Tr2 +f++odsS7/1nIG5vJRgZ0bsibVItWPu50yXEKiEuhMGVSnMvDONMOQc+h4n+T1JNuraonbVl/mLO0 +br+X8bQNeUNlVSCEioWjuudftMLgizaKzl3ZMUIVnmtMBdVCRJDsm/1MavomMGeFAm1j3vQUqVJG +BQs06x3qhGQqFOpYrtpMZFYM0TbrTRHC1puNNlTEHZjNKHUC5Iq36LS0JZNvsN4UjB72emrO/6Ww +D/FN/dvivVp/KfSka16sN6mkB6Vqz8JhlpY3XIkEKhUkLNYb6oewqZf3E4G5/ZOAvUkhfo0SiRYS +Hm3YLErNIwEvrQypFyBXoONpoJ67A0OBH1VzKKpCRYMCVOy1dUtY5yhyQ/T0gA4fl3pa1IpXT8WP +hyqiFW5XbJvQDclm/cD93rC34/CEsy6DGme+0biJumNpqdvMukS72UC9SRz6gbBQVlQR4yY/jH6j +A9rhZ9qJq7dPsTrt2QlMPrf9jD+ziSmQ3lC4a/3YpDepD7e6d3uxlIFhiXnIUMLCX8NGMYWbFunt +oO3QAueA3g5DLw3GLkBvh/JlZ7OHcYHeDlli6g0/cGFvduZFXcZ0N2DdVzXgkQ4KxpWiaWwqDlp7 +iJ7eVppyYFFy8kuRFdTvuDhvB13zilfqgVF6QCG3pqygno3FeZNK7QvhRCFGdOGPwroo4rzxVbS2 +4MzgvEllwLPP08ggRbsRKezFUE4PRK6gAFkSPfzDfat0EdQG6j9ojtSJVo6iDG2A3n62/Rojbl5U +GqCpoiHaooSlkkGMGlqiqXogOG82TlpNiy1PNZTaUHFYu/Z7EI7x+/dh3iw1wQrk2pg3PU3XRbzx +g1MybxoZ4setYY4ZqUQN7dEUi83x4aKWxFIeilFYiWhzImVE0mdnLxujg2Y94g522GnZe8wXZKqs +7Q5KxFQZTi9ihMPTfyosplBAi0UNsFazdNtVLcqbBnWiQ4NfQC3FmpLIAjxulaRhntKolci2PMe0 +kibUw0vnqNqkHkQLWZSu0sBnpEyr1lvXsPQWrXMoj/9NWuw4856mJDcGlW0dVtIC5u0w8xZbYZ6W +Gvr+Lf/0G58XQqTKwWjNtEBvg5ZPTdpY5zULwnKlHEensMKttxYJitME6w2VVSt9Wfxgj0XNpZCf +GKsiayYPDBbLhBuPiH1rYo+AGjt+dTHo9lsBU0CNSIppj6Sr1i3TLoglH8PsQ5mBLPmnzSWL+sYz +wnwsVQt0SoEU9Jdi1YQ8RyfC4r4hakkg1byXnsO2YlJAv0kZSveiBPtN1SU/44kNPP4tmxX86Tjo +b5OrbhYCWPy3CX2gXzwitrUTGFEbIz1c2rpMzLKnltBtE+AUzLeL1SaJaqZI3+s4K2OjbbF7kjcI +cNpbD+YY7dxFgCM6+pyW2LRCf8VZVerGWiUebEJdp1cD0vmqa7OtRRtmETyB0UxbmywCHIGN57Hn +HhPiSdtlb74a0tVKUVSS5VCYEEv9sFqiuqrbcT8zjV2Fp/YJ8HMNgYDTlf2sqQ7SvMTKdMdI9ukH +0HtPIMI++tgMOIrAn4+VVEJ8Id54Uod7WiAXtg070Hsx4HQeG2CQbVrgqn+SQsPb/RQICrJrv6/N +IlLcgeogwnHaV/BQaBtHuad2USBziROMjYGbLF20g7ofLw/tl9fv3j6mE45j5LnnJsHpGfv5aSZB +DcZTfdYqpqXceWKspwigIpgBg9OV9Eaw0YG3xJ70vXHc+VgZ7EGd50zgE1TipdOQQQg29jjC0+pn +iTida9PuJbQnojb7drsYZ04DFUj5GbWtG2G1IOpKLe9zeC/exLdEmxEigJ5JKsPk75y0VYplE9LZ +NxqOErBjutUD3F9VnVI+181xmZK8qDdcgUzUqY+73Eqegj7V+A/6D7ze7rxuV2IolUrwFDX+gs1k ++ixK1C105X8zfMYGeK3b9qnmhabSICoY5JQ/bU9reWSVS8YGgmJq5T4sJX/a/MsiWXhedbEqjDOV +klEbxQLFST3oVji9dl7O7VSjSYH1LAXTpuvcMVepl0KnI4iwUqwa7fJ0Kgr1JNe5vRA1J1PWq5Iq +lgiatFjrUozF7KW0MUVQZ9vUOI2HlgDGD0svw6FwE8hRd7jUbvVn+3Jw86PEYJ5eZ0/meHqq7abe +Te1iqviY1vls5ZWLG6eXkV0KazQqBO+ozft4olTDFcWkqkE+n52AIZZGZ4jBkEDdWfUryTTtQq4g +KK9y4c/hBTGXu1qrJMT/pDn6sgbTRnaGS5r9Ir7cY4IHQ6giLzIy2hbdJKqGFcQw2gRBjpYdGjJA +jFuWgeKdSYCYMs5uNb8Kiy2InE60wqjHran0uZdW6qxgCWcrWqutk65vceRItyqXudRpsAE/UyFo +FCoFnjx8gzNotkY22CNnUhh1mTmDPt0eqOfaODl9O3amlD6zdMIz6bYHlfNOCy0QCV2PXfMCU747 +U6Lu0+ONTPRV6hpOAt7YnzzxLSMB9vH+T+qR7c4eViWp/0Vm+dMWVY4gKKV8GL8ougLf9LKCLUs+ +ttNq71SxvCIJEyaSllLhu6o0Hg+L1vxUapJ7+1BI3HYJF9UKeu5mWGLpTKuj6O6gPY2VdTF9Lbic +vgGbY+pucdWU+QgDffeNJPW0xBm1CHqiBaRFLdljtbWM4VTkKYiLwcztF0vl7ipTl0olBVF1DXxS +tACUQo2bFKurw4Txc6wzP8QQ9afgQil2yGaHP07Fpupq7ZDd6HKdloLjF8AECVuLZlUgKpmlLtXC +kcemzWFNZJ/frDhhUCt82CxgvDnFF5Qdl7KJc6cHVzSWGXJOg7nSTMw8MOc0i1lVY0/QOalsw9Qp +wQ8gPzflCaQYdu7qtrRGWdw5phUX8TkVaI2yPX0U4DmUjrDBc5yn31LVNxhvnaus9zFDW1rBDqD3 +bbPnKHaiBEn7Ef0y+C6cdjNIlw8ShjcP9cLPqfKIrZNeEmtMUCU1bQ+a1XAGkkMfxVnPyAQ6teZZ +vsOs4tSaoaWDnn1H0DXzlLZyELeo1sdR9ayVvtXXqDSUiL3CZXoLtQ6yd0RVaXs55mM4pRiX7Qmt +vIO6PGaWGS/X3CA6kswayliG0wxh2NqHjyJIYGvv6WUXQaJjJUcr4eHNZfoIy7OLdhUoOgoOSBFf +XvqtocAWp0C5mq397CrutlF0VdWLb8rpgpbKUV9mSjQhSWWcVRs2Y/j00C8KrVBabpIplbKK/bXG +1QBBqoT8LDXgnmTBVleK7Z71xAaJThPynNGZyMh7rgzbNDMjCnCInuIDERVmeDZ2ywBb6vXwGiop +LIkPLSEVifxs+JXEw7oHpwWJSXFPP0pRPgkWV/zMVE9zThvsJ6k39u4zwl2e3NI6Bzv+1QvJlwTJ +ox0M2LfDsvA8VLdP7WqdoJNDVbNndHdFL6cWqmy5VC5GnYCYGo0IULOiTK25FouOLVrULvES7lSF +XJzlfqLS7ocYh2oNAm2iTaD1nanWoBG1OTydwevOznR6F/LRN41OKpEiVCJFyv0SH5TCP6346+gb +R6eg/HVAeT7Ms4NwEsW7R+Qk1FrDlkWb9sDRSaX8UapVQcut//RiGgI0Utq0Te7C0Un86CYS/P1Y +SIHQF59k4bFmRbL8xagyJRH72Fa4H5a9vDvN3Yet7y2xPr19MnrUFBbRZ10fI6OQuw== + + + oaoeT6HDsn88uqxsg0Y3yQdouJuXb/LO5nUcMqWRVeukxVkvuTifYao8zSfM+s+92PKw4AzDzUHT +pAZobafnZ9PotGe27eGMtpQ72qNnxKDuZhFplSIsBwRlPq1E6XCKpr752qTiIqTU2cVCa7b9Rsp1 +iAScBWMtw2blIc1LBPJ5i0aHyhKHSiC6BBUM6K5ozJViPQ2BpbMzm5VkajqwBrHT1y661za6aoJ8 +vP1oYZ0oRrXx+7T5gKs4aNT/2HHW884W+940OqLrpFwPs4KhDYHoJ0iNwxqVP2Rv+7NodBoGqBe2 +RRp1atOjghS/eD2Zjflysg8aHbsdGuKVblTka0aDEAti5i0ZPGn8VelIdAMx8ty2vRoWVpbfnRV5 +eCIb1NXk4VkoOtTTo0zcHCn9YCqJrBBGqsOVwNjQevL4mUxalgN/XCERgpWMH7OMpBStu5iRRo/q +ZnozTiZ9SxRpCcyP2z+bRmcRfN9w0ARHt9R92caKfkzl8khiUncXpveHZozutT1YtB+4XzYrHzUI +8+VjilLzQaNTopHuP9siK4cs+AbrBnlcat1ACoowlwLUUb6gJOTFy6egJAmf6YnTac03g795EgJS +3VrQ6Cii5y2U6Z02SvQkMZPpOGt6uqxkAiW83UirUdc1LjNMt0Qbo81lZcqcaV4Z16bRKa9mYa3R +ww718Wc2uMQUq/OWyH01aHQKa/sIF80V9NxQSup0SyV7rPYlrCvWmfxNxZS0Lj8IGN4+SH56RL4P +3tmFo9OF2FpFBUM4W7N0uy0YT5cB6W6eWhVABY/ugBNG1cc0T1cStSwANGerOI6E6zRzidXCR0k+ +VVbKTikSrIuw0eYJd3GVqvGLK8MUkeCDscJzc8Sada+tNvE2D1lFwNlHZ4qmtblZzzsuHRJsjXDH +gydrPfugY9esSrUCUql2nlWs6ONHs047+C9SFo6OnDq2B2KfUxfCaH6b+wJBcXpWmAh16YEqH9h/ +HYgA6UiuUxdxW6RZ6VpbayjCdi8v3Rl1OsO8ivRRLHrujwHpdAk2EIiNG0A6U00LHN1hpb0nKk5Q +etJtU6HjgKEf0ZigHWPg6JS9tgWT9lyk1q7LBy4NyOLRHZfHw5ifw0ZL+WwzlFBFPN1l83C/h4/z +IEnnYBbymXnZdpvbAdY1VG3AQ+w29rPE1xhu832uYaUi6Y4Q42l1MSTftSdnU6HpHh8WdQYHkE6b +kOtznF5K97G3x/uTxwbSUfp0s/E/LUXJ+t8a7U/bk04agrXXVNg9nLf1TlkbqVYiNFyoGoJ4Kll6 +/RRCddH4owkn/FqZBNmDRsZct8XCWEe38B3d2Y/t+heUTnktlp5yy8BKkHCFErEy+JsfD0eUePbv +jJb/62HpqGzoGrg0IQWWjsoGnvlQqWPgXdQYeVmyz0Y84abWfE7jOGX5TgvRI2r1ofJbYnj+rFBB +5gUI+XIfVpeIyyyKGhmIZzL1cczlHTURmOHzRreYt404CgQS7n0813vQ7NI9Ch5kOhUAsk34WMmM +5XQ/7pirodmKpLTxCTCd5ghbd6heUtegAYLK1tXnfeBL261pcoHptFbATYbwm9rxVRPDzVeYxu7W +eXhc65p1gGDKRI0KGG2NEehkPQ8rRJSyyHSoFN+J6Hv7mR7OiVZxfZZGH5R4so9ToQUFmlSaTv/y +OXw4OM1o+yAk7q/4ItMdVuaX1IOtBSH54b3oSxE/M4A5ST18MAO4SaRtYA160Dp2tCVwnpI2R9vi +QRuwIn8wFvQoXWE8oSBnlN1JxEsD3O3HBuyOgZQ8Tg4G7MtWDlJWgkeqB/SaOYgeKv+kA5/KUM1V +oKannRiVxod+hs/pKSglVS/fHJB50oJyCzMVbC1VLShqfDvIenXGMaOU6Haf9+VK9L0rh/+QunH1 +VGKd+oHL6fRJSb/GVp+PgekOlYzMYbkD9eoc2Lz4fiHAdPoV27QXzV4GpWYanWpjc+kOoyNZua+C +zQjnbXF9SCgPRsjWzBZYOsRmOyAsVw62LIcdRVpCyufWHCslsHR6lH62+JPX1mrG9HBoQcMwJDtB +VZodVi7zbNdBzfaEPfZxY/r6WKCihzWbrJyblSssYzJU20ScxqWTYoFMjauKPr/H339yXvkXgekI +ttnDOTeYjm3GnJYPZN7WFtiMak4HgTPz0oh45BkaR6hhPbXk2FCwmzlGpPSa9RZJWWQ6qcQyUT09 +bWmBw61AiI+SEpASZDpLd+O140A6RVebdULfFjeeVNgNe3sXmU77fzeJGUamI+hL3RXmZt12NfdJ +YuTZZDrU3q0LnEAJyuFJQEYMikKGnbjAdLRJEZJ/CCLRSCVvf/2blgagF92VlYqd4dmhcOFhIQlb +a2kcpGjj9Uv+6Tc+LSRmrddlbiydaiIeSkI+biXOcfq1LTCrraiSL1qPoQSWDvWh5HB6RFqx1OEx +Vwv5nN4SgLI4ElfYFmrqpxviVhScjgnfkE9IstfYik3pj4dSQqVod3g9MvVP2n40qzx9NpcOFXcx +FV4CKMJPu9lax7b7enSoF5WyHCnUh0lDAcWe05r5meo5TsgSFGVb+PSgURAXoAi6R4nqBIv2EDYl +gK5d0GnuYn3392ncOIjrPdOCxConpHhT2ycAVEsYm0q3xMtLE3BRIFp7nR4WHSv+fG4qnfa8Vmm5 +j/P0wmWcUvu3VYPucsAlTrPUtK/zMS81G7BHNO4oUbkHz+ll9/B5hnU0WOAAyxCuICLN972RdOwS ++zTVHFro3sWD8CbMrotwm7V7I+kO3tvDjN9swantBdELfSdcBpeSS0WS+vESR4Vb2a+dTqLQjbbO +pjOxKXDmIEewjoMTSr9Bg0m3BeVe5opKL/Uw5gN1lrTvYh91WF3aWE6bAaWzevjDjPXs/ih+d9z5 +jsHY67anXlA6RSTIjt/R3URqVWFULWl5T9ncfayXakHpiBFb7ddwr1Xt8tiVan3JdlPJkee2UMui +0qESTtAJNMqq5fF2J1LroFPXCNF3ndlWN+rjKfTLGQcotkOfFiiwYz5nuJrGDpSWZat0BkxH3w62 +Bo9nA99j5e+ctzUlW+Eo7m5OptP6zIbTbms+81rpVtNt3qOPW36xVerXbnCzzkqgrM29Z/T0cOb0 +Zjkm7CNqIeLMNTyDDHyw378jt2bGNkQvLP0W+WAqBZrNGlDvlHag9UEVPeewvLzXen62V4p5ginO +pAoaTSUDopRX+sGpo+DY3vtzg+qIP7TbcorE81AI1CheBM2KGEUzG8a190SlguQ+DVaHctiJwOr4 +k+TwpASuDn8YMxbthqzTTzIsEHhaLGcrZxoXTb2mJ6+71d4c5pykNBMBHBvu7N88mSpSIoLrx1Dj +cVkQHHSdgsLW3U7jcQ9jiNvtiEdkZFQgqK2vNrljmveCJTVD4Q8uL4dQccswN6ppADtTTu/0958/ +NOz0Dks84F1ELvOg4Cq213kzbyWb03Oe08PXZpfwuHHZVuSfHsSVrdKrirFzj87Rj+EHuG1mxvDZ +QALdVarn9nGNtl7rOYVjRykVg/K5OXaIhNi1/aNsoLlzjaYHq9sRUpiB8dooO32+xVe0v8QUQh1Z +pNKlMGMqcMIPojOXDScx8GHPV6MkwltTCDvStM5Dos8Mxb7k9Mb7y0kduhmWfFYdpN7RpDwbfLVV +spzDEixu8nv4cPiz7KIycil2sfCWynEft7B4zGlsC31z7ZZIyIG7b+ZIqsqwhWR3RP1S4hHoXNc6 +Ti515LkUtlOV81aua4PtTFU6Ro7RVq58erm3nFPatMIr6kGXYtfa3HB2HRd9ETa2TmvItfXHc+/O +VNw9ma8f877AyjNcY+EH0ENB7vy5N+BOqvkU6OOmm4C6ufRtsy7H2Ix1b8bd/LiROD19IPDUynDR +vjVsplEUix/NFO9utL3L07dKWRkjfHdQ1FaAC4TN8lb18rHnYQF4tBnVsXIz0FJddXvnmnp6tAwM +8xGgZi6cfAHeobAeVyllX9Ww3WKVrH+0HkchuQJ7fQ7/ls0K3Rf0jh0h02JrRr0jJnJdlo5qVoIV +ioAcsWNJ6m2piUHEQbuCaDzGjs3ayXKDMlUIZzQyX487LavnQT3OrHm0OWKOpUfBCXh6Tbr1Rt7G +wMOklm6zPm2XoRnCPj2Uv42IwPn0dNx5RJXL5dvppZTBYKkqmzu6mcWsQpH79NRnox5rzo3BM5um +YR4LYPAofOrkRC9zKFGW0S03FwTPjKHciQK6XaSpl/CPvja1tylUFZS0xhcYNsWqb+o5m7nmLwie +qSPUeflxx3DlCuUK5Y56mzvsu2+rfkWx+3mb+Q4KZSDnvSl4ZMM1K6hepNlRJFEkAMHD+8FuxULg +8caYMXg3BB4do5x3rF2Shwiovc67NzcCaUZhkUK1vB2n/eUY9pBRbXLvE21RpcJJMfCKMsxIboSb +UNsQPG10zYRDOXLSsuqReAhiyMma9nu2sOIZe0quXf6byYgD37p2+e5Q/Q2YO26lbQaeqZcZPtl+ +6BNWFTLrVkQf/xVzDLw3A48yo2Hef+4e6Z3IimEysjH8YrInzF8g8KR6S980h0bsu81hMvYcGvqH +LZuWGbBE7xCcRn/irTODRgfjcIwt6edm4GFRQyJeRSQ4iHHCHfXll1kzuNvW3Aw8qVZuiHrYcZNi +J5keUh0uvwimTX1WFKGius0iCDxObPexHT358PD43CsyMOscF/aFusUstJtbBKBQkdNT4fQ+TmUm +lGozw1kPnluz287W/m3btsvNTf0Y1ZHePRyVfIBxU6S2GXhb7cONgMSRYj+s8bRREKAMtNbXKGcU +TQ2/g+s4c9w4ftmash1ZOZIxz1LBdrBpUQHMY35XtlKJ/ASr/E/6kuZV5YhPW1hqKdXNmIHF6G0O +S5HrmFeMjhJP928BA9A9o4BA5lgv7rOc1i9/i/WS287p4xAORUOfbqs722mHYr++j9LrMDUHU9YG +7LTdSeHeLI/6UEnPfeIPkKg7rWtSC/Xh5foRhqMZ0zJzrlq89jH7KYuo3r6VVPA7OHjaKhmQZHpu +l4gttW9rv7SUcM6NSK8BNrRPwsJOxaj0wNyxfyHyRab92uVLtMWZe8blhnsyCm5x3G0hM0vB0Tex +AAczxo7LQHgomF0rDYNpvtrdrPT62iA8/ZTWOqSN1LRN0PDwMlmsJYjQEkHc0I7bLDYtcngYu9hH +x+7Ot6HYOzzc5D5Uaj5PnDIpsE+CFvpBwUtqxChVtUZPsepytFjzvthrK+uRwwdzHacilI9nxYi0 +T7N/PPwLHVFsp3ra01V2Ko+3dat07vmYQOhAysLgoWq/KhVjDix9Pn7HrFoB8g3f+067zvuMM5+/ +8q56co/EyHsSrpa2VKgz+exSjfrYGpdRjtid9YL3TcGzjtQ7HdZua/VUAIchSEt7yvgw3g0IHga9 +NFbczuU0X4Fm6VvLKvfTVnxYugQET8dZfcdtHoCEQPF1VTRFdDsqrujOQ7l2WNxc+w== + + + 13HTi1Yt86Lcw1bGpuBtVdk99QJR5KNaIxKqlK7pbz7W0tVznNo76KKqeJzu/3q5Hz0KySolqFdy +fpzuL6DvfnRzTgl/mzMi5dbprzx/MPDwszDOhDdDUhdFlks7cksPLuXZDLyt6sZiSLIzWMN6mxTi +roqd2W3wTsd9rJ5BzY0EYmWh4P2R52bgoUb74GLg6fPMBZ5AidssHaell9nDLkFFz4HAW+J0YJa2 +Vyw9wuUWUBPuC9FqpvVzt3/PIwpBjmYFFqY8adCwfU6oP0+q9TLKoJHRODhGQHu4JfQQOgCPfhFK +Lu7bY8VyljBzhtPThlp8P94PthB4WsgwbEPEmETUPrbAbPdm4DGPwHDSVpwW9ubVzwrSPt77+NA6 +EUoESG055qISoG6FOZ2FtxSVui8i3lI1DMHFu8JYUCXqpze0wrfQKL/IeHRbdXdzA40nJjgrwMd7 +5t8R698ZD/9vdLz/enS8n13JH9DxpFY6XqfiO9PxOpbKX3Q84SArHa+rjr7Q8QR/ftPxuropCh0P +pdDx7JhKx+PTCh1PSqXjGW76m44nVHWl44lIWel4gk1+0/EEID+5CKfjiZ1Z6HidHNs3Ha9vV0Sn +43Uq9DMdDwTxi44ntdLxgOP2eWw6npSf23BVOh5qoeOhHLNvOh6fNXvLdLy+vOiCjieM7M8G0nrA +PvMXlPsvOl67A5jox9AHmel4SUkstq0GHa9pzT+1rQnqnWi8bzoeEOFCx9N1VTpeE6PlvCx5s4xu +UVv3HrTGNxpfdLwG8+WbjtcwzzGR5KiESseT8jPtn7sjzE48vuh4QI8zHW8JmY63Rafj6VtXOl4D +xvRNxxNRutLxjDCb6XhbKb/IUo2O165w1wg6XsP4/ZuO17RKLHS8pqXL/avA8dAKHA+lwPGa/Bc+ +RCITHA/1euxMQ7rfny84Xrs/fwDHa2TuMhyvEWLOcDyheV9wvN7CACjUDhs8wfE0FL7heKgFjifl +55b1Dcd7D78xcVrx1hCs+AXHG+r1L3C80UeF4w2cWgscb0S5+ILjoRQ43qCI+huON1RWU+B4Uioc +T8objid8boXjjX5/wfFGP/8AjjfwMbPmOmzkhlZgBY43Rn/B8dAKHA+lwPEG1n7fcDypFY4npcLx +pLzheKNfX3C8gYOTV70Ljvf+Hf/kv/P4nH8Ax5Na4XgcV+B443P+ARxPaoXjSalwvPE5/gCO1zGO +SHC8Ti1lhuOJsfyG44nuXOF4miIrHO/npxCM5guOJ7U9d4LjoRQ4XpfF3QuOJ/Vn35fgeFIqHA/l +Bcfr6qX4XBuOJ9h6heP1Md9wvC47wHYkOB6Y6wLH20qG4yXV83h9YaoCesdA8ILjaaSpcDxdWr/P +BMdLyobjJdHgeHylAsfrKsV6wfGkVjgeyjgSHK9bV9wXHE9qheN1aDIJjtfxy/yG4/XRv+B4ooxX +OF5SEhxvqwHH01+ocDyt6d5wvC74SoHjdS35ChxvKxmOl1SH43VFcAocT1jyNxyv0xeQ4XhdNnAF +jtepvf2G43UqmzIcr6vpqsDxfpb/fwDH69BNMhyvy8akwPHG5/MHcDypFY43sGTOcLyB4fU3HE9q +heOhFDgeyjccr5MtyXC8jhlJhuO9h8uYMLGVeMHx9OJUOJ5KkSocj9jHC44ntcLxsIQqcDziMi84 +HmqB43FmgePx6S84np6pCscjvlXgeLwTLzgejVYFjkfArsDx2KW/4Hhs7wsczzb8vxYcj3+/4Hio +BY6HUuB4/MVvOJ59bobj6eIrHG8pGY63xYDjKRJR4XhibL3heE6cyseJN5nheJoj3nC8MdsXHA8Y +c4Hj2Rz3DccDtFzgeLoZFY63lQzHW+qC4+FuU+B4I7x+CxxvqBS5wPGGQCkFjreVDMfbasDxxKmq +cDz11b3heLqSCscbR/uC4+EZ84LjoRY4HkqB442j/wEcT2qF40HfKnA8KW84nq6twvHgeRc4nj0s +33A84bYqHM+I4RmOl5RExUqqB+2FAi9wPF3EG46nB6vC8eB5FzjeVjIcb6kLjjfoY8lwPNDpLzie +HoQCx9POIsHx1j8LHG+rAcfT51Q4noK9bziekiIVjsewVuB45mdU4XgYHxU4npQKx2PSeMHxCHsW +OJ6UCsfjmG84nv67wvEU5a5wPI21LzgeA2SB4+HoVOB4SUlwvK0GHI+hu8Dx9CffcDwupMDxbBpI +cDwclF5wPFMzHI8TCxzPvuU3HI9EYoHj6VWpcLytZDjeVgOON9itJzgeK6RvOB6/SIbjkecrcDyt +4N9wPNyvChyPFuECx1Nz8RuOx0auwPG0mapwvK2UYSDUBccbKgMqcLzRjj+A443P9QXHG5/xBccb +wZ0ucLxOFXWC43WiJV9wvI4DQoLjdZUdFTieVqovOB5igeOZkuF4pnzD8aRWOB5KgeOhvOB4XeSK +AseTUuB4El5wvH6cX3C8LpurAsfTbusNx+vL0SvgeFIqHI992guOJ7XC8UzJcDzOJCSU4Xhdy5QC +x+uaZgscT+HrNxxPG5sCx1P8vcLxkpLgeFsNOF6n5ivD8frV3nA8PSwVjvezMPmC4/1c0R/A8aRW +OJ6UCsfrdGN8w/GkFjiehAzH44AXHK9j2ZfheP1nWVTheF0Bmhccr7ONznA8KRWO97OK+AM4HmqB +43FmhuPx4S84XmfLk+B4P6vTLzjeVjIcb6sBx+tMcBmO1+/5B3C8/owvOJ6GlQrH20qG42014Hid +TGBC4XWtm15wvK4SjQLHs9uY4XhJSXC8rQYcr0dtccDx+D4vOB5qgeNJqXA8KW84Xn/GFxwPpcDx +UF5wPKkVjqeLrXC8fkeNfobjrRF7H6f6gwLH20qG42014Hj2FzIcT/vwNxxP8eUKxyOIWuB4CnG+ +4XgKhRY4HjHUAsfbSobjbdXgeENE6QzHU8TjDceTWuF4Uiocry8rswzHk1rheCgFjseZLzhef/oX +HE93scLxtpLheEtdcDy9FBWO16/rDcezCTnD8RRMqnC8rWw43tIW2kqp0ArH06D4huPx2BU4nt63 +AsdTMPgNx5Na4XgoBY7HmS84HmqB43UqjDIcT8objqdLq3C8rmxhgeMtpcDxthpwvH6dX3A8xeTe +cDzF+CocT2HwAsfrChW84HhSKxyvz8gnBRxPQcsXHK/P8wuOR2yzwPH6stnPcLzery84nlLWFY63 +lQzHS6rD8RRzLXC8zmD7BccjR17geFKuzyfB8VBecDzUAsfjswocj2/5guMpdVDheEoAnO2T4HhJ +2XC8JBocr5NY+rWwdwqef8PxumquChyvj6fC8VQ88IbjSX3D8fRxE2+LCJqw7ixwvKUUON5WA47X +ZSpX4Hj9uv4AjqdJu8LxtP+ocLylFDjeVgOOp/G6wvEUqX3B8ZTrq3A8xawKHE/BkTccT4G4CsfT +iW84njZ+FY6nPWqF48mb+A3Ho9G0wPHMLSrD8baS4XhbdTie1fAmOB4u1i84Hm2mBY6HA36B472j +2hHv/mfheGP1dGY43mjHFxyP4wocT8objjfkDFDgePhvFTiebv8bjoda4HjDrFkTHM927N9wPH7O +AseTUuB4BOZecDw9RQWOp9hLheONsWohEhyPSEuB4xHbL3A8IkwvOB5FkAmOp7BPhePh5PGC41m2 +I8HxOCzD8QiUv+B4qAWORwSmwPEI8r7geCQ8ChzPagETHE8P4BuOZ/yNBMfDd7zA8ej0/objgU0o +cDzKjjMcb5Bs/objYahf4Hh8owzHw2LpG46HhVOG45GAKHA8yzZ+w/GI1RU4HkqB43nC4wuOh6V8 +geOZTX6G4+nmvOF4hF0yHA9XvgLHUyjjDcdTJKnC8UCBFDgeBk7fcDzyrwWOR9oow/E0SL7heArO +VjgetI8XHE9qheORrytwPEobXnA8ShIKHM/KGzIcD+UFxyNLkuF4uogKxyPl94LjCWFS4XiDqu4M +xxuglL7geDZOJjgeQ2mB470H4Ri/fx8cz1IT33A8DWQFjjcWeSXgeO4yVuF4EiscT0qF46G84Hio +GY5nhyU4HumBFxyP4bTA8ZQMqHA8jedvOJ4G9QrHY0oqcDwN8284HoN/geMNWr4zHA/lBccbWCBm +OB5KgeNx5guOpzVMhePp+isc7/1b/uk3Pi9a2L7heFLP60hwPBbAcyY4npSfhe0XHA+VVWvA8VCo +jg04Hp91Xk+F47FYLnA8VckUOJ5Cnm84XicpluF4nYEiw/FU4oPdW4HjSW3zSXA8SoEKHI9jPkeF +4yEWOB5/4HMnOJ6U0Z4vOJ7KUSocz3Z2GY7Xj/EHcDwVlVQ4XqfuK8HxurJaLziegvkVjtcjfb/g +eNoOvOF4HbJJhuMRHS1wPOKsLzhep4Egw/H64m4HHE8hjDccj8BGgeNJqXA8lBccT2qF46EkOJ59 +0jccT1dW4Xi6YwWORyDiBcfrVAFlOB7xxgzH68rKfsPxdF6B4+n3qHA8RWzfcDzFHSocj4ciw/GU +1XjD8bpyqgWOpzhQheP1c/wBHE/PWIXj6bMqHK8rV/2C4+lKKhyP2FOG4+lPvuF4/RwVjodQ4HhS +XnA8iQWOZ7crw/E6FcHfcDxdaYXjqRqvwPHew+TvnLS7GltfcLwOLnwkOF4Xsy/D8XTIG46HWuB4 +ndz9THA8Ked1fcHxOu9TT3A8lALH6+w4nutXgeN1APYZjtdBgc0Nx+t6vZ72BcejmLrA8VR9eRyn +85T0Msgc+wXHk1rgeB0T6AzHQ3m6KxFzlWo2pQHHk+KOsZ5ORaGYNMPxFPVpBzfW4XiatCocT1mz +NxxP42GF46mUtsLxVJn3guMpaVLheAo2VzheZ5P3DcfTWFTgeP1pX3A8hqsXHK9jopXheCTrMhxP +mcY3HI84VoHjdW18PueG4+m3fcPxiCAWOJ6CXxWOp1jnG45Hx06G4ykIW+F4Wh684Xg6scLxNIpV +OB7R2hccT2qF4+nSKhwP5QXH62EqtOB4dmaG4+nT33C8Htj2BcfrWl4lOF4HyvINx2NkLnC8DiM+ +w/E60KZvOJ5GwAEdJ+B41CPfPcHx9PCbk/eG4xEELXC8DuviTHA8Xesbjqd5pcLxlDWucDylm99w +PKoVChxPZ1Y4ntZUbzievkGF43VbMSY4ngbnFxxPnVsVjscYXuB4vbc/gOOhFjgeytkSHE9K0/K7 +wPGkVjieLrbC8aTcceKqb/88X3C8xrbts+F49G694HhNXiIFjteoFZ4Jjtee+w/geD9/+wuO11Wg +UuB4XeUvo3/B8VCvJ8HxpHTlCRYcTwpL6wLH6/i+JziehJ8rS3A8U77geJzXnwTH68rKfUaC49EJ +dlxfcDx1PBU4npqd7nEkOF4jYfgFx1PnWoXj6S9WOJ7m+jcczzrzEhxPN7rC8XTIG47XgcZ/Ehyv +h0vtguNpHfSG41F1kOF4XQ9DgeN1nNq/4Xialiocj7xfgePZ2vsbjtcDwbjgeFq5vw== + + + 4Xgd9/MMx9NQUOF4/QokUobjVZUX/4ruIofj9agvK3A81ALHQylwvH49fwDHk1rheJ0a8AzHk/KG +43Vzq0xwPIoRChxPq4I3HA+1wPGkFDiehBccr5vrXYLjkeLOcDwJbzhex4Qkw/GkVDie1jlvOF7X +OJLheMpFFTieit5ecDza3AocT3UDFY6nWsA3HE/ZogrH26mKgOOptPsNxxtEUjMcD6XA8TjzBceT +WuF4UhIcT/98w/GoLCxwPMJJBY4nFsobjie1wvFgphQ4npQXHE9igeNxEwscD+UbjjdIxCY4nvJ7 +FY434PpWOB6lkAWO1zHIynA8KiNecLxOPiDD8XRmheMNOpy/4Xij9S84nnodKxxPPYxvON7ony84 +ns6scLwhzOELjjeUDyxwPH3zCsdTEegLjjc+9xccz5QExyvnLTgeaoHjSalwPClvON5YVlwBxxuf +wCYFHE8v6RuORzFqgeNxFQWON6A5f8Px6PzMcDzaEAocT22gLziehoEKx9O4U+F4Kqp7w/HY7RQ4 +Xo8GoQXHG8sRLsHxGHkyHE9vaYHj0VHyguOhFjielArHk/KG49F6UuB4lgPPcDyUFxxPDQcVjqfq +/wrHI6n5guNZBD/D8Yb15CY4nnJ5bzgeLp4Fjrc8oAOOR/fQC47HMqzA8bQMq3A8gy9/w/EM1Jzh +eMawyXC8AbXrG45HEX2B49GTVOB4XO0Ljkfqr8DxDDeR4Xic+YLj4UFT4Hg0LBQ43gjST4HjgcIo +cDzruclwvHG0P4DjcWaB4w0ChgmON8iif8PxdCEVjjdYumU4HunuFxxP0asKx6NbosDxDKv1Bcej +JL/A8XQRFY6n+MMbjgfBpMDxoBYlOB6NaS84nrW5JTgeEaICx8Pt6AXHk5rheDRsFTgeyguOR069 +wPEsAZfhePSsfMPx9L0rHE9vRIHjKV37huMt7veC4+mjChxPl/CG45n6q8DxFAGscDw96RWOR7vi +C45HIX6B4+HxXOB41uj3DccbZo6c4Hj8tgWOR+jtBcfTG1HheFrwVTiexvA3HI+KpAzHU1FrheNp +un/B8VQCVeF4KoF6w/EGNf0ZjqckcYXj6Zg3HE9r4grH066rwvFU4PmG46k2scLxFOCpcDy6s7/h +eMprVTge4YoMx3vHs39ntPxfD45HqPYFx6OyocDx+NoZjofwguMNGsczHA/7sgLHU//TG44ntcLx +UAocz475huPxeQWOJ6XC8aS84XhjPguOhwligeNpaH7D8QaV2RmOpwGiwvFIpb/geHqxKhyPuFqB +4xErecHxeEczHI8KmALH43u94HioBY6HUuB4fNYLjqemqArHA4mW4XiMVi84HhZv5g4ax7G1OBMc +bysZx5ZUh+MBFjB+l2HvIDicSbC/+HFkVRyllrMCx8NG/BuOh1jgeCgFjkcI6gXHIyhb4HgKzVc4 +npQXHE/vQIHjWYA6wfGSkOB4Ww04niz1PmfbcDxlFYZ1cyY4HhCBqGBCZQdJNDvgeEnJv8ZSA45n +kIS+4Xiw4biBCY7HUptexKDjsRxnxZHpeKjX1TYeD4XlnePx6IC/3eU58HiIrW08HpgP9t6Bx8Pk +mIVJxuPpYbIgYuDx9DNWPJ553H7j8bCVKHg8lhwFj0dT5guPh1rweOZ5kPF47xH4n5xZ/kV4PMJt +LzxeB7aU8XgK1lU8HnPvC49Heq7g8VAKHo8zX3g8qQWPR0i14PFo23rh8YhAFjxeZzGf8Xgq+Xjj +8WQsUvF4dOAVPB5Ncy88HmrB46EUPB5lId94PCV1Mh6PnsKMxyPr88Lj9euseDz9HhWP9/4l//Qb +nxZSsy88XicrmPF4HFfweFLeeLxuucKExyOaWvB4Ut54PEVqKh5vQLrIeDz5br3xeCz1Ch5Pg2bF +42kD8sbjoRY8npSKx5PyxuPRqF/weOx7Cx5vhON6weMRGSh4vGFYnYTH0/P9xuMxohc8ngoKCx5v +CwmPt8TA4+GjUPB441wR6ITHw9224PGoaUx4PPv3Fx5vi47Hs6+T8XgaTt94PNSCx0MpeDwpbzwe ++8SCxxvnVfF4OMW+8HiD9zbj8bDZLni8reRikaQ6Hk9/suLx2F288Hh4cxQ8HlG3jMfbQsbjJdVx +EFRaFjzemAERyHg8nVnxeETwCh5PG8Q3Hm9gpZ/weIoSVzye4sFvPB5R4oLHY59X8HikR154PNSC +x5NS8XgDg6tvPB6R3ILHQyl4PDvmG4+nCHbF4yn+W/F477Hyd87bSnC/8Xg/i+eKx+vt+sLjqZnt +jceTWvF4nfEm4/GkvPF4qBmPx4kFj8eHv/B4ViuQ8Hgqi6p4vA6D7BuPp612xeOpBKDi8fpCemY8 +HqU4BY+HUvB4Vq7zjcdDLXg8lIzH40++8HgqB6p4PP0kFY+3lYzHMzXj8VQzlPF4Khb+xuNRppTw +eLirFTye6izfeDwsJQoejxLBjMdTHc0bj7fdHNZx/frC45lS8XhLCzwepTUFj6cypjcez4o2Mx5P +S6yKx9tKxuNtNfB48lKueLyOq8M3Hk93teLxOgWdGY9HMdU3Hg+x4PFQCh5PyguPp8+veLyO+03G +40l54/GIcmU8HjZ/BY9nD8k3Hk91ZBWPp5tR8XhJSUSsrQYej5rcgsdTkeAbj0cfcMHj4QqZ8Xhb +SHi8JQYeTx9f8Hh6oN94PD0CFY+nfUPF420l4/FMzXg8lWJUPJ7u6xuPp2r3isfr0Rmx8Hj4e77w +ePh7ZjweZp4Fj0fb7guPJ7Xi8aRUPB7HvPB4fcwvPB7NDAWP1/vxB3g8jXQVj0dhWcHjbSXj8ZIK +Hk+fVPF4+otvPB7XUfB4UioeD+WFxzM14/FQCh7PvuU3Hq/jFpzxeJpzKx5vKxmPl1TH43UiDhmP +1/v8Azwev0nB45nXcsbjqQjxjcfTa1LxeNjUFjyeZog3Ho99ZMHjqVql4vG2UgaDpQYerz/HX1U8 +njkOfOPxzKgp4/FkfZnxeIPQzDcez6yhMh4vEtUFj6e1acXjqaSk4vGUL3jj8UzNeDxTMh7PlG88 +ntbNFY+HUvB4KC88HvnwhMfTvyseT6v0bzyeimkqHk/buYrHw1vuhceTWvF4Uioejx3eNx4Pj8eC +xysKzfic+MLjmTNowuOpSz3j8RR//8bjaTtU8XhSKh4vKQmPZ2rG4+meVjweDiwvPB6FRhmPN8b8 +wuPJmPuNx5Na8XgYeBc8njrKX3g8iRWPJ6Xi8TjmhcfDpKbg8ZS5q3g8FfO88XhSKx5PSsXjSXnj +8VAzHo8TCx6PD3/h8fQVKh5vUHqQ8XgoLzzePi7weIMZbqHvsGL/wuMNxe8THk/DScXjbSXj8bYa +eDxtACseD++HFx5PJT8Vj8e9Kni8pCQ83lYDj6cAV8XjjchQZDweYsHjjfapeDxttr/xeNIqHg8l +4/EQXng8fXrF4402vvB4igK88XhrlF6H9esLj7eVjMfbauDx7A8kPJ724y88nsqhKh7P4rUJj6eY +9xuPp1ByxeMRsS14vK1kPJ6pGY9HOWrB4w21d7zweFIrHk9KweMhvPB4UiseD6Xg8Qao0G88nn7K +gsfTXSx4vCUkPN7SAo9Hbr/g8YbWby88HtNvweNR9ZnxeFvIeLykRoxS1dUFj6dx8I3H45EreDyN +ExWPp7DxG48nteLxUDIejxNfeDzUgseTUvF4Ut54PF1awuPRRZ/xeFvIeDxTMx6PetSMxyN298Lj +qTSk4PHwCS54PFq5Xng8LHoLHk+LjorH01d44/F0XMHjEQIteDxqrl54PFruCh6P9oOCx0tKwuNt +NfB4lPkUPB5/8xuPR2K/4PFwoyl4PJQXHg+14PH4rIzHW5VlBY9H50XB41EZVfB4SUl4vK0GHm/s +DJZj78zo9xuPR8FZweOR6yt4PGzkX3g81Bcej/65gsdjpZnxeEvIeLwlBh5P9X4Fj6dBpeDxqNV1 +PJ52GBWPZ8o3Hm+rgcfDorHg8bQveePx+nV+4fFUdVTxeLTmvfB4Ck1UPB7Nvd94PHWHVTyeInAF +j6dqpTceTwHSgsdTx0zF420l4/G2Gng8NQpVPJ5aWt94PPqtMh6vq4eu4PHeEevfGQ//b3i8/3p4 +vMsNSQodT2/zfSbxGlZmvdh4qrZRKXlG42kdRV1LkPHovVNiJsB46vZUnLRw8cT8+hzPxuIBGWeH +6VQ8jhhPhuI9tKNsJB7EcYdiQ8TTc9jOuwLxbpWqeNcVERgNtNDIo6hYqXnt2wsP78T7+Nw8vOO0 +ivjA4ZFScyTTouGZC+LYMLzpVhSLhaelsaojCwpvXDZOLhKeWoe1HA4OnuA/19ErBk9iv8am4IES +GteG4OljZjszA2/6ymIh8NQUcrYWdDs5fnzmlQF42unxuzv/7nB89MLfLSGz1kLc8DtVbT+baaeK +y/5FvpM9FSjkOOa2qNDC3gnKe14VeidNzeGLeQe5d94beafUSe9XJd51n4IX8e5HYO+8gHdq4ped +UuHdCYV6H33j7vS+HJGD1UO9hIy726Lj7hSzGJ9MsbvMr63A7shVH4mJ99mQu0+945+Ftfv4uxRU +O0UH2hhfUDuv6VpIO7UfPscX066bh/5G2vV4eYJop8LR9sWzG2p/bQlnNyxYsml2jjqpMLvHircW +y45wsGamYNSNbv2KBWVHokAPeYjn47V8DrJTLHCPW46EIkDYxsbY4dZ9XZti9xolY3qzEqumdYw9 +Lgli19STz80PiF07TmPEBcSu4ah6Hplihzava1PsUO5+b4pdo9q5z0qxa1HovCh2UljkLoqdlPHp +V6XYtcNbOxbFrp3NEoiLYvczx1qzR6HYNQzHjmNj7JpWSke/NsauadnZHVAXHDvEk34Lj4yizLYx +dhK4bwVjJ5UfZWHspJBpWRg7KdSJFYxdO73iYWHsGl5Lx7E5du+f8k/xU6tqnva7zLGTSqpgcew4 +jrBYcOykbJ83D5BIJMG9MHZSbMMbGLufV4DARaHYNRB9GWPXurVrLzpdU6kAYcRMsVP1nRqEliir +u6P1zbA7NYofd0XYyXRO3tqLYIcL3TM3wO60ks2Cr6Oq/7g2vU4bDbaPAa87PZNU2HXqdJCZcaDr +lHy0th4n16nmh41CAtfJ2pFGnODWCeJHeDHAUEvI1LotenbN6FHz12LRXQ79Ksi6M4AUISpGf2MV +6cC6LWxe3dYMV6fv8XhNsjL3p4cjCqsONsswehq9jhKiH58mPZ3GJWdQnegEJ80WDl07vSN+ceqU +sIBymTF1vFe4Ojql7nT7lQWp20Ji1C0xEHXaelpE3clzymnrRhVAnSboY44tymyOlqTA0y0h0+m2 +6HA6rW+IXgWb7qEV51ch01GTf1h9HXfkOcy8dd0i2fURBclYuqbkU+Nn8iBAa56bXVi61i+P9GUs +nVTWTgtL1xRXpWcmsHRtxKY5Y+mkWl9ruPm1EVCdwNI1rKavX4VKJ5GWsUWlQ+GNDw== + + + Kh0KsYaMpWtkKYaFAukv0hhDRHZh6d6jX0yBqo05bSBLWLqOPX7rG0unEiCL3QSWTpZK3uCUsHQd +M7M2NpYOMyZrk3QsHaZN0KEylg7Vh0szS9CJ3cdYPBX5cOBxmUqnfS/u94tKp222G2o6lU4JXTfd +TFQ6fanbfTT4XJ3YDX0WyMzP4+9ohtKxqcb3MaB0KORhAkuHEly+haVDDYvWaQcRMQwmHcrzWIdC +MOn0xc2yMph0unRu+mLSLSUz6bYYTDpt/28WVcGaa4ohsmnJTLp2e5XBPi5M1xaUrlFzo3hGhtLp +OPq2F5QOCDJTfMDmwGVfLNISlA7AcQdU7Kruhm3WAkq3lQylW+qC0uEqQ4twwOYaHruqJs9QunZF +4/A6ToCSOX4tJt0SMpJuiUGka9p9ArUL0lxj6DzuX4VIp8uwWOY6DmSiRUzxVsenhZErA+lQbYZz +IB0Y8sfBdWS2Woy2BUgnlZDAAtJJMYBjAOkavaePHbPcjHRpWEEtIB0IbVyfAzRnT8oxt2L3lcRS +OgxG92nzD+v8pCQQVVI9Si76NkPTAs01+gGOsRW72NuWRvu4Z3kdO5BuKxlIt9QFpGt0jmj1GqQ5 +aOVaGGcenZ4CW0Cvw47TWhUMSLf+WYB0Ww0gnT7IbnSA5kSd1/GFR9cUfZhJ1Ctj7iCBozPnoeMo +PDq8hpoH7X0rebjJa/DoOnAoJ4VtOzTFGY9nbh6dFFy+F4+OY6yaIJnFyYiLeSl4dHJdwq5wgeZk +BGR57wyk683DyPuww3/Y4NElJfHotho8Og2cl/esmN1r+5jdY8HRdfqJnnPj6FCIATiODs8iCJ6J +Rmdi75tGx3nk9oNGZ9+Ri0o0Ok1IthQKGp3mXFsLBY1uK5lGt9Wg0XX223q9Pf6OWeOHCoaZHgF3 +HwsR+yx3mrGlipoVmV4zjA63KXq/A0anocIppQ6Za5f7exYYHbsxuirXccIQ9fCyYne8lDIGhLpg +dE1FN4TbAkbXVPR60GyWYHRtfmxjtmB0jbZXxx+w9m9Yv19PhdFpiddYxDtmrhHsGJs7Rxzlc/qL +FEfxGcPKS5hhH++BzCw6tCu0n50EwnH/WiQ6hBGCIxhkhKZs5eLQPW6nszB0EqCiZwqdhjbqbwJC +p8p3G9uNQadLtVuyEXR0Qd3nJtBdTyz83Rz4jM115s+ZZ9amzyl/1vqz4XNaV+qhKuy509dPCz0X +z8Miz+k0ojgZPHe5e8rizmkuPXvb2Lnb3TAKdY7KcGhiTp3TTGr9hg6d20Jizi0xkHOq7yGQHsS5 +pumC4T8j5/RIsDVfyLmmjuMIedvzrEr9cV4VOdfoBTjvjZyTQhXbQs41Ohy8vnm5y0ulmj6QcxKY +NIM5xxHc4sycawpHKpi+mHPt42ZZiznXmqX8C3Ku0S2ciHMSWOYu4lxrbllTiHOowz/O7qLO1KYk +iHN8NmvUTJzTF2DoDuLc82zWHJ2aiTL3PJsv15iwFMMPblxrENArXq710+LY66hhUYpV/bOEzJZb +YqDltCGjtG0x45rqEfRQF7ZcU33D7V7kdpxujWJuiy2XlMSW22qw5Vp3Y69gy/FlGmHRxJZD1XZ9 +seWkEFFcbDkpk7uV2XJSGfcWWw7l/rTNlkPRUrqw5aRas7Kj5XStNCsvZFyjCuZOEDn7lj7+7uM+ +nh9aaLmtZLTcVgMtZ3/hTCA5baZphStoucas3fNximsON9BZYUc2icWWQ+FJ4p9OliOseWGo42S5 +rWSy3FaNLNfUU8KOzclyClpYN3Ymy0m9+d2CLCflvOI4fsnm9TCFLCfVRoogy6Hc17PJcpypNUsh +y7V+WJhrkeV0E20zFmS5rWSy3FIXWU6vhKoBFjGuNTeRLGQ5m10xYHf1sdj74srFvzdVzpVFhMIS +S2NvoOI05pHmLkg5Hjfyi+u45tbNiymn0CzPcGHKSeXZW0w5lMMpcwRxOPPz3JUph3qeczPlpBCH +W0w5Kex8C1NO1+ZnOlOuKQ03aB9zptxSClNuq8GUa5/H57VgxT0eFCpIuedji7gl3tN8dgIop11+ +P8/Kk1PYxBKpjpO7IqkTNDn59rCOSzC5y6omF0pOO+lPOzchDkt6zDYTSO78xPPpoizgMbIIjNwS +MkVuiw6RU4hLS/cFkdPm7DlbYcgpr8wAGwg51ch8Pn0T5CSwFMoAOYncpODH6XMYhwIfR7m3Y9kW +Pe6cVkK04HGi/oVvPwmVLWx03NaMHKexrD3HhsLhZJoFVlkfH59DBF2e0XFX8wcmk+Ow7BpPBcfJ +qmJ8rs2N01DU6QhzbFwIhRq3xIDGKTrP6xPtFxovKIIqDRmajMmq7OOm1x8sZtxSCjNuq8GM00iM +RfdiximMancmMeOUWbPwWTDjFFIyG6mAximC8bH+iQSNU6DMxueAxulM2A0FGqdQClXxCxonr182 +aAsGJ89ekvKZGUf3pS214jBMlCjzcGbcVjIzbqvOjKMn6b4sUYC3ucydKdXPzDh6LylsDWZc795L +vJhx75BzBKP/WWYcez4tswszrs0IJgYzroXx3GLGSSF/VphxTWnsi9Y3Z8ZpJ3vautyZcbr7XuKS +mHGos21knARLiQQyrtEdfY2KjOPHZNQMZJwUEl+BjCN05iuTRYzTI8SacyHjGl2E1ybGtetTYXGK +3pltT8DiZK1NymjB4rqcCbQ2L7A4RYmHvZXA4hSSIfa4YHEKYBAXKrC4Hr0BAYvjsNuJLBiiqjJa +tQAFFocKvMSb3YmPWDbcWXFSCCsXVhxZCA2yixVnhXHnuVhxXTOuNt+FFQe+gsk9YHEd136BzgIW +R9+zIpsZFgdGQGVEwYpTEzWFrsGK62R0j6ey4tRVTVp3seL4RnqXFixOt9lWHJkWJxXTx4WLk0Io +e+Hi8IA/oQclXByRNP2mCxeHovlj4eJQtNcouDipRNoWLo7mbq0bFy5Ot4fxq+DiFJ8iS7V4cZAv +Lr658+JESMWLuvDi1HzJ2714cdAxqIAIXpzuLU9bAcYp4MVWYQHjehgIBTBOAyT5ugKMa7wGx72B +cYqKYRhTgHFSCcAsYJzeJHxbFzBOCuuIAoyTymi3gHEo2mMsYBzKeVZeHAkMjY4LGKeL0Bi1eHEN +rJjewcyLa/djA8TixTXKnHvbvDgNh8R0CjDOBslxbGIcA6mNF06Mew/BMXr/PmKc5Q4+rRLjNJrh +5BLEuPZE8jaIcf0Tab5EjJPoIf+gC30uC2QsYhyKYluFGIcKuTKQcXbc4YQ42s0/Zv9VkHEMqtew +lA7ZOSXZKOpZyDgN6Ni9FWRcCwzMQsYxIxGoD2Sc0m6U+RRknFTqhxYyrp2BzwxkHAqmGBkZJxUa +ZxDjEB7/kxDjOBE/6EyM0wIGl7ZFjNPl2/IuoF/v3/JPv/F5UU3nMyovTi61F37YbiFIZRJG0U6L +U2WSvnCBxUlkpRqsOAnneDYqjpqna1ZSnNbGBAkDFKfZPMJget3lIteep2LitPchthqUOPlfaTW1 +IHGa+4/+VEacFgjzmRsRd3pudhHidMRnfhHizmbLgAWI04d/7o2HUzdoe0alw523IYMWHE4btZOm +cWfD3afNhJkM97in8wLDsfc8z8WF+1kdWFC0cOEUV7drDC5ci/z54sJpyU/+tXDhtD+mVGRx4Yhg +aru2uHAEQ48+KhdOcQBWRYsL1ww53TYXTgEIXpTChSMs8dz35sJJIbK2uHAo/QsL16L1c2HhUBSf +dSwcp13PVbFwujCtnhYVTveLkE5Q4Qgl2CcnKpwCOXRALSqcom/sN4MK19QRalvLTYXTeZbrDyyc +fg4r3AssnDrA2YJnKpwMBkefGwqn52HigmBMOD6P3X5CwlFTPe5NhNM8RfFlAOGeGFcyD04T7jie +jYOTKX9Uo1IJrG3+B0/vBIPDdfm+Nwvu8TXFYsGprYRiyYyCeyK66SQ4/ZtkRIDghMA6noKBe06/ +aU6B4/Y4Y44s+uNtkoUBd0fmJRBwWJTMsQhw38Pe75yCp9eQFvwbNAbvULda6+HzYNDfhMeMqr0V +a5QITjnYb4prH8O6z1h0qrPtogkqkd/khPxpLvqH23wU3DflgcH2ZicvyOyX7TRP24oJ+jZ+BfSN +BGazuqhlCaqqY8qxovlILX2Hih+d+HaG+1kGvqmwqDezROb5xtf4cpdurRkkPN2FCISeWsLc1jbG +M6P6qgNfUU9X0qrFX0+sN6Eij2Y1okztV3cScJDe7i/Gm8Y2y6sG4011pm5g74w3lbmBqE6INyUv +bE0ViDdFfXFuWoi31i53a02EN40rbCyC8NbopYzWLA2uGnmovcyAN2VBrPMuAG+kxqyb0gBvMpG7 +vvBul9kcLLibulJxVXW22/HYtrOg3U5flS2ymz6RdEiA3VSqqThJ4bqp8YSmA8e6qWTmpgLJqW6K +GDHoZajb7fW1i+l2j3AKdqQbmPNp4KVFdBOGB3h9iAqmWkWP89zoJpyO0otx1zxwbEXLC8ppdhCZ +59uRIQXlpqKz0znJrBRFpeBeO8lN1lja9heQ2+31mIvjBs38c26MG3QhvXCZ4qYHWm/1gripQPeG +6uauZfJsvD5HYbhdzmlbCLfLd6mL4Ha7608BuAmbYeQE57cpBWt+B8FvU/KWdGLGt5HfJ1Xo9Dad +Z4UHQW+7T88mZnjb5euKxW6jbKRvctv0vXIGt80rSq6c26axl5q1wLYddokF2nZMLzgIZpuE048i ++U2hybwrsU0VKgTwAth2+Ipg8drkEytXmMJrm/ju/Vq0tvGx4G7A2rrHJgurTb4Wh5s2P2Y7+vPb +D2uFdcsE6yLPnLbhQY2FaRuerl+UNmUahyPTFqRNolVj96icFKKtb0TbuG15WwhtxBjgfjihTdbj +ne7sHoWbPsZnQJtO67dNMmYvo2xLfzaeTTnW4zJi5aKzgTGhfN/hbFqPWE23o9m8ECqj2fTE6Vsu +MtvwDpIFZpvDYpOFy0azmNIXwWUTKVRT+sKyDQyVK5QNVrl2+sFku7zGdiHZ7scf/ExkIyuvt8iB +bE2BI4ofAsjWcAe/ewWyaRJhQFpANpJmExc7B7LZqndWHptB/66NY9OK2VLTGcemcy2vGjg2vdq2 +OgwcW2s+jRYcW1X1LptCo4nz2FpUWBUeGyrDZfDYUPSLLR6bFEszZh6bVMrmF4+tUf38jM1jk2L9 +UZnHpvkTe8TFYyOBb9kqN/TVFE6dbuGxoSp6Fzg2CRQTBY5NwmzLL3KddVh3m9PYSAvPjGNrxCnn +XXFsjX6sq28cmxSPJXnKSEuS+wIcknBsTaMFKRbHsSnNY4+U49hU9jWMSrdxbDRsUUzjNDbl2i23 +HjS2hoeTImOZxqY0DIvZRWPbSYCgsTWquu9RaWwt7KsXjQ1ltg1j48Tjqiw2iUQkAsUmgdWCodj0 +TwIxBcWmklQ2ZwvFRpyGstVAsTWabLUYzig2qVRXBYmt4XnlpSeEP6QwTxQUm9QP3Q== + + + YMFis1tILc4RcafLIvuZxdZIa+rtcxab8maUzi8WWwMjO87MYqMSUKuexWLTI2LF5MFio5aAtFxm +sTXi7e3ZLDadaZUPwWJr0fRUWGxteuH3YrGpY4+l9WKxNXZi2sdmFlsD7DrHZrHpTJv3g8XWRNXT +RWQUW6PETLc/UGz64murSANuA7amdWdCsUmkwGCh2EwB1+UmYuXExWJDZckSLDYp+JctFlsLBFth +sTUqYRzNSaK8DV+TLBab3lD7rMxioxbTBm9nsXEVB+3hzmJr3Cg2u4nFRv8iqUxnsVF/T1wxWGxq +ZiSal1lsGgOc8+AsNg06FnsLFpvKzWzAzyw2NiZ0ZQeLrUVXzGKxteFmIgXGxrhjq2inselFva22 +bEaOOCAIGceGStN94Nik9ARj07/HNSqLjY6Lx0+zGYvU8tM2i60FlaKw2FRsT7J7sdhU+E5XwmKx +kTPkx80sNouN32Oz2GgRurn/3lKhVBk5wsJiwzKSrGSw2NxwuC8WG7h2xpTMYlMij3XhYrEpzs62 +Z7HYYP0SX8osNuMCH89msRG2Z4MYLLbeHH9QWGwUkPMaBouNXhymsWCxGVz+6ZXF1uOnXiw2FBtt +vGGXM82aIbHY5EdpkaVgsfWouF0stmZgmVFZbC08lReLjeYM9h+RElcaxUpJMouNM/mbwWJTGokS +hGCxCcBs02lCsek6bJkSKLbOou16NoqNZHJUEwWJTZk3YluLxKb2DZv7g8SmbgdbyWYUGwXpz4IH +KPiq5TCDTaDY1GpgP3hGsXXILnrRA8WmW221fIZio/uKuFRGsZmHSjs2i61jGPvpm8UmxT8psdik +WsGlsdjoU7JIp7PYUHwls1BspKxp1w8Um2W27k1io1uDaTCR2PS1rRzPQWx6HazawEFsSoOy0Mgc +NkdMP5vDpg+ipnOB2HQBNgpkEBsqlhsZxabcOqWwC8WmB902E4Fio0ePGvSMYlNimNVSkNiwEzYb +Eiex9WFRqwJiU6IYE4TgsPHD4lQQHDY9vhZMzBw2vQ0UoC8Om5Z6ti4JDlvDGOu5vwo+VeVjxfnG +YVMFKAv6xWHTVE/NRgGxqa6IDMECsTXI7x/bxi0Qm5YhlBEsEJtyr7jLBYet4RHUzsph02LYGieD +w6bNlgU5g8OGnx22bwnDdk8b0heF7fLhaUHY4PqdR4WwnZ6fWQw2xR/gDgeD7RVT/p0B6389BBu1 +At3RagvBRq0Az3qoVAbwFjqCDeHyE/c0rvzr5q/p0bR6yuCvqcXQAwIpAykVNM3ir6GMxxTWE3bM +6Z0kq9o5IhSLvybForHBX5NCWXHhr6k5zTYHWkU/HhlbADYNyFZ4lAFsmhlssREANg0LBPVWR7OK +wwihFgCbFggeo3EAm6pMuPULwKYh4PDW8TIuME0Gf42KktMpXWTSpFDUV/hrqBSyBX8NZRzP5q/x +Wc5224CljvPj3Pg1VcD5KOBctU5L7ZGIbJxJvjrz1zrbicxf20omfiXVe49wrs/8NRAB3/y1ztI5 +8dd0YRbNC/4aPtW4KCT+GiJ2EMFfQzn4Rs5fk6LVQsGvSbQahcCvdYV26DQP/JoU9i+FvyZfbesB +DQCbqATsCALAloQEYNtqANjk+l4AbHKofwPYsKkvADbZylcAW1Lyz7HUALCZDX8CsOnneAHYwAEU +AJvM+t8ANtQCYEPJADYJLwAbYgawAZIoADYpbwCbnqYKYNMPeZgf6ROGd94OUgBsmuUtmxGHaanB +EiX4a7Qh3t5VsyyxUA9nq8Ffk0LQMvBr79H3n5xV/kX4NaJr9ngm/JpinJhkLPxaa55TW/g1plwz +wc5TM71FY9PXEHA8D/oaJ2pFWOhrUgleBn2N+CnN5UFfo6mJCH+mrxFvDOtTC+x8/D8WfU2FFWZ6 +k+lr8s8wV9Sgr9GMRhFT0NdaPIGFvoaK62bQ11CmU9os4PSJDHLGrykn87GYu/HX6LAD9x4ANtI2 +MxBtkSFVeYL5UziATb+IrbICwPb+Lf/0O58XJU6tNSQB2NRUSjfnArBxnH7wBWBD0WqrANik8kou +ABvx0yVgJPKx6bvw1xSd8T4WLyNoqi2g+Sm4anKM8pqPtDGnr3dkTluHNf8cm7+mbUe7nI62+Guo +WGMFf02K5cGCv9bxvFTZY+av0ZhOeX7w19jrtjE2f62bpXev/DWiAVQWB3+tR85u8de0/TnNGSvx +1xquoWCKnL+m6jwrhwwAW1ISgW2rgWDDOYA4baDVGJbOuxLYtNu12sVQKRG0/kxDsJkwjspgS6qX +IfRP7OgDwqYx1fpeMoQNlUr2gLChEDMICJsUu/oMYWOP2GffSLFOR6t2Uw5hw4/UbMIShK3z9h5z +Q9i09bfARUDYtpJLN5LqEDb9yYPtWsDVdKtpCsoMNuwoSA2swxRrw//SGWxbyAy2pDpzgNrFKyHY +Wvg0FQSbTiSyvhBsRO1IGsf90t7QevEygk0BSutDDgabosOKcC4Em+LArNwLgo3osJVaOYKNLR5b +0kCwkRJBSAQ2xOZ0NeptpFgsOAhsUogoFAIb8du7bwAbgn8Sg4kd8WmVv6awNc12gV9TyNd8ZAK/ +9h4pf+e8PaMeM9PXtA+m0D7oa4f/dAu+drihVWGvKVNB82Gg11hVndcmrx3eK1vAaxJjWNZPorP0 +/i3s2mGLwAJdI9Pf+mKukV84no1cozaNOspEXJuPR7cDuCantaiko2rHEJG94taUemn33LQ1CZdD +1Ij8Uz/zeSpr7Qj2caDWJJhjpqPW9NeeVkFrMpPYkLXjY6HbxVhbQkasIV4bsKZWcbMBgp12RfBz +49VuLztzSTFrYtEBV9Nk2L/QamEBs0gBt5fqLGKa9jckKDNYbXkVhHh+vKUxsGpneIQmrNrSAqum +aheSd0FVu2PTnPfoFD7OvplqWjiZI0Aw1baSmWpbDabac0cTpaPSNKDaVJWIappDKC4MEcupfm2e +mgqZGMYyT+2OOHng1G5zXlkwNRwmz6PC1NQUSqgkWGpK35IHD5Qa3rSfp5LUCGH3Z4HUbu/ZWNQ0 +ngZtFjJGjXAb+X+nqIn3EDgx0slbSNikJQZCTYFxM451MpqWnFSNZYAaAODRtqgu2ZjwscXaQuKn +LTH4abfb+Swumrgz+l0KPk2/NkXqS23NiyYWPm0rGZ/Wwup84dNUOmF10YFFU9+nsg6FnqYPmVmM +HoHFTjvDQymj005L8QQ4DQt7dyrFm+/0loOCTWMLTrOtQ51kY2uuxA5NO0dMM4mZdprR9CKmqaT/ +OgOPpku97UcqvLTDXVeWqM0aY3PQ0paQYWlbhJV2uDfXQqUpGEqHVial6QKetjlpx73NYsGkSWDV +nClpiPfckDQJzQUYaXyx1isiDSfa89qEtGl1HYuPFv/OdLSlORuNWIAW7NFhKyd9fLVzI+55RV+V +g9Eut0JZXLTrY4WamYomPMHn2kw0kOOfe6PO1HTFx2YiGhs77f+XqoIRLzVxItpW8qu91SCitX6v +cg2AaNYu7/4eC4hmZkG0fTgQTaaL1kodSLQ2fIVVkGhmUOQmCuz8V7q4MNG0WCxiOx0atJBo6gzC +Wq0g0Uztoc7Lj3OLaMsboJyh3FH2YsZQi4iGQJlZENFQKMfIRDSS0oztjkSTQEJjIdG0aqbotUDR +VNZiSfyAommHZeN9QNFwODM3nQRFk+ouFg5Fk0K6cUHRmrsdZSYaFoPN229hohWFh4HzvGt6IdEa +1kvU7VjZlHqweZCCiaaYuBWJbCaatif2owUTTYpt1oKJlpTERDNVIb2+9ifhtxBMNLxDbi8qXUw0 +Kn6sKGGGgaH33C4ommyeeYsLFE2qt605FA07aKek2TZAYzplkxmKJvUegVjTIkXDurkEOhONQ8Bs +ZSYa7iqkxKMxRlk0CpYXE01FNTYjZCZaO7xZbTHRpFCPu5hojW7Qz1OZaKisxAKKxpnt3paSfHiY +TO4VlaYmvTSBRFPLnRU+R9szCqUxGYm2jwskWmP+co8gt/q2reZmojXF1HHX9GOG/waLibaVzETb +ajDRtCkziEGwzvA2oPA9IdFUeWM3cB12WM/WIqJtIQHRlhg8NAWciPAsHlqLjEHmoSF+no1Da9Mb +pwOHpo0vG+/MQ5PIyBg4NITmR/FXUMjhZh6aPt5e4eCh6ULxh12gM+3IuVMZh7ZH6HXY+fHisuCh +bSXz0LYaPDT7A3Ph0LQ/JiBaeGgqSbIgXqhEUAmIOw9NQWjb6mUemoK7hqUIHloLS8u1y9lK5qGZ +OsbmoVEPSsdI8NCaRjHrKE08NKnuDeE8NClW5u08NASyYpmHJtWGDcehIWCzHDi0BhrSyWoLh6Zf +0oBmjkPTXeSdXjy0rSQg2haDiEaSHRB9kM4aFLGnVSIasy+ures4JR5P/BrNHm0LmYiW1AgZ0jKl +0ThIZxoFnfuRiGg8ddgxruNUakpqIIhoCuQyzGYgmsSnnZuHhjD8a1Nsxnl6OgoQDbUH7IzSBy1m +iKIHEE2KZX4yEE1X5mfK39i8GTFzNiDaFjIQzdSRrV4JMZzHr4U6I5Rmzc6JiNauqJdfxyk+Cust +kGgqYGpW/p+QaJjEYlAdSDQtOT4GQHMkmiKNrPkKEk3HWbGFI9EISD7WcE1OmdKnT79+FSKaAtXm +Dr+Oa148uohoSUlEtK0GEY16m+lZbiLb/M1nfiHRSLUDBAskWsep3dFpwyyrFaQ87opEQ+WuBRKN +z4KqFky0VeJVmGiK/pqFZTDRqFEi9xRMtKQkJtpWg4nWd17Ja+sUca6KrcpuG8CXqvA7RQaLiSab +AO8eTEw0VCoiMhNNn4cJeSDRWGcai86ZaFvJULStBhWtBaZi+a3q5cNjwHu2qJqlMGDYPsMqNAKL +ZsqdRg5OWmpg0XAXZFAO3E0jN+M9UguL1j5eWLuwaGFAvahoWnxTw5ahaDLVoZEiAgXqA2R9mZlo +8p0B8BNItDvKkIN1JutL2hcyEY3R9EhHUWfqLDQKihMFjf2W889G+N8F/mw6N6HQz9S91N19bNIn +81dWJ+iN4a9o8e8MRf//kXz2X7iC49e/+R//z3/IH6wP+ru//5v/+e///I9/+fN//pu//rv//J/8 +In7egX/z13/+d//xD47+X/7yH//8N//Dn//yv/+Hf1gHGxfvnzzjf/3Lv/+H//Bf/Ip+5H/3l/9D +3/Ivf/5Pf/M//fn//ueO/rd//t/+4W9+7st///d/9/+w927LkRzHlugX4B/wIjNp2waUGfcYPpHQ +5WimdDFR4kg2NkYD0WgSW7hw0GhS0s+cHzlv82Mn1nL3yKrMaqLQbHYD6BJNJODIjIyLh4dflntc +v3n2rBM3386evXc+Tm4ubT6GNw4OXf7T+e3Z+fXd1Ofwpqbxn9Ov2nRwLVc3Z9M7s2X89cHPPv2d +//LX1y+0Cfwe8fuXf7i5/lNj1rvGr0dHQv7s/Os2uLU/HPzhW/ylyF8+u3396htr5w== + + + 5384//5Qf2ka7C8OhsNP2///9v3B6wOg7jYAdsPhf28//FcjfX8YDn9/+L/+93D4Ak//+eCo7V5F +uJcB9j5uzL3aJCMIDD1gBXIThtso9upqe4urg2t27I8HcFa1UxMVyZqwQSNAwdLRjWp5HtFyZEZ6 +hEXWfxhisyiBHmwfAIS8/X6IGm4CbWKXvWKEJ/Jqk9y6utp8f0mZXn05+8MgeUfzTyl59ik4N/yi +7a3E3sDsgygNgPslZx808uyDSC6Et2rW+pvIvZHZR4GoR2WU2UeNPP/oKGJ/3vp28tTIy4O/Htgm +ec2HBo03DLjsCcrP1YyMd5O2GMR5+UaqNrHa3rKOmTWsg5t/co281rgoCz9AXf/ksuXNEf/H6wOg +otCA3jLRm2UXUJoLlw3PPjZR1z+GgjVxOew18nobGflaaU5FqLkgj95rkEhmDl5uzyZY1sU41wmO +g+QBzgQlllGfpctbiKzHRCLvLj/TBjKcm+2nKPF+Wb32VBYiL1I/4o/0ZcmTkqIPchJYNN/KuVmA +QpRwGT7GMIoQCTPhR12mKSlkgvM4RgaH9GNOuqVlx7VbCETySU3xPZJB4u5hkhPgGDKu5KJ9rGq3 +Rsm7ITFmuiWEK1njm2R6vLAOdJdWIQJvfSiL07Q9d6gTn+ApVnKS9R0pN7UBaELW2/asEKkQ8qPN +gNdVgPcjsAEAhuBbkm5RI5W34JeSITD1gR/NUg1MyEzhFf7xVaeAur3wH9ZIiESJkf00Tn9kTFWE +3OwUWQRNfmlEvZxUn6yZTyLuVDobNduJ3dIaIjrdnoMFrjnWrKOqo/Qq2HVHMgPU8knmxedCbGa6 +1w7gz0Kkr4VdpQ/dGsjDkGW0TcSN+jHHijkgMjlShRDcMSTq/ZQ23Sxg4TQQpR8rtjBM/xKiS9Kq +1v05Uy5gsRT5gvW2wOen3O2T4xyiRInMIYLtqBRzohKMpd7J6TTVRSIMEmQimQg2iLUihohs0Zqy +EodRtmiy+NMRJ48FW9kApI22O5d3EIyDyEKgWZopKJM8DqmqMOSmCLogITqbTxG8cK3hq7L2rNRO +4iDwY2MJ3GiAZc5J97UDOj7os7n0DQwhQ2IROLmQWd1IRoWZFWITgsrUhNnJp4jVEU4vvvRlzjXq +BiIySPnEXofzYOsMnOnxHCRqJIOBH/DKTjzha0ihUXcrfAtFJVax+Ypy3MtmlPxKkYPOjyqg6Yzr +Dah07RMO6EM0hgjRRHmQChHyQA26W5vZqDQKRN3CKeuhoUlDuoedd3qWtAWyBobijFV1Dy+mAHPT +LMO/iorcdOoNBXkXvTlsqM3j4affPkhvjl3L9ao6dIr9JAqy30pJep5utPOOFWV4SqDMto0JsdR2 +3tUm2Wsi1tStJcVeXW1vUdUp5Gc3Fll8qpM3Go5Jop5vJG9+dNG2fpTZ4WXx0Ym80TrCMskvPjqR +Nz66bNuU5SJq7OyjE3mz9S5U3kDe+OiybfvoaGrs5kfHNe12at3HNV14G3nzo4u29aNOq1zMPjqR +N1qn9rH86ETe+OiybdPLs2nPGx+dyJutuzUVfBt546PLtjc18wcKk79eX59enb84TBuCBPv3IaIk +wCEOhx//0wbbpJ9luwpttUkDBBjBitXau9to+u47lCjsBeOaUk+pd5bFWkht+uOhEJ3cDEPkbjCi +DQFopQq/qJCDZ2wPzyK9RxuoQGehVd9UucPF10/AMGFAAaVUSVd74srILiZ5nJWvOY2VNx4leTqo +FN7WyEpbB1CDYAH+YQjaOvzqwyhk3kgvRBfGLEQmS8kHix+0ZYYgT7QfmYnB7EdTlnr3YpY7UYgX +CkpGMQEj11Tsc9klbZlR7639tWmCplR18tOQbCDwSXgll6IDwRVHsa9IzEpkPrY0UJlSqOQo40N4 +zY/2bCxGhL6gxBysAVZIF+rogj3q7FNjddVoyV6fDWAa2Wa7V7pwhVA3edzGNQ3WF52xN3Vrk2r8 +kOxeNPBwca5PY1stJ+Tog9N1A6LRtoHPg0wOAiVVm0Y5dG3Waatu9FU7geqGzl63FQZ42iYsjjpj +i26d9P5G4VNgwLx1l9WxhMqLfVZGTUF32Oigz0kf5NKnopd0bWt1WopKVDzvfQRE8Ic/J9ntssW9 +texgVpLI1EkdnRQcLIqtt+lxg7MGXJ8eQb7KIDrvzPo1dbjJTd1YA3B5tpxpsF64MBhXNpFon/Ml +KDFVr2Imlri2K8qgvWCRZGVrosPZCzy7tQcnXfKM1bY3qyqa5Kkosx9QaoKoA5MQORR7GgqykYty +EC4Hy6PKCDeOTohJZ2jxNetGWduLoU2odkMvtRIuRMBIiENRxi5jDkZLoy7+IJdKg5zlWJBnfRd0 +KEyajI8R0NMuwGSVvQhA+9Z+TR2efdA6HIxK0P3KHq51nZOVGJQ2ovrgG4bRNxjrMVHoAyZrHFS1 +z0EQqMbzKQ8mngffqbM2TNpUrSZCAQA+u1KyD0HZeejCBv6IUaeUNaNX29uQxlmSmYDl0W7xuVKy +q7oCjPsLjVKcikZNMNTkfalcY9rHib6f9Th3LM4ntOqr9mEQzkdFSLkIlqlhw9hfr67o2NrkJX2f +FzaofGzzurX/Jzqwce0P5JcrJTN5WFk2V+2E8zbcNqf1B3rGe0tsInO2QbQTxdgw63QtOnDS15Pg +e5WE2ff1HEKsMxkLdFyxkzmpNlH7nWle8DAn2sAYc7Z2h9qXXgBKQtbdhJvXczBi9IdbOzb1uLVQ +TOsKEwe+4YNSGpBk6HpCDKOJSCZMKzEWOxMI1LBHq00Ess60UZYRmzU669e0/SuLHUrPquvbnyU8 +pjNIRz30ea/5jVNhzwZ9lixjrWZt1cUurmY9sK7pzSv8Q2ZJaKGmaqduhX9TpZvLVbXGIYjczrwL +hjRW1zFJGmNVEe+yaMp4tJo+S5z4tu+f9SkT3B/pELpdYvqgE8FsThOZxtxAJxebCNb6FHEXvYlo +w0ESW2qq7+Jzq2npqgneIrm/b3henw5VWZAQ39X2RiZxl2u2g9bn1MVd1TFKKEC2vzfm1qWWjV7M +zEm1ywTV2wI8aCbrhkG/Q8+5CtBSoxFz7MJOLi2TRnn8sA5n36BUubf2ftqg1Sae2C8b1dDXA6mR +SnN+c3OR6E3TGcuQe8eG0VnHRODKp2xqibjZ9n0Twprvq0NLdrp4OWaFLCo4k26q9YyhZSUW64LC +8o08+OWzuZhtyNiLEqOtWO6vz7o1sQeLYAmzQlOyiZQr2oSxq82kr1Eb4cmjxD4y79aOQ6K5hIxi +UrrEsY+t3sMikv8k37KTLw9m2+Jupq39n07DWk33paZlp2Edih5y1emRqsEk4bLB2RGXVdXTa5CM +9QmGlwa449losiOyGad2Gs46cNKnfCjFGpaqEEYedcRDjNn4NNvsDiF35k22mEPw05Q1Bc2GBtva +iGYPtqOgb4nNHtzbNak2KMaFrZvz2XgPht0PMoNU09rg/kEBw2sOlB/alzHYucvIjM5Nf3YI8YeH +Bg+8MBRAP9X3jVnUrEwa0SBR9ZIkVdWENlRnD2I2pGd6xyPJCCIKraZsp1B2/p593WVANJG1TkxN +31EijBY5L+XGPKESL8dvqd3HwsfBjswwWptywRxoTYsL/X2pkSeWUon6bOM/VcyTD/b9rDoYygSF +aQBy+QYbGLUBYDmdziCL0giRHi0SSyqTaJqtwMrI0oU0bSnm82Yhskbs1oW1FXdap4Ezjk9cKVnu +ZRR7NurnnF6x3QWkLi5rvAuH6e5DyaFB9zUPp76QyuPYaKOzhWSSLhvwpROXAtrJJZG6c6KburU5 +hlUXb9lbIx7DMPHWzAxTGpKaEYhPj3lD1RLxlEfjkTBp+zTbSPYlmBKQijNDLQZn2v44aRzZ9YGw +8o98bLIMCI8QhnYmNLPrgh95M70DxXx+9Hzpt0xhJbL8hzQTubt57QSX+9Mn8TGatfMm+d67OhQb +qpmYoFU7H1I1NY/WtL2fam/WHBWb5CalUm+iq8zDuI0Y4tRuMjeM4EeEGE0Roz1iq5XNxog1Tw30 +g3ZUQYFvdS9X6uvS3UsjYqLTvNj+cCX2JexEOH6WnDlO81JDsIVBzq4+m8zGaZvS3dcBUxrHkKcB +TL67fM8ETo8SvaLE6Lcsy5aVfZPgcH0Ivpr8lTTHztpbd+ya56aKCEfp9Tjp/3acy1VLRktGc8l3 +YtH3vYUXqpRakSfXzKvi1YkW4H7b+vmpX159fAhQhtr75fVwSXJRhPrF9HBIpkGJNRe1DyyeaZYb +fZHawDQIZ9+aLMrtAxvGqINQpqPhF5N2iklg5pcbLVqR09rMoLqEnFg+rhl4zg6yXNRnWNYMSheq ++fty0Afbpgu9WcYBSGYlQDUQi4lTSuatE7uufulZ7Gvoypft2yjJ/SslE3s2HdydXLM+3U6Z0MlD +9Bqj0WCTXDFmnRPMzbIPa3ZNMW2NKWtzu8YLOsYO70ku0ZRcbW/ETjOtDSy7MNnIcWZWO2nlTmjV +I0IyPRdZG6utbWjbxILKtq1SEfxKyUkbr5L9ulJyjFHJQ5WjDkTx+2sqxdZmdaZ4LYt0pIp2fmVk +9SVqevpKyaY2FPFwK1GPxmoRtS3t6gdRaTt0GRbVwQJy7rFI5scIcTJKnAhs0JIFImlMnej7pdga +DjiSV73ZfhYO1ZqNqRtQUB239ks77BOqFaiwaBqC+KpINgWbflWhMVFQdEZXkhGzPVnUU0Wq2v7Q +GIM9GlRZS6JXCNH2SKJtae8zFUweDf1Rc1Gj06M1Ouv/NDBWzeFiRm+sBtRXFteIpp+slDyoVoK8 +arFfAOgsQZ9Vub2lXf0gqtlnY5RggSeQiRwh2WDTJHud4coUP6FF9e9VOTa3Nqvf40W560rylVLl +7ks5L0WN4L3O3XPjxPc9ajUiZR4zQtBAjZv+RH6rOzdUZ1x8f9pzFh0KU7SGl7J3QzmoTo7rvtUi +RsXWart57L2lxXVi7Xb3aVKdAUTvLPYlyuSyAzZjfi2OSK/rlZLlZj8x4WUXgegtvjjk0YiT2mjG +BspyOJtGlQ+jW3NC8ID9wQlnOCNIyEq8SWi0WIA2D7KBlv3XgeEeEid+SM2/vjJyKF1+MmhFoiqP +yMwW3yBvQMnKjSyLfmINqISq5msALdmjquUtv28dKz1KFORGzyslS/U0kq1hrbimRFlLFLMzP++Q +VPnjDe9mQphJjteL2eRJQmZbvn+mh5xe0ioLNFp4JktFP1kKRCCF6NS9qJmM294/2dqqHalJ3Ami +NiA0fGVkdcFFSVdVYjZfejZXDASmRUYnfwWusTSFKJuTmAJTw3u823VrB3Qexig314v4HLoUicLz +E9mIppx2noxdr1PiiTXgewPqZRqjLmaSCopbv3/SF2hS28exOwzymkWr/cICjcYlg7ltco/sa6Db +VshBEdNnqz46dmNsanP2+alfTB6XdgeN7fB5XUq4MjvnNCtGOaeaPYIKt95EQxxdXw== + + + SynoRC5Dqr4922FJXgOZix5MXbPz0UslG+tamGSR9zY9PlsbMYw/PGXeda9l7POjcAovqaA/uCey +PQmdXrsUDD9C+b21+8qjKDMjXK6C/UqpXvERCNiLDEm8taMqUccKoqvqlELax4m+H9TnokaXEtVX +VoQxt33fdL0sN4Dy4dTjHiQP0cjCYyAm2YBaSF+JsVoDPpqyh2etZyw6ba0m7VmSgAxoClQBzYLE +y36pGEI6QNY+VOgUV0od3ajkoFzqJrsQ+nasP/y9WsTtmuUkXW39GnrxH6+p/CCxuKgSP0KTu1Ky +2ZhVioStlCwwtar3Cgmtakykdv86mhUFlbjDk+2fgoZQJXWFD/okqjeIQ7bTclAAFO8w8iJdqvjL +V0rO2qrLwicgyeWiAAnGTiSOX4jBPGu4iDzZszxjhRgG0017t4r5emANBRUXtHgEjaAFYYRohn+R +ao5H220jVZI6pyc4980Emvg0E3QEmtz0xJVUfALeT9bXvtlhF6khV6RCn7X6BntrcGWd/0FE6XBn +mvggwaqgFxPJMd/HkLqXYG2+kMqftVEiJ/T9EnRLUZ22Bsy2KxLKWCmZKVfK/CJa+DEbMM9g+5j4 +kXgX6NSuXK1Mlg3VGpDSkuyDsiyvVR50dRh4kQbgIzErF0y7Uqq691m/QtyGvKqtmCEBBgYRWWm2 +Z3zJ1iyKItkGGX2yLuQQbYdkbSDyZjcZrNy2LdRRY81FCghIozzwhIi6HUI0D6lmbFkHLNiMqms1 +67O+VuNQKBNCtIBSFXeJNUCjJnQTSWbGr40hDqJDgyiTQNSvBD5Q7T7ZipXOCL6j+2D52+sWZAJQ +RM6SoL+zxKq86jokr0plDHk3KMqzQpEQIgD3Q7CPpKmB0VwJbtAtZ0UN+KjK5EY0p0OxGw5BBnR6 +VCbmGSHPEjOoKyWmKxpQzaFKqpU1kEu0s8kNxm1Dd74X2X1KVGRV6XodiKFzSw8moUJWHrUPSYP9 +vP3MtreFKkPHexWJttr7YxZ/A6/x4vr5Knd3KbOIKYsKEqUb9SWqkPS4Kkz3W5LoAzJUVfNAn4TZ +vd4VJ5PVo2nIhMjRJAk4VIgsRSKLEEQlwz1GZdCeFm/xjzf7GqJGUHioB23CIFHZnEHbfBtCzsWc +vlG9PnBL1KB+FBObvF9hUDdKE16xN+AHc1fycqmVkp1a9PBijtaEK0X1e4tqvNFp4xXoCcButH4Z +HCsZPAVtatBNb4C19wdvsFLVSX3qFlnSLFVp04+q0PGqy+406sHHcfIPBQXxqzZ+9ANOKzs5slwT +aPPqtNGm29j4SxflVBOtgaLADvgqnDXAkjtCdNVGkNSMQUUbP41ALzFnA/atzkNtrW0CzQ1d5Ibi +M3tdw9JagVXHqhITLnh7PxQbKXPh+gJ6U1yx4TtbVDuliQAXclxTlTMq7Qg59Mi03t8lRBdVVWeG +M2i+n1twEWaVhki/VR8YTDV90quAy3LNnRKdKSUUm/11DR1nw26zemd37vH0F2JSYYhhJZvD0CMq +gtZVmh5QRXzfQgzJpoWIld6BUPV9xjxXRs6DPp0V5MWUx6ATHtVXhzzF0YQRy0NYu66a0KA6BqKT +aljCB155y4kMVWFk77seri8SyBPi6OyUZlKmEBkxkRnwfWZdt/5rB8X6sSNl1bAWooH28nTE8k4n +G0AdlJFHLZHMR+NojaZgK0PwmTXgNW0mT1Ood2dKq0mXZpAPqNz1oTcwjEHPOZcU+cybi7NpBF4t +b+SZq69Ob9MVouGbcIOkTgyoitpoLOdSfz+aERjUOgWxmj85iVPhiPZTyMk8Psg0Xik5dpBLKM5M +sDFMW1xEzJvtyGgMat4hp/eP6VGtQYfUQXWFeSr2+sSIodrnDQyTu18eD7qqRDs8XRInnHS0yjnp +ICC7eT4ajbJWP66QUt58rRDPSVvGs5rdlPsh5+Jx3/GTgeXSsQaoM27Y7k+qVgY5IByEB7ud2ibc +3o+SziGDwkZfKTkqnjR3nQbPpi4znKjFuJJ76Bqwr7636zSvqZjDGjUBahcOUcB0uKF2sAlIoc9L +6CGfIpq9RYKk/r3ohj3oU0c7kItNF+RLNWIyXcl5KTknMlp9xbiOJaZgiyjS1AFz47t80EguyAYf +yFJvWYgsqx8kzUN6BfFgABaysLw/9mMG1epGFZy4Qi9WC/Bmk6duXAuUD6qGoR61KhB6hYAQJ4Ec +c8q9u65vUCIChdgURVMEUyjWqoKxi4Sorb8cZeiWm7bazfqgQg6ZoKqaVWEPa4B305I8qd0gV1Nb +TXN3gyCalSgebxBrN3+LnRROb5cIoiH73qwZQ0U0aJ1FdfNmgw+gWbnVq2TZuCe6DnKfAjeUOAHd +0KN0WoxSidH6n0eLcqDVNJo0UWk2Vr3aVSICctyPeu/QnL8G29Dr6gZudtato4VNhWixGxw1MizU +jvB94wXT2cZy3FWmqGgi1MxVR2btczVOzhX4UcwRw8J5JlANn4hGVSLCkLdGzefZ2L5D1fCtYmTN +r5OrxUzxpx9diCyQIOdBBx3iqjDVZbNkBQlRC/1hJ6izAq16M+h8GkJvgPVARDPIyZ71uU9hlKXl +xWVds8h5aoBgRzmvfejPZtOZgnIsrpCrtogsEysNJEkKF6GqcRBU2VU4VBHPixB5X6PoAMWUxjFJ +bURhzursYyZAoXiLNBijuLtVNzGE85i6WyErvgePsmhmEMRLsXiFmXRJkiIs3DEqzCn1vBy5i1yf +lfTPrfEOkAHZioawVHWDt1MnU5uzspbvAZDM3W0xyGkjO2V4XMJSbUwqSEbUwu9KVDcpGZo0lY2y +SIis4yEnq8VwXGfjzFLR9r5h/XNPzmKRSTtSQuq9SqPpZvTmWgOaipO7D2OcVNZsKbjjOCEF9eZw +eX/sTpAk3nPta3TdThwtbG2CMIurqM9AthVM+i1cqhI7Ckm3oV5lKRu2mhtoHHD/pp5qo/Hw2BME +oXr0EQwTDGk0QTTAj93TJJOXKQAqqGe5BgWv1e4HCuL7lgasjCZBpEWjgXXNfjbTC0XPc+6GenW9 +BxZOBPi3f0xRQgkOit4rA74RgWmvmzBPAqpe2bhGw7lFTSXBrdKqyKXuvh6H7mFN4na1mZUbYegC +sMQ9Omb1UQ3e4F5tW9i+Mxn9qgZaUYUXka7B/CIpK7A29xyvNacGGh0MN8dC8isl2+mf5Mo/IQ6m +wawF2swYQox26tUwpd67ZJFby3AkNNiIFp1hRrpNNlbTa5QXJQO1W6lD9mPfMkPqOj+9zUGJcTRu +SU6S30ZWMg/arNcIAkr69mnJSgnZPEUsRCudinpdvGh21WBwEdVNrHKAqsdDFGhiEOD1YFB1C9YE +eUfaDVKqITAMGjWdKazNFhdGiE2mr9d8sAYmuK2FszGzyTLbcxGZO8S1VJc89h5AyRytB7VH6teS +x5MyYeo5CFrq2xrIY+4ggmTPToBylvc/+sH4cLGUN9a7UjZyhq7tOa3g/p4O5WpYYznDXFjeSBaw +h9KGzsXz0Lc9W/qzrofJkyHlRw1VMhbeEd6+uKmBbFgf80CQ2FPlVQPlCJJ9KpgGiCmIlsRJqKYQ +S7Zu+TDappGb4MlHcU0W9KTqnh2R5QYfIQ49Pm3hl3jcVdjBLt0i8t7yf3I/N4JYW/p+tRxSwpet +AUtYj+KjWRk5WL9YVUKlubO0zg69L2t5K0PXYYfSjzTAu1LoktdW3EuWiRCDZTF3yVc703u5qaWf +SCq6kOirIJBBb2MTphdhMg562YMAk/qZOqwlQPCtlZFTZwSs+UqP8NTPOqlRJke4M8yVrdmbYFhx +yktw4r2GCjVYbmXT/uX4AvfY+el8P2eCFOKXWejnF0rJqi7uJY4tapwfrHSAZd+NsWMsecGDdSx2 +2LIT//CRaO0+65QnIKCFaLqRF53Z9Gs6dVQieDUUUffOT5CTbuWYD5zXRBqxDgb+pJllpkdPTWDq +gFlUBneKkr4lRAN90S1R1dIz1G4QBdMMNTNLQ4+Nwyrs60g4iRD9YNC5KYsJ1zTpkevXTVVD/7Ut +mUQCw+fgbOcwFGy2/TReA5riBhVvjBt9h+CyvoA0MFp6A8jBpqbpKdGeVah6EK3paMObEjosXh41 ++WOaM7/VU2yKOVjGnh7BB7szpgsVPzr7vjljwuT624Lr1WdTzyk2j5LvFmzopiaIvn+qq7OO98DY +DAzqzfFSzF3FqjoBkHjVk+ZS91O9EbHcJKOdWBrOcFPWWJCYqxL9lO812NSE7lHygmAQ4gQI9IpM +dgpiUiHcpwbPWvKuurnCGnRQyxyA6JJ9n0evvc6722RmJSseRDNL9TbRI3r6zHwJa0ldLorZIx8b +RZlxeoOmqh0SpXGp49KYbD95NqcyKZqNy5sysyUZaugND6qGFMWAtfeVNyHERnu0qcZTrr95Rs1b +G8Xos/er6RG93hd82JqPA40w+k62vLIoR5cQSzSEIvUPIcbYkcDV3CuudB0r9lRrpyXqdL3Uz1c6 +QCpOVXBIDl1uFNNJUby2a7B9wLUDxaCrq7uzdu0VU2tQCtchROCuGC2cUXU3Ym69BXSsZgeOd0uB +Yk1P0+CzPVl8zzqWA9Cv76MJlIcalpYhmS3GRkSHTKDmBXrf4zNBks5PNMjVC19Ei6EHW1Yvvp0j +xvgmZDRl/YmF/oJlbxHFLkSmom1oZyBWq1hB7c8a8F0/M7XR6/Xh2tfRaLnn1EETPNP3U09GYRVj +7ZWGUbwFF/xUL8lL7KVHmkM/6UeLiU5Q9DQFus18jlJpxt5Xnm7KTA/VJ/P4Wcka33cK4L0WR8tS +Zjqsm3646F2thih3Ph9thJOhLtrhgAZCsQPaoqnqfJTeT7gGg1nHXriZZF4mqB8THdAj+NFLeCTD +OphuHNdCKyy+bmlN3kKRtZ8jsftBfe1RMDzZA/VVagbLFOCAXyl58uF0vM7Qj+14rKYfgCVqCADi +3MFFUzGeKEBAwbGMa1lYg4Z0w6Sa9uJ5eHLKqqb9eqIN5BDNhB9qb7Z4c8fmMBjEJ/YsN0thDH4t +tUuT+uRZO+Bwr5Q16zskLXUzK+htQ7rhkkGsJuPNdVdc0B2lW0Z0l+B7jsF07AavN0Wr2VB7A+1b +ptuqyo0Gsh1mJu5wR3K0MjVlGKceKISQ99wbSCyMpYOQFfYTeqkHP+UE8h6vwQD3PdEjriV1WEZF +mMAdOPctthOSQY6DZPwJbcr+JgRRiNH1EjXBxENIvQJY7JniIQuWVmZLI2yhrJ3xhCBJA2XNHirD +WlqLOSzoejXillyXsqZlWCJCAIDV2H5w4uDDrTveHEk5Gias9gDElFMSx7Wcf6fuTBB7uaTcY+XR +rfk2iuXXgpqspATDu0YuxbRNzbbETYKTPCXmSoiG3InHPR0Zdzb2ALiTnRR9D0BESRxSYjRjnxcU +y/thTV22fJCInWI6oU13jGvpppOLEbdijKa9ECRkOVpWCir28GdMvcjDVGsDV3b0NA== + + + pNIFHci98EqOY3+2Wye2lSLw9GHtRJb3p/SVaCnhUauRB6lDJpp5GjqQA5ezGhukQS9vJHckw7e2 +JqpyF7JYRUrhekPzyFo4Mw1SNz8IIstigXh0sDobSeGtuITVm6qn2KVGs3qdUWpE9Pej4cxQBmWl +1DLYYK3mSnKACPcAspwJIGrNrLgGEMFFpUOfBLV9U1yzmqI6bVLqelqQK3mlgQl6HNcyZdeSCqJU +4zJyUJkaRXwKMfaiRQrTT7kniuuCn1izzhhUCzzyetdipVqt+g3vfF03feX90pGsk9WCThUrucCN +re87k8jOUuhT6XpEkMs0bVg19+w53Puw0qenEjPimuZNwnaADQoGSUVuUlNONPQQ7j3r1redtwkI +3MHkhhY2wpODdYt2em9gMPltGC4QQ+4GqbhhcL1jtXSgOA5TAxSkoXsrVko2GFiU1Egj19EMIkOR +4964frLV2j9Xe1yXm4Eqans2WGau5XvkCYoQe+mMjAqF5q5ljQ52N08ugGilDPKU7hsF+wFikAr6 +QuzY00yj2bZ+tEepL4puoY7GHOSCkiARorX3DXTHy3v5aOwHiLq6hMjLg2Reu52cNX4gTKuu5ZzW +TXLFqzVi6BV6YugdSHJMy8e8qCF4tpo+3kypoMTcy3GZGpRzRxGwWAAfLBLFE46vknaE2wsHM2ZY +klHer3bbK48PkYe4cLwruYMmP2a9JVC+1Iv5lPUSat7szjJJZJ0tJXY9PSjItYxSj0E6AI+cNDuu +OZwMHtKIk01hZdXwZJlwNhYrZ9lhc2NpPWDVoy10pSBVgiesuh1tb2kgd+0d4kww/AQlmhphqctl +a/JmXlMWLOzCJ03h0t0C2miDmiK9BMCUbvraWc3E0+4oyJrWWiWCIs9qABh3hHb7yVt4pOjNN7o3 +DRzI/I20vjvkWTfYWWnKLIjR0sQmZAHBoUVRCAZQIZTXshjMAtN4usx7dyUicj1aLgo9X0K09Ppi +4f6S15JhQjZ4CPEAlggwqIwlUqQaJlnrApXJB1SkqI00kOTMkm/BlSjzrfqTPq1cELuQLlaRV+pF +GFC4mIIJvXQwVJXvqglLVxsULmi6IMuaGuYtag0vlqO2FInJvYfirs71oWl+cjjuaStJK5Yxo1LB +FYwp2uuWLFnkIk3ZSRNoQgopg2bRiiLl0Pv2rJYf0Wd2MiCLaJRC9GNPB3JpasCq1hfJlFgpeVCd +SUu+mDgpo2F3gkavGjH1ZBaL+4CoFVGqnHMmpSxcieSdmPRZc9BV+awQFzneJuaiPkvwnMlUA3lU +8T5DdmbLUxpxjZi9P3YoOyXPSsWvHVVTEiWuzlU3bz1W1ytPD0uE4zFhp4e5E4sAG1cHdlgZ4xd1 +fuYowABpQkNamTfb6Dqsn4omfIpcvbtS8gTANTRADmtQ0apsg9M69KzT0cCPOISLAQ+dLln2vd5m +0eul5FwfbWBlnLQFOyyK3ppFInGjOi5njVpidpbAkzTgunZURO9cKTllQxslMUBAS5Z9Yai/RhyL +AXi6UM1O72QnrEeDzrjEuxjWqkpmaXvQO1sC4sbk/bE7ZGtPPmmalQV3OxIxD3KeC8sHO+ugm6kn +IEuISxrtqW2W7oabZ6shR2s04Y1HLfVDXTF56Ps+i56pn1dhto6ZxOc1STXrZWgk5o52VlLpzpUi +8aqu8mpOeTlWjAxphla2wxcar7cUjzUDg6l7trfl8IPR0NvkhWBCtPhHkfp+ZqAY5KBYSWjaEqPl +o9iRmnIvMQSha2dPKr3EUBGvZrcwtCxc7mBWGE7F5lV4KiU5R4XRknmfYbxFg3YnV8zuGjs0nwmL +R1sTt4U6dNgsZY82OvSEHBUMsAc71rojimgl2olqSfnofodwtwPb1tXQOEWK0VsHijPMqlXAwwCq +oe27/Z0l+ihPAntw1kfQU3pGtRyTbGc+axWDU+o5jFoI2YZgHknNnFspuRngholWvHiKYlxucGG0 +KtBlLVaT4lq1EGabrZQcox1dSRNHUuw3tlS57AvE0A+julaFMMWumFRx5cqzFtkQOSgPumpimIBD +eV+LD8raOjUzg3iO2ahBgpKX1+Qwy2VyLJDPSI5qdaTQC19UK2yOJ4uzFa/Z8rrSVJez9mIyyXcX +W+2FdtIUea5rDqrkuiOo9nMeDWihAUUky5NTNm7u6PpGNi2uTvveyT0hMl96QiXXzQZICOd6A7wI +TdptAlgXt0lIBY5OJboacU3sZmXFsZeYVWFwog1YeroqXNaugRuKWNVGHt006cV115El5hS6SoQW +uy7aDI6oRLsppspP5pAao20oS/CCl6yDlQ2a1IjRsOlTOcc41ZyfwM5w1AV7PymeJQKPaZnwMVhW +SKw9TobMfWHnWPvl7NjRSrJykkWSdu31ScW2DP1Yu244FfoBMXQp0fPNMSzNeK9yb4MQh861FnuN +EBjRihz0iGIsPRzK6wHsYwZAqh3jhxkYe97EYOhVXAafLW1/wlnGspbvxGwCfXbK3VBUD3ylCo+v +osFYu2OxpC8DssfSsWzYJMX8siaWyxSuA7VY1vegvAVisq2rtRvZq9EU5NRLZdIH3PO7rXQ8Hb7Z +ums7Ok52mV6kIUTz7WLxLM0jJqsDC4NWU8xjD2xOydHwYieTqRZEBLFr83rxjdQk6xJJPZLwjU/l +AYoV+IkEttmwtJpP1Mt7pf+aDhiRcd+5oJcCQHxAsdFVclAtlmCVGirOWQsbpNprWGiGAaIOwbI6 +sylNCFH0XHRLAEWjXWx49WY1In0twvOpc7LrNQ7QXT45riXa0L0qRDssyeb69iiJtxunAmIsqdfh +0iSTZWESlJXhrcxSfkEDLUXKzV0puSl0vSzAaKUaesqRKQ6o6TCaVVTjVL4hZlMeg5ZsDhOWdy1L +f/F9q6oXO+IqC5NfKXnKfC6uWPB+yrXIoQfUR9MU45Q5DdUhqwJtOZRoNFlyac/lXXTAqh9RlzJ/ +G2JuV51sbjQ/ZgNBjv3OA5ZGN6JhwfwaCDJ4c28qeG9AzM3qmvdKuYvvn9jNsgJXL+aohsZ3ZVRv +/kjLcSTR4ktcbSXG6Z6qPAE/YzWvm5XuARrU2Z0ZlvcBOGlHcmAZegPFGbkj6w3GP5WHnnd/jVVT +XYP12o0iNGmSuU97/DBRLxSiOUdovJg/0AKzi0ZP5KpVnU5e9Nu9IcB7WdFKc6VPuVgghprsyM6W +f/+GBH4DDpYeO/da3lxb7WURZj1YqwLZC7p4q7FEqhXNI8pOidGKhJg7+o3SutfsCxqSjxPepfZ1 +3lYtcluvtCIUsrRG0/gZB7lScujKtVaLhK1vEsF49QcyyrpaqWXs8X7pdTM0Rrz8vG1mqPyGDEi1 +V1mLa9h4wvstwSAXu5avqHILouuFx6w+/Qw4ZPB+RG7s2aI+8SGuXfikpZCW/Zrq25uLMomR0+vb +axgp6U3EJPqeO5KyVg93UCE1zSKNZargTjdTkCQ0Q3Y7CZQESeDRanOu15hNPZVx2a9phnmbcRBo +jptm2NzFYuMJzfLmo1QxOJKcjGSxqAnUAnJH4QW74iJM8UvL85jwkpsvexMalrHHRBELfo7RaLPO +26hCR7JHCa9Y8eIp28auDgsdLx4n4Rt6thA2Uk++oHS14IDVZAyiNcizVtlu0YGpOF/pgNp+l0fu +1QtCrzoLYrWLK7O3hAIrIuLFmDnR9622hxe3mQprdXuE7jacf37iAivKmmRnGBeMai0mAcDYPpsK +i8cwUWdtrKYSjnpBaRIgmlW9NCCN5rFa6pJVjEqSfqvE0cpIOs0LZIVLy6t0PbMeKTa9d4aPZh8s +p210PWtms18nU5nOzYatw5S5Qu5pJ2aw4dFiaSdtr1qtnJimjrnehdRzhwxCibrrxb1pYF0c9ow7 +ijpbJou1Y3Nr8XTJDbMwLz3Aq+2N2CEw9rJzWkT+SslmKqKcmTUzTu7b1N2/yMpMVkbe8vGQ0DF0 +9Ej3oeNzdco+zPastzRDhje29svq+A7dfNMqFFdKNlxi7vfogaiXCmTBHgnR0vTzVE5uHHppBk0u +Xm3/2jRvZnFqaSCbN9/dlgZ1GKcLiEov3TZOhVJU3bAJmgqd9OLBUy3f3L2Oyx6c9HO9KjBOtRc7 +10uxJS21L2nujlakq5sptmzE6kgCNWvhS+JCrci5d+akWku7mOp9mQGPpIM4ea6mpIXJK8lYkRCT +T5b3rz4EJCKMvShiclPaRXGmlBX1tzu9AUZ0DC0fuRzBVL991rINzdbJUlhB6mphLyaid+QKcQKL ++65+FTlWlFh6lUH3pnFJHeW6linILNArJddx6OpMj4RPV25MMaplE7qadRAbJnREwZWR63SfWSk9 +IG7Y/5Kmy74nmBv1an1/ukZaPerLb1nR8GAlG1iZ0O7LBHmwiB+DESsj9wBl0fyYELqlVgUwIUTW +dBFitujz8nPTBQWlmAc4dUstlK6wVGaH2/0EVgmlSv7Gansb2nh0WsoTEzZYfd5G1VAl51H9jM5c +BlwHb24Mda+gquNogIw3NWA5s5ODfdGBk9nd8z/yFnpSDxv5cNy4j/6NF9GPw+wmekQdULQPxlXb +zCMFF9QhyRidyKtNMioI4h6b1XoTW4lTA9ftm38+4M1n7Vg+RCTcA3uAAucVCu9Ab1yT2gPsSmRh +s1oswCXTnfSfNkP4v7fB/FejNUb8/jAc/h59w5WR3rEbqOUu9+aicNfxUMI6eXXweZuiNknwyzeV +8XCgv6wppKjUPgKRhJzLiC07AAKPEMnAqiGjdGRE6LJ1BFvze50XJo20j8A5VIJ8G7jJtm/WyJf8 +9nD4xx/99dPFumpH6NprX9S75G05WeRtIm8uZtQQ2ozILp/NFl5rtW62ivvJB2vAeqBEaYC3BoXZ +s0Euk9tsdSJu9GCd3Hs7tboxrtkcnG3sutdcGugHMqBporhiTOdca3CNve3DGyTr4hrRBrPRng17 +49vTFJEc4bmZP+uQTrXZ6kTc+P46ufd0anVtRIvRn71RMFGKvDhIffZev6NtzN3Td+8ougwQyYJp +ulIyNW6SA667udS9Tv9YI7dTpsCHJes+NB2j0PfQfs9S96OJoChXOAojVSn83t4tUmJpU3igimLT +af4+Ex5KpmiLURCIa000YpFY5/S570wGABMrvWKTrHqx1vX2ht73OA3z5EDIPEynSVmXHz9u/k8P +NuRGRRJTXpPhMv2DhN5JzqjzCiI8/sI8WDQY58i3FtuBRNoCZ7p+MQxRRtBUlqLrNzTTqOo2G0In +EpHAZ4uKiKplsORjsYiIWPR2yw6PNOlmQ5LFiWljSI2I0hE1rA+pEZ3c4bAxJC4KCw5tDIntUn2T +Ifk2OCMTI7w2KBIzFOO1QW3r78578s3aQwTxyz/cXP/p9uL67uL666MjIVOpWP/DwR++xV/GQf70 ++Re//c3FZWvm4Jf9x8P/dvDLv/1+9YebF+f48VcXZ3cXN9ent//6oT98cvjzf15dXg== + + + tz8dtW7dXnz1+u781S8O//Pgl5/e3p7Onjj75uLyxe35Nf7uDn/5u+u76W/4192/vj3H337+6e++ +/PSrr89fXp6efXN3/j9Or+/Of39x9/nZNxj69ZfjLw5/+dfri7P2yuftm9dfbzbz3enla2nn4kV7 +ctsj0K/wROscnvnP9z3AIzf8bNdB/OuHH1wbyr8e+Uj+ufNI/vkBRjKG3Ufy/cWLu292Ho0+/ahH +9M35xdff3O08JHv8P3fo+mORKmHXuXh19+JX599dnKJDO8/I5kvvfa0/v3l9e3b+6eW335zuLB13 +H9zFhxjSV5evb3cdy+35q9eXu7OvPb4L+76h6+MPdH37oTP19uX5b09fv3p1cXr92b1jnHr9Awvw +WHfSi91F/osPIfMfwmKPfbvsvii7axQvPoRKcfPy5avzu/t3xtPd/X/kCJ/evn9O2yXurA28vn15 +enb++dnp5fnu2sDGS+99cK++PT/74+t7OOwd7J/3PKxLKJ0wc89uLm9u/9v331zc3bMk60rdvx6y +fvL0+1fZh53H05b49eXp7a//+e3N9fn17qu3fPH9j/Khgzy5uX51d/oWg5xefEqWSjOq2/92naR/ +7zwr//4QDoLxIWN55M6O+IChPNDb8YFUkT/dXFzfrR5i+//nT9ORz3XHrlTGPz3t6D6NZxrtzbfn +t6d3NztbfmsvPHZV4rGrfc9UM3or9497wFK5DyijTm6uvr15da+u9xhlwuntxd03V+d3F2fPUTYI +1/329vTbb3Yf4GOXEDsf8P+4R41dGwgefcQDucd1tD6Q8EHMvrs/nV7cp/0/PaH94KP1wQL7sdp1 +/9h9JP943APxuw/EP5Mj9OnY0Q/3JD/4cPpA6/n789uvzzGTT08leqg0f8ZL8tP148P2gXiiXbvw +y1+dvzz85PECkWBTPQPI0c1X/3V+dvfZzevrF61vn93c456ar2Z79O7Vzhtx4533r/j+7Hm4G58N +smp4dsiqB4zoI0BWoQzQrtPx1emr89/cnv+f1+fXZ7tvv9lb733B77FXpuFdv77649nd6XfnuwvL +9Vfe+8Cubz6/u7g7u2fLrYdR8fRfLi4fMMCNd977CO9e33713DwHGNPry7YXdg5/y6s7jsu+84E0 +6b/sOLrHaN08zyDQs3T0PkQwPOtgyd4E3MUE3BlfuTcB9ybg3gTcm4AfmQm4s4vsaVqAO4v/vQW4 +twB/+jG9vD1tHHP5h5uLV3sbcG8D7m3AvQ24twF/QhvwV+ffXJ9ff3kP3ONtjMCno+O9uLg83T3h +Zi/bPrBs25lXb09fXLzeXZmzxz8c0uLm9ttvbi5vvt7ZetjLtx3lW9rLt718eyLybWde3cu3vXz7 +9e3Ni4vz249dhTtv07CXcE9Fwu01uL2EewsJ91ErcXsJ95Qk3F6H20u4nSXcb09f/9//99XZN+e3 +//P84uybf+Nf1+e3PwUy4+nIu/db1fAD7aa3K5e3309vt5/yx7yfdh78fj/t99Pmfvp/bi7/fXX6 +6vz29X3la/Zgwc0Rfliw4NH4XOCCDxnJIwcMxmcHGHzAiD4CwOBHUI37mdnqD6r++mL3sXyI021f +W3yu3D05ubCvLf4YF+VJ1BZ/LlJsqm9ze/7iQcX/nppMe6oV01mo+rmw24MG82SA9Jc3Ny+0oPhX +l6dn//jkUEg3356eXdz9678Nxw9QVd+qxvgH2lO/wTCf3pZ6nuj6hwmKR64uvPrm9MXN9yfPSfZ9 +gKP2yYzwWSdGPBax95zMiZ1TRV9cvHz5+tX5g69/WLz33of4rK+XedDFK5uXtuw8xPlr732QykPP +5QDbec/JAfQwftx457Gv1E9o+z6Ww2L0O8uf039fXL1+QPikP//el5kSYedCbI99P6ady7OfX7Zf +HhT9WHvjg6lav7rg0fsYrpb5lciHp3uzzHPS/faK0VNXjOxutWd4jc7++r2tg/zIrt97vtrTXnna +K08P7Mr+Xr7HGTB4i1P4sauGz1ix2N/P9zhlw/5+vicnJXa/m2t/P9/7Ui2f5/18D40APPr7+Xbn +uEd+P9/uA7mnhML6QPz+CN0foT9Wtj3203N/u+3+9Hy01tzjP0H3N9x+DCfo03FV/xjQ3gMPqg+0 +rvubbp/Dkvx0/Xh6bPFWvsDHrVU++/sfdw8M76//WA7ww17/setVEk9Pxd5fAvJ4pfzDue6xC/nx +cNB/tv3UKbsOlz/tLkPs8fc+7N+2V1/dD0J7etLj6rQ1tXNZn6ckN5h59vsdhvcYBcdHUBjlWem+ +H0P6/dMuKXL0bGqKvBdHz/tenZ1Nx8deXOSP+3Icj1wSPE8o4IM11McuEuDLxzb6yzO8uPPthcQe +EPg+jNzj3ROUnqD+/TY76ylJi53TQ5/aifu0NfBneUL97eX57W8ubn96v9DTCUe7w53jJHenX12e +f/EwH+DGO+99zfn15+gu+83r67M/Pz2hcpwPh8M9uz1JdvvtE2S3cS/cnii3ffaBgSq0h5Ds/Zfb +0+tXL3e/8OLxcP/z9Jy8jRr3FFRTCbO8F+X0aaS07T0nP/nKEI336eXl3hz6kVtxDwN9i3582D48 +p1us/sf//f++uTz/7PYBmLL9JVbo3Qe+xCo8m0us4s4DeeR3WD3gNq4ncofVA5jsI7jD6sXF5enu +9d6ekmH0DHFauw/kkRe/Go93j3K97a3Zj3VtnlrY7m2uAd9Lt0fDbo9dpu0ew9/LtEe7NnuZ9ggX +5bHv/Adgmh85avarnTOGHrsQ230kT23LP1W87wN465Hv92H3A/JpZljvDLt8agnWu2MSH7t8e/6p +4u8BP7pPEX+nJ9NTThF/PqfTV/cUiXo6Mm7ngewAZ14Xax/oQpLdF+apCLQHHKePvprcPaDbtTjX +yTen19fnl5+fX56fPcTJtnzxvQ/y052jkm87yOWLH+w4+tXFq28vT8/Or86v735/+u0TPJN2l+SP +/EyaSpIcLn4cN37cdcRPpWLJVzv7hh77abz7SJ7K8bUvuvIoxd7uV2I9waTPB8iDRy7Tv9rZS/To +JdvOI/kIcLLXN9c7OydOz85eX72+PzK9NiXrr7z/WPPl96f/ukdp2Fjsu9PbB622PP94/bV3N7uf +YDcfYCCXF9fnpztfr9rs+LPf3+yOeV574b2PbPezam172ef/wCHsusM233r/zLjzBnuxe/q8PPv+ +7Zadx/LV+dcPOLD16fc+nttzWsQ7M+CLFxd3F989gPf6C+8ftbIznPz25mp3HDkf/gCRgvPzf++8 +TC8v7sv02UTGX34wy+T0+uLqAdrCT5Sk8rTrdzwf2Ex5LrCZs2cDm9l9JHvYzGNbkce+34f9zQRP +FjhztgfOPBngzO5r9VQc9XvgzP58eg8jeTbAmZ0V66cBnNl9YZ6KQHvAcboHzuyBM+/5OHrywJkH +SPJHfibdg5Z5xsCZs2cDnNl9JE/l+NoDZx6l2HvWwJkHyINHLtPPng1wZveRPDVv8TsOET0d+M8D +mPOh2+wDLeUTvrT6ARC7/WI83UIlT2ctfrp+fNg+PJuakXE4jDubgjLsPz/AGlx74/27YH735Z8u +/nl++erbi/PLLx8WcX+MytOHrIf5dPSRPRz56cGRX30LHO9zRPHuKDGfOoR3PBw/ccPhGNu/h8P2 +/0/az+2/n7Q/7HzLy1NxNI67g3z3gOU9YPmdDe3i+sX5y4vre+8XWD8Bvj0/vfvVA5hw7Y0PsHRX +N/etxEeBYX4sqlR+zu7hZ1gk+at7fY9Px1P8kLF85L7i934M7bouT6mq8IP2ziOXA2d2D9EfX9+z +K55eJHl/hdRjlQuntxd331yd3+2+LE9JPrzNnnrscmJnv+8/7nGerg0Ejz7igdyDCVgfSPjAXPbT +J1Y9BY37sYNZd16lf+w+kn887oHcg5VcH4h/Jkfp0wl/vJUE2Qeg36If+wD0PgD9kAD0wxIiH6NP +Zh+A3gegn2cA+vmWkfpIAtA8RRCCdsMnDzpR9kHnD2Gv74PO+6DzPui8DzpvWZB90HlmDTxyJ/I+ +6LwPOj+ulXnsO2Znt9yLi5cvX786P7m5bnbR9e68tnjv/avjOwvx17cvm+b0+cPKimy89N4H96/z +y8ub73cd4eXF19/ctb8fnSFTeOcxzl9776NUJnouov2B0bSHMeTGO499pfYl6W/2Lri9C+59jmz3 +E+Cp++HkbPzk69vz8+tPmtJ2/snF9YuLr28++e7i5vL87pPb8xef3NyeXt8XPnuCDrp9Gfv7R7N3 +0O0ddHsHnfDYU3XQjWXn4Mrpvy+uXt/dUzl3fRvZ8++dy9LOYzq/bL88yOe49saHrNAHV8AKqsgH +Bs/8SsyVlWpFT28DPCtf1LP21DRt87m7aV59e37WTNHbZ5jq8QDe1En49T+/bZb/Azylyxc/QGD/ +oaN8sD94+eLembN35uydOXtnzr2mJVw34sxRzw59Ontnzt6Zs3fm7J05e2fO3pnzCJ05l/d7OZ5O +4Hrvmdq2f36SrnyudtLTdU09z9ocb+HjeOx+t2fstnk/ad4fSFrt63M8UhnxlnVhHreU2D0nf1+g +432plnd/Or24z/f69IT2Q9Gej74ux+4c98jrcuw+kI+wLsf+CP2Asu2xn5778laP9fR8dqWt3spC +fexH6L601cdwhD4dIMCDpce+rNVb9OPD9uHZlLX69Hdffn72TWvw/Hp/9dBfP47KTztX+NqXLngU +BsI+3X9nLeE9r8zOV/e+2PnWZT76qFnssW+X3RflX7svyr8+xGn28uWr8zvsjNvzFw+SaE9NCvyR +I/2orIS3X9xnbC48lsV5P1G6p7MuezPuCZlx+wK+P8aMe89DPRrjz3Yd3e7qyofQVh4ykt214Q+h +DI9h2Hkk31+8eADWVJ9+/yPyu4/om/OHQBz740/JAZL2DpAfp7k8Yuv0qZk+T9sBUvYOkMe3XXZf +lL0D5JFIgb0DZO8AeUxyfe8A2TtAnpwD5K6p3K/O7rHG9u6Pmx9yfzyd8+Psp8PXvG/c5PHOFWS+ +On11/pvb8//z+vz6bHflbfbW+3c/7IwMvX599cezu9PvHlB8Yf2V9z6ys4c5W3dkwg8hdK5vPr+7 +uNtder7i03+5uHzAUm2884jX6qnAeV/enjbOv/zDzcXuKTHy8o4jsy89nVNhX4Xp6VVhGo53vkzn +7mZ33r35AEN5vgWlHqB5PPV6Us+pqNK+CNGTLUL0ALPg5e3N1e4WHx/+AJy4r6n00/mS/vL69qvX +l002P0Fn4/OsBvMA0/CR+yf2lVL2jtiHOGK/OL/9/uL2q/PL19dff3lPquLeHbs4yj4gGm13lNDj +xqLtPo5HjkQbnh0S7QEj+giQaMPx8Mx9/zuDUZ6a6//5O8zvmk3x3FzmdzvaST+5w3xvBX4UVuBD +9tDeDtzbgc/WDtxZzdnbgXs7cG8H7u3Aj8wO3LlqwdM0A3ce3t4M3JuBHxVyam8I7g== + + + DcG9Ibg3BGf9eBtD8Gef/m4cvvz19YtuEIIUQfnyDzfXf2pN8E7AIyF/hovR1v9w8Idv2UaQP33+ +r6uvbi4Pfv7Z6fWLXxwMh5+2///t+4PX7Z/h8M8Hw3EO3rnxcDhOoYyl4AdXB+fbD2X0cQjth3H0 +2cWNH4ZYijv8G5prL/Ofv/2r/fLf2w//1R5oT31/GA5/f/i//vdw+AIf/fPBUdOQnPfh8MiPx6Xm +eHh1EI5LHtJIUk2xHMbjmv3YnhnL8VhcOizH2bvanhhT62wYD88OxvZ6TrGRYutJCocuHOcRL7nx +eKytzy4fl1grn4gx5vaSxxBHtDMcx1zGw/aBknxpn27jGr0nISTXej/4wWWPLzWSK+nQHwulNRKG +lA9bD8bQetC+k0I8bF+pIeCF1pOS2vdcm9k8tL+4Y5dzORzDcRudO6ytfzW3j6djn1sHzw7SsfMl +Z3x98MEdYkixtk+2CQnVHR5hMpMP5ZCzVkJ756iNanDVkxTaw0etlZJa38fc3mrfOarHwzCEig+F +PGACjlpfhjGO6EvhjGLaylAO26wNQ+vkEabNYXiYtZTwUhsx16PNmo9Z1qVUPx66NuUYEQltctDR +mIYY5Ftt2cbiMbmpfbT1sDXkfcGStK+lxh/8mh9lGfEm3nPxuPW6vdcmMIba+tR63TgUP7TeupAw +tDH5oZIjQuNVvNem07sovRlyY98jLvxYhNk853HGfWcHrw5+9mWTRHcb8vZnXwK2NWDy17wYn332 +KXDDf76560UB2oOfrT3x+Ten355/1g7sF386vfvmd7/SRz5drbY+9PtT6IM3n52/vLk912f/xxub ++4vKnJ992UTElwfjsa+NAziW4BpvXDU+Sm1zyk4acyqH6bj6ARPQeCK2jdt4r60X56ix65DI367N +knOcXNlJbdpcwUu1cXptjFwa63P7+eNc21+4k3Lbf4dHbY3bZk1g3ZzQSmOwlNuWagR86rCttEsl +yUbype2Q0LbD2Prr6rFPrXOtAym1XenaAg6jB/+6FPCG843v23I5bPZcseXcGD14c3SNj5p4GENb +xcYEKVTsivaHgEmB5BibEMCmLa3tNiG5QMa0HRVTDCCEwPEfZcxVY15MWlvyw0ZwY8CYcns7k9uK +b13Dd1OsTjdSyo3125SUhC2AWaMcqMeysUobZuNiPEBGA/e3R3PrdUoQqtw1bLYJNfAwCG1/4Yfj +kCD4ZBd57pDQVmVsq3Hk8AVfuS3ansG32iZI2LxtIqrL7GCbu9CWk/IwRUrTxjFD25oUmbXJ2bZ4 +Y3C6i3J0IlXa5iep/TFBwLbdS3EFpmor20Y0ZzxsorZSTX4W7vHaOtq4sTTu8WWUbY+jou31QvZs +nysB4rftR09CBNdgAdt0yU4XiUymCO2j4ODkIG4bo8XsOfohjFGYsUkjh4Vr/JMoR1PKkCqN+TBn +mMSxMVB7xfnA71BI5iZqXcBRRx6H8GyboG2cJhbbDEXhYnwDs+hxqrh2ODVZ1ro+tl1CMVmb9M04 +MBqvYAXGAqEejoe2rdjE2M6DNm1xHNrvmEaHVWsTG3ObWHS/RhxqbUFKHEhpw3DTAoHBZVXaCYa9 +AfndlpwM0ni8TTS2UR1H4QaPQw17vozCik1+44Gxep4dnhMD8VCEI7B7Rxx77VTE7iXbhcj97HOq +ZGDOGTgptr3jSxQml8XAaMn2OLt8ZAONS0Wgj2y2/bEdGNHLMFxRVmzjGbF0Y5sUx3UeIKnae0EP +SrYVKZHaqD0W1mM2Iw7lGduBFxszeZeF8UKu0DGwXBl7rm2etl7jIc/5UVh/LDzNHfvYRuIcx9sm +tukRcvyMDgKqdTKSENvbAyWYG3Cw2XgaL7aZzZC4jbFcboIGHJSoVIH1RDC2E9K1rg/t5VF4MUIW +twN8AC+177hYKebarm7yt3FKk3MQLXWIVDEGOcYbmw65jaad9KWg7dT2UZt06CKRHDCK8HEq9jiT +jb+hUdRhaGtBQQgdI+Jwr2S+SD2GWlLrCIbZpmqkQpHHLJ8RgRJqJjO2JRex2H7EUEaocphezpnn +PqFyggUYS+Dej6PLyo1jQqfRJZGLqbQlaJ3EzsFJTnne+L1tmjbRY1F2jCFVKD4+4W+YNyxdVyYg +BLOHzGxTl5KoCW3uRrKcg+huq9iG5ZJTuTT6JnRai20hlBu5iuhlYwIRu9gabZmwBiM61/rvm+w/ +XPAdmLGJurbvM4lNw/JgxjY5PnP3lKbotdUrTf/VfkOlA8OxH9jbbVODRwIEkUz6CE2wDbamEHTr +NeUGq0TubAzX9NQgzOioE7ezIAyB6m07WCDCh/YfnnC5sVQ7kocxxyK8CB0AZ2LJPJPbWRjISXWk ++MP50nZ0E216qDf5WaA0tGWFqj5wq7apbJ1yh9CFx0KlNMTEkTSKw2GOg00UBqq06Cy6DSkea1sX +TBj+K6etG9ryYcYoGEdMZnu4zVhoU6UqYlsUnh8+KS+KJjJidIn80RawUsaHIsIg+caUOIdHUT6x +lkNT3n0TEzklYcaRJxI2vxxEBco6xVPT25UVW4uVqkMpENSOmzmKPGtKA4VfE12RB3JTiYIe7hGy +AGo41ai2eK1JJ0d5rIH7csg5BdHhfOY54XSK0AAFIiaV2wPGT5vuBdeBFXEqVgwBQtA3gXIFGZcH +fNdh4RoPtonN2FM4YDJtl1pkepuSiN06QkMoYkM1EVR5IGc+4VJbTw/LMGALwfgZhQvbx6jVNEWk +UFf0NJBgTDo5qCBn2khpUbWPtPNupKrU5F7jKnAXxDfOKZiKbQ9X14bZ5jSGWOWNJrwiGbbiYEuO +XNu4psm41hfooGB3YVsxzQZK4zCgc00YlMZbYMOhem6j3HQ9Cvnka9KjFpPiIIwolaB40LDLVVSW +NCbMWRi5abGhm7qRMatNOXByFLvAszh4W59SuOGaBjsqC7bjtfUex4/Ivqg7pR1DUbT5xlIZvDEO +A8cvprFo5HKK8CiuuahaycMZO4FKeuNFGHDyXlM+Mjm2DdyL+utopWEnBnJ6O+VGYWY1AJpsrk2b +HWWHUNFps9ykqDBhW6sFt4EFofEVmplVLMArMFSzTp2Ib49Va+pCE7B6FHvu6aYnJ8q+PIr61k64 +6MUQzKPnGRUzdwRkr5djjGZNVKWQjNjEMlwXotLgMITN0tYtiojir20e2tYJwlQjNN6Kw8fxuG1n +QAD7caRjFaHMkyQ56ddY2sHRxuIh1GBljcJ5wshNmYZ6CFVKdb4Btq1qCk0qUb1KpRmuVAyHKtKu +cXk85NkpxgSOCgwGH4qjzI3YSFBgq7BjBUe1P1BDlbWG2lcxAWJIRHAP9vyIw5pH/9g63VTLbEdz +bIYTvDmjbAv0Eopz2zBDSSoQGy87nppD8fohj1May+PAMBBwY6VgHHi2ypGMEfCQjrXYfoniFnDw +RB1ROYOyTAN2lM96aL608sVjgC0UQ5CjOQ2Y9SjWHkyuApNyznbkRQfzTvTjWNqyXuH0awxXxKIK +TXK0Z7JoeO1AyJ72Qcq6JjCARVYFaA8F50GbGWrv6CHUmMZRFCnDQFPKsRGyYmoc3bZ4M7coERsL +ZpjGA0aJTVmbgp3plBmFsbJLVJuGQo4bSqZl3BQcHuxNrGQ5hpNqr+1bNN4jHDtNnrcHyYlUlNEB +CAVugiDs0eRWHFRlTTyJA+0DWPvc2VBMkpzD2YtahCmDTthmrI1ArNLSti12LY8MHiWYBrBZKSZ0 +chvZIWQVTh0sVNPrcBLXJpfEVdR+wt7ESnrlxTzSCGrdEjcSDhKILAgoeq/QG7D4EcywZDuliTVR +0ttgAhmuMZecxMkV0Tj5ecpMp+95sYnAHk27jZS2aRyF42uKnrpL0z7UXMKgod6MsSp/tuUfD7E7 +YCzQjebEDtvkOzIjREsUk6pxgAMzVtFx0KkE1aP1SHmvncpO/CDqqYG/UrixyQOf1InRjg16NXhW +JPjsYlSFHx08jsKJcGqqJw+bCr43mMXNcgYjNgEITwuMBWXEpgHSF9OMo4IjuB3zHhzpUqIB3NS5 +Sn5oSqa4amuqoqDCzWKHcRMkTV0/hJHRhCoVQp5z1G8iJAmmMDhKeaiGgULd01elurvThRNdqh3g +DlugTbsoz+Z/rTQa6b6hA7aZ8HpqtumC4QTRDwWYZxcMWej98DTLadzm2sEnG0wotr0kXuMMZzj5 +J8M2wGFDnk/0YWMZigvZlIFIZofakLiwrVEaOuBIOrPhv6GZCremM5etCPQ2f6RB8ex+2LZjaSg1 +kSpSHzwVaPE5P1Q5njNMvjaH7Vuy15q1IifFBsuBD9UzimUJooleHYhjPnGfQRo79cxjfPDVO+rJ +dM2LR7Cd4k5HPA6p2uFkvvkqbmfZy3Qzy+lfYg1md+LQOaK/Hgc/nUHmaMaOhzXddBuZ+hLEuw8H +va5G6/goHnoZcKBRCrPYi4+7mU5RDGn2iy57ke7RtNnc9gV99JAQdNo7JxYPzDz62zlB9NIX1cbA +ItMUwtamMSJOehytkfuIrpQMB207McZRXfRgzXZS8Cyk1CzUJoexTbA46D3jHDzS6NymplEcGYzu ++TbbdNfDawplSVyzBZKfzvkR5rS562nVJrghDsVZX9Q176l8eDI5jemRcY7izYKObRiH4qg3t3wU +yeagqYpXHu7mkQso27Pp2Rixpy9VffIw+6OcNgvOe7NzHjZjszrLvc75T3+0c/7TlwzgPcw3/1eN +iY0SExsPvz9geOzFQTr8+S8O//Y/2xNbR8a3qz4zxQElgrclpvfb89uvzm9PN8J6W8Nx45ZYnKNx +J8pE00rbTqda0VjIKKtOoYiC0bya3ttGm968Zlf+eEBXFeV80yk9w4xN/Ry4hxtHV/zQZEJhmNEj +uIjoYuOMJqL+dkohQg3/CAdKzbBawYFNkyoQr02bAwvCIxFECY3D2GTq3/lUguYPf2VFAIw6Jzxq +TZA1Y2EQ12KEHQgVommI9fCE2snoqK7VJOEtr55zjwBLFs9XHGk1eh6qJ5TTFZpLAIPrrgi+Um9o +4sEfLkdycvBymmCGbNoZfgWhFOhnpcO9MCIi3uxc27H1BY1djhpGGD82enpRQPHiyhnVzTVAoWm2 +UvsYAy1CasMaxMGYqAs6BghppQwwzDGFfAVKeoEtGugtdDDJAmXJQJ1k0X2MCUs+yJo3ExpxOjj7 +Ck4FLjqMGpjO+B//lJslgH3vq2tT2FY9w7c/4KmIVUE4gcZoQlOJdjH8KjKaxkM1UFnGyYOodW22 +1ti6ksWyg2+4mUBj48o2Qg4IJg/4EUGJZj2IGhI9PcMi6dtMTs0UzhN6WEJbuIwTNIBPm8kdE1rx +A3wziBpGNHeyHMJKZ+ZHbAYwQqElD09sa+cKx1FNcPs12SuOQawEDzU4JxqhrSG9W+DnOjoMCDbL +gIMVnvwCmzvQG023NV2QX4BbJLjrVSenFer5cTnzR9uFTeOn/XUCq4N6I5/xiQeo+A== + + + 0RzwAIv+g1ugW6ZCl1Fg3BZrjbANI7iJcfkVTzeqdZnhEwfmHegkbcNj6Np8lNSGxwBWpDorvipa +E20qmtIgO9pBBYS9IDZLjuwO3Vtwo0ADwOCgaUK/oPMBvqcvaFoh1MeI2igxPp9o02pc++/LQdnq +B0eGbId9JPPG3BgzcP1hg7eO9t0wxkTTu1mkUJwhDLEE1NUgyhAxaZPV+N3TddXjEvCOORmngwoE +HmqszOAmbf6CyVl7apBAXptluilkJLWNmv8eRJmmxxdOTK4gnDPQvE/g0A0aY07s2iDWmFg4jHkd +iRI90vz38BqcYCxwWEicfyjUYueD+/uP3zIwumk7ML4Nh9TVgRjiRQKPNGihYdbkJB4kWiR0TmGn +Jm1FssGPnkoWRxiDo23bhFS6W8SBUomdISV5Hig4bbwajgUM0yhBHBzwseWRFFGV6DuBB/pkS9ff +DRO1T1ZydOtNhtujMSnkm7pZaLQjIOuDBGKDhH85/7q9KjnoiO4sCd+1LzajcoVOD5S1iJrLKcUo +vm4PAfZ4hQDwZEX4nIO1xW+cBZ8GXLLtlJJVcvAcLCeJUcLlVC6ne7YojHTDsSDsB9cJDGQCfKBL +kKFxVogjtFKMnGDqok1dhtdkRRI3FOeusTFJiBTFtQ7Mpvxd8HVV35BEYz0Uh0YDPIbuj1FCaBCb +Q0niEHGKfSrDILpTEw0cFoRcdeIjSSWJDSUhtDGIp5Km8sg4RBPeQzBNqVLcj91DlNQ33uQMoy9f +MBAj/rHIcBetwRGGcBPYA/EOjIAluj5hzFCfWozv3TA//BOZ89BWtzIex9XMtMxp2Itl7YMcotLF +v1PFdXSTMrKfRSimTEgGPFswZwsaFx9V5UnDgSRxG9kJTQOXnnHG/+Ib9MmF0rlQS+e66xk7yaZD +D0TFYw2ZGwNAQRCZ3NQnbmMGlrk9uPpOHWL8oS1aKfL1zXl7N4oeQ+eQEgA2pGbpChuLgjHQXzOQ +mzIdo8Qo0oavjSuyEwqPFs50GWFvD9QanMw0g+ywWOle4NxD9x6IG2vy7GRLH96BqrZ1YIuPrw7E +X1rR/tDdVIJ2xMGe7AiaT/62JVos42ypBRakkqjtG2hg8H0QRwgN3quTxkdPiGeEKScMwhAqgoNj +VthEm39EkscC5Vu2Od1SAxw5MhLXX3NA1SznBExErSkT9hion14paYAfMgiLU7MK8BYEcZlNBM+Q +lFhgVF4iEEJFdJQEr1hsZhL3axI9jRup8h04gODtyz1mRo9j4yRR8eB2yQJVGpqKr68UCMI22wXz +RJ0G+leVgN0XMl8FT7hAbzbdjAn+7qwHeuKZeFgUxHki4WpfYFuIuONw0FefuKazSTp5V9Jwox9X +B1v6OhvMbLgC8OHKj7SZojg2Idiod48ScISuCZccPWIyjeRWMEmkxt0EJVRUaAmwzGQeCfNEO4J+ +KMfEJ1Uev3HbRL6DnRuJfjgkQ4fISWnnQR0IdZGgJvgfih9s6kBbwAsQlV44ZxI8AhcDUiDaCTEZ +x3CU96MAKqky07jxPC2ck93P47bKlyqOaXgPSrNLvxCXiPoAXRWNidF+/Bcha9mMEt8WZ7F8m/jE +9skyCIE8T1MoFWVBT79AOys8rPz5TPz9nTBdAr68zV3RTXYF4BtkOGeGYc0jQj0HBuDcuL2ziwEt +hjybFgk80TyHARyrYoWh8NL/OUrYlHBqhgKjHA8jBQrdJfxShVPfEfyZIyxCOr3hsgQz+0SFWFy/ +RIY5+qWSbis5hk84D4T5wT+LEMP6xGR1Zm3O1LvgbpzH/BxkeonC3hruKSYoiTSBLwQRTZ47MmK4 +351IwTa38BHBwswCoU+DoiESAkRHQaNWSZC2J1C5eVbDDBcgaLO1eL7DezhIIM8RIQh5kYLaXDXC +tdWEjIAQzFBwjPQnTL8/FoMTLgA5ngBPHiX4neUs5ZFkYz7ZMg+X8MZJCKqoExHJCaFwYYM0JHEL +QkugyAeEZBAnQ2wLY4S2hcOBkQ4PFISrkBM4WMCUFvGEyBxoVAKU5GMV8H/CWSQ2DjY33FlfANRM +/DxkDYSPV4BGFQSdUx9J20PUmk4wCio7ABQgAuJE+8HvPDtmo3wnRwkCJDi24BOB/keYG21JRAcQ +k8V5pjiHAWjjvx/Q7SKRP9ndjrEjQW9DcOIEdPz7CAjOCWFw0JuAvAjiv6kukjmgmWDSkKUBpnND +FocUo5IKT4OiDW+Z+X+qLW/rdaHRPR/Hu/Ha0SLGR+HAJeaF3ABx13YaHUhYMADu4T/6gn6oUcKs +7TQJxNNBcyRgy5HTBTQS4HuL4uuiNBGAVqKvyzlJ5CCya9aLd6O/L7ylcN7NPKpbfK6bbtkzOGr9 +yEcQRaAzdxzgUhRs9Ai1aKDZOko4jL5dKkSj6kvT7+J2yISHgPnF6sJHBko1mEiIHRJkMeCJJjsc +f+ch5IFjyVX8pCOQobbrV+J6b7+LuwOHtJOEHVGAsjgLoyhtXBRq4gTXBjogKXOg4mNxICYgy4AW +rrSpnROVIFAi8g2KVUcGx/EPHwY2qKM3uiy89t8dLPz6C8f/MjhQ1UM3UOpQ1GeKYuKTIFe2OMZf +Hix8wMRaO4bOGylk9RNjW4NA8/rvB+1MGMWRAxAQHSnJfBeD2rdIXqEVg9eVKQbCioACYPYKuYBe +OpDovQEApNDEiCMhvwvXPBhh4b6fOfgXYz07WMzHYsYWs0oUzjwus4zdbER3COFQj7OqARRyTpwK +fSurzx9HBhmtkQiedhKTXXjavzuYueIXnvqlN58CYgBUBpMX4Pnk3g+UGE08JM5r4+hBZrwmOOK7 +oGjyAeAodhUcjlm7wnHG84qQy7bUbe3hbazMy2pDh1nZCAIG9nBWEb5UxUPl6amXozZSC4anlo6s +pk1wgY8IrmzfWnDZycGCF1fb+XVjJr47WMY+FtGReQRFsNS0KoHJgexC4LyOitdR9Km4mWAAFNra +WMhxcGoru7oMa3B/z0If8+DIIoBC6cfcF4Yj4UJJQFUORZD/GOZird7NEQFoM61/r5DgrSyw+Phq +WwxlEWlZbY3GbEZsvoPaoJPq6Rjl8SnOEyCNE0/N7mqhrCGrMKlCUIkUP1m91pwCaJ4BcE84Lpsi +SKG1gsYokZagjABwBL8FDkHwdDEh70QBAyaMfnDojdgqVwcyWVzygVYy8vcoJYLaz4v+Q6LORrki +gotQZIC9oI0UC+fABQkd9AusH6At9HVQv4hNevlBsxrA9XhGDmCaatB14cpMkoimh9xsDO+GA5fR +L0TN0iCJLxl5ah5tQFXPcQI1/Z3Q0qqg3IpMrFUjOTHbQKIWgE9JmgooEDhQEKmnwqHNAx/AQO8o +ruDj5tnfOs/AQRQHr6NOyHc8nchQ5LMI6ahSr0kkQpsAPiI+zROF5wXeJx/yTLJiAIZdDnS2OXUB +EHFjQasoEROaLRoYzZLmgO1QnRjI/FDrlHyZWYvyzqg+ck2NWMQG28abxw/nAcZlEPJky3Kt3sVR +tIw6aSRwHpuax68WUS5BKAorZ4u0OCQqgntw6gx0lClX0+5VT3vjtULWaZobEHUDPZSCU6+qTsxY +DhMy58zVVv6dT9t3B9siwfNo8Za467bo7CKE+90B3QKJyQODxg2dASkddSnOS6KHGI1TVtB5ULv8 +CCmVLdHW7w62xmSXcdtZiPRM1lkilR7psHn9KQ9NIG6JQJ69m3AGnBOKOdL8BjBUDrLCXhOR1FVC +YBKRPk789CoJOEOeugg2Orsr+NujYrGnRTiWIc150HYZ2J1FIk+2Rys3Q5rfwcE10FfAKGuQaJ7G +zKKkfxzRT6m+eubUiIurg68TkdJJPTwIizGp4gsmHTO6Q7RskRCuKDZ4fFDcf5G0PcxiTOoaypLI +Feks5OYVhCOwmDQoFwvCiAPSxGE/HNHRGYkpA/LbK0zGiSIicE5GzgiujRpnA4VbjrF9PffCsVgB +DFIzKhgUqYRe0e/V49Dsu84MGlV4To6j4MVGCd8sxsxw93xmlrO3mGOmFivPkTeiSjwrl1AsgUmS +f5vCKmzIVLkgqyx57pDbHAtOk0BX82gAey8KAymjfqqIJ7/2mPwoSScMUXMLRzufFqvyTiwQcGrU +4HJ3eCJBrGhUtIieXOirP+I51fr3dyIEotStUF0fc8DkZk9YS9igDAGalXg5JeTOxGx5D8q9sKeg +FKNGyaH/Bplq8B9Dx8Zc5GFtSM6d5Qyx7MV8HpdzPV8QgZUDZitCMniJ6zPVQkSp4h4ZTyUlCmoH +Fi1nk2mVRbb2JqDgu4MtsIMlNGER4JcEeNOkVFYWC81B4rOlxXq+o0j0InZ/BdkoLiIiAwhbzscS +UM2UgnBaMPaAdB5aDTj+JULtLKU92TnmjsXf9Qa22cJcC/7bZNKTLZy8mB5K70qYH2SFpDWg9kYW +zTKKGrHAYJwdbEFqLLAcc7yHFn6RWRlEg+khQ9poMQq+RJQrpq4XETaaJIdZd5pnvwmY/e5gC6p2 +gbudgyk0pWADcbEEZWyBbrw8WCwweWKdA5YcsmhIkolmSJEtaJI55uRkKzJlDgX47mArYmCBKphD +D2RWZuiIJYJiG86iqO6BQlEFYVEknUL3JCWLClHhQesE6hltMQtbUsMHeb9QwvB9uu/pKan0A/e4 +eKb3j/BAuGlkzsXTeSRFH0LZthHfDVLOM4fSaWkCrn4g2rgtCI/kNYIX1pL4Ob5KPzhnGrTA2c8S +zSIF9tQgCW5eKOIDzxJ5P5m+BgQFPZXMyUPEAkCtQbP0JLrTV4PvidL9xvWgUJit2XJZF4t/drAV +ijOH6yxwHmcHW8AgS7zIDFSiWV2OXv2YZAfDMGE6llgVbpRdsyYSHSCBCXXExpHpY7BO4DcN6l74 +QopHMM0FqVhFZBV8wXT+0+mUVVdz3XiDn7bSUKevWYK8EmIILFaz4Jd3h5GisYJwfy0SL6+0MdsU +ih0JJoDm4xkihIsdnMI8cm8TnjUIAUVzEB6kK4NJlqNgFrJ63xqJdXEg+SUZuTXMI4SlDpCL11Y7 +ijmXlZO89A8fohQBAh2ZnyAQVmOBSEFSElGBWKUerDRfGc7kOThbAJFXm2u0WMX5SgsibkCZnSju +BSLk5HeNbYOjwIeasyzQqoI84mQumzlwSM6hTWzRAnw0AyhJ/y36o3WeBqkAFfuHNldajyDxZltD +VF8z4VEBsM1I8Vd5rgbUmJAlkJix19IWnPGRNcBgVfDEy1opwEvkYcEOIrfmLLNgqk3GO9nCnLNR +iX5YfLA4GScGRzbWiJ73OdpJ5Mc6HGqBlpoBgUR2zMBCCzjRDHJ0RshR1Fi0okhQbisQiSKVIlhO +QYBLxKqc8ABmb1hFKEm9jKbxIb5MLeEL0UAGxuAFZVcU+pBQAUSq2IhyaB576nayR6IWgECSILrS +UXFz1ng3BtM2/NMCGTQD5Hx3MIfsLCA9czALbZfEykFWgAUjpr6DBEW6KZKyV9E8cA== + + + zspAbxXkgzpHpThi1qIDCIBDPUjmP4NpVHGOJdUZk+YOtc1bqwBtPL1dUUKposbz6IssNMV3IuMn +kg7plgtG82W2qPNVn/GFsDVHoc5aOkpH4VF9ZQYsExTTDHy2gKfNlvAdHURBa2lkFTdXhN/T/siT +j6MwNou4K+dg23JsLthiReerTlaJtDKLWifkHTg0uro9R1hRfM1QWAuc1gzKJQsi27tIJiOzWyHZ +AWqU2R5kyegJH1UjFr7FQUEsLsJKsK+g+EOM0MvVlMHM2lhgNqnoB5FVVXVhgAgsVjoa4MgqMzUG +EiUtaHWSIhVKDxdrwjPDqwgumk9MN2Sl5C6auUeDkb83JSmW5dfpbJr1cDGG+TjF00RXLpOvgmwC +esadOxb1ELWgoAQDDVHVihVXObLZpNjhBnbsu4MlvGwBQNuKUVNpYiay+MWwWzjk+TS9E6uh/Swa +ckXVlirBJpzvDvgzsTbBj/L7yAxPRKW5W6pCHOiBH2MT22hH49qQpK7KU1Q8t8DaFsi3BTZujp87 +m7zWYPEqUW0JKzkFC6FZ0c68VDhAUAIHwCDbIEv9YNnoUqussfwgJnmQo5ImihEG2mmHi7l6N4Jq +AeNrvBHhyzWBAqy7QC9FcYR/gjWBKmpzeRmfF3dqFd/XIIUQ8Tu1mEXXzw62DW8+AZtzhLCgGMPE +m7I0m4RNEXaJPvcCKEhKqkxCClqIGGE3bLkZBvG7gyVGcQPCuB399+N0hiX6r6o0gSZXuCmpC0Lx +A38XiXvJTNFmTSwuScwpEZRW3zhr7bqgMaPU4SlB4zyoAziw2KsYpBDcLm8DRs6Qk3Ng5Rx6edZG +4WwqWTIEviVAcahJSu3aDYQiy+kuMIxzjOM6CvJkgZOcz+V372RLAEPBWRR36lUPxkebC/EDJi2I +upzu+YLMF2y+pIBMCYJrHKS2R1VsFgpz4ISeoy9ZK2YDnzmHb27CO1l8icUDre4PkVED8R3eS74x +jm4it8nrjGgR7oF6OXMUJUFSmzjLOQ5zhtTkgtM2LHq4QA3Gf7OWqEZ8DtvVyoWcHGidm4jtOkBz +kpg8VSIEjzGJQWPOJ/OFeydZcHOkI7ihIHgPM44V5QDngJcQwSyckAalCupYOjlYo1Rhh8AghfV8 +PhIgkNYGOpuE+Syx0BCZpRhU0in0d6DSwEQ3zHpOcvJBQMIvkdSun2ExvztYgDU3oZwzqOfJYpLe +ARIYciZK2Rwxja8A8ZBAdCMpikLQS3DV4yTagomZw2YWuJoF9gaVsRXtNdLoOYyGNqEHf2TJJ0UK +ILuE7ueoi89mREjMkCM4bGbokjn8ZAtCxQkqgWYXhUsbMzGaiD3Qib+YKJxS//H6YDz81Y++sOBN +1SV8EbGaeUQYWHigKVfKEnyKuv1zhOoWEOsMgoi3ZjDFBZBxAXZENekqzlavTsigwQUQFMo1Q5Xh +pQXybIFNm+G/CB/axIgtUGQLjsSKzpl2wdWzBcU7iU4X4g+hnDUCOehIt+wCEIV3NjFTC1DVNuTV +NnzWEsM1Q92cHWzB5izxO3OMD6FBGjpREgk6gZLJu4n24CtzQMgSNDIHMojaLpwUNYw4XbVgtVSX +2AOadXOEwhLFsMA6CL6EThlki1fBJYyDBiTF6F8EtvnWMvq9jJDPAqIS2J6FTbeFVjfDPrT5F8Gh +rSGkzUCT+joxd1CxGI7IynYItfDQX4ZoNLSzDOQsgz3LkNAibrSILG1GE+RjnGenDj/2kQEIxgIX +jnZ5Ze6Mn3vrNx36fKcNJBMvOrLyN2D2MB69JYXO/ctcr5kPeouXetNdyZdEPkbdWO1EILQ9qpI5 +98zxlZnzbu7dmzmcyPAzn9QWr9WmF4W7q9LbmjUBjR4USIHMJJW4dB8o9mzDxTD3Qcy8FHA4LZPt +NrPxFplqZwdzw//yYKtzYOZAWHgZIBudCE6QRp6TarKuETZNY9a43LCe59b1zMKE2F4koM0S1DYt +NZxCm7bc3NabmydQcDYNmJl9M1Ojz6hXg93F6oqHBtsMGuiaa7xnB0udeK4zbyqMVBA2MozmGUjb +cpTmWUzzLKeNNCjC+qk8NIaQ/JQ1gs9bqmLxlUXlrHlprU39CODI//jrAfSvT789GKiEjSiwSrdI +k/T0dTQZXejLGqCZeErE4lhJINoPbYohymmDiHtl1DMAWQFVqsuyyKdnUgDvRcJORNwPiSLcRVFs +Z4DtxQmI6riCi/WKXUwMWKDqlqVsZI17ocqRFOYtVquuwx1QhBJm3oruN4QrMBuRG2FF+K6j37qy +UC7q3jWOhjDNarSv6LIlWMUOC5JyGHnhhtOkQnhSS6oS+gP0YXXQEX1B07ZWk0z1akySVFSeA/bp +hZRo3tpUylOUePTsgElJU1UCeG2wPrsh9zXhSKU2Rpr8iHJHgnnHmCToYQWPOHTR+YJWdOT8SLYO +BW7iXAOTIk5kKi4jl22aXDwZsMGxKlJlG5oKCytg6dq566U9WYIelw66huAB1U/RXQhQsIm4V6lY +ZU540jSwI1ZMdpJxlgRwM/D45IRghaTAaHKa8jdnVNiBf53Xc5RKh+0gHYhocKlNBDdU4wGCJQbX +5D2UC9jgiugYY5Jyl40wSqqMBPxGCYxcdYLnrTI86EOVGuXksWkijUJtMtNy7g8FVm33vZVO0O/w +hBQKDh/PIkjaCHQ0UbGnNTMSBLv0p5Osw9bObESKsq40SpEu104Wel/hXOQ0DTHzh+6+KDI7AJcw +DiapLpKEZdNkBK+CDCVRYEYGiw73vocJa2iXyfSHvO5Oa6UTpmkyCvL5TPPUK2lGTdBcmycj4cSU +DnWS9bg3NBsTJ4rC9h0wlUB/UJdNNASmtVOiYndSp19NjyFwIBKpaeWiLk2kpMrj2ov9qd7+ass3 +sWu8lgYOPQsHOihOGtvWq/4M5iOwZGPQENNEiXpsTm/ZM6EnjMy/Jd6b9lDhko/EmFxBEjmxTD2L +dHieBvqYE4c5RNNATOUaIa69YH+2ZlfLL+HzMChHySQh/KEmqXVjshVGTD987El4F8uYNPFI7ON1 +GlXscf3l6bn+ldXWb7NPzjYssb7MTkd6Bl3L1HihC63WngtaKpziPmmxqTWSXh6x9qo9Zl9Ybfnq +SmD5UXE97SQMo6DyqwiYUd0bq7XHnEZzeUAlx/24QWumfaob7/bn9BOr5Ve1K55J7E6Hwa4IPh/Q +s4G6Rn/KKuevpBydxHE6yet0rr1oT7lpluZf1G5IDU/zwRD74wuMZzdxiz01ysoKaeBlMWukoEr2 +xovylDW/Wn6R3UAISVynkhvFuH/lCAx2u5qe8goF5tDlGp0NEh1Ca+/ZQ9b6avlB9mJkATpmDTJ8 +wL0j3jDznK2mp8xEJu+HOW3g2cie9Tf7Y/aB1fKbIkZYF1BiYqwQiAjv4EYpcjAKLnM1PQfbrOiW +Gy2xZ4OWq+jb/V17rH9iteWzK1YsEY+GVfBHrNOMDtk6q/6M43WqjtJRtM51ijjSp7fsGd939/xb +8n0nxYpxLNFOZLRV1MBRU9NW02NO4f9of3Saoj6Rokkze7E/1dtfbfmm6GT13RbXXp2/Pvvm7vz6 +xfmrwz/enl5/fT67PletoT++ueT2OGzW3AZYAYHhI8YLpJq10Zo6yny8pNe/CB1VxOUHwUtJnXqh +HM1fPVq2L4gWIdrr0w/2p2H6kXZuEZC+khYNbPvMZ1+1+fj5X69xnfGLw69vT19cnF/fHQb3C05M +xRzJLNm/P/v6QBoYBt6t006OwBsdRuKb9Q9HTfvJ8rnG1TBjw+HfrtbfzLu8iUv0cGZ+drb2KvLC +ERLb6aOfXUHpx+0X8K7/8CsJqRrt6OE7KKUJVemeV5JcavrZw8eWxWeBsUFr/Oyzj5DPxuFZ8Rk8 +HLgM4QFsxvtqir+PVwYGrd4NmzECPUm+j4/rijDd0X1cd2Rsd7RtioPe0NGmWG8z32C8I1ueH365 +aRBw9Resz0AvinN+3PWLZCG4UGKp9780yCWe9lKtRO/+8EspyS0hG5zHFLMw3PvF5OQios/eYmL6 +xup8+xqxZDGvlXtH/gP03uZRLpmMWrcmFa8VlEmy/x5FCRBNhM44rCKiMY/Ea4msFaE7fFp/Epzy +xh+P5m8fbfvE0aIjR4u+ro3k5OA30FyuJZg+7YOrg+XO2bK7lrvj5GC5VWd7uW/zk4OZAJi/ua35 +RScWe3htGCfrY4JeyLH+x1/FZ3ec1ld3w4U3+bYP/0z7IBEH1/YDcQW1BoV5NOXzkMHFGgQBMmY+ +2nYbXF5/+3STiRz0wMPfP2fp+KpNrqm782n92ZfbBj5R7x/6z758u8G39x46/J99+XYT8LMvsZ1+ +/uk1bh56swXiDn/5u3Zq/LzZGv5Pp3d357fXv/7ntze3d9P9QcPhLz+7ubncfOb69KvL89++vmiW +yNotQw8wZf50e/Pv81evbs9h0Jz9Y2bHDA+2Y1g3GeVSgO1GUSq5lKcgNGckSaxKUhaYoI01QtN0 +rQowSUwZFNfQGoWyzNoljnyUestSqkUJJ7zGy2m5e1BWpNQyUdiqgvfR6vrvvPjDCNa31TqF3bcm +bXz2Ufv9ZDkrqzdqqzsqq3B/t86EeKxIBP4BiQxDiTJP7Xhzcg3ppraql6b+8Ku4yBHYtE1t1QHQ +7Xb8qplFPgzhvncSMpdylHcAXXDtzL73lVTHuVm00+Cy513Wa1YRToI96/441nWPkHcH7fZ9zLTB +s7u9kvxbsh6WbsZ6jKivSdg9K+7Oiqaof/bNdoFaf7GmyU9M2SYcbIlEItY1wHHPu3IBn22LC7h0 +X+X5WuX9Uv3/7L3ZQhtJ0jB6XsDvILfbNthGVG61eGX3hhsa8N5ehChARki0JHqZlzk3/zP8V+du +XuzEkpmVWRICd9vT3TP+5hsPBFm5REbGlpERX0zgpRe2lC3fmJt0wnTCWcz8CasZyq5S+PRvCwyB +M6k1lAuQQ/S89kIDjlmvml6HTv82xbCJsY8vOFvPtGJmwjZsM9OFoMjCFEhGWoptKvcSRCeK89im +GICjxizckJConlywyZYswk2ugzwV1/pZD23M8G9G25PjP+ebKNz1tEgdhKpD5I7k8alDBJGFJT6C +xPNyIIoq8f0KCttOG+FiDOcUD1ZMED4IaZZ5CPaaWcKnh0XV7/ZYO0iIDw+g+bs+7QJrOFmuI6lu +uLozM262Pq9r7XXrC5V7tCtW0ACp7S4aYhP2NwD6FVUfTwCFn3pLCJiy+VtaQ9vtw15nNDpuDY7K +XuOnmWJuu9tplz/N1uqoklV00ZudBFQies/KD+aDX9f5V/pn/VLtx6pRzwYRFUJqivfI8iylAMxU +FLmioJhMp04ozbzdbA2H5YBX8W6WWOmrf12a4/IZ9OaXE1vmGB5KP6oEf+Rcb9WPFAKH15pZSrGV +FPcuOXtMkhmFbrVcSXyec9bQTWEH5yRPNLjrOx6RGgQ/+sHTIjH8qrAwkl9iGFgvhQ== + + + 9BuTi7PX3ZR2cC6lxRkyMj94MCI1CH6sBpfCUG4aI3We2oeQmh7qapAXmBTnrMGVHZye3fPgru94 +RGoQ/OgHh3VqesinAdf0lghGNoaeEMkUL+PPHFzbwZXwg7u+4xGViH/0g+sCk2RxGCd7UFWeanpB +JhONbxzPHNzYwUVFcKoiuGBEUcQ/VoOLJOdnspitmgaX9BIQn+0kJBLPGjx11O7HFhW9BQNm0U9+ +ZAXUTEdK6lQXFF1lUn45BBufZlOWnfHIFa1VpOYHM+EPflB8hUAFrkWWFKm97y8yfsNJiWDOHDTn +QYVfricxP5TIop/8qAJwS4G6Sa5NgUSeFJpGPXu4goeTfmeFX2Q1jCyinyo2YhKufi7SJHWIxDOm ++OlcXmAQMKcaUaiA2ZJfOf3YtT9CF13bIPjR1dElF+2f4pRv8OQ1fv2jcxjyFcIXYNiCJiGVTSiX +G4pZpelIZfN5IJDSpwp3v0ggzVXW8JGssp/yIy4GUm5UBKbuS2kBXCRHKi6M5EH2Q0PGS9xOYTwY +9ZVaCAbN+1m4Lynsg2Yr7ZjcyBR5Gv2ubUokD9HGfqAx1WpumsotjmrM55g8KPVT5PS2COSykwRK +GSTy6ksHKiq0VECKSuNpax4TXwowRFgUUBCwm6iSjASAuXZUuiy3b1UtSim/jwW5vTCZrLWjNyo0 +hEoslvnNHK5KaP8p7AH3J7WSth2FjiIoTTIHyhmP0iUyQiCGgBIutduOjAqpIqigcohohBhLT5Qf +xH5KqU9yw29qGeJQjuFyCMKyk6qC0IcYu27qzWgnc2Mr5CJEZ4LXRJHj9ktD1Vtp9Ux2mmIWGW2G +cjFVIM1Gs/3UA21lTOoNU43kmsmHBk0JkTifonBfKipEBUCZSjsCP4BDEMci4UIz2z+B7KecpTNo +h+8UJA/hlkCpWxnCD1sY45RnFYH0Ho5ACVonNA/lttQQVeqmS8dCQFLKcRGJO4n89AtBlASSyS21 +IJP7LU3pZR4C88IdxjzhdfFjKwJhQjUP8pSvZb0d5QPD3ji7N50sizjlLp+U22mb649BqeB1KTUG +wZpY7ksHtKnRqDOHXiMLN6a2OyPzig2J1CKTy3/TQdX8qfA8jV/r5bZcnENSYfFLwZiM8tT2lmh3 +dvnlA4JkWh0ZSuCEwERa+uWfcmXLIBKowPsqB3JUKIiUwnbG7gzXNCYipwed0VIxbN8SCecdQhA9 +NUSQKZK8BspV7knfAg2Vd7SdKeaDHHLHg2p3eAs/XU4gjWyeSIpWkFhGyIVcQu5AEH9mlI6a4Vt2 +yYOmnm9TTgcWQImnfExtamVc5vhg5nrjtOdjQtQ+XCL9qiAdG5iYJn03UVRyDjWTgh8l4Y9ITsD5 +vG5CyREiZYASVmVeGQh+dDkCvrRu8tlz+OK6ibYyKpOM3+NwRzI8XMBQuhYo8XYVgV7SUbwygvjE +sRiiKomK06E53kasL1MuqxmxOwwsQZCRyqk/WQDyzEIVFdBORStT/1gLZcfVyvJAFoQ0ldxPharx +8JQd86Gn27SurKhBTOG5lodJJzc58zGCEsuLNNU6RIciPhNxK6AST5ljcgQyPAeyRyzTTQOQ43ZU +vtcB3dqJF2dYd1X5vaHkyjUQeZodkCfMb50xjZ/TyRRdsiPIyz/FGQERKIrErZWkGIKccKogwUZ7 +IPyvXStn60dQ5vaKxANCjPLsmVLgEVDlwu2C7YurGNOajKpAjriKCuRIlR6TR5/mqBrE/edU0pbm +IfJKPcoYlhrHxsjfSGtSeQ0Urr0CpsZpCBZDXNhYumLshG7p0Z1nlCY13BZ71sLNy0iNcSC3dk5V +He88axIZHgBAfdfyZzsGMXYHE5ZuDNcLQBA5zBHE74Okrb1KINSSHbunzUQgp4pHTsLJXSXXZmWQ +tsslkP2UM95H7aSo9SV5Cfa9sVdAi9rUZJq5BaR2ATK3tEsLdQqosfwnxAhnc41wp/ngjgHpFVmw +G6gbpcbumfbKsD1cSSD+jScBFoG6OnFc5yQGyUB/dUBHdthbkkbEiYMKUaNhpzEEtK5titzgRKCq +XpjaYULVQQUnzK7fU231sT8mfgROHxqdak1PDuzhd8pOYdyynOLvIOHqPSy1CC/IxAh4EoZBpnXe +hcUVUxUdJqcORdtnBVd4mDRniq3vPWXxi3kw5k9JsjEg580PuLqmmncR69dcNTIWEZpqP4WSxKO8 +EjchyEulEGiFF3ZmxZKTcDho4YRyoCXSrWEgMVGJlJFYRUTZFVQy2Z+cUCZrynVQ+5it70Ds8+uf +mnqgMc1epEVoNlhDXUM3uUZ5bfmx9rLulUJtUkzQhD4pQHNh+FISKAa0QPSPeTUwzbwKZpUtSjRr +vN4V/JhmX0cN/Ow5fAUXFSYMnUuTJqWMOA61NgdkEKUHQpBwejlFjhMoEGlcTjtNAtFHSbUJlI5B +Av3MA5M8d+ac6ywhCzYalCw370+xk+MMsGxppxYkc6cIUFokB3IUmIbtHEXLsCWDqCBhMARne4xn +opucXCuYsbYGVbCuACSCU1kBU/el68zhUlOmuxjlmjLWR1ujm1xkJNhAzWn4PSgUrA7WjWFppiu2 +x6VRBJepdUBJtdFqQOIkDsichJRKBDlmw/HEWDgurfgZqagILJx0ZOYFIF5ODAqkXgW0Br6TZgBK +hRMazJIRJL2pTQU1CEb6CvM9Ozn2tTLTx5k7ULuGEgLa1fML2DpQUVrdsEfO80sgx4FtTXkRcWpJ +L7ppGY61ctZeWqzj+xUoQEoF9MiT5PWIUMxegdpWUG6McMNYmYk2lbKJeJBn5+k4mQjJpEgb7BTV +3JGEb+hszzowN1k0tHPK+Onhs+RE1xahOGlkuFgEZXmEkhAUWgIe6DlRQZ4r2gjnqeASSwhSSWAK +5PHGBitw249KvlA1gnL2c0Q76LrL9RiQfFZRh5zKLBqWLWWip8pSodgjWoWKDKuAnEJQgJMK6HHn +OqsQ7McMN8LPzW2XLmosQnEm3ZiagrWH1JSQ2xLZE7qM6sCKj9UEm1cQCthcug0GNT6jdwCYTAX/ +RwiTUD6bAm+O8Qf3HABrLMjgdovTpIeyGn/Uysvq4Edjvo7q8Nlz+AoeJMAkjlkEt1uYOzJjmL3c +0i6jQOEvtzQnFieQv9zCZ/xo0SDQ3TKYwnWWuesDQwaQAzkJSLXR4naJm5uzI9it7KbhOBYVeqLp +SqduksauC3/BFYL8HVcA1MZ/KRii3Dop6Q9Cqosud2mBQHvRpTn3P4Iqa7ECFRWKKqC96MIhMl6B +8JKeHM4I8RddTiPXhb/oQqwljLXEq9p8w+JAfl+KotYutch191zauvBwUf6eC98WSt4sd8+lqQYt +g1LnA8gSO9/qngvTT2Q8hLvncrYXguw9l+ZCQrQHunJIc6EjBObOgiocyt0Nlrt+ciD6FK+p7KhV +O84nREPwPZSheik8EX/VhdefqrAIYBq0eVoJcfaqy4Py4KorALqrLsOlzXTubrpwTEJlHtx0GcpW +QkB302WvGQlkb7AMOwg8yFnLRdxM2xqQCPJ3dTndKiFIBoqa4om4iy7U+ahIZu4vupxuiCB/0eVU +JlxD4g4lK/0Ikv56gpKNIMhU2hbp2giz91za1j5FFCXuKBhSzR3IE36a19qxKYq9Fd46TS3a/D2X +dtuc+3suNEU1I0SpMYi/5wqA7p5LN7XHrnE3SWx6EHbzgCEVtl3iVC2uJadzf8+lraKLIH/Phbi0 +6E28Gpwp21vir0w5cSeCZBocGcUTru65igzlvM78/ZWxNo0DuSNDt89RO6pBQL1Z34+xt7nRWg1X +BeZdzS35ckolALmLrgBUXXR5YOEuuoy90sPzZy+6jNXV6OgWfr7so0GOb1VqYz2HCLI3WAF3CG+6 +OGVp0E5TLjcGecbNtfxIGCWVy4Xc4yTwMndqtOtNObMtFqj2pgvENqtN0pJoeF/DDBgZVnBfwwk+ +Eejva7jgJq3aaX5UQotAgYLImeNISLr7GnocyVNnhEkbtetA9KmkIlkVsGuBMk1rHzuR6FRVSSkK +7UzcDmMmYeP2SdgvndRxqmoA8Z6hAGb9Z5yU2HJ14UbMlBURebUAYTm489lh/S8LsY49ac1DB7Jf +soXrgG7pZAkTyTunomxyEd8akC+oHZBBRjlmbOzIrFBFbBx93ZZHOeeobHLWXQSlaR3idzoAugsb +2bSJpHN/YSOpjiCDvG9X2p1DoPUBS6v15d5PLJ2gz6Mbm8TznurKhiuXBd8qCqaLBsC64RZH4ZUN +V9fVeXBnw2msaVnuzsaDwjubCuicUpRDCgHeccWVcgnjlYNLOC5b3dmIirk564vQ5UEWbwXdsUeb +r2zICWk1lYVHUpM0AlHdfXKCZeSN9tJGcfZ7AtmbEVXpBNWlDSZ+Sm074YK2WPYRyAUcYU7tCuTM +N8fMq3Y2r3TYG9cL13lwbaO8ElNNjsPQaAmpXQKXzXNLtV/mTukKkUIlaero44r2daDXPvyGWP00 +D/2XTvz6axtF5Y4tFfhAPEef7tomBAUU5YEV5TETjegzTe0iQjrGvJc1es88HftTwaER0YmyRZzj +I6Wp2Hj0sQ6Oir+3gS1La2dbW009kN3WIUjrcvc2DhLe23iYU+1s6fQ8uLeR7oyFmqik5zHBgcJk +vCI+UJoKKNcOlAukiTYfnQFS1pixruRaCBSJNhF7x2uFPItkAGI4rcsKvMp0Usbd21icF8G9TQUK +Ly480PvvhJNP1b2NoOjPSCRqSuodiU7rXAvEq7a7FMlmf3SKKJaCcpyHH6smZyCPxH+WpU44B2Ed +pMRG6gQnEY+Ujkw6szmIpojVmOriJhEpBeeDogL2HbkiQG5TbHMiOK+7jTJGt7yNO05cRkzv83BO +Eev+wB+V8J6Q4Eetvo5j5rPn8MUdM8ZeyKs0UBWdCqqyQFXE8DAkQgR6294WrsiCSzlQxXIGBQce +5IJt5+/4ONMbgjw5ciURB/L2EdUxyKJrRM4WH31MDwd4CH/9TpRMU6kOBhVE5Cm7A0QpEnlh7phV +oOA4VkB/bDlYBkHubFM8isoiDqAKw2NWnEKrhKdb8RO+ancgb5LKCuZWTwYobFkcfkAlQ2Ig5fJ1 +MIYgy0aIZ6BKWAKIGG3BHwb8mAx3BHmm7SEha3dApypiX4IhWRUtmPJcQ2miKJoFgV7qYK0QBnnZ +xHUHHciRF7k0HNDftCMzij7OKXwoGoLDamgqwSUReQ4Q6EMouCgKrcsFWnhQFJLgge5mjurbE8Tf +zPH1PqG8uprLyXkVbY09ceH+ZcroCuSseZIwtb1nD4rKonCWgjQ0lUYRPlxnQKVeWTRNymhPIKuP +GRu7iSCvLBpb4hGBVr3DzGWptKDEWupUCs2D7KeCjm7cLrc0XPXGrg0aVVV+BHKGRrNjDxOtIbVr +YO+JW6vzn9F1bYQV0+RyuhH+TJMTHdeBFDgS7Ijh8l+8b9r7AdPM7m/l/GD9m+iA1Q== + + + RVMdPacuhiAZ+O4c0BEf9mYPsiNRHFXlNVLG2QkVkTyG/mcmOhj4+kKK2qlCv4kJjppFgCfd6uPq +tPghCiqVHB1ww1VTmRE4V0/BXDD1+mIAChFQAVOLdb7YCziUoao0NUaGlbDyIjpVzh8U7aGVY+Gp +wny/Y9vPpWYjdmwwM5keB5JFH/B3GFdkOpICOBUrUitpgUkkrLSwMsUjvRI8IcgLqBBoBZmxV+WB +uDNcgTEWi4bK6kbi09ionkDIGhv8FElof3pCCW3s+4DoY759CJQAKmTtJHS12RzDEygVABJOQHsf +N3loa+uPdZn12CcmZLCfx6ELKyAFW980JBi0xaWsERZmI7c8qPKmFI5jeG9KBQm8KR7o7kiCzqiM +UTwoRVY6n4ibnC1mQEuwvCtwiYgkkHxeDc+Cdl6tT1Tt49zkujaEP0PhVHLWaaopKxtVFywsAEUx +sB7owoR9Z1UssZNJYcgxP1UK9sY9nIl2EItt1A6z9S9Ep7mCkfvQwgpLtkSZziCkt251IPkiHJBA +QliaZNHBNqI9a0T83g5Xtp1/7sE2HJKzV68qkKmCcCpg7sJb2aqPFFq2TGuKL9bMik64tvd7kRrN +9dWiE14hJbQIU6zIOQbk5O9ZYCZyBY/g1CsroqNTj+6eND71ykp3WqyLrahAHikh0BMUP8wLUOwe +O0VboaxnM9gy59YJNlZVqhSB/IGq0QRGOfDpzNPEe6JiOvF+TCdHQiCFPEcDs0oRTY/K6taXIS3f +r1ZLubtjnFSgAHcV0J9ZqzfhTuSuN+X4vgo8qmSyRzvrl1Dtvy0IFxMU3ydExCO5IlYdmBWxoYd+ +di+pHK/kmwOaXuLZbJa4VfAtinMzB/QUgjxOQqBn5K4zh+BgzGofgrm5/ZJcTDPcVekUkJCcgtWH +JKHI7YIsCm9768CQl0XSzXtKcgUqgaD39NArBbfCMBSogu/r85RzJLnyTJKktneRqOpVtKpeRYvq +KXTwo/pKL7M/ew5fLXZFmvHYFWnGYlekGYtdkWZC7Io09dgVacZiV6SZELsSt0vc3OLYFWkmxK5I +Mxa7Is1Y7Io0E2JXpKnHrkhTj11Bm6uoYkE4dkVWj7RdTIo0Y7Er0kyIXZFmLHZFmnrsirQ1J72/ +BA1SacZiV6QZi12RZkLsStQutcitx65Q8ISpxa5IMxa7Is1Y7Io0E2JXpBmLXZFmLHZFmgmxK9KM +xa5IMxa7Is2E2JWoHceuSDMWuyLNhNgVacZiV6QZi12RekLsitT12BWp67ErUk+IXZF6LHZF6rHY +FQdy/pgibuZiV6Qei12R4SttG7si9VjsitRjsStST4hd8X4uJiSiLT0WuyL1eOyK1GOxK1KPxa44 +kCf8NK+149gV73+sXIdSj8euSD0WuyJ1PXZF6gmxK1KPxa5IPRa7IuOHyxy7IvVY7ApqqpmPTedK +yXpC7IrUY7ErUo/Frkg9IXZF6rHYFanGYlekmhC7ErXj606px2JXorW62BWpx2JXpB6LXZF6QuyK +NPXYFWnGYlekmRC7Is1Y7Io0Y7Er0kyIXZFmLHZFmrHYFWkmxK5IMxa7Is1Y7Io0E2NXuHKfnmCn +O+BcZQrTMY7t9IgBONMaSahmp5M1ldYhY3a6dG/2o87qdrrUE+x0BNbsdKLH2E53oMhOd8DITo8+ +Zjs9GoLt9NpU2LQOpuzs72BhAWjcTq/wFHRWs9MjnDs7PdgbZ6dHO8h2ugOFdrqDdWMYkU1opzsP +UmSn14GZE501O12aMTvdOakiOx2BNTsdBVfNTic/WN1Ol2bMTqcDGdvpCBqz00l/i+10OlWxne5A +7Rgp43Z6Hciyx4zZ6TRsbKfT9Op2Oi0jttNpsbGdHiElBNbs9ADFzk6PtsLZ6cGWOTs92FhnpztQ +YKdHNGHtdORWY3Z6rSHrfXVgVmS1ga02Ysbs9NoyyE6PVsv2d4STCjRmpxOOYzuddiK2051VEtnp +0c76JdTt9BpBsZ0eEY+zVGvAzKq7dTs9GNbZzDS9mp3upVhlfwf0FILG7PQAd1VndTs92odgbnU7 +PdhVWQnfcTu9RhJskjvNtg4cs9MdzNvpaS4LSpoGpzqn2vEG1F9Kwweao6FccSCO6PFJ9QOb7d5c +F1WiEFElCgmSg4Q281cx1j9zBl8hmoGy+cEQgamO1EbKtPK2OnK0jCHa3cWlrGGpwFQ3likK5Ux1 +g7W8FEMyd9tn+NrLgtyXFPcWteP7ferM3rCwZuym4RQ3o2x31lQ3VqkWypvqIcib6gFQG/8lZ4F0 +prq1IBFSmerO6kKgNdVNk0vsCRVcV1agokJRBbSmOq6ALCblTHVj87MIFZjq7j5IKG+qI9Y4q6A3 +wa2F6CD2y5QCvKJmqU54j52pbmw4CS7Km+oI5C+dpe59Kcpb6giy215Z6sZGHiMqtdsXvvkTylvq +AOKSoyqw1I19YYpA0pbo/tJh3FngqXtArAJL3V+IhO048QoNwXw/ZYGG8/CGeuqYovJ2bmofJiPe +rKHuQTIw1AOgM9RT/5TPWeopP+kTMjDUYWqCLUhvqFe33d4CT22UuJDRRW2RMfYDg77g0xp4Gpj5 +Isgb6nhPyefJW+rG5k6jeSi7p1nCfwwsdWMNEVxE4s6ke93rLXVj31YjyFvqxmouCLSmOsYW8FW8 +N8GRoPO8AnnC50CQoJ0TOt5Ux2vQzCHYX6HzPktvqeM9KEtNZ6mHEG+pB0BnqWNfFrvWUMcR7bxC +45XzsNG+aIsPbiQqBmiYKwVWOjJdjv/xVjrentuuEu/uyRjHgZGOm8wRHN5INzavhxDe+E7d23oR +GOmpO8JhO61TJhlnpKfWDxWtM6Va0nY/c0u6XEQeQM5ID0CVke6ByhnpqfVH4NmzRnrq9DbF3NF+ +qbU93c5IT912KG98B4yhMtIBJeQiDdph1EXODC/1LJtzHJEYSjzVsx9LKG+kGxtCLJQ30uuiNDLS +tY0hETKKGuTrd6GiqMGEka2CdHQ2EEzZFwmi8tvEGT8ScgiJMCEYZ6EUYU6vgl8GxwnBOHGYAzqr +hwucR9nESBEWYUIwTqYq4oRg9vl0mBDMS5zqNXQFCoJYK6DPCUaphpmpCzdoYcVGkBMsza2wYkcT +rUtaTl8lBeNQbwdy67f0F+YEy4yxJzkKf3fMMwCyh02EiaVSyxUriz5NdMDYnYlnzd3AQeACsiov +QgUJ7UoHrJKCWeET5ARLE1v+K0wKlgr3pY+ItxpfmNrLXZlEgYOJSYN2PtTbCrEqcFBY6ggCB4XD +URg4yK9ARJh7iR+jiDBDkweFgYMV0AUOspEmZBA4yPHlQkaBg8Jx2ipwMKk4nPchSFvQL/S2FJaK +ot0v7FEM4wY5h5aIM4M5WRJkBpOF3X/jHbFeJwgzgymV23Y+m5dKrYiqMn7ppAhA3l1tcRC0y+w2 +Vr1xjkoR5wbzSkw1O75SE2FyMBdUGCUHy53SFWKF04SIWi4oW14ujsVMZG0/rHYa5gaznCJODuaM +++DKLHUEym8fYlBAUh5YkZ4zsgMCdRw/IuTUGFUj+NQTsj8W7NqNzpS/n4uiBoWxG1lFDVZHxUcN +klkRn27jiTpwsjsjJYga9KAwarACOuXO4TqIGhRWfEbKKGCpiI4UXgGq+EhhpGu41fbThO7Hov3H +cFpd1PixqcRbBMysgKviBgWLnEoMGM4FFIsLADqB7eMGLdpVEDdYgcK4OQ/0cYPCJLHAM6zdxYIR +ZyKstPRxgwkbqZWYxRsVb1wHR4pPT5wgjN9MBh9jxjVhZXn1eMCiM3pjQE+UIq2CTYpQ9eCs29Hy +68pMFDYoKzXZX0dIe1ca0IK0WXoCikFV25FHcB0hU51GFIgKuKUY78WqIMF1hAdW1xG+s+o6wg9a +3QEEk3N3BdIGCwcnUtq8pNFpdtcW0XF2FxeReBU2v0xwHSFSy+PD6wjQM000ZfQmOObgryM8KNQQ +KqBTJHxnlbYhnDoTKCVCO03FKy/8xjnScBInCcJnmBwDHZ3mABheSPD9IOn3gV9QWNKNgCzoVOA/ +toagS2RLIHr7RKe+8h9b2acCB7J3F1UO5AoUOJArYO5eWHKar0ip1ZSTqKb8ctbcSElWeRacXQbR +pU9ND/dYCX3FhXP8REBp3TCVB5lzFAYHXzrbMDz5ANRFfPKd65ZW61zIFShwIVdAf/hyY/X1yoec +O0YduJDzwinndsukvSQNNhZvB3VAFe5M6RpN4HtyIqjqQkLWyMQCNYW914GZ9WZW43Ilhmh2VgbE +qzDaCSa/WE6VHqGkAgWoq4CeH3FqJtqI3PXmbTh/I4FqmqxvrF9Dtf2cRioiKHSGJOMExU9JakBv +DPsOnUTzgybCeWT9fQS6DtwaWFUS9oo3IKYQ5DESAi3mqs4q9Poxw21wFOE3q1ID/JYKdger6DbC +rzykB68yVrcRATDkZJFw87cRmQZNnWpb6xz9Ali8pUgkFpEBjZ/L5AjMc2WiHxKMIwxyp1dpy91V +AIYWYAIwewtQ+3XuK2XO/GMT+QpxhMxHE8K2Us5rwu5cD/UGFypRHsowynfMuRtdxBfxA8zxKJBc +vRmKvCkJTAZBGTISshhcdx4mi+i1MkPBZvAf54a6S1IfjcdO2gRthqyKg2NhinkvOXUuwUzB/clC +FtZeg3WYAOYUOHJLeah/xidM/ftcmfow/LQvIdNBVG/qiIfi218p3X19nvEcCx9+aSExHhwwQJjr +rUIr5x6ooz9XQtT3KSsYDeF+8lNZD3NoIBulTg8pL28CEHPeoYLVDT+vA+ly0wF5kuzeRp7jK0dQ +WQvKyGeqMDiWuJS5TwX44ux+NQhx+xCBmCtQu1A2xp/A3CHOHuVtE5Q7pPpSMYxTBFZEIIiXO4Sy +E9OCnCZPhOWA7igRBUYfW62PREFE0ZQCMQ/8OYb7Ez7nJ58Pyvfo8OZB4fI9sAoUYbIhWeDSKrBH +nGSBX4Skx9LRzkh6TRbtn1W3LKgdcpja5ju2kxdkr7uQIra+wqbKvharAynOtAYslEqjGaEzKc2j +eSv7shTXh2aJc7qxboK5HYVzTrFjpmks1kJQiFQP5FAn7s3urvAO4cJSRrWTyumc1Y6j49juuKML +W/YooikvzEOaUi7kNvzWhhJUZKvcfWxI3ahiM5rSKvcHi+HqqFSQavEVrNLzWVnHYg+uqI02QtYI +yucVDzfGWKwF28cR5xFBKZclNyYofs6b4B2mqhIhJ8pCpfVIE4qJPeaceYWIKVfE3bIiwRtyOwxn +RQdoYhVX8tYbkou4XpdMhVz9McN0GxTzRsXpwkN+i/gSDBPGBczoxIrUJKy5xeU/KJeypxbOoU8Z +lxNno3lYIDkqqJcw2CGL6UoOWUdiTWIpf1gr2eZy7YQiUNkI+ViEoipepHURqjjYIf6c7zNwGO3r +ylG2Ga6Mk1Z3EBlLo0RX9Xn4J9QHOC6T7hES3pokp3XZr7M6IjI7lxCz/N41AYNH4g== + + + rY07sAkLW83nxLGdlKdjUk65z55tlo2pdv5IDA1OBBMU6dveU87iGjNrJY4rk9MxoZS6XtGiYKuE +CiJpEzNXzCZLHvcad7WE5pToL6PEqsavDd14dslWkOXyyfwz1VvcvkRAAvnIGyoua/8S1qSFP1bl +Zre5H2FUVLQW1JiqRTBoNGYwZDRiPGB9vNpwY6O5epRn4EQwTgSIc1t/l4wu3DCbi97d/eTGxD/Z +RvRTm1R8pyjQnxx7sM35Vz5SHLbhmwc/KdenCq7rgu9FY2wcaL4MZgXA02rWfPoyuyPco/UzZuEu +U7SIW6l/8O8CUfzjEb9SewTzKhC7wbZN0Jx/tSuln6vm/ifXiH6yTt/oe90YG8eu9AscAMlm3P/K +Pn9Re/OfRjBrzDUvxAY8ZbjRjoMlhzhOKhxLzXyIP/Vbe3wppox4OwOCikktpkO/89gspImYYAJS +iokspkA/N6QjTzo40bRaYUBEEQ0FKIn3L0Z6sO0xQcTU4pGKzcKdi7c12PCYFGI68XP7kuzhv3Yn +vxg3+IeQxB9gAAGb8x0FKE08SuPDb/c9rXQf/J03LSIgyS2oX/9bKFuCJrT5rgsikTRorxwBxTSV +hAO430JBEzYRYR/hCry8idYk8up3zxO9zmX5olAmaqFreNGOSLKIBIpo3kUwb08MvgkRg++Dfgsx +k1jC4aPiP1fRCCoYwU+iaqKjPnSMmS+qh3yjmjGq+bJay38Z+f1RrWYcDWN7IlW8JzK0tirZGPQU +Uts4MdbIdZygQ3qPKIllpSezcTKsEeo4KUekHs3aSc5oGWmMjxqJjlFoDaERSYyTTI2oxskuIsto +c1gkemIYJ5YaOY0TXESQ0by/tM70jS6+rIb1X0Bgf1ADG1t5fQsqTjXGqJ5fuvphfnEwWum0R51+ +rzX4vXEbQEljfqnf7zZmFh8Ls9n5rexuloP9sj3a/v14t99d7bV2u+VR+fts4xa0FkXGbkSpYHYi +4biGjHdufqtsdZ+1RoPOb9CUelSbrdGoHPSK7W6nXW63W91O7+DhoLP31PVoGvOPe6Oo8VZ50BmO +Bi2c5s7vJ6Uderzh6m8n/cEoauLX4tvQAh6edvbKIbe6A/+9VDRmZhuvXl66Ck2TD6u9PV4u/a4/ +LMEMehYy86I8GvUHw/bh8enoX7OwaYvw31e/Xjr1F9eNg0tU0ZL+8+p3+OUJ/PAJQORVbLx9lzT2 +gHxfbaHYt49K8hRdoeyaSDiOPPcpro1N+ZBjwSAbgkg+fvfVMooiG4YLsELboGt2MwNEccBNfbTl +S/swkRX6mi2FNOcadKSSNGWG3t40w1AckLgFFUMVDOHgtoSj/VI83QKtiTmspUO3CWnapKJccxm9 +VhPUSuZUt7LJdwEpxR/TZxg8TwVpU0x7QPk4msqO5tLQJBg1S0HHqU2/vox5qenqg8bD0qINaW99 +YZJ0u4CJRlAHSbFkicRvKMEGFcPGEmJ51qCEMFQhWvAzIXxAlVNVXsG1EJcvpRiuQpVpDSca0DZx +01yWYo6HvIFvEsnBnRXMTpcvSaoPiJtJvvyigTiVtJeqmaR8vSr54X6uOUIHN5PyvRhqZZ+2AVIo +zWRuH9YBegqONyeILBwSKRNuTrXfoAPCE+Iup/Q70JzqOOJtUDAeZhCim40cK4dQeVfMVEWkAnRF +iTlyypEgovEKD8MUV3Q/I2y8LOCAky27OJ+5LGcyXCbSKmh9gDpOUSDwRQU6uDMMIqfvMJIag+ep +aq/h75Du8aoNtkVJZV9lcdX4xN5ojJEyErnGSHOqs5uBTMuRJWpjq2nAHKh8JFVHog3OOcwMKxJR +3fAcpotCbhk/yikrLKCFnhpqaa/0c7zphT3XLmS0Wi4OziXkc47o165USIZ1BzLqJZ4ezhlJj6sQ +IsFl+N4HQVRUOMUMjaloYEFkmjMCUi0b1UdA/XCcli9liQ1+IgjMLHVlwvAHfOOEf8ionmQBe00v +wlJj60Xg1zCfVPG32ARIJpX24T5iHSMV4HgIm1wmLTgdCxZFpZdZ+ElhiobJmzxGXggBX5jcpnyB +8fEsG5ewHH7HB/UGq0gjpaf4UEnhF8guqJCkZrwZW8c9xZvmROLvdNPF7IE+wVtApPZUMsgg1Wf8 +TVIoAkhKoI+LKrTkjygwCSsb0sykfZuTItlJRQDjasFqzVMzyCsNMm3YK2OzWJmUC1MaTIwMPeCi +MJoUvsg4isjgZZiBPrNmpnEQI/mpJnTFjMwIvtykbzgc1yQYPo298t08lllKQpxp2kDeF37jqSXX +XUjxtSMizWCMgUZy4NoDNC6OgoeLIhKge1BygKi0TQUMWwbqC5FdVlA9SElha/iR4tcxiFeD8cmZ +S1SU2nh5BAgqIKz59Rx9xGGBKeXVoo45QjnF6IuInu0hwJNBtQk4vULBz0RBXBl8vU/ZfxNbscW4 +V00A4RoJxpUmVYLfsiLvUzY1r8QieNipoTR93DvwRd0YH4/OZ2ovyyVWRE/ofPqEjowfYAr8NhLf +vyIOCED55jGUg/YUGCWnSsPn8Vh9A/ulZwBUCh3ajA1EOFAYyQSEJjiiAjCAiVwxYAZAmUsXjc9r +DGbGoYyzGcevGIz7zSRJjJzCBBCkKIlkwa8mDF4BU75YLCsBHMryCvhEJ1w6HpGSU4GqhCkX8UYD +Iw9EIUcVtogJzWkMJOd+OFuGVrxdVFWECp9g8A6cVJ1xXDZ+lHGkJZUuQ6IGtQPlqgZmx0VlCuIU +2nABUvyk4DfeGp9q4jiGKo4X+A0dPATQc0boLEGeiyRgH1Fql0Da2Fx40BsHYsHBo6dIXH6OZJ/J +mRcbemtLvIEqWmNnOcoo1IlQRCDRYRAXfJOmnEHGuAzRyKhAzYDfVU4KkeInAsA2KDU0fgNHDNUw +YwtlppxFDDgPWCCKTxOeITzXJuFPFFecTrV9DYB9IB3C+KDNKAJQAnVUgDAmAT9KWPRkpFExbyNG +gToRnVtkSEi8GQZES22RQA+JUA4Rg0iZ/2TSRrcDwGB+oIxqjRApGM5AnGEGPTqmGddqyTCnOQ5M +gAQNCRYc+A2+bAa8wFEwJmc+qjGsgnqhfZbcOKOcejxQwi/X4SNNUXRIHBg3AB0zLQBRUNRMMJJO +OS8kKXVUpoYMV+w3pcIzhjEWjIOUi+pshmnCqDaPZvqkbhWdhzyLR7EMojrripPcI0fkGl/kSsoU +HUs8qAUH5iOEyoIBJ8HKKsibOWd1zl1lmmun8eGmZ/fEm4tG9bvbHf8NyDmmUKoCAEcXpUJiM+dj +jElGKV0A8ZbtIKMucqI2goDCD4TDbEqlHC8OAF+XAetzQJ+a9T+lWVlKMbUr9ZpyZq3UPpl2w6BM +Rl6O3yh+Wo8yOKHkX7lVNBRLhjmwf6kYGrbIjP2G8mOk9oWKslUsDRYikNVqHBNFxkocENUVHAd2 +EzTFhLQKVC7w5R+xspSUAHoNr1M2hlApYAGKWiLWRUGRBGqEttFjSI8J8Mf6CMTO/eTxNWdBYcrS +FiZP0TyhnGCCTSOUhZz0oOAUo2hYZaSHzMmEYrBSSmmmKOkNxaammAyM8pjWBqLRkbrxoaGlNxgc +KJPGwk1kdZ7UiEza2h0oyRSL+bTgxBl5ws858VM8o6jdooFEUlGRckuBRCjxMrKpULenrB9oP5Ct +m2G0YUbcAbcUhhP4zjizb7DxE/vaComaEjNkmCkgo6kBn80JQLn/iE8JOm8ZZlBU1IaMZDw1yBJw +OVTBpoYAIoSU37Oj1k7aNxIpJqzIMfwezrtGPYF/p4QDKBhRDOHvYCEhISSc1yBD/aFoAPlhSn34 +LdVAbbUBcExMAIAvNPMcM92imUIvFkEHya3IcJFXOU4UrV3JalaOREbeJGkty9zmuJRWsKLRjy/I +6mPguKeojXNqCZ1wmNpxABIs8dcvAe/mwD60WDDy0HgGJpmYKw1UOPoyGKeWs1qA2rKRtpA8Hww6 +fraupnR0bIR9bakTVk9N4oqSAGfSOclvkovYgop8ALrTKo04zFLhUTX0ME7Z1IgIoLp/yj/3RRBF +dKMTNFdWm6DkiTm9hdcuW6bMODfG8iXUmjj5NxoCcDQxXQT6Fuh0IR2JwgZ7IpciI1smrlSI4Gee +UthHYQqT4MCAtJVUKMawMUx7yc+TqVgHLADJIXcFoTAiUvrk8QWbDcuXROEYMbShqXCuFhiYrEyB +bhjiugkZJfCFsi+GEC2gxjeE4KeaCKCpFBQOKYlj5kmC21rYunCq4MS+KPodtQjgk/jul7dQ01Mu +QDVMmcsL2tVoEr/aanZIq83CVj3MsAwPoYDUKm5DzFtSqQoGUDSrILaiqdtcEkMVSHGkMmpWwvCR +F9enRGdS3pAuuBwJ2QqyBA8p+aBQoyVvRMoZnLRiaYf+roQy0Ng1LZO7juu4oJRHrINOSv4ROhJk +rha2cpY7Wuyu4ze3QEqANkX+Dn77Afgj9WpOYI3DhJVyVEHws8IVyhb4NBrZue0T56hyymzpa8Si +gcfD0bPshNUXm7UVDcSclSIiS+kKHxvEA7EvhClbbJBeN8MJcDX+yMeBuYfID+gw37ZDUXFlwyr/ +nI/oJ4QgIqopIt/nJ6N4HDg/va+djjV7BYttGE4QxJZHSZv2GVdhBYeyyYDn6HlhxiqEsEnoiEyQ +lnOrIeNRpiKEFAjLR0VyHseU7B2iE0oenLPLiQ0fTrQgyWPkDoNN85fTyvBwc5pVhTaFVUJI/En8 +E7XxCWLQn8vsiv2RIuVssazv2bQ6KRvhCGEHgXBFoJ2dNScyPtk4SemizI2rvJnY1OECdythm67g +ZGGgxKJGwkqszd6jyaVBp4vzVeX2vSIqOPzuvBrOuHyAOCncNIMqV8YAQaVpDSb0Ik8ndGR4NKOs +8i8KdiBgRzbJW2EVFT8ckDg5gtlS4+QhqApRqLIxLq2i4kS82IaUS06Vzv7NjFU23DmtyA9T2Ed8 +QAn8sBg9NxQcrVBtFWwTCZvwCLeVaBmNIknfFTiuZLcRJ+cunP6HsIJMJoVSUbNXm48b9M6vEsEW +Kzi/Pr43IKyQhy5nGGeKQFcYDYesGu0ncr2T+wZvcyR5kshrTRH16OggLd3bbBINNPIsKi7nI7FH +tixR56GlwE4ZwZ5QmzG7wFe1gtQ+fu0eHIOssGoBcgNKro62EktIVyXeqVOBzCRfL6fKVdY2B4WQ +C6vBDhtWGd14eHuID1Hxu8w+EEGCRBQAwKabQ1ssEZVmiQ5ielDOq7NETkdSEQoKSm0CklIQMjJl +X7+j+ZFpaZFZ0JN8VCbI60V3AMh1gOxTeoOPbk/Kr4JCOFO8eYUtHJdiei3yc+WWx6PVT2k08AqC +aumiYsHnPDW2uF7q7gGA6HKqlphSUlrJbje+ZqmmCSTN7wqQZkTCrbjsGGgcBeUgd14LWLBQLBjR ++uapF/QMStAJYp9/QVH/7PdjaVHQey9lT56N3k/YX4mt2EeM10pkgruDh5cACZMm+g== + + + kThVIRo/JEuUy3gmrJ7l2VFOudOdX4rfOmGdPNI4Ve6ShjS5bJr9CrUNVKeYQZPxKjH7Tc4+T7rF +EOg6wS3RNilH+JEtTinoKYYgzk9urIQkAvJnZ/MnhGqROucCkjp6hCmtKbqvsZ6uJrYXuD4KdHMX +qXN9YLE9vDajizBjLUXhXnEjAO0roVk5tJhHF6jASzc8CDg0KN8NEh+4Jc49CUwR1Cl2MKBzHTYH +zUEiRrzuwHf6MrEVF6yAk8gpktSij+gcdVdbeUfiW0kYOHUFq/A9krAJBnCbhF2QsrUrBSuhJKIy +5hF4PYd9ZrlJrVJBqdt86h3kbcj28A/kGxVkNivF1TXxk4LvEvAv7Jm1VaKhe6MQkTLjZMWUUUIT +06esbqgho44uOEEtsT7pzrO0mb0DHEh2lUiXIAjbop8WdXNOTC64Qrx7A8eaC+XzIs2HNZACE4Di +74nIKnUHZ4Tbzooc3VqS4mCTOpD/HPUyoYJ7M4UXK8xB4cSQYaskXyaiFkkHTeFdS8bXb6TXICBn +3KGvCzUkJW2JtwwvocBC02h14XzxPoicm6jN2OkJdvdqvoTli14aOufUp/56Dg8qnmLUxdC8BVzB +yQSJWrB+g7SGHfODJ3TfAblTRWt71an4gbVGgZzylTJdkhm8KkW1IycykOwYVuQ2oGT5CXupmUVj +6m8EgETJE54vTRx9lsbhDrXyNLHVM1FUCMGO1Mxm0wFlKEP3EfAKNzmaJ/p2bQanAl//0aWKzXJE +rBb9qZrPOAyU45McdEtRxW0qXp3RpRmRIU4RsZFKfuaFQoBfiZJPJqMrH3xkDD+klPaRElqiyyZz +RgflAQX+laL1wHso6EIc/XZKVUhDRUCn7GtpGiq4SIIKGWui0TsHv/K9Nl5ckh8l4bgDPA2UoZ38 +g5w3BhMw5uRG4SPl3lNW/pkE07PivWem+bpd0pWI5lsMmKq7JUf5jL4/vFlXGfpP0G9U4DV6Qe9W +UReA0RpubzO8OUzJ8ExIgtCdOhzFvMmv5FidyJG7agyAIjcvXRyTCgDzzXLWywS9mEOfSYYuJJc/ +B30oks1hyjUEv1NWJcxRRB7OHM3CArkdPdsLBkhZiqOLF2NhMi5jkFlNHbkwPl2tPkCdFu3pLOdT +ib9jlAIuGqkeWVIaeMokPnqFjcUVYKAFakx4p4y+I0S8bV/1L/neDCHUXrLuQ6EJskFZmuhrug+D +9pjnH3cWGSr8hdwK6ENLSRa49rbI6vIlVJK1vRrMiS+jaxfJEW//la1RndoyR+QxIRTiRR9slSaO +K5GiBew2+mVIN8QLCjZ1tc0hjhfb5Fpzf5cClo0+HzQEMVhE01lFSxJv2PBqOKcbdbIdU5trEZ0S +dHL9QUU/EjrUAAIaDppb2HFqPUYK9eZEsZeUAk1UyvdGqc2HqNDRpeiLQiOfBnlqsuBUK55Jio56 +2BtlGEeGqrnn6P0j3o3KHSiRPALZJKiipdCzsoVCUGsQMHeFpTbBjjZU5wQ/MNadLVlZooqmoLAY +dGnBpNGuxCew5N6WmFuAzFy+3mPhgtfSgH9ktijq7SLwz0a6RdD1GfooDa0Sc1JqQk/uNxrdChmj +SfLrZdSZMIxOJVyOS3N1a4V0Lkj4SHK4k4sh4R0GRsGeNCAxjW9+c/wVU+wqNCOIjWHWVLSCqaIv +0SndiOMVg0QRa8vcI2pwHKJs1h3QR56S4Kb0B8o+a3UONKX4/o6cbjSmYdJBdajgtUqM4MnZ81mp +JyKjKB+EUGJT/B0NXmXlv0DVK9G8n3TpjBFdqNAjutGBpdljpqjsUUa/I/uIh8DiUQoDQDJiDxhe +gMjGU+rXIBjptGqyXFEvQnKUNscxJTqQhAWKi5AJ3wzSF6gb4e/ILzTf9SHnAqJFHwp6gvBXCoRx ++YcpYFSRaqPwNhQmRpfoOC5mzoHfKRMxcQyNRX84VyGRHiU5pvyASHoFEwJqjCDt8IuM3JOSNWpU +D1XOG0YVykEpRL8K+kwEefllRhnY0fGBkp46YlcsGQVMSeiWSEnXQ9MUpZowrEOi0Yu7IAwLbowR +SEg4FCl7fQvmiYJuSht07YchnhknJHFebHSvKiIkDC3AW9bURoFRQUVQDGEK5I5Q1sUirIhsIwvg +x04ScwoIOgaks87RZBLSyApytKBnIacIArRyKDcARbpJYl4u7CAnZ4EbKDA8kZ3hajE6T2HuLbzo +p+SQGd3e0bUVGzKVWYZ+UU6ULNjtr1Hvp19zYgOaYz9QO0zYAtSKzSLyR9ExZ4+vsDkgHSdH857U +dVoPGdXkCiLNT9scY9LW80aDx1hV2978I8uiXBTSxogZ4RwlNqcVhgKR/YSOOOMCiqxWj3d36LP2 +7lG0EfB+I7O1yyVFBuI3hc0QTAlCoAnKIJGzW1BjzBVqftq6caRkFcd5xfDE4tUd3uJTVSy8QcDr +2tRSNbktDbmfvJZJsdMoeoRz7BdcT23s0maZMjmtgEqVo07lmdrxJXRzobNRUY78vFGQHEaWBWej +4AwBFdMEHke7RtWCQSvAOyhFDUifqXdPV1c550txB+z4krQBTADJkA/i7zkzkQw5MXAEKmuDibcM +yWTyMpEykwJ3aVDScJiroCuftFEfAod97oN3OZDVmSW0FM72lHFeL6R4mbC3ifJ2oczPrGeWgglI +KCXG2mdkJiBXIipCNoPsQGWVnzQaiW9xWXklgwEvR44J5O6tbQUkQcmGKQ6rCKaTovPOsHsaby4B +AQii4BhKso7aUGIvtOoDLXMChLOCul2sdNJo949P+qe9vcbwsHVSNo77e2UQCP1FwsJRdGN2W3xN +QKE8AugkAWsZD7JCReVvER+efJH4cIO/fvih39scdHojmO/cHIMpajz8w6UfTvAvOf9ls3sK/27s +fgIsXppZ3Ovvlo2lwenwsPGs1WsdlIPGxmCvHMxO/1uD/7jc6nY7B4PWyWGnbVvuwNLmG1u403MN +09gcNefHGs825i7NTP5CnPFJrfUGdfFLqwufqIt9wY2D7qmLKV+sdVvtw/oigEY3erBph9SUunDt +n/YPuyW0XysBR5Pbu6Y7g7LXAyLrlPPUhW28x23Cli/Kwa+dYftw5Dq0BBN2yl1w+0cd2CVo3yuB +lHrQe5P3Hogl2vkvTEFjM5/FFwt26vBz0kAvJr61yfAfpfgnUEAaaWPx8YelAZylbknfr3d24fx/ +WN6GlubDFjANWuDeh7VW7z+1njOIAlYSUQX8DrIb/oOMpaD/t/+ZNtE/NO5GQOw0LKhxIKga6GVG +XbJh3358rYHj9Qpa61yKxgaNLL7CyBFLoKF5pZRLJmFEC/7v1xq7vupq4Avs85ckyEl8BOYV8Rz4 +XTbmG897vdZxuddI5xvuP4ij+QZtk2hUj4SE/wl+/oMoPGNiFYerzYpbwQcNUc0PeUJO18cY++kK +noG6C8qh5ZBnTB4d1/j/U6f/JTdiAv91a455r133D+Wv7puGjn8VYvx33q0Ed4vWPW3LvizxFfwX +2M/t0e/dcnhp/mmv/2uPfgFlbGZxt+zt7f37/xwfl4PT3sFsY/4H2FDQVeYXQWf7pXQN55etprfW +6cKy8NPlw1an1+AGDJ3lRdomt0CHnn/RGXZAB8IOx3vYHrXaR5/Rw1Jr2GmHnw/6R+XFv5f0h+7G +wH4IPYaaKSy9P9oq233Qhvbwj9zMYqBx5is8TGNln+El+AyPmuxB3+V+407jUmMm6Ae1wDsNGrZx +51JjfrM1GE1Y2XK/t3faGV1kUWEvf36PavNAdH3G19Ow6fXj58Ny9Zeyt7G3h8igHalQvHH2Y8dx +NAtE89Kuf+q6dAhbPONYEgiAvU4JWruGSeOThYJuXFmyoRO1sCO5f5fwpeXSUrBxfm4X3DbmJTuD +Vm+43x8cz1LXZyBrxjdrtjoncO74qEPj0p7AqgVwIOA8jfmdzuhCiEZbqDFz3P+lfPRhc0SmBwo4 +Cx+CJVS++AA2VxvQM+mPj8I/+j8N+qPWqPywBWiFedk/kVnUOz1e7p90SgfkjYbZ7/WPO/8qZ+uz +euFmVbUt97vA4l7PMpqiia612qP+AP+i7XgnwMT7HT897oJar3d6PAtRW1DVSX09K+XBoKxPnafz +KgKO3HZYzj78RhXfqOJPUsXa6b/+9TvY4cOj6WRB7Vb30UlyJmG8LDvtw7LxtNUblRclC+nXjRt4 +etHJL3VBa/hCgmGeOqtEAD7/upgEqBh11cUZC/gmJc+VkqBrz1k5iXlc8SE7bgZe23yTk9844jc5 ++Y0q/ofl5N9MTKqL8v9vMvJzZaTAhB14bynOEpWGJWXCBUxknkk2KQsQmd9E5Tem+PWZ4tdjLFgx +SptvvOU/rn+L3OrfXN1AGUEOYixtoL5xlW9c5Z/PVbJvXOU/z1V0pKsoLMKOXEVhxNqX5ipf1yuE +b6i+Iv38HXa/ugwUWILxc8nh4jv3F23i17BZLs2v/la2T3EO9Af6dvyW8wCvN/fKUdlYbR+VvYak +EICveNs5UeJuUazccn/QKwfD6VKXmp4pcXkRrV1a1IUlrrdiB1Ot2H/8Re3Wn65/unjxw4fN/prr +3m8s67+ZZfX6vX9UNMaXIeK/glUkSWrI7M0L4g5FoZFNJAk9PsY0TBIrgOOTAJFRU6kEvlE/i01I +pJA/zyW+khCymNrY3x+Wo+lCiJtyyzNl0dN+b3Q6+KXENNadcve0d3C7sQ7EOod+2KNRIJw+c7Nm +HveGHQwox13r9A4aMyud4Um39Tv/OnvGfsY86SxO3sw/f5N8DvAQL26SfwMVOf1mYX15C2uSWZXz +TOeKKnTvn2BGYRaKr2uF/9fssEh4ql9lh/+5aNHyC6Llf1Gla4jC/C+odf/zusvG6eiPKC9gtxYC +LxQxLQA+fSZaxXduip7X6ERhfl58MyyVmayCCqBoLuzSMJ+n4CR/awXHcZxv6s3XFn7pN/3mG5F8 +xi1DMRsYXRW14NvAvzu9mK8bSPOP3O5JeyzFN4V4Eul/04f/sD78cNDa7xwNR53uP0oj/vbs7G/G +4/4ogv7EeWRrZGXQP2lsH7b2+r9Ot0WwIbc70xLZbh92WwdghmDMxoVv9LxH8nRYbm6vL3VPB5Gj +8qTVGUxmfxctmPmnLnWG7S6HsjSpIJy9fdytZklRMrvd3h63Snyb/kmrXYv42WsNjsJgnvZwQE3m +4t7BmBtNAB/2B/+iDlOXy4O2kGOFG6u/nbSAwS6V+/1BiekZhh28fvkbmDwJain/ed4MKCoHrSPg +xY1XjeFJpzwou/+s+6hvbPobm/5fi3MU/+E4R/WV4xzFPyzO8S9Uptdbp7sfHm5/Y9HfWPSfMYuJ +jmYboS+H//M2IefaHHvY5qTBjLM5JqhURmMdJyPfNU6+YgDQ3wA5WApUYFFXLGqYJ5KCQ0SO1ddo +3VjeMSXN+Vso1BdkbZvAd8B2Oh1842//cP72d3afi4tySE+OE9lk4AT8z/LDr/l64w== + + + n+ojv+ieYoJyW5MF/gdLqWL4n8BCWXT7KrIUn6+4S1fMOp7KzHxj81+SzY95wL4x+n8so/+rdbVv +LuE/4hL+c28mvoSjWJ3vIwa2W/MRmzEXsai5iGXdOSz/+W7hv4RHU+6MRmv3oNzHjLmjKo3GN2b9 +j2LWU5fwH3mM8FfY71/mzt8IyigpJcbbC6pikChMAJKZr5UA5K/OfyM8i52aAOc/EAHKMYmYXfdw +Oiq4IbY7ExOb+629hg/+/Kx3lCQrPvVGJ/a5v/WldzvHCMi8iNofjv7G/qwvdB60DRfUdBTklw2F ++V8TsW9BvPVAkdl7F0jV7c7xSddL1TOeXv6Hn72yCrcJZ3oUrIZyTq/29qqM0+emrd5sdUvQcGlJ +m7sXD02YebvZGg7LwTFofWXv3Sxh49W/LtXhlzbb4+hCNvjv/5f/9qcVX1TVf22BJsndJYnAWmBY +zCpVRUHTTrMsZa9CQX6GvICfCCIVFh+CHzJteGrLz14/bWz1R647bVJDOXmaeZ5jrUL2Nhf4LJGi +A9w3D8vurv0oV3mKsY1YzIlyyWDdKUXPGDHHY05vxZq4AEUvGilPe9XR4N//X88hx2Ax0AQr2mHR +NItJLPbM87Yr8d8u/95yn8L6+cFkkZqMXlcmOWWBT2BWCeGwkMLgxgr3yBLrlcqgu6Vu69TjNWfv +e5EJTdNOFFVXxvnQLIh4mxp6EsFqnrUOgE+1bC8iM0YzAhMtaW+TzNA2wQ5wuvqE/TtYeoYC76mr +e8I0nt3Du9nX94qk8RR+9BNTqZKEiyLJcDm5pro+4cSaktLf6yyxq7sHRwo7en0vN9Bb4ggVKz9j +AjIsiiiw1jyRDRZaxKNhiU8x8UVUyD3mNL+gR/w6LyjYNRFGMz0qIg5k1yJ642qge2wSdGiwQ1x2 +OEel84Tfyxqqe5YwlWPxYkwamvO8w3nBhsUrxTK2WLGJCTt1u1c4miyc2y2BzdDGdoV74HfA9QSH +Kin40a5OJKMuzXFPse8MUUTXM9SPW5tMbFfR2rCOsT1tRYE/24OiFSEKK1SlOJIAwk0LN6nJXQGz +0jaPKnQkFc9HSjrpCZaRpusiLMYG/du+MjOxrxy+N8SI0gKrKdL2KY1FvmmCbgMlP1LmvnKmWN+Z +p1jgbkmCQyuJvkyigAKrFmO9XEGnAg9SsIUF7aGnLVWtESiAdy6D3TfEIZrC4Su1a9X11WUhJWS5 +svxAJJoOnoZDnPGGGm1T0fKra3waQ49g7BITt0Qd9ggkaASfOCAJZZmWdC+4U0sKzdy+o+HJUV9I +pxHmdUbcQQOFJnxqRG6X7IWB1jg7REJIF4R/Oj9Vh8R5lIT10T1ipglPCZYWp/m6QyTwDMkaR6R9 +fIZb8PqeibvMqQAicoYk4fLiMufDLbD2Bv2AkyXuwZCwS+ZrEjuVxrN+nTO/gAnnLK0klmQlllcQ +q2SnOeK1PtWsYpchOkGcaisdTUFPnXC+hk+vJJnoT5twXM6EXM4kEzuWWSYKYhygK9APEuRFQoc1 +g6NIz6YApYLm71iU4gPNPatqyspEHD7PsOYpibSCxCEQBc9ZZJKoMvddO1JQISmIatImZqVYfI+3 +vqCalcSWDWHIM3lPZpWcvucJQUZYECnlbm5KpViXAWQoqn4AiE9YzrlqLJl7V5bKSvtAIniG/8CR +CntWTi1TRca5ErTKaQSRZ5IAqVu6cRShw/OlccraOBQ4MtNS+0Of0KEFCU3HVGn8vuoGazHjftGf +AlQYL6fSJCRgoDRNlAAYTqjjLIeuG0yFtI/KiRsvUbF2rXSHwyAuUuoZCUJXEsfuFbCkxDAKC0Es +BQ6yMIxmq9zAwUwTOiwh5yI0a9+130DtCMywzpspyUdNpFTTEpkbKThUTdUK2kAJQy5tsZFFRKxA +f6NtMnAceP+zQhM6QHgA/6c/Wfaj3A+SMR4cEEJHHiEa0GtYpkkgClJwU6Ny2tQEZDGJAKfyVroL +U0lAHKlxol35rjOj+EUksCxiiKBNJoRXI01B26pZgCLRoxzETWDZGnSdVWLQeFmfUl1OvNmjUtQo +iZKUxGAmcCkkD62o8Gw0CfRLJr3MYyTjrtlUJhvjVsNZB4ENMsk8rjev+tkYtHoH5S3W78/rJWpc +9fGiHOx20S7q7YFp/KhzfFx2z+1r4ke2T2dS8aOw7fJw0PiVXUtDXkDZeNE56KFpd+4407/GAc8O +TKrduHND+uSzbuqD1ixS8X3K6XB0uo+OIdHYPPgShiJzbSe5gBqdupIq0ipBHxb0DRptNFBC1WsD +yg5+4Cw0Y90WXtQWKqMUNnBuUno2rNGCJM4hckUDKMepqx9YSxjvN/f9KmGY/yiqO4ssnNmHzEB9 +p8PupKF207U/jHeb+dNIlZZRO2Er0f2vQMWSmLa1eMd+GO809UwPNCzFXAf4MYtlxCntS5KkxE+d +UAl+CLTosF/POlBxJpNDgiXEYiNLmfVokxO392ZQ/Yfxbr1ckcxGQaIa1lxAGLB+mGJRWSp2y3y5 +/sN4p15HFxno42Rlg2YvWRNUiYksS5CLzEvrP4z3KyutiMqAoyUHCjH9AIy0sHac26P6D5POgXd1 +iII1ICWs7adS6JI7ZNt5/IcJu+TO8PZo0DpEz1zZWGsNdoOj/KedNPcqhS621ECdZdUA2lLFYp69 +s2aVsyDB0sE9qDrLzHhfoG+TYZSgU6zgfhLKhUkBh9a0jWZUN/9BtGVWmxYqF2w5gigTjFbjlEEZ +6oB1y7EyNOBM8vQzk/Geg+hnovI2qMtSYEIlzZoudbU9hTWStovKumBkoQlDXeLnxFW95RYSZTqh +w80l73F0jsXPqZC33hmOIifs2D382ekkz3o2c/a96XgBviqSuxb4GL2XHHOz0rT/SIFAkfCfuAYx +dvP/wMCD/r/K4XBQ4lTbR1T29WjUx4uS49PRv3CS5Sn+DXAwbLDCwYjqdUYj9rs2fpop5qj08k+z +8LclwCeuARQKwNBsvfgxD3z2AuwurfTbp8dlb7TSGrWwuLT7vXGbfgv8+0Gl6s1yMDwp6V4ayz9/ +2OocHI42u61eSXcDnW5n9Ps2Pj1Ax/3VD2DXiQYIx5QvcehhA9WUrvezXu5zN8tlt7v628i+z8CB +54x7wXH251tlt4W/rHX7/cGLVq8zPITl+ncUVz/kKXD1XBTi3J5wQRN7wI9zrS/WA61lqT8a9Y/r +fWTF5/Sx0z8JOjhrG2jdZ2/DWZ95rE/86sKz9d3Ek70wxvz3YwjLMnGxbcMuJu3amXR72i0HG4MO +nIPHcPB+2y7bfY6Kufg3a53B0C0VbPUL0Xm1sXVCz0xYDB5YGzJIMBQGrSHwwblfSnzj09htwbft +qpS6r5MeftLudk6onHy3/K0xgLPe7w2nf3EyKIfl4Jey0f+lHJwgt7AfzJD8SBIrSOD/giw82y8e +fnjRKX9d6v/26jW3V9VrK2A0jY3T0cnpqLFFa+j8i0rBN7bKYb9LN3d2Uib65lk5PDzni5m3z4A3 +wm6UjcXT/e6//+8Q2D3e8T3vddr9vdJNEFYpGp6vbZej0xMsWm4XvYmLHjXwXnAcO4L/jDjZKX8b +NVb3OqMWHxHbOFW58lvmBllu9X5pDbftw7CKlpYH/ZPFQdnikB7+2/ziYND6fSK79TN5PASptNsH +6blS7rdOu6Notoy0zcUtCwGLfk7IPCBCYIw7/S0mWibI/rCDI9FfJX+Xoof6ot8IS/Fo1kw6mcEp +iVFgczY9s3FlsItvyEjtwQb+HzRWxfgGVqu9Y/+dcfgg5PkRGBNL3bLcY1bQPXVYfvVs/QfociKe +ob/fjrs9+PMcUMWgs3s6Kofju/OVu/gC/Qet2oed7h69qcQ2Lr7C/RX/Gf1+YpEzc603/PBLazC8 +ExzrsOkvFSIJPjyjXS/YKNfw1j8eO7ud3h4sVVwAOYBE4C9Mr+djKGz9hYj0j66x1++dNeVwfd0+ +KOd7F1mba/mFtv9Prl5MXf2F9rXT2u2WFyH8c3fyn3TQb/9y4aOOTf9iKsbltU+HoD3+tZzs69Hh +7WELFTq01oB1XJQcv/q52MbckX+bqfw3nNLh/q9/Y2n8Fx+DITpB/uG7jJeSXmU9a6G/X2Rrf/+r ++W6ui/y8lfx2ISL9q1cyp2SWpuet5dfOHsZKn78e2/CfsKbDEn0SF1mUa/nXrsrbxmctaJe8SGgG +OjP0/KWNf/M3kPnE7Lb7p4N2uYTh/3+50AfR9FdP4bgctfZAB/qz8yj+5Dyu7FmPz0WoK2iMEC0r +V9+Yf2q91Ts4bR2Ujc3+yemJJbba+VL+UJ+09qyp5eoktvv8/I/cInxQWt2OpVpyz1GzvZNOs9bs +mJ7EREdseNIf+VUsPm4sno763jdX1r6n1biVNo56YAf2T0eNg0HfreOMpp1hv9salY1dvFy0Cb2j +xkXjpHVSDhrDzvFpt1X5ASs8Fg3KYHTSgg1u/w5jdvagtZuikRq9Yr5ty/qQGoCs/qAhYeTTMqbP +8WYX7AoTLvUu2Hbg7OTUGGXObimCCZ7bNJjAuW39BHTQynpIkaR/PG2hx7OxXv6CES4xgoT8sA30 +sYx9PevvlfGe1D3fO5X+k2Io5dk3Eg8DDOZFLqY0XYrQMqXhllto5Wue1GzjpNX2Hl6TT20bOu9R +0GbT7mb8+Oe2rJakTZ6dhSdqGiDqzJlSQ5fj/5xV0eVEfPk2efTnvc7IUcO5VzPbmKTMtjZnDY23 +Icsg4xw+z5wjNqzc6/Ls7XzUBxbV7z0KdJazGzOWws2/8OUVXpg537jdt7MxjLclcK5WOsNRdY2j +z8QKktlaq10u9g665zam3au1PnvF1DpaccgsJrb2NDz1Mrii32mkTk0D+p0Rupk0w8ulo8XHa6fd +rpOO9sE4/HWySIz1se2y+6g1gm8piODxyjC4LTij5Xof6BQ9smHbsMEO+hhw1HFZFl6lgcjrdnpl +Y1T+5s/I9JZDepw8HO82DRq3eqNOA5hxy7bzZPCw299tdbfKk9Pu0AvG+EZkp38SXIjEf7P33Wf8 +lS9kgz/fwT/7h361bai/A6yExfaLh2v93ghxXElvVf1xc1C2O9X0q+Jg8KeD/dl6X6vHuzBzUkNq +WIM/7pTHJ11/ia2rryi4IxBDQX+9dr9SPMLRUeF5Wg5qV1l2OVVf4fivWnVthyb122ijxy9taz2t +7KwEypm7BwX9aHVzu4E5HxuLg1EDcyfQReTU21P71UP3nBS/4vvU2lfxWLIBut3nDkUfnT+S27Z1 +2C53d/d4ZexkbLd+KZ+ddkedk27pmg0XgdeXmKzSqymfqznPvH1W7nVOj4NpvQuYjFvGlEvh+ECi +DowncRFP4jjFuP6W8QZ+2d7Ab511A09NNywX2D6LC0StdjxXCeMFqAmfh/kXHCiwVAsUiJpu1G/5 +z8US09WF0YSNz8ET93gxRHHbczEVN5uMKm5zMVzZ/mrIEqFd0utXIRONTo+iLvC23A== + + + 3etdjD3OV96F+U/93SZ11+p2nb4+rFulYx8A2XPk2IX6nd5qeNQ52QWMHMWsqt5sUOJz/xJXM5je +EqyNiiHPjN/y19u7ZQcruuODMhDRT/q7j3v7/UYljc9B9Fkz2+2MjlsY/BKxLG9dh81PDo6PmhiO +N+zv7zfZX1QTmWPNd1GG1ptPQnvc+nRYAmsjAewPaPiSfQr6ENUlYSIKFBkbcDjqNvc4ooSIwm3h +ObuDn9n2lYPjIt+c7B3Dn7u9C0/qZO/CnfO9n/9i0l6fnAxssyl7AG3s6FbFKszEnYV2gXs31/Ks +VqG/VORnteocw+FtdkHVv1jLUd/KNpNl01sOquHxjeXUtiGFzqycDtqHjZ1B2dkFXg9I6fQ6lO1p +2lZgX71QHowP167h7uxGIeqmdNUPDNspndWajW09tSIH0nRGtlcOOwe9CQ6oiYx21/psp/VIDfv7 +nW55gXatIfOrCzPSaDvGV90dNI+93+asFu1+DzN9oSdwylqwpReEIDzaVnhkcmLrwV4TzHNMJDAK +bZaJDfdBRXCpxcjumdjqxMaoTaMFGvWgOZX4bBsb0RAkj6+3otzrrq9z2/0yfY3D9km3/fvZvInb +tHvDaUQMbUadbug/PWN9sE/d1sn5eLDtpsyd5FbZQ8t4GvfFVkOXzuVcyqXmzK2rg3GRb4DkR5hz +yM4EyzaeJZmBp6GSGPOiKWL5nDbtQf/knCaoonVAaTmnGYbrDoEVTT8XPCg6Xndbg+GUfYwVi0rI +XKDxKFjSeW0DSXMB5amaxgUa+2lcoG0wjUmnaL83au51p7M8bnMy2O/3pvE7bDY83XXnUU3aoyEs +1LvNJ+7iEBRQVFmnNumVB60qaPiMRmh3gBo7nE412A7ETW96X12BvbW8K3by/g+bw8MWqP7lFCxh +o3KETqwezM1vzMTe4lbZJD7/20kzin+vbrNqrQZ1jZ48F5NaHtRbntHOSsHIqTelHbv0prfsdqaw +DGiAHr9WZD6f0bB/0p7CVajBcMqOU4O9U+8JuFBkfa2D6YoGWHLD86UEtdo/7bWn0Am3sV4IRyvn +iAb6ptXruZvMyVY0tTrPRGgfBwrTzHIfjNq9xtrGw61FmTV+mnm8vdEQMtXZnLwtk0T/NHuOsXYM +el2g/E3SJqENmlv+cuGMabkHHO3j36eY7UHD/ujQ2Xyxbb3omgfWdeiLMZXbbbPzW9ndLAeYIjEe +tO7u52cP9O7lQvb6zNvH3e4pycH+YO5P2L6TWQQud3Nl7cOzfq/fPhz0j8He/rXHAZZn+S8nfe+e +iASTxXciMLPl1gm/FumU0zjaZ731mfS1xGnwKxu86uiNNpmgEAOb/W6nXX8iMWkZgav/bNpxjXcG +nWN8w+EO3wqssAE8aq+x10HfHG8VECwsBdDSOyh7jd2yc9zYPqHnHoNeA/4Iiw13eAVOEl5vDBsw +xNxK/4gIrIlpgn/Fh5G9xjZ0DgMMy8Zq2PWtBvzd/7XB/QxP/v1/MGdhpxcO0ujvMQyHP26st37v +A94G/YNB6/i48St8/a9mY6nZeNxbITMPZo2vnDuA1cbxv/8vPdHkPvC/MKuDf/9/3VHnoHSzhAkN +//Vr2T6iBjyV095ueQTMB4McRs3p9Ou2E4ZvDzon55IgNXYIP3/j1oC4Xpa7eAU5tbHkXW6dnATc ++hziWZ+uWEZtt86x7KPGO077OwMHmhBmnWXn42CrPAhod1rLTVDXH3t1fRoT8P7h85syrjrTPKuu +KUVVLHnlflqvy1b3WxxMsQ7dxj4flsTndwJLMZ3S+cNB6/flSrl82nGvJKU8g6H5zyqe+hhdTIu7 +fafETlbHJn/7Ofw4/jKYq5m2REI14KOs4gqmoxuaByixMTLno7L+4UVxSd/9UWTWPv4cbNY+raY7 +dQtQkAHr2zk8Pd7ttTpdF3l2DgGDiRO+rjxHp4slH+bqJufPY5AUo85+x2k20xinFZSPe22QEBTA +UUnLC46+xbb67z9M1X7Pucg/Y44Xfs975gItuaE98gfXV8Pu+UOC5ALlx8bDVMOdYUJe/IHwBVSw +xfagv9sagVQvBxezC87Rni68OxPDOIKr8vqSL/K++cKKgkP3uSTIKgBPeicIlZz60fS4lj9iK9Zm +go/16SY5wPhUjX37dBdaY/DFFq57imfIi2fy/a+Bkg/y8df+4ChUdD/vy52prqgzP9s6xzl25oeB +VnWGL7OulL+Mr02mnBq6w8NPqiAWPVWQoK00RQh9ppVVCRN9oS8ni82pYh2VgYtL9ZqeEwl1MJCh +CRPqsjcyrSG71HFG7OL28uPHuVkpkfjxj/rBxrW3N+++vHf9TuvVrSfq2sbc0sLg4fHh7YPe5Sdr +l2/NXF/utJrD79Pnj1bTK7cXnj+8/0w/uL3+0/VnC4PTdra2Kp/lV4XWV5JkuPJp5eBW8v3CnffN +Gwt3b50MF4ZP5fylqwt31i8PXKMno6WDRz+uL9zV5fZy59799kqzef1gbKj1vdcwXraydvV29ubh +aOXTuyX9Zu7W4nF/fbj4eHt0ePN+euV0bUV//3LpU/f6y0tXV/aTJ7sTO/s+K/azFz++/WlxZ7n5 +4uxBw3a33y3cPVp7t3B72Dy+uXLr6unazMO9/UtXCVlrH4Enr+y/e5ktdRe6r27vLx2Olg+zNyJC +x8drK22x/vPC3QfXX3I/MOXh8vuD93346drPK4/3Hl9emss/fb+4PXelx3N41do7vXS1+DRzs73a +Nj/OLB/qD3fuLl5V124u/XDr482F5evP15bL0xv3Xzy5cnin3W4d4U+dm6v764c8skjmW9mg8/3H +2533T/aWulcfXJ8b3PzpdHF9+9rPOP/ZhTtPDtWlq+mdF+8WFnvt68c37z27M58d/3Svk2Xzw321 +OGg/FjePbgvfY3vlyfAFoC27XmYvVbJ3u7M834L9Fc/uzczdKpe62eYxr+D1+tWF5cd3r7xcvVWY +IezL47fplfvZcv/9zbsv9t7elrtX3lG393tXYUH30xtXcEvepi/TH3uIp/tLR7PpnCXNF3vriXh3 +5dnKfOvutbXLN98McJQU//CeeqEml64mu9891vTzzftrd+1Pd1+uPuXmy7dWP3Jn8rV8DKT7Krl5 +//7qLbny4OCe7eflvbt39j798J520k8Y+ttYMnYUaLT0xE/gXTUBMXNvCxuVmmDm8tLKB0I1SMAH +On2Tfmov7qx8urmyP//059VW6/r3S+nu8x+Lzauvni9uLC9truxvd35e+Pnd7YNLV5f0650PjMw3 +6d6b1Q/i5osl/WpxY23l08sPy51P6fyd/eOrB2vL+zcEIPD+xyzb2utX4+XbPx8/XdxYv/F0bWV2 +7ynjxiGaaR92f3TS/PHmgxetn3lB99O8tXBnZ/Td4s6T0en40mqYDfDgNuLV4LLrahtOzsby6NLV +1Td7Vw/kx7sPVpK1nxYUkcDdj3fXVoA6bty6udQv3tf3KsZsuLFuI5hyHhwOTwlLsJYQT0/WHy5+ +eCKIYu7ePLnzcW1m/2lzMbm780bOfv/+Lk8kRkd6ulWUazPXTmaXD9Oto9Wb6821ilLhALzuI4fZ +Xt1DCl2AQ3V8DZZ2ZXb54HB1mN1pP99azN7Il/U92HzUfRH1/d3D1blbu8WkLSmOyqfLl64u7jzb +uwkc5n6xsrT++mjSbKll0O7h62wfDs2qTORD/Wycckaba7Ob3TtrK+aNvHn/4ce5S1erdcGq2vtr +qysmW0rnNl4Qw2mKRy9u0aAr8x9Pbix9Gu0dL3V7L/qLO4evvocunt70HZys3ur/INeuzWVvF7f2 +D6/DZ++uLaU31w+ZW86u7F9/lMJs+4fMBVdfvHrkWDgM8PTdjlpbOLj3Chn8x5Vdffhy8fnV9jBu +d21xa+dtN//UnbtLHK0SBDBK9ff+k+Tu0tHMSWft7kMxE/D2N1s3WiFOQJYEzFoku6erM/d+fllJ +mtpfgZJnRtkBTK/cHvt7/vHmncfDfeDY7StmSZx23y5uf3yybP9aLH5cuPtouQlNPr4ALrB+bUm8 +Of2wuH26o6u/UmPgYwA4Xhi0b1/j3QrP5/zruw82lntZ9rR1JXkyeruQPJ05XoV/9paSp2JvkX96 +gil1n868ug+w1kIIEwdL9AWMErZs2Q+fzhwsuw8/wU+zxSZ/Y792A3A/3NnJGrR7sAU/fVrhJrbx +CY/ip4eNwn5olOOVehfB5P0XT472VuxseEo4OeoF5oCj8DKpR5zU7NI2w2xntCoaBb+uo8hPuT7o ++l2LG+iP1vL2QfD1k9HGXWj0/AH883YxRCUNP/N+wWHx7o8BChifb67/4Hp5v1hhFkaJN2ry1n7u +RtS2wY8iLz90yIKJ2uZv7zs8RejgdtWvTC9EOTjy+BzOWMtFtoRWwD+5Hu1fo1+RLHBfziCMKWTx +5vJ6uKqKVMaRRX/AUSYhi9dKmHDoCNaMjScilWgjWLNFoMdYfdXwjR3PdxHPJjikvNy396NBsT8e +9NV9Oi/VbsW7yrjDHrk5YGLSUbEHEj/DAxASKQ31ifcF//65qD6XXgjlr3hpFY35ja++4WN4sPyH +yJC2xC6XMEYnGceeTTfcT7QgXAav9PpPsep3Y3HnxdPe2sL1cgc0/X0ZCoxisQey8mB97eOz17fX +Lt9oghRLyt3buZP2c9+D5rJytPDyyvOD5c77Dwur7aOfr7EoC9QJM9o825wJ1Y6bL8mcAVssNmho +oisHc7MPWPXbfDz7UyXjImsrubLw4vpMsXx4uvVm5enTn5fCBS19KBe3eisbC9vvB7ugwXYXjkU8 +yk2yHW7/kHQ/3J37uNav/3X+u9m3YIS+OFlt39qZX0pvybnAbhRLuwcr5Y3VR5VuhZrSk9OiQozV +wn7KNwLTLVQiwDRF27borvX3WT0b6+CVhs/m+vPPtn5axHmBpgTaunnzZ4yTC5gmqCn9SePkAqaJ +1fo8hc7h0thkjmzf90eVhZJ3m4NHdg+eXz2y+tGrJ0ukxlZ4qrr677IsyJB29tSjn1aeLqXXYYDZ +3aUfF97eWPrx6rsRqcPJk4cim4Cn0BYhsr+fPm2uPP6UtSq0gWWBiLPoX+w9yl5013cWN54/BXKH +08nEWU3kLKOC8Xk/TW/4A/BwqZsevCXt/9LVSv8fn2i5sfLw6GoJx+vHu+jUaMNPt0YPT77bLYqb +d/QPcbfrZxgpd68zh3m4uN1duAlfH/ws2lsPNuTC88uFtVR3bpSArCN9jtEv3xxdWT786fJtmPCH +D2733zVhuU04+0tHz26CIbK5r/0BuY2GwfulI3nvcvUHT+zJ7b3jboLb9CSykdOltburPzV9L9na ++3c3rqyt9k7hVMqrxXHOlHXr+/m3edZef7L04+bCppx9ffyDnejp66uLP/6w/QJtbfeHl5+UxXH/ +WpIdne5uJusnze7D4UY5qI1sT2Vt7C898qWrniTXFgaDw+f69rOXD2iAO8mDOx/Rug== + + + W072i+XHQd8bJ0uPlvTpUiJuPR9ejvbg7fvF4s7TOf+HHf1zs7NIttjqrYXBd08erd2YvaWBXb0E +++bWXg+k09ba2ofZy4e4UrVwd/d9b+Hljzev3T68ud0B4Vd8IjoPuPOYA+PR3MqTwY2PTGPjFHN5 +9T639Oc36uxip1emi9dIAqIf5rzzqyqn4/TTG0wETy+Ygv395c6wk6JXYe4t6A+rPy/XeryAlR90 +++NlkNzu9CrxcPlpl5rcFvnlH+Dsz77eHC0+fS32eBvvPf1hb2XvuLjliG/mO7DTHyQry4+usDCa +61++32RHAHvPXt4zt8uP10qLp0eb80vd5paATrd7pHZcusoj/vA8f7f64f3VtzD5g8sLPy+9n/ES +69DTHXDd9PurgIniMcqcg9Xd+TedWIchjv2WbHcrr9cPQFPKXj472Y5lN7fM7qrVcvX9xu4H0E3u +IMPZn11t30x+WtQzxY/A/l7mrAvY4dWVhbsPnl9beXzcebtkXrxqLv54Y/NgcWvn5hqcl6sP32VL +R2JvEKoqLFDuza88frt+A5WNLWoC3Pnu9qTJ5zvXvt9e+3Dl2uuVfcDXUjf//tbKk5nZGVJu/Nkn +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 + + + diff --git a/shell_integration/icons/SVG/Warning_Shared.svg b/shell_integration/icons/SVG/Warning_Shared.svg new file mode 100644 index 000000000..90e88b6a0 --- /dev/null +++ b/shell_integration/icons/SVG/Warning_Shared.svg @@ -0,0 +1,4730 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + eJzsvemSHcl1JvgE8Q53fsiMbBNS4eHusXDGZHZXiTPiYiyKkkbTVgaiklVooYAyAEU2+TLzMPNi +c76zuXvcyAWFZLfIznRL4GbcCI8IX87yne1v/rdffvFi/9W7396+iDf9rvubvzm+v3358d37n+z4 +6O6nb958/+Hjexz60a9+vAvjTU8n7X86f6kn/ub2/YfX797+hL/iLy+4+kf7V9+8/vbHux/9mI78 ++vXHN7d07Pz+/bv3X37xzcv3t1/dfPj91z+2+1EHp5cf6ZSeOhlvQtqF9JNhwdcv3/7+5YcPr/90 +izvEOdKxw7vv3371+u3Xh3f/nQ6GafcixLALS969mHHNP77+1e2H9Uk3OU8jzuxvwpjp7HRDRwdc +chOGTJed3r36/tvbtx9/+f7dq9sPH47v3rx7/+Enu+MfX77d/ezl1/TNy92/3b558+4Pu8Obl6/+ +o6NhyF9eXr+5pTf+9uXHXRjw/vufhuHLw/ev33z18++//e0tjcU4Dzgcv+Qu//kD9UXd4jMOT1/+ +9Fs68sXtx4/0uHRDjOGv/uFQPwYd5Pajf/8lDcYt3e39f9y+/a8/1m7fv/sOR+jaMdErDjO93rDr +5dtf33773RsaXBmIYb7JfAr9V/+h59LL8HkvQg74LqW0Sz0N3i7GRc4pw3T7+9e3f/jJ7ufv3t7K +WOzff/xCZiqlvpd/5Ztfff/m9v0/v339Ec+IQ4sMxs/efXX7hs736y9vXvIYcAvlXznh1y/ff337 +kWb33ZvvP/Kqm+0ONNj/9PKPt5ixIDf4xXe3b3/97jf8jC+GON2MI038FOT/uBtyv9AYZLrDzDcJ +w7AbQvabh/Kv3AM9oj+70UQz9Uuau1+8f/3167c/0cecvvyH96+/KvM5a+P3uJmr38V+5YHp3T9+ +vH2rL0Cr6PizalX0Nz/7gu53fvvV8d23mIAP2Aq3dGNaKW/efS3f+Wf+hi7//jt5dv77S5qrX75/ +/RZ9dj/nb+Yvf/nme/rqH96/+/67n7793bvuR7Lzf3P7irY3TedXu1/89r/RH7SZf/7y1Tdf3/7p +9vWrb97efrz9sDvQMqfjfu7Ny9ff/fjebukl39/u5Eu6kv+0/x+++nT7O9pr5XI5+o//D03vmze3 +b1/8399/ePnxT9++++r7N/Tt+e3vb9+8++529/LtV7t/efn+u4dv8Ms3L9++fL/j49Z/3evup28/ +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 +k2iJLLHrQaI3qP7nd8Wz9wO7uU7U/bkdfcr8/cvt6//v//3b3RevvvnDy/d/oplbHbgq+Nfm5z5c +1ZDJTfWWkrynWNM9YLRzF9q1A+3R8yHVldTGdS01t6NrPbXOs3HXuQjOJXdhlX27KVh8lQtJCODY +rQoWFzpotc+j26BHtxJr0WIL7qhrFnds5LOixZZfq5Qw32uWLS9a7Akui+Fv1NKDXHywc5LrBPcq +3WWpRmj1CDnh5bpWT9KM3XWGpu1KBsV92sKELUi47zZK5u2rnJbnKmSouE6P7tvfVjSnFdCtlsBW +YvZ1MNA65UATAdSto9F1WXh6Ck+UtffsFG0+dlsi9y4SDQNqAoFKKNB6oTSlrTu3BZs1uM1+WhbI +xbKf8uKgd9yaU5vRwwOzub8j4Dt2G7N5Gk4+l6uaFNvzWGfY71ZzufctvZ7Juhb96PFc6zz7564J +v4nNNm/n8+BhGNvzqSUVuyqsa6/eLTA9l9lsq5U/uPm7qmJ5VEitrlp+vfmtXnn/57B13puLoA7O +aJO3TVUgRptq4FQSufWhruhVKp+0tU8qmrFNMro7wywqHlERB1tMdZ3NqInfsGQ4R55wgqjJaxdd +DhLYZ14be0lTy7OMTHAzO2ogFxwy0mZ1zTgu5453X9Qa0wtT4TNXmE6c1XDhPIYXzliY2VdibyWs +1xW+/ocVa7RyjfExBRs7r4b0RAUbuzv8qn9wtto6n1mdzewp85k9Nl/t85w+z+kTF1V91Iwe+u5p +Z/QxeQf/gnNKt2jAlOgErsSU6EWhWY3DIhEWc4iZk/GFELmSdfXhviwIT9elVOT+wXUS79QC6cCX +P3/39pfvX7/9+Prt1y9eVMph/UX38+/wTZRvfvny48fb929Ja/ynl9//lnRF/m8X0niTSW7ahTDf +0MrY5SUi3UPcxWm+IX6b+TH3/O+//oH++54/Bn3yf/0j//l/0sf/Rgf/QG+++9nu3/9rv/tKLvkV +IEi7ifW5+5aOXt1p90/1UXugf6o72DzYXP+Wfv9u//7j6fWrj6/fvX35/o+7nzAK+neHd+/e7H60 +/6mOxJfnr15/fPf+y8PLV/9Bo/Xlr1+/uf3yV7evPv5497d0wf9Ov/62v5ClsZCIGhkHinPWGlwR +ki7id6DWT5YzUVI9/utLvNCAzI5j3oV5ukEcD797RLpIep95oG7zsiPh6IbWEB2ZEn1DKxBHSBif +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 +Nxq9aUzr4a20Ofbwx1Hp1r8PO5TspTGIORx32Gbdr3U063AZ7ulFNhFDsEcTkgB1qPn4VLZqO83X +vDfkvW39NW04Dscl7UMGLhzH9aE9msUHYmjtC+weA+4fad/nPAO+oppqIrhnnzwPi0nRrxSTZ76j +z7F8sJyG+fA5XaeXjFmdY5HzPserr49xXHMd5fj3tRbf6LUmw9r4Dodj/eLf/uTbb//zrZX+6q9/ +9pvffP3rX371V//w1d98/auvf/abr3+Ohpo0Uofc+I7r4TPfO4tU4njRv/z5N7/59tdf/cU//ubb +//VXP/v4zS///qt/b1fevvi3f3Vrsvexf/3rr3/7zde/++pvvv3dP9ih3sR3fufl//abW5n++6+/ ++fv/5I/9RzzO/+b3uCC92rfff4///Zuf/+Y//Rv3yV4jOFz93/36299933H/wze/+OrDt7/65ut/ ++Op//vqfvu/on379H3/z1Te//Op//PW3v/zN9x38t9/+6nHs9w73h2//sw93+65DmR6/+YbP/tXf +/tOvvvYLL985ZLzgX3/964/3jtXf8Duvzv9+9n/fg3yPyT999dNvP/ZzHrPwL3/03/zFX9Wv/vKX +P/dL2O+ffP333/zSJf/9F//tX3/7i1/97Off/uOv/82Phn+rkGOFf289q4eWMO2RiIvzlmiv/Av9 +9//43Y8MZib20lv0T/r5P93//H9u4e++WJcv/sMX/+f/tXzxczvlb8LtGq/puFKPO33x01GaT/TT +8Qqflk5X+OUfvMh9rH/ys4//L5Nfk/q2eebVzvv+d/bS/4vMhLrceuqScXHbWFgZx3G1W1mKG3a7 +Vv3pthL4R41/3NYDNT2G5E0d8U7j2G5dCL9w4a1Yu7CZQ3kgaHu5JNjWe1O7dnkEH39ktKwnaI7U +QYv/nHq3VQ1K9NJZXwiEfgp/Viui05lUTtK6sBKGFOsgknaZRDrbjlFAmtyfn0dJH8W31AqqBAuE +63raUQbRjxezHnalFl1+lCPdm8qu7Vc0CxBkXkWtCbuhTBOsZ4OmuXEN9kK60egV5qri6oTzvoJa +BKj3alvvtV9mc2QGQHYHNra2KbX8Yhbs2pUOc2eMqRfMmdvTEYkzTyqMwkr0HCkco9q9ymbcN+fu +IUxhYyKRyxZnbuWwMx18SiTDRRK1C9pOWO2eXobItrevqvbdrHSQDW7dlVbDnlJTYF22Er91FnSY +zIg4RlxRqlNeDAB2kDSrCtR5XXq4Z4h/1w5HALeOShxZvbFL7I4gFa+DlOdadl1rcx4ToSid1uxe +1uABR7oq8XMbC6veSGy/VVaD5qWsklItGaRq0jhTQBEExIUuidNbaZlFAksjkq1ihW5e8mYniod7 +lxFiFtQubnNDNV+im1SC0yoX7TwXCgVcLXU0sRMTIb4kkg4YhQt5k5DYuILEK+SpOI7FtVCLvdNU +s22DZPoiKaWEcRXopa9FmjKY40T1V4eYl0RzfFNUyFcjEa2qYqDVWgKoffytHozsgpQCLQbOcu1L +7343LSLm0EKBZ7mswche6Zaei515f9XLGmaXzSVNMKSUyV92TyU7bKpAwsOirMWCHGJquTbLbxlY +CECkyhi5QCeKNrgMUgog6wZwGZFEL/5dUhV6FaeEdTWFqV4XSoR5AlTqfplgUrzhFRt2kSDSNa+I +gWBBSjHDya1PsTlAV6Pr7Frt46uJToX2xmvgC1qixncA3lm1kkgIASIxAkgq40+1C0Bhc8aZu484 +dThVLRz0HG12pkJcSOqi+uvLqjF05gUBMc8vUhlKyMlgNhQqGR31H1JiLXAfFucZNNQUESyWwlf9 +a7sAjq6mbTbYJBpQ18VULO2YdkPmGNhlxMuqbhj6oTVb5UjuUdtNNxNLijPvT2Ju46XdDeADtlFJ +bJiF8G+IDarJtDMpxGU3Y9adFLSCAHGag7uBb/D+juEA0DeghUyiEWbMX7jw3mOIYHqpM0cpWHt6 +OfFB0Ihg3mkE5B/9tPWipvj0rgiB6R2rCSgXJ6m1XXZa9c5sOkKEMyD1bhXNyylP0bkB1GyjHcAE +OmslgkrALo5S5pkw2uqgTfcXK+y5UGhX7y9BuF4sd4HlNh2lKVKlHFbltK8L3ipiwocrQCrBsUUM +P9eO0lZ6C67D0/hHZWOkWWiNu202t2iDF47RPdnqzq522adXyfgJLfptCixB3Y0OEPO2V/bTf7iq +NtpAGlOwgVF2uDWRwnvqRen8vtHRfFisXqu9WBe7BHa3CuXXMRxFWPzQdaRWu2BRPtHOchk8WIed +BJrcF8R/xaUAJsilpppRIRH/puDgdsMP9fEWsyugMYG2XqfxzIJ/PPY8bdtFAx2NPxC57Pots2zB +fhIXsEWpbfAvG2seCbYM2EDub9f0HkyILqD0IL+ZCwVDV+2RztYKhWi7KuXpwCeyFgKz5RbYxs9+ +VCHHc78rKV4w/VKwed+unebCexwXcUdj+K2UIVZvJCpsfIwsFafRy017TaFBqfqIsNEw/XKIKJxe +0amXvZtOowd8vYd5WzuXdylSLRbwaII/vXThc3cgbISytOj9R0lQW1mX+1m2zWCkaVy65/b6hXzx +4GOhM4UCCzoixZKxAw55628EmqG76Hg3Caj9jtNONk+uZW1FlKQXCcTvLAElfqeRCNhZZJfvxQIg +93pZK+DJ5ydJQujmpepir9uI/aO3AF6gaEKxZUxR1An0NhguG6i09ZR2U4Z+Y9tn7hK2j9mDcCXC +ipClusmIIL3loKWb1SZLucoitdP2VIyyPXRaMV2qihBduFXTpTC42GkMN90fGCj0lZM5WAQUZnDj +mxBxhRBh/oPVSqobjHC1sZZxWrmOlgpmgxZZy/BeDKdTaiMURGQDLP2ePRIU/STwrp/YIFF9nSdh +x/FCu2AP0KHVluXmV9kBr2jWkBPDKC9uW2zD2dT4ci8aajRg80iB53fivSQjP0dT59bEnnapUVW9 +PVtp7siERCfS9i3jNY9b2Bas63q/gKlYbq260wS72nf8oOjGSbJJmDe3Wc3Sbr5nox9JCd8WAr1Q +pUt0QxoPCpHdPA5YF4aFlrXbdeuCY7FcXIymhPebqnRoo32nCgvfOnx5lbKT9HOBTqMsYGdHiaPo +dWrABKAIzkEAmOta4rQQgvbS2ACA17/1BxkuKpw2gZEIBt0EMZo7W2o/6taJ+D8UadO/s5GikR4i ++hpfT3kbpvpubcYSMDHEoajRvSwAQAX4lt/usjABQo3kymK4N10ENJ8hkL7mOsU9Wp6p3Ua4JhTZ +/I0uo7NqH1SizibFdqXATiu0KG/DUSjMQ3vIvTz3QcC+usbdQrhYY+m2MulRSqacuPtt55wp0Flg +BbC886iym/+G+8YKSwGVTuGsp/DAwbwXKBe/sDgPN8w2eFvK0VIQXxvzIWQY9Y14DhQX/Rd7ZfHk +egqbE2pwDY1quecnRXHbSr6adL8L7AHJ7Q5ClkNbmmlN0sAb6Vyy0paCtyXDRkaZ9WZmCYK9qRzM +X7NeZl2IHM17ZhGe26Wp7yvmAqECh8+MWx2xHxIcW9yMr0ld8OovVokL3KrS2vTvs+CIvrV3/LbV +eZrD2A+67AMS1iEp3QXNahBCi5sQ78x1vYyp1fdJbnYUNaoa8Zed1mx5IJSKoitVAaxL6Nb8bpcq +VqzfOM7SGiqLWaA666BsYjHLzd6MTWUx68pU62p2SlktRcP+KDtldWrWLlgNcf2j76JmzZDCaaa2 +bw++fGHZxa1qP1SIICX5AfatDsdBDH8I9s2sidsZs6hRWa0UThqZUpizCTJZRhaLf7nuTel0u3wj +isiVz8FQl4NU7i8XQhGlsSPQMClnNQTjsk4hna8i56QxmejZCSY2SBFnAVSnota3GvYUkSwMjugi +g0ft9jzvtef0uzR4y6Al/xT+GlaXorsbbanW1FyWusdv4RSBtMAqiWPQ+AdPuNiWiKF424YF5Jpg +95GMVSsZcQIJUOu+aEzQXODlvQjrSZPEZoVOEvD2CAyY5ALjQwB3wie306hpdeApwW3gDcqe3gzI +AyOI0YCN74x7VYuogLJeZYRXU+rH5iO9uI9LMHF0bk74SRFi8iM41nuxHM4UIPeHWSQWFnf3EMrS +IRjaHKZCiwTeOrW1c1q15o+FWKyddtIOKrXqrdbQXRWhJhlzXFEL2v2Qly31D+46lPujU6AE81Kz +BX1Pj8MMyxRcDkJg7p4LV+66YlBhK14KFl/mc9HOrihG2YwxRrdDE2LZipFQJzLJLw== + + + eqf5k+Yx9cMsU1KyioVbpPsyj1rlxUAxIKkK6tQw1tHcW7US5OVyBAqk2+YpXpEaorwXBwJZDeBD +A4zgfnT/DrDONFWJV2sqbYDF7dUqo0V3A3jArba9VnrxQDDS2w/ZXFrtOIstEdVYBXSwWMxM17q8 +u0fS6hlwG0W5PWhfwQodEphZiWANLki2Hylp8IiaIUtZCHN126BL4ECOcG5K6VO55OazRZ2HYFqa +AA1W8wFDYB7PYvHoPAr6s3v7ZJpY2CYEt341JW3nhXRdAhUGo3jVcxoVKJ7VJLGRIVtCYLsfp97g +VcXyFk1LCWoWrrEcU5NGeztVzWxeBMPkrS3mNzEyWhn5iieBT6xvw8NYPM63BOgTsW8GS5IIrrfd +9aCut/sdNkURF6eylASrWIhY0WuPVEbvNWJ7oMSAv+EovoYc1BDYhHNlnEepDIJY62UQIimwoYmw +aErZ/a+8PGsF3loBm+0gO2gdu+Sjh2HlEfbjeGTivbxQRgLl2FE30pwpioChQpKXMcAq0Hjc/5AX +AyhMCFAtQrWICKVJ4W01yk55W4p1Mo0oWWATVTdCa0FLWqDtKCZdih13T8/oWhDWTvFkDyWLTN04 +05UGiTvhLmF9n4a2o6SQzpTthCSDg9tlwSe1H4i3FmQVy5A52VWXAIqz77GoQno0Y5YV8EkVKLRD +uoJbcKAbQ/DRtWo5rnM4TDAEh4GEGHlwlyyRseqyvVlSgFxhbWhj3oIUDGrwqMooXT0poxmn7GEe +h/OmCLv3ZhA53UjA2tvENqXo22ZStf1IopD0EVhEnCndeDhIQ5xpK+ZwExvJLntL3Kmb3fO49JKb +cUKGBvAznc4FRApLdlFSs+yTxLFB7MyQKtihO1Tf53A79tM4iBXBSYkNLWXZ63jcbaze+7JxIxtE +BHrlsMIg5f20QNbmeVL01l4Nv8TyLWolIVCGGbp7v1dgqHKYqVbiMIY1t3oCTBscFtmCHtpbl1jU +sfmMDalwHoixKXGwCLkxJZflXezMkIo/UngQBNQ9D6scBF7ZtVtSb80ILtxtqyVmLTGxLD5eFLkK +sxLJKhrko/uXklqN0uGt0IJHRUFthxlfekulS5CM0fdr9wYcgQ0RNven2CwlNUgAPKwZf3fhItrm +quSLRkJwlMSfx9/2nM0U93DUbolzAkWKWy6bTyWi3wyCPiMNcsryh/SnfjnLwkUYQ9ZlOQ0PXS7o +INktlphWqKSAumlnpj5fy4sgtZYDFWztOrok9mrLeedxZ1Qg8A9BuaQkNIjtDiGFEqgJfo6IR7FO +d1GPEhH1ASpqlLLdoXqEDG5rwq1EjzDvUbHKfBG8uM1Qt3QCIZZgmClxsBGAo+bES7YgC4po/t95 +CKUW6gRwrhe8ffPgbH9TfnMjebsJx+3oedBta2GaxXH4Sar2oIsA9IWUsDsSadGJIUQlEYMk+cc+ +QgmBmHEA9dotrBZagLDw7bOfSnGcikuJPpV8jPlyr8BxRJTVyOM1MuRRV+tX6QVCcgvX1fq9rmWL +xGrEClVTznziOILOSAxjC59xcxao7gxQn0YcTv1piqAsrDt2KXghbzPvC8bd6lugW68Rn0Wq/CSe +s0WLimUyZFfoPanRlj6UpZHxOnmvl0l3xeeAHmz2fUBcUbTMMuiH5VbtRHhwL2Xy1TG4AYykPZCe +JcozibZ6TQCKwktlidndk8bUzAUu4Ebgu9GCQ0U/mF4bdsB1OUbV4YjrBIKrVuDBZv8FkRrFGvlt +4Vasrk1BmPtPi+dzkSqntoqW7LTDLGd9ysHeVLhJCh+0xCUmHFISG5LCvaYAyulXulBhSBQ8liTy +GMoqSOXec1UFoIpPyR4kma7gPHYW0wREn+rzjrCNyhyu05L9hJXkRhd1tRDiFA7eZjxatcaj7hZs +op9GnXoban0XRpkKICRYTsep2wIobNs8LctjFK093qgaVJdKUdWDpmdaDbovomRVio6aKMIZAjb0 +ww7FkiiuPQi/X0pfrHnigle+Ctn/tM94byMmUV20JErA35K67z0wd537QKRCxsNsS7h9LX5VXX2p +dqHGS55Wj6HCayKvAIke4rA5rJ9lIxu1szdRDl4igngstsKLto3VzjwoWqB3SnS0jKv1Zu0W0opU +kByJosC2Ap2nVW3QYqVlVZtl2/iOgqn74DmFi6BNAbCfKP0mMHoBWy3WePZbHbdYVQjSttzXZRVd +Cr8iAeh2U8cSPV+cea4Rt71M39n10AzlihjcYs6XJELhWpfu/ytNsXjP3a4o7OJFczgddHBwotVq +qJjNKzg2QsSaU3CrLYqgV4upsA0rE4NKBA8Os1FwrbH/Wdvt6nYpqtRURWDyvpRw6O9Pcp5R03fc +Tuj3cZ55maRV0Fi+gKg6cc9mBKLosUNBuV3V4oyOkq6kikHY2ppn7bAr9kj9rB7qr2YGI7io0pDx +QSC7rRYBEzlxpghVSiYgk0vFARy08/sATJTfipAhiEolKVEmuSDBCZoCA0c8ctMStPzFdpx6GuUn +TT8vFvvRmCuZdFiI/r7OSXofva5CoUgJW+KhWX0PQukR/HF8YqrMsFcluBcSgp7FxKo6qrJKG6lz +CS67204Lo04jYKFmbC83wUzZCNIF0ihPLeuM7LTlZh7f7MNnnBYYrgcJEWwi9bf/wqW79m+o/qzA +5LLH1HHCFyBUcp6GsS0uxo9+plmlAtCj9A8JAW4kSh/UrEoCO3sLmwFjWAHEEsFq9u8IkcmjJ3DF +uCtst+1R6lAsXsumqxHDyzGTDm0qYIiNpiHbMRJaEumqXRepSC8okLlkBzcvpuMYkWU1a1jJE7Xx +A1MOKrJuIE/rAqBTPIcbOu40SQDuUbyx0PmFcvaXXL3kVWQ9lEyUxdMtmOctyqoAPJRrcOzuuZXL +/R7MSSEaCjezCJ9kD2OTELw9LCzjKvKJxDjHWSUXWRjSSatg5yMLQRWMdhIcc1oOFe6U53YcFhZV +4FTVXlgkMamJEFy7F8SJFppnM88BiYplVBDZzAJRZUvGLURriHSrBnlqQTfZPDwtElW+YvQsZz9z +UcgW+8WggzE+iz2F0FSbxej1DGuEdWgurbAF0U+remz55+K8qvJPFWfQpUFzahHw2oRsbVWF11Y9 +iii/k6bmzdBmmxxM+AbWLc9TLj/AnfgeVmuHFYB1SQjWnHLyU1eNmM5iRTVCHBZnApNCXhpQtMQs +CtVlCgM4VLVF9AmoMzG2zSsksZGtZtLVNxc3p5BypLXWzKncn6ZZK5cB+W+9llTVvuBhqjwP2Otb +K1+ZISkU/LCclWxUaGkxfp9DUKdUhajUEWTMM7zTGqEZy23bYaZ6ipnjSMwdw+aPejMSchpFtXDW +L2y4ToPyL5Z9Iqfoxfh1iyLJ4qkbHszwZyAeWkQCcBoV1UtLfs6tWVgw7ELFPTupYOYobo+a/xdr +n2KnrKcRQnNA8yq8jFFK2MB0rY42SXXrpkVv9S4I9uM0QajQKkS5asK4uPYurmOtbVfW/KnCVaeR +R2I3b2tnF7maNgdjfsIUuoQAat3+dhaQ20JcsSegClHGr1ai1UC2XUC3xtgdsRrKW4lPG9bPacVb +CE7p7tP2j1Z6/BThcVwmVKPddVrxVgvETASnYiBmk5qaXq2GtR5mAgiTdRHRjjUcku6SR1gccTnU +nvKvFNkYXjf8zOKXwwu0eradXvnWk/ukO7QWsfgNS55Ft8goMpISOWsYRejYyJvdS17OBvZWIHqr +eG0P2oDdKikpst2vnjRRIAzWNLErKFO2q+JTmS+iIGSqIOfOmlgiUKewbzGNrKnUbnbYh74/ofxQ +ldi2Xroosw3FKvDnhVT+PfiqtD4PxTFVZnJWI+229bhaWehpPMHETVUJo5DuajBSqm3dyQJHwR1B +G9QGuV2RaKBmMLCFt0r0meAqDs/uOEcfPba6kGsMIY90MWVVLbQbrrL2sn1UxQhZZ1Qero4orTJd +DFAh8YNIwYxRlCZyXetmjuReHZp6JU1wirdFJ+0WB2Crzlm1enElr6t9TSzJq3LExg5C9Q4xabK/ +9Yo389SUkHs0+l5RhOtiDB+7Er3URa5DjPIyUEMhODQDRVeNkyUD70dUbdrWurPPpiD7gYSIUsTV +a+nxVwXQD7oAE4bKzCh6UnUA0wq6c7lANeoVDidaYPMgm4ZDHdEMnlueK0aXoA7As0M9X+7joVHl +PGO4XNG1EGWym5WSSu0SdiCqKqSi05+RGtVIa0mIc6QgN1rrPM1gI54h+FZCexjLAMlT4BWnLafR +GnkL9GHBRwTUoxiysQ7oLRnYdk1OvANegNJEoFngAYc1GSky6EhTOks0ClXVW6oGqKqHRenj4p9G +QaWkNDHUfLPd4xw0DAgtirIPMj0kUQjRCV9YtZHETc7ovSrmHgkj47Lm4kKcniDW7vhhMn0RtGXP +05pFL3dDbS4W/OEyhmBVTMGfhm3bT1J647aEqYnavXxVwOHF4L7WTf3GFtbQabKPKMa/FF8VgEUV +zLilpqvSdMTraJWIzqnN/JmdRj2/107ojuis+OkA5WQSbqoM9CY2NYsdrNgDD5JR1WYuAOpqzeOF +sQcqbnUqPi6lcl6S3lasQk2kAuSUCrGwsEsuyyRfo3nkmhc6Iln9BJO4FH6WIa43XzMYcpEK2lZT +R+LjUdE+STZUmHiN8M/NEiYfsZwWCf0QdpX62lbvdMKOtmQ27feo1t+6HW352OoFzSxvMxWZYSK3 +ar6NEvNXckh3mKSCeW/R7oJAfAZelWWS6IpBKgeO+lyp4RbhViTqzSF+pbRkU1ys33Jn7RPiNRoW +VTgTu2MCLiqrONyVbaeFGT/4BtpatMlJje6RzrL4e9UGruJcsS9kdZbiCcXSrZbn3LweCYkMVAUU +KJFTBdaR51k1MMVGRdRDl+WNDkd3b4ooyN9ahnIV2uTkx1AmpR4eUjIKMUUmCYPkPBy7LrHoRadi +/ZWrMjEkfmwubr4pAzPQ5FLQTBjtRtFY2DavHbouT8oTI1wVg1mtchG2K0EdWLJmN2NWYIWqS+/p +gWpcFRQzXxZwOK2m3qL3mzdCkUxdFUDZPIVAna9CU5yp6N7qOsvObBawkVQRG/JCiskh0U8VVeln +VFVRrHoI4AkOlmu1EKDqWVkhlgcgxG0OxGqNJHZmiZLB1UuBKYTZvWBF0RIkdB9JsHljLsKFQVTA +lQg4g6hACFeyGNVqZaS6Y5RkKut5GcOWtVVgvavTeDXbuwkctnkvXzROEaTgWveSvgSGAwKh6shr +8UwQZQiauqQOcRlsqm5eciGQrmpnWmBbPTEqq0dyrwlRDIfdAboy3ud1RKHi5oESvYN6+G4FqdiM +2eJuiLGt2khHo8UZnbprhIOAIiQGDKWYsL3slnsUC7HDsxMfpTuMDfwc6icPTCZqZHI9Hpu5EAht +MCQx/inLxo/nqRApTrRVqoob9a0x24tL0LhILAuD5AyLx+iTirYC62fa3SxhpE23gg== + + + O6ZrkZYK8C+Vckp7l2K7gZ5CsbDiZEjMgd0ybM2oCWwx18hurgpmqPzeKpauKMyBBuZQkdHSeg22 +SmxleqkMrFl4TkUmzTjQpO4BYOS0UKvqyz5OC0C1aHhhMmq/wvy99S7lGVkni8I55QJVi+feT3ZP +rXOJVLGGomnOCCs1Qq7WgU/IUTlGCos2FcJF+gXoPCkHJFtEr5fTM4pIuZNlmS+XKOOwnBYsRyJV +ZspmJe29Q0fnhcA4jtAmXp6PIXfIFz3dcOjh8lOlueraUtsPjW4U8CrJiamoRCG1bJuX8WzsEAr6 +cV/oKUiPyUqjGvNUaupwHYLHt0exPm6wOgKpcAXdlOC7XJ1VpK4qOd681gQNGrUB1D8fLDfsCUuq +NE9OAouNa80td8Vf1C/sa1/l5Vp2SzUHR+022rgWR5bVwyrQhQSrOzNwqo6CgKXuluFbUC6reHWv +ZmcqbipymyOyF5vFlIgPkHtW9f5p1MC2/1DOzaK4DtscLP0TabolOgzUXELVO94luS+yKVZUEpgJ +eaaCWLWYtb0pVKdaVXruEJyxe67WB/XBh9XsEjUcCEtzDzgHL79XOlmTlcjl6cxAJOCKyrTUDrE1 +Nf/YZs/+TNUZrQ97M1SDbEJT0brKlwQHi4cknKVicUx1idGAYF+bTE7EYOkHskpUUi5EeRloVfxx +h2J9RRb7xyANLWWdWwapK3iITZhsi+EF2KRrNS609hrQTQ2Hjk692HlWCsLl62qtYws+pqCPWuT8 +VWHCIqVIUDUXynGdjs5LOFr9G9r0tHRilsMirsttRvDEarC6g81ivKRDza4gQBwFeZsABETPcBln +HZeSgQPm07FZwsx0OtZpceosk5qMCf3TH1lyXY1Pq5rdTpvm5j5wHA6neu/ItwtCvrhWJztsxpHY +R9Q5dLi+EhEXKc3Dg1RsxtW7J0kXC8jgaN5FxZcFZoCeAK09umVoKjqW0Tw7rc2eHm4VRNx7q0wQ +ovkY8uhs7etjTahqfFTLT30bpaTNktpUD4n2FagwtC0x+8WtVksQqI1LyJsUFFlD7WXL4u/c1FD1 +AIWg6vE9i0XXUH1GVnjZpCLCfUbtL+8t4JDFmxJ0a+qrWWXVQFWkCnYrjbEgzOk2q0cmCMKYOjot +kqZeYYBLL/tIHzy/JIOSOnkDRgPdC3hMc6hfEePPGY7+LtjfP/pCAzKPce90uN3VgHYeOEUqECjo +p8XRxn7hUls5IVU5gJYcvdCHJetNsamjO3ZrNTPfuzpZQNqwNzUHHZqMpoOX8PmHRCTCehLwQ3WR +rkVA2T+hRW1sOuKwTpMIp+ha1didTaMI174WC+6tdpoKjRFc7jPRkYbBT0yneJORYFmprKnFUneE +1Us0eUK1hiUB5DY3Z+mrGDT6j6kDU2UdeuuIYqVtM3gSdXdhb6j4EpK71Udn3yz4BGjPuOy1DQrJ +x6tGdmF3eA+moM4x6xZDmY+zrFZt8ZsJXZcITLQvW3ONbpYzeKPQlhAC6k1ttruVZhGnYUFvKpiz +tSuBzqJR5Vy6cJNPwEK+vDU6Bc0Yfe20EK6umW4FdKsBUgs/FiG6eqW2NX7rJPKe25oyHkjxOPF2 +MFcOxzSgnTgq05BRr6YO7cVUbpFn4iDCCLT1K+QQFVSHI7sI4UOdoLtFelQwyU4D8p4cl15/u1Fa +rSSCF1gcbsY3tR4Nv5ehlCmEWHb0d21C5gNs2FLGG3gm+3mYIBqwib9e5EBcuMtcK0rkyGVPwTjw +KSQ/of5CUChaVWCeRhUG/h4umfXFU5h8rbVp6dgcp1lgpSnL6ddUSnSpcuALgUyrY38B70qRc5rL ++F2vZTXeZP+iyFZ5J4Lp2ORSbDpG4X4Ey3nvhgiqc0syV26/u4mSWbVTlPdheKBJoHSl4EpVGyEw +s9zLjPIorAK1WTtXqNoKTxmwpaNWSWpGfjGePiQWTEIpEvR9K8/fuylANb7eNt0fVT6k4NemrkUL +v6pMlILUJmgI22UJnCkIx562FuOZN7dp3FBJatHYQnuoeqnU0ynk7MiDrd5K4wg9cZoFFS9ZzQps +HtZlaqkHLEE1ZVyG4fzR433lFHC0xVmoZBB2DV22AoNozTBlmteUWpgwYEVIqx7WiKZGSEFdFeNL +Pck6Az2xbNGYdpiNQ6+AWLQRkNcQhZ/43C2ZS5X54ukyUiREeZCJ1PxU2fwWNPFkUIAK2rYhUdkc +BYI43WZRTDOBFkM/f32xD59xUihzaf0ci1XLaz6Q3LK6iMVJdzlOX/bw2gIkq9ymw2OmEbBcVQJ0 +BI8wIczqoU6LtexR9o5kiZzhEdB14m+k4v8k+KzqGPeLQV/yYozRUxb0jeiZXcoGa+hlx2lFQHgC +SmRStbMd4UMgFcoUiOwnQQMaEpllSMzrZr5QGilJ4h+we8iioURT1Ya4cgIP4zhgzCXZTrvWXiOE +qJQ4ceszqjFJ2ZNHWfXCalZ3vANobLN3bauOOU2UWrFZiuhUp4gnI4qyECizFSorhZ6tVzu/gqQs +IUUja4Z9XfLR3c/DvJk8LqL6m+l5/bYy614PF0Kah4hZ2+ssBkFrGrlGc8pWRx3ZvMIcOJG9WtW+ +xbUET6EniAAvdelHxDxw2EpzJm9hgKgnVbBzTdHtrUaUWamliFxoxQrzubhlKIOHWhLeaSmTZKic +6FLS7KryI6kigL+6WBCRgbaaspDYfHWYl34cQa9TzbGHgP67gDhKy2BwSIW2g+dKpaGaUgU4tFkn +RU20xdPhhznTqrmoMtL4EEHT5MwRI5SmSFvzsiDpz8syzMqyqIMH9FCFYjFDtU5hMVNPLfm3IxQv +wVkVQFnV+KqEg5XmNXW2VctJCE+A2qQtulf3yz17GIHUA4qJcDoapXWJAQtnXfm0eWan5WXZaEmF +mbQnWNoSPPOXl80bsmX4hir32qxhQEHoY/Gcze5JuLeu/JzbM4ljK56E550Qt9UQnT824elMs2dg +s6EvlRm+HCcKiZCelZ6khF7dg0jrapCecnl0ZvOGMNudo54gzkz1LJZdTtxdp9++mvGHGSSisl6R +flXyfbVdgzZ7yoSsBo6qF2qDgZ71gse9o3fgCxvQA9TxIlChUT3K3U5yDpSn+LovlnSyZ6Xf6LRU +nkJrkihmQujGiMEobFkNji9dREnV5wNg1aFmOCJfduLKXqBbGttTsUiUPexlLunanM6ET1ItJlcs +sNIlZdCLJlXyaDHkbsprhFx0kdwxemkFLPVT81KR3SOPIMKMNUOllJIItXohpRprS2AbnA5Hu0Qa +hAq5ez8Am642wxFQGjEEullgEoSQHkIHhST2CXjF5bidalz37x4yQa6RMqQqRfk1edcqSSpRwTr4 +21aw2KzXZlHDObE59XdsDoHVJSTJSyRwunTxzvQauKAksXeBF+yBLeCSGFCVk/XjqJ0XIqrt9LvV +HUnnFQtwWRwoYtwEHpWlXwNUhQClil/Ww0Aqm1NoRQDJw4bVMQ5I71jqunoOl7CGsrqtDjiMikNX +m1grtR9liTT76u3Ymh8E+0NiL9msn1xSseiV3ZO9TSUJZZRsljCxM1NKBI3BIMht62J1PQj6S9vO +LrGHpTe2TscthsiAIwuWVQpUS5gFVS5kaiulvhpSD1WnZkFSO7630iUxBYqeK48DJUx5fWJq1Ph2 +CTt39qm2SIeAJWPFunsUO2/WDsC4qi4yJfasayCOxnHREGBKNdAeN4e2zbZLwT0ejpxftLSobXPY +0CIiADpSlaveHW4xTrQOfC6nAhpiuqcTT2q71TG2VTXrC7fVHCjSx/FjR6a8DD4P09PY6q7iH00S +7+ATWb1ylSFVeZZUOyUwlN0OkmapCTszpXTCqMjQLD/yeVYpSqs+1iFVrHvuOcWXElIB3gJdEVCu +W9OmQ8NJ9a61kuWhxQOJYvdthx2nPYEg8IWC1luuVua9RsSkqoRR+6Gqn41dVyh2FIknMb1L2Nvc +VelStQpAoqRggtwB76qtooK6hj7b/CZljy7d43KYXaEenW7sLM3ialah39ycoh1KRUOKcWGIgVeq +Nm2qhHAv2B386kt3OOQ/Cg8ijyN2YVUl1V3nlEzKIKWC4RHARemFGWIBs2Z6nmL1upUP7kCaG7ju +xmANeKJy2PcdDXaDNB8SsEp2ZzgzHCOHWRBWauSHU/BbN0ptNYWUAo6VSln1lbC30il07atBpiu6 +b4bw4SpV0nb4cVt1yRGSIyRn1Lc4FJfVwSyWYF4YT0G3E/+QxMouHKw3zlR7IvUZqx2lnAaCTcBj +t3m+2FAIdFFnrS1QoU+jBMOPs02ipHvkoQG6YffRbbMUZ3G+IiSqGLfjrksSm2RE2M9+oq0cwEAv +su+jpBq2WQ1wnMNqLszFvBxhoqhUTg3YpAbJSAFlTIzcikGAJvK0GPgk+mYwOgpJbT3cLVRH9zlK +qNSI0kyTHoIvMj9ocRgGsJqJuwtaRIh1NJp4Q4Nqeqrg5xyi0DttBUZOSTcAvyzjfbG8gVYB1tCh +UKjBAQq4mbDXHk4GKp+6hqVjxSKzLjguhWmDwseHUWi/mkBjK2D1KPkVRsy9nECqEuAVKobWXKIs +gmE9fZs4hNC+ZQ2N6vkk3OyoRjHR4dQtTTS394W5TlR0SmiwfocqNjiL4rVAiNR1HTKyG19sVAQL +jsDNW5p3yHuzuwRsINdQYZxHqZJD5czayazRzDG4zXW13+aXHV6H58cQEDlLoAG5IpFEhCrpQrrw +vBzI5igWi8EGXwWQxqq6LWgJ9ihFqjZqeRQDRCKYfU2KMgSBiJTDeFi2VcW6RK4OlD9lEzJEIn9g +TWb91QSutFkrUzu8KfoyTAE8aEwQtapF4ZIrPmTEtSRYdYyi/vpN3JLetSthtA9bnfTAyFI6FydW +UINjMa/ePOeQ2Jd25ZuH8UFVHUYlkSz7kGhAEnrchcAPKA6sy4OaVqwNkF5mINJKhxSlqEgBwBBa +yPUSTJJFRk93CilauWLLIGatWbN4JlVhV5WPpfcTkoBajWCt2BIUEBB+zGVe2xbeCPlsds699jIg +hIb0UB0ADmLo1Y/SnGmWAlPbQGLVN1cH5C0JnyJg91Z+TGV8zWuVq8Vj4sspKLBJ5WjcqsWGlU+K +34xURGBdRKL5Ujna5RvtFkqueL3T1juoNiu2uVKoGkmMbhT5Vobfl+mzCEhJGH1AxJCEV0foE0ML +fbarN+XquSpNq6ZWHj/qXvmqTWUbKdJ6q3X06S22qEuj7nQ3oRyMyzqPiW8SG9RZ4hVtxmAVZ8nJ +VA8KzW5gAiw2QtYrpuZ/Xq0NfuK5+2nbj73VW1Qjy4+FF52/j8EDkrB1SFbVaiotaapKETb1KrvA +9jIvZI+DgJEl9g6Kgup0cN2p7ti8/kJbmWoBtf483UfhH36CsDZXC/LKMMNEOp3zlKOkF5vhzilA +KZuED7l5ZRItJxIcPWStTTiPal7IqWTIWbugeZmGnRbCak0uqoOhHKc50Ijupr6e2w== + + + Jhiix9bvFRW2xFeFWesQ4xKoW2MdstwIGSVedysG2+HQKnuErlVzRbIcoyjCv0KhbN6ip4qhU3GH +yMmFAPCM6JxP4ek4GJFDAtiPrW0T7NggsNOKqd1+1GKFAOS2BLAKz4+a9oq9vD4aQu9vE+beT/1a +wvdW0IK+Hay+XYlbuZP5W3j4ESY32eq0RZS+yShITFSUgzInS+6jZO8X2fkePbSKBBNcfe2br+FC +IGDVZEcUWo33TiODZ6AxUI+bE+O25uWrW/MgLcXNAgMonqRjbVI7pg6yumWYS5qWICk4I+oqBeay +GVCLioXKZuQ5eMHqnV6t1Je4KJsI5TsX8c4QREhSlpHL6AkxREVywmK1OQOKcbVAiU5LKc8LqS39 +Lw5Wt1tlOR2V4h4QdWD1yif1DRVHCCOyBm/fpUaCzRu13xHizxl/Vs3Qd9YN/ZEXW0TxOROYLcYx +un8ftd8fShX46eP+w8+++aUxun37H8U+9u9+/e0//uo7yAVf5U2fi37sURUFs/GLjQzhxEaGYGIj +K4LendnICubOxEZWLHM1sJFB2v1mI4OieGYjk2RiI7NjZjYyXW1iI0Mys5EhebORFXhDJjayIlbN +kY1MnMUPNrKCu6qHcDayWwPMbGRF+awnG1lJlL1gIyv0jU9sZIDnvNnIkM5sZEj20gY2MiT3MDzY +yCSd2Mgk2drARqZrtTKxkZXENgs2MvjIbxcu2cjIGj/ZyNbzmNjICLPNbGSDZOC+GqTORgYmERy8 +nWWMANSbjew2bB9sZDzXzEa2igL5eLCRSbqWgY1MkomNDMmbjQzpxEaGYGYjQ3Lv6A82MkvRj2xk +AE5NbGRdMLCRpTDYyHjrmY2MsNubjcwwKkc2slXtjSMbWZdMXySlxkZGsG9mI+Nbv9nIALSY2ciE +XXHOZGSSTWRkkkxkZArJLsJpG8jIJD2ugYwMyUxGZnUKTzIykFpmMrJVUd2RjIyw54uMrKwBOBNS +2OInMjI04YuMTMKRjAzBPWCdjOyld2PDtFooWOzfZGSVNvSJjKyWOpORVaF+TmRkNaqkk4xMkomM +rKqU+ElGVilfmcjIkMxkZEjeZGQVa34iI6vlfJCR1VvRvsnIqqCxBjKyqm6ykYys1vIiI5NsIiOT +ZCIjQ/ImI6vqmRjJyJDMZGRI3mRktRwPMrIqtKCBjOz9HT/4d64UoT/JyBBOZGQ6aiQjQ/AiI0M4 +kZEhmMjIbm39JiMroljrZGRFxYgDGVkRWN+DjKxQ4TGSkbEnTmRkBX6vdZ/JyBCu19nJyCQYychK +Xd5kZAhvt62TkSGYyMgkeJKRFVESHZ2MrJA9HMnICtU6DzKyAvrgunUysmJIuZ2MLAUjGVkXenas +BKNQ0IxptT/JyFAlExlZEWPN3snIuqCTkaXMycj0HiMZWaGk6UlGVuo2k5FJULdORqbTnmRkRZ3w +AxlZEVdIJyPj94uMrNQyk5EV1WoOZGRdMJCRpTDIyLj4REaGjfYiIyuADI1kZIWo9UhGloKRjCyF +QUZWBK02kJGV7XiTkRXFyAcyskJd8UhGVnCBnmRkhWD/SEZ2z5OZjKxc7U1GhnAiIytsFyMZWV2W +NxkZwomMDMFERlYFf/wgI0M4kZFJMJKRSfAgIytKMQxkZKiViYzspepir6OM5UVGRnpyIiOjVmci +IwMI6EVGhnAiIxN+0EhGJpShJxmZhCMZmU4bych04ScZGZ7yREaGVz6RkZF3fZGR8SoTGRmnTWRk +8qSfZGTywEcyMnPJk4xMP59kZBKOZGQSjGRkuteDjIy3ncjIeOSJjCwFAxlZyoKMjBDBTEZWARl5 +kZFVbZQjGVmlP3EkI6v1eJORcdRERiZe2omMTBTGLzIycc5OZGSMwkRGloKRjCyFQUYm8JSRjKwG +sutIRlbrNZORVXLKIxlZCkYysi50MrKKLzqSkUER/CIj4xEmMrK6rTMZmbBJnmRkEo5kZBKMZGR1 +K28yMoQTGRmCiYysql7tQUbGM01kZGIxHsnIbFI8yMhq22YyMiNJHsjIumBgLepCj3xXtTp2MjLu +/iIjY+5MZGQiLx7JyFIwkpGlMMjIqloyBjIycUQ/ycj42iMZGUZ9JyPLXyMZWQqDjIxrTGRksHy/ +yMgqfv9IRsZymMjIDBRnIiMTds5IRoZgIiOrR3mTkSm8OJKRIZjIyHTEg4yMMOVERlbV8DmQkYFu +8yQjA35pIiNDP09kZF0wkJF1oZORof0mMjJu9iIj0xOMZGQIRjIyAfA8ychMOJCR6ayRjMze7EFG +xj4ykZGxP05kZF0wkJGlMMjIqnzgkYxMIIAvMjJ9gImMTIBPIxkZgE8vMjJhJY1kZCz+iYysEiF7 +kpHJQRrJyPBUJjKyFEzLOoRBRlapZBnJyOq6vcnI6nLMZGR1qTMZWQ123ZGMDKtrJCMrijvMZGS3 +MzCRkd029ExGhqH4JCOTbCQjM8FARmaCBxkZwomMTIKRjEyCJxnZvX3PZGQIRjIyfj/JyAq6eyQj +K6AgjWRk+DEvMrIScE9BRoZgIiOT+/MkI0M4kZGZYCAj02lEUkYysgJ04EhGVgQXNpCREfB9kZHh +OoxkZMSrJzKyFIxkZClMMjLGbSYjK8f6JiMrQsQdycgKtfMTGdn9OJ8gI0M6k5EhmcnIivoEnmRk +SCcyMgQjGZkOeJGRFaG1jWRkRRD9IxlZoZPyRUaGdCYjQzKTkd27/SfIyCSdyMh05khGpou/yMh4 +hYmMrDB/JzKyLhnJyFIaZGRFW9RARlbO9iYjK1edychQGhMZWQomMrIuDTKyIiL1gXqsUDfwIiMr +FCFMZGQ2giMZWZeMZGSD1MnIStS9OhmZXuZFRibpREaGZCYjQ/ImI0M6k5FJMpGRSfIiI0M6kZHx +qBMZWTnbm4wslXEehWIaychSMJGRdWmQkdnlRzIy/N03GRlh2JmMTLHGiYyMSOCLjIyA4UhGpkDj +SEaWgomMrEuNjKxCsDuSkRFMeJORIZ3JyJDMZGQl8axGMjKkMxmZJBMZmc58kZGVqzzIyBjCmYys +S0Yysi4NMjLWwkxGVo7jTUZmG+1IRkaMZiYjGyRJRtZlQSVUVMc+kpGhBt9kZJpxExkZy2wiIyuy +5Z9kZEhnMjJJJjIynfkiI5N0IiMrAjYfyciQvMnIeLSZjKyQTZvIyAbJQEbWpUFGVo79QUZGsOtN +Rla240FGRtB4IiMr+OsvMrIi5MaRjAxrYyYjIwj4IiMrbX+QkZXWHmRkJXHPRzKyUo4HGRkp3ZmM +bJAMZGRdGmRkxdJQnYyMW77IyJRDnsjIkBzLMpCRSfIiI5N0IiPTtSYyMr3li4yMYPtMRkbYfF+X +gYxskHQyskFoZGRFyZdOM0b8+UlGVqg5msjISr1mMrJSz0+QkSF9k5EVg18tnYxM1uVERjZIBjKy +Lg0yskLgdCIjQ6m8ycjYq2cyMhyKmYysS0Yysi4NMjL09UxGRkT0RUZGPmwmIyN6NJGREbx4k5ER +DJvJyDjxTUZGCGUmIwPLdiYjA5f2TUampseJjMyQhUYyspSMZGQpdDIy9QMNZGTCKX6SkandcSQj +oxlxIiN7BY4jovy9ZGQ1ugsnMrK6bg8yMh03kZFV1Z8+ycgq7ekTGRlu7kxGxri/ycgkncjIkMxk +ZEjeZGT6jhMZGZKJjEzRshcZGdNnIiOrZDEmMjKirW8yMmJ2MxlZ3cuDjKzu1yfIyAgEj2RkRGpm +MjICHG8yMqQTGZkOG8nIELzJyCSdyMgUQJnIyJC8yciUVZjIyKxAbiAjq/zlRUYm7oSRjIyw0kxG +pnbjJxmZYO4nMjKalycysqqM7JOMjG7mmYxMbzSSkTHMLzIyhBMZGYKZjEw45i8yMoXXJjIySSYy +MkleZGRIZzIydVRPZGQMzpuMjADWREYmCoaJjAzezTcZGX2PMxmZeBomMjLG9UVGRjxsJiMDXXsi +I0M7vsnIqjrGRzIyQmZvMjKkMxkZq2gmI6tCPHySkSGdycgkmcjIJHmRkSlNMZKR8RAzGRknvsnI +bm3/ICOrqmMeychQiS8yMtOTAxmZVOlERvZWwqG/Px8ZmeULHmRk6LGRjKwGO0aQkdWjvcjIkE1k +ZAgmMjIJnmRkEg5kZHZQJyPj94uMTEp0JCOrCicOZGRVgI4PMjL0+ERGpk1oJCNDr7/IyKTsRzKy +qkrggYxMgicZGcKJjEyCkYxMpz3JyDBTJjKy2upMRvb6Zh8+47TAcH2TkSHdj20gI5OB29pARoak +nceDjExSWaVBRiaJqkODjEzX2o9rJiOTMTyRkVFBMpGREb98k5EVpaVGMjK8nImMjMIXYYdNZGRI +13YNZGQqkJnIyHTMss1kZKWcDzIy3WA5BzIyJHW9HmRkFG/MZGTmuI1kZMRf32RkFGLMZGREsycy +siKc5icZGSH4mYysRGI8yciw9t9kZLjOMxmZwp0TGZkCpy8yMiIEMxlZSRrjICMr4kB5kpEpbjGR +kSGZycgkeZGRIZ3JyCQZyMjsSk8yMp5sJiNjxCYyMsUZXmRkxHpmMjJFEUcysiJSlQcZGedNZGR8 +j5mMjBDsm4yMsMJMRqZJMZKRkZd4k5EVEpwTGRlhnpmMjIu/yciYYzMZGdeaycgKueIXGRlPMpOR +KbQ0kpFxyzcZmaQjGZkEExkZkhcZWdnrTEZmwzWSkSF5k5HxpDMZWRHmxkBG9taSn3Nrxt56kZEV +cTDXTkaGATOSkXHAi4xMwpGMDIGK24OMDMFOuHAkI0N4AoQXZGQSjGRkCK7lOiYysiIW8IGMrIij +qSUZWcEUutaZjEzlwyMZGVWI20YM1MjICMu8yMgQjmRkRdC/AxmZBFe5JjIyhMK1DDIyBEITDTIy +CSilHMnICN+s23olGRmb00RGRrrrRUaG2pvIyKgdncjIKF17kpGR7pjIyAgXT2RkRc7ag4wMZTOS +kZVrncnIpI2eZGQkTSYyMqXWBjIyUoIvMjJFoEYysgIf2LInGRmf8EVGpsDfSEZWVBw7kJERoHyR +kakLZSAjI246kZGx4b/IyDhrIiNDLU1kZAquPsnIEE5kZDzSREYmwZOMrAQkTZCR2WkDGRkXfpGR +lWC1DjKyoiBykpEV9cE8yMikX0cysiL67IGMrIha50FGhhKrrOkgI1O57a2xk4yMSY0CH8jIFKMc +yciKyAn2TkbGI77IyNgUJjIyUrgTGRmp3xcZmaoDRjIyTpvIyLCFXmRkPPdERlZE31o6GRka9UlG +hps7kZFJ7Y5kZKWsbzIyCUcyMgn2tZORFVV4bzMZGcKJjIxnnMjIEJx+Vjg6tElNZGSrQBKWJCNT +j9GTjEwW5khGtqoetnUyMoIwLzIyeesjGRne8ERGhue+1DKTkUl4XJ2MDEEhTh9kZAhk+o5kZEVY +3Z2MjN/3E3UyMhPMZGQ6qVydjKyISqt2MjK1KG3HTEZGLGQkI8OOO/G+g4xsVZpuJg== + + + IyMWM5GRFdVaDmRkCiE8ycisV6yTkTGqExlZUWb4QUamyMa2DGRkJQFKg4wMu+RNRqa0/khGVggm +jWRkRSjbDzIytpCZjExJtomMzCzhJxlZCWa7JCPDjn6TkXH2TEbG8p7JyMpxfYKMbJZqQR/R7uJk +ZCWqsiYyMkknMjJJJjIyJG8yMqQzGVlRhfNIRobkTUbGBjqTkSnjP5GRsYG/ycgkncjIkExkZAhe +ZGQIZzIy5ZNHMjIEbzIyDIuZjAzJTEaGQfImIyviaBnIyEj8TGRk1Iy9yMjUdzWRkZGkn8nIam2f +ICMjNTOTkQ3pAScjo5j5TUZWRT8zkpFJMpGR6cwXGRnSmYwMyUBGxs83GRnFqjMZmeI6ExlZpSHk +RUaGdCYjq6L1GcnIkLzIyBBOZGQaxImMTJInGVlV1nMgIyOZNpORVbGhzmRkKiOcyMiYJTMZmcoQ +XmRkRTH4kYyMM2cysqp22wcZWTX8qE5GRuvdTEZW1+sTZGS1LA8yMs6cycgqpHIvMrIKhtdERsZ7 +z2Rk1E++yMgQzmRkJhnIyKbzkoxM0omMDMlMRobkTUZWA58pycjqEsQ1QUbGEn2TkamUcyIj01NM +ZGRVFLhPMjI1Io5kZCq/n8jI6Ep8kpGhAyYyMnTOREZGudqLjEx+yUhGVqLhJcjIqoOBjWRkUjgD +GRlrcyQjU9vEi4xM0omMDMlMRlYFxPkkI1ODxURGZlnmkYxMkhcZGRX3ExkZRfATGZlyh08yMguX +D2RkavsZycjIl73JyITaOJGRdbBfJyMTcfiLjIxk3kxGRvB9JiMzFtsnGZkR3o5kZIrlj2Rk3PJN +Rqby8omMTO02ExmZsZw/yciUXZvIyCSZyMh05ouMDETIiYxM1fsjGVkNFpaRjKxu9UFGZs0lIxkZ +2ZQ3GZnOnMjIqkJ1AxkZnMJvMjKeYyYjqzLTRjIypZNfZGRVLFEjGRkNHDMZGa0PLzIyFa1PZGQ8 +xExGRgPCm4ysih1lJCNjoEcyMrVbvcjIrHNrICNDMJORIXmTkSEdycjUkDSRkUnyIiNTznoiI7Mc +10hGpv6NJxkZ7z2TkbEaJjIy0qFvMrKkUU4yMi41kZHxCG8yMpPOZGQk12cyMqb5TEam3rsXGRnZ +4ZmMTHi+ExmZOOOfZGSkiycyMn3ZkYyM+fsiI2M1TGRkVVNvICNDZ7/IyFTjM5CRUSM6kZGxpz/J +yKgomsjIqnTyg4wMU2MiIyPvOpGRccSLjAyDdyIjK0rBD2RkFEo+ycjKts5kZARhJjIy9Qo/yMjI +HU1kZAoxDGRkr4jx5wxH/8uRkalA4EVGpgKBiYxM5QAjGZkELzKyqmbmgYyMyTiRkdFA+CIjQziR +kUkwkpHZEQ8yMl1rJCNDMJGRIXiRkdV2BRlZ3c6ZjAy1+yIjQ/1PZGQs/YmMjDqwFxkZ+/9ERkYp +yURGxgp/kZGpvmQgI1PVyEhGhuBFRibhSEYmwUhGpus8ycgApp/IyChxG8nIGr0lTzIy4YMJBjKO +kk+wdzKyLhg4sbrQycgEBo9L60Rjgtzf+2+712JoRHEMDVYjGZlgnx9kZJKNZGQSjGRkCF5kZAgn +MrIGiNJIRtZkiM9kZOBTj2RkYPuPZGT990BGlsIgIwM4HfTsICMD412hhJGMTDjvFn4wIbDsCkwH +GVkKpoEPYZCRGYZ9STIyBl71zgMZmZD0qewJNjJg7mUhjGxkEtLiH3RkEmCMOR0Zv7WvDHRkkq1r +0pGJegGXOOjIEMiEGOnImC2K5gQdGZ9roiMTO8OTjoxdeaIjk10w0pGpsfBFRybpREeGZKYje6vP +37st/El0ZAp/PenIitLiAx0ZobOJjkyb5ZOOTGmtkY5MgpGOTKc96cgQjnRkCm2OdGRqT3rSkSkO +ONKRUcsw0ZFRBPGiIwOiYqIjU4vZSEemprAnHZmEIx2ZBCMdmUokHnRkJEkGOjK1yw10ZMqhPOnI +KB4Y6cgY+omO7PXFPnzGSaHc5YuOjM7QmY5Mx010ZEjedGSSTnRkCmJOdGRFZumTjowQyUxHVomM +THRk4C+96cjUkjvRkVXxno90ZPgCbzoySSc6sios5JGODMmbjkzd4xMdmRzQiY6sBgT2REcmB32i +I8MZmOnIcEnedGRVSJ4jHRlldBMdWQpGOrIu9Hy9GvonOrK6Z+B3oCOryomMdGQq5BvoyOz3g44s +hUFHZq8z0pGhNN90ZJJOdGSSTHRkSN50ZHLZJjqyuh8zHZmQQl90ZFUrdqQjwxef6cgGyVA70aVB +R8YtZzoyBvpNRyZkiImOTGGvkY6sC0Y6si4NOjLVGk50ZLUFpvtIR8aZMx2ZYmgTHVlVNOJJR0aI +cKIjIzw705ERiH3TkSk8O9GRyQOb6MiUlXjRkUk60ZEhmenIkLzpyBRCnejIJJnoyOyYJx0ZoeOZ +jozA60xH9taVn3N7JnX8piOjRHuiIyvr8aAjo2HrTUeGdKYjKzKdRjqyUuon6MgkHenIdOJER6aL +v+jILP0+0JEV9Y2PdGRF1E9POjK84ZmOjNz6TEdWkkJxpCNT2cpERybJREdmpS1POjJJJzoySUY6 +Mt3yRUdG5cxMR8YnmenIumSkIzPpSEdWzPAOsjHqZR90ZKrm6XRkguUa6cgoNHzTkQkSYaIjU43c +QEdGCcqLjixRCfKocjzoyEwy05GlLOjIVJcy0ZFR8fOmI7OSxZGODKNqpiPrkpGObJA6HVnZAxg0 +aMaorXzTkRULQJ3jceuDjkyVR086MgknOjJJJjoyJC86sqII6EhHVhTbHOnIkLzpyBR8GunIBAo3 +0ZHZ/HjSkRUhWI90ZAzGTEc2SAYGokHqdGSqSJ3oyCide9ORqcl1oiMTXuBIR5aCkY4shUFHxuUn +OjJm85uOjCkw05HhIcx0ZF0y0pGZdKQjo/RhpiMr6nt70pFR6z3TkZVoCUg6MuE9vujIBPg40pEJ +33GiI1NP6ouODOlMR4ZkpiPTMS86slLbg45MlfwTHVkp2yfoyFBxMx2ZCrQmOrJBMtCRDVLRkXGl +mY6MO77pyPQcEx0ZkpmOTJIXHZlJRzoySSY6MnvLJx1ZEVzsSEfGZjvTkQ2SgY6sS4OOrCiYMNKR +FbFfPOnI9E0mOjID2h3pyCjhe9ORsUxmOjIhlk50ZOwObzoy+Y8THRnVITMdWZdMyiClQUdWru3H +Mx2ZtdM/6cgMWmikIwM+caQjI//9piMzJKORjiwyxBMdGUbpTEdWBeAw0pHRK/SmIzPpSEdmkpGO +zCRPOjIM5pmOTJKJjkySFx2ZUtEDHRm/ZzoyzPMnHRnFKzMdWd2OBx2ZcM5edGRIZzoyJDMdmVy7 +Jx2ZUAQnOrJJok5znfiiIyN+P9GR0YI90pERJX/SkeEHzXRkSGY6si4Z6chMOtCRMaQTHZnARZ50 +ZKrqGejIam0zHRmgzC86MoQTHZmgm0c6Mrqln3RkyCY6MgQTHZmOeNKRCXJlpCMjcTbRkVEw86Ij +QzjRkSGY6MgQvOjIJBzoyHTWSEem6z7pyKrc1oGOjIa7iY5MgicdWR6VdGRVO1lSjQlz+0FHVom0 +D3RkqI2ZjiwlIx1ZCoOODP9uoiMTesGTjoxCmomOTAM00pGlYKQj60KnIyNyNdGR1cggDHRkko10 +ZHVdJjoyPOgHHRmiiY5MgoGOTL+fdGRceKIj4/lmOrK6np+gI0vlm4cBlDDRkaVkpCNLYdCR2eU7 +HVlVvcdMR0ZZ0URHZiHXTkdGlPpNR0YYeKYjU9h1oiNLyUhHZsKBjkzVnCMd2W12venIEE50ZAhG +OjL9ftKRIZzoyCQY6ciqKBYfdGR8uZGOrC51oiOL3wMdWYiCjkzp8pGOrGKBPenItH+OdGSqkhzo +yPrvgY4shdEJVAXHNtCRoc9edGSaViMdGSt/oiMj0PuiI0M40ZFJMNCR6awnHZmEIx0ZgomODMGL +joxH6nRkau0e6Mj674GOzIQDHZmqNQc6MkXYnnRk1FOMdGQCkh3pyKpaAx90ZIJyHenIMA4mOjJi +jy86srodEx2ZApQjHZlqk550ZISsJzoyMAUmOrIUjHRkXeh0ZKqEGenIdLcHHZnS4yMd2f/H3p8k +y44kW5boVGwESZACVdu7fxZvDjn+f/ZiZhFmxaMIoiALimxEy/1uA/SoopCCi70kFBwZwi+ODDHj +yPichCNbVVcZR6bwb8GRUTOUcWRbSDiyLTqObEQOKUBjijZ/cGRUYWUcmcLuBUc2qCz4wZEh/uLI +9FkFR8aqL+HI1r8Tjiy0wJENejUyjkyDQ8KRUaUKjkzr/IIjM+EHR7bEwJHh/JdxZNoZfHBk/b4q +jkylOAVHRg/ZL45MgYGCI6Ov9AdHptamgiNT6CvjyFTA88GRKSSZcWTqCik4siUUHNlWA0eGeUbB +kamn8osjo3Mo48j+dps/OLJvhPjfjD//XxzZ/z4c2T2sJjrTyFTCpJEyNNXXvUbOIWl2u3V+QpHd +XhKySGSP1zMtENnrtmqFQyZ6MiSmwJCBU9ayLihkHDHeDCF76bjYCLLX23EWgYy17vVUANkju3pv +LCLoIROhTkjOa2nxJ3jPyh+78My9Nn/svKz+O/Bj0+shCn3MXPXGho/B+Gj3Zo9pWTTfq6LHxm0D +4iKPaQ7Xkja4Yyrnvc9esWMS+z02dUzCOe4NHdPHzHZl5tj0SOhCjiktpZiX08RkMaEATwKOacN1 +vM/ijZ22gt24sSVkttUSF2xMxcrvZoip/rD/kMa0stHDs455LBCzMGPqL7juChmTpm7lxRiDejqf +jRgT4bT3uxLGVCGEDUcQxvplu9cFGNMDMq5W+WLd7ZUWXkzrrzPynXqot5DwYksMvFg/rXdlU8Pc +BqzAxeQU0s7EIDs2VOyoV/xYGLEj3qVorvP6iAoRuwj6boSYKn7e84ch1s1WfSPEerw8QRBTIWX7 +4YepzdntHAwfNixMselhw6y6KzzstVKoxQ7rwZYLJtjo1pJX0GHE5vWQhyjrkvOeCxym/vE1bDmm +5x7WIhnYMHxw7ntRw36Hx5jWrGJJrzcW8QUaxt3gwgc0jNT22+aChvEkqUwzUcPQFORb1DB73vqz +qWH2JPdZqWF64Cn4XdQwey/ms6lhZBiPfldqGL16Wu4uapgKVUjWLWoY5lPHbYnMRQ0jH3qc58aG +8USf/d7YMOXOKCbM3DBEPje4YSizbWyYBLtuGRsmlXuysGFSSGwsbBgFOtM/fCWrlCZn37qwYQ1f +n/Pc3LDvrfxP3GotY8nzJm6YRAvMOzeMo3SvghsmwayCNzYM63CSyA6eWGZDgQ2jwdUGvOWQ0GCh +JWxYo2hwLh6Y1nm8jZkapjiR2mBCU1abHnNnhtFtIUu6hAyTdZl8mYMYhpWZNkMODJO1wPsUXJjy +pBoSgxZG2F6bPoeFsR5UE0xCEKiYXy64gQpTYk/xmSCFXXfEglZESsaAtJk4Jwwfng== + + + oy+KT/w7U8KW5jkrA/3MRf/Su63ZICPCrteoBKHJMkiO1gEIW//efLCQHA+mL/+2BQdTfREw5cQG +u8LA09Fg+re3kNNqpnP0RTMY7PI20YBeXe56ElwwdYrozc9YMF4YVdg6FUymTrL4CCjY+ndigoUW +SDBtFmmNc9bXHRcmAcHUVaZ+0tBkNq41W+DA4t+ZBhZawMDUiEwhsrPAXnpJCgmM0nNxYxwEpsDi +MOMB+7dHJTIGTLHY1rRs8x06HZnahAYGDEtPjdYZA0ZOQcufwIAxz6kAPDBgmmWMtZ0wYBK5o+H5 +JkF8lIUBaxgP34UCJo02p6CAIejdDQoYAkjyZJ/ZCO2Pa2HANE4Q5wwM2GfkitlL5SPURWYMmNKC +uFAEBkw1MoRQAgMmCx7acTIGTGJTH3pgwHDuoeffMWD4+5jXzMaAIdpAZ+37Oqvb0IjLHp+rgTNT +wLRBxfo8KGDaDFuNo1PAlO60wF2igHX6Eu8FAcOFUlaoizJ4uO1ChoCx79VePSBgCMpYBAYMQedn +DBjiYoDxLwrYnQGGoB1SYoDpt7J9CgaYvjBXOBhgS0gMsKUFA0z78ocVT7C9lFe1HUVmgCmHzPi+ +j1Mu6qAl1SFgKpTqCqhlCJgOo3E4IGDwYJmBA+4FOfimvzJBwFq0aS5Vl4FnOyBgS8gQsCUGBAzT +EppVHe/VcFTFqXnH6+WRZh2scZRyVnMsBlj8OyPAluYEMMomdHKwvRpj3/kUApj+PgHDddRjbWXh +nI0fSLON4wKAITIXOQAMBPNrmDByPg0HuN4LAEwiO/MAgEngPQgAmATG5wwAw9G1G/cSABjgYD3m +gfayJ+KcBQCmCuXzSQeBJb7exf/aQgIFbdFDzSxeNcgE2kt/nW68DADTc8M6ZR31uh1AAMCWkAFg +SwwAGEwCLQWD7cXKVs5Eif+lW83idR2k+6C7BQBs/SsDwJYYADB9iNkxOdqLwhKM3nf9IP69c2sN +J5U5Fv7LvGuUFt38L+xqmrXM+MbtdANP539JYAmR+V/E81REGPwvCfg0B/+LI0iVJ4uwo5kRbvC/ +ZNWDD12gvWQoQ343A8Bw9lVP8zrojMWoW/ItIfG/tuj8L418t/VbmH9nO8zAL+O/Ou0vFKzY4IRg +BG88mLC8Ybjb9C/TIK47f1YngWpy+pf9Lk0mif6l+YPpJuhfmhZZmQT9awuJ/rXEoH91drF/r+qK +X+O6p+LuQv/i8iv2ulQclig98DXE6zuIDP/Cm0jrs4B/6cVnKA+sl+gTfHCGf7HL0QJiHSXLv+6m +R+w5QyjvdIgB/6J4T0vVgH9p18QwleFflDprmRHwr4aPrZnTs8xu0Gzvt8C/iA7oSjjYC8OPY7QM +/8IAQa9IHHMcFvsP+Nd7WkYqsb+Q7nuhv/j3+Szy1+uQrgz+Uq5a6brgfr2xRHfsl/5Ni2Wifr3+ +eQH9wnz1vYP5JV9Xdkob+RUTeBC/cDZ97wX8unxvmnlfZqi0aF+Xd0MF7EsbGT00mfV1+XomUF+X +xxmC9KVz9ORl0NftgdngfGm60x40MF84T/2NGpny9bjHd1C+NNnptQ3IV/w7M75CW4ivNx7sIHyB +NyLikBFfuvHsaxfiS0uMMwLE9rT+DXu8iwXxJdVmw0B8YXs1vVLLVuLU3nsB7rL4lkqddyC+sKXg +qznjiyPidVqmSdQqDAp8nfGFG9blNsQwvigmOXtFfDXaUBPhS4LFgYLwpUIllt+F8IU6/OPsKrYz +djSWZ+WzWTRmwpd+gI3DTvh63832olUwUb1UB+Ge240p5+/KBakLZ6/ZCs4Ld5i+aV4aBbTRj8KV ++HdheS0xUF4NDLkzx3Bt0Hc1k7rM8tID9D5uEm3H6aoQoAqW11YyyyupzvKS0w0zkbO8+CWNhsrE +8kLVRnixvKRY9C1YXlLm8fTK8iIXQZw3WF6WnfDHH5YXiha3heUlVeuKQHlhmEtZvUO6GlUdz1VQ +XmtoXUfJI4gciqO8llBQXlsNlJd9/JXAXXrI29phR2E9PT2z5+MU/hvuq7Kic2zPsm2DgniKEjrJ +i9ifavyC5LWEQvLaqpG8LC4IKMlIXhh+aUYsJC9qSLlfQfLC8OuO47iDZgbVK8kLPy8bG5zkZUa/ +97tJXmYeRu9VInlpWCNUtEhe1J9arslJXlvJJK+tBslLb8IYcxO69NZQJVZIXjZravQIVZiXfm+O +1/r3oniFEgQe9VAyjgSaS7eRFHBBePGkkX9bx6miTV1gi+HF62hr9sTwkuobMmd4oZxO9SJQwpmH +b2QXw8te72tuhpcUwlqL4YWJ0Rucr2B46bv5mTFkK25KMikYXklJDK+tBsNLllY2kwWb6/XoS0F4 +vYdBCZb4TLNfCYCXttoEljO/Sx25JBoD33VH0iPoXbJz0cIsw7vgbrz/LHSXNrZHuzaRC49w8rIJ +3IUF4Tm2GF4oC9u1hUTtWmJAu5Q50Pp7Qbu0kXov66yJTgjlXRlYA9ml4l5tOBax63JTrALskshF +Cl4X3InD4VyswnwbXmhdmBhezz8L1qUKujBSJ+mwhY3q2pqRujSQ8RwHhAszyyywojpsYF4icOeM +6ro9TlpIXTLkJRGeQV3U1B728hFtuCLdE5iuLSRK1xID0vV47G51BGB5N6nMTz0CGtMsA7GOm5Gf +D0bXVjKja6vB6NJDg8PyYnTpufIrsxldpICJYAWjS8Ed3IUWpAsPfsM7JEgXgwjjc0C6dCZm+gXS +pTAHldoL0qVOEnZaC74FMOh8K6Orx85yH4bhDssgD/EvJTO6luiMLppkNNo6owv7Xn2jzOiiB1Dl +mcHoUoceZXnB6PpEdSPc+z9ldLF704q6MLrajFBeMLo4btA954wuHE0ZgTOji6fvpg3LGV0aR3nb +FqNLl91qPzKjC3W2jeiiTV4RlIXoksJesSC6uIsMl4HokkKuKBBdxLN8PbIIXXp2WGMuRJcgGK3f +m9D1Nz/9U+BciqcREF9wLrXRk3ZZcC6RqLBlL3AuRWgtAGlwLkVRiAMuOJfiDwRxCpxLqlVPOJyL +wx5nY2CGqdJekuQZzoWKWYJ3XBPesFSxs7mkENMtbC5C/YyuweayarHrWmyufnjXY2FzgRJgVg84 +l2I+bHgXnIvmW5oSE5wL23c9xcHmUicvJZ3B5uqkPc+3srnU2mulCMHm4hdZUNXhXLrMttTIdC6p +OAAuPJcUgskLz4WzN+vwjOci+KV7uvBcKJo4Fp4Lhb1FxnNJJTy28Fx0GLNgDDyXLo8NXBnPpQiT +FT0EnwsqwQ2EzPlcQlHiQ1z4XGoE5O1efC7QBW0+m8+la8vTVgBdClmxPViArs4+R+XQDujS7TJM +TQZ0aX4wkk8AuhTVMreSDOiSahbVAejSN8e5cwG6zMbieCqgC+MKUukB6EKxOJkDulCuq/K5yCBA +bw1Al74EY1TwuXSeVUVkPpc6Dn2AcD4X1RxMh8HnYsxg0Z8BXTZIjnMTuhhIbbxwQtd3CI7R+98j +dFlA/2iF0KXHCTcRJ3TxtmlXHoSufnhGLRG6etjTBqFLAuGKIHQhKGaVCV2Ieg8D0WVHnedidElQ +WCsjuhhK9ZwHoku3hTKXQHRZxczTCqJL4zjjdyC6mIMURQ9EV8OFyTz81jNvDgFy03FEV6MD93kW +ogtBCdeM6KIw6x6L0MW/X/tjELo4S2GITOjSGgVvryB06UuzNAvM0uee/edffCwUkXxH5XPJm/TG +9Nit5ajOwQ3Y6VyKa+qnFjjX5QXDi80l4RrvRnNR93PPSubS2pewX4C5NGlHYEtvtfgeltxOWC7l +irSWX1Qu2SuxhHMo10Wr31uZXPiGvnMjufTuPY7Roj6NJ2X+ELkuN6BYQC59+PFsHNclt8t3VBrX +9Ri7ZcG47jseXmdx8VVbJXHJo52Vf4C4XvfXDA6XQmIW5cwcLmyr+Y7B4WqRmV4cLq3oyXUWDheW +3swYweEiJMluLDhcRDeJTWYOF9Gny0vMeD2bEXzb5nApvsAbUjhcRB3e59kcLikWMAsOF0r/wXDR +2UVUNTBcKARcDcPFaTwZGcOFr5l2DkHh0vWySKNTuIgU8MmZwkUh8OtQL9s4qGmc7aRTuHhu2Tkm +Chcu2Yw4geHS7bDatcBwKU7HWiZTuGRJOPr8Z0G4XicSBYPr8R7SguBiDTJsg82u+x1e+BkArveK +IsDE39K0Kn+Uhd/SOiWKMSmEVZ72wMU5wbee16t9g731+sphsbdUX0m9YEZvvRFQcfKW/q2Bb4G3 +qMB8C3YrijCDusXlcaYX6WutKaZXna9+sceTJwu5dV+2ogji1u+o929OtAr6aEbJuC0gw2Ms2paK +Fcn4Om1LZWBey7bCiNK0CA7WlsrHVNIdqC11ZimIlklb8rLQ+xqgLWwan7k4W4obaYmVraLAW9/3 +omzBHlKhuUG2tJx5Wy+MLdXZak8RzTWa8U6cwWzmntYkkAFbKiXFVNIfZ9xs77n4Wvr322fBa11a +ljxj0bXUaXTKdNJziXQe/f3ZzNYShO9sc6G17u4gVSdrPZWphW037hPO1FrG5MHUoildFUA7X660 +A29XILUUt8UHKJBa1BvrGyaiFigDDyxRo06n372AWmahf/cC1CL1RcOYA7VIZBl2gDST1v13xWkp +TPT0BdPSACRvCGdpYVYsg+SE0rp8dRUkrdt9VQOkpe2eghuZo6VmCuU1HKOlnZfex6BoPe58niFa +iqloAAiG1jPMGjYQWsCg51MIWkoyamUemoZhTY/Bz9K/NQpmfJY5qMxFz7rNnTPYWXKP1COR0VmP +A4+CnKXWYGosjZwlf/zTIpALnPV4LWJwswA9H9fCZsGAUWQ1UbOEYtT7GdAs1Z8qPhYOV2ouvo8z +M7MUK3yN1kZUFwf9qy9i1tNtNsnALG1A9ZWCl6XkFTc9eFlknI674LLIpz990bJ0kiX4nZb1XJbX +y7AstRrqlgUrC7hoX6Ss6dvYBMqaUT3qnKwAVgUm67RvliFZ57TEfjCy9O/LjiHxrKmSoSoRshR1 +UjwtAFmKo2kMWX9O9ZX9LHysiRvbomOJMt+sWBjekMcIMxtL9gen2fG+ZkT5d3/HvchYw9qTMxdr +eHwhsFgaM7WMCCqWpoRhoKoFxZJGRbHzZYbsXo6+kFjjseVnJmIxXos25kQs2UX3v6kwgFj8u50F +iKVz+nMvHpaSSkd/Fw5LSc0T9vKmYaly5sCD2WBYmgLOhMKyuqGMwhLwQ78sSFgqkH1tSmCIk8mU +ooKZg0X70nUuDpbq4DXJBgaL4b4XCBZ4ZribzsDCFNN3MUxlz2sPdCFgkfY+7gXAYo2gpy4AWKx6 +eA8SAIskKAGBAGCRodIotABYtgadlX9lLLV7468g0rB9zPgr8uAkMQN/pdfV1mqBv2rN57qCv6oq +TnNt9W04/6pFXVLhX6ESmQz+FQqTYvCvWIdZLD/xr1j26S1b/KtGbe87Nv9KipUQZg== + + + /pXmO3zxFv+KLDmbkeBfUfxBVDDzr1CJFjv+SgKFOYG/ksB1SvQrgFDdi10tCawc7Mz4Kym3ddIk +/JUWASROFv5KisVvIj+jtcNzA29I+Cv6CK3Hz/BX5Il5EB1/hR2kUcA2/io2AIt+hS+dVXA5/Yqd +XvP2kEW/YqNC5DjoVynw7vQrVfFaoUymXzV4J/3e9CuU2Tb8ihPPu7KvJFp4wNFXEpjqDX2lf1pE +JKOvFGe2rVKgrwiY2M41ouxqerCVfEJfSbV6Oe/KbzBkvLzDuoHkVTt/0VdSD9qTgn1ll5BSlxbB +n9ui6Zl9xS47iiz6afE/KsQX+2p51CX2FVV099U3+4pMBOXTwb4icc9zm9lXjRh3ezf7Cm8k/lCw +r0C9aJ7J7Ct8D7XWD/YVLBPiEsG+wp6SKEhmX2Fqa5c6ugvCO2+xr/TWEzHM6CuMJq225tmD1tq2 +WS+ofA6sam+jryRaLj9ii6ZQlO4WUuXExb5C5RUN9hXeWzaeOvtKimU5MvuqYQbkGETLSQ9fbiz2 +ld5P+6zMvqKSkaE72Fd8Cx6ZYF9Z8+8clX1FrNiyhsa+ou7cKnzeKGXpFlhL7CsNABSYBvsKh16K +BJ19ReRN9y+zr9hCqK0i2FctujyCfdVwnrrPAr9iuGEJ7PQrvZ64FAb+io4B6mEy/gqVmHrgr6T0 +BL/Svy2QldhX9BW8fppNUyRv37bZVyjx0cvyRkEq0snBvlJEhzr8YF+RmtMdzewrC0Q/Y7Gv6HXR +3BfsK6WjLA+X2VdYBDIxBfvKnWX7Yl/BqeaFyewrJcusx21tMWUlzBIh2FdkUIjuZPaV8VXPd7Ov +iJFrjRpNFfqTthXN7CtKq3nvgn1FmwmzVrCvDKr99sq+IivETQ72leWJjmezrziTC57ZV8oKnd7H +b+6M+tJ6SoN91Qz6MQr7qj2RAwv2FQ0JlHwH+0p5CqvRyOwrzuTpD/YVxpCM/s6+8ujuPwV9pa9h +S5JAX3UWaPe70Vcka6NMJ8hXymwRVVrkK7KMzPNBviJXaBUuCX1Fyfa7HOIV9hQVhaEl0FfKSdnN +zuirzsBwz42+0nWmQs7RVzQVWbNuQl+ZcUfzUf86rRvJVgPneuje+KTEvpJqAVljX9GHYzFGZ1+h ++Kploa9ICRPvDfSVJY+sEIAAMJ0LTHmJfKWfzfMW4CsSw2TzHXylNCOLisy9cmKve8rTsqaHkSLJ +AF/pC9iAnsFXqBTgZvRVX6Wlgb7SU27bhkBf0XB245OQ0FdKvLIyCvIV1rGMVkG+AlBubhXLGUh5 +WBXXBveK26rwd3CvSFVoFZC5V2azed+Le0WQXMuP4F5ptGZOLwWUqpuhlt0alLDq16I9uFeazymF +yOArbTCIyK8yLgjZx1vAVxTnKJwd4CvW9c9c3KtGk2a7CvcKy3ScK5x7pZUefzm4VxokNAok7NWz +irotynDHOOTQK5Bp11mgV/Kc1koymFeKGZC1dObVb9T234wI/59DXpFy746yWsgrUu6xIzXnktcD +xYG8Qrj9xD1Jq2V38a70EHItg3dFRQs7+5Tew+FdFYbBuzLL9/dZvCs74roL74rP0uQdvCsJrFaD +d9VohbA29sW7ao83yqvO6PW+mgBeabBlT5mBVxr0WT4E8EovPJG26LRVURUxzAy80qRPXCWAVyrO +4FIH8Epv9mn9y+VttyC78a6owrgMl0RaSgIFcJl3hUjdl8dlERROCd4Vn2MYrc2/6Tj9zYW76t3r +nIJk1QkRn2/hXWFAlXlXnX1A4l1tIWGXtui8K9zGE+8KT/cf3pWGyMy76tMdU4N3ha+wosyJd4UG +Rcp5VwiaMYN3JUHTfcZddUzPj7ZwV10VhloFB+5KAnuNzLvqmMFZk72VKwxfuzvwav87Aa+WGMCr +TtJmA6/kIv4BXuEknoFXMv4uwKsllCsfYgCvzCV9A6+62VkU4BVe7Rl4JSP1D/AKMQOvEBLwSv/+ +BV6hJeAV5v4ZeCXhA7zS41KAV7phZGwCZYX/P8P7WZ3QSA/EQYdvToJ3RSvd450kyy8J9XSWFbwr +KYSPAnf1HTr/h1PC/xLuimgXEe2Eu2Lpr5kvcFfahxJ1C9wVc6S1QqeZFIubsWhX/JscrNOuOIv1 +WqJdSbQootGuiGNStukOCsQlieAl2pVlX83K0qIrx+OAcaddNQq1+lNoV9p4s8MK2hUxVqp4nHZF +e5QetEy7QtR/DdoVwjQmloV7Ds+nZtwV3TJ6sZ13RT+NluQBvCIJMh2IFflD7cDZbDjwShffFj8O +vPrcs//8m4+FMovW/pCAV8rGv1aE4MArjuPm3svQyRdDBXgltUUvv+2q8QgNgdaVI1q5E+9KOyeL +6wbvSstfFtiLY6Uwpxc+pP0xXagjc7Eo+sRXJ3hX2gFYvUjmXaES9gvelRSes8W7kkIFTuFd0S3N +giZ4V2w6uS7Bu+rmsdwr74pNOUW0wbuiUpD8V/CutBNhg1B4V+31XODiXakmzSNsDrzaSiZeJdXz +57Sws6QKlBWjz/X8U4hX2njedxA3pFIXZ6F8Q16ZMNzDaLFdlhrQq37E5jqgV/2I3o4MvUKlaDug +VygMNAG9kmLfPkOv2K71aarbXhwezXXoFX6UFoBM0KvOe3t6CsCiHZcXewX0KimpkmGrAb3Snzy1 +eVowK11qGl8y8wozBDZb6zAFuxh8nXm1hcy82mowr6jeu90CjtC32nGWzV8gr6ymeppBmBlTKW7G +8xnXS7s16zfLyKsGyL3ZHaYLhg25B5z9ori/YUFeEZal3iiQV2y+iPsG8opMBEIiXiE2p1lZPbMa +4B53QLSuKjUcWDN6Il4ROH3sMIsljPD5ct6VHXG0fwrvCgTL6bW0Vvp3eZomcFffkfLfnJ5n1CRm +2tWMnUjQrs7wFAvY1ekuSIV1dbp77kJdsWa67n8W6eqMPtAMusIWxIdl3RKddY3xz8Jcne7alyFX +JM+bTRT6RAL757sRV9CEGMQT4Qq3JAoKHXClLqQoJ6OuxZB8/Z+Ct9Lun5xQ0K0k3A6tIuR++vqk +sK0k0iATaKszYt6BttJfe+1jFthKr9M/C2p1HhZBXUyrJWSkFeK9gVZKOGttaLSqO6KQC2elWhrF +Rk2hpOFuC2b1vlYnmFFW6vMnJxxe7o+XGwSjStY0ipRkkFX03Id2HWFS6BirKwwiE8ZqaYGxUqkI +ybKgWD1PFICmbTRlf7NvhhVRXsIxwbDaSmZYJdUZVu8THYKOptJlsub5RLB6PPW8RNWW0/8c/KrH +qS6FX/VEoDrwVY+bggS8Srh5GjUyvEokVgvNObtKXTmWd3Z0lUIUpGQzueqJhK2Dq54rMuROqeJB +8ITOwlap4tzy7U6tkiF/4JusIGAJCVOzRU8HKjhtrqGeTftbMNE6VoBVcFZH2+LtzXuLV7WEzKta +YvCqHveWWRyq123kC66KKP/jjXKrSMBaHQJXtZWMqzK1mUGtO0r1qAp2DJVMHyztnGhV9x1Wly5G +cfxiVV3L0TGhqq5h06uDqrAod6tKPN3gHjzRnOwXU+wD2suDUqXSL/5WQKquEfNLYlRd7jIchKrL +zfoWoErdq9ykzKc63S9kiefwtt6gU20hwam2CJvqdDOohaaSgyxdSJlMpS/wWrU1Td+q7wq3ULBU +ElguZyoV4mMOomyXzsjuB5OKH9as6nkhqahhuOx6UBQ8rThu8ajWvxONKrRgUZ3eobXaR2VIRcA9 +d5nqyodXEhtEVSuaA49zqLRZ4RlLFCqxihU5DgYVJOfj2WgpNRbZxyYCFRs6C4K6qhS+l3bEWLWU +/GpvNQhUelmiPAIAlfWCu2fFAlCZvc2YG0C1in0Wggo/bFtaJQSV+em4Q4Bt7yNPWxhUJI+yqFKK +1tyllNlQvTBm6pURVKb2UOftx7k/sE0JKFcoT5SZmB3UIlAhULMaBCoUK39IBCrywYztjqCiEYFR +OxBUdOZzeTKEineDxWNAqGgA5MyAUOG2ZeYwCULV8Mhwqwp7hV9P+S0IFbst/ezEoMLErnmLKQyq +otjDoPO8JXghqNrr03YgqDQYWDbcGVR0T9/OEXQGFb0J3LRgUEmxXVowqLaSGVSm/i3l3rUvcS+B +YFBhi/FYbeZiUFFeozVuQKja5T2lAaFiXD1tkbIgVBLZzweECiNgg1LZul9jORUGCUIl8RlzMah4 +27SrCAYVB+jaZgYVXiFa3gSDqnH4fS8GlTamzAGZQSWR/VgwqDDtVllPMKho69dknxlUiFp3BYSK +09qzLAr5XPcs3IsnzUJ/70cgqNijUKw7oof3sEkiI6jWUQtB1Zin3N/GPZ1tL7kZVJqNrRrOj1Fp +5NPCx8ZHEpTMoFpiMKi0jCA+EnQpuvPbVRBUuDrooq2D3AshCFTx7wygWprzpxoOm3+3M/hTLSL6 +iT+FdrwLP2XrvvMN/BQLRV2axJ+S5q6w5jU+3SQ8+FMIiiRm/pQ+mVcz+FOWOL76BktpEWZeUAk/ +tQfeddgVNYTBn1pK5k8tMfhT9vEz8FMsnfUiZ/4UPXQKyIXIX9WeyvlTChvbpi3zp8BO8cQEf4ow +aPNIty2CQsn8KRPHWPwpyim17A3+lMWSnqfwp2huwscgmv3lZ9r8qMeMMshKZf4U7hljLvwU/9bM +HfgpupZeo1gt/JRuHLt0x0/puvGuBn9qCQlAtbQgUFkQDji7j3BaaVF3lAhUTJ/EAOMoFSsaNNpG ++/XvRKBaYjTKKKRDpVawpVb7YiZQ8WSpTGUdpVoKsLhOoGrueZcBVIZXuBZ/in8P+6XWwqaTsI1I +ACrE7ngpCgcod1em3AFUxqsQLScBqPSN7LTYl5OBcwDV/ncCUJk4kisokYDrXHApAl404yYClfUN +3umox39PIKi00GaRmhFUmImqNjgQVNbI3cZCUCkSyNIsI6h0FMOiI6gIF75tsaUoEZIrVCZQKYjM +bVhHNS+oDALVEjKBaotOoKIkZVrKmIAzf02vckZQkbDWFjsQVB3avIGqhpkUK3B4PgVBhairFAgq +PkfnB4NqlT9lBhWGAd2yUazqqN7RMBkMqi0kBtUWnUHVI7MTdCkFf4tgy6THht4QFQcnOx8MKvWm +W0tbYlAh6rJmBpU+SwNjIKhY8wH6cgbVFhKEaolBodLuhmXBdufUk6h1xbFmUv7oweLOQ3tecYTw +3AVDtcTAUGFaR3t5i7Xka5chY6joUlDAKjBU6tKn4z0mtcPKuDKE6p022gaD6nWz4cyg0rCv/UUg +qB6vuQ261N+a0CwpE4FKIWSWRa6pndXZU2xrEnWKy+C8qbE81Rw3Nb3+u9Cm1IfT3dFq2h1kFRWo +qU909t8M/f5f0tT/PtLUpOZOyTjN9MGakgq8balS/t7+25BptJKq2rup0JV1hD+EKopU5UO/w1C9 +vUYjFC2T13eqT/Kgm+vY0Kk5VPoMMbHZhIwyX1PIgNsxIjCqKPf185pRy6XRDTQpxQ== + + + eewolkMTZ5XbPmmxp6b2fYLp9YhzTJAdqupQVdXDz9Y69Z/+nBs+NZVum8bAZtE8mMega97sRIaa +mwWxEzR24aeGCiBU9CFqLOt6AQ+5+EaUBEDVvPxGhK5NoKI95THVEFQybDoNzukQqmacPCmJQtWM +EgfE0zBUmmyAYZ7BoVJh7LC/GfhRvIDVP6wu3MbnwzkRd1QbyX8gOB/6HPs3Z4mxo0cijtHeROR5 +sUpJx2yltw1HSup0ILASGFNNwv2y2lsBLJv94msjqcSjPGdLqr4X+L6BdZH+j7a8wg8L0blMPVFF +c5VKYBplCGSkhhs9l1K6sLMoYawqVUkjieQAJcBAHNGTM9ge38axXXAqfbVbjGmwycZznIZjlYMp +dKolnIlOFaL6WGQnqF89hjC5NDyIo0qdsKzHQ7HrqiRzb+k4hbAOJtjX+923ku/IUg9VuPzdtxnv +ojNXdK8vrp+qe4NbJdB2FyacN03JwwGFoRnHMchViI1B4TJ0FYq9epe1eMAzFz+9UwcUNzwo593S +8S/HdfCsGA9oJFDV2fHa31ytpEP1VYOanddafAdZLfFrNBCBsAJf3rbAiY9m6J7USUX/LU7G9IJC +mSivsdCJMqhCrDJmynVLin0H9lWvKXX8jZnT6pGm4hP2bJ0bZjXVEMHtULeYIvLzxTXHHgBZgU5s +quzCBl1OkvjZg+20QKu0k6sVVZXU2s1JeZ9u922xrOZz2VWXagtS2Um3084k3S9lCFzJmcGymm8z +TjDPonYSE1c26Lbu8ztljXGIChv9HgyzeFNdjJb4bU11B5zDRhwsBqdWht2G2SBZoV00+jYLaKIw +RmgNpDd9EoHUG6XxOVBWUocQrIIoE3CVAn8WxS6zsol66nRmZK/mS33AwzdjZfp3yP+ji6e7Bsnq +ex//4/d5qlZXLzMmW4Gykvo30Xj9jOI2HPdE/Yy24FKA8S6Trf/yM9t7eyWP8vETY4G7uSKADp6L +r58ZWdApAIOzS7GMmfLXe1Cm72e0o+A1DYUTm6y0KAKJ48wA/HbyiJ7LV1Zat2XL70VNVgrzfc3L +FjsbFMDSigKCCxFa8n2s/XN1oA82GLcF7vCFlML8ikIbs5TRXy+kioFA8So9bioMse0I1dI3RkVe +OdqM16sdS8S/pvxp2mW1UoR+JwS+43L0ASuIpdybebVVLTkU4Z2iHJz4RU4r5mIg0FyzFPubcjNV +Veo+Th9x22cx7m5FlJ0eC7ElnqR7+El6WDDPU/Z8avv5YrDX86Cl0mwx0NUYqNwayrjsOGKdnMm3 +V9Vh7LmlwqmFqaD4wKTMzDbftoCjL/KxD19R58GLp7IufbWbG6dAgmr/m/vBbqX3zcVK6mvFLvoL +1Dh3yl8UNmDncyTFFn8Keag8ax2npIIWlx3Mmwoll9KezchK6mmUrIk/uDM5CMFM9RZah8y9UVk6 +8+9Yc8ezC6TQlB7Qfcnkny44PA6EAcya6pISgl3fhIDCVKmGulx1HLGCKeOs6dyNxcySyjKNslyN +LlMTjUDyupI4bk15TrzDvEoXNksqlcZSKW+S8rewtPJ7e4wvjBhOUwKdJfU53PuUAioUBojuoFYU +7RNY0bobyaSzQOVlzVt+NSQ9lxNZINB8h8uYME/rRreKuwXQOhUaYCR63Qv9PFVa5i0W1Gec1K1f +pqx2S6mtNVf1dp8sSaaVQxKXPY0xZcP0wmihxvDKYoYzuw/KmOHx6XP4oBxefCclCaS6LmcIEXiF +w3d7BOJsRi4nkRbJe/2qv/d8mhmkJgOdCQJ7jU6nwrNnAF6CqCX1vLu1WVhVr5Ru/yYaqH8372lc +SC3U40immihj+It8+iddQpBi4nnsC2ubRMyp/Jb8Dc+dYY6O2K3QoXWv32ji6U4Lp0phWIkpj0l8 +Tx4+jFahcCbz8MjHqT4aHO3tIWvVHl/qCDifDdfSYX8rm4f1GUUeZ3MofVdHO3XI2iPdigWHwp+U +7ad66fZxc9g+sQPMFY1pKePefK2tytfiJYyqnDWlno6/0g/6++C2Fc48WGS/6TjlPaYsRFVW25+s +qPo8rLa2qk2gtuknlb4ac1TXR0WXRtJb41cocWkvTdjpOBVGPDYqYIB9Yp76mqPp4m2h2iQ4LAaG +wuPSvfNVisUd+tjIrRPn09vcZ+3aaul4Kq4rRVFIKTbu67PCUkffbfbHnzTVSp3amz7Dpliy7/aw +nO9W7Ew80s58nEbc2+YkKgOTknwwtqpSfm3CT/UGH2ZQy6imL/G3tnq2womdMPKbjtM2V1tI/QF8 +rZKSHNe3OtyyWX/h1Zq3T18Wnmon7TTnnJvCpQeBpUqI2llMxZr0UWf6pybi4HBtVW3Q3Di5DPbH +CgAo8Tjh+ylRE4p9U5wsk6oXZx7u34zT1Cmu67BQf+C4TlqELzMwZh0k5ZrexG2/WV2RrGV0TFhr +SX3O114Sf71e65SyCPhtZz50Ax1tmYydNOVPw+nZjxy4e1wsJQ0pSS7j2YK90I9tZdNhr91Zc3zW +I7GU4ADGfOCqo0w0eLKO02KVSVh/8u7NfDYXnosvAvxZKgOcgtu4ZmByORAmC+vn2oguU7sZrrMa +5kT5W0uxfg1+JV/r3pQuTUysjHR9sJnV5MvKCCQejW5LUedBgLqS2qzy9GS3fpv7xwEv9rJYRgjr +jlxKAMRRgwLT6X7kajUZ3aJbDQiWby5PuY8/00iFRvQTt/HFxvK0vcKpaB4fHsp/xYa897lVbaaI +vegps231UvIwsFWF2vEPlHOYon19uhPIVKnZpZlW1WaB7JqKvbGygU6gLTMlx6QWw6JOPWcsrcfY +1K6JCZvGFRlVa91FtGRcS/h/WV4e/i7FUWa48TKoMNFqpfq3NrUeymB3ITKYIirAgcIU4e+WKTMU +982XSpdaV0iXHCAFW7oWUriKnQ6NF2VxvKZoSy99mT3SYEpHHvZZtFzKF4yLozqtJ/7i8KCQ3tnB +xmD4BCE3Q67+4Zv0Pp7N9JoAomh3e2wzIuVutBp6CSD7ND1lUhbaS6qtrJRlmbedyavUMY3qplyE +hFQFFsY7U8CtedrYzHplappV/LWzCFVvpZJW7Ef1agTmSxubrplReU1czIzPp85Ap+wk5dl4gK1S +2SXLtP743Pt4n98cj00OFBrHXxzT9voKt9mJuLNcnSigPenQvORTdlwb9iW1W1z+smphKYMQ1RFb +B439598Dy5lhZyT1VEjDPq9xmGbUIdSVNsXgUI4HYTlETS2zpgLUcru9CGioNFa38nU/3b8vpxHf +lAX7kvq3MzpdHXYcS38p0L6mcC8sk7FBf8M0FCDFhWpXEX6xqN/aDOhXz9dXsRKC9qWfwLjeXzMk +mJi/acH9+HpjK+rNjgD1VqOwfzLBPdYCjAvcxEJCO9RQbAN2WJB9H3dBpTl5ViwOtZTr3SCwrd5e +ParN3K03QlV0srCY6rYpil0ebSn0lu/jdBm1tJXLtvmqLmVuENhWhbjWPm6q35blI/AabR8P28Lp ++qw+MdRHu1HVNdPLDKBQ1RtSaFxWTJ8rRidJ32faQHm75SAK8ei7mckFCmtw1Z8F00uqra/Dpkpf +9mF4k0WpjtM9sX1zKPbkxYi9jsORlSjy5ZTzpXCBIt671McR8vYXtKd/3TpG+/DGUjSU//L4MpvT +fZyCqMSyqZPzEKdtL+VMEX4WCoWe9lzdZIqJod5aTLOBUt/2Uu5zM8G2qpiOWr4f2+sRx9XzpIob +TbwDewBfrUh9iDpLPbod9/ec+nHcy7N7MkvBoW3m22MI6cYEQ3lIHA5LenGm1jkoK9wpG0RNqkON +J2KC6SpaBrC528xW+rPtc7eqCg/lKvRSDE0uypwA+5pazmmkDOG/fIzttzwi12GY4CpDNr0+fivj +joxc0polPZQLHVNjs8A0uBWrn26QMbt20onHTtnRfZxy/xqa9fHNg8Gncs72a2LqUt3AfZqK7R8K +4fZwE+NMEoWzbTIYqt4c5QpYrku5tEyzTNZpf/N++dl9k8HmecSZh5k0TaULSeaNy8hgW1FDUl+D +SKjtMvuRKZdKzXrK5sL8UkyOwNJS7NLKg6Xl4xpV/C9JMwyKFSogQ2gBYF+JaDNneeDb8nmzeT5J +OTgL5umh1zpQGdEAhE24gO/JiSDCiG2S4Dvcml6B97/RZW7F4qQznlhXB70zbVhSRJiwpFzbbWGr +3WuchqXZLM9MfkU7vfeypGVb8WdWvpZ4tqTLcfj16qelTlC0jCLtG1tXVC6afjozyUEL6IVyWRBc +mYBhifPFC1Pq4JUVglR8pJQA8G/RLd+WlGNZmm+xWVniILHElaD8V8Hz/G/7ntPG73TURWGAPtoC +qyQK9Cgpeh/MsElr9Jxb/f/5x1mWMYImrDu7kkjDMdpJGRsmtdXT/S+nIru8Xn8ThFU2qFNyKh0Y +SkzaltNfxz1RYTFfAzZtJUYQmyBCVbEl1WBiRDA8g5bWRChKHxfoeBc5TLk+K2Vo3SHyMvTSA6al +sbJ6Co78LUp93RPgMAXiGMS7enYEDtOJr1aGXYUVAQ47qcLXXl6bdDWLn4ZotimO/O05ZLenxUoo +tgmdsVCL48LHo99O9t7KeW502FZp6BVAftpMorwEga2/z374VgrpxUhwYvakJbemDU2qJzW4mngP +RzZ/o9oR7/6fAsTYTCo7MggNnZE79milVNreOE4BcSkUpkghoYeydgiqVlf8b5B60qWVkZgt6x/z +Stblp4xHF3EBxFBZFbwzwlHd8y+vt6RI6RoWbc2xYoQ4y7+mXkQEheOYdpvUZE1gzgoF5kaI6Smi +UuaY1iN3KunCVNgcH6yIr5c+zM0RU4Sw9WajDRVxp7I0U+b6oxtH7BQi9CW7PjdHTMHoYa+n5vx/ +FPYhvql/W7xX66+TbPi5OWInprNk1084YhxmafmT/bgEq1SY5+aIoR4UPJxWeU8E5vFPAiQmhfg1 +SiRaSHgw8k53UiHgddxWGzDJFei36jGJouUIDqmaY6jxThUNp3Wuawh5bZ2jyA3R0yHTrxFf9bKo +1VBWSWWPp4qaFW5XdQuhG5LNmrmutkFi5+kJZ30Nq1XWL1LdCbZ05BgeW5doNxsYMYlDN0h9c6KI +nZgd+WG0+ZyQ9FT4cz670ptYnfbsUqnJQumvKVDEUKgx0OotKGJSXy61wvtE5rQsYYmpVkILfw1f +imrdGhSxk26/RhUPELHTeD+DKhsgYueFmfNDfdOCiP3tcP0ND28unXlTl/G46a2uq/rehhwVgqek +aBqbChW3YLJxamuvOMTAEuRikCQrqPu4GGIKzr6dOrJuXswKuTVlBQe8H2eISaX2ZdCa+Hbeoldh +XRQxxKTY2kJnBkNMqq22+DyNDFIoUNPeUnsxlOs6UVZQgCyJHv7bjZ/0Jaw2UHsP2ir76+UoetoC +Iva37dcY8fCi0nd8giHrtvo1Fof23CzRns0Qs3FyItry9Ok+VOgwVVN9B+EYv/89hA== + + + mKUmCNofmyGmgewmiKfVAnc0MsTdHejP6alE5W4CI3bi53u6qCWxlFfFKCiKNqKMSPrs7GWzWq/u +cQc7zHzOzOxAOwBiaVIipspwqsedNDLpPwKRTKCnGZhoPD/vx77VwolpUCc61LvTfZiSyAIIzYkl +0TGtNGolsi3PMb2QTKo1QQyr2pSCXyRKV5JQfnMrQK711j0svUUDG8rrf5M+N84kqqFEzHY/UNnW +aWxRg55RMcCvmlaf+b2X//kXnxctbG/lYLRmWnSxQaelJm0VmqsIjQUw31THKSsjZT5yQ336Boyh +atXa6ZzS3lmKouZSyE+MqMjqT/KcYLFMuPGJ2DdO1B5QY8eviVqXnyDfAuqQFFONqCL7umTaBbHk +G866UIVPV95HU8kijUltTMdS6TIgwcQ6uXkxIZDBC2GxxobVCZhK48KwtrgTBdyYlKFsL0rwxlSN +8jec3Iza/iObl/zKi+kGyXP41KjlezDHJh772jqQndfODu/M24o5tXOZ2tkqaTLi2fkvj+Xbl1Wn +LsVMkb0fBGpVxUYfYbeFyqKOaWs9mGI0AIg6RnCUnZ16xg8Pq15Uus1zP9eKILyXFwPSdarvZjsL +KcrdKYIxdStY+kQnAnGN97WVDva7ky5ILT1ZDOnbSqHyF5bSs888CPBC3u523N9EY99CG04+6bCC +xIUdmxCRtN+FCqmKErPTuLkBeu2JQ9hHP5s7pljQfA8vVQUxcl6+LyVGLWDINC8+7ZWCO6bzKC/W +BlqZAd0PrzN0FwMFbG3T3o/NzFHYgeIgLbcBj/FQsIvrbqcIjZUwwbXRYxOogB4M5aW54QIsWb2o +D+n6cNs0qsIq6GN6xv5uzSSmwXCqz1q1tFQ7T0zrNBk87waQ6Zt06pae2xKahJ40dmI3osIjAZ9U +d6fegAX3QLVw6WuQJAkMPffrKJdx+HbtfteefQJ7UEmBiuj1sHK5NMxIsCzWod4Qa0ZYfYP6ppb2 +ebydTsV4rExU5k9d/meU/DfnbC3EmI8o7QwemXoB2BBhsKC2Lq1tXjdnxm5Yh8woN1xxTNSp6a05 +MEIKJf6d9gMNyrriVKi0tkdSqcROUeMv2EQWpHEpq8Rx2XoNGFCPbVPpgJLyUsAga3it8p7uyaPj +3J6f1FKT+iAjr6FFrRZaI3dLs1EAOsnICM8XNTFSTzzjXi+dlwkQxWhSHkbzx2eU490hV6n3/bqq +x0mKFaMdnk1FoZzkeLfvoII+VPWqoooVwjQYw2u1WPpTSpqxhcQTOjhUGg/J9NIHyRT1t9wcN5jL +y5wjVZj3t3s5ufhRYTCvGSs073hXrPkZhy2hKPiY1pp8Urm4UGYai9iksESjQPCJ0rzheVINV9SS +qgT5enf+hVCafqXDfvjSVvxKLk2e+XfAeVe18HF6PczhJs9D9ir2J6c9A3/3ln1sD1MyuyOx2tMI +DAOPsmHdEe2K6MMTiobH6Tw24IyOHWpktbujfnJ67c50XI5WB5T8Ksm+MGc60QaZ4WbEGsVuLdRZ +wBLNVrBWO6eOt2PkF+jhlvl5qNM89v1MOiOlsOQZefjGxb/ZEtkQg5ypuqjh/gj6dB4olCCfad3D +xlQqu/NJcPoxl2HOu7xySjPHeuxa1JfqtzMlqjeawJTYUpd/h2vwXd8NQdMIaPmv4V2elCNzZYeb +WOnhJ7E85iKhEQPl88neCx4IU/O2ei3LPbbLS+/ES4mBYEL+gQvttqZKGtvD0p1pPoFq6XnSVjQq +uChWeNzN3bZYI8oomH+pADgi3/lsMtqEWqHffrlZ6pBJAgP96ftIDc4WZtQi6I0OkFVC3K20ljGc +gjzFcMH9PfFlQYdHlbpU9mAE1YE2Pt7wobCxiogGJfKUBV+blib1IISoe69HVl/W4p1SVDojRbkg +Tlzl7aLUEmvTHYCaJi8QsqDON6R3i2ikYl1BTmPlap8/rTZhUCrMRNKdnqbwAslxRfTWr7w8ttIB +12rNr/oUZZl0nEHUgO4NG302Rk0qu53m7kpSutIEvTlZQwpLa5QFUxNCyUOnRlMTTIyqPX0UPDWU +bqz7BVTjPHqrH0eqXV7VS/2OUrh0gp16fILNzplYYrrVpZZjA4+Eyy4G2fJBvtDAJQuupnCQ7ZzU +Q/z6X7wUPsSQXC8hcQzCpv3KiDWyhLzlxliT3SlbWbmpGWWtmUmznv0FWiPEQknGfXt5jRI//EgV +POkt1DrI3hEVpe3lWIzhtyFfp6JafJRy6vRXimtoL9e9cWualmwo43KSczh9YQLVRvOn0UhP4umL +t8ZKjqfs8d4yrdwtza6tYwDXdDYZYmo8KGXHs1KXD/QUlFWfoUebG7hWVXrgZzQXTeOtzSgvMyV6 +kKSyZZSDB2P4jMgvOBilXRVKI1EqZdX6q6FKA4SizYY9pARcj6Uex4Oyj9tTPnpig7emCXnOaExk +5L1Wgu02C6EJdP2yXOwuMAOO3i0BbJnX00uopLAkho6u/ryxIU8ST2sevC1GTIZ7+lEK8k346KRT +71ROo8ZEdk6q7aJjCmZKS7ktrXMwr1+tkPxIjSOWBnrIDSkVxUMlgan9xuyqs0EJ4BpdbtbK2b26 +6X29TEBwkkYAqFlNZlf7exDXlCyaUbrES5gyFYd5uauy+7UQx7nBHqoGpu1MKt2dKIywz2lvDmcq +0MgOYsUjgbUPVwkU6eFi1SGFf1rtl/4ZtV+qy70pZZZhBuYbx/Da3SdSEuqsYctyPxu6JpXqR6lW +BC1I4eW1NMRnpNDkJSGgaxIPjZTEfhWM10Uk8nUvi5DmNbL3s5hrJ3lY7Q5VDEJ/HC0ED83RrO9V +L0mlJd2T0aJG7v4m5wcnRE+JFdW/7sVIYQTlMbJDCubaJB2g4e5xuq3OtP0DBZDgBKSoweW6NnRt +ag9IpA2DQWotTwvOdDgT9EwKYqUCLvXQRfXu1Lxr1zq6Up4zcpERgnqaBaT7kwwQpsCtVCip/BXw +w933JhWrH9WA3iy07rnfSJkYs0WR7xqXA2UiWIVAPm9R11BZ4lAIRJOgnsjuisZcKdbSICWoaxPk +ByVEl/eHXbF2ke02o6uch/is59xAI2pRbfx2tizfgrpr0ZUIcmlZZem+tqlrNH6ScX3M24UuBKum +uqJYSA1Dt1U/BXZNw4A1XE1nCmjc8RrQ290D1EnDfKTsWpDX2O10KmlPi3zN6A9iQcy8pUyWVhbE +1yI4hguNba+GRZXlMjesHNPy2JDoJg/PYq+hEmG/h10cKX+7mhPFkkJaiTBOSAmyC50nr5/JpGUp +8NcV8iDH4/H7Ozk+qd/gxtjgOqO4GWOSy2gR5ImU0+TmnmMT2CyA/1ihMT1wNEvRR3ie1o6pVJ6V +z1/P9pg/NWMo7KjhAUf0E5RUs+pRwwjfPqYoMx8MNuUZrfnvdcNgZQNs46QlsNYNKvO2qmjFp6N6 +QZXdN5bit/vokF1gC6G2Me3j9TcvCwEdG8JGDb29hYdjmWGl3l7eZj1Pt1VMoITbGpk/VrHKvI3L +so8Ho43YGUqVcyYbxPvYELYT/q7eYKY+TEhff2YDu0utOm+J6geCw3b2I0a46K2g5UYbHpkZGxrB +S1+Wc8U6k79pHZZKwilgSH3thC5x9sdnVHgRDmLTF7G1ipaNGEmzdHssFk+TAdluPbXUPwWJTfnB +TjEZjSCyFxWzzxYA3WrjTniu5i2xOvioyCftp+SUIsH6Eow2VJ5g5q11DSYWZA6jYwVkjafmiDXr +WlOaqL/QrfHKe8ITLdK63DoiJh0Spq0K48GT5R0fJCVKVqVaiFqqnUfBCh8/mjXawVORskBspNQJ +gbfXvBct//aY+QJBcVpWaDnXVw/atoiYxKx1LUGNa8tLqVm3SLOytaw19NmLxXZi46BESHNUhD4K +lxXSaadl8hgIpCwUm6mmBYhNuX8awgZ9gY896VbJBOtQTO/T+xJ0sxeITclrFkx6yCyzdt8+cGnK +FYntvCMepvk5LLKUzsZPAjASzWW6t9g9DCcEnDi8OswtLdseMztQ7AkPspPnr9vYzxJfY7jN97mE +lYIk603g7vyjmlZy74pgmM+X3jvadp8NZVMF1M0308ZbXnmTcbpZ/nBh2bQSodBBu0QylMoRW0hP +0RP6BBQN1iOmeOECymhNbF2kWonQb0HFgHp/SNJrPaEvTd+PJpxwSZ1Ymjx2pnHgDx+loINQlq7V +42uYnQVpG3gZnubNhvEf4QrwNM1249949r8ZLf8/R2qjsKHL8017kyC1UdjARjpUyhgImovJdFuR +ASOehD2f0zdOVf4w6349opSH6hG14fmIUMHI9vwirDzE7Lo5vKKoj4F4JlMfx9zeUBOBGT6P9Kw2 +aIw4itqymxme6j2BgWrdIiWobWdzLwjN5N27rPpwp1oNzSQZO3N69MqOy9cd2r/rO5zG/3p3m/eJ +NWy3nsmFbtNaATMZutnVja+SGLv4f0OGXa3r9LjWcdcBwqZMvJe8AIY2XsxWpylWaC/HqtW2KpXa +OxUMPH6mhXOO6BTXZzH6HPd+ss9LowCBpubkwmv4cPCavfWpFpp4xRfH7e9l1Kck9WRrQUj+8lb0 +rbQNFNuqFoUMZjhqg9K8cPE86Rw72xI4T17cZ9uivphH/g7juekQi6krFh1VdxKpxQP0etiA3U+H +zhqL775t5SBlJXikekBvmuXnictGs6ZwsG4ni/tpJ0ah8amNzWFeEVY7csfmoJkV6RbAl0Y1xla7 +9b2d6hy4zKjQoCCqcbqe25Voe6fKgNSNqxcA3m6pqGlmyaHku7HVPozvdspBZA7LHahVR3fj7/rZ +fiEIbyftk/ai2cugyEOjUe3aiLfTYESIRt56sXW1uD7gkRdbYutlC8gbYrMdEI4rJ1uW044iLSHl +eDTHSgnOmx6lvzFp8tpayZh8B6nA1TAkM0EVmllVSii26Pf6qn3cmL4+FhfoZc2mfpFmpLzlS4Zq +m4jXaG9SLJCpcVXR5+/4+z+cV/6XcG8E2+zhvDfvbZL3n5YPNBdLuTW8MTlq68XM++JGmWdoJefo +ZlaPLQ1mNMU+1nXrKb1mrUVgkgP7JpVYJuphvTqkBRDIkKhnSykBlCC/EX80r5pmIR6VbTRrhG4W +N1bBB95Bhozu21XEPWIuo7/Rfmf+LA6vpWOONLtqyoP/hspSStYHCpSgkIPp7gJKUciwExcBTikd +Ak2dSJU1FCoEo3/T0TAec4dCWanY6ZYd+l6y7NH9sLWWKvYp2vjcyf/8i08LiVlaXbQUDwqcumtf +SkKGG3tzHFZWw8sqpDStx1CCAof6UnF4e0QapIbHXC3kc0VHAMCryIHe7lqo8idzBIKKRsOEb8gn +mNV7bMWm9NdCKUvVhG3GddP9ubX9IDerFNHCwKFiLnZ1w8BJ4aHD047tvsFkminLkEJtmOwQQGdP +6+U33zgdB+uPmqLHPmsxIIgLUAN9RoXqhEL2ur8bvgBuPTHGudv7NG6cFF3124LEqg== + + + JrTazW4UuCWQg4vRbIlemoCJAsWcckq4vL3cd8vvhsCdpGfGm4+L9ILxPu3fVnq+qwGXeJujpv0c +PSrNYRQaTq1vR0Vie/CcXnXfD0MqoGgVNHAM4Rt4pJla/SDAsUvs01QzaLGasMsUxT2Gh7ut6igi +Jry3uvYtnJ0h36q6Sr/p6EVJpSJbVfEAFY5aHbJfe53/oAttzaNvIkJgzIGTyzqO4Zh2gwkCbgtt +bgRcUh9DLVBmeZ+2gfZI/LCcMZaawYDTmVbI1t3VnPgdD+e6YgRAuu2pFwNOccp+29Ww5iaFSClR +bo7AUzSYRTtlWcGAI0ZM7ZeeRaxWtcujKlHrS7abxna1UMuCwKESTpDPIH2ymmIfNyK1Brrr9QY6 +ndlWM+prKXRUzK+u8MiTYRXJd445rjA1jR2oKsqU7lYWl1i4VgYkj7pnA79j5b85byu9fdnIeWwQ +nIrWTTxtzTeesOTThELq+nXHLykLBSfVGiulYuupdRRPD1OR98oxYY+ohYgz1/CsVRknXj6mw4Pj +w2dk21Y+mEqBZrOG7AkG7fV6BEaY0z9n1HqObZWijTZh7wGs5rb6hSMq/cDCqeTG3vv2bi4chThc +BKotHiu78kDNa2kBK9Zp5sK49p6oAI9lsHPTJ4gRko0Emgv4kxSwSgk6nIqB2O4OEvSUiE2rgdIw +SSxnKar4XeOiqWSxbuPiDFuh3zS0d6sUtk2f/ZsnszeP4Pox/fXFjXaI5DP+rqU1t9N33MMX4jE3 +Yq0yLSOjd19bX3FWxzTrBZKaS+EPLiuHUNVlabvd+zZsnCmXN/r77Xdt4KanFKYKa07WDN0YFSpi +8hretJm3ks1pbUjwHrTEMreE7r5lW5FZesBPtno4T2+OcIYVZuzC7OEKL4axoQLTIl5POq7RPWst +p9DjKKViUH43PQ6RnjINqZQNtDseE8e5SsGiVELErCexV2KKh3tCEFUllX54TlmBE7LM7UgunMTA +hz1fgsjh8UfaH6TsYZYZ2MktxX7ktL57VKUgdDE8+XwY5iEpfeOmknqZvToVufZ6PD4cKtirUral +2JfVDDbKcYc5WGgDLKOxJRDEWbVhJmJtS4q/uTfSEwvJ7lT3pcQj0GnqWMepjJk8l8J2qnJeChP4 +6uSdno7BMNrKla8o9+7WFjFpCHzaVuy7tvCbjeOiLcLG1mn9uLb+UF96pHYw92S+HmZ9gZNnmMaC +CqBnl36l0TZWTio2BXzcdA9Q85ZWTTZVTe8d5Q5tk+VU7Wm9Qmrp68M7GW66ty6baYagwNw0FG9u +HI972SyVsjJG+NMZTUlpGzC3VSExrIDSFoDzjupYmRlgpX1txhzfg1dJKpbHb99GvmDmUFiPq6Gv +r2rY7i3qsKM1mEgxa+7LSHP2K5sVui/U3MAqWK+5mgdki6I5F8dBlck3K8EKhdyf71i2SrOE2qWI +OLAr8L7j8TbPLZT+ZKoQruhjvl83WtYLJ+YNa55jWozOehScO6fXhGo8rreaKvCopdnsvG2XoRnC +Pj2U/4qIAN7t6ziR7K3K5fDt9FLKYBAqFtYnViB9F4oAnzO7AbKF94bPmUsTvTDD4HPyvVRw7z0M +Padc/IFruzLkgZ4zXyg3ooApF2nqJfy/vja1tynUE4ML/QCVsmmKVdvUezUzzV/oOVNHqPP2487h +yh3KHcoT9TZueWZ1OYdluQ9dT8z7FRpBsTKQttlzZMM1K6hepNlRJFEkgJ7TKv2wS7HAcyqlcV/w +08BzZ/dSJF1E3yVFiOCdaZsxogD9nQZZkWLV8hz3vigWCJa9ybNP5M2RCHmuKMN85EaYCc2NnlOC +AA8OZbg7aVlZZbxkw2Rkrei7laY8d5DntB3inukhwX5Yihn4Wm1LUeYmz5l6m9+T7YcOd6qQdRQR +fexXmB9kNRvwOcqMhln/uXmkNyIrhsnIJldu3mVZhS38nFTv6LvNoBH3bjOYjD2Hhn59uA4JL2CJ +3iB4G7VJihW6YJ87TLHLrJTKqmEGIKhXS/ZHGIjpvpg92W3AIpXyuNnWvUF0Uq3cEPW04ybFTvI8 +pDr8uT2Mqc+KIlRUd1mERceJ7Tm3oScfHhafe0XGlpa8ZrgXHjOcBdwhAIU85JUKp/dxKjOhVJsZ +zlrw3JndqqHt37Ztu93b1I9RHenTw1DJBxhTrrmRdFtVewE+QKq1oDRW8cqGFZ1Ijyp9QrmiaGr4 +FVzH6VpR5XJOH0a38iRfnqXKQEq3WQGuGydSlXWwUln5iatvf26JZkzVrd9r3t5STvEQ39VhBDoi +3IpvHx0RFQRDaXYUGQUEwp0qnH6X0frtb/F1BVnpMAaHKj/gz80nmiRCsbvvxUTrMDlOkBVTppwt +wFK4NsuiPlRVNxFM5g+QqHutaZLClGb/jjCciqEMdRKqxWtfc5+yiOrjrhuqsQlYnULJFta9PbdL +xJbat7VfWkoY50akF76GkhbG1FIxKru9HvsXccPouB3HLl+SauYZ6pLFb08tZC2O41manoKjb2Lx +DWYY9R1GrUPB61rZBTzznxml18fm1ulWWuuQNlIyfqJcyMLLZLGWcMwFrguNTPhLZd1rs3Sj05XR +sVvJ1lLsHR7ucR8qNZ8XRpkP3UBb0EI/6HVLXe1TJ/53GpAVlgImpmbeEzPTa6fJeORw9FrHyfTz +8KwYkXaFjWmNtB90RrGd6mkvV9mpvNbVLYFCN06E0/i2zbFD1X61sbhT6+DbLGqPQrXC3/8h04Sy +dp3PFWf2/8eb6sHTvdTBbAHewNpSoc5ks0s1qu41nsZKKdF03N6t2PzoVfvrMPzeD2tiYQg6abic +7rsbRDv8eWmsUAMGuUc5iWCT1ppnleWBzopPi6+A2p3du1zphiBEfRnLgYZxEeuouKInB+XeYXGb +4ddxM4pWybyoGGwp7dpsu6Qe1gtEkQ9Ft4e7vPA3X2vp6jlO7R10UVUsxgi+xIfb0aPQw3I8KTk/ +Lq/y0W8/uxmnhL3NFZFya/Q/no24U7jZTEMPb4akLupplrj29OBS+qbcJfV0P5KVwYLs/FrxVFXs +zO6D9z7u8HoGecngmEuJxGNNh4t1hxrtgwt2p8/DBL4TKJEhu1aal6WX2cOGAJ84cHdLfJyXddK+ +0rbJrQYV0jbtutc0rfoD/XueXggix2AKLEx506Bh+5xQW/NeRvkzMhoHxkj7Ersk9BA69W7OqOWV +Aak1ajUvL1XlC2lDLb4xB6Qxz9F3Ck3YsK2ebbnA0NqLE2nb9Dv1hoFw6tqK08LevPpZQVroi/Ls +s8KWZ+ejFSC15ZiL6pdxJ8zbUXhLUan7AuItVcMQWLx7+Qo6a1sNreAttOlbYDy6rbqbuUHGE4mb +DovuPfPfiPW/GQ//v3C8/31wPNVlfeF4VGsVOB4lhgWO13FU/oHj6V2ocDz1u1Y4nha9XzieQswV +jodS4Hh2TIXj8WkFjielwvFsmf0Lx9MivcLx9DJWOJ5es184Hl4zVP47HE9DR4HjdXJsv3C8vk0R +HY5nbJkMx2Pt9YHjSa1wPFYFfSY4Hr3N9/kDx0MtcDyUcyY4Hp81e4Hj9bCiW3A8TaB/G8gFx4P7 +8QPHa89d4Hga3yscbysZxZZUh+OpYvNvNk9wPChLHzgeq6cCx8NRv8Dxmjo0rvsHjofaeoLjoRQ4 +npQvHE9qgeNJqHA8KX/T/g8cD6pVgeOx2stwvC0kON4SA46nX13heJoJv3C8BpQ1w/Fsfs1wvKTk +O7JUg+NRU1vgeLrXXzhekwNXgeM1uSs8lY2HVth4KIWN1x7Qt2dl46Heb2LjSalsvPYc/w0bTwVF +lY3XCDFnNp4WKR82Xm/vDxuvQ/NObDx6/z9sPNTCxjO/oyex8b7Db0ycVryloeLLxuNWFTYeyfzM +xuPBq2y8EeXii41nT2dm49mj/8vG0ytS2Xj2KmU2HinVDxuPHsnCxlNlTmXj4T/2YeORAM5sPJ7+ +wsZTkvCXjYdW2HgohY0n5cvGk1rZeFIqG4+CpA8bT2UBlY03MHBKbLzvffyP32dyjB82ntTKxuO4 +wsaT8mXj4Spf2HhmLZXZeHQXf9h4HfBfYuN1aikzG08ryi8bj/hXYeNpiqxsvE6Dy/XDxpPa3iex +8VAKGw+HiA8bT+rfvi+x8Tqpi8zGQ/mw8WSjdhz3ZuPhhVbYeKoS/bDxFFd62pnYeCzxCxsvKYmN +t9Vg4/VFqQrmHQPBh42nkaay8fTV+nMlNt5WEhsvicbG4ycVNh5UuA8bD8eVwsZDGWdi43Hmh40n +tbLxOjCZxMaT8GXjUVlb2Hg45xU23lYyGy+pzsbTX6hsPK3pvmw8WgILG6/L076w8baS2XhJdTae +qjEqGw+rjQ8br9MXkNl4RF8LG0/TwJeNpxB2ZePRbVvYeJjHfth4ZGkKG48JtrDxNK992XhSKxtP +SmXjDfyuf9l4UisbD6Ww8VB+2XidbElm42lIqmy873AZE6ZqdL5sPGVdKxtPpUiVjSdjpy8bT2pl +42EJVdh4WEd92HiohY3HmYWNx6d/2HjagFc2nvb7lY2nzPKXjTfoQM1sPMxQCxuPXfqHjcf2vrDx +bMO/2Xj8+8PGQy1sPJTCxuMv/rLx9NMrG09fvrLxtpLYeFsMNp4iEZWNp5T2l42n9H1l48kAsLDx +VKn2ZePpsMrGg8Vc2Hhguz9svGH9uYmNp4tR2XhbyWy8rQYbD3ebwsYbYfVb2Hgy6atsPBXXVTbe +VjIbb6vBxqN8pbDxVH3wZePpm1Q23jjbDxsPz5gPGw+1sPFQChtvnP2/YeNJrWw8KZWNJ+XLxsN+ +uLDxwHkXNp49LL9sPNWPVzaeAcMzGy8pCYq11Qjas9zObDx9iS8bTw9WZeOB8y5svKQkNt5Wg40H +VKOw8ViRf9h4ehAKG48txmbj7X9mNt5Wg42nz6lsPAqAPmw8LKgLG29gwpPZeOZnVNl4GB8VNp6U +ysaT8mXjEfYsbDwplY3HMb9sPEVQKxtPFlCVjSdXog8bD5/qwsbTOF/ZeFvJbLykOhtPg2dl4+lP +ftl4fJHCxpNS2Hg4KH3YeKZmNh4nFjae/cpfNp4mpsrG0+Rb2XhbyWy8pDobb7BbT2w8vCN/2Xjc +kczGw82rsPEGpbG/bDzcrwobT8NFZeOJs/Jl47GRK2w8baYqG28rZRhYarDxqMUsbLzRzv+GjUcJ +e2HjjWP8sPHGwk5nNh4xkczGw1Pml42Hs0Zm42lSrGw8wEy/bDzEwsYzJbPxTPll41FkUNh4KIWN +h/Jh41EoUth4UgobT8KHjWdLhszGAylX2HjcmA8bry9Hr2Dj0cpY2Hjs0z5sPMoCChvPlMzG40xC +QpmNhxVAYeOp2bCy8cwN7ZeNp41NYeMp/l7ZeElJbLytBhuvY/Oc2XggwX7ZeHpYKhtPK57KxpN9 +yZeNJ7Wy8XBkK2y8TjfGLxtPamHj4Y+S2Hgc8GHjUYxS2Hi4tBU2HuVDHzae1MrGkw== + + + Utl4Klr7svFQCxuPMzMbjw//sPH0EwobTzU4lY23lczG22qw8ToTXGbj4UP3YePhZVTYeBpWKhtv +K5mNt9Vg42kzV0h4+hlfNp6ercrGs8uY2XhJSWy8rQYbr0dtcbDx+D0fNh5qYeNJqWw8KV82Hmmh +wsazRFFm46F82HhSKxsPa+nCxuvP/G/YeHvEXsfJ3Kqw8baS2XhbDTae/YXMxtOL8GXj0QhW2HgE +UQsbD/OWDxtPodDCxiOGWth4W8lsvK0aG88CrImNh2Hdh41H1XFh42FYV9h4PazMChsPP7rCxjNr +7MzGM/O7XzaeRr/KxqNiubDxtpLZeFsNNp5eisrG0wv0YePZhJzZeAomVTbeVjYbL2lOtlIqtLLx +dEe/bDweu8LGoyY3s/F4Pz9sPKmVjYdS2Hic+WHj2fue2XhSKhsP660PG09frbLxVHVc2XhbyWy8 +rQYbT7ZslY2nJ/fLxtMDXtl4ehEKG09T9ZeNJ7Wy8TSBVzaegpYfNl6f1w8bj9hmYeP1ZbOf2Xi9 +3z9sPPPvyWy8pCQ23laDjadQa2Hj6U9+2HjkyAsbD4PX40hsPJQPGw+1sPGM7ZLZePzKDxuPFWZh +41Fd2Y7ExkvKZuNt0dl4ncTSpt5h9vLDxiNkU9h4fbyVjadF3peNh0/1h41nddmtbzYe687CxktK +YuNtNdh42jxUNh62jh82nka+ysajtbew8baS2XhbDTaenqPKxtOz9mHjkaYvbDzFrAobD7TFh43H +GFPYeDrxy8ZTmKay8dSgVNl4ALo+bLxh+910nLlFZTbeVjIbb6vOxqP9KrPxcLH+sPFoMy1sPHWB +VjbeN6od8e7/KRtvRE9nYeONdv6w8TiusPGw7/2w8XgOCxtPw21l4+nyf9l4qIWNhxtDYeNJ+bLx +uJ2FjSelsPEIzH3YeHqKChtPkJnKxmMi+7DxFCGsbDx5NlQ2nkBwXzaegtGZjaewT2XjKULyZeNJ +LWw8DstsPAlfNh5qYeMRgSlsPClfNh4Jj8LGs1rAxMYb2hh92HjwOjIbTwGqysaj0/uXjQc2obDx +1Dde2HiDZPMvG0+N5JWNxy/KbDxd5g8bT2Jh40mobDwc7z9sPGJ1hY2HUth4KB82ntTKxqOZvbDx +dHG+bDyFvwobD8xHYeOJBvtl46nXtLLxQIEUNp6u64eNp2haZeMNdkiJjac79WXjaaaobDyF3L5s +PKmVjacvXtl45pfyy8bDIaWw8VAKGw/lw8YjS5LZePoSlY2nE79sPDW1VjYeVTSFjceo8cvGs3Ey +sfEYSgsb7zsIx/j977HxLDXxy8bT01TYeGOTV57gCcwvG2+YH3Ni40mpbDyUDxsPNbPx7LDExpPw +ZeMxnBY2nm5PZeNZzdIvG0+DemXjMSUVNt7AGuyXjWfGFJmNN2j5zmw8lA8bj1q6wsZDKWw8zvyw +8bSGqWw8ff/Kxvvey//8i88LIdIPG0/qdZ+JjccCeM7ExiPc+tw/bDxUHNmCjYdCdWyw8fis634r +G4/FcmHjKdRZ2Hiwcz5svE5SLLPxtAsqbDw9DLi9FTYej4iiQouNRyVQYePZY3RWNh5iYePxB44n +sfGkjPb+sPFUXFLZeLaxy2w8rDI/bDyF7iobT+GfwsZT/O3LxsPWvbDxemTvFxtPu4EvGw/T+8LG +Izha2HiEWT9sPCJdhY3XF3U72HiKYHzZeMQ1ChtPSmXjoXzYeHQRFjYeSmLj2Sf9svEw4ytsPF2x +wsYjDvFh41ECXth4hBszG49H+ZeNh498ZuPpflQ2HjHBDxtPYYfKxuOhyGw8JTW+bLzOyiWz8RQG +qmw8onEfNp6escrGo526sPGgVX3YePomlY1H6Cmz8aiN/bDxUDMbD6Gw8ax89oeN5xW012Lj2eXK +bDwpXzaevmll46kYr7DxvqPkvzln44P6YeNRAXaOxMajCyyz8ajI+7DxUAsbj3q+cyY2HoQiBRUL +Gw8bUpwKg41nxqSZjUfj2fHelY3XwddnNh6VQXNuNh69aW/7YeNRS13YeEyipzqMnY2nKM6XjQdF +KLPxMK4ubDyUt7+VjSfVXEqDjYcHsBnGejYV5bl+2HiaktvZ3s3G05xV2XhKmn3ZeJjiFzaeGf9n +Nh6+C79sPOVMKhtPsebKxqPm/MPGgyCS2Xj9bT9sPENX/LLxyO0VNh65uszGU+Lwy8YjjFXYeKoI +uY9rs/HMEvyXjUcAsbDxzLsgs/EU6vyy8WjYyWw8xWArG4/Sqg8bTydWNp4+t7LxCNZ+2HhkWwsb +T1+tsvFQPmy8Hp5Ci41nZ2Y2nj79y8brAW1fbDxa4RMbD3TFh43HtSpsPK5TYeN1mE2/bDyNgIOR +INh4lCM/PbHxaKunzHqz8YiBFjZeB3VxJTaevuuXjQe0rrDxlMWrbDxSbx82HsUKhY2nMysbT2uq +LxsPa+/CxutwiXti41FO+8vGo5yxsPEMT5fZeJR2f9h4qIWNh3K1xMaT0lh9ZzYe5d2FjUfosLDx +pDxx4ipvP94fNp5Gq6bwdrDxKEv9sPE0hFU2Hl3zx0xsPA0JXzYe1YaFjcdgXth4zGKj/7DxUGnn +CTaelK40wWLjSWFpXdh4Nq0kNp6Ev2+W2Him/LDxOK+/iY3XD7awiY1HI9h5/7DxqHXKbDz1Oj3j +TGy8Rr7wh42nwqPKxtNfrGw8za5fNp415iU2Hp0ZhY1nc9MvG6+DjD8SG6+HSe1i42kd9GXjUXSQ +2XgsgQobjxXeh41Hjrmw8Uj7FTaerb1/2Xh9ERiDjQes6sPGo96gsPE0FFQ2Xr/f/4aNV1Ve/Dua +i5yN16O8rLDxUAsbD6Ww8Vhufth4rHELG69TAp7ZeFK+bDxNyJWNRy1CYeNRf/Nh46EWNp6UwsaT +8GHjgYsrbDwy3JmNJ+HLxtNypbLxpFQ2ntY5XzYerbOZjUcSPrPxMGn9ZeP5viex8fCJLGw8drkf +Nh5btMLGS5kKZ+OpsvvLxhvAjzIbD6Ww8Tjzw8aTWtl4UhIbT//8svEUk69sPKJJhY0nF9UvG09q +ZeMNqFKZjYeN9C8bT2Jh43ERCxsP5ZeNR4whs/G0D61sPMurVzYelZCFjUfqprDxKIz4sPE66YDM +xsOtrLDxwD592HhYkRY2HmSjwsbDOfbDxsNvurDx3M8ysfH07n/ZeJjAFjaefnll4ylz9mHjSaxs +PFMSG6+ct9h4qIWNhx9eYeNJ+bLxxnLiCjYePfaFjaeX9MvGoxa1sPH4FoWNZx3vv2w8guuZjUcX +QmHjqQv0w8bTMFDZeNhnFzYeAckPG4/dTmHj9egPWmy8sQzhEhuPkSez8fSWFjYeDSUfNh5qYeNJ +qWw8KV82Hp0nhY1nKfDMxkP5sPEUratsPEW2KhuPnOaHjWcB/MzGo1mqsPGUyvuy8TDxLGy8ZQEd +bDwlHb9sPOUZKxtP2YDKxjP28i8bzzjNmY1HdqGw8fQ3v2w8augLG4+WpMLG49t+2Hhk1Qobz/Js +mY3HmR82ntJqlY1Hv0Jh440F+slsvHGOHzaetdxkNp5yPV82HmcWNh72rZmN55HvHzaevkhl4w2W +bpmNR7b7w8ZTfrCy8cjTFjYe+dZfNh4V+YWNpy9R2XhK7H3ZeIOxIrPxdK0zG4++tA8bz7rcEhtP +QmXjSfmy8aRmNh79WoWNh/Jh45FSL2w8y79lNh4tK79sPP3uysYjt57ZeMrWftl4C/u92Hj6qMLG +01f4svFM/aew8YZV9iY2np70ysajW/HDxlPyurLxsHgubLx5zP+Gjad0dmXjcW8LG490zoeN56a4 +bbPxSB8UNp7G8C8bj4KkzMaDsVHYeJruP2w8bUIqG0/vypeNR+VTYeOx/i9svEE/8C8bD+RBYeNp +QVjZeLp8XzYek2Bh4+myVDYezdm/bDzltSobj3BFZuN949n/ZrT8/xwbj8KGDxuPwobCxqOMIbPx +ED5svEHfeGbj6RGtbDwKhz5sPLANhY2HUth4dswvG4/PK2w8KZWNN+h1+WXjjfkuNh51L4WNp6H5 +y8bTHFHZeBogKhtP5WxfNp7WCpWNp5KYysbTUPBl41Epk9l4FMAUNp6ULxsPtbDxUAobj8/6sPEE +N6hsvPFelY03CYn/svFweOO5WMextbgSGy8pica21WDjwRUwfJdR7wA4XEmwv3i4tWkcRRdwZuPh +Iv7LxkMsbDyUwsaT8mXjzXb8sPGmqj8LG0/Kh4038We8NhtvHrE5cDbeFjIbL6nhZEvWq202nvAB +hCkKGw+GgKazpcrz36LlwcbbSrkbSw02njES+mbjTXN5qWw8WA3TM1C8DSIpWFQiw/FQcV4IOh7K +dW86ngSfozYdD7FZhxueK1A+tPdedDwpLEwKHU8PkwURg46n21jpeKBAPnQ8zfeVjseSo9Dx6Mn8 +0PFQCx1PSqXjfUfg/+HM8r9ExyPc9qHjsdEodDxtgisdj7n3Q8czS6hMx0MpdDzO/NDxpBY6HiHV +QscjQvqh41nCO9PxFF+tdLxOid0vHU8RgErHI+xb6Hj0zH3oeKiFjodS6HiUhfzS8eiTSnQ8Oqky +HY+sz4eOp4BAoePpflQ63vdO/udffFpIzX7oeKqKqHQ8jit0PClfOh5qoeMRTS10PClfOp62bpWO +p+V3peMp/Pql49HjXOh4VO0WOp42IF86Hmqh40mpdDwpXzoeffqFjse+t9DxRhiuFzoekYFCx6Pa +s9DxtA/60vEGnq6Zjqd6wkLHW0Km423RixOwUSh0PIakDx1Pu95Kx6OkMdHx7N8/dLwtOh3Pfk6m +443r/m/oeKiFjodS6HhSvnQ89omFjjeuu9LxMIr90PEG722m4ykAUOl4SUnFIlsNOp7+ZKXj6UJ/ +6XhYcxQ6HlG3TMfbQqbjJdVpEBRaFjoedJgPHc8K4jMdjwheoeNpg/il4ykmUeh4RAMKHW+wvful +4xElLnQ89nmFjkd65EPHQy10PHoeCx1PypeORyS30PFQCh3Pjvml40FqKnQ8GncKHe87Vv6b87am +5C8dTyu0Qsczs5VMx+t9/Dd0PAxjCh0Pw5hCx6OG5kPHM9uaRMfjxELH48M/dDyrFUh0PIogCh2v +gyD7peOZKVim46kEoNLx+iJ6ZjoeEYhCx0MpdDyLUvzS8VALHQ8l0/H4kx86HgYxhY6nW1LpeEsp +dDxTMx2P1Hmi4/UZkdJNx6NMKdHxrMoj0/EUFv7S8XCUKHQ8SgQzHU9r2S8db5s5rON6sOCDjmfK +Veh4oS06HqU1hY5He9mHjmdFm5mOR3C60PG2kul4Ww06Ht+50PG4bB86npFMMh1PsaRKx6OY6peO +h1joeCiFjiflQ8fT51c6npRKx5PypeMR5cp0PEtuZDqePSS/dDxVMlQ6ni5GpeMlJQGxkup0PGpy +Cx1PVW1fOh5twIWOhylkpuMtIdPxQlx0PH18oePpgf7S8chYFDqe9g2VjreUQsczNQ== + + + 0/FsP5bpeJiLfOh4qnavdLwejRGLjkeR24eOh71npuPh5VnoeIZO+aXjgU8pdDxq6wodj2M+dLw+ +5g8dj16GQsdTHOtLx7O9S6bjUVhW6HhJSXS8rRodT59U6XgdI+hfOh7fo9DxqJordDyUDx3P1EzH +Qyl0PPuVv3Q8doSFjkdUpNDxtpLpeFsNOl4n4pDpePixfeh43JNCxzOr5UzHA0z1oePpNal0PFxq +Cx0PLtCHjsc+stDxVMxQ6XhbKYNBqIuOpzer0vHMcOCXjmc+TZmOR+lT33Q8XPE/dDxzhsp0vEhU +Fzoe+bJCx1NJSaXjqXHqS8czNdPxTMl0PFN+6XhaN1c6Hkqh46F86HjkwxMdj36UQsfD/OGHjscb +U+h4tIwWOh7Wch863sCSJdPxpFQ6Hju8XzoeFo+FjlcUevE58UPH00a30PE0TmQ6Hv33P3Q8+lMK +HU9KpeMlJdHxTM10PKw4Ch0PA5YPHY9Co0zHG2P+0PEYfj90PKmVjod/d6Hj6XX60PEkVjoeb12h +43HMh46HR02h4w1OyHQ8bY+/dDyplY6HQ3+h42EY8aHjoWY6HicWOh4f/qHj6SdUOh6bpULHQ/nQ +8fZxQccbzHAtyHe2fK90PE3omY4HUqPQ8baS6XhbDTqeFiOVjof1w4eOh41IoeO55ca56XhJSXS8 +rQYdb+BXm+l4Y2UoEh0PsdDxbGGZ6HgsRn/oeNIqHQ8l0/EQPnQ8fXql41laPdPxtLr70vFWOdE6 +TN3BhY63lUzH22rQ8ewPJDoeC/VfOh7dmIWOZ/HaRMdTzPtLxwOKV+h4RGwLHW8rmY5naqbjUY5a +6HgW+fql49EYV+h4UgodD+FDx8O/pdDxUAodj4a3Dx1Pt7LQ8XQVCx1vCYmOF9qi41nkMNPxAHl8 +6HhMv4WOR9VnpuNtIdPxlroaqBSNqnQ8b4y9Kx2PR67Q8ShDKXS8Yf6PP3Q8g7JkOh5KpuNx4oeO +h1roeHj6FDqekW9+6Xj6aomORxN9puMtodDxTM10POpRMx2P2N2Hjmc9qU867Gw/dDwt7b90PBx6 +Cx3PjAUyHU+xzS8dT8cVOh4h0ELHo+bqQ8dTWLzS8cb9/tDxtpLpeEl1Oh5lPoWOx9/8peOR2C90 +PCmVjofyoeOhFjoen5XpeKuyrNDxMLQodDwqowodLymJjpdUp+ONlcEK6p1C3F86HgVnhY6naH+l +48lD4UvHQ/3Q8fR5lY7HSjPT8UIodLwlBh1P26tCxwPUlOl4rJ+djqclZaXjmfJLx9tq0PFwaCx0 +PKg9HzoeHSOFjqeZutLxaM370PG0kKl0PJp7f+l4zCOFjqcIXKHjqVrpS8ejqSrT8ZQArXS8rWQ6 +3laDjteP5SzodDwaiz50PPqtMh1Pd7vS8b4R638zHv7/cTre/yepd/fw6u8MvVNBK6n+ECnkdjYT ++TlVWdPalIh3WhaZx6oD71QbT99a8O5eN2YvuDv1RxynLcQpWIcdzsbdYXdvFKFu1t1Lm8k/i3QH +SNxX84Du5LmKqX3m3GkHOb2bisiKqgfpCI5i4dv34wVzd2FpfG3M3bnYHUa5W95RGXJn5objn8W4 +i0L7hbjTvoiqx0y4G7eNfwtwB/ZhbrydtmEsizLdTmK/x4bbSTjHvdl27NXaldF2cy1inGwno5Wr +WesXERqLiyWuXQ+AhmPtTu/dWFS7EApCbYmLaadq7Hej6pRQ7D9AO33x2dIxj0V7Fs1OTJXLsjvb +l1bBnG6JG4uPX5aQWCS74LMUkB0+N4dVKZu3w2V74sWxU3P+uNpu3rKJw3tSgmKnxfYZuVV7qENI +FLslBsWun96ws+B0t9mwFYadDFmWyY7EY7PrjnrFj3+CVnfEuxQdhYcbHhVW3WWp+UWq0/tKDjqj +6rpZ429SXY+XJ0B1KghtP5g6BSDcNcModc6p2JC64cbqhVH3WlHWQtQR5p1mMGvWhd36EAuh7gz8 +RIhXdGM7n+4e3pKZ8XT3COd1p9Op6YmSnIDTfUbJmLasdKrN123+M5uuqdeeix9sunZejn5zNl07 +vdI0wenQLJroNVEoBFACTteoYu6zwumaqlqeo204nRQWrwtOJ2Uc/a5wuqY1OKvegNO1q1licMHp +/uZOa+IocLp29TD8cjpdu7yuatHpmpaT3blzgadDvDxoQsQTZVoPq2Eo8dY7TVl0OqnclEWnk0IG +ZdHppFiTX6bTtcv3uYtO187oWww83fdW/idu9fC2uoKnk0oKYOHpOM66zR1P1zweUeh0EklcLzqd +FNaki07XhpV4FThdW84NQadr1DLODZ1rKgHg1cxwOlXV4TkcohzsztY3mu4SCeZ8KpnucsvsBabD +XE4OHsGlk7nc+1QqnRK0GiYXlE4biPsem0knYfRZkXTqYJBHcRDpTm/XWUC6y1N2mUcnA77Gvt9x +dEKJaJ5ZvKctJBjdEoNFd3vH+ULM6bXHFT2T6K7XOBNLlHMT3uPBoVtCwtBtzSh0+h2v1xorI696 +p/d0y5oYmK7HquYXgU5C9NnTfBedZ4U/J+iAZsrFUgPXcrqgFRWGlLdj6yLezHtFvYjD51SV1oBk +OXtuCRk9t0Unz2lLaZFyB8rddxD7EndOWBP8ckLUEoze+KDOLSFD57bozDmFRUAtBHLuPYyDkIFz +r+/ZFm9OxmrD3RtMuCy6UWhzjUohbpNv7pvamMi5Bm2u9dsrEDJtroELmb6Dxmqie6n7os39TcNh +opZoc1KNNhgmfQ2P49vKUnhQGw7S9z8FNieRVrAFm0PhjQ/YHArd+5k218g+DAvx0TfUsPfAvsJp +c9/RL6ZAjBqowMm0Ob0d2Hws2pxKe4jJLNocsYRxjUqbk9paG5s2h8mSbvqizRHn0PxXaHOoPlya +CYJO7D7GYpXIh2sILrA5PUyY2i/YHOGiY94bNsdLoN1Mgc3RueT+GHwu4a/3evfYw57X3tHEmmOz +rF3+Ys2h4L8TtDmUuACLNof6z0LN8U/d24WaQzELl42asw91Hiezkr66FcoEam4rCTW3xUDNaVv/ +sKgKhJyIVWxaCmpu8Zv2caI3YtYRrDkN/v0CHZlYcy36sRdrDrYxRRLBkLNJ674raw5ucYeZ46qu +Bs/+Ys1tJbPmthqsOdxicJcJhlzDOleFVJk111TYC591HSfuyBwbNbeETJpbYoDmxHyyjEQA5Np9 +By80geb0NYhR7uMgIVokFMt0/FeaE9kXZw7VZjjnzLWwaVicufZ4q3ThzEm1kEBw5gBZ8aoEZ67R +C//aMculSF/NLJ6CMwcZG8eC4MfZk3LOfwpnTuSq88mHgd6+bP5hnZ+UxJfaakS/BdVmaFr8OH0J +Gh0LZ04PlWF713Hy+6AEPThzSUmcua0GZ67REaInMAByQMi1nMiYOT0FBnRYh53RggBnbv8zc+a2 +Gpw5fRAXevHjFDbV8QUzp+yC5t19lMazY45NmVtGdRkzh4dQ8/Yi30qe5t26MHPMFqcDwLbNmeKH +5zs3Zk4K5t0LM8cx9n+SCZz2o5qXFmZO4WJsCBc/TsMs+ezCmWN01OS8Dzt9aRyYua1kzFxSHTPH +qO29KObi2g6zcSyUOYb79702Zc4mAE1HTpnDi0ijYIbMmSgGe0DmOI9tX0Dm7DfypRJkjnwcs2JA +5vSisBZakLmtZMhcUh0y19lvy+nO4+qsi1TxniFz3A/Ff0MkXXbfmzGnVTk7nMKYw0Xq4T62+LFn +zAjOjlOTrn12ZsyxG9MyZR83HguNLMbcVsoYsNRgzDUV0wBtDsZcUzGrRrjCmGvz8IriYMw1fI6d +asDav4Fvvs12bjHmGrXIp3mhaYBrBDscZR2MuXa4WfI6SsU7ZCeCMfeelljLiDm0O7S/nQTC+fyz +AHMIIwQnK2gphI9g4OVYG73WvUZpiARrcE1wOYEfeFODLfcu4Iih5VTVY/7Imyz3vL5ACLCcLKIM +6e2mv5dvrgtWzryw/llQOeXFaCsLppx2XKytMlLuivVTEOUQDhPIiuk0ojiZJ6elCK4ogZPTXAri +PWhyomow1mSY3ONr8QWT00zKWx4suS0klNwSgyRHeZQm1wDJNS0cGf4zSU6PBFvzRZL7exmtz22R +5P7Osne2kOSkGs01SHJSrDotSHLtCO5DJslJpUo+SHISmDQDJccRgXVc3lcNu9LXCFoEz9vfssdN +sBwl1xRMoYgvkeQaW+Fzg+QksMxdILnWLt8CZJAc6vCPs6vYwgjNQXJ8NmvUDJJr7GaOe4Hk3ncj +5N63wuPed2PjGhMWtc+Og2vttm1mpsa1fplv8jpKrlMUWz8RHHIhI+OWGMS4RnbM+Xa4bbTuToQF +GddUt/C4xbgdp0ujmNtCxiUlIeO2Gsi4ptXF65VFMgfnxzTqMxMyDhVKfCDjpBBRXMg4KZOrlZFx +LUziFzIOJWiKIONQWEpnZJxUFspBjNN3fawvwUlwjeqWwHOuE9f4u45TTp4ChyDGbSUT47YaxDj7 +C9e1SXDaTLcFnI/Al6K+thNcxymuOdwYZ4UdbZOY7TYUnjx5pCx9SljzPucGxm0lA+O2asC4Nn1I +CmCcghbmOZCBcVIfIsEBjJNy3XEcdzIq8gswTqqPFA6MQ3lux8MplcSZWrMUYFzrp4W5FjBOF/GI +QhZMcbaSgXFbDWCcXomBKYOD4FrzmuQCjLPZVQULoYoj1O+Ni4t/b1jcUhz0pFobKlOCAKcx77ai +nUSK43EDAbWOU+kfPJpAxSk069DphIqTahYNgYpDOR0eRxCHMw8Hti9UHKrRgHzJ3Vo46AQqTopR +dzIqTt/Nz3RUXFMajmRZoOK2klFxWw1UXDte99cKBNzrQaFCinuPAAW7+Ez3z3FO3LNK0xImTv3N +lkh1StztSZ0FidO4SeVuYsTBdXn/WYQ47aSPZrMbGAGs5knRJT7cdcTz6eJ5uYNN0OG2kOBwSww2 +nLIiWMcFG45B9WoFDae8cmtjk+FUPBlVLWQtLu+wL1y4y11pFhbu8lDkosIxTjptbUHhrmmlQYsJ +J5hf+PGTUNnCJsItzYFwGssoAg7W23X/CKyyDhuflwiRPBPh7qBNZyDc3WxHU3hwciYbx71xcFov +WgG20+C2kGBwSwwWHB5q77PbKlpYu5dGC03GZFX2cTPqDwIFt5WMgttqoOA0EmO9vVBwCqPalUko +OGXWLOcfKDiFlAy8Eiw4RTCOKE1aLDgFyqxjKlhwOtOZDIkFpw0a1e6LBaetJBu0xXiTFy9VOxkF +R1elLbXiMMyRKPOIzf5SMgpuq46Cs4LV2xIFeJarZZsvlVFw9FRewzboVmYrw3fWPoGC+4acIxj9 +P0XBsedrx1tRcG16MHGh4DiOCsJAwUkhf1ZQcE1t8Ddt6Y6Cw27K1uWOgtPVN1B1RsGhzrZJcC2M +SBcJzvbV96gkOG4mbv1BgpNC4itIcITOfGWyQHB6hAw9HyQ4hUdad6STHpp2H5UBRw== + + + GETLw8WAI+I+nToDA47wj9bmhQFHqZ+9lTDgFJIxp4VgwOFXcb6zMuAsB3H0xYDjsMdJK4QNFcGm +FiAz4FCPeyPgiI9YNtwRcERfH0cLrewHWQjzkPQyHit4u66FgNODR79CQcAZZoIaUGfA4a9N33ow +4Ohnhn6VGHDgAcB5OQKO2lordLW4VSeje74VAYdvPF0fgYDjF+FmFQw4rIT4UhkCh1cRdQZBgSM3 +oOFhUeDIH9DhkylwRNLATgUFDqW/Y1PgVi6iUOAwT+dqBwXODOFxkxjxN8MoNVPgCIxQ2xEYOAzo +bn65Y+AUd8BjumDgFOyxtzswcFAvqIAIDBxeRQCyMgeOTCgdT8GBI6UDwso5cBogvXg1ceAUPiWO +ujhwkC1gp2UOnFQCMIsDRyaNCvvgwFFDwDoic+DI/rOWCg7cKiRYHDiU66oYOBIYbOCDA6cvQRAh +MHDk4ij8yBg40ToMFRkYuEb5cm8bA9egBlHcmThwNkiOc4PgGEgZLwIE9x2CY/T+90Bwljs4WgXB +aTTDoSVAcO2N5G2A4JalVgbBSfTgflCDjtsCGQsEh2KxrQSCQ2U0ChKcHXeaYg4Hx20BsEyCY1AF +IBUkOAXszWc9SHAa0LFxKyQ4DeqGdwkSHDMSgfogwSntRplPIcFJdX6Jk+Ba2E0tEhyKUsSFBNcw +/DPTfvb4CK//SUBwnEisIoPgtIDBfW2B4PT1WbgtENz3Xv7nX3xeZEL7joqBk00C2JagwFGZNN4N +gdOIzw/ODDiJ47g3Ak7CNd5NgKPm6Z4VAKe1MUHC4L9pNo8wmF53Rc3NXyTR3x6PoC74G4MDprLG +flMB19nfin6Tye185ya/6X8fp7VRn6f/PeYP+O1qvgoI7pv+4/Fs6pv09o4KfbseIwEt5ptGKypg +A/lGZqRV4JuM+dkZBO8tyqgC99aUXKIRKePeFFa37xi4txbp84V704rfXI4z7q3B6nBbaXBvBDDZ +rQXujViomeAke44WBfEL99YMJN027k3xB96TgnsjKkFLZ+DepFgvaODeUPoP7U2idXQG7Q3FeoGh +vXEaT0amvemLAdAN2JuuFxGdgL0RSbBPTrC3RvGNs+PYWCj4ZttNh701ZUbZWSbYm84zDGXQ3nQ7 +vG7PaW9q7GaRk2FvqsDAFDpYb3oe2KU56u0J681Menu9cWOB3t7hha/BeXt9WCmYN8234zSPZr6t +mraiGJVCYKWJGecz400e/xQLBeLt9SXFQrypcPa4n0p4e1dw0wBv+jdjX/DdVFl7voXu9l6Oa3e4 +G5fH0XEk0Smj9ar71VX3ROIlyG4qpyOE6mC331Hv35yB1Y9JCWmmukG51mMeUDeh5izH7FC36c3q +hekmkRVyIN1Ikg9rKmPNOb2wugDdpucnFs9tnj4dxZ6frcPrfy0MuqavbRbMDXIVhRzGctPL87Ze +UW4qOib3ED1Fp+yGyKMbyE0+zpfj2BbH7XIP0MVxw674nhvjJuHts1Lc1Ah8P2ND3NRwdbKu8Gwl +HVj89YRwEwHybHMT3G43K1wAt+cH3aaxjW3gQrepzBRLmIVuU5WbbTp20l65C19SOblNQV83ZHJy +W2NrNv8p4DaNK+wrAtzWHNK0uG2MPKy1Mret4e7U781tIzNmTZLGbRNz/v6htinW9PTNbNMm5bgs +VatbrdTPg0d2IrZdsSgLYJsW1mRDgtemV5kwSca1qe+EOlKntb2B7AhYmzpdKUfMrDZFaBguouD3 +cbvkRWoDXj6Np7RAbaLrUMURokxryDkGpk3C5U4ya9w1axtb0PKCcpodROJZtp88n5nQ9ngqZwHa +Hq+nDEAbXJDDVtyLz/ZEOWbg2WCUH5bhpR8TaBBfMcHZhAvlrQ42m+pzaQ4IMzJZMd6HcdICzUZj +uXMDCRvDWbhsk81/ebrXqWUumxp6IccFlk0ZWHsiAsum3C3ZxExlI73/9A1la0fUHQSU7bkimZiY +bGrW5F4Gki0QvgFkm2+YI20e21yVtY5j09hrQDSnsZ3+FTOL7YxuyECxSbj8KHLfymEZuzKB2JTp +Jn4XHDax5dhoBIbtVJ6qG/lttXLMblmtgLCNcK6K1ztCkxnBJruK8//P3rus3NI12Xm3sq+gtOYh +T+3fDRu7YYTBzUKUfqwC2TJSIeG79zueiJgzYuVWCYotysLqfXt8mevNlStzHuIwHvditrynaguG +VX66E4JllDN+bXhMY9HXVLiBr1jA11QVMpyEtthrEq0Y24vhtDq0Khgnr43blrcFvDa8vXeB1/Tw +9mnFRrbwvH2Mz9w1ndbva2PXlNn69GdT16jfvXqFrmkdA9cxmGtq8bCSbieuWR1UIa6JiQAINYBr +2vc+7ujPWKmnlNBkxq3RK3ZakMUyatO3i0FbG/gkV9YaBHLdtUCtYXjquyZmy/vxBz+D1kjKwzAz +zlrTT07tQ3DWWl/OY4mzpknEBqTgrJEzYwwLzpqtemfFrD1h9xSUNa2YLTOdKWsNG21HFVkJ98cr +YBdlrTWfRgtlrap0K7TVJeOYtRYFVgWzhkqQNDBrKARXA7PWqNk/rUtvYdakGqcmMGuN4ufHwGt4 +xEqx9qiMWWvhergwa+TvLVnlPr2awinTLZg11KNvypoEaomCsiZhtmUDuc46rLnNIWtkhWemrEmx +qF2mrLXhqZxFWZPioSTPGGlJcgPPyZS1ptHCMixGWVOWh0cqKGuq+hpm+LYpa/RrwWZzyJpS7ZZa +D8iaSuEMup0ha8rC2GI2IGspB+CQNZU0G6U4Q9YaYcp+bcgaymybscaJx1URaxItIOFlmhJstQBh +Tf8kDlMIa5TVUcQbhDXCNFStBmFNQA0uuBDWpJprtRshwN04vfKE6IcUa1TKhDWpHwbFQKzZLaT8 +5o6w0+X1oQmx1qL6IxBrSptZ5Xwg1hp02OH9f9FndduqZyHWGiZLs23EGqUE1JNkxFrrbk6/EGs6 +k994IdYafbafuyLWfj7Kch8LsaaGPZbWC7GmRjzzgsmItQavdY6NWNOZnuLzQE8TLE8XkQlrTVk2 +CnqCsKYvvraK9N+qApIGhExYa1FfsAhrpkDhcm+wcuJCrKGyZAnEmhRsyRZiTYpV8mfEWsPOyYmb +5MnbWA4Nn2gmPfyzMmKNUkwbvH05xFWQCwnEWoMJPEdFrNG+SCbTEWuU31v10RnlNR7My4g1jQHW +YBSINQ06XgvpiDVVm9lUlBFrbEw6haTe+d2iKWYh1hquYqyXE2ONccdW0Q5Z04tq3u5BWaOX4gIq +mihrqISvg7ImpSfGmv4NzjQj1mi4ePw0m7HILD9tI9ZQ4qOXQ5Fq7cl1L8Sa6t7N0jYQa6QM+XEz +Ys1C4/fYiLUejaULsaZMmZWOZ8QaTpA0EAVizX2E+0Ks0THDmJIRayy5TjcTNHdTVTCxZAjEGk0c +FAVnxJrhfo9nI9aMhNLvjVjrsJ8IxSTEGvXj9hp+YkcxvNY9EGvGjH96RayRVqMjJRBrhiz43Bux +xpls7jJiDR8TIkuBWKNWn2c2EGvtCWB9RqyBU7ARLtoKVB5PXWAg1trtlSQFscaZ/M1n9Ww+VoEQ +iLVGdvquhDVdhy1TgrDWWbRdzyaskUuOYqIArCmSZMZJAVijTcDmfgesGZrpPCphjXr0ZzEBhgUK +zE8xCGuKFfCDF8IaEAwrPXLCGugbaquMsEbzlbU1J8KaWaM0R22ehwd1SHO39eA9/kkZsSbVwsKG +WKNNiUhnINZQfCWzCGtkrFtYWzHAkNi6N2CNZg26phNgTV/bau+cr6bXgbBS8NWUBb0vc1hYeDUn +RztFgCpJhY9OwG/OV9MFMAoUvhoqDpiZsKaoHJWwi7CmB91qg4KwRoseyfZMWKMefbYNWMMlmBc2 +AGvW3TYqX62Hu27g1fhhaSAbq0txeltRxqvpbaD+fOHVtNSzdUng1TR621xf6j214bHafMOrqQCU +Bf3Cq2mqt0aOzFdTWREZgsVXawDdP8+vwldr1LgfhmOyvN+8LfAWeDUdwuNV8GpaDFvfZODVtNni +7y+8GnFDZqZEV7un16ZHGvqKNVew1cD1nUdlq8nUkfxMoNUUf2CpG2i1V0z5Twas//nIakRSuxPT +FlmNUoHAhKPytXkNnKyGcPmJexrXgLyxathe0eoZWDU1/FhAIGPVpBpxJrBqKJgRB1bNjjm9kWQV +O+cyC4YZKRaNDayaFKqKC1at3eFioFXi441Fi6umAdl6hDNXrVO/fFpu2Jbdcg+hzj8amslL238k +rpreKMvvB1eNCBm3PrhqxER8Zi/jgk2TjlWjoOR0+BaZNL4Xu4eMVUM9o6Lg9jPJNi2sGp/lyLbN +TeoYOpqptIMGnxgFoodco1S82QurhjVYwap1thMZq5aUBPLaamDVMKTPWDWc/7+xahpcC1ZNF+bR +PMeqYT9N8Dth1RApbAusGopZATlWjVjTaZVKK9dCVJVFe1DVFEO3cFFQ1aTY/iVj1fQOeAuoc9Us +tuwdd9aBFELmqiXVPVDlxVa4aor+v7lquM8XrhrbxsJV20r5OZYaXDVz109cNaBi31w11teFq8Ya +/MVVQy1cNZTMVaPb+5urhpi5avAhClcNd9wXV01PU+Wq6Yc0q73gpZk56qf9Klw1/BOOKx2mpQY3 +M7BqdCHe3lSzHLFQD0emgVWz5v6+qWrv0fcfnVX+SVQ1omv2eCaqWoPRM2zxxnyt2Jzl1IKqxpRL +H3qmqpE6m2ND1RC08F9QNU7UirBA1aQSvAyoGvHT67g3VI2eJkKHGapGvDEcTS2w8/EIz4KqqbCC +zGaBqsk+w/ZzAVWjF82MR3yNRPcYT2CGqqGyhAqoGsp0+JoFnD6RQc5UNeVkLLzkWDUa7AhmB1eN +tM0M8lpkSNvH7SmCq6ZfxFZZwVV7/5Z/+ZPPi9JzdIZkrloji+cW2FRBc5w513slAwp5i8xVa5Hd +W1w14qdLwEfk4wHhjFVTdMYCzIFVazOgyYFLk2GU1XxkrBqrvJHxax2E/HNsrJq2HeRQC1YNFWes +wKpJ4bFbWDUpXn+ZsGr0pRsb3bFq7HXJxwRWrZtTd69YNaIBZKQCq9YDx7KwanrCzQ42Y9UY0Kls +CqyaivO8GtK5alvJYLWk9jB76o51DWJaezzqnMFq+KJeQXSh6+yzcgpGVjNhuHXVQght9YoyBN/R +L7aaxlRre8lsNVQK2YOthqLRZ7HVpNjVZ7Yae8Q++yaF9Y87cwVbDZtR61FJbLXO23t4LsLCLIEM +C7ZaUlLpxlaDraY/ebBdC2Ya24tPEuyZ9e3dPgx/bwr4Da22hYxWS6pnMCldvBJZTQWaYzk8BllN +J1rVWJDViNrxfMb90t7QWvEyWa3hwt7sF6ZBSNHhRsOUf33FgVm5F7Ia0WFKrYKsxhaPwr8gq5ES +oY03gdUQm0PTqLeRQix4gdXa8MK2AlYjfnv3zVVD8E9iMLEjPq1i1RS2ptcuqGoK+Q== + + + Wr4oqGrvkfJPztvTyzELVG3OoEY7VO0IK7lgqh3uZ1WQasfpvYdBVGOkOa8NVDu8Vbbw1CJwGjg1 +nYWHe9DUDjdszCw1Mv2tL5Qa+YXj2SQ1aFXUUSaQ2nzc1D04asfw+FJg1Iz82H8VippSL0Y8cIia +hMvZaET+qZ/5BIPBd5rRT70IahKwwgyCmv7a49jH4KcpGvxrsdMOD90udFoIhZyGeG1umiYbcwEC +iXZF8HNT0+7ggZmkmDVrl2CmPY/1dmdi2uNteQsAoFqpmYFpCpoSmMm8tGVVEOL58T1P0NJOtwjN +tLTQFi1N1S7HdW9Y2n1HCWzao1PJOPtGpWnhZIUHgUrbSkalbTVQac8dPZROQMOz4ExINL+Rl6Ea +XaQosl8bk3ZHWUHGpN0eJ1+UtHv4o+CT8u22WIWRphy+hQUdkYZvSzcuBhlhBUFIEWdAGiHs/iw+ +2h0tGwFD42mg8TnR0VSBT/4/4GjCOAQljHTyFhINaYtORrs977iAZ8oAY2qauWhwfUfbImY2/gDg +irWEjEULcWHR7nDzCdyZmsJoPMhUNP3a5m8Tqhb+FE0sKtpSChXN1DY3FU2lE14X7bQzmdtQf5Kh +aOI+zSxGi8BCop1uoVSIaOewWdYjtjjTu1Ep1nxqWaVvJ9PQ5PdK903A0OT1an/LWWjniLKEhEI7 +3Wc6QGhKcl1nUM9+Tj/cqr9g0A43XVmiInKMzQFB20JioC3REGhHVCMFAe1wP5QCQNMFPG3jz+Q0 +EV6x0M8ksGrO8DPEe2722eE+xwt9xhdrvZLPMKI9rw0+m5ZIXtiz+HeGnoUWyDNiAePZDbaH216U +Plzdedqqgncml15mqsCdyTeUZyzBzgTH/lwbdQZJ/HNvgpl6rvjYDDpjY4eBd6gqGPFSEzcV2Ep+ +tZe6QGet36tcA86Zdcu7vcfinJlXEAlv55zJc9H8/4J01giWzKuSzsyfyD0UbOcf6eKCOtNisYgq +7TAWUJDOFLvHWa2Qzkztoc7Lj3OHaMsboJyh3FH2Yu2LC3SGMEDxuLE6ipVjJNAZSWnGdiedSSCh +sUhnDQud56isM5W1WDwwWGfaYdmMG6wzDM7MTCexzqRapjNYZ1Is3RisMzZd8y6oMxwGm3ffgjor +Cg8D53nT9CKdmSvlcS3SmVqwrQvSUWeKiVuRyEadaXti/WWBOpNiVrGBOktKQp2ZqpDesfYnbrew +UGdYh9xeVLpQZ1T8WFHCFf6F3nK7WGdyebYW1Mw6k+pda846ww3a4We2DdCYbu3fiXUm9R5BTtMi +5XSzzIU64xBuc0adYa5CJiBQZ8qiuVOWo85UVGO1Txl1JtWq/gJ1JoV63IU6k2KhxYw6Q2V1Fqwz +zmz3dpTkw8Njcq+oNDUppB2ks0YFwOfcpDMUkoKZdLaPC9JZY/5yiyB3+rYq4406a4qpk6rwY1TG +ebewAvIRxpSMOttqoM60KSOAshBmWBu0s5LOVHljN3AdplvFM+igsy0kztkSA3OmgBMRnoU5aytj +kDBniJ9nU87a9L7poJxp42v9lwlzJpEikaCcITQ/ir+CQgAyY8708fYKB+as4dF+9s0v046cO5Up +Z7ugZx12fjxCH5izrWTM2VYDc2Z/wLIVNAMPr9EumDOVJBnrIlQiqBYQd5tcxWoNtZkwZwruWqA1 +MGdEUJsHzq2QbCkZc2bqGL8W5ox6ULZmgTlraougoTRjzqSaNURgzqSYH7NjzhDIimXMmVTL3Djl +DIHMV1DOGsRHB6Ytypl+SWu6dMqZ7qK904E520rinC1xgc5IshMGCYBZ0zqtPa2Czph9sU1fx12+ +MQ/Q2RYy6Gypq79IwSEzsQuAmUZBD3ol0BlPHVZU6zgBmEkNBOhMgVxKGzPnTOLTzo05a+F7sDhn +nMfTkTlnqD0YZpQ+HJd3MwbnTAqZn8I505X5meKcmTUjXs7GOVtC4ZyZOrLTKyGG89gEM0Jp1uuc +QGcq0rB6+XWcjGofN1+wUeiOIGQmneERiy9akM605DCARJDO9CVszZdJZzrOxlUnnRGQdD8Tzyl3 +8+QqoDPa0cxXMo5rUTwaoLOtZNBZUh10Rr3N9Cy3mQjrb1pmLZHOSLXTIhikM7xWgog2zLFaQcrD +/DF2xvyzKuTuaMzqbmcXqLNV4lVQZ/Q7dM+KsX6kRgnUaKDOkpJQZ0l11FlfeaVAmJnXbFZsVXaH +v7erJOAYOQN1hoX542UzC3WGSkVERp3RcubsK+YN1pl25x11tpTCOttqwM5UeWd2cWG3qn4hLV8C +dkbVLEWdGjK7V2gs2pkpdxo5OGmpQTvDXJBBOWg32p3YXcm0s/aJwtqgnck+gWKpgJ1p8Y23S2ad +aYHN0B2oM/W5sgTMqDMV60ItCNLZHWXIgTA7b7MVLaAzmbTaWsxFktCOOKP1I8HNCGY41mws+zvf +3EzHJhSombqXupuPgSx66ChcRLNXtPhPhqL/Pw40+5d//b//+q/+4a//+m9/TrA/9d8Q+GxSePiz +CZ5aOwT5TCrIwKVK+RkWLhTyZ1KOn4cbJeBnU4l8lWxMrQjp17MU1s9/HI+90FNVGZ+f3cFUcCP4 +Z1NxWS2apzojNK2j/GwtUUjR2zE/T5cUrynl046ft2jSoNEHnw9AEkUv9MT95rJPWhi0qWppwRxn +BFwmwBganj9W0juVfv350kffHLSp9N/UHzxsdT6Y+H5m8KkNhV4L9ZmLmzive5PQZL1Drcq8vVZQ +AE67+TTuw0JrVkk0BYvbMDT6dm5TjYbWxFQ5UJyH1ozMKCUB0ZrBCKU6EU2VaUdHcSSaqguH/c0A +5woqKoLv1OTf+HxVLf+M5JNGHHLIP3NAj39zllBPPBJ+zGSl/PNTEn3G52Ep9+Z0bVXASUO1q5/v ++vkNnyhAPnAMPLZif/FRNi2pui5Qkbpy88c6sbD5OUb2xeHDiioasVQi5Cg/S9If5bDnUkoXOhkl +HHGlKoklkZykBOibM5qVpBw/T4EpwUmzhP0h9XIzh3OCp9S1GigtBP1cC5S2xNucH/Wtf0ba89eh +6Z2KBDXW/OxxtmL3VdOPYqjrOMXShLWcskACbL6U8oss9VIdDtFFexcvp/votz65f9dnI9TkotHn +7W+jkpkYZvzMjVOB5YCoIarzbkJSdJcOf/WGdb4Q7/30ibJAaqj3x840NvckxuKKYr9WtvDY31wN +uDKEaSK9Tzxv9eCTZTumDUQkHrTP1k8bAifemqd7UieY50t+ClYrqbHws8dC5xahCv3LmClnNCl2 +DezUHlPq+BszpxVOaax47Nnqm6nGb8XPoUIKpQb0H00cY/3Ucm3lyXuU7hwLdChJXPiDYvTP8Mfz +57mWwvbQnv2fd0TKQqrpHeGuS2XFau/SYWdSfiBliI/KmYFU0xsN2Pr4eO3yxDlPV/i4N7Pe3Z/N +6rAPjSbQiX/YyWiJJxqP/8+IxeiCG+TUYrHbMBtANTQGfVry+IMxRmgNpDd9EgrVI6PxOYhqk44N +TVkq92aKU2+FZlcUu80KP/w8dZwZabT5wJy5uTLWqnqhdfMmTfV8te/f8S/+O09hRvUya3hYQDWp +PxON1/MoQsRxd9TzaE8vBUI09TxBVJP6syj3yiLVB0j5HAxU3YhqE3vMx8+MfKxeDNpWNd/KvWce +FD0eNkVo0zOxDPTpZiHVpko/ZMW7jzPndktTUCM5RCrTHEyR1eJ6K5f6PGY7bM5CZFeV3hlu/DAe +0v/WF7u69wf7jssS/Vh4SmF+RSHNJmX0xwu7YiAAqKQUq8xXWMyKbwhye9jjMFXRd2PRdKww25RV +UFNnitpaFYOe5s9rfnO0um9FGdlArCX1tkDzFMvi0M+r90MVKwwEmmuWYn9T/Wt8lXUcIQX7LMbd +pMwFWktiJ+/EV+JhkVmFMvlTO9QHy74nD1oyKlJGUP2SSvKhjNOOI7jKmVw9Cxjfn08a96ephPkm +ZW8GJLcF3EdlObd9+Ip6D2uVuuzS8B+l+lMz8O3WvUl5NnRtqzJa1vZGf4GCba5RUQYt6trPFmcr +tvhTGGze6TjF07W4HGAG9TYvJWBAduZSu7HXJnZvqi24PO4zZR6qIUerpoVfm8TwT3MwtBukMmYe +0HXLtIFqWhrcYxPYpvISDUuGw4IOWpF2tf/qOIIJUx5mmhO4iiCwSWWZpuMYXZhgP8oBq8tXW23N +az/vQONFWAQ2qVRHS6XcSsrPwtJeGHuMT9xGD1MCwSb1/jz+eTB/pTBAPO5fjqIaDVa0bvUyZc48 +MJqY1lqkIenm0ZAxSJ82mNXhMibMA9dqBr5nE9gORQsYieQIpDXQcajU7bYBkkKRQ0sInnAtHuPh +ktpac1Vv98GSZNril4Dvweqm2zC9CGyoMbyymOHM7oMyHoV8ulbdDMphlHjQuq3Rj0XPzwkHodzD +1ooEIw61Qp8Oi19VBPpWP+/5ZAwm3KkzIa6v0elQuJf3VkUVwWA7cJhTrlzN83q4ULr9W0FE/q3l +zaBZP9L7UrVGxFNUEzmKNkK8yId/0ikarpSAsOmrs0kclMT4T/IzPHeGOXqElzIV6PQHa4vdabmH +TNtZiU138Dvkp8JeKRTOBGw68nGq3tZaQO55Cl0cqoc+tUjrx2aw6bCfZcnNi0m1yaFeDRYF8Cp+ +XsFD1dmXHvNQ+JOyZlVD4T5uDt8n4nx7PklRcD08sZY6ZKymieYYSp4z99+WxtAX6qeM3ELhzA/e +ak86TjnziVWJN+NvRZHecD3bqjaB2qYfVB5rzInw1qGR9NL4FUrc2pMJex+n+OZtowJe5QcGt3zW +Z3PYUG0S/FgkDIXH5fEOYCnEHaQsDptU4hOo3FuV0h2a1KUoOHlQS/exY5Yvka5t9tufNBVtHYJ2 +38OmWMoA7GE5nq3YmQoiq5VzH6cR97I5iUrFpCSDkKROC8+z3GY90GxU00X8rK3urXBiJ9b8pOMU ++tYWUn8AE7GtPMkcf6kzclT6Cw9r3ubLQlbkXXvsUOJBYNkdIlsMxZr0Ucf+JxNxcNi2quQ6P5wM +H7nRh5ewHDAh2b5eu/LyAHCeVb04P3/Lx13VHR2yWNQ64nwWhUvazyeayTTrICmn1uaDCg99Z/ro +GK+f7V4m9T4ee0n89Xqs70sKi22OOS9TwtPtwKVA05NspvmStMBSVeRw0p+/9jeU0IRgL/RtW9l0 +2OO/LK7ceiS2cm8Q21YPL5/R4GnruMMnYf3JqzezPF0kNi6EV+nwHJ+U44MT9cA6S8JkYa2+tzWR +oOqNk9PV8D9wXB/b87N0tG/JZc2NYtPEZCujn/uDCbAmX1sZsVy5s6JOiECxbVXhaMWxD3brLO+t +mEZzKrGMENYvcmrjHkexi77MTJ1FyyFjWOZZ6Ga+uTyow8CO1Km6Gi4+D76f3fYKh0KefHgofxcb +8t7nVrWZIvYyoqB1K3kYWKoW9ebiqDGZaF9zgxTtDvupj1DxfLDYFFdkSzcBSWjLrA== + + + BPqlVevHOcwTLxb9L0gvvsEkJsIa/2kkOCfREr1LLvxHlpcff5fiKPMheRhUmGi1Uv2ZAjv7s4Cx +Idpg6k6xppzDlRnKDMXxBlLpq9Pan6QhysHQ/1gFC0rTfuJ5NpLt5+/pg09U0mRSThvorU5JwrCb +81lUNlsyEHGZlj+Z6jWzjcHjd/8Tm/TwiYg92D0U8JWqzYiUq41pyvnYT2ox1M+x4WxSWVlJpcbT +lI8pZPI4k5CQytHCkWjKj3EeNjazXpmYsCn+CtTxZ3ZS/HpoP8oXCUSbNjZdz0Nz0zcF4M+H+9Rs +cZuUYyMctjrdWFj30WL+KuPRBnFihG6x/EVpm/gKN9tZ2ImY1pydKKA96cK8D49iLEqbVGICxCxU +tixlKESFwtYBe93hUYzweZJ6KKRhn9c4TDMqkQ1tisfjN1p+9GGdNVWYNPVsne63MKEd6KdUJERL +1p+L04hvyqK0Sf3ZGR2uDjuOpb8UMG3z+HgUUJ8VmDZUwrenM80589LIoc2AvvV8fBUrITBt+gqM +6z/rAkp8JxZ52rBNX29sRe0iEaDeqmwQVC81meBu/fSX+eQpcskOdSm2Aft4kH0ddwIQOnhWLA61 +FFXcRAXoVue0lac2c9ewb4uPh77GUxS7PRoMFa/fx1Gh3gg2WYBwK23D27Y63AhnHqfNeboDk+3j +x7ZwPLjRt4Z6d3uc2bVKIXaJolizlMkdo7Ol7zMZKPm80//CQTxaBluKvqBoDa6HbcHbpLK+1qXZ +ukq0JA1vjJA6Tr8J++al2JPnI/Y+ToXipJfkySF621Zm22VBW9Xi4Vl/Qa+NggUKpelFaLw4ofyd +x5fZnO7jFES1WPa1Q5xsLxX9W24eCoVasBWTJ4+hXvoPNlAkcEKZfePbtqqSx8MDrB7cVXWIIh5M +vHrUFr5N6s0vJ/XT7bif59SP47eUQjLrfLKncvchhEZoDf/0CvnsStKLM7XOQVnhzuOxwJnmb/Bt +uou2j7vdcmcrz7Fti5eqbSV16nophiYX1ueqC9cLdF19C3/nY2y/njsdhumwlpLNC/W3ovbBuYJV +aAqek/SYVP7rCuXWfbGzVZSU7NvYSSceO7Kj6zgVrbGBnFaCzPt5sMm8N8RN6s83MxU/RBRtPaRg +ssaZGimlLIibve+n5QpYrk/M4rVC115FIR0p18OXfDbETZfmZ17mVjUVd1YyT/kQIG5LmTjpr0Ek +VFUY3/yF4bOetjLnbakZAktLsVurgumWj2u0EzwkzWSto6m6d2apZ6OdJiaZ5IGn5fNmi3zS7ZVB +ClraOvBpi+U24TjqxstsRz3c03BsNg1CCdCS52d0mVuxOOmMJ9bVQROP1l1KinzY1oaiEuvwi0jq +4/1MWK17npn8ygePZ0tathV/hkJsiWdLunw+fr+ebqkTFJZRT9tbV1Rumr46M4k+izFKhXgWBFcY +YVjifKHdWGHKvUGqmWk9l1/FHa77W7mWu3wSrcZxkFjiTlBvrOB5/rdd5/Txex91WmGA2nwIrH4O +f5QUvQ+826RVe86t/i/+cZZljKAJ687ODtxZ6kvR5noBv7YqbwOmaNWZ8nqN4ZUN6tycSgeGEpM2 +Of193O0VFtqsA9VayhpBbIIIVUWbSvbpOZoMz4DENRFew2+QyiEc8kaenvCcSG6KBCtmxQbg+lhW +T8GRn0Wpr3uC8cYYwyCu5iEx3nTiw8pQFhjBeFOYZnQt0rVJV/P6z/DiyXjVkmuiOgZz07EV24TO +WKjFcWFAopkKe6GtKOYX0I2tYkL2c/cUq9VMMkCDazs7NS94SC9GggOnK7XEadrQpHooH641ksJ1 +7P/eUe2Id/8XIW9sJhsZ0Lkhb1ItWvm40yXHKSAuhcKUSXEuD+NMOwQ9h4r/TVJPurWqnrRl/WHO +0rr9XsbTNuQNlVWBECoWjuqef9EKgy/aKDp3ZccIVXiuMRVUCxFBsm/2M6npm8CcFQq0jXnTU6RK +GRUs0Kx3qBOSqVCoY7lqM5FZMUTbrDdFCFtvNtpQEXdgNqPUCZAr3qLT0pZMvsF6UzB62OupOf+X +wj7EN/Vvi/dq/aXQk655sd6kkh6Uqj0Lh1la3nAlEqhUkLBYb6gfwqZe3k8E5vZPAvYmhfg1SiRa +SHi0YbMoNY8EvLQypF6AXIGOp4F67g4MBX5UzaGoChUNClCx19YtYZ2jyA3R0wM6fFzqaVErXj0V +Px6qiFa4XbFtQjckm/UD93vD3o7DE866DGqc+UbjJuqOpaVuM+sS7WYD9SZx6AfCQllRRYyb/DD6 +jQ5oh59pJ67ePsXqtGcnMPnc9jP+zCamQHpD4a71Y5PepD7c6t7txVIGhiXmIUMJC38NG8UUblqk +t4O2QwucA3o7DL00GLsAvR3Kl53NHsYFejtkiak3/MCFvdmZF3UZ092AdV/VgEc6KBhXiqaxqTho +7SF6eltpyoFFyckvRVZQv+PivB10zSteqQdG6QGF3Jqygno2FudNKrUvhBOFGNGFPwrroojzxlfR +2oIzg/MmlQHPPk8jgxTtRqSwF0M5PRC5ggJkSfTwD/et0kVQG6j/oDlSJ1o5ijK0AXr72fZrjLh5 +UWmApoqGaIsSlkoGMWpoiabqgeC82ThpNS22PNVQakPFYe3a70E4xu8/h3mz1AQrkGtj3vQ0XRfx +xg9OybxpZIgft4Y5ZqQSNbRHUyw2x4eLWhJLeShGYSWizYmUEUmfnb1sjA6a9Yg72GGnZe8xX5Cp +srY7KBFTZTi9iBEOT/+psJhCAS0WNcBazdJtV7UobxrUiQ4NfgG1FGtKIgvwuFWShnlKo1Yi2/Ic +00qaUA8vnaNqk3oQLWRRukoDn5EyrVpvXcPSW7TOoTz+N2mx48x7mpLcGFS2dVhJC5i3w8xbbIV5 +Wmro+7f8yx98XgiRKgejNdMCvQ1aPjVpY53XLAjLlXIcncIKt95aJChOE6w3VFat9GXxgz0WNZdC +fmKsiqyZPDBYLBNuPCL2rYk9Amrs+NXFoNtvBUwBNSIppj2Srlq3TLsglnwMsw9lBrLknzaXLOob +zwjzsVQt0CkFUtBfilUT8hydCIv7hqglgVTzXnoO24pJAf0mZSjdixLsN1WX/IwnNvD4t2xW8Kfj +oL9NrrpZCGDx3yb0gX7xiNjWTmBEbYz0cGnrMjHLnlpCt02AUzDfLlabJKqZIn2v46yMjbbF7kne +IMBpbz2YY7RzFwGO6OhzWmLTCv0VZ1WpG2uVeLAJdZ1eDUjnq67NthZtmEXwBEYzbW2yCHAENp7H +nntMiCdtl735akhXK0VRSZZDYUIs9cNqieqqbsf9zDR2FZ7aJ8DPNQQCTlf2s6Y6SPMSK9MdI9mn +H0DvPYEI++hjM+AoAn8+VlIJ8YV440kd7mmBXNg27EDvxYDTeWyAQbZpgav+SQoNb/dTICjIrv2+ +NotIcQeqgwjHaV/BQ6FtHOWe2kWBzCVOMDYGbrJ00Q7qfrw8tF9ev3v7mE44jpHnnpsEp2fs56eZ +BDUYT/VZq5iWcueJsZ4igIpgBgxOV9IbwUYH3hJ70vfGcedjZbAHdZ4zgU9QiZdOQwYh2NjjCE+r +nyXidK5Nu5fQnoja7NvtYpw5DVQg5WfUtm6E1YKoK7W8z+G9eBPfEm1GiAB6JqkMk39y0lYplk1I +Z99oOErAjulWD3B/VXVK+Vw3x2VK8qLecAUyUac+7nIreQr6VOM/6D/wervzul2JoVQqwVPU+As2 +k+mzKFG30JX/zfAZG+C1btunmheaSoOoYJBT/rQ9reWRVS4ZGwiKqZX7sJT8afMvi2ThedXFqjDO +VEpGbRQLFCf1oFvh9Np5ObdTjSYF1rMUTJuuc8dcpV4KnY4gwkqxarTL06ko1JNc5/ZC1JxMWa9K +qlgiaNJirUsxFrOX0sYUQZ1tU+M0HloCGD8svQyHwk0gR93hUrvVn+3Lwc2PEoN5ep09mePpqbab +eje1i6niY1rns5VXLm6cXkZ2KazRqBC8ozbv44lSDVcUk6oG+Xx2AoZYGp0hBkMCdWfVryTTtAu5 +gqC8yoU/hxfEXO5qrZIQ/5Pm6MsaTBvZGS5p9ov4co8JHgyhirzIyGhbdJOoGlYQw2gTBDladmjI +ADFuWQaKdyYBYso4u9X8Kiy2IHI60QqjHrem0udeWqmzgiWcrWittk66vsWRI92qXOZSp8EG/EyF +oFGoFHjy8A3OoNka2WCPnElh1GXmDPp0e6Cea+Pk9O3YmVL6zNIJz6TbHlTOOy20QCR0PXbNC0z5 +7kyJuk+PNzLRV6lrOAl4Y3/yxLeMBNjH+z+pR7Y7e1iVpP4XmeVPW1Q5gqCU8mH8ougKfNPLCrYs ++dhOq71TxfKKJEyYSFpKhe+q0ng8LFrzU6lJ7u1DIXHbJVxUK+i5m2GJpTOtjqK7g/Y0VtbF9LXg +cvoGbI6pu8VVU+YjDPTdN5LU0xJn1CLoiRaQFrVkj9XWMoZTkacgLgYzt18slburTF0qlRRE1TXw +SdECUAo1blKsrg4Txs+xzvwQQ9Sfggul2CGbHf44FZuqq7VDdqPLdVoKjl8AEyRsLZpVgahklrpU +C0cemzaHNZF9frPihEGt8GGzgPHmFF9QdlzKJs6dHlzRWGbIOQ3mSjMx88Cc0yxmVY09Qeeksg1T +pwQ/gPzclCeQYti5q9vSGmVx55hWXMTnVKA1yvb0UYDnUDrCBs9xnn5LVd9gvHWust7HDG1pBTuA +3rfNnqPYiRIk7Uf0y+C7cNrNIF0+SBjePNQLP6fKI7ZOekmsMUGV1LQ9aFbDGUgOfRRnPSMT6NSa +Z/kOs4pTa4aWDnr2HUHXzFPaykHcolofR9WzVvpWX6PSUCL2CpfpLdQ6yN4RVaXt5ZiP4ZRiXLYn +tPIO6vKYWWa8XHOD6EgyayhjGU4zhGFrHz6KIIGtvaeXXQSJjpUcrYSHN5fpIyzPLtpVoOgoOCBF +fHnpt4YCW5wC5Wq29rOruNtG0VVVL74ppwtaKkd9mSnRhCSVcVZt2Izh00O/KLRCablJplTKKvbX +GlcDBKkS8rPUgHuSBVtdKbZ71hMbJDpNyHNGZyIj77kybNPMjCjAIXqKD0RUmOHZ2C0DbKnXw2uo +pLAkPrSEVCTys+FXEg/rHpwWJCbFPf0oRfkkWFzxM1M9zTltsJ+k3ti7zwh3eXJL6xzs+FcvJF8S +JI92MGDfDsvC81DdPrWrdYJODlXNntHdFb2cWqiy5VK5GHUCYmo0IkDNijK15losOrZoUbvES7hT +FXJxlvuJSrsfYhyqNQi0iTaB1nemWoNG1ObwdAavOzvT6V3IR980OqlEilCJFCn3S3xQCv+04q+j +bxydgvLXAeX5MM8OwkkU7x6Rk1BrDVsWbdoDRyeV8kepVgUtt/7Ti2kI0Ehp0za5C0cn8aObSPD3 +YyEFQl98koXHmhXJ8hejypRE7GNb4X5Y9vLuNHcftr63xPr09snoUVNYRJ91fYyMQg== + + + 7oaqejyFDsv+8eiysg0a3SQfoOFuXr7JO5vXcciURlatkxZnveTifIap8jSfMOs/92LLw4IzDDcH +TZMaoLWdnp9No9Oe2baHM9pS7miPnhGDuptFpFWKsBwQlPm0EqXDKZr65muTiouQUmcXC63Z9hsp +1yEScBaMtQyblYc0LxHI5y0aHSpLHCqB6BJUMKC7ojFXivU0BJbOzmxWkqnpwBrETl+76F7b6KoJ +8vH2o4V1ohjVxu/T5gOu4qBR/2PHWc87W+x70+iIrpNyPcwKhjYEop8gNQ5rVP6Qve3PotFpGKBe +2BZp1KlNjwpS/OL1ZDbmy8k+aHTsdmiIV7pRka8ZDUIsiJm3ZPCk8VelI9ENxMhz2/ZqWFhZfndW +5OGJbFBXk4dnoehQT48ycXOk9IOpJLJCGKkOVwJjQ+vJ42cyaVkO/HGFRAhWMn7MMpJStO5iRho9 +qpvpzTiZ9C1RpCUwP27/bBqdRfB9w0ETHN1S92UbK/oxlcsjiUndXZjeH5oxutf2YNF+4H7ZrHzU +IMyXjylKzQeNTolGuv9si6wcsuAbrBvkcal1AykowlwKUEf5gpKQFy+fgpIkfKYnTqc13wz+5kkI +SHVrQaOjiJ63UKZ32ijRk8RMpuOs6emykgmU8HYjrUZd17jMMN0SbYw2l5Upc6Z5ZVybRqe8moW1 +Rg871Mef2eASU6zOWyL31aDRKaztI1w0V9BzQymp0y2V7LHal7CuWGfyNxVT0rr8IGB4+yD56RH5 +PnhnF45OF2JrFRUM4WzN0u22YDxdBqS7eWpVABU8ugNOGFUf0zxdSdSyANCcreI4Eq7TzCVWCx8l ++VRZKTulSLAuwkabJ9zFVarGL64MU0SCD8YKz80Ra9a9ttrE2zxkFQFnH50pmtbmZj3vuHRIsDXC +HQ+erPXsg45dsyrVCkil2nlWsaKPH8067eC/SFk4OnLq2B6IfU5dCKP5be4LBMXpWWEi1KUHqnxg +/3UgAqQjuU5dxG2RZqVrba2hCNu9vHRn1OkM8yrSR7HouT8GpNMl2EAgNm4A6Uw1LXB0h5X2nqg4 +QelJt02FjgOGfkRjgnaMgaNT9toWTNpzkVq7Lh+4NCCLR3dcHg9jfg4bLeWzzVBCFfF0l83D/R4+ +zoMknYNZyGfmZdttbgdY11C1AQ+x29jPEl9juM33uYaViqQ7Qoyn1cWQfNeenE2Fpnt8WNQZHEA6 +bUKuz3F6Kd3H3h7vTx4bSEfp083G/7QUJet/a7Q/bU86aQjWXlNh93De1jtlbaRaidBwoWoI4qlk +6fVTCNVF448mnPBrZRJkDxoZc90WC2Md3cJ3dGc/tutfUDrltVh6yi0DK0HCFUrEyuBvfjwcUeLZ +fzJa/s+HpaOyoWvg0oQUWDoqG3jmQ6WOgXdRY+RlyT4b8YSbWvM5jeOU5TstRI+o1YfKb4nh+bNC +BZkXIOTLfVhdIi6zKGpkIJ7J1Mcxl3fURGCGzxvdYt424igQSLj38VzvQbNL9yh4kOlUAMg24WMl +M5bT/bhjroZmK5LSxifAdJojbN2hekldgwYIKltXn/eBL223pskFptNaATcZwm9qx1dNDDdfYRq7 +W+fhca1r1gGCKRM1KmC0NUagk/U8rBBRyiLToVJ8J6Lv7Wd6OCdaxfVZGn1Q4sk+ToUWFGhSaTr9 +y+fw4eA0o+2DkLi/4otMd1iZX1IPthaE5If3oi9F/MwA5iT18MEM4CaRtoE16EHr2NGWwHlK2hxt +iwdtwIr8wVjQo3SF8YSCnFF2JxEvDXC3HxuwOwZS8jg5GLAvWzlIWQkeqR7Qa+Ygeqj8kw58KkM1 +V4GannZiVBof+hk+p6eglFS9fHNA5kkLyi3MVLC1VLWgqPHtIOvVGceMUqLbfd6XK9H3rhz+Q+rG +1VOJdeoHLqfTJyX9Glt9PgamO1QyMoflDtSrc2Dz4vuFANPpV2zTXjR7GZSaaXSqjc2lO4yOZOW+ +CjYjnLfF9SGhPBghWzNbYOkQm+2AsFw52LIcdhRpCSmfW3OslMDS6VH62eJPXlurGdPDoQUNw5Ds +BFVpdli5zLNdBzXbE/bYx43p62OBih7WbLJyblausIzJUG0TcRqXTooFMjWuKvr8Hn//0XnlnwSm +I9hmD+fcYDq2GXNaPpB5W1tgM6o5HQTOzEsj4pFnaByhhvXUkmNDwW7mGJHSa9ZbJGWR6aQSy0T1 +9LSlBQ63AiE+SkpASpDpLN2N144D6RRdbdYJfVvceFJhN+ztXWQ67f/dJGYYmY6gL3VXmJt129Xc +J4mRZ5PpUHu3LnACJSiHJwEZMSgKGXbiAtPRJkVI/iGIRCOVvP31b1oagF50V1YqdoZnh8KFh4Uk +bK2lcZCijdcv+Zc/+LSQmLVel7mxdKqJeCgJ+biVOMfp17bArLaiSr5oPYYSWDrUh5LD6RFpxVKH +x1wt5HN6SwDK4khcYVuoqZ9uiFtRcDomfEM+IcleYys2pT8eSgmVot3h9cjUP2n70azy9NlcOlTc +xVR4CaAIP+1max3b7uvRoV5UynKkUB8mDQUUe05r5meq5zghS1CUbeHTg0ZBXIAi6B4lqhMs2kPY +lAC6dkGnuYv13d+nceMgrvdMCxKrnJDiTW2fAFAtYWwq3RIvL03ARYFo7XV6WHSs+PO5qXTa81ql +5T7O0wuXcUrt31YNussBlzjNUtO+zse81GzAHtG4o0TlHjynl93D5xnW0WCBAyxDuIKINN/3RtKx +S+zTVHNooXsXD8KbMLsuwm3W7o2kO3hvDzN+swWnthdEL/SdcBlcSi4VSerHSxwVbmW/djqJQjfa +OpvOxKbAmYMcwToOTij9Bg0m3RaUe5krKr3Uw5gP1FnSvot91GF1aWM5bQaUzurhDzPWs/uj+N1x +5zsGY6/bnnpB6RSRIDt+R3cTqVWFUbWk5T1lc/exXqoFpSNGbLVfw71WtctjV6r1JdtNJUee20It +i0qHSjhBJ9Aoq5bH251IrYNOXSNE33VmW92oj6fQL2ccoNgOfVqgwI75nOFqGjtQWpat0hkwHX07 +2Bo8ng18j5V/ct7WlGyFo7i7OZlO6zMbTrut+cxrpVtNt3mPPm75xVapX7vBzTorgbI2957R08OZ +05vlmLCPqIWIM9fwDDLwwX7/jtyaGdsQvbD0W+SDqRRoNmtAvVPagdYHVfScw/LyXuv52V4p5gmm +OJMqaDSVDIhSXukHp46CY3vvzw2qI/7QbsspEs9DIVCjeBE0K2IUzWwY194TlQqS+zRYHcphJwKr +40+Sw5MSuDr8YcxYtBuyTj/JsEDgabGcrZxpXDT1mp687lZ7c5hzktJMBHBsuLN/82SqSIkIrh9D +jcdlQXDQdQoKW3c7jcc9jCFutyMekZFRgaC2vtrkjmneC5bUDIU/uLwcQsUtw9yopgHsTDm9099/ +/tCw0zss8YB3EbnMg4Kr2F7nzbyVbE7PeU4PX5tdwuPGZVuRf3oQV7ZKryrGzj06Rz+GH+C2mRnD +ZwMJdFepntvHNdp6recUjh2lVAzK5+bYIRJi1/aPsoHmzjWaHqxuR0hhBsZro+z0+RZf0f4SUwh1 +ZJFKl8KMqcAJP4jOXDacxMCHPV+NkghvTSHsSNM6D4k+MxT7ktMb7y8ndehmWPJZdZB6R5PybPDV +VslyDkuwuMnv4cPhz7KLysil2MXCWyrHfdzC4jGnsS30zbVbIiEH7r6ZI6kqwxaS3RH1S4lHoHNd +6zi51JHnUthOVc5bua4NtjNV6Rg5Rlu58unl3nJOadMKr6gHXYpda3PD2XVc9EXY2DqtIdfWH8+9 +O1Nx92S+fsz7AivPcI2FH0APBbnz596AO6nmU6CPm24C6ubSt826HGMz1r0Zd/PjRuL09IHAUyvD +RfvWsJlGUSx+NFO8u9H2Lk/fKmVljPDdQVFbAS4QNstb1cvHnocF4NFmVMfKzUBLddXtnWvq6dEy +MMxHgJq5cPIFeIfCelyllH1Vw3aLVbL+0XocheQK7PU5/Fs2K3Rf0Dt2hEyLrRn1jpjIdVk6qlkJ +VigCcsSOJam3pSYGEQftCqLxGDs2ayfLDcpUIZzRyHw97rSsngf1OLPm0eaIOZYeBSfg6TXp1ht5 +GwMPk1q6zfq0XYZmCPv0UP4uIgLn09Nx5xFVLpdvp5dSBoOlqmzu6GYWswpF7tNTn416rDk3Bs9s +moZ5LIDBo/CpkxO9zKFEWUa33FwQPDOGcicK6HaRpl7Cf/S1qb1NoaqgpDW+wLApVn1Tz9nMNX9B +8Ewdoc7LjzuGK1coVyh31NvcYd99W/Urit3P28x3UCgDOe9NwSMbrllB9SLNjiKJIgEIHt4PdisW +Ao83xozBuyHw6BjlvGPtkjxEQO113r25EUgzCosUquXtOO0vx7CHjGqTe59oiyoVToqBV5RhRnIj +3ITahuBpo2smHMqRk5ZVj8RDEENO1rTfs4UVz9hTcu3y30xGHPjWtct3h+pvwNxxK20z8Ey9zPDJ +9kOfsKqQWbci+vivmGPgvRl4lBkN8/5z90jvRFYMk5GN4ReTPWH+AoEn1Vv6pjk0Yt9tDpOx59DQ +P2zZtMyAJXqH4DT6E2+dGTQ6GIdjbEk/NwMPixoS8SoiwUGME+6oL7/MmsHdtuZm4Em1ckPUw46b +FDvJ9JDqcPlFMG3qs6IIFdVtFkHgcWK7j+3oyYeHx+dekYFZ57iwL9QtZqHd3CIAhYqcngqn93Eq +M6FUmxnOevDcmt12tvZv27Zdbm7qx6iO9O7hqOQDjJsitc3A22ofbgQkjhT7YY2njYIAZaC1vkY5 +o2hq+B1cx5njxvHL1pTtyMqRjHmWCraDTYsKYB7zu7KVSuQnWOV/0pc0rypHfNrCUkupbsYMLEZv +c1iKXMe8YnSUeLp/CxiA7hkFBDLHenGf5bR++Vusl9x2Th+HcCga+nRb3dlOOxT79X2UXoepOZiy +NmCn7U4K92Z51IdKeu4Tf4BE3Wldk1qoDy/XjzAczZiWmXPV4rWP2U9ZRPX2raSC38HB01bJgCTT +c7tEbKl9W/ulpYRzbkR6DbChfRIWdipGpQfmjv0LkS8y7dcuX6ItztwzLjfck1Fwi+NuC5lZCo6+ +iQU4mDF2XAbCQ8HsWmkYTPPV7mal19cG4emntNYhbaSmbYKGh5fJYi1BhJYI4oZ23GaxaZHDw9jF +Pjp2d74Nxd7h4Sb3oVLzeeKUSYF9ErTQDwpeUiNGqao1eopVl6PFmvfFXltZjxw+mOs4FaF8PCtG +pH2a/ePhX+iIYjvV056uslN5vK1bpXPPxwRCB1IWBg9V+1WpGHNg6fPxO2bVCpBv+N532nXeZ5z5 +/I131ZN7JEbek3C1tKVCnclnl2rUx9a4jHLE7qwXvG8KnnWk3umwdlurpwI4DEFa2lPGh/FuQPAw +6KWx4nYup/kKNEvfWla5n7biw9IlIHg6zuo7bvMAJASKr6uiKaLbUXFFdx7KtcPi5g== + + + 2r+Om160apkX5R62MjYFb6vK7qkXiCIf1RqRUKV0TX/zsZaunuPU3kEXVcXjdP/Xy/3oUUhWKUG9 +kvPjdH8Bffejm3NK+NucESm3Tn/l+YOBh5+FcSa8GZK6KLJc2pFbenApz2bgbVU3FkOSncEa1tuk +EHdV7Mxug3c67mP1DGpuJBArCwXvjzw3Aw812gcXA0+fZy7wBErcZuk4Lb3MHnYJKnoOBN4SpwOz +tL1i6REut4CacF+IVjOtn7v9ex5RCHI0K7Aw5UmDhu1zQv15Uq2XUQaNjMbBMQLawy2hh9ABePSL +UHJx3x4rlrOEmTOcnjbU4vvxfrCFwNNChmEbIsYkovaxBWa7NwOPeQSGk7bitLA3r35WkPbx3seH +1olQIkBqyzEXlQB1K8zpLLylqNR9EfGWqmEILt4VxoIqUT+9oRW+hUb5Rcaj26q7mxtoPDHBWQE+ +3jP/jlj/yXj4f6fj/dej4/3sSn5Dx5Na6Xidiu9Mx+tYKn/R8YSDrHS8rjr6QscT/PlNx+vqpih0 +PJRCx7NjKh2PTyt0PCmVjme46W86nlDVlY4nImWl4wk2+U3HE4D85CKcjid2ZqHjdXJs33S8vl0R +nY7XqdDPdDwQxC86ntRKxwOO2+ex6XhSfm7DVel4qIWOh3LMvul4fNbsLdPx+vKiCzqeMLI/G0jr +AfvMX1Duv+h47Q5goh9DH2Sm4yUlsdi2GnS8pjX/1LYmqHei8b7peECECx1P11XpeE2MlvOy5M0y +ukVt3XvQGt9ofNHxGsyXbzpewzzHRJKjEiodT8rPtH/ujjA78fii4wE9znS8JWQ63hadjqdvXel4 +DRjTNx1PROlKxzPCbKbjbaX8Iks1Ol67wl0j6HgN4/dvOl7TKrHQ8ZqWLvevAsdDK3A8lALHa/Jf ++BCJTHA81OuxMw3pfn++4Hjt/vwGjtfI3GU4XiPEnOF4QvO+4Hi9hQFQqB02eILjaSh8w/FQCxxP +ys8t6xuO9x5+Y+K04q0hWPELjjfU61/geKOPCscbOLUWON6IcvEFx0MpcLxBEfU3HG+orKbA8aRU +OJ6UNxxP+NwKxxv9/oLjjX7+Bo438DGz5jps5IZWYAWON0Z/wfHQChwPpcDxBtZ+33A8qRWOJ6XC +8aS84XijX19wvIGDk1e9C473/h3/4r/z+Jy/geNJrXA8jitwvPE5fwPHk1rheFIqHG98jt/A8TrG +EQmO16mlzHA8MZbfcDzRnSscT1NkheP9/BSC0XzB8aS2505wPJQCx+uyuHvB8aT+7PsSHE9KheOh +vOB4Xb0Un2vD8QRbr3C8PuYbjtdlB9iOBMcDc13geFvJcLykeh6vL0xVQO8YCF5wPI00FY6nS+v3 +meB4SdlwvCQaHI+vVOB4XaVYLzie1ArHQxlHguN164r7guNJrXC8Dk0mwfE6fpnfcLw++hccT5Tx +CsdLSoLjbTXgePoLFY6nNd0bjtcFXylwvK4lX4HjbSXD8ZLqcLyuCE6B4wlL/objdfoCMhyvywau +wPE6tbffcLxOZVOG43U1XRU43s/y/zdwvA7dJMPxumxMChxvfD6/geNJrXC8gSVzhuMNDK+/4XhS +KxwPpcDxUL7heJ1sSYbjdcxIMhzvPVzGhImtxAuOpxenwvFUilTheMQ+XnA8qRWOhyVUgeMRl3nB +8VALHI8zCxyPT3/B8fRMVTge8a0Cx+OdeMHxaLQqcDwCdgWOxy79Bcdje1/geLbh/7XgePz7BcdD +LXA8lALH4y9+w/HsczMcTxdf4XhLyXC8LQYcT5GICscTY+sNx3PiVD5OvMkMx9Mc8Ybjjdm+4HjA +mAscz+a4bzgeoOUCx9PNqHC8rWQ43lIXHA93mwLHG+H1W+B4Q6XIBY43BEopcLytZDjeVgOOJ05V +heOpr+4Nx9OVVDjeONoXHA/PmBccD7XA8VAKHG8c/TdwPKkVjgd9q8DxpLzheLq2CseD513gePaw +fMPxhNuqcDwjhmc4XlISFSupHrQXCrzA8XQRbzieHqwKx4PnXeB4W8lwvKUuON6gjyXD8UCnv+B4 +ehAKHE87iwTHW/8scLytBhxPn1PheAr2vuF4SopUOB7DWoHjmZ9RheNhfFTgeFIqHI9J4wXHI+xZ +4HhSKhyPY77hePrvCsdTlLvC8TTWvuB4DJAFjoejU4HjJSXB8bYacDyG7gLH0598w/G4kALHs2kg +wfFwUHrB8UzNcDxOLHA8+5bfcDwSiQWOp1elwvG2kuF4Ww043mC3nuB4rJC+4Xj8IhmOR56vwPG0 +gn/D8XC/KnA8WoQLHE/NxW84Hhu5AsfTZqrC8bZShoFQFxxvqAyowPFGO34Dxxuf6wuONz7jC443 +gjtd4HidKuoEx+tES77geB0HhATH6yo7KnA8rVRfcDzEAsczJcPxTPmG40mtcDyUAsdDecHxusgV +BY4npcDxJLzgeP04v+B4XTZXBY6n3dYbjteXo1fA8aRUOB77tBccT2qF45mS4XicSUgow/G6likF +jtc1zRY4nsLXbzieNjYFjqf4e4XjJSXB8bYacLxOzVeG4/WrveF4elgqHO9nYfIFx/u5ot/A8aRW +OJ6UCsfrdGN8w/GkFjiehAzH44AXHK9j2ZfheP1nWVTheF0Bmhccr7ONznA8KRWO97OK+A0cD7XA +8Tgzw/H48Bccr7PlSXC8n9XpFxxvKxmOt9WA43UmuAzH6/f8DRyvP+MLjqdhpcLxtpLheFsNOF4n +E5hQeF3rphccr6tEo8Dx7DZmOF5SEhxvqwHH61FbHHA8vs8Ljoda4HhSKhxPyhuO15/xBcdDKXA8 +lBccT2qF4+liKxyv31Gjn+F4a8Tex6n+oMDxtpLheFsNOJ79hQzH0z78DcdTfLnC8QiiFjieQpxv +OJ5CoQWORwy1wPG2kuF4WzU43hBROsPxFPF4w/GkVjielArH68vKLMPxpFY4HkqB43HmC47Xn/4F +x9NdrHC8rWQ43lIXHE8vRYXj9et6w/FsQs5wPAWTKhxvKxuOt7SFtlIqtMLxNCi+4Xg8dgWOp/et +wPEUDH7D8aRWOB5KgeNx5guOh1rgeJ0KowzHk/KG4+nSKhyvK1tY4HhLKXC8rQYcr1/nFxxPMbk3 +HE8xvgrHUxi8wPG6QgUvOJ7UCsfrM/JJAcdT0PIFx+vz/ILjEdsscLy+bPYzHK/36wuOp5R1heNt +JcPxkupwPMVcCxyvM9h+wfHIkRc4npTr80lwPJQXHA+1wPH4rALH41u+4HhKHVQ4nhIAZ/skOF5S +NhwviQbH6ySWfi3snYLn33C8rpqrAsfr46lwPBUPvOF4Ut9wPH3cxNsigiasOwscbykFjrfVgON1 +mcoVOF6/rt/A8TRpVzie9h8VjreUAsfbasDxNF5XOJ4itS84nnJ9FY6nmFWB4yk48objKRBX4Xg6 +8Q3H08avwvG0R61wPHkTv+F4NJoWOJ65RWU43lYyHG+rDsezGt4Ex8PF+gXHo820wPFwwC9wvHdU +O+Ld/0U43lg9nRmON9rxBcfjuALHk/KG4w05AxQ4Hv5bBY6n2/+G46EWON4wa9YEx7Md+zccj5+z +wPGkFDgegbkXHE9PUYHjKfZS4XhjrFqIBMcj0lLgeMT2CxyPCNMLjkcRZILjKexT4Xg4ebzgeJbt +SHA8DstwPALlLzgeaoHjEYEpcDyCvC84HgmPAsezWsAEx9MD+IbjGX8jwfHwHS9wPDq9v+F4YBMK +HI+y4wzHGySbv+F4GOoXOB7fKMPxsFj6huNh4ZTheCQgChzPso3fcDxidQWOh1LgeJ7w+ILjYSlf +4Hhmk5/heLo5bzgeYZcMx8OVr8DxFMp4w/EUSapwPFAgBY6HgdM3HI/8a4HjkTbKcDwNkm84noKz +FY4H7eMFx5Na4Xjk6wocj9KGFxyPkoQCx7PyhgzHQ3nB8ciSZDieLqLC8Uj5veB4QphUON6gqjvD +8QYopS84no2TCY7HUFrgeO9BOMbvPwfHs9TENxxPA1mB441FXgk4nruMVTiexArHk1LheCgvOB5q +huPZYQmOR3rgBcdjOC1wPCUDKhxP4/kbjqdBvcLxmJIKHE/D/BuOx+Bf4HiDlu8Mx0N5wfEGFogZ +jodS4Hic+YLjaQ1T4Xi6/grHe/+Wf/mDz4sWtm84ntTzOhIcjwXwnAmOJ+VnYfsFx0Nl1RpwPBSq +YwOOx2ed11PheCyWCxxPVTIFjqeQ5xuO10mKZTheZ6DIcDyV+GD3VuB4Utt8EhyPUqACx+OYz1Hh +eIgFjscf+NwJjidltOcLjqdylArHs51dhuP1Y/wGjqeikgrH69R9JTheV1brBcdTML/C8Xqk7xcc +T9uBNxyvQzbJcDyiowWOR5z1BcfrNBBkOF5f3O2A4ymE8YbjEdgocDwpFY6H8oLjSa1wPJQEx7NP ++obj6coqHE93rMDxCES84HidKqAMxyPemOF4XVnZbziezitwPP0eFY6niO0bjqe4Q4Xj8VBkOJ6y +Gm84XldOtcDxFAeqcLx+jt/A8fSMVTiePqvC8bpy1S84nq6kwvGIPWU4nv7kG47Xz1HheAgFjifl +BceTWOB4drsyHK9TEfwNx9OVVjieqvEKHO89TP7JSbursfUFx+vgwkeC43Ux+zIcT4e84XioBY7X +yd3PBMeTcl7XFxyv8z71BMdDKXC8zo7juX4VOF4HYJ/heB0U2NxwvK7X62lfcDyKqQscT9WXx3E6 +T0kvg8yxX3A8qQWO1zGBznA8lKe7EjFXqWZTGnA8Ke4Y6+lUFIpJMxxPUZ92cGMdjqdJq8LxlDV7 +w/E0HlY4nkppKxxPlXkvOJ6SJhWOp2BzheN1NnnfcDyNRQWO15/2BcdjuHrB8TomWhmOR7Iuw/GU +aXzD8YhjFThe18bnc244nn7bNxyPCGKB4yn4VeF4inW+4Xh07GQ4noKwFY6n5cEbjqcTKxxPo1iF +4xGtfcHxpFY4ni6twvFQXnC8HqZCC45nZ2Y4nj79DcfrgW1fcLyu5VWC43WgLN9wPEbmAsfrMOIz +HK8DbfqG42kEHNBxAo5HPfLdExxPD785eW84HkHQAsfrsC7OBMfTtb7heJpXKhxPWeMKx1O6+Q3H +o1qhwPF0ZoXjaU31huPpG1Q4XrcVY4LjaXB+wfHUuVXheIzhBY7Xe/sNHA+1wPFQzpbgeFKalt8F +jie1wvF0sRWOJ+WOE1d9++f5guM1tm2fDcejd+sFx2vyEilwvEat8ExwvPbcv4Hj/fztLzheV4FK +geN1lb+M/gXHQ72eBMeT0pUnWHA8KSytCxyv4/ue4HgSfq4swfFM+YLjcV5/EhyvKyv3GQmORyfY +cX3B8dTxVOB4ana6x5HgeI2E4RccT51rFY6nv1jheJrr33A868xLcDzd6ArH0yFvOF4HGv9JcLwe +LrULjqd10BuOR9VBhuN1PQwFjtdxav+G42laqnA88n4Fjmdr7284Xg8E44LjaeX+hg== + + + 43XczzMcT0NBheP1K5BIGY5XVV78K7qLHI7Xo76swPFQCxwPpcDx+vX8Bo4ntcLxOjXgGY4n5Q3H +6+ZWmeB4FCMUOJ5WBW84HmqB40kpcDwJLzheN9e7BMcjxZ3heBLecLyOCUmG40mpcDytc95wvK5x +JMPxlIsqcDwVvb3geLS5FTie6gYqHE+1gG84nrJFFY63UxUBx1Np9xuON4ikZjgeSoHjceYLjie1 +wvGkJDie/vmG41FZWOB4hJMKHE8slDccT2qF48FMKXA8KS84nsQCx+MmFjgeyjccb5CITXA85fcq +HG/A9a1wPEohCxyvY5CV4XhURrzgeJ18QIbj6cwKxxt0OH/D8UbrX3A89TpWOJ56GN9wvNE/X3A8 +nVnheEOYwxccbygfWOB4+uYVjqci0Bccb3zuLzieKQmOV85bcDzUAseTUuF4Ut5wvLGsuAKONz6B +TQo4nl7SNxyPYtQCx+MqChxvQHP+huPR+ZnheLQhFDie2kBfcDwNAxWOp3GnwvFUVPeG47HbKXC8 +Hg1CC443liNcguMx8mQ4nt7SAsejo+QFx0MtcDwpFY4n5Q3Ho/WkwPEsB57heCgvOJ4aDiocT9X/ +FY5HUvMFx7MIfobjDevJTXA85fLecDxcPAscb3lABxyP7qEXHI9lWIHjaRlW4XgGX/6G4xmoOcPx +jGGT4XgDatc3HI8i+gLHoyepwPG42hccj9RfgeMZbiLD8TjzBcfDg6bA8WhYKHC8EaSfAscDhVHg +eNZzk+F442i/geNxZoHjDQKGCY43yKJ/w/F0IRWON1i6ZTge6e4XHE/RqwrHo1uiwPEMq/UFx6Mk +v8DxdBEVjqf4wxuOB8GkwPGgFiU4Ho1pLzietbklOB4RogLHw+3oBceTmuF4NGwVOB7KC45HTr3A +8SwBl+F49Kx8w/H0vSscT29EgeMpXfuG4y3u94Lj6aMKHE+X8IbjmfqrwPEUAaxwPD3pFY5Hu+IL +jkchfoHj4fFc4HjW6PcNxxtmjpzgePy2BY5H6O0Fx9MbUeF4WvBVOJ7G8Dccj4qkDMdTUWuF42m6 +f8HxVAJV4XgqgXrD8QY1/RmOpyRxhePpmDccT2viCsfTrqvC8VTg+YbjqTaxwvEU4KlwPLqzv+F4 +ymtVOB7higzHe8ez/2S0/J8Pjkeo9gXHo7KhwPH42hmOh/CC4w0axzMcD/uyAsdT/9Mbjie1wvFQ +ChzPjvmG4/F5BY4npcLxpLzheGM+C46HCWKB42lofsPxBpXZGY6nAaLC8Uilv+B4erEqHI+4WoHj +ESt5wfF4RzMcjwqYAsfje73geKgFjodS4Hh81guOp6aoCscDiZbheIxWLzgeFm/mDhrHsbU4Exxv +KxnHllSH4wEWMH6XYe8gOJxJsL/4cWRVHKWWswLHw0b8G46HWOB4KAWORwjqBccjKFvgeArNVzie +lBccT+9AgeNZgDrB8ZKQ4HhbDTieLPU+Z9twPGUVhnVzJjgeEIGoYEJlB0k0O+B4Scm/xlIDjmeQ +hL7heLDhuIEJjsdSm17EoOOxHGfFkel4qNfVNh4PheWd4/HogL/d5TnweIitbTwemA/23oHHw+SY +hUnG4+lhsiBi4PH0M1Y8nnncfuPxsJUoeDyWHAWPR1PmC4+HWvB45nmQ8XjvEfgfnVn+SXg8wm0v +PF4HtpTxeArWVTwec+8Lj0d6ruDxUAoejzNfeDypBY9HSLXg8WjbeuHxiEAWPF5nMZ/xeCr5eOPx +ZCxS8Xh04BU8Hk1zLzweasHjoRQ8HmUh33g8JXUyHo+ewozHI+vzwuP166x4PP0eFY/3/iX/8gef +FlKzLzxeJyuY8XgcV/B4Ut54vG65woTHI5pa8HhS3ng8RWoqHm9Aush4PPluvfF4LPUKHk+DZsXj +aQPyxuOhFjyelIrHk/LG49GoX/B47HsLHm+E43rB4xEZKHi8YVidhMfT8/3G4zGiFzyeCgoLHm8L +CY+3xMDj4aNQ8HjjXBHohMfD3bbg8ahpTHg8+/cXHm+Ljsezr5PxeBpO33g81ILHQyl4PClvPB77 +xILHG+dV8Xg4xb7weIP3NuPxsNkueLyt5GKRpDoeT3+y4vHYXbzweHhzFDweUbeMx9tCxuMl1XEQ +VFoWPN6YARHIeDydWfF4RPAKHk8bxDceb2Cln/B4ihJXPJ7iwW88HlHigsdjn1fweKRHXng81ILH +k1LxeAODq288HpHcgsdDKXg8O+Ybj6cIdsXjKf5b8XjvsfJPzttKcL/xeD+L54rH6+36wuOpme2N +x5Na8Xid8Sbj8aS88XioGY/HiQWPx4e/8HhWK5DweCqLqni8DoPsG4+nrXbF46kEoOLx+kJ6Zjwe +pTgFj4dS8HhWrvONx0MteDyUjMfjT77weCoHqng8/SQVj7eVjMczNePxVDOU8XgqFv7G41GmlPB4 +uKsVPJ7qLN94PCwlCh6PEsGMx1MdzRuPt90c1nH9+sLjmVLxeEsLPB6lNQWPpzKmNx7PijYzHk9L +rIrH20rG42018HjyUq54vI6rwzceT3e14vE6BZ0Zj0cx1TceD7Hg8VAKHk/KC4+nz694vI77Tcbj +SXnj8YhyZTweNn8Fj2cPyTceT3VkFY+nm1HxeElJRKytBh6PmtyCx1OR4BuPRx9wwePhCpnxeFtI +eLwlBh5PH1/weHqg33g8PQIVj6d9Q8XjbSXj8UzNeDyVYlQ8nu7rG4+naveKx+vRGbHwePh7vvB4 ++HtmPB5mngWPR9vuC48nteLxpFQ8Hse88Hh9zC88Hs0MBY/X+/EbPJ5GuorHo7Cs4PG2kvF4SQWP +p0+qeDz9xTcej+soeDwpFY+H8sLjmZrxeCgFj2ff8huP13ELzng8zbkVj7eVjMdLquPxOhGHjMfr +ff4Gj8dvUvB45rWc8XgqQnzj8fSaVDweNrUFj6cZ4o3HYx9Z8HiqVql4vK2UwWCpgcfrz/E3FY9n +jgPfeDwzasp4PFlfZjzeIDTzjccza6iMx4tEdcHjaW1a8XgqKal4POUL3ng8UzMez5SMxzPlG4+n +dXPF46EUPB7KC49HPjzh8fTvisfTKv0bj6dimorH03au4vHwlnvh8aRWPJ6Uisdjh/eNx8PjseDx +ikIzPie+8HjmDJrweOpSz3g8xd+/8XjaDlU8npSKx0tKwuOZmvF4uqcVj4cDywuPR6FRxuONMb/w +eDLmfuPxpFY8HgbeBY+njvIXHk9ixeNJqXg8jnnh8TCpKXg8Ze4qHk/FPG88ntSKx5NS8XhS3ng8 +1IzH48SCx+PDX3g8fYWKxxuUHmQ8HsoLj7ePCzzeYIZb6Dus2L/weEPx+4TH03BS8XhbyXi8rQYe +TxvAisfD++GFx1PJT8Xjca8KHi8pCY+31cDjKcBV8XgjMhQZj4dY8HijfSoeT5vtbzyetIrHQ8l4 +PIQXHk+fXvF4o40vPJ6iAG883hql12H9+sLjbSXj8bYaeDz7AwmPp/34C4+ncqiKx7N4bcLjKeb9 +xuMplFzxeERsCx5vKxmPZ2rG41GOWvB4Q+0dLzye1IrHk1LweAgvPJ7UisdDKXi8ASr0G4+nn7Lg +8XQXCx5vCQmPt7TA45HbL3i8ofXbC4/H9FvweFR9ZjzeFjIeL6kRo1R1dcHjaRx84/F45AoeT+NE +xeMpbPzG40mteDyUjMfjxBceD7Xg8aRUPJ6UNx5Pl5bweHTRZzzeFjIez9SMx6MeNePxiN298Hgq +DSl4PHyCCx6PVq4XHg+L3oLH06Kj4vH0Fd54PB1X8HiEQAsej5qrFx6PlruCx6P9oODxkpLweFsN +PB5lPgWPx9/8xuOR2C94PNxoCh4P5YXHQy14PD4r4/FWZVnB49F5UfB4VEYVPF5SEh5vq4HHGzuD +5dg7M/r9xuNRcFbweOT6Ch4PG/kXHg/1hcejf67g8VhpZjzeEjIeb4mBx1O9X8HjaVApeDxqdR2P +px1GxeOZ8o3H22rg8bBoLHg87UveeLx+nV94PFUdVTwerXkvPJ5CExWPR3PvNx5P3WEVj6cIXMHj +qVrpjcdTgLTg8dQxU/F4W8l4vK0GHk+NQhWPp5bWNx6PfquMx+vqoSt4vHfE+k/Gw/87Hu+/Hh7v +ckOSQsfT23yfSbyGlVkvNp6qbVRKntF4WkdR1xJkPHrvlJgJMJ66PRUnLVw8Mb8+x7OxeEDG2WE6 +FY8jxpOheA/tKBuJB3HcodgQ8fQctvOuQLxbpSredUUERgMtNPIoKlZqXvv2wsM78T4+Nw/vOK0i +PnB4pNQcybRoeOaCODYMb7oVxWLhaWms6siCwhuXjZOLhKfWYS2Hg4Mn+M919IrBk9ivsSl4oITG +tSF4+pjZzszAm76yWAg8NYWcrQXdTo4fn3llAJ52evzuzr87HB+98HdLyKy1EDf8TlXbz2baqeKy +f5HvZE8FCjmOuS0qtLB3gvKeV4XeSVNz+GLeQe6d90beKXXS+1WJd92n4EW8+xHYOy/gnZr4ZadU +eHdCod5H37g7vS9H5GD1UC8h4+626Lg7xSzGJ1PsLvNrK7A7ctVHYuJ9NuTuU+/4Z2HtPv4uBdVO +0YE2xhfUzmu6FtJO7YfP8cW06+ahv5F2PV6eINqpcLR98eyG2l9bwtkNC5Zsmp2jTirM7rHircWy +IxysmSkYdaNbv2JB2ZEo0EMe4vl4LZ+D7BQL3OOWI6EIELaxMXa4dV/Xpti9RsmY3qzEqmkdY49L +gtg19eRz8wNi147TGHEBsWs4qp5HptihzevaFDuUu9+bYteodu6zUuxaFDovip0UFrmLYidlfPpV +KXbt8NaORbFrZ7ME4qLY/cyx1uxRKHYNw7Hj2Bi7ppXS0a+NsWtadnYH1AXHDvGk38IjoyizbYyd +BO5bwdhJ5UdZGDspZFoWxk4KdWIFY9dOr3hYGLuG19JxbI7d+6f8S/zUqpqn/S5z7KSSKlgcO44j +LBYcOynb580DJBJJcC+MnRTb8AbG7ucVIHBRKHYNRF/G2LVu7dqLTtdUKkAYMVPsVH2nBqElyuru +aH0z7E6N4sddEXYynZO39iLY4UL3zA2wO61ks+DrqOo/rk2v00aD7WPA607PJBV2nTodZGYc6Dol +H62tx8l1qvlho5DAdbJ2pBEnuHWC+BFeDDDUEjK1boueXTN61Py1WHSXQ78Ksu4MIEWIitHfWEU6 +sG4Lm1e3NcPV6Xs8XpOszP3p4YjCqoPNMoyeRq+jhOjHp0lPp3HJGVQnOsFJs4VD107viF+cOiUs +oFxmTB3vFa6OTqk73X5lQeq2kBh1SwxEnbaeFlF38pxy2rpRBVCnCfqYY4sym6MlKfB0S8h0ui06 +nE7rG6JXwaZ7aMX5Vch01OQfVl/HHXkOM29dt0h2fURBMpauKfnU+Jk8CNCa52YXlq71yyN9GUsn +lbXTwtI1xVXpmQksXRuxac5YOqnW1xpufm0EVCewdA2r6etXodJJpGVsUelQeOODSg== + + + h0KsIWPpGlmKYaFA+os0xhCRXVi69+gXU6BqY04byBKWrmOP3/rG0qkEyGI3gaWTpZI3OCUsXcfM +rI2NpcOMydokHUuHaRN0qIylQ/Xh0swSdGL3MRZPRT4ceFym0mnfi/v9otJpm+2Gmk6lU0LXTTcT +lU5f6nYfDT5XJ3ZDnwUy8/P4O5qhdGyq8X0MKB0KeZjA0qEEl29h6VDDonXaQUQMg0mH8jzWoRBM +On1xs6wMJp0unZu+mHRLyUy6LQaTTtv/m0VVsOaaYohsWjKTrt1eZbCPC9O1BaVr1NwonpGhdDqO +vu0FpQOCzBQfsDlw2ReLtASlA3DcARW7qrthm7WA0m0lQ+mWuqB0uMrQIhywuYbHrqrJM5SuXdE4 +vI4ToGSOX4tJt4SMpFtiEOmadp9A7YI01xg6j/tXIdLpMiyWuY4DmWgRU7zV8Wlh5MpAOlSb4RxI +B4b8cXAdma0Wo20B0kklJLCAdFIM4BhAukbv6WPHLDcjXRpWUAtIB0Ib1+cAzdmTcsyt2H0lsZQO +g9F92vzDOj8pCUSVVI+Si77N0LRAc41+gGNsxS72tqXRPu5ZXscOpNtKBtItdQHpGp0jWr0GaQ5a +uRbGmUenp8AW0Ouw47RWBQPSrX8WIN1WA0inD7IbHaA5Ued1fOHRNUUfZhL1ypg7SODozHnoOAqP +Dq+h5kF730oebvIaPLoOHMpJYdsOTXHG45mbRycFl+/Fo+MYqyZIZnEy4mJeCh6dXJewK1ygORkB +Wd47A+l68zDyPuzwHzZ4dElJPLqtBo9OA+flPStm99o+ZvdYcHSdfqLn3Dg6FGIAjqPDswiCZ6LR +mdj7ptFxHrn9oNHZd+SiEo1OE5IthYJGpznX1kJBo9tKptFtNWh0nf22Xm+Pv2PW+KGCYaZHwN3H +QsQ+y51mbKmiZkWm1wyjw22K3u+A0WmocEqpQ+ba5f6eBUbHboyuynWcMEQ9vKzYHS+ljAGhLhhd +U9EN4baA0TUVvR40myUYXZsf25gtGF2j7dXxB6z9G9bv11NhdFriNRbxjplrBDvG5s4RR/mc/iLF +UXzGsPISZtjHeyAziw7tCu1nJ4Fw3L8WiQ5hhOAIBhmhKVu5OHSP2+ksDJ0EqOiZQqehjfqbgNCp +8t3GdmPQ6VLtlmwEHV1Q97kJdNcTC383Bz5jc535c+aZtelzyp+1/mz4nNaVeqgKe+709dNCz8Xz +sMhzOo0oTgbPXe6esrhzmkvP3jZ27nY3jEKdozIcmphT5zSTWr+hQ+e2kJhzSwzknOp7CKQHca5p +umD4z8g5PRJszRdyrqnjOELe9jyrUn+cV0XONXoBznsj56RQxbaQc40OB69vXu7yUqmmD+ScBCbN +YM5xBLc4M+eawpEKpi/mXPu4WdZizrVmKf+CnGt0CyfinASWuYs415pb1hTiHOrwj7O7qDO1KQni +HJ/NGjUT5/QFGLqDOPc8mzVHp2aizD3P5ss1JizF8IMb1xoE9IqXa/20OPY6aliUYlX/LCGz5ZYY +aDltyChtW8y4pnoEPdSFLddU33C7F7kdp1ujmNtiyyUlseW2Gmy51t3YK9hyfJlGWDSx5VC1XV9s +OSlEFBdbTsrkbmW2nFTGvcWWQ7k/bbPlULSULmw5qdas7Gg5XSvNygsZ16iCuRNEzr6lj7/7uI/n +hxZabisZLbfVQMvZXzgTSE6baVrhClquMWv3fJzimsMNdFbYkU1iseVQeJL4p5PlCGteGOo4WW4r +mSy3VSPLNfWUsGNzspyCFtaNnclyUm9+tyDLSTmvOI5fsnk9TCHLSbWRIshyKPf1bLIcZ2rNUshy +rR8W5lpkOd1E24wFWW4rmSy31EWW0yuhaoBFjGvNTSQLWc5mVwzYXX0s9r64cvHvTZVzZRGhsMTS +2BuoOI15pLkLUo7HjfziOq65dfNiyik0yzNcmHJSefYWUw7lcMocQRzO/Dx3ZcqhnufcTDkpxOEW +U04KO9/ClNO1+ZnOlGtKww3ax5wpt5TClNtqMOXa5/F5LVhxjweFClLu+dgibon3NJ+dAMppl9/P +s/LkFDaxRKrj5K5I6gRNTr49rOMSTO6yqsmFktNO+tPOTYjDkh6zzQSSOz/xfLooC3iMLAIjt4RM +kduiQ+QU4tLSfUHktDl7zlYYcsorM8AGQk41Mp9P3wQ5CSyFMkBOIjcp+HH6HMahwMdR7u1YtkWP +O6eVEC14nKh/4dtPQmULGx23NSPHaSxrz7GhcDiZZoFV1sfH5xBBl2d03NX8gcnkOCy7xlPBcbKq +GJ9rc+M0FHU6whwbF0Khxi0xoHGKzvP6RPuFxguKoEpDhiZjsir7uOn1B4sZt5TCjNtqMOM0EmPR +vZhxCqPanUnMOGXWLHwWzDiFlMxGKqBximB8rH8iQeMUKLPxOaBxOhN2Q4HGKZRCVfyCxsnrlw3a +gsHJs5ekfGbG0X1pS604DBMlyjycGbeVzIzbqjPj6Em6L0sU4G0uc2dK9TMzjt5LCluDGde79xIv +Ztw75BzB6P8iM449n5bZhRnXZgQTgxnXwnhuMeOkkD8rzLimNPZF65sz47STPW1d7sw43X0vcUnM +ONTZNjJOgqVEAhnX6I6+RkXG8WMyagYyTgqJr0DGETrzlckixukRYs25kHGNLsJrE+Pa9amwOEXv +zLYnYHGy1iZltGBxXc4EWpsXWJyixMPeSmBxCskQe1ywOAUwiAsVWFyP3oCAxXHY7UQWDFFVGa1a +gAKLQwVe4s3uxEcsG+6sOCmElQsrjiyEBtnFirPCuPNcrLiuGVeb78KKA1/B5B6wuI5rv0BnAYuj +71mRzQyLAyOgMqJgxamJmkLXYMV1MrrHU1lx6qomrbtYcXwjvUsLFqfbbCuOTIuTiunjwsVJIZS9 +cHF4wJ/QgxIujkiaftOFi0PR/LFwcSjaaxRcnFQibQsXR3O31o0LF6fbw/hVcHGKT5GlWrw4yBcX +39x5cSKk4kVdeHFqvuTtXrw46BhUQAQvTveWp60A4xTwYquwgHE9DIQCGKcBknxdAcY1XoPj3sA4 +RcUwjCnAOKkEYBYwTm8Svq0LGCeFdUQBxklltFvAOBTtMRYwDuU8Ky+OBIZGxwWM00VojFq8uAZW +TO9g5sW1+7EBYvHiGmXOvW1enIZDYjoFGGeD5Dg2MY6B1MYLJ8a9h+AYvf8cMc5yB59WiXEazXBy +CWJceyJ5G8S4/ok0XyLGSfSQf9CFPpcFMhYxDkWxrUKMQ4VcGcg4O+5wQhzt5h+z/yrIOAbVa1hK +h+yckmwU9SxknAZ07N4KMq4FBmYh45iRCNQHMk5pN8p8CjJOKvVDCxnXzsBnBjIOBVOMjIyTCo0z +iHEIj/9JiHGciB90JsZpAYNL2yLG6fJteRfQr/dv+Zc/+LyopvMZlRcnl9oLP2y3EKQyCaNop8Wp +MklfuMDiJLJSDVachHM8GxVHzdM1KylOa2OChAGK02weYTC97nKRa89TMXHa+xBbDUqc/K+0mlqQ +OM39R38qI04LhPnMjYg7PTe7CHE64jO/CHFns2XAAsTpwz/3xsOpG7Q9o9LhztuQQQsOp43aSdO4 +s+Hu02bCTIZ73NN5geHYe57n4sL9rA4sKFq4cIqr2zUGF65F/nxx4bTkJ/9auHDaH1MqsrhwRDC1 +XVtcOIKhRx+VC6c4AKuixYVrhpxumwunAAQvSuHCEZZ47ntz4aQQWVtcOJT+hYVr0fq5sHAois86 +Fo7TrueqWDhdmFZPiwqn+0VIJ6hwhBLskxMVToEcOqAWFU7RN/abQYVr6gi1reWmwuk8y/UHFk4/ +hxXuBRZOHeBswTMVTgaDo88NhdPzMHFBMCYcn8duPyHhqKke9ybCaZ6i+DKAcE+MK5kHpwl3HM/G +wcmUP6pRqQTWNv+Dp3eCweG6fN+bBff4mmKx4NRWQrFkRsE9Ed10Epz+TTIiQHBCYB1PwcA9p980 +p8Bxe5wxRxb98TbJwoC7I/MSCDgsSuZYBLjvYe9PTsHTa0gL/g0ag3eoW6318Hkw6G/CY0bV3oo1 +SgSnHOw3xbWPYd1nLDrV2XbRBJXIb3JC/jQX/cNtPgrum/LAYHuzkxdk9st2mqdtxQR9G78C+kYC +s1ld1LIEVdUx5VjRfKSWvkPFj058O8P9LAPfVFjUm1ki83zja3y5S7fWDBKe7kIEQk8tYW5rG+OZ +UX3Vga+opytp1eKvJ9abUJFHsxpRpvarOwk4SG/3F+NNY5vlVYPxpjpTN7B3xpvK3EBUJ8Sbkhe2 +pgrEm6K+ODctxFtrl7u1JsKbxhU2FkF4a/RSRmuWBleNPNReZsCbsiDWeReAN1Jj1k1pgDeZyF1f +eLfLbA4W3E1dqbiqOtvteGzbWdBup6/KFtlNn0g6JMBuKtVUnKRw3dR4QtOBY91UMnNTgeRUN0WM +GPQy1O32+trFdLtHOAU70g3M+TTw0iK6CcMDvD5EBVOtosd5bnQTTkfpxbhrHji2ouUF5TQ7iMzz +7ciQgnJT0dnpnGRWiqJScK+d5CZrLG37C8jt9nrMxXGDZv45N8YNupBeuExx0wOtt3pB3FSge0N1 +c9cyeTZen6Mw3C7ntC2E2+W71EVwu931pwDchM0wcoLz25SCNb+D4LcpeUs6MePbyO+TKnR6m86z +woOgt92nZxMzvO3ydcVit1E20je5bfpeOYPb5hUlV85t09hLzVpg2w67xAJtO6YXHASzTcLpR5H8 +ptBk3pXYpgoVAngBbDt8RbB4bfKJlStM4bVNfPd+LVrb+FhwN2Bt3WOThdUmX4vDTZsfsx39+e2H +tcK6ZYJ1kWdO2/CgxsK0DU/XL0qbMo3DkWkL0ibRqrF7VE4K0dY3om3ctrwthDZiDHA/nNAm6/FO +d3aPwk0f4zOgTaf12yYZs5dRtqU/G8+mHOtxGbFy0dnAmFC+73A2rUesptvRbF4IldFseuL0LReZ +bXgHyQKzzWGxycJlo1lM6YvgsokUqil9YdkGhsoVygarXDv9YLJdXmO7kGz34w9+JrKRlddb5EC2 +psARxQ8BZGu4g9+9Atk0iTAgLSAbSbOJi50D2WzVOyuPzaB/18axacVsqemMY9O5llcNHJtebVsd +Bo6tNZ9GC46tqnqXTaHRxHlsLSqsCo8NleEyeGwo+sUWj02KpRkzj00qZfOLx9aofn7G5rFJsf6o +zGPT/Ik94uKxkcC3bJUb+moKp0638NhQFb0LHJsEiokCxyZhtuUXuc46rLvNaWykhWfGsTXilPOu +OLZGP9bVN45NiseSPGWkJcl9AQ5JOLam0YIUi+PYlOaxR8pxbCr7Gkal2zg2GrYopnEam3LtllsP +GlvDw0mRsUxjUxqGxeyise0kQNDYGlXd96g0thb21YvGhjLbhrFx4nFVFptEIhKBYpPAasFQbPon +gZiCYlNJKpuzhWIjTkPZaqDYGk22WgxnFJtUqquCxNbwvPLSE8IfUpgnCopN6odusA== + + + YLHZLaQW54i402WR/cxia6Q19fY5i015M0rnF4utgZEdZ2axUQmoVc9isekRsWLyYLFRS0BaLrPY +GvH29mwWm860yodgsbVoeiostja98Hux2NSxx9J6sdgaOzHtYzOLrQF2nWOz2HSmzfvBYmui6uki +MoqtUWKm2x8oNn3xtVWkAbcBW9O6M6HYJFJgsFBspoDrchOxcuJisaGyZAkWmxT8yxaLrQWCrbDY +GpUwjuYkUd6Gr0kWi01vqH1WZrFRi2mDt7PYuIqD9nBnsTVuFJvdxGKjf5FUprPYqL8nrhgsNjUz +Es3LLDaNAc55cBabBh2LvQWLTeVmNuBnFhsbE7qyg8XWoitmsdjacDORAmNj3LFVtNPY9KLeVls2 +I0ccEISMY0Ol6T5wbFJ6grHp3+MalcVGx8Xjp9mMRWr5aZvF1oJKUVhsKrYn2b1YbCp8pythsdjI +GfLjZhabxcbvsVlstAjd3H9vqVCqjBxhYbFhGUlWMlhsbjjcF4sNXDtjSmaxKZHHunCx2BRnZ9uz +WGywfokvZRabcYGPZ7PYCNuzQQwWW2+OPygsNgrIeQ2DxUYvDtNYsNgMLv/0ymLr8VMvFhuKjTbe +sMuZZs2QWGzyo7TIUrDYelTcLhZbM7DMqCy2Fp7Ki8VGcwb7j0iJK41ipSSZxcaZ/M1gsSmNRAlC +sNgEYLbpNKHYdB22TAkUW2fRdj0bxUYyOaqJgsSmzBuxrUViU/uGzf1BYlO3g61kM4qNgvRnwQMU +fNVymMEmUGxqNbAfPKPYOmQXveiBYtOttlo+Q7HRfUVcKqPYzEOlHZvF1jGM/fTNYpPin5RYbFKt +4NJYbPQpWaTTWWwovpJZKDZS1rTrB4rNMlv3JrHRrcE0mEhs+tpWjucgNr0OVm3gIDalQVloZA6b +I6afzWHTB1HTuUBsugAbBTKIDRXLjYxiU26dUtiFYtODbpuJQLHRo0cNekaxKTHMailIbNgJmw2J +k9j6sKhVAbEpUYwJQnDY+GFxKggOmx5fCyZmDpveBgrQF4dNSz1blwSHrWGM9dxfBZ+q8rHifOOw +qQKUBf3isGmqp2ajgNhUV0SGYIHYGuT3j23jFohNyxDKCBaITblX3OWCw9bwCGpn5bBpMWyNk8Fh +02bLgpzBYcPPDtu3hGG7pw3pi8J2+fC0IGxw/c6jQthOz88sBpviD3CHg8H2iin/yYD1Px+CjVqB +7mi1hWCjVoBnPVQqA3gLHcGGcPmJexpX/nXz1/RoWj1l8NfUYugBgZSBlAqaZvHXUMZjCusJO+b0 +TpJV7RwRisVfk2LR2OCvSaGsuPDX1JxmmwOtoh+PjC0AmwZkKzzKADbNDLbYCACbhgWCequjWcVh +hFALgE0LBI/ROIBNVSbc+gVg0xBweOt4GReYJoO/RkXJ6ZQuMmlSKOor/DVUCtmCv4Yyjmfz1/gs +Z7ttwFLH+XFu/Joq4HwUcK5ap6X2SEQ2ziRfnflrne1E5q9tJRO/kuq9RzjXZ/4aiIBv/lpn6Zz4 +a7owi+YFfw2falwUEn8NETuI4K+hHHwj569J0Wqh4NckWo1C4Ne6Qjt0mgd+TQr7l8Jfk6+29YAG +gE1UAnYEAWBLQgKwbTUAbHJ9LwA2OdS/AWzY1BcAm2zlK4AtKfnnWGoA2MyGPwHY9HO8AGzgAAqA +TWb9bwAbagGwoWQAm4QXgA0xA9gASRQAm5Q3gE1PUwWw6Yc8zI/0CcM7bwcpADbN8pbNiMO01GCJ +Evw12hBv76pZllioh7PV4K9JIWgZ+LX36PuPzir/JPwa0TV7PBN+TTFOTDIWfq01z6kt/BpTrplg +56mZ3qKx6WsIOJ4HfY0TtSIs9DWpBC+Dvkb8lObyoK/R1ESEP9PXiDeG9akFdj7+H4u+psIKM73J +9DX5Z5gratDXaEajiCnoay2ewEJfQ8V1M+hrKNMpbRZw+kQGOePXlJP5WMzd+Gt02IF7DwAbaZsZ +iLbIkKo8wfwpHMCmX8RWWQFge/+Wf/mTz4sSp9YakgBsaiqlm3MB2DhOP/gCsKFotVUAbFJ5JReA +jfjpEjAS+dj0Xfhris54H4uXETTVFtD8FFw1OUZ5zUfamNPXOzKnrcOaf47NX9O2o11OR1v8NVSs +sYK/JsXyYMFf63hequwx89doTKc8P/hr7HXbGJu/1s3Su1f+GtEAKouDv9YjZ7f4a9r+nOaMlfhr +DddQMEXOX1N1npVDBoAtKYnAttVAsOEcQJw20GoMS+ddCWza7VrtYqiUCFp/piHYTBhHZbAl1csQ ++id29AFh05hqfS8ZwoZKJXtA2FCIGQSETYpdfYawsUfss2+kWKejVbsph7DhR2o2YQnC1nl7j7kh +bNr6W+AiIGxbyaUbSXUIm/7kwXYt4Gq61TQFZQYbdhSkBtZhirXhf+kMti1kBltSnTlA7eKVEGwt +fJoKgk0nEllfCDaidiSN435pb2i9eBnBpgCl9SEHg03RYUU4F4JNcWBW7gXBRnTYSq0cwcYWjy1p +INhIiSAkAhtic7oa9TZSLBYcBDYpRBQKgY347d03gA3BP4nBxI74tMpfU9iaZrvArynkaz4ygV97 +j5R/ct6eUY+Z6WvaB1NoH/S1w3+6BV873NCqsNeUqaD5MNBrrKrOa5PXDu+VLeA1iTEs6yfRWXr/ +FnbtsEVgga6R6W99MdfILxzPRq5Rm0YdZSKuzcej2wFck9NaVNJRtWOIyF5xa0q9tHtu2pqEyyFq +RP6pn/k8lbV2BPs4UGsSzDHTUWv6a0+roDWZSWzI2vGx0O1irC0hI9YQrw1YU6u42QDBTrsi+Lnx +areXnbmkmDWx6ICraTLsX2i1sIBZpIDbS3UWMU37GxKUGay2vApCPD/e0hhYtTM8QhNWbWmBVVO1 +C8m7oKrdsWnOe3QKH2ffTDUtnMwRIJhqW8lMta0GU+25o4nSUWkaUG2qSkQ1zSEUF4aI5VS/Nk9N +hUwMY5mndkecPHBqtzmvLJgaDpPnUWFqagolVBIsNaVvyYMHSg1v2s9TSWqEsPuzQGq392wsahpP +gzYLGaNGuI38v1PUxHsInBjp5C0kbNISA6GmwLgZxzoZTUtOqsYyQA0A8GhbVJdsTPjYYm0h8dOW +GPy02+18FhdN3Bn9LgWfpl+bIvWltuZFEwuftpWMT2thdb7waSqdsLrowKKp71NZh0JP04fMLEaP +wGKnneGhlNFpp6V4ApyGhb07leLNd3rLQcGmsQWn2dahTrKxNVdih6adI6aZxEw7zWh6EdNU0n+d +gUfTpd72IxVe2uGuK0vUZo2xOWhpS8iwtC3CSjvcm2uh0hQMpUMrk9J0AU/bnLTj3maxYNIksGrO +lDTEe25ImoTmAow0vljrFZGGE+15bULatLqOxUeLf2c62tKcjUYsQAv26LCVkz6+2rkR97yir8rB +aJdboSwu2vWxQs1MRROe4HNtJhrI8c+9UWdquuJjMxGNjZ32/0tVwYiXmjgRbSv51d5qENFav1e5 +BkA0a5d3f48FRDOzINo+HIgm00VrpQ4kWhu+wipINDMochMFdv4rXVyYaFosFrGdDg1aSDR1BmGt +VpBopvZQ5+XHuUW05Q1QzlDuKHsxY6hFREOgzCyIaCiUY2QiGklpxnZHokkgobGQaFo1U/RaoGgq +a7EkfkDRtMOy8T6gaDicmZtOgqJJdRcLh6JJId24oGjN3Y4yEw2LwebttzDRisLDwHneNb2QaA3r +Jep2rGxKPdg8SMFEU0zcikQ2E03bE/vRgokmxTZrwURLSmKimaqQXl/7k/BbCCYa3iG3F5UuJhoV +P1aUMMPA0HtuFxRNNs+8xQWKJtXb1hyKhh20U9JsG6AxnbLJDEWTeo9ArGmRomHdXAKdicYhYLYy +Ew13FVLi0RijLBoFy4uJpqIamxEyE60d3qy2mGhSqMddTLRGN+jnqUw0VFZiAUXjzHZvS0k+PEwm +94pKU5NemkCiqeXOCp+j7RmF0piMRNvHBRKtMX+5R5BbfdtWczPRmmLquGv6McN/g8VE20pmom01 +mGjalBnEIFhneBtQ+J6QaKq8sRu4DjusZ2sR0baQgGhLDB6aAk5EeBYPrUXGIPPQED/PxqG16Y3T +gUPTxpeNd+ahSWRkDBwaQvOj+Cso5HAzD00fb69w8NB0ofjDLtCZduTcqYxD2yP0Ouz8eHFZ8NC2 +knloWw0emv2BuXBo2h8TEC08NJUkWRAvVCKoBMSdh6YgtG31Mg9NwV3DUgQPrYWl5drlbCXz0Ewd +Y/PQqAelYyR4aE2jmHWUJh6aVPeGcB6aFCvzdh4aAlmxzEOTasOG49AQsFkOHFoDDelktYVD0y9p +QDPHoeku8k4vHtpWEhBti0FEI8kOiD5IZw2K2NMqEY3ZF9fWdZwSjyd+jWaPtoVMREtqhAxpmdJo +HKQzjYLO/UhENJ467BjXcSo1JTUQRDQFchlmMxBN4tPOzUNDGP61KTbjPD0dBYiG2gN2RumDFjNE +0QOIJsUyPxmIpivzM+VvbN6MmDkbEG0LGYhm6shWr4QYzuPXQp0RSrNm50REa1fUy6/jFB+F9RZI +NBUwNSv/T0g0TGIxqA4kmpYcHwOgORJNkUbWfAWJpuOs2MKRaAQkH2u4JqdM6dOnX78KEU2BanOH +X8c1Lx5dRLSkJCLaVoOIRr3N9Cw3kW3+5jO/kGik2gGCBRKt49Tu6LRhltUKUh53RaKhctcCicZn +QVULJtoq8SpMNEV/zcIymGjUKJF7CiZaUhITbavBROs7r+S1dYo4V8VWZbcN4EtV+J0ig8VEk02A +dw8mJhoqFRGZiabPw4Q8kGisM41F50y0rWQo2laDitYCU7H8VvXy4THgPVtUzVIYMGyfYRUagUUz +5U4jByctNbBouAsyKAfuppGb8R6phUVrHy+sXVi0MKBeVDQtvqlhy1A0merQSBGBAvUBsr7MTDT5 +zgD4CSTaHWXIwTqT9SXtC5mIxmh6pKOoM3UWGgXFiYLGfsv5ZyP87wJ/Np2bUOhn6l7q7j426ZP5 +G6sT9MbwV7T4T4ai//9IPvvPXMHx61/8T//XP+QP1gf9u3//t//rv//rf/z7v/6nv/2X/+4//Qe/ +iJ934F/8y7/+q3/7m6P/t7//t3/92//xr3//f/ybf1gHGxfvHz3jf//7f/0P/+Y/+xX9yP/h7/9P +fcu//+t/+Nv/+a//z//L3rstR3IcW6JfgH/Ai8ykbRtQZtxj+ERCl6OZ0sVEiSPZ2BgNRKNJbOHC +QaNJST9zfuS8zY+dWMvdI6syq4lCs9kNoEs0kYAjMzIuHh5+We5x39Or85d3X7Z5+c3tzfWbZ886 +cfPt7Nl75+Pk5tLmY3jj4NDlP53fnp1f3019Dm9qGv85/apNB9dydXM2vTNbxl8f/OzT3/kvf339 +QpvA7xG/f/mHm+s/NWa9a/x6dCTkz86/boNb+8PBH77FX4r85bPb16++sXZ+/ofz7w== + + + D/WXpsH+4mA4/LT9/2/fH7w+AOpuA2A3HP739sN/NdL3h+Hw94f/638Phy/w9J8PjtruVYR7GWDv +48bcq00ygsDQA1YgN2G4jWKvrra3uDq4Zsf+eABnVTs1UZGsCRs0AhQsHd2olucRLUdmpEdYZP2H +ITaLEujB9gFAyNvvh6jhJtAmdtkrRngirzbJraurzfeXlOnVl7M/DJJ3NP+UkmefgnPDL9reSuwN +zD6I0gC4X3L2QSPPPojkQnirZq2/idwbmX0UiHpURpl91Mjzj44i9uetbydPjbw8+OuBbZLXfGjQ +eMOAy56g/FzNyHg3aYtBnJdvpGoTq+0t65hZwzq4+SfXyGuNi7LwA9T1Ty5b3hzxf7w+ACoKDegt +E71ZdgGluXDZ8OxjE3X9YyhYE5fDXiOvt5GRr5XmVISaC/LovQaJZObg5fZsgmVdjHOd4DhIHuBM +UGIZ9Vm6vIXIekwk8u7yM20gw7nZfooS75fVa09lIfIi9SP+SF+WPCkp+iAngUXzrZybBShECZfh +YwyjCJEwE37UZZqSQiY4j2NkcEg/5qRbWnZcu4VAJJ/UFN8jGSTuHiY5AY4h40ou2seqdmuUvBsS +Y6ZbQriSNb5JpscL60B3aRUi8NaHsjhN23OHOvEJnmIlJ1nfkXJTG4AmZL1tzwqRCiE/2gx4XQV4 +PwIbAGAIviXpFjVSeQt+KRkCUx/40SzVwITMFF7hH191CqjbC/9hjYRIlBjZT+P0R8ZURcjNTpFF +0OSXRtTLSfXJmvkk4k6ls1GzndgtrSGi0+05WOCaY806qjpKr4JddyQzQC2fZF58LsRmpnvtAP4s +RPpa2FX60K2BPAxZRttE3Kgfc6yYAyKTI1UIwR1Dot5PadPNAhZOA1H6sWILw/QvIbokrWrdnzPl +AhZLkS9Ybwt8fsrdPjnOIUqUyBwi2I5KMScqwVjqnZxOU10kwiBBJpKJYINYK2KIyBatKStxGGWL +Jos/HXHyWLCVDUDaaLtzeQfBOIgsBJqlmYIyyeOQqgpDboqgCxKis/kUwQvXGr4qa89K7SQOAj82 +lsCNBljmnHRfO6Djgz6bS9/AEDIkFoGTC5nVjWRUmFkhNiGoTE2YnXyKWB3h9OJLX+Zco24gIoOU +T+x1OA+2zsCZHs9BokYyGPgBr+zEE76GFBp1t8K3UFRiFZuvKMe9bEbJrxQ56PyoAprOuN6AStc+ +4YA+RGOIEE2UB6kQIQ/UoLu1mY1Ko0DULZyyHhqaNKR72HmnZ0lbIGtgKM5YVffwYgowN80y/Kuo +yE2n3lCQd9Gbw4baPB5++u2D9ObYtVyvqkOn2E+iIPutlKTn6UY771hRhqcEymzbmBBLbeddbZK9 +JmJN3VpS7NXV9hZVnUJ+dmORxac6eaPhmCTq+Uby5kcXbetHmR1eFh+dyButIyyT/OKjE3njo8u2 +TVkuosbOPjqRN1vvQuUN5I2PLtu2j46mxm5+dFzTbqfWfVzThbeRNz+6aFs/6rTKxeyjE3mjdWof +y49O5I2PLts2vTyb9rzx0Ym82bpbU8G3kTc+umx7UzN/oDD56/X16dX5i8O0IUiwfx8iSgIc4nD4 +8T9tsE36Wbar0FabNECAEaxYrb27jabvvkOJwl4wrin1lHpnWayF1KY/HgrRyc0wRO4GI9oQgFaq +8IsKOXjG9vAs0nu0gQp0Flr1TZU7XHz9BAwTBhRQSpV0tSeujOxiksdZ+ZrTWHnjUZKng0rhbY2s +tHUANQgW4B+GoK3Drz6MQuaN9EJ0YcxCZLKUfLD4QVtmCPJE+5GZGMx+NGWpdy9muROFeKGgZBQT +MHJNxT6XXdKWGfXe2l+bJmhKVSc/DckGAp+EV3IpOhBccRT7isSsROZjSwOVKYVKjjI+hNf8aM/G +YkToC0rMwRpghXShji7Yo84+NVZXjZbs9dkAppFttnulC1cIdZPHbVzTYH3RGXtTtzapxg/J7kUD +Dxfn+jS21XJCjj44XTcgGm0b+DzI5CBQUrVplEPXZp226kZftROobujsdVthgKdtwuKoM7bo1knv +bxQ+BQbMW3dZHUuovNhnZdQUdIeNDvqc9EEufSp6Sde2VqelqETF895HQAR/+HOS3S5b3FvLDmYl +iUyd1NFJwcGi2HqbHjc4a8D16RHkqwyi886sX1OHm9zUjTUAl2fLmQbrhQuDcWUTifY5X4ISU/Uq +ZmKJa7uiDNoLFklWtiY6nL3As1t7cNIlz1hte7OqokmeijL7AaUmiDowCZFDsaehIBu5KAfhcrA8 +qoxw4+iEmHSGFl+zbpS1vRjahGo39FIr4UIEjIQ4FGXsMuZgtDTq4g9yqTTIWY4FedZ3QYfCpMn4 +GAE97QJMVtmLALRv7dfU4dkHrcPBqATdr+zhWtc5WYlBaSOqD75hGH2DsR4ThT5gssZBVfscBIFq +PJ/yYOJ58J06a8OkTdVqIhQA4LMrJfsQlJ2HLmzgjxh1SlkzerW9DWmcJZkJWB7tFp8rJbuqK8C4 +v9Aoxalo1ARDTd6XyjWmfZzo+1mPc8fifEKrvmofBuF8VISUi2CZGjaM/fXqio6tTV7S93lhg8rH +Nq9b+3+iAxvX/kB+uVIyk4eVZXPVTjhvw21zWn+gZ7y3xCYyZxtEO1GMDbNO16IDJ309Cb5XSZh9 +X88hxDqTsUDHFTuZk2oTtd+Z5gUPc6INjDFna3eofekFoCRk3U24eT0HI0Z/uLVjU49bC8W0rjBx +4Bs+KKUBSYauJ8QwmohkwrQSY7EzgUANe7TaRCDrTBtlGbFZo7N+Tdu/stih9Ky6vv1ZwmM6g3TU +Q5/3mt84FfZs0GfJMtZq1lZd7OJq1gPrmt68wj9kloQWaqp26lb4N1W6uVxVaxyCyO3Mu2BIY3Ud +k6QxVhXxLoumjEer6bPEiW/7/lmfMsH9kQ6h2yWmDzoRzOY0kWnMDXRysYlgrU8Rd9GbiDYcJLGl +pvouPrealq6a4C2S+/uG5/XpUJUFCfFdbW9kEne5ZjtofU5d3FUdo4QCZPt7Y25datnoxcycVLtM +UL0twINmsm4Y9Dv0nKsALTUaMccu7OTSMmmUxw/rcPYNSpV7a++nDVpt4on9slENfT2QGqk05zc3 +F4neNJ2xDLl3bBiddUwErnzKppaIm23fNyGs+b46tGSni5djVsiigjPpplrPGFpWYrEuKCzfyINf +PpuL2YaMvSgx2orl/vqsWxN7sAiWMCs0JZtIuaJNGLvaTPoatRGePErsI/Nu7TgkmkvIKCalSxz7 +2Oo9LCL5T/ItO/nyYLYt7mba2v/pNKzVdF9qWnYa1qHoIVedHqkaTBIuG5wdcVlVPb0GyVifYHhp +gDuejSY7IptxaqfhrAMnfcqHUqxhqQph5FFHPMSYjU+zze4QcmfeZIs5BD9NWVPQbGiwrY1o9mA7 +CvqW2OzBvV2TaoNiXNi6OZ+N92DY/SAzSDWtDe4fFDC85kD5oX0Zg527jMzo3PRnhxB/eGjwwAtD +AfRTfd+YRc3KpBENElUvSVJVTWhDdfYgZkN6pnc8kowgotBqynYKZefv2dddBkQTWevE1PQdJcJo +kfNSbswTKvFy/JbafSx8HOzIDKO1KRfMgda0uNDflxp5YimVqM82/lPFPPlg38+qg6FMUJgGIJdv +sIFRGwCW0+kMsiiNEOnRIrGkMomm2QqsjCxdSNOWYj5vFiJrxG5dWFtxp3UaOOP4xJWS5V5GsWej +fs7pFdtdQOrissa7cJjuPpQcGnRf83DqC6k8jo02OltIJumyAV86cSmgnVwSqTsnuqlbm2NYdfGW +vTXiMQwTb83MMKUhqRmB+PSYN1QtEU95NB4Jk7ZPs41kX4IpAak4M9RicKbtj5PGkV0fCCv/yMcm +y4DwCGFoZ0Izuy74kTfTO1DM50fPl37LFFYiy39IM5G7m9dOcLk/fRIfo1k7b5LvvatDsaGaiQla +tfMhVVPzaE3b+6n2Zs1RsUluUir1JrrKPIzbiCFO7SZzwwh+RIjRFDHaI7Za2WyMWPPUQD9oRxUU ++Fb3cqW+Lt29NCImOs2L7Q9XYl/CToTjZ8mZ4zQvNQRbGOTs6rPJbJy2Kd19HTClcQx5GsDku8v3 +TOD0KNErSox+y7JsWdk3CQ7Xh+CryV9Jc+ysvXXHrnluqohwlF6Pk/5vx7lctWS0ZDSXfCcWfd9b +eKFKqRV5cs28Kl6daAHut62fn/rl1ceHAGWovV9eD5ckF0WoX0wPh2QalFhzUfvA4plmudEXqQ1M +g3D2rcmi3D6wYYw6CGU6Gn4xaaeYBGZ+udGiFTmtzQyqS8iJ5eOagefsIMtFfYZlzaB0oZq/Lwd9 +sG260JtlHIBkVgJUA7GYOKVk3jqx6+qXnsW+hq582b6Nkty/UjKxZ9PB3ck169PtlAmdPESvMRoN +NskVY9Y5wdws+7Bm1xTT1piyNrdrvKBj7PCe5BJNydX2Ruw009rAsguTjRxnZrWTVu6EVj0iJNNz +kbWx2tqGtk0sqGzbKhXBr5SctPEq2a8rJccYlTxUOepAFL+/plJsbVZniteySEeqaOdXRlZfoqan +r5RsakMRD7cS9WisFlHb0q5+EJW2Q5dhUR0sIOcei2R+jBAno8SJwAYtWSCSxtSJvl+KreGAI3nV +m+1n4VCt2Zi6AQXVcWu/tMM+oVqBCoumIYivimRTsOlXFRoTBUVndCUZMduTRT1VpKrtD40x2KNB +lbUkeoUQbY8k2pb2PlPB5NHQHzUXNTo9WqOz/k8DY9UcLmb0xmpAfWVxjWj6yUrJg2olyKsW+wWA +zhL0WZXbW9rVD6KafTZGCRZ4ApnIEZINNk2y1xmuTPETWlT/XpVjc2uz+j1elLuuJF8pVe6+lPNS +1Aje69w9N05836NWI1LmMSMEDdS46U/kt7pzQ3XGxfenPWfRoTBFa3gpezeUg+rkuO5bLWJUbK22 +m8feW1pcJ9Zud58m1RlA9M5iX6JMLjtgM+bX4oj0ul4pWW72ExNedhGI3uKLQx6NOKmNZmygLIez +aVT5MLo1JwQP2B+ccIYzgoSsxJuERosFaPMgG2jZfx0Y7iFx4ofU/OsrI4fS5SeDViSq8ojMbPEN +8gaUrNzIsugn1oBKqGq+BtCSPapa3vL71rHSo0RBbvS8UrJUTyPZGtaKa0qUtUQxO/PzDkmVP97w +biaEmeR4vZhNniRktuX7Z3rI6SWtskCjhWeyVPSTpUAEUohO3Yuaybjt/ZOtrdqRmsSdIGoDQsNX +RlYXXJR0VSVm86Vnc8VAYFpkdPJX4BpLU4iyOYkpMDW8x7tdt3ZA52GMcnO9iM+hS5EoPD+RjWjK +aefJ2PU6JZ5YA743oF6mMepiJqmguPX7J32BJrV9HLvDIK9ZtNovLNBoXDKY2yb3yL4Gum2FHBQx +fbbqo2M3xqY2Z5+f+sXkcWl30NgOn9elhCuzc06zYpRzqtkjqHDrTTTE0fW1lIJO5A== + + + MqTq27MdluQ1kLnowdQ1Ox+9VLKxroVJFnlv0+OztRHD+MNT5l33WsY+Pwqn8JIK+oN7ItuT0Om1 +S8HwI5TfW7uvPIoyM8LlKtivlOoVH4GAvciQxFs7qhJ1rCC6qk4ppH2c6PtBfS5qdClRfWVFGHPb +903Xy3IDKB9OPe5B8hCNLDwGYpINqIX0lRirNeCjKXt41nrGotPWatKeJQnIgKZAFdAsSLzsl4oh +pANk7UOFTnGl1NGNSg7KpW6yC6Fvx/rD36tF3K5ZTtLV1q+hF//xmsoPEouLKvEjNLkrJZuNWaVI +2ErJAlOreq+Q0KrGRGr3r6NZUVCJOzzZ/iloCFVSV/igT6J6gzhkOy0HBUDxDiMv0qWKv3yl5Kyt +uix8ApJcLgqQYOxE4viFGMyzhovIkz3LM1aIYTDdtHermK8H1lBQcUGLR9AIWhBGiGb4F6nmeLTd +NlIlqXN6gnPfTKCJTzNBR6DJTU9cScUn4P1kfe2bHXaRGnJFKvRZq2+wtwZX1vkfRJQOd6aJDxKs +CnoxkRzzfQypewnW5gup/FkbJXJC3y9BtxTVaWvAbLsioYyVkplypcwvooUfswHzDLaPiR+Jd4FO +7crVymTZUK0BKS3JPijL8lrlQVeHgRdpAD4Ss3LBtCulqnuf9SvEbcir2ooZEmBgEJGVZnvGl2zN +oiiSbZDRJ+tCDtF2SNYGIm92k8HKbdtCHTXWXKSAgDTKA0+IqNshRPOQasaWdcCCzai6VrM+62s1 +DoUyIUQLKFVxl1gDNGpCN5FkZvzaGOIgOjSIMglE/UrgA9Xuk61Y6YzgO7oPlr+9bkEmAEXkLAn6 +O0usyquuQ/KqVMaQd4OiPCsUCSECcD8E+0iaGhjNleAG3XJW1ICPqkxuRHM6FLvhEGRAp0dlYp4R +8iwxg7pSYrqiAdUcqqRaWQO5RDub3GDcNnTne5Hdp0RFVpWu14EYOrf0YBIqZOVR+5A02M/bz2x7 +W6gydLxXkWirvT9m8TfwGi+un69yd5cyi5iyqCBRulFfogpJj6vCdL8liT4gQ1U1D/RJmN3rXXEy +WT2ahkyIHE2SgEOFyFIksghBVDLcY1QG7WnxFv94s68hagSFh3rQJgwSlc0ZtM23IeRczOkb1esD +t0QN6kcxscn7FQZ1ozThFXsDfjB3JS+XWinZqUUPL+ZoTbhSVL+3qMYbnTZegZ4A7Ebrl8GxksFT +0KYG3fQGWHt/8AYrVZ3Up26RJc1SlTb9qAodr7rsTqMefBwn/1BQEL9q40c/4LSykyPLNYE2r04b +bbqNjb90UU410RooCuyAr8JZAyy5I0RXbQRJzRhUtPHTCPQSczZg3+o81NbaJtDc0EVuKD6z1zUs +rRVYdawqMeGCt/dDsZEyF64voDfFFRu+s0W1U5oIcCHHNVU5o9KOkEOPTOv9XUJ0UVV1ZjiD5vu5 +BRdhVmmI9Fv1gcFU0ye9Crgs19wp0ZlSQrHZX9fQcTbsNqt3duceT38hJhWGGFayOQw9oiJoXaXp +AVXE9y3EkGxaiFjpHQhV32fMc2XkPOjTWUFeTHkMOuFRfXXIUxxNGLE8hLXrqgkNqmMgOqmGJXzg +lbecyFAVRva+6+H6IoE8IY7OTmkmZQqREROZAd9n1nXrv3ZQrB87UlYNayEaaC9PRyzvdLIB1EEZ +edQSyXw0jtZoCrYyBJ9ZA17TZvI0hXp3prSadGkG+YDKXR96A8MY9JxzSZHPvLk4m0bg1fJGnrn6 +6vQ2XSEavgk3SOrEgKqojcZyLvX3oxmBQa1TEKv5k5M4FY5oP4WczOODTOOVkmMHuYTizAQbw7TF +RcS82Y6MxqDmHXJ6/5ge1Rp0SB1UV5inYq9PjBiqfd7AMLn75fGgq0q0w9MlccJJR6uckw4Cspvn +o9Eoa/XjCinlzdcK8Zy0ZTyr2U25H3IuHvcdPxlYLh1rgDrjhu3+pGplkAPCQXiw26ltwu39KOkc +Mihs9JWSo+JJc9dp8GzqMsOJWowruYeuAfvqe7tO85qKOaxRE6B24RAFTIcbagebgBT6vIQe8imi +2VskSOrfi27Ygz51tAO52HRBvlQjJtOVnJeScyKj1VeM61hiCraIIk0dMDe+yweN5IJs8IEs9ZaF +yLL6QdI8pFcQDwZgIQvL+2M/ZlCtblTBiSv0YrUAbzZ56sa1QPmgahjqUasCoVcICHESyDGn3Lvr ++gYlIlCITVE0RTCFYq0qGLtIiNr6y1GGbrlpq92sDyrkkAmqqlkV9rAGeDctyZPaDXI1tdU0dzcI +olmJ4vEGsXbzt9hJ4fR2iSAasu/NmjFURIPWWVQ3bzb4AJqVW71Klo17ousg9ylwQ4kT0A09SqfF +KJUYrf95tCgHWk2jSROVZmPVq10lIiDH/aj3Ds35a7ANva5u4GZn3Tpa2FSIFrvBUSPDQu0I3zde +MJ1tLMddZYqKJkLNXHVk1j5X4+RcgR/FHDEsnGcC1fCJaFQlIgx5a9R8no3tO1QN3ypG1vw6uVrM +FH/60YXIAglyHnTQIa4KU102S1aQELXQH3aCOivQqjeDzqch9AZYD0Q0g5zsWZ/7FEZZWl5c1jWL +nKcGCHaU89qH/mw2nSkox+IKuWqLyDKx0kCSpHARqhoHQZVdhUMV8bwIkfc1ig5QTGkck9RGFOas +zj5mAhSKt0iDMYq7W3UTQziPqbsVsuJ78CiLZgZBvBSLV5hJlyQpwsIdo8KcUs/LkbvI9VlJ/9wa +7wAZkK1oCEtVN3g7dTK1OStr+R4AydzdFoOcNrJThsclLNXGpIJkRC38rkR1k5KhSVPZKIuEyDoe +crJaDMd1Ns4sFW3vG9Y/9+QsFpm0IyWk3qs0mm5Gb641oKk4ufswxkllzZaCO44TUlBvDpf3x+4E +SeI9175G1+3E0cLWJgizuIr6DGRbwaTfwqUqsaOQdBvqVZayYau5gcYB92/qqTYaD489QRCqRx/B +MMGQRhNEA/zYPU0yeZkCoIJ6lmtQ8FrtfqAgvm9pwMpoEkRaNBpY1+xnM71Q9DznbqhX13tg4USA +f/vHFCWU4KDovTLgGxGY9roJ8ySg6pWNazScW9RUEtwqrYpc6u7rcege1iRuV5tZuRGGLgBL3KNj +Vh/V4A3u1baF7TuT0a9qoBVVeBHpGswvkrICa3PP8VpzaqDRwXBzLCS/UrKd/kmu/BPiYBrMWqDN +jCHEaKdeDVPqvUsWubUMR0KDjWjRGWak22RjNb1GeVEyULuVOmQ/9i0zpK7z09sclBhH45bkJPlt +ZCXzoM16jSCgpG+flqyUkM1TxEK00qmo18WLZlcNBhdR3cQqB6h6PESBJgYBXg8GVbdgTZB3pN0g +pRoCw6BR05nC2mxxYYTYZPp6zQdrYILbWjgbM5sssz0XkblDXEt1yWPvAZTM0XpQe6R+LXk8KROm +noOgpb6tgTzmDiJI9uwEKGd5/6MfjA8XS3ljvStlI2fo2p7TCu7v6VCuhjWWM8yF5Y1kAXsobehc +PA9927OlP+t6mDwZUn7UUCVj4R3h7YubGsiG9TEPBIk9VV41UI4g2aeCaYCYgmhJnIRqCrFk65YP +o20auQmefBTXZEFPqu7ZEVlu8BHi0OPTFn6Jx12FHezSLSLvLf8n93MjiLWl71fLISV82RqwhPUo +PpqVkYP1i1UlVJo7S+vs0PuylrcydB12KP1IA7wrhS55bcW9ZJkIMVgWc5d8tTO9l5ta+omkoguJ +vgoCGfQ2NmF6ESbjoJc9CDCpn6nDWgIE31oZOXVGwJqv9AhP/ayTGmVyhDvDXNmavQmGFae8BCfe +a6hQg+VWNu1fji9wj52fzvdzJkghfpmFfn6hlKzq4l7i2KLG+cFKB1j23Rg7xpIXPFjHYoctO/EP +H4nW7rNOeQICWoimG3nRmU2/plNHJYJXQxF17/wEOelWjvnAeU2kEetg4E+aWWZ69NQEpg6YRWVw +pyjpW0I00BfdElUtPUPtBlEwzVAzszT02Diswr6OhJMI0Q8GnZuymHBNkx65ft1UNfRf25JJJDB8 +Ds52DkPBZttP4zWgKW5Q8ca40XcILusLSAOjpTeAHGxqmp4S7VmFqgfRmo42vCmhw+LlUZM/pjnz +Wz3FppiDZezpEXywO2O6UPGjs++bMyZMrr8tuF59NvWcYvMo+W7Bhm5qguj7p7o663gPjM3AoN4c +L8XcVayqEwCJVz1pLnU/1RsRy00y2oml4Qw3ZY0Fibkq0U/5XoNNTegeJS8IBiFOgECvyGSnICYV +wn1q8Kwl76qbK6xBB7XMAYgu2fd59NrrvLtNZlay4kE0s1RvEz2ip8/Ml7CW1OWimD3ysVGUGac3 +aKraIVEalzoujcn2k2dzKpOi2bi8KTNbkqGG3vCgakhRDFh7X3kTQmy0R5tqPOX6m2fUvLVRjD57 +v5oe0et9wYet+TjQCKPvZMsri3J0CbFEQyhS/xBijB0JXM294krXsWJPtXZaok7XS/18pQOk4lQF +h+TQ5UYxnRTFa7sG2wdcO1AMurq6O2vXXjG1BqVwHUIE7orRwhlVdyPm1ltAx2p24Hi3FCjW9DQN +PtuTxfesYzkA/fo+mkB5qGFpGZLZYmxEdMgEal6g9z0+EyTp/ESDXL3wRbQYerBl9eLbOWKMb0JG +U9afWOgvWPYWUexCZCrahnYGYrWKFdT+rAHf9TNTG71eH659HY2We04dNMEzfT/1ZBRWMdZeaRjF +W3DBT/WSvMReeqQ59JN+tJjoBEVPU6DbzOcolWbsfeXppsz0UH0yj5+VrPF9pwDea3G0LGWmw7rp +h4ve1WqIcufz0UY4GeqiHQ5oIBQ7oC2aqs5H6f2EazCYdeyFm0nmZYL6MdEBPYIfvYRHMqyD6cZx +LbTC4uuW1uQtFFn7ORK7H9TXHgXDkz1QX6VmsEwBDviVkicfTsfrDP3Yjsdq+gFYooYAIM4dXDQV +44kCBBQcy7iWhTVoSDdMqmkvnocnp6xq2q8n2kAO0Uz4ofZmizd3bA6DQXxiz3KzFMbg11K7NKlP +nrUDDvdKWbO+Q9JSN7OC3jakGy4ZxGoy3lx3xQXdUbplRHcJvucYTMdu8HpTtJoNtTfQvmW6rarc +aCDbYWbiDnckRytTU4Zx6oFCCHnPvYHEwlg6CFlhP6GXevBTTiDv8RoMcN8TPeJaUodlVIQJ3IFz +32I7IRnkOEjGn9Cm7G9CEIUYXS9RE0w8hNQrgMWeKR6yYGlltjTCFsraGU8IkjRQ1uyhMqyltZjD +gq5XI27JdSlrWoYlIgQAWI3tBycOPty6482RlKNhwmoPQEw5JXFcy/l36s4EsZdLyj1WHt2ab6NY +fi2oyUpKMLxr5FJM29RsS9wkOMlTYq6EaMideNzTkXFnYw+AO9lJ0fcARJTEISVGM/Z5QbG8H9bU +ZcsHidgpphPadMe4lm46uRhxK8Zo2gtBQpajZaWgYg9/xtSLPEy1NnBlR09DKl3QgQ== + + + 3Auv5Dj2Z7t1YlspAk8f1k5keX9KX4mWEh61GnmQOmSimaehAzlwOauxQRr08kZyRzJ8a2uiKnch +i1WkFK43NI+shTPTIHXzgyCyLBaIRwers5EU3opLWL2peopdajSr1xmlRkR/PxrODGVQVkotgw3W +aq4kB4hwDyDLmQCi1syKawARXFQ69ElQ2zfFNaspqtMmpa6nBbmSVxqYoMdxLVN2LakgSjUuIweV +qVHEpxBjL1qkMP2Ue6K4LviJNeuMQbXAI693LVaq1arf8M7XddNX3i8dyTpZLehUsZIL3Nj6vjOJ +7CyFPpWuRwS5TNOGVXPPnsO9Dyt9eioxI65p3iRsB9igYJBU5CY15URDD+Hes25923mbgMAdTG5o +YSM8OVi3aKf3BgaT34bhAjHkbpCKGwbXO1ZLB4rjMDVAQRq6t2KlZIOBRUmNNHIdzSAyFDnujesn +W639c7XHdbkZqKK2Z4Nl5lq+R56gCLGXzsioUGjuWtboYHfz5AKIVsogT+m+UbAfIAapoC/Ejj3N +NJpt60d7lPqi6BbqaMxBLigJEiFae99Ad7y8l4/GfoCoq0uIvDxI5rXbyVnjB8K06lrOad0kV7xa +I4ZeoSeG3oEkx7R8zIsagmer6ePNlApKzL0cl6lBOXcUAYsF8MEiUTzh+CppR7i9cDBjhiUZ5f1q +t73y+BB5iAvHu5I7aPJj1lsC5Uu9mE9ZL6Hmze4sk0TW2VJi19ODglzLKPUYpAPwyEmz45rDyeAh +jTjZFFZWDU+WCWdjsXKWHTY3ltYDVj3aQlcKUiV4wqrb0faWBnLX3iHOBMNPUKKpEZa6XLYmb+Y1 +ZcHCLnzSFC7dLaCNNqgp0ksATOmmr53VTDztjoKsaa1VIijyrAaAcUdot5+8hUeK3nyje9PAgczf +SOu7Q551g52VpsyCGC1NbEIWEBxaFIVgABVCeS2LwSwwjafLvHdXIiLXo+Wi0PMlREuvLxbuL3kt +GSZkg4cQD2CJAIPKWCJFqmGStS5QmXxARYraSANJziz5FlyJMt+qP+nTygWxC+liFXmlXoQBhYsp +mNBLB0NV+a6asHS1QeGCpguyrKlh3qLW8GI5akuRmNx7KO7qXB+a5ieH4562krRiGTMqFVzBmKK9 +bsmSRS7SlJ00gSakkDJoFq0oUg69b89q+RF9ZicDsohGKUQ/9nQgl6YGrGp9kUyJlZIH1Zm05IuJ +kzIadido9KoRU09msbgPiFoRpco5Z1LKwpVI3olJnzUHXZXPCnGR421iLuqzBM+ZTDWQRxXvM2Rn +tjylEdeI2ftjh7JT8qxU/NpRNSVR4upcdfPWY3W98vSwRDgeE3Z6mDuxCLBxdWCHlTF+UednjgIM +kCY0pJV5s42uw/qpaMKnyNW7KyVPAFxDA+SwBhWtyjY4rUPPOh0N/IhDuBjw0OmSZd/rbRa9XkrO +9dEGVsZJW7DDouitWSQSN6rjctaoJWZnCTxJA65rR0X0zpWSUza0URIDBLRk2ReG+mvEsRiApwvV +7PROdsJ6NOiMS7yLYa2qZJa2B72zJSBuTN4fu0O29uSTpllZcLcjEfMg57mwfLCzDrqZegKyhLik +0Z7aZuluuHm2GnK0RhPeeNRSP9QVk4e+77Pomfp5FWbrmEl8XpNUs16GRmLuaGclle5cKRKv6iqv +5pSXY8XIkGZoZTt8ofF6S/FYMzCYumd7Ww4/GA29TV4IJkSLfxSp72cGikEOipWEpi0xWj6KHakp +9xJDELp29qTSSwwV8Wp2C0PLwuUOZoXhVGxehadSknNUGC2Z9xnGWzRod3LF7K6xQ/OZsHi0NXFb +qEOHzVL2aKNDT8hRwQB7sGOtO6KIVqKdqJaUj+53CHc7sG1dDY1TpBi9daA4w6xaBTwMoBravtvf +WaKP8iSwB2d9BD2lZ1TLMcl25rNWMTilnsOohZBtCOaR1My5lZKbAW6YaMWLpyjG5QYXRqsCXdZi +NSmuVQthttlKyTHa0ZU0cSTFfmNLlcu+QAz9MKprVQhT7IpJFVeuPGuRDZGD8qCrJoYJOJT3tfig +rK1TMzOI55iNGiQoeXlNDrNcJscC+YzkqFZHCr3wRbXC5niyOFvxmi2vK011OWsvJpN8d7HVXmgn +TZHnuuagSq47gmo/59GAFhpQRLI8OWXj5o6ub2TT4uq0753cEyLzpSdUct1sgIRwrjfAi9Ck3SaA +dXGbhFTg6FSiqxHXxG5WVhx7iVkVBifagKWnq8Jl7Rq4oYhVbeTRTZNeXHcdWWJOoatEaLHros3g +iEq0m2Kq/GQOqTHahrIEL3jJOljZoEmNGA2bPpVzjFPN+QnsDEddsPeT4lki8JiWCR+DZYXE2uNk +yNwXdo61X86OHa0kKydZJGnXXp9UbMvQj7XrhlOhHxBDlxI93xzD0oz3Kvc2CHHoXGux1wiBEa3I +QY8oxtLDobwewD5mAKTaMX6YgbHnTQyGXsVl8NnS9iecZSxr+U7MJtBnp9wNRfXAV6rw+CoajLU7 +Fkv6MiB7LB3Lhk1SzC9rYrlM4TpQi2V9D8pbICbbulq7kb0aTUFOvVQmfcA9v9tKx9Phm627tqPj +ZJfpRRpCNN8uFs/SPGKyOrAwaDXFPPbA5pQcDS92MplqQUQQuzavF99ITbIukdQjCd/4VB6gWIGf +SGCbDUur+US9vFf6r+mAERn3nQt6KQDEBxQbXSUH1WIJVqmh4py1sEGqvYaFZhgg6hAsqzOb0oQQ +Rc9FtwRQNNrFhldvViPS1yI8nzonu17jAN3lk+Naog3dq0K0w5Jsrm+Pkni7cSogxpJ6HS5NMlkW +JkFZGd7KLOUXNNBSpNzclZKbQtfLAoxWqqGnHJnigJoOo1lFNU7lG2I25TFoyeYwYXnXsvQX37eq +erEjrrIw+ZWSp8zn4ooF76dcixx6QH00TTFOmdNQHbIq0JZDiUaTJZf2XN5FB6z6EXUp87ch5nbV +yeZG82M2EOTY7zxgaXQjGhbMr4Eggzf3poL3BsTcrK55r5S7+P6J3SwrcPVijmpofFdG9eaPtBxH +Ei2+xNVWYpzuqcoT8DNW87pZ6R6gQZ3dmWF5H4CTdiQHlqE3UJyRO7LeYPxTeeh599dYNdU1WK/d +KEKTJpn7tMcPE/VCIZpzhMaL+QMtMLto9ESuWtXp5EW/3RsCvJcVrTRX+pSLBWKoyY7sbPn3b0jg +N+Bg6bFzr+XNtdVeFmHWg7UqkL2gi7caS6Ra0Tyi7JQYrUiIuaPfKK17zb6gIfk44V1qX+dt1SK3 +9UorQiFLazSNn3GQKyWHrlxrtUjY+iYRjFd/IKOsq5Vaxh7vl143Q2PEy8/bZobKb8iAVHuVtbiG +jSe83xIMcrFr+YoqtyC6XnjM6tPPgEMG70fkxp4t6hMf4tqFT1oKadmvqb69uSiTGDm9vr2GkZLe +REyi77kjKWv1cAcVUtMs0limCu50MwVJQjNkt5NASZAEHq0253qN2dRTGZf9mmaYtxkHgea4aYbN +XSw2ntAsbz5KFYMjyclIFouaQC0gdxResCsuwhS/tDyPCS+5+bI3oWEZe0wUseDnGI0267yNKnQk +e5TwihUvnrJt7Oqw0PHicRK+oWcLYSP15AtKVwsOWE3GIFqDPGuV7RYdmIrzlQ6o7Xd55F69IPSq +syBWu7gye0sosCIiXoyZE33fant4cZupsFa3R+huw/nnJy6woqxJdoZxwajWYhIAjO2zqbB4DBN1 +1sZqKuGoF5QmAaJZ1UsD0mgeq6UuWcWoJOm3ShytjKTTvEBWuLS8Stcz65Fi03tn+Gj2wXLaRtez +Zjb7dTKV6dxs2DpMmSvknnZiBhseLZZ20vaq1cqJaeqY611IPXfIIJSou17cmwbWxWHPuKOos2Wy +WDs2txZPl9wwC/PSA7za3ogdAmMvO6dF5K+UbKYiyplZM+Pkvk3d/YuszGRl5C0fDwkdQ0ePdB86 +Plen7MNsz3pLM2R4Y2u/rI7v0M03rUJxpWTDJeZ+jx6IeqlAFuyREC1NP0/l5Mahl2bQ5OLV9q9N +82YWp5YGsnnz3W1pUIdxuoCo9NJt41QoRdUNm6Cp0EkvHjzV8s3d67jswUk/16sC41R7sXO9FFvS +UvuS5u5oRbq6mWLLRqyOJFCzFr4kLtSKnHtnTqq1tIup3pcZ8Eg6iJPnakpamLySjBUJMflkef/q +Q0AiwtiLIiY3pV0UZ0pZUX+70xtgRMfQ8pHLEUz122ct29BsnSyFFaSuFvZiInpHrhAnsLjv6leR +Y0WJpVcZdG8al9RRrmuZgswCvVJyHYeuzvRI+HTlxhSjWjahq1kHsWFCRxRcGblO95mV0gPihv0v +abrse4K5Ua/W96drpNWjvvyWFQ0PVrKBlQntvkyQB4v4MRixMnIPUBbNjwmhW2pVABNCZE0XIWaL +Pi8/N11QUIp5gFO31ELpCktldrjdT2CVUKrkb6y2t6GNR6elPDFhg9XnbVQNVXIe1c/ozGXAdfDm +xlD3Cqo6jgbIeFMDljM7OdgXHTiZ3T3/I2+hJ/WwkQ/Hjfvo33gR/TjMbqJH1AFF+2Bctc08UnBB +HZKM0Ym82iSjgiDusVmtN7GVODVw3b755wPefNaO5UNEwj2wByhwXqHwDvTGNak9wK5EFjarxQJc +Mt1J/2kzhP97G8x/NVpjxO8Pw+Hv0TdcGekdu4Fa7nJvLgp3HQ8lrJNXB5+3KWqTBL98UxkPB/rL +mkKKSu0jEEnIuYzYsgMg8AiRDKwaMkpHRoQuW0ewNb/XeWHSSPsInEMlyLeBm2z7Zo18yW8Ph3/8 +0V8/XayrdoSuvfZFvUvelpNF3iby5mJGDaHNiOzy2WzhtVbrZqu4n3ywBqwHSpQGeGtQmD0b5DK5 +zVYn4kYP1sm9t1OrG+OazcHZxq57zaWBfiADmiaKK8Z0zrUG19jbPrxBsi6uEW0wG+3ZsDe+PU0R +yRGem/mzDulUm61OxI3vr5N7T6dW10a0GP3ZGwUTpciLg9Rn7/U72sbcPX33jqLLAJEsmKYrJVPj +JjnguptL3ev0jzVyO2UKfFiy7kPTMQp9D+33LHU/mgiKcoWjMFKVwu/t3SIlljaFB6ooNp3m7zPh +oWSKthgFgbjWRCMWiXVOn/vOZAAwsdIrNsmqF2tdb2/ofY/TME8OhMzDdJqUdfnx4+b/9GBDblQk +MeU1GS7TP0joneSMOq8gwuMvzINFg3GOfGuxHUikLXCm6xfDEGUETWUpun5DM42qbrMhdCIRCXy2 +qIioWgZLPhaLiIhFb7fs8EiTbjYkWZyYNobUiCgdUcP6kBrRyR0OG0PiorDg0MaQ2C7VNxmSb4Mz +MjHCa4MiMUMxXhvUtv7uvCffrD1EEL/8w831n24vru8urr8+OhIylYr1Pxz84Vv8ZRzkT59/8dvf +XFy2Zg5+2X88/G8Hv/zb71d/uHlxjh9/dXF2d3FzfXr7rx/6wyeHP//n1eV1+9NR6w== + + + 1u3FV6/vzl/94vA/D3756e3t6eyJs28uLl/cnl/j7+7wl7+7vpv+hn/d/evbc/zt55/+7stPv/r6 +/OXl6dk3d+f/4/T67vz3F3efn32DoV9/Of7i8Jd/vb44a6983r55/fVmM9+dXr6Wdi5etCe3PQL9 +Ck+0zuGZ/3zfAzxyw892HcS/fvjBtaH865GP5J87j+SfH2AkY9h9JN9fvLj7ZufR6NOPekTfnF98 +/c3dzkOyx/9zh64/FqkSdp2LV3cvfnX+3cUpOrTzjGy+9N7X+vOb17dn559efvvN6c7ScffBXXyI +IX11+fp217Hcnr96fbk7+9rju7DvG7o+/kDXtx86U29fnv/29PWrVxen15/dO8ap1z+wAI91J73Y +XeS/+BAy/yEs9ti3y+6LsrtG8eJDqBQ3L1++Or+7f2c83d3/R47w6e3757Rd4s7awOvbl6dn55+f +nV6e764NbLz03gf36tvzsz++vofD3sH+ec/DuoTSCTP37Oby5va/ff/Nxd09S7Ku1P3rIesnT79/ +lX3YeTxtiV9fnt7++p/f3lyfX+++essX3/8oHzrIk5vrV3enbzHI6cWnZKk0o7r9b9dJ+vfOs/Lv +D+EgGB8ylkfu7IgPGMoDvR0fSBX5083F9d3qIbb/f/40Hflcd+xKZfzT047u03im0d58e357enez +s+W39sJjVyUeu9r3TDWjt3L/uAcslfuAMurk5urbm1f36nqPUSac3l7cfXN1fndx9hxlg3Ddb29P +v/1m9wE+dgmx8wH/j3vU2LWB4NFHPJB7XEfrAwkfxOy7+9PpxX3a/9MT2g8+Wh8ssB+rXfeP3Ufy +j8c9EL/7QPwzOUKfjh39cE/ygw+nD7Sevz+//focM/n0VKKHSvNnvCQ/XT8+bB+IJ9q1C7/81fnL +w08eLxAJNtUzgBzdfPVf52d3n928vn7R+vbZzT3uqflqtkfvXu28ETfeef+K78+eh7vx2SCrhmeH +rHrAiD4CZBXKAO06HV+dvjr/ze35/3l9fn22+/abvfXeF/wee2Ua3vXrqz+e3Z1+d767sFx/5b0P +7Prm87uLu7N7ttx6GBVP/+Xi8gED3HjnvY/w7vXtV8/Nc4Axvb5se2Hn8Le8uuO47DsfSJP+y46j +e4zWzfMMAj1LR+9DBMOzDpbsTcBdTMCd8ZV7E3BvAu5NwL0J+JGZgDu7yJ6mBbiz+N9bgHsL8Kcf +08vb08Yxl3+4uXi1twH3NuDeBtzbgHsb8Ce0AX91/s31+fWX98A93sYIfDo63ouLy9PdE272su0D +y7adefX29MXF692VOXv8wyEtbm6//ebm8ubrna2HvXzbUb6lvXzby7cnIt925tW9fNvLt1/f3ry4 +OL/92FW48zYNewn3VCTcXoPbS7i3kHAftRK3l3BPScLtdbi9hNtZwv329PX//X9fnX1zfvs/zy/O +vvk3/nV9fvtTIDOejrx7v1UNP9Buertyefv99Hb7KX/M+2nnwe/3034/be6n/+fm8t9Xp6/Ob1/f +V75mDxbcHOGHBQsejc8FLviQkTxywGB8doDBB4zoIwAMfgTVuJ+Zrf6g6q8vdh/Lhzjd9rXF58rd +k5ML+9rij3FRnkRt8ecixab6NrfnLx5U/O+pybSnWjGdhaqfC7s9aDBPBkh/eXPzQguKf3V5evaP +Tw6FdPPt6dnF3b/+23D8AFX1rWqMf6A99RsM8+ltqeeJrn+YoHjk6sKrb05f3Hx/8pxk3wc4ap/M +CJ91YsRjEXvPyZzYOVX0xcXLl69fnT/4+ofFe+99iM/6epkHXbyyeWnLzkOcv/beB6k89FwOsJ33 +nBxAD+PHjXce+0r9hLbvYzksRr+z/Dn998XV6weET/rz732ZKRF2LsT22Pdj2rk8+/ll++VB0Y+1 +Nz6YqvWrCx69j+FqmV+JfHi6N8s8J91vrxg9dcXI7lZ7htfo7K/f2zrIj+z6veerPe2Vp73y9MCu +7O/le5wBg7c4hR+7aviMFYv9/XyPUzbs7+d7clJi97u59vfzvS/V8nnez/fQCMCjv59vd4575Pfz +7T6Qe0oorA/E74/Q/RH6Y2XbYz8997fb7k/PR2vNPf4TdH/D7cdwgj4dV/WPAe098KD6QOu6v+n2 +OSzJT9ePp8cWb+ULfNxa5bO//3H3wPD++o/lAD/s9R+7XiXx9FTs/SUgj1fKP5zrHruQHw8H/Wfb +T52y63D50+4yxB5/78P+bXv11f0gtKcnPa5OW1M7l/V5SnKDmWe/32F4j1FwfASFUZ6V7vsxpN8/ +7ZIiR8+mpsh7cfS879XZ2XR87MVF/rgvx/HIJcHzhAI+WEN97CIBvnxso788w4s7315I7AGB78PI +Pd49QekJ6t9vs7OekrTYOT30qZ24T1sDf5Yn1N9ent/+5uL2p/cLPZ1wtDvcOU5yd/rV5fkXD/MB +brzz3tecX3+O7rLfvL4++/PTEyrH+XA43LPbk2S33z5Bdhv3wu2JcttnHxioQnsIyd5/uT29fvVy +9wsvHg/3P0/PyduocU9BNZUwy3tRTp9GStvec/KTrwzReJ9eXu7NoR+5Ffcw0Lfox4ftw3O6xep/ +/N//75vL889uH4Ap219ihd594EuswrO5xCruPJBHfofVA27jeiJ3WD2AyT6CO6xeXFye7l7v7SkZ +Rs8Qp7X7QB558avxePco19vemv1Y1+aphe3e5hrwvXR7NOz22GXa7jH8vUx7tGuzl2mPcFEe+85/ +AKb5kaNmv9o5Y+ixC7HdR/LUtvxTxfs+gLce+X4fdj8gn2aG9c6wy6eWYL07JvGxy7fnnyr+HvCj ++xTxd3oyPeUU8edzOn11T5GopyPjdh7IDnDmdbH2gS4k2X1hnopAe8Bx+uiryd0Dul2Lc518c3p9 +fX75+fnl+dlDnGzLF9/7ID/dOSr5toNcvvjBjqNfXbz69vL07Pzq/Pru96ffPsEzaXdJ/sjPpKkk +yeHix3Hjx11H/FQqlny1s2/osZ/Gu4/kqRxf+6Irj1Ls7X4l1hNM+nyAPHjkMv2rnb1Ej16y7TyS +jwAne31zvbNz4vTs7PXV6/sj02tTsv7K+481X35/+q97lIaNxb47vX3Qasvzj9dfe3ez+wl28wEG +cnlxfX668/WqzY4/+/3N7pjntRfe+8h2P6vWtpd9/g8cwq47bPOt98+MO2+wF7unz8uz799u2Xks +X51//YADW59+7+O5PadFvDMDvnhxcXfx3QN4r7/w/lErO8PJb2+udseR8+EPECk4P//3zsv08uK+ +TJ9NZPzlB7NMTq8vrh6gLfxESSpPu37H84HNlOcCmzl7NrCZ3Ueyh808thV57Pt92N9M8GSBM2d7 +4MyTAc7svlZPxVG/B87sz6f3MJJnA5zZWbF+GsCZ3RfmqQi0Bxyne+DMHjjzno+jJw+ceYAkf+Rn +0j1omWcMnDl7NsCZ3UfyVI6vPXDmUYq9Zw2ceYA8eOQy/ezZAGd2H8lT8xa/4xDR04H/PIA5H7rN +PtBSPuFLqx8AsdsvxtMtVPJ01uKn68eH7cOzqRkZh8O4sykow/7zA6zBtTfevwvmd1/+6eKf55ev +vr04v/zyYRH3x6g8fch6mE9HH9nDkZ8eHPnVt8DxPkcU744S86lDeMfD8RM3HI6x/Xs4bP//pP3c +/vtJ+8POt7w8FUfjuDvIdw9Y3gOW39nQLq5fnL+8uL73foH1E+Db89O7Xz2ACdfe+ABLd3Vz30p8 +FBjmx6JK5efsHn6GRZK/utf3+HQ8xQ8Zy0fuK37vx9Cu6/KUqgo/aO88cjlwZvcQ/fH1Pbvi6UWS +91dIPVa5cHp7cffN1fnd7svylOTD2+ypxy4ndvb7/uMe5+naQPDoIx7IPZiA9YGED8xlP31i1VPQ +uB87mHXnVfrH7iP5x+MeyD1YyfWB+GdylD6d8MdbSZB9APot+rEPQO8D0A8JQD8sIfIx+mT2Aeh9 +APp5BqCfbxmpjyQAzVMEIWg3fPKgE2UfdP4Q9vo+6LwPOu+Dzvug85YF2QedZ9bAI3ci74PO+6Dz +41qZx75jdnbLvbh4+fL1q/OTm+tmF13vzmuL996/Or6zEH99+7JpTp8/rKzIxkvvfXD/Or+8vPl+ +1xFeXnz9zV37+9EZMoV3HuP8tfc+SmWi5yLaHxhNexhDbrzz2FdqX5L+Zu+C27vg3ufIdj8Bnrof +Ts7GT76+PT+//qQpbeefXFy/uPj65pPvLm4uz+8+uT1/8cnN7en1feGzJ+ig25exv380ewfd3kG3 +d9AJjz1VB91Ydg6unP774ur13T2Vc9e3kT3/3rks7Tym88v2y4N8jmtvfMgKfXAFrKCKfGDwzK/E +XFmpVvT0NsCz8kU9a09N0zafu5vm1bfnZ80UvX2GqR4P4E2dhF//89tm+T/AU7p88QME9h86ygf7 +g5cv7p05e2fO3pmzd+bca1rCdSPOHPXs0Kezd+bsnTl7Z87embN35uydOY/QmXN5v5fj6QSu956p +bfvnJ+nK52onPV3X1POszfEWPo7H7nd7xm6b95Pm/YGk1b4+xyOVEW9ZF+ZxS4ndc/L3BTrel2p5 +96fTi/t8r09PaD8U7fno63LsznGPvC7H7gP5COty7I/QDyjbHvvpuS9v9VhPz2dX2uqtLNTHfoTu +S1t9DEfo0wECPFh67MtavUU/Pmwfnk1Zq09/9+XnZ9+0Bs+v91cP/fXjqPy0c4WvfemCR2Eg7NP9 +d9YS3vPK7Hx174udb13mo4+axR77dtl9Uf61+6L860OcZi9fvjq/w864PX/xIIn21KTAHznSj8pK +ePvFfcbmwmNZnPcTpXs667I3456QGbcv4PtjzLj3PNSjMf5s19Htrq58CG3lISPZXRv+EMrwGIad +R/L9xYsHYE316fc/Ir/7iL45fwjEsT/+lBwgae8A+XGayyO2Tp+a6fO0HSBl7wB5fNtl90XZO0Ae +iRTYO0D2DpDHJNf3DpC9A+TJOUDumsr96uwea2zv/rj5IffH0zk/zn46fM37xk0e71xB5qvTV+e/ +uT3/P6/Pr892V95mb71/98POyNDr11d/PLs7/e4BxRfWX3nvIzt7mLN1Ryb8EELn+ubzu4u73aXn +Kz79l4vLByzVxjuPeK2eCpz35e1p4/zLP9xc7J4SIy/vODL70tM5FfZVmJ5eFabheOfLdO5udufd +mw8wlOdbUOoBmsdTryf1nIoq7YsQPdkiRA8wC17e3lztbvHx4Q/AifuaSj+dL+kvr2+/en3ZZPMT +dDY+z2owDzANH7l/Yl8pZe+IfYgj9ovz2+8vbr86v3x9/fWX96Qq7t2xi6PsA6LRdkcJPW4s2u7j +eORItOHZIdEeMKKPAIk2HA/P3Pe/Mxjlqbn+n7/D/K7ZFM/NZX63o530kzvM91bgR2EFPmQP7e3A +vR34bO3AndWcvR24twP3duDeDvzI7MCdqxY8TTNw5+HtzcC9GfhRIaf2huDeENwbgg== + + + e0Nw1o+3MQR/9unvxuHLX1+/6AYhSBGUL/9wc/2n1gTvBDwS8me4GG39Dwd/+JZtBPnT5/+6+urm +8uDnn51ev/jFwXD4afv/374/eN3+GQ7/fDAc5+CdGw+H4xTKWAp+cHVwvv1QRh+H0H4YR59d3Phh +iKW4w7+hufYy//nbv9ov/7398F/tgfbU94fh8PeH/+t/D4cv8NE/Hxw1Dcl5Hw6P/Hhcao6HVwfh +uOQhjSTVFMthPK7Zj+2ZsRyPxaXDcpy9q+2JMbXOhvHw7GBsr+cUGym2nqRw6MJxHvGSG4/H2vrs +8nGJtfKJGGNuL3kMcUQ7w3HMZTxsHyjJl/bpNq7RexJCcq33gx9c9vhSI7mSDv2xUFojYUj5sPVg +DK0H7TspxMP2lRoCXmg9Kal9z7WZzUP7izt2OZfDMRy30bnD2vpXc/t4Ova5dfDsIB07X3LG1wcf +3CGGFGv7ZJuQUN3hESYz+VAOOWsltHeO2qgGVz1JoT181FopqfV9zO2t9p2jejwMQ6j4UMgDJuCo +9WUY44i+FM4opq0M5bDN2jC0Th5h2hyGh1lLCS+1EXM92qz5mGVdSvXjoWtTjhGR0CYHHY1piEG+ +1ZZtLB6Tm9pHWw9bQ94XLEn7Wmr8wa/5UZYRb+I9F49br9t7bQJjqK1PrdeNQ/FD660LCUMbkx8q +OSI0XsV7bTq9i9KbITf2PeLCj0WYzXMeZ9x3dvDq4GdfNkl0tyFvf/YlYFsDJn/Ni/HZZ58CN/zn +m7teFKA9+NnaE59/c/rt+WftwH7xp9O7b373K33k09Vq60O/P4U+ePPZ+cub23N99n+8sbm/qMz5 +2ZdNRHx5MB772jiAYwmu8cZV46PUNqfspDGncpiOqx8wAY0nYtu4jffaenGOGrsOifzt2iw5x8mV +ndSmzRW8VBun18bIpbE+t58/zrX9hTspt/13eNTWuG3WBNbNCa00Bku5balGwKcO20q7VJJsJF/a +DgltO4ytv64e+9Q61zqQUtuVri3gMHrwr0sBbzjf+L4tl8NmzxVbzo3RgzdH1/ioiYcxtFVsTJBC +xa5ofwiYFEiOsQkBbNrS2m4TkgtkTNtRMcUAQggc/1HGXDXmxaS1JT9sBDcGjCm3tzO5rfjWNXw3 +xep0I6XcWL9NSUnYApg1yoF6LBurtGE2LsYDZDRwf3s0t16nBKHKXcNmm1ADD4PQ9hd+OA4Jgk92 +kecOCW1VxrYaRw5f8JXbou0ZfKttgoTN2yaiuswOtrkLbTkpD1OkNG0cM7StSZFZm5xtizcGp7so +RydSpW1+ktofEwRs270UV2CqtrJtRHPGwyZqK9XkZ+Eer62jjRtL4x5fRtn2OCraXi9kz/a5EiB+ +2370JERwDRawTZfsdJHIZIrQPgoOTg7itjFazJ6jH8IYhRmbNHJYuMY/iXI0pQyp0pgPc4ZJHBsD +tVecD/wOhWRuotYFHHXkcQjPtgnaxmlisc1QFC7GNzCLHqeKa4dTk2Wt62PbJRSTtUnfjAOj8QpW +YCwQ6uF4aNuKTYztPGjTFseh/Y5pdFi1NrExt4lF92vEodYWpMSBlDYMNy0QGFxWpZ1g2BuQ323J +ySCNx9tEYxvVcRRu8DjUsOfLKKzY5DceGKvn2eE5MRAPRTgCu3fEsddORexesl2I3M8+p0oG5pyB +k2LbO75EYXJZDIyWbI+zy0c20LhUBPrIZtsf24ERvQzDFWXFNp4RSze2SXFc5wGSqr0X9KBkW5ES +qY3aY2E9ZjPiUJ6xHXixMZN3WRgv5AodA8uVsefa5mnrNR7ynB+F9cfC09yxj20kznG8bWKbHiHH +z+ggoFonIwmxvT1QgrkBB5uNp/Fim9kMidsYy+UmaMBBiUoVWE8EYzshXev60F4ehRcjZHE7wAfw +UvuOi5Viru3qJn8bpzQ5B9FSh0gVY5BjvLHpkNto2klfCtpObR+1SYcuEskBowgfp2KPM9n4GxpF +HYa2FhSE0DEiDvdK5ovUY6gltY5gmG2qRioUeczyGREooWYyY1tyEYvtRwxlhCqH6eWcee4TKidY +gLEE7v04uqzcOCZ0Gl0SuZhKW4LWSewcnOSU543f26ZpEz0WZccYUoXi4xP+hnnD0nVlAkIwe8jM +NnUpiZrQ5m4kyzmI7raKbVguOZVLo29Cp7XYFkK5kauIXjYmELGLrdGWCWswonOt/77J/sMF34EZ +m6hr+z6T2DQsD2Zsk+Mzd09pil5bvdL0X+03VDowHPuBvd02NXgkQBDJpI/QBNtgawpBt15TbrBK +5M7GcE1PDcKMjjpxOwvCEKjetoMFInxo/+EJlxtLtSN5GHMswovQAXAmlswzuZ2FgZxUR4o/nC9t +RzfRpod6k58FSkNbVqjqA7dqm8rWKXcIXXgsVEpDTBxJozgc5jjYRGGgSovOotuQ4rG2dcGE4b9y +2rqhLR9mjIJxxGS2h9uMhTZVqiK2ReH54ZPyomgiI0aXyB9tAStlfCgiDJJvTIlzeBTlE2s5NOXd +NzGRUxJmHHkiYfPLQVSgrFM8Nb1dWbG1WKk6lAJB7biZo8izpjRQ+DXRFXkgN5Uo6OEeIQughlON +aovXmnRylMcauC+HnFMQHc5nnhNOpwgNUCBiUrk9YPy06V5wHVgRp2LFECAEfRMoV5BxecB3HRau +8WCb2Iw9hQMm03apRaa3KYnYrSM0hCI2VBNBlQdy5hMutfX0sAwDthCMn1G4sH2MWk1TRAp1RU8D +Ccakk4MKcqaNlBZV+0g770aqSk3uNa4Cd0F845yCqdj2cHVtmG1OY4hV3mjCK5JhKw625Mi1jWua +jGt9gQ4Kdhe2FdNsoDQOAzrXhEFpvAU2HKrnNspN16OQT74mPWoxKQ7CiFIJigcNu1xFZUljwpyF +kZsWG7qpGxmz2pQDJ0exCzyLg7f1KYUbrmmwo7JgO15b73H8iOyLulPaMRRFm28slcEb4zBw/GIa +i0YupwiP4pqLqpU8nLETqKQ3XoQBJ+815SOTY9vAvai/jlYadmIgp7dTbhRmVgOgyebatNlRdggV +nTbLTYoKE7a1WnAbWBAaX6GZWcUCvAJDNevUifj2WLWmLjQBq0ex555uenKi7MujqG/thIteDME8 +ep5RMXNHQPZ6OcZo1kRVCsmITSzDdSEqDQ5D2Cxt3aKIKP7a5qFtnSBMNULjrTh8HI/bdgYEsB9H +OlYRyjxJkpN+jaUdHG0sHkINVtYonCeM3JRpqIdQpVTnG2DbqqbQpBLVq1Sa4UrFcKgi7RqXx0Oe +nWJM4KjAYPChOMrciI0EBbYKO1ZwVPsDNVRZa6h9FRMghkQE92DPjzisefSPrdNNtcx2NMdmOMGb +M8q2QC+hOLcNM5SkArHxsuOpORSvH/I4pbE8DgwDATdWCsaBZ6scyRgBD+lYi+2XKG4BB0/UEZUz +KMs0YEf5rIfmSytfPAbYQjEEOZrTgFmPYu3B5CowKedsR150MO9EP46lLesVTr/GcEUsqtAkR3sm +i4bXDoTsaR+krGsCA1hkVYD2UHAetJmh9o4eQo1pHEWRMgw0pRwbISumxtFtizdzixKxsWCGaTxg +lNiUtSnYmU6ZURgru0S1aSjkuKFkWsZNweHB3sRKlmM4qfbavkXjPcKx0+R5e5CcSEUZHYBQ4CYI +wh5NbsVBVdbEkzjQPoC1z50NxSTJOZy9qEWYMuiEbcbaCMQqLW3bYtfyyOBRgmkAm5ViQie3kR1C +VuHUwUI1vQ4ncW1ySVxF7SfsTaykV17MI42g1i1xI+EggciCgKL3Cr0Bix/BDEu2U5pYEyW9DSaQ +4RpzyUmcXBGNk5+nzHT6nhebCOzRtNtIaZvGUTi+puipuzTtQ80lDBrqzRir8mdb/vEQuwPGAt1o +TuywTb4jM0K0RDGpGgc4MGMVHQedSlA9Wo+U99qp7MQPop4a+CuFG5s88EmdGO3YoFeDZ0WCzy5G +VfjRweMonAinpnrysKnge4NZ3CxnMGITgPC0wFhQRmwaIH0xzTgqOILbMe/BkS4lGsBNnavkh6Zk +iqu2pioKKtwsdhg3QdLU9UMYGU2oUiHkOUf9JkKSYAqDo5SHahgo1D19Vaq7O1040aXaAe6wBdq0 +i/Js/tdKo5HuGzpgmwmvp2abLhhOEP1QgHl2wZCF3g9Ps5zGba4dfLLBhGLbS+I1znCGk38ybAMc +NuT5RB82lqG4kE0ZiGR2qA2JC9sapaEDjqQzG/4bmqlwazpz2YpAb/NHGhTP7odtO5aGUhOpIvXB +U4EWn/NDleM5w+Rrc9i+JXutWStyUmywHPhQPaNYliCa6NWBOOYT9xmksVPPPMYHX72jnkzXvHgE +2ynudMTjkKodTuabr+J2lr1MN7Oc/iXWYHYnDp0j+utx8NMZZI5m7HhY0023kakvQbz7cNDrarSO +j+KhlwEHGqUwi734uJvpFMWQZr/oshfpHk2bzW1f0EcPCUGnvXNi8cDMo7+dE0QvfVFtDCwyTSFs +bRoj4qTH0Rq5j+hKyXDQthNjHNVFD9ZsJwXPQkrNQm1yGNsEi4PeM87BI43ObWoaxZHB6J5vs013 +PbymUJbENVsg+emcH2FOm7ueVm2CG+JQnPVFXfOeyocnk9OYHhnnKN4s6NiGcSiOenPLR5FsDpqq +eOXhbh65gLI9m56NEXv6UtUnD7M/ymmz4Lw3O+dhMzars9zrnP/0RzvnP33JAN7DfPN/1ZjYKDGx +8fD7A4bHXhykw5//4vBv/7M9sXVkfLvqM1McUCJ4W2J6vz2//er89nQjrLc1HDduicU5GneiTDSt +tO10qhWNhYyy6hSKKBjNq+m9bbTpzWt25Y8HdFVRzjed0jPM2NTPgXu4cXTFD00mFIYZPYKLiC42 +zmgi6m+nFCLU8I9woNQMqxUc2DSpAvHatDmwIDwSQZTQOIxNpv6dTyVo/vBXVgTAqHPCo9YEWTMW +BnEtRtiBUCGahlgPT6idjI7qWk0S3vLqOfcIsGTxfMWRVqPnoXpCOV2huQQwuO6K4Cv1hiYe/OFy +JCcHL6cJZsimneFXEEqBflY63AsjIuLNzrUdW1/Q2OWoYYTxY6OnFwUUL66cUd1cAxSaZiu1jzHQ +IqQ2rEEcjIm6oGOAkFbKAMMcU8hXoKQX2KKB3kIHkyxQlgzUSRbdx5iw5IOseTOhEaeDs6/gVOCi +w6iB6Yz/8U+5WQLY9766NoVt1TN8+wOeilgVhBNojCY0lWgXw68io2k8VAOVZZw8iFrXZmuNrStZ +LDv4hpsJNDaubCPkgGDygB8RlGjWg6gh0dMzLJK+zeTUTOE8oYcltIXLOEED+LSZ3DGhFT/AN4Oo +YURzJ8shrHRmfsRmACMUWvLwxLZ2rnAc1QS3X5O94hjESvBQg3OiEdoa0rsFfq6jw4Bgsww4WOHJ +L7C5A73RdFvTBfkFuEWCu151clqhnh+XM3+0Xdg0ftpfJ7A6qDfyGZ94gIofzQEPsA== + + + 6D+4BbplKnQZBcZtsdYI2zCCmxiXX/F0o1qXGT5xYN6BTtI2PIauzUdJbXgMYEWqs+KrojXRpqIp +DbKjHVRA2Atis+TI7tC9BTcKNAAMDpom9As6H+B7+oKmFUJ9jKiNEuPziTatxrX/vhyUrX5wZMh2 +2Ecyb8yNMQPXHzZ462jfDWNMNL2bRQrFGcIQS0BdDaIMEZM2WY3fPV1XPS4B75iTcTqoQOChxsoM +btLmL5ictacGCeS1WaabQkZS26j570GUaXp84cTkCsI5A837BA7doDHmxK4NYo2JhcOY15Eo0SPN +fw+vwQnGAoeFxPmHQi12Pri///gtA6ObtgPj23BIXR2IIV4k8EiDFhpmTU7iQaJFQucUdmrSViQb +/OipZHGEMTjatk1IpbtFHCiV2BlSkueBgtPGq+FYwDCNEsTBAR9bHkkRVYm+E3igT7Z0/d0wUftk +JUe33mS4PRqTQr6pm4VGOwKyPkggNkj4l/Ov26uSg47ozpLwXftiMypX6PRAWYuouZxSjOLr9hBg +j1cIAE9WhM85WFv8xlnwacAl204pWSUHz8FykhglXE7lcrpni8JINxwLwn5wncBAJsAHugQZGmeF +OEIrxcgJpi7a1GV4TVYkcUNx7hobk4RIUVzrwGzK3wVfV/UNSTTWQ3FoNMBj6P4YJYQGsTmUJA4R +p9inMgyiOzXRwGFByFUnPpJUkthQEkIbg3gqaSqPjEM04T0E05Qqxf3YPURJfeNNzjD68gUDMeIf +iwx30RocYQg3gT0Q78AIWKLrE8YM9anF+N4N88M/kTkPbXUr43FczUzLnIa9WNY+yCEqXfw7VVxH +Nykj+1mEYsqEZMCzBXO2oHHxUVWeNBxIEreRndA0cOkZZ/wvvkGfXCidC7V0rruesZNsOvRAVDzW +kLkxABQEkclNfeI2ZmCZ24Or79Qhxh/aopUiX9+ct3ej6DF0DikBYENqlq6wsSgYA/01A7kp0zFK +jCJt+Nq4Ijuh8GjhTJcR9vZArcHJTDPIDouV7gXOPXTvgbixJs9OtvThHahqWwe2+PjqQPylFe0P +3U0laEcc7MmOoPnkb1uixTLOllpgQSqJ2r6BBgbfB3GE0OC9Oml89IR4RphywiAMoSI4OGaFTbT5 +RyR5LFC+ZZvTLTXAkSMjcf01B1TNck7ARNSaMmGPgfrplZIG+CGDsDg1qwBvQRCX2UTwDEmJBUbl +JQIhVERHSfCKxWYmcb8m0dO4kSrfgQMI3r7cY2b0ODZOEhUPbpcsUKWhqfj6SoEgbLNdME/UaaB/ +VQnYfSHzVfCEC/Rm082Y4O/OeqAnnomHRUGcJxKu9gW2hYg7Dgd99YlrOpukk3clDTf6cXWwpa+z +wcyGKwAfrvxImymKYxOCjXr3KAFH6JpwydEjJtNIbgWTRGrcTVBCRYWWAMtM5pEwT7Qj6IdyTHxS +5fEbt03kO9i5keiHQzJ0iJyUdh7UgVAXCWqC/6H4waYOtAW8AFHphXMmwSNwMSAFop0Qk3EMR3k/ +CqCSKjONG8/TwjnZ/Txuq3yp4piG96A0u/QLcYmoD9BV0ZgY7cd/EbKWzSjxbXEWy7eJT2yfLIMQ +yPM0hVJRFvT0C7SzwsPKn8/E398J0yXgy9vcFd1kVwC+QYZzZhjWPCLUc2AAzo3bO7sY0GLIs2mR +wBPNcxjAsSpWGAov/Z+jhE0Jp2YoMMrxMFKg0F3CL1U49R3BnznCIqTTGy5LMLNPVIjF9UtkmKNf +Kum2kmP4hPNAmB/8swgxrE9MVmfW5ky9C+7GeczPQaaXKOyt4Z5igpJIE/hCENHkuSMjhvvdiRRs +cwsfESzMLBD6NCgaIiFAdBQ0apUEaXsClZtnNcxwAYI2W4vnO7yHgwTyHBGCkBcpqM1VI1xbTcgI +CMEMBcdIf8L0+2MxOOECkOMJ8ORRgt9ZzlIeSTbmky3zcAlvnISgijoRkZwQChc2SEMStyC0BIp8 +QEgGcTLEtjBGaFs4HBjp8EBBuAo5gYMFTGkRT4jMgUYlQEk+VgH/J5xFYuNgc8Od9QVAzcTPQ9ZA ++HgFaFRB0Dn1kbQ9RK3pBKOgsgNAASIgTrQf/M6zYzbKd3KUIECCYws+Eeh/hLnRlkR0ADFZnGeK +cxiANv77Ad0uEvmT3e0YOxL0NgQnTkDHv4+A4JwQBge9CciLIP6b6iKZA5oJJg1ZGmA6N2RxSDEq +qfA0KNrwlpn/p9rytl4XGt3zcbwbrx0tYnwUDlxiXsgNEHdtp9GBhAUD4B7+oy/ohxolzNpOk0A8 +HTRHArYcOV1AIwG+tyi+LkoTAWgl+rqck0QOIrtmvXg3+vvCWwrn3cyjusXnuumWPYOj1o98BFEE +OnPHAS5FwUaPUIsGmq2jhMPo26VCNKq+NP0ubodMeAiYX6wufGSgVIOJhNghQRYDnmiyw/F3HkIe +OJZcxU86Ahlqu34lrvf2u7g7cEg7SdgRBSiLszCK0sZFoSZOcG2gA5IyByo+FgdiArIMaOFKm9o5 +UQkCJSLfoFh1ZHAc//BhYIM6eqPLwmv/3cHCr79w/C+DA1U9dAOlDkV9pigmPglyZYtj/OXBwgdM +rLVj6LyRQlY/MbY1CDSv/37QzoRRHDkAAdGRksx3Mah9i+QVWjF4XZliIKwIKABmr5AL6KUDid4b +AEAKTYw4EvK7cM2DERbu+5mDfzHWs4PFfCxmbDGrROHM4zLL2M1GdIcQDvU4qxpAIefEqdC3svr8 +cWSQ0RqJ4GknMdmFp/27g5krfuGpX3rzKSAGQGUweQGeT+79QInRxEPivDaOHmTGa4IjvguKJh8A +jmJXweGYtSscZzyvCLlsS93WHt7GyrysNnSYlY0gYGAPZxXhS1U8VJ6eejlqI7VgeGrpyGraBBf4 +iODK9q0Fl50cLHhxtZ1fN2biu4Nl7GMRHZlHUARLTasSmBzILgTO66h4HUWfipsJBkChrY2FHAen +trKry7AG9/cs9DEPjiwCKJR+zH1hOBIulARU5VAE+Y9hLtbq3RwRgDbT+vcKCd7KAouPr7bFUBaR +ltXWaMxmxOY7qA06qZ6OUR6f4jwB0jjx1OyuFsoasgqTKgSVSPGT1WvNKYDmGQD3hOOyKYIUWito +jBJpCcoIAEfwW+AQBE8XE/JOFDBgwugHh96IrXJ1IJPFJR9oJSN/j1IiqP286D8k6myUKyK4CEUG +2AvaSLFwDlyQ0EG/wPoB2kJfB/WL2KSXHzSrAVyPZ+QApqkGXReuzCSJaHrIzcbwbjhwGf1C1CwN +kviSkafm0QZU9RwnUNPfCS2tCsqtyMRaNZITsw0kagH4lKSpgAKBAwWReioc2jzwAQz0juIKPm6e +/a3zDBxEcfA66oR8x9OJDEU+i5COKvWaRCK0CeAj4tM8UXhe4H3yIc8kKwZg2OVAZ5tTFwARNxa0 +ihIxodmigdEsaQ7YDtWJgcwPtU7Jl5m1KO+M6iPX1IhFbLBtvHn8cB5gXAYhT7Ys1+pdHEXLqJNG +AuexqXn8ahHlEoSisHK2SItDoiK4B6fOQEeZcjXtXvW0N14rZJ2muQFRN9BDKTj1qurEjOUwIXPO +XG3l3/m0fXewLRI8jxZvibtui84uQrjfHdAtkJg8MGjc0BmQ0lGX4rwkeojROGUFnQe1y4+QUtkS +bf3uYGtMdhm3nYVIz2SdJVLpkQ6b15/y0ATilgjk2bsJZ8A5oZgjzW8AQ+UgK+w1EUldJQQmEenj +xE+vkoAz5KmLYKOzu4K/PSoWe1qEYxnSnAdtl4HdWSTyZHu0cjOk+R0cXAN9BYyyBonmacwsSvrH +Ef2U6qtnTo24uDr4OhEpndTDg7AYkyq+YNIxoztEyxYJ4Ypig8cHxf0XSdvDLMakrqEsiVyRzkJu +XkE4AotJg3KxIIw4IE0c9sMRHZ2RmDIgv73CZJwoIgLnZOSM4NqocTZQuOUY29dzLxyLFcAgNaOC +QZFK6BX9Xj0Ozb7rzKBRhefkOApebJTwzWLMDHfPZ2Y5e4s5Zmqx8hx5I6rEs3IJxRKYJPm3KazC +hkyVC7LKkucOuc2x4DQJdDWPBrD3ojCQMuqninjya4/Jj5J0whA1t3C082mxKu/EAgGnRg0ud4cn +EsSKRkWL6MmFvvojnlOtf38nQiBK3QrV9TEHTG72hLWEDcoQoFmJl1NC7kzMlveg3At7CkoxapQc ++m+QqQb/MXRszEUe1obk3FnOEMtezOdxOdfzBRFYOWC2IiSDl7g+Uy1ElCrukfFUUqKgdmDRcjaZ +Vllka28CCr472AI7WEITFgF+SYA3TUplZbHQHCQ+W1qs5zuKRC9i91eQjeIiIjKAsOV8LAHVTCkI +pwVjD0jnodWA418i1M5S2pOdY+5Y/F1vYJstzLXgv00mPdnCyYvpofSuhPlBVkhaA2pvZNEso6gR +CwzG2cEWpMYCyzHHe2jhF5mVQTSYHjKkjRaj4EtEuWLqehFho0lymHWnefabgNnvDragahe42zmY +QlMKNhAXS1DGFujGy4PFApMn1jlgySGLhiSZaIYU2YImmWNOTrYiU+ZQgO8OtiIGFqiCOfRAZmWG +jlgiKLbhLIrqHigUVRAWRdIpdE9SsqgQFR60TqCe0RazsCU1fJD3CyUM36f7np6SSj9wj4tnev8I +D4SbRuZcPJ1HUvQhlG0b8d0g5TxzKJ2WJuDqB6KN24LwSF4jeGEtiZ/jq/SDc6ZBC5z9LNEsUmBP +DZLg5oUiPvAskfeT6WtAUNBTyZw8RCwA1Bo0S0+iO301+J4o3W9cDwqF2Zotl3Wx+GcHW6E4c7jO +AudxdrAFDLLEi8xAJZrV5ejVj0l2MAwTpmOJVeFG2TVrItEBEphQR2wcmT4G6wR+06DuhS+keATT +XJCKVURWwRdM5z+dTll1NdeNN/hpKw11+polyCshhsBiNQt+eXcYKRorCPfXIvHyShuzTaHYkWAC +aD6eIUK42MEpzCP3NuFZgxBQNAfhQboymGQ5CmYhq/etkVgXB5JfkpFbwzxCWOoAuXhttaOYc1k5 +yUv/8CFKESDQkfkJAmE1FogUJCURFYhV6sFK85XhTJ6DswUQebW5RotVnK+0IOIGlNmJ4l4gQk5+ +19g2OAp8qDnLAq0qyCNO5rKZA4fkHNrEFi3ARzOAkvTfoj9a52mQClCxf2hzpfUIEm+2NUT1NRMe +FQDbjBR/ledqQI0JWQKJGXstbcEZH1kDDFYFT7yslQK8RB4W7CBya84yC6baZLyTLcw5G5Xoh8UH +i5NxYnBkY43oeZ+jnUR+rMOhFmipGRBIZMcMLLSAE80gR2eEHEWNRSuKBOW2ApEoUimC5RQEuESs +ygkPYPaGVYSS1MtoGh/iy9QSvhANZGAMXlB2RaEPCRVApIqNKIfmsaduJ3skagEIJAmiKx0VN2eN +d2MwbcM/LZBBM0DOdwdzyM4C0jMHs9B2SawcZAVYMGLqO0hQpJsiKXsVzQPnrAz0Vg== + + + QT6oc1SKI2YtOoAAONSDZP4zmEYV51hSnTFp7lDbvLUK0MbT2xUllCpqPI++yEJTfCcyfiLpkG65 +YDRfZos6X/UZXwhbcxTqrKWjdBQe1VdmwDJBMc3AZwt42mwJ39FBFLSWRlZxc0X4Pe2PPPk4CmOz +iLtyDrYtx+aCLVZ0vupklUgrs6h1Qt6BQ6Or23OEFcXXDIW1wGnNoFyyILK9i2QyMrsVkh2gRpnt +QZaMnvBRNWLhWxwUxOIirAT7Coo/xAi9XE0ZzKyNBWaTin4QWVVVFwaIwGKlowGOrDJTYyBR0oJW +JylSofRwsSY8M7yK4KL5xHRDVkruopl7NBj5e1OSYll+nc6mWQ8XY5iPUzxNdOUy+SrIJqBn3Llj +UQ9RCwpKMNAQVa1YcZUjm02KHW5gx747WMLLFgC0rRg1lSZmIotfDLuFQ55P0zuxGtrPoiFXVG2p +EmzC+e6APxNrE/wov4/M8ERUmrulKsSBHvgxNrGNdjSuDUnqqjxFxXMLrG2BfFtg4+b4ubPJaw0W +rxLVlrCSU7AQmhXtzEuFAwQlcAAMsg2y1A+WjS61yhrLD2KSBzkqaaIYYaCddriYq3cjqBYwvsYb +Eb5cEyjAugv0UhRH+CdYE6iiNpeX8Xlxp1bxfQ1SCBG/U4tZdP3sYNvw5hOwOUcIC4oxTLwpS7NJ +2BRhl+hzL4CCpKTKJKSghYgRdsOWm2EQvztYYhQ3IIzb0X8/TmdYov+qShNocoWbkrogFD/wd5G4 +l8wUbdbE4pLEnBJBafWNs9auCxozSh2eEjTOgzqAA4u9ikEKwe3yNmDkDDk5B1bOoZdnbRTOppIl +Q+BbAhSHmqTUrt1AKLKc7gLDOMc4rqMgTxY4yflcfvdOtgQwFJxFcade9WB8tLkQP2DSgqjL6Z4v +yHzB5ksKyJQguMZBantUxWahMAdO6Dn6krViNvCZc/jmJryTxZdYPNDq/hAZNRDf4b3kG+PoJnKb +vM6IFuEeqJczR1ESJLWJs5zjMGdITS44bcOihwvUYPw3a4lqxOewXa1cyMmB1rmJ2K4DNCeJyVMl +QvAYkxg05nwyX7h3kgU3RzqCGwqC9zDjWFEOcA54CRHMwglpUKqgjqWTgzVKFXYIDFJYz+cjAQJp +baCzSZjPEgsNkVmKQSWdQn8HKg1MdMOs5yQnHwQk/BJJ7foZFvO7gwVYcxPKOYN6niwm6R0ggSFn +opTNEdP4ChAPCUQ3kqIoBL0EVz1Ooi2YmDlsZoGrWWBvUBlb0V4jjZ7DaGgTevBHlnxSpACyS+h+ +jrr4bEaExAw5gsNmhi6Zw0+2IFScoBJodlG4tDETo4nYA534i4nCKfUfrw/Gw1/96AsL3lRdwhcR +q5lHhIGFB5pypSzBp6jbP0eobgGxziCIeGsGU1wAGRdgR1STruJs9eqEDBpcAEGhXDNUGV5aIM8W +2LQZ/ovwoU2M2AJFtuBIrOicaRdcPVtQvJPodCH+EMpZI5CDjnTLLgBReGcTM7UAVW1DXm3DZy0x +XDPUzdnBFmzOEr8zx/gQGqShEyWRoBMombybaA++MgeELEEjcyCDqO3CSVHDiNNVC1ZLdYk9oFk3 +RygsUQwLrIPgS+iUQbZ4FVzCOGhAUoz+RWCbby2j38sI+SwgKoHtWdh0W2h1M+xDm38RHNoaQtoM +NKmvE3MHFYvhiKxsh1ALD/1liEZDO8tAzjLYswwJLeJGi8jSZjRBPsZ5durwYx8ZgGAscOFol1fm +zvi5t37Toc932kAy8aIjK38DZg/j0VtS6Ny/zPWa+aC3eKk33ZV8SeRj1I3VTgRC26MqmXPPHF+Z +Oe/m3r2Zw4kMP/NJbfFabXpRuLsqva1ZE9DoQYEUyExSiUv3gWLPNlwMcx/EzEsBh9My2W4zG2+R +qXZ2MDf8Lw+2OgdmDoSFlwGy0YngBGnkOakm6xph0zRmjcsN63luXc8sTIjtRQLaLEFt01LDKbRp +y81tvbl5AgVn04CZ2TczNfqMejXYXayueGiwzaCBrrnGe3aw1InnOvOmwkgFYSPDaJ6BtC1HaZ7F +NM9y2kiDIqyfykNjCMlPWSP4vKUqFl9ZVM6al9ba1I8AjvyPvx5A//r024OBStiIAqt0izRJT19H +k9GFvqwBmomnRCyOlQSi/dCmGKKcNoi4V0Y9A5AVUKW6LIt8eiYF8F4k7ETE/ZAowl0UxXYG2F6c +gKiOK7hYr9jFxIAFqm5ZykbWuBeqHElh3mK16jrcAUUoYeat6H5DuAKzEbkRVoTvOvqtKwvlou5d +42gI06xG+4ouW4JV7LAgKYeRF244TSqEJ7WkKqE/QB9WBx3RFzRtazXJVK/GJElF5Tlgn15Iieat +TaU8RYlHzw6YlDRVJYDXBuuzG3JfE45UamOkyY8odySYd4xJgh5W8IhDF50vaEVHzo9k61DgJs41 +MCniRKbiMnLZpsnFkwEbHKsiVbahqbCwApaunbte2pMl6HHpoGsIHlD9FN2FAAWbiHuVilXmhCdN +AztixWQnGWdJADcDj09OCFZICowmpyl/c0aFHfjXeT1HqXTYDtKBiAaX2kRwQzUeIFhicE3eQ7mA +Da6IjjEmKXfZCKOkykjAb5TAyFUneN4qw4M+VKlRTh6bJtIo1CYzLef+UGDVdt9b6QT9Dk9IoeDw +8SyCpI1ARxMVe1ozI0GwS386yTps7cxGpCjrSqMU6XLtZKH3Fc5FTtMQM3/o7osiswNwCeNgkuoi +SVg2TUbwKshQEgVmZLDocO97mLCGdplMf8jr7rRWOmGaJqMgn880T72SZtQEzbV5MhJOTOlQJ1mP +e0OzMXGiKGzfAVMJ9Ad12URDYFo7JSp2J3X61fQYAgcikZpWLurSREqqPK692J/q7a+2fBO7xmtp +4NCzcKCD4qSxbb3qz2A+Aks2Bg0xTZSox+b0lj0TesLI/FvivWkPFS75SIzJFSSRE8vUs0iH52mg +jzlxmEM0DcRUrhHi2gv2Z2t2tfwSPg+DcpRMEsIfapJaNyZbYcT0w8eehHexjEkTj8Q+XqdRxR7X +X56e619Zbf02++RswxLry+x0pGfQtUyNF7rQau25oKXCKe6TFptaI+nlEWuv2mP2hdWWr64Elh8V +19NOwjAKKr+KgBnVvbFae8xpNJcHVHLcjxu0ZtqnuvFuf04/sVp+VbvimcTudBjsiuDzAT0bqGv0 +p6xy/krK0Ukcp5O8Tufai/aUm2Zp/kXthtTwNB8MsT++wHh2E7fYU6OsrJAGXhazRgqqZG+8KE9Z +86vlF9kNhJDEdSq5UYz7V47AYLer6SmvUGAOXa7R2SDRIbT2nj1kra+WH2QvRhagY9YgwwfcO+IN +M8/ZanrKTGTyfpjTBp6N7Fl/sz9mH1gtvylihHUBJSbGCoGI8A5ulCIHo+AyV9NzsM2KbrnREns2 +aLmKvt3ftcf6J1ZbPrtixRLxaFgFf8Q6zeiQrbPqzzhep+ooHUXrXKeII316y57xfXfPvyXfd1Ks +GMcS7URGW0UNHDU1bTU95hT+j/ZHpynqEymaNLMX+1O9/dWWb4pOVt9tce3V+euzb+7Or1+cvzr8 +4+3p9dfns+tz1Rr645tLbo/DZs1tgBUQGD5ivECqWRutqaPMx0t6/YvQUUVcfhC8lNSpF8rR/NWj +ZfuCaBGivT79YH8aph9p5xYB6Stp0cC2z3z2VZuPn//1GtcZvzj8+vb0xcX59d1hcL/gxFTMkcyS +/fuzrw+kgWHg3Trt5Ai80WEkvln/cNS0nyyfa1wNMzYc/u1q/c28y5u4RA9n5mdna68iLxwhsZ0+ ++tkVlH7cfgHv+g+/kpCq0Y4evoNSmlCV7nklyaWmnz18bFl8FhgbtMbPPvsI+WwcnhWfwcOByxAe +wGa8r6b4+3hlYNDq3bAZI9CT5Pv4uK4I0x3dx3VHxnZH26Y46A0dbYr1NvMNxjuy5fnhl5sGAVd/ +wfoM9KI458ddv0gWggsllnr/S4Nc4mkv1Ur07g+/lJLcErLBeUwxC8O9X0xOLiL67C0mpm+szrev +EUsW81q5d+Q/QO9tHuWSyah1a1LxWkGZJPvvUZQA0UTojMMqIhrzSLyWyFoRusOn9SfBKW/88Wj+ +9tG2TxwtOnK06OvaSE4OfgPN5VqC6dM+uDpY7pwtu2u5O04Ollt1tpf7Nj85mAmA+Zvbml90YrGH +14Zxsj4m6IUc63/8VXx2x2l9dTdceJNv+/DPtA8ScXBtPxBXUGtQmEdTPg8ZXKxBECBj5qNtt8Hl +9bdPN5nIQQ88/P1zlo6v2uSaujuf1p99uW3gE/X+of/sy7cbfHvvocP/2ZdvNwE/+xLb6eefXuPm +oTdbIO7wl79rp8bPm63h/3R6d3d+e/3rf357c3s33R80HP7ys5uby81nrk+/ujz/7euLZoms3TL0 +AFPmT7c3/z5/9er2HAbN2T9mdszwYDuGdZNRLgXYbhSlkkt5CkJzRpLEqiRlgQnaWCM0TdeqAJPE +lEFxDa1RKMusXeLIR6m3LKValHDCa7yclrsHZUVKLROFrSp4H62u/86LP4xgfVutU9h9a9LGZx+1 +30+Ws7J6o7a6o7IK93frTIjHikTgH5DIMJQo89SONyfXkG5qq3pp6g+/ioscgU3b1FYdAN1ux6+a +WeTDEO57JyFzKUd5B9AF187se19JdZybRTsNLnveZb1mFeEk2LPuj2Nd9wh5d9Bu38dMGzy72yvJ +vyXrYelmrMeI+pqE3bPi7qxoivpn32wXqPUXa5r8xJRtwsGWSCT6/9l7s4U2kqRh9LyA30Fut22w +jajcavHK7g03NOC9vQhRgIyQaEn0Mi9zbv5n+K/O3bzYiSUzK7MkBO62p7tn/M03HgiycomMjC0j +IyivAYp7qpWL4bOwuRgu7Xe5vlfZt636YgIvvbClbPnG3KQTphPOYuZPWM1QdpXCp39bYAicSa2h +XIAcoue1FxpwzHrV9Dp0+rcphk2MfXzB2XqmFTMTtmGbmS4ERRamQDLSUmxTuZcgOlGcxzbFABw1 +ZuGGhET15IJNtmQRbnId5Km41s96aGOGfzPanhz/Od9E4a6nReogVB0idySPTx0iiCws8REknpcD +UVSJ71dQ2HbaCBdjOKd4sGKC8EFIs8xDsNfMEj49LKp+t8faQUJ8eADN3/VpF1jDyXIdSXXD1Z2Z +cbP1eV1rr1tfqNyjXbGCBkhtd9EQm7C/AdCvqPp4Aij81FtCwJTN39Ia2m4f9jqj0XFrcFT2Gj/N +FHPb3U67/Gm2VkeVrKKL3uwkoBLRe1Z+MB/8us6/0j/rl2o/Vo16NoioEFJTvEeWZykFYKaiyBUF +xWQ6dUJp5u1mazgsB7yKd7PESl/969Icl8+gN7+c2DLH8FD6USX4I+d6q36kEDi81sxSiq2kuHfJ +2WOSzCh0q+VK4vOcs4ZuCjs4J3miwV3f8YjUIPjRD54WieFXhYWR/BLDwHoppN+YXA== + + + nL3uprSDcyktzpCR+cGDEalB8GM1uBSGctMYqfPUPoTU9FBXg7zApDhnDa7s4PTsngd3fccjUoPg +Rz84rFPTQz4NuKa3RDCyMfSESKZ4GX/m4NoOroQf3PUdj6hE/KMfXBeYJIvDONmDqvJU0wsymWh8 +43jm4MYOLiqCUxXBBSOKIv6xGlwkOT+TxWzVNLikl4D4bCchkXjW4Kmjdj+2qOgtGDCLfvIjK6Bm +OlJSp7qg6CqT8ssh2Pg0m7LsjEeuaK0iNT+YCX/wg+IrBCpwLbKkSO19f5HxG05KBHPmoDkPKvxy +PYn5oUQW/eRHFYBbCtRNcm0KJPKk0DTq2cMVPJz0Oyv8IqthZBH9VLERk3D1c5EmqUMknjHFT+fy +AoOAOdWIQgXMlvzK6ceu/RG66NoGwY+uji65aP8Up3yDJ6/x6x+dw5CvEL4AwxY0CalsQrncUMwq +TUcqm88DgZQ+Vbj7RQJprrKGj2SV/ZQfcTGQcqMiMHVfSgvgIjlScWEkD7IfGjJe4nYK48Gor9RC +MGjez8J9SWEfNFtpx+RGpsjT6HdtUyJ5iDb2A42pVnPTVG5xVGM+x+RBqZ8ip7dFIJedJFDKIJFX +XzpQUaGlAlJUGk9b85j4UoAhwqKAgoDdRJVkJADMtaPSZbl9q2pRSvl9LMjthclkrR29UaEhVGKx +zG/mcFVC+09hD7g/qZW07Sh0FEFpkjlQzniULpERAjEElHCp3XZkVEgVQQWVQ0QjxFh6ovwg9lNK +fZIbflPLEIdyDJdDEJadVBWEPsTYdVNvRjuZG1shFyE6E7wmihy3Xxqq3kqrZ7LTFLPIaDOUi6kC +aTaa7aceaCtjUm+YaiTXTD40aEqIxPkUhftSUSEqAMpU2hH4ARyCOBYJF5rZ/glkP+UsnUE7fKcg +eQi3BErdyhB+2MIYpzyrCKT3cARK0DqheSi3pYaoUjddOhYCklKOi0jcSeSnXwiiJJBMbqkFmdxv +aUov8xCYF+4w5gmvix9bEQgTqnmQp3wt6+0oHxj2xtm96WRZxCl3+aTcTttcfwxKBa9LqTEI1sRy +XzqgTY1GnTn0Glm4MbXdGZlXbEikFplc/psOquZPhedp/Fovt+XiHJIKi18KxmSUp7a3RLuzyy8f +ECTT6shQAicEJtLSL/+UK1sGkUAF3lc5kKNCQaQUtjN2Z7imMRE5PeiMloph+5ZIOO8QguipIYJM +keQ1UK5yT/oWaKi8o+1MMR/kkDseVLvDW/jpcgJpZPNEUrSCxDJCLuQScgeC+DOjdNQM37JLHjT1 +fJtyOrAASjzlY2pTK+Myxwcz1xunPR8TovbhEulXBenYwMQ06buJopJzqJkU/CgJf0RyAs7ndRNK +jhApA5SwKvPKQPCjyxHwpXWTz57DF9dNtJVRmWT8Hoc7kuHhAobStUCJt6sI9JKO4pURxCeOxRBV +SVScDs3xNmJ9mXJZzYjdYWAJgoxUTv3JApBnFqqogHYqWpn6x1ooO65WlgeyIKSp5H4qVI2Hp+yY +Dz3dpnVlRQ1iCs+1PEw6ucmZjxGUWF6kqdYhOhTxmYhbAZV4yhyTI5DhOZA9YpluGoAct6PyvQ7o +1k68OMO6q8rvDSVXroHI0+yAPGF+64xp/JxOpuiSHUFe/inOCIhAUSRurSTFEOSEUwUJNtoD4X/t +WjlbP4Iyt1ckHhBilGfPlAKPgCoXbhdsX1zFmNZkVAVyxFVUIEeq9Jg8+jRH1SDuP6eStjQPkVfq +Ucaw1Dg2Rv5GWpPKa6Bw7RUwNU5DsBjiwsbSFWMndEuP7jyjNKnhttizFm5eRmqMA7m1c6rqeOdZ +k8jwAADqu5Y/2zGIsTuYsHRjuF4AgshhjiB+HyRt7VUCoZbs2D1tJgI5VTxyEk7uKrk2K4O0XS6B +7Kec8T5qJ0WtL8lLsO+NvQJa1KYm08wtILULkLmlXVqoU0CN5T8hRjiba4Q7zQd3DEivyILdQN0o +NXbPtFeG7eFKAvFvPAmwCNTVieM6JzFIBvqrAzqyw96SNCJOHFSIGg07jSGgdW1T5AYnAlX1wtQO +E6oOKjhhdv2eaquP/THxI3D60OhUa3pyYA+/U3YK45blFH8HCVfvYalFeEEmRsCTMAwyrfMuLK6Y +qugwOXUo2j4ruMLDpDlTbH3vKYtfzIMxf0qSjQE5b37A1TXVvItYv+aqkbGI0FT7KZQkHuWVuAlB +XiqFQCu8sDMrlpyEw0ELJ5QDLZFuDQOJiUqkjMQqIsquoJLJ/uSEMllTroPax2x9B2KfX//U1AON +afYiLUKzwRrqGrrJNcpry4+1l3WvFGqTYoIm9EkBmgvDl5JAMaAFon/Mq4Fp5lUwq2xRolnj9a7g +xzT7OmrgZ8/hK7ioMGHoXJo0KWXEcai1OSCDKD0QgoTTyylynECBSONy2mkSiD5Kqk2gdAwS6Gce +mOS5M+dcZwlZsNGgZLl5f4qdHGeAZUs7tSCZO0WA0iI5kKPANGznKFqGLRlEBQmDITjbYzwT3eTk +WsGMtTWognUFIBGcygqYui9dZw6XmjLdxSjXlLE+2hrd5CIjwQZqTsPvQaFgdbBuDEszXbE9Lo0i +uEytA0qqjVYDEidxQOYkpFQiyDEbjifGwnFpxc9IRUVg4aQjMy8A8XJiUCD1KqA18J00A1AqnNBg +lowg6U1tKqhBMNJXmO/ZybGvlZk+ztyB2jWUENCunl/A1oGK0uqGPXKeXwI5DmxryouIU0t60U3L +cKyVs/bSYh3fr0ABUiqgR54kr0eEYvYK1LaCcmOEG8bKTLSplE3Egzw7T8fJREgmRdpgp6jmjiR8 +Q2d71oG5yaKhnVPGTw+fJSe6tgjFSSPDxSIoyyOUhKDQEvBAz4kK8lzRRjhPBZdYQpBKAlMgjzc2 +WIHbflTyhaoRlLOfI9pB112ux4Dks4o65FRm0bBsKRM9VZYKxR7RKlRkWAXkFIICnFRAjzvXWYVg +P2a4EX5ubrt0UWMRijPpxtQUrD2kpoTclsie0GVUB1Z8rCbYvIJQwObSbTCo8Rm9A8BkKvg/QpiE +8tkUeHOMP7jnAFhjQQa3W5wmPZTV+KNWXlYHPxrzdVSHz57DV/AgASZxzCK43cLckRnD7OWWdhkF +Cn+5pTmxOIH85RY+40eLBoHulsEUrrPMXR8YMoAcyElAqo0Wt0vc3JwdwW5lNw3HsajQE01XOnWT +NHZd+AuuEOTvuAKgNv5LwRDl1klJfxBSXXS5SwsE2osuzbn/EVRZixWoqFBUAe1FFw6R8QqEl/Tk +cEaIv+hyGrku/EUXYi1hrCVe1eYbFgfy+1IUtXapRa6759LWhYeL8vdc+LZQ8ma5ey5NNWgZlDof +QJbY+Vb3XJh+IuMh3D2Xs70QZO+5NBcSoj3QlUOaCx0hMHcWVOFQ7m6w3PWTA9GneE1lR63acT4h +GoLvoQzVS+GJ+KsuvP5UhUUA06DN00qIs1ddHpQHV10B0F11GS5tpnN304VjEirz4KbLULYSArqb +LnvNSCB7g2XYQeBBzlou4mba1oBEkL+ry+lWCUEyUNQUT8RddKHOR0Uyc3/R5XRDBPmLLqcy4RoS +dyhZ6UeQ9NcTlGwEQabStkjXRpi959K29imiKHFHwZBq7kCe8NO81o5NUeyt8NZpatHm77m02+bc +33OhKaoZIUqNQfw9VwB091y6qT12jbtJYtODsJsHDKmw7RKnanEtOZ37ey5tFV0E+XsuxKVFb+LV +4EzZ3hJ/ZcqJOxEk0+DIKJ5wdc9VZCjndebvr4y1aRzIHRm6fY7aUQ0C6s36foy9zY3WargqMO9q +bsmXUyoByF10BaDqossDC3fRZeyVHp4/e9FlrK5GR7fw82UfDXJ8q1Ib6zlEkL3BCrhDeNPFKUuD +dppyuTHIM26u5UfCKKlcLuQeJ4GXuVOjXW/KmW2xQLU3XSC2WW2SlkTD+xpmwMiwgvsaTvCJQH9f +wwU3adVO86MSWgQKFETOHEdC0t3X0ONInjojTNqoXQeiTyUVyaqAXQuUaVr72IlEp6pKSlFoZ+J2 +GDMJG7dPwn7ppI5TVQOI9wwFMOs/46TElqsLN2KmrIjIqwUIy8Gdzw7rf1mIdexJax46kP2SLVwH +dEsnS5hI3jkVZZOL+NaAfEHtgAwyyjFjY0dmhSpi4+jrtjzKOUdlk7PuIihN6xC/0wHQXdjIpk0k +nfsLG0l1BBnkfbvS7hwCrQ9YWq0v935i6QR9Ht3YJJ73VFc2XLks+FZRMF00ANYNtzgKr2y4uq7O +gzsbTmNNy3J3Nh4U3tlUQOeUohxSCPCOK66USxivHFzCcdnqzkZUzM1ZX4QuD7J4K+iOPdp8ZUNO +SKupLDySmqQRiOrukxMsI2+0lzaKs98TyN6MqEonqC5tMPFTatsJF7TFso9ALuAIc2pXIGe+OWZe +tbN5pcPeuF64zoNrG+WVmGpyHIZGS0jtErhsnluq/TJ3SleIFCpJU0cfV7SvA7324TfE6qd56L90 +4tdf2ygqd2ypwAfiOfp01zYhKKAoD6woj5loRJ9pahcR0jHmvazRe+bp2J8KDo2ITpQt4hwfKU3F +xqOPdXBU/L0NbFlaO9vaauqB7LYOQVqXu7dxkPDexsOcamdLp+fBvY10ZyzURCU9jwkOFCbjFfGB +0lRAuXagXCBNtPnoDJCyxox1JddCoEi0idg7XivkWSQDEMNpXVbgVaaTMu7exuK8CO5tKlB4ceGB +3n8nnHyq7m0ERX9GIlFTUu9IdFrnWiBetd2lSDb7o1NEsRSU4zz8WDU5A3kk/rMsdcI5COsgJTZS +JziJeKR0ZNKZzUE0RazGVBc3iUgpOB8UFbDvyBUBcptimxPBed1tlDG65W3cceIyYnqfh3OKWPcH +/qiE94QEP2r1dRwznz2HL+6YMfZCXqWBquhUUJUFqiKGhyERItDb9rZwRRZcyoEqljMoOPAgF2w7 +f8fHmd4Q5MmRK4k4kLePqI5BFl0jcrb46GN6OMBD+Ot3omSaSnUwqCAiT9kdIEqRyAtzx6wCBcex +Avpjy8EyCHJnm+JRVBZxAFUYHrPiFFolPN2Kn/BVuwN5k1RWMLd6MkBhy+LwAyoZEgMpl6+DMQRZ +NkI8A1XCEkDEaAv+MODHZLgjyDNtDwlZuwM6VRH7EgzJqmjBlOcaShNF0SwI9FIHa4UwyMsmrjvo +QI68yKXhgP6mHZlR9HFO4UPREBxWQ1MJLonIc4BAH0LBRVFoXS7QwoOikAQPdDdzVN+eIP5mjq/3 +CeXV1VxOzqtoa+yJC/cvU0ZXIGfNk4Sp7T17UFQWhbMUpKGpNIrw4ToDKvXKomlSRnsCWX3M2NhN +BHll0dgSjwi06h1mLkulBSXWUqdSaB5kPxV0dON2uaXhqjd2bdCoqvIjkDM0mh17mGgNqV0De0/c +Wp3/jK5rI6yYJpfTjfBnmpzouA6kwJFgRwyX/+J9094PmGZ2fyvnB+vfRAesLprq6A== + + + OXUxBMnAd+eAjviwN3uQHYniqCqvkTLOTqiI5DH0PzPRwcDXF1LUThX6TUxw1CwCPOlWH1enxQ9R +UKnk6IAbrprKjMC5egrmgqnXFwNQiIAKmFqs88VewKEMVaWpMTKshJUX0aly/qBoD60cC08V5vsd +234uNRuxY4OZyfQ4kCz6gL/DuCLTkRTAqViRWkkLTCJhpYWVKR7pleAJQV5AhUAryIy9Kg/EneEK +jLFYNFRWNxKfxkb1BELW2OCnSEL70xNKaGPfB0Qf8+1DoARQIWsnoavN5hieQKkAkHAC2vu4yUNb +W3+sy6zHPjEhg/08Dl1YASnY+qYhwaAtLmWNsDAbueVBlTelcBzDe1MqSOBN8UB3RxJ0RmWM4kEp +stL5RNzkbDEDWoLlXYFLRCSB5PNqeBa082p9omof5ybXtSH8GQqnkrNOU01Z2ai6YGEBKIqB9UAX +Juw7q2KJnUwKQ475qVKwN+7hTLSDWGyjdpitfyE6zRWM3IcWVliyJcp0BiG9dasDyRfhgAQSwtIk +iw62Ee1ZI+L3driy7fxzD7bhkJy9elWBTBWEUwFzF97KVn2k0LJlWlN8sWZWdMK1vd+L1Giurxad +8AopoUWYYkXOMSAnf88CM5EreASnXlkRHZ16dPek8alXVrrTYl1sRQXySAmBnqD4YV6AYvfYKdoK +ZT2bwZY5t06wsapSpQjkD1SNJjDKgU9nnibeExXTifdjOjkSAinkORqYVYpoelRWt74Mafl+tVrK +3R3jpAIFuKuA/sxavQl3Ine9Kcf3VeBRJZM92lm/hGr/bUG4mKD4PiEiHskVserArIgNPfSze0nl +eCXfHND0Es9ms8Stgm9RnJs5oKcQ5HESAj0jd505BAdjVvsQzM3tl+RimuGuSqeAhOQUrD4kCUVu +F2RReNtbB4a8LJJu3lOSK1AJBL2nh14puBWGoUAVfF+fp5wjyZVnkiS1vYtEVa+iVfUqWlRPoYMf +1Vd6mf3Zc/hqsSvSjMeuSDMWuyLNWOyKNBNiV6Spx65IMxa7Is2E2JW4XeLmFseuSDMhdkWasdgV +acZiV6SZELsiTT12RZp67AraXEUVC8KxK7J6pO1iUqQZi12RZkLsijRjsSvS1GNXpK056f0laJBK +Mxa7Is1Y7Io0E2JXonapRW49doWCJ0wtdkWasdgVacZiV6SZELsizVjsijRjsSvSTIhdkWYsdkWa +sdgVaSbErkTtOHZFmrHYFWkmxK5IMxa7Is1Y7IrUE2JXpK7Hrkhdj12RekLsitRjsStSj8WuOJDz +xxRxMxe7IvVY7IoMX2nb2BWpx2JXpB6LXZF6QuyK93MxIRFt6bHYFanHY1ekHotdkXosdsWBPOGn +ea0dx654/2PlOpR6PHZF6rHYFanrsStST4hdkXosdkXqsdgVGT9c5tgVqcdiV1BTzXxsOldK1hNi +V6Qei12Reix2ReoJsStSj8WuSDUWuyLVhNiVqB1fd0o9FrsSrdXFrkg9Frsi9VjsitQTYlekqceu +SDMWuyLNhNgVacZiV6QZi12RZkLsijRjsSvSjMWuSDMhdkWasdgVacZiV6SZGLvClfv0BDvdAecq +U5iOcWynRwzAmdZIQjU7nayptA4Zs9Ole7MfdVa306WeYKcjsGanEz3GdroDRXa6A0Z2evQx2+nR +EGyn16bCpnUwZWd/BwsLQON2eoWnoLOanR7h3Nnpwd44Oz3aQbbTHSi00x2sG8OIbEI73XmQIju9 +Dsyc6KzZ6dKM2enOSRXZ6Qis2ekouGp2OvnB6na6NGN2Oh3I2E5H0JidTvpbbKfTqYrtdAdqx0gZ +t9PrQJY9ZsxOp2FjO52mV7fTaRmxnU6Lje30CCkhsGanByh2dnq0Fc5OD7bM2enBxjo73YECOz2i +CWunI7cas9NrDVnvqwOzIqsNbLURM2an15ZBdnq0Wra/I5xUoDE7nXAc2+m0E7Gd7qySyE6PdtYv +oW6n1wiK7fSIeJylWgNmVt2t2+nBsM5mpunV7HQvxSr7O6CnEDRmpwe4qzqr2+nRPgRzq9vpwa7K +SviO2+k1kmCT3Gm2deCYne5g3k5Pc1lQ0jQ41TnVjjeg/lIaPtAcDeWKA3FEj0+qH9hs9+a6qBKF +iCpRSJAcJLSZv4qx/pkz+ArRDJTND4YITHWkNlKmlbfVkaNlDNHuLi5lDUsFprqxTFEoZ6obrOWl +GJK52z7D114W5L6kuLeoHd/vU2f2hoU1YzcNp7gZZbuzprqxSrVQ3lQPQd5UD4Da+C85C6Qz1a0F +iZDKVHdWFwKtqW6aXGJPqOC6sgIVFYoqoDXVcQVkMSlnqhubn0WowFR390FCeVMdscZZBb0Jbi1E +B7FfphTgFTVLdcJ77Ex1Y8NJcFHeVEcgf+ksde9LUd5SR5Dd9spSNzbyGFGp3b7wzZ9Q3lIHEJcc +VYGlbuwLUwSStkT3lw7jzgJP3QNiFVjq/kIkbMeJV2gI5vspCzSchzfUU8cUlbdzU/swGfFmDXUP +koGhHgCdoZ76p3zOUk/5SZ+QgaEOUxNsQXpDvbrt9hZ4aqPEhYwuaouMsR8Y9AWf1sDTwMwXQd5Q +x3tKPk/eUjc2dxrNQ9k9zRL+Y2CpG2uI4CISdybd615vqRv7thpB3lI3VnNBoDXVMbaAr+K9CY4E +necVyBM+B4IE7ZzQ8aY6XoNmDsH+Cp33WXpLHe9BWWo6Sz2EeEs9ADpLHfuy2LWGOo5o5xUar5yH +jfZFW3xwI1ExQMNcKbDSkely/I+30vH23HaVeHdPxjgOjHTcZI7g8Ea6sXk9hPDGd+re1ovASE/d +EQ7baZ0yyTgjPbV+qGidKdWStvuZW9LlIvIAckZ6AKqMdA9UzkhPrT8Cz5410lOntynmjvZLre3p +dkZ66rZDeeM7YAyVkQ4oIRdp0A6jLnJmeKln2ZzjiMRQ4qme/VhCeSPd2BBiobyRXhelkZGubQyJ +kFHUIF+/CxVFDSaMbBWko7OBYMq+SBCV3ybO+JGQQ0iECcE4C6UIc3oV/DI4TgjGicMc0Fk9XOA8 +yiZGirAIE4JxMlURJwSzz6fDhGBe4lSvoStQEMRaAX1OMEo1zExduEELKzaCnGBpboUVO5poXdJy ++iopGId6O5Bbv6W/MCdYZow9yVH4u2OeAZA9bCJMLJVarlhZ9GmiA8buTDxr7gYOAheQVXkRKkho +VzpglRTMCp8gJ1ia2PJfYVKwVLgvfUS81fjC1F7uyiQKHExMGrTzod5WiFWBg8JSRxA4KByOwsBB +fgUiwtxL/BhFhBmaPCgMHKyALnCQjTQhg8BBji8XMgocFI7TVoGDScXhvA9B2oJ+obelsFQU7X5h +j2IYN8g5tEScGczJkiAzmCzs/hvviPU6QZgZTKnctvPZvFRqRVSV8UsnRQDy7mqLg6BdZrex6o1z +VIo4N5hXYqrZ8ZWaCJODuaDCKDlY7pSuECucJkTUckHZ8nJxLGYia/thtdMwN5jlFHFyMGfcB1dm +qSNQfvsQgwKS8sCK9JyRHRCo4/gRIafGqBrBp56Q/bFg1250pvz9XBQ1KIzdyCpqsDoqPmqQzIr4 +dBtP1IGT3RkpQdSgB4VRgxXQKXcO10HUoLDiM1JGAUtFdKTwClDFRwojXcOttp8mdD8W7T+G0+qi +xo9NJd4iYGYFXBU3KFjkVGLAcC6gWFwA0AlsHzdo0a6CuMEKFMbNeaCPGxQmiQWeYe0uFow4E2Gl +pY8bTNhIrcQs3qh44zo4Unx64gRh/GYy+Bgzrgkry6vHAxad0RsDeqIUaRVsUoSqB2fdjpZfV2ai +sEFZqcn+OkLau9KAFqTN0hNQDKrajjyC6wiZ6jSiQFTALcV4L1YFCa4jPLC6jvCdVdcRftDqDiCY +nLsrkDZYODiR0uYljU6zu7aIjrO7uIjEq7D5ZYLrCJFaHh9eR4CeaaIpozfBMQd/HeFBoYZQAZ0i +4TurtA3h1JlAKRHaaSpeeeE3zpGGkzhJED7D5Bjo6DQHwPBCgu8HSb8P/ILCkm4EZEGnAv+xNQRd +IlsC0dsnOvWV/9jKPhU4kL27qHIgV6DAgVwBc/fCktN8RUqtppxENeWXs+ZGSrLKs+DsMogufWp6 +uMdK6CsunOMnAkrrhqk8yJyjMDj40tmG4ckHoC7ik+9ct7Ra50KuQIELuQL6w5cbq69XPuTcMerA +hZwXTjm3WybtJWmwsXg7qAOqcGdK12gC35MTQVUXErJGJhaoKey9DsysN7MalysxRLOzMiBehdFO +MPnFcqr0CCUVKEBdBfT8iFMz0Ubkrjdvw/kbCVTTZH1j/Rqq7ec0UhFBoTMkGScofkpSA3pj2Hfo +JJofNBHOI+vvI9B14NbAqpKwV7wBMYUgj5EQaDFXdVah148ZboOjCL9ZlRrgt1SwO1hFtxF+5SE9 +eJWxuo0IgCEni4Sbv43INGjqVNta5+gXwOItRSKxiAxo/FwmR2CeKxP9kGAcYZA7vUpb7q4CMLQA +E4DZW4Dar3NfKXPmH5vIV4gjZD6aELaVcl4Tdud6qDe4UInyUIZRvmPO3egivogfYI5HgeTqzVDk +TUlgMgjKkJGQxeC68zBZRK+VGQo2g/84N9RdkvpoPHbSJmgzZFUcHAtTzHvJqXMJZgruTxaysPYa +rMMEMKfAkVvKQ/0zPmHq3+fK1Ifhp30JmQ6ielNHPBTf/krp7uvzjOdY+PBLC4nx4IABwlxvFVo5 +90Ad/bkSor5PWcFoCPeTn8p6mEMD2Sh1ekh5eROAmPMOFaxu+HkdSJebDsiTZPc28hxfOYLKWlBG +PlOFwbHEpcx9KsAXZ/erQYjbhwjEXIHahbIx/gTmDnH2KG+boNwh1ZeKYZwisCICQbzcIZSdmBbk +NHkiLAd0R4koMPrYan0kCiKKphSIeeDPMdyf8Dk/+XxQvkeHNw8Kl++BVaAIkw3JApdWgT3iJAv8 +IiQ9lo52RtJrsmj/rLplQe2Qw9Q237GdvCB73YUUsfUVNlX2tVgdSHGmNWChVBrNCJ1JaR7NW9mX +pbg+NEuc0411E8ztKJxzih0zTWOxFoJCpHoghzpxb3Z3hXcIF5Yyqp1UTuesdhwdx3bHHV3YskcR +TXlhHtKUciG34bc2lKAiW+XuY0PqRhWb0ZRWuT9YDFdHpYJUi69glZ7PyjoWe3BFbbQRskZQPq94 +uDHGYi3YPo44jwhKuSy5MUHxc94E7zBVlQg5URYqrUeaUEzsMefMK0RMuSLulhUJ3pDbYTgrOkAT +q7iSt96QXMT1umQq5OqPGabboJg3Kk4XHvJbxJdgmDAuYEYnVqQmYc0tLv9BuZQ9tXAOfcq4nDgb +zcMCyVFBvYTBDllMV3LIOhJrEkv5w1rJNpdrJxSBykbIxyIUVfEirYtQxcEO8ed8n4HDaF9XjrLN +cGWctLqDyFgaJbqqz8M/oT7AcZl0j5Dw1iQ5rct+ndURkdm5hJjl964JGDwSb23cgQ== + + + TVjYaj4nju2kPB2Tcsp99myzbEy180diaHAimKBI3/aechbXmFkrcVyZnI4JpdT1ihYFWyVUEEmb +mLliNlnyuNe4qyU0p0R/GSVWNX5t6MazS7aCLJdP5p+p3uL2JQISyEfeUHFZ+5ewJi38sSo3u839 +CKOiorWgxlQtgkGjMYMhoxHjAevj1YYbG83VozwDJ4JxIkCc2/q7ZHThhtlc9O7uJzcm/sk2op/a +pOI7RYH+5NiDbc6/8pHisA3fPPhJuT5VcF0XfC8aY+NA82UwKwCeVrPm05fZHeEerZ8xC3eZokXc +Sv2DfxeI4h+P+JXaI5hXgdgNtm2C5vyrXSn9XDX3P7lG9JN1+kbf68bYOHalX+AASDbj/lf2+Yva +m/80glljrnkhNuApw412HCw5xHFS4Vhq5kP8qd/a40sxZcTbGRBUTGoxHfqdx2YhTcQEE5BSTGQx +Bfq5IR150sGJptUKAyKKaChASbx/MdKDbY8JIqYWj1RsFu5cvK3BhsekENOJn9uXZA//tTv5xbjB +P4Qk/gADCNic7yhAaeJRGh9+u+9ppfvg77xpEQFJbkH9+t9C2RI0oc13XRCJpEF75QgopqkkHMD9 +FgqasIkI+whX4OVNtCaRV797nuh1LssXhTJRC13Di3ZEkkUkUETzLoJ5e2LwTYgYfB/0W4iZxBIO +HxX/uYpGUMEIfhJVEx31oWPMfFE95BvVjFHNl9Va/svI749qNeNoGNsTqeI9kaG1VcnGoKeQ2saJ +sUau4wQd0ntESSwrPZmNk2GNUMdJOSL1aNZOckbLSGN81Eh0jEJrCI1IYpxkakQ1TnYRWUabwyLR +E8M4sdTIaZzgIoKM5v2ldaZvdPFlNaz/AgL7gxrY2MrrW1BxqjFG9fzS1Q/zi4PRSqc96vR7rcHv +jdsAShrzS/1+tzGz+FiYzc5vZXezHOyX7dH278e7/e5qr7XbLY/K32cbt6C1KDJ2I0oFsxMJxzVk +vHPzW2Wr+6w1GnR+g6bUo9psjUbloFdsdzvtcrvd6nZ6Bw8Hnb2nrkfTmH/cG0WNt8qDznA0aOE0 +d34/Ke3Q4w1XfzvpD0ZRE78W34YW8PC0s1cOudUd+O+lojEz23j18tJVaJp8WO3t8XLpd/1hCWbQ +s5CZF+XRqD8Ytg+PT0f/moVNW4T/vvr10qm/uG4cXKKKlvSfV7/DL0/gh08AIq9i4+27pLEH5Ptq +C8W+fVSSp+gKZddEwnHkuU9xbWzKhxwLBtkQRPLxu6+WURTZMFyAFdoGXbObGSCKA27qoy1f2oeJ +rNDXbCmkOdegI5WkKTP09qYZhuKAxC2oGKpgCAe3JRztl+LpFmhNzGEtHbpNSNMmFeWay+i1mqBW +Mqe6lU2+C0gp/pg+w+B5KkibYtoDysfRVHY0l4YmwahZCjpObfr1ZcxLTVcfNB6WFm1Ie+sLk6Tb +BUw0gjpIiiVLJH5DCTaoGDaWEMuzBiWEoQrRgp8J4QOqnKryCq6FuHwpxXAVqkxrONGAtomb5rIU +czzkDXyTSA7urGB2unxJUn1A3Ezy5RcNxKmkvVTNJOXrVckP93PNETq4mZTvxVAr+7QNkEJpJnP7 +sA7QU3C8OUFk4ZBImXBzqv0GHRCeEHc5pd+B5lTHEW+DgvEwgxDdbORYOYTKu2KmKiIVoCtKzJFT +jgQRjVd4GKa4ovsZYeNlAQecbNnF+cxlOZPhMpFWQesD1HGKAoEvKtDBnWEQOX2HkdQYPE9Vew1/ +h3SPV22wLUoq+yqLq8Yn9kZjjJSRyDVGmlOd3QxkWo4sURtbTQPmQOUjqToSbXDOYWZYkYjqhucw +XRRyy/hRTllhAS301FBLe6Wf400v7Ll2IaPVcnFwLiGfc0S/dqVCMqw7kFEv8fRwzkh6XIUQCS7D +9z4IoqLCKWZoTEUDCyLTnBGQatmoPgLqh+O0fClLbPATQWBmqSsThj/gGyf8Q0b1JAvYa3oRlhpb +LwK/hvmkir/FJkAyqbQP9xHrGKkAx0PY5DJpwelYsCgqvczCTwpTNEze5DHyQgj4wuQ25QuMj2fZ +uITl8Ds+qDdYRRopPcWHSgq/QHZBhSQ1483YOu4p3jQnEn+nmy5mD/QJ3gIitaeSQQapPuNvkkIR +QFICfVxUoSV/RIFJWNmQZibt25wUyU4qAhhXC1ZrnppBXmmQacNeGZvFyqRcmNJgYmToAReF0aTw +RcZRRAYvwwz0mTUzjYMYyU81oStmZEbw5SZ9w+G4JsHwaeyV7+axzFIS4kzTBvK+8BtPLbnuQoqv +HRFpBmMMNJID1x6gcXEUPFwUkQDdg5IDRKVtKmDYMlBfiOyygupBSgpbw48Uv45BvBqMT85coqLU +xssjQFABYc2v5+gjDgtMKa8WdcwRyilGX0T0bA8BngyqTcDpFQp+JgriyuDrfcr+m9iKLca9agII +10gwrjSpEvyWFXmfsql5JRbBw04Npenj3oEv6sb4eHQ+U3tZLrEiekLn0yd0ZPwAU+C3kfj+FXFA +AMo3j6EctKfAKDlVGj6Px+ob2C89A6BS6NBmbCDCgcJIJiA0wREVgAFM5IoBMwDKXLpofF5jMDMO +ZZzNOH7FYNxvJkli5BQmgCBFSSQLfjVh8AqY8sViWQngUJZXwCc64dLxiJScClQlTLmINxoYeSAK +OaqwRUxoTmMgOffD2TK04u2iqiJU+ASDd+Ck6ozjsvGjjCMtqXQZEjWoHShXNTA7LipTEKfQhguQ +4icFv/HW+FQTxzFUcbzAb+jgIYCeM0JnCfJcJAH7iFK7BNLG5sKD3jgQCw4ePUXi8nMk+0zOvNjQ +W1viDVTRGjvLUUahToQiAokOg7jgmzTlDDLGZYhGRgVqBvyuclKIFD8RALZBqaHxGzhiqIYZWygz +5SxiwHnAAlF8mvAM4bk2CX+iuOJ0qu1rAOwD6RDGB21GEYASqKMChDEJ+FHCoicjjYp5GzEK1Ino +3CJDQuLNMCBaaosEekiEcogYRMr8J5M2uh0ABvMDZVRrhEjBcAbiDDPo0THNuFZLhjnNcWACJGhI +sODAb/BlM+AFjoIxOfNRjWEV1Avts+TGGeXU44ESfrkOH2mKokPiwLgB6JhpAYiComaCkXTKeSFJ +qaMyNWS4Yr8pFZ4xjLFgHKRcVGczTBNGtXk00yd1q+g85Fk8imUQ1VlXnOQeOSLX+CJXUqboWOJB +LTgwHyFUFgw4CVZWQd7MOatz7irTXDuNDzc9uyfeXDSq393u+G9AzjGFUhUAOLooFRKbOR9jTDJK +6QKIt2wHGXWRE7URBBR+IBxmUyrleHEA+LoMWJ8D+tSs/ynNylKKqV2p15Qza6X2ybQbBmUy8nL8 +RvHTepTBCSX/yq2ioVgyzIH9S8XQsEVm7DeUHyO1L1SUrWJpsBCBrFbjmCgyVuKAqK7gOLCboCkm +pFWgcoEv/4iVpaQE0Gt4nbIxhEoBC1DUErEuCookUCO0jR5DekyAP9ZHIHbuJ4+vOQsKU5a2MHmK +5gnlBBNsGqEs5KQHBacYRcMqIz1kTiYUg5VSSjNFSW8oNjXFZGCUx7Q2EI2O1I0PDS29weBAmTQW +biKr86RGZNLW7kBJpljMpwUnzsgTfs6Jn+IZRe0WDSSSioqUWwokQomXkU2Fuj1l/UD7gWzdDKMN +M+IOuKUwnMB3xpl9g42f2NdWSNSUmCHDTAEZTQ34bE4Ayv1HfErQecswg6KiNmQk46lBloDLoQo2 +NQQQIaT8nh21dtK+kUgxYUWO4fdw3jXqCfw7JRxAwYhiCH8HCwkJIeG8BhnqD0UDyA9T6sNvqQZq +qw2AY2ICAHyhmeeY6RbNFHqxCDpIbkWGi7zKcaJo7UpWs3IkMvImSWtZ5jbHpbSCFY1+fEFWHwPH +PUVtnFNL6ITD1I4DkGCJv34JeDcH9qHFgpGHxjMwycRcaaDC0ZfBOLWc1QLUlo20heT5YNDxs3U1 +paNjI+xrS52wemoSV5QEOJPOSX6TXMQWVOQD0J1WacRhlgqPqqGHccqmRkQA1f1T/rkvgiiiG52g +ubLaBCVPzOktvHbZMmXGuTGWL6HWxMm/0RCAo4npItC3QKcL6UgUNtgTuRQZ2TJxpUIEP/OUwj4K +U5gEBwakraRCMYaNYdpLfp5MxTpgAUgOuSsIhRGR0iePL9hsWL4kCseIoQ1NhXO1wMBkZQp0wxDX +TcgogS+UfTGEaAE1viEEP9VEAE2loHBISRwzTxLc1sLWhVMFJ/ZF0e+oRQCfxHe/vIWannIBqmHK +XF7QrkaT+NVWs0NabRa26mGGZXgIBaRWcRti3pJKVTCAolkFsRVN3eaSGKpAiiOVUbMSho+8uD4l +OpPyhnTB5UjIVpAleEjJB4UaLXkjUs7gpBVLO/R3JZSBxq5pmdx1XMcFpTxiHXRS8o/QkSBztbCV +s9zRYncdv7kFUgK0KfJ38NsPwB+pV3MCaxwmrJSjCoKfFa5QtsCn0cjObZ84R5VTZktfIxYNPB6O +nmUnrL7YrK1oIOasFBFZSlf42CAeiH0hTNlig/S6GU6Aq/FHPg7MPUR+QIf5th2KiisbVvnnfEQ/ +IQQRUU0R+T4/GcXjwPnpfe10rNkrWGzDcIIgtjxK2rTPuAorOJRNBjxHzwszViGETUJHZIK0nFsN +GY8yFSGkQFg+KpLzOKZk7xCdUPLgnF1ObPhwogVJHiN3GGyav5xWhoeb06wqtCmsEkLiT+KfqI1P +EIP+XGZX7I8UKWeLZX3PptVJ2QhHCDsIhCsC7eysOZHxycZJShdlblzlzcSmDhe4WwnbdAUnCwMl +FjUSVmJt9h5NLg06XZyvKrfvFVHB4Xfn1XDG5QPESeGmGVS5MgYIKk1rMKEXeTqhI8OjGWWVf1Gw +AwE7skneCquo+OGAxMkRzJYaJw9BVYhClY1xaRUVJ+LFNqRccqp09m9mrLLhzmlFfpjCPuIDSuCH +xei5oeBohWqrYJtI2IRHuK1Ey2gUSfquwHElu404OXfh9D+EFWQyKZSKmr3afNygd36VCLZYwfn1 +8b0BYYU8dDnDOFMEusJoOGTVaD+R653cN3ibI8mTRF5riqhHRwdp6d5mk2igkWdRcTkfiT2yZYk6 +Dy0FdsoI9oTajNkFvqoVpPbxa/fgGGSFVQuQG1BydbSVWEK6KvFOnQpkJvl6OVWusrY5KIRcWA12 +2LDK6MbD20N8iIrfZfaBCBIkogAANt0c2mKJqDRLdBDTg3JenSVyOpKKUFBQahOQlIKQkSn7+h3N +j0xLi8yCnuSjMkFeL7oDQK4DZJ/SG3x0e1J+FRTCmeLNK2zhuBTTa5GfK7c8Hq1+SqOBVxBUSxcV +Cz7nqbHF9VJ3DwBEl1O1xJSS0kp2u/E1SzVNIGl+V4A0IxJuxWXHQOMoKAe581rAgoViwYjWN0+9 +oGdQgk4Q+/wLivpnvx9Li4Leeyl78mz0fsL+SmzFPmK8ViIT3B08vARImDTRj8SpCg== + + + 0fghWaJcxjNh9SzPjnLKne78UvzWCevkkcapcpc0pMll0+xXqG2gOsUMmoxXidlvcvZ50i2GQNcJ +bom2STnCj2xxSkFPMQRxfnJjJSQRkD87mz8hVIvUOReQ1NEjTGlN0X2N9XQ1sb3A9VGgm7tInesD +i+3htRldhBlrKQr3ihsBaF8JzcqhxTy6QAVeuuFBwKFB+W6Q+MAtce5JYIqgTrGDAZ3rsDloDhIx +4nUHvtOXia24YAWcRE6RpBZ9ROeou9rKOxLfSsLAqStYhe+RhE0wgNsk7IKUrV0pWAklEZUxj8Dr +Oewzy01qlQpK3eZT7yBvQ7aHfyDfqCCzWSmuromfFHyXgH9hz6ytEg3dG4WIlBknK6aMEpqYPmV1 +Qw0ZdXTBCWqJ9Ul3nqXN7B3gQLKrRLoEQdgW/bSom3NicsEV4t0bONZcKJ8XaT6sgRSYABR/T0RW +qTs4I9x2VuTo1pIUB5vUgfznqJcJFdybKbxYYQ4KJ4YMWyX5MhG1SDpoCu9aMr5+I70GATnjDn1d +qCEpaUu8ZXgJBRaaRqsL54v3QeTcRG3GTk+wu1fzJSxf9NLQOac+9ddzeFDxFKMuhuYt4ApOJkjU +gvUbpDXsmB88ofsOyJ0qWturTsUPrDUK5JSvlOmSzOBVKaodOZGBZMewIrcBJctP2EvNLBpTfyMA +JEqe8Hxp4uizNA53qJWnia2eiaJCCHakZjabDihDGbqPgFe4ydE80bdrMzgV+PqPLlVsliNitehP +1XzGYaAcn+SgW4oqblPx6owuzYgMcYqIjVTyMy8UAvxKlHwyGV354CNj+CGltI+U0BJdNpkzOigP +KPCvFK0H3kNBF+Lot1OqQhoqAjplX0vTUMFFElTIWBON3jn4le+18eKS/CgJxx3gaaAM7eQf5Lwx +mIAxJzcKHyn3nrLyzySYnhXvPTPN1+2SrkQ032LAVN0tOcpn9P3hzbrK0H+CfqMCr9ELereKugCM +1nB7m+HNYUqGZ0IShO7U4SjmTX4lx+pEjtxVYwAUuXnp4phUAJhvlrNeJujFHPpMMnQhufw56EOR +bA5TriH4nbIqYY4i8nDmaBYWyO3o2V4wQMpSHF28GAuTcRmDzGrqyIXx6Wr1Aeq0aE9nOZ9K/B2j +FHDRSPXIktLAUybx0StsLK4AAy1QY8I7ZfQdIeJt+6p/yfdmCKH2knUfCk2QDcrSRF/TfRi0xzz/ +uLPIUOEv5FZAH1pKssC1t0VWly+hkqzt1WBOfBldu0iOePuvbI3q1JY5Io8JoRAv+mCrNHFciRQt +YLfRL0O6IV5QsKmrbQ5xvNgm15r7uxSwbPT5oCGIwSKazipaknjDhlfDOd2ok+2Y2lyL6JSgk+sP +KvqR0KEGENBw0NzCjlPrMVKoNyeKvaQUaKJSvjdKbT5EhY4uRV8UGvk0yFOTBada8UxSdNTD3ijD +ODJUzT1H7x/xblTuQInkEcgmQRUthZ6VLRSCWoOAuSsstQl2tKE6J/iBse5sycoSVTQFhcWgSwsm +jXYlPoEl97bE3AJk5vL1HgsXvJYG/COzRVFvF4F/NtItgq7P0EdpaJWYk1ITenK/0ehWyBhNkl8v +o86EYXQq4XJcmqtbK6RzQcJHksOdXAwJ7zAwCvakAYlpfPOb46+YYlehGUFsDLOmohVMFX2JTulG +HK8YJIpYW+YeUYPjEGWz7oA+8pQEN6U/UPZZq3OgKcX3d+R0ozENkw6qQwWvVWIET86ez0o9ERlF ++SCEEpvi72jwKiv/Bapeieb9pEtnjOhChR7RjQ4szR4zRWWPMvod2Uc8BBaPUhgAkhF7wPACRDae +Ur8GwUinVZPlinoRkqO0OY4p0YEkLFBchEz4ZpC+QN0If0d+ofmuDzkXEC36UNAThL9SIIzLP0wB +o4pUG4W3oTAxukTHcTFzDvxOmYiJY2gs+sO5Con0KMkx5QdE0iuYEFBjBGmHX2TknpSsUaN6qHLe +MKpQDkoh+lXQZyLIyy8zysCOjg+U9NQRu2LJKGBKQrdESroemqYo1YRhHRKNXtwFYVhwY4xAQsKh +SNnrWzBPFHRT2qBrPwzxzDghifNio3tVESFhaAHesqY2CowKKoJiCFMgd4SyLhZhRWQbWQA/dpKY +U0DQMSCddY4mk5BGVpCjBT0LOUUQoJVDuQEo0k0S83JhBzk5C9xAgeGJ7AxXi9F5CnNv4UU/JYfM +6PaOrq3YkKnMMvSLcqJkwW5/jXo//ZoTG9Ac+4HaYcIWoFZsFpE/io45e3yFzQHpODma96Su03rI +qCZXEGl+2uYYk7aeNxo8xqra9uYfWRblopA2RswI5yixOa0wFIjsJ3TEGRdQZLV6vLtDn7V3j6KN +gPcbma1dLikyEL8pbIZgShACTVAGiZzdghpjrlDz09aNIyWrOM4rhicWr+7wFp+qYuENAl7Xppaq +yW1pyP3ktUyKnUbRI5xjv+B6amOXNsuUyWkFVKocdSrP1I4voZsLnY2KcuTnjYLkMLIsOBsFZwio +mCbwONo1qhYMWgHeQSlqQPpMvXu6uso5X4o7YMeXpA1gAkiGfBB/z5mJZMiJgSNQWRtMvGVIJpOX +iZSZFLhLg5KGw1wFXfmkjfoQOOxzH7zLgazOLKGlcLanjPN6IcXLhL1NlLcLZX5mPbMUTEBCKTHW +PiMzAbkSURGyGWQHKqv8pNFIfIvLyisZDHg5ckwgd29tKyAJSjZMcVhFMJ0UnXeG3dN4cwkIQBAF +x1CSddSGEnuhVR9omRMgnBXU7WKlk0a7f3zSP+3tNYaHrZOycdzfK4NA6C8SFo6iG7Pb4msCCuUR +QCcJWMt4kBUqKn+L+PDki8SHG/z1ww/93uag0xvBfOfmGExR4+EfLv1wgn/J+S+b3VP4d2P3E2Dx +0sziXn+3bCwNToeHjWetXuugHDQ2BnvlYHb63xr8x+VWt9s5GLRODjtt23IHljbf2MKdnmuYxuao +OT/WeLYxd2lm8hfijE9qrTeoi19aXfhEXewLbhx0T11M+WKt22of1hcBNLrRg007pKbUhWv/tH/Y +LaH9Wgk4mtzeNd0ZlL0eEFmnnKcubOM9bhO2fFEOfu0M24cj16ElmLBT7oLbP+rALkH7Xgmk1IPe +m7z3QCzRzn9hChqb+Sy+WLBTh5+TBnox8a1Nhv8oxT+BAtJIG4uPPywN4Cx1S/p+vbML5//D8ja0 +NB+2gGnQAvc+rLV6/6n1nEEUsJKIKuB3kN3wH2QsBf2//c+0if6hcTcCYqdhQY0DQdVALzPqkg37 +9uNrDRyvV9Ba51I0Nmhk8RVGjlgCDc0rpVwyCSNa8H+/1tj1VVcDX2CfvyRBTuIjMK+I58DvsjHf +eN7rtY7LvUY633D/QRzNN2ibRKN6JCT8T/DzH0ThGROrOFxtVtwKPmiIan7IE3K6PsbYT1fwDNRd +UA4thzxj8ui4xv+fOv0vuRET+K9bc8x77bp/KH913zR0/KsQ47/zbiW4W7TuaVv2ZYmv4L/Afm6P +fu+Ww0vzT3v9X3v0CyhjM4u7ZW9v79//5/i4HJz2DmYb8z/AhoKuMr8IOtsvpWs4v2w1vbVOF5aF +ny4ftjq9Bjdg6Cwv0ja5BTr0/IvOsAM6EHY43sP2qNU++owellrDTjv8fNA/Ki/+vaQ/dDcG9kPo +MdRMYen90VbZ7oM2tId/5GYWA40zX+FhGiv7DC/BZ3jUZA/6LvcbdxqXGjNBP6gF3mnQsI07lxrz +m63BaMLKlvu9vdPO6CKLCnv583tUmwei6zO+noZNrx8/H5arv5S9jb09RAbtSIXijbMfO46jWSCa +l3b9U9elQ9jiGceSQADsdUrQ2jVMGp8sFHTjypINnaiFHcn9u4QvLZeWgo3zc7vgtjEv2Rm0esP9 +/uB4lro+A1kzvlmz1TmBc8dHHRqX9gRWLYADAedpzO90RhdCNNpCjZnj/i/low+bIzI9UMBZ+BAs +ofLFB7C52oCeSX98FP7R/2nQH7VG5YctQCvMy/6JzKLe6fFy/6RTOiBvNMx+r3/c+Vc5W5/VCzer +qm253wUW93qW0RRNdK3VHvUH+BdtxzsBJt7v+OlxF9R6vdPjWYjagqpO6utZKQ8GZX3qPJ1XEXDk +tsNy9uE3qvhGFX+SKtZO//Wv38EOHx5NJwtqt7qPTpIzCeNl2Wkflo2nrd6ovChZSL9u3MDTi05+ +qQtawxcSDPPUWSUC8PnXxSRAxairLs5YwDcpea6UBF17zspJzOOKD9lxM/Da5puc/MYRv8nJb1Tx +Pywn/2ZiUl2U/3+TkZ8rIwUm7MB7S3GWqDQsKRMuYCLzTLJJWYDI/CYqvzHFr88Uvx5jwYpR2nzj +Lf9x/VvkVv/m6gbKCHIQY2kD9Y2rfOMq/3yukn3jKv95rqIjXUVhEXbkKgoj1r40V/m6XiF8Q/UV +6efvsPvVZaDAEoyfSw4X37m/aBO/hs1yaX71t7J9inOgP9C347ecB3i9uVeOysZq+6jsNSSFAHzF +286JEneLYuWW+4NeORhOl7rU9EyJy4to7dKiLixxvRU7mGrF/uMvarf+dP3TxYsfPmz211z3fmNZ +/80sq9fv/aOiMb4MEf8VrCJJUkNmb14QdygKjWwiSejxMaZhklgBHJ8EiIyaSiXwjfpZbEIihfx5 +LvGVhJDF1Mb+/rAcTRdC3JRbnimLnvZ7o9PBLyWmse6Uu6e9g9uNdSDWOfTDHo0C4fSZmzXzuDfs +YEA57lqnd9CYWekMT7qt3/nX2TP2M+ZJZ3HyZv75m+RzgId4cZP8G6jI6TcL68tbWJPMqpxnOldU +oXv/BDMKs1B8XSv8v2aHRcJT/So7/M9Fi5ZfEC3/iypdQxTmf0Gt+5/XXTZOR39EeQG7tRB4oYhp +AfDpM9EqvnNT9LxGJwrz8+KbYanMZBVUAEVzYZeG+TwFJ/lbKziO43xTb7628Eu/6TffiOQzbhmK +2cDoqqgF3wb+3enFfN1Amn/kdk/aYym+KcSTSP+bPvyH9eGHg9Z+52g46nT/URrxt2dnfzMe90cR +9CfOI1sjK4P+SWP7sLXX/3W6LYINud2Zlsh2+7DbOgAzBGM2Lnyj5z2Sp8Nyc3t9qXs6iByVJ63O +YDL7u2jBzD91qTNsdzmUpUkF4ezt4241S4qS2e329rhV4tv0T1rtWsTPXmtwFAbztIcDajIX9w7G +3GgC+LA/+Bd1mLpcHrSFHCvcWP3tpAUMdqnc7w9KTM8w7OD1y9/A5ElQS/nP82ZAUTloHQEvbrxq +DE865UHZ/WfdR31j09/Y9P9anKP4D8c5qq8c5yj+YXGOf6Eyvd463f3wcPsbi/7Gov+MWUx0NNsI +fTn8n7cJOdfm2MM2Jw1mnM0xQaUyGus4GfmucfIVA4D+BsjBUqACi7piUcM8kRQcInKsvkbrxvKO +KWnO30KhviBr2wS+A7bT6eAbf/uH87e/s/tcXJRDenKcyCYDJ+B/lh9+zdcb/1Qf+Q== + + + RfcUE5TbmizwP1hKFcP/BBbKottXkaX4fMVdumLW8VRm5hub/5JsfswD9o3R/2MZ/V+tq31zCf8R +l/CfezPxJRzF6nwfMbDdmo/YjLmIRc1FLOvOYfnPdwv/JTyacmc0WrsH5T5mzB1VaTS+Met/FLOe +uoT/yGOEv8J+/zJ3/kZQRkkpMd5eUBWDRGECkMx8rQQgf3X+G+FZ7NQEOP+BCFCOScTsuofTUcEN +sd2ZmNjcb+01fPDnZ72jJFnxqTc6sc/9rS+92zlGQOZF1P5w9Df2Z32h86BtuKCmoyC/bCjM/5qI +fQvirQeKzN67QKpud45Pul6qnvH08j/87JVVuE0406NgNZRzerW3V2WcPjdt9WarW4KGS0va3L14 +aMLM283WcFgOjkHrK3vvZgkbr/51qQ6/tNkeRxeywX//v/y3P634oqr+aws0Se4uSQTWAsNiVqkq +Cpp2mmUpexUK8jPkBfxEEKmw+BD8kGnDU1t+9vppY6s/ct1pkxrKydPM8xxrFbK3ucBniRQd4L55 +WHZ37Ue5ylOMbcRiTpRLButOKXrGiDkec3or1sQFKHrRSHnaq44G//7/eg45BouBJljRDoumWUxi +sWeet12J/3b595b7FNbPDyaL1GT0ujLJKQt8ArNKCIeFFAY3VrhHllivVAbdLXVbpx6vOXvfi0xo +mnaiqLoyzodmQcTb1NCTCFbzrHUAfKplexGZMZoRmGhJe5tkhrYJdoDT1Sfs38HSMxR4T13dE6bx +7B7ezb6+VySNp/Cjn5hKlSRcFEmGy8k11fUJJ9aUlP5eZ4ld3T04UtjR63u5gd4SR6hY+RkTkGFR +RIG15olssNAiHg1LfIqJL6JC7jGn+QU94td5QcGuiTCa6VERcSC7FtEbVwPdY5OgQ4Md4rLDOSqd +J/xe1lDds4SpHIsXY9LQnOcdzgs2LF4plrHFik1M2KnbvcLRZOHcbglshja2K9wDvwOuJzhUScGP +dnUiGXVpjnuKfWeIIrqeoX7c2mRiu4rWhnWM7WkrCvzZHhStCFFYoSrFkQQQblq4SU3uCpiVtnlU +oSOpeD5S0klPsIw0XRdhMTbo3/aVmYl95fC9IUaUFlhNkbZPaSzyTRN0Gyj5kTL3lTPF+s48xQJ3 +SxIcWkn0ZRIFFFi1GOvlCjoVeJCCLSxoDz1tqWqNQAG8cxnsviEO0RQOX6ldq66vLgspIcuV5Qci +0XTwNBzijDfUaJuKll9d49MYegRjl5i4JeqwRyBBI/jEAUkoy7Ske8GdWlJo5vYdDU+O+kI6jTCv +M+IOGig04VMjcrtkLwy0xtkhEkK6IPzT+ak6JM6jJKyP7hEzTXhKsLQ4zdcdIoFnSNY4Iu3jM9yC +1/dM3GVOBRCRMyQJlxeXOR9ugbU36AecLHEPhoRdMl+T2Kk0nvXrnPkFTDhnaSWxJCuxvIJYJTvN +Ea/1qWYVuwzRCeJUW+loCnrqhPM1fHolyUR/2oTjcibkciaZ2LHMMlEQ4wBdgX6QIC8SOqwZHEV6 +NgUoFTR/x6IUH2juWVVTVibi8HmGNU9JpBUkDoEoeM4ik0SVue/akYIKSUFUkzYxK8Xie7z1BdWs +JLZsCEOeyXsyq+T0PU8IMsKCSCl3c1MqxboMIENR9QNAfMJyzlVjydy7slRW2gcSwTP8B45U2LNy +apkqMs6VoFVOI4g8kwRI3dKNowgdni+NU9bGocCRmZbaH/qEDi1IaDqmSuP3VTdYixn3i/4UoMJ4 +OZUmIQEDpWmiBMBwQh1nOXTdYCqkfVRO3HiJirVrpTscBnGRUs9IELqSOHavgCUlhlFYCGIpcJCF +YTRb5QYOZprQYQk5F6FZ+679BmpHYIZ13kxJPmoipZqWyNxIwaFqqlbQBkoYcmmLjSwiYgX6G22T +gePA+58VmtABwgP4P/3Jsh/lfpCM8eCAEDryCNGAXsMyTQJRkIKbGpXTpiYgi0kEOJW30l2YSgLi +SI0T7cp3nRnFLyKBZRFDBG0yIbwaaQraVs0CFIke5SBuAsvWoOusEoPGy/qU6nLizR6VokZJlKQk +BjOBSyF5aEWFZ6NJoF8y6WUeIxl3zaYy2Ri3Gs46CGyQSeZxvXnVz8ag1Tsob7F+f14vUeOqjxfl +YLeLdlFvD0zjR53j47J7bl8TP7J9OpOKH4Vtl4eDxq/sWhryAsrGi85BD027c8eZ/jUOeHZgUu3G +nRvSJ591Ux+0ZpGK71NOh6PTfXQMicbmwZcwFJlrO8kF1OjUlVSRVgn6sKBv0GijgRKqXhtQdvAD +Z6EZ67bworZQGaWwgXOT0rNhjRYkcQ6RKxpAOU5d/cBawni/ue9XCcP8R1HdWWThzD5kBuo7HXYn +DbWbrv1hvNvMn0aqtIzaCVuJ7n8FKpbEtK3FO/bDeKepZ3qgYSnmOsCPWSwjTmlfkiQlfuqESvBD +oEWH/XrWgYozmRwSLCEWG1nKrEebnLi9N4PqP4x36+WKZDYKEtWw5gLCgPXDFIvKUrFb5sv1H8Y7 +9Tq6yEAfJysbNHvJmqBKTGRZglxkXlr/YbxfWWlFVAYcLTlQiOkHYKSFtePcHtV/mHQOvKtDFKwB +KWFtP5VCl9wh287jP0zYJXeGt0eD1iF65srGWmuwGxzlP+2kuVcpdLGlBuosqwbQlioW8+ydNauc +BQmWDu5B1VlmxvsCfZsMowSdYgX3k1AuTAo4tKZtNKO6+Q+iLbPatFC5YMsRRJlgtBqnDMpQB6xb +jpWhAWeSp5+ZjPccRD8TlbdBXZYCEypp1nSpq+0prJG0XVTWBSMLTRjqEj8nruott5Ao0wkdbi55 +j6NzLH5Ohbz1znAUOWHH7uHPTid51rOZs+9NxwvwVZHctcDH6L3kmJuVpv1HCgSKhP/ENYixm/8H +Bh70/1UOh4MSp9o+orKvR6M+XpQcn47+hZMsT/FvgINhgxUORlSvMxqx37Xx00wxR6WXf5qFvy0B +PnENoFAAhmbrxY954LMXYHdppd8+PS57o5XWqIXFpd3vjdv0W+DfDypVb5aD4UlJ99JY/vnDVufg +cLTZbfVKuhvodDuj37fx6QE67q9+ALtONEA4pnyJQw8bqKZ0vZ/1cp+7WS673dXfRvZ9Bg48Z9wL +jrM/3yq7LfxlrdvvD160ep3hISzXv6O4+iFPgavnohDn9oQLmtgDfpxrfbEeaC1L/dGof1zvIys+ +p4+d/knQwVnbQOs+exvO+sxjfeJXF56t7yae7IUx5r8fQ1iWiYttG3YxadfOpNvTbjnYGHTgHDyG +g/fbdtnuc1TMxb9Z6wyGbqlgq1+IzquNrRN6ZsJi8MDakEGCoTBoDYEPzv1S4hufxm4Lvm1XpdR9 +nfTwk3a3c0Ll5Lvlb40BnPV+bzj9i5NBOSwHv5SN/i/l4AS5hf1ghuRHklhBAv8XZOHZfvHww4tO ++etS/7dXr7m9ql5bAaNpbJyOTk5HjS1aQ+dfVAq+sVUO+126ubOTMtE3z8rh4TlfzLx9BrwRdqNs +LJ7ud//9f4fA7vGO73mv0+7vlW6CsErR8HxtuxydnmDRcrvoTVz0qIH3guPYEfxnxMlO+duosbrX +GbX4iNjGqcqV3zI3yHKr90truG0fhlW0tDzonywOyhaH9PDf5hcHg9bvE9mtn8njIUil3T5Iz5Vy +v3XaHUWzZaRtLm5ZCFj0c0LmARECY9zpbzHRMkH2hx0cif4q+bsUPdQX/UZYikezZtLJDE5JjAKb +s+mZjSuDXXxDRmoPNvD/oLEqxjewWu0d+++Mwwchz4/AmFjqluUes4LuqcPyq2frP0CXE/EM/f12 +3O3Bn+eAKgad3dNRORzfna/cxRfoP2jVPux09+hNJbZx8RXur/jP6PcTi5yZa73hh19ag+Gd4FiH +TX+pEEnw4RntesFGuYa3/vHY2e309mCp4gLIASQCf2F6PR9DYesvRKR/dI29fu+sKYfr6/ZBOd+7 +yNpcyy+0/X9y9WLq6i+0r53Wbre8COGfu5P/pIN++5cLH3Vs+hdTMS6vfToE7fGv5WRfjw5vD1uo +0KG1BqzjouT41c/FNuaO/NtM5b/hlA73f/0bS+O/+BgM0QnyD99lvJT0KutZC/39Ilv7+1/Nd3Nd +5Oet5LcLEelfvZI5JbM0PW8tv3b2MFb6/PXYhv+ENR2W6JO4yKJcy792Vd42PmtBu+RFQjPQmaHn +L238m7+BzCdmt90/HbTLJQz//8uFPoimv3oKx+WotQc60J+dR/En53Flz3p8LkJdQWOEaFm5+sb8 +U+ut3sFp66BsbPZPTk8ssdXOl/KH+qS1Z00tVyex3efnf+QW4YPS6nYs1ZJ7jprtnXSatWbH9CQm +OmLDk/7Ir2LxcWPxdNT3vrmy9j2txq20cdQDO7B/OmocDPpuHWc07Qz73daobOzi5aJN6B01Lhon +rZNy0Bh2jk+7rcoPWOGxaFAGo5MWbHD7dxizswet3RSN1OgV821b1ofUAGT1Bw0JI5+WMX2ON7tg +V5hwqXfBtgNnJ6fGKHN2SxFM8NymwQTObesnoINW1kOKJP3jaQs9no318heMcIkRJOSHbaCPZezr +WX+vjPek7vneqfSfFEMpz76ReBhgMC9yMaXpUoSWKQ233EIrX/OkZhsnrbb38Jp8atvQeY+CNpt2 +N+PHP7dltSRt8uwsPFHTAFFnzpQauhz/56yKLifiy7fJoz/vdUaOGs69mtnGJGW2tTlraLwNWQYZ +5/B55hyxYeVel2dv56M+sKh+71Ggs5zdmLEUbv6FL6/wwsz5xu2+nY1hvC2Bc7XSGY6qaxx9JlaQ +zNZa7XKxd9A9tzHtXq312Sum1tGKQ2YxsbWn4amXwRX9TiN1ahrQ74zQzaQZXi4dLT5eO+12nXS0 +D8bhr5NFYqyPbZfdR60RfEtBBI9XhsFtwRkt1/tAp+iRDduGDXbQx4Cjjsuy8CoNRF630ysbo/I3 +f0amtxzS4+TheLdp0LjVG3UawIxbtp0ng4fd/m6ru1WenHaHXjDGNyI7/ZPgQiT+m73vPuOvfCEb +/PkO/tk/9KttQ/0dYCUstl88XOv3RojjSnqr6o+bg7LdqaZfFQeDPx3sz9b7Wj3ehZmTGlLDGvxx +pzw+6fpLbF19RcEdgRgK+uu1+5XiEY6OCs/TclC7yrLLqfoKx3/Vqms7NKnfRhs9fmlb62llZyVQ +ztw9KOhHq5vbDcz52FgcjBqYO4EuIqfentqvHrrnpPgV36fWvorHkg3Q7T53KPro/JHctq3Ddrm7 +u8crYydju/VL+ey0O+qcdEvXbLgIvL7EZJVeTflczXnm7bNyr3N6HEzrXcBk3DKmXArHBxJ1YDyJ +i3gSxynG9beMN/DL9gZ+66wbeGq6YbnA9llcIGq147lKGC9ATfg8zL/gQIGlWqBA1HSjfst/LpaY +ri6MJmx8Dp64x4shituei6m42WRUcZuL4cr2V0OWCO2SXr8KmWh0ehR1gbfl7l7vYg== + + + 7HG+8i7Mf+rvNqm7Vrfr9PVh3Sod+wDIniPHLtTv9FbDo87JLmDkKGZV9WaDEp/7l7iawfSWYG1U +DHlm/Ja/3t4tO1jRHR+UgYh+0t993NvvNyppfA6iz5rZbmd03MLgl4hlees6bH5ycHzUxHC8YX9/ +v8n+oprIHGu+izK03nwS2uPWp8MSWBsJYH9Aw5fsU9CHqC4JE1GgyNiAw1G3uccRJUQUbgvP2R38 +zLavHBwX+eZk7xj+3O1deFInexfunO/9/BeT9vrkZGCbTdkDaGNHtypWYSbuLLQL3Lu5lme1Cv2l +Ij+rVecYDm+zC6r+xVqO+la2mSyb3nJQDY9vLKe2DSl0ZuV00D5s7AzKzi7wekBKp9ehbE/TtgL7 +6oXyYHy4dg13ZzcKUTelq35g2E7prNZsbOupFTmQpjOyvXLYOehNcEBNZLS71mc7rUdq2N/vdMsL +tGsNmV9dmJFG2zG+6u6geez9Nme1aPd7mOkLPYFT1oItvSAE4dG2wiOTE1sP9ppgnmMigVFos0xs +uA8qgkstRnbPxFYnNkZtGi3QqAfNqcRn29iIhiB5fL0V5V53fZ3b7pfpaxy2T7rt38/mTdym3RtO +I2JoM+p0Q//pGeuDfeq2Ts7Hg203Ze4kt8oeWsbTuC+2Grp0LudSLjVnbl0djIt8AyQ/wpxDdiZY +tvEsyQw8DZXEmBdNEcvntGkP+ifnNEEVrQNKyznNMFx3CKxo+rngQdHxutsaDKfsY6xYVELmAo1H +wZLOaxtImgsoT9U0LtDYT+MCbYNpTDpF+71Rc687neVxm5PBfr83jd9hs+HprjuPatIeDWGh3m0+ +cReHoICiyjq1Sa88aFVBw2c0QrsD1NjhdKrBdiBuetP76grsreVdsZP3f9gcHrZA9S+nYAkblSN0 +YvVgbn5jJvYWt8om8fnfTppR/Ht1m1VrNahr9OS5mNTyoN7yjHZWCkZOvSnt2KU3vWW3M4VlQAP0 ++LUi8/mMhv2T9hSuQg2GU3acGuydek/AhSLrax1MVzTAkhueLyWo1f5prz2FTriN9UI4WjlHNNA3 +rV7P3WROtqKp1XkmQvs4UJhmlvtg1O411jYebi3KrPHTzOPtjYaQqc7m5G2ZJPqn2XOMtWPQ6wLl +b5I2CW3Q3PKXC2dMyz3gaB//PsVsDxr2R4fO5ott60XXPLCuQ1+Mqdxum53fyu5mOcAUifGgdXc/ +P3ugdy8Xstdn3j7udk9JDvYHc3/C9p3MInC5mytrH571e/324aB/DPb2rz0OsDzLfznpe/dEJJgs +vhOBmS23Tvi1SKecxtE+663PpK8lToNf2eBVR2+0yQSFGNjsdzvt+hOJScsIXP1n045rvDPoHOMb +Dnf4VmCFDeBRe429DvrmeKuAYGEpgJbeQdlr7Jad48b2CT33GPQa8EdYbLjDK3CS8Hpj2IAh5lb6 +R0RgTUwT/Cs+jOw1tqFzGGBYNlbDrm814O/+rw3uZ3jy7/+DOQs7vXCQRn+PYTj8cWO99Xsf8Dbo +Hwxax8eNX+HrfzUbS83G494KmXkwa3zl3AGsNo7//X/piSb3gf+FWR38+//rjjoHpZslTGj4r1/L +9hE14Kmc9nbLI2A+GOQwak6nX7edMHx70Dk5lwSpsUP4+Ru3BsT1stzFK8ipjSXvcuvkJODW5xDP ++nTFMmq7dY5lHzXecdrfGTjQhDDrLDsfB1vlQUC701pugrr+2Kvr05iA9w+f35Rx1ZnmWXVNKapi +ySv303pdtrrf4mCKdeg29vmwJD6/E1iK6ZTOHw5avy9XyuXTjnslKeUZDM1/VvHUx+hiWtztOyV2 +sjo2+dvP4cfxl8FczbQlEqoBH2UVVzAd3dA8QImNkTkflfUPL4pL+u6PIrP28edgs/ZpNd2pW4CC +DFjfzuHp8W6v1em6yLNzCBhMnPB15Tk6XSz5MFc3OX8eg6QYdfY7TrOZxjitoHzca4OEoACOSlpe +cPQtttV//2Gq9nvORf4Zc7zwe94zF2jJDe2RP7i+GnbPHxIkFyg/Nh6mGu4ME/LiD4QvoIIttgf9 +3dYIpHo5uJhdcI72dOHdmRjGEVyV15d8kffNF1YUHLrPJUFWAXjSO0Go5NSPpse1/BFbsTYTfKxP +N8kBxqdq7Nunu9Aagy+2cN1TPENePJPvfw2UfJCPv/YHR6Gi+3lf7kx1RZ352dY5zrEzPwy0qjN8 +mXWl/GV8bTLl1NAdHn5SBbHoqYIEbaUpQugzraxKmOgLfTlZbE4V66gMXFyq1/ScSKiDgQxNmFCX +vZFpDdmljjNiF7eXHz/OzUqJxI9/1A82rr29efflvet3Wq9uPVHXNuaWFgYPjw9vH/QuP1m7fGvm ++nKn1Rx+nz5/tJpeub3w/OH9Z/rB7fWfrj9bGJy2s7VV+Sy/KrS+kiTDlU8rB7eS7xfuvG/eWLh7 +62S4MHwq5y9dXbizfnngGj0ZLR08+nF94a4ut5c79+63V5rN6wdjQ63vvYbxspW1q7ezNw9HK5/e +Lek3c7cWj/vrw8XH26PDm/fTK6drK/r7l0ufutdfXrq6sp882Z3Y2fdZsZ+9+PHtT4s7y80XZw8a +trv9buHu0dq7hdvD5vHNlVtXT9dmHu7tX7pKyFr7CDx5Zf/dy2ypu9B9dXt/6XC0fJi9ERE6Pl5b +aYv1nxfuPrj+kvuBKQ+X3x+878NP135eebz3+PLSXP7p+8XtuSs9nsOr1t7ppavFp5mb7dW2+XFm ++VB/uHN38aq6dnPph1sfby4sX3++tlye3rj/4smVwzvtdusIf+rcXN1fP+SRRTLfygad7z/e7rx/ +srfUvfrg+tzg5k+ni+vb137G+c8u3HlyqC5dTe+8eLew2GtfP75579md+ez4p3udLJsf7qvFQfux +uHl0W/ge2ytPhi8Abdn1Mnupkr3bneX5FuyveHZvZu5WudTNNo95Ba/Xry4sP7575eXqrcIMYV8e +v02v3M+W++9v3n2x9/a23L3yjrq937sKC7qf3riCW/I2fZn+2EM83V86mk3nLGm+2FtPxLsrz1bm +W3evrV2++WaAo6T4h/fUCzW5dDXZ/e6xpp9v3l+7a3+6+3L1KTdfvrX6kTuTr+VjIN1Xyc3791dv +yZUHB/dsPy/v3b2z9+mH97STfsLQ38aSsaNAo6UnfgLvqgmImXtb2KjUBDOXl1Y+EKpBAj7Q6Zv0 +U3txZ+XTzZX9+ac/r7Za179fSnef/1hsXn31fHFjeWlzZX+78/PCz+9uH1y6uqRf73xgZL5J996s +fhA3XyzpV4sbayufXn5Y7nxK5+/sH189WFvevyEAgfc/ZtnWXr8aL9/++fjp4sb6jadrK7N7Txk3 +DtFM+7D7o5PmjzcfvGj9zAu6n+athTs7o+8Wd56MTseXVsNsgAe3Ea8Gl11X23ByNpZHl66uvtm7 +eiA/3n2wkqz9tKCIBO5+vLu2AtRx49bNpX7xvr5XMWbDjXUbwZTz4HB4SliCtYR4erL+cPHDE0EU +c/fmyZ2PazP7T5uLyd2dN3L2+/d3eSIxOtLTraJcm7l2Mrt8mG4drd5cb65VlAoH4HUfOcz26h5S +6AIcquNrsLQrs8sHh6vD7E77+dZi9ka+rO/B5qPui6jv7x6uzt3aLSZtSXFUPl2+dHVx59neTeAw +94uVpfXXR5NmSy2Ddg9fZ/twaFZlIh/qZ+OUM9pcm93s3llbMW/kzfsPP85dulqtC1bV3l9bXTHZ +Ujq38YIYTlM8enGLBl2Z/3hyY+nTaO94qdt70V/cOXz1PXTx9Kbv4GT1Vv8HuXZtLnu7uLV/eB0+ +e3dtKb25fsjccnZl//qjFGbbP2QuuPri1SPHwmGAp+921NrCwb1XyOA/ruzqw5eLz6+2h3G7a4tb +O2+7+afu3F3iaJUggFGqv/efJHeXjmZOOmt3H4qZgLe/2brRCnECsiRg1iLZPV2duffzy0rS1P4K +lDwzyg5geuX22N/zjzfvPB7uA8duXzFL4rT7dnH745Nl+9di8ePC3UfLTWjy8QVwgfVrS+LN6YfF +7dMdXf2VGgMfA8DxwqB9+xrvVng+51/ffbCx3Muyp60ryZPR24Xk6czxKvyzt5Q8FXuL/NMTTKn7 +dObVfYC1FkKYOFiiL2CUsGXLfvh05mDZffgJfpotNvkb+7UbgPvhzk7WoN2DLfjp0wo3sY1PeBQ/ +PWwU9kOjHK/Uuwgm7794crS3YmfDU8LJUS8wBxyFl0k94qRml7YZZjujVdEo+HUdRX7K9UHX71rc +QH+0lrcPgq+fjDbuQqPnD+Cft4shKmn4mfcLDot3fwxQwPh8c/0H18v7xQqzMEq8UZO39nM3orYN +fhR5+aFDFkzUNn973+EpQge3q35leiHKwZHH53DGWi6yJbQC/sn1aP8a/YpkgftyBmFMIYs3l9fD +VVWkMo4s+gOOMglZvFbChENHsGZsPBGpRBvBmi0CPcbqq4Zv7Hi+i3g2wSHl5b69Hw2K/fGgr+7T +eal2K95Vxh32yM0BE5OOij2Q+BkegJBIaahPvC/4989F9bn0Qih/xUuraMxvfPUNH8OD5T9EhrQl +drmEMTrJOPZsuuF+ogXhMnil13+KVb8bizsvnvbWFq6XO6Dp78tQYBSLPZCVB+trH5+9vr12+UYT +pFhS7t7OnbSf+x40l5WjhZdXnh8sd95/WFhtH/18jUVZoE6Y0ebZ5kyodtx8SeYM2GKxQUMTXTmY +m33Aqt/m49mfKhkXWVvJlYUX12eK5cPTrTcrT5/+vBQuaOlDubjVW9lY2H4/2AUNtrtwLOJRbpLt +cPuHpPvh7tzHtX79r/Pfzb4FI/TFyWr71s78UnpLzgV2o1jaPVgpb6w+qnQr1JSenBYVYqwW9lO+ +EZhuoRIBpinatkV3rb/P6tlYB680fDbXn3+29dMizgs0JdDWzZs/Y5xcwDRBTelPGicXME2s1ucp +dA6XxiZzZPu+P6oslLzbHDyye/D86pHVj149WSI1tsJT1dV/l2VBhrSzpx79tPJ0Kb0OA8zuLv24 +8PbG0o9X341IHU6ePBTZBDyFtgiR/f30aXPl8aesVaENLAtEnEX/Yu9R9qK7vrO48fwpkDucTibO +aiJnGRWMz/tpesMfgIdL3fTgLWn/l65W+v/4RMuNlYdHV0s4Xj/eRadGG366NXp48t1uUdy8o3+I +u10/w0i5e505zMPF7e7CTfj64GfR3nqwIReeXy6spbpzowRkHelzjH755ujK8uFPl2/DhD98cLv/ +rgnLbcLZXzp6dhMMkc197Q/IbTQM3i8dyXuXqz94Yk9u7x13E9ymJ5GNnC6t3V39qel7ydbev7tx +ZW21dwqnUl4tjnOmrFvfz7/Ns/b6k6UfNxc25ezr4x/sRE9fX1388YftF2hruz+8/KQsjvvXkuzo +dHczWT9pdh8ON8pBbWR7Kmtjf+mRL131JLm2MBgcPte3n718QAPcSR7c+YjW3XKyXw== + + + LD8O+t44WXq0pE+XEnHr+fBytAdv3y8Wd57O+T/s6J+bnUWyxVZvLQy+e/Jo7cbsLQ3s6iXYN7f2 +eiCdttbWPsxePsSVqoW7u+97Cy9/vHnt9uHN7Q4Iv+IT0XnAncccGI/mVp4MbnxkGhunmMur97ml +P79RZxc7vTJdvEYSEP0w551fVTkdp5/eYCJ4esEU7O8vd4adFL0Kc29Bf1j9ebnW4wWs/KDbHy+D +5HanV4mHy0+71OS2yC//AGd/9vXmaPHpa7HH23jv6Q97K3vHxS1HfDPfgZ3+IFlZfnSFhdFc//L9 +JjsC2Hv28p65XX68Vlo8PdqcX+o2twR0ut0jtePSVR7xh+f5u9UP76++hckfXF74een9jJdYh57u +gOum318FTBSPUeYcrO7Ov+nEOgxx7Ldku1t5vX4AmlL28tnJdiy7uWV2V62Wq+83dj+AbnIHGc7+ +7Gr7ZvLTop4pfgT29zJnXcAOr64s3H3w/NrK4+PO2yXz4lVz8ccbmweLWzs31+C8XH34Lls6EnuD +UFVhgXJvfuXx2/UbqGxsURPgzne3J00+37n2/fbahyvXXq/sA76Wuvn3t1aezMzOkHLjzz5pEgdX +j4Amiu/u7H+/fThhUA1CdGu4evNGuh+KN9yrkw9L7xdefD8a+ZHXYYsPLqej9TWw+JbMTnMu+tP1 +y8njtw/v2i68fCUP7bNP+/u3O9d/fAYq3a3FtZXXj25MWlrUzty8dPXOu/7bn6Y1enEj+6F9Z6PW +5E75fvaI/Gi3fzi401m91X8jgDMasbht1t49PB7duI7tPjkOM0ZFV4YgS54dsiLzIH31cPmH5RcP +arRhby8Gl9+C2vzzFmzyws+Bdmi7SpqA3pcnl67SBciEPWjC+XyapvfWfn50d6W7biol2G7i+yuX +V/a3P/aXO999b4Cw9cZi7/7j/iQawn1Botvot0+KZ/vzYnHj9urThTtLJ6HmbWd2d2ZhMFecIk9e +WMze7f2wsl98nF99U46u1fBZfBpc3wG5//71Yv9w4wZgLCYWry7Rrz9Vk4dJPXgcUMn9e6maRCDF +0eLqzmJWbJHa+GFl/8chSGRmFXa2j66sLS++O1hbXjjYevT9PfF4sZg/WpzcZPHGp4UXO49ba3dX +RsFsgBNf+W7h9svyYCE/GXwgv+T4KKty9gbtFVDR5uFFV8pqXtzL3YfdZ8c372cPH4F8+fnNndd+ +oxQwytUhuul/BOr4dG3hxf7OadD3/fTJ6Upza29u4fYPn44C5Rz+2Um/W+st26sXf1x/XpTrsPvH +IP0i9F/vzh+W7z86VJc6RMejjdOVR++Hw5Vbu2urd2e/v/ocaPH1z0vHG/fNOL38+B2Ir6M3qCnd +ETPA5/RVUNV25lf2dwZg7CX7x8EJfDx89/Hh1bXLTxcGV96PVvb7g+YEgi1Aah7M4t3Oq7Xl/Qeq +Oj7WfkHlIENHLKtYa9+/+tRJpDk6XHl4/2oJKkaRsg+2/eLN0Hd7Z23m8d5LNC5/Qh7xaqW8+x5N +hdOblQHobnnUjZnZ3AzuvASt6OGnxQ2xpMDMfnC0cPf+yZXwLDo1CH7amw+wmAxvvUnvP9eri2bu +6Y/IKMT4KNSIJvp+Te5MlEnfra33VtumByPPNWcnIOv6Yvb/s/cdcG4U1////BLANpZtcAfbnO5O +d9Kp15Oun+oVXe+9++58XbqDAAkthlADoRMIAUxooYQYDMSEDqYaAwZTbFNssMEYTA9Jfr/8Z2ZX +0u5qd7UqZi17vnw46yTdzOx33pt582bevLoKN+iDluriieLVcvZaAPPlVq4i5MB60g3mVCiNYCat +z5AK0lSa2BP9wiX4Qee7bhoocf14sc5Q6K4BQtWtc/W1+MzOopLJqcCXVRPQoLMQguRpKRpFG4ek +daHML2sto7ADZp0O+2h2UTpaSpAbmRa4uZCdNQPHi9oc9eo8X/BJqS6IihKFzj46OtnNWMCHZIwy +bfe6enV5mVQLnizRQnxQPNozAHcl0uBmja64dsI77VRVTfUHLKWRmWCrqfMLqiXD1Zdq6QArGanP +7bLWljCNjamSWi9aKOeuHsvIAMv2NZaQLcRiAVSAEdulQZ0NauGxKXKbXMqqTCUgsFPN972CCqCG +5emgZreGrWaJLFh3U1HeqFtBtcGZhdVx6x1U4SlHpcvWjSYUZYG/1RYaHMFoCR8pX16jaIErlErt +cFpOHmnQBr7k7hrVWsAYaRktym4edBVbPf5puPWtdsvL1I0OfcOYP3cgJ2MMPHOtglpzwdQYsiLh +mFzYN0AfLWeKrb2Tg5QpAQ24rTU9JcDWm9Dlrp4Z8DGH3oksp5byF8GNYSQ0EpllSm+rA/Z2ndtd +NAiEvG6mvj+y/FrQohfxANcBFUB8mgzAHsmrKK5TFYF+Gcwap9aChNPVN5PaVWxVa1KhQWhhiBeY +jsYH7KaR/n5LY0NHozW70FHiGGrrT4UrrNSivBpjp7O8PC81uFnM/DNgj7l7MlxFuR0NwOzMrlHq +DKqpPjDKt46AOXf1ZHHtqLmJNgj3NBf5Fc2pzvIyIxD7NPsk24Aa2LWvbs2u75oZl8jANx35zkGz +JTVPNdM+bCmYynKBVVDWlDvP3UdKY3B8Cg5NgTGJHMf85KKiOkOZX5Sd6kRnB0BDOhzZdf0TecAa +n0zvVIecmzn9/X31OYaerGr7qFpf72lubR4H/TJtD3nziK9UdvbOuLs7ZobgaYtMtDZSj6vqTagj +qJ2tgzmGiN5YrVU3gY5vkBeP9w76g2MbrcROwxiaAylnLGjFNgLjtXMGENgiA8NazUzoU0LGmorr +G7LrQ9zZRorWeMGTjzXRXJaQ5e4mMEVN6vzFurzKSYpPFJFlz8yrd2YNa/vyVC3l9mKrqhSWlzEM +ngXpatAg4mI+0DmkhecCxpS9r7iqvARulw62QB4MtCbVpILJYaAtt6dpYg1YvWpda2Rul21i2NXZ +PNQABhx1C8vXuy0NVW1ryBHG627nLNutmM6dcPVZFGZ7hUIxnD1eWqOEK3GmN7oGzPsV7kwgzumt +LnWLddBuajKqKb0/3KkaLK53+rMsU+U9hflgbSwHi6s8Pb2+YClZ+UBfenNG8p0dwy1pFEELloOW +9WDOGeMqwljjGCrqVztLRx1NjClfZ6hpT3PLy+1W0C/VraoJyvPT/OCW4MgwDNefZldvvcscGhlp +NbdCw6GkHzmsAx6SVhvyqcA1slHXT/e55Lh6uteoiscLpdXubnmHASpDu7NMuloXal6g7K7O3NKq +klpLTnNDL3iWATdpIgJRI0eLMt0g6H1g5ilABe1UX70lJ61D0NEis61L6apQ2oDWKVVAh+r9rr6C +ElBUQ8Zkuq3B1ZZuG2wCa2TQshLol9d0FtcP9U3DNp5REAwLM8DLVlKqUDSKHwa19JDhTNn0C4io +3wqduJMX90/0DsCgHvLGIBijPUF8jXkNE7UElnuFwu7dG5o4pWS4P3S0j+Nr4z2TjK9wXDbFqA9e +/gUbj66Em+xhxmGRV4AR51Gng6EUMdxDMzw+Muqf1vSFbj8MBOSVjo+kwGRu9Eg8knMb8/qryZ7x +QLBxbnjNucE0d/S8b7AiIh8cvC8p8JkEnYukvsN6wFFZYO7OVhY29mp1WmWFWlk4NG2ErwymvJoc +Y/CDmuAr9EGusbB+2g7MNc9ISVptfg9cZxUEPzUo82stQ1KFsSRfqtZm1kpkUmXBSJ5UUdlqk6qG +hsFH3as1UuVMTp1UVdHslKp1FQadNr9Fjqo3Sx2KGpPf4AdWgtk5Yiqs6i4w2q1GKxgTxlqRkxEp +b+hTXUnXgEMi8/kK8nuLVZOVZUXlNn+BtSSvSeOeaDU1unztrTpnq7ul3p1fnN+nB+bcOFmLMb1G +6VBn1YL6vBauxyUeSGP02tIBY2Ff8vp9vlx/PahEVarTmuqIxwi1zG91TzcaOidGMnT9GXpUc1Wo +WF+Hzp8HyrbOKAs80gz04KhfnCMard/qMVmncteAXz2j4K9bnPRK230dFe017JV6sjvNOaWdGtZK +O9MrweKHUW2oUstwuUfGXmmeVO7z62U+9kqr9e2mVENOVqhSiSxUrT9TVaHmqNQ8JO/JbHGxV2pS +tCvzDIPsT5rq7jRJZGkNk6NetmfVue3lRRyVWtLSx32KfI5KWzp17tWVdaFK0YHgYLUeaV6Gvqyr +nrVST4mhnpNeQ2tBfTeqFMhir4vep01AkttnCrywWkV4r8pbjG2jegWo1DQRJkpenZ2stDozk1Gp +2TzWNRmqNCTJRLVdvo6h8XqOSot6LNnudD1rpZ2F3bVclZZIZOlGeW47+7PmSTv8aUMDteyV1jgU +BVPpY162SpW5ozkFoUpBv9BFKauwtaiKvVJTS4vObdNVslaa6h7MTq8dM1SxVSqR6dwdHW6OZ7Wk +yUbGKxxclfboPKruRvZKPbrizAF5dguqVCJjEjydpiokK21RyxkEF1aa8kl6Xe0jblqlrXk6b7Za +DyvNYlQqkflTSwYmLLU9agOoNnuSKb/ettYejkotadkj/e5OrkqduoqsDhuqFMoY41lLp3KK1vgq +a1krrcvNNHJWWj5QZ9SxVQpHflObWlfXpUhle1Z/annJQGVbq0LOWmlj5vggZ6V1QzXdvahSiSz8 +Wds8usbyyTz2Sr1GWYO7KC+fvdLJslS2SsGYDKtt7PKkTnMQ3Falayosd7JXWlHg6uqs6ehgrbSj +aqQUVQrnl/BnXdNi7ndzVNpu1XX4R9XslVaumRyrslmNjEqh2wtW21WqHuck2CerU0o5Km1p0LmG +x8pYK7VWqlOlRR1qeIyyPyNniqk0M13ZXWSlvUYFQ2kUrd6eLFSpIbNAXkJ/Uq+uOyunGFaqClUK +aoHVgmLXTAUG/Xwfs1L/REY+Wel0oZLxpNL2njYFUam9RV9KHwhVPn9DgRTUAqrVhI9KpWr0rKBS +x3TYUFiSaiEqLdSXqxkDoWrSVEnMNMb0HEc5qhTWQlab7vP19I7DSnWMSn2+4oGJgPyWSRmV+s1r +csiZpjCnRsOgN3VioLteQtoPAz1dFnqjShoyOidyOD9tqdGPNXJ9OqQr6ZbNhD4NG/nB0OvM4Phr +0AcZSkegXWsGshmfWqz6rnryU/+INUwrLeNDqc1snxODYnVpTjvnp1ZDVm0396dDPZ2ZQcbCPy82 +ZLT2cX7qVY4XGrg/7a1anRv6lMGYJa0qta+3hOOvrSUZJXkNfuLT1ZlTNsbfNiiHA8bpan1qThhj +Db1ldeNsnxOjnFM54uP8tEnWq5Vyf9ruzMkPMMbyebesMzud89M109WTJZyfjjQa7DWhT8MYGxtx +F3Ry/TVoUk2umfPTMoOpoJmbMVnfeG+dl+uvM6QZpe1ZnJ+6iit6Bzg/LTMUpuq5GSuWGtIVORyf +mkt0rvyswDPnyHMZnyrra/yF5KcOTR5TK0vquz1ZxaHPTX6Tqpa+AnPo+jPbHOT40w== + + + LRuFn06Sy1F3l5kYeuwT/kriFW0cM0ynwxWmQ6ous7WAFeaaevhDA99zS1XOWgf80YTWb8HVGzFG +kPX11NoDI58v1ZCZX60mx3OwzqHZYwVpxkzwh2VjSDfgSoeiEdoK63gmWMc2z4ChNTUD1Lc6L1hf +mnY4v1cBRqdUl2+mW6OmDbe+VIksVC1a6XBUakmD65w29kpNLa2clYJJZI2eYY9RnxWtdDgrhVNe +H1el/dRKTXVgjUyp1lppr6NU2p+RkRaqFFn/wUqNDHqh9R98Us8orVJFC1q9UqulEZxv4KwUWf8c +lYL1ILD+O0OVgmehPWsHZ6WAYL+Ju1Jo/XNWKpFB+3+I/VnzpBq+Sr2ZnJUimyJUKdR9WrXQpqin +9eqALVA9ekV2hMLR2j8m5HudM2PjVN3n+KYlbarT1VwV8XvmIVLuyNHCDp65vZgcLcNUt1s+Btmp +pThoCtwzPnJwyagrYmg83IZThX4UTMr768nFOhyTiPV+waQibzJYohwVUWArSV+DWlFg87Q5wcDV +44I1G0NDE1l9gUtG/lBVTJAVIBM4UEHQtgTtAQ+XP0l8ieF9AsOeXTs04JQFf9RSLWbSZ1YV/LIT +1uKhPm53WSHpUwJNbqgGb2RAg3YmK8AOYbeTwzHlCaoz6AQGPW6gwboys0yGfkCBbKKvktgaNWIr +ZTSK2qSumUwguhUqQ2ahjuJHY7gDEeVgtOyYsZdHIh3+IBtPLOZZni9Tyvl8ElnoCdEPzh4M9F9d +auT+Sws+XxYpY2xPCI3XBh6yhPffBJJPYmUhkCyewvRZ9jVuzqIkQsQ9QFauOirJCskVbUYmJMvT +PhU986y8A+OmlZTkuJk32FttZfy8S7jJog89ivChp9NFH3qMnEOPJJLoutpLfVQCg02mEZhBDD3s +3HW6oA1DEszRHpVLRfwgudOPs3PXopZyDttcWon8cayP1pIa/aNRZzH0cMbCxvqKSFR7yjPI3QTW +hjiVjKeizmKUpxqo1mSQvR82jLpALY0TUT0Q2wgDZAcs55op3AbVkCrn3YoM0LhmJ0c3qSb1PemZ +JagNhJ8/RmJ03LP00IQyPyA5FElGTh32wvRCC2MrCvFO2eXJCte7HrdQvePXOjBX9qQ2z/D2ZZpe +1aBXwR9tSsomRZhYgJFR7ipn607AGLVD4Q/QoSFHdLhsgOcLjoLhslFVE2wSpV3oWaY9rC0r8PT6 +uR6ySDcw3aANs8LCuyS04qtQhndJvyeSFSZ06Bmx+iUyzolJgM0Y+jKwZtqmOacliSya/vVATkqi +t57YdL/fQx+nWciqmAhNvDxNmi4s45wrq2rJ9ggx6UCTuA26QNdJZMJ6EKzyeQ2LSDY/rQfHZbyG +RRT956keCxVFSHIchdWNC2gX0EpBhdEnlGjbFdjhJQtr4V/ERPOQVKsubsa6fAlkjD6iRdmuSbof +pjvbF7ZwnS7wx2gd0/ZfQHtK2BaDXAYt6wRtsDcPSSOMYxQDm10rpwtTE6aV9uap9OgWysR+bFhP +lsAtE2+IG7gSj56dltQMoYuPoG3JZKfAH5yWI7oR2A3DEsagwKovkbupwM+/xGM0hJTk8KZEGAUE +NYRhW8bGSQS1pzSEWCMrOaaowRLoum6LYk1ObErSDxkFz/YYOvy9GopDG7wqhTLviqICDqcGsASl +PDYM6/DBoSCl/GaHRBZNo9JiHADooyVUuY5pGf+0LHQAKA0NAELX+9zPlymAcokw0mm2QmR/BtOS +D/n61pTCTb2mRAiVc1rv6vB7QiMD7Swc68KHY00OZH/IKFQ+yR0rPrKEqzjnsgetkgBZUao4jayg +iqO/MKbbRrR0BS+Dz0JXcdZVd2TvEpDaVGEeEj5fQhnTJctsDZ9LluEhGSujW/Aci+LILlnwaBRF +Ins/ajdJGTyXUCHUvRFcJTGbUjZDn5ZjcG8AOZgyoAdCJ1XCekt4XzHmVA6/j0TG56UbK4Obuy1x ++X0gLZF9fYyhgMNfA9mxCJJkyrhJ8zRM0kzpohmmKQ3kgNuZSI7JAoxpyHI505SOhjvCHkPtkfG3 +R6h/wVjYkJ3JkAjKWiyqibCcYQnHpi85NQr+R4ss5+WhyS84v8TgjZ4sZ857XA8kkfFIOpAd+qQX +ywBQ2CAzSyL0uTBiuiI46SWMqY7LlgXsMCa6SPMQ1ZYlnoUy1cHNqkzq+Q34VOA9IcLAqXUUSXaA +9mii83mHP3NzHdtsR98VFbwFCQrj8reyeVuJlQWXvxUWFoXysa+XgNJIZHFvUqBe45/yJILLoS8k +o2sNuSdOlBOvBhKlBFeToVICY3I05UQ/7wXX+yyF0XYIo5tE6fuDmci6UMnpFqcDHVNNyA6DAx0+ +lcgiq6GA6QYWZtBEvcfHYUTAs5xZgqikmJ85U7RZjDmi+UcUYSOaf4S5gSdgRGP1kDgAMUVT8Y5o +DaERLbB6jcaCZxYWeUSTCNxBgoXFPqIFtdLTOJGAEQ30GtuIFrXug3KiH9HCfBdEOfGPaLCU+Pde +UTk8u0Equzy4i6OVyNisAdok1DjBt4Kmbh2y2ygmVS39vCVY84T5xuF78W7ABuaX1ZlT3MOQQMvM +AfS8appNmQkPfHTDLCisURrVICuRcQ6zMZ5+oCtzI1pL01bisRgooNcYh5q4RpjI5Qgz7TlLQX4Y +UE78RyBQKRwLasbOe+Ry6JvuAt3LLLsJqLBE+KqJuRA8nxJaF/TZELyrjse+pwhpT2qtP+4VX3OT +UG8WxXfBORs2RWXf8/tgYWHx2/ftU2xzYbSzGOy16F1a4bMYLCce+55SSnAujH0WQ+Ww2PdspQRX +rxzlCJ0N+edCNMK0T8U9G9Lmwi7mPjGqBbybkONIcPxhPYdFzpW0w1OhYxictkCXj6dLqFSqBOy+ +NTfH46tm+PlBYfFqN6VdLLrNf9aahzFB5m6gJ2EtXCsi0JcaQXrOs3vqAHw2ank8VwKO0zGaxCkR +6GxPRPViTkwOjTpsWnJotILWlQImJoO9uZ/zeB73yTWO9T5omUEYlQKUq9efuNO2oDDOvZugt0fo +gXpQmDE9t9ybCA8JYCw7OhOD4wwi7MkujSAfLFEYh7K38B6+JSRCEvDfC2qUQIkIUy5yRiZUNzSf +FZgrxllXFmQfoGg5/6BUPV7TJVU1drqk6mJjJ4ybc7FF0BE3t8QfQ0edxcIj6BgRQzHH0PFH0KEx +OQExdJyVogg6zmjBKGPo+CPoqNGC8cTQ8UfQ0ay+OGLo+CPoaNGCccTQ8UfQ8UQLRhVDxx9Bh6IF +ExBDx/89MrY67hi6MMWlRdAFVxZxxtDxR9AheyxyDB3tQDJPhFl1ppvN2uY+A88dCcQ47CKgSaye +Xmfkg9tZwuKl3Iw1csyHYZ1M65fFOSDU09vmpM/20XUdZY/PyTywETNPuVk0caXHigbneLmQYLCB +NQONkZwo9D0+vsL4z2EJez7k64sUOSf4+Rieq3B9EU66NvomcUQ+RvBc8TWJLWQOPktUQXOCxhoX +4yhI6GxPdAFU01EdBSHOj7EeBonebczlNEY3g8Xtr2pRp/E/mkRgsBv9JGS0jkEkyaDP4/UYE8Fu +XNs29FVSpGA37vUp/4YDZbR08R4GoS1NIy1DXIxoBlqksLDC6Eew9OE7Nr2GqUiRj8LGrB53VIte +pJVcy95eI/cRyqhCTFHsW4XAqMPIa3tAFttedtAeC3edRXIcjlgnGW4S8LcNrIdmY9ix8nCaXZxR +YBRLiRkHFtHsEhzHNxPpDHwUcXy9keJf0mhOK+7QNO4gGH5TOvwMfGb+UBpXo4rYQjS5+y/iGXjB +pwj6PXQPJmv/CY3js/oixcTwCQP9dDosLGERor7QzgdXZEo0hUWWeOGM0R2scTIWMUxU+EOGRrSY +GKM7fg325hY1/aBTCeNgPUsklzBbNsznG77MCqp6Lbvfkj9ejlEERwEjqfQZmaWIbkOnHv7o5tXu +EgGLveCKL8Jib7BE8GKPqwDmGcUYioh0NQro5+CtGsJC5WLqoS5d5PklYNKwqwUMcYvsZJDwuqRh +VBrHIi5M7Pli5CQRwpwFbHmiB+K/8kQStrzisSNz/GFH+eXOaQGUU3ZGuCR5TWl07h2WpRJhKUUI +kAsbdbgjoqZZZ/MY7LFSoRof0ndOe2xNaXTuHe4wO+YJoph5GorgaZAwlhLcIhClR4bWJFo8MmiU +IRr3B0+T6MoceRbj4ckktEn8p9MjB8XxNYl5d4eG4f8lQpIS4ZEpQx6ZOE+pAUs4XYBHhtzjixCe +k56jyYjHI0NZ75fF75EBBch5TndEEYYWi0cmLFowfo8MDENjeGS4IlIjxeeZovLIsPr5ywSE5wgL +zoEhekDhIkuysON7MFWHjm4sl4eMZe5z40KMZWNhgzJNgDDwxyROlifmJAPsl5yazMQ4dcCj5cgj +nOkVEoYW4wF26vwCA8i4vUtRhI+FHV1gjRaMFFcX9aHZ8BOqKK5O4Hk93rg6SugoT6RwZCdoOe8l +VRTtpdiWvEf1qsPvIoXvCZzoAjHvXAeTEhMPB2tJxJk6/ni46O8fiyUeju0UdPVYouPh4oiziCIe +ju+EauLi4aDXOk4NFBAPx3IjKGcQV+zxcLTTUIG/yUx0PBzz3lEiIi7R8XARbwlISDwcbcdKwFHL +2OLhmGsxrm0dGMkWf2Q9nOASdiYSFEU/E8llWwo5E9k4IehMZCTd948Y4zUDHOiARPzR6KgcVaTe +F1iOkDgSzlIIewyVk4BIrrCTDDxn4COPaDC4jtshFn7emZLLhuPEc+ZUVtiJ58ypCB3BUEJOb09z +YzxqGAo+ongV4lVDUBjvtTJs4xinGrZMClVDHmsc8h3depFV0BJzGzAqJzr14YhHBuUkJBDSqRU2 +i0Ush/tKYI7btLiOWYdfCRzxNjS6V5pxW6NCFe7DgsFn/Bc7RVxQByNS9amxHhChPDPXxcIxRaT2 +pHYJCCIVGJHak9orxGUQIdQvIRGp7VOJiUiF5SQiIhXGi8UfkQpLSUREKixH2DXQjCUx27k+pCDc +l6ZGfchIoSZ7n66GzXGrISMUjn0cS3QoHDrPz3uiJxGhcKz9kvBQuNj9lnTG+NfuUawr4wiFo95B +hILhDkooHItX4SCEwrH7xwSuz1r4DEPqUEC9P5kv8GmI86yqkBvh6faYQxNhWST0oBcsyizIoyjA +gQwL477ZLkobJuyS4Wg3FyjR6C0Ct3D4bucFQznblBeqJXJwMzOurp3zOhzm5BDwjrJMDyH9hVnj +VGz1kX2AUlwWVA15Rht7upxp/TMuty29qNNdX1DtKtJOZ4KR311fmN2C0oY7W12+ouISS32Zw67p +czjs2nKYhKBuMjAdyUbpTSY9TvRYLLaoM7hKImOU2rjjzqw1OdVU8aIHu+X2VVVQnc+USs1DWbI8 +6QRXhJ2ppZkv2K1fy1mpzl1v54uwk1UNV/RwVdrNU6lHbaNUyozFylH6KV44ZrCbqQ== + + + ecgbzEzICAFLlfMFu+k1jErp+fhyx7gi7CxpaVOWmXauYLc2vqizMf4Iu4n6es5KM7wDQ/1clQ7w +5+Oraeau1FXZ5uGkN33cmNvFVWkNPcIO9SpQWPKp0StSznMEfi+X7XuEV4H2TVO7V1CJJkU18T1y +6vRaWAzRysAqqcA9M8qcUPl8xwKO3NItWOU48Sy0PaLqjInEhPZEPqHK9Jpw57GaEtAkyr4YT6Mi +HU6NdM6DWL0mMpMcW9oRljtVBHiX+DLJReWFa3MKPiIZIRoS3QkZxbm+SEnkeM/1CZenCEnkOJ+P +Le9bpGQjQp8vcq4BwaRHyjPCuEstjvxxwvXFM8CdiIjzuKvQBHT8nt5Youli88NEG03Htg4I5OJM +XDSdwPth4oymY/MJMvUl/mg6tli6WCMfuaPp2Hzx7Cft44mmo9FC6izr/WNxRdOxFRXhhpAYouli +nJGjjKZj26cJzpUJi6Zji6WjrvcTE03HFksn8GxPFNF0bL72QAb2xEXTsfUu8vQmNJqOzbihnh1N +TDQdWywdx23zcUTThTdpKI3bUoo1mo7NOJXIEh1Nx9Z/LKeh4oymYxYVMadwTNF0XLZlYqPphDMW +TzQdoyjmnniCouliYizqaDreGKuERdOxx1YnOpqOrQBQS4Kj6dh2Sxhn4BMQTcc2PNBXr4mIpouw +M5KgaLrI80siounYyAhZ44mKposUyZWYaDq2WDrOfHzxLwDVoQUgLb9YVFc3cWfxCk9SyczNITDw +aSqCstPIN01w5bKJPV9dWJOm4S5PovPVcVsXwniaVmZGxVOIJdpJSBiTGdGwECgCtAAFjqhnrkYx +miR0KBCQXY6+MRVTkyBjoFFRpV3maxL7QQrOEYaHJ560yxxDJpzF6CuiQn2Zn7EiMqbbJiMkNuf3 +zAWzZfEluos7zR3lniuBJnksae44s8uVC4pVEpjmjiuSS1ggnaADEvznk0OJ7uLrK0/LpJAsM7xe +KkFp7iJ6FCExcae5I20Y/kR3cae5I2LfIiS6E7Z5NFmegHuujIUNev5OFB5nUZ6wI0qT5SGTO+ZY +HvBo+Qqh8sm5ywMT1EU8exhJPmEYHVw883rgBQXSCTnRLIkcYch9iENwfCGohefYYRSHyCA7nK4/ +uiQLy7AFak7LZMYTwUtTOZ+Z7W4orv0eT/VYjIFdtNNQQKginAcXfBoKFBXx/Jjg01CgMGEnuvkP +NqOxLyGRj/FvhcCMgjzXgZO9L7AcQbld2UqhnOyqS4QGolLCItlZI4Ujx7KjwgQF1nLlgGAG1taN +hwfW1o0n7lZAWFhCEhkjGQOtFTKYUecuTirr2aiMmO+V7wx1VviWLozECz9BzbsS5zpDPeAfSUhk +SvDm4+gtifCivDOJymAIPqjm3iIWrPsNUSWq5tp9g4nX4jYniFL4TnVGUU4Cbgkgyok3WzVRSkAJ +2W44jO6saoOAQIaodngVShY1bBQQyCDIAx93hrtAfCVXjrsY1JDlcEWseaujy3DHF/kYhxoGBI3M +cJeQTHkR44mEZcqLN54omCkvfjXkyXBHj0sSEh8SS4Y7vnyvMMdd9BnuhN5qDqOf4g+sbZ8KmTlc +q1fBgbWgsMhmjkSIoUPkpostsJYZ+WiO138E4wsrWMOho7vnCpUTw7gZdkcELCch8ZwVOmFrsYjl +cMfCMoKYJJGumUDp8qKJb2cLYqLuisIBQhWmhjnyCB0hwK8VyPsmMIxJSBBTZn4ncyVKmcWEhDHR +HzKC7zRUVLBfOMOYcuSCItR5l+1BrcyRC9FKIUFMmfnjTOM71nVlc1RBTFwniGDuRJ6ZNjrDsJmM +4Y3jVn6GYchyWWJzC5EDIhExrg4N961icP0SbUa6qNI9Iiq57bGWxF1N1YJ23xIU49rCeTVV9DZM +rz+qdI8RMuVpY4xxpehn8BiGgKjnyDGuoEmCo575YlxJDxDsCG82e30B0w9GvJXk1ztH9A67tqzJ +mTZQVieROQuVdfX5E91KC3jlqUbRfe7mdne/IbMg1UlMPMi1S/Edk69oQXiVhbXUSmnxcBKZP62x +pZrqqqLnYctxtLVwxMMpuIPwfDPdOXr6mMwIw9NlccX+WdLSs2sVHVxBeO2clYJnSXVPGjmfVedJ +a23grDSztFczyJWHTRGqNBjJFSK42mygVEoPTfNnZmeE8ggaGVGOCnlh2yhbpRIZJJiZc44WhtfD +jP2j0lueV81RqSVNZqp0dod8sMyIuC6eSj3pFu5KPTVprWyVorxv1hJaaCWz0lq+PILljdyVulwN +btrJLlBtOvxcFXxFBmHOZOVr6b3P8T2jQ8f5PWp8pa47K6dYQInKnIlpV2iaBM/cYmIancHNGtLb +Q588HTx+4uBEJ/DYJCDVrEC7QbQsZpEPTgqYm0HZ+czApogeEu6QpPCjVZxNgpLM3SiHkNCmyIFN +/kRlZkEO3QiZWYR6kpz8R6s4uy4sMwuooC6aI2h8UXeMmyfjiEqLcEKTYEkiTJ4Ym17RPl/Qaw3j +7qLOssjRpLBTWkx9EUx6VKe0JDK+RnH7iaNrEhgtuc9pke0JOxvLGK5c7QVZ9M1rV3jOlNiWEqDs +UgFXX0fwwXa6EnV5Y4taKuyGQwHRSLzuZaG7PJ2ueG6iDcUkhl0ZF1OwG/uWdVT3Wne6YvQs02/R +hFGA8V5Cy3ZXHGe8WKRVS/hdcTwLIHb/GP3QCMsWa487qnwH3COMO2Fr5B43c4SJddebCLjj0mO0 +YxU5fR2tZUw/f2SXHcrHx+lVMU2FHSAYsfqit0c4cj9l5jdzbw5GF0gWls8ijrRs/JFMUcVY2aK6 +54DSJEb8S7+Hz3cc0RqnNYlyVJ/craZobZShgCPpAkI5qfdc8YQCRkppHKH/Qjvv/Z7IgTqChYGR +15g1y0wUhUXKopPJjK7lKYwxq8THWMRYHuEPSd+5jJOxiPl0omLMa2rnKCwsXJjNOiQZizEKUGgM +oOB7SLgCxATFAPKcThcQBSg0BjDcnxxNFKDQGEDqDYfRRwEKjQFEXuuYowBposKzwmSeg40uClBo +DCBkLPYowBCf/OMGPcYq2ihAoTGAwTVyTFGAHE0KiwGk7lcS7Ql/qviT8gnPyBZPUj7KsxzEpHxh +XoWDkpQvUka2xCTlI2JG+A2U+JPySWQsVmHCk/KF50c+GEn5uPMjJzIpn6D8lfEk5aN6FWCjLJyN +IimKFBrMndUv/ruhyhJxN5TAvH6C7oaKO68f5dEScDcUV16/6M4pxZrXjz+rX0x3Q7Hk9eP3CrGv +xKPP68cufLx3Q8WQ1y+yJCcirx//yZCg5yrOvH6RIrkS5NDlzeonkUXl0OXM68f/aAzfRcx5/WgN +CcvqF0MGENa8fvwPxHZCNZa8fqzhiHy3mgsnRnCkLOtd0DHk9eO/+Su4Jx5nXj/eic6BZrEE5PXj +dwtHdQMVT14//qUu6ynoGPL6sYVJhlQvvnx8CYh5jyqvH38p0M+fiLx+/BsqEsHlxBP4zoxIjTWv +H4upScnqR83OoIsjrx9DDXX0rH60O7uiDk/RBfP6RYx7TUheP/6sfkFJjjOvH/+Ba0pEalx5/ULx +W2yyyLjnKua8fvwEIgs2AXn9eHTNP2JMUD6+LP5SBOfji5BOTnA+vrjy+gVLYVWfaKM5wvL68cQ9 +RDxtOxBtXj9+Sx7eeJCIvH5cc3hj+E5ibPFbAsz5wE5iJDWMlNePf7+Zfoog9rx+dLaZq8VY8/FF +d0iDOx9fAtQnmNUv/nx8QoKYIt3eEH5WI7pUfMyI1Pjy+tEc22FZ/YiIofjz+gVDpfjyisad14/f +zOGQsajz+vFn9Yv71iYyr1+cvj6Bef0ExL0mIK8ff1a/qPPxxRSFyxgtw/P6xR4MT8nqR6klrrx+ +4a5kalY/rlvOos3rx3+8izGLxZzXj/+gE8OnFHNeP5Z+oWT1478XTnhev9j9lnTGoo954lhXxpHX +LzRwsWX1i/n0ICOvH69EUDKAxJfXj98wJFav8ef14w+IJWfkuPP60R+SmdUvzB4TfJMVPa8ftxFE +2DARbrISmNdPkA0Td14/ak+Gb+DwRNdy6Cd7Xj/+yYE3ijNhAbHEvK9lmR5a+Wy0qgb2Ex/Me6WG +iBsVGXMleJfbtct/8J4RtkiTpoCMhXZvCvInqXHwhG+KrEpOmyE1EyFidNqqAUuQz0raStTrh7Fv +Bv+QFEwrZVJlW2W6Tts8kk18CcZTSdMrCko1Ovm4VNvXNmky+obK3AWjHbaahiy5ekyRaZ+y60oG +K4vTpmbsFml7T78RvOoukpmtuSUZFVVTteapkZY2iSzbrDH1WSvczZpyjU9q9npM3fbakYbC/roK +S9NQ/UCleapRPrA6valYYXKuSa2vLR/JGc1rnhgolI9PdWVPyXxF45ZKaVNlYWa6Ue6xyFa3lZYq +ZobS2kwT7QM5pO6j2M6Chvq6RqlG2VkkNQxONSrzjJlFOre93K5zr+4r03ksGbU+X7dN7vNbm0r9 +aZ2WXr+5t606GGlZr8zXqps0Rq8tNRD2tkbr87dPwGRztjQitjp8DKHFl+a2ertsxX01k3BBHUwB +CfNJznTrZVnFRd4yNrIQGeBxpzNgvxjTpZzPiiIa5T2ZA9Vpja31BenjPq07w2AanEkb7Zf2w0jS +skBwqHRGNWmqhOfVKsZRTKK02F1fL9OlD/Sj9X71BN1kn2SoD3i0agclaC7kb6U8GhjW2HgosMgc +MxKZs9U90IwSaDo6ytJKXL62vC4UbGvvrmhy2F2GeqezUGktD33PbUurmwLlNE4FiiXSZ8r1ypFs +GMrY0lmU65X60FMVj01ASS4ub2rqUroam0vgK/DA1aMaGLSrIpb1BeYWH1o56bTTcngaoWuaGIm1 +Zk1m4JVejnzHgJHscfBrdhaK+gUDTukk+DVfhUaYtEwwi7X5wBsOTeAP3Vq3y1BhBcWW6JROlWzG +LS8pLdWrMofGXH0jUzadtiBbgRoKG9ehz3Locx3DPVo9+CBfSfmgJ92RL5EFPnKoQx8Z7K0NhYEP +SoP1lVPrU6eXDgWIqVSAIWNiRO/xpvYE31OGviyR6T2dmr7gR2pKOZ7JHB18T0vaR+ZKHYwyGtOX +WLwWGNaoNBY2SMF4WF2UFWxhF3LBgPfcKshSFlh9D9hJTy8cBa1wnLMCMqsAd9VVWliOClA5BUad +6gY9+htjum1sGvzaZtRW1I0Ywd/WK5UFaXlp8FMlqEAzptO2eEO0dIdq6QZ0WFrVTm1PXkbO4Hhm +gzvPZVrDiPeEs0EN1bQN2LfBkdgGWjjuYCtPIouxxEAUOSpRUWatsVk97qLMgXpnaX++lBynW5r1 +qE/Rs9QbQr1hUIx2pZFS1NJjCj56D6hl2kZKRG+VGgk7Kbq9DVpS2Hubdfpeb6kCvGrTk+La22mA +68pSA+it3h5j4FW/CRVBdu1ILSpRjcxP8GuzlvzrkTZd4FWnPtiaXjDHeQvI1oz0Gw== + + + KVrZa+iUGrvcXYq2ckN3xZSMfJaRMQvSbqPdarTmDnQqVjuGLO4q+6g1zUpZIwbTbBIPFPpB7IaE +/GNAsZs1wfb0kcIy3anTe/RFcvCqRx941W8IfQ+Y2rXg+abXmMJaY55udGcpCnKzG9WpFaD3uytk +NtirdmNGlz9bV+ZRmkFfdVjIUadZlxZhGCVNd28OdU+ctiQGz4Im3qwO94xUNbSmWapq7HRJVRXN +JVK1VdUlzZysnwCv1OVSdbFxQKocNXmlam1mI5zDvdKsqTQfZQ6HAwDgQZsBe1IeUOaK8YCfHxgH +WdDggyHUdVnkaAn4hke+1FA/dagIY2GTqwf1H/SawMGzRI7GA2gJQq9YSRZRFfRhGZzqNiU5WgYH +RTWyhdCQCS2uZnJM9pQryC1NMIKyrzrNpbqAhkG3RcB3AcZAkxyeSNdAv6VcnhMYGXPQY8j1rs6c +vMB7RWhAkpM9DQZPnbm3HM5T5RrqYD3p0DnL8iZ04CtVIcHu1JGZJggZ8+Rn6UGnFhCjKew8JBFw +LFUTwygx6k7maMkRNLuxxNE9UjwASO33gwJqKWWHhlE0C1PsZD4BgrYHi28m8KucfgLB64dGXhEw +X6wz5E0U0gzzhJti3CKRS3UUp4I/rJ2GX2+k3f1AFKEIFSHNUA27GAUoHemFrqB5UiKRGeS2FmPI +ZEXvpqYWFHp0/bJxp8+XP5FFNaGAfeRPdbtloSJ0A6lmLaOA5ubq4mABw3KSsYBF4hklJR32gas9 +V23MyG3TgxHdqYI9RKyr0XtAdho1xHsd/i4407T7A+LaNU3jPS2T1EplnmGwJmgpdoSMRJRgG2pT +KvyghX5vRmbIZMsqasrqCVhm+YaAUUbcTtGBotJMHmayaZgIONAvM1JYqZToA5O/LQMmMZcGbgix +pZGtGW2opC5dWlTjJGN2RXkoB7e5pEOTuqYB8KR0g0qR/FZPhN+W4RwB7fIoSQqc/rogBe1UCmba +qoIUNDNzPSspJLT5jL2Uu0tCJDha+zsDFIDWUCnI9rFRACSZSkJWOoWEQsfUBIWEQrnTR5BAVhrI +fo66hJcC0oYBtsmIlmDemF01QpJgmNELlANtSLCbpRNaF0GBz97SRo7JhFXfm17bziEH5HW8wazt +3WyixFuAUiITKo1cRagEtEEi422FOt7H0FBWfDE+ho6/N0Jt4NRKVbwyraJQKZHRihDKhEoj4DGM +RTVyOSoArCtnegqr6EXoOR5DKJUqQ6AASxrqC8AYeYdNuYP2TW1W6JswVXx1KM89vXPk8cuYIl4Z +09JkLKYi9PHLmCJeGcvilDHBRaiFCEiwAChjYY+hjbM3VDpGAaSMRVGEVoi6Mgqgx4x0a4WMfbxt +YKUSMSa0N7RCNJ6tDaHIFG28vaHVcVIpkQl8DMG6wdYG5IfRGuLUDa1RyIxcYsqvcCiJInwFZtql +Z92GeOcAg4oyI3Mywd8GLv2ktkEi422FJk6JMFBHSyEzUfg8ZGCqOGcbOEdLg57+K31WMRjJpYK8 +vx4siov8aJFKcc76CmqH3fWFOa0uX6emVSIrLrFUljh6BsvWwDW7OeSAI1Z8WcXtxaElAljMNsmJ +xUdoSUlZhFYNjJN+j+YRtaGrpF+l0/ZMqYm413S04IZ/rSEX3A2pyHmZGVgPp2Wis1KgySYF4ZR0 +tRfBBXWOknBJEmtbc5Ga+LXDP4AWvZnG9Lw8MFoSq/fVnUWDAYdfuTzoLO1grKAp/kj6MprijaR4 +ewrcGoq3pyPk7YFL6lB9eqqD0T4FJ6bKLOp7DfLeoDdSRf1g0NQf/ACOydBFARbhRTrEnb5E7Yaa +XAnEvXcIrBM8DQbkTKT6x8DaGfkbSf9Ydak60PEzWeTKvtqrIVyS8IIOuCtaXasDPPbqyYV7dTNR +rLGwHggj6jVFukZB+tlaShHfSqprt6VKw+/hCkYN0H1czGiVwM40KLFWG73PjCX+hVJigy5UoqUh +P8dR3JCR2+0Yyi6fLK4vHm8iPJj2tqxOwoOn6GseDvRGvTHkcJfIjIWNk/aAP9KrojgqCVdcby3h +kIfHshTEq57URsJvGXJAATUzlkAlbTF0zOSVolekW7h30Ex44NXkjsBIgwYuTfWg36wo+ZIalF0s +J15BV3rAH9ljoDgqKY70kUFTYNHfag4+Sy98lgZ3SbRO5aCDKswFnEeVxek2LVJ1ZMMUo6fWgHaX +KYlXlHZPDxrRewZ7i9LFaI2ldaxk1Lla5q8vyitsNhHuxwJzhxmMRDVyJJ/GjGEZ6H007hBjFnSW +U8cswiFYNka6A0EPEyrVk1qGekgZ+ErjFNwZ0UCXnRz5SuCn2iBj7ahf4CLdrJejew/RBYW0PZQ6 +EyobHoGYIodCMFyh6yfhFRWtygJVoy/g383OIzbQVzfktHHcNg8Gs/agHzEjeHjTAXdd4HRUrqA6 +92zTcKouV1Lf8yrh1FlOuuxUg/la5P+Duh8Y09CIBlf+o/bR1HE3c4eF4v/zpmpI16enSAlVqgLt +65LjtMeN5FxBjtMeLzydTnohKwkvK9xcCZVNOG/1vZ0yNekTLD6jQGLVWYwp6Ie2dmZ0wFflGx4c +Hk9RSXIl2uJSvb5hvH/C7RsYqB/45bRzom9mbGB8OiUnRVtc5ygttZqdA30T/QMphM3RnR0UYzU5 +GJADiJHLPZ0LQwrtztU2z0hJWm1+j3O1rqWAMu4g50jmZP0UdF2XSGRSZZ9GJlV19bdJVQZ3nVRe +4lfBX1sIFw6xpc26k4okPSvNOeCzz7iUFd4mZ3mptI6xv2jrrvfkA/lusg/UFmn9g3nakuJWuI3Y +WFekndZNEKJNbGDSjgtQXOQsu+I+n2E6Q6rIqzQFPetO8CzpTqtWqlIUFcF3y6TKmtRK+HyV8INC +6I3vJ9z0hA++Z8pKHYszDEpCsyjTg7urK9Dd1ROhvZ+6SSCKgwWE0hGTy0gqMeEQ46BOrtESqjTQ +0yUnX60ZgBNqiYJ0xGdOQXEvUZK/5sihpJcQkg5Pk3tNZBFAwaYD2liqC8k8dcCKYu8ytHMJrAGu +vUuqZuUOFgc+YDjd4QDvyQ8ZI53Umj0OFcXm6KTW7SnVwLEqy2BvblcSStfhXzODPO/oV6F7l8rg +ziU6h3eQ9i5Dw7pEdvD2LkPlEVExB2fvUhncuQQW50HbuwztXIZ2MRO/dxnauSSt54OydxnauaTo +S8L3LkM7l8CyOWh7l6GdSzBaUvcum5qlispWOTluzuRUwyG1BIylhfVSxfBogVQ9XtMOx1IbnBfS +g8VmoIaQHZbfQgx1QQsvKxipCIZM8ktgRaUkT3qY5KGTHsF9yEx4Xc4UHC2V5GgJdzEpo2XLhIZc +TxVJO1C3w9HSgXaOqlXIItUON09riJPqw6ocJVpPgnHMVcYWZQ5s4spyRu/DDxpIcykwtJJrJ1IF +GOMqOn4ChlRiFxMsSUYIY0TVmT0QXF7pgjuN/VRD3JOjCBkjKMbDqid4BOstOEUNVhHrLWLbctCk +Qass0iJJL9KSW6KeKh0xeFJG7NBCq1tJCeMJnlsNHUoFg3lo9kWCGBaREZjZdYwcqsQ5NFenObg3 +WYP2VULn8IjdSTV1d7LPWs7c3pROy/3BIqrDtjdNWR6NqaR4jLE3GfSaIQdBnroi5KwJ3960pEll +9nRnoIi+DMb2ps9n11IK0LubPXp0DJCIhbaTag8kHXk8tMMFDS5kHEBBK0ByHnivcSrwXotPO1w1 +rkTrfCSwSORo56bgM5sU7WhPjtw5U+bljtUK2jxEQxixb4Y8MWz7ZnqNMrhvJpExNw/RNeix75uF +XOAUxxI8ISfMVwhI0E8GSeikUoB2c0kKWqkUgNbQo/pHrJMBEoqMFBKQn4okwaQNkQBbMxKigLg6 +j4uCwO5yYc7IeICELMb+abxbZvnT6Jx37JvIhTnV06FNZCXXFjJ5ppBtE5mMJI5pC5YogIiBBAUg +j7kgaQwrAmVxE9YGcu8nrAiUgSqex0An9gMqRdmPj+IxGnK0AnqDTyvBijgrHpnWqxwyJaMA2o6s +gGMFqga9OtJj9ORVhgowto3qrdSoGHRqh/UxBFIJV/R6VIA/1VNiVwZzdxC7ZVOUb3rsUwrym+41 +eiVLlg9Sznu6MuOUMWCgyOOTMa9JEyqAU8Z4i+gs0sUrY5lD8vhkTDeu4JAxwUV4laqIAkItAD0E +XcY6szXx9AZyLbEVAGRMaBEeb2pkdeU9vwINPsFjH3sbOjXsVJI7sgJ6AxiYETWerw3w1PJkTny9 +Aa1afirR/ML3GCVqd3S6EdYGi1cPrfE4dKOksNYQoQ2+Aq2eMiOXmKY1DXmUIno7ZfHNAb2DSmVg +RuZtBU8bJvXcQsVoA+WMFLUVfenZ6rgkok+dr4l8Qi58JqIWYXGwqjhnG8JHy77C0kLqryVVRdRf +axqK0WIB+diRRRnKTobaalVL+0zOQmVXs3Omx+N1dJSheBXCw2AuCjieiH2CsjH6cVHu0AoBgRVk +VH88oRW6yIEV4FlooRVB7ynT0x+Md2C6+4PRDuXUaAfaMlpLr+UgbGCiJRUYx1g3MNGqu7AW/lpD +LRsoGmS2hlynA4nPIZcmqooJYgcCCDGUuxotEaoBpInwJ9eQxQIBQsUaKU7Jki4fuQGtUJugcNar +qYEHhUW5Qbd/rX1UM5hVXN232svwxSOvAnHjkoN+J4CMHstvNyhK3HkCSmQrT8JRYo03P7Q1YZ6u +Th/wdLRaB4vrZtKHXa391fBYQb0+JL+GjpnOosAGbacx6Lc00fyWzsLsoLA0EW5zg7PGAYehJm1A +8JtA2b0dcH3apA+4oprQlgLcemgyBl+ZiAJcuWMW8GsrWiXBN7r6UMe3BuNsWnXBVxRpgzeOB/dc +W43UD5wj6QGX5BpzcCvTEvD06hTpVp1htE7mUtkUQLF1jelKtqPijG20wCZb8Kx5B+WgvDFDUQVJ +7QA/WprkSMY69Og1fGWgfrNi0ATfMxHrWFpratzdjS0Op9KqcLtdFY3WgCd0zKwb6M2xoH3PoFOj +lfDAZwt1DcboGITjWBSuwRgdg5LoXIMxOgYlsqhcgzE6BqFXQaBrcOKMAkmuRAa3Kbtc4/3ULUqJ +TAbeqRuYnpmEXzB32QcGh8e9PacO+CT6FOI/HfgP/sy2pegN1hSD2Qx+McN3vb0Sed2p432KFO+4 +RNalLfZNO4f7pocnxnt8p6bkwLeaK7wNpc6UnBTyi7kpctAOXRf4KnhfAXdEu0DbuiS6lGLwf/Mp +khlQsU6js5L1Np8K3i4DL9eAX05J0etSKlLaOnQp/fDbtUSj3cOjAzmU9tf2+KfBA8gV8O89Eq1z +4OThvoFajz2luVLSBko3mFDp6IVen60xm7MtKWqrTaM3mFM6Uox68KjZ8Jmbh4R8H34W+JvAv9YU +I2QvG1FnSkEFALZR+5w90z05KXqL0WLWSZpL5/wXAwMDAwMj0fh/MUHsVmNgHFmITQ== + + + T7FGH8Y42CKBkYwQWyoxmBBbIjCSEmKL7ZELsXse4/CB2LJ8REDsTsY4zCG2gB+GELtLMY44iC3y +SQ+xOxDjSIfYGpB8ELvHMDCYEFsnDnWI3T8YGBEgtoocihC7TzAwooDY6nKoQOx+wMCIBWLrjcgQ +m34MjHghtg6JALEpx8BIGMRWpp8UYpONgZF4iK1VBx1iE4yBcRAhtnodRIhNLQbGTwGx9SzxEJtR +DIyfDmJrW8IgNpEYGCJAbLVLAMSmEANDNIitfHFBbPIwMMSH2FoYNcQmDAPjEILY6hgFxKYKA+OQ +g9hKKQhik4SBcYhCbNWMALHpwcA4pCG2gnJCbGIwMJIAYqspC8SmBAMjaSC2stIgNhkYGEkGsVWW +hNg0YGAkJcRWXKy5GBixA2suBkaSAisvBkbyAmsuBkbyAmsuBkbyAmsuBkaSAisvBkbyAmsuBkby +AmsuBkbyAmsuBkaSAisvBkbyAmsuBkbyAmsuBkaSAisvBkbyAmsuBkaSAisvBkbyAmsuBkaSAisv +BkbyAmsuBkaSAisvBkbyAmsuBkaSAisvBkaSAisvBkbyAmsuBkaSAisvBkbyAmsuBkaSAisvBkaS +AisvBkbyAmsuBkaSAisvBkaSAisvBkbyAmsuBkaSAisvBkaSAisvBkaSAisvBkbyAmsuBkaSAisv +BkaSAisvBkaSAisvBkbyAmsuBkaSAisvBkaSAisvBkaSAisvBkaSAisvBkaSAisvBkbyAisvBkaS +AmsuBkaSAisvBkaSAisvBkaSAisvBkaSAisvBkaSAisvBkaSAisvBkaSAisvBkbyAisvBkaSAisv +BkaSAisvBkaSAisvBkYyAjusMDCSFFh5MTCSFFh5MTCSFFh5MTCSFFh5MTCSFFh5MTCSFPgaHAyM +JAVWXgyMJAVWXgyMZMR/6RC7ORgYGEKBlRcDI0mBlRcDI0mBlRcDI0nx3zCI3SIMDAxBwMqLgZGM +CNdcrLwYGEkBrLwYGEkKVuXF+ouBcegDKy8GRjKCS3Ox8mJgHOLAyouBkaTgUV6svxgYhzKw8mJg +JCP4NRcrLwbGIYuIyov1FwPj0ARWXgyMZIQQzcXKi4FxCEKg8mL9xcA41ICVFwMjGSFcc7H+YmAc +UsDKi4GRjIhWc7HyYmAcIohBebH+YmAcCsDKi4GRjIhNc7H+YmCIDqy8GBjJiHg0F+svBoaIwMqL +gZGMiF9zsf5iYIiCRCkv1l8MjJ8SCdRcrLwYGD8lEqu8WH8xMH4aJFxzsf5iYPwEOEiai5UXA+Ng +4+ApL9ZfDIyDh4OquVh/MTAOEn4CzcX6i4GRcPxkmouVFwMjsfgplRfrLwZGovATay7WXwyMhEAU +zcX6i4ERJ0TUXKy/GBjxQGzdhRCbAwyM5IPYWhuC2ExgYCQTxNZXJsTmAwMjOSC2prJDbFYwMA51 +iK2jfBCbGwyMQxdia2dkiM0QBsahCLH1UijE5gkD49CC2BoZHcRmCwPjUIHYuhgLxOYMA0N8iK2F +sUNs5jAwxITY+pcAiE0hBsZPDbF1LpEQm0sMjJ8OYmtb4iE2oxgYPwXE1rODCLGpxcA4WBBbt34K +iM0xBkbiIbZW/aQQm2wMjIRBbGUSB2KzjoERF8RWIPEhdg9gYEQNsZXm0ILYvYGBIRRi68ohCrG7 +BQODD2LrR3JA7F7CwKBBbIVIPojdYxgYWG3jhdgdiHHEQWyRPwwhdpdiHOYQW8CPFIjdzxiHD8SW +5SMdYvc/RvJBbJnFiACxBQTj0ILY8oiBcVgBKywGxuEErKcYGBgYGBgYhwgSu6zAOMzwszCI3aLk +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 + + + diff --git a/shell_integration/icons/Sidebar/sidebar_icon_osx_18.png b/shell_integration/icons/Sidebar/sidebar_icon_osx_18.png new file mode 100644 index 0000000000000000000000000000000000000000..b9901704b8bdbb8e742fe5e62f735f5af0a00127 GIT binary patch literal 1419 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+#=yX+cyixCAV;#qHKHUqKdq!Zu_%?nF(p4K zRlzeiF+DXXH8G{K@MNkD0|RqLW=KRygs+cPa(=E}B1ny1MQ#C5Hv@x>eMLcHa&~Ho zLQ-maW}dCm``!DM6f#q6mBLMZ4SWlnQ!_F>s)|yBtNcQetFn_VQKW@M8yFfYn3?Gr znwXlI8R{q)85kPr8vv1+uAzyQshO3LxdId@0c|TvNwW%aaf8|g1^l#~=$>Fbx5 zm+O@q>*W`v>l<2HT7t|lGSUUA&@HaaD@m--%_~-hnc$LIoLrPyP?DLSrvNfBF)6>a z#8wIDQivCF3w(Xy2Imz+0}2>q`W1-<`i6Q2`nkCve}PpOmjtCEoPkw!aY$uBs(w&v zaeir0GB7^Ulwq2IVTa!$kV2qqto(~IfsvA!pOElhxN1~4NRvRH8Qm@akX$XGc zP;d@5Q_%2DOwP;$321^M2;yIt)S}F?)D*X({9FZa2wP=ha{)o0L-eMQ6KeWE$LNES z2U2o@2?5g}hzU>pKn^_nq~-zhOc5}1C|&am0p`!0o-U3d6}OW9{Qqyy%wtgh_q_I& z-v>VC^O>df_M9+cU}Sl|Vam1d|J(%`ITVgf+9hYed&ItR#@elF^BXx&1WcPc?Z@$h z2hV98IRCr;&==SLj7%IyT~gK_b+BRYuy5KD%bqmh1$$Z9Hh!HqIXP0-p0)9;zqcp3 z;`={k`!-1i#umi}-i8?7 zA<@Bbf-jx*k+?$*Lq~IB(}n|VjS>p~SdTb4$gmU{h>NT1Zz`SKP+_=B^!~ou|13*t z4ssqibuU+1?zxMcZDrgXPd~R$o2RsBFiT5oH}@^mVm9cLtg)4mkdTy=^yw{;nDh3G z@k((P21d6jo<|te*t8g*crY@$D%kNHIplDrQAbf<`|F$Y^Y+GH4w{@;wAX~Q6O;BdpTN^61Y36FZ4kDoii{4rfD?b-kH zaeMmM++G${0*# literal 0 HcmV?d00001 diff --git a/shell_integration/icons/Sidebar/sidebar_icon_osx_hover_18.png b/shell_integration/icons/Sidebar/sidebar_icon_osx_hover_18.png new file mode 100644 index 0000000000000000000000000000000000000000..14aa06b2c78fc5b559a3365e3cd1807eea3e9333 GIT binary patch literal 1371 zcmbVMZ%i9y7{9g~Ay}ktCacqp+YJ*nw0GCiqrK44Ki5jL6-gmkP1JC`zNHuFUA;Tj zg2aJrOGlLPVTmk67qcb$!OTd^G&(8Uh)U2fjTy#hkWKxtx!{HdB$V?#py&rO6EAnU z_j%su_j~@l&-0#aYJ9r9Ywi)K?Df=p-K*cvYl z*P0r~&@~gK-HojW6%99`eo+Fb!)mv11WBS4WhHAI6h&5}HiER_1bitASwlN0+E$Bh zJQ(yQ#S?Ud32yj;k{e4ZN}9&;OeSN^*sY?}hLbLrOXINFEYQLtcL@rcwFvV5A_D_t zPU6!FFAAu}$i~D@#f`y8*HcKP!{JS0LEb17EE%3<(>Q4*@Kj36Yt33#BH*7ewzQU8 zy3zoT09ovmICvh3{Y5aW-TfVDhAx>5@OsK+_A>_I8E3H%I+eA zqz^8fB-jQ3 z;*WrMP!dz-h8S;4_WRh1s@5BfgzkNlNu9xGuZ-ua4JJ?e!3P?4f7ZH+Kc$ehZ2>g4;#q(FWvPZPPDICyj^rW} zWfNjw)-tLey2=j3Ji@UcYx*KnIktKuK=C_Fc<@7C@5r5^U(s5L@GX> zxoF@kq)UcF*H!NAy|0bk{q3eS-95?WZ%b|* yK(Fg#yWV;8M^BF_H`N<0$$1BzhKVEn__FQ?{Oh05ryRrDbr%XWG8cTUulx-FIpq%k literal 0 HcmV?d00001 diff --git a/shell_integration/icons/Sidebar/sidebar_icon_win_18.png b/shell_integration/icons/Sidebar/sidebar_icon_win_18.png new file mode 100644 index 0000000000000000000000000000000000000000..f07056bbad2a6ebf6f42bda92fb525ffad393c5d GIT binary patch literal 1396 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+#=yX+cyixCAV;#qHKHUqKdq!Zu_%?nF(p4K zRlzeiF+DXXH8G{K@MNkD0|RqLW=KRygs+cPa(=E}B1ny1MQ#C5Hv@x>eMLcHa&~Ho zLQ-maW}dCm``!DM6f#q6mBLMZ4SWlnQ!_F>s)|yBtNcQetFn_VQKW@M8yFfYn3?Gr znwXlI8R{q)85kPr8vv1+uAzyQshO3LxdId@0c|TvNwW%aaf8|g1^l#~=$>Fbx5 zm+O@q>*W`v>l<2HT7t|lGSUUA&@HaaD@m--%_~-hnc$LIoLrPyP?DLSrvNfBF)6>a z#8wIDQivCF3w(Xy2Imz+0}2>q`W1-<`i6Q2`nkCve}PpOmjtCEoPkw!aY$uBs(w&v zaeir0GB7^Ulwq2IVTa!$kV2qqto(~IfsvA!pOElhxN1~4NRvRH8QoZaJ6tWGc zP;d@5Q_%2DOwP;$321^M2;yIt)S}F?)D*X({9FZa2wP=ha{)o0L-eMQ6KeWE$LNES z2U2o@2?5g}hzU>pKn^_nq~-zhOc5}11YS(H1Ln^~o-U3d6}OW9{QqyyEOX-3E)K?z z|L5fSB+Gd@;-PnLp^3*S@SO0%h?2KHh za^&A`_T_)sITS>MCvFvE{wSmHkK+E8AdVal2UO2Q_f0sA5srocW z{xDAi!y$nKY!2(%HU@?;zuocS>1%W639}v79n2PymeyttyvE2P5ZE46Wk z&ZR6_|25J(c4lLD_vC|zkG3&N9OvPE8p-41)59a^IFF|?^Ww}a+)ND&%BNJ47=)Rp zG88RoXiyT6XG=;{c;+z8!0tC%GBFuCP6_Q@F;IB)($aU56Thj?)bhY#ok$7R*P=n)QD% Yavhi;o$=rcFQ^>!boFyt=akR{0F|EF)c^nh literal 0 HcmV?d00001 diff --git a/shell_integration/icons/Sidebar/sidebar_icon_win_hover_18.png b/shell_integration/icons/Sidebar/sidebar_icon_win_hover_18.png new file mode 100644 index 0000000000000000000000000000000000000000..d2a09832f291ce769d545b7e53b7a9698968c9d2 GIT binary patch literal 1228 zcmbVMPiWg#7=O0A)JYuXZY{LkAa4pS*_bUo%a&~|uI*UPB06WOJg(3f>hNuIzCtm1K1&rpx9 z{Y*hs$xtT~C8lH+a7`VYvGB;uP(_}Zkkbm4JqG(+o)Bo*k)W$h>Nf9Ys7+p;tUWbN z!A%oqB13HjHCh^m1;fHH5oIGXgAnAnD2gXI4!sLw42sbVdASIR^9hcRCE@l%5pR|< z#+QYGZC^ynP&LOfd77@*>(M$JHLP(OrPFDTBNmGgi-Z7Pp(2|fKwK)Bjw4P$1)-2^VMX0`BwfZWzbf&& zjg7q&%NHyxIfhj+jLB994A%_Duxo}13nLutElIMfdy2Qc1KP@0z?S+MRt79XgPRrR z)mwDH=@}Y0#N$&Y8jXPj< zFI@7i%;x$!8yAM@An>2<{d%zL`1gk|1|Kuw+26kU@pj6x&4E!~? zwtW8DdiL4!d*ROckpGAwcFcbsXx#IyK3eRaPy*n|?Vk1rmm^K@ei4g9!j=9{=3f9^ C>WeJ^ literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/1024x1024/._Error_1024.png b/shell_integration/icons/__MACOSX/1024x1024/._Error_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/1024x1024/._Error_Shared_1024.png b/shell_integration/icons/__MACOSX/1024x1024/._Error_Shared_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/1024x1024/._OK_1024.png b/shell_integration/icons/__MACOSX/1024x1024/._OK_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/1024x1024/._OK_Shared_1024.png b/shell_integration/icons/__MACOSX/1024x1024/._OK_Shared_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/1024x1024/._Sync_1024.png b/shell_integration/icons/__MACOSX/1024x1024/._Sync_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/1024x1024/._Sync_Shared_1024.png b/shell_integration/icons/__MACOSX/1024x1024/._Sync_Shared_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/1024x1024/._Warning_1024.png b/shell_integration/icons/__MACOSX/1024x1024/._Warning_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/1024x1024/._Warning_Shared_1024.png b/shell_integration/icons/__MACOSX/1024x1024/._Warning_Shared_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/128x128/._Error_128.png b/shell_integration/icons/__MACOSX/128x128/._Error_128.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/128x128/._Error_Shared_128.png b/shell_integration/icons/__MACOSX/128x128/._Error_Shared_128.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/128x128/._OK_128.png b/shell_integration/icons/__MACOSX/128x128/._OK_128.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/128x128/._OK_Shared_128.png b/shell_integration/icons/__MACOSX/128x128/._OK_Shared_128.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/128x128/._Sync_128.png b/shell_integration/icons/__MACOSX/128x128/._Sync_128.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/128x128/._Sync_Shared_128.png b/shell_integration/icons/__MACOSX/128x128/._Sync_Shared_128.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/128x128/._Warning_128.png b/shell_integration/icons/__MACOSX/128x128/._Warning_128.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/128x128/._Warning_Shared_128.png b/shell_integration/icons/__MACOSX/128x128/._Warning_Shared_128.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/16x16/._Error_16.png b/shell_integration/icons/__MACOSX/16x16/._Error_16.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/16x16/._Error_Shared_16.png b/shell_integration/icons/__MACOSX/16x16/._Error_Shared_16.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/16x16/._OK_16.png b/shell_integration/icons/__MACOSX/16x16/._OK_16.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/16x16/._OK_Shared_16.png b/shell_integration/icons/__MACOSX/16x16/._OK_Shared_16.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/16x16/._Sync_16.png b/shell_integration/icons/__MACOSX/16x16/._Sync_16.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/16x16/._Sync_Shared_16.png b/shell_integration/icons/__MACOSX/16x16/._Sync_Shared_16.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/16x16/._Warning_16.png b/shell_integration/icons/__MACOSX/16x16/._Warning_16.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/16x16/._Warning_Shared_16.png b/shell_integration/icons/__MACOSX/16x16/._Warning_Shared_16.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/256x256/._Error_256.png b/shell_integration/icons/__MACOSX/256x256/._Error_256.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/256x256/._Error_Shared_256.png b/shell_integration/icons/__MACOSX/256x256/._Error_Shared_256.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/256x256/._OK_256.png b/shell_integration/icons/__MACOSX/256x256/._OK_256.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/256x256/._OK_Shared_256.png b/shell_integration/icons/__MACOSX/256x256/._OK_Shared_256.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/256x256/._Sync_256.png b/shell_integration/icons/__MACOSX/256x256/._Sync_256.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/256x256/._Sync_Shared_256.png b/shell_integration/icons/__MACOSX/256x256/._Sync_Shared_256.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/256x256/._Warning_256.png b/shell_integration/icons/__MACOSX/256x256/._Warning_256.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/256x256/._Warning_Shared_256.png b/shell_integration/icons/__MACOSX/256x256/._Warning_Shared_256.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/32x32/._Error_32.png b/shell_integration/icons/__MACOSX/32x32/._Error_32.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/32x32/._Error_Shared_32.png b/shell_integration/icons/__MACOSX/32x32/._Error_Shared_32.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/32x32/._OK_32.png b/shell_integration/icons/__MACOSX/32x32/._OK_32.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/32x32/._OK_Shared_32.png b/shell_integration/icons/__MACOSX/32x32/._OK_Shared_32.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/32x32/._Sync_32.png b/shell_integration/icons/__MACOSX/32x32/._Sync_32.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/32x32/._Sync_Shared_32.png b/shell_integration/icons/__MACOSX/32x32/._Sync_Shared_32.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/32x32/._Warning_32.png b/shell_integration/icons/__MACOSX/32x32/._Warning_32.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/32x32/._Warning_Shared_32.png b/shell_integration/icons/__MACOSX/32x32/._Warning_Shared_32.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/48x48/._Error_48.png b/shell_integration/icons/__MACOSX/48x48/._Error_48.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/48x48/._Error_Shared_48.png b/shell_integration/icons/__MACOSX/48x48/._Error_Shared_48.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/48x48/._OK_48.png b/shell_integration/icons/__MACOSX/48x48/._OK_48.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/48x48/._OK_Shared_48.png b/shell_integration/icons/__MACOSX/48x48/._OK_Shared_48.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/48x48/._Sync_48.png b/shell_integration/icons/__MACOSX/48x48/._Sync_48.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/48x48/._Sync_Shared_48.png b/shell_integration/icons/__MACOSX/48x48/._Sync_Shared_48.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/48x48/._Warning_48.png b/shell_integration/icons/__MACOSX/48x48/._Warning_48.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/48x48/._Warning_Shared_48.png b/shell_integration/icons/__MACOSX/48x48/._Warning_Shared_48.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/512x512/._Error_512.png b/shell_integration/icons/__MACOSX/512x512/._Error_512.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/512x512/._Error_Shared_512.png b/shell_integration/icons/__MACOSX/512x512/._Error_Shared_512.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/512x512/._OK_512.png b/shell_integration/icons/__MACOSX/512x512/._OK_512.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/512x512/._OK_Shared_512.png b/shell_integration/icons/__MACOSX/512x512/._OK_Shared_512.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/512x512/._Sync_512.png b/shell_integration/icons/__MACOSX/512x512/._Sync_512.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/512x512/._Sync_Shared_512.png b/shell_integration/icons/__MACOSX/512x512/._Sync_Shared_512.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/512x512/._Warning_512.png b/shell_integration/icons/__MACOSX/512x512/._Warning_512.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/512x512/._Warning_Shared_512.png b/shell_integration/icons/__MACOSX/512x512/._Warning_Shared_512.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27464070bc4f901713a0e68dc884c669450d09 GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5RmET4#Es9ARad07!nc$ M6$j}6>q1ut0Icl^H~;_u literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/64x64/._Error_64.png b/shell_integration/icons/__MACOSX/64x64/._Error_64.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/64x64/._Error_Shared_64.png b/shell_integration/icons/__MACOSX/64x64/._Error_Shared_64.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/64x64/._OK_64.png b/shell_integration/icons/__MACOSX/64x64/._OK_64.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/64x64/._OK_Shared_64.png b/shell_integration/icons/__MACOSX/64x64/._OK_Shared_64.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/64x64/._Sync_64.png b/shell_integration/icons/__MACOSX/64x64/._Sync_64.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/64x64/._Sync_Shared_64.png b/shell_integration/icons/__MACOSX/64x64/._Sync_Shared_64.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/64x64/._Warning_64.png b/shell_integration/icons/__MACOSX/64x64/._Warning_64.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/64x64/._Warning_Shared_64.png b/shell_integration/icons/__MACOSX/64x64/._Warning_Shared_64.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/72x72/._Error_72.png b/shell_integration/icons/__MACOSX/72x72/._Error_72.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/72x72/._Error_Shared_72.png b/shell_integration/icons/__MACOSX/72x72/._Error_Shared_72.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/72x72/._OK_72.png b/shell_integration/icons/__MACOSX/72x72/._OK_72.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/72x72/._OK_Shared_72.png b/shell_integration/icons/__MACOSX/72x72/._OK_Shared_72.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/72x72/._Sync_72.png b/shell_integration/icons/__MACOSX/72x72/._Sync_72.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/72x72/._Sync_Shared_72.png b/shell_integration/icons/__MACOSX/72x72/._Sync_Shared_72.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/72x72/._Warning_72.png b/shell_integration/icons/__MACOSX/72x72/._Warning_72.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/72x72/._Warning_Shared_72.png b/shell_integration/icons/__MACOSX/72x72/._Warning_Shared_72.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/SVG/._Error.svg b/shell_integration/icons/__MACOSX/SVG/._Error.svg new file mode 100644 index 0000000000000000000000000000000000000000..512908ea53d55497cd382afcefc773bf700658fc GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6RP+XR-;20EQ%D@8RVFQjK OAwf`akPfgebaeo!%n2v} literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/SVG/._Error_Shared.svg b/shell_integration/icons/__MACOSX/SVG/._Error_Shared.svg new file mode 100644 index 0000000000000000000000000000000000000000..512908ea53d55497cd382afcefc773bf700658fc GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6RP+XR-;20EQ%D@8RVFQjK OAwf`akPfgebaeo!%n2v} literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/SVG/._OK.svg b/shell_integration/icons/__MACOSX/SVG/._OK.svg new file mode 100644 index 0000000000000000000000000000000000000000..512908ea53d55497cd382afcefc773bf700658fc GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6RP+XR-;20EQ%D@8RVFQjK OAwf`akPfgebaeo!%n2v} literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/SVG/._OK_Shared.svg b/shell_integration/icons/__MACOSX/SVG/._OK_Shared.svg new file mode 100644 index 0000000000000000000000000000000000000000..512908ea53d55497cd382afcefc773bf700658fc GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6RP+XR-;20EQ%D@8RVFQjK OAwf`akPfgebaeo!%n2v} literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/SVG/._Sync.svg b/shell_integration/icons/__MACOSX/SVG/._Sync.svg new file mode 100644 index 0000000000000000000000000000000000000000..512908ea53d55497cd382afcefc773bf700658fc GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6RP+XR-;20EQ%D@8RVFQjK OAwf`akPfgebaeo!%n2v} literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/SVG/._Sync_Shared.svg b/shell_integration/icons/__MACOSX/SVG/._Sync_Shared.svg new file mode 100644 index 0000000000000000000000000000000000000000..3bca8c22294b8852b3bc7da875e64498bf7ed9cd GIT binary patch literal 152 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aT*YV_%nbQ3>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6RP+XR-;20EQ%D@8RVFQjK OAwf`akPfgebaeo!%n2v} literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/SVG/._Warning_Shared.svg b/shell_integration/icons/__MACOSX/SVG/._Warning_Shared.svg new file mode 100644 index 0000000000000000000000000000000000000000..512908ea53d55497cd382afcefc773bf700658fc GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6RP+XR-;20EQ%D@8RVFQjK OAwf`akPfgebaeo!%n2v} literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/Sidebar/._sidebar_icon_osx_18.png b/shell_integration/icons/__MACOSX/Sidebar/._sidebar_icon_osx_18.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/Sidebar/._sidebar_icon_osx_hover_18.png b/shell_integration/icons/__MACOSX/Sidebar/._sidebar_icon_osx_hover_18.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/Sidebar/._sidebar_icon_win_18.png b/shell_integration/icons/__MACOSX/Sidebar/._sidebar_icon_win_18.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 diff --git a/shell_integration/icons/__MACOSX/Sidebar/._sidebar_icon_win_hover_18.png b/shell_integration/icons/__MACOSX/Sidebar/._sidebar_icon_win_hover_18.png new file mode 100644 index 0000000000000000000000000000000000000000..832a8bd3562558f296af71cf94cde0d3258e390e GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R5a8#YX5r-N%fJHSVFQjK OAwf`akPfgebaeon3JCWA literal 0 HcmV?d00001 From 5642e40bc8a16c1fe46f60a88786a26b60c13b36 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 9 Jul 2014 17:59:55 +0200 Subject: [PATCH 048/133] Mac Overlays: Add icon containers 1.st part --- shell_integration/icons/icns/ok.icns | Bin 0 -> 57059 bytes shell_integration/icons/icns/sync.icns | Bin 0 -> 63480 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 shell_integration/icons/icns/ok.icns create mode 100644 shell_integration/icons/icns/sync.icns diff --git a/shell_integration/icons/icns/ok.icns b/shell_integration/icons/icns/ok.icns new file mode 100644 index 0000000000000000000000000000000000000000..6d51f4c653d82b67e3c0e48247e9eb707630c181 GIT binary patch literal 57059 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 z zn6@>=2p~)8kxu};#DiWuH&>80z7g}w5YGVYOy-K0`?OZQ39`9hqm|)RPjZr2;n}do zfrMfpt}*v?V7I20O&f$t+smLz_gw(@$;ZrOUm&0Jx&%TbzXzz+Z3xEWgLr6`YsXM0 z=o-6XnIPLh7fPp=onCVgz`W$jjifDTGQ2|94=OS>U#Sa>*#p|hfPRnPC(&-?OE$3? zZMR5)Jd(9azXLfPp%;MwL>F4zjJ|==Ykeuck=g(Va*sie}8v4 zx}@uoJ^PH9-C4*cgynv(9Rb#>Rt!h0T+m4UOqKAoF1x%GlqLs61PSr73IHde)8((YAuwV5uy?B=jjFT&~DiIpOKNHFYI5|C%-pr`nq6c*`2HTW|S z^1{G^X%k;mC$1QAL8<*DjJ}C3#hVeATUFyE^aE9R_(?Zwsm-bLofpY0w>ZodVF;~b z{SI5eF>f~wp7Q4AgJRi`5Hsw7;q_o)fD1*7sgrSxIiRB%RUCJE|9d^Y>4)8O&1M~6JsmhV|{6dPR+c0$wCcI>vmsx7m{}A jv~2}sMsrY))49TlLJI&}MctJfy`7>eU&wi?-V*=W_m_VJ literal 0 HcmV?d00001 diff --git a/shell_integration/icons/icns/sync.icns b/shell_integration/icons/icns/sync.icns new file mode 100644 index 0000000000000000000000000000000000000000..98197ee7c867160ca42a2fd6e14245be9d11ae19 GIT binary patch literal 63480 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 Date: Wed, 9 Jul 2014 18:00:26 +0200 Subject: [PATCH 049/133] Mac overlays: Fix allocations, use icns, correct query type. --- .../LiferayNativityFinder/ContentManager.h | 2 +- .../LiferayNativityFinder/ContentManager.m | 33 +++++++----- .../IconOverlayHandlers.m | 33 +++++++++--- .../LiferayNativityFinder/RequestManager.h | 4 +- .../LiferayNativityFinder/RequestManager.m | 52 ++++++++++--------- shell_integration/MacOSX/deploy.sh | 2 +- 6 files changed, 78 insertions(+), 48 deletions(-) diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h index 2e167f7be..454672d8a 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h @@ -23,7 +23,7 @@ + (ContentManager*)sharedInstance; - (void)enableFileIcons:(BOOL)enable; -- (NSNumber*)iconByPath:(NSString*)path; +- (NSNumber*)iconByPath:(NSString*)path isDirectory:(NSNumber*)isDir; - (void)removeAllIcons; - (void)removeIcons:(NSArray*)paths; - (void)setIcons:(NSDictionary*)iconDictionary filterByFolder:(NSString*)filterFolder; diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m index 6427f2b48..3a4ae1a51 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m @@ -32,11 +32,11 @@ static ContentManager* sharedInstance = nil; _fileNamesCache = [[NSMutableDictionary alloc] init]; _fileIconsEnabled = TRUE; - [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/128x128/OK_128.png"]; - [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/128x128/Sync_128.png"]; - [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/128x128/Warning_128.png"]; - [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/128x128/Error_128.png"]; - [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/128x128/OK_Shared_128.png"]; + [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/icns/ok.icns"]; + [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/icns/sync.icns"]; + [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/icns/sync.icns"]; + [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/icns/sync.icns"]; + [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/icns/sync.icns"]; } @@ -97,7 +97,7 @@ static ContentManager* sharedInstance = nil; [self repaintAllWindows]; } -- (NSNumber*)iconByPath:(NSString*)path +- (NSNumber*)iconByPath:(NSString*)path isDirectory:(NSNumber*)isDir { if (!_fileIconsEnabled) { @@ -105,21 +105,26 @@ static ContentManager* sharedInstance = nil; // return nil; } + if( path == nil ) { + NSNumber *res = [NSNumber numberWithInt:0]; + return res; + } NSString* normalizedPath = [path decomposedStringWithCanonicalMapping]; - + NSNumber* result = [_fileNamesCache objectForKey:normalizedPath]; NSLog(@"XXXXXXX Asking for icon for path %@ = %d",path, [result intValue]); - if( result != nil ) { - NSLog(@"Found icon index %d", [result intValue]); - // there is a proper icon index - } else { - NSLog(@"Need to query for icon"); + if( result == nil ) { // start the async call - NSNumber *minusOne = -1; + NSNumber* minusOne = [[NSNumber alloc] initWithInt:-1]; [_fileNamesCache setObject:minusOne forKey:normalizedPath]; - [[RequestManager sharedInstance] askForIcon:normalizedPath]; + [[RequestManager sharedInstance] askForIcon:normalizedPath isDirectory:isDir]; result = [NSNumber numberWithInt:0]; + } else if( [result intValue] == -1 ) { + // the socket call is underways. + result = [NSNumber numberWithInt:0]; + } else { + // there is a proper icon index } NSLog(@"iconByPath return value %d", [result intValue]); diff --git a/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.m b/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.m index 6ff08a9ae..7f39eab90 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.m @@ -26,9 +26,16 @@ NSURL* url = [[NSClassFromString(@"FINode") nodeFromNodeRef:[(TIconAndTextCell*)self node]->fNodeRef] previewItemURL]; - NSNumber* imageIndex = [[ContentManager sharedInstance] iconByPath:[url path]]; + NSError *error; + NSNumber *isDir = nil; + if (! [url getResourceValue:&isDir forKey:NSURLIsDirectoryKey error:&error]) { + // handle error + [isDir initWithBool:NO]; // lets assume its a file. + } + + NSNumber* imageIndex = [[ContentManager sharedInstance] iconByPath:[url path] isDirectory:isDir]; - NSLog(@"The icon index is %d", [imageIndex intValue]); + NSLog(@"1 The icon index is %d", [imageIndex intValue]); if ([imageIndex intValue] > 0) { NSImage* image = [[IconCache sharedInstance] getIcon:imageIndex]; @@ -63,8 +70,15 @@ NSURL* url = [node previewItemURL]; - NSNumber* imageIndex = [[ContentManager sharedInstance] iconByPath:[url path]]; - NSLog(@"The icon index is %d", [imageIndex intValue]); + NSError *error; + NSNumber *isDir = nil; + if (! [url getResourceValue:&isDir forKey:NSURLIsDirectoryKey error:&error]) { + // handle error + [isDir initWithBool:NO]; // lets assume its a file. + } + + NSNumber* imageIndex = [[ContentManager sharedInstance] iconByPath:[url path] isDirectory:isDir]; + NSLog(@"2 The icon index is %d", [imageIndex intValue]); if ([imageIndex intValue] > 0) { @@ -113,6 +127,13 @@ NSURL *url; + NSError *error; + NSNumber *isDir = nil; + if (! [url getResourceValue:&isDir forKey:NSURLIsDirectoryKey error:&error]) { + // handle error + [isDir initWithBool:NO]; // lets assume its a file. + } + if ([fiNode respondsToSelector:@selector(previewItemURL)]) { url = [fiNode previewItemURL]; @@ -121,8 +142,8 @@ return; } - NSNumber* imageIndex = [[ContentManager sharedInstance] iconByPath:[url path]]; - NSLog(@"The icon index is %d", [imageIndex intValue]); + NSNumber* imageIndex = [[ContentManager sharedInstance] iconByPath:[url path] isDirectory:isDir]; + NSLog(@"3 The icon index is %d", [imageIndex intValue]); if ([imageIndex intValue] > 0) { diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h index 6db388b0f..6f1f99256 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h @@ -39,8 +39,8 @@ + (RequestManager*)sharedInstance; -- (void)askOnSocket:(NSString*)path; -- (void)askForIcon:(NSString*)path; +- (void)askOnSocket:(NSString*)path query:(NSString*)verb; +- (void)askForIcon:(NSString*)path isDirectory:(NSNumber*)isDir; - (void)menuItemClicked:(NSDictionary*)actionDictionary; - (NSArray*)menuItemsForFiles:(NSArray*)files; - (void)start; diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m index e99ecb5a6..05afb6856 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m @@ -14,7 +14,6 @@ #import "ContentManager.h" #import "IconCache.h" -#import "JSONKit.h" #import "RequestManager.h" #define READ_TAG 2422 @@ -46,12 +45,6 @@ static RequestManager* sharedInstance = nil; [_socket disconnect]; [_socket release]; - // dispatch_release(_listenQueue); - - // [_callbackMsgs release]; - - // [_filterFolder release]; - sharedInstance = nil; [super dealloc]; @@ -71,10 +64,12 @@ static RequestManager* sharedInstance = nil; } -- (void)askOnSocket:(NSString*)path +- (void)askOnSocket:(NSString*)path query:(NSString*)verb { - NSLog(@"XX on Socket for %@", path); - NSData* data = [[NSString stringWithFormat:@"RETRIEVE_FILE_STATUS:%@\n", path] dataUsingEncoding:NSUTF8StringEncoding]; + NSString *query = [NSString stringWithFormat:@"%@:%@\n", verb,path]; + NSLog(@"Query: %@", query); + + NSData* data = [query dataUsingEncoding:NSUTF8StringEncoding]; [_socket writeData:data withTimeout:5 tag:4711]; NSData* stop = [@"\n" dataUsingEncoding:NSUTF8StringEncoding]; @@ -82,10 +77,15 @@ static RequestManager* sharedInstance = nil; } -- (void)askForIcon:(NSString*)path +- (void)askForIcon:(NSString*)path isDirectory:(NSNumber*)isDir { + NSString *verb = @"RETRIEVE_FILE_STATUS"; if( _isConnected ) { - [self askOnSocket:path]; + if( [isDir boolValue] ) { + verb = @"RETRIEVE_FOLDER_STATUS"; + } + + [self askOnSocket:path query:verb]; } else { [_requestQueue addObject:path]; } @@ -112,19 +112,23 @@ static RequestManager* sharedInstance = nil; { if( tag == READ_TAG) { - NSString* a1 = [NSString stringWithUTF8String:[data bytes]]; - - NSString *answer = [a1 stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]]; - NSLog(@"READ from socket (%ld): AA%@OO", tag, answer); - - if( answer != nil ) { - NSArray *chunks = [answer componentsSeparatedByString: @":"]; - // FIXME: Check if chunks[0] equals "STATUS" - if( [chunks count] > 0 && [[chunks objectAtIndex:0] isEqualToString:@"STATUS"] ) { - ContentManager *contentman = [ContentManager sharedInstance]; - [contentman setResultForPath:[chunks objectAtIndex:2] result:[chunks objectAtIndex:1]]; + NSString *answer = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; + + // Cut the trailing newline. + if ([answer length] > 0) { + answer = [answer substringToIndex:[answer length] - 1]; + } + + NSLog(@"READ from socket (%ld): <%@>", tag, answer); + + if( answer != nil ) { + NSArray *chunks = [answer componentsSeparatedByString: @":"]; + + if( [chunks count] > 0 && [[chunks objectAtIndex:0] isEqualToString:@"STATUS"] ) { + ContentManager *contentman = [ContentManager sharedInstance]; + [contentman setResultForPath:[chunks objectAtIndex:2] result:[chunks objectAtIndex:1]]; + } } - } } } diff --git a/shell_integration/MacOSX/deploy.sh b/shell_integration/MacOSX/deploy.sh index 3476901bb..13bbbce2c 100644 --- a/shell_integration/MacOSX/deploy.sh +++ b/shell_integration/MacOSX/deploy.sh @@ -2,7 +2,7 @@ # osascript $HOME/owncloud.com/mirall/shell_integration/MacOSX/unload.scpt sudo rm -rf /Library/ScriptingAdditions/LiferayNativity.osax -sudo cp -r $HOME/Library/Developer/Xcode/DerivedData/LiferayNativity-flulyntyemvwtcgiriaddqfewwvc/Build/Products/Debug/LiferayNativity.osax /Library/ScriptingAdditions/ +sudo cp -r $HOME/Library/Developer/Xcode/DerivedData/LiferayNativity-gvtginoclfyisuagangtxsfbuztw/Build/Products/Debug/LiferayNativity.osax /Library/ScriptingAdditions/ sudo killall Finder sleep 1 From 86acdf69d993b3055dceb27e8f7a625755f68d15 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 11 Jul 2014 11:31:04 +0200 Subject: [PATCH 050/133] MocOverlays: Handle the UPDATE_VIEW socket notification correctly. With UPDATE_VIEW the plugin gets notified to update the overlays. It invalidates the entries in the file icon cache for the path that comes with the UPDATE_VIEW and than refreshes the view. --- .../LiferayNativityFinder/ContentManager.h | 1 + .../LiferayNativityFinder/ContentManager.m | 29 +++++++- .../IconOverlayHandlers.m | 2 +- .../LiferayNativityFinder/RequestManager.m | 72 ++++++++++--------- 4 files changed, 68 insertions(+), 36 deletions(-) diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h index 454672d8a..878a3df1c 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h @@ -28,5 +28,6 @@ - (void)removeIcons:(NSArray*)paths; - (void)setIcons:(NSDictionary*)iconDictionary filterByFolder:(NSString*)filterFolder; - (void)setResultForPath:(NSString*)path result:(NSString*)result; +- (void)clearFileNameCacheForPath:(NSString*)path; @end \ No newline at end of file diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m index 3a4ae1a51..f05f929d2 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m @@ -77,7 +77,7 @@ static ContentManager* sharedInstance = nil; int res = 0; // NOP if( [result isEqualToString:@"OK"] ) { res = 1; - } else if( [result isEqualToString:@"NEED_SYNC"]) { + } else if( [result isEqualToString:@"SYNC"] || [result isEqualToString:@"NEW"] ) { res = 2; } else if( [result isEqualToString:@"IGNORE"]) { res = 3; @@ -112,7 +112,7 @@ static ContentManager* sharedInstance = nil; NSString* normalizedPath = [path decomposedStringWithCanonicalMapping]; NSNumber* result = [_fileNamesCache objectForKey:normalizedPath]; - NSLog(@"XXXXXXX Asking for icon for path %@ = %d",path, [result intValue]); + // NSLog(@"XXXXXXX Asking for icon for path %@ = %d",path, [result intValue]); if( result == nil ) { // start the async call @@ -126,11 +126,34 @@ static ContentManager* sharedInstance = nil; } else { // there is a proper icon index } - NSLog(@"iconByPath return value %d", [result intValue]); + // NSLog(@"iconByPath return value %d", [result intValue]); return result; } +// called as a result of an UPDATE_VIEW message. +// it clears the entries from the hash to make it call again home to mirall. +- (void)clearFileNameCacheForPath:(NSString*)path +{ + NSMutableArray *keysToDelete = [NSMutableArray array]; + NSLog(@"Clearing the cache for %@", path); + + for (id path in [_fileNamesCache keyEnumerator]) { + //do stuff with obj + if ( [path hasPrefix:path] ) { + [keysToDelete addObject:path]; + } + } + + if( [keysToDelete count] > 0 ) { + NSLog( @"Entries to delete: %d", [keysToDelete count]); + [_fileNamesCache removeObjectsForKeys:keysToDelete]; + + [self repaintAllWindows]; + + } +} + - (void)removeAllIcons { [_fileNamesCache removeAllObjects]; diff --git a/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.m b/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.m index 7f39eab90..d18d80317 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.m @@ -78,7 +78,7 @@ } NSNumber* imageIndex = [[ContentManager sharedInstance] iconByPath:[url path] isDirectory:isDir]; - NSLog(@"2 The icon index is %d", [imageIndex intValue]); + // NSLog(@"2 The icon index is %d", [imageIndex intValue]); if ([imageIndex intValue] > 0) { diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m index 05afb6856..fa3c77359 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m @@ -92,10 +92,43 @@ static RequestManager* sharedInstance = nil; } +- (void)socket:(GCDAsyncSocket*)socket didReadData:(NSData*)data withTag:(long)tag +{ + NSArray *chunks; + NSString *answer = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; + if (answer != nil && [answer length] > 0) { + // cut a trailing newline + answer = [answer substringToIndex:[answer length] - 1]; + chunks = [answer componentsSeparatedByString: @":"]; + } + NSLog(@"READ from socket (%ld): <%@>", tag, answer); + ContentManager *contentman = [ContentManager sharedInstance]; + + if( [chunks count] > 0 && tag == READ_TAG ) { + if( [[chunks objectAtIndex:0] isEqualToString:@"STATUS"] ) { + [contentman setResultForPath:[chunks objectAtIndex:2] result:[chunks objectAtIndex:1]]; + } else if( [[chunks objectAtIndex:0] isEqualToString:@"UPDATE_VIEW"] ) { + [contentman clearFileNameCacheForPath:[chunks objectAtIndex:1]]; // Fixme: index1 can be empty + } else { + NSLog(@"Unknown command %@", [chunks objectAtIndex:0]); + } + } else { + NSLog(@"Received unknown tag %ld", tag); + } + // Read on and on + NSData* stop = [@"\n" dataUsingEncoding:NSUTF8StringEncoding]; + [_socket readDataToData:stop withTimeout:-1 tag:READ_TAG]; + +} + +- (NSTimeInterval)socket:(GCDAsyncSocket*)socket shouldTimeoutReadWithTag:(long)tag elapsed:(NSTimeInterval)elapsed bytesDone:(NSUInteger)length +{ + // Called if a read operation has reached its timeout without completing. + return 0.0; +} + - (void)socket:(GCDAsyncSocket*)socket didConnectToHost:(NSString*)host port:(UInt16)port { - // [socket readDataToData:[GCDAsyncSocket CRLFData] withTimeout:-1 tag:0]; - NSLog( @"Connected to host successfully!"); _isConnected = YES; @@ -105,41 +138,17 @@ static RequestManager* sharedInstance = nil; [self askOnSocket:path]; } } -} - - -- (void)socket:(GCDAsyncSocket*)socket didReadData:(NSData*)data withTag:(long)tag -{ - if( tag == READ_TAG) { - NSString *answer = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; - - // Cut the trailing newline. - if ([answer length] > 0) { - answer = [answer substringToIndex:[answer length] - 1]; - } - - NSLog(@"READ from socket (%ld): <%@>", tag, answer); + // Read for the UPDATE_VIEW requests + NSData* stop = [@"\n" dataUsingEncoding:NSUTF8StringEncoding]; + [_socket readDataToData:stop withTimeout:-1 tag:READ_TAG]; - if( answer != nil ) { - NSArray *chunks = [answer componentsSeparatedByString: @":"]; - - if( [chunks count] > 0 && [[chunks objectAtIndex:0] isEqualToString:@"STATUS"] ) { - ContentManager *contentman = [ContentManager sharedInstance]; - [contentman setResultForPath:[chunks objectAtIndex:2] result:[chunks objectAtIndex:1]]; - } - } - } -} - -- (NSTimeInterval)socket:(GCDAsyncSocket*)socket shouldTimeoutReadWithTag:(long)tag elapsed:(NSTimeInterval)elapsed bytesDone:(NSUInteger)length -{ - // Called if a read operation has reached its timeout without completing. - return 0.0; } - (void)socketDidDisconnect:(GCDAsyncSocket*)socket withError:(NSError*)err { + NSLog(@"Socket DISconnected!"); + if ([_connectedListenSockets containsObject:socket]) { [_connectedListenSockets removeObject:socket]; @@ -165,7 +174,6 @@ static RequestManager* sharedInstance = nil; // If there was an error, it's likely something like "already connected" or "no delegate set" NSLog(@"I goofed: %@", err); } - NSLog(@"Socket Connected!"); _isRunning = YES; } From 629e2a9e1cd34bda30fb6726e99e1f3baddc3953 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 11 Jul 2014 13:51:21 +0200 Subject: [PATCH 051/133] Overlays: Add the missing icon containers for MacOSX. --- shell_integration/icons/icns/error.icns | Bin 0 -> 58407 bytes shell_integration/icons/icns/error_swm.icns | Bin 0 -> 87687 bytes shell_integration/icons/icns/ok_swm.icns | Bin 0 -> 86112 bytes shell_integration/icons/icns/sync_swm.icns | Bin 0 -> 91991 bytes shell_integration/icons/icns/warning.icns | Bin 0 -> 58209 bytes shell_integration/icons/icns/warning_swm.icns | Bin 0 -> 86541 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 shell_integration/icons/icns/error.icns create mode 100644 shell_integration/icons/icns/error_swm.icns create mode 100644 shell_integration/icons/icns/ok_swm.icns create mode 100644 shell_integration/icons/icns/sync_swm.icns create mode 100644 shell_integration/icons/icns/warning.icns create mode 100644 shell_integration/icons/icns/warning_swm.icns diff --git a/shell_integration/icons/icns/error.icns b/shell_integration/icons/icns/error.icns new file mode 100644 index 0000000000000000000000000000000000000000..f0793a30aaf460b828ad82aed0ebe66f3ca0cf46 GIT binary patch literal 58407 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 ?Z*TneLqM@pRt#F}hiujZD%0p!0;}3)hQ! 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 C2d-WK literal 0 HcmV?d00001 diff --git a/shell_integration/icons/icns/error_swm.icns b/shell_integration/icons/icns/error_swm.icns new file mode 100644 index 0000000000000000000000000000000000000000..1e58a7b4e095ae5fc46e6dc9cf57accec33dc605 GIT binary patch literal 87687 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
  • 2LsGJ1) z_`RV(JO&tA))^hLLRB9l?WVHUG@^iUsW7awmlX;UA^zr|1 zO%H*mL%~|;W{s@3k ziqX0DE zjWJr#J2|QM;N6cyrw;_l0z81&g*^i1p+H3+E8Ij* z!nV2;+{633`Qo zDP#&?L}?!|MuQ!flW@q}^93ARZ{CvJ&3vw#5X(FGX- zY60C(KL!kpy*rPaCbPGu&j4uvou>&P9-P0~IgE-^IoW%LYwYARVpbjBuiqq)LWhTK z!4mF3o^yi-0k>+IGDdQusj9aNjq7m|JdIBaByWep{({%f7;SlBY_=*Pl1H+v{NTzc zi~X2GP=}es%0HLt|9sW`-YhasdP{4&=%;DkV4jLcWb!0d{eAMrFYpxee&uR(MAq=f zmkbuxdqFLGl=yxnb}GaMEw<{llIaWn~zXeNS2pi84e{yd=$Fb|L<22yMeJ60wUoCn!S_VQ#!7B|mp5O#*%T)9+xZp^u8&&OkJZYl806>4(k}b?yHruxW#H?hBxzy3WGsu&IScMXjl629?R+z;p`3RA3{M{1ym{= zb1%e$89`?8O*`p*6nZ^)!u6{H)zD$VL^xeRM!djykf{1qx;L)ATKjA5gL5HRfK>R6 zq17IU>frE%P+6gbS^}AE;wpEMxG9lxI#)K5a!YD0>9E^VP#oQqpU&x znYs1~#~_9KCev;hb6>eq=A~Snx*L(x}}1PtAp6u$Ib1XZ@cNZwsw!-tJB-suQUgAzYev4n<3tm9H~?|mAzSOG4U_w zV|~HWsGF&yCA-THgT5-V;-0y@B{r`tFp2;Yys!1!sayGZo(dOls}qapp>c44EwO_{ z8;k_Hp&uMNOMZ<4%9PE`b!a%y;AueK3&-K1dWk$< z>s*mZMr1)3fEwXjRa=a?>J&?F5S!y}KgstZ40NufQ3nT^o%xzzWYy39OEm#gC<=GW zJ8k_*_PR6f*>@0rH7q~x9hs=b)rI){=6fJPJrH*&xMLiGW;@tx<47VIZ5y)|chTqO z4Y8#$|6e+Ks?0q`%3!O_?@$ zc~PK3`!PHh?0mejK}~vI20PgcM{y(dN5EoZt~0Ui3+dc!6<=_FuHrFg_AK6tx!SpU Xai$(KN9TrscS}QK=cV4!f7ky%>;V61 literal 0 HcmV?d00001 diff --git a/shell_integration/icons/icns/ok_swm.icns b/shell_integration/icons/icns/ok_swm.icns new file mode 100644 index 0000000000000000000000000000000000000000..15b68014cd8d124a272dd1bbbc38338b021d8b28 GIT binary patch literal 86112 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�y=)>>~*h`%jrxSwgcsti|L% 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 GZ~xg?)K|Fx literal 0 HcmV?d00001 diff --git a/shell_integration/icons/icns/warning.icns b/shell_integration/icons/icns/warning.icns new file mode 100644 index 0000000000000000000000000000000000000000..f587997071f447f88ce92916efec3077350a885d GIT binary patch literal 58209 zcmeFa2Urx#wl>@|14GV1L~@dxL;(X)B#0t{h#-TWhVZ?x`-#46PjiU{>GE;es## z0FxjP10bJO6lb(H82ACmx)1fkqrfLW0J}LOHMFYSA3&ztn|Do(et?**t<{sWvqMm> zp|)&%95n#tB0;cap!eNLGbY)o5${T6A!-hzz43 zH5S7;G2}i2lw)LIX4R2lhH|7vLUdOJDILVDEC2w83k~ppZGvGT{$4j2 z3;^JNBftO(UD>}ck_>`i*zW`^KpWgS+WWnX0A#@0_C>=5K0(0Hmls2*#qp zm9+ChkZLYBBr8C0FTk(R11c4QpO-8%%JO|q6m?}=o(XIj`aIa33Mm@)+@g85bE9vn zHxg={cH>9-=y>zsTvP_qQsKF(*k z_`Re!8KVFKyt6PbfQp%dfffKPPuu|Of3+L@&16q=rwIH91P}-~;vb^qKk|QxmvAU@ z{$YXx*V3EcXka4iA0;^82p%6FfoXrl1ONme0Uqri9_)k9{!jn`yaEqE5IhD^f5?Xe z_241I2f>3sWa9IF1lPLf* zQ_N)mQTDf>^^dtg0MEkfxpR0-kiDI220-{aEU*(&YhkTK%`hYtAgZpfE20FhKav7) zUnjgw0f-B7T>+fHk`JGn-uMIH(`10yp3nJ`bawwddT?g$b2?QDK*Hw+0NGOu<2@_g zQ;Q>MU@|~*wx&6FU~YPN9Q-ndUg-3LNKODyI*Xba8vzFOTHLierq%s`}Ch~xl*#WN_>>_FAX3>rO^ z3y~z!V*@`gpeFnFKclA>+dUytm?;RRjVz#gP(9O&{VxX~QeM6da5lYjdS+x6)&2?q zp%KO>dG3M!1$7^4bG??Up8g|Ve=9-A-8VPVfBMW$=bugd(=nN$fxni=Fn7tgiQ|s zB8SieE%VJo(>*~L;HWaP96zGQJ`aGM{iD+j77z&%N}C)R@9P0Sei<7bO@K&Fm$@oY zBV&V|VB5&($W#$Tdaf>8gBlqf{&?6j29e4jk^?_;IYb(5TW*~g8JR4ENRL1;8Ol#| zyzZHRgkvDmg`np)AErl!+V`4Ahi7VxAd=%P5De*=9%&hA8J}tQ{REMMLhb@UNW<88 z&*Vsr-wAN8?#9cYWkOM9L5#^rhSuMp`o|mu91boH4n95}4h}8^903fVRhPfWD^3Xj zc&Pvu2^lF3mKT7)q9!1KU?U{N0RV!tENskY@Btwt1RD+#2>?{*1vpqa1=uMd*f4>D zl2@478m+}D%tfXFsRySbCpa%4M3)Ns&xMS6b=Z|@bmHUa|m(> z@bU3dLQ+_y1bFO%f{d1+8moXH3j$LS_6{WH5@x^KB+V&wo`eI_JRzhjIV(RW9XB5{ zDR3JaAU**OGl)yg$jU&8q@ut!J-Kq@onE>BNoYGIpCWLIz$pT!2>gNo9R7FD4*m=j z7y`2*hW(3$^*^)#g9Au5K}H1dPZ!$%C=L)j9ohxAyA9y~Y~}s;@-Tp|6I#TA(5D=_ z?EYDT0r>6U{t>h;KHLLy{!ALPihly`V;131Isi5QtO5+c?mf{4BYy-o{Fyu)VEqZ* z0sNLW{#>3PQvEk^@aWIvVF1IAzms46GkNHyp#AUkul!Sa1Yr0ZKF5ck!k@}R9h8Cx znE5(9fSwWkd4eV^?_>nWVC4UeJphooX|((VH>$4#2$-28=FWv=7}L)`E+GG3C{+OX zFo0U{`gJ8ab`JjU01^Rk$jYz)9xxn$?}3pj0B|n@R7gNr7#jot-aBfl0stUN_Rt;# z<>!I31OPoZ#hRj{n|DBPNN|9+yYqu^SxtRMGu~-{4hI`xWdn`e0^;-QKKAtXe5}il z5Ad*0)zNbazk&v!6($F8*F89^eQIHG-eZnvesN){JuAq|x?B$c&QAhN)K~x~=;-^Z zb76iOg_@ee{Gq1j7dl`1c_x`E-BOzXn32GF&^4fBW*!CIX`$v9rWY``TqxB1Oi6%m zyp_E(=@@`V0JY;5RKJKud7$B_`Bslycx29g?H)WB2aqhl^MLv#lqVV= zwNRZuzd4^@y#SSPP)l`zL0O(MqW}&L6>#6TWD(_s#-II?eE?a_LH3tfFEkRhSmGA~ zCX4_`ID#AWdNt#XCPdADd5#oxg&3Hkx1aW7^)7t0T(#B^_xLLmLqX5zfvN>p)y)jUgeuA+0RJsV2Fq0e{ z5j+ZDE2+2pyqtk15jB^)3=L;FcMh6T$WHv-!^QyQZNSCv7h6Luz8Qe(54^!x9ul=w z;$IjSHVWV}aX)DD|IKD+zod@-98LW)`obo9*|j@#CWA2J&REqn6AFfa0vJFd-EjyU?GqTEUwaZ5YV+d* zeM5aiBBG*#X8@X*n79Z}A75{8zo3xNkRU%F-^k$L$guEmum4vgEctmcv1?)sj2zzq zGC05}dg&Z=m4X56ig#t8`*xD#SD*-s2hgyR)JZ%v zG_|&~x3e}i(p9#*sGy>Ij}3~jNGyP!9#k{3a*r>pZE0(%EsS@!Hr91fQZaB8L<95) zfDuqMwhgZto}Pw&%$Pz=PY>6G+nVU7ssI2J6k*8_028QZ?$dxqjSUYE4Ua&d;V~4t z!NrjNnhD07)rHrFSphq$zX!IBwjmeCl##5}UoF3>H5 z&lXuZ_?lmWA}o>&xNV*?1IZAMOms%>LvFku**O78A%|y@E!;pi$nRiq7SPmp+#8ZX z)#aST*ql1li1#SgxQ~UEITT~D*a2PJ2Gp<@Br?^K2DNewrnO9sc#UEYqZ(`-UO=s2 zae|M-(IY;i@QJQOD8?psP56vrjiAHL%rG&Q1yHbto=o|S;*Sr+oy6F%#=1-bTA0vf{}o-Qzl*qi{jRV@lrdw4qe#PgG9AYsG^s@4W#ivrU2 z&{#0+nXGmwaI|Or!k%iehuGqPtV0{7H~f*A!di%3TR4Mhd}OlC;iR_AueC>}D@q`C zNd-nx1cVc&_7#Bd*S;ZabD@=2E`;pg`WEK^%zo8;sx=83SW+uSlixI_P#86W#_d0f zoQSTNtB9WPKN+(r6l7I<^&z+*&e%|4O5qTc!+-@%7E%$=u!4~Gg^-;1QkYu!Wdh1$ zji73*q01$b|9XK5G))k9yg#TKRUI@ij^RSnqz47ryPz3np1m)-8vsv|x+zGLcl`*$>V zc={9yvWO4w?mAij?n{%?W7Ctr`ckr$qp97Kr%%TL0^t}B9eW##6Q}eX21Y!G2~J$n z(#g`n`MJX+z@TcbryuEH{vRAW%+@j_?CEn?dnm-3S(sTGnpv4zyT=vOwzRg?7R0$* zn>{hJed6R~4~1A4m*-DRt?W!q%x&x)>}||V&7axZIypXh^8aFptpZ>$ga;M^8xBWo z00=l17TgPRK_n6zy1V)cP+*?B;t=8>v5~lBWB?3_LqUo)4@D6Gj$wFUW8vW9;X>ay zcyJgJiGzcf1I|KslDOD7L{#)F>>TVY^i)JR*mwXI5*H6^2Ec;@1V~(R7G6O?F9AY9 zK|U68TqH5HN(SJQ0Q8s`fXm<_N!SDg_&j+5=tICKAizd~#K%EmVPj7LIB+Ih92$NB zUQa$OVL@&|VNX7MUIBg@96W3!5*G$p6QtP%TpW5qK1c*9bcT$H?2M2nA098CAUzKB zG#VQT#Zox*c$!`i62RvbqPX3=+a`hunjaJB;51Utj4HqA86sk^uO(EdRhY)0x20e}upfsZ(R1%=ThC}`i)y83g zxcCBW!iP|NJQQZb$O^FFkcVbB`MKD?Lk)jt6K(Ltj|;zNi8@WJ?bJg8ti82Sks*hm2Xq$8vNHzg$nH`FBtLsAG~ENldX zKLm#W=b7mKXlhOfLJayaXzq}dc$m5Kf%GFzg2tRk49)Dx%n?9Si;azqfM(v850{^M z1RB@~HI&E9I~)(P8*G3KV>jNIx`hyyg~Y<%zgP_o2|g4N;RqxlKF0XGpqXH0tzN5U zWrghO#PkSo@t`K~AYX$l6=T63e7L-VEF_G?EP_z}R~v@>2yYy~BOyd$6(z$pT! z2%I8tiohuXrwE)PaEibw0;dR^B5;bpDFUYmoFZ_Fz$pT!2%I8tiohuXrwE)PaEibw z0;dR^B5;bpDFUYmoFZ_Fz$pT!2%I8tiohuXrwE)PaEibw0{_2500x7O2>8Eyf&af9 z8yFl52M-r|e*}&Ny*2V*IH=&iMH3hti4VOzf<;cpKnJ~%2f(41JN}Icj!l3C&}zoD zpjW@IqCdpmqXuCAJ`7+8=+r@h_!a04kzdj=xDv|+y#(^_K>&szL{Nn9Ku0MY93CA* zhpioAjtF{|Fag*u>~A|;phQ4J`nRShL1UoCG@ZC zAAvkK|1XA*Ikyo__7^IE18Dpc+y8AYjzP7*u74OF5dAOVhYoN76aK>faj}~Jsq_7U zz!BK>*Yyv_CP)1#{(pS%=6{P)a5x?2^pAg?4*y%a`ol)xaE9-H+COw8!e5pCr^gS& zBKsemf9MtBrvFL%2arJ2|D^vz%NzAS^*`wF(7!CfVbp&b|4IL{-l2y7Yyu9z;J>na zXm!Q?C)ad+0|2M?{ z@97?61B5}C`(Nnx7g7Pb0mj__`s4pQ!2bmV=y(p+@cG||e+`D5q!mmXv92o5PKhOwZ1z@uF#`=yn_LrHI^d0UP z+cRkx+dG)qSThOniwg?!3xRh5LZ~uyo+R|F1qMC@D5Rtm6z=@}AE*OR!v2s7|3fO` zKT{(B3|s*8UqrybXp~0;*&TInQekI$WXxBmVQMO);b4?U$qDiNlZza&+2q!sWK4uJ z!7=Fmi?q+`L(je$;%iO@L?0q*=58a}Bb0FOzLLQxO2pn4klC3xKvXRO|FEJx8jk_ZEEw zry}OY1uu`_UItj-peOr#-alW#T-G~Hv?pyCx>!iP?> z)5{8P{&3(#ygl{hBEB-?OsvuOq3WldllF+u?;2jcd@-)t(CvKByP(rS{C&*0f+jD= zk<39*^`Tgy@HMKOhW0T@N!ZdMu1D@`H*W1EW0a0^^l0sU37`8fy3?|3+8iAubhRRC z$Dw{AUb^YawY=@N4RYS4=-n&0BU|e_Q77p%y5pX&-sND*Nim?8KUI-j_%l!Y;#<|c zu$jS@}XA1MrJC9JyA#kepQ#;H7Kr*F3D_hn@)A6aGcO@py+C|{jfP9a5GY5f%c>ZRw?)%;#5y2I6+8dW}y^*7^NU8s+7`xH0WNj@a| z--`d<)AYySAsY|c zD7}n}NG0sT?AIP#v^?KFR?KLgCGo{$8ZhSOn}0d@u-TKjT{@(y6K51rlDe{Tz2J_` z9uE9z*E=!E06tl*Aud(C4BSNn_MiMN60y0B2t1iAlPhqIr|0A!YC1+YvTALMI}^v% z-FR9nG54WiqW+f4T3=0pLQ-d4WAQD1N(y&D-VP8M6&u+uMJaQ*O&XK1LuZ_FDN^V; z$WuzHnKrI+m#1UWaj5a<$Ld?2XJaz-k}eDW^5raebM-WS5*C-iLNsF z7P^DZjnGD$w8ovEsnUlr&waQMhdk2Tg7?iM6blm%MB=ozxYme>v6l}#B;OX=#whV0 z%61rhQ0y`PoRy*JCR1kq-7!*4s_n20$pM{-Y>F$ocMa?o~sl5GB zNRwc+`>;e(u%=NG9#(H@HRw9?z`mh3mBSmo*6pS<-{SZ{XhtE}pSxsq2VHX`UlIRm zh5PiyhxoLn4r6im9)(HKI!1P>bz=pO=*YM-$XqJXlKG0eyGIeHD?n1&s&al(dT#8v zeqR&{i9;d7C|TfzNi@T7Xo5RUz>W`&g$zwjBx&f z#Y)qXW?MhO_T^`>wp3?f-7>WiBgpQBzHB0cb&uq=w&F-tQ)`p9J1U8NFH;^JH5+wo zbw*J!JXzky&+)L*ogpKz_&jl5RJZDTwV5K)r)_KHq7%xO-YzfZl;N1-CRN1mI&bkS zU^`x$H!V+uaN@i->o+6$ z{Ut#}7pnel|Biq3{GRords%@uvi+{Mf3KLQaypc282=hdrQsKy;6Gcr(PlX$wAwvW zuD()Y;-z!UkJV&&l`GueFJlVM}TG>yj4{bzBa6>%!JDtx$1UOVeOhNZ?; zgru~OJIIflwNKju+m+A0mHyn!tEShvm-vX6B8Pc5?nl8Mc`tM06p)T$jyCVByk8pd zS<7-f3>m6m+!c$|Ya#{BXv6RcgsAG2cX z7FuA=6@0iK10rk4RGcil4_S=0ZciJDS!rleZ&>v8EeWKDtZr*fo8C6ngpt!a?V_Fw zj%{*wHs)=q4yh#bPr%8pZ<(D#M0R{*(w<tp3i*Vx^g?7JmJB90D}PWmL4gRciuy|kqt}HF(QO2{Pwf8wQ(P| z$1XPGw~i;q`I(=epNcI%9(g)`t-Da{Qu-6+ymC@e7Bf~M`mE(p-PS9Dl$WkFci@-c z@MM|i_V5j=_D`*AIOgS+t6rwJn?nN^SpFUXgkE%I+pnCIg*uJ15QRtvX}-o};Mv zw{Dr@W1&IK$pqF#KOd{?BqZ-nGxORF2VXWZ3L~I2h{<})oKaXjqBrIems~o~%HG}; zXBbF3oB42IMTCxldr&Sf414|{7P}*Gs06K|wNv2va%X>)Q}uGZjg6&ybLNYZCj{}! z-z=tes4ZLkdX$SnYVip1wtJUj5B--I%u;qXmOL1xBo^y6yMt(-(lToGXK=mu(Ao(2 zq3GnOqgJXd)YCkl>RZX^+q_*FI#DN{wXt^lG0pv|l}MFXb8K;bBgUE-_f_S$C7mg% zL0w7T-c?G|AvhE>Jq~=o$2(A-AL6!UrTW^XV&T2J8$SDzYOqIEUWgnq%TB=G1k6b zPWBqU%6@*pjE7Ean?^Ap&HwzUA-lcyo7NUFA%}3suvtsnzV@!1!1RN|?^4?= zFYc7O%nmw;*6Q5!C~I>v%2WR6A+!7LDp~ANozbT4Q`E(rXubvK@ph*BVo50ht6#6O zKIWi_=wn!Y%foDq$FpdU-a>T8uW6RxaQrBs{ zJ$n=-tMou`+0}A~de9gD`o^)e@gCK>lx1o6Q(Auo;dcf*=QN*F6lB|*rL9UOO_UR?4j;tQXy zYHf%=u~Q3qAtqapL$;8cZ){fQe%0#ncFS`OFy9Mx6+!QBEv+naXlZhr(D2B%iC^A6hddH%)#_MD zjuW4_FEY6hsg!%SJ>HZvl5$k(imoslegs1o&tP-d_*1+ykFv(w9waqb7mD9x5tqg) z_~;k({>_uRtVbb*R~N6Yoi*7B$I^(o0o!2YxaglV8*NZgVk$v;yL+ zu;Kf|rMNz}$ru%vR3eO?TV5&5{t$>0vikiJocuv^IC9HgWVozAhsA`Gj3uq3((x@z z09(pK#pGn1Hxykg&5vVoC@AGn_dP3^G?OFLRTybd-y^u4TP!+f7cypbJ(lAQ-MEHtk|BG%>GI&+^?*}`5~ zlL0kN_5ji4VhKQUSB|fyT=t(j>qe9k+r##A;1ewa?NVSlW!B}M{8iQccDr7BkFR#w^C5Q}pV>`4 zY?)`4yGlsR$|6Ermyy&~)YpL5z%$FJMj! zN`}4=k2+?{c=zdiS}`ogHy^V1Q&@!<>=ySMK-sJC9N_y-wN}2}SZB7Su5H!irGzXA zsXW)`uN|-GOqd-ZKY48mF#4UR4ox20s<8cD!8-NH740D`&1Tf%kr7mWhQdx3&!F7a zh&|?}zwU*i29u)!Z$@OGx+zn=&Jg!GXjR;pP!_E|{-MGt*`57!bdk3L=`@9)Mfw{T zmxVFKsQsg&w9>-!tvGb1rk4dPT~b@Ts)x)5G}6>x)>I`BmVLM>K5)lPYC2|Ev^q`@ z(Z8qlZAY`ZP3-ch3M!f2%~9Qr^4%_0v;M$pU9Fj$&(O?$#NG0;!qf>)rR=IpUKMOz z*J{k_=RZ`oWA`52!AJK5x2@AG|8RP9NF819HNJ_mrW3!`z2dx@JEfpo+#{F@=>3VE zOW;RTd*>sqB`=}!uiYw6U3a|i(F>^5Q?6}+D%2<1NVA+Uti`;`Krk)R#7*; zi7zuaVNl{7<-Qwo^D=gd|4m6Ce(X)n1+N>iOwV7$`jJ&Q^DNjbzjXFxlmWZ@#Uf(zi_WQQ5 zLP=E;i#5uBcG;n4EF4E`WaB+qqPdV}%-4Os*G820%wNPgBe$(j&*M-BsQ&cs9p2S_ zzZJlCedY(7q2guM{&O@nG%jl`Z>l{fg9c%tm#disYF^56yie`i>U<{jyzfpAoM*nMZKTp>9(YrYiKwR*-#3lJeo36H@N)L~y}L0E;h=lVF+Jz?V|tPn zcVhp>9|x@r%<)7UMg!<+YZv8c))}+Gsu$At8hyfpR~?+jX|U%-3DTp352K7W8t&kQ zOsrxRiI9ZYWWXLD(yBiBko!XSb>+Hk3BQZA355e*5AE&a$OoJx!nFb-PK{hQYQyMQ-hS)hz(?IUo zLVROONchnim3nz*DTPb&fvhe+LYogQ*Cx((hU-Zr-l}5}4;KzDAyLwb4bIs*?tWIa zG^KRoU;|e(c2&WH0?8?V{AhD4i#k7(Z9rDR$~CjjBik>$y@Y#e@gsd=Q(;Zov$Y_E zVs@6D_W6lhpPGBxIMSvya<`WC*|_w%^eq;*&jncx-F)xboqb;M{BvdLU|McBe$vMN zS-j198dXNWnii(}He8tmCZjIjGC;@nX}==EQmXgtPnl#0HJ05XpMtQk&oa-kx;6!d z=pJR+&J zmZEX=@u+0FLr?AEEr%uM?5Qdpic7B}%BMxn(@~ zkhENiG-$lv5M9n5skBo@l8v2m3I4q6?ky)u+9wasu6v`39M}X zcCrlzb?mp#&yd{iW{4{zKd;bFh_O}gOsoL(O7Aa2%9K3tFGO`NH5HhrMQ5oy41>sxF&W63yVQmLz>|jV(fFp550UhS#qwg|N9< z)>)V>0;-vI7YlQ~xYmwvRwg~Hn*18N+w{<3miw*dwQYtz42-GKV7lKq@`FIw1;y4D5TB^^-d1h%K*Yi|SKV~s^A8zivRl>- ziUlQ~at#;8*I5SguQ;4%PUc)2N=bAGl-4y5>o$4azbh>jBAPD@Ot1Nj)F*UlJy>{Z zkcnC(l9~xbfbN^(Xs+Q>Edrb}NeMM483pyP3~;g7l- z!auBP`-E^w^TsuQofVQ>oF59w-o53Vpv@9i68!Q$tZq2v#kFDjsE(r_J>7GmggqWT zXQq^#m%7bFMy|7#RNLEMGL{USa5^Jk+@%{+@|5q&*;_+oNjGsteRm(Cp0yE=S$^&z zo+*4Pn@JmKfq!>oF3QYGJL^X7`!)OG%rvxakJ^uFkwR16r7d|nz~lX^S82fJGw<6B zQYI+}j&LnfO9o)XB})Y1SKp)9)5+C$d$@eYrbc1^)m0d!40*;xPLOP(=gnH3I(yMT z(j>Z{fqfcz(?sse6S#>b74qboiDe$2U);QPB>(1O!;?I2Lo2WN@mm&OqSpFzi)b}# zW%Ik11Wk;xB@$K43}_l`2paU+yFXoF+9v9AMkkq)+yTDV!6f(*JC7>@sF?HBOJ83jxl?ClPOBFAB~;RzmBr$w;Kh{2luF5m zJQXhQBDnI8$X&QaYdvcm^;XYqKI$@}jNDXXqsy;qdPLVorsV2k9o!p8G8V=0{Ys65 z*nMZE+CT%lOA_nj^V@!$GH*rO6Ik$%lhw6k^f#PLK1RciqeR{6Udg?yEUKbVkQN@~ zGwCVhqV+i5=$cQVpBp)FHfb(uJ_=N8JT$JGV2F!$wGUvodvcp(NF2H}orgY@(4{G` zar1J{1KuD0)FpCHrs8M-4Q%ic|Wow9dEf+2z*PR8={X69u9+X^-n0LaWQm< zgtWS>WMQQJ!bSsB_5jKOZqNJj>*WXw&{FNJ^HyTXgoCc+9CZA5M{dC)TLp#vzIRY zDsfT%JCpG)Wga~q!Drr(=2ylg(Kc*?F_#`K9lS2CAAIsSd35Mm<9@{%EG*@X&pa{5 zt>W?WH?k*|GzSL!5_y}E;@?H}tuDi-#Jslcu$B0Pd)KaDQ{+bOB?Q1&EQk@4x|tR3 z#(UhKCnowTUQZT(_umqd{Y)kQS=`Ni=M_tlBuj@n9h2>kOm#++@_ou5`{B+@_hA?A zz1_*u;vm!Y+!{cK(P~E8V$q+)j>nzljd|~sq1n*kv&`14Fs2G=A2H=RQf(!ar@Wc{=IBkXltJy6 zBsl!X=_!r}0@Mz^#7vjyv2oQHbT3(Ni>b=}dSx>5T9B7o4z=5S$to{qoAvD5HqD;? zPuBQ6{^r*rlq#2MKG}>)HC(zez-pL?{X%qc;GhC^++9Z!lqGCBqkpZ0``SyP@UGl7 zx~$teeinuvtiIy@8T_=QsUJ);ILLs#`}Qjvgq>j+wr-3$LWcvHBX`*@0<1IE-8+gp_hF! zGx)FtJm-^X?N*IjU8H*0d08?nlM|-mFUv=Kw?0HxT#%Bl%eb4|`c6P-eQ%}Wd?kLW z!%ylcztsc9t#>h`Hi5^J%2@JL{^V|l0{7!0!j3(YE(FQEO_8&+BpxZaLnc%Gc21l< z&S0L-VreMvY?P<@tGdkdCWOI1KwAYxq|z+0xM>YLsf|wYRiGm2oH5=m!|T=jBAm#m zj!g;tL+Ps4rRa}eIY}QQt*$DfJ(|1a>bK;&@UKq@HT1t$B;$VBG+0fiy`AkNOpJXG zI!qa&^wK&Q+TM&U!C9zRATGNIe^6gS{^qHL&w|61zeA%u2fpKl^=6<_ zu}JPuef6#0zA8dkL@=B{Ony8Tvi2VuQ=lVh(!3pfa3r}^_an+USMI!F?8H}(05N;c~ z#xuRbi8fYcSLk^2Ge#_;vp}2M#6$b(@D)pSWRkY% z@L^X(wMd=t!D`Ys!SqT)d<&)MCuz&oqV3_ZGTGA5;a6YZ>4GZ3Jmic0Ua6PwrJDHB zxZl4>0~{^!t4@VeFMU-fav+%6M>JZ8FtAF0Lk9-cbE#ind7?UbG@?rH;AZEgvA@Hy zXR>DYW=-wo**AQB?=sD$qwwUS7Jr-%w@e~$zPX9Cn7LZUQA4R^>T$h`FZ2;anYxgGSxkV1XQLlr>DC=y*19Ou%#1t)OX+CT%jm9{{wy5cI zw;Z2)La}Sta7n;|ckQU{2X|k_@W|;Aa?<*kM&YiT z!msErSL9J7Ti_SFiwrEIB%;dKO*|RH3TCflb1eur@h6&NvD{Hu@ja{Rjdf)sjkMwD z=+*fTmyYi=7z9d}!K;S2x}wF`b?fJYq_Vj+Z9HP|dMp9)N)Nt5DbD8_Je>qSxA6vV z%c{s{R^7EvnG|S|+BjmQD>Q)q&o+z2V_w4rMX}mjT^)7T?S7CiG;A<&vS#03jJ>C? zr067mSQ=uO`_A1*W7x818{Z2EiEb~8q4u|%44vd!@gG3~*tm-P{j7Y}+P6h7M4Ye)D}R(+NWSSO=aYzjgizGW z_2sm@n*QFPj!RLO8eaNiHbgC!rdaWawSv~i-}LQ5bTqxsK%tQ(hxWH*B}3Xg0@}Ju zLi`=%=Z(?Y8V1v9*|b%1)whOF!<3qiHxkxcQ>!~fO5TH728ThWSLhD+)2l&W=oUYJ zR5kb=j{=RfV%6vXi)m@Ugyll4;Lc808--ZwJLb}df_5a&s!>B^j){$3ju*oW$+w)W zmK3j9_hai-I)XPAi`yC^Ty%Bm_@bJPjZ6>Q*eQsot`S`6CR`Bn7vxl461BEHIK(&C z$H}rEtifs{AMJE}*h-AQ$y)U(kS~2&ez4DZa9W9C;=+%Ez8{zD5`>OEDcfynzg1jP z>Y2X4{cY|UA*d`ybdbX-_A~V{C&;EJFjj(2T27N__X~UPsO3s>Kfpk;{!O|zfATAz zPd)1UkGGK}1But_r@q;|D|&Y>jJ;EOyf(Ov#NzB*zH?tn-8$pbf}Y^Ay-9RlxD=Zc zAspMzTX!5t$ftQgE#K9DxYBOOQ(ezYQF-YaLF+58ZdcNGg1WZ?hL7^KnK$yj&NeJP z+Qny$;LnFghiQLltiGPe!0Xbr*;A^ZKkKp)u3tTJrikpCp*gBc5GTeLDN=Q>C^wwX zsbZyy*T3W@ZMM58=Z3A4SH`kEzRr7rYd5T}Jq@9U&B|@R$+o=^9y>wI9&bC5cx}&K z?wV7?Q1TE^~&ehnnYvs7CAU? z2AX!w>FF><5FSRDc(C+$=)3jqXrV}2j%kf4cFkVNZZGR?z4}bBTS%B~Hh<4dJ^7Qf zXi7_aQb`NH&7(W(Xv49n>6g>%=k0mQ_+|NmFMgK<8f+gI^a$wmTDd;f1Ry z&3?BrWqNL3JWj$*`#!kfp({_2Q$(p_%wo@UhUl#Z&$59z0iXWyD%sMa^WUltK8fGh z)v0TF7_!puB@&sH{6KqxAm!6RrP7b^MTO7dL#>wykgh%HREUBXXA%iYLbbo%6h54A znDX>TTI8>#{^&R;c#QQnw`RUy>FbZ~RqZunz1m>(tEFKXB9_s|ECIa~a}hIp>}>Av zQT=IsHNBkSE7s?H1hQ;Jsn+cCe<-_9=N)E{`nam1zABwTvS>e|Z*1IECoZ^~H+z`# znst6+R=sSEqfbBX`Qu?D>B>%>qc;&}<=|@kv#SS%wC=ke@3y|kSyI`%y`ay!V?PPDHC;Jw7th%N&F=t!0@)&xP)An*UX2q+S?{W1p6LuZ+*3V86 z45j#l@xQtG)HM87$HSU}?*y_Oxpj-W9GVs%MjkTd#})=eYb!awHfFzqd&)o^sGbLl{{px*DJUo-GFzY(BTCqG7%K+c%CybmFpR@pq}=e1XLl zM%@T0xBlwE0ggGBLajuNjCZ2?c^}+jA62Ub7nJ^dTQ2`#t-GQ@J5`c6LPYjMNZ+O1 zP5j$E#21&CSYF0D_Pm(n>C+7G&7qfTzr>G6K+$VUF6dcx#Tn%HsJ(LZ*Q`U$At>4-_IPWl`b-&R{ zW#VzoRryCdR&H*u%xUW;N3D0NKaMAwCjS(K$=#Q>S*gt%9nMFjZb}<_mN@@R*GJ@S zC6#-<#3fJF>9_6>&S+`ZWjCKn-AedQ>JE-VJKDqnKohgg?7z694O0dB{CDkW`?WdD z_OO%mAIksBceH6Vo$P4y!iBb@6)V;NIZ`|i`Bx1eSdF99xb9aBdZlg88Ba&x$C}*H zNzbdny|zJi3=@+MbdG4as0Npf>%ty0q&!pAT%e2k`!?>+wSqUx13s^49gJl@z!st$ zKmg3!>!yRAcMK8|rH`uR4wSrS)8t8YB2}=z;n`aATeiieUO;*F{!I^mt1z^NLE?uF zrCWk>5UMbO^7x)rK)YI=@Y_}4P|ssu_P~A`>VMXD592KUEVN+ueOB{vZ}1WU(9d6dD}iF z$7p)!hIO)aO|$pmN;Xf))(6^54r6DwE>afBo6C>o3b%X>5<&MQ!}M3h;YPkp%j!l4 zTjHA5F>HFZu9w8@Kwx4x>@k_y;*f$tZba87C&XS}D;-VG7COZwaPHSHFy z_Yzgh9h<5=Q`m3ge%7cIz48BT^ID$y`B>>D24Qoo?Ox<^U(3o%tOuc6tQ7(ujbC;xQP+zW)g0NC21~|Q7`rq29T(Arg|K8DppRE z&)r)b(_vq)r(90=W#o$OsrjzrQ4GfovlWY3T1OgWhG`Hd3gx`&EH1}v@Udtj_lB45 zbto#~sFcYUWIdCM!wX1l?6!CBpMS2SO-*LgFfdrar7mzbXC3RV1Emjd^1U?^F)_*D zuR&%{;Oo(E#zfQeZr(zPN5@jr1S-9vXY6Uxa>MIAxChKeeW$~-SND6I;83j^(%G_M zUy9dAq?KKq;>b#5%N%6Fx_U=ygf;fXvHhdqIESnhiVv^kGS8v~ViqS_;e(FVM=0c8 zPvEw5{=VtF6BK2?TE+;7nNbazExq6xyBnCzf$r`7j2X!C&KHZ|ecJ$PYb3f$e z?er+a)O%%=ni6az>4A67dET3zQ{3buoGh0Kk8tjn?;%66X4F_kKHkjVLKjLdu6>%I zyTf?0PfdlNC-QC(UCZUf#!35OyBGfCFIf4wZ;_no3p!iG>U7SmuznxmC~V$`v(MUC zzv_25+bYKw;P@D`L+xPo=gjSJ8D-w~CwyK8{&mIP$AQ$^PnkR)pP6=`q9m=N^`j&$ zyht*|s_AZ}9;?DxwrzYgL~-Hm0#!`ZBP6Bq14&d8-(IFlH|MY0(_$-83|(TaTk+pZ zW5(p@sA8}7A_=Klug;tyr&izS$`!JZ*@+)<$EDW!8hrQA!}WYui@ZS#(~tZ~=QsK8 zzwJ-s%z3D(Lc4q&S^V_IqdLm(c-ZX%I;#{R$Jczn9K4{Y7`#e1D<5__0MEO?+;w^@ z;eE}GaJqO+HanegfuMm|@2XTHSzw`fh}AXr!nIbb&F`>hWCauvYtDGsC>OM!5oMsmz4GA6v$vxmre{aIuHK|YGzHTOy^TvA;1^kK zFZgP38J0u75=t|H{F;nn znRL!_$*gXsYMzWPwC|#vsO1Xc@e%#A(tft%Z_!aT%$F?sZx;!X+);5VeDVC5jNzeT zNV`A$?zWNnZNts*?rS(q-W==`v)2#KXkU`P&0MN>?a>mo_YuKvn)+u4rw75K_G!KB zi0Ajlr)uU5n<9sGt>}%aGHh#ZT*;CZ4EjJTDAAF18)ka2|M^(Yp^?>WbK&X+y$Pp+ zsAE~=@ff~@06NW8d(-TClQ3OJI+H3JeA=24hvc#UQD0VEV+@g(bX3LSvAUBiPE6l$ z{MAc+JQrslJZv!I5oJ_d(@=D!V%l*vu8%z5c zG54#|O5O8AQ&@sB-VPZV6EV&(`2^O6@4F_Ap1b9(Kfh9B>MA7z!}}Du-^5Ehify-_G^0%L(7Zw+i3g$18YE(zxZKQO^_|O!|OiK zb8@aBT6Bhmnc>;c_Hni|-S~wBr8cuqojf#24!%!RHKSqaODwL_wRc;P#m`nRP=QrK zU!gx*K33|k=%Vkyb>)i*YN@NszH51@{4H>!kVXKR+0pf(hXHYq&%)uKg{vQh!uGX{ z(_qc_ys5)uq@Ok*k8b5PDclr75SO{02rEi0vIN^dDVgw^xZpM?y!-!0FHL(A_TtgL1eb~7ngry7v&WMv1Xv# z2b)>S3d$qU1+gVJXsv)e+=Mxtnx&g+A*!xs)!z!&m`6Tx6~k+Jf=_?Gm$@Gbvd z!wMJszwoG*ULk=J8;vY^*kyC=f^%9}ULy2A`N1}ZN4cf#eWQpt%`Fh?8LdkSOq zLzI~*ltvj^!&+HeArzL{8J)%UKgzXKRD53It-pH?)NWt3^yROI?m9_s{>e;i zQut4TSqH_oE_{fM+WzMf03Y_i+yorzP7oZjxxRB5_4+^rA+P4%T}|fNSr39Be%ibb zmK5brMx&?iam9GH3$g&+I~1vx1X%a7I*g8?zu-_20fX%@(T#v7YXCa;hKP%WCFhgy zUGLn7ey|aS9^120f1lrDzTy9YEmDr?+_RuVnpiro&>iG@?Y@-L`8$%5xCQOPH<~ECTovm6=G5t ztOQuv12_wlL&X9?6cY2)(M%KZ8swa=O6{%XtQScu=9Eq-*YeiXR)1j1pj6UWt$C>hycJ%Drj%hLV2gqu+ilK3KuiUa!R z?>@^c38k?|wW~t|&?Kj>LAYL@7q*K3XyBtZJusE=7Bs_i<<9_g#+c9&@gqalIobO# z&b^T^WB&*QqBndymnB){;K1Iz5Kk6_9u%4K{?L7;Ij_014cs=Xug`lDn|-_`!Ekir zE9VN7&q=YkRp>2{7x;`zIs`1O*}yp?iCB8FP{&mOQeWuh1nRRuIBqFQ-#4)owCH{% zaBJY>#y&kUn-%KBt@;5=xY&m>;3ws~vM-8QFC;>y{fAS2%3cJnrn+{AyXAzZpHiN) z!?3S_?H!v$!pS_wRbVKrSwF3Hh-c9WQqc-dEfJ*%_oA0y?`h{4@_+W8fEDELYpLuP4{X`(v6}KM>~f zWg~jd7Bd<&S#)|BTDzs@Gy1xufr9*#3q<}K>k<4n;PZ0vCNfSMw=#es-zz7DAcnd6jW07D*>9%_>C`vAtdVO}ze^*3 z82oEWeuD$N3taM6g!i&WCz|h6)^bTPexW?(90yNpTiR{}1wZx@0~!+V1ONnJui49sjhAtud(`M+$^rULk&X$stxT_oq!^{8w(1?vwZuq)duL#B(8HHnQ&@xH z+3NjqQ+6nfwdD4NsJhmk;}}Ys_mkF3NKu$(WbdHAXJ8-p)yVsi}u!lOMUnrCaJ%TQ_r%_xQSvI<3$@O=W zalGK=unXak40Eesih9psS+P;P7F+6eqL&-h@G)H%BI1oz)Wz)YxG2IRpj3O&tOPFz ze_MrhAsj!bl69#nKyg-wWbmi+JNEPu$4>vENA=w{P!MpwZr?5Kh(d55$rzg$3p=2OhnMODnhx@;&wep{6S|8xONd!3 zCwJ>yLmgRM^w)FgOYIH|qaJN%H%1Th4gnUqKNB zxYZ8G+M5(?`$$?c$M|4u;;At#O%Df@jd@Z?*%YJqn)!$trMo#Mvibj*SHerszIj=0g!n?{zynmX%kIm%*RH;ntt zJDO*+Uob^9F;#T99k|m?D7_2Vr}R^^flQ`r5OZg;1}O33zHg_`n^o}%r`3E!1HLYS zt>u9K7V!pYBOysVZJ%56qu2F&x5_XXQnz`ZKK_dkbJmj(M|AY9nWC%;kUwno2ZG|( zaYOT@db5US<#|3)0+#R{p`ecyKv=W-rB4DMte5UECiwYrJ8JM1uSM39sMPvK;B<3R_lU)U0iYv#7a2#6?%*ae=b1h9UAmNHJR5SWv}n zBuIa+7F;#UF)^9gewnnjzr59D<_%{8@0W(3M7m{9bA?3^-{3i> z!eN-1^2nP+?`p!~w0OMi#8`A~;j|(Zc1wCi=p>*2&BKPi*-6oi-KOfSCb-D`wOJZavXI8>( z2v3(^<6hEzluJ?dRqqNbio3Y!QOTZAA!|1;iREkkF!H8QPoE)~)+)`ZGb-QH%HWIgKgN5AUQQI-=6dfw_tHVq5qf8;(M7JLLLmV|zEM zmvVZVY%~5}@eexms^hf~YWngIVWneqICY=$GEyx7xq=*Re4v3Bg;8aw2rkSe^;1vu zUcIU}^SpLWxp$JwsVGv}X$FgO=i4c#Ys`W+X0?2_iLkfHXv~lWWU80-g8g3D>9k-Y zX@vKFROGY;&34!-Sr)}S7oL(+veq}FJpr2+u2BXQ?+Kul(=_z?8l2@Fel8lG!uX|nB;cvKLO}^i^XK9T2O2#1 z-plE73={$)M#!wlCnaU;$?6#-d~)(TABFp#iQM|MPqlHf{|<(Z2h>vsB#Xj5p(f{a_wq|Qv1ihA z1TT1BPU=P>4u8kyGfX~X$U8|;3J^8uBDq;HvEVC0$|J|>#U28wC)9U|d+W!s3?;nAZ|jJ>OQ=p1(7w{<|Qxz4pU zPr(?cg6%gC`#WL!srS71*&4f4TaXmfu4SAm+xJYFL+;YJ-oMQ~i+D2z_N2X;JzR8I z)t6E#cA1MDX<(#GtX7Z%Zd!8FDmy>AIBSO{{?(nBUDqm-`tU)(16Qb@#Qq%+#Qq%t zM1KwV^qMH#D(U;)e_lQS&r?dDO83kV%7cietmb+{c|7ioxS}VN(L#C=9W~OU1fG8_7=F1F3 z@Ys1`P3f3_B|O?}O9+qv%+J?HT=_HE|rcP}-Vy3n?j z(E%#`bT!-PH7knSQU~}UcxMPtgQg2bM#i8E<+XJ@lD8I}FMZ}+9O2hJGzt#d&co_6 zOBp7|oZJ@AXKm7pGxCgU%gw>cRJo{uT5Qu-oekQ}px}o}4PwPJfVe?&P!^R+N1pCo zNOyZC-?r5#B9Mkcf7z>i;!P4GxH;Rl5kb=!VT^CHkSRR5Z z(DqFbr8?%PZA6!;l|1`;Km&c@cZP*2p^c1R{{cPem&i)z=i?K4GwE)xv<1rDhg(Al zByhpq)=YmdhKhnbH&vv?nOE;k%Ce=Ko*qQzTx|q zChrO)T&#F@!3gW|Ll)$PvIFbA6xjt!an;zh_q!`aLqh)KqC%}LS;&Nk(BnJjHju^K zJT`_JyuDb-_gNU~1PWPP${#je`vq31+#g z1o8@o$ShJf>*7#Waa<^G^zL1E>3=1kpS5FQYKa3CUf!DxoOyV4mZ2!Oqw12ap$-gbsxlBj!Y%?;1Kh6hq=^Ap7`+@N7Um?kGz*v zO8Z8z8J2&Em;nEI1Qv{pW~!F)npBkSVM&oSw69(cRO=z+9cGb;P%4l{3EfGHn=rlDDdmqQb1s_lf;ZJs9R{Wps>;s%DM zr{JH7T5e=`bbNvjy_u5Dx6^${Mal~@$k>Y#nZNS9C^ zV0K9%_S~O2D5#}>O5LwI6$&|3{?K#K|8Oo_|w46NeJ74Q%RZ>&K;G-s?WM%H3tz;q&VEpY{D7`LA8LK9`=#@{}C~)FAg3%gzmP zlHSsyLv9yFoN1&ahLIk)>4}R?m&0vv{H&Ew;9rOyUFqYmE+01pE3f_+w$-vA^F7nQ zwY7p%ExdyDuY0p(yek`#!3?+X;20hGJO=IKfXfw|QN|5F)nzk$xK z(E1!la51wp_-J)YUk~UCR|k19aFR;$%knoQ@f~q zw9=gRa?w241G|vRm7eR4fndO)!OAnaj5@S@csE1#f((Y|+@k=U)-L`84c#~bQZUQ6 zykqP@AYPf^O*B-Hr*B{3H17Q5mnnieY#;IgY?qjU^q#Qk4THZxF5ZvPG(q3;c3kR6 zso>9A+~kc&@CdpACjIr3%Wdxb!a+SwiryLWr{V(0(Ym!y&XOf%Q{QYs@)pWa!QeBPkAj4qv+U6>mj!5T%R#=`JQ&+X_v5s8hNvz0aJx%;JCeT<304!m z)oCQi5^lCWF;!dg4epMoh48 zk;HlO4!tk8SX6JpMrQ`e;mPrUvZ7v+_j($?g2!C@c{gR@Y{2?B?nL?2KiargfU_zE zrO)!{$we9lE$LU%37393DMJ-H;->m6s7f?-8S*!S^+16$gUTj`Np+feKYv^HO#3H7y#V}7A1 zk-#A4aEUXg(5)j38O48M04<@6QgVY)41HPI7kEoh*=X4o?=c4l>%{NN@zy9FpSc%t zu-a%#4(@b!nHT!@Lu%bjr6f)zV|sDM9A2pJjR9FcIeT8(-TYz z-yh`>Cpq(KjG~As>1pwbA&$`mdzJ%}p0nrjLHZ@~bf@L1C~(CP=(NCp#r*WvFXyJw zAHz^U^qhH=(VX13oCu0)rg|7U+_|%s8LgRbR(<^T?wZ}|}4|2!Z{sTAEqz@T3hu(A=JGD8yw9iM>cZ=s< zQ=7tVv^WRE;lc@GQe2fgNQn4clP7+Ee@85L4s24HH7o-xFPM}deZJ#yf32hw!6$H- z5sKH)&qO~OI}m_P$VfTyetsd>c;`1svzVe(jiAuc{W}B#I*_9D09*6W%6vQasP(K1 zQ9*Z^eX$bQkk0Rb+B-_5Lbs~4H0#Z--e~)x?EDbx9L=xko-i&w#P)7M0ppShPNmOL zqg;^^s~l)NQF}v!J=TI>yQ^5on4s1)AAkGevh;Z*U^vb@EYl17e4jNkyB>sBj=I5k z7x;j>%9|IR*V~#D-lri|(d*pTOoJ|7x#4sNZ?clNg1&YwR018!jx$Mw}gm)mvC zuc6@OP=_FqG)?L+O2oS$n%UB-Vx&*oPMeqsADNUcF<*&qN#q&_WIZ3{_}k$`*gq8O zx_P=D%+~hg?EpBmydNLk<-G!oHTdv5-^1=FKZyWT95DI>4KQ`1ZGQ#x@h08&m>bwP zdJ_bH<(rx`;!ChR=S<&dU{&^OnUVa;?OQ-v3Op({{ zxYotVop0R}K@Z}xw~O_+S!SNPbys~Xvn%co)T~f~Y-*eS3|GYPm?e8{lJ6CM?8H-f zh;F%Ss%)b7Jfa?!-7)}L-u)&|ZREBKG+sQTXDXRlVyL=jak!^ci^;9fDT~4(nC~f# z?s!0c#W8oeXIz+O*p!6Kkt2uAv+pTjAA+_&ZTtEc#J>d}WGkzj;}t4?YzB+LEKX{~ zs$b3Loaf01=;D7hgsIv(Bi80DEpy>$ON))Ydm5Akq+;-8 zS;`8wQS+g7QD)UzpQN;3lwdR^^q?x#NcA(Y-peWI$m?^J&j1DkATc^tjP|y|?5{Jm zwOSkaWCcMSq0h&T0=~F;{x(yS2x|L2$t|GRvGYG+3-SEav+TPtY8x6f3wsgifhd+Y zi@A}l-@*3Z#XrK4{uYPu@7^iC+cWr6U&Fa*ru-^<@T-5HbHMn3sx;sJ$L11hT&f$P zr!eXdF*Lw9EpLJZTX6f9EFgjnSV{uAJT?NgZTGaBmd4KGwoUJ1akt^_FZ7>wl9QEj z_&NyV5;dSjTqPbw3noRNjDJ9vWGeEC39MihmZS=E)pJ?8lkx0WWLNjaHO$cg;&!>s z0z+z?LuC)+lukmq<+eUXKak@^M9fRB&(dG=HXX;?(R7IQR6%NhY$Nqny2j#WLtjUd zlD$)A+JU<3Dm}L2VQ_n`{>Re__Eib?26@1r;j*5S?O|8tD~_3q-UeputA~Jz$Q8Ok zTYEWp$HLGh!DLK5D~YJ~_RHjpUPkuPEA79bSBR#POv(4~@j4=sLc`|Bt>4^3XKc)W zOwvEN-tTbY;G z0ky?K0L@Sj$!=+$p_j%#VoKY|>yX5`*8ZTgPoplfZ3f*X9xS8BAP_(saZgxSGy+R3 z`6sb`ipG`3N*!CHzVE5(n=NJHv1^1NC-s_C^SJ1fY@9t&CV7KUmM^Lu*k?Jlz;p}|tymtGGzy+Q3RCYNRu0Qo zn1zWFnv4z-j=x@N3)I{I^a47U9JbENV}B`qF-LAL8-nAfa7hB)Nr!Vv4~aJZa9e@2 z_h_$WLew5P;SwxTJtlJy1{!S+@?++dw$~%mgH}5uA4Slce8|?}sFHZ%ttG%VGDv84 zu$6HA!w~>_L6Y?ScW8ArPNMs8+07#U`vhpS+U34L3CJqXG?`hU?_~*~+(aeJCq2o^ zbn>##pp=HnSh$n|MudY4;!q&$N;F#T>*W!RS1hVWgan&?RP6 zrwFIi#NrV!x}gWWyguI;lbP1e6o=39;rThTrt#z-b%m1_yBS*k1DAcJ#!cOJ^pd}d z3ct_jFxawZ%8`6Bog=~hHO;KQu~ZrzB`NKLxEV022heXki7p#5yTQ&B917b?aq@6TzV06I$9(k2X@_nlSi* zW%u|Ps;vx7gjA(+q>_x7NEd@wX`9ys34K8JrKW$GA?NfO4RVn+eja6;hR5}oidF~D z^8}mxT@t;HF!XB}X8G}bX3o%c1p-0&>$T%lu-OjkEkZ$kv06WKSPYv4LMBYDnX5_@nV8Aw5E6E{WY6R>ot( z7^iT}Zf2s0rm*yjjX$ErDFDi)Yj2zb%^*MhidY&{`{TT$AZz0rv+1aW-zH_RvdHsf z?5fJ^{vdi{d(IO~({!v9>{j6crm4k!AG?TcHp0BqA5aj=xU7Vt4WZgT4}9(_Od9kx z@CRR9{Za8xT~v_+DJ0&~slWyb@$A@zIlN6!`P{hAr{V1-nFA7;VHQee*6+(xjccRd#(uixWfsATVLtmaiJ$j0_+$s&Z z9W3Z;?EKgi&{UCra$~qG;pb>`Wu&}?R-9+)JH4CUhQ%=J+ksuuIijr!E9n*_>)$3c06=CD!E?-@`MJWnnk)das4`5q@6=KFOrVC+V-F{&b^Usvqu z&GLiC@!J8$5lNdJ1`6ku&ti-#6W6Sa|4{u5p!XcV#Bn+M#^}{v-6`13AUC*pY9y~N z04i*V9kDJ4RcF5!v0>3TLoKX{g~4~3oNvTza`Bo+=8=Yq1c?-gt8to-Sl{)hn9W6% zew_i~de!v0NLCl5h3pEAnY&yrz7BWG9&ouvN^o|>_SgJ?rwQcJSmY;j|7+X3pFqsI zU($n|Ou+Od4+-BsytLuzsNLV8->7{7u8B(uh~&2u`{$UX+ZaEV4+BSD7zqk5TZkfG zf}Z8n45yzNW*BJ&*k^yBFbRg5qMZP0kiYjBvB8PObViiTBIM5!tR!3jDt0t6QKJ_h z@9DycqU#setTLeMv9&Y)HW8K#Af5)86RW#irf|MPG0rbP`v&aOry~4}af&gIq8S(@ zZ~Cf=k(N?SU`?qo3MHJR&_PEr*7aHq32Gs7jtqVLi#QG|KCMT`SurOQEidnH!A$Sb z#6?v(TJ=}|4TIuop!)QL$UhF94nxreU#CyxpN|H`Rvv0_#KNV?+lTDw$R8VyS6Q4{ zU|W&OJAd7c-LUR`eQm_s^XK_Y&g3eV6%L;IxaB9`Pl)wcs+o0?$KQ-EE;R+h7b$XA z?{O6|5^uCVi4Pd(+fPNuXirV>K!^O4! znW%oOoYQw*?g+*b4_cYkIH|}`%1t8qh=;h}jd)cv-q6thCDYocn{c{;sNxA+$QBYY zzv)H_MTm-|&sgpVDW6Gv+`iFQ@px^)To=sFS)ceaTPFFVL2-{51lf|l(m*2&i9&#= z2}U20;%GCC7b5wh@!Fp1I;Jxkl!=v66~j1QUYjHLeXp|z1b9Ht?A+5!8`+cUF;#T< zOve+>K}kfFS$VYp4~yBC-MQf8kgFdyHsI{sQgE6*L;6jer4Ama8VlH}Fq6zrS14Jx zQFYFSzVUJa&HI1Cfk7WRMbX$E0=<9pp|2_H(&i8dg zBKI{7&fy}v!*aq9WJ(MLwL3<*5oM}+nY-BGgOpYO|chvt{Qu0G*o zY0q|cA!qn|4EZK5NEH`rm_mD|X1@@>B&I95c|50J^Ey>0^lb-7%Kejw8P-L%bh_>s z2DFmvk@LcPC&r&?y@YSX9mSBsRo=-Zy9zKg%9JnE?401S7PK@d3?4c%k1-{Z3s9VE&nV_Fst0*yALY!cwX5_IW9=nw1_W&ZGuh^AD^EL~^# zq8RI0=?DJ=qqg>HBYs@2FXG#EiQiIBzYQls)xD4Br3C!A&paXo3tm2iER|&irid@h zqw-F+)A!4C`EdY|0P>u{x{0n$7D4Yu%xy&wnY6@GAIrtC$THN#^CbcicPKl#FQR$v z7c0X->ph(nXu1%!Z6p1~Bo#r7U{!*V)?dVXP3Z=Os5-WVr<(rBR!f?trRoeZ51pIl zy(C(8vq>crSQP#RG92%EM|#Pqc`yJ7Fij zcv1PDjY73z*%z*&;k>9{@?k0s%`rcvO07mtQ&%0MW$ex|0G@d3&*re%7g*_BZgRWp zSUGsrB$p=&jXNjKcc;G$jB{7?&!Y3TZ;${8`pOvHGPDL9-ZeM~l1a}ahEM#>ktwQ$ z#Rh`AP+GXdMf|7;4@)W|UODEY^1tE2Ajj1IQ}N@C1`URT+g|Nk zV6=HlXxX%*Cd2Mxt?+*uKsS9W)wUE392LD>fD2l9^18)@xpI8SxmF&IO{~JP!pTXx zpKkS{J@85~m=$7`x!Y6(J~f6+l*c&9YL==$<>ge8Qp9PDLGX4EjD_d#z)x1SqK{Fh zS8Q^n)HC*sZ7@k_&+;}JH&LA~K8SGg1}=0ktNxszeys0j&&>C=d^UuV1uO+NBTWl= zWCaW0sX!GSl0;Zt6J_0JOll21WMC}>JhmPx`)X)Wp-|-Dryszil}458_%5!}s)*H* z0As|*T*@yv&0c3UFhesTW6uu)dC^T;InR4ypJx{WF>l4^18`!$otPa+#Gd5e@XR*S z!pXI*lt?7iLP?uTrj8YO%)9u+&yGAff!!lcqqFp0+DxbXt zca+U)QXV4zf9Iegv<~Qw3eoAUnjG9FwSFy9H8p+WIQkBQg&Mz$1!BK-<*u~d7nH195!$&i%x%LEiQzbJsJE~ zv*CiiSGq|OW0$x}8UP6*y>|1^AE%3O#MS^xN+&T=tK@`@+n`o9w(*CokISx1nRme3UV^n&EpRUp zAbq(&isoe@g~VC8L@q7}AHo&CwgnlTBC<(S+{6g@T6)TE623C5P&@loz93iiTFJ2N zp&ulN_sVJ0-ASxFhs3o1J)w`X^3R#T01*>^ zp{v?%<@*-#!TUT?JpOe{m4>`@eVnN8?10KxK}l|is6osjU6z4bnUZq%N;QFJEfbiH zf80&GvOQ^`yj=3;8!hx)BP%!G(TF5%Ne1MBOm_+|Zp}5uGZz=m5(XI{&8d+rz|Q-S z?_yKUs3X7ty@pHAR`sLu0u0{Ij7$>ztTpSg(lH7tQyv-{RhbOM=~%2~bWgzXbUQ0F z*q}wav6!!%Gw$IznxQVQEAEQ=--eFH9~3!EwkYUt*}7Sjm0~6Gplx0@hT-psjB1}W zbw}O$18}d^!Gwr8F>iiZg^eVcdxGFVqIz3Kp$D!UIYtcIIO_&3z(2l8hGUPpr0Pfy z?wC)snO{#tbGFJ6g0Tv&vjKE}=%Iez`+brkBCEsJVMwx{{>5V9Uxv9T39Wh^bCGc& zwi$*7VKYu0rHn@6h*}g&J3<4#b1b+eplZI=@0b_B zqiQF@go!;w3O}J5A3aR!5l|xgLcc?x+Gl$b7XdBu5|{WP zRY&&9l(r7lOQ+dHfD*5jY8p#WUgk~Z>M%PZwo)?8Zi!mmR>CSV8)F_wyJUrAC{gAZ zD^R+Z#%)7H_s~}`&ilcIM)Dd%E7n0A)x#%~N+D3459w81S(+=gX994OU ze7&mKcLr-a|8_{s#BKa?W_`oaTUwB=D&kmwz%HeW1TV}tU{AB|#vZhdd z>L)L7+QUbCn{BVPLy4-7U`A%!bk&dpqLB@?=M_rP%{2Q@NX+J@I4@)^fm5>Rern-L zK>tM}#Hi$dX0)nrQqR1jZWN3uj$+VG$Dq8Ktw`N^(q~`?8PK!B+^Oa{uO@W2f#hi`NPZ)Ki1Pi8qw1T z)j4F=7_COtv&Bmd4}19*=gjnNKB7yvvG^e`yrSS@0)$5BsjPf6UugJl9qWkQRq}OJ zP~?>@ZDQG#F+!>6279Lfuh5xruNQO8vv5506N%G6#kCQMqa%Ps^bRt>*%G2C7;5AY zGW#Fv%-!Zv4iOVa2raJK$3wsa-lgc2W$^G`Vw=59Zr<_IGEPi}oAH2w2$at{mqK>i zT6VjfqRX_*DibVllW9VjYC6 zfd4EM1UP6nZA}nSEuV!$O?6dzDG%N}CWNUkM45~8`Qgp6 zfi)KlvStF?VH`%^+0exq2~18sfjUGc{T^CR#!1h`w^ZIRvK3a&YRz{;iwZQmn25jU0UIYyfOqKl+q{ zy*3qjU*Yl`Eis?=ufzUXglu=84Vn%K%Kl#`N`+r834HArD1uc5D$^j^Z2KmoZKK@s z68EV`1WTIacQ+&XTUvAnHVu(3>?998SoD5UUBrB%BHz@^}6-%3!Cr& zrv||h&z;5cmby6d6Pp6lM12C9LM|iUl`xbc1G*K1qA$u}K0uClQYk<`;kVXR(40Z~3 zpnQX01p_6)flkZREDoX)Lo&`MUI2w-f-NE%2Ngj2QIvq`jjXt^sU<8m!!q&^?lb1G z8^Ja7hrzmm<7f5AqL0UdmwIQba!|C1)cMDkP~glZk^Qo_8HDzHJasDWR){|&*T4?R z`xfx38}8%16dhY;O~l7F#lmGMylBV&a((%XVkA55vZ?_rw>kdOsG9RbklcK!*q?aO zt~EoXy8OY}p(8t&t7#DHL;yH-*N?@FOM?FAzDr*#rD4|dDh4F85qj1;s_+l8*xmt+ zCxa<%!Dzkc8d!JCa&WB+>x1Kt-1GZ)V#!JS5Ts_+Vt_dQcyBzIGywW_+RA2-kF%{G z+G~}2(34Mnptp?1{1Ze`4!aBgGKs4ziUr+IS|n+}YA@%&V&_C3`8%Fs?0iI1PQY)r|&;1yW^NO70){Ksa{#so+9FPorgqZH-HbqouDoUXj@w;kjw~2Gub;&_?9< z3+v{zo?N?0hOikfx4ux65PP$zR+ZRD)>YyZpAhHD`NWQy#agq5cSME=9E>*i4EktnZ@?{&M>Tt6j(;#Yb7b_de<3lS9x z7WOHshJz%As#T&ZCmP09x>VHd0Bc77Ym3(DQhEWBo*oF6UH0KX;CR4Lsv+QJz;5Pb zE#nT@kiPjDsAAIka8kIaV{~}Lb-eTlB5d8#8!(t@p{om2u>6rZDY{%z)_Ug{f;Ly1 z`tNHq>xoi2f2B_i8ahI(&4;lX+HOV#3)ld3Tf0vW`Ottr)ZHvK`-aT6#*PP85|+`K zA8nQxE5%Eng_VMrZ{kj2_E|2XFPqmO;I7^7wzXW#qB)JTC_DZrNQFn%Bnq2VoC*an z2x=Edk7tt1>I@uDlZe(^ITY7#(0Ll!*|X0e7`ROrjj~M;b#*@AEd9?<6s;HnWeaO|vgk$yly(s^KxWg&D)5Xp$dV}zr zY)ZRh$NLnf5*8oY(La9ZI;X%a1l1s)#W&ig{3zS)>^>>J+6(wFUvF0NO#4_rn}zsw ziui_sDzTL4&6sOJJ710$x*#f=c^hS<%(`EOYJch=@P=6je#;|>(eJ={1rpi1a=PzS z}yD6Oei^^1Y#>ysLn6#49t4*w&rQqwmCfguV!7@_p6T z!|n)ofp}6_P8?)9c=-e&&46^hI%pt-FyCG$)_;2T!O6Tgs+;y#dEZ;|ZqYwh_#TD$js(V4Tav=5IUrTBsfcR7 zt)a5wiZ2c#hqpplbXzHXPWp;>80R8MRU`RF(6fBA0UVK-`;}5v-z8I>JA#2t__=WF zsKi{?*)zrM*|ymh9UH`lNAF;oZ4CKytkJ$&?h;HIjV~!T>pFc>9Lqo!OglB=fiFBf zFXrcX|4aou=3ECmS}fqW6t03JAvu7x+@ZG)|-W)EJQu+|`qFEsY-yt%ye21q-hdm9-il@Chq zEx9Pcv#{Gis(KHv8n@X|^_@seJ|=|mZ9amGfHs7#w7j|7XDqng2U_)|jhv zYT1S+cmt6kWFODwzXJkJ#j&8cL%0kGDsfP!s^U+hi=Ini5Iy-)Ya{R^&}P}P0XC8C z?`B7;LYql@W*4XPmPxq#NWEnxNB==I?eoaY7e3&j7G4+T)H$4w3c~>P9#HddfQ7YwzRY25M%1a(TjZucfP7O13h^^%`zH zL+fi&Q%Z{%{dQ$iLXuqW&@max6vu$)8>h>Gr-{a3z)CcPfC}Rm1YrehWTW-9xm^YI zu#;g5Ci}qd~pX6E|%eP96RfU5$XhwGj;;v zeoZalhRz>am+~X)+ji)n1qK(hr(NJ?&qcDiMX)QFe3rj|!R<&5%_puBR=&aDne7TLoR z>*JrZJxD%OE(8(E)`y-JFyM)EVgD5RRr=*kbspDLv^#`2H9T$Aj;|oR}iE>u$nwy`;h7xr??FM_X9^o`;i? z$cte3VAGnH4Ohw>V>Hp`#0FzK2c4nXy3q=TpDWG zBRBQB_4=x|W%*hTvT{=dH2(ct3TstR$C@6t3)TFmFY)E7hs80T^x%52u&IT)(Z9}H zy_KEwn(Bg}vqbk_1lFVuiIRD`Y4Hhj-a!YIclx%KonMb*dqOneX)nh(R%S2tz?s+Hle;kX><;#7BZ)vAexa%#jjY}BrNj)lEm*M;DGzGi zp^@I6>tmOXdp-OMI#mPcnZCUbb=DcnA*y%IU3SAfk#ylCvg_s_B;dO~S(UWdYh|t) zZ8AxCq4g@3IxYj$nY#_H0eD!0D0=hyTrp?|A{kXLgvryk&w%rhZM5^;h{T5yOwnUE z#qN@paN1z$3-vt6#_2=p()yOAerdPL^&T<;>6M+`44N6EUVJ~mcc%MXIebeH& z!xL|S*okCeBqJP^iAA5h5jbMU$^!UkX%lZHo)E>$_YwtPYSIW1wpzua)KKSS2k(s2 z!yE!vLt!9D0z-PvW27@auT)HpGnf_Op;o{+g`osBQ{pGmrHM%GD};4GZRpMl$Bq*c z7+}K|6eI1O)i?J_s;t92@iIVDs!nUYEv(r|V?tKcXB4=VeBc|gz)T=4krK*SjX@na zujPk$Ii0o$N|Q=9M9*^(F!H9J=3nqnBZ1Z-6w zShYdycZj@zoUySAG%@hzR-X|#4u`gGb+J2dcUr&!(0peWWqHX2TqKo`FCNKo=ztMd zP^bBV5=?i=qD7&`mm`bI4I3Ru4PT=MG%+(tAQC9DJ0_63%B=nkRzqQ{((qIg-8Cfb zICS0%rmOJ92nB^*JpU*LO?vD+D9GI-vj8v$6APMB0O>+Gd}+&x4PSds84PVAq*9}fnJ>_t! zqUrn`-xYwsh?7O4)rm?(u@z1Ub>qEh8Ez+vyM1Xk`0#3vFyel%s;d*cd}W3-?-*={ z7Ge3X#AC_p>!qpNv7g^C95v%KXZ&b%rDrW7 z?OKVUNLq0tQ!%-PH;bcgPKXJjFVI7La|cagzW&Pc_6}Z5widaH&@JG9>*7rRAN10) z&BsqD!^LD(R5}}9Q0KCj|2WqjQ27>$q}&4Jd4MIC)o*Y7p06)cYqT8i5z6_d((h}GXE zSCAE~=44m<-QMZDdI{kU@e?ofplLLPBeOU&5Eir}aZB0=*m}=??o_40gbPSG8s7WJk3k^yKYvxZua5p({u#%M?ykR@mJ@qq=k7hF`@3k_@ zbQ{h)JW2>WeV$CWypT2@GK-^kmg;@<`86_WmPlh+6+~bwdxE7cN+fZ>ExpXh7BNGL zv@$nZwus*gcc>B^u?7M5)bH0QDRln0E1VL^CDU;_E^bE;n)NkJbP_xn%2`hvryK(K zEv<}RC6&tJU-+3H_!-iz3{9IgrOZ=+<7r!RY6{z*8iAm$;Y89{ZH)> z&=Pnpz%n&YY44B@1;tdayc}Fvn$(DFpXVRwb850TsnD27i=F}BRC-2zjNO}fd_7;T zkVx@pi+cgfg+gD%u!3%n!{hMH*hx&ud#;Fcp*yenFyVC!Bmm{wl8o@b-9Gmp--Dq& zAq$ud->{W2@9wK(_OhgC zX~v#@kRF*_xA1Kq_hgzV8?kIm6Z~Qp!@x7f`!RWdH8g!F1G`_2SlR||z|mE-ehCN; zckA7L7Ki>kv^9_Z-pUQqI+` zTABMJgGR$Ju@_YD;QrlCu5@C*<6 z#y{#MXP#W2om!B>0s*tnkgbs=kvw%%#s5jObH}ibKwlINoVW1wPxxF5$HjcdN3nbn zLDH7bvS5G*2QZAt`Pj^^G5YJY(x9&1&JrRXL4{M56Vf{Vc$)Sq#g=Q$KtfpUka@mf z0)Ur$Tbqvsellvi3&bd-=|&i7NjSP!M(&7GrVHloMGnZlNeH=vrnpZeUaNg>+H$YziE&Js+}+ z-AL(3rmn=5zd7?I=!L>OSNwm#OqOI-&<3T?jCiD0K zKw=WPb396AOC$EONtEO7!i~;-H@LkBdrm=hXsQ#`(87f;!s*+Il_GseFzi+x_`$ zV@}HdD2F;(_GB}ThaN3-PI@EtH{U!2*RrrGLQMSREg%5&g>27af9YOQqbE6MPSz{q z`Cl8Vf17Dt;gGkc30F46^bkWy{2S*qsDgv}%@x0xjG4NKFI$xF4*QDU8u6hLM8+g; z94`jMo4xq-TdUba%H4TZt;i#@WTU`%!4yW6zW;gmtE##7I5Ta&{IxApt2kX}vl-N5=bI*bqv^Z9FT#07Ii+~!9nBQJkzgqX q+!FsAvqbIFXxa+MjOL<^o7=BmKl;mP?=tm9mR!UU1u-8;-~ZX^oYRB= literal 0 HcmV?d00001 diff --git a/shell_integration/icons/icns/warning_swm.icns b/shell_integration/icons/icns/warning_swm.icns new file mode 100644 index 0000000000000000000000000000000000000000..446600954de5fbc2a194232b340a1e5164ba5021 GIT binary patch literal 86541 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

    hX~Q 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

    3LPI<_iid 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 Uu{VscF70NT5y+0q{(Jqu0YkoWO8@`> literal 0 HcmV?d00001 From 55d94bf15a7ce83901ec834b5c70159fb3ebc33f Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 11 Jul 2014 16:39:39 +0200 Subject: [PATCH 052/133] Overlays: Handle Sharing state and display the correct icons. --- .../LiferayNativityFinder/ContentManager.h | 9 ++++ .../LiferayNativityFinder/ContentManager.m | 45 +++++++++++++------ 2 files changed, 40 insertions(+), 14 deletions(-) diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h index 878a3df1c..6d7829559 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h @@ -18,6 +18,15 @@ { NSMutableDictionary* _fileNamesCache; BOOL _fileIconsEnabled; + + NSNumber *_icnOk; + NSNumber *_icnSync; + NSNumber *_icnWarn; + NSNumber *_icnErr; + NSNumber *_icnOkSwm; + NSNumber *_icnSyncSwm; + NSNumber *_icnWarnSwm; + NSNumber *_icnErrSwm; } + (ContentManager*)sharedInstance; diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m index f05f929d2..f6e34b47e 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m @@ -32,12 +32,19 @@ static ContentManager* sharedInstance = nil; _fileNamesCache = [[NSMutableDictionary alloc] init]; _fileIconsEnabled = TRUE; - [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/icns/ok.icns"]; - [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/icns/sync.icns"]; - [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/icns/sync.icns"]; - [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/icns/sync.icns"]; - [[IconCache sharedInstance] registerIcon:@"/Users/mackie/owncloud.com/mirall/shell_integration/icons/icns/sync.icns"]; + // FIXME: Proper path here! + NSString *base = @"/Users/mackie/owncloud.com/mirall/shell_integration/icons/icns/"; + _icnOk = [[IconCache sharedInstance] registerIcon:[base stringByAppendingString:@"ok.icns"]]; + _icnSync = [[IconCache sharedInstance] registerIcon:[base stringByAppendingString:@"sync.icns"]]; + _icnWarn = [[IconCache sharedInstance] registerIcon:[base stringByAppendingString:@"warning.icns"]]; + _icnErr = [[IconCache sharedInstance] registerIcon:[base stringByAppendingString:@"error.icns"]]; + _icnOkSwm = [[IconCache sharedInstance] registerIcon:[base stringByAppendingString:@"ok_swm.icns"]]; + _icnSyncSwm = [[IconCache sharedInstance] registerIcon:[base stringByAppendingString:@"sync_swm.icns"]]; + _icnWarnSwm = [[IconCache sharedInstance] registerIcon:[base stringByAppendingString:@"warning_swm.icns"]]; + _icnErrSwm = [[IconCache sharedInstance] registerIcon:[base stringByAppendingString:@"error_swm.icns"]]; + + NSLog(@"Icon ok identifier: %d", [_icnOk intValue]); } return self; @@ -74,25 +81,35 @@ static ContentManager* sharedInstance = nil; - (void)setResultForPath:(NSString*)path result:(NSString*)result { - int res = 0; // NOP + + NSNumber *res; + res = [NSNumber numberWithInt:0]; + if( [result isEqualToString:@"OK"] ) { - res = 1; + res = _icnOk; } else if( [result isEqualToString:@"SYNC"] || [result isEqualToString:@"NEW"] ) { - res = 2; + res = _icnSync; } else if( [result isEqualToString:@"IGNORE"]) { - res = 3; + res = _icnWarn; } else if( [result isEqualToString:@"ERROR"]) { - res = 4; - }else if( [result isEqualToString:@"SHARED"]) { - res = 5; + res = _icnErr; + } else if( [result isEqualToString:@"OK+SWM"] ) { + res = _icnOkSwm; + } else if( [result isEqualToString:@"SYNC+SWM"] || [result isEqualToString:@"NEW+SWM"] ) { + res = _icnSyncSwm; + } else if( [result isEqualToString:@"IGNORE+SWM"]) { + res = _icnWarnSwm; + } else if( [result isEqualToString:@"ERROR+SWM"]) { + res = _icnErrSwm; }else if( [result isEqualToString:@"NOP"]) { // Nothing. } else { NSLog(@"Unknown status code %@", result); } + NSString* normalizedPath = [path decomposedStringWithCanonicalMapping]; - [_fileNamesCache setObject:[NSNumber numberWithInt:res] forKey:normalizedPath]; - NSLog(@"SET value %d", res); + [_fileNamesCache setObject:res forKey:normalizedPath]; + NSLog(@"SET value %d", [res intValue]); [self repaintAllWindows]; } From 267b9e5c2f856bb60249a6d2ceb11c1c846838be Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 14 Jul 2014 14:56:10 +0200 Subject: [PATCH 053/133] FinderOverlays: Display the error if socket can not connect. --- .../MacOSX/LiferayNativityFinder/RequestManager.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m index fa3c77359..64b0295c3 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m @@ -149,6 +149,9 @@ static RequestManager* sharedInstance = nil; { NSLog(@"Socket DISconnected!"); + if( err ) { + NSLog(@"ERROR: %@", [err localizedDescription]); + } if ([_connectedListenSockets containsObject:socket]) { [_connectedListenSockets removeObject:socket]; From b2a10de71a6e93fee2176080a3fe6685a662366a Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 14 Jul 2014 15:28:26 +0200 Subject: [PATCH 054/133] Copyright plus minor beautification. --- src/mirall/socketapi.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index cbd796b77..b5f9fcf50 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -1,5 +1,6 @@ /* * Copyright (C) by Dominik Schmidt + * Copyright (C) by Klaas Freitag * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -182,7 +183,7 @@ SocketApi::SocketApi(QObject* parent) connect(_localServer, SIGNAL(newConnection()), this, SLOT(slotNewConnection())); // folder watcher - connect(FolderMan::instance(), SIGNAL(folderSyncStateChange(QString)), this, SLOT(slotUpdateFolderView(QString))); + connect(FolderMan::instance(), SIGNAL(folderSyncStateChange(QString)), SLOT(slotSyncStateChanged(QString))); connect(ProgressDispatcher::instance(), SIGNAL(jobCompleted(QString,SyncFileItem)), SLOT(slotJobCompleted(QString,SyncFileItem))); } From 68bfcf5d24df493c4de241e8b1e07aa94ef6dee0 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 14 Jul 2014 15:31:38 +0200 Subject: [PATCH 055/133] SocketAPI: Create the socket API instance in folderman. --- src/mirall/folderman.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mirall/folderman.cpp b/src/mirall/folderman.cpp index 5729c4d35..5dd3fc696 100644 --- a/src/mirall/folderman.cpp +++ b/src/mirall/folderman.cpp @@ -48,6 +48,9 @@ FolderMan::FolderMan(QObject *parent) : connect(_folderWatcherSignalMapper, SIGNAL(mapped(const QString&)), this, SLOT(slotScheduleSync(const QString&))); + MirallConfigFile cfg; + _socketApi = new SocketApi(this, QUrl::fromLocalFile(cfg.configPathWithAppName().append(QLatin1String("socket")))); + ne_sock_init(); Q_ASSERT(!_instance); _instance = this; From 3c09ef6cbff9ebe7b2d3607c5ebae7511daad679 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 15 Jul 2014 13:34:32 +0200 Subject: [PATCH 056/133] SocketAPI: rename slot to send UPDATE_VIEW. --- src/mirall/folderman.cpp | 1 - src/mirall/socketapi.cpp | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/mirall/folderman.cpp b/src/mirall/folderman.cpp index 5dd3fc696..e5132800a 100644 --- a/src/mirall/folderman.cpp +++ b/src/mirall/folderman.cpp @@ -49,7 +49,6 @@ FolderMan::FolderMan(QObject *parent) : this, SLOT(slotScheduleSync(const QString&))); MirallConfigFile cfg; - _socketApi = new SocketApi(this, QUrl::fromLocalFile(cfg.configPathWithAppName().append(QLatin1String("socket")))); ne_sock_init(); Q_ASSERT(!_instance); diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index b5f9fcf50..6198bc174 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -183,7 +183,7 @@ SocketApi::SocketApi(QObject* parent) connect(_localServer, SIGNAL(newConnection()), this, SLOT(slotNewConnection())); // folder watcher - connect(FolderMan::instance(), SIGNAL(folderSyncStateChange(QString)), SLOT(slotSyncStateChanged(QString))); + connect(FolderMan::instance(), SIGNAL(folderSyncStateChange(QString)), this, SLOT(slotUpdateFolderView(QString))); connect(ProgressDispatcher::instance(), SIGNAL(jobCompleted(QString,SyncFileItem)), SLOT(slotJobCompleted(QString,SyncFileItem))); } From 74e13f4c70f568eb0948759f8afb44671d432635 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 15 Jul 2014 17:47:42 +0200 Subject: [PATCH 057/133] Use better variable naming. --- .../MacOSX/LiferayNativityFinder/ContentManager.m | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m index f6e34b47e..6e34b5f09 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m @@ -155,10 +155,10 @@ static ContentManager* sharedInstance = nil; NSMutableArray *keysToDelete = [NSMutableArray array]; NSLog(@"Clearing the cache for %@", path); - for (id path in [_fileNamesCache keyEnumerator]) { + for (id p in [_fileNamesCache keyEnumerator]) { //do stuff with obj - if ( [path hasPrefix:path] ) { - [keysToDelete addObject:path]; + if ( [p hasPrefix:path] ) { + [keysToDelete addObject:p]; } } From 72a25cf6ee32f6e52e675c2b40e95525a37922ac Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 15 Jul 2014 17:52:42 +0200 Subject: [PATCH 058/133] MacOverlays: Minor cleanups. --- .../LiferayNativityFinder/RequestManager.h | 9 --------- .../LiferayNativityFinder/RequestManager.m | 20 +++++-------------- 2 files changed, 5 insertions(+), 24 deletions(-) diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h index 6f1f99256..9f6e443ea 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h @@ -18,19 +18,10 @@ @interface RequestManager : NSObject { - dispatch_queue_t _listenQueue; - dispatch_queue_t _callbackQueue; - GCDAsyncSocket* _socket; - NSMutableArray* _connectedListenSockets; - NSMutableArray* _connectedCallbackSockets; - NSMutableDictionary* _callbackMsgs; - NSMutableArray* _requestQueue; - NSString* _filterFolder; - BOOL _isRunning; BOOL _isConnected; } diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m index 64b0295c3..5b1375c63 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m @@ -27,8 +27,6 @@ static RequestManager* sharedInstance = nil; if ((self = [super init])) { _socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()]; - - _filterFolder = nil; _isRunning = NO; _isConnected = NO; @@ -67,7 +65,7 @@ static RequestManager* sharedInstance = nil; - (void)askOnSocket:(NSString*)path query:(NSString*)verb { NSString *query = [NSString stringWithFormat:@"%@:%@\n", verb,path]; - NSLog(@"Query: %@", query); + // NSLog(@"Query: %@", query); NSData* data = [query dataUsingEncoding:NSUTF8StringEncoding]; [_socket writeData:data withTimeout:5 tag:4711]; @@ -131,6 +129,7 @@ static RequestManager* sharedInstance = nil; { NSLog( @"Connected to host successfully!"); _isConnected = YES; + _isRunning = NO; if( [_requestQueue count] > 0 ) { NSLog( @"We have to empty the queue"); @@ -149,20 +148,11 @@ static RequestManager* sharedInstance = nil; { NSLog(@"Socket DISconnected!"); + _isConnected = NO; + _isRunning = NO; if( err ) { NSLog(@"ERROR: %@", [err localizedDescription]); } - if ([_connectedListenSockets containsObject:socket]) - { - [_connectedListenSockets removeObject:socket]; - - [[ContentManager sharedInstance] enableFileIcons:false]; - } - - if ([_connectedCallbackSockets containsObject:socket]) - { - [_connectedCallbackSockets removeObject:socket]; - } } @@ -172,7 +162,7 @@ static RequestManager* sharedInstance = nil; { NSLog(@"Connect Socket!"); NSError *err = nil; - if (![_socket connectToHost:@"localhost" onPort:33001 error:&err]) // Asynchronous! + if (![_socket connectToHost:@"localhost" onPort:33001 withTimeout:5 error:&err]) // Asynchronous! { // If there was an error, it's likely something like "already connected" or "no delegate set" NSLog(@"I goofed: %@", err); From 7bef588851279ecc8b7c062998d1cc5f58c1be5d Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 15 Jul 2014 17:53:15 +0200 Subject: [PATCH 059/133] SocketAPI: Try reconnect if socket was not connected. --- shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m | 1 + 1 file changed, 1 insertion(+) diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m index 5b1375c63..b3c9e38bc 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m @@ -86,6 +86,7 @@ static RequestManager* sharedInstance = nil; [self askOnSocket:path query:verb]; } else { [_requestQueue addObject:path]; + [self start]; // try again to connect } } From f3477877d0987ea467d9a31fdc197b1da58b4b59 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 17 Jul 2014 11:37:47 +0200 Subject: [PATCH 060/133] Added XCode file. --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index eed2de186..d01ed5e32 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,5 @@ build* cscope.* tags t1.cfg +shell_integration/MacOSX/LiferayNativity.xcworkspace/xcuserdata/ +**/.DS_Store From 5a5c03a82660366f453c6847f748138c2823bed5 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 17 Jul 2014 19:29:02 +0200 Subject: [PATCH 061/133] MacOverlays: Registered pathes support. Remember the pathes that come with the first UPDATE_VIEW msg. That reduces the number of socket communications. --- .../UserInterfaceState.xcuserstate | Bin 33056 -> 33964 bytes .../LiferayNativityFinder/ContentManager.m | 25 ++++--- .../LiferayNativityFinder/RequestManager.h | 4 +- .../LiferayNativityFinder/RequestManager.m | 62 ++++++++++++++---- 4 files changed, 70 insertions(+), 21 deletions(-) diff --git a/shell_integration/MacOSX/LiferayNativity.xcworkspace/xcuserdata/mackie.xcuserdatad/UserInterfaceState.xcuserstate b/shell_integration/MacOSX/LiferayNativity.xcworkspace/xcuserdata/mackie.xcuserdatad/UserInterfaceState.xcuserstate index 0d18ea8e3cf8df0685cd72a402ad87c615618c0b..142c9554565740e0323d92861cce36df80beda0f 100644 GIT binary patch delta 18049 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 delta 17273 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 diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m index 6e34b5f09..bc3873085 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m @@ -31,7 +31,7 @@ static ContentManager* sharedInstance = nil; { _fileNamesCache = [[NSMutableDictionary alloc] init]; _fileIconsEnabled = TRUE; - + // FIXME: Proper path here! NSString *base = @"/Users/mackie/owncloud.com/mirall/shell_integration/icons/icns/"; @@ -133,9 +133,9 @@ static ContentManager* sharedInstance = nil; if( result == nil ) { // start the async call - NSNumber* minusOne = [[NSNumber alloc] initWithInt:-1]; - [_fileNamesCache setObject:minusOne forKey:normalizedPath]; - [[RequestManager sharedInstance] askForIcon:normalizedPath isDirectory:isDir]; + NSNumber *askState = [[RequestManager sharedInstance] askForIcon:normalizedPath isDirectory:isDir]; + [_fileNamesCache setObject:askState forKey:normalizedPath]; + result = [NSNumber numberWithInt:0]; } else if( [result intValue] == -1 ) { // the socket call is underways. @@ -144,7 +144,7 @@ static ContentManager* sharedInstance = nil; // there is a proper icon index } // NSLog(@"iconByPath return value %d", [result intValue]); - + return result; } @@ -155,11 +155,18 @@ static ContentManager* sharedInstance = nil; NSMutableArray *keysToDelete = [NSMutableArray array]; NSLog(@"Clearing the cache for %@", path); - for (id p in [_fileNamesCache keyEnumerator]) { - //do stuff with obj - if ( [p hasPrefix:path] ) { - [keysToDelete addObject:p]; + if( path != nil ) { + for (id p in [_fileNamesCache keyEnumerator]) { + //do stuff with obj + if ( [p hasPrefix:path] ) { + [keysToDelete addObject:p]; + } } + } else { + // clear the entire fileNameCache + [_fileNamesCache release]; + _fileNamesCache = [[NSMutableDictionary alloc] init]; + return; } if( [keysToDelete count] > 0 ) { diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h index 9f6e443ea..d88edf3e0 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h @@ -21,6 +21,7 @@ GCDAsyncSocket* _socket; NSMutableArray* _requestQueue; + NSMutableDictionary* _registeredPathes; BOOL _isRunning; BOOL _isConnected; @@ -30,8 +31,9 @@ + (RequestManager*)sharedInstance; +- (BOOL)isRegisteredPath:(NSString*)path; - (void)askOnSocket:(NSString*)path query:(NSString*)verb; -- (void)askForIcon:(NSString*)path isDirectory:(NSNumber*)isDir; +- (NSNumber*)askForIcon:(NSString*)path isDirectory:(NSNumber*)isDir; - (void)menuItemClicked:(NSDictionary*)actionDictionary; - (NSArray*)menuItemsForFiles:(NSArray*)files; - (void)start; diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m index b3c9e38bc..7bb955390 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m @@ -31,6 +31,8 @@ static RequestManager* sharedInstance = nil; _isRunning = NO; _isConnected = NO; + _registeredPathes = [[NSMutableDictionary alloc] init]; + [self start]; } @@ -75,19 +77,45 @@ static RequestManager* sharedInstance = nil; } -- (void)askForIcon:(NSString*)path isDirectory:(NSNumber*)isDir +- (BOOL)isRegisteredPath:(NSString*)path +{ + // check if the file in question is underneath a registered directory + NSArray *regPathes = [_registeredPathes allKeys]; + BOOL registered = NO; + + for( NSString *regPath in regPathes ) { + if( [path hasPrefix:regPath]) { + // the path was registered + registered = YES; + break; + } + } + + return registered; +} + +- (NSNumber*)askForIcon:(NSString*)path isDirectory:(NSNumber*)isDir { NSString *verb = @"RETRIEVE_FILE_STATUS"; - if( _isConnected ) { - if( [isDir boolValue] ) { - verb = @"RETRIEVE_FOLDER_STATUS"; + NSNumber *res = [NSNumber numberWithInt:0]; + + if( [self isRegisteredPath:path] ) { + if( _isConnected ) { + if( [isDir boolValue] ) { + verb = @"RETRIEVE_FOLDER_STATUS"; + } + + [self askOnSocket:path query:verb]; + + NSNumber *res_minus_one = [NSNumber numberWithInt:0]; + + return res_minus_one; + } else { + [_requestQueue addObject:path]; + [self start]; // try again to connect } - - [self askOnSocket:path query:verb]; - } else { - [_requestQueue addObject:path]; - [self start]; // try again to connect } + return res; } @@ -107,7 +135,11 @@ static RequestManager* sharedInstance = nil; if( [[chunks objectAtIndex:0] isEqualToString:@"STATUS"] ) { [contentman setResultForPath:[chunks objectAtIndex:2] result:[chunks objectAtIndex:1]]; } else if( [[chunks objectAtIndex:0] isEqualToString:@"UPDATE_VIEW"] ) { - [contentman clearFileNameCacheForPath:[chunks objectAtIndex:1]]; // Fixme: index1 can be empty + NSString *path = [chunks objectAtIndex:1]; + NSNumber *one = [NSNumber numberWithInt:1]; + [_registeredPathes setObject:one forKey:path]; + + [contentman clearFileNameCacheForPath:path]; // Fixme: index1 can be empty } else { NSLog(@"Unknown command %@", [chunks objectAtIndex:0]); } @@ -131,7 +163,7 @@ static RequestManager* sharedInstance = nil; NSLog( @"Connected to host successfully!"); _isConnected = YES; _isRunning = NO; - + if( [_requestQueue count] > 0 ) { NSLog( @"We have to empty the queue"); for( NSString *path in _requestQueue ) { @@ -154,6 +186,14 @@ static RequestManager* sharedInstance = nil; if( err ) { NSLog(@"ERROR: %@", [err localizedDescription]); } + + // clear the registered pathes. + [_registeredPathes release]; + _registeredPathes = [[NSMutableDictionary alloc] init]; + + // clear the caches in conent manager + ContentManager *contentman = [ContentManager sharedInstance]; + [contentman clearFileNameCacheForPath:nil]; } From 4688126f840e1d7a8ee49d8113a1e7758694ac43 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 18 Jul 2014 17:08:49 +0200 Subject: [PATCH 062/133] MacOverlays: Export the redraw method of content man. --- shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h | 1 + 1 file changed, 1 insertion(+) diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h index 6d7829559..d508ae4d0 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h @@ -38,5 +38,6 @@ - (void)setIcons:(NSDictionary*)iconDictionary filterByFolder:(NSString*)filterFolder; - (void)setResultForPath:(NSString*)path result:(NSString*)result; - (void)clearFileNameCacheForPath:(NSString*)path; +- (void)repaintAllWindows; @end \ No newline at end of file From c3b6aecb7948d98acdfa42aa5161f52fdc595d61 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 18 Jul 2014 17:12:02 +0200 Subject: [PATCH 063/133] MacOverlay: Some logging cleanings. --- .../MacOSX/LiferayNativityFinder/ContentManager.m | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m index bc3873085..a6ae4b31c 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m @@ -109,7 +109,7 @@ static ContentManager* sharedInstance = nil; NSString* normalizedPath = [path decomposedStringWithCanonicalMapping]; [_fileNamesCache setObject:res forKey:normalizedPath]; - NSLog(@"SET value %d", [res intValue]); + // NSLog(@"SET value %d", [res intValue]); [self repaintAllWindows]; } @@ -153,7 +153,6 @@ static ContentManager* sharedInstance = nil; - (void)clearFileNameCacheForPath:(NSString*)path { NSMutableArray *keysToDelete = [NSMutableArray array]; - NSLog(@"Clearing the cache for %@", path); if( path != nil ) { for (id p in [_fileNamesCache keyEnumerator]) { From b92789825d175003cb4c6e97f2b73fc9f3033bd6 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 18 Jul 2014 17:13:41 +0200 Subject: [PATCH 064/133] MacOverlays: Redraw window if registered pathes are empty. That is the condition after a reconnect to the mirall server. --- .../MacOSX/LiferayNativityFinder/RequestManager.m | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m index 7bb955390..d4cef0bc8 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m @@ -135,11 +135,20 @@ static RequestManager* sharedInstance = nil; if( [[chunks objectAtIndex:0] isEqualToString:@"STATUS"] ) { [contentman setResultForPath:[chunks objectAtIndex:2] result:[chunks objectAtIndex:1]]; } else if( [[chunks objectAtIndex:0] isEqualToString:@"UPDATE_VIEW"] ) { + BOOL redraw = NO; + if( [_registeredPathes count] == 0 ) { + redraw = YES; + } + NSString *path = [chunks objectAtIndex:1]; NSNumber *one = [NSNumber numberWithInt:1]; [_registeredPathes setObject:one forKey:path]; - [contentman clearFileNameCacheForPath:path]; // Fixme: index1 can be empty + [contentman clearFileNameCacheForPath:path]; + + if( redraw ) { + [contentman repaintAllWindows]; + } } else { NSLog(@"Unknown command %@", [chunks objectAtIndex:0]); } From e28a7a7ae3ba3b70e305f3040d11c7f7763c205e Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 18 Jul 2014 17:14:33 +0200 Subject: [PATCH 065/133] MacOverlays: Start a 5 seconds timer to try connect if unconn. If mirall is not here, a timer is started to try again later. --- .../MacOSX/LiferayNativityFinder/RequestManager.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m index d4cef0bc8..6a126891e 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m @@ -203,6 +203,9 @@ static RequestManager* sharedInstance = nil; // clear the caches in conent manager ContentManager *contentman = [ContentManager sharedInstance]; [contentman clearFileNameCacheForPath:nil]; + + [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(start) userInfo:nil repeats:NO]; + } From a248fc36fef1c12fe6f34b3ec61bf56d89327c2a Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 18 Jul 2014 17:29:44 +0200 Subject: [PATCH 066/133] Remove user XCode file. --- .../UserInterfaceState.xcuserstate | Bin 33964 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 shell_integration/MacOSX/LiferayNativity.xcworkspace/xcuserdata/mackie.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/shell_integration/MacOSX/LiferayNativity.xcworkspace/xcuserdata/mackie.xcuserdatad/UserInterfaceState.xcuserstate b/shell_integration/MacOSX/LiferayNativity.xcworkspace/xcuserdata/mackie.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 142c9554565740e0323d92861cce36df80beda0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33964 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 l))lQ?tv#*lTQ{}tZr#`Vyep_qK Date: Mon, 28 Jul 2014 15:09:33 +0200 Subject: [PATCH 067/133] SocketAPI: Normalize file names when read from the filesystem. Otherwise there will be bad encoded file names because of a Qt upstream error that skips the normalization. --- src/mirall/socketapi.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 6198bc174..41e079e5d 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -57,7 +57,7 @@ namespace Mirall { namespace SocketApiHelper { -SyncFileStatus fileStatus(Folder *folder, const QString& fileName ); +SyncFileStatus fileStatus(Folder *folder, const QString& systemFileName ); /** * @brief recursiveFolderStatus @@ -79,15 +79,17 @@ SyncFileStatus recursiveFolderStatus(Folder *folder, const QString& fileName ) SyncFileStatus result(SyncFileStatus::STATUS_SYNC); foreach( const QString entry, dirEntries ) { + QString normalizedFile = QString(fileName + QLatin1Char('/') + entry).normalized(QString::NormalizationForm_C); QFileInfo fi(entry); SyncFileStatus sfs; + if( fi.isDir() ) { - sfs = recursiveFolderStatus(folder, fileName + QLatin1Char('/') + entry ); + sfs = recursiveFolderStatus(folder, normalizedFile ); } else { - QString fs( fileName + QLatin1Char('/') + entry ); + QString fs( normalizedFile ); if( fileName.isEmpty() ) { // toplevel, no slash etc. needed. - fs = entry; + fs = entry.normalized(QString::NormalizationForm_C); } sfs = fileStatus(folder, fs ); } @@ -104,11 +106,12 @@ SyncFileStatus recursiveFolderStatus(Folder *folder, const QString& fileName ) /** * Get status about a single file. */ -SyncFileStatus fileStatus(Folder *folder, const QString& fileName ) +SyncFileStatus fileStatus(Folder *folder, const QString& systemFileName ) { // FIXME: Find a way for STATUS_ERROR QString file = folder->path(); + QString fileName = systemFileName.normalized(QString::NormalizationForm_C); bool isSyncRootFolder = true; if( fileName != QLatin1String("/") && !fileName.isEmpty() ) { From 68f0227ca1f5c07a0696ad8902bd4f60d3928e47 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 28 Jul 2014 15:11:19 +0200 Subject: [PATCH 068/133] OverlaysMac: Make use of REGISTER_PATH to learn the synced dirs. --- .../LiferayNativityFinder/RequestManager.m | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m index 6a126891e..ab9600a68 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m @@ -135,20 +135,22 @@ static RequestManager* sharedInstance = nil; if( [[chunks objectAtIndex:0] isEqualToString:@"STATUS"] ) { [contentman setResultForPath:[chunks objectAtIndex:2] result:[chunks objectAtIndex:1]]; } else if( [[chunks objectAtIndex:0] isEqualToString:@"UPDATE_VIEW"] ) { - BOOL redraw = NO; - if( [_registeredPathes count] == 0 ) { - redraw = YES; - } - NSString *path = [chunks objectAtIndex:1]; - NSNumber *one = [NSNumber numberWithInt:1]; - [_registeredPathes setObject:one forKey:path]; - [contentman clearFileNameCacheForPath:path]; - if( redraw ) { - [contentman repaintAllWindows]; - } + [contentman repaintAllWindows]; + } else if( [[chunks objectAtIndex:0 ] isEqualToString:@"REGISTER_PATH"] ) { + NSNumber *one = [NSNumber numberWithInt:1]; + NSString *path = [chunks objectAtIndex:1]; + [_registeredPathes setObject:one forKey:path]; + + [contentman repaintAllWindows]; + } else if( [[chunks objectAtIndex:0 ] isEqualToString:@"UNREGISTER_PATH"] ) { + NSNumber *one = [NSNumber numberWithInt:1]; + NSString *path = [chunks objectAtIndex:1]; + [_registeredPathes removeObjectForKey:path]; + + [contentman repaintAllWindows]; } else { NSLog(@"Unknown command %@", [chunks objectAtIndex:0]); } From 6e00989a9ee161831595a57a5dbd6a78895a662f Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 1 Aug 2014 10:53:28 +0200 Subject: [PATCH 069/133] Add directory MacOSX to cmake processing. --- shell_integration/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/shell_integration/CMakeLists.txt b/shell_integration/CMakeLists.txt index 8f561fbd3..cb8d80f69 100644 --- a/shell_integration/CMakeLists.txt +++ b/shell_integration/CMakeLists.txt @@ -1 +1,2 @@ add_subdirectory(testclient) +add_subdirectory(MacOSX) From 742b036a079b6c372a9da8879c51d198a56f5f93 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 1 Aug 2014 10:54:04 +0200 Subject: [PATCH 070/133] CMake: Follow policy for 2.8.0 (avoid cmake warnings) --- CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 670759dfe..975ea9f24 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,7 @@ cmake_minimum_required(VERSION 2.6) +cmake_policy(VERSION 2.8.0) + project(mirall) set(PACKAGE "mirall") set( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ) From 0a7642dbe0c52d0056545eed177ad7d69bd389f8 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 1 Aug 2014 10:55:31 +0200 Subject: [PATCH 071/133] Mac Package: New shellscript and packages steering file. --- admin/osx/create_mac_pkg.sh | 45 + admin/osx/macosx.pkgproj | 1426 +++++++++++++++++++++++ shell_integration/MacOSX/CMakeLists.txt | 11 + 3 files changed, 1482 insertions(+) create mode 100755 admin/osx/create_mac_pkg.sh create mode 100644 admin/osx/macosx.pkgproj create mode 100644 shell_integration/MacOSX/CMakeLists.txt diff --git a/admin/osx/create_mac_pkg.sh b/admin/osx/create_mac_pkg.sh new file mode 100755 index 000000000..9393998b8 --- /dev/null +++ b/admin/osx/create_mac_pkg.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +# Script to create the Mac installer using the packages tool from +# http://s.sudre.free.fr/Software/Packages/about.html +# + +# the path of installation must be given as parameter +if [ -z "$1" ]; then + echo "ERROR: Provide the CMAKE_INSTALL_DIR to this script." + exit 1 +fi + +prjfile="admin/osx/macosx.pkgproj" +if [ ! -f $prjfile ]; then + echo "ERROR: macosx.pkgproj not in admin dir, start from CMAKE_SOURCE_DIR!" + exit 2 +fi + +pack="admin/ownCloud Installer.pkg" +rm -f $pack + +install_path=$1 + +# The name of the installer package +installer=ownCloud\ Installer.pkg + +# The command line tool of the "Packages" tool, see link above. +pkgbuild=/usr/local/bin/packagesbuild + +$pkgbuild -F $install_path $prjfile +rc=$? + +if [ $rc == 0 ]; then + echo "Successfully created $pack" +else + echo "Failed to create $pack" + exit 3 +fi + +# FIXME: Sign the finished package. +# See http://s.sudre.free.fr/Software/documentation/Packages/en/Project_Configuration.html#5 +# certname=gdbsign +# productsign --cert $certname admin/$installer ./$installer + + diff --git a/admin/osx/macosx.pkgproj b/admin/osx/macosx.pkgproj new file mode 100644 index 000000000..13e2d9e43 --- /dev/null +++ b/admin/osx/macosx.pkgproj @@ -0,0 +1,1426 @@ + + + + + PACKAGES + + + PACKAGE_FILES + + DEFAULT_INSTALL_LOCATION + / + HIERARCHY + + CHILDREN + + + CHILDREN + + + CHILDREN + + GID + 80 + PATH + ../install/owncloud.app + PATH_TYPE + 3 + PERMISSIONS + 493 + TYPE + 3 + UID + 0 + + + CHILDREN + + GID + 80 + PATH + Utilities + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + GID + 80 + PATH + Applications + PATH_TYPE + 0 + PERMISSIONS + 509 + TYPE + 1 + UID + 0 + + + CHILDREN + + + CHILDREN + + GID + 80 + PATH + Application Support + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Documentation + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Filesystems + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Frameworks + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Input Methods + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Internet Plug-Ins + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + LaunchAgents + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + LaunchDaemons + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + PreferencePanes + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Preferences + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 80 + PATH + Printers + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + PrivilegedHelperTools + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + QuickLook + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + QuickTime + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Screen Savers + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Scripts + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Services + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Widgets + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + GID + 0 + PATH + Library + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + + CHILDREN + + + CHILDREN + + GID + 0 + PATH + Extensions + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + GID + 0 + PATH + Library + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + GID + 0 + PATH + System + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + + CHILDREN + + GID + 0 + PATH + Shared + PATH_TYPE + 0 + PERMISSIONS + 1023 + TYPE + 1 + UID + 0 + + + GID + 80 + PATH + Users + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + GID + 0 + PATH + / + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + PAYLOAD_TYPE + 0 + VERSION + 2 + + PACKAGE_SCRIPTS + + POSTINSTALL_PATH + + PREINSTALL_PATH + + RESOURCES + + + PACKAGE_SETTINGS + + AUTHENTICATION + 1 + CONCLUSION_ACTION + 0 + IDENTIFIER + com.ownCloud.client + NAME + ownCloud Client + OVERWRITE_PERMISSIONS + + VERSION + 1.6.2 + + UUID + 7D7219B7-1897-48C3-8533-842BDEC46F71 + + + PACKAGE_FILES + + DEFAULT_INSTALL_LOCATION + / + HIERARCHY + + CHILDREN + + + CHILDREN + + + CHILDREN + + GID + 80 + PATH + Utilities + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + GID + 80 + PATH + Applications + PATH_TYPE + 0 + PERMISSIONS + 509 + TYPE + 1 + UID + 0 + + + CHILDREN + + + CHILDREN + + GID + 80 + PATH + Application Support + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Documentation + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Filesystems + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Frameworks + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Input Methods + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Internet Plug-Ins + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + LaunchAgents + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + LaunchDaemons + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + PreferencePanes + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Preferences + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 80 + PATH + Printers + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + PrivilegedHelperTools + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + QuickLook + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + QuickTime + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Screen Savers + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + + CHILDREN + + + CHILDREN + + GID + 0 + PATH + ../install/Library/ScriptingAdditions/LiferayNativity.osax/Contents + PATH_TYPE + 3 + PERMISSIONS + 493 + TYPE + 3 + UID + 0 + + + GID + 0 + PATH + LiferayNativity.osax + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 2 + UID + 0 + + + GID + 0 + PATH + ScriptingAdditions + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 2 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Scripts + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Services + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + GID + 0 + PATH + Widgets + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + GID + 0 + PATH + Library + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + + CHILDREN + + + CHILDREN + + GID + 0 + PATH + Extensions + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + GID + 0 + PATH + Library + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + GID + 0 + PATH + System + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + CHILDREN + + + CHILDREN + + GID + 0 + PATH + Shared + PATH_TYPE + 0 + PERMISSIONS + 1023 + TYPE + 1 + UID + 0 + + + GID + 80 + PATH + Users + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + + GID + 0 + PATH + / + PATH_TYPE + 0 + PERMISSIONS + 493 + TYPE + 1 + UID + 0 + + PAYLOAD_TYPE + 0 + VERSION + 2 + + PACKAGE_SCRIPTS + + POSTINSTALL_PATH + + PREINSTALL_PATH + + RESOURCES + + + PACKAGE_SETTINGS + + AUTHENTICATION + 1 + CONCLUSION_ACTION + 0 + IDENTIFIER + com.owncCloud.finderPlugin + LOCATION + 0 + NAME + Finder Plugin + OVERWRITE_PERMISSIONS + + VERSION + 1.6.2 + + TYPE + 0 + UUID + 39F61FCD-6EAA-4F3A-81C6-25E3F667DFB5 + + + PROJECT + + PROJECT_COMMENTS + + NOTES + + PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1M + IDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQv + c3RyaWN0LmR0ZCI+CjxodG1sPgo8aGVhZD4KPG1ldGEgaHR0cC1l + cXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7 + IGNoYXJzZXQ9VVRGLTgiPgo8bWV0YSBodHRwLWVxdWl2PSJDb250 + ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3NzIj4KPHRp + dGxlPjwvdGl0bGU+CjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29u + dGVudD0iQ29jb2EgSFRNTCBXcml0ZXIiPgo8bWV0YSBuYW1lPSJD + b2NvYVZlcnNpb24iIGNvbnRlbnQ9IjExMzguNTEiPgo8c3R5bGUg + dHlwZT0idGV4dC9jc3MiPgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5 + Pgo8L2JvZHk+CjwvaHRtbD4K + + + PROJECT_PRESENTATION + + BACKGROUND + + ALIGNMENT + 6 + BACKGROUND_PATH + + PATH + /Users/mackie/owncloud.com/mirall/resources/owncloud_logo_blue.png + PATH_TYPE + 0 + + CUSTOM + 1 + SCALING + 0 + + INSTALLATION TYPE + + HIERARCHIES + + INSTALLER + + LIST + + + DESCRIPTION + + OPTIONS + + HIDDEN + + STATE + 1 + + PACKAGE_UUID + 7D7219B7-1897-48C3-8533-842BDEC46F71 + TITLE + + TOOLTIP + + TYPE + 0 + UUID + 9647ADC0-BD53-4D7D-A561-73D383AACDE1 + + + DESCRIPTION + + OPTIONS + + HIDDEN + + STATE + 1 + + PACKAGE_UUID + 39F61FCD-6EAA-4F3A-81C6-25E3F667DFB5 + TITLE + + TOOLTIP + + TYPE + 0 + UUID + 1D2C47E0-5FD3-4623-B934-1347C66782D0 + + + REMOVED + + + + INSTALLATION TYPE + 0 + + INSTALLATION_STEPS + + + ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS + ICPresentationViewIntroductionController + INSTALLER_PLUGIN + Introduction + LIST_TITLE_KEY + InstallerSectionTitle + + + ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS + ICPresentationViewReadMeController + INSTALLER_PLUGIN + ReadMe + LIST_TITLE_KEY + InstallerSectionTitle + + + ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS + ICPresentationViewLicenseController + INSTALLER_PLUGIN + License + LIST_TITLE_KEY + InstallerSectionTitle + + + ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS + ICPresentationViewDestinationSelectController + INSTALLER_PLUGIN + TargetSelect + LIST_TITLE_KEY + InstallerSectionTitle + + + ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS + ICPresentationViewInstallationTypeController + INSTALLER_PLUGIN + PackageSelection + LIST_TITLE_KEY + InstallerSectionTitle + + + ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS + ICPresentationViewInstallationController + INSTALLER_PLUGIN + Install + LIST_TITLE_KEY + InstallerSectionTitle + + + ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS + ICPresentationViewSummaryController + INSTALLER_PLUGIN + Summary + LIST_TITLE_KEY + InstallerSectionTitle + + + INTRODUCTION + + LOCALIZATIONS + + + LICENSE + + KEYWORDS + + LOCALIZATIONS + + MODE + 0 + + README + + LOCALIZATIONS + + + SUMMARY + + LOCALIZATIONS + + + TITLE + + LOCALIZATIONS + + + LANGUAGE + English + VALUE + ownCloud Client + + + + + PROJECT_REQUIREMENTS + + LIST + + POSTINSTALL_PATH + + PREINSTALL_PATH + + RESOURCES + + ROOT_VOLUME_ONLY + + + PROJECT_SETTINGS + + ADVANCED_OPTIONS + + BUILD_FORMAT + 0 + BUILD_PATH + + PATH + /Users/mackie/owncloud.com/mirall/admin + PATH_TYPE + 0 + + EXCLUDED_FILES + + + PATTERNS_ARRAY + + + REGULAR_EXPRESSION + + STRING + .DS_Store + TYPE + 0 + + + PROTECTED + + PROXY_NAME + Remove .DS_Store files + PROXY_TOOLTIP + Remove ".DS_Store" files created by the Finder. + STATE + + + + PATTERNS_ARRAY + + + REGULAR_EXPRESSION + + STRING + .pbdevelopment + TYPE + 0 + + + PROTECTED + + PROXY_NAME + Remove .pbdevelopment files + PROXY_TOOLTIP + Remove ".pbdevelopment" files created by ProjectBuilder or Xcode. + STATE + + + + PATTERNS_ARRAY + + + REGULAR_EXPRESSION + + STRING + CVS + TYPE + 1 + + + REGULAR_EXPRESSION + + STRING + .cvsignore + TYPE + 0 + + + REGULAR_EXPRESSION + + STRING + .cvspass + TYPE + 0 + + + REGULAR_EXPRESSION + + STRING + .svn + TYPE + 1 + + + REGULAR_EXPRESSION + + STRING + .git + TYPE + 1 + + + REGULAR_EXPRESSION + + STRING + .gitignore + TYPE + 0 + + + PROTECTED + + PROXY_NAME + Remove SCM metadata + PROXY_TOOLTIP + Remove helper files and folders used by the CVS, SVN or Git Source Code Management systems. + STATE + + + + PATTERNS_ARRAY + + + REGULAR_EXPRESSION + + STRING + classes.nib + TYPE + 0 + + + REGULAR_EXPRESSION + + STRING + designable.db + TYPE + 0 + + + REGULAR_EXPRESSION + + STRING + info.nib + TYPE + 0 + + + PROTECTED + + PROXY_NAME + Optimize nib files + PROXY_TOOLTIP + Remove "classes.nib", "info.nib" and "designable.nib" files within .nib bundles. + STATE + + + + PATTERNS_ARRAY + + + REGULAR_EXPRESSION + + STRING + Resources Disabled + TYPE + 1 + + + PROTECTED + + PROXY_NAME + Remove Resources Disabled folders + PROXY_TOOLTIP + Remove "Resources Disabled" folders. + STATE + + + + SEPARATOR + + + + NAME + ownCloud Installer + REFERENCE_FOLDER_PATH + /Users/mackie/install + + + TYPE + 0 + VERSION + 2 + + diff --git a/shell_integration/MacOSX/CMakeLists.txt b/shell_integration/MacOSX/CMakeLists.txt new file mode 100644 index 000000000..12fb33460 --- /dev/null +++ b/shell_integration/MacOSX/CMakeLists.txt @@ -0,0 +1,11 @@ + +if(APPLE) +add_custom_target( mac_overlayplugin ALL + xcodebuild -workspace ${CMAKE_SOURCE_DIR}/shell_integration/MacOSX/LiferayNativity.xcworkspace + -scheme LiferayNativity.osax SYMROOT=${CMAKE_CURRENT_BINARY_DIR} archive + COMMENT building Mac Overlay iccons) + +INSTALL( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Release/LiferayNativity.osax/Contents + DESTINATION ${CMAKE_INSTALL_PREFIX}/Library/ScriptingAdditions/LiferayNativity.osax/ ) +endif(APPLE) + From 327f70240c78e5b48371370e38a7fe7a6d1e39bb Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 1 Aug 2014 14:28:34 +0200 Subject: [PATCH 072/133] GUI: Load the finder overlay icon script on MacOSX. --- src/mirall/owncloudgui.cpp | 40 +++++++++++++++++++++++++++++++++++++- src/mirall/owncloudgui.h | 1 + 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/mirall/owncloudgui.cpp b/src/mirall/owncloudgui.cpp index 7de5c5cb0..c1c5a1e67 100644 --- a/src/mirall/owncloudgui.cpp +++ b/src/mirall/owncloudgui.cpp @@ -84,6 +84,45 @@ ownCloudGui::ownCloudGui(Application *parent) : SLOT(slotShowOptionalTrayMessage(QString,QString))); connect( Logger::instance(), SIGNAL(guiMessage(QString,QString)), SLOT(slotShowGuiMessage(QString,QString))); + + setupOverlayIcons(); +} + +// Use this to do platform specific code to make overlay icons appear +// in the gui +// MacOSX: perform a AppleScript code peace to load the Finder Plugin. + +// "tell application \"Finder\" \ +// try \ +// «event NVTYload» \ +// end try \ +// end tell"; + + +void ownCloudGui::setupOverlayIcons() +{ + + if( Utility::isMac() && QFile::exists("/Library/ScriptingAdditions/LiferayNativity.osax") ) { + QString aScript = QString::fromUtf8("tell application \"Finder\"\n" + " try\n" + " «event NVTYload»\n" + " end try\n" + "end tell\n"); + + QString osascript = "/usr/bin/osascript"; + QStringList processArguments; + // processArguments << "-l" << "AppleScript"; + + QProcess p; + p.start(osascript, processArguments); + p.write(aScript.toUtf8()); + p.closeWriteChannel(); + p.waitForReadyRead(-1); + QByteArray result = p.readAll(); + QString resultAsString(result); // if appropriate + qDebug() << "Laod Finder Overlay-Plugin: " << resultAsString << ": " << p.exitCode() + << (p.exitCode() != 0 ? p.errorString() : QString::null); + } } // This should rather be in application.... or rather in MirallConfigFile? @@ -164,7 +203,6 @@ void ownCloudGui::startupConnected( bool connected, const QStringList& fails ) _startupFails = fails; // store that for the settings dialog once it appears. if( !_settingsDialog.isNull() ) _settingsDialog->setGeneralErrors( _startupFails ); - } void ownCloudGui::slotComputeOverallSyncStatus() diff --git a/src/mirall/owncloudgui.h b/src/mirall/owncloudgui.h index c67e43c21..c042c23fd 100644 --- a/src/mirall/owncloudgui.h +++ b/src/mirall/owncloudgui.h @@ -44,6 +44,7 @@ public: bool checkAccountExists(bool openSettings); static void raiseDialog(QWidget *raiseWidget); + void setupOverlayIcons(); signals: void setupProxy(); From 23269c9a0899de754e5a57bc4a34cb8ebc0c6759 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 1 Aug 2014 15:26:18 +0200 Subject: [PATCH 073/133] Mac Overlays: load icons from the proper place in the system. --- .../MacOSX/LiferayNativityFinder/ContentManager.m | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m index a6ae4b31c..de2b3d971 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m @@ -32,8 +32,7 @@ static ContentManager* sharedInstance = nil; _fileNamesCache = [[NSMutableDictionary alloc] init]; _fileIconsEnabled = TRUE; - // FIXME: Proper path here! - NSString *base = @"/Users/mackie/owncloud.com/mirall/shell_integration/icons/icns/"; + NSString *base = @"/Applications/owncloud.app/Contents/Resources/icons/"; _icnOk = [[IconCache sharedInstance] registerIcon:[base stringByAppendingString:@"ok.icns"]]; _icnSync = [[IconCache sharedInstance] registerIcon:[base stringByAppendingString:@"sync.icns"]]; From 9b3735751338f176f154fa55c7e07b66c37d8988 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 1 Aug 2014 15:30:13 +0200 Subject: [PATCH 074/133] cmake: Add the icons path to cmake, install the Mac icons properly. --- shell_integration/CMakeLists.txt | 2 ++ shell_integration/icons/CMakeLists.txt | 9 +++++++++ 2 files changed, 11 insertions(+) create mode 100644 shell_integration/icons/CMakeLists.txt diff --git a/shell_integration/CMakeLists.txt b/shell_integration/CMakeLists.txt index cb8d80f69..c08efc962 100644 --- a/shell_integration/CMakeLists.txt +++ b/shell_integration/CMakeLists.txt @@ -1,2 +1,4 @@ add_subdirectory(testclient) add_subdirectory(MacOSX) +add_subdirectory(icons) + diff --git a/shell_integration/icons/CMakeLists.txt b/shell_integration/icons/CMakeLists.txt new file mode 100644 index 000000000..3fb7c55ba --- /dev/null +++ b/shell_integration/icons/CMakeLists.txt @@ -0,0 +1,9 @@ + +# Install the Mac icon container into the Mac Bundle. +if( BUILD_OWNCLOUD_OSX_BUNDLE AND NOT BUILD_LIBRARIES_ONLY ) + set (ICON_DIR ${OWNCLOUD_OSX_BUNDLE}/Contents/Resources/icons) + + file(GLOB mac_icons "icns/*icns") + install(FILES ${mac_icons} DESTINATION ${ICON_DIR}) +endif() + From a42e384935c954bc1130b20b1f71f62345a44df9 Mon Sep 17 00:00:00 2001 From: Volkan Gezer Date: Sat, 2 Aug 2014 04:05:10 +0200 Subject: [PATCH 075/133] Use am. eng. since brit. eng. is handled on transifex See https://github.com/owncloud/core/pull/10025#issuecomment-50855986 for info. --- src/mirall/sslerrordialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mirall/sslerrordialog.cpp b/src/mirall/sslerrordialog.cpp index 2193ed3c6..4cd777353 100644 --- a/src/mirall/sslerrordialog.cpp +++ b/src/mirall/sslerrordialog.cpp @@ -191,7 +191,7 @@ QString SslErrorDialog::certDiv( QSslCertificate cert ) const msg += tr("Fingerprint (SHA1): %1").arg(sha1sum) + QL("
    "); msg += QL("
    "); msg += tr("Effective Date: %1").arg( cert.effectiveDate().toString()) + QL("
    "); - msg += tr("Expiry Date: %1").arg( cert.expiryDate().toString()) + QL("

    "); + msg += tr("Expiration Date: %1").arg( cert.expiryDate().toString()) + QL("

    "); msg += QL("" ); From 7f9033f1f18473960f9741e2ac369b49a42f0a19 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Sat, 2 Aug 2014 01:25:24 -0400 Subject: [PATCH 076/133] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 76 ++++++++++++++++++------------------ translations/mirall_cs.ts | 76 ++++++++++++++++++------------------ translations/mirall_de.ts | 76 ++++++++++++++++++------------------ translations/mirall_el.ts | 76 ++++++++++++++++++------------------ translations/mirall_en.ts | 76 ++++++++++++++++++------------------ translations/mirall_es.ts | 76 ++++++++++++++++++------------------ translations/mirall_es_AR.ts | 76 ++++++++++++++++++------------------ translations/mirall_et.ts | 76 ++++++++++++++++++------------------ translations/mirall_eu.ts | 76 ++++++++++++++++++------------------ translations/mirall_fa.ts | 76 ++++++++++++++++++------------------ translations/mirall_fi.ts | 76 ++++++++++++++++++------------------ translations/mirall_fr.ts | 76 ++++++++++++++++++------------------ translations/mirall_gl.ts | 76 ++++++++++++++++++------------------ translations/mirall_hu.ts | 76 ++++++++++++++++++------------------ translations/mirall_it.ts | 76 ++++++++++++++++++------------------ translations/mirall_ja.ts | 76 ++++++++++++++++++------------------ translations/mirall_nl.ts | 76 ++++++++++++++++++------------------ translations/mirall_pl.ts | 76 ++++++++++++++++++------------------ translations/mirall_pt.ts | 76 ++++++++++++++++++------------------ translations/mirall_pt_BR.ts | 76 ++++++++++++++++++------------------ translations/mirall_ru.ts | 76 ++++++++++++++++++------------------ translations/mirall_sk.ts | 76 ++++++++++++++++++------------------ translations/mirall_sl.ts | 76 ++++++++++++++++++------------------ translations/mirall_sv.ts | 76 ++++++++++++++++++------------------ translations/mirall_th.ts | 76 ++++++++++++++++++------------------ translations/mirall_tr.ts | 76 ++++++++++++++++++------------------ translations/mirall_uk.ts | 76 ++++++++++++++++++------------------ translations/mirall_zh_CN.ts | 76 ++++++++++++++++++------------------ translations/mirall_zh_TW.ts | 76 ++++++++++++++++++------------------ 29 files changed, 1102 insertions(+), 1102 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index a7240eda5..620521895 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -375,67 +375,67 @@ Esteu segur que voleu executar aquesta operació? Mirall::FolderMan - + Could not reset folder state No es pot restablir l'estat de la carpeta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. S'ha trobat un diari de sincronització antic '%1', però no s'ha pogut eliminar. Assegureu-vos que no hi ha cap aplicació que actualment en faci ús. - + Undefined State. Estat indefinit. - + Waits to start syncing. Espera per començar la sincronització. - + Preparing for sync. Perparant per la sincronització. - + Sync is running. S'està sincronitzant. - + Server is currently not available. El servidor no està disponible actualment. - + Last Sync was successful. La darrera sincronització va ser correcta. - + Last Sync was successful, but with warnings on individual files. La última sincronització ha estat un èxit, però amb avisos en fitxers individuals. - + Setup Error. Error de configuració. - + User Abort. Cancel·la usuari. - + Sync is paused. La sincronització està en pausa. - + %1 (Sync is paused) %1 (Sync està pausat) @@ -2030,127 +2030,127 @@ Proveu de sincronitzar-los de nou. Mirall::ownCloudGui - + Please sign in Acrediteu-vos - + Disconnected from server Desconnectat del servidor - + Folder %1: %2 Carpeta %1: %2 - + No sync folders configured. No hi ha fitxers de sincronització configurats - + None. Cap. - + Recent Changes Canvis recents - + Open %1 folder Obre la carpeta %1 - + Managed Folders: Fitxers gestionats: - + Open folder '%1' Obre carpeta '%1' - + Open %1 in browser Obre %1 en el navegador - + Calculating quota... Calculant la quota... - + Unknown status Estat desconegut - + Settings... Arranjament... - + Details... Detalls... - + Help Ajuda - + Quit %1 Surt %1 - + Sign in... Acredita... - + Sign out Surt - + Quota n/a Quota n/d - + %1% of %2 in use %1 de %2 en ús - + No items synced recently No hi ha elements sincronitzats recentment - + Syncing %1 of %2 (%3 left) Sincronitzant %1 de %2 (%3 pendents) - + Syncing %1 (%2 left) Sincronitzant %1 (%2 pendents) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Actualitzat diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index fc47e187b..f2d58ee04 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -375,67 +375,67 @@ Opravdu chcete provést tuto akci? Mirall::FolderMan - + Could not reset folder state Nelze obnovit stav složky - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Byl nalezen starý záznam synchronizace '%1', ale nebylo možné jej odebrat. Ujistěte se, že není aktuálně používán jinou aplikací. - + Undefined State. Nedefinovaný stav. - + Waits to start syncing. Vyčkává na spuštění synchronizace. - + Preparing for sync. Příprava na synchronizaci. - + Sync is running. Synchronizace probíhá. - + Server is currently not available. Server je nyní nedostupný. - + Last Sync was successful. Poslední synchronizace byla úspěšná. - + Last Sync was successful, but with warnings on individual files. Poslední synchronizace byla úspěšná, ale s varováním u některých souborů - + Setup Error. Chyba nastavení. - + User Abort. Zrušení uživatelem. - + Sync is paused. Synchronizace pozastavena. - + %1 (Sync is paused) %1 (Synchronizace je pozastavena) @@ -2031,127 +2031,127 @@ Zkuste provést novou synchronizaci. Mirall::ownCloudGui - + Please sign in Přihlašte se prosím - + Disconnected from server Odpojen od serveru - + Folder %1: %2 Složka %1: %2 - + No sync folders configured. Nejsou nastaveny žádné synchronizované složky. - + None. Nic. - + Recent Changes Poslední změny - + Open %1 folder Otevřít složku %1 - + Managed Folders: Spravované složky: - + Open folder '%1' Otevřít složku '%1' - + Open %1 in browser Otevřít %1 v prohlížeči - + Calculating quota... Počítám kvóty... - + Unknown status Neznámý stav - + Settings... Nastavení... - + Details... Podrobnosti... - + Help Nápověda - + Quit %1 Ukončit %1 - + Sign in... Přihlásit... - + Sign out Odhlásit - + Quota n/a Kvóta nedostupná - + %1% of %2 in use %1% z %2 v používání - + No items synced recently Žádné položky nebyly nedávno synchronizovány - + Syncing %1 of %2 (%3 left) Synchronizuji %1 ze %2 (zbývá %3) - + Syncing %1 (%2 left) Synchronizuji %1 (zbývá %2) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aktuální diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index 001c35b58..44693088d 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -376,67 +376,67 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Mirall::FolderMan - + Could not reset folder state Konnte Ordner-Zustand nicht zurücksetzen - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Ein altes Synchronisations-Journal '%1' wurde gefunden, konnte jedoch nicht entfernt werden. Bitte stellen Sie sicher, dass keine Anwendung es verwendet. - + Undefined State. Undefinierter Zustand. - + Waits to start syncing. Wartet auf Beginn der Synchronistation - + Preparing for sync. Synchronisation wird vorbereitet. - + Sync is running. Synchronisation läuft. - + Server is currently not available. Der Server ist momentan nicht erreichbar. - + Last Sync was successful. Die letzte Synchronisation war erfolgreich. - + Last Sync was successful, but with warnings on individual files. Letzte Synchronisation war erfolgreich, aber mit Warnungen für einzelne Dateien. - + Setup Error. Setup-Fehler. - + User Abort. Benutzer-Abbruch - + Sync is paused. Synchronisation wurde angehalten. - + %1 (Sync is paused) %1 (Synchronisation ist pausiert) @@ -2031,127 +2031,127 @@ Versuchen Sie diese nochmals zu synchronisieren. Mirall::ownCloudGui - + Please sign in Bitte melden Sie sich an - + Disconnected from server Vom Server getrennt - + Folder %1: %2 Ordner %1: %2 - + No sync folders configured. Keine Sync-Ordner konfiguriert. - + None. Keine. - + Recent Changes Letzte Änderungen - + Open %1 folder Ordner %1 öffnen - + Managed Folders: Verwaltete Ordner: - + Open folder '%1' Ordner '%1' öffnen - + Open %1 in browser %1 im Browser öffnen - + Calculating quota... Berechne Quote... - + Unknown status Unbekannter Status - + Settings... Einstellungen - + Details... Details... - + Help Hilfe - + Quit %1 %1 beenden - + Sign in... Anmeldung... - + Sign out Abmeldung - + Quota n/a Quote unbekannt - + %1% of %2 in use %1% von %2 benutzt - + No items synced recently Keine kürzlich synchronisierten Elemente - + Syncing %1 of %2 (%3 left) Synchronisiere %1 von %2 (%3 übrig) - + Syncing %1 (%2 left) Synchronisiere %1 (%2 übrig) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aktuell diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 28a488f90..d6c0b2669 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -376,67 +376,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Δεν ήταν δυνατό να επαναφερθεί η κατάσταση του φακέλου - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Βρέθηκε ένα παλαιότερο αρχείο συγχρονισμού '%1', αλλά δεν μπόρεσε να αφαιρεθεί. Παρακαλώ βεβαιωθείτε ότι καμμία εφαρμογή δεν το χρησιμοποιεί αυτή τη στιγμή. - + Undefined State. Απροσδιόριστη Κατάσταση. - + Waits to start syncing. Αναμονή έναρξης συγχρονισμού. - + Preparing for sync. Προετοιμασία για συγχρονισμό. - + Sync is running. Ο συγχρονισμός εκτελείται. - + Server is currently not available. Ο διακομιστής δεν είναι διαθέσιμος προς το παρόν. - + Last Sync was successful. Ο τελευταίος συγχρονισμός ήταν επιτυχής. - + Last Sync was successful, but with warnings on individual files. Ο τελευταίος συγχρονισμός ήταν επιτυχής, αλλά υπήρχαν προειδοποιήσεις σε συγκεκριμένα αρχεία. - + Setup Error. Σφάλμα Ρύθμισης. - + User Abort. Ματαίωση από Χρήστη. - + Sync is paused. Παύση συγχρονισμού. - + %1 (Sync is paused) %1 (Παύση συγχρονισμού) @@ -2031,127 +2031,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in Παρκαλώ συνδεθείτε - + Disconnected from server Αποσύνδεση από το διακομιστή - + Folder %1: %2 Φάκελος %1: %2 - + No sync folders configured. Δεν έχουν οριστεί φάκελοι συγχρονισμού. - + None. Κανένας. - + Recent Changes Πρόσφατες Αλλαγές - + Open %1 folder Άνοιγμα %1 φακέλου - + Managed Folders: Φάκελοι υπό Διαχείριση: - + Open folder '%1' Άνοιγμα φακέλου '%1' - + Open %1 in browser Άνοιγμα %1 στον περιηγητή - + Calculating quota... Υπολογισμός μεριδίου χώρου αποθήκευσης... - + Unknown status Άγνωστη κατάσταση - + Settings... Ρυθμίσεις... - + Details... Λεπτομέρειες... - + Help Βοήθεια - + Quit %1 Κλείσιμο %1 - + Sign in... Σύνδεση... - + Sign out Αποσύνδεση - + Quota n/a Μερίδιο χώρου αποθήκευσης μ/δ - + %1% of %2 in use %1% από %2 σε χρήση - + No items synced recently Κανένα στοιχείο δεν συγχρονίστηκε πρόσφατα - + Syncing %1 of %2 (%3 left) Συγχρονισμός %1 από %2 (%3 απομένουν) - + Syncing %1 (%2 left) Συγχρονισμός %1 (%2 απομένουν) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Ενημερωμένο diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index b3fef462f..a82b81488 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. - + Waits to start syncing. - + Preparing for sync. - + Sync is running. - + Server is currently not available. - + Last Sync was successful. - + Last Sync was successful, but with warnings on individual files. - + Setup Error. - + User Abort. - + Sync is paused. - + %1 (Sync is paused) @@ -2022,127 +2022,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in - + Disconnected from server - + Folder %1: %2 - + No sync folders configured. - + None. - + Recent Changes - + Open %1 folder - + Managed Folders: - + Open folder '%1' - + Open %1 in browser - + Calculating quota... - + Unknown status - + Settings... - + Details... - + Help - + Quit %1 - + Sign in... - + Sign out - + Quota n/a - + %1% of %2 in use - + No items synced recently - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 4c20a1333..c67f58bfb 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -375,67 +375,67 @@ Está seguro de que desea realizar esta operación? Mirall::FolderMan - + Could not reset folder state No se ha podido restablecer el estado de la carpeta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Un antiguo registro (journal) de sincronización '%1' se ha encontrado, pero no se ha podido eliminar. Por favor asegúrese que ninguna aplicación la está utilizando. - + Undefined State. Estado no definido. - + Waits to start syncing. Esperando el inicio de la sincronización. - + Preparing for sync. Preparándose para sincronizar. - + Sync is running. Sincronización en funcionamiento. - + Server is currently not available. El servidor no está disponible en el momento - + Last Sync was successful. La última sincronización fue exitosa. - + Last Sync was successful, but with warnings on individual files. La última sincronización fue exitosa pero con advertencias para archivos individuales. - + Setup Error. Error de configuración. - + User Abort. Interrumpir. - + Sync is paused. La sincronización está en pausa. - + %1 (Sync is paused) %1 (Sincronización en pausa) @@ -2030,127 +2030,127 @@ Intente sincronizar los archivos nuevamente. Mirall::ownCloudGui - + Please sign in Por favor Registrese - + Disconnected from server Desconectado del servidor - + Folder %1: %2 Archivo %1: %2 - + No sync folders configured. No hay carpetas de sincronización configuradas. - + None. Ninguno. - + Recent Changes Cambios recientes - + Open %1 folder Abrir carpeta %1 - + Managed Folders: Carpetas administradas: - + Open folder '%1' Abrir carpeta '%1' - + Open %1 in browser Abrir %1 en el navegador - + Calculating quota... Calculando cuota... - + Unknown status Estado desconocido - + Settings... Configuraciones... - + Details... Detalles... - + Help Ayuda - + Quit %1 Salir de %1 - + Sign in... Registrarse... - + Sign out Salir - + Quota n/a Cuota no disponible - + %1% of %2 in use %1% de %2 en uso - + No items synced recently No se han sincronizado elementos recientemente - + Syncing %1 of %2 (%3 left) Sincronizando %1 de %2 (quedan %3) - + Syncing %1 (%2 left) Sincronizando %1 (quedan %2) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Actualizado diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index c506ca8f6..421467053 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -374,67 +374,67 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Mirall::FolderMan - + Could not reset folder state No se pudo - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Una antigua sincronización con journaling '%1' fue encontrada, pero no se pudo eliminar. Por favor, asegurate que ninguna aplicación la está utilizando. - + Undefined State. Estado no definido. - + Waits to start syncing. Esperando el comienzo de la sincronización. - + Preparing for sync. Preparando la sincronización. - + Sync is running. Sincronización en funcionamiento. - + Server is currently not available. El servidor actualmente no está disponible. - + Last Sync was successful. La última sincronización fue exitosa. - + Last Sync was successful, but with warnings on individual files. El último Sync fue exitoso, pero hubo advertencias en archivos individuales. - + Setup Error. Error de configuración. - + User Abort. Interrumpir. - + Sync is paused. La sincronización está en pausa. - + %1 (Sync is paused) %1 (Sincronización en pausa) @@ -2025,127 +2025,127 @@ Intente sincronizar estos nuevamente. Mirall::ownCloudGui - + Please sign in Por favor, inicie sesión - + Disconnected from server - + Folder %1: %2 Directorio %1: %2 - + No sync folders configured. Los directorios de sincronización no están configurados. - + None. Ninguno. - + Recent Changes Cambios recientes - + Open %1 folder Abrir directorio %1 - + Managed Folders: Directorios administrados: - + Open folder '%1' Abrir carpeta '%1' - + Open %1 in browser Abrir %1 en el navegador... - + Calculating quota... Calculando cuota... - + Unknown status Estado desconocido - + Settings... Configuraciones... - + Details... Detalles... - + Help Ayuda - + Quit %1 Cancelar %1 - + Sign in... Iniciando sesión... - + Sign out Salir - + Quota n/a Cuota no disponible - + %1% of %2 in use %1% de %2 en uso - + No items synced recently No se sincronizaron elementos recientemente - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date actualizado diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 7a014a4af..8348c4fed 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -375,67 +375,67 @@ Oled kindel, et soovid seda operatsiooni teostada? Mirall::FolderMan - + Could not reset folder state Ei suutnud tühistada kataloogi staatust - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Leiti vana sünkroniseeringu zurnaal '%1', kuid selle eemaldamine ebaõnnenstus. Palun veendu, et seda kasutaks ükski programm. - + Undefined State. Määramata staatus. - + Waits to start syncing. Ootab sünkroniseerimise alustamist. - + Preparing for sync. Valmistun sünkroniseerima. - + Sync is running. Sünkroniseerimine on käimas. - + Server is currently not available. Server pole hetkel saadaval. - + Last Sync was successful. Viimane sünkroniseerimine oli edukas. - + Last Sync was successful, but with warnings on individual files. Viimane sünkroniseering oli edukas, kuid mõned failid põhjustasid tõrkeid. - + Setup Error. Seadistamise viga. - + User Abort. Kasutaja tühistamine. - + Sync is paused. Sünkroniseerimine on peatatud. - + %1 (Sync is paused) %1 (Sünkroniseerimine on peatatud) @@ -2030,127 +2030,127 @@ Proovi neid uuesti sünkroniseerida. Mirall::ownCloudGui - + Please sign in Palun logi sisse - + Disconnected from server Serverist lahtiühendatud - + Folder %1: %2 Kaust %1: %2 - + No sync folders configured. Sünkroniseeritavaid kaustasid pole seadistatud. - + None. Pole. - + Recent Changes Hiljutised muudatused - + Open %1 folder Ava kaust %1 - + Managed Folders: Hallatavad kaustad: - + Open folder '%1' Ava kaust '%1' - + Open %1 in browser Ava %1 veebilehitsejas - + Calculating quota... Mahupiiri arvutamine... - + Unknown status Tundmatu staatus - + Settings... Seaded... - + Details... Üksikasjad... - + Help Abiinfo - + Quit %1 Lõpeta %1 - + Sign in... Logi sisse... - + Sign out Logi välja - + Quota n/a Mahupiir n/a - + %1% of %2 in use Kasutusel %1% / %2 - + No items synced recently Ühtegi üksust pole hiljuti sünkroniseeritud - + Syncing %1 of %2 (%3 left) Sünkroniseerin %1 %2-st (%3 veel) - + Syncing %1 (%2 left) Sünkroniseerin %1 (%2 veel) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Ajakohane diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 7d9aef5d3..06ab92363 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -375,67 +375,67 @@ Ziur zaude eragiketa hau egin nahi duzula? Mirall::FolderMan - + Could not reset folder state Ezin izan da karpetaren egoera berrezarri - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Aurkitu da '%1' sinkronizazio erregistro zaharra, baina ezin da ezabatu. Ziurtatu aplikaziorik ez dela erabiltzen ari. - + Undefined State. Definitu gabeko egoera. - + Waits to start syncing. Itxoiten sinkronizazioa hasteko. - + Preparing for sync. Sinkronizazioa prestatzen. - + Sync is running. Sinkronizazioa martxan da. - + Server is currently not available. Zerbitzaria orain ez dago eskuragarri. - + Last Sync was successful. Azkeneko sinkronizazioa ongi burutu zen. - + Last Sync was successful, but with warnings on individual files. Azkenengo sinkronizazioa ongi burutu zen, baina banakako fitxategi batzuetan abisuak egon dira. - + Setup Error. Konfigurazio errorea. - + User Abort. Erabiltzaileak bertan behera utzi. - + Sync is paused. Sinkronizazioa pausatuta dago. - + %1 (Sync is paused) %1 (Sinkronizazioa pausatuta dago) @@ -2026,127 +2026,127 @@ Saiatu horiek berriz sinkronizatzen. Mirall::ownCloudGui - + Please sign in Mesedez saioa hasi - + Disconnected from server - + Folder %1: %2 - + No sync folders configured. Ez dago sinkronizazio karpetarik definituta. - + None. Bat ere ez. - + Recent Changes Azkenengo Aldaketak - + Open %1 folder Ireki %1 karpeta - + Managed Folders: Kudeatutako karpetak: - + Open folder '%1' Ireki '%1' karpeta - + Open %1 in browser Ireki %1 arakatzailean - + Calculating quota... - + Unknown status Egoera ezezaguna - + Settings... Ezarpenak... - + Details... Xehetasunak... - + Help Laguntza - + Quit %1 %1etik Irten - + Sign in... Saioa hasi... - + Sign out Saioa bukatu - + Quota n/a - + %1% of %2 in use %2tik %%1 erabilita - + No items synced recently Ez da azken aldian ezer sinkronizatu - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Eguneratua diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 848e5a9de..bfaec0503 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state نمی تواند حالت پوشه را تنظیم مجدد کند - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. موقعیت تعریف نشده - + Waits to start syncing. صبر کنید تا همگام سازی آغاز شود - + Preparing for sync. - + Sync is running. همگام سازی در حال اجراست - + Server is currently not available. - + Last Sync was successful. آخرین همگام سازی موفقیت آمیز بود - + Last Sync was successful, but with warnings on individual files. - + Setup Error. خطا در پیکر بندی. - + User Abort. - + Sync is paused. همگام سازی فعلا متوقف شده است - + %1 (Sync is paused) @@ -2020,127 +2020,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in - + Disconnected from server - + Folder %1: %2 پوشه %1: %2 - + No sync folders configured. هیچ پوشه ای همگام سازی شده‌ای تنظیم نشده است - + None. - + Recent Changes - + Open %1 folder بازکردن %1 پوشه - + Managed Folders: پوشه های مدیریت شده: - + Open folder '%1' - + Open %1 in browser - + Calculating quota... - + Unknown status - + Settings... - + Details... - + Help راه‌نما - + Quit %1 - + Sign in... - + Sign out - + Quota n/a - + %1% of %2 in use - + No items synced recently - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date تا تاریخ diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 3008ca970..0be34f49a 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -373,67 +373,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Kansion tilaa ei voitu alustaa - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Määrittelemätön tila. - + Waits to start syncing. Odottaa synkronoinnin alkamista. - + Preparing for sync. Valmistellaan synkronointia. - + Sync is running. Synkronointi on meneillään. - + Server is currently not available. Palvelin ei ole käytettävissä. - + Last Sync was successful. Viimeisin synkronointi suoritettiin onnistuneesti. - + Last Sync was successful, but with warnings on individual files. Viimeisin synkronointi onnistui, mutta yksittäisten tiedostojen kanssa ilmeni varoituksia. - + Setup Error. Asetusvirhe. - + User Abort. - + Sync is paused. Synkronointi on keskeytetty. - + %1 (Sync is paused) %1 (Synkronointi on keskeytetty) @@ -2025,127 +2025,127 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::ownCloudGui - + Please sign in Kirjaudu sisään - + Disconnected from server Yhteys palvelimeen katkaistu - + Folder %1: %2 Kansio %1: %2 - + No sync folders configured. Synkronointikansioita ei ole määritetty. - + None. - + Recent Changes Viimeisimmät muutokset - + Open %1 folder Avaa %1-kansio - + Managed Folders: Hallitut kansiot: - + Open folder '%1' Avaa kansio '%1' - + Open %1 in browser Avaa %1 selaimeen - + Calculating quota... Lasketaan kiintiötä... - + Unknown status Tuntematon tila - + Settings... Asetukset... - + Details... Tiedot... - + Help Ohje - + Quit %1 Lopeta %1 - + Sign in... Kirjaudu sisään... - + Sign out Kirjaudu ulos - + Quota n/a - + %1% of %2 in use %1%/%2 käytössä - + No items synced recently Kohteita ei ole synkronoitu äskettäin - + Syncing %1 of %2 (%3 left) Synkronoidaan %1/%2 (%3 jäljellä) - + Syncing %1 (%2 left) Synkronoidaan %1 (%2 jäljellä) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Ajan tasalla diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index 7784698bd..c4930f5a4 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -375,67 +375,67 @@ Voulez-vous réellement effectuer cette opération ? Mirall::FolderMan - + Could not reset folder state Impossible de réinitialiser l'état du dossier - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Une synchronisation antérieure du journal de %1 a été trouvée, mais ne peut être supprimée. Veuillez vous assurer qu’aucune application n'est utilisée en ce moment. - + Undefined State. Statut indéfini. - + Waits to start syncing. En attente de synchronisation. - + Preparing for sync. Préparation de la synchronisation. - + Sync is running. La synchronisation est en cours. - + Server is currently not available. Le serveur est indisponible actuellement. - + Last Sync was successful. Dernière synchronisation effectuée avec succès - + Last Sync was successful, but with warnings on individual files. La dernière synchronisation s'est achevée avec succès mais avec des messages d'avertissement sur des fichiers individuels. - + Setup Error. Erreur d'installation. - + User Abort. Abandon par l'utilisateur. - + Sync is paused. La synchronisation est en pause. - + %1 (Sync is paused) %1 (Synchronisation en pause) @@ -2030,127 +2030,127 @@ Il est déconseillé de l'utiliser. Mirall::ownCloudGui - + Please sign in Veuillez vous connecter - + Disconnected from server Déconnecte du serveur - + Folder %1: %2 Dossier %1 : %2 - + No sync folders configured. Aucun répertoire synchronisé n'est configuré. - + None. Aucun. - + Recent Changes Modifications récentes - + Open %1 folder Ouvrir le répertoire %1 - + Managed Folders: Répertoires suivis : - + Open folder '%1' Ouvrir le dossier '%1' - + Open %1 in browser Ouvrir %1 dans le navigateur - + Calculating quota... Calcul du quota... - + Unknown status Statut inconnu - + Settings... Paramètres... - + Details... Détails... - + Help Aide - + Quit %1 Quitter %1 - + Sign in... Se connecter... - + Sign out Se déconnecter - + Quota n/a Quota n/a - + %1% of %2 in use %1% de %2 occupés - + No items synced recently Aucun item synchronisé récemment - + Syncing %1 of %2 (%3 left) Synchronisation %1 de %2 (%3 restant) - + Syncing %1 (%2 left) Synchronisation %1 (%2 restant) - + %1 (%2, %3) %1 (%2, %3) - + Up to date À jour diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index eca8d8337..302b86440 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -375,67 +375,67 @@ Confirma que quere realizar esta operación? Mirall::FolderMan - + Could not reset folder state Non foi posíbel restabelecer o estado do cartafol - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Atopouse un rexistro de sincronización antigo en «%1» máis non pode ser retirado. Asegúrese de que non o está a usar ningún aplicativo. - + Undefined State. Estado sen definir. - + Waits to start syncing. Agardando polo comezo da sincronización. - + Preparing for sync. Preparando para sincronizar. - + Sync is running. Estase sincronizando. - + Server is currently not available. O servidor non está dispoñíbel actualmente. - + Last Sync was successful. A última sincronización fíxose correctamente. - + Last Sync was successful, but with warnings on individual files. A última sincronización fíxose correctamente, mais con algún aviso en ficheiros individuais. - + Setup Error. Erro de configuración. - + User Abort. Interrompido polo usuario. - + Sync is paused. Sincronización en pausa. - + %1 (Sync is paused) %1 (sincronización en pausa) @@ -2030,127 +2030,127 @@ Tente sincronizalos de novo. Mirall::ownCloudGui - + Please sign in Ten que rexistrarse - + Disconnected from server Desconectado do servidor - + Folder %1: %2 Cartafol %1: %2 - + No sync folders configured. Non se configuraron cartafoles de sincronización. - + None. Nada. - + Recent Changes Cambios recentes - + Open %1 folder Abrir o cartafol %1 - + Managed Folders: Cartafoles xestionados: - + Open folder '%1' Abrir o cartafol «%1» - + Open %1 in browser Abrir %1 nun navegador - + Calculating quota... Calculando a cota... - + Unknown status Estado descoñecido - + Settings... Axustes... - + Details... Detalles... - + Help Axuda - + Quit %1 Saír de %1 - + Sign in... Rexistrarse... - + Sign out Saír - + Quota n/a Cota n/d - + %1% of %2 in use Usado %1% de %2 - + No items synced recently Non hai elementos sincronizados recentemente - + Syncing %1 of %2 (%3 left) Sincronizando %1 of %2 (restan %3) - + Syncing %1 (%2 left) Sincronizando %1 (restan %2) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Actualizado diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index 9dfaeaaf5..0613100af 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Ismeretlen állapot. - + Waits to start syncing. Várakozás a szinkronizálás elindítására. - + Preparing for sync. Előkészítés szinkronizációhoz. - + Sync is running. Szinkronizálás fut. - + Server is currently not available. A kiszolgáló jelenleg nem érhető el. - + Last Sync was successful. Legutolsó szinkronizálás sikeres volt. - + Last Sync was successful, but with warnings on individual files. - + Setup Error. Beállítás hiba. - + User Abort. - + Sync is paused. Szinkronizálás megállítva. - + %1 (Sync is paused) @@ -2020,127 +2020,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in Belépés szükséges - + Disconnected from server - + Folder %1: %2 Mappa %1: %2 - + No sync folders configured. Nincsenek megadva szinkronizálandó mappák. - + None. Nincs - + Recent Changes Legutóbbi változások - + Open %1 folder %1 mappa megnyitása - + Managed Folders: Kezelt mappák: - + Open folder '%1' - + Open %1 in browser - + Calculating quota... Kvóta kiszámítása... - + Unknown status Ismeretlen állapot - + Settings... Beállítások... - + Details... Részletek... - + Help Súgó - + Quit %1 - + Sign in... Belépés... - + Sign out Kilépés - + Quota n/a Kvóta n/a - + %1% of %2 in use - + No items synced recently - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date Frissítve diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index dbe3c5c92..f2033ea18 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -375,67 +375,67 @@ Sei sicuro di voler eseguire questa operazione? Mirall::FolderMan - + Could not reset folder state Impossibile ripristinare lo stato della cartella - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. È stato trovato un vecchio registro di sincronizzazione '%1', ma non può essere rimosso. Assicurati che nessuna applicazione lo stia utilizzando. - + Undefined State. Stato non definito. - + Waits to start syncing. Attende l'inizio della sincronizzazione. - + Preparing for sync. Preparazione della sincronizzazione. - + Sync is running. La sincronizzazione è in corso. - + Server is currently not available. Il server è attualmente non disponibile. - + Last Sync was successful. L'ultima sincronizzazione è stato completata correttamente. - + Last Sync was successful, but with warnings on individual files. Ultima sincronizzazione avvenuta, ma con avvisi relativi a singoli file. - + Setup Error. Errore di configurazione. - + User Abort. Interrotto dall'utente. - + Sync is paused. La sincronizzazione è sospesa. - + %1 (Sync is paused) %1 (La sincronizzazione è sospesa) @@ -2029,127 +2029,127 @@ Prova a sincronizzare nuovamente. Mirall::ownCloudGui - + Please sign in Accedi - + Disconnected from server Disconnesso dal server - + Folder %1: %2 Cartella %1: %2 - + No sync folders configured. Nessuna cartella configurata per la sincronizzazione. - + None. Nessuna. - + Recent Changes Modifiche recenti - + Open %1 folder Apri la cartella %1 - + Managed Folders: Cartelle gestite: - + Open folder '%1' Apri la cartella '%1' - + Open %1 in browser Apri %1 nel browser... - + Calculating quota... Calcolo quota in corso... - + Unknown status Stato sconosciuto - + Settings... Impostazioni... - + Details... Dettagli... - + Help Aiuto - + Quit %1 Esci da %1 - + Sign in... Accedi... - + Sign out Esci - + Quota n/a Quota n/d - + %1% of %2 in use %1% di %2 utilizzati - + No items synced recently Nessun elemento sincronizzato di recente - + Syncing %1 of %2 (%3 left) Sincronizzazione di %1 di %2 (%3 rimanenti) - + Syncing %1 (%2 left) Sincronizzazione di %1 (%2 rimanenti) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aggiornato diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index 37e4a30ed..af642f3c6 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -375,67 +375,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state フォルダーの状態をリセットできませんでした - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 古い同期ジャーナル '%1' が見つかりましたが、削除できませんでした。それを現在使用しているアプリケーションが存在しないか確認してください。 - + Undefined State. 未定義の状態。 - + Waits to start syncing. 同期開始を待機中 - + Preparing for sync. 同期の準備中。 - + Sync is running. 同期を実行中です。 - + Server is currently not available. サーバーは現在利用できません。 - + Last Sync was successful. 最後の同期は成功しました。 - + Last Sync was successful, but with warnings on individual files. 最新の同期は成功しました。しかし、いくつかのファイルで問題がありました。 - + Setup Error. 設定エラー。 - + User Abort. ユーザーによる中止。 - + Sync is paused. 同期を一時停止しました。 - + %1 (Sync is paused) %1 (同期を一時停止) @@ -2028,127 +2028,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in サインインしてください - + Disconnected from server サーバーから切断しました - + Folder %1: %2 フォルダー %1: %2 - + No sync folders configured. 同期フォルダーが設定されていません。 - + None. なし - + Recent Changes 最近変更されたファイル - + Open %1 folder %1 フォルダーを開く - + Managed Folders: 管理フォルダー: - + Open folder '%1' フォルダー ’%1’ を開く - + Open %1 in browser %1をブラウザーで開く - + Calculating quota... クォータを計算中... - + Unknown status 不明な状態 - + Settings... 設定 - + Details... 詳細... - + Help ヘルプ - + Quit %1 %1 を終了 - + Sign in... サインイン... - + Sign out サインアウト - + Quota n/a クォータ n/a - + %1% of %2 in use %2 のうち %1% を使用中 - + No items synced recently 最近同期されたアイテムはありません。 - + Syncing %1 of %2 (%3 left) 同期中 %2 中 %1 (残り %3) - + Syncing %1 (%2 left) 同期中 %1 (残り %2) - + %1 (%2, %3) %1 (%2, %3) - + Up to date 最新です diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index abc415a3e..96496ad20 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -375,67 +375,67 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Mirall::FolderMan - + Could not reset folder state Kan de beginstaat van de map niet terugzetten - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Een oud synchronisatieverslag '%1' is gevonden maar kan niet worden verwijderd. Zorg ervoor dat geen applicatie dit bestand gebruikt. - + Undefined State. Ongedefiniëerde staat - + Waits to start syncing. In afwachting van synchronisatie. - + Preparing for sync. Synchronisatie wordt voorbereid - + Sync is running. Bezig met synchroniseren. - + Server is currently not available. De server is nu niet beschikbaar. - + Last Sync was successful. Laatste synchronisatie was succesvol. - + Last Sync was successful, but with warnings on individual files. Laatste synchronisatie geslaagd, maar met waarschuwingen over individuele bestanden. - + Setup Error. Installatiefout. - + User Abort. Afgebroken door gebruiker. - + Sync is paused. Synchronisatie gepauzeerd. - + %1 (Sync is paused) %1 (Synchronisatie onderbroken) @@ -2030,127 +2030,127 @@ Probeer opnieuw te synchroniseren. Mirall::ownCloudGui - + Please sign in Log alstublieft in - + Disconnected from server Verbinding met server verbroken - + Folder %1: %2 Map %1: %2 - + No sync folders configured. Geen synchronisatie-mappen geconfigureerd. - + None. Geen. - + Recent Changes Recente wijzigingen - + Open %1 folder Open %1 map - + Managed Folders: Beheerde mappen: - + Open folder '%1' Open map '%1' - + Open %1 in browser Open %1 in browser - + Calculating quota... Quota worden berekend ... - + Unknown status Onbekende status - + Settings... Instellingen... - + Details... Details ... - + Help Help - + Quit %1 %1 afsluiten - + Sign in... Inloggen... - + Sign out Uitloggen - + Quota n/a Quota niet beschikbaar - + %1% of %2 in use %1% van %2 gebruikt - + No items synced recently Recent niets gesynchroniseerd - + Syncing %1 of %2 (%3 left) Sync %1 van %2 (%3 over) - + Syncing %1 (%2 left) Sync %1 (%2 over) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Bijgewerkt diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index 02ea53f06..dfb11169c 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -375,67 +375,67 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Mirall::FolderMan - + Could not reset folder state Nie udało się zresetować stanu folderu - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Stary sync journal '%1' został znaleziony, lecz nie mógł być usunięty. Proszę się upewnić, że żaden program go obecnie nie używa. - + Undefined State. Niezdefiniowany stan - + Waits to start syncing. Czekają na uruchomienie synchronizacji. - + Preparing for sync. Przygotowuję do synchronizacji - + Sync is running. Synchronizacja w toku - + Server is currently not available. Serwer jest obecnie niedostępny. - + Last Sync was successful. Ostatnia synchronizacja zakończona powodzeniem. - + Last Sync was successful, but with warnings on individual files. Ostatnia synchronizacja udana, ale istnieją ostrzeżenia z pojedynczymi plikami. - + Setup Error. Błąd ustawień. - + User Abort. Użytkownik anulował. - + Sync is paused. Synchronizacja wstrzymana - + %1 (Sync is paused) %1 (Synchronizacja jest zatrzymana) @@ -2030,127 +2030,127 @@ Niezalecane jest jego użycie. Mirall::ownCloudGui - + Please sign in Proszę się zalogować - + Disconnected from server Rozłączono z serwerem - + Folder %1: %2 Folder %1: %2 - + No sync folders configured. Nie skonfigurowano synchronizowanych folderów. - + None. Brak. - + Recent Changes Ostatnie zmiany - + Open %1 folder Otwórz folder %1 - + Managed Folders: Zarządzane foldery: - + Open folder '%1' Otwórz katalog '%1' - + Open %1 in browser Otwórz %1 w przeglądarce - + Calculating quota... Obliczam quote... - + Unknown status Nieznany status - + Settings... Ustawienia... - + Details... Szczegóły... - + Help Pomoc - + Quit %1 Wyjdź %1 - + Sign in... Loguję... - + Sign out Wyloguj - + Quota n/a Quota n/a - + %1% of %2 in use %1% z %2 w użyciu - + No items synced recently Brak ostatnich synchronizacji - + Syncing %1 of %2 (%3 left) Synchronizacja %1 z %2 (%3 pozostało) - + Syncing %1 (%2 left) Synchronizuję %1 (%2 pozostało) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aktualne diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index a686423d9..539890153 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -374,67 +374,67 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Mirall::FolderMan - + Could not reset folder state Não foi possível repor o estado da pasta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Não foi possível remover o antigo 'journal sync' '%1'. Por favor certifique-se que nenhuma aplicação o está a utilizar. - + Undefined State. Estado indefinido. - + Waits to start syncing. A aguardar o inicio da sincronização. - + Preparing for sync. A preparar para sincronização. - + Sync is running. A sincronização está a correr. - + Server is currently not available. O servidor não está disponível de momento. - + Last Sync was successful. A última sincronização foi efectuada com sucesso. - + Last Sync was successful, but with warnings on individual files. A última sincronização foi efectuada com sucesso, mas existem avisos sobre alguns ficheiros. - + Setup Error. Erro na instalação. - + User Abort. Cancelado pelo utilizador. - + Sync is paused. A sincronização está em pausa. - + %1 (Sync is paused) %1 (Sincronização em pausa) @@ -2028,127 +2028,127 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n Mirall::ownCloudGui - + Please sign in Por favor inicie a sessão - + Disconnected from server Desligar do servidor - + Folder %1: %2 Pasta %1: %2 - + No sync folders configured. Nenhuma pasta de sincronização configurada. - + None. Nada. - + Recent Changes Alterações recentes - + Open %1 folder Abrir a pasta %1 - + Managed Folders: Pastas Geridas: - + Open folder '%1' Abrir pasta '%1' - + Open %1 in browser Abrir %1 no browser - + Calculating quota... A calcular quota... - + Unknown status Estado desconhecido - + Settings... Configurações... - + Details... Detalhes... - + Help Ajuda - + Quit %1 Sair do %1 - + Sign in... Entrar... - + Sign out Sair - + Quota n/a Quota não disponível - + %1% of %2 in use %1% de %2 utilizado - + No items synced recently Sem itens sincronizados recentemente - + Syncing %1 of %2 (%3 left) Sincronizar %1 de %2 (%3 faltando) - + Syncing %1 (%2 left) Sincronizando %1 (%2 faltando) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Actualizado diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index c5944a4ee..0ff7eee53 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -375,67 +375,67 @@ Você tem certeza que quer executar esta operação? Mirall::FolderMan - + Could not reset folder state Não foi possível redefinir o estado da pasta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Uma velha revista de sincronização '%1' foi encontrada, mas não pôde ser removida. Por favor, certifique-se de que nenhuma aplicação está a usá-la. - + Undefined State. Estado indefinido. - + Waits to start syncing. Aguardando o inicio da sincronização. - + Preparing for sync. Preparando para sincronização. - + Sync is running. A sincronização está ocorrendo. - + Server is currently not available. Servidor indisponível no momento. - + Last Sync was successful. A última sincronização foi feita com sucesso. - + Last Sync was successful, but with warnings on individual files. A última sincronização foi executada com sucesso, mas com advertências em arquivos individuais. - + Setup Error. Erro de Configuração. - + User Abort. Usuário Abortou - + Sync is paused. Sincronização pausada. - + %1 (Sync is paused) %1 (Pausa na Sincronização) @@ -2028,127 +2028,127 @@ Tente sincronizar novamente. Mirall::ownCloudGui - + Please sign in Favor conectar - + Disconnected from server Desconectado do servidor - + Folder %1: %2 Pasta %1: %2 - + No sync folders configured. Pastas de sincronização não configuradas. - + None. Nenhum. - + Recent Changes Alterações Recentes - + Open %1 folder Abrir pasta %1 - + Managed Folders: Pastas Gerenciadas: - + Open folder '%1' Abrir pasta '%1' - + Open %1 in browser Abrir %1 no navegador - + Calculating quota... Calculando cota... - + Unknown status Status desconhecido - + Settings... Configurações... - + Details... Detalhes... - + Help Ajuda - + Quit %1 Sair %1 - + Sign in... Conectar em... - + Sign out Sair - + Quota n/a Cota n/a - + %1% of %2 in use %1% de %2 em uso - + No items synced recently Não há itens sincronizados recentemente - + Syncing %1 of %2 (%3 left) Sincronizar %1 de %2 (%3 faltando) - + Syncing %1 (%2 left) Sincronizando %1 (%2 faltando) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Até a data diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index 950ed73c0..f1eab6532 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -375,67 +375,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Невозможно сбросить состояние папки - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Найден старый журнал синхронизации '%1', и он не может быть удалён. Пожалуйста убедитесь что он не открыт в каком-либо приложении. - + Undefined State. Неопределенное состояние. - + Waits to start syncing. Ожидает, чтобы начать синхронизацию. - + Preparing for sync. Подготовка к синхронизации. - + Sync is running. Идет синхронизация. - + Server is currently not available. Сервер недоступен. - + Last Sync was successful. Последняя синхронизация прошла успешно. - + Last Sync was successful, but with warnings on individual files. Последняя синхронизация прошла успешно, но были предупреждения о нескольких файлах. - + Setup Error. Ошибка установки. - + User Abort. Отмена пользователем. - + Sync is paused. Синхронизация приостановлена. - + %1 (Sync is paused) %! (синхронизация приостановлена) @@ -2030,127 +2030,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in Пожалуйста войдите в учётную запись - + Disconnected from server Отсоединен от сервера - + Folder %1: %2 Папка %1: %2 - + No sync folders configured. Нет папок для синхронизации. - + None. Пусто - + Recent Changes Недавние изменения - + Open %1 folder Открыть %1 папку - + Managed Folders: Управляемые папки: - + Open folder '%1' Открыть папку '%1' - + Open %1 in browser Открыть %1 в браузере - + Calculating quota... Расчёт квоты... - + Unknown status Неизвестный статус - + Settings... Настройки... - + Details... Детали... - + Help Помощь - + Quit %1 Закрыть %1 - + Sign in... Войти... - + Sign out Выйти - + Quota n/a Квота недоступна - + %1% of %2 in use Используется %1% из %2. - + No items synced recently Недавно ничего не синхронизировалсь - + Syncing %1 of %2 (%3 left) Синхронизация %1 из %2 (%3 осталось) - + Syncing %1 (%2 left) Синхронизация %1 (%2 осталось) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Актуальная версия diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index 848b310eb..b4c564388 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -374,67 +374,67 @@ Ste si istý, že chcete uskutočniť danú operáciu? Mirall::FolderMan - + Could not reset folder state Nemožno resetovať stav priečinka - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Starý synchronizačný žurnál '%1' nájdený, avšak neodstrániteľný. Prosím uistite sa, že žiadna aplikácia ho práve nevyužíva. - + Undefined State. Nedefinovaný stav. - + Waits to start syncing. Čakanie na štart synchronizácie. - + Preparing for sync. Príprava na synchronizáciu. - + Sync is running. Synchronizácia prebieha. - + Server is currently not available. Sever momentálne nie je prístupný. - + Last Sync was successful. Posledná synchronizácia sa úspešne skončila. - + Last Sync was successful, but with warnings on individual files. Posledná synchronizácia bola úspešná, ale z varovaniami pre individuálne súbory. - + Setup Error. Chyba pri inštalácii. - + User Abort. Zrušené používateľom. - + Sync is paused. Synchronizácia je pozastavená. - + %1 (Sync is paused) %1 (Synchronizácia je pozastavená) @@ -2028,127 +2028,127 @@ Nie je vhodné ju používať. Mirall::ownCloudGui - + Please sign in Prihláste sa prosím - + Disconnected from server Odpojený od servera - + Folder %1: %2 Priečinok %1: %2 - + No sync folders configured. Nie sú nastavené žiadne synchronizačné priečinky. - + None. Žiaden. - + Recent Changes Nedávne zmeny - + Open %1 folder Otvoriť %1 priečinok - + Managed Folders: Spravované priečinky: - + Open folder '%1' Otvoriť priečinok '%1' - + Open %1 in browser Otvoriť %1 v prehliadači - + Calculating quota... Počítanie kvóty... - + Unknown status Neznámy stav - + Settings... Nastavenia... - + Details... Podrobnosti... - + Help Pomoc - + Quit %1 Ukončiť %1 - + Sign in... Prihlásiť do... - + Sign out Odhlásiť - + Quota n/a Kvóta n/a - + %1% of %2 in use %1% z %2 sa používa - + No items synced recently Žiadne nedávno synchronizované položky - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Až do dnešného dňa diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 0c27ae208..22b9a70dc 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -374,67 +374,67 @@ Ali sta prepričani, da želite izvesti to opravilo? Mirall::FolderMan - + Could not reset folder state Ni mogoče ponastaviti stanja mape - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Obstaja starejši dnevnik usklajevanja '%1', vendar ga ni mogoče odstraniti. Preverite, da datoteka ni v uporabi. - + Undefined State. Nedoločeno stanje. - + Waits to start syncing. V čakanju na začetek usklajevanja. - + Preparing for sync. Poteka priprava za usklajevanje. - + Sync is running. Usklajevanje je v teku. - + Server is currently not available. Strežnik trenutno ni na voljo. - + Last Sync was successful. Zadnje usklajevanje je bilo uspešno končano. - + Last Sync was successful, but with warnings on individual files. Zadnje usklajevanje je bilo sicer uspešno, vendar z opozorili za posamezne datoteke. - + Setup Error. Napaka nastavitve. - + User Abort. Uporabniška prekinitev. - + Sync is paused. Usklajevanje je začasno v premoru. - + %1 (Sync is paused) %1 (usklajevanje je v premoru) @@ -2029,127 +2029,127 @@ Te je treba uskladiti znova. Mirall::ownCloudGui - + Please sign in Pred nadaljevanjem je zahtevana prijava - + Disconnected from server Povezava s strežnikom je prekinjena - + Folder %1: %2 Mapa %1: %2 - + No sync folders configured. Ni nastavljenih map za usklajevanje. - + None. Brez - + Recent Changes Nedavne spremembe - + Open %1 folder Odpri %1 mapo - + Managed Folders: Upravljane mape: - + Open folder '%1' Odpri mapo '%1' - + Open %1 in browser Odpri %1 v brskalniku - + Calculating quota... Preračunavanje količinske omejitve ... - + Unknown status Neznano stanje - + Settings... Nastavitve ... - + Details... Podrobnosti ... - + Help Pomoč - + Quit %1 Končaj %1 - + Sign in... Prijava ... - + Sign out Odjava - + Quota n/a Količinska omejitev ni na voljo - + %1% of %2 in use %1% od %2 v uporabi - + No items synced recently Ni nedavno usklajenih predmetov - + Syncing %1 of %2 (%3 left) Poteka usklajevanje %1 od %2 (preostaja %3) - + Syncing %1 (%2 left) Usklajevanje %1 (%2 do konca) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Ni posodobitev diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 4988055b4..6e6a6a787 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -375,67 +375,67 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Mirall::FolderMan - + Could not reset folder state Kunde inte återställa mappens skick - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. En gammal synkroniseringsjournal '%1' hittades, men kunde inte raderas. Vänligen se till att inga program för tillfället använder den. - + Undefined State. Okänt tillstånd. - + Waits to start syncing. Väntar på att starta synkronisering. - + Preparing for sync. Förbereder synkronisering - + Sync is running. Synkronisering pågår. - + Server is currently not available. Servern är för tillfället inte tillgänglig. - + Last Sync was successful. Senaste synkronisering lyckades. - + Last Sync was successful, but with warnings on individual files. Senaste synkning lyckades, men det finns varningar för vissa filer! - + Setup Error. Inställningsfel. - + User Abort. Användare Avbryt - + Sync is paused. Synkronisering är pausad. - + %1 (Sync is paused) %1 (Synk är stoppad) @@ -2030,127 +2030,127 @@ Försök att synka dessa igen. Mirall::ownCloudGui - + Please sign in Vänliga logga in - + Disconnected from server Bortkopplad från servern - + Folder %1: %2 Mapp %1: %2 - + No sync folders configured. Ingen synkroniseringsmapp är konfigurerad. - + None. Ingen. - + Recent Changes Senaste ändringar - + Open %1 folder Öppna %1 mappen - + Managed Folders: Hanterade mappar: - + Open folder '%1' Öppna mapp '%1' - + Open %1 in browser Öppna %1 i webbläsaren - + Calculating quota... Beräknar kvot... - + Unknown status Okänd status - + Settings... Inställningar... - + Details... Detaljer... - + Help Hjälp - + Quit %1 Avsluta %1 - + Sign in... Logga in... - + Sign out Logga ut - + Quota n/a Kvot n/a - + %1% of %2 in use %1% av %2 används - + No items synced recently Inga filer har synkroniseras nyligen - + Syncing %1 of %2 (%3 left) Synkroniserar %1 av %2 (%3 kvar) - + Syncing %1 (%2 left) Synkroniserar %1 (%2 kvar) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aktuell version diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index 19ad1578f..dc77fe3d1 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. สถานะที่ยังไม่ได้ถูกกำหนด - + Waits to start syncing. รอการเริ่มต้นซิงค์ข้อมูล - + Preparing for sync. - + Sync is running. การซิงค์ข้อมูลกำลังทำงาน - + Server is currently not available. - + Last Sync was successful. การซิงค์ข้อมูลครั้งล่าสุดเสร็จเรียบร้อยแล้ว - + Last Sync was successful, but with warnings on individual files. - + Setup Error. เกิดข้อผิดพลาดในการติดตั้ง - + User Abort. - + Sync is paused. การซิงค์ข้อมูลถูกหยุดไว้ชั่วคราว - + %1 (Sync is paused) @@ -2020,127 +2020,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in - + Disconnected from server - + Folder %1: %2 - + No sync folders configured. ยังไม่มีการกำหนดค่าโฟลเดอร์ที่ต้องการซิงค์ข้อมูล - + None. - + Recent Changes - + Open %1 folder เปิดโฟลเดอร์ %1 - + Managed Folders: โฟลเดอร์ที่มีการจัดการแล้ว: - + Open folder '%1' - + Open %1 in browser - + Calculating quota... - + Unknown status - + Settings... - + Details... - + Help ช่วยเหลือ - + Quit %1 - + Sign in... - + Sign out - + Quota n/a - + %1% of %2 in use - + No items synced recently - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index 49e25251e..e3102ce2e 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -375,67 +375,67 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Mirall::FolderMan - + Could not reset folder state Klasör durumu sıfırılanamadı - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Eski eşitleme günlüğü '%1' bulundu ancak kaldırılamadı. Başka bir uygulama tarafından kullanılmadığından emin olun. - + Undefined State. Tanımlanmamış Durum. - + Waits to start syncing. Eşitleme başlatmak için bekleniyor. - + Preparing for sync. Eşitleme için hazırlanıyor. - + Sync is running. Eşitleme çalışıyor. - + Server is currently not available. Sunucu şu an kullanılabilir değil. - + Last Sync was successful. Son Eşitleme başarılı oldu. - + Last Sync was successful, but with warnings on individual files. Son eşitleme başarılıydı, ancak tekil dosyalarda uyarılar vardı. - + Setup Error. Kurulum Hatası. - + User Abort. Kullanıcı İptal Etti. - + Sync is paused. Eşitleme duraklatıldı. - + %1 (Sync is paused) %1 (Eşitleme duraklatıldı) @@ -2030,127 +2030,127 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Mirall::ownCloudGui - + Please sign in Lütfen oturum açın - + Disconnected from server Sunucu bağlantısı kesildi - + Folder %1: %2 Klasör %1: %2 - + No sync folders configured. Yapılandırılmış eşitleme klasörü yok. - + None. Hiçbir şey. - + Recent Changes Son Değişiklikler - + Open %1 folder %1 klasörünü aç - + Managed Folders: Yönetilen Klasörler: - + Open folder '%1' '%1' klasörünü aç - + Open %1 in browser %1'ı tarayıcıda aç - + Calculating quota... Kota hesaplanıyor... - + Unknown status Bilinmeyen durum - + Settings... Ayarlar... - + Details... Ayrıntılar... - + Help Yardım - + Quit %1 %1'tan çık - + Sign in... Oturum aç... - + Sign out Oturumu kapat - + Quota n/a Kota kullanılamıyor - + %1% of %2 in use %2'ın % %1 kısmı kullanımda - + No items synced recently Yakın zamanda eşitlenen öge yok - + Syncing %1 of %2 (%3 left) Eşitlenen %1/%2 (%3 kaldı) - + Syncing %1 (%2 left) Eşitlenen %1 (%2 kaldı) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Güncel diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index 8ca2ab732..033c6a2dd 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Не вдалося скинути стан теки - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Невизначений стан. - + Waits to start syncing. Очікування початку синхронізації. - + Preparing for sync. Підготовка до синхронізації - + Sync is running. Синхронізація запущена. - + Server is currently not available. Сервер наразі недоступний. - + Last Sync was successful. Остання синхронізація була успішною. - + Last Sync was successful, but with warnings on individual files. - + Setup Error. Помилка установки. - + User Abort. - + Sync is paused. - + %1 (Sync is paused) @@ -2022,127 +2022,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in - + Disconnected from server - + Folder %1: %2 - + No sync folders configured. Жодна тека не налаштована для синхронізації. - + None. - + Recent Changes Недавні зміни - + Open %1 folder Відкрити %1 каталог - + Managed Folders: Керовані теки: - + Open folder '%1' - + Open %1 in browser - + Calculating quota... - + Unknown status - + Settings... - + Details... - + Help Допомога - + Quit %1 - + Sign in... - + Sign out - + Quota n/a - + %1% of %2 in use - + No items synced recently - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 075c1a242..f27118564 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state 不能重置文件夹状态 - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 一个旧的同步日志 '%1' 被找到,但是不能被移除。请确定没有应用程序正在使用它。 - + Undefined State. 未知状态。 - + Waits to start syncing. 等待启动同步。 - + Preparing for sync. 准备同步。 - + Sync is running. 同步正在运行。 - + Server is currently not available. 服务器当前是不可用的。 - + Last Sync was successful. 最后一次同步成功。 - + Last Sync was successful, but with warnings on individual files. 上次同步已成功,不过一些文件出现了警告。 - + Setup Error. 安装失败 - + User Abort. 用户撤销。 - + Sync is paused. 同步已暂停。 - + %1 (Sync is paused) %1 (同步已暂停) @@ -2026,127 +2026,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in 请登录 - + Disconnected from server 已从服务器断开 - + Folder %1: %2 文件夹 %1: %2 - + No sync folders configured. 没有已配置的同步文件夹。 - + None. 无。 - + Recent Changes 最近修改 - + Open %1 folder 打开 %1 目录 - + Managed Folders: 管理的文件夹: - + Open folder '%1' 打开文件夹“%1” - + Open %1 in browser 在浏览器中打开%1 - + Calculating quota... 计算配额.... - + Unknown status 未知状态 - + Settings... 设置... - + Details... 细节... - + Help 帮助 - + Quit %1 退出 %1 - + Sign in... 登录... - + Sign out 注销 - + Quota n/a 配额无限制 - + %1% of %2 in use 已使用 %2,总计 %1% - + No items synced recently - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date 更新 diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index e5e4e9e97..496bf807f 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state 無法重置資料夾狀態 - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 發現較舊的同步處理日誌'%1',但無法移除。請確認沒有應用程式正在使用它。 - + Undefined State. 未知狀態 - + Waits to start syncing. 等待啟動同步 - + Preparing for sync. 正在準備同步。 - + Sync is running. 同步執行中 - + Server is currently not available. - + Last Sync was successful. 最後一次同步成功 - + Last Sync was successful, but with warnings on individual files. - + Setup Error. 安裝失敗 - + User Abort. 使用者中斷。 - + Sync is paused. 同步已暫停 - + %1 (Sync is paused) %1 (同步暫停) @@ -2020,127 +2020,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in 請登入 - + Disconnected from server - + Folder %1: %2 資料夾 %1: %2 - + No sync folders configured. 尚未指定同步資料夾 - + None. 無。 - + Recent Changes - + Open %1 folder 開啟%1資料夾 - + Managed Folders: 管理的資料夾: - + Open folder '%1' 開啟 %1 資料夾 - + Open %1 in browser 瀏覽器中開啟 %1 - + Calculating quota... - + Unknown status 未知狀態 - + Settings... 設定… - + Details... 細節… - + Help 說明 - + Quit %1 離開 %1 - + Sign in... 登入中... - + Sign out 登出 - + Quota n/a 無配額 - + %1% of %2 in use - + No items synced recently - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date 最新的 From 72b8da317f4e37e11c82c89cf161fd92dbe1a4ad Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Mon, 4 Aug 2014 01:25:28 -0400 Subject: [PATCH 077/133] [tx-robot] updated from transifex --- translations/mirall_eu.ts | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 06ab92363..2c6b4f273 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -189,7 +189,7 @@ %1 of %2, file %3 of %4 Total time left %5 - %1 of %2, fitxategia %3 of %4 + %2-tik %1, %4-tik %3 fitxategi Geratzen den denbora %5 @@ -806,7 +806,7 @@ Markatutakoak ezabatuko dira karpeta bat ezabatzeko beharrezkoa bada. Hau meta d <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p> %1 bezeroaren bertsio berri bat eskuragarri dago.</p><p><b>%2</b>deskargatzeko prest dago. Instalatuta dagoen bersioa %3 da.</p> @@ -859,7 +859,7 @@ Markatutakoak ezabatuko dira karpeta bat ezabatzeko beharrezkoa bada. Hau meta d : - + : @@ -936,7 +936,8 @@ Markatutakoak ezabatuko dira karpeta bat ezabatzeko beharrezkoa bada. Hau meta d A new update is about to be installed. The updater may ask for additional privileges during the process. - + Eguneraketa bat instalatzeko prest dago. Eguneratzaileak + pribilegio osagarriak eskatzen ahal dizkizu. @@ -961,7 +962,7 @@ for additional privileges during the process. New version %1 available. Please use the system's update tool to install it. - + %1 bertsio berria eskuragarri dago. Utziozu sistemaren eguneratzaileari instalatzen. @@ -1019,7 +1020,7 @@ for additional privileges during the process. Update advanced setup - + Eguneratu ezarpen aurreratuak @@ -1066,7 +1067,7 @@ It is not advisable to use it. Could not connect securely. Do you want to connect unencrypted instead (not recommended)? - + Ezin da modu seguruan konektatu. Nahi duzu enkriptatu gabe konektatu (ez da gomendagarria)? @@ -1172,7 +1173,7 @@ It is not advisable to use it. The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> - + Huts egin du urrutiko karpeta sortzen emandako kredintzialak ez direlako zuzenak!<br/> Egin atzera eta egiaztatu zure kredentzialak.</p> From aad5c9675955674ab0f7587dac03a13164fab646 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 4 Aug 2014 11:07:53 +0200 Subject: [PATCH 078/133] Mac Overlays: No crash on context menu actions. Disable overlay menus for now. --- .../MacOSX/LiferayNativityFinder/MenuManager.m | 6 +++++- .../MacOSX/LiferayNativityFinder/RequestManager.h | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/shell_integration/MacOSX/LiferayNativityFinder/MenuManager.m b/shell_integration/MacOSX/LiferayNativityFinder/MenuManager.m index 8cc5ba02e..a12675399 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/MenuManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/MenuManager.m @@ -73,7 +73,11 @@ static MenuManager* sharedInstance = nil; - (void)addItemsToMenu:(TContextMenu*)menu forFiles:(NSArray*)files { - NSArray* menuItemsArray = [[RequestManager sharedInstance] menuItemsForFiles:files]; + // no menu items for now: + return; + + // NSArray* menuItemsArray = [[RequestManager sharedInstance] menuItemsForFiles:files]; + NSArray* menuItemsArray; if (menuItemsArray == nil) { diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h index d88edf3e0..3eae9f965 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h @@ -35,7 +35,6 @@ - (void)askOnSocket:(NSString*)path query:(NSString*)verb; - (NSNumber*)askForIcon:(NSString*)path isDirectory:(NSNumber*)isDir; - (void)menuItemClicked:(NSDictionary*)actionDictionary; -- (NSArray*)menuItemsForFiles:(NSArray*)files; - (void)start; @end \ No newline at end of file From 4fb671e7f4670aefdb73582599a4767d3a29bc61 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 4 Aug 2014 11:08:44 +0200 Subject: [PATCH 079/133] SocketAPI: Send Broadcasts only for Linux, not used on Mac and Win. --- src/mirall/socketapi.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 41e079e5d..7874450a1 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -290,8 +290,9 @@ void SocketApi::slotJobCompleted(const QString &folder, const SyncFileItem &item if (Progress::isWarningKind(item._status)) { command = QLatin1String("ERROR"); } - - broadcastMessage(QLatin1String("BROADCAST:"), path, command); + if( Utility::isLinux() ) { + broadcastMessage(QLatin1String("BROADCAST:"), path, command); + } } From 14ed2616062098179216dfdfb21d903803a5fc1d Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 4 Aug 2014 12:03:01 +0200 Subject: [PATCH 080/133] MacOverlays: Rather use FileManager API to check if is directory. --- .../LiferayNativityFinder/ContentManager.h | 2 +- .../LiferayNativityFinder/ContentManager.m | 2 +- .../IconOverlayHandlers.m | 40 +++++++++---------- .../LiferayNativityFinder/RequestManager.h | 2 +- .../LiferayNativityFinder/RequestManager.m | 4 +- 5 files changed, 24 insertions(+), 26 deletions(-) diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h index d508ae4d0..9ac2c3ac2 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.h @@ -32,7 +32,7 @@ + (ContentManager*)sharedInstance; - (void)enableFileIcons:(BOOL)enable; -- (NSNumber*)iconByPath:(NSString*)path isDirectory:(NSNumber*)isDir; +- (NSNumber*)iconByPath:(NSString*)path isDirectory:(BOOL)isDir; - (void)removeAllIcons; - (void)removeIcons:(NSArray*)paths; - (void)setIcons:(NSDictionary*)iconDictionary filterByFolder:(NSString*)filterFolder; diff --git a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m index de2b3d971..bcaed184f 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/ContentManager.m @@ -113,7 +113,7 @@ static ContentManager* sharedInstance = nil; [self repaintAllWindows]; } -- (NSNumber*)iconByPath:(NSString*)path isDirectory:(NSNumber*)isDir +- (NSNumber*)iconByPath:(NSString*)path isDirectory:(BOOL)isDir { if (!_fileIconsEnabled) { diff --git a/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.m b/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.m index d18d80317..87519ef6e 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/IconOverlayHandlers.m @@ -26,13 +26,12 @@ NSURL* url = [[NSClassFromString(@"FINode") nodeFromNodeRef:[(TIconAndTextCell*)self node]->fNodeRef] previewItemURL]; - NSError *error; - NSNumber *isDir = nil; - if (! [url getResourceValue:&isDir forKey:NSURLIsDirectoryKey error:&error]) { - // handle error - [isDir initWithBool:NO]; // lets assume its a file. - } - + BOOL isDir; + if ([[NSFileManager defaultManager] fileExistsAtPath: [url path] isDirectory:&isDir] == NO) { + NSLog(@"ERROR: Could not determine file type of %@", [url path]); + isDir = NO; + } + NSNumber* imageIndex = [[ContentManager sharedInstance] iconByPath:[url path] isDirectory:isDir]; NSLog(@"1 The icon index is %d", [imageIndex intValue]); @@ -71,12 +70,12 @@ NSURL* url = [node previewItemURL]; NSError *error; - NSNumber *isDir = nil; - if (! [url getResourceValue:&isDir forKey:NSURLIsDirectoryKey error:&error]) { - // handle error - [isDir initWithBool:NO]; // lets assume its a file. - } - + BOOL isDir; + if ([[NSFileManager defaultManager] fileExistsAtPath:[url path] isDirectory:&isDir] == NO) { + NSLog(@"ERROR: Could not determine file type of %@", [url path]); + isDir = NO; + } + NSNumber* imageIndex = [[ContentManager sharedInstance] iconByPath:[url path] isDirectory:isDir]; // NSLog(@"2 The icon index is %d", [imageIndex intValue]); @@ -127,13 +126,6 @@ NSURL *url; - NSError *error; - NSNumber *isDir = nil; - if (! [url getResourceValue:&isDir forKey:NSURLIsDirectoryKey error:&error]) { - // handle error - [isDir initWithBool:NO]; // lets assume its a file. - } - if ([fiNode respondsToSelector:@selector(previewItemURL)]) { url = [fiNode previewItemURL]; @@ -141,7 +133,13 @@ else { return; } - + + BOOL isDir; + if ([[NSFileManager defaultManager] fileExistsAtPath:[url path] isDirectory: &isDir] == NO) { + NSLog(@"ERROR: Could not determine file type of %@", [url path]); + isDir = NO; + } + NSNumber* imageIndex = [[ContentManager sharedInstance] iconByPath:[url path] isDirectory:isDir]; NSLog(@"3 The icon index is %d", [imageIndex intValue]); diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h index 3eae9f965..8228bf916 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.h @@ -33,7 +33,7 @@ - (BOOL)isRegisteredPath:(NSString*)path; - (void)askOnSocket:(NSString*)path query:(NSString*)verb; -- (NSNumber*)askForIcon:(NSString*)path isDirectory:(NSNumber*)isDir; +- (NSNumber*)askForIcon:(NSString*)path isDirectory:(BOOL)isDir; - (void)menuItemClicked:(NSDictionary*)actionDictionary; - (void)start; diff --git a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m index ab9600a68..2549cdabd 100644 --- a/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m +++ b/shell_integration/MacOSX/LiferayNativityFinder/RequestManager.m @@ -94,14 +94,14 @@ static RequestManager* sharedInstance = nil; return registered; } -- (NSNumber*)askForIcon:(NSString*)path isDirectory:(NSNumber*)isDir +- (NSNumber*)askForIcon:(NSString*)path isDirectory:(BOOL)isDir { NSString *verb = @"RETRIEVE_FILE_STATUS"; NSNumber *res = [NSNumber numberWithInt:0]; if( [self isRegisteredPath:path] ) { if( _isConnected ) { - if( [isDir boolValue] ) { + if(isDir) { verb = @"RETRIEVE_FOLDER_STATUS"; } From 1f9280c68e038dcc6dcfa0c813e553da81a1fba5 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 4 Aug 2014 12:44:51 +0200 Subject: [PATCH 081/133] GUI: Remove useless comment. --- src/mirall/owncloudgui.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/mirall/owncloudgui.cpp b/src/mirall/owncloudgui.cpp index c1c5a1e67..b21e4724e 100644 --- a/src/mirall/owncloudgui.cpp +++ b/src/mirall/owncloudgui.cpp @@ -92,12 +92,6 @@ ownCloudGui::ownCloudGui(Application *parent) : // in the gui // MacOSX: perform a AppleScript code peace to load the Finder Plugin. -// "tell application \"Finder\" \ -// try \ -// «event NVTYload» \ -// end try \ -// end tell"; - void ownCloudGui::setupOverlayIcons() { From 40cebeedfcb330736aa541e91772b25209358b8a Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 4 Aug 2014 12:46:02 +0200 Subject: [PATCH 082/133] SocketAPI: Call csync_exclude with the relative path. This avoids messing with the windows pathes and csync_exclude is designed that way. --- src/mirall/socketapi.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 7874450a1..1f5c8c60c 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -135,12 +135,7 @@ SyncFileStatus fileStatus(Folder *folder, const QString& systemFileName ) type = CSYNC_FTW_TYPE_DIR; } - // on windows, there might be a colon in the file name. - QRegExp rx( "^[a-zA-Z]\\:[\\\\/]+"); - if( file.contains(rx) ) { - file.remove(0, 2); - } - CSYNC_EXCLUDE_TYPE excl = csync_excluded(folder->csyncContext(), file.toUtf8(), type); + CSYNC_EXCLUDE_TYPE excl = csync_excluded(folder->csyncContext(), fileName.toUtf8(), type); if( excl != CSYNC_NOT_EXCLUDED ) { return SyncFileStatus(SyncFileStatus::STATUS_IGNORE); } From f983264b5d54d817f6fe383d05c6ff44625844b9 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 4 Aug 2014 12:47:03 +0200 Subject: [PATCH 083/133] SocketAPI: Do not allow a trailing slash for directories. The entries in our sync journal have no trailing slashes for directories. --- src/mirall/socketapi.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 1f5c8c60c..88cd683c6 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -119,6 +119,11 @@ SyncFileStatus fileStatus(Folder *folder, const QString& systemFileName ) isSyncRootFolder = false; } + if( fileName.endsWith(QLatin1Char('/')) ) { + fileName.truncate(fileName.length()-1); + qDebug() << "Removed trailing slash: " << fileName; + } + QFileInfo fi(file); if( !fi.exists() ) { From 9a1781f613ba84e288d16b30dec0f0b0831e43b1 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Mon, 4 Aug 2014 15:40:08 +0200 Subject: [PATCH 084/133] Support for multiple icons --- .../OCShellExtensions/OCOverlays/DllMain.cpp | 192 +++++++++++------- .../OCOverlays/OCOverlay.cpp | 13 +- .../OCShellExtensions/OCOverlays/OCOverlay.h | 3 +- .../OCOverlays/OCOverlayFactory.cpp | 27 +-- .../OCOverlays/OCOverlayFactory.h | 11 +- .../OCOverlayRegistrationHandler.cpp | 4 +- .../OCOverlays/OCOverlayRegistrationHandler.h | 4 +- .../OCOverlays/OverlayConstants.h | 21 +- .../OCShellExtensions/OCOverlays/resource.h | Bin 1626 -> 1536 bytes .../OCShellExtensions/OCShellExtensions.sln | 26 +-- .../OCUtil/RemotePathChecker.cpp | 15 +- .../OCUtil/RemotePathChecker.h | 2 +- 12 files changed, 183 insertions(+), 135 deletions(-) diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/DllMain.cpp b/shell_integration/windows/OCShellExtensions/OCOverlays/DllMain.cpp index 84b128dd4..a124b9596 100644 --- a/shell_integration/windows/OCShellExtensions/OCOverlays/DllMain.cpp +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/DllMain.cpp @@ -37,38 +37,57 @@ BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReason, LPVOID lpReserved) return TRUE; } -STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv) +HRESULT CreateFactory(REFIID riid, void **ppv, int state) { - HRESULT hResult = CLASS_E_CLASSNOTAVAILABLE; - GUID guid; - - hResult = CLSIDFromString(OVERLAY_GUID, (LPCLSID)&guid); + HRESULT hResult = E_OUTOFMEMORY; - if (hResult != S_OK) { - return hResult; - } - - if (!IsEqualCLSID(guid, rclsid)) { - return hResult; - } - - hResult = E_OUTOFMEMORY; - - wchar_t szModule[MAX_PATH]; - - if (GetModuleFileName(instanceHandle, szModule, ARRAYSIZE(szModule)) == 0) { - hResult = HRESULT_FROM_WIN32(GetLastError()); - - return hResult; - } - - OCOverlayFactory* ocOverlayFactory = new OCOverlayFactory(szModule); + OCOverlayFactory* ocOverlayFactory = new OCOverlayFactory(state); if (ocOverlayFactory) { hResult = ocOverlayFactory->QueryInterface(riid, ppv); ocOverlayFactory->Release(); } - return hResult; + return hResult; +} + +STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv) +{ + HRESULT hResult = CLASS_E_CLASSNOTAVAILABLE; + GUID guid; + + hResult = CLSIDFromString(OVERLAY_GUID_ERROR, (LPCLSID)&guid); + if (!SUCCEEDED(hResult)) { return hResult; } + if (IsEqualCLSID(guid, rclsid)) { return CreateFactory(riid, ppv, State_Error); } + + hResult = CLSIDFromString(OVERLAY_GUID_ERROR_SHARED, (LPCLSID)&guid); + if (!SUCCEEDED(hResult)) { return hResult; } + if (IsEqualCLSID(guid, rclsid)) { return CreateFactory(riid, ppv, State_ErrorShared); } + + hResult = CLSIDFromString(OVERLAY_GUID_OK, (LPCLSID)&guid); + if (!SUCCEEDED(hResult)) { return hResult; } + if (IsEqualCLSID(guid, rclsid)) { return CreateFactory(riid, ppv, State_OK); } + + hResult = CLSIDFromString(OVERLAY_GUID_OK_SHARED, (LPCLSID)&guid); + if (!SUCCEEDED(hResult)) { return hResult; } + if (IsEqualCLSID(guid, rclsid)) { return CreateFactory(riid, ppv, State_OKShared); } + + hResult = CLSIDFromString(OVERLAY_GUID_SYNC, (LPCLSID)&guid); + if (!SUCCEEDED(hResult)) { return hResult; } + if (IsEqualCLSID(guid, rclsid)) { return CreateFactory(riid, ppv, State_Sync); } + + hResult = CLSIDFromString(OVERLAY_GUID_SYNC_SHARED, (LPCLSID)&guid); + if (!SUCCEEDED(hResult)) { return hResult; } + if (IsEqualCLSID(guid, rclsid)) { return CreateFactory(riid, ppv, State_SyncShared); } + + hResult = CLSIDFromString(OVERLAY_GUID_WARNING, (LPCLSID)&guid); + if (!SUCCEEDED(hResult)) { return hResult; } + if (IsEqualCLSID(guid, rclsid)) { return CreateFactory(riid, ppv, State_Warning); } + + hResult = CLSIDFromString(OVERLAY_GUID_WARNING_SHARED, (LPCLSID)&guid); + if (!SUCCEEDED(hResult)) { return hResult; } + if (IsEqualCLSID(guid, rclsid)) { return CreateFactory(riid, ppv, State_WarningShared); } + + return CLASS_E_CLASSNOTAVAILABLE; } STDAPI DllCanUnloadNow(void) @@ -78,45 +97,81 @@ STDAPI DllCanUnloadNow(void) return S_FALSE; } +HRESULT RegisterCLSID(LPCOLESTR guidStr, PCWSTR overlayStr, PCWSTR szModule) +{ + HRESULT hResult = S_OK; + + GUID guid; + hResult = CLSIDFromString(guidStr, (LPCLSID)&guid); + + if (hResult != S_OK) { + return hResult; + } + + hResult = OCOverlayRegistrationHandler::RegisterCOMObject(szModule, guid); + + if (!SUCCEEDED(hResult)) { + return hResult; + } + + hResult = OCOverlayRegistrationHandler::MakeRegistryEntries(guid, overlayStr); + + return hResult; +} + HRESULT _stdcall DllRegisterServer(void) { HRESULT hResult = S_OK; wchar_t szModule[MAX_PATH]; - if (GetModuleFileName(instanceHandle, szModule, ARRAYSIZE(szModule)) == 0) - { + if (GetModuleFileName(instanceHandle, szModule, ARRAYSIZE(szModule)) == 0) { hResult = HRESULT_FROM_WIN32(GetLastError()); - return hResult; } - GUID guid; - - hResult = CLSIDFromString(OVERLAY_GUID, (LPCLSID)&guid); - - if (hResult != S_OK) - { - return hResult; - } - - hResult = OCOverlayRegistrationHandler::RegisterCOMObject(szModule, guid); - - if(!SUCCEEDED(hResult)) - { - return hResult; - } - - hResult = OCOverlayRegistrationHandler::MakeRegistryEntries(guid, OVERLAY_NAME); - - if(!SUCCEEDED(hResult)) - { - return hResult; - } + hResult = RegisterCLSID(OVERLAY_GUID_ERROR, OVERLAY_NAME_ERROR, szModule); + if (!SUCCEEDED(hResult)) { return hResult; } + hResult = RegisterCLSID(OVERLAY_GUID_ERROR_SHARED, OVERLAY_NAME_ERROR_SHARED, szModule); + if (!SUCCEEDED(hResult)) { return hResult; } + hResult = RegisterCLSID(OVERLAY_GUID_OK, OVERLAY_NAME_OK, szModule); + if (!SUCCEEDED(hResult)) { return hResult; } + hResult = RegisterCLSID(OVERLAY_GUID_OK_SHARED, OVERLAY_NAME_OK_SHARED, szModule); + if (!SUCCEEDED(hResult)) { return hResult; } + hResult = RegisterCLSID(OVERLAY_GUID_SYNC, OVERLAY_NAME_SYNC, szModule); + if (!SUCCEEDED(hResult)) { return hResult; } + hResult = RegisterCLSID(OVERLAY_GUID_SYNC_SHARED, OVERLAY_NAME_SYNC_SHARED,szModule); + if (!SUCCEEDED(hResult)) { return hResult; } + hResult = RegisterCLSID(OVERLAY_GUID_WARNING, OVERLAY_NAME_WARNING, szModule); + if (!SUCCEEDED(hResult)) { return hResult; } + hResult = RegisterCLSID(OVERLAY_GUID_WARNING_SHARED, OVERLAY_NAME_WARNING_SHARED, szModule); return hResult; } + +HRESULT UnregisterCLSID(LPCOLESTR guidStr, PCWSTR overlayStr) +{ + HRESULT hResult = S_OK; + GUID guid; + + hResult = CLSIDFromString(guidStr, (LPCLSID)&guid); + + if (hResult != S_OK) { + return hResult; + } + + hResult = OCOverlayRegistrationHandler::UnregisterCOMObject(guid); + + if (!SUCCEEDED(hResult)) { + return hResult; + } + + hResult = OCOverlayRegistrationHandler::RemoveRegistryEntries(overlayStr); + + return hResult; +} + STDAPI DllUnregisterServer(void) { HRESULT hResult = S_OK; @@ -128,29 +183,22 @@ STDAPI DllUnregisterServer(void) hResult = HRESULT_FROM_WIN32(GetLastError()); return hResult; } - - GUID guid; - - hResult = CLSIDFromString(OVERLAY_GUID, (LPCLSID)&guid); - if (hResult != S_OK) - { - return hResult; - } - - hResult = OCOverlayRegistrationHandler::UnregisterCOMObject(guid); - - if(!SUCCEEDED(hResult)) - { - return hResult; - } - - hResult = OCOverlayRegistrationHandler::RemoveRegistryEntries(OVERLAY_NAME); - - if (!SUCCEEDED(hResult)) - { - return hResult; - } + hResult = UnregisterCLSID(OVERLAY_GUID_ERROR, OVERLAY_NAME_ERROR); + if (!SUCCEEDED(hResult)) { return hResult; } + hResult = UnregisterCLSID(OVERLAY_GUID_ERROR_SHARED, OVERLAY_NAME_ERROR_SHARED); + if (!SUCCEEDED(hResult)) { return hResult; } + hResult = UnregisterCLSID(OVERLAY_GUID_OK, OVERLAY_NAME_OK); + if (!SUCCEEDED(hResult)) { return hResult; } + hResult = UnregisterCLSID(OVERLAY_GUID_OK_SHARED, OVERLAY_NAME_OK_SHARED); + if (!SUCCEEDED(hResult)) { return hResult; } + hResult = UnregisterCLSID(OVERLAY_GUID_SYNC, OVERLAY_NAME_SYNC); + if (!SUCCEEDED(hResult)) { return hResult; } + hResult = UnregisterCLSID(OVERLAY_GUID_SYNC_SHARED, OVERLAY_NAME_SYNC_SHARED); + if (!SUCCEEDED(hResult)) { return hResult; } + hResult = UnregisterCLSID(OVERLAY_GUID_WARNING, OVERLAY_NAME_WARNING); + if (!SUCCEEDED(hResult)) { return hResult; } + hResult = UnregisterCLSID(OVERLAY_GUID_WARNING_SHARED, OVERLAY_NAME_WARNING_SHARED); return hResult; } diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.cpp b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.cpp index 2fc947121..a8e3689e4 100644 --- a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.cpp +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.cpp @@ -33,10 +33,11 @@ extern HINSTANCE instanceHandle; #define IDM_DISPLAY 0 #define IDB_OK 101 -OCOverlay::OCOverlay() +OCOverlay::OCOverlay(int state) : _communicationSocket(0) , _referenceCount(1) , _checker(new RemotePathChecker(PORT)) + , _state(state) { } @@ -98,20 +99,18 @@ IFACEMETHODIMP OCOverlay::GetPriority(int *pPriority) // return MAKE_HRESULT(S_FALSE, 0, 0); //} - bool isDir = dwAttrib & FILE_ATTRIBUTE_DIRECTORY; - - if (!_checker->IsMonitoredPath(pwszPath, isDir)) { + int state = 0; + if (!_checker->IsMonitoredPath(pwszPath, &state)) { return MAKE_HRESULT(S_FALSE, 0, 0); } - - return MAKE_HRESULT(S_OK, 0, 0); + return MAKE_HRESULT(state == _state ? S_OK : S_FALSE, 0, 0); } IFACEMETHODIMP OCOverlay::GetOverlayInfo(PWSTR pwszIconFile, int cchMax, int *pIndex, DWORD *pdwFlags) { *pIndex = 0; *pdwFlags = ISIOI_ICONFILE | ISIOI_ICONINDEX; - *pIndex = 2; + *pIndex = _state; if (GetModuleFileName(instanceHandle, pwszIconFile, cchMax) == 0) { HRESULT hResult = HRESULT_FROM_WIN32(GetLastError()); diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.h b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.h index 498800a66..a84bc45b0 100644 --- a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.h +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.h @@ -25,7 +25,7 @@ class OCOverlay : public IShellIconOverlayIdentifier { public: - OCOverlay(); + OCOverlay(int state); IFACEMETHODIMP_(ULONG) AddRef(); IFACEMETHODIMP GetOverlayInfo(PWSTR pwszIconFile, int cchMax, int *pIndex, DWORD *pdwFlags); @@ -44,6 +44,7 @@ private: long _referenceCount; CommunicationSocket* _communicationSocket; RemotePathChecker* _checker; + int _state; }; #endif \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayFactory.cpp b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayFactory.cpp index f2d344c02..963d7c6d2 100644 --- a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayFactory.cpp +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayFactory.cpp @@ -17,8 +17,8 @@ extern long dllReferenceCount; -OCOverlayFactory::OCOverlayFactory(wchar_t* path) - : _referenceCount(1) +OCOverlayFactory::OCOverlayFactory(int state) + : _referenceCount(1), _state(state) { InterlockedIncrement(&dllReferenceCount); } @@ -68,23 +68,13 @@ IFACEMETHODIMP OCOverlayFactory::CreateInstance( { HRESULT hResult = CLASS_E_NOAGGREGATION; - if (pUnkOuter != NULL) - { - return hResult; - } + if (pUnkOuter != NULL) { return hResult; } hResult = E_OUTOFMEMORY; - - OCOverlay *lrOverlay = - new (std::nothrow) OCOverlay(); - - if (!lrOverlay) - { - return hResult; - } + OCOverlay *lrOverlay = new (std::nothrow) OCOverlay(_state); + if (!lrOverlay) { return hResult; } hResult = lrOverlay->QueryInterface(riid, ppv); - lrOverlay->Release(); return hResult; @@ -92,12 +82,9 @@ IFACEMETHODIMP OCOverlayFactory::CreateInstance( IFACEMETHODIMP OCOverlayFactory::LockServer(BOOL fLock) { - if (fLock) - { + if (fLock) { InterlockedIncrement(&dllReferenceCount); - } - else - { + } else { InterlockedDecrement(&dllReferenceCount); } return S_OK; diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayFactory.h b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayFactory.h index 6751e5b57..9f3ece860 100644 --- a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayFactory.h +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayFactory.h @@ -19,10 +19,17 @@ #include "stdafx.h" +enum State { + State_Error = 0, State_ErrorShared, + State_OK, State_OKShared, + State_Sync, State_SyncShared, + State_Warning, State_WarningShared +}; + class OCOverlayFactory : public IClassFactory { public: - OCOverlayFactory(wchar_t* path); + OCOverlayFactory(int state); IFACEMETHODIMP_(ULONG) AddRef(); IFACEMETHODIMP CreateInstance(IUnknown *pUnkOuter, REFIID riid, void **ppv); @@ -35,7 +42,7 @@ protected: private: long _referenceCount; - wchar_t* _path; + int _state; }; #endif \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.cpp b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.cpp index 3fc0729f1..0271ee9c3 100644 --- a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.cpp +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.cpp @@ -20,7 +20,7 @@ using namespace std; -HRESULT OCOverlayRegistrationHandler::MakeRegistryEntries(const CLSID& clsid, PWSTR friendlyName) +HRESULT OCOverlayRegistrationHandler::MakeRegistryEntries(const CLSID& clsid, PCWSTR friendlyName) { HRESULT hResult; HKEY shellOverlayKey = NULL; @@ -50,7 +50,7 @@ HRESULT OCOverlayRegistrationHandler::MakeRegistryEntries(const CLSID& clsid, PW return hResult; } -HRESULT OCOverlayRegistrationHandler::RemoveRegistryEntries(PWSTR friendlyName) +HRESULT OCOverlayRegistrationHandler::RemoveRegistryEntries(PCWSTR friendlyName) { HRESULT hResult; HKEY shellOverlayKey = NULL; diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.h b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.h index 1fdef93a7..606b9e87b 100644 --- a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.h +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.h @@ -22,9 +22,9 @@ class __declspec(dllexport) OCOverlayRegistrationHandler { public: - static HRESULT MakeRegistryEntries(const CLSID& clsid, PWSTR fileType); + static HRESULT MakeRegistryEntries(const CLSID& clsid, PCWSTR fileType); static HRESULT RegisterCOMObject(PCWSTR modulePath, const CLSID& clsid); - static HRESULT RemoveRegistryEntries(PWSTR friendlyName); + static HRESULT RemoveRegistryEntries(PCWSTR friendlyName); static HRESULT UnregisterCOMObject(const CLSID& clsid); }; diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OverlayConstants.h b/shell_integration/windows/OCShellExtensions/OCOverlays/OverlayConstants.h index 9df0bc5d0..d93ea98cb 100644 --- a/shell_integration/windows/OCShellExtensions/OCOverlays/OverlayConstants.h +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OverlayConstants.h @@ -12,9 +12,24 @@ * details. */ -#define OVERLAY_ID 1 -#define OVERLAY_GUID L"{0960F09E-F328-48A3-B746-276B1E3C3722}" -#define OVERLAY_NAME L"OwnCloudStatusOverlay" + +#define OVERLAY_GUID_ERROR L"{0960F090-F328-48A3-B746-276B1E3C3722}" +#define OVERLAY_GUID_ERROR_SHARED L"{0960F091-F328-48A3-B746-276B1E3C3722}" +#define OVERLAY_GUID_OK L"{0960F092-F328-48A3-B746-276B1E3C3722}" +#define OVERLAY_GUID_OK_SHARED L"{0960F093-F328-48A3-B746-276B1E3C3722}" +#define OVERLAY_GUID_SYNC L"{0960F094-F328-48A3-B746-276B1E3C3722}" +#define OVERLAY_GUID_SYNC_SHARED L"{0960F095-F328-48A3-B746-276B1E3C3722}" +#define OVERLAY_GUID_WARNING L"{0960F096-F328-48A3-B746-276B1E3C3722}" +#define OVERLAY_GUID_WARNING_SHARED L"{0960F097-F328-48A3-B746-276B1E3C3722}" + +#define OVERLAY_NAME_ERROR L"OCError" +#define OVERLAY_NAME_ERROR_SHARED L"OCErrorShared" +#define OVERLAY_NAME_OK L"OCOK" +#define OVERLAY_NAME_OK_SHARED L"OCOKShared" +#define OVERLAY_NAME_SYNC L"OCSync" +#define OVERLAY_NAME_SYNC_SHARED L"OCSyncShared" +#define OVERLAY_NAME_WARNING L"OCWarning" +#define OVERLAY_NAME_WARNING_SHARED L"OCWarningShared" #define REGISTRY_OVERLAY_KEY L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ShellIconOverlayIdentifiers" #define REGISTRY_CLSID L"CLSID" diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/resource.h b/shell_integration/windows/OCShellExtensions/OCOverlays/resource.h index dbb1edc400068eaebe94d6372fd3ce339ec21c82..3a3dab3567e16fc80e2d0d5b6536f58c1ef5841e 100644 GIT binary patch delta 15 Wcmcb`)4;PKig^;V)aG-{Jxl;B*9AcU delta 30 mcmZqRxy7>~ig|Jxv(97zMgd0i$%>4clX;l=HkUB>FaZFCX$RT> diff --git a/shell_integration/windows/OCShellExtensions/OCShellExtensions.sln b/shell_integration/windows/OCShellExtensions/OCShellExtensions.sln index 979c155fa..1bfbbf3ed 100644 --- a/shell_integration/windows/OCShellExtensions/OCShellExtensions.sln +++ b/shell_integration/windows/OCShellExtensions/OCShellExtensions.sln @@ -3,14 +3,12 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 VisualStudioVersion = 12.0.30501.0 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCUtil", "OCUtil\OCUtil.vcxproj", "{E4F63E19-808D-4234-8DF0-69C5F47C9CD3}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCOverlays", "OCOverlays\OCOverlays.vcxproj", "{42EFEC79-5ACA-4F76-955F-15CE4340F6BC}" ProjectSection(ProjectDependencies) = postProject {E4F63E19-808D-4234-8DF0-69C5F47C9CD3} = {E4F63E19-808D-4234-8DF0-69C5F47C9CD3} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCUtilTest", "ConsoleApplication1\ConsoleApplication1.vcxproj", "{A81E3DAE-8FE7-4BD0-82F9-939B2D59D033}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCUtil", "OCUtil\OCUtil.vcxproj", "{E4F63E19-808D-4234-8DF0-69C5F47C9CD3}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -20,14 +18,6 @@ Global Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Debug|Win32.ActiveCfg = Debug|Win32 - {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Debug|Win32.Build.0 = Debug|Win32 - {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Debug|x64.ActiveCfg = Debug|x64 - {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Debug|x64.Build.0 = Debug|x64 - {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Release|Win32.ActiveCfg = Release|Win32 - {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Release|Win32.Build.0 = Release|Win32 - {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Release|x64.ActiveCfg = Release|x64 - {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Release|x64.Build.0 = Release|x64 {42EFEC79-5ACA-4F76-955F-15CE4340F6BC}.Debug|Win32.ActiveCfg = Debug|Win32 {42EFEC79-5ACA-4F76-955F-15CE4340F6BC}.Debug|Win32.Build.0 = Debug|Win32 {42EFEC79-5ACA-4F76-955F-15CE4340F6BC}.Debug|x64.ActiveCfg = Debug|x64 @@ -36,12 +26,14 @@ Global {42EFEC79-5ACA-4F76-955F-15CE4340F6BC}.Release|Win32.Build.0 = Release|Win32 {42EFEC79-5ACA-4F76-955F-15CE4340F6BC}.Release|x64.ActiveCfg = Release|x64 {42EFEC79-5ACA-4F76-955F-15CE4340F6BC}.Release|x64.Build.0 = Release|x64 - {A81E3DAE-8FE7-4BD0-82F9-939B2D59D033}.Debug|Win32.ActiveCfg = Debug|Win32 - {A81E3DAE-8FE7-4BD0-82F9-939B2D59D033}.Debug|Win32.Build.0 = Debug|Win32 - {A81E3DAE-8FE7-4BD0-82F9-939B2D59D033}.Debug|x64.ActiveCfg = Debug|Win32 - {A81E3DAE-8FE7-4BD0-82F9-939B2D59D033}.Release|Win32.ActiveCfg = Release|Win32 - {A81E3DAE-8FE7-4BD0-82F9-939B2D59D033}.Release|Win32.Build.0 = Release|Win32 - {A81E3DAE-8FE7-4BD0-82F9-939B2D59D033}.Release|x64.ActiveCfg = Release|Win32 + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Debug|Win32.ActiveCfg = Debug|Win32 + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Debug|Win32.Build.0 = Debug|Win32 + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Debug|x64.ActiveCfg = Debug|x64 + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Debug|x64.Build.0 = Debug|x64 + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Release|Win32.ActiveCfg = Release|Win32 + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Release|Win32.Build.0 = Release|Win32 + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Release|x64.ActiveCfg = Release|x64 + {E4F63E19-808D-4234-8DF0-69C5F47C9CD3}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.cpp b/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.cpp index 2eec3c2ea..e2eba1d18 100644 --- a/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.cpp +++ b/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.cpp @@ -37,7 +37,7 @@ RemotePathChecker::RemotePathChecker(int port) { } -bool RemotePathChecker::IsMonitoredPath(const wchar_t* filePath, bool isDir) +bool RemotePathChecker::IsMonitoredPath(const wchar_t* filePath, int* state) { wstring request; wstring response; @@ -45,11 +45,7 @@ bool RemotePathChecker::IsMonitoredPath(const wchar_t* filePath, bool isDir) CommunicationSocket socket(_port); socket.Connect(); - if (isDir) { - request = L"RETRIEVE_FOLDER_STATUS:"; - } else { - request = L"RETRIEVE_FILE_STATUS:"; - } + request = L"RETRIEVE_FILE_STATUS:"; request += filePath; request += L'\n'; @@ -76,8 +72,11 @@ bool RemotePathChecker::IsMonitoredPath(const wchar_t* filePath, bool isDir) wstring responseStatus = response.substr(statusBegin+1, statusEnd - statusBegin-1); wstring responsePath = response.substr(statusEnd+1); if (responsePath == filePath) { - int status = _StrToFileState(responseStatus); - if (status == StateNone) { + if (!state) { + return false; + } + *state = _StrToFileState(responseStatus); + if (*state == StateNone) { return false; } needed = true; diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.h b/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.h index 5e58c6d64..47b76f2a8 100644 --- a/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.h +++ b/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.h @@ -29,7 +29,7 @@ public: StateNone }; RemotePathChecker(int port); - bool IsMonitoredPath(const wchar_t* filePath, bool isDir); + bool IsMonitoredPath(const wchar_t* filePath, int* state); private: int _StrToFileState(const std::wstring &str); From a0a5a49d7b347c40cd8b1680ffb14419a5b1eef3 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 4 Aug 2014 17:20:57 +0200 Subject: [PATCH 085/133] CMake: Install icons under linux. --- shell_integration/icons/CMakeLists.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/shell_integration/icons/CMakeLists.txt b/shell_integration/icons/CMakeLists.txt index 3fb7c55ba..a2531a58c 100644 --- a/shell_integration/icons/CMakeLists.txt +++ b/shell_integration/icons/CMakeLists.txt @@ -7,3 +7,15 @@ if( BUILD_OWNCLOUD_OSX_BUNDLE AND NOT BUILD_LIBRARIES_ONLY ) install(FILES ${mac_icons} DESTINATION ${ICON_DIR}) endif() +if( UNIX AND NOT APPLE ) + + SET(ICON_DIR ${DATADIR}/icons/hicolor) + + FOREACH(size 128x128 16x16 256x256 32x32 48x48 64x64 72x72) + install(DIRECTORY ${size} DESTINATION ${ICON_DIR}/${size}/apps FILES_MATCHING PATTERN "*.png") + ENDFOREACH(size) + +endif() + + + From b2976baf9bfe7b5bad4b04b84d025191c084f46c Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 4 Aug 2014 17:21:49 +0200 Subject: [PATCH 086/133] NautilusOverlays: Use the correct icon names, removed unused function. --- shell_integration/nautilus/ownCloud.py | 30 +++++++++++--------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/shell_integration/nautilus/ownCloud.py b/shell_integration/nautilus/ownCloud.py index 968156f25..585a7b28a 100755 --- a/shell_integration/nautilus/ownCloud.py +++ b/shell_integration/nautilus/ownCloud.py @@ -40,18 +40,18 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP # Handles a single line of server respoonse and sets the emblem def handle_server_response(self, l): - Emblems = { 'OK' : 'dialog-ok', - 'SYNC' : 'view-refresh', - 'NEW' : 'view-refresh', - 'IGNORE' : '', - 'ERROR' : '', - 'OK+SWM' : '', - 'SYNC+SWM' : '', - 'NEW+SWM' : '', - 'IGNORE+SWM': '', - 'ERROR+SWM' : '', - 'NOP' : '' - } + Emblems = { 'OK' : 'oC_ok', + 'SYNC' : 'oC_sync', + 'NEW' : 'oC_sync', + 'IGNORE' : 'oC_warn', + 'ERROR' : 'oC_error', + 'OK+SWM' : 'oC_ok_shared', + 'SYNC+SWM' : 'oC_sync_shared', + 'NEW+SWM' : 'oC_sync_shared', + 'IGNORE+SWM': 'oC_warn_shared', + 'ERROR+SWM' : 'oC_error_shared', + 'NOP' : 'oC_error' + } print "Server response: "+l parts = l.split(':') @@ -104,11 +104,7 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP def get_local_path(self, path): return path.replace("file://", "") - def get_columns(self): - return Nautilus.Column(name="NautilusPython::share_state_column", - attribute="share_state", - label="Share State", - description="The ownCloud Share State"), + def update_file_info(self, item): if item.get_uri_scheme() != 'file': From 0fe51d826fd177aaae8508d870d66b7766c24a4c Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 4 Aug 2014 17:22:34 +0200 Subject: [PATCH 087/133] Overlays: renamed icons to sensible names. Also removed .DS_Store --- shell_integration/icons/.DS_Store | Bin 6148 -> 0 bytes .../1024x1024/{Error_1024.png => oC_error.png} | Bin ...Error_Shared_1024.png => oC_error_shared.png} | Bin .../icons/1024x1024/{OK_1024.png => oC_ok.png} | Bin .../{OK_Shared_1024.png => oC_ok_shared.png} | Bin .../1024x1024/{Sync_1024.png => oC_sync.png} | Bin .../{Sync_Shared_1024.png => oC_sync_shared.png} | Bin .../1024x1024/{Warning_1024.png => oC_warn.png} | Bin ...arning_Shared_1024.png => oC_warn_shared.png} | Bin .../128x128/{Error_128.png => oC_error.png} | Bin ...{Error_Shared_128.png => oC_error_shared.png} | Bin .../icons/128x128/{OK_128.png => oC_ok.png} | Bin .../{OK_Shared_128.png => oC_ok_shared.png} | Bin .../icons/128x128/{Sync_128.png => oC_sync.png} | Bin .../{Sync_Shared_128.png => oC_sync_shared.png} | Bin .../128x128/{Warning_128.png => oC_warn.png} | Bin ...Warning_Shared_128.png => oC_warn_shared.png} | Bin .../icons/16x16/{Error_16.png => oC_error.png} | Bin .../{Error_Shared_16.png => oC_error_shared.png} | Bin .../icons/16x16/{OK_16.png => oC_ok.png} | Bin .../16x16/{OK_Shared_16.png => oC_ok_shared.png} | Bin .../icons/16x16/{Sync_16.png => oC_sync.png} | Bin .../{Sync_Shared_16.png => oC_sync_shared.png} | Bin .../icons/16x16/{Warning_16.png => oC_warn.png} | Bin ...{Warning_Shared_16.png => oC_warn_shared.png} | Bin .../256x256/{Error_256.png => oC_error.png} | Bin ...{Error_Shared_256.png => oC_error_shared.png} | Bin .../icons/256x256/{OK_256.png => oC_ok.png} | Bin .../{OK_Shared_256.png => oC_ok_shared.png} | Bin .../icons/256x256/{Sync_256.png => oC_sync.png} | Bin .../{Sync_Shared_256.png => oC_sync_shared.png} | Bin .../256x256/{Warning_256.png => oC_warn.png} | Bin ...Warning_Shared_256.png => oC_warn_shared.png} | Bin .../icons/32x32/{Error_32.png => oC_error.png} | Bin .../{Error_Shared_32.png => oC_error_shared.png} | Bin .../icons/32x32/{OK_32.png => oC_ok.png} | Bin .../32x32/{OK_Shared_32.png => oC_ok_shared.png} | Bin .../icons/32x32/{Sync_32.png => oC_sync.png} | Bin .../{Sync_Shared_32.png => oC_sync_shared.png} | Bin .../icons/32x32/{Warning_32.png => oC_warn.png} | Bin ...{Warning_Shared_32.png => oC_warn_shared.png} | Bin .../icons/48x48/{Error_48.png => oC_error.png} | Bin .../{Error_Shared_48.png => oC_error_shared.png} | Bin .../icons/48x48/{OK_48.png => oC_ok.png} | Bin .../48x48/{OK_Shared_48.png => oC_ok_shared.png} | Bin .../icons/48x48/{Sync_48.png => oC_sync.png} | Bin .../{Sync_Shared_48.png => oC_sync_shared.png} | Bin .../icons/48x48/{Warning_48.png => oC_warn.png} | Bin ...{Warning_Shared_48.png => oC_warn_shared.png} | Bin .../512x512/{Error_512.png => oC_error.png} | Bin ...{Error_Shared_512.png => oC_error_shared.png} | Bin .../icons/512x512/{OK_512.png => oC_ok.png} | Bin .../{OK_Shared_512.png => oC_ok_shared.png} | Bin .../icons/512x512/{Sync_512.png => oC_sync.png} | Bin .../{Sync_Shared_512.png => oC_sync_shared.png} | Bin .../512x512/{Warning_512.png => oC_warn.png} | Bin ...Warning_Shared_512.png => oC_warn_shared.png} | Bin .../icons/64x64/{Error_64.png => oC_error.png} | Bin .../{Error_Shared_64.png => oC_error_shared.png} | Bin .../icons/64x64/{OK_64.png => oC_ok.png} | Bin .../64x64/{OK_Shared_64.png => oC_ok_shared.png} | Bin .../icons/64x64/{Sync_64.png => oC_sync.png} | Bin .../{Sync_Shared_64.png => oC_sync_shared.png} | Bin .../icons/64x64/{Warning_64.png => oC_warn.png} | Bin ...{Warning_Shared_64.png => oC_warn_shared.png} | Bin .../icons/72x72/{Error_72.png => oC_error.png} | Bin .../{Error_Shared_72.png => oC_error_shared.png} | Bin .../icons/72x72/{OK_72.png => oC_ok.png} | Bin .../72x72/{OK_Shared_72.png => oC_ok_shared.png} | Bin .../icons/72x72/{Sync_72.png => oC_sync.png} | Bin .../{Sync_Shared_72.png => oC_sync_shared.png} | Bin .../icons/72x72/{Warning_72.png => oC_warn.png} | Bin ...{Warning_Shared_72.png => oC_warn_shared.png} | Bin 73 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 shell_integration/icons/.DS_Store rename shell_integration/icons/1024x1024/{Error_1024.png => oC_error.png} (100%) rename shell_integration/icons/1024x1024/{Error_Shared_1024.png => oC_error_shared.png} (100%) rename shell_integration/icons/1024x1024/{OK_1024.png => oC_ok.png} (100%) rename shell_integration/icons/1024x1024/{OK_Shared_1024.png => oC_ok_shared.png} (100%) rename shell_integration/icons/1024x1024/{Sync_1024.png => oC_sync.png} (100%) rename shell_integration/icons/1024x1024/{Sync_Shared_1024.png => oC_sync_shared.png} (100%) rename shell_integration/icons/1024x1024/{Warning_1024.png => oC_warn.png} (100%) rename shell_integration/icons/1024x1024/{Warning_Shared_1024.png => oC_warn_shared.png} (100%) rename shell_integration/icons/128x128/{Error_128.png => oC_error.png} (100%) rename shell_integration/icons/128x128/{Error_Shared_128.png => oC_error_shared.png} (100%) rename shell_integration/icons/128x128/{OK_128.png => oC_ok.png} (100%) rename shell_integration/icons/128x128/{OK_Shared_128.png => oC_ok_shared.png} (100%) rename shell_integration/icons/128x128/{Sync_128.png => oC_sync.png} (100%) rename shell_integration/icons/128x128/{Sync_Shared_128.png => oC_sync_shared.png} (100%) rename shell_integration/icons/128x128/{Warning_128.png => oC_warn.png} (100%) rename shell_integration/icons/128x128/{Warning_Shared_128.png => oC_warn_shared.png} (100%) rename shell_integration/icons/16x16/{Error_16.png => oC_error.png} (100%) rename shell_integration/icons/16x16/{Error_Shared_16.png => oC_error_shared.png} (100%) rename shell_integration/icons/16x16/{OK_16.png => oC_ok.png} (100%) rename shell_integration/icons/16x16/{OK_Shared_16.png => oC_ok_shared.png} (100%) rename shell_integration/icons/16x16/{Sync_16.png => oC_sync.png} (100%) rename shell_integration/icons/16x16/{Sync_Shared_16.png => oC_sync_shared.png} (100%) rename shell_integration/icons/16x16/{Warning_16.png => oC_warn.png} (100%) rename shell_integration/icons/16x16/{Warning_Shared_16.png => oC_warn_shared.png} (100%) rename shell_integration/icons/256x256/{Error_256.png => oC_error.png} (100%) rename shell_integration/icons/256x256/{Error_Shared_256.png => oC_error_shared.png} (100%) rename shell_integration/icons/256x256/{OK_256.png => oC_ok.png} (100%) rename shell_integration/icons/256x256/{OK_Shared_256.png => oC_ok_shared.png} (100%) rename shell_integration/icons/256x256/{Sync_256.png => oC_sync.png} (100%) rename shell_integration/icons/256x256/{Sync_Shared_256.png => oC_sync_shared.png} (100%) rename shell_integration/icons/256x256/{Warning_256.png => oC_warn.png} (100%) rename shell_integration/icons/256x256/{Warning_Shared_256.png => oC_warn_shared.png} (100%) rename shell_integration/icons/32x32/{Error_32.png => oC_error.png} (100%) rename shell_integration/icons/32x32/{Error_Shared_32.png => oC_error_shared.png} (100%) rename shell_integration/icons/32x32/{OK_32.png => oC_ok.png} (100%) rename shell_integration/icons/32x32/{OK_Shared_32.png => oC_ok_shared.png} (100%) rename shell_integration/icons/32x32/{Sync_32.png => oC_sync.png} (100%) rename shell_integration/icons/32x32/{Sync_Shared_32.png => oC_sync_shared.png} (100%) rename shell_integration/icons/32x32/{Warning_32.png => oC_warn.png} (100%) rename shell_integration/icons/32x32/{Warning_Shared_32.png => oC_warn_shared.png} (100%) rename shell_integration/icons/48x48/{Error_48.png => oC_error.png} (100%) rename shell_integration/icons/48x48/{Error_Shared_48.png => oC_error_shared.png} (100%) rename shell_integration/icons/48x48/{OK_48.png => oC_ok.png} (100%) rename shell_integration/icons/48x48/{OK_Shared_48.png => oC_ok_shared.png} (100%) rename shell_integration/icons/48x48/{Sync_48.png => oC_sync.png} (100%) rename shell_integration/icons/48x48/{Sync_Shared_48.png => oC_sync_shared.png} (100%) rename shell_integration/icons/48x48/{Warning_48.png => oC_warn.png} (100%) rename shell_integration/icons/48x48/{Warning_Shared_48.png => oC_warn_shared.png} (100%) rename shell_integration/icons/512x512/{Error_512.png => oC_error.png} (100%) rename shell_integration/icons/512x512/{Error_Shared_512.png => oC_error_shared.png} (100%) rename shell_integration/icons/512x512/{OK_512.png => oC_ok.png} (100%) rename shell_integration/icons/512x512/{OK_Shared_512.png => oC_ok_shared.png} (100%) rename shell_integration/icons/512x512/{Sync_512.png => oC_sync.png} (100%) rename shell_integration/icons/512x512/{Sync_Shared_512.png => oC_sync_shared.png} (100%) rename shell_integration/icons/512x512/{Warning_512.png => oC_warn.png} (100%) rename shell_integration/icons/512x512/{Warning_Shared_512.png => oC_warn_shared.png} (100%) rename shell_integration/icons/64x64/{Error_64.png => oC_error.png} (100%) rename shell_integration/icons/64x64/{Error_Shared_64.png => oC_error_shared.png} (100%) rename shell_integration/icons/64x64/{OK_64.png => oC_ok.png} (100%) rename shell_integration/icons/64x64/{OK_Shared_64.png => oC_ok_shared.png} (100%) rename shell_integration/icons/64x64/{Sync_64.png => oC_sync.png} (100%) rename shell_integration/icons/64x64/{Sync_Shared_64.png => oC_sync_shared.png} (100%) rename shell_integration/icons/64x64/{Warning_64.png => oC_warn.png} (100%) rename shell_integration/icons/64x64/{Warning_Shared_64.png => oC_warn_shared.png} (100%) rename shell_integration/icons/72x72/{Error_72.png => oC_error.png} (100%) rename shell_integration/icons/72x72/{Error_Shared_72.png => oC_error_shared.png} (100%) rename shell_integration/icons/72x72/{OK_72.png => oC_ok.png} (100%) rename shell_integration/icons/72x72/{OK_Shared_72.png => oC_ok_shared.png} (100%) rename shell_integration/icons/72x72/{Sync_72.png => oC_sync.png} (100%) rename shell_integration/icons/72x72/{Sync_Shared_72.png => oC_sync_shared.png} (100%) rename shell_integration/icons/72x72/{Warning_72.png => oC_warn.png} (100%) rename shell_integration/icons/72x72/{Warning_Shared_72.png => oC_warn_shared.png} (100%) diff --git a/shell_integration/icons/.DS_Store b/shell_integration/icons/.DS_Store deleted file mode 100644 index 3ac3eb06fb4f37a0ae5a63652136b0898d8f33a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKO>5gg5S>k&Sn3D3heCQ=dNxI>lh}bCgh?Qm(t-jhG^LfIPz!_=EV(u~PSueA zQ~C?~FZz4>c6I}?++1=9P1u3mH`>{ec+a!DULq3xapDuTh{!=x*m#8QAEx4}E!m10 zae;#0;nQpC#gpPR&X#7|0jq#j;D1vJG&zZ*(I@uHs2mslXvC5CQ8_?_{ewKu;2)XUhiOs{ zKDS=XX1?EPOW*hAZ8`J3?q*x|ws+=p*KyouqT@V&`RdL7K{P-AUj5Me32ZlPPYqtd zC7c?aZ{cW|<-@OtsH`>WV3V4v{=O5vMx{owNn89|PBq?lqBS}-vg`DgB08pb6w-%l zRDa$<@ou1az3sN#>}{#y?RGu*ou01U*6*v*JyW%d;)C5-x)%s8P^r;uf?i4qolp$A zqog>_Vk{_r>FqkRh@8i_OSf580jt0RRzU3!5=~)Xu+qp|2Rgn202>%)gRkxqDn}X& z3|1NufeD=o)TzQ;F@#RXxHR(ugOx^|PJ+LT_n0pWb3+mQb&N}%P9o4~d#iv|U{Qfp z{n%3H|K82_|HUNxWEHRqJSYW3V>jIGgOWL0m&mEJR-%1DQ>Nxs8aV}>IgZ&;NAU(4 a8)8y9z`$Uo5hF1BM}TFpomJpY75EFnV)!Hg diff --git a/shell_integration/icons/1024x1024/Error_1024.png b/shell_integration/icons/1024x1024/oC_error.png similarity index 100% rename from shell_integration/icons/1024x1024/Error_1024.png rename to shell_integration/icons/1024x1024/oC_error.png diff --git a/shell_integration/icons/1024x1024/Error_Shared_1024.png b/shell_integration/icons/1024x1024/oC_error_shared.png similarity index 100% rename from shell_integration/icons/1024x1024/Error_Shared_1024.png rename to shell_integration/icons/1024x1024/oC_error_shared.png diff --git a/shell_integration/icons/1024x1024/OK_1024.png b/shell_integration/icons/1024x1024/oC_ok.png similarity index 100% rename from shell_integration/icons/1024x1024/OK_1024.png rename to shell_integration/icons/1024x1024/oC_ok.png diff --git a/shell_integration/icons/1024x1024/OK_Shared_1024.png b/shell_integration/icons/1024x1024/oC_ok_shared.png similarity index 100% rename from shell_integration/icons/1024x1024/OK_Shared_1024.png rename to shell_integration/icons/1024x1024/oC_ok_shared.png diff --git a/shell_integration/icons/1024x1024/Sync_1024.png b/shell_integration/icons/1024x1024/oC_sync.png similarity index 100% rename from shell_integration/icons/1024x1024/Sync_1024.png rename to shell_integration/icons/1024x1024/oC_sync.png diff --git a/shell_integration/icons/1024x1024/Sync_Shared_1024.png b/shell_integration/icons/1024x1024/oC_sync_shared.png similarity index 100% rename from shell_integration/icons/1024x1024/Sync_Shared_1024.png rename to shell_integration/icons/1024x1024/oC_sync_shared.png diff --git a/shell_integration/icons/1024x1024/Warning_1024.png b/shell_integration/icons/1024x1024/oC_warn.png similarity index 100% rename from shell_integration/icons/1024x1024/Warning_1024.png rename to shell_integration/icons/1024x1024/oC_warn.png diff --git a/shell_integration/icons/1024x1024/Warning_Shared_1024.png b/shell_integration/icons/1024x1024/oC_warn_shared.png similarity index 100% rename from shell_integration/icons/1024x1024/Warning_Shared_1024.png rename to shell_integration/icons/1024x1024/oC_warn_shared.png diff --git a/shell_integration/icons/128x128/Error_128.png b/shell_integration/icons/128x128/oC_error.png similarity index 100% rename from shell_integration/icons/128x128/Error_128.png rename to shell_integration/icons/128x128/oC_error.png diff --git a/shell_integration/icons/128x128/Error_Shared_128.png b/shell_integration/icons/128x128/oC_error_shared.png similarity index 100% rename from shell_integration/icons/128x128/Error_Shared_128.png rename to shell_integration/icons/128x128/oC_error_shared.png diff --git a/shell_integration/icons/128x128/OK_128.png b/shell_integration/icons/128x128/oC_ok.png similarity index 100% rename from shell_integration/icons/128x128/OK_128.png rename to shell_integration/icons/128x128/oC_ok.png diff --git a/shell_integration/icons/128x128/OK_Shared_128.png b/shell_integration/icons/128x128/oC_ok_shared.png similarity index 100% rename from shell_integration/icons/128x128/OK_Shared_128.png rename to shell_integration/icons/128x128/oC_ok_shared.png diff --git a/shell_integration/icons/128x128/Sync_128.png b/shell_integration/icons/128x128/oC_sync.png similarity index 100% rename from shell_integration/icons/128x128/Sync_128.png rename to shell_integration/icons/128x128/oC_sync.png diff --git a/shell_integration/icons/128x128/Sync_Shared_128.png b/shell_integration/icons/128x128/oC_sync_shared.png similarity index 100% rename from shell_integration/icons/128x128/Sync_Shared_128.png rename to shell_integration/icons/128x128/oC_sync_shared.png diff --git a/shell_integration/icons/128x128/Warning_128.png b/shell_integration/icons/128x128/oC_warn.png similarity index 100% rename from shell_integration/icons/128x128/Warning_128.png rename to shell_integration/icons/128x128/oC_warn.png diff --git a/shell_integration/icons/128x128/Warning_Shared_128.png b/shell_integration/icons/128x128/oC_warn_shared.png similarity index 100% rename from shell_integration/icons/128x128/Warning_Shared_128.png rename to shell_integration/icons/128x128/oC_warn_shared.png diff --git a/shell_integration/icons/16x16/Error_16.png b/shell_integration/icons/16x16/oC_error.png similarity index 100% rename from shell_integration/icons/16x16/Error_16.png rename to shell_integration/icons/16x16/oC_error.png diff --git a/shell_integration/icons/16x16/Error_Shared_16.png b/shell_integration/icons/16x16/oC_error_shared.png similarity index 100% rename from shell_integration/icons/16x16/Error_Shared_16.png rename to shell_integration/icons/16x16/oC_error_shared.png diff --git a/shell_integration/icons/16x16/OK_16.png b/shell_integration/icons/16x16/oC_ok.png similarity index 100% rename from shell_integration/icons/16x16/OK_16.png rename to shell_integration/icons/16x16/oC_ok.png diff --git a/shell_integration/icons/16x16/OK_Shared_16.png b/shell_integration/icons/16x16/oC_ok_shared.png similarity index 100% rename from shell_integration/icons/16x16/OK_Shared_16.png rename to shell_integration/icons/16x16/oC_ok_shared.png diff --git a/shell_integration/icons/16x16/Sync_16.png b/shell_integration/icons/16x16/oC_sync.png similarity index 100% rename from shell_integration/icons/16x16/Sync_16.png rename to shell_integration/icons/16x16/oC_sync.png diff --git a/shell_integration/icons/16x16/Sync_Shared_16.png b/shell_integration/icons/16x16/oC_sync_shared.png similarity index 100% rename from shell_integration/icons/16x16/Sync_Shared_16.png rename to shell_integration/icons/16x16/oC_sync_shared.png diff --git a/shell_integration/icons/16x16/Warning_16.png b/shell_integration/icons/16x16/oC_warn.png similarity index 100% rename from shell_integration/icons/16x16/Warning_16.png rename to shell_integration/icons/16x16/oC_warn.png diff --git a/shell_integration/icons/16x16/Warning_Shared_16.png b/shell_integration/icons/16x16/oC_warn_shared.png similarity index 100% rename from shell_integration/icons/16x16/Warning_Shared_16.png rename to shell_integration/icons/16x16/oC_warn_shared.png diff --git a/shell_integration/icons/256x256/Error_256.png b/shell_integration/icons/256x256/oC_error.png similarity index 100% rename from shell_integration/icons/256x256/Error_256.png rename to shell_integration/icons/256x256/oC_error.png diff --git a/shell_integration/icons/256x256/Error_Shared_256.png b/shell_integration/icons/256x256/oC_error_shared.png similarity index 100% rename from shell_integration/icons/256x256/Error_Shared_256.png rename to shell_integration/icons/256x256/oC_error_shared.png diff --git a/shell_integration/icons/256x256/OK_256.png b/shell_integration/icons/256x256/oC_ok.png similarity index 100% rename from shell_integration/icons/256x256/OK_256.png rename to shell_integration/icons/256x256/oC_ok.png diff --git a/shell_integration/icons/256x256/OK_Shared_256.png b/shell_integration/icons/256x256/oC_ok_shared.png similarity index 100% rename from shell_integration/icons/256x256/OK_Shared_256.png rename to shell_integration/icons/256x256/oC_ok_shared.png diff --git a/shell_integration/icons/256x256/Sync_256.png b/shell_integration/icons/256x256/oC_sync.png similarity index 100% rename from shell_integration/icons/256x256/Sync_256.png rename to shell_integration/icons/256x256/oC_sync.png diff --git a/shell_integration/icons/256x256/Sync_Shared_256.png b/shell_integration/icons/256x256/oC_sync_shared.png similarity index 100% rename from shell_integration/icons/256x256/Sync_Shared_256.png rename to shell_integration/icons/256x256/oC_sync_shared.png diff --git a/shell_integration/icons/256x256/Warning_256.png b/shell_integration/icons/256x256/oC_warn.png similarity index 100% rename from shell_integration/icons/256x256/Warning_256.png rename to shell_integration/icons/256x256/oC_warn.png diff --git a/shell_integration/icons/256x256/Warning_Shared_256.png b/shell_integration/icons/256x256/oC_warn_shared.png similarity index 100% rename from shell_integration/icons/256x256/Warning_Shared_256.png rename to shell_integration/icons/256x256/oC_warn_shared.png diff --git a/shell_integration/icons/32x32/Error_32.png b/shell_integration/icons/32x32/oC_error.png similarity index 100% rename from shell_integration/icons/32x32/Error_32.png rename to shell_integration/icons/32x32/oC_error.png diff --git a/shell_integration/icons/32x32/Error_Shared_32.png b/shell_integration/icons/32x32/oC_error_shared.png similarity index 100% rename from shell_integration/icons/32x32/Error_Shared_32.png rename to shell_integration/icons/32x32/oC_error_shared.png diff --git a/shell_integration/icons/32x32/OK_32.png b/shell_integration/icons/32x32/oC_ok.png similarity index 100% rename from shell_integration/icons/32x32/OK_32.png rename to shell_integration/icons/32x32/oC_ok.png diff --git a/shell_integration/icons/32x32/OK_Shared_32.png b/shell_integration/icons/32x32/oC_ok_shared.png similarity index 100% rename from shell_integration/icons/32x32/OK_Shared_32.png rename to shell_integration/icons/32x32/oC_ok_shared.png diff --git a/shell_integration/icons/32x32/Sync_32.png b/shell_integration/icons/32x32/oC_sync.png similarity index 100% rename from shell_integration/icons/32x32/Sync_32.png rename to shell_integration/icons/32x32/oC_sync.png diff --git a/shell_integration/icons/32x32/Sync_Shared_32.png b/shell_integration/icons/32x32/oC_sync_shared.png similarity index 100% rename from shell_integration/icons/32x32/Sync_Shared_32.png rename to shell_integration/icons/32x32/oC_sync_shared.png diff --git a/shell_integration/icons/32x32/Warning_32.png b/shell_integration/icons/32x32/oC_warn.png similarity index 100% rename from shell_integration/icons/32x32/Warning_32.png rename to shell_integration/icons/32x32/oC_warn.png diff --git a/shell_integration/icons/32x32/Warning_Shared_32.png b/shell_integration/icons/32x32/oC_warn_shared.png similarity index 100% rename from shell_integration/icons/32x32/Warning_Shared_32.png rename to shell_integration/icons/32x32/oC_warn_shared.png diff --git a/shell_integration/icons/48x48/Error_48.png b/shell_integration/icons/48x48/oC_error.png similarity index 100% rename from shell_integration/icons/48x48/Error_48.png rename to shell_integration/icons/48x48/oC_error.png diff --git a/shell_integration/icons/48x48/Error_Shared_48.png b/shell_integration/icons/48x48/oC_error_shared.png similarity index 100% rename from shell_integration/icons/48x48/Error_Shared_48.png rename to shell_integration/icons/48x48/oC_error_shared.png diff --git a/shell_integration/icons/48x48/OK_48.png b/shell_integration/icons/48x48/oC_ok.png similarity index 100% rename from shell_integration/icons/48x48/OK_48.png rename to shell_integration/icons/48x48/oC_ok.png diff --git a/shell_integration/icons/48x48/OK_Shared_48.png b/shell_integration/icons/48x48/oC_ok_shared.png similarity index 100% rename from shell_integration/icons/48x48/OK_Shared_48.png rename to shell_integration/icons/48x48/oC_ok_shared.png diff --git a/shell_integration/icons/48x48/Sync_48.png b/shell_integration/icons/48x48/oC_sync.png similarity index 100% rename from shell_integration/icons/48x48/Sync_48.png rename to shell_integration/icons/48x48/oC_sync.png diff --git a/shell_integration/icons/48x48/Sync_Shared_48.png b/shell_integration/icons/48x48/oC_sync_shared.png similarity index 100% rename from shell_integration/icons/48x48/Sync_Shared_48.png rename to shell_integration/icons/48x48/oC_sync_shared.png diff --git a/shell_integration/icons/48x48/Warning_48.png b/shell_integration/icons/48x48/oC_warn.png similarity index 100% rename from shell_integration/icons/48x48/Warning_48.png rename to shell_integration/icons/48x48/oC_warn.png diff --git a/shell_integration/icons/48x48/Warning_Shared_48.png b/shell_integration/icons/48x48/oC_warn_shared.png similarity index 100% rename from shell_integration/icons/48x48/Warning_Shared_48.png rename to shell_integration/icons/48x48/oC_warn_shared.png diff --git a/shell_integration/icons/512x512/Error_512.png b/shell_integration/icons/512x512/oC_error.png similarity index 100% rename from shell_integration/icons/512x512/Error_512.png rename to shell_integration/icons/512x512/oC_error.png diff --git a/shell_integration/icons/512x512/Error_Shared_512.png b/shell_integration/icons/512x512/oC_error_shared.png similarity index 100% rename from shell_integration/icons/512x512/Error_Shared_512.png rename to shell_integration/icons/512x512/oC_error_shared.png diff --git a/shell_integration/icons/512x512/OK_512.png b/shell_integration/icons/512x512/oC_ok.png similarity index 100% rename from shell_integration/icons/512x512/OK_512.png rename to shell_integration/icons/512x512/oC_ok.png diff --git a/shell_integration/icons/512x512/OK_Shared_512.png b/shell_integration/icons/512x512/oC_ok_shared.png similarity index 100% rename from shell_integration/icons/512x512/OK_Shared_512.png rename to shell_integration/icons/512x512/oC_ok_shared.png diff --git a/shell_integration/icons/512x512/Sync_512.png b/shell_integration/icons/512x512/oC_sync.png similarity index 100% rename from shell_integration/icons/512x512/Sync_512.png rename to shell_integration/icons/512x512/oC_sync.png diff --git a/shell_integration/icons/512x512/Sync_Shared_512.png b/shell_integration/icons/512x512/oC_sync_shared.png similarity index 100% rename from shell_integration/icons/512x512/Sync_Shared_512.png rename to shell_integration/icons/512x512/oC_sync_shared.png diff --git a/shell_integration/icons/512x512/Warning_512.png b/shell_integration/icons/512x512/oC_warn.png similarity index 100% rename from shell_integration/icons/512x512/Warning_512.png rename to shell_integration/icons/512x512/oC_warn.png diff --git a/shell_integration/icons/512x512/Warning_Shared_512.png b/shell_integration/icons/512x512/oC_warn_shared.png similarity index 100% rename from shell_integration/icons/512x512/Warning_Shared_512.png rename to shell_integration/icons/512x512/oC_warn_shared.png diff --git a/shell_integration/icons/64x64/Error_64.png b/shell_integration/icons/64x64/oC_error.png similarity index 100% rename from shell_integration/icons/64x64/Error_64.png rename to shell_integration/icons/64x64/oC_error.png diff --git a/shell_integration/icons/64x64/Error_Shared_64.png b/shell_integration/icons/64x64/oC_error_shared.png similarity index 100% rename from shell_integration/icons/64x64/Error_Shared_64.png rename to shell_integration/icons/64x64/oC_error_shared.png diff --git a/shell_integration/icons/64x64/OK_64.png b/shell_integration/icons/64x64/oC_ok.png similarity index 100% rename from shell_integration/icons/64x64/OK_64.png rename to shell_integration/icons/64x64/oC_ok.png diff --git a/shell_integration/icons/64x64/OK_Shared_64.png b/shell_integration/icons/64x64/oC_ok_shared.png similarity index 100% rename from shell_integration/icons/64x64/OK_Shared_64.png rename to shell_integration/icons/64x64/oC_ok_shared.png diff --git a/shell_integration/icons/64x64/Sync_64.png b/shell_integration/icons/64x64/oC_sync.png similarity index 100% rename from shell_integration/icons/64x64/Sync_64.png rename to shell_integration/icons/64x64/oC_sync.png diff --git a/shell_integration/icons/64x64/Sync_Shared_64.png b/shell_integration/icons/64x64/oC_sync_shared.png similarity index 100% rename from shell_integration/icons/64x64/Sync_Shared_64.png rename to shell_integration/icons/64x64/oC_sync_shared.png diff --git a/shell_integration/icons/64x64/Warning_64.png b/shell_integration/icons/64x64/oC_warn.png similarity index 100% rename from shell_integration/icons/64x64/Warning_64.png rename to shell_integration/icons/64x64/oC_warn.png diff --git a/shell_integration/icons/64x64/Warning_Shared_64.png b/shell_integration/icons/64x64/oC_warn_shared.png similarity index 100% rename from shell_integration/icons/64x64/Warning_Shared_64.png rename to shell_integration/icons/64x64/oC_warn_shared.png diff --git a/shell_integration/icons/72x72/Error_72.png b/shell_integration/icons/72x72/oC_error.png similarity index 100% rename from shell_integration/icons/72x72/Error_72.png rename to shell_integration/icons/72x72/oC_error.png diff --git a/shell_integration/icons/72x72/Error_Shared_72.png b/shell_integration/icons/72x72/oC_error_shared.png similarity index 100% rename from shell_integration/icons/72x72/Error_Shared_72.png rename to shell_integration/icons/72x72/oC_error_shared.png diff --git a/shell_integration/icons/72x72/OK_72.png b/shell_integration/icons/72x72/oC_ok.png similarity index 100% rename from shell_integration/icons/72x72/OK_72.png rename to shell_integration/icons/72x72/oC_ok.png diff --git a/shell_integration/icons/72x72/OK_Shared_72.png b/shell_integration/icons/72x72/oC_ok_shared.png similarity index 100% rename from shell_integration/icons/72x72/OK_Shared_72.png rename to shell_integration/icons/72x72/oC_ok_shared.png diff --git a/shell_integration/icons/72x72/Sync_72.png b/shell_integration/icons/72x72/oC_sync.png similarity index 100% rename from shell_integration/icons/72x72/Sync_72.png rename to shell_integration/icons/72x72/oC_sync.png diff --git a/shell_integration/icons/72x72/Sync_Shared_72.png b/shell_integration/icons/72x72/oC_sync_shared.png similarity index 100% rename from shell_integration/icons/72x72/Sync_Shared_72.png rename to shell_integration/icons/72x72/oC_sync_shared.png diff --git a/shell_integration/icons/72x72/Warning_72.png b/shell_integration/icons/72x72/oC_warn.png similarity index 100% rename from shell_integration/icons/72x72/Warning_72.png rename to shell_integration/icons/72x72/oC_warn.png diff --git a/shell_integration/icons/72x72/Warning_Shared_72.png b/shell_integration/icons/72x72/oC_warn_shared.png similarity index 100% rename from shell_integration/icons/72x72/Warning_Shared_72.png rename to shell_integration/icons/72x72/oC_warn_shared.png From 4e13c882f863f525d144bce7d1ee490c2fb366c7 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 4 Aug 2014 18:58:35 +0200 Subject: [PATCH 088/133] CMake: Install the nautilus plugin. --- shell_integration/CMakeLists.txt | 4 ++++ shell_integration/nautilus/CMakeLists.txt | 1 + 2 files changed, 5 insertions(+) create mode 100644 shell_integration/nautilus/CMakeLists.txt diff --git a/shell_integration/CMakeLists.txt b/shell_integration/CMakeLists.txt index c08efc962..523f5c568 100644 --- a/shell_integration/CMakeLists.txt +++ b/shell_integration/CMakeLists.txt @@ -2,3 +2,7 @@ add_subdirectory(testclient) add_subdirectory(MacOSX) add_subdirectory(icons) +if( UNIX AND NOT APPLE ) + add_subdirectory(nautilus) +endif() + diff --git a/shell_integration/nautilus/CMakeLists.txt b/shell_integration/nautilus/CMakeLists.txt new file mode 100644 index 000000000..7ceba3609 --- /dev/null +++ b/shell_integration/nautilus/CMakeLists.txt @@ -0,0 +1 @@ +install(FILES ownCloud.py DESTINATION ${DATADIR}/nautilus-python/extensions) From c313cc02f215adaa0e052fad44f849ef94db878c Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Tue, 5 Aug 2014 00:34:24 +0200 Subject: [PATCH 089/133] Config: Fix loading of configuration There is a strange bug with Qt, we need to always set the application name, then we can generate the proper config path. --- doc/ocdoc | 2 +- src/mirall/mirallconfigfile.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/ocdoc b/doc/ocdoc index c612df399..a8fc638c2 160000 --- a/doc/ocdoc +++ b/doc/ocdoc @@ -1 +1 @@ -Subproject commit c612df399e3c775a2f9db1dc5e39d25920ab467b +Subproject commit a8fc638c26dd47925e66f05fb87cface5dbbbd81 diff --git a/src/mirall/mirallconfigfile.cpp b/src/mirall/mirallconfigfile.cpp index 8988a05fa..a791a06cf 100644 --- a/src/mirall/mirallconfigfile.cpp +++ b/src/mirall/mirallconfigfile.cpp @@ -69,6 +69,9 @@ bool MirallConfigFile::_askedUser = false; MirallConfigFile::MirallConfigFile() { + // QDesktopServices uses the application name to create a config path + qApp->setApplicationName( Theme::instance()->appNameGUI() ); + QSettings::setDefaultFormat(QSettings::IniFormat); const QString config = configFile(); @@ -77,7 +80,7 @@ MirallConfigFile::MirallConfigFile() QSettings settings(config, QSettings::IniFormat); settings.beginGroup( defaultConnection() ); - // qDebug() << "Loading config: " << config << " (URL is " << settings.value("url").toString() << ")"; + // qDebug() << Q_FUNC_INFO << "Loading config: " << config << " (URL is " << settings.value("url").toString() << ")"; } void MirallConfigFile::setConfDir(const QString &value) @@ -243,9 +246,6 @@ QString MirallConfigFile::excludeFile(Scope scope) const QString MirallConfigFile::configFile() const { - if( qApp->applicationName().isEmpty() ) { - qApp->setApplicationName( Theme::instance()->appNameGUI() ); - } return configPath() + Theme::instance()->configFileName(); } From 24df6f838d32d5e47460981a7471ba5ebd06abe6 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Tue, 5 Aug 2014 01:25:26 -0400 Subject: [PATCH 090/133] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 50 ++++++++++++++++++------------------ translations/mirall_cs.ts | 50 ++++++++++++++++++------------------ translations/mirall_de.ts | 50 ++++++++++++++++++------------------ translations/mirall_el.ts | 50 ++++++++++++++++++------------------ translations/mirall_en.ts | 50 ++++++++++++++++++------------------ translations/mirall_es.ts | 50 ++++++++++++++++++------------------ translations/mirall_es_AR.ts | 50 ++++++++++++++++++------------------ translations/mirall_et.ts | 50 ++++++++++++++++++------------------ translations/mirall_eu.ts | 50 ++++++++++++++++++------------------ translations/mirall_fa.ts | 50 ++++++++++++++++++------------------ translations/mirall_fi.ts | 50 ++++++++++++++++++------------------ translations/mirall_fr.ts | 50 ++++++++++++++++++------------------ translations/mirall_gl.ts | 50 ++++++++++++++++++------------------ translations/mirall_hu.ts | 50 ++++++++++++++++++------------------ translations/mirall_it.ts | 50 ++++++++++++++++++------------------ translations/mirall_ja.ts | 50 ++++++++++++++++++------------------ translations/mirall_nl.ts | 50 ++++++++++++++++++------------------ translations/mirall_pl.ts | 50 ++++++++++++++++++------------------ translations/mirall_pt.ts | 50 ++++++++++++++++++------------------ translations/mirall_pt_BR.ts | 50 ++++++++++++++++++------------------ translations/mirall_ru.ts | 50 ++++++++++++++++++------------------ translations/mirall_sk.ts | 50 ++++++++++++++++++------------------ translations/mirall_sl.ts | 50 ++++++++++++++++++------------------ translations/mirall_sv.ts | 50 ++++++++++++++++++------------------ translations/mirall_th.ts | 50 ++++++++++++++++++------------------ translations/mirall_tr.ts | 50 ++++++++++++++++++------------------ translations/mirall_uk.ts | 50 ++++++++++++++++++------------------ translations/mirall_zh_CN.ts | 50 ++++++++++++++++++------------------ translations/mirall_zh_TW.ts | 50 ++++++++++++++++++------------------ 29 files changed, 725 insertions(+), 725 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index 620521895..405d01fa0 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -2030,127 +2030,127 @@ Proveu de sincronitzar-los de nou. Mirall::ownCloudGui - + Please sign in Acrediteu-vos - + Disconnected from server Desconnectat del servidor - + Folder %1: %2 Carpeta %1: %2 - + No sync folders configured. No hi ha fitxers de sincronització configurats - + None. Cap. - + Recent Changes Canvis recents - + Open %1 folder Obre la carpeta %1 - + Managed Folders: Fitxers gestionats: - + Open folder '%1' Obre carpeta '%1' - + Open %1 in browser Obre %1 en el navegador - + Calculating quota... Calculant la quota... - + Unknown status Estat desconegut - + Settings... Arranjament... - + Details... Detalls... - + Help Ajuda - + Quit %1 Surt %1 - + Sign in... Acredita... - + Sign out Surt - + Quota n/a Quota n/d - + %1% of %2 in use %1 de %2 en ús - + No items synced recently No hi ha elements sincronitzats recentment - + Syncing %1 of %2 (%3 left) Sincronitzant %1 de %2 (%3 pendents) - + Syncing %1 (%2 left) Sincronitzant %1 (%2 pendents) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Actualitzat diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index f2d58ee04..2b63990f3 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -2031,127 +2031,127 @@ Zkuste provést novou synchronizaci. Mirall::ownCloudGui - + Please sign in Přihlašte se prosím - + Disconnected from server Odpojen od serveru - + Folder %1: %2 Složka %1: %2 - + No sync folders configured. Nejsou nastaveny žádné synchronizované složky. - + None. Nic. - + Recent Changes Poslední změny - + Open %1 folder Otevřít složku %1 - + Managed Folders: Spravované složky: - + Open folder '%1' Otevřít složku '%1' - + Open %1 in browser Otevřít %1 v prohlížeči - + Calculating quota... Počítám kvóty... - + Unknown status Neznámý stav - + Settings... Nastavení... - + Details... Podrobnosti... - + Help Nápověda - + Quit %1 Ukončit %1 - + Sign in... Přihlásit... - + Sign out Odhlásit - + Quota n/a Kvóta nedostupná - + %1% of %2 in use %1% z %2 v používání - + No items synced recently Žádné položky nebyly nedávno synchronizovány - + Syncing %1 of %2 (%3 left) Synchronizuji %1 ze %2 (zbývá %3) - + Syncing %1 (%2 left) Synchronizuji %1 (zbývá %2) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aktuální diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index 44693088d..e28026c77 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -2031,127 +2031,127 @@ Versuchen Sie diese nochmals zu synchronisieren. Mirall::ownCloudGui - + Please sign in Bitte melden Sie sich an - + Disconnected from server Vom Server getrennt - + Folder %1: %2 Ordner %1: %2 - + No sync folders configured. Keine Sync-Ordner konfiguriert. - + None. Keine. - + Recent Changes Letzte Änderungen - + Open %1 folder Ordner %1 öffnen - + Managed Folders: Verwaltete Ordner: - + Open folder '%1' Ordner '%1' öffnen - + Open %1 in browser %1 im Browser öffnen - + Calculating quota... Berechne Quote... - + Unknown status Unbekannter Status - + Settings... Einstellungen - + Details... Details... - + Help Hilfe - + Quit %1 %1 beenden - + Sign in... Anmeldung... - + Sign out Abmeldung - + Quota n/a Quote unbekannt - + %1% of %2 in use %1% von %2 benutzt - + No items synced recently Keine kürzlich synchronisierten Elemente - + Syncing %1 of %2 (%3 left) Synchronisiere %1 von %2 (%3 übrig) - + Syncing %1 (%2 left) Synchronisiere %1 (%2 übrig) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aktuell diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index d6c0b2669..d3aea8f86 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -2031,127 +2031,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in Παρκαλώ συνδεθείτε - + Disconnected from server Αποσύνδεση από το διακομιστή - + Folder %1: %2 Φάκελος %1: %2 - + No sync folders configured. Δεν έχουν οριστεί φάκελοι συγχρονισμού. - + None. Κανένας. - + Recent Changes Πρόσφατες Αλλαγές - + Open %1 folder Άνοιγμα %1 φακέλου - + Managed Folders: Φάκελοι υπό Διαχείριση: - + Open folder '%1' Άνοιγμα φακέλου '%1' - + Open %1 in browser Άνοιγμα %1 στον περιηγητή - + Calculating quota... Υπολογισμός μεριδίου χώρου αποθήκευσης... - + Unknown status Άγνωστη κατάσταση - + Settings... Ρυθμίσεις... - + Details... Λεπτομέρειες... - + Help Βοήθεια - + Quit %1 Κλείσιμο %1 - + Sign in... Σύνδεση... - + Sign out Αποσύνδεση - + Quota n/a Μερίδιο χώρου αποθήκευσης μ/δ - + %1% of %2 in use %1% από %2 σε χρήση - + No items synced recently Κανένα στοιχείο δεν συγχρονίστηκε πρόσφατα - + Syncing %1 of %2 (%3 left) Συγχρονισμός %1 από %2 (%3 απομένουν) - + Syncing %1 (%2 left) Συγχρονισμός %1 (%2 απομένουν) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Ενημερωμένο diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index a82b81488..12ec5a728 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -2022,127 +2022,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in - + Disconnected from server - + Folder %1: %2 - + No sync folders configured. - + None. - + Recent Changes - + Open %1 folder - + Managed Folders: - + Open folder '%1' - + Open %1 in browser - + Calculating quota... - + Unknown status - + Settings... - + Details... - + Help - + Quit %1 - + Sign in... - + Sign out - + Quota n/a - + %1% of %2 in use - + No items synced recently - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index c67f58bfb..63102147a 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -2030,127 +2030,127 @@ Intente sincronizar los archivos nuevamente. Mirall::ownCloudGui - + Please sign in Por favor Registrese - + Disconnected from server Desconectado del servidor - + Folder %1: %2 Archivo %1: %2 - + No sync folders configured. No hay carpetas de sincronización configuradas. - + None. Ninguno. - + Recent Changes Cambios recientes - + Open %1 folder Abrir carpeta %1 - + Managed Folders: Carpetas administradas: - + Open folder '%1' Abrir carpeta '%1' - + Open %1 in browser Abrir %1 en el navegador - + Calculating quota... Calculando cuota... - + Unknown status Estado desconocido - + Settings... Configuraciones... - + Details... Detalles... - + Help Ayuda - + Quit %1 Salir de %1 - + Sign in... Registrarse... - + Sign out Salir - + Quota n/a Cuota no disponible - + %1% of %2 in use %1% de %2 en uso - + No items synced recently No se han sincronizado elementos recientemente - + Syncing %1 of %2 (%3 left) Sincronizando %1 de %2 (quedan %3) - + Syncing %1 (%2 left) Sincronizando %1 (quedan %2) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Actualizado diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index 421467053..63e49e1d2 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -2025,127 +2025,127 @@ Intente sincronizar estos nuevamente. Mirall::ownCloudGui - + Please sign in Por favor, inicie sesión - + Disconnected from server - + Folder %1: %2 Directorio %1: %2 - + No sync folders configured. Los directorios de sincronización no están configurados. - + None. Ninguno. - + Recent Changes Cambios recientes - + Open %1 folder Abrir directorio %1 - + Managed Folders: Directorios administrados: - + Open folder '%1' Abrir carpeta '%1' - + Open %1 in browser Abrir %1 en el navegador... - + Calculating quota... Calculando cuota... - + Unknown status Estado desconocido - + Settings... Configuraciones... - + Details... Detalles... - + Help Ayuda - + Quit %1 Cancelar %1 - + Sign in... Iniciando sesión... - + Sign out Salir - + Quota n/a Cuota no disponible - + %1% of %2 in use %1% de %2 en uso - + No items synced recently No se sincronizaron elementos recientemente - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date actualizado diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 8348c4fed..0d5c7947c 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -2030,127 +2030,127 @@ Proovi neid uuesti sünkroniseerida. Mirall::ownCloudGui - + Please sign in Palun logi sisse - + Disconnected from server Serverist lahtiühendatud - + Folder %1: %2 Kaust %1: %2 - + No sync folders configured. Sünkroniseeritavaid kaustasid pole seadistatud. - + None. Pole. - + Recent Changes Hiljutised muudatused - + Open %1 folder Ava kaust %1 - + Managed Folders: Hallatavad kaustad: - + Open folder '%1' Ava kaust '%1' - + Open %1 in browser Ava %1 veebilehitsejas - + Calculating quota... Mahupiiri arvutamine... - + Unknown status Tundmatu staatus - + Settings... Seaded... - + Details... Üksikasjad... - + Help Abiinfo - + Quit %1 Lõpeta %1 - + Sign in... Logi sisse... - + Sign out Logi välja - + Quota n/a Mahupiir n/a - + %1% of %2 in use Kasutusel %1% / %2 - + No items synced recently Ühtegi üksust pole hiljuti sünkroniseeritud - + Syncing %1 of %2 (%3 left) Sünkroniseerin %1 %2-st (%3 veel) - + Syncing %1 (%2 left) Sünkroniseerin %1 (%2 veel) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Ajakohane diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 2c6b4f273..d45b9a597 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -2027,127 +2027,127 @@ Saiatu horiek berriz sinkronizatzen. Mirall::ownCloudGui - + Please sign in Mesedez saioa hasi - + Disconnected from server - + Folder %1: %2 - + No sync folders configured. Ez dago sinkronizazio karpetarik definituta. - + None. Bat ere ez. - + Recent Changes Azkenengo Aldaketak - + Open %1 folder Ireki %1 karpeta - + Managed Folders: Kudeatutako karpetak: - + Open folder '%1' Ireki '%1' karpeta - + Open %1 in browser Ireki %1 arakatzailean - + Calculating quota... - + Unknown status Egoera ezezaguna - + Settings... Ezarpenak... - + Details... Xehetasunak... - + Help Laguntza - + Quit %1 %1etik Irten - + Sign in... Saioa hasi... - + Sign out Saioa bukatu - + Quota n/a - + %1% of %2 in use %2tik %%1 erabilita - + No items synced recently Ez da azken aldian ezer sinkronizatu - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Eguneratua diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index bfaec0503..4be4c7e1f 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -2020,127 +2020,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in - + Disconnected from server - + Folder %1: %2 پوشه %1: %2 - + No sync folders configured. هیچ پوشه ای همگام سازی شده‌ای تنظیم نشده است - + None. - + Recent Changes - + Open %1 folder بازکردن %1 پوشه - + Managed Folders: پوشه های مدیریت شده: - + Open folder '%1' - + Open %1 in browser - + Calculating quota... - + Unknown status - + Settings... - + Details... - + Help راه‌نما - + Quit %1 - + Sign in... - + Sign out - + Quota n/a - + %1% of %2 in use - + No items synced recently - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date تا تاریخ diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 0be34f49a..1c4a795c6 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -2025,127 +2025,127 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::ownCloudGui - + Please sign in Kirjaudu sisään - + Disconnected from server Yhteys palvelimeen katkaistu - + Folder %1: %2 Kansio %1: %2 - + No sync folders configured. Synkronointikansioita ei ole määritetty. - + None. - + Recent Changes Viimeisimmät muutokset - + Open %1 folder Avaa %1-kansio - + Managed Folders: Hallitut kansiot: - + Open folder '%1' Avaa kansio '%1' - + Open %1 in browser Avaa %1 selaimeen - + Calculating quota... Lasketaan kiintiötä... - + Unknown status Tuntematon tila - + Settings... Asetukset... - + Details... Tiedot... - + Help Ohje - + Quit %1 Lopeta %1 - + Sign in... Kirjaudu sisään... - + Sign out Kirjaudu ulos - + Quota n/a - + %1% of %2 in use %1%/%2 käytössä - + No items synced recently Kohteita ei ole synkronoitu äskettäin - + Syncing %1 of %2 (%3 left) Synkronoidaan %1/%2 (%3 jäljellä) - + Syncing %1 (%2 left) Synkronoidaan %1 (%2 jäljellä) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Ajan tasalla diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index c4930f5a4..09fd049b8 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -2030,127 +2030,127 @@ Il est déconseillé de l'utiliser. Mirall::ownCloudGui - + Please sign in Veuillez vous connecter - + Disconnected from server Déconnecte du serveur - + Folder %1: %2 Dossier %1 : %2 - + No sync folders configured. Aucun répertoire synchronisé n'est configuré. - + None. Aucun. - + Recent Changes Modifications récentes - + Open %1 folder Ouvrir le répertoire %1 - + Managed Folders: Répertoires suivis : - + Open folder '%1' Ouvrir le dossier '%1' - + Open %1 in browser Ouvrir %1 dans le navigateur - + Calculating quota... Calcul du quota... - + Unknown status Statut inconnu - + Settings... Paramètres... - + Details... Détails... - + Help Aide - + Quit %1 Quitter %1 - + Sign in... Se connecter... - + Sign out Se déconnecter - + Quota n/a Quota n/a - + %1% of %2 in use %1% de %2 occupés - + No items synced recently Aucun item synchronisé récemment - + Syncing %1 of %2 (%3 left) Synchronisation %1 de %2 (%3 restant) - + Syncing %1 (%2 left) Synchronisation %1 (%2 restant) - + %1 (%2, %3) %1 (%2, %3) - + Up to date À jour diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index 302b86440..69be43cb1 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -2030,127 +2030,127 @@ Tente sincronizalos de novo. Mirall::ownCloudGui - + Please sign in Ten que rexistrarse - + Disconnected from server Desconectado do servidor - + Folder %1: %2 Cartafol %1: %2 - + No sync folders configured. Non se configuraron cartafoles de sincronización. - + None. Nada. - + Recent Changes Cambios recentes - + Open %1 folder Abrir o cartafol %1 - + Managed Folders: Cartafoles xestionados: - + Open folder '%1' Abrir o cartafol «%1» - + Open %1 in browser Abrir %1 nun navegador - + Calculating quota... Calculando a cota... - + Unknown status Estado descoñecido - + Settings... Axustes... - + Details... Detalles... - + Help Axuda - + Quit %1 Saír de %1 - + Sign in... Rexistrarse... - + Sign out Saír - + Quota n/a Cota n/d - + %1% of %2 in use Usado %1% de %2 - + No items synced recently Non hai elementos sincronizados recentemente - + Syncing %1 of %2 (%3 left) Sincronizando %1 of %2 (restan %3) - + Syncing %1 (%2 left) Sincronizando %1 (restan %2) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Actualizado diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index 0613100af..87cbc516c 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -2020,127 +2020,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in Belépés szükséges - + Disconnected from server - + Folder %1: %2 Mappa %1: %2 - + No sync folders configured. Nincsenek megadva szinkronizálandó mappák. - + None. Nincs - + Recent Changes Legutóbbi változások - + Open %1 folder %1 mappa megnyitása - + Managed Folders: Kezelt mappák: - + Open folder '%1' - + Open %1 in browser - + Calculating quota... Kvóta kiszámítása... - + Unknown status Ismeretlen állapot - + Settings... Beállítások... - + Details... Részletek... - + Help Súgó - + Quit %1 - + Sign in... Belépés... - + Sign out Kilépés - + Quota n/a Kvóta n/a - + %1% of %2 in use - + No items synced recently - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date Frissítve diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index f2033ea18..5835d665c 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -2029,127 +2029,127 @@ Prova a sincronizzare nuovamente. Mirall::ownCloudGui - + Please sign in Accedi - + Disconnected from server Disconnesso dal server - + Folder %1: %2 Cartella %1: %2 - + No sync folders configured. Nessuna cartella configurata per la sincronizzazione. - + None. Nessuna. - + Recent Changes Modifiche recenti - + Open %1 folder Apri la cartella %1 - + Managed Folders: Cartelle gestite: - + Open folder '%1' Apri la cartella '%1' - + Open %1 in browser Apri %1 nel browser... - + Calculating quota... Calcolo quota in corso... - + Unknown status Stato sconosciuto - + Settings... Impostazioni... - + Details... Dettagli... - + Help Aiuto - + Quit %1 Esci da %1 - + Sign in... Accedi... - + Sign out Esci - + Quota n/a Quota n/d - + %1% of %2 in use %1% di %2 utilizzati - + No items synced recently Nessun elemento sincronizzato di recente - + Syncing %1 of %2 (%3 left) Sincronizzazione di %1 di %2 (%3 rimanenti) - + Syncing %1 (%2 left) Sincronizzazione di %1 (%2 rimanenti) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aggiornato diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index af642f3c6..d1e4db89f 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -2028,127 +2028,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in サインインしてください - + Disconnected from server サーバーから切断しました - + Folder %1: %2 フォルダー %1: %2 - + No sync folders configured. 同期フォルダーが設定されていません。 - + None. なし - + Recent Changes 最近変更されたファイル - + Open %1 folder %1 フォルダーを開く - + Managed Folders: 管理フォルダー: - + Open folder '%1' フォルダー ’%1’ を開く - + Open %1 in browser %1をブラウザーで開く - + Calculating quota... クォータを計算中... - + Unknown status 不明な状態 - + Settings... 設定 - + Details... 詳細... - + Help ヘルプ - + Quit %1 %1 を終了 - + Sign in... サインイン... - + Sign out サインアウト - + Quota n/a クォータ n/a - + %1% of %2 in use %2 のうち %1% を使用中 - + No items synced recently 最近同期されたアイテムはありません。 - + Syncing %1 of %2 (%3 left) 同期中 %2 中 %1 (残り %3) - + Syncing %1 (%2 left) 同期中 %1 (残り %2) - + %1 (%2, %3) %1 (%2, %3) - + Up to date 最新です diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index 96496ad20..00595b4bf 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -2030,127 +2030,127 @@ Probeer opnieuw te synchroniseren. Mirall::ownCloudGui - + Please sign in Log alstublieft in - + Disconnected from server Verbinding met server verbroken - + Folder %1: %2 Map %1: %2 - + No sync folders configured. Geen synchronisatie-mappen geconfigureerd. - + None. Geen. - + Recent Changes Recente wijzigingen - + Open %1 folder Open %1 map - + Managed Folders: Beheerde mappen: - + Open folder '%1' Open map '%1' - + Open %1 in browser Open %1 in browser - + Calculating quota... Quota worden berekend ... - + Unknown status Onbekende status - + Settings... Instellingen... - + Details... Details ... - + Help Help - + Quit %1 %1 afsluiten - + Sign in... Inloggen... - + Sign out Uitloggen - + Quota n/a Quota niet beschikbaar - + %1% of %2 in use %1% van %2 gebruikt - + No items synced recently Recent niets gesynchroniseerd - + Syncing %1 of %2 (%3 left) Sync %1 van %2 (%3 over) - + Syncing %1 (%2 left) Sync %1 (%2 over) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Bijgewerkt diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index dfb11169c..a0e282325 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -2030,127 +2030,127 @@ Niezalecane jest jego użycie. Mirall::ownCloudGui - + Please sign in Proszę się zalogować - + Disconnected from server Rozłączono z serwerem - + Folder %1: %2 Folder %1: %2 - + No sync folders configured. Nie skonfigurowano synchronizowanych folderów. - + None. Brak. - + Recent Changes Ostatnie zmiany - + Open %1 folder Otwórz folder %1 - + Managed Folders: Zarządzane foldery: - + Open folder '%1' Otwórz katalog '%1' - + Open %1 in browser Otwórz %1 w przeglądarce - + Calculating quota... Obliczam quote... - + Unknown status Nieznany status - + Settings... Ustawienia... - + Details... Szczegóły... - + Help Pomoc - + Quit %1 Wyjdź %1 - + Sign in... Loguję... - + Sign out Wyloguj - + Quota n/a Quota n/a - + %1% of %2 in use %1% z %2 w użyciu - + No items synced recently Brak ostatnich synchronizacji - + Syncing %1 of %2 (%3 left) Synchronizacja %1 z %2 (%3 pozostało) - + Syncing %1 (%2 left) Synchronizuję %1 (%2 pozostało) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aktualne diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 539890153..34f406779 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -2028,127 +2028,127 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n Mirall::ownCloudGui - + Please sign in Por favor inicie a sessão - + Disconnected from server Desligar do servidor - + Folder %1: %2 Pasta %1: %2 - + No sync folders configured. Nenhuma pasta de sincronização configurada. - + None. Nada. - + Recent Changes Alterações recentes - + Open %1 folder Abrir a pasta %1 - + Managed Folders: Pastas Geridas: - + Open folder '%1' Abrir pasta '%1' - + Open %1 in browser Abrir %1 no browser - + Calculating quota... A calcular quota... - + Unknown status Estado desconhecido - + Settings... Configurações... - + Details... Detalhes... - + Help Ajuda - + Quit %1 Sair do %1 - + Sign in... Entrar... - + Sign out Sair - + Quota n/a Quota não disponível - + %1% of %2 in use %1% de %2 utilizado - + No items synced recently Sem itens sincronizados recentemente - + Syncing %1 of %2 (%3 left) Sincronizar %1 de %2 (%3 faltando) - + Syncing %1 (%2 left) Sincronizando %1 (%2 faltando) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Actualizado diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index 0ff7eee53..47ce2c87f 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -2028,127 +2028,127 @@ Tente sincronizar novamente. Mirall::ownCloudGui - + Please sign in Favor conectar - + Disconnected from server Desconectado do servidor - + Folder %1: %2 Pasta %1: %2 - + No sync folders configured. Pastas de sincronização não configuradas. - + None. Nenhum. - + Recent Changes Alterações Recentes - + Open %1 folder Abrir pasta %1 - + Managed Folders: Pastas Gerenciadas: - + Open folder '%1' Abrir pasta '%1' - + Open %1 in browser Abrir %1 no navegador - + Calculating quota... Calculando cota... - + Unknown status Status desconhecido - + Settings... Configurações... - + Details... Detalhes... - + Help Ajuda - + Quit %1 Sair %1 - + Sign in... Conectar em... - + Sign out Sair - + Quota n/a Cota n/a - + %1% of %2 in use %1% de %2 em uso - + No items synced recently Não há itens sincronizados recentemente - + Syncing %1 of %2 (%3 left) Sincronizar %1 de %2 (%3 faltando) - + Syncing %1 (%2 left) Sincronizando %1 (%2 faltando) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Até a data diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index f1eab6532..4b923d11e 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -2030,127 +2030,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in Пожалуйста войдите в учётную запись - + Disconnected from server Отсоединен от сервера - + Folder %1: %2 Папка %1: %2 - + No sync folders configured. Нет папок для синхронизации. - + None. Пусто - + Recent Changes Недавние изменения - + Open %1 folder Открыть %1 папку - + Managed Folders: Управляемые папки: - + Open folder '%1' Открыть папку '%1' - + Open %1 in browser Открыть %1 в браузере - + Calculating quota... Расчёт квоты... - + Unknown status Неизвестный статус - + Settings... Настройки... - + Details... Детали... - + Help Помощь - + Quit %1 Закрыть %1 - + Sign in... Войти... - + Sign out Выйти - + Quota n/a Квота недоступна - + %1% of %2 in use Используется %1% из %2. - + No items synced recently Недавно ничего не синхронизировалсь - + Syncing %1 of %2 (%3 left) Синхронизация %1 из %2 (%3 осталось) - + Syncing %1 (%2 left) Синхронизация %1 (%2 осталось) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Актуальная версия diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index b4c564388..a937f1c35 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -2028,127 +2028,127 @@ Nie je vhodné ju používať. Mirall::ownCloudGui - + Please sign in Prihláste sa prosím - + Disconnected from server Odpojený od servera - + Folder %1: %2 Priečinok %1: %2 - + No sync folders configured. Nie sú nastavené žiadne synchronizačné priečinky. - + None. Žiaden. - + Recent Changes Nedávne zmeny - + Open %1 folder Otvoriť %1 priečinok - + Managed Folders: Spravované priečinky: - + Open folder '%1' Otvoriť priečinok '%1' - + Open %1 in browser Otvoriť %1 v prehliadači - + Calculating quota... Počítanie kvóty... - + Unknown status Neznámy stav - + Settings... Nastavenia... - + Details... Podrobnosti... - + Help Pomoc - + Quit %1 Ukončiť %1 - + Sign in... Prihlásiť do... - + Sign out Odhlásiť - + Quota n/a Kvóta n/a - + %1% of %2 in use %1% z %2 sa používa - + No items synced recently Žiadne nedávno synchronizované položky - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Až do dnešného dňa diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 22b9a70dc..867f194b8 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -2029,127 +2029,127 @@ Te je treba uskladiti znova. Mirall::ownCloudGui - + Please sign in Pred nadaljevanjem je zahtevana prijava - + Disconnected from server Povezava s strežnikom je prekinjena - + Folder %1: %2 Mapa %1: %2 - + No sync folders configured. Ni nastavljenih map za usklajevanje. - + None. Brez - + Recent Changes Nedavne spremembe - + Open %1 folder Odpri %1 mapo - + Managed Folders: Upravljane mape: - + Open folder '%1' Odpri mapo '%1' - + Open %1 in browser Odpri %1 v brskalniku - + Calculating quota... Preračunavanje količinske omejitve ... - + Unknown status Neznano stanje - + Settings... Nastavitve ... - + Details... Podrobnosti ... - + Help Pomoč - + Quit %1 Končaj %1 - + Sign in... Prijava ... - + Sign out Odjava - + Quota n/a Količinska omejitev ni na voljo - + %1% of %2 in use %1% od %2 v uporabi - + No items synced recently Ni nedavno usklajenih predmetov - + Syncing %1 of %2 (%3 left) Poteka usklajevanje %1 od %2 (preostaja %3) - + Syncing %1 (%2 left) Usklajevanje %1 (%2 do konca) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Ni posodobitev diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 6e6a6a787..2ea911b39 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -2030,127 +2030,127 @@ Försök att synka dessa igen. Mirall::ownCloudGui - + Please sign in Vänliga logga in - + Disconnected from server Bortkopplad från servern - + Folder %1: %2 Mapp %1: %2 - + No sync folders configured. Ingen synkroniseringsmapp är konfigurerad. - + None. Ingen. - + Recent Changes Senaste ändringar - + Open %1 folder Öppna %1 mappen - + Managed Folders: Hanterade mappar: - + Open folder '%1' Öppna mapp '%1' - + Open %1 in browser Öppna %1 i webbläsaren - + Calculating quota... Beräknar kvot... - + Unknown status Okänd status - + Settings... Inställningar... - + Details... Detaljer... - + Help Hjälp - + Quit %1 Avsluta %1 - + Sign in... Logga in... - + Sign out Logga ut - + Quota n/a Kvot n/a - + %1% of %2 in use %1% av %2 används - + No items synced recently Inga filer har synkroniseras nyligen - + Syncing %1 of %2 (%3 left) Synkroniserar %1 av %2 (%3 kvar) - + Syncing %1 (%2 left) Synkroniserar %1 (%2 kvar) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aktuell version diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index dc77fe3d1..bafa41864 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -2020,127 +2020,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in - + Disconnected from server - + Folder %1: %2 - + No sync folders configured. ยังไม่มีการกำหนดค่าโฟลเดอร์ที่ต้องการซิงค์ข้อมูล - + None. - + Recent Changes - + Open %1 folder เปิดโฟลเดอร์ %1 - + Managed Folders: โฟลเดอร์ที่มีการจัดการแล้ว: - + Open folder '%1' - + Open %1 in browser - + Calculating quota... - + Unknown status - + Settings... - + Details... - + Help ช่วยเหลือ - + Quit %1 - + Sign in... - + Sign out - + Quota n/a - + %1% of %2 in use - + No items synced recently - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index e3102ce2e..c5415becf 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -2030,127 +2030,127 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Mirall::ownCloudGui - + Please sign in Lütfen oturum açın - + Disconnected from server Sunucu bağlantısı kesildi - + Folder %1: %2 Klasör %1: %2 - + No sync folders configured. Yapılandırılmış eşitleme klasörü yok. - + None. Hiçbir şey. - + Recent Changes Son Değişiklikler - + Open %1 folder %1 klasörünü aç - + Managed Folders: Yönetilen Klasörler: - + Open folder '%1' '%1' klasörünü aç - + Open %1 in browser %1'ı tarayıcıda aç - + Calculating quota... Kota hesaplanıyor... - + Unknown status Bilinmeyen durum - + Settings... Ayarlar... - + Details... Ayrıntılar... - + Help Yardım - + Quit %1 %1'tan çık - + Sign in... Oturum aç... - + Sign out Oturumu kapat - + Quota n/a Kota kullanılamıyor - + %1% of %2 in use %2'ın % %1 kısmı kullanımda - + No items synced recently Yakın zamanda eşitlenen öge yok - + Syncing %1 of %2 (%3 left) Eşitlenen %1/%2 (%3 kaldı) - + Syncing %1 (%2 left) Eşitlenen %1 (%2 kaldı) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Güncel diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index 033c6a2dd..c9eda8c1d 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -2022,127 +2022,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in - + Disconnected from server - + Folder %1: %2 - + No sync folders configured. Жодна тека не налаштована для синхронізації. - + None. - + Recent Changes Недавні зміни - + Open %1 folder Відкрити %1 каталог - + Managed Folders: Керовані теки: - + Open folder '%1' - + Open %1 in browser - + Calculating quota... - + Unknown status - + Settings... - + Details... - + Help Допомога - + Quit %1 - + Sign in... - + Sign out - + Quota n/a - + %1% of %2 in use - + No items synced recently - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index f27118564..1b101fd36 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -2026,127 +2026,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in 请登录 - + Disconnected from server 已从服务器断开 - + Folder %1: %2 文件夹 %1: %2 - + No sync folders configured. 没有已配置的同步文件夹。 - + None. 无。 - + Recent Changes 最近修改 - + Open %1 folder 打开 %1 目录 - + Managed Folders: 管理的文件夹: - + Open folder '%1' 打开文件夹“%1” - + Open %1 in browser 在浏览器中打开%1 - + Calculating quota... 计算配额.... - + Unknown status 未知状态 - + Settings... 设置... - + Details... 细节... - + Help 帮助 - + Quit %1 退出 %1 - + Sign in... 登录... - + Sign out 注销 - + Quota n/a 配额无限制 - + %1% of %2 in use 已使用 %2,总计 %1% - + No items synced recently - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date 更新 diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index 496bf807f..6c5a98bb6 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -2020,127 +2020,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in 請登入 - + Disconnected from server - + Folder %1: %2 資料夾 %1: %2 - + No sync folders configured. 尚未指定同步資料夾 - + None. 無。 - + Recent Changes - + Open %1 folder 開啟%1資料夾 - + Managed Folders: 管理的資料夾: - + Open folder '%1' 開啟 %1 資料夾 - + Open %1 in browser 瀏覽器中開啟 %1 - + Calculating quota... - + Unknown status 未知狀態 - + Settings... 設定… - + Details... 細節… - + Help 說明 - + Quit %1 離開 %1 - + Sign in... 登入中... - + Sign out 登出 - + Quota n/a 無配額 - + %1% of %2 in use - + No items synced recently - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date 最新的 From f4e2041b0b707b5f2f2799a31be643ba57cf94c9 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 5 Aug 2014 11:46:21 +0200 Subject: [PATCH 091/133] CMake: Fix installation of the icons, path corrected. --- shell_integration/icons/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/shell_integration/icons/CMakeLists.txt b/shell_integration/icons/CMakeLists.txt index a2531a58c..d4a3b25f4 100644 --- a/shell_integration/icons/CMakeLists.txt +++ b/shell_integration/icons/CMakeLists.txt @@ -12,7 +12,8 @@ if( UNIX AND NOT APPLE ) SET(ICON_DIR ${DATADIR}/icons/hicolor) FOREACH(size 128x128 16x16 256x256 32x32 48x48 64x64 72x72) - install(DIRECTORY ${size} DESTINATION ${ICON_DIR}/${size}/apps FILES_MATCHING PATTERN "*.png") + file(GLOB files "${size}/*.png") + install(FILES ${files} DESTINATION ${ICON_DIR}/${size}/apps) ENDFOREACH(size) endif() From 8b1aebcdba3e5a5aac4b9acd29efeedfe59af804 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Tue, 5 Aug 2014 13:11:15 +0200 Subject: [PATCH 092/133] No need to ship the Qt4-based qtkeychain DLL --- cmake/modules/NSIS.template.in | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in index d229b8e6f..de13cd86d 100644 --- a/cmake/modules/NSIS.template.in +++ b/cmake/modules/NSIS.template.in @@ -423,7 +423,6 @@ Section "${APPLICATION_NAME}" SEC_APPLICATION File "${MING_BIN}\libjpeg-8.dll" File "${MING_BIN}\libpcre16-0.dll" File "${MING_BIN}\libproxy.dll" - File "${MING_BIN}\libqt5keychain.dll" File "${MING_BIN}\libsqlite3-0.dll" File "${MING_BIN}\libcrypto-10.dll" File "${MING_BIN}\libssl-10.dll" @@ -436,7 +435,7 @@ Section "${APPLICATION_NAME}" SEC_APPLICATION File "${MING_BIN}\libsqlite3-0.dll" ;QtKeyChain stuff - File "${MING_BIN}\libqtkeychain.dll" + File "${MING_BIN}\libqt5keychain.dll" ; ownCloud plugin File "${MING_BIN}\libintl-8.dll" From 839b2fa8fdf3279094dc74a5ddad480b6f6a7b14 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Tue, 5 Aug 2014 13:11:52 +0200 Subject: [PATCH 093/133] SocketAPI: Convert to unix path before comparing with black list --- src/mirall/socketapi.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 88cd683c6..65ba23c8e 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -140,14 +140,16 @@ SyncFileStatus fileStatus(Folder *folder, const QString& systemFileName ) type = CSYNC_FTW_TYPE_DIR; } - CSYNC_EXCLUDE_TYPE excl = csync_excluded(folder->csyncContext(), fileName.toUtf8(), type); + // '\' is ignored, so convert to unix path before passing the path in. + QString unixFileName = QDir::fromNativeSeparators(fileName); + CSYNC_EXCLUDE_TYPE excl = csync_excluded(folder->csyncContext(), unixFileName.toUtf8(), type); if( excl != CSYNC_NOT_EXCLUDED ) { return SyncFileStatus(SyncFileStatus::STATUS_IGNORE); } // Problem: for the sync dir itself we do not have a record in the sync journal // so the next check must not be used for the sync root folder. - SyncJournalFileRecord rec = folder->journalDb()->getFileRecord(fileName); + SyncJournalFileRecord rec = folder->journalDb()->getFileRecord(unixFileName); if( !isSyncRootFolder && !rec.isValid() ) { return SyncFileStatus(SyncFileStatus::STATUS_NEW); } From fe3f751a8aa83bc6d309d807102381ad81001bd2 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Tue, 5 Aug 2014 17:15:22 +0200 Subject: [PATCH 094/133] OS X: Slightly improve pkgproj It is still too much bound to Klaas' machine. --- admin/osx/macosx.pkgproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/admin/osx/macosx.pkgproj b/admin/osx/macosx.pkgproj index 13e2d9e43..d690a8153 100644 --- a/admin/osx/macosx.pkgproj +++ b/admin/osx/macosx.pkgproj @@ -22,7 +22,7 @@ GID 80 PATH - ../install/owncloud.app + owncloud.app PATH_TYPE 3 PERMISSIONS @@ -793,7 +793,7 @@ GID 0 PATH - ../install/Library/ScriptingAdditions/LiferayNativity.osax/Contents + Library/ScriptingAdditions/LiferayNativity.osax/Contents PATH_TYPE 3 PERMISSIONS From c7ff1e9b3fc5d1d1ff186390ace1ffd0017109b1 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Tue, 5 Aug 2014 19:23:40 +0200 Subject: [PATCH 095/133] Windows Shell extension: Add watched directories --- .../OCOverlays/OCOverlay.cpp | 21 ++++++++-- .../OCShellExtensions/OCOverlays/OCOverlay.h | 2 + .../OCOverlays/OCOverlays.vcxproj | 2 + .../OCUtil/CommunicationSocket.cpp | 2 + .../OCShellExtensions/OCUtil/OCUtil.vcxproj | 2 + .../OCUtil/RemotePathChecker.cpp | 40 +++++++++++++------ .../OCUtil/RemotePathChecker.h | 3 +- .../OCShellExtensions/OCUtil/StringUtil.h | 8 ++++ 8 files changed, 64 insertions(+), 16 deletions(-) diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.cpp b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.cpp index a8e3689e4..20b809bdc 100644 --- a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.cpp +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.cpp @@ -15,6 +15,8 @@ #include "OCOverlay.h" #include "RegistryUtil.h" +#include "StringUtil.h" + #include "UtilConstants.h" #include "RemotePathChecker.h" @@ -40,6 +42,8 @@ OCOverlay::OCOverlay(int state) , _state(state) { + // FIXME: Use Registry instead + _watchedDirectories = _checker->WatchedDirectories(); } OCOverlay::~OCOverlay(void) @@ -99,6 +103,20 @@ IFACEMETHODIMP OCOverlay::GetPriority(int *pPriority) // return MAKE_HRESULT(S_FALSE, 0, 0); //} + wstring wpath(pwszPath); + wpath.append(L"\\"); + vector::iterator it; + bool watched = false; + for (it = _watchedDirectories.begin(); it != _watchedDirectories.end(); ++it) { + if (StringUtil::begins_with(wpath, *it)) { + watched = true; + } + } + + if (!watched) { + return MAKE_HRESULT(S_FALSE, 0, 0); + } + int state = 0; if (!_checker->IsMonitoredPath(pwszPath, &state)) { return MAKE_HRESULT(S_FALSE, 0, 0); @@ -127,9 +145,6 @@ bool OCOverlay::_IsOverlaysEnabled() //int enable; bool success = false; - - - //if(RegistryUtil::ReadRegistry(REGISTRY_ROOT_KEY, REGISTRY_ENABLE_OVERLAY, &enable)) //{ // if(enable) { diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.h b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.h index a84bc45b0..801b30332 100644 --- a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.h +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.h @@ -45,6 +45,8 @@ private: CommunicationSocket* _communicationSocket; RemotePathChecker* _checker; int _state; + + std::vector _watchedDirectories; }; #endif \ No newline at end of file diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlays.vcxproj b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlays.vcxproj index b9f352b22..d648d8bf6 100644 --- a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlays.vcxproj +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlays.vcxproj @@ -100,6 +100,7 @@ ..\$(Configuration)\$(Platform); OCUtil_x86.lib;%(AdditionalDependencies) OCOverlays.def + Windows @@ -114,6 +115,7 @@ ..\$(Configuration)\$(Platform); OCUtil_x64.lib;%(AdditionalDependencies) OCOverlays.def + Windows diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/CommunicationSocket.cpp b/shell_integration/windows/OCShellExtensions/OCUtil/CommunicationSocket.cpp index 92f404848..a2f4a9413 100644 --- a/shell_integration/windows/OCShellExtensions/OCUtil/CommunicationSocket.cpp +++ b/shell_integration/windows/OCShellExtensions/OCUtil/CommunicationSocket.cpp @@ -76,6 +76,8 @@ bool CommunicationSocket::Connect() clientService.sin_port = htons(_port); iResult = connect(_clientSocket, (SOCKADDR*)&clientService, sizeof(clientService)); + DWORD timeout = 500; // ms + setsockopt(_clientSocket, SOL_SOCKET, SO_RCVTIMEO, (const char*) &timeout, sizeof(DWORD)); if (iResult == SOCKET_ERROR) { //int error = WSAGetLastError(); diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/OCUtil.vcxproj b/shell_integration/windows/OCShellExtensions/OCUtil/OCUtil.vcxproj index fc3b1a31f..a29cc48c9 100644 --- a/shell_integration/windows/OCShellExtensions/OCUtil/OCUtil.vcxproj +++ b/shell_integration/windows/OCShellExtensions/OCUtil/OCUtil.vcxproj @@ -96,6 +96,7 @@ true ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + Windows @@ -106,6 +107,7 @@ true ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + Windows diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.cpp b/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.cpp index e2eba1d18..a6d9cce28 100644 --- a/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.cpp +++ b/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.cpp @@ -14,29 +14,45 @@ #include "CommunicationSocket.h" #include "RemotePathChecker.h" +#include "StringUtil.h" #include #include #include #include -#include using namespace std; -namespace { - template - bool begins_with(const TContainer& input, const TContainer& match) - { - return input.size() >= match.size() - && equal(match.begin(), match.end(), input.begin()); - } -} - RemotePathChecker::RemotePathChecker(int port) : _port(port) { } +vector RemotePathChecker::WatchedDirectories() +{ + vector watchedDirectories; + wstring response; + bool needed = false; + + CommunicationSocket socket(_port); + socket.Connect(); + + while (socket.ReadLine(&response)) { + if (StringUtil::begins_with(response, wstring(L"REGISTER_PATH:"))) { + size_t pathBegin = response.find(L':', 0); + if (pathBegin == -1) { + continue; + } + + // chop trailing '\n' + wstring responsePath = response.substr(pathBegin + 1, response.length()-1); + watchedDirectories.push_back(responsePath); + } + } + + return watchedDirectories; +} + bool RemotePathChecker::IsMonitoredPath(const wchar_t* filePath, int* state) { wstring request; @@ -53,9 +69,9 @@ bool RemotePathChecker::IsMonitoredPath(const wchar_t* filePath, int* state) return false; } - while ((socket.ReadLine(&response))) { + while (socket.ReadLine(&response)) { // discard broadcast messages - if (begins_with(response, wstring(L"STATUS:"))) { + if (StringUtil::begins_with(response, wstring(L"STATUS:"))) { break; } } diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.h b/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.h index 47b76f2a8..1fb1ef9f3 100644 --- a/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.h +++ b/shell_integration/windows/OCShellExtensions/OCUtil/RemotePathChecker.h @@ -15,6 +15,7 @@ #define PATHCHECKER_H #include +#include #pragma once @@ -29,11 +30,11 @@ public: StateNone }; RemotePathChecker(int port); + std::vector WatchedDirectories(); bool IsMonitoredPath(const wchar_t* filePath, int* state); private: int _StrToFileState(const std::wstring &str); - int _port; }; diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/StringUtil.h b/shell_integration/windows/OCShellExtensions/OCUtil/StringUtil.h index d885a89f6..cf6ec8606 100644 --- a/shell_integration/windows/OCShellExtensions/OCUtil/StringUtil.h +++ b/shell_integration/windows/OCShellExtensions/OCUtil/StringUtil.h @@ -22,6 +22,14 @@ class __declspec(dllexport) StringUtil { public: static char* toUtf8(const wchar_t* utf16, int len = -1); static wchar_t* toUtf16(const char* utf8, int len = -1); + + + template + static bool begins_with(const T& input, const T& match) + { + return input.size() >= match.size() + && equal(match.begin(), match.end(), input.begin()); + } }; #endif // STRINGUTIL_H From 41875c2ddb68b21b09f6e706e57b06afbbe19caa Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Wed, 6 Aug 2014 01:25:31 -0400 Subject: [PATCH 096/133] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 4 ++-- translations/mirall_cs.ts | 4 ++-- translations/mirall_de.ts | 4 ++-- translations/mirall_el.ts | 4 ++-- translations/mirall_en.ts | 2 +- translations/mirall_es.ts | 4 ++-- translations/mirall_es_AR.ts | 4 ++-- translations/mirall_et.ts | 4 ++-- translations/mirall_eu.ts | 4 ++-- translations/mirall_fa.ts | 4 ++-- translations/mirall_fi.ts | 4 ++-- translations/mirall_fr.ts | 4 ++-- translations/mirall_gl.ts | 4 ++-- translations/mirall_hu.ts | 4 ++-- translations/mirall_it.ts | 4 ++-- translations/mirall_ja.ts | 4 ++-- translations/mirall_nl.ts | 10 +++++----- translations/mirall_pl.ts | 4 ++-- translations/mirall_pt.ts | 4 ++-- translations/mirall_pt_BR.ts | 4 ++-- translations/mirall_ru.ts | 4 ++-- translations/mirall_sk.ts | 4 ++-- translations/mirall_sl.ts | 4 ++-- translations/mirall_sv.ts | 4 ++-- translations/mirall_th.ts | 4 ++-- translations/mirall_tr.ts | 4 ++-- translations/mirall_uk.ts | 4 ++-- translations/mirall_zh_CN.ts | 4 ++-- translations/mirall_zh_TW.ts | 4 ++-- 29 files changed, 60 insertions(+), 60 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index 405d01fa0..4ce08c507 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -1772,8 +1772,8 @@ Proveu de sincronitzar-los de nou. - Expiry Date: %1 - Data d'expiració: %1 + Expiration Date: %1 + diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 2b63990f3..c13b056bc 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -1773,8 +1773,8 @@ Zkuste provést novou synchronizaci. - Expiry Date: %1 - Datum vypršení platnosti: %1 + Expiration Date: %1 + diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index e28026c77..edff76467 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -1773,8 +1773,8 @@ Versuchen Sie diese nochmals zu synchronisieren. - Expiry Date: %1 - Auslaufdatum: %1 + Expiration Date: %1 + diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index d3aea8f86..61c27c19a 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -1773,8 +1773,8 @@ It is not advisable to use it. - Expiry Date: %1 - Ημερομηνία Λήξης: %1 + Expiration Date: %1 + diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index 12ec5a728..28d2b5f94 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -1764,7 +1764,7 @@ It is not advisable to use it. - Expiry Date: %1 + Expiration Date: %1 diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 63102147a..51f8735a9 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -1772,8 +1772,8 @@ Intente sincronizar los archivos nuevamente. - Expiry Date: %1 - Fecha de expiración: %1 + Expiration Date: %1 + diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index 63e49e1d2..7c632381e 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -1767,8 +1767,8 @@ Intente sincronizar estos nuevamente. - Expiry Date: %1 - Hasta: %1 + Expiration Date: %1 + diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 0d5c7947c..729da6e1a 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -1772,8 +1772,8 @@ Proovi neid uuesti sünkroniseerida. - Expiry Date: %1 - Aegumise kuupäev: %1 + Expiration Date: %1 + diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index d45b9a597..2f5663578 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -1769,8 +1769,8 @@ Saiatu horiek berriz sinkronizatzen. - Expiry Date: %1 - Iraungitze-data: %1 + Expiration Date: %1 + diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 4be4c7e1f..b4ff801a7 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -1762,8 +1762,8 @@ It is not advisable to use it. - Expiry Date: %1 - تاریخ انقضا: %1 + Expiration Date: %1 + diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 1c4a795c6..135dcf4b5 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -1767,8 +1767,8 @@ Osoitteen käyttäminen ei ole suositeltavaa. - Expiry Date: %1 - Vanhenemispäivä: %1 + Expiration Date: %1 + diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index 09fd049b8..94d9a1488 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -1772,8 +1772,8 @@ Il est déconseillé de l'utiliser. - Expiry Date: %1 - Expire le : %1 + Expiration Date: %1 + diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index 69be43cb1..f12b7cd1d 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -1772,8 +1772,8 @@ Tente sincronizalos de novo. - Expiry Date: %1 - Data de caducidade: %1 + Expiration Date: %1 + diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index 87cbc516c..a5d1a3ff0 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -1762,8 +1762,8 @@ It is not advisable to use it. - Expiry Date: %1 - Lejárati dátum: %1 + Expiration Date: %1 + diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 5835d665c..ce6827033 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -1771,8 +1771,8 @@ Prova a sincronizzare nuovamente. - Expiry Date: %1 - Data di scadenza: %1 + Expiration Date: %1 + diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index d1e4db89f..1be5a180b 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -1770,8 +1770,8 @@ It is not advisable to use it. - Expiry Date: %1 - 有効期限: %1 + Expiration Date: %1 + diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index 00595b4bf..f326d6c24 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -32,7 +32,7 @@ Select a remote destination folder - Selecteer een externe bestemmingsmap + Selecteer een externe doelmap @@ -91,7 +91,7 @@ Pause - Pause + Pauze @@ -1772,8 +1772,8 @@ Probeer opnieuw te synchroniseren. - Expiry Date: %1 - Vervaldatum: %1 + Expiration Date: %1 + @@ -2550,7 +2550,7 @@ Probeer opnieuw te synchroniseren. Sync is paused - Sync is gepauzeerd + Synchronisatie is gepauzeerd \ No newline at end of file diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index a0e282325..a8d4883a4 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -1772,8 +1772,8 @@ Niezalecane jest jego użycie. - Expiry Date: %1 - Data wygaśnięcia: %1 + Expiration Date: %1 + diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 34f406779..a5cce6ae1 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -1769,8 +1769,8 @@ Por favor tente sincronizar novamente. - Expiry Date: %1 - Data de expiração: %1 + Expiration Date: %1 + diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index 47ce2c87f..5770855db 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -1770,8 +1770,8 @@ Tente sincronizar novamente. - Expiry Date: %1 - Data de expiração: %1 + Expiration Date: %1 + diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index 4b923d11e..b6f8b8aec 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -1772,8 +1772,8 @@ It is not advisable to use it. - Expiry Date: %1 - Срок действия: %1 + Expiration Date: %1 + diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index a937f1c35..9d7975f60 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -1770,8 +1770,8 @@ Nie je vhodné ju používať. - Expiry Date: %1 - Dátum platnosti: %1 + Expiration Date: %1 + diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 867f194b8..e8c798bbb 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -1771,8 +1771,8 @@ Te je treba uskladiti znova. - Expiry Date: %1 - Datum poteka: %1 + Expiration Date: %1 + diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 2ea911b39..fa149d7cf 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -1772,8 +1772,8 @@ Försök att synka dessa igen. - Expiry Date: %1 - Utgångsdatum: %1 + Expiration Date: %1 + diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index bafa41864..0fc1fd09c 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -1762,8 +1762,8 @@ It is not advisable to use it. - Expiry Date: %1 - วันที่หมดอายุ: %1 + Expiration Date: %1 + diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index c5415becf..a0e4b1698 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -1772,8 +1772,8 @@ Bu dosyaları tekrar eşitlemeyi deneyin. - Expiry Date: %1 - Son Kullanma Tarihi: %1 + Expiration Date: %1 + diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index c9eda8c1d..472f5e70c 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -1764,8 +1764,8 @@ It is not advisable to use it. - Expiry Date: %1 - Дата закінчення дії: %1 + Expiration Date: %1 + diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 1b101fd36..118f5ee16 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -1768,8 +1768,8 @@ It is not advisable to use it. - Expiry Date: %1 - 过期日期:%1 + Expiration Date: %1 + diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index 6c5a98bb6..96794d761 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -1762,8 +1762,8 @@ It is not advisable to use it. - Expiry Date: %1 - 失效日期:%1 + Expiration Date: %1 + From 084d9de4c912f64ce42d8980bfad6abd4668c855 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Wed, 6 Aug 2014 09:28:03 +0200 Subject: [PATCH 097/133] Add binary submodule --- .gitmodules | 3 +++ binary | 1 + 2 files changed, 4 insertions(+) create mode 160000 binary diff --git a/.gitmodules b/.gitmodules index ebcd8dbef..208d31911 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "src/3rdparty/qtmacgoodies"] path = src/3rdparty/qtmacgoodies url = git://github.com/shadone/qtmacgoodies.git +[submodule "binary"] + path = binary + url = git://github.com/owncloud/owncloud-client-binary.git diff --git a/binary b/binary new file mode 160000 index 000000000..ceeb47d95 --- /dev/null +++ b/binary @@ -0,0 +1 @@ +Subproject commit ceeb47d951638f8d62fabf2836a7a42a5eb10a6a From 2ccfdcb084f5896a6f8909c490cbcf7c93a79108 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 6 Aug 2014 09:52:44 +0200 Subject: [PATCH 098/133] NautilusOverlays: return False if sock connection breaks --- shell_integration/nautilus/ownCloud.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/shell_integration/nautilus/ownCloud.py b/shell_integration/nautilus/ownCloud.py index 585a7b28a..ac1ad54c8 100755 --- a/shell_integration/nautilus/ownCloud.py +++ b/shell_integration/nautilus/ownCloud.py @@ -98,6 +98,8 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP for l in data.split('\n'): self.handle_server_response( l ) + else: + return False return True # run again @@ -122,4 +124,4 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP self.askForOverlay(filename) break else: - print "Not in scope:"+filename \ No newline at end of file + print "Not in scope:"+filename From 55567f8dd2d4402408711dcdc58dcd095d60bc24 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 6 Aug 2014 10:20:49 +0200 Subject: [PATCH 099/133] remove unused variable --- src/mirall/folderman.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/mirall/folderman.cpp b/src/mirall/folderman.cpp index e5132800a..5729c4d35 100644 --- a/src/mirall/folderman.cpp +++ b/src/mirall/folderman.cpp @@ -48,8 +48,6 @@ FolderMan::FolderMan(QObject *parent) : connect(_folderWatcherSignalMapper, SIGNAL(mapped(const QString&)), this, SLOT(slotScheduleSync(const QString&))); - MirallConfigFile cfg; - ne_sock_init(); Q_ASSERT(!_instance); _instance = this; From f06019ab8111f89045dc4f2d1bbfabc3e04c982c Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Wed, 6 Aug 2014 10:40:55 +0200 Subject: [PATCH 100/133] NSIS: First steps at installing the shell extension --- admin/win/nsi/l10n/pofiles/messages.pot | 8 ++++++++ cmake/modules/NSIS.template.in | 19 ++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/admin/win/nsi/l10n/pofiles/messages.pot b/admin/win/nsi/l10n/pofiles/messages.pot index 072a151f3..dc40b1c7e 100644 --- a/admin/win/nsi/l10n/pofiles/messages.pot +++ b/admin/win/nsi/l10n/pofiles/messages.pot @@ -85,6 +85,14 @@ msgstr "Choose the maintenance option to perform." msgid "Installing ${APPLICATION_NAME} essentials." msgstr "Installing ${APPLICATION_NAME} essentials." +#. OPTION_SECTION_SC_SHELL_EXT_SECTION +msgid "Status icons for Windows Explorer" +msgstr "Status icons for Windows Explorer" + +#. OPTION_SECTION_SC_SHELL_EXT_DetailPrint +msgid "Installing status icons for Windows Explorer" +msgstr "Installing status icons for Windows Explorer" + #. OPTION_SECTION_SC_START_MENU_SECTION msgid "Start Menu Program Shortcut" msgstr "Start Menu Program Shortcut" diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in index de13cd86d..530b772d9 100644 --- a/cmake/modules/NSIS.template.in +++ b/cmake/modules/NSIS.template.in @@ -16,6 +16,7 @@ !define OPTION_LICENSE_AGREEMENT !endif !define OPTION_UAC_PLUGIN_ENHANCED +!define OPTION_SECTION_SC_SHELL_EXT !define OPTION_SECTION_SC_START_MENU !define OPTION_SECTION_SC_DESKTOP !define OPTION_SECTION_SC_QUICK_LAUNCH @@ -94,6 +95,7 @@ ReserveFile "${NSISDIR}\Plugins\InstallOptions.dll" !include WordFunc.nsh ;Used by VersionCompare macro function. !include FileFunc.nsh ;Used to read out parameters !include UAC.nsh ;Used by the UAC elevation to install as user or admin. +!include x64.nsh ;Used to determine the right arch for the shell extensions ;----------------------------------------------------------------------------- ; Memento selections stored in registry. @@ -374,7 +376,6 @@ Section "${APPLICATION_NAME}" SEC_APPLICATION File "${BUILD_PATH}\src\lib${APPLICATION_SHORTNAME}sync.dll" File "${BUILD_PATH}\csync\src\libocsync.dll" - File "${BUILD_PATH}\src\mirall_*.qm" ; Make sure only to copy qt, not qt_help, etc File "${MING_SHARE}\qt5\translations\qt_??.qm" @@ -456,6 +457,22 @@ SectionEnd SectionGroup $SectionGroup_Shortcuts +!ifdef OPTION_SECTION_SC_SHELL_EXT + ${MementoSection} $OPTION_SECTION_SC_SHELL_EXT_SECTION SEC_SHELL_EXT + SectionIn 1 2 + SetDetailsPrint textonly + DetailPrint $OPTION_SECTION_SC_SHELL_EXT_DetailPrint + SetOutPath "$INSTDIR/shellext" + ${If} ${RunningX64} + ExecWait '"${BUILD_PATH}/vcredist_x64.exe" /qn' + File ${SOURCE_PATH}\*_x64.dll + ${Else} + ExecWait '"${BUILD_PATH}/vcredist_x86.exe" /qn' + File ${SOURCE_PATH}\*_x86.dll + ${EndIf} + ${MementoSectionEnd} +!endif + !ifdef OPTION_SECTION_SC_START_MENU ${MementoSection} $OPTION_SECTION_SC_START_MENU_SECTION SEC_START_MENU SectionIn 1 2 3 From 7337010fd8b6fb31e70ce193c798742c51dd40c3 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Wed, 6 Aug 2014 05:10:32 -0400 Subject: [PATCH 101/133] [tx-robot] updated from transifex --- admin/win/nsi/l10n/Basque.nsh | 2 ++ admin/win/nsi/l10n/Catalan.nsh | 2 ++ admin/win/nsi/l10n/Czech.nsh | 2 ++ admin/win/nsi/l10n/Dutch.nsh | 2 ++ admin/win/nsi/l10n/English.nsh | 2 ++ admin/win/nsi/l10n/Estonian.nsh | 2 ++ admin/win/nsi/l10n/Finnish.nsh | 2 ++ admin/win/nsi/l10n/French.nsh | 2 ++ admin/win/nsi/l10n/Galician.nsh | 2 ++ admin/win/nsi/l10n/German.nsh | 2 ++ admin/win/nsi/l10n/Greek.nsh | 2 ++ admin/win/nsi/l10n/Hungarian.nsh | 2 ++ admin/win/nsi/l10n/Italian.nsh | 2 ++ admin/win/nsi/l10n/Japanese.nsh | 2 ++ admin/win/nsi/l10n/Polish.nsh | 2 ++ admin/win/nsi/l10n/Portuguese.nsh | 2 ++ admin/win/nsi/l10n/PortugueseBR.nsh | 2 ++ admin/win/nsi/l10n/Russian.nsh | 2 ++ admin/win/nsi/l10n/SimpChinese.nsh | 2 ++ admin/win/nsi/l10n/Slovak.nsh | 2 ++ admin/win/nsi/l10n/Slovenian.nsh | 2 ++ admin/win/nsi/l10n/Spanish.nsh | 2 ++ admin/win/nsi/l10n/SpanishInternational.nsh | 2 ++ admin/win/nsi/l10n/Swedish.nsh | 2 ++ admin/win/nsi/l10n/Turkish.nsh | 2 ++ admin/win/nsi/l10n/declarations.nsh | 2 ++ 26 files changed, 52 insertions(+) diff --git a/admin/win/nsi/l10n/Basque.nsh b/admin/win/nsi/l10n/Basque.nsh index 9deb824ab..88df22222 100644 --- a/admin/win/nsi/l10n/Basque.nsh +++ b/admin/win/nsi/l10n/Basque.nsh @@ -37,6 +37,8 @@ StrCpy $PageReinstall_OLD_Field_1 "A newer version of ${APPLICATION_NAME} is alr StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is already installed.\r\nSelect the operation you want to perform and click Next to continue." StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Choose the maintenance option to perform." StrCpy $SEC_APPLICATION_DETAILS "Installing ${APPLICATION_NAME} essentials." +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} essentials." StrCpy $UNINSTALLER_APPDATA_LABEL_2 "Leave unchecked to keep the data folder for later use or check to delete the data folder." StrCpy $UNINSTALL_MESSAGEBOX "It does not appear that ${APPLICATION_NAME} is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)?" diff --git a/admin/win/nsi/l10n/Catalan.nsh b/admin/win/nsi/l10n/Catalan.nsh index 2e81c7bd8..7a7c7b5ae 100644 --- a/admin/win/nsi/l10n/Catalan.nsh +++ b/admin/win/nsi/l10n/Catalan.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "L'instal·lador ja s'està executant." StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Aquest desinstal·lador requereix accés d'administrador, intenteu-ho de nou." StrCpy $INIT_UNINSTALLER_RUNNING "El desinstal·lador ja s'està executant." StrCpy $SectionGroup_Shortcuts "Dreceres" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Czech.nsh b/admin/win/nsi/l10n/Czech.nsh index 15176a300..342d1b013 100644 --- a/admin/win/nsi/l10n/Czech.nsh +++ b/admin/win/nsi/l10n/Czech.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "Instalátor je již spuštěn." StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Tento odinstalátor vyžaduje správcovská oprávnění, opakujte znovu" StrCpy $INIT_UNINSTALLER_RUNNING "Odinstalátor je již spuštěn." StrCpy $SectionGroup_Shortcuts "Zástupci" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Dutch.nsh b/admin/win/nsi/l10n/Dutch.nsh index 4399dc1e7..68c0f3ff0 100644 --- a/admin/win/nsi/l10n/Dutch.nsh +++ b/admin/win/nsi/l10n/Dutch.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "De Installer is al gestart." StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Deze uninstaller vereist administrator toegang, probeer opnieuw" StrCpy $INIT_UNINSTALLER_RUNNING "De uninstaller is al gestart." StrCpy $SectionGroup_Shortcuts "Snelkoppelingen" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/English.nsh b/admin/win/nsi/l10n/English.nsh index 1bdcd971c..36e5f55fc 100644 --- a/admin/win/nsi/l10n/English.nsh +++ b/admin/win/nsi/l10n/English.nsh @@ -15,6 +15,8 @@ StrCpy $PageReinstall_SAME_Field_3 "Uninstall ${APPLICATION_NAME}" StrCpy $UNINSTALLER_APPDATA_TITLE "Uninstall ${APPLICATION_NAME}" StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Choose the maintenance option to perform." StrCpy $SEC_APPLICATION_DETAILS "Installing ${APPLICATION_NAME} essentials." +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Start Menu Program Shortcut" StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Adding shortcut for ${APPLICATION_NAME} to the Start Menu." StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Desktop Shortcut" diff --git a/admin/win/nsi/l10n/Estonian.nsh b/admin/win/nsi/l10n/Estonian.nsh index b82a06b99..b72e2744d 100644 --- a/admin/win/nsi/l10n/Estonian.nsh +++ b/admin/win/nsi/l10n/Estonian.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "Paigaldaja on juba k StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "See desinstallija vajab admini ligipsu, proovi uuesti" StrCpy $INIT_UNINSTALLER_RUNNING "See desinstallija on juba kimas" StrCpy $SectionGroup_Shortcuts "Viidad" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Finnish.nsh b/admin/win/nsi/l10n/Finnish.nsh index 50095b536..950dc35b5 100644 --- a/admin/win/nsi/l10n/Finnish.nsh +++ b/admin/win/nsi/l10n/Finnish.nsh @@ -39,6 +39,8 @@ StrCpy $INIT_INSTALLER_RUNNING "Asennusohjelma on jo k StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Tm poisto-ohjelma vaatii yllpitjn oikeudet, yrit uudelleen." StrCpy $INIT_UNINSTALLER_RUNNING "Poisto-ohjelma on jo kynniss." StrCpy $SectionGroup_Shortcuts "Pikakuvakkeet" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" StrCpy $UNINSTALLER_FILE_Detail "Writing Uninstaller" StrCpy $INIT_NO_QUICK_LAUNCH "Quick Launch Shortcut (N/A)" StrCpy $UAC_ERROR_ELEVATE "Unable to elevate, error:" diff --git a/admin/win/nsi/l10n/French.nsh b/admin/win/nsi/l10n/French.nsh index b02464892..99a8578f5 100644 --- a/admin/win/nsi/l10n/French.nsh +++ b/admin/win/nsi/l10n/French.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "Une installation est déjà en cours." StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Ce désinstallateur requiert les droits administrateur, essayez à nouveau" StrCpy $INIT_UNINSTALLER_RUNNING "Une désinstallation est déjà en cours." StrCpy $SectionGroup_Shortcuts "Raccourcis" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Galician.nsh b/admin/win/nsi/l10n/Galician.nsh index 953dcc6a2..e98494436 100644 --- a/admin/win/nsi/l10n/Galician.nsh +++ b/admin/win/nsi/l10n/Galician.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "O instalador xa est StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Este desinstalador require acceso de administrador, tenteo de novo" StrCpy $INIT_UNINSTALLER_RUNNING "O desinstalador xa est en execucin." StrCpy $SectionGroup_Shortcuts "Atallos" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/German.nsh b/admin/win/nsi/l10n/German.nsh index d112e7a2e..731e4ecd0 100644 --- a/admin/win/nsi/l10n/German.nsh +++ b/admin/win/nsi/l10n/German.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "Das Installationsprogramm wird bereits ausgef StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Das Deinstallationsprogramm erfordert Administrator-Rechte. Bitte erneut versuchen." StrCpy $INIT_UNINSTALLER_RUNNING "Das Deinstallationsprogramm wird bereits ausgefhrt." StrCpy $SectionGroup_Shortcuts "Verknpfungen" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Greek.nsh b/admin/win/nsi/l10n/Greek.nsh index 60b6136e7..32aba14a2 100644 --- a/admin/win/nsi/l10n/Greek.nsh +++ b/admin/win/nsi/l10n/Greek.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING " StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN " , " StrCpy $INIT_UNINSTALLER_RUNNING " ." StrCpy $SectionGroup_Shortcuts "" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Hungarian.nsh b/admin/win/nsi/l10n/Hungarian.nsh index 1c7623829..c9bea92ed 100644 --- a/admin/win/nsi/l10n/Hungarian.nsh +++ b/admin/win/nsi/l10n/Hungarian.nsh @@ -24,6 +24,8 @@ StrCpy $PageReinstall_OLD_Field_1 "A newer version of ${APPLICATION_NAME} is alr StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is already installed.\r\nSelect the operation you want to perform and click Next to continue." StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Choose the maintenance option to perform." StrCpy $SEC_APPLICATION_DETAILS "Installing ${APPLICATION_NAME} essentials." +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Start Menu Program Shortcut" StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Adding shortcut for ${APPLICATION_NAME} to the Start Menu." StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Desktop Shortcut" diff --git a/admin/win/nsi/l10n/Italian.nsh b/admin/win/nsi/l10n/Italian.nsh index bf773de75..f83f69f34 100644 --- a/admin/win/nsi/l10n/Italian.nsh +++ b/admin/win/nsi/l10n/Italian.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "Il programma di installazione StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Il programma di disinstallazione necessita delle credenziali di amministrazione, riprova" StrCpy $INIT_UNINSTALLER_RUNNING "Il programma di disinstallazione gi in esecuzione." StrCpy $SectionGroup_Shortcuts "Scorciatoie" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Japanese.nsh b/admin/win/nsi/l10n/Japanese.nsh index c9da77c70..951487b8d 100644 --- a/admin/win/nsi/l10n/Japanese.nsh +++ b/admin/win/nsi/l10n/Japanese.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING " StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "̃ACXg[[́AǗҌKvłBACXg[ĎsĂB" StrCpy $INIT_UNINSTALLER_RUNNING "ACXg[[́AłɋNĂ܂B" StrCpy $SectionGroup_Shortcuts "V[gJbg" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Polish.nsh b/admin/win/nsi/l10n/Polish.nsh index 74e053a1c..3cd5b2fed 100644 --- a/admin/win/nsi/l10n/Polish.nsh +++ b/admin/win/nsi/l10n/Polish.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "Instalator już jest uruchomiony." StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Ten dezinstalator potrzebuje uprawnień administratora, spróbuj ponownie" StrCpy $INIT_UNINSTALLER_RUNNING "Dezinstalator już jest uruchomiony." StrCpy $SectionGroup_Shortcuts "Skróty" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Portuguese.nsh b/admin/win/nsi/l10n/Portuguese.nsh index a67fba701..147cbd221 100644 --- a/admin/win/nsi/l10n/Portuguese.nsh +++ b/admin/win/nsi/l10n/Portuguese.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "O instalador já está a correr." StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Este desinstalador precisa de acesso de administrador; tente novamente" StrCpy $INIT_UNINSTALLER_RUNNING "O desinstalador já está a correr." StrCpy $SectionGroup_Shortcuts "Atalhos" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/PortugueseBR.nsh b/admin/win/nsi/l10n/PortugueseBR.nsh index 12d1dc0e4..02e6b54cd 100644 --- a/admin/win/nsi/l10n/PortugueseBR.nsh +++ b/admin/win/nsi/l10n/PortugueseBR.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "O instalador j StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Este desinstalador requer acesso de administrador, tente novamente" StrCpy $INIT_UNINSTALLER_RUNNING "O desinstalador j est em execuo." StrCpy $SectionGroup_Shortcuts "Atalhos" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Russian.nsh b/admin/win/nsi/l10n/Russian.nsh index 313b8f621..f314a3410 100644 --- a/admin/win/nsi/l10n/Russian.nsh +++ b/admin/win/nsi/l10n/Russian.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "Установщик уже запущен." StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Этот деинсталятор требует права администратора, попытайтесь ещё" StrCpy $INIT_UNINSTALLER_RUNNING "Программа удаления уже выполняется." StrCpy $SectionGroup_Shortcuts "Ярлыки" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/SimpChinese.nsh b/admin/win/nsi/l10n/SimpChinese.nsh index 4041ec542..28c933391 100644 --- a/admin/win/nsi/l10n/SimpChinese.nsh +++ b/admin/win/nsi/l10n/SimpChinese.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "安装程序已经运行。" StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "卸载程序需要管理员权限,请重试" StrCpy $INIT_UNINSTALLER_RUNNING "卸载程序已经运行。" StrCpy $SectionGroup_Shortcuts "快捷方式" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Slovak.nsh b/admin/win/nsi/l10n/Slovak.nsh index 7c2072854..4e6818d00 100644 --- a/admin/win/nsi/l10n/Slovak.nsh +++ b/admin/win/nsi/l10n/Slovak.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "In StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Tento odintaltor vyaduje admin prstup, skste to znova" StrCpy $INIT_UNINSTALLER_RUNNING "Odintaltor je u spusten." StrCpy $SectionGroup_Shortcuts "Zstupcovia" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Slovenian.nsh b/admin/win/nsi/l10n/Slovenian.nsh index e4052a1f0..2ca5535f5 100644 --- a/admin/win/nsi/l10n/Slovenian.nsh +++ b/admin/win/nsi/l10n/Slovenian.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "Namestilnik je StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Program za odstranjevanje namestitve zahteva skrbnika dovoljenja." StrCpy $INIT_UNINSTALLER_RUNNING "Program za odstranjevanje namestitve je e zagnan." StrCpy $SectionGroup_Shortcuts "Blinjice" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Spanish.nsh b/admin/win/nsi/l10n/Spanish.nsh index 51c054d22..9a51def37 100644 --- a/admin/win/nsi/l10n/Spanish.nsh +++ b/admin/win/nsi/l10n/Spanish.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "El instalador ya se encuentra en ejecuci StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "El desinstalador requiere acceso administrativo, intente de nuevo" StrCpy $INIT_UNINSTALLER_RUNNING "El desinstalador ya se encuentra en ejecucin." StrCpy $SectionGroup_Shortcuts "Accesos Directos" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/SpanishInternational.nsh b/admin/win/nsi/l10n/SpanishInternational.nsh index 0151311c3..d05bfa204 100644 --- a/admin/win/nsi/l10n/SpanishInternational.nsh +++ b/admin/win/nsi/l10n/SpanishInternational.nsh @@ -35,6 +35,8 @@ StrCpy $INIT_UNINSTALLER_RUNNING "El des-instalador ya esta corriendo" StrCpy $SectionGroup_Shortcuts "Accesos Directos" StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Found ${APPLICATION_EXECUTABLE} process(s) which need to be stopped.$\nDo you want the installer to stop these for you?" StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is already installed.\r\nSelect the operation you want to perform and click Next to continue." +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Quick Launch Shortcut" StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Creating Quick Launch Shortcut" StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} essentials." diff --git a/admin/win/nsi/l10n/Swedish.nsh b/admin/win/nsi/l10n/Swedish.nsh index 04a84a0fa..60ea987b0 100644 --- a/admin/win/nsi/l10n/Swedish.nsh +++ b/admin/win/nsi/l10n/Swedish.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "Installationsprogrammet körs redan." StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Detta avinstallationsprogram kräver administratörs rättigheter, försök igen" StrCpy $INIT_UNINSTALLER_RUNNING "Avinstallationsprogrammet körs redan." StrCpy $SectionGroup_Shortcuts "Genvägar" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Turkish.nsh b/admin/win/nsi/l10n/Turkish.nsh index 59d0d2ad5..98881edfe 100644 --- a/admin/win/nsi/l10n/Turkish.nsh +++ b/admin/win/nsi/l10n/Turkish.nsh @@ -42,3 +42,5 @@ StrCpy $INIT_INSTALLER_RUNNING "Y StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Bu kaldrc ynetici eriimi gerektiriyor, yeniden deneyin" StrCpy $INIT_UNINSTALLER_RUNNING "Kaldrc zaten alyor." StrCpy $SectionGroup_Shortcuts "Ksayollar" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/declarations.nsh b/admin/win/nsi/l10n/declarations.nsh index c2ce8dde7..b5eb59872 100644 --- a/admin/win/nsi/l10n/declarations.nsh +++ b/admin/win/nsi/l10n/declarations.nsh @@ -15,6 +15,8 @@ Var PageReinstall_SAME_Field_3 Var UNINSTALLER_APPDATA_TITLE Var PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE Var SEC_APPLICATION_DETAILS +Var OPTION_SECTION_SC_SHELL_EXT_SECTION +Var OPTION_SECTION_SC_SHELL_EXT_DetailPrint Var OPTION_SECTION_SC_START_MENU_SECTION Var OPTION_SECTION_SC_START_MENU_DetailPrint Var OPTION_SECTION_SC_DESKTOP_SECTION From e9c4635f6b46e4656b0849d25a79910cd045e672 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 6 Aug 2014 11:32:42 +0200 Subject: [PATCH 102/133] tests: Add another two seconds break, hope to make it work in virt. env. Tests fail randomly on the CI computer which is virtualized. Maybe this fix helps. --- csync/tests/ownCloud/t1.pl | 1 + 1 file changed, 1 insertion(+) diff --git a/csync/tests/ownCloud/t1.pl b/csync/tests/ownCloud/t1.pl index d3ffe1eef..79dac8e5d 100755 --- a/csync/tests/ownCloud/t1.pl +++ b/csync/tests/ownCloud/t1.pl @@ -125,6 +125,7 @@ assertLocalAndRemoteDir( '', 0); printInfo( "Update the file again"); createLocalFile( localDir() . "remoteToLocal1/kernelcrash.txt", 2136 ); createLocalFile( localDir() . "remoteToLocal1/kraft_logo.gif", 2332 ); +system( "sleep 2 && touch " . localDir() . "remoteToLocal1/kernelcrash.txt" ); csync( ); assertLocalAndRemoteDir( '', 0); From fe2e4d87c5c46e944ab272bc1ef1575fac5884c8 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 6 Aug 2014 17:19:02 +0200 Subject: [PATCH 103/133] tests: Fix t5: work with ownCloud 7 sharing. --- csync/tests/ownCloud/ownCloud/Test.pm | 15 ++++++++++++--- csync/tests/ownCloud/t5.pl | 19 +++++++++++++------ 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/csync/tests/ownCloud/ownCloud/Test.pm b/csync/tests/ownCloud/ownCloud/Test.pm index 3538d83b0..dafa5c9c0 100644 --- a/csync/tests/ownCloud/ownCloud/Test.pm +++ b/csync/tests/ownCloud/ownCloud/Test.pm @@ -609,13 +609,22 @@ sub md5OfFile( $ ) return $hash; } -sub moveRemoteFile($$) +sub moveRemoteFile($$;$) { - my ($from, $to) = @_; - + my ($from, $to, $no_testdir) = @_; + + $d->credentials( -url=> $owncloud, -realm=>"ownCloud", + -user=> $user, + -pass=> $passwd ); + my $fromUrl = testDirUrl(). $from; my $toUrl = testDirUrl() . $to; + if( $no_testdir ) { + $fromUrl = $from; + $toUrl = $to; + } + $d->move($fromUrl, $toUrl); } diff --git a/csync/tests/ownCloud/t5.pl b/csync/tests/ownCloud/t5.pl index fce39a033..4cb7e6c8c 100755 --- a/csync/tests/ownCloud/t5.pl +++ b/csync/tests/ownCloud/t5.pl @@ -33,6 +33,9 @@ print "Hello, this is t5, a tester for syncing of files in Shares\n"; initTesting(); +# Create empty test dirs. +csync(); + my $share_dir = "share_source"; printInfo( "Create a share." ); @@ -47,18 +50,22 @@ my $sharee = { user => configValue('share_user'), # put a couple of files into the shared directory in the sharer account glob_put( 'sharing/*', $share_dir, $sharee); -# now user kf has a new directory in shared. +# Move the shared dir remotely into the test dir, otherwise the script +# has a hard time to find it. +moveRemoteFile( server() . $share_dir, localDir(), 1 ); # call csync, sync local t1 to remote t1 printInfo("Initial sync, sync stuff down."); -csync( server()."Shared" ); -assertLocalAndRemoteDir( 'Shared', 0, server() ); +csync(); + + +assertLocalAndRemoteDir( '', 0 ); # Local file to a read/write share should be synced up printInfo("Put a file into the share."); -createLocalFile( localDir(). $share_dir . "/foobar.txt", 8094 ); -csync( server()."Shared" ); -assertLocalAndRemoteDir( 'Shared', 0, server() ); +createLocalFile(localDir() . "$share_dir/foobar.txt", 8094 ); +csync( ); +assertLocalAndRemoteDir( '', 0 ); printInfo("Remove a Share."); From 370ee5c6f6e9fceb2e4afd2bcf9fd8a1d26f3076 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Thu, 7 Aug 2014 01:25:25 -0400 Subject: [PATCH 104/133] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 26 +++++++++++++------------- translations/mirall_cs.ts | 26 +++++++++++++------------- translations/mirall_de.ts | 28 ++++++++++++++-------------- translations/mirall_el.ts | 26 +++++++++++++------------- translations/mirall_en.ts | 26 +++++++++++++------------- translations/mirall_es.ts | 26 +++++++++++++------------- translations/mirall_es_AR.ts | 26 +++++++++++++------------- translations/mirall_et.ts | 26 +++++++++++++------------- translations/mirall_eu.ts | 32 ++++++++++++++++---------------- translations/mirall_fa.ts | 26 +++++++++++++------------- translations/mirall_fi.ts | 32 ++++++++++++++++---------------- translations/mirall_fr.ts | 26 +++++++++++++------------- translations/mirall_gl.ts | 28 ++++++++++++++-------------- translations/mirall_hu.ts | 26 +++++++++++++------------- translations/mirall_it.ts | 28 ++++++++++++++-------------- translations/mirall_ja.ts | 28 ++++++++++++++-------------- translations/mirall_nl.ts | 28 ++++++++++++++-------------- translations/mirall_pl.ts | 26 +++++++++++++------------- translations/mirall_pt.ts | 28 ++++++++++++++-------------- translations/mirall_pt_BR.ts | 28 ++++++++++++++-------------- translations/mirall_ru.ts | 28 ++++++++++++++-------------- translations/mirall_sk.ts | 26 +++++++++++++------------- translations/mirall_sl.ts | 26 +++++++++++++------------- translations/mirall_sv.ts | 26 +++++++++++++------------- translations/mirall_th.ts | 26 +++++++++++++------------- translations/mirall_tr.ts | 28 ++++++++++++++-------------- translations/mirall_uk.ts | 26 +++++++++++++------------- translations/mirall_zh_CN.ts | 26 +++++++++++++------------- translations/mirall_zh_TW.ts | 26 +++++++++++++------------- 29 files changed, 392 insertions(+), 392 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index 4ce08c507..d77a5fc68 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -375,67 +375,67 @@ Esteu segur que voleu executar aquesta operació? Mirall::FolderMan - + Could not reset folder state No es pot restablir l'estat de la carpeta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. S'ha trobat un diari de sincronització antic '%1', però no s'ha pogut eliminar. Assegureu-vos que no hi ha cap aplicació que actualment en faci ús. - + Undefined State. Estat indefinit. - + Waits to start syncing. Espera per començar la sincronització. - + Preparing for sync. Perparant per la sincronització. - + Sync is running. S'està sincronitzant. - + Server is currently not available. El servidor no està disponible actualment. - + Last Sync was successful. La darrera sincronització va ser correcta. - + Last Sync was successful, but with warnings on individual files. La última sincronització ha estat un èxit, però amb avisos en fitxers individuals. - + Setup Error. Error de configuració. - + User Abort. Cancel·la usuari. - + Sync is paused. La sincronització està en pausa. - + %1 (Sync is paused) %1 (Sync està pausat) diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index c13b056bc..a5eeef43b 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -375,67 +375,67 @@ Opravdu chcete provést tuto akci? Mirall::FolderMan - + Could not reset folder state Nelze obnovit stav složky - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Byl nalezen starý záznam synchronizace '%1', ale nebylo možné jej odebrat. Ujistěte se, že není aktuálně používán jinou aplikací. - + Undefined State. Nedefinovaný stav. - + Waits to start syncing. Vyčkává na spuštění synchronizace. - + Preparing for sync. Příprava na synchronizaci. - + Sync is running. Synchronizace probíhá. - + Server is currently not available. Server je nyní nedostupný. - + Last Sync was successful. Poslední synchronizace byla úspěšná. - + Last Sync was successful, but with warnings on individual files. Poslední synchronizace byla úspěšná, ale s varováním u některých souborů - + Setup Error. Chyba nastavení. - + User Abort. Zrušení uživatelem. - + Sync is paused. Synchronizace pozastavena. - + %1 (Sync is paused) %1 (Synchronizace je pozastavena) diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index edff76467..df4d1db13 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -376,67 +376,67 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Mirall::FolderMan - + Could not reset folder state Konnte Ordner-Zustand nicht zurücksetzen - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Ein altes Synchronisations-Journal '%1' wurde gefunden, konnte jedoch nicht entfernt werden. Bitte stellen Sie sicher, dass keine Anwendung es verwendet. - + Undefined State. Undefinierter Zustand. - + Waits to start syncing. Wartet auf Beginn der Synchronistation - + Preparing for sync. Synchronisation wird vorbereitet. - + Sync is running. Synchronisation läuft. - + Server is currently not available. Der Server ist momentan nicht erreichbar. - + Last Sync was successful. Die letzte Synchronisation war erfolgreich. - + Last Sync was successful, but with warnings on individual files. Letzte Synchronisation war erfolgreich, aber mit Warnungen für einzelne Dateien. - + Setup Error. Setup-Fehler. - + User Abort. Benutzer-Abbruch - + Sync is paused. Synchronisation wurde angehalten. - + %1 (Sync is paused) %1 (Synchronisation ist pausiert) @@ -1774,7 +1774,7 @@ Versuchen Sie diese nochmals zu synchronisieren. Expiration Date: %1 - + Ablaufdatum: %1 diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 61c27c19a..42718f036 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -376,67 +376,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Δεν ήταν δυνατό να επαναφερθεί η κατάσταση του φακέλου - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Βρέθηκε ένα παλαιότερο αρχείο συγχρονισμού '%1', αλλά δεν μπόρεσε να αφαιρεθεί. Παρακαλώ βεβαιωθείτε ότι καμμία εφαρμογή δεν το χρησιμοποιεί αυτή τη στιγμή. - + Undefined State. Απροσδιόριστη Κατάσταση. - + Waits to start syncing. Αναμονή έναρξης συγχρονισμού. - + Preparing for sync. Προετοιμασία για συγχρονισμό. - + Sync is running. Ο συγχρονισμός εκτελείται. - + Server is currently not available. Ο διακομιστής δεν είναι διαθέσιμος προς το παρόν. - + Last Sync was successful. Ο τελευταίος συγχρονισμός ήταν επιτυχής. - + Last Sync was successful, but with warnings on individual files. Ο τελευταίος συγχρονισμός ήταν επιτυχής, αλλά υπήρχαν προειδοποιήσεις σε συγκεκριμένα αρχεία. - + Setup Error. Σφάλμα Ρύθμισης. - + User Abort. Ματαίωση από Χρήστη. - + Sync is paused. Παύση συγχρονισμού. - + %1 (Sync is paused) %1 (Παύση συγχρονισμού) diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index 28d2b5f94..c4511837a 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. - + Waits to start syncing. - + Preparing for sync. - + Sync is running. - + Server is currently not available. - + Last Sync was successful. - + Last Sync was successful, but with warnings on individual files. - + Setup Error. - + User Abort. - + Sync is paused. - + %1 (Sync is paused) diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 51f8735a9..c1962e682 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -375,67 +375,67 @@ Está seguro de que desea realizar esta operación? Mirall::FolderMan - + Could not reset folder state No se ha podido restablecer el estado de la carpeta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Un antiguo registro (journal) de sincronización '%1' se ha encontrado, pero no se ha podido eliminar. Por favor asegúrese que ninguna aplicación la está utilizando. - + Undefined State. Estado no definido. - + Waits to start syncing. Esperando el inicio de la sincronización. - + Preparing for sync. Preparándose para sincronizar. - + Sync is running. Sincronización en funcionamiento. - + Server is currently not available. El servidor no está disponible en el momento - + Last Sync was successful. La última sincronización fue exitosa. - + Last Sync was successful, but with warnings on individual files. La última sincronización fue exitosa pero con advertencias para archivos individuales. - + Setup Error. Error de configuración. - + User Abort. Interrumpir. - + Sync is paused. La sincronización está en pausa. - + %1 (Sync is paused) %1 (Sincronización en pausa) diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index 7c632381e..a50f00849 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -374,67 +374,67 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Mirall::FolderMan - + Could not reset folder state No se pudo - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Una antigua sincronización con journaling '%1' fue encontrada, pero no se pudo eliminar. Por favor, asegurate que ninguna aplicación la está utilizando. - + Undefined State. Estado no definido. - + Waits to start syncing. Esperando el comienzo de la sincronización. - + Preparing for sync. Preparando la sincronización. - + Sync is running. Sincronización en funcionamiento. - + Server is currently not available. El servidor actualmente no está disponible. - + Last Sync was successful. La última sincronización fue exitosa. - + Last Sync was successful, but with warnings on individual files. El último Sync fue exitoso, pero hubo advertencias en archivos individuales. - + Setup Error. Error de configuración. - + User Abort. Interrumpir. - + Sync is paused. La sincronización está en pausa. - + %1 (Sync is paused) %1 (Sincronización en pausa) diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 729da6e1a..03cf965e6 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -375,67 +375,67 @@ Oled kindel, et soovid seda operatsiooni teostada? Mirall::FolderMan - + Could not reset folder state Ei suutnud tühistada kataloogi staatust - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Leiti vana sünkroniseeringu zurnaal '%1', kuid selle eemaldamine ebaõnnenstus. Palun veendu, et seda kasutaks ükski programm. - + Undefined State. Määramata staatus. - + Waits to start syncing. Ootab sünkroniseerimise alustamist. - + Preparing for sync. Valmistun sünkroniseerima. - + Sync is running. Sünkroniseerimine on käimas. - + Server is currently not available. Server pole hetkel saadaval. - + Last Sync was successful. Viimane sünkroniseerimine oli edukas. - + Last Sync was successful, but with warnings on individual files. Viimane sünkroniseering oli edukas, kuid mõned failid põhjustasid tõrkeid. - + Setup Error. Seadistamise viga. - + User Abort. Kasutaja tühistamine. - + Sync is paused. Sünkroniseerimine on peatatud. - + %1 (Sync is paused) %1 (Sünkroniseerimine on peatatud) diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 2f5663578..dd8a69437 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -375,67 +375,67 @@ Ziur zaude eragiketa hau egin nahi duzula? Mirall::FolderMan - + Could not reset folder state Ezin izan da karpetaren egoera berrezarri - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Aurkitu da '%1' sinkronizazio erregistro zaharra, baina ezin da ezabatu. Ziurtatu aplikaziorik ez dela erabiltzen ari. - + Undefined State. Definitu gabeko egoera. - + Waits to start syncing. Itxoiten sinkronizazioa hasteko. - + Preparing for sync. Sinkronizazioa prestatzen. - + Sync is running. Sinkronizazioa martxan da. - + Server is currently not available. Zerbitzaria orain ez dago eskuragarri. - + Last Sync was successful. Azkeneko sinkronizazioa ongi burutu zen. - + Last Sync was successful, but with warnings on individual files. Azkenengo sinkronizazioa ongi burutu zen, baina banakako fitxategi batzuetan abisuak egon dira. - + Setup Error. Konfigurazio errorea. - + User Abort. Erabiltzaileak bertan behera utzi. - + Sync is paused. Sinkronizazioa pausatuta dago. - + %1 (Sync is paused) %1 (Sinkronizazioa pausatuta dago) @@ -1292,7 +1292,7 @@ It is not advisable to use it. ; Restoration Failed: - + ; huth egin du berreskuratzen: @@ -1389,12 +1389,12 @@ It is not advisable to use it. The local file was removed during sync. - + Fitxategi lokala ezabatu da sinkronizazioan. Local file changed during sync. - + Fitxategi lokala aldatu da sinkronizazioan. diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index b4ff801a7..19f8ccee7 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state نمی تواند حالت پوشه را تنظیم مجدد کند - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. موقعیت تعریف نشده - + Waits to start syncing. صبر کنید تا همگام سازی آغاز شود - + Preparing for sync. - + Sync is running. همگام سازی در حال اجراست - + Server is currently not available. - + Last Sync was successful. آخرین همگام سازی موفقیت آمیز بود - + Last Sync was successful, but with warnings on individual files. - + Setup Error. خطا در پیکر بندی. - + User Abort. - + Sync is paused. همگام سازی فعلا متوقف شده است - + %1 (Sync is paused) diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 135dcf4b5..952986741 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -373,67 +373,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Kansion tilaa ei voitu alustaa - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Määrittelemätön tila. - + Waits to start syncing. Odottaa synkronoinnin alkamista. - + Preparing for sync. Valmistellaan synkronointia. - + Sync is running. Synkronointi on meneillään. - + Server is currently not available. Palvelin ei ole käytettävissä. - + Last Sync was successful. Viimeisin synkronointi suoritettiin onnistuneesti. - + Last Sync was successful, but with warnings on individual files. Viimeisin synkronointi onnistui, mutta yksittäisten tiedostojen kanssa ilmeni varoituksia. - + Setup Error. Asetusvirhe. - + User Abort. - + Sync is paused. Synkronointi on keskeytetty. - + %1 (Sync is paused) %1 (Synkronointi on keskeytetty) @@ -1768,7 +1768,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Expiration Date: %1 - + Vanhenemispäivä: %1 @@ -1922,7 +1922,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Aborted by the user - + Keskeytetty käyttäjän toimesta @@ -2540,7 +2540,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Aborting... - + Keskeytetään... diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index 94d9a1488..1e2897274 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -375,67 +375,67 @@ Voulez-vous réellement effectuer cette opération ? Mirall::FolderMan - + Could not reset folder state Impossible de réinitialiser l'état du dossier - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Une synchronisation antérieure du journal de %1 a été trouvée, mais ne peut être supprimée. Veuillez vous assurer qu’aucune application n'est utilisée en ce moment. - + Undefined State. Statut indéfini. - + Waits to start syncing. En attente de synchronisation. - + Preparing for sync. Préparation de la synchronisation. - + Sync is running. La synchronisation est en cours. - + Server is currently not available. Le serveur est indisponible actuellement. - + Last Sync was successful. Dernière synchronisation effectuée avec succès - + Last Sync was successful, but with warnings on individual files. La dernière synchronisation s'est achevée avec succès mais avec des messages d'avertissement sur des fichiers individuels. - + Setup Error. Erreur d'installation. - + User Abort. Abandon par l'utilisateur. - + Sync is paused. La synchronisation est en pause. - + %1 (Sync is paused) %1 (Synchronisation en pause) diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index f12b7cd1d..7cf6f5070 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -375,67 +375,67 @@ Confirma que quere realizar esta operación? Mirall::FolderMan - + Could not reset folder state Non foi posíbel restabelecer o estado do cartafol - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Atopouse un rexistro de sincronización antigo en «%1» máis non pode ser retirado. Asegúrese de que non o está a usar ningún aplicativo. - + Undefined State. Estado sen definir. - + Waits to start syncing. Agardando polo comezo da sincronización. - + Preparing for sync. Preparando para sincronizar. - + Sync is running. Estase sincronizando. - + Server is currently not available. O servidor non está dispoñíbel actualmente. - + Last Sync was successful. A última sincronización fíxose correctamente. - + Last Sync was successful, but with warnings on individual files. A última sincronización fíxose correctamente, mais con algún aviso en ficheiros individuais. - + Setup Error. Erro de configuración. - + User Abort. Interrompido polo usuario. - + Sync is paused. Sincronización en pausa. - + %1 (Sync is paused) %1 (sincronización en pausa) @@ -1773,7 +1773,7 @@ Tente sincronizalos de novo. Expiration Date: %1 - + Data de caducidade: %1 diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index a5d1a3ff0..2c03b9bc9 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Ismeretlen állapot. - + Waits to start syncing. Várakozás a szinkronizálás elindítására. - + Preparing for sync. Előkészítés szinkronizációhoz. - + Sync is running. Szinkronizálás fut. - + Server is currently not available. A kiszolgáló jelenleg nem érhető el. - + Last Sync was successful. Legutolsó szinkronizálás sikeres volt. - + Last Sync was successful, but with warnings on individual files. - + Setup Error. Beállítás hiba. - + User Abort. - + Sync is paused. Szinkronizálás megállítva. - + %1 (Sync is paused) diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index ce6827033..6159f7666 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -375,67 +375,67 @@ Sei sicuro di voler eseguire questa operazione? Mirall::FolderMan - + Could not reset folder state Impossibile ripristinare lo stato della cartella - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. È stato trovato un vecchio registro di sincronizzazione '%1', ma non può essere rimosso. Assicurati che nessuna applicazione lo stia utilizzando. - + Undefined State. Stato non definito. - + Waits to start syncing. Attende l'inizio della sincronizzazione. - + Preparing for sync. Preparazione della sincronizzazione. - + Sync is running. La sincronizzazione è in corso. - + Server is currently not available. Il server è attualmente non disponibile. - + Last Sync was successful. L'ultima sincronizzazione è stato completata correttamente. - + Last Sync was successful, but with warnings on individual files. Ultima sincronizzazione avvenuta, ma con avvisi relativi a singoli file. - + Setup Error. Errore di configurazione. - + User Abort. Interrotto dall'utente. - + Sync is paused. La sincronizzazione è sospesa. - + %1 (Sync is paused) %1 (La sincronizzazione è sospesa) @@ -1772,7 +1772,7 @@ Prova a sincronizzare nuovamente. Expiration Date: %1 - + Data di scadenza: %1 diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index 1be5a180b..3e550fb90 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -375,67 +375,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state フォルダーの状態をリセットできませんでした - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 古い同期ジャーナル '%1' が見つかりましたが、削除できませんでした。それを現在使用しているアプリケーションが存在しないか確認してください。 - + Undefined State. 未定義の状態。 - + Waits to start syncing. 同期開始を待機中 - + Preparing for sync. 同期の準備中。 - + Sync is running. 同期を実行中です。 - + Server is currently not available. サーバーは現在利用できません。 - + Last Sync was successful. 最後の同期は成功しました。 - + Last Sync was successful, but with warnings on individual files. 最新の同期は成功しました。しかし、いくつかのファイルで問題がありました。 - + Setup Error. 設定エラー。 - + User Abort. ユーザーによる中止。 - + Sync is paused. 同期を一時停止しました。 - + %1 (Sync is paused) %1 (同期を一時停止) @@ -1771,7 +1771,7 @@ It is not advisable to use it. Expiration Date: %1 - + 有効期限: %1 diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index f326d6c24..6d1bae585 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -375,67 +375,67 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Mirall::FolderMan - + Could not reset folder state Kan de beginstaat van de map niet terugzetten - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Een oud synchronisatieverslag '%1' is gevonden maar kan niet worden verwijderd. Zorg ervoor dat geen applicatie dit bestand gebruikt. - + Undefined State. Ongedefiniëerde staat - + Waits to start syncing. In afwachting van synchronisatie. - + Preparing for sync. Synchronisatie wordt voorbereid - + Sync is running. Bezig met synchroniseren. - + Server is currently not available. De server is nu niet beschikbaar. - + Last Sync was successful. Laatste synchronisatie was succesvol. - + Last Sync was successful, but with warnings on individual files. Laatste synchronisatie geslaagd, maar met waarschuwingen over individuele bestanden. - + Setup Error. Installatiefout. - + User Abort. Afgebroken door gebruiker. - + Sync is paused. Synchronisatie gepauzeerd. - + %1 (Sync is paused) %1 (Synchronisatie onderbroken) @@ -1773,7 +1773,7 @@ Probeer opnieuw te synchroniseren. Expiration Date: %1 - + Vervaldatum: %1 diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index a8d4883a4..faab98b3e 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -375,67 +375,67 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Mirall::FolderMan - + Could not reset folder state Nie udało się zresetować stanu folderu - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Stary sync journal '%1' został znaleziony, lecz nie mógł być usunięty. Proszę się upewnić, że żaden program go obecnie nie używa. - + Undefined State. Niezdefiniowany stan - + Waits to start syncing. Czekają na uruchomienie synchronizacji. - + Preparing for sync. Przygotowuję do synchronizacji - + Sync is running. Synchronizacja w toku - + Server is currently not available. Serwer jest obecnie niedostępny. - + Last Sync was successful. Ostatnia synchronizacja zakończona powodzeniem. - + Last Sync was successful, but with warnings on individual files. Ostatnia synchronizacja udana, ale istnieją ostrzeżenia z pojedynczymi plikami. - + Setup Error. Błąd ustawień. - + User Abort. Użytkownik anulował. - + Sync is paused. Synchronizacja wstrzymana - + %1 (Sync is paused) %1 (Synchronizacja jest zatrzymana) diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index a5cce6ae1..c2bacea76 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -374,67 +374,67 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Mirall::FolderMan - + Could not reset folder state Não foi possível repor o estado da pasta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Não foi possível remover o antigo 'journal sync' '%1'. Por favor certifique-se que nenhuma aplicação o está a utilizar. - + Undefined State. Estado indefinido. - + Waits to start syncing. A aguardar o inicio da sincronização. - + Preparing for sync. A preparar para sincronização. - + Sync is running. A sincronização está a correr. - + Server is currently not available. O servidor não está disponível de momento. - + Last Sync was successful. A última sincronização foi efectuada com sucesso. - + Last Sync was successful, but with warnings on individual files. A última sincronização foi efectuada com sucesso, mas existem avisos sobre alguns ficheiros. - + Setup Error. Erro na instalação. - + User Abort. Cancelado pelo utilizador. - + Sync is paused. A sincronização está em pausa. - + %1 (Sync is paused) %1 (Sincronização em pausa) @@ -1770,7 +1770,7 @@ Por favor tente sincronizar novamente. Expiration Date: %1 - + Data de Expiração: %1 diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index 5770855db..6c96434d0 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -375,67 +375,67 @@ Você tem certeza que quer executar esta operação? Mirall::FolderMan - + Could not reset folder state Não foi possível redefinir o estado da pasta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Uma velha revista de sincronização '%1' foi encontrada, mas não pôde ser removida. Por favor, certifique-se de que nenhuma aplicação está a usá-la. - + Undefined State. Estado indefinido. - + Waits to start syncing. Aguardando o inicio da sincronização. - + Preparing for sync. Preparando para sincronização. - + Sync is running. A sincronização está ocorrendo. - + Server is currently not available. Servidor indisponível no momento. - + Last Sync was successful. A última sincronização foi feita com sucesso. - + Last Sync was successful, but with warnings on individual files. A última sincronização foi executada com sucesso, mas com advertências em arquivos individuais. - + Setup Error. Erro de Configuração. - + User Abort. Usuário Abortou - + Sync is paused. Sincronização pausada. - + %1 (Sync is paused) %1 (Pausa na Sincronização) @@ -1771,7 +1771,7 @@ Tente sincronizar novamente. Expiration Date: %1 - + Data de Vencimento: %1 diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index b6f8b8aec..205c391ba 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -375,67 +375,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Невозможно сбросить состояние папки - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Найден старый журнал синхронизации '%1', и он не может быть удалён. Пожалуйста убедитесь что он не открыт в каком-либо приложении. - + Undefined State. Неопределенное состояние. - + Waits to start syncing. Ожидает, чтобы начать синхронизацию. - + Preparing for sync. Подготовка к синхронизации. - + Sync is running. Идет синхронизация. - + Server is currently not available. Сервер недоступен. - + Last Sync was successful. Последняя синхронизация прошла успешно. - + Last Sync was successful, but with warnings on individual files. Последняя синхронизация прошла успешно, но были предупреждения о нескольких файлах. - + Setup Error. Ошибка установки. - + User Abort. Отмена пользователем. - + Sync is paused. Синхронизация приостановлена. - + %1 (Sync is paused) %! (синхронизация приостановлена) @@ -1773,7 +1773,7 @@ It is not advisable to use it. Expiration Date: %1 - + Дата окончания: %1 diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index 9d7975f60..7975544a6 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -374,67 +374,67 @@ Ste si istý, že chcete uskutočniť danú operáciu? Mirall::FolderMan - + Could not reset folder state Nemožno resetovať stav priečinka - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Starý synchronizačný žurnál '%1' nájdený, avšak neodstrániteľný. Prosím uistite sa, že žiadna aplikácia ho práve nevyužíva. - + Undefined State. Nedefinovaný stav. - + Waits to start syncing. Čakanie na štart synchronizácie. - + Preparing for sync. Príprava na synchronizáciu. - + Sync is running. Synchronizácia prebieha. - + Server is currently not available. Sever momentálne nie je prístupný. - + Last Sync was successful. Posledná synchronizácia sa úspešne skončila. - + Last Sync was successful, but with warnings on individual files. Posledná synchronizácia bola úspešná, ale z varovaniami pre individuálne súbory. - + Setup Error. Chyba pri inštalácii. - + User Abort. Zrušené používateľom. - + Sync is paused. Synchronizácia je pozastavená. - + %1 (Sync is paused) %1 (Synchronizácia je pozastavená) diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index e8c798bbb..56ccc5f20 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -374,67 +374,67 @@ Ali sta prepričani, da želite izvesti to opravilo? Mirall::FolderMan - + Could not reset folder state Ni mogoče ponastaviti stanja mape - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Obstaja starejši dnevnik usklajevanja '%1', vendar ga ni mogoče odstraniti. Preverite, da datoteka ni v uporabi. - + Undefined State. Nedoločeno stanje. - + Waits to start syncing. V čakanju na začetek usklajevanja. - + Preparing for sync. Poteka priprava za usklajevanje. - + Sync is running. Usklajevanje je v teku. - + Server is currently not available. Strežnik trenutno ni na voljo. - + Last Sync was successful. Zadnje usklajevanje je bilo uspešno končano. - + Last Sync was successful, but with warnings on individual files. Zadnje usklajevanje je bilo sicer uspešno, vendar z opozorili za posamezne datoteke. - + Setup Error. Napaka nastavitve. - + User Abort. Uporabniška prekinitev. - + Sync is paused. Usklajevanje je začasno v premoru. - + %1 (Sync is paused) %1 (usklajevanje je v premoru) diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index fa149d7cf..9b578d4c5 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -375,67 +375,67 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Mirall::FolderMan - + Could not reset folder state Kunde inte återställa mappens skick - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. En gammal synkroniseringsjournal '%1' hittades, men kunde inte raderas. Vänligen se till att inga program för tillfället använder den. - + Undefined State. Okänt tillstånd. - + Waits to start syncing. Väntar på att starta synkronisering. - + Preparing for sync. Förbereder synkronisering - + Sync is running. Synkronisering pågår. - + Server is currently not available. Servern är för tillfället inte tillgänglig. - + Last Sync was successful. Senaste synkronisering lyckades. - + Last Sync was successful, but with warnings on individual files. Senaste synkning lyckades, men det finns varningar för vissa filer! - + Setup Error. Inställningsfel. - + User Abort. Användare Avbryt - + Sync is paused. Synkronisering är pausad. - + %1 (Sync is paused) %1 (Synk är stoppad) diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index 0fc1fd09c..4a2f4a41a 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. สถานะที่ยังไม่ได้ถูกกำหนด - + Waits to start syncing. รอการเริ่มต้นซิงค์ข้อมูล - + Preparing for sync. - + Sync is running. การซิงค์ข้อมูลกำลังทำงาน - + Server is currently not available. - + Last Sync was successful. การซิงค์ข้อมูลครั้งล่าสุดเสร็จเรียบร้อยแล้ว - + Last Sync was successful, but with warnings on individual files. - + Setup Error. เกิดข้อผิดพลาดในการติดตั้ง - + User Abort. - + Sync is paused. การซิงค์ข้อมูลถูกหยุดไว้ชั่วคราว - + %1 (Sync is paused) diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index a0e4b1698..c009b8fc5 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -375,67 +375,67 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Mirall::FolderMan - + Could not reset folder state Klasör durumu sıfırılanamadı - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Eski eşitleme günlüğü '%1' bulundu ancak kaldırılamadı. Başka bir uygulama tarafından kullanılmadığından emin olun. - + Undefined State. Tanımlanmamış Durum. - + Waits to start syncing. Eşitleme başlatmak için bekleniyor. - + Preparing for sync. Eşitleme için hazırlanıyor. - + Sync is running. Eşitleme çalışıyor. - + Server is currently not available. Sunucu şu an kullanılabilir değil. - + Last Sync was successful. Son Eşitleme başarılı oldu. - + Last Sync was successful, but with warnings on individual files. Son eşitleme başarılıydı, ancak tekil dosyalarda uyarılar vardı. - + Setup Error. Kurulum Hatası. - + User Abort. Kullanıcı İptal Etti. - + Sync is paused. Eşitleme duraklatıldı. - + %1 (Sync is paused) %1 (Eşitleme duraklatıldı) @@ -1773,7 +1773,7 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Expiration Date: %1 - + Son Kullanım Tarihi: %1 diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index 472f5e70c..42e827252 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Не вдалося скинути стан теки - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Невизначений стан. - + Waits to start syncing. Очікування початку синхронізації. - + Preparing for sync. Підготовка до синхронізації - + Sync is running. Синхронізація запущена. - + Server is currently not available. Сервер наразі недоступний. - + Last Sync was successful. Остання синхронізація була успішною. - + Last Sync was successful, but with warnings on individual files. - + Setup Error. Помилка установки. - + User Abort. - + Sync is paused. - + %1 (Sync is paused) diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 118f5ee16..b76564d9b 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state 不能重置文件夹状态 - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 一个旧的同步日志 '%1' 被找到,但是不能被移除。请确定没有应用程序正在使用它。 - + Undefined State. 未知状态。 - + Waits to start syncing. 等待启动同步。 - + Preparing for sync. 准备同步。 - + Sync is running. 同步正在运行。 - + Server is currently not available. 服务器当前是不可用的。 - + Last Sync was successful. 最后一次同步成功。 - + Last Sync was successful, but with warnings on individual files. 上次同步已成功,不过一些文件出现了警告。 - + Setup Error. 安装失败 - + User Abort. 用户撤销。 - + Sync is paused. 同步已暂停。 - + %1 (Sync is paused) %1 (同步已暂停) diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index 96794d761..9a26a4fdc 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state 無法重置資料夾狀態 - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 發現較舊的同步處理日誌'%1',但無法移除。請確認沒有應用程式正在使用它。 - + Undefined State. 未知狀態 - + Waits to start syncing. 等待啟動同步 - + Preparing for sync. 正在準備同步。 - + Sync is running. 同步執行中 - + Server is currently not available. - + Last Sync was successful. 最後一次同步成功 - + Last Sync was successful, but with warnings on individual files. - + Setup Error. 安裝失敗 - + User Abort. 使用者中斷。 - + Sync is paused. 同步已暫停 - + %1 (Sync is paused) %1 (同步暫停) From bd9d5432f545507056129f7bddd82e3b88df01d3 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Thu, 7 Aug 2014 02:06:14 -0400 Subject: [PATCH 105/133] [tx-robot] updated from transifex --- admin/win/nsi/l10n/Basque.nsh | 4 ++-- admin/win/nsi/l10n/Czech.nsh | 4 ++-- admin/win/nsi/l10n/Dutch.nsh | 14 +++++++------- admin/win/nsi/l10n/Finnish.nsh | 4 ++-- admin/win/nsi/l10n/Galician.nsh | 4 ++-- admin/win/nsi/l10n/German.nsh | 4 ++-- admin/win/nsi/l10n/Italian.nsh | 4 ++-- admin/win/nsi/l10n/Japanese.nsh | 4 ++-- admin/win/nsi/l10n/Portuguese.nsh | 4 ++-- admin/win/nsi/l10n/PortugueseBR.nsh | 4 ++-- admin/win/nsi/l10n/Spanish.nsh | 4 ++-- admin/win/nsi/l10n/Turkish.nsh | 4 ++-- 12 files changed, 29 insertions(+), 29 deletions(-) diff --git a/admin/win/nsi/l10n/Basque.nsh b/admin/win/nsi/l10n/Basque.nsh index 88df22222..957251473 100644 --- a/admin/win/nsi/l10n/Basque.nsh +++ b/admin/win/nsi/l10n/Basque.nsh @@ -5,9 +5,11 @@ StrCpy $PageReinstall_NEW_Field_2 "Desinstalatu instalatu baino lehen" StrCpy $PageReinstall_NEW_Field_3 "Ez desinstalatu" StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Dagoeneko Instalatuta" StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Hautatu nola nahi duzun ${APPLICATION_NAME} instalatzea." +StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} dagoeneko instalatuta dago.\nHautatu zer operazio egin nahi duzu eta klikatu Hurrengoa jarraitzeko." StrCpy $PageReinstall_SAME_Field_2 "Gehitu/Berrinstalatu osagaiak" StrCpy $PageReinstall_SAME_Field_3 "Desinstalatu ${APPLICATION_NAME}" StrCpy $UNINSTALLER_APPDATA_TITLE "Desinstalatu ${APPLICATION_NAME}" +StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Hautatu zer mantenu aukera egin nahi duzun." StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Hasierako Menuko Lasterbidea" StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Hasierako Menuan ${APPLICATION_NAME}rako Abiarazle bizkorra sortzen." StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Mahaigaineko Lasterbidea" @@ -34,8 +36,6 @@ StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Found ${APPLICATION_EXECUTABLE} proce StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Killing ${APPLICATION_EXECUTABLE} processes." StrCpy $PageReinstall_NEW_Field_1 "An older version of ${APPLICATION_NAME} is installed on your system. It is recommended that you uninstall the current version before installing. Select the operation you want to perform and click Next to continue." StrCpy $PageReinstall_OLD_Field_1 "A newer version of ${APPLICATION_NAME} is already installed! It is not recommended that you install an older version. If you really want to install this older version, it is better to uninstall the current version first. Select the operation you want to perform and click Next to continue." -StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is already installed.\r\nSelect the operation you want to perform and click Next to continue." -StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Choose the maintenance option to perform." StrCpy $SEC_APPLICATION_DETAILS "Installing ${APPLICATION_NAME} essentials." StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Czech.nsh b/admin/win/nsi/l10n/Czech.nsh index 342d1b013..911098665 100644 --- a/admin/win/nsi/l10n/Czech.nsh +++ b/admin/win/nsi/l10n/Czech.nsh @@ -15,6 +15,8 @@ StrCpy $PageReinstall_SAME_Field_3 "Odinstalovat ${APPLICATION_NAME}" StrCpy $UNINSTALLER_APPDATA_TITLE "Odinstalovat ${APPLICATION_NAME}" StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Vyberte možnost údržby k provedení." StrCpy $SEC_APPLICATION_DETAILS "Instalují se náležitosti ${APPLICATION_NAME}." +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Stavová ikona pro Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Instaluji stavovou ikonu pro Windows Explorer" StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Zástupce v Nabídce Start" StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Přidávám zástupce pro ${APPLICATION_NAME} do Nabídky Start." StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Zástupce na ploše" @@ -42,5 +44,3 @@ StrCpy $INIT_INSTALLER_RUNNING "Instalátor je již spuštěn." StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Tento odinstalátor vyžaduje správcovská oprávnění, opakujte znovu" StrCpy $INIT_UNINSTALLER_RUNNING "Odinstalátor je již spuštěn." StrCpy $SectionGroup_Shortcuts "Zástupci" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Dutch.nsh b/admin/win/nsi/l10n/Dutch.nsh index 68c0f3ff0..07e5919b9 100644 --- a/admin/win/nsi/l10n/Dutch.nsh +++ b/admin/win/nsi/l10n/Dutch.nsh @@ -6,7 +6,7 @@ StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Het te stoppen proces is niet gev StrCpy $PageReinstall_NEW_Field_1 "Er is een oudere versie van ${APPLICATION_NAME} genstalleerd op uw systeem. geadviseerd wordt om de huidige versie te de-installeren voordat de nieuwe versie wordt genstalleerd. Selecteer de uit te voeren actie en klik op Verder om door te gaan." StrCpy $PageReinstall_NEW_Field_2 "De-installeren voor installeren" StrCpy $PageReinstall_NEW_Field_3 "Niet de-installeren" -StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Reeds geinstalleerd" +StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Al genstalleerd" StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Kies hoe u ${APPLICATION_NAME} wilt installeren." StrCpy $PageReinstall_OLD_Field_1 "Er is al een recentere versie van ${APPLICATION_NAME} genstalleerd! Installeren van een oudere versie wordt niet aangeraden. Als u echt de oudere versie wilt installeren, adviseren we de huidige versie eerst te verwijderen. Kies de actie die u wilt uitvoeren en druk op Verder om door te gaan." StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is al genstalleerd.\nKies de actie die u wilt uitvoeren en druk op Verder om door te gaan." @@ -15,6 +15,8 @@ StrCpy $PageReinstall_SAME_Field_3 "De-installeer ${APPLICATION_NAME}" StrCpy $UNINSTALLER_APPDATA_TITLE "De-installeer ${APPLICATION_NAME}" StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Kies de uit te voeren onderhoudsoptie." StrCpy $SEC_APPLICATION_DETAILS "Installeren ${APPLICATION_NAME} basis." +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Statuspictogrammen voor Windows Verkenner" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installeren statuspictogrammen voor Windows Verkenner" StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Startmenu snelkoppeling" StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Toevoegen snelkoppeling voor ${APPLICATION_NAME} aan het Startmenu." StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Werkblad snelkoppeling" @@ -27,7 +29,7 @@ StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Werkblad snelkoppeling voor ${APPLICATIO StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Snelstart snelkoppeling voor ${APPLICATION_NAME}." StrCpy $UNINSTALLER_APPDATA_SUBTITLE "Verwijder ${APPLICATION_NAME}'s data map van uw computer." StrCpy $UNINSTALLER_APPDATA_LABEL_1 "Wilt u de ${APPLICATION_NAME}'s data map verwijderen?" -StrCpy $UNINSTALLER_APPDATA_LABEL_2 "Niet aankruisen om de datamap te bewaren of aankruisen om de datamap te verwijderen." +StrCpy $UNINSTALLER_APPDATA_LABEL_2 "Niet aankruisen om de datamap te bewaren, wel aankruisen om de datamap te verwijderen." StrCpy $UNINSTALLER_APPDATA_CHECKBOX "Ja, verwijder deze data map." StrCpy $UNINSTALLER_FILE_Detail "Wegschrijven Uninstaller" StrCpy $UNINSTALLER_REGISTRY_Detail "Wegschrijven installer Registersleutels" @@ -35,12 +37,10 @@ StrCpy $UNINSTALLER_FINISHED_Detail "Klaar" StrCpy $UNINSTALL_MESSAGEBOX "Het lijkt er niet op dat ${APPLICATION_NAME} is genstalleerd in de map '$INSTDIR'.$\n$\nToch doorgaan (niet aangeraden)?" StrCpy $UNINSTALL_ABORT "De-installatie afgebroken door de gebruiker" StrCpy $INIT_NO_QUICK_LAUNCH "Snelstart snelkoppeling (N/A)" -StrCpy $INIT_NO_DESKTOP "Desktop snelkoppeleng (overschrijft huidige)" +StrCpy $INIT_NO_DESKTOP "Bureaublad snelkoppeling (overschrijft huidige)" StrCpy $UAC_ERROR_ELEVATE "Kan niet verhogen, fout:" -StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Dit installatieprogramma vereist administrator rechten. Probeer het opnieuw" +StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Dit installatieprogramma vereist beheerdersrechten. Probeer het opnieuw" StrCpy $INIT_INSTALLER_RUNNING "De Installer is al gestart." -StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Deze uninstaller vereist administrator toegang, probeer opnieuw" +StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Deze uninstaller vereist Beheerderstoegang, probeer opnieuw" StrCpy $INIT_UNINSTALLER_RUNNING "De uninstaller is al gestart." StrCpy $SectionGroup_Shortcuts "Snelkoppelingen" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Finnish.nsh b/admin/win/nsi/l10n/Finnish.nsh index 950dc35b5..1822cd2df 100644 --- a/admin/win/nsi/l10n/Finnish.nsh +++ b/admin/win/nsi/l10n/Finnish.nsh @@ -15,6 +15,8 @@ StrCpy $PageReinstall_SAME_Field_3 "Poista ${APPLICATION_NAME}" StrCpy $UNINSTALLER_APPDATA_TITLE "Poista ${APPLICATION_NAME}" StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Valitse suoritettava huoltotoimenpide." StrCpy $SEC_APPLICATION_DETAILS "Asennetaan sovelluksen ${APPLICATION_NAME} vlttmttmyyksi." +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Tilakuvakkeet Windows Explorerille" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Asennetaan tilakuvakkeet Windows Explorerille" StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Kynnist-valikon pikakuvake" StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Listn ${APPLICATION_NAME}-pikakuvake Kynnist-valikkoon." StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Typydn pikakuvake" @@ -39,8 +41,6 @@ StrCpy $INIT_INSTALLER_RUNNING "Asennusohjelma on jo k StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Tm poisto-ohjelma vaatii yllpitjn oikeudet, yrit uudelleen." StrCpy $INIT_UNINSTALLER_RUNNING "Poisto-ohjelma on jo kynniss." StrCpy $SectionGroup_Shortcuts "Pikakuvakkeet" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" StrCpy $UNINSTALLER_FILE_Detail "Writing Uninstaller" StrCpy $INIT_NO_QUICK_LAUNCH "Quick Launch Shortcut (N/A)" StrCpy $UAC_ERROR_ELEVATE "Unable to elevate, error:" diff --git a/admin/win/nsi/l10n/Galician.nsh b/admin/win/nsi/l10n/Galician.nsh index e98494436..9a23b9a2b 100644 --- a/admin/win/nsi/l10n/Galician.nsh +++ b/admin/win/nsi/l10n/Galician.nsh @@ -15,6 +15,8 @@ StrCpy $PageReinstall_SAME_Field_3 "Desinstalar ${APPLICATION_NAME}" StrCpy $UNINSTALLER_APPDATA_TITLE "Desinstalar ${APPLICATION_NAME}" StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Escolla a opcin de mantemento a realizar." StrCpy $SEC_APPLICATION_DETAILS "Instalando ${APPLICATION_NAME} esenciais." +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Iconas de estado para Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Instalando as iconas de estado para Windows Explorer" StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Acceso directo ao programa no men de inicio" StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Engadindo o acceso directo ao ${APPLICATION_NAME} no men de inicio" StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Acceso directo no escritorio" @@ -42,5 +44,3 @@ StrCpy $INIT_INSTALLER_RUNNING "O instalador xa est StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Este desinstalador require acceso de administrador, tenteo de novo" StrCpy $INIT_UNINSTALLER_RUNNING "O desinstalador xa est en execucin." StrCpy $SectionGroup_Shortcuts "Atallos" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/German.nsh b/admin/win/nsi/l10n/German.nsh index 731e4ecd0..3be69c7d8 100644 --- a/admin/win/nsi/l10n/German.nsh +++ b/admin/win/nsi/l10n/German.nsh @@ -15,6 +15,8 @@ StrCpy $PageReinstall_SAME_Field_3 "${APPLICATION_NAME} entfernen" StrCpy $UNINSTALLER_APPDATA_TITLE "${APPLICATION_NAME} entfernen" StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Whlen Sie zur Ausfhrung die Wartungsoption." StrCpy $SEC_APPLICATION_DETAILS "Installiere ${APPLICATION_NAME} Basis." +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status-Icons fr den Windows-Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installiere Status-Icons fr den Windows-Explorer" StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Installiere Verknpfung im Programmmen" StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Fge Verknpfung fr ${APPLICATION_NAME} dem Startmen hinzu." StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Desktop-Verknpfung" @@ -42,5 +44,3 @@ StrCpy $INIT_INSTALLER_RUNNING "Das Installationsprogramm wird bereits ausgef StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Das Deinstallationsprogramm erfordert Administrator-Rechte. Bitte erneut versuchen." StrCpy $INIT_UNINSTALLER_RUNNING "Das Deinstallationsprogramm wird bereits ausgefhrt." StrCpy $SectionGroup_Shortcuts "Verknpfungen" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Italian.nsh b/admin/win/nsi/l10n/Italian.nsh index f83f69f34..e51b6eace 100644 --- a/admin/win/nsi/l10n/Italian.nsh +++ b/admin/win/nsi/l10n/Italian.nsh @@ -15,6 +15,8 @@ StrCpy $PageReinstall_SAME_Field_3 "Disinstalla ${APPLICATION_NAME}" StrCpy $UNINSTALLER_APPDATA_TITLE "Disinstalla ${APPLICATION_NAME}" StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Scegli l'opzione di manutenzione da eseguire." StrCpy $SEC_APPLICATION_DETAILS "Installazione degli elementi fondamentali di ${APPLICATION_NAME}." +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Icone di stato per Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installazione delle icone di stato per Windows Explorer" StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Scorciatoia di programma menu Start" StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Aggiunta della scorciatoia per ${APPLICATION_NAME} al menu Start." StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Scorciatoia del desktop" @@ -42,5 +44,3 @@ StrCpy $INIT_INSTALLER_RUNNING "Il programma di installazione StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Il programma di disinstallazione necessita delle credenziali di amministrazione, riprova" StrCpy $INIT_UNINSTALLER_RUNNING "Il programma di disinstallazione gi in esecuzione." StrCpy $SectionGroup_Shortcuts "Scorciatoie" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Japanese.nsh b/admin/win/nsi/l10n/Japanese.nsh index 951487b8d..1eed85b98 100644 --- a/admin/win/nsi/l10n/Japanese.nsh +++ b/admin/win/nsi/l10n/Japanese.nsh @@ -15,6 +15,8 @@ StrCpy $PageReinstall_SAME_Field_3 "${APPLICATION_NAME} StrCpy $UNINSTALLER_APPDATA_TITLE "${APPLICATION_NAME} ACXg[" StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "sɂ́AeiXIvVIĂB" StrCpy $SEC_APPLICATION_DETAILS "${APPLICATION_NAME} ̏dvȃpbP[WCXg[" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "WindowsGNXv[̏ԃACR" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "WindowsGNXv[̏ԃACRCXg[" StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "X^[gj[V[gJbg" StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "X^[gj[${APPLICATION_NAME}@̃V[gJbg̒lj" StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "fXNgbvV[gJbg" @@ -42,5 +44,3 @@ StrCpy $INIT_INSTALLER_RUNNING " StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "̃ACXg[[́AǗҌKvłBACXg[ĎsĂB" StrCpy $INIT_UNINSTALLER_RUNNING "ACXg[[́AłɋNĂ܂B" StrCpy $SectionGroup_Shortcuts "V[gJbg" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Portuguese.nsh b/admin/win/nsi/l10n/Portuguese.nsh index 147cbd221..c39c93d52 100644 --- a/admin/win/nsi/l10n/Portuguese.nsh +++ b/admin/win/nsi/l10n/Portuguese.nsh @@ -15,6 +15,8 @@ StrCpy $PageReinstall_SAME_Field_3 "Desinstalar ${APPLICATION_NAME}" StrCpy $UNINSTALLER_APPDATA_TITLE "Desinstalar ${APPLICATION_NAME}" StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Escolha a opção de manutenção a fazer." StrCpy $SEC_APPLICATION_DETAILS "A instalar o essencial de ${APPLICATION_NAME}." +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Icons de estado para Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "A instalar icons de estado para Windows Explorer" StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Atalho do progama no Menu Inicial" StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "A adicionar o atalho de ${APPLICATION_NAME} ao Menu Inicial." StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Atalho da área de trabalho" @@ -42,5 +44,3 @@ StrCpy $INIT_INSTALLER_RUNNING "O instalador já está a correr." StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Este desinstalador precisa de acesso de administrador; tente novamente" StrCpy $INIT_UNINSTALLER_RUNNING "O desinstalador já está a correr." StrCpy $SectionGroup_Shortcuts "Atalhos" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/PortugueseBR.nsh b/admin/win/nsi/l10n/PortugueseBR.nsh index 02e6b54cd..747858f74 100644 --- a/admin/win/nsi/l10n/PortugueseBR.nsh +++ b/admin/win/nsi/l10n/PortugueseBR.nsh @@ -15,6 +15,8 @@ StrCpy $PageReinstall_SAME_Field_3 "Desinstalar ${APPLICATION_NAME}" StrCpy $UNINSTALLER_APPDATA_TITLE "Desinstalar ${APPLICATION_NAME}" StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Escolha a opo de realizar manuteno." StrCpy $SEC_APPLICATION_DETAILS "Instalando ${APPLICATION_NAME} fundamentos." +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "cones de status para Windows Explorer" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Instalando os cones de status para o Windows Explorer" StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Menu Iniciar Programa Atalho" StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Adicionando atalho para ${APPLICATION_NAME} ao Menu Iniciar." StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Atalho Desktop" @@ -42,5 +44,3 @@ StrCpy $INIT_INSTALLER_RUNNING "O instalador j StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Este desinstalador requer acesso de administrador, tente novamente" StrCpy $INIT_UNINSTALLER_RUNNING "O desinstalador j est em execuo." StrCpy $SectionGroup_Shortcuts "Atalhos" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Spanish.nsh b/admin/win/nsi/l10n/Spanish.nsh index 9a51def37..6c6208808 100644 --- a/admin/win/nsi/l10n/Spanish.nsh +++ b/admin/win/nsi/l10n/Spanish.nsh @@ -15,6 +15,8 @@ StrCpy $PageReinstall_SAME_Field_3 "Desinstalar ${APPLICATION_NAME}" StrCpy $UNINSTALLER_APPDATA_TITLE "Desinstalar ${APPLICATION_NAME}" StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Elija la opcion de mantenimiento a realizar." StrCpy $SEC_APPLICATION_DETAILS "Instalando ${APPLICATION_NAME} esenciales." +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "conos de estado para el Explorador de Windows" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Instalando conos de estado para el Explorador de Windows" StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Acceso Directo al Programa Men de Inicio" StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Aadiendo accesos directos para ${APPLICATION_NAME} en el Men de Inicio." StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Acceso directo de Escritorio" @@ -42,5 +44,3 @@ StrCpy $INIT_INSTALLER_RUNNING "El instalador ya se encuentra en ejecuci StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "El desinstalador requiere acceso administrativo, intente de nuevo" StrCpy $INIT_UNINSTALLER_RUNNING "El desinstalador ya se encuentra en ejecucin." StrCpy $SectionGroup_Shortcuts "Accesos Directos" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" diff --git a/admin/win/nsi/l10n/Turkish.nsh b/admin/win/nsi/l10n/Turkish.nsh index 98881edfe..1d52153d3 100644 --- a/admin/win/nsi/l10n/Turkish.nsh +++ b/admin/win/nsi/l10n/Turkish.nsh @@ -15,6 +15,8 @@ StrCpy $PageReinstall_SAME_Field_3 "${APPLICATION_NAME} uygulamas StrCpy $UNINSTALLER_APPDATA_TITLE "${APPLICATION_NAME} uygulamasn kaldr" StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Yapmak istediiniz bakm ilemini sein." StrCpy $SEC_APPLICATION_DETAILS "${APPLICATION_NAME} gereklilikleri ykleniyor." +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Windows Gezgini iin durum simgeleri" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Windows Gezgini iin durum simgeleri ykleniyor" StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Balat Mens Program Ksayolu" StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "${APPLICATION_NAME} iin Balat Mens'ne ksayol ekleniyor." StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Masast Ksayolu" @@ -42,5 +44,3 @@ StrCpy $INIT_INSTALLER_RUNNING "Y StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Bu kaldrc ynetici eriimi gerektiriyor, yeniden deneyin" StrCpy $INIT_UNINSTALLER_RUNNING "Kaldrc zaten alyor." StrCpy $SectionGroup_Shortcuts "Ksayollar" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" From 22c1629dd318ad150d7004d7da3e370b544c33d1 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Thu, 7 Aug 2014 10:14:14 +0200 Subject: [PATCH 106/133] SyncEngine: Keep csync_journal with proper values for fileId and remotePerm Before this patch, we had a lot of empty rows because we created the SyncFileItems with the wrong(=local) data. --- csync/src/csync_update.c | 1 + csync/tests/ownCloud/t7.pl | 22 ++++++++++++ src/mirall/syncengine.cpp | 52 ++++++++++++++++++++++------ src/mirall/syncengine.h | 2 ++ src/mirall/syncjournaldb.cpp | 13 ++++--- src/mirall/syncjournalfilerecord.cpp | 1 + 6 files changed, 77 insertions(+), 14 deletions(-) diff --git a/csync/src/csync_update.c b/csync/src/csync_update.c index 2fab73010..36270e36b 100644 --- a/csync/src/csync_update.c +++ b/csync/src/csync_update.c @@ -269,6 +269,7 @@ static int _csync_detect_update(CSYNC *ctx, const char *file, } if (metadata_differ) { /* file id or permissions has changed. Which means we need to update them in the DB. */ + CSYNC_LOG(CSYNC_LOG_PRIORITY_TRACE, "Need to update metadata for: %s", path); st->should_update_etag = true; } st->instruction = CSYNC_INSTRUCTION_NONE; diff --git a/csync/tests/ownCloud/t7.pl b/csync/tests/ownCloud/t7.pl index 837c4da28..3288d667e 100755 --- a/csync/tests/ownCloud/t7.pl +++ b/csync/tests/ownCloud/t7.pl @@ -31,6 +31,14 @@ use strict; print "Hello, this is t7, a tester for syncing of files in read only directory\n"; +# Check if the expected rows in the DB are non-empty. Note that in some cases they might be, then we cannot use this function +# https://github.com/owncloud/mirall/issues/2038 +sub assertCsyncJournalOk { + my $path = $_[0]; + my $cmd = 'sqlite3 ' . $path . '.csync_journal.db "SELECT count(*) from metadata where length(remotePerm) == 0 or length(fileId) == 0 or length(md5) == 0"'; + my $result = `$cmd`; + assert($result == "0"); +} # IMPORTANT NOTE : print "This test use the OWNCLOUD_TEST_PERMISSIONS environement variable and _PERM_xxx_ on filenames to set the permission. "; @@ -63,6 +71,7 @@ glob_put( "$tmpdir/normalFile_PERM_WVND_.data", "readonlyDirectory_PERM_M_/subdi csync(); +assertCsyncJournalOk(localDir()); assertLocalAndRemoteDir( '', 0); system("sleep 1"); #make sure changes have different mtime @@ -99,6 +108,7 @@ createLocalFile( localDir() . "normalDirectory_PERM_CKDNV_/newFile_PERM_WDNV_.da #do the sync csync(); +assertCsyncJournalOk(localDir()); #1. @@ -149,6 +159,7 @@ printInfo( "remove the read only directory" ); # -> It must be recovered system("rm -r " . localDir().'readonlyDirectory_PERM_M_' ); csync(); +assertCsyncJournalOk(localDir()); assert( -e localDir(). 'readonlyDirectory_PERM_M_/cannotBeRemoved_PERM_WVN_.data' ); assert( -e localDir(). 'readonlyDirectory_PERM_M_/subdir_PERM_CK_/subsubdir_PERM_CKDNV_/normalFile_PERM_WVND_.data' ); assertLocalAndRemoteDir( '', 0); @@ -156,15 +167,23 @@ assertLocalAndRemoteDir( '', 0); ####################################################################### printInfo( "move a directory in a outside read only folder" ); +system("sqlite3 " . localDir().'.csync_journal.db .dump'); + #Missing directory should be restored #new directory should be uploaded system("mv " . localDir().'readonlyDirectory_PERM_M_/subdir_PERM_CK_ ' . localDir().'normalDirectory_PERM_CKDNV_/subdir_PERM_CKDNV_' ); # two syncs may be necessary for now csync(); +system("sqlite3 " . localDir().'.csync_journal.db .dump'); +printInfo("CRAAAAAAAP"); +#assertCsyncJournalOk(localDir()); <-- some fileId entries are empty so we don't check the DB here. See https://github.com/owncloud/mirall/issues/2038 csync(); +system("sqlite3 " . localDir().'.csync_journal.db .dump'); +assertCsyncJournalOk(localDir()); # old name restored +assert( -e localDir(). 'readonlyDirectory_PERM_M_/subdir_PERM_CK_/subsubdir_PERM_CKDNV_/' ); assert( -e localDir(). 'readonlyDirectory_PERM_M_/subdir_PERM_CK_/subsubdir_PERM_CKDNV_/normalFile_PERM_WVND_.data' ); # new still exist @@ -192,7 +211,9 @@ system("mv " . localDir().'normalDirectory_PERM_CKDNV_/subdir_PERM_CKDNV_ ' . lo # two syncs may be necessary for now csync(); +assertCsyncJournalOk(localDir()); csync(); +assertCsyncJournalOk(localDir()); #1. # old name restored @@ -213,6 +234,7 @@ system("rm -r " . localDir(). "readonlyDirectory_PERM_M_/moved_PERM_CK_"); assertLocalAndRemoteDir( '', 0); +system("sqlite3 " . localDir().'.csync_journal.db .dump'); cleanup(); diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index 33708111a..c68be7477 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -21,6 +21,7 @@ #include "syncjournaldb.h" #include "syncjournalfilerecord.h" #include "creds/abstractcredentials.h" +#include "csync_util.h" #ifdef Q_OS_WIN #include @@ -262,12 +263,26 @@ int SyncEngine::treewalkRemote( TREE_WALK_FILE* file, void *data ) int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) { if( ! file ) return -1; - SyncFileItem item; - item._file = QString::fromUtf8( file->path ); + + QString fileUtf8 = QString::fromUtf8( file->path ); + + // Gets a default-contructed SyncFileItem or the one from the first walk (=local walk) + SyncFileItem item = _syncItemMap.value(fileUtf8); + item._file = fileUtf8; item._originalFile = item._file; - item._instruction = file->instruction; - item._direction = SyncFileItem::None; - item._fileId = file->file_id; + + if (item._instruction == CSYNC_INSTRUCTION_NONE) { + item._instruction = file->instruction; + item._modtime = file->modtime; + } else { + if (file->instruction != CSYNC_INSTRUCTION_NONE) { + Q_ASSERT(!"Instructions are both unequal NONE"); + } + } + + if (file->file_id && strlen(file->file_id) > 0) { + item._fileId = file->file_id; + } if (file->directDownloadUrl) { item._directDownloadUrl = QString::fromUtf8( file->directDownloadUrl ); } @@ -277,6 +292,7 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) if (file->remotePerm && file->remotePerm[0]) { item._remotePerm = QByteArray(file->remotePerm); } + item._should_update_etag = item._should_update_etag || file->should_update_etag; // record the seen files to be able to clean the journal later _seenFiles.insert(item._file); @@ -306,12 +322,16 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) /* No error string */ } item._isDirectory = file->type == CSYNC_FTW_TYPE_DIR; - item._modtime = file->modtime; + + // The etag is already set in the previous sync phases somewhere. Maybe we should remove it there + // and do it here so we have a consistent state about which tree stores information from which source. item._etag = file->etag; item._size = file->size; - item._inode = file->inode; - item._should_update_etag = file->should_update_etag; + if (!remote) { + item._inode = file->inode; + } + switch( file->type ) { case CSYNC_FTW_TYPE_DIR: item._type = SyncFileItem::Directory; @@ -329,11 +349,15 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) SyncFileItem::Direction dir; int re = 0; - switch(file->instruction) { case CSYNC_INSTRUCTION_NONE: if (file->should_update_etag && !item._isDirectory) { // Update the database now already (new fileid or etag or remotePerm) + // Those are files that were detected as "resolved conflict". + // They should have been a conflict because they both were new, or both + // had their local mtime or remote etag modified, but the size and mtime + // is the same on the server. This typically happen when the database is removed. + // Nothing will be done for those file, but we still need to update the database. _journal->setFileRecord(SyncJournalFileRecord(item, _localPath + item._file)); item._should_update_etag = false; } @@ -402,7 +426,7 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) item.log._other_modtime = file->other.modtime; item.log._other_size = file->other.size; - _syncedItems.append(item); + _syncItemMap.insert(fileUtf8, item); emit syncItemDiscovered(item); return re; @@ -446,6 +470,7 @@ void SyncEngine::startSync() } _syncedItems.clear(); + _syncItemMap.clear(); _needsUpdate = false; csync_resume(_csync_ctx); @@ -553,6 +578,9 @@ void SyncEngine::slotUpdateFinished(int updateResult) qDebug() << "Error in remote treewalk."; } + // The map was used for merging trees, convert it to a list: + _syncedItems = _syncItemMap.values().toVector(); + // Adjust the paths for the renames. for (SyncFileItemVector::iterator it = _syncedItems.begin(); it != _syncedItems.end(); ++it) { @@ -762,10 +790,12 @@ void SyncEngine::checkForPermission() break; } if (!it->_isDirectory && !perms.contains("W")) { qDebug() << "checkForPermission: RESTORING" << it->_file; + it->_should_update_etag = true; it->_instruction = CSYNC_INSTRUCTION_CONFLICT; it->_direction = SyncFileItem::Down; it->_isRestoration = true; // take the things to write to the db from the "other" node (i.e: info from server) + // ^^ FIXME This might not be needed anymore since we merge the info in treewalkFile it->_modtime = it->log._other_modtime; it->_fileId = it->log._other_fileId; it->_etag = it->log._other_etag; @@ -781,6 +811,7 @@ void SyncEngine::checkForPermission() break; } if (!perms.contains("D")) { qDebug() << "checkForPermission: RESTORING" << it->_file; + it->_should_update_etag = true; it->_instruction = CSYNC_INSTRUCTION_NEW; it->_direction = SyncFileItem::Down; it->_isRestoration = true; @@ -800,6 +831,7 @@ void SyncEngine::checkForPermission() } qDebug() << "checkForPermission: RESTORING" << it->_file; + it->_should_update_etag = true; it->_instruction = CSYNC_INSTRUCTION_NEW; it->_direction = SyncFileItem::Down; diff --git a/src/mirall/syncengine.h b/src/mirall/syncengine.h index 34d919a88..c939c331a 100644 --- a/src/mirall/syncengine.h +++ b/src/mirall/syncengine.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -106,6 +107,7 @@ private: void finalize(); static bool _syncRunning; //true when one sync is running somewhere (for debugging) + QMap _syncItemMap; SyncFileItemVector _syncedItems; CSYNC *_csync_ctx; diff --git a/src/mirall/syncjournaldb.cpp b/src/mirall/syncjournaldb.cpp index 63b00e7a8..c1f1aa84b 100644 --- a/src/mirall/syncjournaldb.cpp +++ b/src/mirall/syncjournaldb.cpp @@ -833,10 +833,15 @@ void SyncJournalDb::avoidRenamesOnNextSync(const QString& path) query.bindValue(0, path); query.bindValue(1, path); if( !query.exec() ) { - qDebug() << "SQL error in avoidRenamesOnNextSync: "<< query.lastError().text(); + qDebug() << Q_FUNC_INFO << "SQL error in avoidRenamesOnNextSync: "<< query.lastError().text(); } else { - qDebug() << query.executedQuery() << path; + qDebug() << Q_FUNC_INFO << query.executedQuery() << path << "(" << query.numRowsAffected() << " rows)"; } + + // We also need to remove the ETags so the update phase refreshes the directory paths + // on the next sync + locker.unlock(); + avoidReadFromDbOnNextSync(path); } void SyncJournalDb::avoidReadFromDbOnNextSync(const QString& fileName) @@ -856,9 +861,9 @@ void SyncJournalDb::avoidReadFromDbOnNextSync(const QString& fileName) query.prepare("UPDATE metadata SET md5='_invalid_' WHERE ? LIKE(path||'/%') AND type == 2"); // CSYNC_FTW_TYPE_DIR == 2 query.bindValue(0, fileName); if( !query.exec() ) { - qDebug() << "SQL error in avoidRenamesOnNextSync: "<< query.lastError().text(); + qDebug() << Q_FUNC_INFO << "SQL error in avoidRenamesOnNextSync: "<< query.lastError().text(); } else { - qDebug() << query.executedQuery() << fileName; + qDebug() << Q_FUNC_INFO << query.executedQuery() << fileName << "(" << query.numRowsAffected() << " rows)"; } } diff --git a/src/mirall/syncjournalfilerecord.cpp b/src/mirall/syncjournalfilerecord.cpp index f29ec8876..dbc495d63 100644 --- a/src/mirall/syncjournalfilerecord.cpp +++ b/src/mirall/syncjournalfilerecord.cpp @@ -77,6 +77,7 @@ SyncJournalFileRecord::SyncJournalFileRecord(const SyncFileItem &item, const QSt _inode = sb.st_ino; } #endif + qDebug() << Q_FUNC_INFO << localFileName << "Retrieved inode " << _inode << "(previous item inode: " << item._inode << ")"; } From 6d24bd036169bb1bd819aac7ecb8d5e1bebf686e Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 7 Aug 2014 12:10:32 +0200 Subject: [PATCH 107/133] journaldb: Fix that fileid might be missing in the db When recovering from a inalid move operation, we call avoidReadFromDbOnNextSync. This will remove the fileid from the db so we don't detect a move on the next sync. But we want the next sync to fetch the file id again, and this can only happen if we don't read them from the db and do the actual PROPFIND, this is done by avoidReadFromDbOnNextSync However, if there is propagation in that source directory later, it will overide the invalid etag with the real one and we will not uissue the PROPFIND to fetch the fileid. We must therefore also protect the future write to the DB when calling avoidReadFromDbOnNextSync --- csync/tests/ownCloud/t7.pl | 13 ++++++------- src/mirall/syncjournaldb.cpp | 20 +++++++++++++++++++- src/mirall/syncjournaldb.h | 13 ++++++------- 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/csync/tests/ownCloud/t7.pl b/csync/tests/ownCloud/t7.pl index 3288d667e..3bee934e3 100755 --- a/csync/tests/ownCloud/t7.pl +++ b/csync/tests/ownCloud/t7.pl @@ -35,7 +35,10 @@ print "Hello, this is t7, a tester for syncing of files in read only directory\n # https://github.com/owncloud/mirall/issues/2038 sub assertCsyncJournalOk { my $path = $_[0]; - my $cmd = 'sqlite3 ' . $path . '.csync_journal.db "SELECT count(*) from metadata where length(remotePerm) == 0 or length(fileId) == 0 or length(md5) == 0"'; + + # FIXME: should test also remoteperm but it's not working with owncloud6 + # my $cmd = 'sqlite3 ' . $path . '.csync_journal.db "SELECT count(*) from metadata where length(remotePerm) == 0 or length(fileId) == 0"'; + my $cmd = 'sqlite3 ' . $path . '.csync_journal.db "SELECT count(*) from metadata where length(fileId) == 0"'; my $result = `$cmd`; assert($result == "0"); } @@ -173,11 +176,8 @@ system("sqlite3 " . localDir().'.csync_journal.db .dump'); #new directory should be uploaded system("mv " . localDir().'readonlyDirectory_PERM_M_/subdir_PERM_CK_ ' . localDir().'normalDirectory_PERM_CKDNV_/subdir_PERM_CKDNV_' ); -# two syncs may be necessary for now +# two syncs may be necessary for now: https://github.com/owncloud/mirall/issues/2038 csync(); -system("sqlite3 " . localDir().'.csync_journal.db .dump'); -printInfo("CRAAAAAAAP"); -#assertCsyncJournalOk(localDir()); <-- some fileId entries are empty so we don't check the DB here. See https://github.com/owncloud/mirall/issues/2038 csync(); system("sqlite3 " . localDir().'.csync_journal.db .dump'); assertCsyncJournalOk(localDir()); @@ -209,9 +209,8 @@ system("mv " . localDir().'readonlyDirectory_PERM_M_/subdir_PERM_CK_ ' . localDi #2. move a directory from read to read only (move the directory from previous step) system("mv " . localDir().'normalDirectory_PERM_CKDNV_/subdir_PERM_CKDNV_ ' . localDir().'readonlyDirectory_PERM_M_/moved_PERM_CK_' ); -# two syncs may be necessary for now +# two syncs may be necessary for now: https://github.com/owncloud/mirall/issues/2038 csync(); -assertCsyncJournalOk(localDir()); csync(); assertCsyncJournalOk(localDir()); diff --git a/src/mirall/syncjournaldb.cpp b/src/mirall/syncjournaldb.cpp index c1f1aa84b..b51083d4f 100644 --- a/src/mirall/syncjournaldb.cpp +++ b/src/mirall/syncjournaldb.cpp @@ -297,6 +297,7 @@ void SyncJournalDb::close() _db.close(); _db = QSqlDatabase(); // avoid the warning QSqlDatabasePrivate::removeDatabase: connection [...] still in use QSqlDatabase::removeDatabase(_dbFile); + _avoidReadFromDbOnNextSyncFilter.clear(); } @@ -372,9 +373,23 @@ qint64 SyncJournalDb::getPHash(const QString& file) const return h; } -bool SyncJournalDb::setFileRecord( const SyncJournalFileRecord& record ) +bool SyncJournalDb::setFileRecord( const SyncJournalFileRecord& _record ) { + SyncJournalFileRecord record = _record; QMutexLocker locker(&_mutex); + + if (!_avoidReadFromDbOnNextSyncFilter.isEmpty()) { + // If we are a directory that should not be read from db next time, don't write the etag + QString prefix = record._path + "/"; + foreach(const QString &it, _avoidReadFromDbOnNextSyncFilter) { + if (it.startsWith(prefix)) { + qDebug() << "Filtered writing the etag of" << prefix << "because it is a prefix of" << it; + record._etag = "_invalid_"; + break; + } + } + } + qlonglong phash = getPHash(record._path); if( checkConnect() ) { QByteArray arr = record._path.toUtf8(); @@ -865,6 +880,9 @@ void SyncJournalDb::avoidReadFromDbOnNextSync(const QString& fileName) } else { qDebug() << Q_FUNC_INFO << query.executedQuery() << fileName << "(" << query.numRowsAffected() << " rows)"; } + + // Prevent future overwrite of the etag for this sync + _avoidReadFromDbOnNextSyncFilter.append(fileName); } void SyncJournalDb::commit(const QString& context, bool startTrans) diff --git a/src/mirall/syncjournaldb.h b/src/mirall/syncjournaldb.h index bf11f11c6..1f12a1c84 100644 --- a/src/mirall/syncjournaldb.h +++ b/src/mirall/syncjournaldb.h @@ -99,13 +99,6 @@ public: */ bool isUpdateFrom_1_5(); - - - -signals: - -public slots: - private: qint64 getPHash(const QString& ) const; bool updateDatabaseStructure(); @@ -132,6 +125,12 @@ private: QScopedPointer _deleteFileRecordPhash; QScopedPointer _deleteFileRecordRecursively; QScopedPointer _blacklistQuery; + + /* This is the list of paths we called avoidReadFromDbOnNextSync on. + * It means that they should not be written to the DB in any case since doing + * that would write the etag and would void the purpose of avoidReadFromDbOnNextSync + */ + QList _avoidReadFromDbOnNextSyncFilter; }; } // namespace Mirall From e71ce01f90f99ce70bb5bce04b05d59ceebb6456 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 7 Aug 2014 12:13:40 +0200 Subject: [PATCH 108/133] tests: Some more tests with local files and shares. --- csync/tests/ownCloud/t5.pl | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/csync/tests/ownCloud/t5.pl b/csync/tests/ownCloud/t5.pl index 4cb7e6c8c..b764e6d79 100755 --- a/csync/tests/ownCloud/t5.pl +++ b/csync/tests/ownCloud/t5.pl @@ -44,9 +44,9 @@ print "Created share with id <$shareId>\n"; assert( $shareId > 0 ); -my $sharee = { user => configValue('share_user'), +my $sharee = { user => configValue('share_user'), passwd => configValue('share_passwd'), - url => server() }; + url => server() }; # put a couple of files into the shared directory in the sharer account glob_put( 'sharing/*', $share_dir, $sharee); @@ -67,6 +67,34 @@ createLocalFile(localDir() . "$share_dir/foobar.txt", 8094 ); csync( ); assertLocalAndRemoteDir( '', 0 ); +# now move the file locally and sync +printInfo("Move the file locally and sync."); +my $cmd = "mv " . localDir() . "$share_dir/foobar.txt ". localDir() . "$share_dir/moved_file.txt"; +system( $cmd ); +csync( ); +assertLocalAndRemoteDir( '', 0 ); + +# now create aother directory and redo +printInfo("Create another directory and file"); +my $cmd = "mkdir ". localDir() . "$share_dir/newDir"; +system( $cmd ); +createLocalFile( localDir() . "$share_dir/newDir/a_file.bin", 5321 ); +csync( ); +assertLocalAndRemoteDir( '', 0 ); + +# Remove the local file again +printInfo("Remove the local file again."); +unlink( localDir() . "$share_dir/newDir/a_file.bin" ); +csync( ); +assertLocalAndRemoteDir( '', 0 ); + +# Remove the local directory again +printInfo("Remove the local directory again."); +rmdir( localDir() . "$share_dir/newDir" ); +csync( ); +assertLocalAndRemoteDir( '', 0 ); + + printInfo("Remove a Share."); removeShare($shareId, $share_dir); From d8a8b53fc962ff5a47806389c874e63577f5e9c2 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 7 Aug 2014 14:07:08 +0200 Subject: [PATCH 109/133] SocketAPI: Also update view when paused. --- src/mirall/socketapi.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 65ba23c8e..60b70f1dc 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -272,6 +272,7 @@ void SocketApi::slotUpdateFolderView(const QString& alias) // do only send UPDATE_VIEW for a couple of status if( f->syncResult().status() == SyncResult::SyncPrepare || f->syncResult().status() == SyncResult::Success || + f->syncResult().status() == SyncResult::Paused || f->syncResult().status() == SyncResult::Problem || f->syncResult().status() == SyncResult::Error || f->syncResult().status() == SyncResult::SetupError ) { From 21783ecef7bde6a9d286b49161e5163f8eb6b5fd Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 7 Aug 2014 14:27:27 +0200 Subject: [PATCH 110/133] SyncEngine: fix permission detection of moves Two problems: - "M" was used instead of "V" - The extraction of the parent folder of the destination was wrong --- src/mirall/syncengine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index c68be7477..aef43e926 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -846,7 +846,7 @@ void SyncEngine::checkForPermission() case CSYNC_INSTRUCTION_RENAME: { int slashPos = it->_renameTarget.lastIndexOf('/'); - const QString parentDir = slashPos <= 0 ? "" : it->_renameTarget.mid(0, slashPos-1); + const QString parentDir = slashPos <= 0 ? "" : it->_renameTarget.mid(0, slashPos); const QByteArray destPerms = getPermissions(parentDir); const QByteArray filePerms = getPermissions(it->_file); @@ -869,7 +869,7 @@ void SyncEngine::checkForPermission() bool sourceOK = true; if (!filePerms.isNull() && ((isRename && !filePerms.contains("N")) - || (!isRename && !filePerms.contains("M")))) { + || (!isRename && !filePerms.contains("V")))) { // We are not allowed to move or rename this file sourceOK = false; From 6cb813469098dc6025c8adab37425802250264f6 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 7 Aug 2014 14:58:06 +0200 Subject: [PATCH 111/133] SocketAPI: Use Win32 function SHChangeNotify to notify Explorer. --- src/mirall/socketapi.cpp | 6 +++++- src/mirall/utility.cpp | 11 +++++++++++ src/mirall/utility.h | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 60b70f1dc..1f5f02a61 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -276,7 +276,11 @@ void SocketApi::slotUpdateFolderView(const QString& alias) f->syncResult().status() == SyncResult::Problem || f->syncResult().status() == SyncResult::Error || f->syncResult().status() == SyncResult::SetupError ) { - broadcastMessage(QLatin1String("UPDATE_VIEW"), f->path() ); + if( Utility::isWindows() ) { + Utility::winShellChangeNotify( f->path() ); + } else { + broadcastMessage(QLatin1String("UPDATE_VIEW"), f->path() ); + } } } } diff --git a/src/mirall/utility.cpp b/src/mirall/utility.cpp index 1b4956fc9..9b47c8920 100644 --- a/src/mirall/utility.cpp +++ b/src/mirall/utility.cpp @@ -361,6 +361,17 @@ bool Utility::isLinux() #endif } +void Utility::winShellChangeNotify( const QString& path ) +{ +#ifdef Q_OS_WIN + SHChangeNotify(SHCNE_UPDATEITEM, SHCNF_PATH | SHCNF_FLUSHNOWAIT, + reinterpret_cast(QDir::toNativeSeparators(path).utf16()), NULL ); +#else + qDebug() << Q_FUNC_INFO << " is not implemented on non Windows systems."; +#endif +} + + static const char STOPWATCH_END_TAG[] = "_STOPWATCH_END"; void Utility::StopWatch::start() diff --git a/src/mirall/utility.h b/src/mirall/utility.h index 0d46146b9..ac451cf97 100644 --- a/src/mirall/utility.h +++ b/src/mirall/utility.h @@ -59,7 +59,7 @@ namespace Utility OWNCLOUDSYNC_EXPORT QDateTime qDateTimeFromTime_t(qint64 t); OWNCLOUDSYNC_EXPORT qint64 qDateTimeToTime_t(const QDateTime &t); - + OWNCLOUDSYNC_EXPORT void winShellChangeNotify( const QString& path ); /** * @brief Convert milliseconds to HMS string. From c3f8e099f463d4f78f109ee04f4b780e732bc3a2 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 7 Aug 2014 15:45:17 +0200 Subject: [PATCH 112/133] tests: Never stumble over an already existing test share dir. --- csync/tests/ownCloud/ownCloud/Test.pm | 30 +++++++++++++++++++++++++-- csync/tests/ownCloud/t5.pl | 10 ++++++--- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/csync/tests/ownCloud/ownCloud/Test.pm b/csync/tests/ownCloud/ownCloud/Test.pm index dafa5c9c0..e47bffd14 100644 --- a/csync/tests/ownCloud/ownCloud/Test.pm +++ b/csync/tests/ownCloud/ownCloud/Test.pm @@ -61,7 +61,7 @@ our $infoCnt = 1; our %config; @ISA = qw(Exporter); -@EXPORT = qw( initTesting createRemoteDir createLocalDir cleanup csync +@EXPORT = qw( initTesting createRemoteDir removeRemoteDir createLocalDir cleanup csync assertLocalDirs assertLocalAndRemoteDir glob_put put_to_dir putToDirLWP localDir remoteDir localCleanup createLocalFile md5OfFile remoteCleanup server initLocalDir initRemoteDir moveRemoteFile @@ -180,6 +180,32 @@ sub initLocalDir mkdir ($localDir, 0777 ); } +sub removeRemoteDir($;$) +{ + my ($dir, $optionsRef) = @_; + + my $url = testDirUrl() . $dir; + + if( $optionsRef && $optionsRef->{user} && $optionsRef->{passwd} ) { + $d->credentials( -url=> $owncloud, -realm=>"ownCloud", + -user=> $optionsRef->{user}, + -pass=> $optionsRef->{passwd} ); + if( $optionsRef->{url} ) { + $url = $optionsRef->{url} . $dir; + } + } + + $d->open( $owncloud ); + print $d->message . "\n"; + + my $re = $d->delete( $url ); + if( $re == 0 ) { + print "Failed to remove directory <$url>:" . $d->message() ."\n"; + } + + return $re; +} + sub createRemoteDir(;$$) { my ($dir, $optionsRef) = @_; @@ -200,7 +226,7 @@ sub createRemoteDir(;$$) my $re = $d->mkcol( $url ); if( $re == 0 ) { - print "Failed to create directory <$url>: $d->message() \n"; + print "Failed to create directory <$url>: " . $d->message() ."\n"; exit 1; } $d->open( $url ); diff --git a/csync/tests/ownCloud/t5.pl b/csync/tests/ownCloud/t5.pl index b764e6d79..dbc60159f 100755 --- a/csync/tests/ownCloud/t5.pl +++ b/csync/tests/ownCloud/t5.pl @@ -37,6 +37,13 @@ initTesting(); csync(); my $share_dir = "share_source"; +my $sharee = { user => configValue('share_user'), + passwd => configValue('share_passwd'), + url => server() }; + +# first remove a possibly left over share dir. +printInfo( "Remove possibly left over share dir" ); +removeRemoteDir( $share_dir, $sharee ); printInfo( "Create a share." ); my $shareId = createShare( $share_dir, 31 ); @@ -44,9 +51,6 @@ print "Created share with id <$shareId>\n"; assert( $shareId > 0 ); -my $sharee = { user => configValue('share_user'), - passwd => configValue('share_passwd'), - url => server() }; # put a couple of files into the shared directory in the sharer account glob_put( 'sharing/*', $share_dir, $sharee); From fa8f6f91c46b093b74581a59f65b3d71a521609c Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 7 Aug 2014 15:54:06 +0200 Subject: [PATCH 113/133] NSIS: Add a packaging routine for the overlay icons --- cmake/modules/NSIS.template.in | 86 +++++++++++++++++++++++++++++----- 1 file changed, 74 insertions(+), 12 deletions(-) diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in index 530b772d9..aaa1956d5 100644 --- a/cmake/modules/NSIS.template.in +++ b/cmake/modules/NSIS.template.in @@ -277,10 +277,60 @@ FunctionEnd no_process_${processName}_to_end: !macroend +!macro StartExplorerAsUserMacro un + Function ${un}StartExplorerAsUser + Exec "$WINDIR\explorer.exe" + FunctionEnd +!macroend + +!insertmacro StartExplorerAsUserMacro "" +!insertmacro StartExplorerAsUserMacro "un." + +!macro StartExplorer un + DetailPrint "Starting Explorer..." + ${UAC.CallFunctionAsUser} ${un}StartExplorerAsUser +!macroend + +!macro StopExplorer + DetailPrint "Terminated Explorer..." + FindWindow $R0 "Shell_TrayWnd" + SendMessage $R0 0x5B4 0 0 + #Processes::KillProcess explorer.exe + Sleep 1500 + DetailPrint "Continuing..." +!macroend + Function EnsureOwncloudShutdown !insertmacro CheckAndConfirmEndProcess "${APPLICATION_EXECUTABLE}" FunctionEnd +Function RegisterShellExt + SetOutPath "$INSTDIR\shellext" + ${If} ${RunningX64} + ExecWait '"$SYSDIR\regsvr32.exe" /s "$OUTDIR\OCOverlays_x64.dll"' + ${Else} + ExecWait '"$SYSDIR\regsvr32.exe" /s "$OUTDIR\OCOverlays_x86.dll"' + ${EndIf} +FunctionEnd + +Function Un.RegisterShellExt + ${If} ${RunningX64} + ExecWait '"$SYSDIR\regsvr32.exe" /u /s "$INSTDIR\shellext\OCOverlays_x64.dll"' + ${Else} + ExecWait '"$SYSDIR\regsvr32.exe" /u /s "$INSTDIR\shellext\OCOverlays_x86.dll"' + ${EndIf} +FunctionEnd + +Function InstallRedistributables + ${If} ${RunningX64} + ExecWait '"$OUTDIR\vcredist_x64.exe" /install /quiet' + ${Else} + ExecWait '"$OUTDIR\vcredist_x86.exe" /install /quiet' + ${EndIf} + Delete "$OUTDIR\vcredist_x86.exe" + Delete "$OUTDIR\vcredist_x64.exe" +FunctionEnd + ############################################################################## # # # RE-INSTALLER FUNCTIONS # @@ -438,7 +488,7 @@ Section "${APPLICATION_NAME}" SEC_APPLICATION ;QtKeyChain stuff File "${MING_BIN}\libqt5keychain.dll" - ; ownCloud plugin + ;ownCloud plugin File "${MING_BIN}\libintl-8.dll" File "${MING_BIN}\libneon-27.dll" File "${MING_BIN}\libproxy.dll" @@ -450,29 +500,32 @@ Section "${APPLICATION_NAME}" SEC_APPLICATION File "${MING_BIN}\libstdc++-6.dll" File "${MING_BIN}\libwinpthread-1.dll" - ; CSync configs + ;CSync configs File "${SOURCE_PATH}/sync-exclude.lst" SectionEnd -SectionGroup $SectionGroup_Shortcuts - !ifdef OPTION_SECTION_SC_SHELL_EXT ${MementoSection} $OPTION_SECTION_SC_SHELL_EXT_SECTION SEC_SHELL_EXT SectionIn 1 2 SetDetailsPrint textonly DetailPrint $OPTION_SECTION_SC_SHELL_EXT_DetailPrint - SetOutPath "$INSTDIR/shellext" - ${If} ${RunningX64} - ExecWait '"${BUILD_PATH}/vcredist_x64.exe" /qn' - File ${SOURCE_PATH}\*_x64.dll - ${Else} - ExecWait '"${BUILD_PATH}/vcredist_x86.exe" /qn' - File ${SOURCE_PATH}\*_x86.dll - ${EndIf} + SetOutPath "$INSTDIR\shellext" + File "${SOURCE_PATH}\binary\shell_integration\windows\Release\x64\OCUtil_x64.dll" + File "${SOURCE_PATH}\binary\shell_integration\windows\Release\x64\OCOverlays_x64.dll" + File "${SOURCE_PATH}\binary\shell_integration\windows\Release\Win32\OCUtil_x86.dll" + File "${SOURCE_PATH}\binary\shell_integration\windows\Release\Win32\OCOverlays_x86.dll" + File "${BUILD_PATH}\vcredist_x86.exe" + File "${BUILD_PATH}\vcredist_x64.exe" + Call InstallRedistributables + Call RegisterShellExt + !insertMacro StopExplorer + !insertMacro StartExplorer "" ${MementoSectionEnd} !endif +SectionGroup $SectionGroup_Shortcuts + !ifdef OPTION_SECTION_SC_START_MENU ${MementoSection} $OPTION_SECTION_SC_START_MENU_SECTION SEC_START_MENU SectionIn 1 2 3 @@ -618,6 +671,15 @@ Section Uninstall DeleteRegKey HKCR "${APPLICATION_NAME}" + ;Shell extension + !ifdef OPTION_SECTION_SC_SHELL_EXT + ${If} ${HasSection} SEC_SHELL_EXT + !insertmacro StopExplorer + Call Un.RegisterShellExt + !insertmacro StartExplorer "Un." + ${EndIf} + !endif + ;Start menu shortcut !ifdef OPTION_SECTION_SC_START_MENU SetShellVarContext all From 80f9ed70d3b95a610a6f2dab339101e7aaa7a7cf Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 7 Aug 2014 16:24:09 +0200 Subject: [PATCH 114/133] NSIS: Script to download the VS runtimes --- admin/win/download_runtimes.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100755 admin/win/download_runtimes.sh diff --git a/admin/win/download_runtimes.sh b/admin/win/download_runtimes.sh new file mode 100755 index 000000000..eddd29a2f --- /dev/null +++ b/admin/win/download_runtimes.sh @@ -0,0 +1,19 @@ +#!/bin/sh -x + +#VS2013 +base_url=http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3 +tmp_path=/tmp/.vcredist + +mkdir -p $tmp_path + +copy_cached_file() { + file=$1 + if [ ! -e $tmp_path/$file ]; then + wget -O $tmp_path/$file $base_url/$file + fi + cp -a $tmp_path/$file $PWD +} + +copy_cached_file "vcredist_x64.exe" +copy_cached_file "vcredist_x86.exe" + From 633267c457994da047031fcdd5ecfcd18e9d9907 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 7 Aug 2014 16:46:57 +0200 Subject: [PATCH 115/133] Update binary dir --- binary | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/binary b/binary index ceeb47d95..1645f4df2 160000 --- a/binary +++ b/binary @@ -1 +1 @@ -Subproject commit ceeb47d951638f8d62fabf2836a7a42a5eb10a6a +Subproject commit 1645f4df2f2eaddc98c89009f939b1ed0cf3f760 From 261d7ee688a8cbcad98c1457b6c5b51dde191107 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 7 Aug 2014 16:50:50 +0200 Subject: [PATCH 116/133] Ignore binary dir for git exports --- .gitattributes | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitattributes b/.gitattributes index 1a045fa1f..82b034368 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,3 +2,4 @@ .gitignore export-ignore .gitattributes export-ignore .commit-template export-ignore +/binary export-ignore From 344b98bf1365a16f74694f97358080b6454d3507 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 8 Aug 2014 02:37:46 +0200 Subject: [PATCH 117/133] Shell Integration / MSVC: Fix target platform --- .../windows/OCShellExtensions/OCOverlays/OCOverlays.vcxproj | 3 ++- .../windows/OCShellExtensions/OCUtil/OCUtil.vcxproj | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlays.vcxproj b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlays.vcxproj index d648d8bf6..a2b2e878b 100644 --- a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlays.vcxproj +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlays.vcxproj @@ -40,13 +40,14 @@ false true Unicode + v120_xp DynamicLibrary false true Unicode - Windows7.1SDK + v120_xp diff --git a/shell_integration/windows/OCShellExtensions/OCUtil/OCUtil.vcxproj b/shell_integration/windows/OCShellExtensions/OCUtil/OCUtil.vcxproj index a29cc48c9..52b0d9c3c 100644 --- a/shell_integration/windows/OCShellExtensions/OCUtil/OCUtil.vcxproj +++ b/shell_integration/windows/OCShellExtensions/OCUtil/OCUtil.vcxproj @@ -40,13 +40,14 @@ false true Unicode + v120_xp DynamicLibrary false true Unicode - Windows7.1SDK + v120_xp From 5306cdc7a1a8e56f3af1d09b7c109f4b5090c993 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 8 Aug 2014 02:39:43 +0200 Subject: [PATCH 118/133] Shell Integration: Fix Integration bug when explorer starts before OCC Also slightly improves performance --- .../OCOverlays/OCOverlay.cpp | 38 +++++++++++++++++-- .../OCShellExtensions/OCOverlays/OCOverlay.h | 2 - 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.cpp b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.cpp index 20b809bdc..8e0265d67 100644 --- a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.cpp +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.cpp @@ -14,6 +14,7 @@ #include "OCOverlay.h" +#include "OCOverlayFactory.h" #include "RegistryUtil.h" #include "StringUtil.h" @@ -35,6 +36,10 @@ extern HINSTANCE instanceHandle; #define IDM_DISPLAY 0 #define IDB_OK 101 +namespace { + static std::vector s_watchedDirectories; +} + OCOverlay::OCOverlay(int state) : _communicationSocket(0) , _referenceCount(1) @@ -42,8 +47,6 @@ OCOverlay::OCOverlay(int state) , _state(state) { - // FIXME: Use Registry instead - _watchedDirectories = _checker->WatchedDirectories(); } OCOverlay::~OCOverlay(void) @@ -90,7 +93,28 @@ IFACEMETHODIMP_(ULONG) OCOverlay::Release() IFACEMETHODIMP OCOverlay::GetPriority(int *pPriority) { - pPriority = 0; + // this defines which handler has prededence, so + // we order this in terms of likelyhood + switch (_state) { + case State_OK: + *pPriority = 0; + case State_OKShared: + *pPriority = 1; + case State_Warning: + *pPriority = 2; + case State_WarningShared: + *pPriority = 3; + case State_Sync: + *pPriority = 4; + case State_SyncShared: + *pPriority = 5; + case State_Error: + *pPriority = 6; + case State_ErrorShared: + *pPriority = 7; + default: + *pPriority = 8; + } return S_OK; } @@ -103,11 +127,17 @@ IFACEMETHODIMP OCOverlay::GetPriority(int *pPriority) // return MAKE_HRESULT(S_FALSE, 0, 0); //} + // FIXME: Use Registry instead, this will only trigger once + // and now follow any user changes in the client + if (s_watchedDirectories.empty()) { + s_watchedDirectories = _checker->WatchedDirectories(); + } + wstring wpath(pwszPath); wpath.append(L"\\"); vector::iterator it; bool watched = false; - for (it = _watchedDirectories.begin(); it != _watchedDirectories.end(); ++it) { + for (it = s_watchedDirectories.begin(); it != s_watchedDirectories.end(); ++it) { if (StringUtil::begins_with(wpath, *it)) { watched = true; } diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.h b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.h index 801b30332..a84bc45b0 100644 --- a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.h +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlay.h @@ -45,8 +45,6 @@ private: CommunicationSocket* _communicationSocket; RemotePathChecker* _checker; int _state; - - std::vector _watchedDirectories; }; #endif \ No newline at end of file From 0e22864426f80da2ef2184e2152c39ba8b5f419e Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Fri, 8 Aug 2014 01:25:28 -0400 Subject: [PATCH 119/133] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 158 +++++++++++++++++----------------- translations/mirall_cs.ts | 162 +++++++++++++++++------------------ translations/mirall_de.ts | 158 +++++++++++++++++----------------- translations/mirall_el.ts | 158 +++++++++++++++++----------------- translations/mirall_en.ts | 158 +++++++++++++++++----------------- translations/mirall_es.ts | 160 +++++++++++++++++----------------- translations/mirall_es_AR.ts | 158 +++++++++++++++++----------------- translations/mirall_et.ts | 158 +++++++++++++++++----------------- translations/mirall_eu.ts | 158 +++++++++++++++++----------------- translations/mirall_fa.ts | 158 +++++++++++++++++----------------- translations/mirall_fi.ts | 158 +++++++++++++++++----------------- translations/mirall_fr.ts | 158 +++++++++++++++++----------------- translations/mirall_gl.ts | 158 +++++++++++++++++----------------- translations/mirall_hu.ts | 158 +++++++++++++++++----------------- translations/mirall_it.ts | 158 +++++++++++++++++----------------- translations/mirall_ja.ts | 158 +++++++++++++++++----------------- translations/mirall_nl.ts | 158 +++++++++++++++++----------------- translations/mirall_pl.ts | 158 +++++++++++++++++----------------- translations/mirall_pt.ts | 158 +++++++++++++++++----------------- translations/mirall_pt_BR.ts | 158 +++++++++++++++++----------------- translations/mirall_ru.ts | 158 +++++++++++++++++----------------- translations/mirall_sk.ts | 158 +++++++++++++++++----------------- translations/mirall_sl.ts | 158 +++++++++++++++++----------------- translations/mirall_sv.ts | 158 +++++++++++++++++----------------- translations/mirall_th.ts | 158 +++++++++++++++++----------------- translations/mirall_tr.ts | 158 +++++++++++++++++----------------- translations/mirall_uk.ts | 158 +++++++++++++++++----------------- translations/mirall_zh_CN.ts | 158 +++++++++++++++++----------------- translations/mirall_zh_TW.ts | 158 +++++++++++++++++----------------- 29 files changed, 2294 insertions(+), 2294 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index d77a5fc68..a5fd2e3ae 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -591,22 +591,22 @@ Esteu segur que voleu executar aquesta operació? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway No s'ha rebut cap E-Tag del servidor, comproveu el Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. Hem rebut un E-Tag diferent en la represa. Es comprovarà la pròxima vegada. - + Server returned wrong content-range - + Connection Timeout Temps de connexió excedit @@ -1084,126 +1084,126 @@ No és aconsellada usar-la. Mirall::OwncloudSetupWizard - + Folder rename failed Ha fallat en canviar el nom de la carpeta - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>la carpeta de sincronització %1 s'ha creat correctament!</b></font> - + Trying to connect to %1 at %2... Intentant connectar amb %1 a %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">S'ha connectat correctament amb %1: %2 versió %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Error: credencials incorrectes. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> La carpeta local %1 ja existeix, s'està configurant per sincronitzar.<br/><br/> - + Creating local sync folder %1... Creant carpeta local de sincronització %1... - + ok correcte - + failed. ha fallat. - + Could not create local folder %1 No s'ha pogut crear la carpeta local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Ha fallat la connexió amb %1 a %2:<br/>%3 - + No remote folder specified! No heu especificat cap carpeta remota! - + Error: %1 Error: %1 - + creating folder on ownCloud: %1 creant la carpeta a ownCloud: %1 - + Remote folder %1 created successfully. La carpeta remota %1 s'ha creat correctament. - + The remote folder %1 already exists. Connecting it for syncing. La carpeta remota %1 ja existeix. S'hi està connectant per sincronitzar-les. - + The folder creation resulted in HTTP error code %1 La creació de la carpeta ha resultat en el codi d'error HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Ha fallat la creació de la carpeta perquè les credencials proporcionades són incorrectes!<br/>Aneu enrera i comproveu les credencials.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">La creació de la carpeta remota ha fallat, probablement perquè les credencials facilitades són incorrectes.</font><br/>Comproveu les vostres credencials.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. La creació de la carpeta remota %1 ha fallat amb l'error <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. S'ha establert una connexió de sincronització des de %1 a la carpeta remota %2. - + Successfully connected to %1! Connectat amb èxit a %1! - + Connection to %1 could not be established. Please check again. No s'ha pogut establir la connexió amb %1. Comproveu-ho de nou. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. No es pot esborrar i restaurar la carpeta perquè una carpeta o un fitxer de dins està obert en un altre programa. Tanqueu la carpeta o el fitxer i intenteu-ho de nou o cancel·leu la configuració. @@ -1283,7 +1283,7 @@ No és aconsellada usar-la. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! El fitxer %1 no es pot baixar perquè hi ha un xoc amb el nom d'un fitxer local! @@ -1784,229 +1784,229 @@ Proveu de sincronitzar-los de nou. Mirall::SyncEngine - + Success. Èxit. - + CSync failed to create a lock file. CSync ha fallat en crear un fitxer de bloqueig. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync ha fallat en carregar o crear el fitxer de revista. Assegureu-vos que yeniu permisos de lectura i escriptura en la carpeta local de sincronització. - + CSync failed to write the journal file. CSync ha fallat en escriure el fitxer de revista - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>No s'ha pogut carregar el connector %1 per csync.<br/>Comproveu la instal·lació!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'hora del sistema d'aquest client és diferent de l'hora del sistema del servidor. Useu un servei de sincronització de temps (NTP) en el servidor i al client perquè l'hora sigui la mateixa. - + CSync could not detect the filesystem type. CSync no ha pogut detectar el tipus de fitxers del sistema. - + CSync got an error while processing internal trees. CSync ha patit un error mentre processava els àrbres interns. - + CSync failed to reserve memory. CSync ha fallat en reservar memòria. - + CSync fatal parameter error. Error fatal de paràmetre en CSync. - + CSync processing step update failed. El pas d'actualització del processat de CSync ha fallat. - + CSync processing step reconcile failed. El pas de reconciliació del processat de CSync ha fallat. - + CSync processing step propagate failed. El pas de propagació del processat de CSync ha fallat. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>La carpeta destí no existeix.</p><p>Comproveu la configuració de sincronització</p> - + A remote file can not be written. Please check the remote access. No es pot escriure el fitxer remot. Reviseu l'acces remot. - + The local filesystem can not be written. Please check permissions. No es pot escriure al sistema de fitxers local. Reviseu els permisos. - + CSync failed to connect through a proxy. CSync ha fallat en connectar a través d'un proxy. - + CSync could not authenticate at the proxy. CSync no s'ha pogut acreditar amb el proxy. - + CSync failed to lookup proxy or server. CSync ha fallat en cercar el proxy o el servidor. - + CSync failed to authenticate at the %1 server. L'autenticació de CSync ha fallat al servidor %1. - + CSync failed to connect to the network. CSync ha fallat en connectar-se a la xarxa. - + A network connection timeout happened. Temps excedit en la connexió. - + A HTTP transmission error happened. S'ha produït un error en la transmissió HTTP. - + CSync failed due to not handled permission deniend. CSync ha fallat en no implementar el permís denegat. - + CSync failed to access CSync ha fallat en accedir - + CSync tried to create a directory that already exists. CSync ha intentat crear una carpeta que ja existeix. - - + + CSync: No space on %1 server available. CSync: No hi ha espai disponible al servidor %1. - + CSync unspecified error. Error inespecífic de CSync. - + Aborted by the user Aturat per l'usuari - + An internal error number %1 happened. S'ha produït l'error intern número %1. - + The item is not synced because of previous errors: %1 L'element no s'ha sincronitzat degut a errors previs: %1 - + Symbolic links are not supported in syncing. La sincronització d'enllaços simbòlics no està implementada. - + File is listed on the ignore list. El fitxer està a la llista d'ignorats. - + File contains invalid characters that can not be synced cross platform. El fitxer conté caràcters no vàlids que no es poden sincronitzar entre plataformes. - + Unable to initialize a sync journal. No es pot inicialitzar un periòdic de sincronització - + Cannot open the sync journal No es pot obrir el diari de sincronització - + Not allowed because you don't have permission to add sub-directories in that directory No es permet perquè no teniu permisos per afegir subcarpetes en aquesta carpeta - + Not allowed because you don't have permission to add parent directory No es permet perquè no teniu permisos per afegir una carpeta inferior - + Not allowed because you don't have permission to add files in that directory No es permet perquè no teniu permisos per afegir fitxers en aquesta carpeta - + Not allowed to upload this file because it is read-only on the server, restoring No es permet pujar aquest fitxer perquè només és de lectura en el servidor, es restaura - - + + Not allowed to remove, restoring No es permet l'eliminació, es restaura - + Move not allowed, item restored No es permet moure'l, l'element es restaura - + Move not allowed because %1 is read-only No es permet moure perquè %1 només és de lectura - + the destination el destí - + the source l'origen diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index a5eeef43b..cb5c71689 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -591,22 +591,22 @@ Opravdu chcete provést tuto akci? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ze serveru nebyl obdržen E-Tag, zkontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Obdrželi jsme jiný E-Tag pro pokračování. Zkusím znovu příště. - + Server returned wrong content-range Server odpověděl chybným rozsahem obsahu - + Connection Timeout Spojení vypršelo @@ -1084,126 +1084,126 @@ Nedoporučuje se jí používat. Mirall::OwncloudSetupWizard - + Folder rename failed Přejmenování složky selhalo - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Místní synchronizovaná složka %1 byla vytvořena úspěšně!</b></font> - + Trying to connect to %1 at %2... Pokouším se připojit k %1 na %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Úspěšně připojeno k %1: %2 verze %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Chyba: nesprávné přihlašovací údaje. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Místní synchronizovaná složka %1 již existuje, nastavuji ji pro synchronizaci.<br/><br/> - + Creating local sync folder %1... Vytvářím místní synchronizovanou složku %1... - + ok OK - + failed. selhalo. - + Could not create local folder %1 Nelze vytvořit místní složku %1 - - + + Failed to connect to %1 at %2:<br/>%3 Selhalo spojení s %1 v %2:<br/>%3 - + No remote folder specified! Žádná vzdálená složka nenastavena! - + Error: %1 Chyba: %1 - + creating folder on ownCloud: %1 vytvářím složku na ownCloudu: %1 - + Remote folder %1 created successfully. Vzdálená složka %1 byla úspěšně vytvořena. - + The remote folder %1 already exists. Connecting it for syncing. Vzdálená složka %1 již existuje. Spojuji ji pro synchronizaci. - + The folder creation resulted in HTTP error code %1 Vytvoření složky selhalo HTTP chybou %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Vytvoření vzdálené složky selhalo, pravděpodobně z důvodu neplatných přihlašovacích údajů.<br/>Vraťte se, prosím, zpět a zkontrolujte je.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Vytvoření vzdálené složky selhalo, pravděpodobně z důvodu neplatných přihlašovacích údajů.</font><br/>Vraťte se, prosím, zpět a zkontrolujte je.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Vytváření vzdálené složky %1 selhalo s chybou <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Bylo nastaveno synchronizované spojení z %1 do vzdáleného adresáře %2. - + Successfully connected to %1! Úspěšně spojeno s %1. - + Connection to %1 could not be established. Please check again. Spojení s %1 nelze navázat. Prosím zkuste to znovu. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Nelze odstranit a zazálohovat adresář, protože adresář nebo soubor v něm je otevřen v jiném programu. Prosím zavřete adresář nebo soubor a zkuste znovu nebo zrušte akci. @@ -1283,7 +1283,7 @@ Nedoporučuje se jí používat. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Soubor %1 nemohl být stažen z důvodu kolize názvu se souborem v místním systému. @@ -1400,7 +1400,7 @@ Nedoporučuje se jí používat. The server did not acknowledge the last chunk. (No e-tag were present) - + Server nepotvrdil poslední část dat. (Nebyl nalezen e-tag) @@ -1774,7 +1774,7 @@ Zkuste provést novou synchronizaci. Expiration Date: %1 - + Datum vypršení: %1 @@ -1785,229 +1785,229 @@ Zkuste provést novou synchronizaci. Mirall::SyncEngine - + Success. Úspěch. - + CSync failed to create a lock file. CSync nemůže vytvořit soubor zámku. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync se nepodařilo načíst či vytvořit soubor žurnálu. Ujistěte se, že máte oprávnění pro čtení a zápis v místní synchronizované složce. - + CSync failed to write the journal file. CSync se nepodařilo zapsat do souboru žurnálu. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Plugin %1 pro csync nelze načíst.<br/>Zkontrolujte prosím instalaci!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systémový čas na klientovi je rozdílný od systémového času serveru. Použijte, prosím, službu synchronizace času (NTP) na serveru i klientovi, aby byl čas na obou strojích stejný. - + CSync could not detect the filesystem type. CSync nemohl detekovat typ souborového systému. - + CSync got an error while processing internal trees. CSync obdrželo chybu při zpracování vnitřních struktur. - + CSync failed to reserve memory. CSync se nezdařilo rezervovat paměť. - + CSync fatal parameter error. CSync: kritická chyba parametrů. - + CSync processing step update failed. CSync se nezdařilo zpracovat krok aktualizace. - + CSync processing step reconcile failed. CSync se nezdařilo zpracovat krok sladění. - + CSync processing step propagate failed. CSync se nezdařilo zpracovat krok propagace. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Cílový adresář neexistuje.</p><p>Zkontrolujte, prosím, nastavení synchronizace.</p> - + A remote file can not be written. Please check the remote access. Vzdálený soubor nelze zapsat. Ověřte prosím vzdálený přístup. - + The local filesystem can not be written. Please check permissions. Do místního souborového systému nelze zapisovat. Ověřte, prosím, přístupová práva. - + CSync failed to connect through a proxy. CSync se nezdařilo připojit skrze proxy. - + CSync could not authenticate at the proxy. CSync se nemohlo přihlásit k proxy. - + CSync failed to lookup proxy or server. CSync se nezdařilo najít proxy server nebo cílový server. - + CSync failed to authenticate at the %1 server. CSync se nezdařilo přihlásit k serveru %1. - + CSync failed to connect to the network. CSync se nezdařilo připojit k síti. - + A network connection timeout happened. Došlo k vypršení časového limitu síťového spojení. - + A HTTP transmission error happened. Nastala chyba HTTP přenosu. - + CSync failed due to not handled permission deniend. CSync selhalo z důvodu nezpracovaného odmítnutí práv. - + CSync failed to access CSync se nezdařil přístup - + CSync tried to create a directory that already exists. CSync se pokusilo vytvořit adresář, který již existuje. - - + + CSync: No space on %1 server available. CSync: Nedostatek volného místa na serveru %1. - + CSync unspecified error. Nespecifikovaná chyba CSync. - + Aborted by the user Zrušeno uživatelem - + An internal error number %1 happened. Nastala vnitřní chyba číslo %1. - + The item is not synced because of previous errors: %1 Položka nebyla synchronizována kvůli předchozí chybě: %1 - + Symbolic links are not supported in syncing. Symbolické odkazy nejsou při synchronizaci podporovány. - + File is listed on the ignore list. Soubor se nachází na seznamu ignorovaných. - + File contains invalid characters that can not be synced cross platform. Soubor obsahuje alespoň jeden neplatný znak, který narušuje synchronizaci v prostředí více platforem. - + Unable to initialize a sync journal. Nemohu inicializovat synchronizační žurnál. - + Cannot open the sync journal Nelze otevřít synchronizační žurnál - + Not allowed because you don't have permission to add sub-directories in that directory Není povoleno, protože nemáte oprávnění vytvářet podadresáře v tomto adresáři. - + Not allowed because you don't have permission to add parent directory Není povoleno, protože nemáte oprávnění vytvořit rodičovský adresář. - + Not allowed because you don't have permission to add files in that directory Není povoleno, protože nemáte oprávnění přidávat soubory do tohoto adresáře - + Not allowed to upload this file because it is read-only on the server, restoring Není povoleno nahrát tento soubor, protože je na serveru uložen pouze pro čtení, obnovuji - - + + Not allowed to remove, restoring Odstranění není povoleno, obnovuji - + Move not allowed, item restored Přesun není povolen, položka obnovena - + Move not allowed because %1 is read-only Přesun není povolen, protože %1 je pouze pro čtení - + the destination cílové umístění - + the source zdroj diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index df4d1db13..df9f8a2ab 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -592,22 +592,22 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Kein E-Tag vom Server empfangen, bitte Proxy / Gateway überprüfen - + We received a different E-Tag for resuming. Retrying next time. Es wurde ein unterschiedlicher E-Tag zum Fortfahren empfangen. Bitte beim nächsten mal nochmal versuchen. - + Server returned wrong content-range Server hat falschen Bereich für den Inhalt zurück gegeben - + Connection Timeout Zeitüberschreitung der Verbindung @@ -1085,126 +1085,126 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::OwncloudSetupWizard - + Folder rename failed Ordner umbenennen fehlgeschlagen. - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Lokaler Sync-Ordner %1 erfolgreich erstellt!</b></font> - + Trying to connect to %1 at %2... Versuche zu %1 an %2 zu verbinden... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Erfolgreich mit %1 verbunden: %2 Version %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Fehler: Falsche Anmeldeinformationen. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Lokaler Sync-Ordner %1 existiert bereits, aktiviere Synchronistation.<br/><br/> - + Creating local sync folder %1... Erstelle lokalen Sync-Ordner %1... - + ok ok - + failed. fehlgeschlagen. - + Could not create local folder %1 Der lokale Ordner %1 konnte nicht angelegt werden - - + + Failed to connect to %1 at %2:<br/>%3 Die Verbindung zu %1 auf %2:<br/>%3 konnte nicht hergestellt werden - + No remote folder specified! Keinen fernen Ordner spezifiziert! - + Error: %1 Fehler: %1 - + creating folder on ownCloud: %1 erstelle Ordner auf ownCloud: %1 - + Remote folder %1 created successfully. Remoteordner %1 erfolgreich erstellt. - + The remote folder %1 already exists. Connecting it for syncing. Der Ordner %1 ist auf dem Server bereits vorhanden. Verbinde zur Synchronisation. - + The folder creation resulted in HTTP error code %1 Das Erstellen des Verzeichnisses erzeugte den HTTP-Fehler-Code %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Die Remote-Ordner-Erstellung ist fehlgeschlagen, weil die angegebenen Zugangsdaten falsch sind. Bitte gehen Sie zurück und überprüfen Sie die Zugangsdaten. - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Die Remote-Ordner-Erstellung ist fehlgeschlagen, vermutlich sind die angegebenen Zugangsdaten falsch.</font><br/>Bitte gehen Sie zurück und überprüfen Sie Ihre Zugangsdaten.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Remote-Ordner %1 konnte mit folgendem Fehler nicht erstellt werden: <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Eine Synchronisationsverbindung für Ordner %1 zum entfernten Ordner %2 wurde eingerichtet. - + Successfully connected to %1! Erfolgreich verbunden mit %1! - + Connection to %1 could not be established. Please check again. Die Verbindung zu %1 konnte nicht hergestellt werden. Bitte prüfen Sie die Einstellungen erneut. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Kann den Ordner nicht entfernen und sichern, da der Ordner oder einer seiner Dateien in einem anderen Programm geöffnet ist. Bitte schließen Sie den Ordner ode die Datei oder beenden Sie das Setup. @@ -1284,7 +1284,7 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Die Datei %1 kann aufgrund eines Konfliktes mit dem lokalen Dateinamen nicht herunter geladen werden! @@ -1785,229 +1785,229 @@ Versuchen Sie diese nochmals zu synchronisieren. Mirall::SyncEngine - + Success. Erfolgreich - + CSync failed to create a lock file. CSync konnte keine lock-Datei erstellen. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync konnte den Synchronisationsbericht nicht laden oder erstellen. Stellen Sie bitte sicher, dass Sie Lese- und Schreibrechte auf das lokale Synchronisationsverzeichnis haben. - + CSync failed to write the journal file. CSync konnte den Synchronisationsbericht nicht schreiben. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Das %1-Plugin für csync konnte nicht geladen werden.<br/>Bitte überprüfen Sie die Installation!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Die Uhrzeit auf diesem Computer und dem Server sind verschieden. Bitte verwenden Sie ein Zeitsynchronisationsprotokolls (NTP) auf Ihrem Server und Klienten, damit die gleiche Uhrzeit verwendet wird. - + CSync could not detect the filesystem type. CSync konnte den Typ des Dateisystem nicht feststellen. - + CSync got an error while processing internal trees. CSync hatte einen Fehler bei der Verarbeitung von internen Strukturen. - + CSync failed to reserve memory. CSync konnte keinen Speicher reservieren. - + CSync fatal parameter error. CSync hat einen schwerwiegender Parameterfehler festgestellt. - + CSync processing step update failed. CSync Verarbeitungsschritt "Aktualisierung" fehlgeschlagen. - + CSync processing step reconcile failed. CSync Verarbeitungsschritt "Abgleich" fehlgeschlagen. - + CSync processing step propagate failed. CSync Verarbeitungsschritt "Übertragung" fehlgeschlagen. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Das Zielverzeichnis existiert nicht.</p><p>Bitte prüfen Sie die Synchronisationseinstellungen.</p> - + A remote file can not be written. Please check the remote access. Eine Remote-Datei konnte nicht geschrieben werden. Bitte den Remote-Zugriff überprüfen. - + The local filesystem can not be written. Please check permissions. Kann auf dem lokalen Dateisystem nicht schreiben. Bitte Berechtigungen überprüfen. - + CSync failed to connect through a proxy. CSync konnte sich nicht über einen Proxy verbinden. - + CSync could not authenticate at the proxy. CSync konnte sich nicht am Proxy authentifizieren. - + CSync failed to lookup proxy or server. CSync konnte den Proxy oder Server nicht auflösen. - + CSync failed to authenticate at the %1 server. CSync konnte sich nicht am Server %1 authentifizieren. - + CSync failed to connect to the network. CSync konnte sich nicht mit dem Netzwerk verbinden. - + A network connection timeout happened. Eine Zeitüberschreitung der Netzwerkverbindung ist aufgetreten. - + A HTTP transmission error happened. Es hat sich ein HTTP-Übertragungsfehler ereignet. - + CSync failed due to not handled permission deniend. CSync wegen fehlender Berechtigung fehlgeschlagen. - + CSync failed to access CSync-Zugriff fehlgeschlagen - + CSync tried to create a directory that already exists. CSync versuchte, ein Verzeichnis zu erstellen, welches bereits existiert. - - + + CSync: No space on %1 server available. CSync: Kein Platz auf Server %1 frei. - + CSync unspecified error. CSync unbekannter Fehler. - + Aborted by the user Abbruch durch den Benutzer - + An internal error number %1 happened. Interne Fehlernummer %1 aufgetreten. - + The item is not synced because of previous errors: %1 Das Element ist aufgrund vorheriger Fehler nicht synchronisiert: %1 - + Symbolic links are not supported in syncing. Symbolische Verknüpfungen werden bei der Synchronisation nicht unterstützt. - + File is listed on the ignore list. Die Datei ist in der Ignorierliste geführt. - + File contains invalid characters that can not be synced cross platform. Die Datei beinhaltet ungültige Zeichen und kann nicht plattformübergreifend synchronisiert werden. - + Unable to initialize a sync journal. Synchronisationsbericht konnte nicht initialisiert werden. - + Cannot open the sync journal Synchronisationsbericht kann nicht geöffnet werden - + Not allowed because you don't have permission to add sub-directories in that directory Nicht erlaubt, da Sie keine Rechte zur Erstellung von Unterordnern haben - + Not allowed because you don't have permission to add parent directory Nicht erlaubt, da Sie keine Rechte zur Erstellung von Hauptordnern haben - + Not allowed because you don't have permission to add files in that directory Nicht erlaubt, da Sie keine Rechte zum Hinzufügen von Dateien in diesen Ordner haben - + Not allowed to upload this file because it is read-only on the server, restoring Das Hochladen dieser Datei ist nicht erlaubt, da die Datei auf dem Server schreibgeschützt ist, Wiederherstellung - - + + Not allowed to remove, restoring Löschen nicht erlaubt, Wiederherstellung - + Move not allowed, item restored Verschieben nicht erlaubt, Element wiederhergestellt - + Move not allowed because %1 is read-only Verschieben nicht erlaubt, da %1 schreibgeschützt ist - + the destination Das Ziel - + the source Die Quelle diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 42718f036..bb55714c2 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -592,22 +592,22 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Δεν ελήφθη E-Tag από το διακομιστή, ελέγξτε το διακομιστή μεσολάβησης/πύλη - + We received a different E-Tag for resuming. Retrying next time. Ελήφθη διαφορετικό E-Tag για συνέχιση. Επανάληψη την επόμενη φορά. - + Server returned wrong content-range Ο διακομιστής επέστρεψε εσφαλμένο πεδίο τιμών - + Connection Timeout Λήξη Χρόνου Αναμονής Σύνδεσης @@ -1085,126 +1085,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Αποτυχία μετονομασίας φακέλου - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Επιτυχής δημιουργία τοπικού φακέλου %1 για συγχρονισμό!</b></font> - + Trying to connect to %1 at %2... Προσπάθεια σύνδεσης στο %1 για %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Επιτυχής σύνδεση στο %1: %2 έκδοση %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Σφάλμα: Λάθος διαπιστευτήρια. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Ο τοπικός φάκελος συγχρονισμού %1 υπάρχει ήδη, ρύθμιση για συγχρονισμό.<br/><br/> - + Creating local sync folder %1... Δημιουργία τοπικού φακέλου %1 για συγχρονισμό... - + ok οκ - + failed. απέτυχε. - + Could not create local folder %1 Αδυναμία δημιουργίας τοπικού φακέλου %1 - - + + Failed to connect to %1 at %2:<br/>%3 Αποτυχία σύνδεσης με το %1 στο %2:<br/>%3 - + No remote folder specified! Δεν προσδιορίστηκε κανένας απομακρυσμένος φάκελος! - + Error: %1 Σφάλμα: %1 - + creating folder on ownCloud: %1 δημιουργία φακέλου στο ownCloud: %1 - + Remote folder %1 created successfully. Ο απομακρυσμένος φάκελος %1 δημιουργήθηκε με επιτυχία. - + The remote folder %1 already exists. Connecting it for syncing. Ο απομακρυσμένος φάκελος %1 υπάρχει ήδη. Θα συνδεθεί για συγχρονισμό. - + The folder creation resulted in HTTP error code %1 Η δημιουργία φακέλου είχε ως αποτέλεσμα τον κωδικό σφάλματος HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Η δημιουργία απομακρυσμένου φακέλλου απέτυχε επειδή τα διαπιστευτήρια είναι λάθος!<br/>Παρακαλώ επιστρέψετε και ελέγξετε τα διαπιστευτήριά σας.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Η δημιουργία απομακρυσμένου φακέλου απέτυχε, πιθανώς επειδή τα διαπιστευτήρια που δόθηκαν είναι λάθος.</font><br/>Παρακαλώ επιστρέψτε πίσω και ελέγξτε τα διαπιστευτήρια σας.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Η δημιουργία απομακρυσμένου φακέλου %1 απέτυχε με σφάλμα <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Μια σύνδεση συγχρονισμού από τον απομακρυσμένο κατάλογο %1 σε %2 έχει ρυθμιστεί. - + Successfully connected to %1! Επιτυχής σύνδεση με %1! - + Connection to %1 could not be established. Please check again. Αδυναμία σύνδεσης στον %1. Παρακαλώ ελέξτε ξανά. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Αδυναμία αφαίρεσης και δημιουργίας αντιγράφου ασφαλείας του φακέλου διότι ο φάκελος ή ένα αρχείο του είναι ανοικτό από άλλο πρόγραμμα. Παρακαλώ κλείστε τον φάκελο ή το αρχείο και πατήστε επανάληψη ή ακυρώστε την ρύθμιση. @@ -1284,7 +1284,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Το αρχείο %1 δεν είναι δυνατό να ληφθεί λόγω διένεξης με το όνομα ενός τοπικού αρχείου! @@ -1785,229 +1785,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Επιτυχία. - + CSync failed to create a lock file. Το CSync απέτυχε να δημιουργήσει ένα αρχείο κλειδώματος. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Το CSync απέτυχε να φορτώσει ή να δημιουργήσει το αρχείο καταλόγου. Βεβαιωθείτε ότι έχετε άδειες ανάγνωσης και εγγραφής στον τοπικό κατάλογο συγχρονισμού. - + CSync failed to write the journal file. Το CSync απέτυχε να εγγράψει στο αρχείο καταλόγου. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Το πρόσθετο του %1 για το csync δεν μπόρεσε να φορτωθεί.<br/>Παρακαλούμε επαληθεύσετε την εγκατάσταση!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Η ώρα του συστήματος στον τοπικό υπολογιστή διαφέρει από την ώρα του συστήματος στο διακομιστή. Παρακαλούμε χρησιμοποιήστε μια υπηρεσία χρονικού συγχρονισμού (NTP) στο διακομιστή και στον τοπικό υπολογιστή ώστε η ώρα να παραμένει η ίδια. - + CSync could not detect the filesystem type. To CSync δεν μπορούσε να ανιχνεύσει τον τύπο του συστήματος αρχείων. - + CSync got an error while processing internal trees. Το CSync έλαβε κάποιο μήνυμα λάθους κατά την επεξεργασία της εσωτερικής διεργασίας. - + CSync failed to reserve memory. Το CSync απέτυχε να δεσμεύσει μνήμη. - + CSync fatal parameter error. Μοιραίο σφάλμα παράμετρου CSync. - + CSync processing step update failed. Η ενημέρωση του βήματος επεξεργασίας του CSync απέτυχε. - + CSync processing step reconcile failed. CSync στάδιο επεξεργασίας συμφιλίωση απέτυχε. - + CSync processing step propagate failed. Η μετάδοση του βήματος επεξεργασίας του CSync απέτυχε. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Ο κατάλογος προορισμού δεν υπάρχει.</p><p>Παρακαλώ ελέγξτε τις ρυθμίσεις συγχρονισμού.</p> - + A remote file can not be written. Please check the remote access. Ένα απομακρυσμένο αρχείο δεν μπορεί να εγγραφεί. Παρακαλούμε ελέγξτε την απομακρυσμένη πρόσβαση. - + The local filesystem can not be written. Please check permissions. Το τοπικό σύστημα αρχείων δεν είναι εγγράψιμο. Παρακαλούμε ελέγξτε τα δικαιώματα. - + CSync failed to connect through a proxy. Το CSync απέτυχε να συνδεθεί μέσω ενός διαμεσολαβητή. - + CSync could not authenticate at the proxy. Το CSync δεν μπόρεσε να πιστοποιηθεί στο διακομιστή μεσολάβησης. - + CSync failed to lookup proxy or server. Το CSync απέτυχε να διερευνήσει το διαμεσολαβητή ή το διακομιστή. - + CSync failed to authenticate at the %1 server. Το CSync απέτυχε να πιστοποιηθεί στο διακομιστή 1%. - + CSync failed to connect to the network. Το CSync απέτυχε να συνδεθεί με το δίκτυο. - + A network connection timeout happened. Διακοπή σύνδεσης δικτύου. - + A HTTP transmission error happened. Ένα σφάλμα μετάδοσης HTTP συνέβη. - + CSync failed due to not handled permission deniend. Το CSync απέτυχε λόγω απόρριψης μη-διαχειρίσιμων δικαιωμάτων. - + CSync failed to access Το CSync απέτυχε να αποκτήσει πρόσβαση - + CSync tried to create a directory that already exists. Το CSync προσπάθησε να δημιουργήσει ένα κατάλογο που υπάρχει ήδη. - - + + CSync: No space on %1 server available. CSync: Δεν υπάρχει διαθέσιμος χώρος στο διακομιστή 1%. - + CSync unspecified error. Άγνωστο σφάλμα CSync. - + Aborted by the user Ματαιώθηκε από το χρήστη - + An internal error number %1 happened. Συνέβη εσωτερικό σφάλμα με αριθμό %1. - + The item is not synced because of previous errors: %1 Το αντικείμενο δεν είναι συγχρονισμένο λόγω προηγούμενων σφαλμάτων: %1 - + Symbolic links are not supported in syncing. Οι συμβολικού σύνδεσμοι δεν υποστηρίζονται για το συγχρονισμό. - + File is listed on the ignore list. Το αρχείο περιέχεται στη λίστα αρχείων προς αγνόηση. - + File contains invalid characters that can not be synced cross platform. Το αρχείο περιέχει άκυρους χαρακτήρες που δεν μπορούν να συγχρονιστούν σε όλα τα συστήματα. - + Unable to initialize a sync journal. Αδυναμία προετοιμασίας αρχείου συγχρονισμού. - + Cannot open the sync journal Αδυναμία ανοίγματος του αρχείου συγχρονισμού - + Not allowed because you don't have permission to add sub-directories in that directory Δεν επιτρέπεται επειδή δεν έχετε δικαιώματα να προσθέσετε υπο-καταλόγους σε αυτό τον κατάλογο - + Not allowed because you don't have permission to add parent directory Δεν επιτρέπεται επειδή δεν έχετε δικαιώματα να προσθέσετε στο γονεϊκό κατάλογο - + Not allowed because you don't have permission to add files in that directory Δεν επιτρέπεται επειδή δεν έχεται δικαιώματα να προσθέσετε αρχεία σε αυτόν τον κατάλογο - + Not allowed to upload this file because it is read-only on the server, restoring Δεν επιτρέπεται να μεταφορτώσετε αυτό το αρχείο επειδή είναι μόνο για ανάγνωση στο διακομιστή, αποκατάσταση σε εξέλιξη - - + + Not allowed to remove, restoring Δεν επιτρέπεται η αφαίρεση, αποκατάσταση σε εξέλιξη - + Move not allowed, item restored Η μετακίνηση δεν επιτρέπεται, το αντικείμενο αποκαταστάθηκε - + Move not allowed because %1 is read-only Η μετακίνηση δεν επιτρέπεται επειδή το %1 είναι μόνο για ανάγνωση - + the destination ο προορισμός - + the source η προέλευση diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index c4511837a..40efa751b 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -590,22 +590,22 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Server returned wrong content-range - + Connection Timeout @@ -1079,126 +1079,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> - + Trying to connect to %1 at %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> - + Error: Wrong credentials. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> - + Creating local sync folder %1... - + ok - + failed. - + Could not create local folder %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 - + creating folder on ownCloud: %1 - + Remote folder %1 created successfully. - + The remote folder %1 already exists. Connecting it for syncing. - + The folder creation resulted in HTTP error code %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. - + Successfully connected to %1! - + Connection to %1 could not be established. Please check again. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1278,7 +1278,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1776,229 +1776,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. - + CSync failed to create a lock file. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. - + CSync could not detect the filesystem type. - + CSync got an error while processing internal trees. - + CSync failed to reserve memory. - + CSync fatal parameter error. - + CSync processing step update failed. - + CSync processing step reconcile failed. - + CSync processing step propagate failed. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. - + The local filesystem can not be written. Please check permissions. - + CSync failed to connect through a proxy. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. - + CSync failed to authenticate at the %1 server. - + CSync failed to connect to the network. - + A network connection timeout happened. - + A HTTP transmission error happened. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. - - + + CSync: No space on %1 server available. - + CSync unspecified error. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index c1962e682..821e0df92 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -591,22 +591,22 @@ Está seguro de que desea realizar esta operación? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway No se recibió ninguna e-tag del servidor, revisar el proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Se recibió una e-tag distinta para reanudar. Se intentará nuevamente. - + Server returned wrong content-range El servidor devolvió un content-range erróneo - + Connection Timeout Tiempo de espera de conexión agotado @@ -1084,126 +1084,126 @@ No se recomienda usarlo. Mirall::OwncloudSetupWizard - + Folder rename failed Error Renombrando Carpeta - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Carpeta de sincronización local %1 creada con éxito</b></font> - + Trying to connect to %1 at %2... Intentando conectar a %1 desde %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Conectado con éxito a %1: versión %2 %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Error: Credenciales erróneas. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> La carpeta de sincronización local %1 ya existe, configurándola para la sincronización.<br/><br/> - + Creating local sync folder %1... Creando la carpeta de sincronización local %1... - + ok ok - + failed. falló. - + Could not create local folder %1 No se pudo crear carpeta local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Error conectando con %1 en %2:<br/>%3 - + No remote folder specified! No se ha especificado la carpeta remota! - + Error: %1 Error: %1 - + creating folder on ownCloud: %1 creando carpeta en ownCloud: %1 - + Remote folder %1 created successfully. Carpeta remota %1 creado correctamente. - + The remote folder %1 already exists. Connecting it for syncing. La carpeta remota %1 ya existe. Conectándola para sincronizacion. - + The folder creation resulted in HTTP error code %1 La creación de la carpeta causó un error HTTP de código %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> ¡La creación de la carpeta remota ha fallado debido a que las credenciales proporcionadas son incorrectas!<br/>Por favor, vuelva atrás y comprueba sus credenciales</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">La creación de la carpeta remota ha fallado, probablemente porque las credenciales proporcionadas son incorrectas.</font><br/>Por favor, vuelva atrás y compruebe sus credenciales.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Creación %1 de carpeta remota ha fallado con el error <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Una conexión de sincronización desde %1 al directorio remoto %2 ha sido configurada. - + Successfully connected to %1! ¡Conectado con éxito a %1! - + Connection to %1 could not be established. Please check again. Conexión a %1 no se pudo establecer. Por favor compruebelo de nuevo. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. No se puede eliminar y respaldar la carpeta porque la misma o un fichero en ella está abierto por otro programa. Por favor, cierre la carpeta o el fichero y reintente, o cancele la instalación. @@ -1283,7 +1283,7 @@ No se recomienda usarlo. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! ¡El fichero %1 no puede ser descargado debido al nombre de la clase de un fichero local! @@ -1773,7 +1773,7 @@ Intente sincronizar los archivos nuevamente. Expiration Date: %1 - + Fecha de caducidad: %1 @@ -1784,229 +1784,229 @@ Intente sincronizar los archivos nuevamente. Mirall::SyncEngine - + Success. Completado con éxito. - + CSync failed to create a lock file. CSync no pudo crear un fichero de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync falló al cargar o crear el archivo de diario. Asegúrese de tener permisos de lectura y escritura en el directorio local de sincronización. - + CSync failed to write the journal file. CSync falló al escribir el archivo de diario. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>El %1 complemente para csync no se ha podido cargar.<br/>Por favor, verifique la instalación</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. La hora del sistema en este cliente es diferente de la hora del sistema en el servidor. Por favor use un servicio de sincronización de hora (NTP) en los servidores y clientes para que las horas se mantengan idénticas. - + CSync could not detect the filesystem type. CSync no pudo detectar el tipo de sistema de archivos. - + CSync got an error while processing internal trees. CSync encontró un error mientras procesaba los árboles de datos internos. - + CSync failed to reserve memory. Fallo al reservar memoria para Csync - + CSync fatal parameter error. Error fatal de parámetro en CSync. - + CSync processing step update failed. El proceso de actualización de CSync ha fallado. - + CSync processing step reconcile failed. Falló el proceso de composición de CSync - + CSync processing step propagate failed. Error en el proceso de propagación de CSync - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>El directorio de destino no existe.</p><p>Por favor verifique la configuración de sincronización.</p> - + A remote file can not be written. Please check the remote access. No se pudo escribir en un archivo remoto. Por favor, compruebe el acceso remoto. - + The local filesystem can not be written. Please check permissions. No se puede escribir en el sistema de archivos local. Por favor, compruebe los permisos. - + CSync failed to connect through a proxy. CSync falló al realizar la conexión a través del proxy - + CSync could not authenticate at the proxy. CSync no pudo autenticar el proxy. - + CSync failed to lookup proxy or server. CSync falló al realizar la búsqueda del proxy - + CSync failed to authenticate at the %1 server. CSync: Falló la autenticación con el servidor %1. - + CSync failed to connect to the network. CSync: Falló la conexión con la red. - + A network connection timeout happened. Se sobrepasó el tiempo de espera de la conexión de red. - + A HTTP transmission error happened. Ha ocurrido un error de transmisión HTTP. - + CSync failed due to not handled permission deniend. CSync: Falló debido a un permiso denegado. - + CSync failed to access Error al acceder CSync - + CSync tried to create a directory that already exists. CSync trató de crear un directorio que ya existe. - - + + CSync: No space on %1 server available. CSync: No queda espacio disponible en el servidor %1. - + CSync unspecified error. Error no especificado de CSync - + Aborted by the user Interrumpido por el usuario - + An internal error number %1 happened. Ha ocurrido un error interno número %1. - + The item is not synced because of previous errors: %1 El elemento no está sincronizado por errores previos: %1 - + Symbolic links are not supported in syncing. Los enlaces simbolicos no estan sopertados. - + File is listed on the ignore list. El fichero está en la lista de ignorados - + File contains invalid characters that can not be synced cross platform. El fichero contiene caracteres inválidos que no pueden ser sincronizados con la plataforma. - + Unable to initialize a sync journal. No se pudo inicializar un registro (journal) de sincronización. - + Cannot open the sync journal No es posible abrir el diario de sincronización - + Not allowed because you don't have permission to add sub-directories in that directory No está permitido, porque no tiene permisos para añadir subcarpetas en este directorio. - + Not allowed because you don't have permission to add parent directory No está permitido porque no tiene permisos para añadir un directorio - + Not allowed because you don't have permission to add files in that directory No está permitido, porque no tiene permisos para crear archivos en este directorio - + Not allowed to upload this file because it is read-only on the server, restoring No está permitido subir este archivo porque es de solo lectura en el servidor, restaurando. - - + + Not allowed to remove, restoring No está permitido borrar, restaurando. - + Move not allowed, item restored No está permitido mover, elemento restaurado. - + Move not allowed because %1 is read-only No está permitido mover, porque %1 es solo lectura. - + the destination destino - + the source origen diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index a50f00849..c7a23721d 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -590,22 +590,22 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Server returned wrong content-range - + Connection Timeout @@ -1081,126 +1081,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Error Al Renombrar Directorio - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Directorio local %1 creado</b></font> - + Trying to connect to %1 at %2... Intentando conectar a %1 en %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Conectado a %1: versión de %2 %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Error: Credenciales erróneas. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> El directorio de sincronización local %1 ya existe, configurándolo para la sincronización.<br/><br/> - + Creating local sync folder %1... Creando el directorio %1... - + ok aceptar - + failed. Error. - + Could not create local folder %1 No fue posible crear el directorio local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Falló al conectarse a %1 en %2:<br/>%3 - + No remote folder specified! ¡No se ha especificado un directorio remoto! - + Error: %1 Error: %1 - + creating folder on ownCloud: %1 Creando carpeta en ownCloud: %1 - + Remote folder %1 created successfully. El directorio remoto %1 fue creado con éxito. - + The remote folder %1 already exists. Connecting it for syncing. El directorio remoto %1 ya existe. Estableciendo conexión para sincronizar. - + The folder creation resulted in HTTP error code %1 La creación del directorio resultó en un error HTTP con código de error %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> <p><font color="red">Error al crear el directorio remoto porque las credenciales provistas son incorrectas.</font><br/>Por favor, volvé atrás y verificá tus credenciales.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Error al crear el directorio remoto, probablemente porque las credenciales provistas son incorrectas.</font><br/>Por favor, volvé atrás y verificá tus credenciales.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Se prtodujo un error <tt>%2</tt> al crear el directorio remoto %1. - + A sync connection from %1 to remote directory %2 was set up. Fue creada una conexión de sincronización desde %1 al directorio remoto %2. - + Successfully connected to %1! Conectado con éxito a %1! - + Connection to %1 could not be established. Please check again. No fue posible establecer la conexión a %1. Por favor, intentalo nuevamente. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1280,7 +1280,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1779,229 +1779,229 @@ Intente sincronizar estos nuevamente. Mirall::SyncEngine - + Success. Éxito. - + CSync failed to create a lock file. Se registró un error en CSync cuando se intentaba crear un archivo de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>No fue posible cargar el plugin de %1 para csync.<br/>Por favor, verificá la instalación</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. La hora del sistema en este cliente es diferente de la hora del sistema en el servidor. Por favor, usá un servicio de sincronización (NTP) de hora en las máquinas cliente y servidor para que las horas se mantengan iguales. - + CSync could not detect the filesystem type. CSync no pudo detectar el tipo de sistema de archivos. - + CSync got an error while processing internal trees. CSync tuvo un error mientras procesaba los árboles de datos internos. - + CSync failed to reserve memory. CSync falló al reservar memoria. - + CSync fatal parameter error. Error fatal de parámetro en CSync. - + CSync processing step update failed. Falló el proceso de actualización de CSync. - + CSync processing step reconcile failed. Falló el proceso de composición de CSync - + CSync processing step propagate failed. Proceso de propagación de CSync falló - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>El directorio de destino %1 no existe.</p> Por favor, comprobá la configuración de sincronización. </p> - + A remote file can not be written. Please check the remote access. No se puede escribir un archivo remoto. Revisá el acceso remoto. - + The local filesystem can not be written. Please check permissions. No se puede escribir en el sistema de archivos local. Revisá los permisos. - + CSync failed to connect through a proxy. CSync falló al tratar de conectarse a través de un proxy - + CSync could not authenticate at the proxy. CSync no pudo autenticar el proxy. - + CSync failed to lookup proxy or server. CSync falló al realizar la busqueda del proxy. - + CSync failed to authenticate at the %1 server. CSync: fallo al autenticarse en el servidor %1. - + CSync failed to connect to the network. CSync: fallo al conectarse a la red - + A network connection timeout happened. - + A HTTP transmission error happened. Ha ocurrido un error de transmisión HTTP. - + CSync failed due to not handled permission deniend. CSync: Falló debido a un permiso denegado. - + CSync failed to access CSync falló al acceder - + CSync tried to create a directory that already exists. Csync trató de crear un directorio que ya existía. - - + + CSync: No space on %1 server available. CSync: No hay más espacio disponible en el servidor %1. - + CSync unspecified error. Error no especificado de CSync - + Aborted by the user Interrumpido por el usuario - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. Los vínculos simbólicos no está soportados al sincronizar. - + File is listed on the ignore list. El archivo está en la lista de ignorados. - + File contains invalid characters that can not be synced cross platform. El archivo contiene caracteres inválidos que no pueden ser sincronizados entre plataforma. - + Unable to initialize a sync journal. Imposible inicializar un diario de sincronización. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 03cf965e6..a622299b6 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -591,22 +591,22 @@ Oled kindel, et soovid seda operatsiooni teostada? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ühtegi E-Silti ei saabunud serverist, kontrolli puhverserverit/lüüsi. - + We received a different E-Tag for resuming. Retrying next time. Saime jätkamiseks erineva E-Sildi. Proovin järgmine kord uuesti. - + Server returned wrong content-range Server tagastas vale vahemiku - + Connection Timeout Ühenduse aegumine @@ -1084,126 +1084,126 @@ Selle kasutamine pole soovitatav. Mirall::OwncloudSetupWizard - + Folder rename failed Kataloogi ümbernimetamine ebaõnnestus - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Kohalik kataloog %1 edukalt loodud!</b></font> - + Trying to connect to %1 at %2... Püüan ühenduda %1 kohast %2 - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Edukalt ühendatud %1: %2 versioon %3 (4)</font><br/><br/> - + Error: Wrong credentials. Viga: Valed kasutajaandmed. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Kohalik kataloog %1 on juba olemas. Valmistan selle ette sünkroniseerimiseks. - + Creating local sync folder %1... Kohaliku kausta %1 sünkroonimise loomine ... - + ok ok - + failed. ebaõnnestus. - + Could not create local folder %1 Ei suuda tekitada kohalikku kataloogi %1 - - + + Failed to connect to %1 at %2:<br/>%3 Ühendumine ebaõnnestus %1 %2-st:<br/>%3 - + No remote folder specified! Ühtegi võrgukataloogi pole määratletud! - + Error: %1 Viga: %1 - + creating folder on ownCloud: %1 loon uue kataloogi ownCloudi: %1 - + Remote folder %1 created successfully. Eemalolev kaust %1 on loodud. - + The remote folder %1 already exists. Connecting it for syncing. Serveris on kataloog %1 juba olemas. Ühendan selle sünkroniseerimiseks. - + The folder creation resulted in HTTP error code %1 Kausta tekitamine lõppes HTTP veakoodiga %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Kataloogi loomine serverisse ebaõnnestus, kuna kasutajatõendid on valed!<br/>Palun kontrolli oma kasutajatunnust ja parooli.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Serveris oleva kataloogi tekitamine ebaõnnestus tõenäoliselt valede kasutajatunnuste tõttu.</font><br/>Palun mine tagasi ning kontrolli kasutajatunnust ning parooli.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Kataloogi %1 tekitamine serverisse ebaõnnestus veaga <tt>%2</tt> - + A sync connection from %1 to remote directory %2 was set up. Loodi sünkroniseerimisühendus kataloogist %1 serveri kataloogi %2 - + Successfully connected to %1! Edukalt ühendatud %1! - + Connection to %1 could not be established. Please check again. Ühenduse loomine %1 ebaõnnestus. Palun kontrolli uuesti. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Ei suuda eemaldada ning varundada kataloogi kuna kataloog või selles asuv fail on avatud mõne teise programmi poolt. Palun sulge kataloog või fail ning proovi uuesti või katkesta paigaldus. @@ -1283,7 +1283,7 @@ Selle kasutamine pole soovitatav. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Faili %1 ei saa alla laadida kuna on konflikt kohaliku faili nimega. @@ -1784,229 +1784,229 @@ Proovi neid uuesti sünkroniseerida. Mirall::SyncEngine - + Success. Korras. - + CSync failed to create a lock file. CSync lukustusfaili loomine ebaõnnestus. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync ei suutnud avada või luua registri faili. Tee kindlaks et sul on õigus lugeda ja kirjutada kohalikus sünkrooniseerimise kataloogis - + CSync failed to write the journal file. CSync ei suutnud luua registri faili. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Ei suuda laadida csync lisa %1.<br/>Palun kontrolli paigaldust!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Kliendi arvuti kellaeg erineb serveri omast. Palun kasuta õige aja hoidmiseks kella sünkroniseerimise teenust (NTP) nii serveris kui kliendi arvutites, et kell oleks kõikjal õige. - + CSync could not detect the filesystem type. CSync ei suutnud tuvastada failisüsteemi tüüpi. - + CSync got an error while processing internal trees. CSync sai vea sisemiste andmestruktuuride töötlemisel. - + CSync failed to reserve memory. CSync ei suutnud mälu reserveerida. - + CSync fatal parameter error. CSync parameetri saatuslik viga. - + CSync processing step update failed. CSync uuendusprotsess ebaõnnestus. - + CSync processing step reconcile failed. CSync tasakaalustuse protsess ebaõnnestus. - + CSync processing step propagate failed. CSync edasikandeprotsess ebaõnnestus. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Sihtkataloogi ei eksisteeri.</p><p>Palun kontrolli sünkroniseeringu seadistust</p> - + A remote file can not be written. Please check the remote access. Eemalolevasse faili ei saa kirjutada. Palun kontrolli kaugühenduse ligipääsu. - + The local filesystem can not be written. Please check permissions. Kohalikku failissüsteemi ei saa kirjutada. Palun kontrolli õiguseid. - + CSync failed to connect through a proxy. CSync ühendus läbi puhverserveri ebaõnnestus. - + CSync could not authenticate at the proxy. CSync ei suutnud puhverserveris autoriseerida. - + CSync failed to lookup proxy or server. Csync ei suuda leida puhverserverit. - + CSync failed to authenticate at the %1 server. CSync autoriseering serveris %1 ebaõnnestus. - + CSync failed to connect to the network. CSync võrguga ühendumine ebaõnnestus. - + A network connection timeout happened. Toimus võrgukatkestus. - + A HTTP transmission error happened. HTTP ülekande viga. - + CSync failed due to not handled permission deniend. CSync ebaõnnestus ligipääsu puudumisel. - + CSync failed to access CSyncile ligipääs ebaõnnestus - + CSync tried to create a directory that already exists. Csync proovis tekitada kataloogi, mis oli juba olemas. - - + + CSync: No space on %1 server available. CSync: Serveris %1 on ruum otsas. - + CSync unspecified error. CSync tuvastamatu viga. - + Aborted by the user Kasutaja poolt tühistatud - + An internal error number %1 happened. Tekkis sisemine viga number %1. - + The item is not synced because of previous errors: %1 Üksust ei sünkroniseeritud eelnenud vigade tõttu: %1 - + Symbolic links are not supported in syncing. Sümboolsed lingid ei ole sünkroniseerimisel toetatud. - + File is listed on the ignore list. Fail on märgitud ignoreeritavate nimistus. - + File contains invalid characters that can not be synced cross platform. Fail sisaldab sobimatuid sümboleid, mida ei saa sünkroniseerida erinevate platvormide vahel. - + Unable to initialize a sync journal. Ei suuda lähtestada sünkroniseeringu zurnaali. - + Cannot open the sync journal Ei suuda avada sünkroniseeringu zurnaali - + Not allowed because you don't have permission to add sub-directories in that directory Pole lubatud, kuna sul puuduvad õigused lisada sellesse kataloogi lisada alam-kataloogi - + Not allowed because you don't have permission to add parent directory Pole lubatud, kuna sul puuduvad õigused lisada ülemkataloog - + Not allowed because you don't have permission to add files in that directory Pole lubatud, kuna sul puuduvad õigused sellesse kataloogi faile lisada - + Not allowed to upload this file because it is read-only on the server, restoring Pole lubatud üles laadida, kuna tegemist on ainult-loetava serveriga, taastan - - + + Not allowed to remove, restoring Eemaldamine pole lubatud, taastan - + Move not allowed, item restored Liigutamine pole lubatud, üksus taastatud - + Move not allowed because %1 is read-only Liigutamien pole võimalik kuna %1 on ainult lugemiseks - + the destination sihtkoht - + the source allikas diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index dd8a69437..e84ce0fde 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -591,22 +591,22 @@ Ziur zaude eragiketa hau egin nahi duzula? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ez da E-Tagik jaso zerbitzaritik, egiaztatu Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Server returned wrong content-range - + Connection Timeout Konexioa denboraz kanpo @@ -1083,126 +1083,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Karpetaren berrizendatzeak huts egin du - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Bertako sinkronizazio %1 karpeta ongi sortu da!</b></font> - + Trying to connect to %1 at %2... %2 zerbitzarian dagoen %1 konektatzen... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Konexioa ongi burutu da %1 zerbitzarian: %2 bertsioa %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Errorea: Kredentzial okerrak. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Bertako %1 karpeta dagoeneko existitzen da, sinkronizaziorako prestatzen.<br/><br/> - + Creating local sync folder %1... Bertako sinkronizazio %1 karpeta sortzen... - + ok ados - + failed. huts egin du. - + Could not create local folder %1 Ezin da %1 karpeta lokala sortu - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! Ez da urruneko karpeta zehaztu! - + Error: %1 Errorea: %1 - + creating folder on ownCloud: %1 ownClouden karpeta sortzen: %1 - + Remote folder %1 created successfully. Urruneko %1 karpeta ongi sortu da. - + The remote folder %1 already exists. Connecting it for syncing. Urruneko %1 karpeta dagoeneko existintzen da. Bertara konetatuko da sinkronizatzeko. - + The folder creation resulted in HTTP error code %1 Karpeta sortzeak HTTP %1 errore kodea igorri du - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Huts egin du urrutiko karpeta sortzen emandako kredintzialak ez direlako zuzenak!<br/> Egin atzera eta egiaztatu zure kredentzialak.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Urruneko karpeten sortzeak huts egin du ziuraski emandako kredentzialak gaizki daudelako.</font><br/>Mesedez atzera joan eta egiaztatu zure kredentzialak.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Urruneko %1 karpetaren sortzeak huts egin du <tt>%2</tt> errorearekin. - + A sync connection from %1 to remote directory %2 was set up. Sinkronizazio konexio bat konfiguratu da %1 karpetatik urruneko %2 karpetara. - + Successfully connected to %1! %1-era ongi konektatu da! - + Connection to %1 could not be established. Please check again. %1 konexioa ezin da ezarri. Mesedez egiaztatu berriz. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1282,7 +1282,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1781,229 +1781,229 @@ Saiatu horiek berriz sinkronizatzen. Mirall::SyncEngine - + Success. Arrakasta. - + CSync failed to create a lock file. CSyncek huts egin du lock fitxategia sortzean. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csyncen %1 plugina ezin da kargatu.<br/>Mesedez egiaztatu instalazioa!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Bezero honetako sistemaren ordua zerbitzariarenaren ezberdina da. Mesedez erabili sinkronizazio zerbitzari bat (NTP) zerbitzari eta bezeroan orduak berdinak izan daitezen. - + CSync could not detect the filesystem type. CSyncek ezin du fitxategi sistema mota antzeman. - + CSync got an error while processing internal trees. CSyncek errorea izan du barne zuhaitzak prozesatzerakoan. - + CSync failed to reserve memory. CSyncek huts egin du memoria alokatzean. - + CSync fatal parameter error. CSync parametro larri errorea. - + CSync processing step update failed. CSync prozesatzearen eguneratu urratsak huts egin du. - + CSync processing step reconcile failed. CSync prozesatzearen berdinkatze urratsak huts egin du. - + CSync processing step propagate failed. CSync prozesatzearen hedatu urratsak huts egin du. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Helburu direktorioa ez da existitzen.</p><p>Egiazt6atu sinkronizazio konfigurazioa.</p> - + A remote file can not be written. Please check the remote access. Urruneko fitxategi bat ezin da idatzi. Mesedez egiaztatu urreneko sarbidea. - + The local filesystem can not be written. Please check permissions. Ezin da idatzi bertako fitxategi sisteman. Mesedez egiaztatu baimenak. - + CSync failed to connect through a proxy. CSyncek huts egin du proxiaren bidez konektatzean. - + CSync could not authenticate at the proxy. CSyncek ezin izan du proxya autentikatu. - + CSync failed to lookup proxy or server. CSyncek huts egin du zerbitzaria edo proxia bilatzean. - + CSync failed to authenticate at the %1 server. CSyncek huts egin du %1 zerbitzarian autentikatzean. - + CSync failed to connect to the network. CSyncek sarera konektatzean huts egin du. - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP transmisio errore bat gertatu da. - + CSync failed due to not handled permission deniend. CSyncek huts egin du kudeatu gabeko baimen ukapen bat dela eta. - + CSync failed to access - + CSync tried to create a directory that already exists. CSyncek dagoeneko existitzen zen karpeta bat sortzen saiatu da. - - + + CSync: No space on %1 server available. CSync: Ez dago lekurik %1 zerbitzarian. - + CSync unspecified error. CSyncen zehaztugabeko errorea. - + Aborted by the user Erabiltzaileak bertan behera utzita - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. Esteka sinbolikoak ezin dira sinkronizatu. - + File is listed on the ignore list. Fitxategia baztertutakoen zerrendan dago. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. Ezin izan da sinkronizazio egunerokoa hasieratu. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 19f8ccee7..90da25612 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -588,22 +588,22 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Server returned wrong content-range - + Connection Timeout @@ -1077,126 +1077,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed تغییر نام پوشه ناموفق بود - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b> پوشه همگام سازی محلی %1 با موفقیت ساخته شده است!</b></font> - + Trying to connect to %1 at %2... تلاش برای اتصال %1 به %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green"> با موفقیت متصل شده است به %1: %2 نسخه %3 (%4)</font><br/><br/> - + Error: Wrong credentials. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> پوشه همگام سازی محلی %1 در حال حاضر موجود است، تنظیم آن برای همگام سازی. <br/><br/> - + Creating local sync folder %1... ایجاد پوشه همگام سازی محلی %1... - + ok خوب - + failed. ناموفق. - + Could not create local folder %1 نمی تواند پوشه محلی ایجاد کند %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 خطا: %1 - + creating folder on ownCloud: %1 ایجاد کردن پوشه بر روی ownCloud: %1 - + Remote folder %1 created successfully. پوشه از راه دور %1 با موفقیت ایجاد شده است. - + The remote folder %1 already exists. Connecting it for syncing. در حال حاضر پوشه از راه دور %1 موجود است. برای همگام سازی به آن متصل شوید. - + The folder creation resulted in HTTP error code %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> ایجاد پوشه از راه دور ناموفق بود به علت اینکه اعتبارهای ارائه شده اشتباه هستند!<br/>لطفا اعتبارهای خودتان را بررسی کنید.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red"> ایجاد پوشه از راه دور ناموفق بود، شاید به علت اعتبارهایی که ارئه شده اند، اشتباه هستند.</font><br/> لطفا باز گردید و اعتبار خود را بررسی کنید.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. ایجاد پوشه از راه دور %1 ناموفق بود با خطا <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. یک اتصال همگام سازی از %1 تا %2 پوشه از راه دور راه اندازی شد. - + Successfully connected to %1! با موفقیت به %1 اتصال یافت! - + Connection to %1 could not be established. Please check again. اتصال به %1 نمی تواند مقرر باشد. لطفا دوباره بررسی کنید. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1276,7 +1276,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1774,229 +1774,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. موفقیت - + CSync failed to create a lock file. CSync موفق به ایجاد یک فایل قفل شده، نشد. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>ماژول %1 برای csync نمی تواند بارگذاری شود.<br/>لطفا نصب را بررسی کنید!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. سیستم زمان بر روی این مشتری با سیستم زمان بر روی سرور متفاوت است.لطفا از خدمات هماهنگ سازی زمان (NTP) بر روی ماشین های سرور و کلاینت استفاده کنید تا زمان ها یکسان باقی بمانند. - + CSync could not detect the filesystem type. CSync نوع فایل های سیستم را نتوانست تشخیص بدهد. - + CSync got an error while processing internal trees. CSync هنگام پردازش درختان داخلی یک خطا دریافت نمود. - + CSync failed to reserve memory. CSync موفق به رزرو حافظه نشد است. - + CSync fatal parameter error. - + CSync processing step update failed. مرحله به روز روسانی پردازش CSync ناموفق بود. - + CSync processing step reconcile failed. مرحله تطبیق پردازش CSync ناموفق بود. - + CSync processing step propagate failed. مرحله گسترش پردازش CSync ناموفق بود. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>پوشه هدف وجود ندارد.</p><p>لطفا راه اندازی همگام سازی را بررسی کنید.</p> - + A remote file can not be written. Please check the remote access. یک فایل از راه دور نمی تواند نوشته شود. لطفا دسترسی از راه دور را بررسی نمایید. - + The local filesystem can not be written. Please check permissions. بر روی فایل سیستمی محلی نمی توانید چیزی بنویسید.لطفا مجوزش را بررسی کنید. - + CSync failed to connect through a proxy. عدم موفقیت CSync برای اتصال از طریق یک پروکسی. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. عدم موفقیت CSync برای مراجعه به پروکسی یا سرور. - + CSync failed to authenticate at the %1 server. عدم موفقیت CSync برای اعتبار دادن در %1 سرور. - + CSync failed to connect to the network. عدم موفقیت CSync برای اتصال به شبکه. - + A network connection timeout happened. - + A HTTP transmission error happened. خطا در انتقال HTTP اتفاق افتاده است. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync برای ایجاد یک پوشه که در حال حاضر موجود است تلاش کرده است. - - + + CSync: No space on %1 server available. CSync: فضا در %1 سرور در دسترس نیست. - + CSync unspecified error. خطای نامشخص CSync - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 952986741..7800096aa 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -589,22 +589,22 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Server returned wrong content-range - + Connection Timeout Yhteys aikakatkaistiin @@ -1080,126 +1080,126 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::OwncloudSetupWizard - + Folder rename failed Kansion nimen muuttaminen epäonnistui - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Paikallinen synkronointikansio %1 luotu onnistuneesti!</b></font> - + Trying to connect to %1 at %2... Yritetään yhdistetää palvelimeen %1 portissa %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Muodostettu yhteys onnistuneesti kohteeseen %1: %2 versio %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Virhe: väärät tilitiedot. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Paikallinen kansio %1 on jo olemassa, asetetaan se synkronoitavaksi.<br/><br/> - + Creating local sync folder %1... Luodaan paikallista synkronointikansiota %1... - + ok ok - + failed. epäonnistui. - + Could not create local folder %1 Paikalliskansion %1 luonti epäonnistui - - + + Failed to connect to %1 at %2:<br/>%3 Yhteys %1iin osoitteessa %2 epäonnistui:<br/>%3 - + No remote folder specified! Etäkansiota ei määritelty! - + Error: %1 Virhe: %1 - + creating folder on ownCloud: %1 luodaan kansio ownCloudiin: %1 - + Remote folder %1 created successfully. Etäkansio %1 luotiin onnistuneesti. - + The remote folder %1 already exists. Connecting it for syncing. Etäkansio %1 on jo olemassa. Otetaan siihen yhteyttä tiedostojen täsmäystä varten. - + The folder creation resulted in HTTP error code %1 Kansion luonti aiheutti HTTP-virhekoodin %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Etäkansion luominen epäonnistui koska antamasi tunnus/salasana ei täsmää!<br/>Ole hyvä ja palaa tarkistamaan tunnus/salasana</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Pilvipalvelun etäkansion luominen ei onnistunut , koska tunnistautumistietosi ovat todennäköisesti väärin.</font><br/>Palaa takaisin ja tarkista käyttäjätunnus ja salasana.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Etäkansion %1 luonti epäonnistui, virhe <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Täsmäysyhteys kansiosta %1 etäkansioon %2 on asetettu. - + Successfully connected to %1! Yhteys kohteeseen %1 muodostettiin onnistuneesti! - + Connection to %1 could not be established. Please check again. Yhteyttä osoitteeseen %1 ei voitu muodostaa. Ole hyvä ja tarkista uudelleen. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1279,7 +1279,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1779,229 +1779,229 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::SyncEngine - + Success. Onnistui. - + CSync failed to create a lock file. Csync ei onnistunut luomaan lukitustiedostoa. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1-liitännäistä csyncia varten ei voitu ladata.<br/>Varmista asennuksen toimivuus!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Tämän koneen järjestelmäaika on erilainen verrattuna palvelimen aikaan. Käytä NTP-palvelua kummallakin koneella, jotta kellot pysyvät samassa ajassa. Muuten tiedostojen synkronointi ei toimi. - + CSync could not detect the filesystem type. Csync-synkronointipalvelu ei kyennyt tunnistamaan tiedostojärjestelmän tyyppiä. - + CSync got an error while processing internal trees. Csync-synkronointipalvelussa tapahtui virhe sisäisten puurakenteiden prosessoinnissa. - + CSync failed to reserve memory. CSync ei onnistunut varaamaan muistia. - + CSync fatal parameter error. - + CSync processing step update failed. - + CSync processing step reconcile failed. - + CSync processing step propagate failed. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Kohdekansiota ei ole olemassa.</p><p>Tarkasta synkronointiasetuksesi.</p> - + A remote file can not be written. Please check the remote access. Etätiedostoa ei pystytä kirjoittamaan. Tarkista, että etäpääsy toimii. - + The local filesystem can not be written. Please check permissions. Paikalliseen tiedostojärjestelmään kirjoittaminen epäonnistui. Tarkista kansion oikeudet. - + CSync failed to connect through a proxy. CSync ei onnistunut muodostamaan yhteyttä välityspalvelimen välityksellä. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. - + CSync failed to authenticate at the %1 server. - + CSync failed to connect to the network. CSync ei onnistunut yhdistämään verkkoon. - + A network connection timeout happened. Tapahtui verkon aikakatkaisu. - + A HTTP transmission error happened. Tapahtui HTTP-välitysvirhe. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync yritti luoda olemassa olevan kansion. - - + + CSync: No space on %1 server available. CSync: %1-palvelimella ei ole tilaa vapaana. - + CSync unspecified error. CSync - määrittämätön virhe. - + Aborted by the user Keskeytetty käyttäjän toimesta - + An internal error number %1 happened. Ilmeni sisäinen virhe, jonka numero on %1. - + The item is not synced because of previous errors: %1 Kohdetta ei synkronoitu aiempien virheiden vuoksi: %1 - + Symbolic links are not supported in syncing. Symboliset linkit eivät ole tuettuja synkronoinnissa. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory Ei sallittu, koska sinulla ei ole oikeutta lisätä tiedostoja kyseiseen kansioon - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring Poistaminen ei ole sallittua, palautetaan - + Move not allowed, item restored Siirtäminen ei ole sallittua, kohde palautettu - + Move not allowed because %1 is read-only Siirto ei ole sallittu, koska %1 on "vain luku"-tilassa - + the destination kohde - + the source lähde diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index 1e2897274..f4a076295 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -591,22 +591,22 @@ Voulez-vous réellement effectuer cette opération ? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Aucun E-Tag reçu du serveur, vérifiez le proxy / la passerelle - + We received a different E-Tag for resuming. Retrying next time. Nous avons reçu un E-Tag différent pour reprendre le téléchargement. Nouvel essai la prochaine fois. - + Server returned wrong content-range - + Connection Timeout Temps de connexion expiré @@ -1084,126 +1084,126 @@ Il est déconseillé de l'utiliser. Mirall::OwncloudSetupWizard - + Folder rename failed Echec du renommage du dossier - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Dossier de synchronisation local %1 créé avec succès !</b></font> - + Trying to connect to %1 at %2... Tentative de connexion de %1 à %2 ... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Connecté avec succès à %1: %2 version %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Erreur : paramètres de connexion invalides. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Le dossier de synchronisation local %1 existe déjà, configuration de la synchronisation.<br/><br/> - + Creating local sync folder %1... Création du dossier de synchronisation local %1 … - + ok ok - + failed. échoué. - + Could not create local folder %1 Impossible de créer le répertoire local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Échec de la connexion à %1 pour %2:<br/>%3 - + No remote folder specified! Aucun dossier distant n'est spécifié ! - + Error: %1 Erreur : %1 - + creating folder on ownCloud: %1 création d'un répertoire sur ownCloud : %1 - + Remote folder %1 created successfully. Le dossier distant %1 a été créé avec succès. - + The remote folder %1 already exists. Connecting it for syncing. Le dossier distant %1 existe déjà. Veuillez vous y connecter pour la synchronisation. - + The folder creation resulted in HTTP error code %1 La création du dossier a généré le code d'erreur HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> La création du répertoire distant a échoué car les identifiants de connexion sont erronés !<br/>Veuillez revenir en arrière et vérifier ces derniers.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">La création du dossier distant a échoué probablement parce que les informations d'identification fournies sont fausses.</font><br/>Veuillez revenir à l'étape précédente et vérifier vos informations d'identification.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. La création du dossier distant "%1" a échouée avec l'erreur <tt>%2</tt> - + A sync connection from %1 to remote directory %2 was set up. Une synchronisation entre le dossier local %1 et le dossier distant %2 a été configurée. - + Successfully connected to %1! Connecté avec succès à %1! - + Connection to %1 could not be established. Please check again. La connexion à %1 n'a pu être établie. Essayez encore svp. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Impossible de supprimer et de sauvegarder le dossier parce que ce dossier ou un de ces fichiers est ouvert dans un autre programme. Veuillez fermer le dossier ou le fichier et cliquez sur ré-essayer ou annuler l'installation. @@ -1283,7 +1283,7 @@ Il est déconseillé de l'utiliser. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! File %1 ne peut pas être téléchargé en raison d'un conflit sur le nom du fichier local. @@ -1784,229 +1784,229 @@ Il est déconseillé de l'utiliser. Mirall::SyncEngine - + Success. Succès. - + CSync failed to create a lock file. CSync n'a pas pu créer le fichier de verrouillage. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync n’a pu charger ou créer le fichier de journalisation. Veuillez vérifier que vous possédez les droits en lecture/écriture dans le répertoire de synchronisation local. - + CSync failed to write the journal file. CSync n’a pu écrire le fichier de journalisation. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Le plugin %1 pour csync n'a pas pu être chargé.<br/>Merci de vérifier votre installation !</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'heure du client est différente de l'heure du serveur. Veuillez utiliser un service de synchronisation du temps (NTP) sur le serveur et le client afin que les horloges soient à la même heure. - + CSync could not detect the filesystem type. CSync n'a pas pu détecter le type de système de fichier. - + CSync got an error while processing internal trees. CSync obtient une erreur pendant le traitement des arbres internes. - + CSync failed to reserve memory. Erreur lors de l'allocation mémoire par CSync. - + CSync fatal parameter error. Erreur fatale CSync : mauvais paramètre. - + CSync processing step update failed. Erreur CSync lors de l'opération de mise à jour - + CSync processing step reconcile failed. Erreur CSync lors de l'opération d'harmonisation - + CSync processing step propagate failed. Erreur CSync lors de l'opération de propagation - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Le répertoire cible n'existe pas.</p><p>Veuillez vérifier la configuration de la synchronisation.</p> - + A remote file can not be written. Please check the remote access. Un fichier distant ne peut être écrit. Veuillez vérifier l’accès distant. - + The local filesystem can not be written. Please check permissions. Le système de fichiers local n'est pas accessible en écriture. Veuillez vérifier les permissions. - + CSync failed to connect through a proxy. CSync n'a pu établir une connexion à travers un proxy. - + CSync could not authenticate at the proxy. CSync ne peut s'authentifier auprès du proxy. - + CSync failed to lookup proxy or server. CSync n'a pu trouver un proxy ou serveur auquel se connecter. - + CSync failed to authenticate at the %1 server. CSync n'a pu s'authentifier auprès du serveur %1. - + CSync failed to connect to the network. CSync n'a pu établir une connexion au réseau. - + A network connection timeout happened. - + A HTTP transmission error happened. Une erreur de transmission HTTP s'est produite. - + CSync failed due to not handled permission deniend. CSync a échoué en raison d'une erreur de permission non prise en charge. - + CSync failed to access Echec de CSync pour accéder - + CSync tried to create a directory that already exists. CSync a tenté de créer un répertoire déjà présent. - - + + CSync: No space on %1 server available. CSync : Aucun espace disponibla sur le serveur %1. - + CSync unspecified error. Erreur CSync inconnue. - + Aborted by the user Abandonné par l'utilisateur - + An internal error number %1 happened. Une erreur interne numéro %1 s'est produite. - + The item is not synced because of previous errors: %1 Cet élément n'a pas été synchronisé en raison des erreurs précédentes : %1 - + Symbolic links are not supported in syncing. Les liens symboliques ne sont pas supportés par la synchronisation. - + File is listed on the ignore list. Le fichier est présent dans la liste de fichiers à ignorer. - + File contains invalid characters that can not be synced cross platform. Le fichier contient des caractères invalides qui ne peuvent être synchronisés entre plate-formes. - + Unable to initialize a sync journal. Impossible d'initialiser un journal de synchronisation. - + Cannot open the sync journal Impossible d'ouvrir le journal de synchronisation - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory Non autorisé parce-que vous n'avez pas la permission d'ajouter des fichiers dans ce dossier - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only Déplacement non autorisé car %1 est en mode lecture seule - + the destination la destination - + the source la source diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index 7cf6f5070..b6e6296f5 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -591,22 +591,22 @@ Confirma que quere realizar esta operación? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Non se recibiu a «E-Tag» do servidor, comprobe o proxy e/ou a pasarela - + We received a different E-Tag for resuming. Retrying next time. Recibiuse unha «E-Tag» diferente para continuar. Tentándoo outra vez. - + Server returned wrong content-range O servidor devolveu un intervalo de contidos estragado - + Connection Timeout Esgotouse o tempo de conexión @@ -1084,126 +1084,126 @@ Recomendámoslle que non o use. Mirall::OwncloudSetupWizard - + Folder rename failed Non foi posíbel renomear o cartafol - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>O cartafol local de sincronización %1 creouse correctamente!</b></font> - + Trying to connect to %1 at %2... Tentando conectarse a %1 en %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Conectouse correctamente a %1: %2 versión %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Erro: Credenciais incorrectas. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> O cartafol de sincronización local %1 xa existe. Configurándoo para a sincronización.<br/><br/> - + Creating local sync folder %1... Creando un cartafol local de sincronización %1... - + ok aceptar - + failed. fallou. - + Could not create local folder %1 Non foi posíbel crear o cartafol local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Non foi posíbel conectar con %1 en %2:<br/>%3 - + No remote folder specified! Non foi especificado o cartafol remoto! - + Error: %1 Erro: %1 - + creating folder on ownCloud: %1 creando o cartafol en ownCloud: %1 - + Remote folder %1 created successfully. O cartafol remoto %1 creouse correctamente. - + The remote folder %1 already exists. Connecting it for syncing. O cartafol remoto %1 xa existe. Conectándoo para a sincronización. - + The folder creation resulted in HTTP error code %1 A creación do cartafol resultou nun código de erro HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> A creación do cartafol remoto fracasou por por de seren incorrectas as credenciais!<br/>Volva atrás e comprobe as súas credenciais.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">A creación do cartafol remoto fallou probabelmente debido a que as credenciais que se deron non foran as correctas.</font><br/>Volva atrás e comprobe as súas credenciais.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Produciuse un fallo ao crear o cartafol remoto %1 e dou o erro <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Estabeleceuse a conexión de sincronización de %1 ao directorio remoto %2. - + Successfully connected to %1! Conectou satisfactoriamente con %1 - + Connection to %1 could not be established. Please check again. Non foi posíbel estabelecer a conexión con %1. Compróbeo de novo. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Non é posíbel retirar e facer copia de seguranza do cartafol, xa que o cartafol ou un ficheiro está aberto noutro programa Peche o cartafol ou o ficheiro e tenteo de novo, ou cancele a acción. @@ -1283,7 +1283,7 @@ Recomendámoslle que non o use. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Non é posíbel descargar o ficheiro %1 por mor dunha colisión co nome dun ficheiro local! @@ -1784,229 +1784,229 @@ Tente sincronizalos de novo. Mirall::SyncEngine - + Success. Correcto. - + CSync failed to create a lock file. Produciuse un fallo en CSync ao crear un ficheiro de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Produciuse un fallo do Csync ao cargar ou crear o ficheiro de rexistro. Asegúrese de que ten permisos de lectura e escritura no directorio de sincronización local. - + CSync failed to write the journal file. Produciuse un fallo en CSync ao escribir o ficheiro de rexistro. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Non foi posíbel cargar o engadido %1 para CSync.<br/>Verifique a instalación!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A diferenza de tempo neste cliente e diferente do tempo do sistema no servidor. Use o servido de sincronización de tempo (NTP) no servidor e nas máquinas cliente para que os tempos se manteñan iguais. - + CSync could not detect the filesystem type. CSync non pode detectar o tipo de sistema de ficheiros. - + CSync got an error while processing internal trees. CSync tivo un erro ao procesar árbores internas. - + CSync failed to reserve memory. Produciuse un fallo ao reservar memoria para CSync. - + CSync fatal parameter error. Produciuse un erro fatal de parámetro CSync. - + CSync processing step update failed. Produciuse un fallo ao procesar o paso de actualización de CSync. - + CSync processing step reconcile failed. Produciuse un fallo ao procesar o paso de reconciliación de CSync. - + CSync processing step propagate failed. Produciuse un fallo ao procesar o paso de propagación de CSync. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Non existe o directorio de destino.</p><p>Comprobe a configuración da sincronización.</p> - + A remote file can not be written. Please check the remote access. Non é posíbel escribir un ficheiro remoto. Comprobe o acceso remoto. - + The local filesystem can not be written. Please check permissions. Non é posíbel escribir no sistema de ficheiros local. Comprobe os permisos. - + CSync failed to connect through a proxy. CSYNC no puido conectarse a través dun proxy. - + CSync could not authenticate at the proxy. CSync non puido autenticarse no proxy. - + CSync failed to lookup proxy or server. CSYNC no puido atopar o servidor proxy. - + CSync failed to authenticate at the %1 server. CSync non puido autenticarse no servidor %1. - + CSync failed to connect to the network. CSYNC no puido conectarse á rede. - + A network connection timeout happened. Excedeuse do tempo de espera para a conexión á rede. - + A HTTP transmission error happened. Produciuse un erro na transmisión HTTP. - + CSync failed due to not handled permission deniend. Produciuse un fallo en CSync por mor dun permiso denegado. - + CSync failed to access Produciuse un fallo ao acceder a CSync - + CSync tried to create a directory that already exists. CSYNC tenta crear un directorio que xa existe. - - + + CSync: No space on %1 server available. CSync: Non hai espazo dispoñíbel no servidor %1. - + CSync unspecified error. Produciuse un erro non especificado de CSync - + Aborted by the user Interrompido polo usuario - + An internal error number %1 happened. Produciuse un erro interno número %1 - + The item is not synced because of previous errors: %1 Este elemento non foi sincronizado por mor de erros anteriores: %1 - + Symbolic links are not supported in syncing. As ligazóns simbolicas non son admitidas nas sincronizacións - + File is listed on the ignore list. O ficheiro está na lista de ignorados. - + File contains invalid characters that can not be synced cross platform. O ficheiro conten caracteres incorrectos que non poden sincronizarse entre distintas plataformas. - + Unable to initialize a sync journal. Non é posíbel iniciar un rexistro de sincronización. - + Cannot open the sync journal Non foi posíbel abrir o rexistro de sincronización - + Not allowed because you don't have permission to add sub-directories in that directory Non está permitido xa que non ten permiso para engadir subdirectorios nese directorio - + Not allowed because you don't have permission to add parent directory Non está permitido xa que non ten permiso para engadir un directorio pai - + Not allowed because you don't have permission to add files in that directory Non está permitido xa que non ten permiso para engadir ficheiros nese directorio - + Not allowed to upload this file because it is read-only on the server, restoring Non está permitido o envío xa que o ficheiro é só de lectura no servidor, restaurando - - + + Not allowed to remove, restoring Non está permitido retiralo, restaurando - + Move not allowed, item restored Nos está permitido movelo, elemento restaurado - + Move not allowed because %1 is read-only Bon está permitido movelo xa que %1 é só de lectura - + the destination o destino - + the source a orixe diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index 2c03b9bc9..366e74bc2 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -588,22 +588,22 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Server returned wrong content-range - + Connection Timeout @@ -1077,126 +1077,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed A mappa átnevezése nem sikerült - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Helyi %1 szinkronizációs mappa sikeresen létrehozva!</b></font> - + Trying to connect to %1 at %2... Próbál kapcsolódni az %1-hoz: %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Sikeresen csatlakozott az %1-hoz: %2 verziószám %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Hiba: rossz azonosítási adatok - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> A helyi %1 mappa már létezik, állítsa be a szinkronizálódását.<br/><br/> - + Creating local sync folder %1... Helyi %1 szinkronizációs mappa létrehozása... - + ok ok - + failed. sikertelen. - + Could not create local folder %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 Hiba: %1 - + creating folder on ownCloud: %1 - + Remote folder %1 created successfully. %1 távoli nappa sikeresen létrehozva. - + The remote folder %1 already exists. Connecting it for syncing. A %1 távoli mappa már létezik. Csatlakoztassa a szinkronizációhoz. - + The folder creation resulted in HTTP error code %1 A könyvtár létrehozásakor keletkezett HTTP hibakód %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">A távoli mappa létrehozása sikertelen, valószínűleg mivel hibásak a megdott hitelesítési adatok.</font><br/>Lépjen vissza és ellenőrizze a belépési adatokat.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. A távoli %1 mappa létrehozása nem sikerült. Hibaüzenet: <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. A szinkronizációs kapcsolat a %1 és a %2 távoli mappa között létrejött. - + Successfully connected to %1! Sikeresen csatlakozva: %1! - + Connection to %1 could not be established. Please check again. A kapcsolat a %1 kiszolgálóhoz sikertelen. Ellenőrizze újra. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1276,7 +1276,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1774,229 +1774,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Sikerült. - + CSync failed to create a lock file. A CSync nem tudott létrehozni lock fájlt. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Az %1 beépülőmodul a csync-hez nem tölthető be.<br/>Ellenőrizze a telepítést!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A helyi rendszeridő különbözik a kiszolgáló rendszeridejétől. Használjon időszinkronizációs szolgáltatást (NTP) a rendszerén és a szerveren is, hogy az idő mindig megeggyezzen. - + CSync could not detect the filesystem type. A CSync nem tudta megállapítani a fájlrendszer típusát. - + CSync got an error while processing internal trees. A CSync hibába ütközött a belső adatok feldolgozása közben. - + CSync failed to reserve memory. Hiba a CSync memórifoglalásakor. - + CSync fatal parameter error. CSync hibás paraméterhiba. - + CSync processing step update failed. CSync frissítés feldolgozása meghíusult. - + CSync processing step reconcile failed. CSync egyeztetési lépés meghíusult. - + CSync processing step propagate failed. CSync propagálási lépés meghíusult. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>A célmappa nem létezik.</p><p>Ellenőrizze a sync beállításait.</p> - + A remote file can not be written. Please check the remote access. Egy távoli fájl nem írható. Kérlek, ellenőrizd a távoli elérést. - + The local filesystem can not be written. Please check permissions. A helyi fájlrendszer nem írható. Kérlek, ellenőrizd az engedélyeket. - + CSync failed to connect through a proxy. CSync proxy kapcsolódási hiba. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. A CSync nem találja a proxy kiszolgálót. - + CSync failed to authenticate at the %1 server. A CSync nem tuja azonosítani magát a %1 kiszolgálón. - + CSync failed to connect to the network. CSync hálózati kapcsolódási hiba. - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP átviteli hiba történt. - + CSync failed due to not handled permission deniend. CSync hiba, nincs kezelési jogosultság. - + CSync failed to access - + CSync tried to create a directory that already exists. A CSync megpróbált létrehozni egy már létező mappát. - - + + CSync: No space on %1 server available. CSync: Nincs szabad tárhely az %1 kiszolgálón. - + CSync unspecified error. CSync ismeretlen hiba. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 6159f7666..27eae5cac 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -591,22 +591,22 @@ Sei sicuro di voler eseguire questa operazione? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nessun e-tag ricevuto dal server, controlla il proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Abbiamo ricevuto un e-tag diverso per il recupero. Riprova più tardi. - + Server returned wrong content-range Il server ha restituito un content-range errato - + Connection Timeout Connessione scaduta @@ -1083,126 +1083,126 @@ Non è consigliabile utilizzarlo. Mirall::OwncloudSetupWizard - + Folder rename failed Rinomina cartella non riuscita - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Cartella locale %1 creta correttamente!</b></font> - + Trying to connect to %1 at %2... Tentativo di connessione a %1 su %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Connesso correttamente a %1: %2 versione %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Errore: credenziali non valide. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> La cartella di sincronizzazione locale %1 esiste già, impostata per la sincronizzazione.<br/><br/> - + Creating local sync folder %1... Creazione della cartella locale di sincronizzazione %1 in corso... - + ok ok - + failed. non riuscita. - + Could not create local folder %1 Impossibile creare la cartella locale %1 - - + + Failed to connect to %1 at %2:<br/>%3 Connessione a %1 su %2:<br/>%3 - + No remote folder specified! Nessuna cartella remota specificata! - + Error: %1 Errore: %1 - + creating folder on ownCloud: %1 creazione cartella su ownCloud: %1 - + Remote folder %1 created successfully. La cartella remota %1 è stata creata correttamente. - + The remote folder %1 already exists. Connecting it for syncing. La cartella remota %1 esiste già. Connessione in corso per la sincronizzazione - + The folder creation resulted in HTTP error code %1 La creazione della cartella ha restituito un codice di errore HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> La creazione della cartella remota non è riuscita poiché le credenziali fornite sono errate!<br/>Torna indietro e verifica le credenziali.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">La creazione della cartella remota non è riuscita probabilmente perché le credenziali fornite non sono corrette.</font><br/>Torna indietro e controlla le credenziali inserite.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Creazione della cartella remota %1 non riuscita con errore <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Una connessione di sincronizzazione da %1 alla cartella remota %2 è stata stabilita. - + Successfully connected to %1! Connessi con successo a %1! - + Connection to %1 could not be established. Please check again. La connessione a %1 non può essere stabilita. Prova ancora. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Impossibile rimuovere o creare una copia di sicurezza della cartella poiché la cartella o un file in essa contenuto è aperta in un altro programma. Chiudi la cartella o il file e premi Riprova o annulla la configurazione. @@ -1282,7 +1282,7 @@ Non è consigliabile utilizzarlo. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Il file %1 non può essere scaricato a causa di un conflitto con un file locale. @@ -1783,229 +1783,229 @@ Prova a sincronizzare nuovamente. Mirall::SyncEngine - + Success. Successo. - + CSync failed to create a lock file. CSync non è riuscito a creare il file di lock. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync non è riuscito a caricare o a creare il file di registro. Assicurati di avere i permessi di lettura e scrittura nella cartella di sincronizzazione locale. - + CSync failed to write the journal file. CSync non è riuscito a scrivere il file di registro. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Il plugin %1 per csync non può essere caricato.<br/>Verifica l'installazione!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'ora di sistema su questo client è diversa dall'ora di sistema del server. Usa un servizio di sincronizzazione dell'orario (NTP) sul server e sulle macchine client in modo che l'ora sia la stessa. - + CSync could not detect the filesystem type. CSync non è riuscito a individuare il tipo di filesystem. - + CSync got an error while processing internal trees. Errore di CSync durante l'elaborazione degli alberi interni. - + CSync failed to reserve memory. CSync non è riuscito a riservare la memoria. - + CSync fatal parameter error. Errore grave di parametro di CSync. - + CSync processing step update failed. La fase di aggiornamento di CSync non è riuscita. - + CSync processing step reconcile failed. La fase di riconciliazione di CSync non è riuscita. - + CSync processing step propagate failed. La fase di propagazione di CSync non è riuscita. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>La cartella di destinazione non esiste.</p><p>Controlla la configurazione della sincronizzazione.</p> - + A remote file can not be written. Please check the remote access. Un file remoto non può essere scritto. Controlla l'accesso remoto. - + The local filesystem can not be written. Please check permissions. Il filesystem locale non può essere scritto. Controlla i permessi. - + CSync failed to connect through a proxy. CSync non è riuscito a connettersi tramite un proxy. - + CSync could not authenticate at the proxy. CSync non è in grado di autenticarsi al proxy. - + CSync failed to lookup proxy or server. CSync non è riuscito a trovare un proxy o server. - + CSync failed to authenticate at the %1 server. CSync non è riuscito ad autenticarsi al server %1. - + CSync failed to connect to the network. CSync non è riuscito a connettersi alla rete. - + A network connection timeout happened. Si è verificato un timeout della connessione di rete. - + A HTTP transmission error happened. Si è verificato un errore di trasmissione HTTP. - + CSync failed due to not handled permission deniend. Problema di CSync dovuto alla mancata gestione dei permessi. - + CSync failed to access CSync non è riuscito ad accedere - + CSync tried to create a directory that already exists. CSync ha cercato di creare una cartella già esistente. - - + + CSync: No space on %1 server available. CSync: spazio insufficiente sul server %1. - + CSync unspecified error. Errore non specificato di CSync. - + Aborted by the user Interrotto dall'utente - + An internal error number %1 happened. SI è verificato un errore interno numero %1. - + The item is not synced because of previous errors: %1 L'elemento non è sincronizzato a causa dell'errore precedente: %1 - + Symbolic links are not supported in syncing. I collegamenti simbolici non sono supportati dalla sincronizzazione. - + File is listed on the ignore list. Il file è stato aggiunto alla lista ignorati. - + File contains invalid characters that can not be synced cross platform. Il file contiene caratteri non validi che non possono essere sincronizzati su diverse piattaforme. - + Unable to initialize a sync journal. Impossibile inizializzare il registro di sincronizzazione. - + Cannot open the sync journal Impossibile aprire il registro di sincronizzazione - + Not allowed because you don't have permission to add sub-directories in that directory Non consentito poiché non disponi dei permessi per aggiungere sottocartelle in quella cartella - + Not allowed because you don't have permission to add parent directory Non consentito poiché non disponi dei permessi per aggiungere la cartella superiore - + Not allowed because you don't have permission to add files in that directory Non consentito poiché non disponi dei permessi per aggiungere file in quella cartella - + Not allowed to upload this file because it is read-only on the server, restoring Il caricamento di questo file non è consentito poiché è in sola lettura sul server, ripristino - - + + Not allowed to remove, restoring Rimozione non consentita, ripristino - + Move not allowed, item restored Spostamento non consentito, elemento ripristinato - + Move not allowed because %1 is read-only Spostamento non consentito poiché %1 è in sola lettura - + the destination la destinazione - + the source l'origine diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index 3e550fb90..afcedc01f 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -591,22 +591,22 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway サーバーからE-Tagを受信できません。プロキシ/ゲートウェイを確認してください。 - + We received a different E-Tag for resuming. Retrying next time. 同期再開時に違う E-Tagを受信しました。次回リトライします。 - + Server returned wrong content-range サーバーが間違ったcontent-rangeを返しました - + Connection Timeout 接続タイムアウト @@ -1082,126 +1082,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed フォルダー名の変更に失敗しました。 - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>ローカルの同期フォルダー %1 は正常に作成されました!</b></font> - + Trying to connect to %1 at %2... %2 の %1 へ接続を試みています... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">正常に %1 へ接続されました:%2 バージョン %3 (%4)</font><br/><br/> - + Error: Wrong credentials. エラー:資格情報が間違っています。 - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> ローカルの同期フォルダー %1 はすでに存在するため、同期の設定をしてください。<br/><br/> - + Creating local sync folder %1... ローカルの同期フォルダー %1 を作成中... - + ok OK - + failed. 失敗。 - + Could not create local folder %1 ローカルフォルダー %1 を作成できませんでした - - + + Failed to connect to %1 at %2:<br/>%3 %2 の %1 に接続に失敗:<br/>%3 - + No remote folder specified! リモートフォルダーが指定されていません! - + Error: %1 エラー: %1 - + creating folder on ownCloud: %1 ownCloud上にフォルダーを作成中: %1 - + Remote folder %1 created successfully. リモートフォルダー %1 は正常に生成されました。 - + The remote folder %1 already exists. Connecting it for syncing. リモートフォルダー %1 はすでに存在します。同期のために接続しています。 - + The folder creation resulted in HTTP error code %1 フォルダーの作成はHTTPのエラーコード %1 で終了しました - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> 指定された資格情報が間違っているため、リモートフォルダーの作成に失敗しました!<br/>前に戻って資格情報を確認してください。</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">おそらく資格情報が間違っているため、リモートフォルダーの作成に失敗しました。</font><br/>前に戻り、資格情報をチェックしてください。</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. リモートフォルダー %1 の作成がエラーで失敗しました。<tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. %1 からリモートディレクトリ %2 への同期接続を設定しました。 - + Successfully connected to %1! %1への接続に成功しました! - + Connection to %1 could not be established. Please check again. %1 への接続を確立できませんでした。もう一度確認してください。 - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. フォルダーまたはその中にあるファイルが他のプログラムで開かれているため、フォルダーの削除やバックアップができません。フォルダーまたはファイルを閉じてから再試行するか、セットアップをキャンセルしてください。 @@ -1281,7 +1281,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! ファイル %1 はローカルファイル名が衝突しているためダウンロードできません! @@ -1782,229 +1782,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSyncがロックファイルの作成に失敗しました。 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSyncはジャーナルファイルの読み込みや作成に失敗しました。ローカルの同期ディレクトリに読み書きの権限があるか確認してください。 - + CSync failed to write the journal file. CSyncはジャーナルファイルの書き込みに失敗しました。 - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csync 用の %1 プラグインをロードできませんでした。<br/>インストール状態を確認してください!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. このクライアントのシステム時刻はサーバーのシステム時刻と異なります。時刻が同じになるように、クライアントとサーバーの両方で時刻同期サービス(NTP)を実行してください。 - + CSync could not detect the filesystem type. CSyncはファイルシステムタイプを検出できませんでした。 - + CSync got an error while processing internal trees. CSyncは内部ツリーの処理中にエラーに遭遇しました。 - + CSync failed to reserve memory. CSyncで使用するメモリの確保に失敗しました。 - + CSync fatal parameter error. CSyncの致命的なパラメータエラーです。 - + CSync processing step update failed. CSyncの処理ステップの更新に失敗しました。 - + CSync processing step reconcile failed. CSyncの処理ステップの調停に失敗しました。 - + CSync processing step propagate failed. CSyncの処理ステップの伝播に失敗しました。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>ターゲットディレクトリは存在しません。</p><p>同期設定を確認してください。</p> - + A remote file can not be written. Please check the remote access. リモートファイルは書き込みできません。リモートアクセスをチェックしてください。 - + The local filesystem can not be written. Please check permissions. ローカルファイルシステムは書き込みができません。パーミッションをチェックしてください。 - + CSync failed to connect through a proxy. CSyncがプロキシ経由での接続に失敗しました。 - + CSync could not authenticate at the proxy. CSyncはそのプロキシで認証できませんでした。 - + CSync failed to lookup proxy or server. CSyncはプロキシもしくはサーバーの参照に失敗しました。 - + CSync failed to authenticate at the %1 server. CSyncは %1 サーバーでの認証に失敗しました。 - + CSync failed to connect to the network. CSyncはネットワークへの接続に失敗しました。 - + A network connection timeout happened. ネットワーク接続のタイムアウトが発生しました。 - + A HTTP transmission error happened. HTTPの伝送エラーが発生しました。 - + CSync failed due to not handled permission deniend. CSyncは対応できないパーミッション拒否が原因で失敗しました。 - + CSync failed to access CSync はアクセスに失敗しました - + CSync tried to create a directory that already exists. CSyncはすでに存在するディレクトリを作成しようとしました。 - - + + CSync: No space on %1 server available. CSync: %1 サーバーには利用可能な空き領域がありません。 - + CSync unspecified error. CSyncの未指定のエラーです。 - + Aborted by the user ユーザーによって中止されました - + An internal error number %1 happened. 内部エラー番号 %1 が発生しました。 - + The item is not synced because of previous errors: %1 このアイテムは、以前にエラーが発生していたため同期させません: %1 - + Symbolic links are not supported in syncing. 同期の際にシンボリックリンクはサポートしていません - + File is listed on the ignore list. ファイルは除外リストに登録されています。 - + File contains invalid characters that can not be synced cross platform. ファイルに無効な文字が含まれているため、クロスプラットフォーム環境での同期ができません。 - + Unable to initialize a sync journal. 同期ジャーナルの初期化ができません。 - + Cannot open the sync journal 同期ジャーナルを開くことができません - + Not allowed because you don't have permission to add sub-directories in that directory そのディレクトリにサブディレクトリを追加する権限がありません - + Not allowed because you don't have permission to add parent directory 親ディレクトリを追加する権限がありません - + Not allowed because you don't have permission to add files in that directory そのディレクトリにファイルを追加する権限がありません - + Not allowed to upload this file because it is read-only on the server, restoring サーバーでは読み取り専用となっているため、このファイルをアップロードすることはできません、復元しています - - + + Not allowed to remove, restoring 削除できません、復元しています - + Move not allowed, item restored 移動できません、項目を復元しました - + Move not allowed because %1 is read-only %1 は読み取り専用のため移動できません - + the destination 移動先 - + the source 移動元 diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index 6d1bae585..fe29bef76 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -591,22 +591,22 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Geen E-Tag ontvangen van de server, controleer Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. We ontvingen een afwijkende E-Tag om door te gaan. We proberen het later opnieuw. - + Server returned wrong content-range Server retourneerde verkeerde content-bandbreedte - + Connection Timeout Verbindingstime-out @@ -1084,126 +1084,126 @@ We adviseren deze site niet te gebruiken. Mirall::OwncloudSetupWizard - + Folder rename failed Hernoemen map mislukt - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Lokale synch map %1 is succesvol aangemaakt!</b></font> - + Trying to connect to %1 at %2... Probeer te verbinden met %1 om %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Succesvol verbonden met %1: %2 versie %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Fout: Verkeerde inloggegevens - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Lokale synch map %1 bestaat al, deze wordt ingesteld voor synchronisatie.<br/><br/> - + Creating local sync folder %1... Maak lokale synchronisatiemap %1... - + ok ok - + failed. mislukt. - + Could not create local folder %1 Kon lokale map %1 niet aanmaken - - + + Failed to connect to %1 at %2:<br/>%3 Kon geen verbinding maken met %1 op %2:<br/>%3 - + No remote folder specified! Geen externe map opgegeven! - + Error: %1 Fout: %1 - + creating folder on ownCloud: %1 aanmaken map op ownCloud: %1 - + Remote folder %1 created successfully. Externe map %1 succesvol gecreërd. - + The remote folder %1 already exists. Connecting it for syncing. De remote map %1 bestaat al. Verbinden voor synchroniseren. - + The folder creation resulted in HTTP error code %1 Het aanmaken van de map resulteerde in HTTP foutcode %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Het aanmaken van de remote map is mislukt, waarschijnlijk omdat uw inloggegevens fout waren.<br/>Ga terug en controleer uw inloggegevens.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Het aanmaken van de remote map is mislukt, waarschijnlijk omdat uw inloggegevens fout waren.</font><br/>ga terug en controleer uw inloggevens.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Aanmaken van remote map %1 mislukt met fout <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Er is een sync verbinding van %1 naar remote directory %2 opgezet. - + Successfully connected to %1! Succesvol verbonden met %1! - + Connection to %1 could not be established. Please check again. Verbinding met %1 niet geslaagd. Probeer het nog eens. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Kan de map niet verwijderen en backuppen, omdat de map of een bestand daarin, geopend is in een ander programma. Sluit de map of het bestand en drup op Opnieuw of annuleer de installatie. @@ -1283,7 +1283,7 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Bestand %1 kan niet worden gedownload omdat de naam conflicteert met een lokaal bestand @@ -1784,229 +1784,229 @@ Probeer opnieuw te synchroniseren. Mirall::SyncEngine - + Success. Succes. - + CSync failed to create a lock file. CSync kon geen lock file maken. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync kon het journal bestand niet maken of lezen. Controleer of u de juiste lees- en schrijfrechten in de lokale syncmap hebt. - + CSync failed to write the journal file. CSync kon het journal bestand niet wegschrijven. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>De %1 plugin voor csync kon niet worden geladen.<br/>Verifieer de installatie!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. De systeemtijd van deze client wijkt af van de systeemtijd op de server. Gebruik een tijdsynchronisatieservice (NTP) op zowel de server als de client, zodat de machines dezelfde systeemtijd hebben. - + CSync could not detect the filesystem type. CSync kon het soort bestandssysteem niet bepalen. - + CSync got an error while processing internal trees. CSync kreeg een fout tijdens het verwerken van de interne mappenstructuur. - + CSync failed to reserve memory. CSync kon geen geheugen reserveren. - + CSync fatal parameter error. CSync fatale parameter fout. - + CSync processing step update failed. CSync verwerkingsstap bijwerken mislukt. - + CSync processing step reconcile failed. CSync verwerkingsstap verzamelen mislukt. - + CSync processing step propagate failed. CSync verwerkingsstap doorzetten mislukt. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>De doelmap bestaat niet.</p><p>Controleer de synchinstellingen.</p> - + A remote file can not be written. Please check the remote access. Een extern bestand kon niet worden weggeschreven. Controleer de externe rechten. - + The local filesystem can not be written. Please check permissions. Er kan niet worden geschreven naar het lokale bestandssysteem. Controleer de schrijfrechten. - + CSync failed to connect through a proxy. CSync kon niet verbinden via een proxy. - + CSync could not authenticate at the proxy. CSync kon niet authenticeren bij de proxy. - + CSync failed to lookup proxy or server. CSync kon geen proxy of server vinden. - + CSync failed to authenticate at the %1 server. CSync kon niet authenticeren bij de %1 server. - + CSync failed to connect to the network. CSync kon niet verbinden met het netwerk. - + A network connection timeout happened. Er trad een netwerk time-out op. - + A HTTP transmission error happened. Er trad een HTTP transmissiefout plaats. - + CSync failed due to not handled permission deniend. CSync mislukt omdat de benodigde toegang werd geweigerd. - + CSync failed to access CSync kreeg geen toegang - + CSync tried to create a directory that already exists. CSync probeerde een al bestaande directory aan te maken. - - + + CSync: No space on %1 server available. CSync: Geen ruimte op %1 server beschikbaar. - + CSync unspecified error. CSync ongedefinieerde fout. - + Aborted by the user Afgebroken door de gebruiker - + An internal error number %1 happened. Interne fout nummer %1 opgetreden. - + The item is not synced because of previous errors: %1 Dit onderwerp is niet gesynchroniseerd door eerdere fouten: %1 - + Symbolic links are not supported in syncing. Symbolic links worden niet ondersteund bij het synchroniseren. - + File is listed on the ignore list. De file is opgenomen op de negeerlijst. - + File contains invalid characters that can not be synced cross platform. Bestand bevat ongeldige karakters die niet tussen platformen gesynchroniseerd kunnen worden. - + Unable to initialize a sync journal. Niet in staat om een synchornisatie journaal te starten. - + Cannot open the sync journal Kan het sync journal niet openen - + Not allowed because you don't have permission to add sub-directories in that directory Niet toegestaan, omdat u geen rechten hebt om sub-directories aan te maken in die directory - + Not allowed because you don't have permission to add parent directory Niet toegestaan, omdat u geen rechten hebt om een bovenliggende directories toe te voegen - + Not allowed because you don't have permission to add files in that directory Niet toegestaan, omdat u geen rechten hebt om bestanden in die directory toe te voegen - + Not allowed to upload this file because it is read-only on the server, restoring Niet toegestaan om dit bestand te uploaden, omdat het alleen-lezen is op de server, herstellen - - + + Not allowed to remove, restoring Niet toegestaan te verwijderen, herstellen - + Move not allowed, item restored Verplaatsen niet toegestaan, object hersteld - + Move not allowed because %1 is read-only Verplaatsen niet toegestaan omdat %1 alleen-lezen is - + the destination bestemming - + the source bron diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index faab98b3e..10c1987b5 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -591,22 +591,22 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nie otrzymano E-Tag z serwera, sprawdź Proxy/Bramę - + We received a different E-Tag for resuming. Retrying next time. Otrzymaliśmy inny E-Tag wznowienia. Spróbuje ponownie następnym razem. - + Server returned wrong content-range Serwer zwrócił błędną zakres zawartości - + Connection Timeout Limit czasu połączenia @@ -1084,126 +1084,126 @@ Niezalecane jest jego użycie. Mirall::OwncloudSetupWizard - + Folder rename failed Zmiana nazwy folderu nie powiodła się - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Utworzenie lokalnego folderu synchronizowanego %1 zakończone pomyślnie!</b></font> - + Trying to connect to %1 at %2... Próba połączenia z %1 w %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Udane połączenie z %1: %2 wersja %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Błąd: złe poświadczenia. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Lokalny folder synchronizacji %1 już istnieje. Ustawiam go do synchronizacji.<br/><br/> - + Creating local sync folder %1... Tworzenie lokalnego folderu synchronizowanego %1... - + ok OK - + failed. Błąd. - + Could not create local folder %1 Nie udało się utworzyć lokalnego folderu %1 - - + + Failed to connect to %1 at %2:<br/>%3 Nie udało się połączyć do %1 w %2:<br/>%3 - + No remote folder specified! Nie określono folderu zdalnego! - + Error: %1 Błąd: %1 - + creating folder on ownCloud: %1 tworzę folder na ownCloud: %1 - + Remote folder %1 created successfully. Zdalny folder %1 został utworzony pomyślnie. - + The remote folder %1 already exists. Connecting it for syncing. Zdalny folder %1 już istnieje. Podłączam go do synchronizowania. - + The folder creation resulted in HTTP error code %1 Tworzenie folderu spowodowało kod błędu HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Nie udało się utworzyć zdalnego folderu ponieważ podane dane dostępowe są nieprawidłowe!<br/>Wróć i sprawdź podane dane dostępowe.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Tworzenie folderu zdalnego nie powiodło się. Prawdopodobnie dostarczone poświadczenia są błędne.</font><br/>Wróć i sprawdź poświadczenia.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Tworzenie folderu zdalnego %1 nie powiodło się z powodu błędu <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Połączenie synchronizacji z %1 do katalogu zdalnego %2 zostało utworzone. - + Successfully connected to %1! Udane połączenie z %1! - + Connection to %1 could not be established. Please check again. Połączenie z %1 nie może być nawiązane. Sprawdź ponownie. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Nie można usunąć i zarchiwizować folderu ponieważ znajdujący się w nim plik lub folder jest otwarty przez inny program. Proszę zamknąć folder lub plik albo kliknąć ponów lub anuluj setup. @@ -1283,7 +1283,7 @@ Niezalecane jest jego użycie. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Nie można pobrać pliku %1 ze względu na konflikt nazwy pliku lokalnego! @@ -1784,229 +1784,229 @@ Niezalecane jest jego użycie. Mirall::SyncEngine - + Success. Sukces. - + CSync failed to create a lock file. CSync nie mógł utworzyć pliku blokady. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync nie powiodło się załadowanie lub utworzenie pliku dziennika. Upewnij się, że masz prawa do odczytu i zapisu do lokalnego katalogu synchronizacji. - + CSync failed to write the journal file. CSync nie udało się zapisać pliku dziennika. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Wtyczka %1 do csync nie może być załadowana.<br/>Sprawdź poprawność instalacji!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Czas systemowy na tym kliencie różni się od czasu systemowego na serwerze. Użyj usługi synchronizacji czasu (NTP) na serwerze i kliencie, aby czas na obu urządzeniach był taki sam. - + CSync could not detect the filesystem type. CSync nie może wykryć typu systemu plików. - + CSync got an error while processing internal trees. CSync napotkał błąd podczas przetwarzania wewnętrznych drzew. - + CSync failed to reserve memory. CSync nie mógł zarezerwować pamięci. - + CSync fatal parameter error. Krytyczny błąd parametru CSync. - + CSync processing step update failed. Aktualizacja procesu przetwarzania CSync nie powiodła się. - + CSync processing step reconcile failed. Scalenie w procesie przetwarzania CSync nie powiodło się. - + CSync processing step propagate failed. Propagacja w procesie przetwarzania CSync nie powiodła się. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Katalog docelowy nie istnieje.</p><p>Sprawdź ustawienia synchronizacji.</p> - + A remote file can not be written. Please check the remote access. Zdalny plik nie może zostać zapisany. Sprawdź dostęp zdalny. - + The local filesystem can not be written. Please check permissions. Nie można zapisywać na lokalnym systemie plików. Sprawdź uprawnienia. - + CSync failed to connect through a proxy. CSync nie mógł połączyć się przez proxy. - + CSync could not authenticate at the proxy. CSync nie mógł się uwierzytelnić przez proxy. - + CSync failed to lookup proxy or server. CSync nie mógł odnaleźć serwera proxy. - + CSync failed to authenticate at the %1 server. CSync nie mógł uwierzytelnić się na serwerze %1. - + CSync failed to connect to the network. CSync nie mógł połączyć się z siecią. - + A network connection timeout happened. Upłynął limit czasu połączenia. - + A HTTP transmission error happened. Wystąpił błąd transmisji HTTP. - + CSync failed due to not handled permission deniend. CSync nie obsługiwane, odmowa uprawnień. - + CSync failed to access Synchronizacja nieudana z powodu braku dostępu - + CSync tried to create a directory that already exists. CSync próbował utworzyć katalog, który już istnieje. - - + + CSync: No space on %1 server available. CSync: Brak dostępnego miejsca na serwerze %1. - + CSync unspecified error. Nieokreślony błąd CSync. - + Aborted by the user Anulowane przez użytkownika - + An internal error number %1 happened. Wystąpił błąd wewnętrzny numer %1. - + The item is not synced because of previous errors: %1 Ten element nie jest zsynchronizowane z powodu poprzednich błędów: %1 - + Symbolic links are not supported in syncing. Linki symboliczne nie są wspierane przy synchronizacji. - + File is listed on the ignore list. Plik jest na liście plików ignorowanych. - + File contains invalid characters that can not be synced cross platform. Plik zawiera nieprawidłowe znaki, które nie mogą być synchronizowane wieloplatformowo. - + Unable to initialize a sync journal. Nie można zainicjować synchronizacji dziennika. - + Cannot open the sync journal Nie można otworzyć dziennika synchronizacji - + Not allowed because you don't have permission to add sub-directories in that directory Nie masz uprawnień do dodawania podkatalogów w tym katalogu. - + Not allowed because you don't have permission to add parent directory Nie masz uprawnień by dodać katalog nadrzędny - + Not allowed because you don't have permission to add files in that directory Nie masz uprawnień by dodać pliki w tym katalogu - + Not allowed to upload this file because it is read-only on the server, restoring Wgrywanie niedozwolone, ponieważ plik jest tylko do odczytu na serwerze, przywracanie - - + + Not allowed to remove, restoring Brak uprawnień by usunąć, przywracanie - + Move not allowed, item restored Przenoszenie niedozwolone, obiekt przywrócony - + Move not allowed because %1 is read-only Przenoszenie niedozwolone, ponieważ %1 jest tylko do odczytu - + the destination docelowy - + the source źródło diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index c2bacea76..4c3baf5a6 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -590,22 +590,22 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nenhum E-Tag recebido do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tentando uma próxima vez. - + Server returned wrong content-range O servidor retornou o alcance-conteúdo errado - + Connection Timeout O tempo de ligação expirou @@ -1081,126 +1081,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Erro ao renomear a pasta - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Pasta de sincronização local %1 criada com sucesso!</b></font> - + Trying to connect to %1 at %2... A tentar ligação a %1 em %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Conectado com sucesso a %1: %2 versão %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Erro: Credenciais erradas. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> A pasta de sincronização locl %1 já existe, a configurar para sincronizar.<br/><br/> - + Creating local sync folder %1... A criar a pasta de sincronização local %1 ... - + ok ok - + failed. Falhou. - + Could not create local folder %1 Não foi possível criar a pasta local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Impossível conectar a %1 em %2:<br/>%3 - + No remote folder specified! Não foi indicada a pasta remota! - + Error: %1 Erro: %1 - + creating folder on ownCloud: %1 a criar a pasta na ownCloud: %1 - + Remote folder %1 created successfully. Criação da pasta remota %1 com sucesso! - + The remote folder %1 already exists. Connecting it for syncing. A pasta remota %1 já existe. Ligue-a para sincronizar. - + The folder creation resulted in HTTP error code %1 A criação da pasta resultou num erro HTTP com o código %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> A criação da pasta remota falhou, provavelmente por ter introduzido as credenciais erradas.<br/>Por favor, verifique as suas credenciais.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">A criação da pasta remota falhou, provavelmente por ter introduzido as credenciais erradas.</font><br/>Por favor, verifique as suas credenciais.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. A criação da pasta remota %1 falhou com o erro <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. A sincronização de %1 com a pasta remota %2 foi criada com sucesso. - + Successfully connected to %1! Conectado com sucesso a %1! - + Connection to %1 could not be established. Please check again. Não foi possível ligar a %1 . Por Favor verifique novamente. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Não é possível remover e fazer backup à pasta porque a pasta ou um ficheiro nesta está aberto em outro programa. Por favor, feche a pasta ou o ficheiro e clique novamente ou cancele a configuração. @@ -1280,7 +1280,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! O ficheiro %1 não pode ser descarregado devido a conflito com um nome de ficheiro local! @@ -1781,230 +1781,230 @@ Por favor tente sincronizar novamente. Mirall::SyncEngine - + Success. Sucesso - + CSync failed to create a lock file. CSync falhou a criação do ficheiro de lock. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync falhou no carregamento ou criação do ficheiro jornal. Confirme que tem permissões de escrita e leitura no directório de sincronismo local. - + CSync failed to write the journal file. CSync falhou a escrever o ficheiro do jornal. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>O plugin %1 para o CSync não foi carregado.<br/>Por favor verifique a instalação!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A data/hora neste cliente é difere da data/hora do servidor. Por favor utilize um servidor de sincronização horária (NTP), no servidor e nos clientes para garantir que a data/hora são iguais. - + CSync could not detect the filesystem type. Csync não conseguiu detectar o tipo de sistema de ficheiros. - + CSync got an error while processing internal trees. Csync obteve um erro enquanto processava as árvores internas. - + CSync failed to reserve memory. O CSync falhou a reservar memória - + CSync fatal parameter error. Parametro errado, CSync falhou - + CSync processing step update failed. O passo de processamento do CSyn falhou - + CSync processing step reconcile failed. CSync: Processo de reconciliação falhou. - + CSync processing step propagate failed. CSync: O processo de propagação falhou. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>A pasta de destino não existe.</p><p>Por favor verifique a configuração da sincronização.</p> - + A remote file can not be written. Please check the remote access. Não é possivel escrever num ficheiro remoto. Por favor verifique o acesso remoto. - + The local filesystem can not be written. Please check permissions. Não é possivel escrever no sistema de ficheiros local. Por favor verifique as permissões. - + CSync failed to connect through a proxy. CSync: Erro a ligar através do proxy - + CSync could not authenticate at the proxy. CSync: erro ao autenticar-se no servidor proxy. - + CSync failed to lookup proxy or server. CSync: Erro a contactar o proxy ou o servidor. - + CSync failed to authenticate at the %1 server. CSync: Erro a autenticar no servidor %1 - + CSync failed to connect to the network. CSync: Erro na conecção à rede - + A network connection timeout happened. Houve um erro de timeout de rede. - + A HTTP transmission error happened. Ocorreu um erro de transmissão HTTP - + CSync failed due to not handled permission deniend. CSync: Erro devido a permissões de negação não tratadas. - + CSync failed to access CSync: falha no acesso - + CSync tried to create a directory that already exists. O CSync tentou criar uma pasta que já existe. - - + + CSync: No space on %1 server available. CSync: Não ha espaço disponível no servidor %1 - + CSync unspecified error. CSync: erro não especificado - + Aborted by the user Cancelado pelo utilizador - + An internal error number %1 happened. Ocorreu um erro interno número %1. - + The item is not synced because of previous errors: %1 O item não está sincronizado devido a erros anteriores: %1 - + Symbolic links are not supported in syncing. Hiperligações simbólicas não são suportadas em sincronização. - + File is listed on the ignore list. O ficheiro está na lista de ficheiros a ignorar. - + File contains invalid characters that can not be synced cross platform. O ficheiro contém caracteres inválidos que não podem ser sincronizados pelas várias plataformas. - + Unable to initialize a sync journal. Impossível inicializar sincronização 'journal'. - + Cannot open the sync journal Impossível abrir o jornal de sincronismo - + Not allowed because you don't have permission to add sub-directories in that directory Não permitido, porque não tem permissão para adicionar sub-directórios ao directório - + Not allowed because you don't have permission to add parent directory Não permitido, porque não tem permissão para adicionar o directório principal - + Not allowed because you don't have permission to add files in that directory Não permitido, porque não tem permissão para adicionar ficheiros no directório - + Not allowed to upload this file because it is read-only on the server, restoring Não é permitido fazer o envio deste ficheiro porque é só de leitura no servidor, restaurando - - + + Not allowed to remove, restoring Não autorizado para remoção, restaurando - + Move not allowed, item restored Mover não foi permitido, item restaurado - + Move not allowed because %1 is read-only Mover não foi autorizado porque %1 é só de leitura - + the destination o destino - + the source a origem diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index 6c96434d0..e1a20e2eb 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -591,22 +591,22 @@ Você tem certeza que quer executar esta operação? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nenhuma E-Tag recebida do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tente uma próxima vez. - + Server returned wrong content-range O servidor retornou erro numa série-de-conteúdo - + Connection Timeout Conexão Finalizada @@ -1082,126 +1082,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Falha no nome da pasta - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Pasta de sincronização local %1 criada com sucesso!</b></font> - + Trying to connect to %1 at %2... Tentando conectar a %1 em %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Conectado com sucesso a %1: 2% versão %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Erro: Credenciais erradas. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Pasta local de sincronização %1 já existe, configurando para sincronização. <br/><br/> - + Creating local sync folder %1... Criando pasta local de sincronização %1... - + ok ok - + failed. falhou. - + Could not create local folder %1 Não foi possível criar pasta local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Falha ao conectar a %1 em %2:<br/>%3 - + No remote folder specified! Nenhuma pasta remota foi especificada! - + Error: %1 Erro: %1 - + creating folder on ownCloud: %1 criar pasta no ownCloud: %1 - + Remote folder %1 created successfully. Pasta remota %1 criada com sucesso. - + The remote folder %1 already exists. Connecting it for syncing. Pasta remota %1 já existe. Conectando para sincronizar. - + The folder creation resulted in HTTP error code %1 A criação da pasta resultou em um erro do código HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> A criação da pasta remota falhou porque as credenciais fornecidas estão erradas!<br/>Por favor, volte e verifique suas credenciais.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">A criação remota de pasta falhou provavelmente as causas da falha na criação da pasta remota são credenciais erradas</font><br/>Volte e verifique suas credenciais, por favor.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Falha na criação da pasta remota %1 com erro <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Uma conexão de sincronização de %1 para o diretório remoto %2 foi realizada. - + Successfully connected to %1! Conectado com sucesso a %1! - + Connection to %1 could not be established. Please check again. Conexão à %1 não foi estabelecida. Por favor, verifique novamente. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Não é possível remover e fazer backup da pasta porque a pasta ou um arquivo que está nesta pasta está aberto em outro programa. Por favor, feche a pasta ou arquivo e clique tentar novamente ou cancelar a operação. @@ -1281,7 +1281,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! O arquivo %1 não pode ser baixado por causa de um confronto local no nome do arquivo! @@ -1782,229 +1782,229 @@ Tente sincronizar novamente. Mirall::SyncEngine - + Success. Sucesso. - + CSync failed to create a lock file. Falha ao criar o arquivo de trava pelo CSync. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync falhou ao carregar ou criar o arquivo jornal. Certifique-se de ter permissão de escrita no diretório de sincronização local. - + CSync failed to write the journal file. Csync falhou ao tentar gravar o arquivo jornal. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>O plugin %1 para csync não foi carregado.<br/>Por favor verifique a instalação!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A hora do sistema neste cliente é diferente da hora de sistema no servidor. Por favor, use um serviço de sincronização de tempo (NTP) no servidor e máquinas clientes para que as datas continuam as mesmas. - + CSync could not detect the filesystem type. Tipo de sistema de arquivo não detectado pelo CSync. - + CSync got an error while processing internal trees. Erro do CSync enquanto processava árvores internas. - + CSync failed to reserve memory. CSync falhou ao reservar memória. - + CSync fatal parameter error. Erro fatal de parametro do CSync. - + CSync processing step update failed. Processamento da atualização do CSync falhou. - + CSync processing step reconcile failed. Processamento da conciliação do CSync falhou. - + CSync processing step propagate failed. Processamento da propagação do CSync falhou. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>O diretório de destino não existe.</p> <p>Por favor, verifique a configuração de sincronização. </p> - + A remote file can not be written. Please check the remote access. O arquivo remoto não pode ser escrito. Por Favor, verifique o acesso remoto. - + The local filesystem can not be written. Please check permissions. O sistema de arquivos local não pode ser escrito. Por favor, verifique as permissões. - + CSync failed to connect through a proxy. CSync falhou ao conectar por um proxy. - + CSync could not authenticate at the proxy. Csync não conseguiu autenticação no proxy. - + CSync failed to lookup proxy or server. CSync falhou ao localizar o proxy ou servidor. - + CSync failed to authenticate at the %1 server. CSync falhou ao autenticar no servidor %1. - + CSync failed to connect to the network. CSync falhou ao conectar à rede. - + A network connection timeout happened. Ocorreu uma desconexão de rede. - + A HTTP transmission error happened. Houve um erro na transmissão HTTP. - + CSync failed due to not handled permission deniend. CSync falhou devido a uma negativa de permissão não resolvida. - + CSync failed to access Falha no acesso CSync - + CSync tried to create a directory that already exists. CSync tentou criar um diretório que já existe. - - + + CSync: No space on %1 server available. CSync: Sem espaço disponível no servidor %1. - + CSync unspecified error. Erro não especificado no CSync. - + Aborted by the user Abortado pelo usuário - + An internal error number %1 happened. Ocorreu um erro interno de número %1. - + The item is not synced because of previous errors: %1 O item não está sincronizado devido a erros anteriores: %1 - + Symbolic links are not supported in syncing. Linques simbólicos não são suportados em sincronização. - + File is listed on the ignore list. O arquivo está listado na lista de ignorados. - + File contains invalid characters that can not be synced cross platform. Arquivos que contém caracteres inválidos não podem ser sincronizados através de plataformas. - + Unable to initialize a sync journal. Impossibilitado de iniciar a sincronização. - + Cannot open the sync journal Não é possível abrir o arquivo de sincronização - + Not allowed because you don't have permission to add sub-directories in that directory Não permitido porque você não tem permissão de criar sub-pastas nesta pasta - + Not allowed because you don't have permission to add parent directory Não permitido porque você não tem permissão de criar pastas mãe - + Not allowed because you don't have permission to add files in that directory Não permitido porque você não tem permissão de adicionar arquivos a esta pasta - + Not allowed to upload this file because it is read-only on the server, restoring Não é permitido fazer o upload deste arquivo porque ele é somente leitura no servidor, restaurando - - + + Not allowed to remove, restoring Não é permitido remover, restaurando - + Move not allowed, item restored Não é permitido mover, item restaurado - + Move not allowed because %1 is read-only Não é permitido mover porque %1 é somente para leitura - + the destination o destino - + the source a fonte diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index 205c391ba..14a4577e5 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -591,22 +591,22 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway E-Tag от сервера на получен, проверьте сетевые настройки (настройки прокси, шлюз). - + We received a different E-Tag for resuming. Retrying next time. Мы получили другой E-Tag для возобновления. Повторите попытку позже. - + Server returned wrong content-range Сервер вернул неверный диапазон содержания - + Connection Timeout Тайм-аут подключения @@ -1084,126 +1084,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Ошибка переименования папки - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Локальная папка для синхронизации %1 успешно создана!</b></font> - + Trying to connect to %1 at %2... Попытка соединиться с %1 на %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Успешно подключено к %1: %2 версия %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Ошибка: Неверные учётные данные. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Локальная синхронизация папки %1 уже существует, ее настройки для синхронизации.<br/><br/> - + Creating local sync folder %1... Создание локальной папки синхронизации %1... - + ok ок - + failed. не удалось. - + Could not create local folder %1 Не удалось создать локальную папку синхронизации %1 - - + + Failed to connect to %1 at %2:<br/>%3 Не удалось подключиться к %1 в %2:<br/>%3 - + No remote folder specified! Не указана удалённая папка! - + Error: %1 Ошибка: %1 - + creating folder on ownCloud: %1 создание папки на ownCloud: %1 - + Remote folder %1 created successfully. Удалённая папка %1 успешно создана. - + The remote folder %1 already exists. Connecting it for syncing. Удалённая папка %1 уже существует. Подключение к ней для синхронизации. - + The folder creation resulted in HTTP error code %1 Создание папки завершилось с HTTP-ошибкой %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Не удалось создать удаленную папку — представленные параметры доступа неверны!<br/>Пожалуйста, вернитесь назад и проверьте параметры доступа.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Удаленное создание папки не удалось, вероятно, потому, что предоставленные учетные данные неверны.</font><br/>Пожалуйста, вернитесь назад и проверьте данные.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Удаленная папка %1 не создана из-за ошибки <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Установлено соединение синхронизации с %1 к удалённой директории %2. - + Successfully connected to %1! Соединение с %1 установлено успешно! - + Connection to %1 could not be established. Please check again. Подключение к %1 не воможно. Пожалуйста, проверьте еще раз. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Невозможно стереть папку и создать её резервную копию так как папка или файл в ней открыты в другой программе. Пожалуйста, закройте папку или файл и нажмите "Повторите попытку", либо прервите мастер настройки. @@ -1283,7 +1283,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Файл %1 не может быть загружен из-за локальных конфликтов имен! @@ -1784,229 +1784,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Успешно. - + CSync failed to create a lock file. CSync не удалось создать файл блокировки. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync не смог загрузить или создать файл журнала. Убедитесь что вы имеете права чтения и записи в локальной директории. - + CSync failed to write the journal file. CSync не смог записать файл журнала. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1 плагин для синхронизации не удается загрузить.<br/>Пожалуйста, убедитесь, что он установлен!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Системное время на этом клиенте отличается от времени на сервере. Воспользуйтесь сервисом синхронизации времени (NTP) на серверной и клиентской машинах для установки точного времени. - + CSync could not detect the filesystem type. CSync не удалось обнаружить тип файловой системы. - + CSync got an error while processing internal trees. CSync получил сообщение об ошибке при обработке внутренних деревьев. - + CSync failed to reserve memory. CSync не удалось зарезервировать память. - + CSync fatal parameter error. Фатальная ошибка параметра CSync. - + CSync processing step update failed. Процесс обновления CSync не удался. - + CSync processing step reconcile failed. Процесс согласования CSync не удался. - + CSync processing step propagate failed. Процесс передачи CSync не удался. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Целевая папка не существует.</p><p>Проверьте настройки синхронизации.</p> - + A remote file can not be written. Please check the remote access. Удаленный файл не может быть записан. Пожалуйста, проверьте удаленный доступ. - + The local filesystem can not be written. Please check permissions. Локальная файловая система не доступна для записи. Пожалуйста, проверьте права пользователя. - + CSync failed to connect through a proxy. CSync не удалось подключиться через прокси. - + CSync could not authenticate at the proxy. CSync не удалось авторизоваться на прокси сервере. - + CSync failed to lookup proxy or server. CSync не удалось найти прокси сервер. - + CSync failed to authenticate at the %1 server. CSync не удалось аутентифицироваться на сервере %1. - + CSync failed to connect to the network. CSync не удалось подключиться к сети. - + A network connection timeout happened. Произошёл таймаут соединения сети. - + A HTTP transmission error happened. Произошла ошибка передачи http. - + CSync failed due to not handled permission deniend. CSync упал в связи с отутствием обработки из-за отказа в доступе. - + CSync failed to access CSync не имеет доступа - + CSync tried to create a directory that already exists. CSync пытался создать директорию, которая уже существует. - - + + CSync: No space on %1 server available. CSync: Нет доступного пространства на сервере %1 server. - + CSync unspecified error. Неизвестная ошибка CSync. - + Aborted by the user Прервано пользователем - + An internal error number %1 happened. Произошла внутренняя ошибка номер %1. - + The item is not synced because of previous errors: %1 Путь не синхронизируется из-за произошедших ошибок: %1 - + Symbolic links are not supported in syncing. Синхронизация символических ссылок не поддерживается. - + File is listed on the ignore list. Файл присутствует в списке игнорируемых. - + File contains invalid characters that can not be synced cross platform. Файл содержит недопустимые символы, которые невозможно синхронизировать между платформами. - + Unable to initialize a sync journal. Не удалось инициализировать журнал синхронизации. - + Cannot open the sync journal Не удаётся открыть журнал синхронизации - + Not allowed because you don't have permission to add sub-directories in that directory Недопустимо из-за отсутствия у вас разрешений на добавление подпапок в этой папке - + Not allowed because you don't have permission to add parent directory Недопустимо из-за отсутствия у вас разрешений на добавление родительской папки - + Not allowed because you don't have permission to add files in that directory Недопустимо из-за отсутствия у вас разрешений на добавление файлов в эту папку - + Not allowed to upload this file because it is read-only on the server, restoring Недопустимо отправить этот файл поскольку на севрере он помечен только для чтения, восстанавливаем - - + + Not allowed to remove, restoring Недопустимо удалить, восстанавливаем - + Move not allowed, item restored Перемещение недопустимо, элемент восстановлен - + Move not allowed because %1 is read-only Перемещение недопустимо, поскольку %1 помечен только для чтения - + the destination Назначение - + the source Источник diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index 7975544a6..dbdc0a6f1 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -590,22 +590,22 @@ Ste si istý, že chcete uskutočniť danú operáciu? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Zo servera nebol prijatý E-Tag, skontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Prijali sme iný E-Tag pre pokračovanie. Skúsim to neskôr znovu. - + Server returned wrong content-range - + Connection Timeout Spojenie vypršalo @@ -1083,126 +1083,126 @@ Nie je vhodné ju používať. Mirall::OwncloudSetupWizard - + Folder rename failed Premenovanie priečinka zlyhalo - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Lokálny synchronizačný priečinok %1 bol úspešne vytvorený!</b></font> - + Trying to connect to %1 at %2... Pokúšam sa o pripojenie k %1 na %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Úspešne pripojené k %1: %2 verzie %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Chyba: Nesprávne údaje. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Lokálny synchronizačný priečinok %1 už existuje, prebieha jeho nastavovanie pre synchronizáciu.<br/><br/> - + Creating local sync folder %1... Vytváranie lokálneho synchronizačného priečinka %1 ... - + ok v poriadku - + failed. neúspešné. - + Could not create local folder %1 Nemožno vytvoriť lokálny priečinok %1 - - + + Failed to connect to %1 at %2:<br/>%3 Zlyhalo spojenie s %1 o %2:<br/>%3 - + No remote folder specified! Vzdialený priečinok nie je nastavený! - + Error: %1 Chyba: %1 - + creating folder on ownCloud: %1 vytváram priečinok v ownCloude: %1 - + Remote folder %1 created successfully. Vzdialený priečinok %1 bol úspešne vytvorený. - + The remote folder %1 already exists. Connecting it for syncing. Vzdialený priečinok %1 už existuje. Prebieha jeho pripájanie pre synchronizáciu. - + The folder creation resulted in HTTP error code %1 Vytváranie priečinka skončilo s HTTP chybovým kódom %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Proces vytvárania vzdialeného priečinka zlyhal, lebo použité prihlasovacie údaje nie sú správne!<br/>Prosím skontrolujte si vaše údaje a skúste to znovu.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Vytvorenie vzdialeného priečinka pravdepodobne zlyhalo kvôli nesprávnym prihlasovacím údajom.</font><br/>Prosím choďte späť a skontrolujte ich.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Vytvorenie vzdialeného priečinka %1 zlyhalo s chybou <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Synchronizačné spojenie z %1 do vzdialeného priečinka %2 bolo práve nastavené. - + Successfully connected to %1! Úspešne pripojené s %1! - + Connection to %1 could not be established. Please check again. Pripojenie k %1 nemohlo byť iniciované. Prosím skontrolujte to znovu. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Nemožno odstrániť a zazálohovať priečinok, pretože priečinok alebo súbor je otvorený v inom programe. Prosím zatvorte priečinok nebo súbor a skúste to znovu alebo zrušte akciu. @@ -1282,7 +1282,7 @@ Nie je vhodné ju používať. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Súbor %1 nie je možné stiahnuť, pretože súbor s rovnakým menom už existuje! @@ -1782,229 +1782,229 @@ Nie je vhodné ju používať. Mirall::SyncEngine - + Success. Úspech. - + CSync failed to create a lock file. Vytvorenie "zamykacieho" súboru cez "CSync" zlyhalo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync sa nepodarilo načítať alebo vytvoriť súbor žurnálu. Uistite sa, že máte oprávnenia na čítanie a zápis v lokálnom synchronizovanom priečinku. - + CSync failed to write the journal file. CSync sa nepodarilo zapísať do súboru žurnálu. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1 zásuvný modul pre "CSync" nebolo možné načítať.<br/>Prosím skontrolujte inštaláciu!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systémový čas tohoto klienta je odlišný od systémového času na serveri. Prosím zvážte použitie sieťovej časovej synchronizačnej služby (NTP) na serveri a klientských strojoch, aby bol na nich rovnaký čas. - + CSync could not detect the filesystem type. Detekcia súborového systému vrámci "CSync" zlyhala. - + CSync got an error while processing internal trees. Spracovanie "vnútorných stromov" vrámci "CSync" zlyhalo. - + CSync failed to reserve memory. CSync sa nepodarilo zarezervovať pamäť. - + CSync fatal parameter error. CSync kritická chyba parametrov. - + CSync processing step update failed. CSync sa nepodarilo spracovať krok aktualizácie. - + CSync processing step reconcile failed. CSync sa nepodarilo spracovať krok zladenia. - + CSync processing step propagate failed. CSync sa nepodarilo spracovať krok propagácie. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Cieľový priečinok neexistuje.</p><p>Skontrolujte, prosím, nastavenia synchronizácie.</p> - + A remote file can not be written. Please check the remote access. Vzdialený súbor nie je možné zapísať. Prosím skontrolujte vzdialený prístup. - + The local filesystem can not be written. Please check permissions. Do lokálneho súborového systému nie je možné zapisovať. Prosím skontrolujte povolenia. - + CSync failed to connect through a proxy. CSync sa nepodarilo prihlásiť cez proxy. - + CSync could not authenticate at the proxy. CSync sa nemohol prihlásiť k proxy. - + CSync failed to lookup proxy or server. CSync sa nepodarilo nájsť proxy alebo server. - + CSync failed to authenticate at the %1 server. CSync sa nepodarilo prihlásiť na server %1. - + CSync failed to connect to the network. CSync sa nepodarilo pripojiť k sieti. - + A network connection timeout happened. - + A HTTP transmission error happened. Chyba HTTP prenosu. - + CSync failed due to not handled permission deniend. CSync zlyhalo. Nedostatočné oprávnenie. - + CSync failed to access CSync nepodaril prístup - + CSync tried to create a directory that already exists. CSync sa pokúsil vytvoriť priečinok, ktorý už existuje. - - + + CSync: No space on %1 server available. CSync: Na serveri %1 nie je žiadne voľné miesto. - + CSync unspecified error. CSync nešpecifikovaná chyba. - + Aborted by the user Zrušené používateľom - + An internal error number %1 happened. Vyskytla sa vnútorná chyba číslo %1. - + The item is not synced because of previous errors: %1 Položka nebola synchronizovaná kvôli predchádzajúcej chybe: %1 - + Symbolic links are not supported in syncing. Symbolické odkazy nie sú podporované pri synchronizácii. - + File is listed on the ignore list. Súbor je zapísaný na zozname ignorovaných. - + File contains invalid characters that can not be synced cross platform. Súbor obsahuje neplatné znaky, ktoré nemôžu byť zosynchronizované medzi platformami. - + Unable to initialize a sync journal. Nemôžem inicializovať synchronizačný žurnál. - + Cannot open the sync journal Nemožno otvoriť sync žurnál - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 56ccc5f20..c76c9f5ee 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -590,22 +590,22 @@ Ali sta prepričani, da želite izvesti to opravilo? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ni prejete oznake s strežnika. Preveriti je treba podatke posredovalnega strežnika ali prehoda. - + We received a different E-Tag for resuming. Retrying next time. Prejeta je različna oznaka za nadaljevanje opravila. Ponovni poskus bo izveden kasneje. - + Server returned wrong content-range - + Connection Timeout Povezava časovno pretekla @@ -1083,126 +1083,126 @@ Uporaba ni priporočljiva. Mirall::OwncloudSetupWizard - + Folder rename failed Preimenovanje mape je spodletelo - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Krajevno usklajena mapa %1 je uspešno ustvarjena!</b></font> - + Trying to connect to %1 at %2... Poteka poskus povezave z %1 na %2 ... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Uspešno vzpostavljena povezava z %1: %2 različica %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Napaka: napačna poverila. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Krajevna mapa %1 že obstaja. Nastavljena bo za usklajevanje.<br/><br/> - + Creating local sync folder %1... Ustvarjanje mape za krajevno usklajevanje %1... - + ok je v redu - + failed. je spodletelo. - + Could not create local folder %1 Krajevne mape %1 ni mogoče ustvariti. - - + + Failed to connect to %1 at %2:<br/>%3 Povezava z %1 pri %2 je spodletela:<br/>%3 - + No remote folder specified! Ni navedenega oddaljenega strežnika! - + Error: %1 Napaka: %1 - + creating folder on ownCloud: %1 ustvarjanje mape v oblaku ownCloud: %1 - + Remote folder %1 created successfully. Oddaljena mapa %1 je uspešno ustvarjena. - + The remote folder %1 already exists. Connecting it for syncing. Oddaljena mapa %1 že obstaja. Vzpostavljena bo povezava za usklajevanje. - + The folder creation resulted in HTTP error code %1 Ustvarjanje mape je povzročilo napako HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Ustvarjanje mape na oddaljenem naslovu je spodletelo zaradi napačnih poveril. <br/>Vrnite se in preverite zahtevana gesla.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Ustvarjanje oddaljene mape je spodletelo. Najverjetneje je vzrok v neustreznih poverilih.</font><br/>Vrnite se na predhodno stran in jih preverite.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Ustvarjanje oddaljene mape %1 je spodletelo z napako <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Povezava za usklajevanje med %1 in oddaljeno mapo %2 je vzpostavljena. - + Successfully connected to %1! Povezava z %1 je uspešno vzpostavljena! - + Connection to %1 could not be established. Please check again. Povezave z %1 ni mogoče vzpostaviti. Preveriti je treba nastavitve. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Mape ni mogoče odstraniti niti ni mogoče ustvariti varnostne kopije, saj je mapa oziroma dokument v njej odprt v z drugim programom. Zaprite mapo/dokument ali prekinite namestitev. @@ -1282,7 +1282,7 @@ Uporaba ni priporočljiva. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Datoteke %1 ni mogoče prejeti zaradi neskladja z imenom krajevne datoteke! @@ -1783,229 +1783,229 @@ Te je treba uskladiti znova. Mirall::SyncEngine - + Success. Uspešno končano. - + CSync failed to create a lock file. Ustvarjanje datoteke zaklepa s CSync je spodletelo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Nalaganje ali ustvarjanje dnevniške datoteke s CSync je spodletelo. Za to opravilo so zahtevana posebna dovoljenja krajevne mape za usklajevanje. - + CSync failed to write the journal file. Zapisovanje dnevniške datoteke s CSync je spodletelo. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Vstavka %1 za CSync ni mogoče naložiti.<br/>Preverite namestitev!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Sistemski čas na odjemalcu ni skladen s sistemskim časom na strežniku. Priporočljivo je uporabiti storitev usklajevanja časa (NTP) na strežniku in odjemalcu. S tem omogočimo ujemanje podatkov o času krajevnih in oddaljenih datotek. - + CSync could not detect the filesystem type. Zaznavanje vrste datotečnega sistema s CSync je spodletelo. - + CSync got an error while processing internal trees. Pri obdelavi notranje drevesne strukture s CSync je prišlo do napake. - + CSync failed to reserve memory. Vpisovanje prostora v pomnilniku za CSync je spodletelo. - + CSync fatal parameter error. Usodna napaka parametra CSync. - + CSync processing step update failed. Korak opravila posodobitve CSync je spodletel. - + CSync processing step reconcile failed. Korak opravila poravnave CSync je spodletel. - + CSync processing step propagate failed. Korak opravila razširjanja CSync je spodletel. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Ciljna mapa ne obstaja.</p><p>Preveriti je treba nastavitve usklajevanja.</p> - + A remote file can not be written. Please check the remote access. Oddaljene datoteke ni mogoče zapisati. Najverjetneje je vzrok v oddaljenem dostopu. - + The local filesystem can not be written. Please check permissions. V krajevni datotečni sistem ni mogoče pisati. Najverjetneje je vzrok v neustreznih dovoljenjih. - + CSync failed to connect through a proxy. Povezava CSync preko posredniškega strežnika je spodletel. - + CSync could not authenticate at the proxy. Overitev CSync na posredniškem strežniku je spodletela. - + CSync failed to lookup proxy or server. Poizvedba posredniškega strežnika s CSync je spodletela. - + CSync failed to authenticate at the %1 server. Overitev CSync pri strežniku %1 je spodletela. - + CSync failed to connect to the network. Povezava CSync v omrežje je spodletela. - + A network connection timeout happened. - + A HTTP transmission error happened. Prišlo je do napake med prenosom HTTP. - + CSync failed due to not handled permission deniend. Delovanje CSync je zaradi neustreznih dovoljenj spodletelo. - + CSync failed to access Dostop s CSync je spodletel - + CSync tried to create a directory that already exists. Prišlo je do napake programa CSync zaradi poskusa ustvarjanja mape z že obstoječim imenom. - - + + CSync: No space on %1 server available. Odziv CSync: na strežniku %1 ni razpoložljivega prostora. - + CSync unspecified error. Nedoločena napaka CSync. - + Aborted by the user Opravilo je bilo prekinjeno s strani uporabnika - + An internal error number %1 happened. Prišlo je do notranje napake številka %1. - + The item is not synced because of previous errors: %1 Predmet ni usklajen zaradi predhodne napake: %1 - + Symbolic links are not supported in syncing. Usklajevanje simbolnih povezav ni podprto. - + File is listed on the ignore list. Datoteka je na seznamu prezrtih datotek. - + File contains invalid characters that can not be synced cross platform. Ime datoteke vsebuje neveljavne znake, ki niso podprti na vseh okoljih. - + Unable to initialize a sync journal. Dnevnika usklajevanja ni mogoče začeti. - + Cannot open the sync journal Ni mogoče odpreti dnevnika usklajevanja - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination cilj - + the source vir diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 9b578d4c5..9a44991f2 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -591,22 +591,22 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ingen e-tag mottogs från servern, kontrollera proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Vi mottog en helt annan e-tag för att återuppta. Försök igen nästa gång. - + Server returned wrong content-range - + Connection Timeout Anslutningen avbröts på grund av timeout @@ -1084,126 +1084,126 @@ Det är inte lämpligt använda den. Mirall::OwncloudSetupWizard - + Folder rename failed Omdöpning av mapp misslyckades - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Lokal synkmapp %1 skapad!</b></font> - + Trying to connect to %1 at %2... Försöker ansluta till %1 på %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Lyckades ansluta till %1: %2 version %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Fel: Ogiltiga inloggningsuppgifter. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Lokal synkmapp %1 finns redan, aktiverar den för synk.<br/><br/> - + Creating local sync folder %1... Skapar lokal synkmapp %1... - + ok ok - + failed. misslyckades. - + Could not create local folder %1 Kunde inte skapa lokal mapp %1 - - + + Failed to connect to %1 at %2:<br/>%3 Misslyckades att ansluta till %1 vid %2:<br/>%3 - + No remote folder specified! Ingen fjärrmapp specificerad! - + Error: %1 Fel: %1 - + creating folder on ownCloud: %1 skapar mapp på ownCloud: %1 - + Remote folder %1 created successfully. Fjärrmapp %1 har skapats. - + The remote folder %1 already exists. Connecting it for syncing. Fjärrmappen %1 finns redan. Ansluter den för synkronisering. - + The folder creation resulted in HTTP error code %1 Skapande av mapp resulterade i HTTP felkod %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Det gick inte att skapa mappen efter som du inte har tillräckliga rättigheter!<br/>Vänligen återvänd och kontrollera dina rättigheter. - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Misslyckades skapa fjärrmappen, troligen p.g.a felaktiga inloggningsuppgifter.</font><br/>Kontrollera dina inloggningsuppgifter.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Misslyckades skapa fjärrmapp %1 med fel <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. En synkroniseringsanslutning från %1 till fjärrmappen %2 har skapats. - + Successfully connected to %1! Ansluten till %1! - + Connection to %1 could not be established. Please check again. Anslutningen till %1 kunde inte etableras. Var god kontrollera och försök igen. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Kan inte ta bort och göra en säkerhetskopia av mappen på grund av att mappen eller en fil i den används av ett annat program. Vänligen stäng mappen eller filen och försök igen eller avbryt installationen. @@ -1283,7 +1283,7 @@ Det är inte lämpligt använda den. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Fil %1 kan inte laddas ner på grund av namnkonflikt med en lokal fil! @@ -1784,229 +1784,229 @@ Försök att synka dessa igen. Mirall::SyncEngine - + Success. Lyckades. - + CSync failed to create a lock file. CSync misslyckades med att skapa en låsfil. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync misslyckades att skapa en journal fil. Se till att du har läs och skriv rättigheter i den lokala synk katalogen. - + CSync failed to write the journal file. CSynk misslyckades att skriva till journal filen. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Plugin %1 för csync kunde inte laddas.<br/>Var god verifiera installationen!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systemtiden på denna klientdator är annorlunda än systemtiden på servern. Använd en tjänst för tidssynkronisering (NTP) på servern och alla klientdatorer så att tiden är lika. - + CSync could not detect the filesystem type. CSync kunde inte upptäcka filsystemtyp. - + CSync got an error while processing internal trees. CSYNC fel vid intern bearbetning. - + CSync failed to reserve memory. CSync misslyckades att reservera minne. - + CSync fatal parameter error. CSync fatal parameter fel. - + CSync processing step update failed. CSync processteg update misslyckades. - + CSync processing step reconcile failed. CSync processteg reconcile misslyckades. - + CSync processing step propagate failed. CSync processteg propagate misslyckades. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Målmappen finns inte</p><p>Vänligen, kontroller inställningen för sync.</p> - + A remote file can not be written. Please check the remote access. En fil på servern kan inte skapas. Kontrollera åtkomst till fjärranslutningen. - + The local filesystem can not be written. Please check permissions. Kan inte skriva till det lokala filsystemet. Var god kontrollera rättigheterna. - + CSync failed to connect through a proxy. CSync misslyckades att ansluta genom en proxy. - + CSync could not authenticate at the proxy. CSync kunde inte autentisera mot proxy. - + CSync failed to lookup proxy or server. CSync misslyckades att hitta proxy eller server. - + CSync failed to authenticate at the %1 server. CSync misslyckades att autentisera mot %1 servern. - + CSync failed to connect to the network. CSync misslyckades att ansluta mot nätverket. - + A network connection timeout happened. En timeout på nätverksanslutningen har inträffat. - + A HTTP transmission error happened. Ett HTTP överföringsfel inträffade. - + CSync failed due to not handled permission deniend. CSYNC misslyckades på grund av att nekad åtkomst inte hanterades. - + CSync failed to access CSynk misslyckades att tillträda - + CSync tried to create a directory that already exists. CSync försökte skapa en mapp som redan finns. - - + + CSync: No space on %1 server available. CSync: Ingen plats på %1 server tillgänglig. - + CSync unspecified error. CSync ospecificerat fel. - + Aborted by the user Avbruten av användare - + An internal error number %1 happened. Ett internt fel hände. nummer %1 - + The item is not synced because of previous errors: %1 Objektet kunde inte synkas på grund av tidigare fel: %1 - + Symbolic links are not supported in syncing. Symboliska länkar stöds ej i synkningen. - + File is listed on the ignore list. Filen är listad i ignorerings listan. - + File contains invalid characters that can not be synced cross platform. Filen innehåller ogiltiga tecken som inte kan synkas oberoende av plattform. - + Unable to initialize a sync journal. Kan inte initialisera en synk journal. - + Cannot open the sync journal Kunde inte öppna synk journalen - + Not allowed because you don't have permission to add sub-directories in that directory Går ej att genomföra då du saknar rättigheter att lägga till underkataloger i den katalogen - + Not allowed because you don't have permission to add parent directory Går ej att genomföra då du saknar rättigheter att lägga till någon moderkatalog - + Not allowed because you don't have permission to add files in that directory Går ej att genomföra då du saknar rättigheter att lägga till filer i den katalogen - + Not allowed to upload this file because it is read-only on the server, restoring Inte behörig att ladda upp denna fil då den är skrivskyddad på servern, återställer - - + + Not allowed to remove, restoring Inte behörig att radera, återställer - + Move not allowed, item restored Det gick inte att genomföra flytten, objektet återställs - + Move not allowed because %1 is read-only Det gick inte att genomföra flytten då %1 är skrivskyddad - + the destination destinationen - + the source källan diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index 4a2f4a41a..6c0605827 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -588,22 +588,22 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Server returned wrong content-range - + Connection Timeout @@ -1077,126 +1077,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>โฟลเดอร์ภายในเครื่องสำหรับผสานข้อมูล %1 ได้ถูกสร้างขึ้นเรียบร้อยแล้ว!</b></font> - + Trying to connect to %1 at %2... กำลังพยายามเชื่อมต่อไปที่ %1 ที่ %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">เชื่อมต่อกับ %1: %2 รุ่น %3 (%4) เสร็จเรียบร้อยแล้ว</font><br/><br/> - + Error: Wrong credentials. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> โฟลเดอร์สำหรับถ่ายโอนข้อมูลภายในเครื่อง %1 มีอยู่แล้ว กรุณาตั้งค่าเพื่อถ่ายข้อมูล <br/<br/> - + Creating local sync folder %1... กำลังสร้างโฟลเดอร์สำหรับโอนถ่ายข้อมูลภายในเครื่อง %1 ... - + ok ตกลง - + failed. ล้มเหลว - + Could not create local folder %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 ข้อผิดพลาด: %1 - + creating folder on ownCloud: %1 กำลังสร้างโฟลเดอร์ใหม่บน ownCloud: %1 - + Remote folder %1 created successfully. โฟลเดอร์ระยะไกล %1 ถูกสร้างเรียบร้อยแล้ว - + The remote folder %1 already exists. Connecting it for syncing. โฟลเดอร์ระยะไกล %1 มีอยู่แล้ว กำลังเชื่อมต่อเพื่อถ่ายโอนข้อมูล - + The folder creation resulted in HTTP error code %1 การสร้างโฟลเดอร์ดังกล่าวส่งผลให้เกิดรหัสข้อผิดพลาด HTTP error code %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">การสร้างโฟลเดอร์ระยะไกลล้มเหลว ซึ่งอาจมีสาเหตุมาจากการกรอกข้อมูลส่วนตัวเพื่อเข้าใช้งานไม่ถูกต้อง.</font><br/>กรุณาย้อนกลับไปแล้วตรวจสอบข้อมูลส่วนตัวของคุณอีกครั้ง.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. การสร้างโฟลเดอร์ระยะไกล %1 ล้มเหลวเนื่องข้อผิดพลาด <tt>%2</tt> - + A sync connection from %1 to remote directory %2 was set up. การเชื่อมต่อเผื่อผสานข้อมูลจาก %1 ไปที่ไดเร็กทอรี่ระยะไกล %2 ได้ถูกติดตั้งแล้ว - + Successfully connected to %1! เชื่อมต่อไปที่ %1! สำเร็จ - + Connection to %1 could not be established. Please check again. การเชื่อมต่อกับ %1 ไม่สามารถดำเนินการได้ กรุณาตรวจสอบอีกครั้ง - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1276,7 +1276,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1774,229 +1774,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. เสร็จสิ้น - + CSync failed to create a lock file. CSync ล้มเหลวในการสร้างไฟล์ล็อคข้อมูล - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>ปลั๊กอิน %1 สำหรับ csync could not be loadeไม่สามารถโหลดได้.<br/>กรุณาตรวจสอบความถูกต้องในการติดตั้ง!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. เวลาในระบบของโปรแกรมไคลเอนต์นี้แตกต่างจากเวลาในระบบของเซิร์ฟเวอร์ กรุณาใช้บริการผสานข้อมูลของเวลา (NTP) บนเซิร์ฟเวอร์และเครื่องไคลเอนต์เพื่อปรับเวลาให้ตรงกัน - + CSync could not detect the filesystem type. CSync ไม่สามารถตรวจพบประเภทของไฟล์ในระบบได้ - + CSync got an error while processing internal trees. CSync เกิดข้อผิดพลาดบางประการในระหว่างประมวลผล internal trees - + CSync failed to reserve memory. การจัดสรรหน่วยความจำ CSync ล้มเหลว - + CSync fatal parameter error. พบข้อผิดพลาดเกี่ยวกับ CSync fatal parameter - + CSync processing step update failed. การอัพเดทขั้นตอนการประมวลผล CSync ล้มเหลว - + CSync processing step reconcile failed. การปรับปรุงขั้นตอนการประมวลผล CSync ล้มเหลว - + CSync processing step propagate failed. การถ่ายทอดขั้นตอนการประมวลผล CSync ล้มเหลว - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. ไม่สามารถเขียนข้อมูลไปยังไฟล์ระยะไกลได้ กรุณาตรวจสอบการเข้าถึงข้อมูลระยะไกล - + The local filesystem can not be written. Please check permissions. ระบบไฟล์ในพื้นที่ไม่สามารถเขียนข้อมูลได้ กรุณาตรวจสอบสิทธิ์การเข้าใช้งาน - + CSync failed to connect through a proxy. CSync ล้มเหลวในการเชื่อมต่อผ่านทางพร็อกซี่ - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync ไม่สามารถค้นหาพร็อกซี่บนเซิร์ฟเวอร์ได้ - + CSync failed to authenticate at the %1 server. CSync ล้มเหลวในการยืนยันสิทธิ์การเข้าใช้งานที่เซิร์ฟเวอร์ %1 - + CSync failed to connect to the network. CSync ล้มเหลวในการเชื่อมต่อกับเครือข่าย - + A network connection timeout happened. - + A HTTP transmission error happened. เกิดข้อผิดพลาดเกี่ยวกับ HTTP transmission - + CSync failed due to not handled permission deniend. CSync ล้มเหลว เนื่องจากไม่สามารถจัดการกับการปฏิเสธให้เข้าใช้งานได้ - + CSync failed to access - + CSync tried to create a directory that already exists. CSync ได้พยายามที่จะสร้างไดเร็กทอรี่ที่มีอยู่แล้ว - - + + CSync: No space on %1 server available. CSync: ไม่มีพื้นที่เหลือเพียงพอบนเซิร์ฟเวอร์ %1 - + CSync unspecified error. CSync ไม่สามารถระบุข้อผิดพลาดได้ - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index c009b8fc5..0610eaf8d 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -591,22 +591,22 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Sunucudan E-Etiket alınamadı, Vekil sunucu/Ağ geçidini denetleyin. - + We received a different E-Tag for resuming. Retrying next time. Devam etmek üzere farklı bir E-Etiket aldık. Sonraki işlemde yeniden denenecek. - + Server returned wrong content-range Sunucu yanlış içerik aralığı döndürdü - + Connection Timeout Bağlantı Zaman Aşımı @@ -1084,126 +1084,126 @@ Kullanmanız önerilmez. Mirall::OwncloudSetupWizard - + Folder rename failed Klasör adlandırma başarısız - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Yerel eşitleme klasörü %1 başarıyla oluşturuldu!</b></font> - + Trying to connect to %1 at %2... %2 üzerinde %1 bağlantısı deneniyor... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">%1 bağlantısı başarılı: %2 sürüm %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Hata: Hatalı kimlik bilgileri. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Yerel eşitleme klasörü %1 zaten mevcut, eşitlemek için ayarlanıyor.<br/><br/> - + Creating local sync folder %1... Yerel eşitleme klasörü %1 oluşturuluyor... - + ok tamam - + failed. başarısız. - + Could not create local folder %1 %1 yerel klasörü oluşturulamadı - - + + Failed to connect to %1 at %2:<br/>%3 %2 üzerinde %1 bağlantısı yapılamadı:<br/>%3 - + No remote folder specified! Uzak klasör belirtilmemiş! - + Error: %1 Hata: %1 - + creating folder on ownCloud: %1 ownCloud üzerinde klasör oluşturuluyor: %1 - + Remote folder %1 created successfully. %1 uzak klasörü başarıyla oluşturuldu. - + The remote folder %1 already exists. Connecting it for syncing. Uzak klasör %1 zaten mevcut. Eşitlemek için bağlanılıyor. - + The folder creation resulted in HTTP error code %1 Klasör oluşturma %1 HTTP hata kodu ile sonuçlandı - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Uzak klasör oluşturması, geçersiz kimlik bilgileri nedeniyle başarısız!<br/>Lütfen geri gidin ve bilgileri denetleyin.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Uzak klasör oluşturma muhtemelen hatalı kimlik bilgilerinden dolayı başarısız oldu.</font><br/>Lütfen geri gidip kimlik bilgilerini doğrulayın.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Uzak klasör %1 oluşturma işlemi <tt>%2</tt> hatası ile başarısız oldu. - + A sync connection from %1 to remote directory %2 was set up. %1 kaynaklı %2 uzak dizinine bir eşitleme bağlantısı ayarlandı. - + Successfully connected to %1! %1 bağlantısı başarılı! - + Connection to %1 could not be established. Please check again. %1 bağlantısı kurulamadı. Lütfen tekrar denetleyin. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Klasör veya içerisindeki bir dosya farklı bir program içerisinde açık olduğundan, kaldırma ve yedekleme işlemi yapılamıyor. Lütfen klasör veya dosyayı kapatıp yeniden deneyin veya kurulumu iptal edin. @@ -1283,7 +1283,7 @@ Kullanmanız önerilmez. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! %1 dosyası, yerel dosya adı çakışması nedeniyle indirilemiyor! @@ -1784,229 +1784,229 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Mirall::SyncEngine - + Success. Başarılı. - + CSync failed to create a lock file. CSync bir kilit dosyası oluşturamadı. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync, günlük dosyası yükleyemedi veya oluşturamadı. Lütfen yerel eşitleme dizininde okuma ve yazma izinleriniz olduğundan emin olun. - + CSync failed to write the journal file. CSync günlük dosyasına yazamadı. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Csync için %1 eklentisi yüklenemedi.<br/>Lütfen kurulumu doğrulayın!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Bu istemci üzerinde sistem saati sunucudaki sistem saati ile farklı. Sunucu ve istemci makinelerde bir zaman eşitleme hizmeti (NTP) kullanırsanız zaman aynı kalır. - + CSync could not detect the filesystem type. CSync dosya sistemi türünü tespit edemedi. - + CSync got an error while processing internal trees. CSync dahili ağaçları işlerken bir hata ile karşılaştı. - + CSync failed to reserve memory. CSync bellek ayıramadı. - + CSync fatal parameter error. CSync ciddi parametre hatası. - + CSync processing step update failed. CSync güncelleme süreç adımı başarısız. - + CSync processing step reconcile failed. CSync uzlaştırma süreç adımı başarısız. - + CSync processing step propagate failed. CSync yayma süreç adımı başarısız. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Hedef dizin mevcut değil.</p><p>Lütfen eşitleme ayarını denetleyin.</p> - + A remote file can not be written. Please check the remote access. Bir uzak dosya yazılamıyor. Lütfen uzak erişimi denetleyin. - + The local filesystem can not be written. Please check permissions. Yerel dosya sistemine yazılamıyor. Lütfen izinleri kontrol edin. - + CSync failed to connect through a proxy. CSync bir vekil sunucu aracılığıyla bağlanırken hata oluştu. - + CSync could not authenticate at the proxy. CSync vekil sunucuda kimlik doğrulayamadı. - + CSync failed to lookup proxy or server. CSync bir vekil veya sunucu ararken başarısız oldu. - + CSync failed to authenticate at the %1 server. CSync %1 sunucusunda kimlik doğrularken başarısız oldu. - + CSync failed to connect to the network. CSync ağa bağlanamadı. - + A network connection timeout happened. Bir ağ zaman aşımı meydana geldi. - + A HTTP transmission error happened. Bir HTTP aktarım hatası oluştu. - + CSync failed due to not handled permission deniend. CSync ele alınmayan izin reddinden dolayı başarısız. - + CSync failed to access CSync erişemedi: - + CSync tried to create a directory that already exists. CSync, zaten mevcut olan bir dizin oluşturmaya çalıştı. - - + + CSync: No space on %1 server available. CSync: %1 sunucusunda kullanılabilir alan yok. - + CSync unspecified error. CSync belirtilmemiş hata. - + Aborted by the user Kullanıcı tarafından iptal edildi - + An internal error number %1 happened. %1 numaralı bir hata oluştu. - + The item is not synced because of previous errors: %1 Bu öge önceki hatalar koşullarından dolayı eşitlenemiyor: %1 - + Symbolic links are not supported in syncing. Sembolik bağlantılar eşitlemede desteklenmiyor. - + File is listed on the ignore list. Dosya yoksayma listesinde. - + File contains invalid characters that can not be synced cross platform. Dosya, çapraz platform arasında eşitlenemeyecek karakterler içeriyor. - + Unable to initialize a sync journal. Bir eşitleme günlüğü başlatılamadı. - + Cannot open the sync journal Eşitleme günlüğü açılamıyor - + Not allowed because you don't have permission to add sub-directories in that directory Bu dizine alt dizin ekleme yetkiniz olmadığından izin verilmedi - + Not allowed because you don't have permission to add parent directory Üst dizin ekleme yetkiniz olmadığından izin verilmedi - + Not allowed because you don't have permission to add files in that directory Bu dizine dosya ekleme yetkiniz olmadığından izin verilmedi - + Not allowed to upload this file because it is read-only on the server, restoring Sunucuda salt okunur olduğundan, bu dosya yüklenemedi, geri alınıyor - - + + Not allowed to remove, restoring Kaldırmaya izin verilmedi, geri alınıyor - + Move not allowed, item restored Taşımaya izin verilmedi, öge geri alındı - + Move not allowed because %1 is read-only %1 salt okunur olduğundan taşımaya izin verilmedi - + the destination hedef - + the source kaynak diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index 42e827252..6375ab940 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -590,22 +590,22 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Server returned wrong content-range - + Connection Timeout @@ -1079,126 +1079,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Не вдалося перейменувати теку - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Локальна тека синхронізації %1 успішно створена!</b></font> - + Trying to connect to %1 at %2... Спроба підключення до %1 на %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Успішно підключено до %1: %2 версія %3 (%4)</font><br/><br/> - + Error: Wrong credentials. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Локальна тека синхронізації %1 вже існує, налаштування її для синхронізації.<br/><br/> - + Creating local sync folder %1... Створення локальної теки для синхронізації %1... - + ok ok - + failed. не вдалося. - + Could not create local folder %1 Не вдалося створити локальну теку $1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 Помилка: %1 - + creating folder on ownCloud: %1 створення теки на ownCloud: %1 - + Remote folder %1 created successfully. Віддалена тека %1 успішно створена. - + The remote folder %1 already exists. Connecting it for syncing. Віддалена тека %1 вже існує. Під'єднання для синхронізації. - + The folder creation resulted in HTTP error code %1 Створення теки завершилось HTTP помилкою %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Створити віддалену теку не вдалося через невірно вказані облікові дані.<br/>Поверніться назад та перевірте облікові дані.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Створити віддалену теку не вдалося, можливо, через невірно вказані облікові дані.</font><br/>Будь ласка, поверніться назад та перевірте облікові дані.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Не вдалося створити віддалену теку %1 через помилку <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. З'єднання для синхронізації %1 з віддаленою текою %2 було встановлено. - + Successfully connected to %1! Успішно під'єднано до %1! - + Connection to %1 could not be established. Please check again. Підключення до %1 встановити не вдалося. Будь ласка, перевірте ще раз. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1278,7 +1278,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1776,229 +1776,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Успішно. - + CSync failed to create a lock file. CSync не вдалося створити файл блокування. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p> %1 плагін для синхронізації не вдалося завантажити.<br/>Будь ласка, перевірте його інсталяцію!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Системний час цього клієнта відрізняється від системного часу на сервері. Будь ласка, використовуйте сервіс синхронізації часу (NTP) на сервері та клієнті, аби час був однаковий. - + CSync could not detect the filesystem type. CSync не вдалося визначити тип файлової системи. - + CSync got an error while processing internal trees. У CSync виникла помилка під час сканування внутрішньої структури каталогів. - + CSync failed to reserve memory. CSync не вдалося зарезервувати пам'ять. - + CSync fatal parameter error. У CSync сталася фатальна помилка параметра. - + CSync processing step update failed. CSync не вдалася зробити оновлення . - + CSync processing step reconcile failed. CSync не вдалася зробити врегулювання. - + CSync processing step propagate failed. CSync не вдалася зробити розповсюдження. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. Не можливо проводити запис у віддалену файлову систему. Будь ласка, перевірте повноваження доступу. - + The local filesystem can not be written. Please check permissions. Не можливо проводити запис у локальну файлову систему. Будь ласка, перевірте повноваження. - + CSync failed to connect through a proxy. CSync не вдалося приєднатися через Проксі. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync не вдалося знайти Проксі або Сервер. - + CSync failed to authenticate at the %1 server. CSync не вдалося аутентифікуватися на %1 сервері. - + CSync failed to connect to the network. CSync не вдалося приєднатися до мережі. - + A network connection timeout happened. - + A HTTP transmission error happened. Сталася помилка передачі даних по HTTP. - + CSync failed due to not handled permission deniend. CSync завершився неуспішно через порушення прав доступу. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync намагалася створити каталог, який вже існує. - - + + CSync: No space on %1 server available. CSync: на сервері %1 скінчилося місце. - + CSync unspecified error. Невизначена помилка CSync. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index b76564d9b..1c32aa6cd 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -590,22 +590,22 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway 未能收到来自服务器的 E-Tag,请检查代理/网关 - + We received a different E-Tag for resuming. Retrying next time. 我们收到了不同的恢复 E-Tag,将在下次尝试。 - + Server returned wrong content-range - + Connection Timeout 连接超时 @@ -1081,126 +1081,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed 文件夹更名失败 - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>本地同步目录 %1 已成功创建</b></font> - + Trying to connect to %1 at %2... 尝试连接位于 %2 的 %1... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">成功连接到 %1:%2 版本 %3 (%4)</font><br/><br/> - + Error: Wrong credentials. 错误:密码错误。 - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> 本地同步文件夹 %1 已存在,将使用它来同步。<br/><br/> - + Creating local sync folder %1... 正在创建本地同步文件夹 %1... - + ok 成功 - + failed. 失败 - + Could not create local folder %1 不能创建本地文件夹 %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 错误:%1 - + creating folder on ownCloud: %1 在 ownCloud 创建文件夹:%1 - + Remote folder %1 created successfully. 远程目录%1成功创建。 - + The remote folder %1 already exists. Connecting it for syncing. 远程文件夹 %1 已存在。连接它以供同步。 - + The folder creation resulted in HTTP error code %1 创建文件夹出现 HTTP 错误代码 %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> 远程文件夹创建失败,因为提供的凭证有误!<br/>请返回并检查您的凭证。</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">远程文件夹创建失败,可能是由于提供的用户名密码不正确。</font><br/>请返回并检查它们。</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. 创建远程文件夹 %1 失败,错误为 <tt>%2</tt>。 - + A sync connection from %1 to remote directory %2 was set up. 已经设置了一个 %1 到远程文件夹 %2 的同步连接 - + Successfully connected to %1! 成功连接到了 %1! - + Connection to %1 could not be established. Please check again. 无法建立到 %1的链接,请稍后重试 - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1280,7 +1280,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1780,229 +1780,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSync 无法创建文件锁。 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync同步失败,请确定是否有本地同步目录的读写权 - + CSync failed to write the journal file. CSync写日志文件失败 - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csync 的 %1 插件不能加载。<br/>请校验安装!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. 本客户端的系统时间和服务器的系统时间不一致。请在服务器和客户机上使用时间同步服务 (NTP)以让时间一致。 - + CSync could not detect the filesystem type. CSync 无法检测文件系统类型。 - + CSync got an error while processing internal trees. CSync 在处理内部文件树时出错。 - + CSync failed to reserve memory. CSync 失败,内存不足。 - + CSync fatal parameter error. CSync 致命参数错误。 - + CSync processing step update failed. CSync 处理步骤更新失败。 - + CSync processing step reconcile failed. CSync 处理步骤调和失败。 - + CSync processing step propagate failed. CSync 处理步骤传播失败。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>目标目录不存在。</p><p>请检查同步设置。</p> - + A remote file can not be written. Please check the remote access. 远程文件不可写,请检查远程权限。 - + The local filesystem can not be written. Please check permissions. 本地文件系统不可写。请检查权限。 - + CSync failed to connect through a proxy. CSync 未能通过代理连接。 - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync 无法查询代理或服务器。 - + CSync failed to authenticate at the %1 server. CSync 于 %1 服务器认证失败。 - + CSync failed to connect to the network. CSync 联网失败。 - + A network connection timeout happened. 网络连接超时。 - + A HTTP transmission error happened. HTTP 传输错误。 - + CSync failed due to not handled permission deniend. 出于未处理的权限拒绝,CSync 失败。 - + CSync failed to access 访问 CSync 失败 - + CSync tried to create a directory that already exists. CSync 尝试创建了已有的文件夹。 - - + + CSync: No space on %1 server available. CSync:%1 服务器空间已满。 - + CSync unspecified error. CSync 未定义错误。 - + Aborted by the user 用户撤销 - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. 符号链接不被同步支持。 - + File is listed on the ignore list. 文件在忽略列表中。 - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. 无法初始化同步日志 - + Cannot open the sync journal 无法打开同步日志 - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index 9a26a4fdc..f4f8e6414 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -588,22 +588,22 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Server returned wrong content-range - + Connection Timeout @@ -1077,126 +1077,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed 重新命名資料夾失敗 - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>本地同步資料夾 %1 建立成功!</b></font> - + Trying to connect to %1 at %2... 嘗試連線到%1從%2 - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">成功連線到 %1: %2 版本 %3 (%4)</font><br/><br/> - + Error: Wrong credentials. 錯誤: 錯誤的憑證。 - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> 本地同步資料夾%1已存在, 將其設置為同步<br/><br/> - + Creating local sync folder %1... 建立本地同步資料夾 %1 - + ok ok - + failed. 失敗 - + Could not create local folder %1 無法建立本地資料夾 %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 錯誤: %1 - + creating folder on ownCloud: %1 在 ownCloud 建立資料夾: %1 - + Remote folder %1 created successfully. 遠端資料夾%1建立成功! - + The remote folder %1 already exists. Connecting it for syncing. 遠端資料夾%1已存在,連線同步中 - + The folder creation resulted in HTTP error code %1 在HTTP建立資料夾失敗, error code %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> 由於帳號或密碼錯誤,遠端資料夾建立失敗<br/>請檢查您的帳號密碼。</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">遠端資料夾建立失敗,也許是因為所提供的帳號密碼錯誤</font><br/>請重新檢查您的帳號密碼</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. 建立遠端資料夾%1發生錯誤<tt>%2</tt>失敗 - + A sync connection from %1 to remote directory %2 was set up. 從%1到遠端資料夾%2的連線已建立 - + Successfully connected to %1! 成功連接到 %1 ! - + Connection to %1 could not be established. Please check again. 無法建立連線%1, 請重新檢查 - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1276,7 +1276,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1774,229 +1774,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSync 無法建立文件鎖 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>用於csync的套件%1</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. 本客戶端的系統時間和伺服器系統時間不一致,請在伺服器與客戶端上使用時間同步服務(NTP)讓時間保持一致 - + CSync could not detect the filesystem type. CSync 無法偵測檔案系統的類型 - + CSync got an error while processing internal trees. CSync 處理內部資料樹時發生錯誤 - + CSync failed to reserve memory. CSync 無法取得記憶體空間。 - + CSync fatal parameter error. CSync 參數錯誤。 - + CSync processing step update failed. CSync 處理步驟 "update" 失敗。 - + CSync processing step reconcile failed. CSync 處理步驟 "reconcile" 失敗。 - + CSync processing step propagate failed. CSync 處理步驟 "propagate" 失敗。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>目標資料夾不存在</p><p>請檢查同步設定</p> - + A remote file can not be written. Please check the remote access. 遠端檔案無法寫入,請確認遠端存取權限。 - + The local filesystem can not be written. Please check permissions. 本地檔案系統無法寫入,請確認權限。 - + CSync failed to connect through a proxy. CSync 透過代理伺服器連線失敗。 - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync 查詢代理伺服器或伺服器失敗。 - + CSync failed to authenticate at the %1 server. CSync 於伺服器 %1 認證失敗。 - + CSync failed to connect to the network. CSync 無法連接到網路。 - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP 傳輸錯誤。 - + CSync failed due to not handled permission deniend. CSync 失敗,由於未處理的存取被拒。 - + CSync failed to access - + CSync tried to create a directory that already exists. CSync 試圖建立一個已經存在的目錄。 - - + + CSync: No space on %1 server available. CSync:伺服器 %1 沒有可用空間。 - + CSync unspecified error. CSync 未知的錯誤。 - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source From 600a6d93469a312d14798d2edfd0ec5876400f96 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 8 Aug 2014 10:57:09 +0200 Subject: [PATCH 120/133] Bumped version to alpha1 --- VERSION.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION.cmake b/VERSION.cmake index ed62a196b..f0f324c73 100644 --- a/VERSION.cmake +++ b/VERSION.cmake @@ -4,7 +4,7 @@ set( MIRALL_VERSION_PATCH 0 ) set( MIRALL_SOVERSION 0 ) if ( NOT DEFINED MIRALL_VERSION_SUFFIX ) - set( MIRALL_VERSION_SUFFIX "prealpha") #e.g. beta1, beta2, rc1 + set( MIRALL_VERSION_SUFFIX "alpha1") #e.g. beta1, beta2, rc1 endif( NOT DEFINED MIRALL_VERSION_SUFFIX ) if( NOT DEFINED MIRALL_VERSION_BUILD ) From cd9f2e5ea5887589c77488e40da471e9094bee7b Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Sat, 9 Aug 2014 01:25:23 -0400 Subject: [PATCH 121/133] [tx-robot] updated from transifex --- translations/mirall_es.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 821e0df92..bb5ea4bda 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -2117,7 +2117,7 @@ Intente sincronizar los archivos nuevamente. Sign out - Salir + Cerrar sesión From e2d5ae10352ee03da12c733d340ec0f36a6db0fd Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Mon, 11 Aug 2014 02:06:11 -0400 Subject: [PATCH 122/133] [tx-robot] updated from transifex --- admin/win/nsi/l10n/Slovenian.nsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/admin/win/nsi/l10n/Slovenian.nsh b/admin/win/nsi/l10n/Slovenian.nsh index 2ca5535f5..00c6379c7 100644 --- a/admin/win/nsi/l10n/Slovenian.nsh +++ b/admin/win/nsi/l10n/Slovenian.nsh @@ -15,6 +15,8 @@ StrCpy $PageReinstall_SAME_Field_3 "Odstrani ${APPLICATION_NAME}" StrCpy $UNINSTALLER_APPDATA_TITLE "Odstrani ${APPLICATION_NAME}" StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Izberite monost vzdrevanja za izvedbo." StrCpy $SEC_APPLICATION_DETAILS "Poteka nameanje kljunih paketov programa ${APPLICATION_NAME}." +StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Ikona stanja za program Raziskovalec" +StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Nameanje ikone stanja za Raziskovalca" StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Blinjica programa v programskem meniju" StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Poteka dodajanje blinjice programa ${APPLICATION_NAME} v programski meni." StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Blinica namizja" @@ -42,5 +44,3 @@ StrCpy $INIT_INSTALLER_RUNNING "Namestilnik je StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Program za odstranjevanje namestitve zahteva skrbnika dovoljenja." StrCpy $INIT_UNINSTALLER_RUNNING "Program za odstranjevanje namestitve je e zagnan." StrCpy $SectionGroup_Shortcuts "Blinjice" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Status icons for Windows Explorer" -StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing status icons for Windows Explorer" From 59643177affce3b0b9eab10757c807decea59d7d Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 8 Aug 2014 02:53:12 +0200 Subject: [PATCH 123/133] Updated binary dir --- binary | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/binary b/binary index 1645f4df2..10a2d688b 160000 --- a/binary +++ b/binary @@ -1 +1 @@ -Subproject commit 1645f4df2f2eaddc98c89009f939b1ed0cf3f760 +Subproject commit 10a2d688b758c3f83b0d9b331b02fcff063bd843 From 57ef515defc81daf3361dd8808d1e66b4e62ca35 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Mon, 11 Aug 2014 15:46:45 +0200 Subject: [PATCH 124/133] Use std=c++0x instead of c++11 Required for compat with Ubuntu 12.04, and possibly RHEL. --- cmake/modules/Warnings.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/modules/Warnings.cmake b/cmake/modules/Warnings.cmake index 29a2de8d0..2ad3f480d 100644 --- a/cmake/modules/Warnings.cmake +++ b/cmake/modules/Warnings.cmake @@ -6,11 +6,11 @@ if(CMAKE_COMPILER_IS_GNUCXX) else(GCC_VERSION VERSION_GREATER 4.8 OR GCC_VERSION VERSION_EQUAL 4.8) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -Wno-long-long") endif(GCC_VERSION VERSION_GREATER 4.8 OR GCC_VERSION VERSION_EQUAL 4.8) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") endif(CMAKE_COMPILER_IS_GNUCXX) if(CMAKE_CXX_COMPILER MATCHES "clang") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -Wno-long-long") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") endif(CMAKE_CXX_COMPILER MATCHES "clang") # TODO: handle msvc compilers warnings? From 1b4c613fa6ebc468e07a34f153d4b46961d971e9 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Mon, 11 Aug 2014 16:38:51 +0200 Subject: [PATCH 125/133] ProtocolWidget: Disable copy button if widget is empty. --- src/mirall/protocolwidget.cpp | 10 +++++++--- src/mirall/protocolwidget.h | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/mirall/protocolwidget.cpp b/src/mirall/protocolwidget.cpp index 20926d169..744532a67 100644 --- a/src/mirall/protocolwidget.cpp +++ b/src/mirall/protocolwidget.cpp @@ -67,9 +67,10 @@ ProtocolWidget::ProtocolWidget(QWidget *parent) : _clearBlacklistBtn->setEnabled(false); connect(_clearBlacklistBtn, SIGNAL(clicked()), SLOT(slotClearBlacklist())); - QPushButton *copyBtn = _ui->_dialogButtonBox->addButton(tr("Copy"), QDialogButtonBox::ActionRole); - copyBtn->setToolTip( tr("Copy the activity list to the clipboard.")); - connect(copyBtn, SIGNAL(clicked()), SLOT(copyToClipboard())); + _copyBtn = _ui->_dialogButtonBox->addButton(tr("Copy"), QDialogButtonBox::ActionRole); + _copyBtn->setToolTip( tr("Copy the activity list to the clipboard.")); + _copyBtn->setEnabled(false); + connect(_copyBtn, SIGNAL(clicked()), SLOT(copyToClipboard())); MirallConfigFile cfg; cfg.restoreGeometryHeader(_ui->_treeWidget->header()); @@ -260,6 +261,9 @@ void ProtocolWidget::slotProgressInfo( const QString& folder, const Progress::In QTreeWidgetItem *item = createCompletedTreewidgetItem(folder, last); if(item) { _ui->_treeWidget->insertTopLevelItem(0, item); + if (!_copyBtn->isEnabled()) { + _copyBtn->setEnabled(true); + } } } diff --git a/src/mirall/protocolwidget.h b/src/mirall/protocolwidget.h index 88e2ee722..765c6b12a 100644 --- a/src/mirall/protocolwidget.h +++ b/src/mirall/protocolwidget.h @@ -64,6 +64,7 @@ private: const int IgnoredIndicatorRole; Ui::ProtocolWidget *_ui; QPushButton *_clearBlacklistBtn; + QPushButton *_copyBtn; }; } From ef6c82ba00a577ae26d06ad78e524d3735575647 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Tue, 12 Aug 2014 01:25:26 -0400 Subject: [PATCH 126/133] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 8 ++++---- translations/mirall_cs.ts | 8 ++++---- translations/mirall_de.ts | 8 ++++---- translations/mirall_el.ts | 8 ++++---- translations/mirall_en.ts | 8 ++++---- translations/mirall_es.ts | 8 ++++---- translations/mirall_es_AR.ts | 8 ++++---- translations/mirall_et.ts | 8 ++++---- translations/mirall_eu.ts | 8 ++++---- translations/mirall_fa.ts | 12 ++++++------ translations/mirall_fi.ts | 8 ++++---- translations/mirall_fr.ts | 8 ++++---- translations/mirall_gl.ts | 8 ++++---- translations/mirall_hu.ts | 8 ++++---- translations/mirall_it.ts | 8 ++++---- translations/mirall_ja.ts | 8 ++++---- translations/mirall_nl.ts | 8 ++++---- translations/mirall_pl.ts | 8 ++++---- translations/mirall_pt.ts | 8 ++++---- translations/mirall_pt_BR.ts | 8 ++++---- translations/mirall_ru.ts | 8 ++++---- translations/mirall_sk.ts | 8 ++++---- translations/mirall_sl.ts | 8 ++++---- translations/mirall_sv.ts | 8 ++++---- translations/mirall_th.ts | 8 ++++---- translations/mirall_tr.ts | 8 ++++---- translations/mirall_uk.ts | 8 ++++---- translations/mirall_zh_CN.ts | 8 ++++---- translations/mirall_zh_TW.ts | 8 ++++---- 29 files changed, 118 insertions(+), 118 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index a5fd2e3ae..d4f917dc9 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -1466,22 +1466,22 @@ No és aconsellada usar-la. Copia la llista d'activitats al porta-retalls. - + Copied to clipboard S'ha copiat al porta-retalls - + The sync status has been copied to the clipboard. L'estat de sincronització s'ha copiat al porta-retalls. - + Currently no files are ignored because of previous errors. Actualment no s'ha ignorat cap fitxer a causa d'errors anteriors. - + %1 files are ignored because of previous errors. Try to sync these again. %1 fixers són ignorats per errors previs. diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index cb5c71689..c0f0b9662 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -1466,22 +1466,22 @@ Nedoporučuje se jí používat. Kopírovat záznam aktivity do schránky. - + Copied to clipboard Zkopírováno do schránky - + The sync status has been copied to the clipboard. Stav synchronizace byl zkopírován do schránky. - + Currently no files are ignored because of previous errors. Nyní nejsou v seznamu ignorovaných žádné soubory kvůli předchozím chybám. - + %1 files are ignored because of previous errors. Try to sync these again. %1 souborů je na seznamu ignorovaných kvůli předchozím chybovým stavům. diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index df9f8a2ab..528517603 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -1467,22 +1467,22 @@ Es ist nicht ratsam, diese zu benutzen. Aktivitätsliste in die Zwischenablage kopieren. - + Copied to clipboard In die Zwischenablage kopiert - + The sync status has been copied to the clipboard. Der Synchronisationsstatus wurde in die Zwischenablage kopiert. - + Currently no files are ignored because of previous errors. Aktuell werden keine Dateien, aufgrund vorheriger Fehler, ignoriert. - + %1 files are ignored because of previous errors. Try to sync these again. %1 Datei(en) werden aufgrund vorheriger Fehler ignoriert. diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index bb55714c2..b360aea34 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -1467,22 +1467,22 @@ It is not advisable to use it. Αντιγραφή της λίστας δραστηριότητας στο πρόχειρο. - + Copied to clipboard Αντιγράφηκε στο πρόχειρο - + The sync status has been copied to the clipboard. Η κατάσταση συγχρονισμού αντιγράφηκε στο πρόχειρο. - + Currently no files are ignored because of previous errors. Προς το παρόν κανένα αρχείο δεν θα αγνοηθεί λόγω προηγούμενων σφαλμάτων. - + %1 files are ignored because of previous errors. Try to sync these again. %1 αρχεία θα ανγοηθούν λόγω προηγούμενων σφαλμάτων. diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index 40efa751b..a01810e4c 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -1461,22 +1461,22 @@ It is not advisable to use it. - + Copied to clipboard - + The sync status has been copied to the clipboard. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index bb5ea4bda..20d699874 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -1466,22 +1466,22 @@ No se recomienda usarlo. Copie la lista de actividades al portapapeles - + Copied to clipboard Copiado al portapapeles - + The sync status has been copied to the clipboard. El informe de sincronización fue copiado al portapapeles. - + Currently no files are ignored because of previous errors. Actualmente no hay ficheros ignorados por errores previos. - + %1 files are ignored because of previous errors. Try to sync these again. 1% de los archivos fueron ignorados debido a errores previos. diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index c7a23721d..66dce1748 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -1463,22 +1463,22 @@ It is not advisable to use it. Copiar la lista de actividades al portapapeles. - + Copied to clipboard Copiado al portapapeles - + The sync status has been copied to the clipboard. El estado de sincronización ha sido copiado al portapapeles - + Currently no files are ignored because of previous errors. Actualmente ningún archivo es ignorado por errores previos. - + %1 files are ignored because of previous errors. Try to sync these again. %1 archivos fueron ignorados por errores previos. diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index a622299b6..559aeafb7 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -1466,22 +1466,22 @@ Selle kasutamine pole soovitatav. Kopeeri tegevuste nimistu puhvrisse. - + Copied to clipboard Kopeeritud lõikepuhvrisse - + The sync status has been copied to the clipboard. Sünkroniseeringu staatus on kopeeritud lõikepuhvrisse. - + Currently no files are ignored because of previous errors. Hetkel ei ignoreerita ühtegi faili eelnenud vigade tõttu. - + %1 files are ignored because of previous errors. Try to sync these again. %1 faili on ignoreeritud eelnenud vigade tõttu. diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index e84ce0fde..d281af9d4 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -1465,22 +1465,22 @@ It is not advisable to use it. - + Copied to clipboard Arbelera kopiatua - + The sync status has been copied to the clipboard. Sinkronizazio egoera arbelera kopiatu da. - + Currently no files are ignored because of previous errors. Oraintxe ez da fitxategirik baztertzen aurreko erroreak direla eta. - + %1 files are ignored because of previous errors. Try to sync these again. %1 fitxategi baztertu dira aurreko erroreak direla eta. diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 90da25612..65ed0f45e 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -443,7 +443,7 @@ Are you sure you want to perform this operation? File - + فایل @@ -1426,7 +1426,7 @@ It is not advisable to use it. File - + فایل @@ -1459,22 +1459,22 @@ It is not advisable to use it. - + Copied to clipboard کپی به کلیپ بورد - + The sync status has been copied to the clipboard. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 7800096aa..60a482565 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -1462,22 +1462,22 @@ Osoitteen käyttäminen ei ole suositeltavaa. - + Copied to clipboard Kopioitu leikepöydälle - + The sync status has been copied to the clipboard. Synkronointitila on kopioitu leikepöydälle. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index f4a076295..e0af42ca0 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -1466,22 +1466,22 @@ Il est déconseillé de l'utiliser. Copier la liste d'activités dans le presse papiers. - + Copied to clipboard Copié dans le presse-papiers - + The sync status has been copied to the clipboard. Le statu de synchronisation a été copié dans le presse-papier. - + Currently no files are ignored because of previous errors. Actuellement aucun fichier n'a été ignoré en raison d'erreurs précédentes. - + %1 files are ignored because of previous errors. Try to sync these again. %1 fichiers ont été ignorés en raison des erreurs précédentes. diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index b6e6296f5..31224a6b8 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -1466,22 +1466,22 @@ Recomendámoslle que non o use. Copiar a lista da actividade no portapapeis. - + Copied to clipboard Copiado no portapapeis. - + The sync status has been copied to the clipboard. O estado de sincronización foi copiado no portapapeis. - + Currently no files are ignored because of previous errors. Actualmente non hai ficheiros ignorados por mor de erros anteriores. - + %1 files are ignored because of previous errors. Try to sync these again. %1 ficheiros foron ignorados por mor de erros anteriores. diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index 366e74bc2..9b8fb9e8e 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -1459,22 +1459,22 @@ It is not advisable to use it. - + Copied to clipboard Bemásolva a vágólapra - + The sync status has been copied to the clipboard. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 27eae5cac..9eaf78566 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -1465,22 +1465,22 @@ Non è consigliabile utilizzarlo. Copia l'elenco delle attività negli appunti. - + Copied to clipboard Copiato negli appunti - + The sync status has been copied to the clipboard. Lo stato di sincronizzazione è stato copiato negli appunti. - + Currently no files are ignored because of previous errors. Attualmente nessun file è ignorato a causa di errori precedenti. - + %1 files are ignored because of previous errors. Try to sync these again. %1 file sono ignorati a causa di errori precedenti. diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index afcedc01f..e4c83a75a 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -1464,22 +1464,22 @@ It is not advisable to use it. アクティビティ一覧をコピーする - + Copied to clipboard クリップボードにコピー - + The sync status has been copied to the clipboard. 同期状況をクリップボードにコピーしました。 - + Currently no files are ignored because of previous errors. 処理前にエラーが発生したため、ファイルは何も除外されていません。 - + %1 files are ignored because of previous errors. Try to sync these again. 処理前にエラーが発生したため、%1 個のファイルが除外されました。 diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index fe29bef76..da783522f 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -1466,22 +1466,22 @@ We adviseren deze site niet te gebruiken. Kopieer de activiteitenlijst naar het klembord. - + Copied to clipboard Gekopieerd naar het klembord - + The sync status has been copied to the clipboard. Het synchronisatie overzicht is gekopieerd naar het klembord. - + Currently no files are ignored because of previous errors. Er zijn nu geen bestanden genegeerd vanwege eerdere fouten. - + %1 files are ignored because of previous errors. Try to sync these again. %1 bestanden zijn genegeerd vanwege eerdere fouten. diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index 10c1987b5..b8ae90cea 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -1466,22 +1466,22 @@ Niezalecane jest jego użycie. Kopiuj listę aktywności do schowka. - + Copied to clipboard Skopiuj do schowka - + The sync status has been copied to the clipboard. Status synchronizacji został skopiowany do schowka. - + Currently no files are ignored because of previous errors. Obecnie nie ma plików, które są ignorowane z powodu wcześniejszych błędów. - + %1 files are ignored because of previous errors. Try to sync these again. %1 pliki są ignorowane z powodu błędów. diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 4c3baf5a6..519f1af1e 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -1463,22 +1463,22 @@ It is not advisable to use it. Copiar lista de actividades para a área de transferência. - + Copied to clipboard Copiado para a área de transferência - + The sync status has been copied to the clipboard. O estado da sincronização foi copiada para a área de transferência. - + Currently no files are ignored because of previous errors. Devido a erros anteriores, nenhum ficheiro é ignorado. - + %1 files are ignored because of previous errors. Try to sync these again. %1 ficheiros ignorados devido a erros anteriore. diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index e1a20e2eb..aa934acda 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -1464,22 +1464,22 @@ It is not advisable to use it. Copiar a lista de atividades para a área de transferência. - + Copied to clipboard Copiado para área de transferência - + The sync status has been copied to the clipboard. O estado de sincronização foi copiado para a área de transferência. - + Currently no files are ignored because of previous errors. Correntemente nenhum arquivo será ignorado por causa de erros prévios. - + %1 files are ignored because of previous errors. Try to sync these again. %1 arquivos são ignorados por causa de erros prévios. diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index 14a4577e5..703b7f5b2 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -1466,22 +1466,22 @@ It is not advisable to use it. Скопировать журнал синхронизации в буфер обмена. - + Copied to clipboard Скопировано в буфер обмена - + The sync status has been copied to the clipboard. Статус синхронизации скопирован в буфер обмена. - + Currently no files are ignored because of previous errors. На данный момент файлы, игнорируемые из-за ошибок, отсутствуют. - + %1 files are ignored because of previous errors. Try to sync these again. %1 файлов проигнорировано из-за ошибок. diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index dbdc0a6f1..1a8352cd0 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -1465,22 +1465,22 @@ Nie je vhodné ju používať. Skopírovať zoznam aktivít do schránky. - + Copied to clipboard Skopírované do schránky - + The sync status has been copied to the clipboard. Stav synchronizácie bol nakopírovaný do schránky. - + Currently no files are ignored because of previous errors. V súčastnosti nie sú na čiernej listine žiadne súbory kvôli predchádzajúcim chybovým stavom. - + %1 files are ignored because of previous errors. Try to sync these again. %1 súborov je na čiernej listine kvôli predchádzajúcim chybovým stavom. diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index c76c9f5ee..9e363b876 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -1465,22 +1465,22 @@ Uporaba ni priporočljiva. Kopiraj seznam opravil v odložišče. - + Copied to clipboard Kopirano v odložišče - + The sync status has been copied to the clipboard. Stanje usklajevanja je kopirano v odložišče. - + Currently no files are ignored because of previous errors. Trenutno zaradi predhodnih napak ni prezrta nobena datoteka. - + %1 files are ignored because of previous errors. Try to sync these again. %1 datotek je prezrtih zaradi predhodnih napak. diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 9a44991f2..6f53f3c84 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -1466,22 +1466,22 @@ Det är inte lämpligt använda den. Kopiera aktivitetslistan till urklipp. - + Copied to clipboard Kopierat till urklipp - + The sync status has been copied to the clipboard. Synkroniseringsstatus har kopierats till urklipp. - + Currently no files are ignored because of previous errors. För närvarande ignoreras inga filer på grund av föregående fel. - + %1 files are ignored because of previous errors. Try to sync these again. %1 filer ignoreras på grund av föregående fel. diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index 6c0605827..a0fb7acb5 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -1459,22 +1459,22 @@ It is not advisable to use it. - + Copied to clipboard - + The sync status has been copied to the clipboard. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index 0610eaf8d..ecf8937fe 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -1466,22 +1466,22 @@ Kullanmanız önerilmez. Etkinlik listesini panoya kopyala. - + Copied to clipboard Panoya kopyalandı - + The sync status has been copied to the clipboard. Eşitleme durumu panoya kopyalandı. - + Currently no files are ignored because of previous errors. Önceki hata koşullarından dolayı yoksayılmış dosya yok. - + %1 files are ignored because of previous errors. Try to sync these again. Önceki hata koşullarından dolayı %1 dosya yoksayıldı. diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index 6375ab940..0aa6c245b 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -1461,22 +1461,22 @@ It is not advisable to use it. - + Copied to clipboard Скопійовано в буфер обміну - + The sync status has been copied to the clipboard. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 1c32aa6cd..62b18258d 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -1463,22 +1463,22 @@ It is not advisable to use it. - + Copied to clipboard 复制到剪贴板 - + The sync status has been copied to the clipboard. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index f4f8e6414..7424308dd 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -1459,22 +1459,22 @@ It is not advisable to use it. - + Copied to clipboard 複製至剪貼簿中 - + The sync status has been copied to the clipboard. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. From 4ff0e7e0a23ed34bd3603cd03ac59c945cc1a21d Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 12 Aug 2014 14:03:04 +0200 Subject: [PATCH 127/133] Silent some warnings --- csync/src/csync_exclude.c | 5 ++++- csync/src/csync_util.c | 4 +++- src/mirall/folder.cpp | 2 +- src/mirall/utility.cpp | 1 + 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/csync/src/csync_exclude.c b/csync/src/csync_exclude.c index 25cd060e0..299ae8bc5 100644 --- a/csync/src/csync_exclude.c +++ b/csync/src/csync_exclude.c @@ -208,7 +208,10 @@ CSYNC_EXCLUDE_TYPE csync_excluded(CSYNC *ctx, const char *path, int filetype) { } if (getenv("CSYNC_CONFLICT_FILE_USERNAME")) { - asprintf(&conflict, "*_conflict_%s-*", getenv("CSYNC_CONFLICT_FILE_USERNAME")); + rc = asprintf(&conflict, "*_conflict_%s-*", getenv("CSYNC_CONFLICT_FILE_USERNAME")); + if (rc < 0) { + goto out; + } rc = csync_fnmatch(conflict, path, 0); if (rc == 0) { match = CSYNC_FILE_SILENTLY_EXCLUDED; diff --git a/csync/src/csync_util.c b/csync/src/csync_util.c index ff18c3e58..c73538ac2 100644 --- a/csync/src/csync_util.c +++ b/csync/src/csync_util.c @@ -140,7 +140,9 @@ bool csync_file_locked_or_open( const char *dir, const char *fname) { if (!csync_file_locked_or_open_ext) { return false; } - asprintf(&tmp_uri, "%s/%s", dir, fname); + if (asprintf(&tmp_uri, "%s/%s", dir, fname) < 0) { + return -1; + } CSYNC_LOG(CSYNC_LOG_PRIORITY_DEBUG, "csync_file_locked_or_open %s", tmp_uri); ret = csync_file_locked_or_open_ext(tmp_uri); SAFE_FREE(tmp_uri); diff --git a/src/mirall/folder.cpp b/src/mirall/folder.cpp index 7e78fdeb7..0b5948521 100644 --- a/src/mirall/folder.cpp +++ b/src/mirall/folder.cpp @@ -711,7 +711,7 @@ void Folder::slotJobCompleted(const SyncFileItem &item) } -void Folder::slotAboutToRemoveAllFiles(SyncFileItem::Direction direction, bool *cancel) +void Folder::slotAboutToRemoveAllFiles(SyncFileItem::Direction, bool *cancel) { QString msg = tr("This sync would remove all the files in the sync folder '%1'.\n" diff --git a/src/mirall/utility.cpp b/src/mirall/utility.cpp index 9b47c8920..09f9c7544 100644 --- a/src/mirall/utility.cpp +++ b/src/mirall/utility.cpp @@ -367,6 +367,7 @@ void Utility::winShellChangeNotify( const QString& path ) SHChangeNotify(SHCNE_UPDATEITEM, SHCNF_PATH | SHCNF_FLUSHNOWAIT, reinterpret_cast(QDir::toNativeSeparators(path).utf16()), NULL ); #else + Q_UNUSED(path); qDebug() << Q_FUNC_INFO << " is not implemented on non Windows systems."; #endif } From faa502163eb6b33af532148d215bfe4d3fb249be Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Tue, 12 Aug 2014 14:47:43 +0200 Subject: [PATCH 128/133] OS X: Finally(?) fix stay-on-top behaviour of settings dialog Fixes #1795 --- .gitmodules | 2 +- src/3rdparty/qtmacgoodies | 2 +- src/CMakeLists.txt | 1 + src/mirall/owncloudgui.cpp | 15 +++++++++++++++ 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 208d31911..ffec18175 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,7 +3,7 @@ url = https://github.com/owncloud/documentation [submodule "src/3rdparty/qtmacgoodies"] path = src/3rdparty/qtmacgoodies - url = git://github.com/shadone/qtmacgoodies.git + url = git://github.com/guruz/qtmacgoodies.git [submodule "binary"] path = binary url = git://github.com/owncloud/owncloud-client-binary.git diff --git a/src/3rdparty/qtmacgoodies b/src/3rdparty/qtmacgoodies index cf09d34dc..fa0677571 160000 --- a/src/3rdparty/qtmacgoodies +++ b/src/3rdparty/qtmacgoodies @@ -1 +1 @@ -Subproject commit cf09d34dc7199538727e3d32a9b937ee73890027 +Subproject commit fa067757146e768f31103160eb97991cd0186cf6 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ec15a250a..837ab77ed 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -45,6 +45,7 @@ if (APPLE) list(APPEND 3rdparty_SRC 3rdparty/qtmacgoodies/src/macpreferenceswindow.mm 3rdparty/qtmacgoodies/src/macstandardicon.mm + 3rdparty/qtmacgoodies/src/macwindow.mm ) endif() diff --git a/src/mirall/owncloudgui.cpp b/src/mirall/owncloudgui.cpp index b21e4724e..1f494882b 100644 --- a/src/mirall/owncloudgui.cpp +++ b/src/mirall/owncloudgui.cpp @@ -29,6 +29,7 @@ #include "mirall/account.h" #include "openfilemanager.h" #include "creds/abstractcredentials.h" +#include "macwindow.h" // qtmacgoodies #include #include @@ -145,6 +146,14 @@ void ownCloudGui::slotTrayClicked( QSystemTrayIcon::ActivationReason reason ) if( reason == QSystemTrayIcon::Trigger ) { slotOpenSettingsDialog(true); // start settings if config is existing. } +#else + // On Mac, if the settings dialog is already visible but hidden + // by other applications, this will bring it to the front. + if( reason == QSystemTrayIcon::Trigger ) { + if (!_settingsDialog.isNull() && _settingsDialog->isVisible()) { + slotShowSettings(); + } + } #endif } @@ -504,6 +513,7 @@ void ownCloudGui::slotShowGuiMessage(const QString &title, const QString &messag void ownCloudGui::slotShowSettings() { + qDebug() << Q_FUNC_INFO; if (_settingsDialog.isNull()) { _settingsDialog = #if defined(Q_OS_MAC) @@ -566,6 +576,11 @@ void ownCloudGui::raiseDialog( QWidget *raiseWidget ) raiseWidget->showNormal(); raiseWidget->raise(); raiseWidget->activateWindow(); + +#if defined(Q_OS_MAC) + // viel hilft viel ;-) + MacWindow::bringToFront(raiseWidget); +#endif } } From 8e6e51f9a640e0d196e39615c7ff6065a4deaa87 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Tue, 12 Aug 2014 14:58:34 +0200 Subject: [PATCH 129/133] OS X: Move include to MAC define --- src/mirall/owncloudgui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mirall/owncloudgui.cpp b/src/mirall/owncloudgui.cpp index 1f494882b..7d6b2689b 100644 --- a/src/mirall/owncloudgui.cpp +++ b/src/mirall/owncloudgui.cpp @@ -21,6 +21,7 @@ #include "mirall/owncloudsetupwizard.h" #if defined(Q_OS_MAC) # include "mirall/settingsdialogmac.h" +# include "macwindow.h" // qtmacgoodies #else # include "mirall/settingsdialog.h" #endif @@ -29,7 +30,6 @@ #include "mirall/account.h" #include "openfilemanager.h" #include "creds/abstractcredentials.h" -#include "macwindow.h" // qtmacgoodies #include #include From 4c0891a22e6df0624ab557008e60f29fbcc7cb79 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Tue, 12 Aug 2014 16:25:04 +0200 Subject: [PATCH 130/133] Tests: Give a more random name to test directories Conflicts: csync/tests/ownCloud/ownCloud/Test.pm --- csync/tests/ownCloud/ownCloud/Test.pm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/csync/tests/ownCloud/ownCloud/Test.pm b/csync/tests/ownCloud/ownCloud/Test.pm index e47bffd14..931f3f2b0 100644 --- a/csync/tests/ownCloud/ownCloud/Test.pm +++ b/csync/tests/ownCloud/ownCloud/Test.pm @@ -35,6 +35,7 @@ use LWP::Protocol::https; use HTTP::Request::Common qw( POST GET DELETE ); use File::Basename; use IO::Handle; +use POSIX qw/strftime/; use Encode qw(from_to); use utf8; @@ -129,8 +130,9 @@ sub initTesting(;$) # $d->DebugLevel(3); $prefix = "t1" unless( defined $prefix ); - my $dirId = sprintf("%#.3o", rand(1000)); - my $dir = sprintf( "%s-%s/", $prefix, $dirId ); + my $dirId = sprintf("%02d", rand(100)); + my $dateTime = strftime('%Y%m%d%H%M%S',localtime); + my $dir = sprintf( "%s-%s-%s/", $prefix, $dateTime, $dirId ); $localDir = $dir; $localDir .= "/" unless( $localDir =~ /\/$/ ); From ad139e19abfdb4843f4a0d4ccd042d06dccbff97 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 12 Aug 2014 14:23:16 +0200 Subject: [PATCH 131/133] Fix error reported by address sanitizer Qt allow to call deleteLater on a null object, but it is an undefined behaviour --- src/mirall/networkjobs.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mirall/networkjobs.cpp b/src/mirall/networkjobs.cpp index 7034f148e..b85a041a6 100644 --- a/src/mirall/networkjobs.cpp +++ b/src/mirall/networkjobs.cpp @@ -179,7 +179,8 @@ QString AbstractNetworkJob::responseTimestamp() } AbstractNetworkJob::~AbstractNetworkJob() { - _reply->deleteLater(); + if (_reply) + _reply->deleteLater(); } void AbstractNetworkJob::start() From 255330d3424f1916ad47e69b4ff9c4e3523f0c04 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 12 Aug 2014 17:33:17 +0200 Subject: [PATCH 132/133] Add a "Skip Folder Configuration" button in the wizard This allow to start owncloud the first time but not automatically sync everything, but let the user configure sub folders instead --- src/mirall/application.cpp | 4 ++++ src/mirall/owncloudsetupwizard.cpp | 11 +++++++++++ src/mirall/owncloudsetupwizard.h | 1 + src/wizard/owncloudwizard.cpp | 6 ++++++ src/wizard/owncloudwizard.h | 1 + 5 files changed, 23 insertions(+) diff --git a/src/mirall/application.cpp b/src/mirall/application.cpp index c5acd2d42..cf506f0e2 100644 --- a/src/mirall/application.cpp +++ b/src/mirall/application.cpp @@ -319,6 +319,10 @@ void Application::slotownCloudWizardDone( int res ) qDebug() << "Set up " << cnt << " folders."; // We have some sort of configuration. Enable autostart Utility::setLaunchOnStartup(_theme->appName(), _theme->appNameGUI(), true); + if (cnt == 0) { + // The folder configuration was skipped + _gui->slotShowSettings(); + } } folderMan->setSyncEnabled( true ); if( res == QDialog::Accepted ) { diff --git a/src/mirall/owncloudsetupwizard.cpp b/src/mirall/owncloudsetupwizard.cpp index 9102c2f00..ba65f9a05 100644 --- a/src/mirall/owncloudsetupwizard.cpp +++ b/src/mirall/owncloudsetupwizard.cpp @@ -54,6 +54,7 @@ OwncloudSetupWizard::OwncloudSetupWizard(QObject* parent) : connect( _ocWizard, SIGNAL(basicSetupFinished(int)), this, SLOT(slotAssistantFinished(int)), Qt::QueuedConnection); connect( _ocWizard, SIGNAL(finished(int)), SLOT(deleteLater())); + connect( _ocWizard, SIGNAL(skipFolderConfiguration()), SLOT(slotSkipFolderConfigruation())); } OwncloudSetupWizard::~OwncloudSetupWizard() @@ -454,6 +455,16 @@ void OwncloudSetupWizard::slotAssistantFinished( int result ) emit ownCloudWizardDone( result ); } +void OwncloudSetupWizard::slotSkipFolderConfigruation() +{ + replaceDefaultAccountWith(_ocWizard->account()); + _ocWizard->blockSignals(true); + _ocWizard->close(); + _ocWizard->blockSignals(false); + emit ownCloudWizardDone( QDialog::Accepted ); +} + + DetermineAuthTypeJob::DetermineAuthTypeJob(Account *account, QObject *parent) : AbstractNetworkJob(account, QString(), parent) , _redirects(0) diff --git a/src/mirall/owncloudsetupwizard.h b/src/mirall/owncloudsetupwizard.h index 4394257c0..7d62512b5 100644 --- a/src/mirall/owncloudsetupwizard.h +++ b/src/mirall/owncloudsetupwizard.h @@ -80,6 +80,7 @@ private slots: void slotAuthCheckReply(QNetworkReply*); void slotCreateRemoteFolderFinished(QNetworkReply::NetworkError); void slotAssistantFinished( int ); + void slotSkipFolderConfigruation(); private: explicit OwncloudSetupWizard(QObject *parent = 0 ); diff --git a/src/wizard/owncloudwizard.cpp b/src/wizard/owncloudwizard.cpp index 94e3559ca..5cb6215eb 100644 --- a/src/wizard/owncloudwizard.cpp +++ b/src/wizard/owncloudwizard.cpp @@ -67,6 +67,8 @@ OwncloudWizard::OwncloudWizard(QWidget *parent) connect( _shibbolethCredsPage, SIGNAL(connectToOCUrl(QString)), SIGNAL(connectToOCUrl(QString))); connect( _advancedSetupPage, SIGNAL(createLocalAndRemoteFolders(QString, QString)), SIGNAL(createLocalAndRemoteFolders(QString, QString))); + connect(this, SIGNAL(customButtonClicked(int)), this, SIGNAL(skipFolderConfiguration())); + Theme *theme = Theme::instance(); setWindowTitle( tr("%1 Connection Wizard").arg(theme->appNameGUI())); @@ -78,6 +80,8 @@ OwncloudWizard::OwncloudWizard(QWidget *parent) setOption( QWizard::NoCancelButton ); setTitleFormat(Qt::RichText); setSubTitleFormat(Qt::RichText); + setButtonText(QWizard::CustomButton1, tr("Skip folders configuration")); + } void OwncloudWizard::setAccount(Account *account) @@ -169,6 +173,8 @@ void OwncloudWizard::slotCurrentPageChanged( int id ) emit basicSetupFinished(QDialog::Accepted); appendToConfigurationLog( QString::null ); } + + setOption(QWizard::HaveCustomButton1, id == WizardCommon::Page_AdvancedSetup); } void OwncloudWizard::displayError( const QString& msg ) diff --git a/src/wizard/owncloudwizard.h b/src/wizard/owncloudwizard.h index db3154446..b3c319e76 100644 --- a/src/wizard/owncloudwizard.h +++ b/src/wizard/owncloudwizard.h @@ -73,6 +73,7 @@ signals: void createLocalAndRemoteFolders(const QString&, const QString&); // make sure to connect to this, rather than finished(int)!! void basicSetupFinished( int ); + void skipFolderConfiguration(); private: Account* _account; From 1544606bf0a883115e04f4409e3e2b30960dc1c9 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Tue, 12 Aug 2014 19:24:41 +0200 Subject: [PATCH 133/133] Always handle 401 requests, except for network jobs It is not enough to only implement it for the QNAM returned by the ShibbolethCredentials, because we sometimes need it when we have no valid credentials set (and are using dummy credentials in the course). The main use case is the Webview opened by Shibboleth for FBA. But as a side-effect, we can use it to handle auth requests from the updater and other places. --- src/CMakeLists.txt | 2 +- src/creds/shibbolethcredentials.cpp | 20 ------------ src/creds/shibbolethcredentials.h | 1 - .../authenticationdialog.cpp | 0 .../authenticationdialog.h | 0 src/mirall/mirallaccessmanager.cpp | 32 +++++++++++++++++-- src/mirall/mirallaccessmanager.h | 2 ++ src/mirall/networkjobs.cpp | 1 + 8 files changed, 34 insertions(+), 24 deletions(-) rename src/{creds/shibboleth => mirall}/authenticationdialog.cpp (100%) rename src/{creds/shibboleth => mirall}/authenticationdialog.h (100%) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 837ab77ed..27287713e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -65,6 +65,7 @@ set(3rdparty_INC ) set(libsync_SRCS + mirall/authenticationdialog.cpp mirall/syncresult.cpp mirall/mirallconfigfile.cpp mirall/syncengine.cpp @@ -107,7 +108,6 @@ else() creds/shibbolethcredentials.cpp creds/shibboleth/shibbolethwebview.cpp creds/shibboleth/shibbolethrefresher.cpp - creds/shibboleth/authenticationdialog.cpp creds/shibboleth/shibbolethuserjob.cpp ) endif() diff --git a/src/creds/shibbolethcredentials.cpp b/src/creds/shibbolethcredentials.cpp index 5b83f701f..394f1a77b 100644 --- a/src/creds/shibbolethcredentials.cpp +++ b/src/creds/shibbolethcredentials.cpp @@ -20,7 +20,6 @@ #include #include "creds/shibbolethcredentials.h" -#include "creds/shibboleth/authenticationdialog.h" #include "creds/shibboleth/shibbolethwebview.h" #include "creds/shibboleth/shibbolethrefresher.h" #include "creds/shibbolethcredentials.h" @@ -173,8 +172,6 @@ QNetworkAccessManager* ShibbolethCredentials::getQNAM() const QNetworkAccessManager* qnam(new MirallAccessManager); connect(qnam, SIGNAL(finished(QNetworkReply*)), this, SLOT(slotReplyFinished(QNetworkReply*))); - connect(qnam, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)), - SLOT(slotHandleAuthentication(QNetworkReply*,QAuthenticator*))); return qnam; } @@ -319,23 +316,6 @@ void ShibbolethCredentials::invalidateAndFetch(Account* account) job->start(); } -void ShibbolethCredentials::slotHandleAuthentication(QNetworkReply *reply, QAuthenticator *authenticator) -{ - Q_UNUSED(reply) - QUrl url = reply->url(); - // show only scheme, host and port - QUrl reducedUrl; - reducedUrl.setScheme(url.scheme()); - reducedUrl.setHost(url.host()); - reducedUrl.setPort(url.port()); - - AuthenticationDialog dialog(authenticator->realm(), reducedUrl.toString()); - if (dialog.exec() == QDialog::Accepted) { - authenticator->setUser(dialog.user()); - authenticator->setPassword(dialog.password()); - } -} - void ShibbolethCredentials::slotInvalidateAndFetchInvalidateDone(QKeychain::Job* job) { Account *account = qvariant_cast(job->property("account")); diff --git a/src/creds/shibbolethcredentials.h b/src/creds/shibbolethcredentials.h index 5a58fac4f..883735e08 100644 --- a/src/creds/shibbolethcredentials.h +++ b/src/creds/shibbolethcredentials.h @@ -63,7 +63,6 @@ public: public Q_SLOTS: void invalidateAndFetch(Account *account) Q_DECL_OVERRIDE; - void slotHandleAuthentication(QNetworkReply*,QAuthenticator*); private Q_SLOTS: void onShibbolethCookieReceived(const QNetworkCookie&, Account*); diff --git a/src/creds/shibboleth/authenticationdialog.cpp b/src/mirall/authenticationdialog.cpp similarity index 100% rename from src/creds/shibboleth/authenticationdialog.cpp rename to src/mirall/authenticationdialog.cpp diff --git a/src/creds/shibboleth/authenticationdialog.h b/src/mirall/authenticationdialog.h similarity index 100% rename from src/creds/shibboleth/authenticationdialog.h rename to src/mirall/authenticationdialog.h diff --git a/src/mirall/mirallaccessmanager.cpp b/src/mirall/mirallaccessmanager.cpp index ddb9be013..ceb76b0f7 100644 --- a/src/mirall/mirallaccessmanager.cpp +++ b/src/mirall/mirallaccessmanager.cpp @@ -12,6 +12,7 @@ */ #include +#include #include #include #include @@ -19,6 +20,8 @@ #include "mirall/cookiejar.h" #include "mirall/mirallaccessmanager.h" #include "mirall/utility.h" +#include "mirall/authenticationdialog.h" + namespace Mirall { @@ -33,8 +36,11 @@ MirallAccessManager::MirallAccessManager(QObject* parent) setProxy(proxy); #endif setCookieJar(new CookieJar); - QObject::connect(this, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)), - this, SLOT(slotProxyAuthenticationRequired(QNetworkProxy,QAuthenticator*))); + connect(this, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)), + this, SLOT(slotProxyAuthenticationRequired(QNetworkProxy,QAuthenticator*))); + connect(this, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)), + this, SLOT(slotAuthenticationRequired(QNetworkReply*,QAuthenticator*))); + } QNetworkReply* MirallAccessManager::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest& request, QIODevice* outgoingData) @@ -60,5 +66,27 @@ void MirallAccessManager::slotProxyAuthenticationRequired(const QNetworkProxy &p authenticator->setPassword(proxy.password()); } } +void MirallAccessManager::slotAuthenticationRequired(QNetworkReply *reply, QAuthenticator *authenticator) +{ + // do not handle 401 created by the networkjobs. We may want + // to eventually exempt some, but for now we need + // it only for other things, e.g. the browser. Would we handle + // network jobs, this would break the wizard logic + if (reply->property("doNotHandleAuth").toBool()) { + return; + } + QUrl url = reply->url(); + // show only scheme, host and port + QUrl reducedUrl; + reducedUrl.setScheme(url.scheme()); + reducedUrl.setHost(url.host()); + reducedUrl.setPort(url.port()); + + AuthenticationDialog dialog(authenticator->realm(), reducedUrl.toString()); + if (dialog.exec() == QDialog::Accepted) { + authenticator->setUser(dialog.user()); + authenticator->setPassword(dialog.password()); + } +} } // ns Mirall diff --git a/src/mirall/mirallaccessmanager.h b/src/mirall/mirallaccessmanager.h index d2fc0e531..85d46031a 100644 --- a/src/mirall/mirallaccessmanager.h +++ b/src/mirall/mirallaccessmanager.h @@ -31,6 +31,8 @@ protected: QNetworkReply* createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest& request, QIODevice* outgoingData = 0) Q_DECL_OVERRIDE; protected slots: void slotProxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *authenticator); + void slotAuthenticationRequired(QNetworkReply *reply, QAuthenticator *authenticator); + }; } // ns Mirall diff --git a/src/mirall/networkjobs.cpp b/src/mirall/networkjobs.cpp index b85a041a6..cf58a6a76 100644 --- a/src/mirall/networkjobs.cpp +++ b/src/mirall/networkjobs.cpp @@ -57,6 +57,7 @@ void AbstractNetworkJob::setReply(QNetworkReply *reply) if (_reply) { _reply->deleteLater(); } + reply->setProperty("doNotHandleAuth", true); _reply = reply; }