diff --git a/.github/workflows/detectWrongSettings.yml b/.github/workflows/detectWrongSettings.yml index 8a11053868..b45bf49a7f 100644 --- a/.github/workflows/detectWrongSettings.yml +++ b/.github/workflows/detectWrongSettings.yml @@ -17,7 +17,7 @@ concurrency: jobs: detectWrongSettings: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 diff --git a/.github/workflows/screenShotTest.yml b/.github/workflows/screenShotTest.yml index 13f6c93998..d33dcfa8a2 100644 --- a/.github/workflows/screenShotTest.yml +++ b/.github/workflows/screenShotTest.yml @@ -17,7 +17,7 @@ concurrency: jobs: screenshot: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: diff --git a/app/build.gradle b/app/build.gradle index 192283ee65..5b6d53c92a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -28,10 +28,10 @@ buildscript { } plugins { - id "org.jetbrains.kotlin.plugin.compose" version "2.0.21" + id "org.jetbrains.kotlin.plugin.compose" version "2.1.0" id "com.diffplug.spotless" version "6.25.0" - id "org.jetbrains.kotlin.kapt" version "2.0.21" - id 'com.google.devtools.ksp' version '2.0.21-1.0.27' apply false + id "org.jetbrains.kotlin.kapt" version "2.1.0" + id 'com.google.devtools.ksp' version '2.1.0-1.0.29' apply false } apply plugin: 'com.android.application' diff --git a/app/src/main/java/com/nextcloud/client/device/DeviceInfo.kt b/app/src/main/java/com/nextcloud/client/device/DeviceInfo.kt index f4d862cbe3..f23f5ead6a 100644 --- a/app/src/main/java/com/nextcloud/client/device/DeviceInfo.kt +++ b/app/src/main/java/com/nextcloud/client/device/DeviceInfo.kt @@ -12,7 +12,7 @@ import android.os.Build import java.util.Locale class DeviceInfo { - val vendor: String = Build.MANUFACTURER.toLowerCase(Locale.ROOT) + val vendor: String = Build.MANUFACTURER.lowercase(Locale.ROOT) val apiLevel: Int = Build.VERSION.SDK_INT val androidVersion = Build.VERSION.RELEASE diff --git a/app/src/main/java/com/nextcloud/client/etm/pages/EtmMigrations.kt b/app/src/main/java/com/nextcloud/client/etm/pages/EtmMigrations.kt index 8f93432865..cf9cbd3057 100644 --- a/app/src/main/java/com/nextcloud/client/etm/pages/EtmMigrations.kt +++ b/app/src/main/java/com/nextcloud/client/etm/pages/EtmMigrations.kt @@ -40,7 +40,7 @@ class EtmMigrations : EtmBaseFragment() { fun showStatus() { val builder = StringBuilder() - val status = vm.migrationsStatus.toString().toLowerCase(Locale.US) + val status = vm.migrationsStatus.toString().lowercase(Locale.US) builder.append("Migration status: $status\n") val lastMigratedVersion = if (vm.lastMigratedVersion >= 0) { vm.lastMigratedVersion.toString() diff --git a/app/src/main/java/com/nextcloud/client/media/PlayerService.kt b/app/src/main/java/com/nextcloud/client/media/PlayerService.kt index ec6012f533..f953a79973 100644 --- a/app/src/main/java/com/nextcloud/client/media/PlayerService.kt +++ b/app/src/main/java/com/nextcloud/client/media/PlayerService.kt @@ -117,7 +117,7 @@ class PlayerService : Service() { } val pendingStop = PendingIntent.getService(this, 0, stop, PendingIntent.FLAG_IMMUTABLE) - notificationBuilder.addAction(0, getString(R.string.player_stop).toUpperCase(Locale.getDefault()), pendingStop) + notificationBuilder.addAction(0, getString(R.string.player_stop).lowercase(Locale.getDefault()), pendingStop) val toggle = Intent(this, PlayerService::class.java).apply { action = ACTION_TOGGLE @@ -126,7 +126,7 @@ class PlayerService : Service() { val pendingToggle = PendingIntent.getService(this, 0, toggle, PendingIntent.FLAG_IMMUTABLE) notificationBuilder.addAction( 0, - getString(R.string.player_toggle).toUpperCase(Locale.getDefault()), + getString(R.string.player_toggle).lowercase(Locale.getDefault()), pendingToggle ) } diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 3cbd244131..954a57cac2 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -41,6 +41,7 @@ تعطيل المواقع الخارجية تعطيل تعدد الحسابات تعطيل المشاركة + فرض الحماية اسم المضيف الوكيل منفذ البروكسي عرض أداة واحدة من لوحة القيادة @@ -1095,6 +1096,7 @@ انتظر لحظة… التحقق من معلومات تسجيل الدخول المحفوظة نسخ الملف من التخزين الخاص + تغيير امتداد الملف يمكن أن يتسبب في فتح الملف باستعمال تطبيق مختلف يرجى تحديث تطبيق WebView في نظام أندرويد لتسجيل الدخول تحديث تحديث تطبيق WebView في نظام أندرويد diff --git a/app/src/main/res/values-b+en+001/strings.xml b/app/src/main/res/values-b+en+001/strings.xml index d07858eaaf..c4d07977bc 100644 --- a/app/src/main/res/values-b+en+001/strings.xml +++ b/app/src/main/res/values-b+en+001/strings.xml @@ -41,6 +41,7 @@ Disable External Sites Disable Multi Account Disable Sharing + Enforce Protection Proxy Hostname Proxy Port Shows one widget from dashboard @@ -1068,6 +1069,7 @@ Wait a moment… Checking stored credentials Copying file from private storage + Changing the extension might cause this file to open in a different application Please update the Android System WebView app for a login Update Update Android System WebView diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml index fba87cad30..1558ecf62f 100644 --- a/app/src/main/res/values-cs-rCZ/strings.xml +++ b/app/src/main/res/values-cs-rCZ/strings.xml @@ -35,6 +35,13 @@ Pokročilá nastavení Povolit sdílet dál dalším Základní URL + Zakázat schránku + Zakázat úvod + Zakázat zaznamenávání událostí + Zakázat externí stránky + Zakázat vícero uživatelských účtů + Zakázat sdílení + Vynutit ochranu Název stroje s proxy Port proxy Zobrazuje jeden ovládací prvek z nástěnky @@ -362,6 +369,7 @@ Takto nazvaný soubor už zde existuje Smazat Při načítání aktivit u souboru došlo k chybě + Pro označené kontakty není k dispozici žádná aplikace Nepodařilo se načíst podrobnosti. Soubor Ponechat @@ -389,6 +397,7 @@ Oprávnění k úložišti %1$s funguje nejlépe s oprávněními pro přístup k úložišti. Je možné zvolit plný přístup k veškerým souborům nebo přístup pouze pro čtení k fotkám a videím. Aby %1$s mohlo nahrávat soubory na server, potřebuje oprávnění pro správu souborů. Je možné zvolit plný přístup k veškerým souborům nebo přístup pouze pro čtení k fotkám a videím. + Umožnit přístup z ostatních aplikací Prověřování cílového umístění… Čištění… Aktualizuje se složka pro ukládání dat @@ -399,6 +408,7 @@ Do cílového souboru se nedaří zapsat Nezdar během migrace Nepodařilo se aktualizovat rejstřík + %1$s\n(%2$s / %3$s) Přesouvání dat… Dokončeno Nahradit @@ -594,6 +604,7 @@ Žádná upozornění Vraťte se sem později. Čekající operace + Čekající operace odebrání Bez připojení k Internetu I bez připojení k Internetu je možné uspořádávat své složky a vytvářet soubory. Jakmile budete opět online, vaše čekající změny budou automaticky synchronizovány. Jste bez připojení, ale práce pokračuje @@ -656,6 +667,8 @@ Synchronizovat Každodenní záloha vašeho kalendáře a kontaktů Každodenní záloha vašich kontaktů + Umístění úložiště dat + Spravovat umístění úložiště dat Neočekávaná chyba při nastavování DAVx5 (dříve známého jako DAVdroid) Šifrování mezi koncovými body je nastaveno! E2E mnemotechnická @@ -1056,6 +1069,7 @@ Chvilku strpení… Ověřování uložených přihlašovacích údajů Kopírování souboru ze soukromého úložiště + Změna přípony může způsobit, že se soubor bude otevírat jinou aplikací Aby se bylo možné přihlásit, zaktualizujte systémovou aplikaci WebView Androidu Aktualizovat Zaktualizovat Android System WebView diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index ef7110e59f..d390c35d2d 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -41,6 +41,7 @@ Externe Seiten deaktivieren Multi-Konten deaktivieren Teilen deaktivieren + Schutz erzwingen Proxy-Hostname Proxy-Port Zeigt ein Widget aus dem Dashboard an @@ -1068,6 +1069,7 @@ Bitte warten… Überprüfe gespeicherte Anmeldeinformationen Kopiere Datei von privatem Speicher + Das Ändern der Erweiterung kann dazu führen, dass diese Datei in einer anderen Anwendung geöffnet wird Bitte aktualisieren Sie die Android System WebView-App für eine Anmeldung Aktualisieren Android System WebView aktualisieren diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 9e2b2faeae..0c3cb73849 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -11,8 +11,8 @@ Effacer toutes les notifications Vider la corbeille Envoyer / Partager - Affichage mosaïque - Affichage liste + Vue en grille + Vue en liste Restaurer les contacts et l\'agenda Nouveau dossier Déplacer ou copier diff --git a/app/src/main/res/values-ga/strings.xml b/app/src/main/res/values-ga/strings.xml index c327536fc9..87f0265c9d 100644 --- a/app/src/main/res/values-ga/strings.xml +++ b/app/src/main/res/values-ga/strings.xml @@ -41,6 +41,7 @@ Díchumasaigh Suímh Sheachtracha Díchumasaigh Ilchuntais Díchumasaigh Roinnt + Cosaint a Fhorfheidhmiú Óstainm Seachfhreastalaí Port Seachfhreastalaí Taispeáin giuirléid amháin ón deais @@ -1068,6 +1069,7 @@ Fan nóiméad… Dintiúir stóráilte a sheiceáil Comhad á chóipeáil ó stór príobháideach + Seans go n-osclóidh an comhad seo i bhfeidhmchlár eile má athraítear an síneadh ama Nuashonraigh an aip Android System WebView le haghaidh logáil isteach Nuashonrú Nuashonraigh Android System WebView diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 08b0a6abc3..5422750c56 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -41,6 +41,7 @@ Desactivar os sitios externos Desactivar as contas múltiples Desactivar as comparticións + Obrigar a protección Nome do servidor proxy Porto do proxy Amosa un trebello do taboleiro @@ -175,7 +176,7 @@ Candidata de publicación A candidata de publicación (release candidate - RC) é unha instantánea da versión máis próxima a publicar e agardase que sexa estábel. Probar a súa configuración individual podería axudarnos a asegurar iso. Rexístrese para facer probas na Play Store ou búsquea manualmente na sección «Versións» no F-Droid. Atopou un fallo? hai algo estraño? - Axudanos facendo probas + Axúdenos facendo probas Informe dun incidente no GitHub Configurar Retirar o cifrado local @@ -639,7 +640,7 @@ marcadordesubstitución.txt 12:23:45 Isto é un marcador de substitución - 18/05/2012 12:23 PM + 18/05/2012 12:23 p.m. parar alternar Seleccione un servidor… @@ -1069,6 +1070,7 @@ Agarde un chisco… Verificando as credenciais almacenadas Copiando o ficheiro desde o almacenamento privado + Cambiar a extensión pode provocar que este ficheiro se abra nunha aplicación diferente Actualice a aplicación WebView do sistema Android para acceder Actualizar Actualizar WebView do sistema Android diff --git a/app/src/main/res/values-hu-rHU/strings.xml b/app/src/main/res/values-hu-rHU/strings.xml index cc49930564..f95ab65b84 100644 --- a/app/src/main/res/values-hu-rHU/strings.xml +++ b/app/src/main/res/values-hu-rHU/strings.xml @@ -13,6 +13,7 @@ Küldés/megosztás Rács nézet Lista nézet + Névjegyek és naptár helyreállítása Új mappa Áthelyezés vagy Másolás Megnyitás ezzel @@ -34,6 +35,8 @@ Speciális beállítások Újra megosztás engedélyezése Alap URL + Vágólap letiltása + Bevezető kikapcsolása Proxy portja Egy modult jelenít meg a irányítópultról Keresés itt: %s diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 598a21a3fb..1584dad901 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -34,6 +34,15 @@ %1$s に追加 高度な設定 再共有を許可する + ベース URL + クリップボードを無効化 + イントロを無効化 + ログを無効化 + 外部サイトを無効化 + 複数アカウントを無効化 + 共有を無効化 + 常に保護を有効にする + プロキシのホスト名 プロキシポート ダッシュボードから一つのウィジェットを表示 %s の中を検索 @@ -54,6 +63,7 @@ タスクは正常に削除されました。 タスクリストを取得できません。インターネット接続を確認してください。 タスクを削除 + タスクの出力はまだ準備ができていません。 タスクタイプを取得できません。インターネット接続を確認してください。 アシスタント 不明 @@ -177,8 +187,10 @@ ローカルのみ 競合解決ダイアログを作成できません %1$sはすでに存在します + ファルダの競合 ローカルファイル 両方のバージョンを選択した場合、ローカルファイルはファイル名に数字が追加されます。 + 両方のバージョンを選択した場合、ローカルファルダはファルダ名に数字が追加されます。 サーバーファイル 連絡先のバックアップ 連絡先の権限が必要です。 @@ -275,8 +287,11 @@ %2$s 中%1$s が使われています。 %1$s使用中 自動アップロード + カウンターが古すぎます + ハッシュは見つかりません E2E暗号化が未設定 インターネット接続なしには不可能です + 署名が一致しません アシスタント さらに表示 ノート @@ -354,6 +369,7 @@ ファイル名が既に存在します 削除 ファイルのアクティビティ取得エラー + 連絡先を選択するためのアプリが利用できません 詳細のロードに失敗しました ファイル 保持 @@ -381,6 +397,7 @@ ストレージの権限 %1$sは、ストレージへのアクセスが許可されることでより良く動作します。全てのファイルへのフルアクセスまたは写真や動画への読み取り専用を選ぶことができます。 %1$sは、ファイルをアップロードするためいファイル管理の権限を必要としています。全てのファイルへのフルアクセスまたは写真や動画への読み取り専用を選ぶことができます。 + 他のアプリからのアクセスを許可する 移動先の確認中… クリーニング中… データ保存フォルダーを更新 @@ -391,6 +408,7 @@ 移動先ファイルに書き込めませんでした 移行中に失敗しました インデックスの更新に失敗しました + %1$s\n(%2$s / %3$s) データを移動中 完了 置換 @@ -402,6 +420,14 @@ インデックスの更新中… 利用 全ての同期を待機中… + 現在のフォルダ名が無効です。フォルダの名前を変更してください。ホームにリダイレクトしています... + フォルダパスに予約された名前または無効な文字が含まれています + %s は禁止されているファイル拡張子です + ファイル名の先頭または末尾にスペースを含めてはいけません + 名前に無効な文字が含まれています: %s + %s は禁止されている名前です + %s。 移動またはコピーする前にファイルの名前を変更してください + 予約された名前または無効な文字を含むため、アップロードできないコンテンツがあります ファイルが見つかりません ファイルを同期できませんでした。 最新の利用可能なバージョンを表示します。 名前を変更 @@ -425,6 +451,7 @@ フォルダーはすでに存在します 作成 フォルダーがありません + フォルダ名を空にすることはできません 選択 ターゲットフォルダーを選択 コピー @@ -471,6 +498,9 @@ 既存のファイルもアップロード 充電中のみアップロード /InstantUpload + 内部的な双方向同期 + まだ同期されていませんが、間もなく同期されます + 暗号化されたフォルダを設定するにはインターネット接続が必要です 無効なURL 隠す ラベルは空にできません @@ -555,6 +585,8 @@ メモを送信できませんでした アイコンを記録 アクションの実行に失敗しました。 + バックグラウンド操作の結果に対する通知を表示する + バックグラウンド操作 ダウンロードの進行状況を表示 ダウンロード ファイルの同期の進行状況と結果を表示します @@ -568,9 +600,20 @@ アップロードの進行状況を表示 アップロード 通知アイコン + 未読の通知があります 通知はありません 後で確認してください。 + 保留中の操作 + 保留中の削除操作 インターネットに接続されていません + インターネット接続がなくてもフォルダの整理やファイルの作成ができます。オンラインに戻ったら、保留中の操作が自動的に同期されます。 + オフラインでも作業は続きます + ファイルがまだ存在しません。まずファイルをアップロードしてください。 + 競合したフォルダ: %s + オフラインフォルダを削除する + オフライン操作を完了できません。%s + オフライン操作 + オフライン操作を開始しています 1時間 オンライン オンラインステータス @@ -600,6 +643,7 @@ 2012/05/18 PM 12:23 中止 切替え + サーバを選択してください... 省電力チェックを無効にすると、バッテリー残量が少ないときにもファイルのアップロードを行う場合があります! 削除しました 元のフォルダーに保持 @@ -623,6 +667,9 @@ 同期 カレンダーと連絡先を毎日バックアップ 連絡先のデイリーバックアップ + データの保存場所 + データの保存場所を管理する + DAVx5(以前はDAVdroidとして知られていました)設定中の予期しないエラー End-to-end 暗号化を設定中! E2Eニーモニック ニーモニックを表示するには、デバイスクレデンシャルを有効にしてください。 @@ -633,6 +680,8 @@ インプリント 元のファイルの扱い… 元のファイルになります… + 隠しファイルやフォルダを除外する + 非表示のものを除外する 日付を基にしたサブフォルダーに保存 サブフォルダーを利用 サブフォルダーのオプション @@ -647,8 +696,10 @@ パスコード アカウント管理 友達にすすめる + ローカルで暗号化を解除する end-to-end 暗号化を設定 アップスイッチャーを表示 + ナビゲーションの見出しにおけるNextcloudアプリの提案 隠しファイルを表示 ソースコードを入手 データ保存フォルダー @@ -656,6 +707,7 @@ ローカルフォルダー リモートフォルダー テーマ + 間隔 暗い 明るい システムの設定に従う @@ -863,6 +915,7 @@ 永久に削除 ゴミ箱へのロードに失敗しました! ファイルを完全に削除できませんでした。 + 内部的な双方向同期 予期せぬエラーが発生しました ファイルのロックを解除 未読のコメントがあります diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 64dac5dd43..afd790fe5a 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -41,6 +41,7 @@ Inaktivera externa platser Inaktivera flera konton Inaktivera delning + Tillämpa skydd Proxy-värdnamn Proxyport Visa en widget från dashboard @@ -1067,6 +1068,7 @@ Vänligen vänta… Kontrollerar lagrade inloggningsuppgifter Kopierar fil från privat lagring + Att ändra tillägg kan göra att filen öppnas i en annan app Uppdatera Android System WebView-appen för inloggning Uppdatera Uppdatera Android System WebView diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 68595f576a..151101bce5 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -41,6 +41,7 @@ Вимкнути зовнішні сайти Вимкнути багатокористувацький режим Вимкнути надання у спільний доступ + Увімкнути захист Хост проксі Порт проксі-сервера Показувати один віджет з панелі віджетів @@ -1058,6 +1059,7 @@ Зачекайте трохи… Перевірка збережених даних авторизації Копіювання файлу з приватного сховища + Зміна розширення файлу може призвести до того, що його буде відкривати інший застосунок Оновіть застосунок Android System WebView для отримання доступу до входу Оновлення Оновити Android System WebView diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index d131a33678..4ac8b09198 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -41,6 +41,7 @@ 停用外部網站 停用多重帳戶 停用分享 + 實施保護 代理伺服器主機名稱 proxy代理伺服器連接埠 顯示儀表板中的一個小部件 @@ -407,6 +408,7 @@ 無法寫入目的檔案 遷移失敗 更新索引失敗 + %1$s\n(%2$s / %3$s) 數據移動中… 完成 取代 @@ -1067,6 +1069,7 @@ 請稍候… 檢查儲存的身分驗證 從私有儲存空間複製檔案中 + 更改擴展名可能會導致此檔案在不同的應用程式中打開 請更新 Android System WebView 應用程式以進行登入 更新 更新 Android System WebView diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 57d8a003de..2f922a4a51 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -41,6 +41,7 @@ 停用外部網站 停用多重帳號 停用分享 + 強制保護 代理伺服器主機名稱 proxy代理伺服器連接埠 顯示儀表板中的一個小工具 @@ -1068,6 +1069,7 @@ 稍候… 正在檢查儲存的憑證 從私有儲存空間複製檔案中 + 變更副檔名可能會導致此檔案在其他應用程式中開啟 請更新 Android System WebView 應用程式以登入 更新 更新 Android System WebView diff --git a/build.gradle b/build.gradle index 83273c7dfb..dbf768baf3 100644 --- a/build.gradle +++ b/build.gradle @@ -20,7 +20,7 @@ buildscript { documentScannerVersion = "1.1.1" espressoVersion = "3.6.1" jacoco_version = '0.8.12' - kotlin_version = '2.0.21' + kotlin_version = '2.1.0' markwonVersion = "4.6.2" mockitoVersion = "4.11.0" mockitoKotlinVersion = "4.1.0" diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index ee7346bb9d..aaab9d6dd6 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -310,7 +310,7 @@ - + @@ -7782,44 +7782,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - + @@ -9187,6 +9155,11 @@ + + + + + @@ -9211,6 +9184,14 @@ + + + + + + + + @@ -9280,6 +9261,14 @@ + + + + + + + + @@ -9304,6 +9293,14 @@ + + + + + + + + @@ -9320,6 +9317,14 @@ + + + + + + + + @@ -9344,6 +9349,14 @@ + + + + + + + + @@ -9386,6 +9399,11 @@ + + + + + @@ -9455,6 +9473,11 @@ + + + + + @@ -9808,7 +9831,10 @@ - + + + + @@ -9878,6 +9904,14 @@ + + + + + + + + @@ -10835,6 +10869,14 @@ + + + + + + + + @@ -12529,6 +12571,11 @@ + + + + + @@ -12789,6 +12836,14 @@ + + + + + + + + @@ -12821,6 +12876,14 @@ + + + + + + + + @@ -12845,6 +12908,14 @@ + + + + + + + + @@ -13292,6 +13363,14 @@ + + + + + + + + @@ -13329,6 +13408,14 @@ + + + + + + + + @@ -13345,6 +13432,14 @@ + + + + + + + + @@ -13358,6 +13453,14 @@ + + + + + + + + @@ -13366,6 +13469,14 @@ + + + + + + + + @@ -13379,6 +13490,14 @@ + + + + + + + + @@ -13387,6 +13506,14 @@ + + + + + + + + @@ -13427,6 +13554,14 @@ + + + + + + + + @@ -13448,6 +13583,14 @@ + + + + + + + + @@ -13456,6 +13599,14 @@ + + + + + + + + @@ -13477,6 +13628,14 @@ + + + + + + + + @@ -13509,6 +13668,14 @@ + + + + + + + + @@ -13525,6 +13692,14 @@ + + + + + + + + @@ -13541,6 +13716,14 @@ + + + + + + + + @@ -13563,6 +13746,17 @@ + + + + + + + + + + + @@ -13579,6 +13773,14 @@ + + + + + + + + @@ -13595,6 +13797,14 @@ + + + + + + + + @@ -13611,6 +13821,14 @@ + + + + + + + + @@ -13637,6 +13855,14 @@ + + + + + + + + @@ -13653,6 +13879,14 @@ + + + + + + + + @@ -13669,6 +13903,14 @@ + + + + + + + + @@ -13685,6 +13927,14 @@ + + + + + + + + @@ -13701,6 +13951,14 @@ + + + + + + + + @@ -13722,6 +13980,14 @@ + + + + + + + + @@ -13834,6 +14100,14 @@ + + + + + + + + @@ -13850,6 +14124,14 @@ + + + + + + + + @@ -13866,6 +14148,14 @@ + + + + + + + + @@ -13882,6 +14172,14 @@ + + + + + + + + @@ -13898,6 +14196,14 @@ + + + + + + + + @@ -14031,6 +14337,17 @@ + + + + + + + + + + + @@ -14137,6 +14454,11 @@ + + + + + @@ -14238,6 +14560,14 @@ + + + + + + + + @@ -14334,6 +14664,14 @@ + + + + + + + + @@ -14350,6 +14688,14 @@ + + + + + + + + @@ -14366,6 +14712,14 @@ + + + + + + + + @@ -14382,6 +14736,22 @@ + + + + + + + + + + + + + + + + @@ -14412,6 +14782,11 @@ + + + + + @@ -14432,6 +14807,11 @@ + + + + + @@ -14927,6 +15307,11 @@ + + + + +