From 12509f58db77e59e381cc50f3bd8273e5a64b33d Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Fri, 17 Apr 2026 15:57:24 +0800 Subject: [PATCH 1/3] fix: plugins e2e tests --- deps/db/src/logseq/db/sqlite/util.cljs | 7 ++++++- deps/outliner/src/logseq/outliner/op.cljs | 2 +- src/main/frontend/handler/common/page.cljs | 4 ++-- src/main/frontend/worker/sync/client_op.cljs | 22 ++++++++++---------- src/test/frontend/worker/db_sync_test.cljs | 2 +- 5 files changed, 21 insertions(+), 16 deletions(-) diff --git a/deps/db/src/logseq/db/sqlite/util.cljs b/deps/db/src/logseq/db/sqlite/util.cljs index 2e8d540e3f..bba365c6c2 100644 --- a/deps/db/src/logseq/db/sqlite/util.cljs +++ b/deps/db/src/logseq/db/sqlite/util.cljs @@ -22,7 +22,12 @@ (def transit-r (transit/reader :json {:handlers read-handlers})) (defn transit-write [data] - (transit/write transit-w data)) + (try + (transit/write transit-w data) + (catch :default e + (prn ::transit-write-failed data) + (js/console.error e) + (throw e)))) (defn transit-read [s] diff --git a/deps/outliner/src/logseq/outliner/op.cljs b/deps/outliner/src/logseq/outliner/op.cljs index 49eac988f5..cd6fbd8500 100644 --- a/deps/outliner/src/logseq/outliner/op.cljs +++ b/deps/outliner/src/logseq/outliner/op.cljs @@ -388,7 +388,7 @@ *result (atom nil)] (outliner-tx/transact! - opts' + opts' (doseq [op-entry ops] (apply-op! conn opts' *result op-entry))) diff --git a/src/main/frontend/handler/common/page.cljs b/src/main/frontend/handler/common/page.cljs index dfd1c7cb43..f106b3ca5b 100644 --- a/src/main/frontend/handler/common/page.cljs +++ b/src/main/frontend/handler/common/page.cljs @@ -156,8 +156,8 @@ (config-handler/set-config! :feature/enable-journals? true) (notification/show! "Journals enabled" :success))) (-> (p/let [res (ui-outliner-tx/transact! - {:outliner-op :delete-page} - (outliner-op/delete-page! page-uuid))] + {:outliner-op :delete-page} + (outliner-op/delete-page! page-uuid))] (if res (when ok-handler (ok-handler)) (when error-handler (error-handler)))) diff --git a/src/main/frontend/worker/sync/client_op.cljs b/src/main/frontend/worker/sync/client_op.cljs index dfbf8b950e..0ed5685dfa 100644 --- a/src/main/frontend/worker/sync/client_op.cljs +++ b/src/main/frontend/worker/sync/client_op.cljs @@ -311,15 +311,15 @@ {:tx-id tx-id :outliner-op (str->kw (aget row "outliner_op")) :forward-outliner-ops (or (normalize-op-entries - (sqlite-util/transit-read (aget row "forward_outliner_ops"))) + (sqlite-util/read-transit-str (aget row "forward_outliner_ops"))) []) :inverse-outliner-ops (or (normalize-op-entries - (sqlite-util/transit-read (aget row "inverse_outliner_ops"))) + (sqlite-util/read-transit-str (aget row "inverse_outliner_ops"))) []) :inferred-outliner-ops? (int->bool (aget row "inferred_outliner_ops")) :db-sync/undo-redo (str->kw (aget row "undo_redo")) - :tx (sqlite-util/transit-read (aget row "normalized_tx_data")) - :reversed-tx (sqlite-util/transit-read (aget row "reversed_tx_data"))}))) + :tx (sqlite-util/read-transit-str (aget row "normalized_tx_data")) + :reversed-tx (sqlite-util/read-transit-str (aget row "reversed_tx_data"))}))) (defn upsert-local-tx-entry! [repo {:keys [tx-id created-at pending? failed? outliner-op undo-redo @@ -362,11 +362,11 @@ (bool->int failed?) (kw->str outliner-op) (kw->str undo-redo) - (sqlite-util/transit-write forward-outliner-ops') - (sqlite-util/transit-write inverse-outliner-ops') + (sqlite-util/write-transit-str forward-outliner-ops') + (sqlite-util/write-transit-str inverse-outliner-ops') (bool->int inferred-outliner-ops?) - (sqlite-util/transit-write (or normalized-tx-data [])) - (sqlite-util/transit-write (or reversed-tx-data []))]) + (sqlite-util/write-transit-str (or normalized-tx-data [])) + (sqlite-util/write-transit-str (or reversed-tx-data []))]) {:tx-id tx-id :created-at created-at' :should-inc-pending? should-inc-pending?}))) @@ -458,7 +458,7 @@ [(str block-uuid)])] (let [op-type (str->kw (aget row "asset_op")) t (aget row "asset_t") - value (or (some-> (aget row "asset_value") sqlite-util/transit-read) + value (or (some-> (aget row "asset_value") sqlite-util/read-transit-str) {:block-uuid block-uuid})] (local-asset-op-map op-type t value)))) @@ -478,7 +478,7 @@ (str block-uuid) (kw->str op-type) t - (sqlite-util/transit-write value)]))))) + (sqlite-util/write-transit-str value)]))))) ;;; asset ops (defn add-asset-ops @@ -538,7 +538,7 @@ (keep (fn [row] (let [op-type (str->kw (aget row "asset_op")) t (aget row "asset_t") - value (some-> (aget row "asset_value") sqlite-util/transit-read)] + value (some-> (aget row "asset_value") sqlite-util/read-transit-str)] (when (and op-type (map? value) (:block-uuid value)) (local-asset-op-map op-type t value))))) vec))) diff --git a/src/test/frontend/worker/db_sync_test.cljs b/src/test/frontend/worker/db_sync_test.cljs index ef0eac7945..1f68ce169b 100644 --- a/src/test/frontend/worker/db_sync_test.cljs +++ b/src/test/frontend/worker/db_sync_test.cljs @@ -2460,7 +2460,7 @@ (ffirst inverse-outliner-ops))) (is (= property-id (get-in inverse-outliner-ops [0 1 0]))) - (is (string? (sqlite-util/transit-write inverse-outliner-ops))) + (is (string? (sqlite-util/write-transit-str inverse-outliner-ops))) (is (= :db.cardinality/many (:db/cardinality (d/entity @conn property-id)))) (let [undo-result (undo-redo/undo test-repo)] From f53767dfc65355bc68b373a31da0a0218962d97f Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Fri, 17 Apr 2026 16:58:18 +0800 Subject: [PATCH 2/3] chore: remove both transit-read and transit-write use write-transit-str and read-transit-str instead --- deps/cli/src/logseq/cli/commands/export_edn.cljs | 4 ++-- deps/cli/src/logseq/cli/commands/import_edn.cljs | 4 ++-- deps/db/src/logseq/db/common/sqlite_cli.cljs | 4 ++-- deps/db/src/logseq/db/sqlite/debug.cljs | 4 ++-- deps/db/src/logseq/db/sqlite/gc.cljs | 6 +++--- deps/db/src/logseq/db/sqlite/util.cljs | 16 ---------------- src/main/frontend/worker/db_worker.cljs | 4 ++-- src/main/frontend/worker/sync/temp_sqlite.cljs | 4 ++-- src/main/logseq/api/db_based/cli.cljs | 6 +++--- 9 files changed, 18 insertions(+), 34 deletions(-) diff --git a/deps/cli/src/logseq/cli/commands/export_edn.cljs b/deps/cli/src/logseq/cli/commands/export_edn.cljs index 032e2c605b..be9b0b76fa 100644 --- a/deps/cli/src/logseq/cli/commands/export_edn.cljs +++ b/deps/cli/src/logseq/cli/commands/export_edn.cljs @@ -55,7 +55,7 @@ (-> (p/let [resp (cli-util/api-fetch api-server-token "logseq.cli.export_edn" [(clj->js opts)])] (if (= 200 (.-status resp)) (p/let [body (.json resp) - export-map (sqlite-util/transit-read (aget body "export-body"))] + export-map (sqlite-util/read-transit-str (aget body "export-body"))] (when validate (validate-export export-map options)) (write-export-edn-map export-map (assoc options :graph (.-graph body)))) @@ -65,4 +65,4 @@ (defn export [{opts :opts :as m}] (if (cli-util/api-command? opts) (api-export m) - (local-export m))) \ No newline at end of file + (local-export m))) diff --git a/deps/cli/src/logseq/cli/commands/import_edn.cljs b/deps/cli/src/logseq/cli/commands/import_edn.cljs index ab74723c0d..0270de4ca1 100644 --- a/deps/cli/src/logseq/cli/commands/import_edn.cljs +++ b/deps/cli/src/logseq/cli/commands/import_edn.cljs @@ -14,7 +14,7 @@ (println (str "Imported " (cli-util/summarize-build-edn import-map) "!"))) (defn- api-import [{:keys [api-server-token]} import-map] - (-> (p/let [resp (cli-util/api-fetch api-server-token "logseq.cli.import_edn" [(sqlite-util/transit-write import-map)])] + (-> (p/let [resp (cli-util/api-fetch api-server-token "logseq.cli.import_edn" [(sqlite-util/write-transit-str import-map)])] (if (= 200 (.-status resp)) (print-success import-map) (cli-util/api-handle-error-response resp))) @@ -37,4 +37,4 @@ (let [edn (edn/read-string (str (fs/readFileSync file)))] (if (cli-util/api-command? opts) (api-import opts edn) - (local-import opts edn)))) \ No newline at end of file + (local-import opts edn)))) diff --git a/deps/db/src/logseq/db/common/sqlite_cli.cljs b/deps/db/src/logseq/db/common/sqlite_cli.cljs index 200f5b6a95..778e6a970b 100644 --- a/deps/db/src/logseq/db/common/sqlite_cli.cljs +++ b/deps/db/src/logseq/db/common/sqlite_cli.cljs @@ -37,7 +37,7 @@ (let [{:keys [content addresses]} (bean/->clj result) addresses (when addresses (js/JSON.parse addresses)) - data (sqlite-util/transit-read content)] + data (sqlite-util/read-transit-str content)] (if (and addresses (map? data)) (assoc data :addresses addresses) data)))) @@ -55,7 +55,7 @@ (when-let [addresses (:addresses data)] (js/JSON.stringify (bean/->js addresses))))] #js {:addr addr - :content (sqlite-util/transit-write data') + :content (sqlite-util/write-transit-str data') :addresses addresses})) addr+data-seq)] (upsert-addr-content! db data))) diff --git a/deps/db/src/logseq/db/sqlite/debug.cljs b/deps/db/src/logseq/db/sqlite/debug.cljs index b4c487a97c..3973e5fcc4 100644 --- a/deps/db/src/logseq/db/sqlite/debug.cljs +++ b/deps/db/src/logseq/db/sqlite/debug.cljs @@ -11,7 +11,7 @@ :rowMode "array"}) bean/->clj ffirst - sqlite-util/transit-read) + sqlite-util/read-transit-str) result (->> (.exec db #js {:sql "select addr, addresses from kvs" :rowMode "array"}) bean/->clj @@ -26,7 +26,7 @@ [^Object db] (let [schema (let [stmt (.prepare db "select content from kvs where addr = ?") content (.-content (.get stmt 0))] - (sqlite-util/transit-read content)) + (sqlite-util/read-transit-str content)) stmt (.prepare db "select addr, addresses from kvs") result (->> (.all ^Object stmt) bean/->clj diff --git a/deps/db/src/logseq/db/sqlite/gc.cljs b/deps/db/src/logseq/db/sqlite/gc.cljs index 20d6227eb9..996603e8ee 100644 --- a/deps/db/src/logseq/db/sqlite/gc.cljs +++ b/deps/db/src/logseq/db/sqlite/gc.cljs @@ -30,7 +30,7 @@ :rowMode "array"}) bean/->clj ffirst - sqlite-util/transit-read) + sqlite-util/read-transit-str) ;; 0: Datascript sets 0 as the address to store the db's meta, including addresses for :eavt, :avet, and aevt index. ;; 1: Datascript sets 1 for tail, to improve the performance internal-addrs (set [0 1 (:eavt schema) (:avet schema) (:aevt schema)]) @@ -60,7 +60,7 @@ [^object db] (let [schema (let [^object stmt (.prepare db "select content from kvs where addr = ?") content (.-content (.get ^object stmt 0))] - (sqlite-util/transit-read content)) + (sqlite-util/read-transit-str content)) internal-addrs (set [0 1 (:eavt schema) (:avet schema) (:aevt schema)]) non-refed-addrs (let [^object stmt (.prepare db get-non-refed-addrs-sql)] (->> (.all stmt) @@ -73,7 +73,7 @@ [^object db] (let [schema (let [^object stmt (.prepare db "select content from kvs where addr = ?") content (.-content (.get ^object stmt 0))] - (sqlite-util/transit-read content)) + (sqlite-util/read-transit-str content)) set-addresses #{(:eavt schema) (:avet schema) (:aevt schema)} internal-addresses (conj set-addresses 0 1) parent->children (let [^object stmt (.prepare db "select addr, addresses from kvs")] diff --git a/deps/db/src/logseq/db/sqlite/util.cljs b/deps/db/src/logseq/db/sqlite/util.cljs index bba365c6c2..db8a163001 100644 --- a/deps/db/src/logseq/db/sqlite/util.cljs +++ b/deps/db/src/logseq/db/sqlite/util.cljs @@ -17,22 +17,6 @@ (def ^:private write-handlers (cljs-bean.transit/writer-handlers)) (def ^:private read-handlers {}) - -(def transit-w (transit/writer :json {:handlers write-handlers})) -(def transit-r (transit/reader :json {:handlers read-handlers})) -(defn transit-write - [data] - (try - (transit/write transit-w data) - (catch :default e - (prn ::transit-write-failed data) - (js/console.error e) - (throw e)))) - -(defn transit-read - [s] - (transit/read transit-r s)) - (def write-transit-str (let [write-handlers* (->> (assoc dt/write-handlers de/Entity (transit/write-handler (constantly "datascript/Entity") diff --git a/src/main/frontend/worker/db_worker.cljs b/src/main/frontend/worker/db_worker.cljs index 109e3d9854..a5363dd927 100644 --- a/src/main/frontend/worker/db_worker.cljs +++ b/src/main/frontend/worker/db_worker.cljs @@ -192,7 +192,7 @@ (let [[content addresses] (bean/->clj result) addresses (when addresses (js/JSON.parse addresses)) - data (sqlite-util/transit-read content)] + data (sqlite-util/read-transit-str content)] (if (and addresses (map? data)) (assoc data :addresses addresses) data)))) @@ -209,7 +209,7 @@ (when-let [addresses (:addresses data)] (js/JSON.stringify (bean/->js addresses))))] #js {:$addr addr - :$content (sqlite-util/transit-write data') + :$content (sqlite-util/write-transit-str data') :$addresses addresses})) addr+data-seq)] (upsert-addr-content! db data))) diff --git a/src/main/frontend/worker/sync/temp_sqlite.cljs b/src/main/frontend/worker/sync/temp_sqlite.cljs index deb226b45e..835ec2dd35 100644 --- a/src/main/frontend/worker/sync/temp_sqlite.cljs +++ b/src/main/frontend/worker/sync/temp_sqlite.cljs @@ -26,7 +26,7 @@ first)] (let [[content addresses] (bean/->clj result) addresses (when addresses (js/JSON.parse addresses)) - data (sqlite-util/transit-read content)] + data (sqlite-util/read-transit-str content)] (if (and addresses (map? data)) (assoc data :addresses addresses) data)))) @@ -42,7 +42,7 @@ (when-let [addresses (:addresses data)] (js/JSON.stringify (bean/->js addresses))))] #js {:$addr addr - :$content (sqlite-util/transit-write data') + :$content (sqlite-util/write-transit-str data') :$addresses addresses})) addr+data-seq)] (upsert-addr-content! db data))) diff --git a/src/main/logseq/api/db_based/cli.cljs b/src/main/logseq/api/db_based/cli.cljs index 774a429169..af248956d0 100644 --- a/src/main/logseq/api/db_based/cli.cljs +++ b/src/main/logseq/api/db_based/cli.cljs @@ -56,7 +56,7 @@ (defn import-edn "Given EDN data as a transitized string, converts to EDN and imports it." [edn-data*] - (p/let [edn-data (sqlite-util/transit-read edn-data*) + (p/let [edn-data (sqlite-util/read-transit-str edn-data*) {:keys [error]} (ui-outliner-tx/transact! {:outliner-op :batch-import-edn} (outliner-op/batch-import-edn! edn-data {}))] @@ -72,5 +72,5 @@ result (state/ Date: Fri, 17 Apr 2026 19:40:01 +0800 Subject: [PATCH 3/3] refactor: toolchain upgrade (#12517) * chore(deps): upgrade Clojure version to 1.12.4 across multiple dependency files * chore: bump shadow-cljs to 3.3.6 * chore: bump org.clojure/clojurescript to 1.12.134 * chore(deps): upgrade Clojure version to 1.12.4 in workflow files * chore(deps): upgrade Java version to 21 in workflow files * chore(deps): upgrade Node.js version to 24 in workflow files * chore(deps): upgrade Node.js version to 24 in Dockerfile * feat(updater): migrate electron-forge to electron-builder * fix wrong android app version * fix workflow * feat(dependency-upgrade): add max-update-interval option for dependency audits * chore(deps): upgrade electron-builder and electron-updater * fix: update manual verification instructions for Electron shim cache * chore: update shadow-cljs version to 3.4.4 across all dependencies * chore: upgrade electron version to 41.2.1 * chore: update metosin/malli dependency to latest * chore: upgrade cider-nrepl version to 0.59.0 in dependencies * chore: upgrade clj-kondo version to 2026.04.15 and fix warning * chore: move Electron windows build configuration from yml to ci * chore: update Electron signing configuration to extend from base config * fix: replace icon file for NSIS compatibility * chore: resolve metosin/malli version conflicts * chore: upgrade jdk to 21 in e2e workflow --------- Co-authored-by: Tienson Qin --- .agents/skills/esm-cjs-risk-scan/SKILL.md | 6 +- .../skills/logseq-dependency-upgrade/SKILL.md | 2 + .../scripts/audit_logseq_dependencies.mjs | 37 +- .github/workflows/build-android.yml | 4 +- .github/workflows/build-desktop-release.yml | 162 ++--- .github/workflows/build-docker.yml | 2 +- .github/workflows/build-ios-release.yml | 6 +- .github/workflows/build.yml | 6 +- .github/workflows/clj-e2e.yml | 11 +- .github/workflows/clj-rtc-e2e.yml | 17 +- .github/workflows/deploy-db-test-pages.yml | 2 +- .github/workflows/deps-cli.yml | 6 +- .github/workflows/deps-common.yml | 6 +- .github/workflows/deps-db-sync.yml | 4 +- .github/workflows/deps-db.yml | 6 +- .github/workflows/deps-graph-parser.yml | 6 +- .github/workflows/deps-outliner.yml | 6 +- .github/workflows/deps-publish.yml | 4 +- .github/workflows/deps-publishing.yml | 6 +- Dockerfile | 4 +- android/app/build.gradle | 2 +- bb.edn | 5 +- clj-e2e/deps.edn | 2 +- deps.edn | 12 +- deps/cli/bb.edn | 2 +- deps/cli/deps.edn | 2 +- deps/common/bb.edn | 2 +- deps/common/deps.edn | 4 +- deps/db-sync/bb.edn | 2 +- deps/db-sync/deps.edn | 11 +- deps/db-sync/package.json | 2 +- deps/db-sync/yarn.lock | 8 +- deps/db/bb.edn | 2 +- deps/db/deps.edn | 5 +- deps/db/nbb.edn | 3 +- deps/graph-parser/bb.edn | 4 +- deps/graph-parser/deps.edn | 4 +- deps/outliner/bb.edn | 2 +- deps/outliner/deps.edn | 15 +- deps/outliner/nbb.edn | 7 +- deps/publish/bb.edn | 2 +- deps/publish/deps.edn | 8 +- deps/publish/package.json | 2 +- deps/publish/yarn.lock | 8 +- deps/publishing/bb.edn | 2 +- deps/publishing/deps.edn | 2 +- deps/shui/deps.edn | 4 +- gulpfile.js | 1 - libs/cljs-sdk/deps.edn | 2 +- package.json | 2 +- resources/electron-builder.yml | 52 ++ resources/forge.config.js | 108 ---- resources/icons/installing.gif | Bin 146883 -> 0 bytes resources/icons/logseq.ico | Bin 175700 -> 34902 bytes resources/icons/logseq.png | Bin 48061 -> 26745 bytes resources/package.json | 40 +- scripts/bump-version.sh | 3 +- src/electron/electron/core.cljs | 10 +- src/electron/electron/handler.cljs | 6 +- src/electron/electron/updater.cljs | 270 ++++---- src/main/frontend/components/block.cljs | 4 - src/main/frontend/components/container.cljs | 1 - src/main/frontend/components/header.cljs | 15 +- src/main/frontend/components/settings.cljs | 24 +- src/main/frontend/handler/editor.cljs | 2 - src/main/frontend/ui.cljs | 2 - src/main/frontend/worker/sync/apply_txs.cljs | 3 +- src/resources/dicts/zh-cn.edn | 2 +- yarn.lock | 596 +----------------- 69 files changed, 539 insertions(+), 1031 deletions(-) create mode 100644 resources/electron-builder.yml delete mode 100644 resources/forge.config.js delete mode 100644 resources/icons/installing.gif diff --git a/.agents/skills/esm-cjs-risk-scan/SKILL.md b/.agents/skills/esm-cjs-risk-scan/SKILL.md index 9b8542da3b..cc1bcc5a83 100644 --- a/.agents/skills/esm-cjs-risk-scan/SKILL.md +++ b/.agents/skills/esm-cjs-risk-scan/SKILL.md @@ -183,7 +183,7 @@ In the actual Electron runtime, the `electron` module IS the framework, so `Brow **How the scanner detects this:** If every probe failure contains `'electron'` in the error message (the named-export failure pattern), the package is reclassified from `module-unloadable` → `module-electron-dep` and from MEDIUM/HIGH → **OK**. Probe column shows `ERR(e-dep)` to mark the probe location. -**When to verify manually:** If a new package shows `esm-edep` unexpectedly, inspect its source — it should contain `import ... from 'electron'` or use Electron APIs directly. You can also check the compiled `static/shadow-cljs/` shim files after a build to confirm `require("pkg")` is generated. +**When to verify manually:** If a new package shows `esm-edep` unexpectedly, inspect its source — it should contain `import ... from 'electron'` or use Electron APIs directly. You can also check the compiled Electron shim cache at `.shadow-cljs/builds/electron/dev/goog-js/` (Transit JSON, dev build) or `.shadow-cljs/builds/electron/release/closure-inputs/` (plain JS, release build) for `shadow.js.shim.module$.js` files — their content will show `require("pkg")` if shadow-cljs successfully resolved the package for the Node/Electron target. ### Understanding the plain-Node probe limitation @@ -192,7 +192,9 @@ The scanner runs `require()` and `import()` probes in a plain Node.js process (` - The scanner uses the `module-electron-dep` heuristic to handle this case automatically - For packages that use Electron APIs in unusual ways (not just `import ... from 'electron'`), a manual check may be needed -If a build has already been compiled, you can inspect `static/shadow-cljs/` for `shadow.js.shim.module$` files. The presence of `require("pkg")` in a shim confirms shadow-cljs successfully resolved the package for Electron. This is the definitive ground truth; the scanner's probe is a pre-build approximation. +If a build has already been compiled, you can inspect `.shadow-cljs/builds/electron/release/closure-inputs/` for `shadow.js.shim.module$.js` files (plain JS, immediately readable). The presence of `require("pkg")` in the shim content confirms shadow-cljs successfully resolved the package for the Electron Node target. This is the definitive ground truth; the scanner's probe is a pre-build approximation. + +> **Note:** `static/js/cljs-runtime/` contains shims for browser worker targets that use `:js-provider :external` (currently `:db-worker` and `:inference-worker`). Those shims use `shadow$bridge("pkg")` — not `require()` — delegating actual module loading to the Webpack-bundled worker bundle. The `:app` target does not use `:js-provider :external` and its missing modules throw `"Module not provided"` at runtime instead. Electron (`:node-script`) shims never appear in this directory either. ## Recommended Fixes diff --git a/.agents/skills/logseq-dependency-upgrade/SKILL.md b/.agents/skills/logseq-dependency-upgrade/SKILL.md index ed6bfca348..6a5acbb0ac 100644 --- a/.agents/skills/logseq-dependency-upgrade/SKILL.md +++ b/.agents/skills/logseq-dependency-upgrade/SKILL.md @@ -16,10 +16,12 @@ node .agents/skills/logseq-dependency-upgrade/scripts/audit_logseq_dependencies. --output-json \ --output-md \ [--stale-months ] \ + [--max-update-interval ] \ [--include-prerelease] ``` - `--stale-months` — number of months since last publish to flag a package as stale (default: `36`). +- `--max-update-interval` — maximum number of months between the current version's publish date and the latest version's publish date. If the interval is within this threshold, the package is NOT considered outdated and is excluded from upgrade batches (default: `6`). - `--include-prerelease` — boolean flag (no value). When present, the Risk column annotates any newer upstream pre-release version (SNAPSHOT / RC / alpha / beta / nightly / canary etc.). The **target version is always the latest stable release** regardless of this flag. When absent (default), pre-release versions are neither fetched nor shown. 2. Read the generated Markdown report — it is the primary planning document, structured for batch-wise execution. diff --git a/.agents/skills/logseq-dependency-upgrade/scripts/audit_logseq_dependencies.mjs b/.agents/skills/logseq-dependency-upgrade/scripts/audit_logseq_dependencies.mjs index d2fadfc54d..962aef1eaa 100644 --- a/.agents/skills/logseq-dependency-upgrade/scripts/audit_logseq_dependencies.mjs +++ b/.agents/skills/logseq-dependency-upgrade/scripts/audit_logseq_dependencies.mjs @@ -29,6 +29,9 @@ const staleMonths = Number(args.get('--stale-months') || 36); // When true (pass --include-prerelease flag), annotate in Risk column if a newer // pre-release exists upstream. Target version is ALWAYS the latest stable release. const includePrerelease = args.get('--include-prerelease') === 'true'; +// Maximum number of months between latest and current version publish dates. +// If the interval is within this threshold, the package is NOT considered outdated. +const maxUpdateInterval = Number(args.get('--max-update-interval') || 6); // --------------------------------------------------------------------------- // Classification helpers @@ -374,6 +377,14 @@ async function fetchCljPackageMeta(pkg) { if (entry?.created) publishedAt = entry.created; } const result = { latest, latestPublishedAt: publishedAt }; + // Build a version -> date map from recent_versions for looking up current version publish date + const versionDates = {}; + if (clojars.recent_versions && Array.isArray(clojars.recent_versions)) { + for (const v of clojars.recent_versions) { + if (v.version && v.created) versionDates[v.version] = v.created; + } + } + result.versionDates = versionDates; // Only annotate pre-release info when --include-prerelease flag is set if (includePrerelease && absoluteLatest && absoluteLatest !== latest && isPrerelease(absoluteLatest)) { result.absoluteLatest = absoluteLatest; @@ -435,6 +446,14 @@ function monthsBetween(iso) { return (Date.now() - ts) / (1000 * 60 * 60 * 24 * 30.4375); } +function monthsBetweenDates(iso1, iso2) { + if (!iso1 || !iso2) return null; + const ts1 = new Date(iso1).getTime(); + const ts2 = new Date(iso2).getTime(); + if (Number.isNaN(ts1) || Number.isNaN(ts2)) return null; + return Math.abs(ts1 - ts2) / (1000 * 60 * 60 * 24 * 30.4375); +} + function normalizeCurrent(entry) { if (entry.ecosystem === 'npm') return coerceVersion(entry.current); if (entry.ecosystem === 'bb-pod') return coerceVersion(entry.current); @@ -657,6 +676,11 @@ async function main() { aliases: aliases.length > 0 ? aliases : undefined, currents, currentsNormalized, latest, latestPublishedAt: meta.latestPublishedAt || null, + currentPublishedAt: (() => { + if (ecosystem === 'npm' && meta.raw?.time && currentBase) return meta.raw.time[currentBase] || null; + if (ecosystem === 'clj' && meta.versionDates && currentBase) return meta.versionDates[currentBase] || null; + return null; + })(), staleMonths: monthsBetween(meta.latestPublishedAt), deprecatedCurrent: currentMeta?.deprecated || null, latestDeprecated: meta.latestDeprecated || null, @@ -668,6 +692,7 @@ async function main() { if (latest && currents.length > 0) item.target = formatTarget(currents[0], latest); item.absoluteLatest = meta.absoluteLatest || null; + item.updateIntervalMonths = monthsBetweenDates(item.currentPublishedAt, item.latestPublishedAt); // latestStatus is always based on declared version vs upstream stable latest // (alreadyResolved only marks zero install-risk, does not count as "up to date") item.latestStatus = latestStatus(item.latest, item.currentsNormalized, item.currents); @@ -677,7 +702,15 @@ async function main() { } // Categorize - const outdated = items.filter(i => i.latestStatus === 'outdated').sort((a, b) => a.package.localeCompare(b.package)); + const withinInterval = []; + const outdated = items.filter(i => { + if (i.latestStatus !== 'outdated') return false; + if (i.updateIntervalMonths !== null && i.updateIntervalMonths <= maxUpdateInterval) { + withinInterval.push(i); + return false; + } + return true; + }).sort((a, b) => a.package.localeCompare(b.package)); const latestRisky = items.filter(i => i.latestStatus === 'latest' && i.riskNotesList.length > 0).sort((a, b) => a.package.localeCompare(b.package)); const manual = items.filter(i => i.manualReview || i.latestStatus === 'manual' || i.latestStatus === 'unknown').sort((a, b) => a.package.localeCompare(b.package)); const inconsistent = items.filter(i => i.inconsistent).sort((a, b) => a.package.localeCompare(b.package)); @@ -702,6 +735,7 @@ async function main() { }, summary: { outdated: outdated.length, + withinInterval: withinInterval.length, latestRisky: latestRisky.length, inconsistent: inconsistent.length, manualReview: manual.length, @@ -747,6 +781,7 @@ async function main() { L.push(row(['Manifests scanned', String(packageFiles.length + depsFiles.length + bbFiles.length)])); L.push(row(['Unique libraries', String(items.length)])); L.push(row(['Outdated', String(outdated.length)])); + L.push(row([`Within update interval (≤ ${maxUpdateInterval} months)`, String(withinInterval.length)])); L.push(row(['Already resolved via lockfile', String(alreadyResolvedItems.length)])); L.push(row(['Latest but risky', String(latestRisky.length)])); L.push(row(['Cross-root inconsistent', String(inconsistent.length)])); diff --git a/.github/workflows/build-android.yml b/.github/workflows/build-android.yml index 6eb8d2270d..57bec6bd8c 100644 --- a/.github/workflows/build-android.yml +++ b/.github/workflows/build-android.yml @@ -41,8 +41,8 @@ on: required: true env: - CLOJURE_VERSION: '1.11.1.1413' - NODE_VERSION: '22' + CLOJURE_VERSION: '1.12.4.1618' + NODE_VERSION: '24' JAVA_VERSION: '21' jobs: diff --git a/.github/workflows/build-desktop-release.yml b/.github/workflows/build-desktop-release.yml index 9c9924c745..2cb1331029 100644 --- a/.github/workflows/build-desktop-release.yml +++ b/.github/workflows/build-desktop-release.yml @@ -47,9 +47,9 @@ on: # - cron: '0 14 * * MON-FRI' env: - CLOJURE_VERSION: '1.11.1.1413' - NODE_VERSION: '22' - JAVA_VERSION: '11' + CLOJURE_VERSION: '1.12.4.1618' + NODE_VERSION: '24' + JAVA_VERSION: '21' jobs: compile-cljs: @@ -170,6 +170,7 @@ jobs: with: name: static path: static + build-linux-x64: runs-on: ubuntu-22.04 needs: [ compile-cljs ] @@ -206,9 +207,15 @@ jobs: run: | mkdir -p builds # NOTE: save VERSION file to builds directory - cp static/VERSION ./builds/VERSION - mv static/out/make/*-*.AppImage ./builds/Logseq-linux-x64-${{ steps.ref.outputs.version }}.AppImage - mv static/out/make/zip/linux/x64/*-linux-x64-*.zip ./builds/Logseq-linux-x64-${{ steps.ref.outputs.version }}.zip + cp static/VERSION ./builds/VERSION + mv static/dist/*.AppImage ./builds/ + shopt -s nullglob + blockmaps=(static/dist/*.blockmap) + if [ ${#blockmaps[@]} -gt 0 ]; then + mv static/dist/*.blockmap ./builds/ + fi + mv static/dist/latest-linux.yml ./builds/latest-linux.yml + mv static/dist/*.zip ./builds/Logseq-linux-x86_64-${{ steps.ref.outputs.version }}.zip - name: Upload Artifact uses: actions/upload-artifact@v4 @@ -252,9 +259,15 @@ jobs: run: | mkdir -p builds # NOTE: save VERSION file to builds directory - cp static/VERSION ./builds/VERSION - # mv static/out/make/*-*.AppImage ./builds/Logseq-linux-arm64-${{ steps.ref.outputs.version }}.AppImage - mv static/out/make/zip/linux/arm64/*-linux-arm64-*.zip ./builds/Logseq-linux-arm64-${{ steps.ref.outputs.version }}.zip + cp static/VERSION ./builds/VERSION + mv static/dist/*.AppImage ./builds/Logseq-linux-arm64-${{ steps.ref.outputs.version }}.AppImage + shopt -s nullglob + blockmaps=(static/dist/*.blockmap) + if [ ${#blockmaps[@]} -gt 0 ]; then + mv static/dist/*.blockmap ./builds/ + fi + mv static/dist/latest-linux-arm64.yml ./builds/latest-linux-arm64.yml + mv static/dist/*.zip ./builds/Logseq-linux-arm64-${{ steps.ref.outputs.version }}.zip - name: Upload Artifact uses: actions/upload-artifact@v4 @@ -293,34 +306,37 @@ jobs: working-directory: ./static - name: Build/Release Electron app - run: yarn electron:make + shell: pwsh + run: | + $signCfg = @' + { + "extends": "./electron-builder.yml", + "win": { + "azureSignOptions": { + "publisherName": "Logseq, Inc.", + "endpoint": "https://eus.codesigning.azure.net/", + "certificateProfileName": "Logseq", + "codeSigningAccountName": "logseqwin" + } + } + } + '@ + $signCfgPath = Join-Path $PWD "electron-builder.sign-win.json" + $signCfg | Out-File -FilePath $signCfgPath -Encoding utf8NoBOM + node_modules/.bin/electron-builder --config $signCfgPath --publish never working-directory: ./static env: - DEBUG: electron-packager + AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} + AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} + AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} - name: Save Artifact run: | mkdir builds - mv static\out\make\squirrel.windows\x64\*.nupkg builds\Logseq-win-x64-${{ steps.ref.outputs.version }}-full.nupkg - mv static\out\make\squirrel.windows\x64\*.exe builds\Logseq-win-x64-${{ steps.ref.outputs.version }}.exe - mv static\out\make\zip\win32\x64\*.zip builds\Logseq-win-x64-${{ steps.ref.outputs.version }}.zip - mv static\out\make\wix\x64\Logseq.msi builds\Logseq-win-x64-${{ steps.ref.outputs.version }}.msi - mv static\out\make\squirrel.windows\x64\RELEASES builds\RELEASES - - - name: Sign - uses: azure/trusted-signing-action@v0.5.9 - with: - azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }} - azure-client-id: ${{ secrets.AZURE_CLIENT_ID }} - azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }} - endpoint: https://eus.codesigning.azure.net/ - trusted-signing-account-name: logseqwin - certificate-profile-name: Logseq - files-folder: builds - files-folder-filter: exe,msi - file-digest: SHA256 - timestamp-rfc3161: http://timestamp.acs.microsoft.com - timestamp-digest: SHA256 + mv static\dist\*-nsis.exe builds\Logseq-win-x64-${{ steps.ref.outputs.version }}-nsis.exe + mv static\dist\*.blockmap builds\ + mv static\dist\latest.yml builds\latest-x64.yml + mv static\dist\*.zip builds\Logseq-win-x64-${{ steps.ref.outputs.version }}.zip - name: Upload Artifact uses: actions/upload-artifact@v4 @@ -359,34 +375,37 @@ jobs: working-directory: ./static - name: Build/Release Electron app - run: yarn electron:make-win-arm64 + shell: pwsh + run: | + $signCfg = @' + { + "extends": "./electron-builder.yml", + "win": { + "azureSignOptions": { + "publisherName": "Logseq, Inc.", + "endpoint": "https://eus.codesigning.azure.net/", + "certificateProfileName": "Logseq", + "codeSigningAccountName": "logseqwin" + } + } + } + '@ + $signCfgPath = Join-Path $PWD "electron-builder.sign-win.json" + $signCfg | Out-File -FilePath $signCfgPath -Encoding utf8NoBOM + node_modules/.bin/electron-builder --config $signCfgPath --win nsis zip --arm64 --publish never working-directory: ./static env: - DEBUG: electron-packager + AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} + AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} + AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} - name: Save Artifact run: | mkdir builds - mv static\out\make\squirrel.windows\arm64\*.nupkg builds\Logseq-win-arm64-${{ steps.ref.outputs.version }}-full.nupkg - mv static\out\make\squirrel.windows\arm64\*.exe builds\Logseq-win-arm64-${{ steps.ref.outputs.version }}.exe - mv static\out\make\zip\win32\arm64\*.zip builds\Logseq-win-arm64-${{ steps.ref.outputs.version }}.zip - mv static\out\make\wix\arm64\Logseq.msi builds\Logseq-win-arm64-${{ steps.ref.outputs.version }}.msi - mv static\out\make\squirrel.windows\arm64\RELEASES builds\RELEASES - - - name: Sign - uses: azure/trusted-signing-action@v0.5.9 - with: - azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }} - azure-client-id: ${{ secrets.AZURE_CLIENT_ID }} - azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }} - endpoint: https://eus.codesigning.azure.net/ - trusted-signing-account-name: logseqwin - certificate-profile-name: Logseq - files-folder: builds - files-folder-filter: exe,msi - file-digest: SHA256 - timestamp-rfc3161: http://timestamp.acs.microsoft.com - timestamp-digest: SHA256 + mv static\dist\*-nsis.exe builds\Logseq-win-arm64-${{ steps.ref.outputs.version }}-nsis.exe + mv static\dist\*.blockmap builds\ + mv static\dist\latest.yml builds\latest-arm64.yml + mv static\dist\*.zip builds\Logseq-win-arm64-${{ steps.ref.outputs.version }}.zip - name: Upload Artifact uses: actions/upload-artifact@v4 @@ -397,7 +416,6 @@ jobs: build-macos-x64: needs: [ compile-cljs ] runs-on: macos-15-intel - steps: - name: Download The Static Asset uses: actions/download-artifact@v4 @@ -427,6 +445,7 @@ jobs: - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT + - name: Cache yarn cache directory uses: actions/cache@v4 id: yarn-cache @@ -455,14 +474,17 @@ jobs: working-directory: ./static env: APPLE_ID: ${{ secrets.APPLE_ID_EMAIL }} - APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} + APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} - name: Save x64 artifacts run: | mkdir -p builds - mv static/out/make/Logseq.dmg ./builds/Logseq-darwin-x64-${{ steps.ref.outputs.version }}.dmg - mv static/out/make/zip/darwin/x64/*.zip ./builds/Logseq-darwin-x64-${{ steps.ref.outputs.version }}.zip + cp static/VERSION ./builds/VERSION + mv static/dist/*.dmg ./builds/Logseq-darwin-x64-${{ steps.ref.outputs.version }}.dmg + mv static/dist/*.zip ./builds/Logseq-darwin-x64-${{ steps.ref.outputs.version }}.zip + mv static/dist/*.blockmap ./builds/ + mv static/dist/latest-mac.yml ./builds/latest-x64-mac.yml - name: Upload Artifact uses: actions/upload-artifact@v4 @@ -473,7 +495,6 @@ jobs: build-macos-arm64: needs: [ compile-cljs ] runs-on: macos-14 - steps: - name: Download The Static Asset uses: actions/download-artifact@v4 @@ -495,6 +516,7 @@ jobs: - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT + - name: Cache yarn cache directory uses: actions/cache@v4 id: yarn-cache @@ -532,14 +554,17 @@ jobs: working-directory: ./static env: APPLE_ID: ${{ secrets.APPLE_ID_EMAIL }} - APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} + APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} - name: Save arm64 artifacts run: | mkdir -p builds - mv static/out/make/Logseq.dmg ./builds/Logseq-darwin-arm64-${{ steps.ref.outputs.version }}.dmg - mv static/out/make/zip/darwin/arm64/*.zip ./builds/Logseq-darwin-arm64-${{ steps.ref.outputs.version }}.zip + cp static/VERSION ./builds/VERSION + mv static/dist/*.dmg ./builds/Logseq-darwin-arm64-${{ steps.ref.outputs.version }}.dmg + mv static/dist/*.zip ./builds/Logseq-darwin-arm64-${{ steps.ref.outputs.version }}.zip + mv static/dist/*.blockmap ./builds/ + mv static/dist/latest-mac.yml ./builds/latest-arm64-mac.yml - name: Upload Artifact uses: actions/upload-artifact@v4 @@ -635,14 +660,15 @@ jobs: ./*.zip ./*.dmg ./*.exe - ./*.msi + ./*.yml + ./*.blockmap ./*.AppImage ./*.apk release: # NOTE: For now, we only have beta channel to be released on Github if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.build-target == 'beta' }} - needs: [ build-macos-x64, build-macos-arm64, build-linux-x64, build-linux-arm64, build-windows-x64, build-windows-arm64] + needs: [ build-macos-x64, build-macos-arm64, build-linux-x64, build-linux-arm64, build-windows-x64, build-windows-arm64 ] runs-on: ubuntu-22.04 steps: - name: Download MacOS x64 Artifacts @@ -697,17 +723,12 @@ jobs: pkgver=$(cat VERSION) echo "version=$pkgver" >> $GITHUB_OUTPUT - - name: Fix .nupkg name in RELEASES file - run: | - sed -i "s/Logseq-.*.nupkg/Logseq-win-x64-${{ steps.ref.outputs.version }}-full.nupkg/g" RELEASES - - name: Generate SHA256 checksums run: | sha256sum *-darwin-* > SHA256SUMS.txt sha256sum *-win-* >> SHA256SUMS.txt sha256sum *-linux-* >> SHA256SUMS.txt sha256sum *.apk >> SHA256SUMS.txt - sha256sum RELEASES >> SHA256SUMS.txt cat SHA256SUMS.txt - name: Create Release Draft @@ -726,8 +747,7 @@ jobs: ./*.zip ./*.dmg ./*.exe - ./*.msi - ./*.nupkg - ./RELEASES + ./*.yml + ./*.blockmap ./*.AppImage ./*.apk diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml index a4a2325252..99587a29c0 100644 --- a/.github/workflows/build-docker.yml +++ b/.github/workflows/build-docker.yml @@ -7,7 +7,7 @@ on: types: [released] env: - CLOJURE_VERSION: '1.11.1.1413' + CLOJURE_VERSION: '1.12.4.1618' jobs: diff --git a/.github/workflows/build-ios-release.yml b/.github/workflows/build-ios-release.yml index f97fd25afd..068e05226b 100644 --- a/.github/workflows/build-ios-release.yml +++ b/.github/workflows/build-ios-release.yml @@ -11,9 +11,9 @@ on: default: "master" env: - CLOJURE_VERSION: '1.11.1.1413' - NODE_VERSION: '22' - JAVA_VERSION: '11' + CLOJURE_VERSION: '1.12.4.1618' + NODE_VERSION: '24' + JAVA_VERSION: '21' jobs: build-app: diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c2bc61f315..021934e4b8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,10 +11,10 @@ on: - '*.md' env: - CLOJURE_VERSION: '1.11.1.1413' - JAVA_VERSION: '11' + CLOJURE_VERSION: '1.12.4.1618' + JAVA_VERSION: '21' # This is the latest node version we can run. - NODE_VERSION: '22' + NODE_VERSION: '24' BABASHKA_VERSION: '1.12.215' jobs: diff --git a/.github/workflows/clj-e2e.yml b/.github/workflows/clj-e2e.yml index d4af9983e0..32d0044123 100644 --- a/.github/workflows/clj-e2e.yml +++ b/.github/workflows/clj-e2e.yml @@ -19,9 +19,10 @@ on: - packages/** env: - CLOJURE_VERSION: '1.11.1.1413' + CLOJURE_VERSION: '1.12.4.1618' + JAVA_VERSION: '21' # This is the latest node version we can run. - NODE_VERSION: '22' + NODE_VERSION: '24' BABASHKA_VERSION: '1.12.215' jobs: @@ -40,6 +41,12 @@ jobs: cache-dependency-path: | yarn.lock + - name: Set up Java + uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: ${{ env.JAVA_VERSION }} + - name: Set up Clojure uses: DeLaGuardo/setup-clojure@13.5 with: diff --git a/.github/workflows/clj-rtc-e2e.yml b/.github/workflows/clj-rtc-e2e.yml index ee3c4bedf9..8444fb44d2 100644 --- a/.github/workflows/clj-rtc-e2e.yml +++ b/.github/workflows/clj-rtc-e2e.yml @@ -19,9 +19,10 @@ on: - packages/** env: - CLOJURE_VERSION: '1.11.1.1413' + CLOJURE_VERSION: '1.12.4.1618' + JAVA_VERSION: '21' # This is the latest node version we can run. - NODE_VERSION: '22' + NODE_VERSION: '24' BABASHKA_VERSION: '1.12.215' jobs: @@ -41,6 +42,12 @@ jobs: cache-dependency-path: | yarn.lock + - name: Set up Java + uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: ${{ env.JAVA_VERSION }} + - name: Set up Clojure uses: DeLaGuardo/setup-clojure@13.5 with: @@ -106,6 +113,12 @@ jobs: with: node-version: ${{ env.NODE_VERSION }} + - name: Set up Java + uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: ${{ env.JAVA_VERSION }} + - name: Set up Clojure uses: DeLaGuardo/setup-clojure@13.5 with: diff --git a/.github/workflows/deploy-db-test-pages.yml b/.github/workflows/deploy-db-test-pages.yml index 96d8073b27..94436a6f3e 100644 --- a/.github/workflows/deploy-db-test-pages.yml +++ b/.github/workflows/deploy-db-test-pages.yml @@ -6,7 +6,7 @@ on: env: CLOJURE_VERSION: "1.11.1.1413" - NODE_VERSION: '22' + NODE_VERSION: '24' JAVA_VERSION: "11" jobs: diff --git a/.github/workflows/deps-cli.yml b/.github/workflows/deps-cli.yml index f8a333dc07..e3f5367fb9 100644 --- a/.github/workflows/deps-cli.yml +++ b/.github/workflows/deps-cli.yml @@ -45,11 +45,11 @@ defaults: working-directory: deps/cli env: - CLOJURE_VERSION: '1.11.1.1413' + CLOJURE_VERSION: '1.12.4.1618' # This is the same as 1.8. - JAVA_VERSION: '11' + JAVA_VERSION: '21' # This is the latest node version we can run. - NODE_VERSION: '22' + NODE_VERSION: '24' BABASHKA_VERSION: '1.12.215' jobs: diff --git a/.github/workflows/deps-common.yml b/.github/workflows/deps-common.yml index aa30c0a75a..ca70502ac1 100644 --- a/.github/workflows/deps-common.yml +++ b/.github/workflows/deps-common.yml @@ -20,10 +20,10 @@ defaults: working-directory: deps/common env: - CLOJURE_VERSION: '1.11.1.1413' - JAVA_VERSION: '11' + CLOJURE_VERSION: '1.12.4.1618' + JAVA_VERSION: '21' # This is the latest node version we can run. - NODE_VERSION: '22' + NODE_VERSION: '24' BABASHKA_VERSION: '1.12.215' jobs: diff --git a/.github/workflows/deps-db-sync.yml b/.github/workflows/deps-db-sync.yml index e2c70d2a69..e7e854b28b 100644 --- a/.github/workflows/deps-db-sync.yml +++ b/.github/workflows/deps-db-sync.yml @@ -27,10 +27,10 @@ defaults: working-directory: deps/db-sync env: - CLOJURE_VERSION: '1.11.1.1413' + CLOJURE_VERSION: '1.12.4.1618' JAVA_VERSION: '21' # This is the latest node version we can run. - NODE_VERSION: '22' + NODE_VERSION: '24' BABASHKA_VERSION: '1.12.215' jobs: diff --git a/.github/workflows/deps-db.yml b/.github/workflows/deps-db.yml index 700f526896..bf3bce2c6e 100644 --- a/.github/workflows/deps-db.yml +++ b/.github/workflows/deps-db.yml @@ -24,10 +24,10 @@ defaults: working-directory: deps/db env: - CLOJURE_VERSION: '1.11.1.1413' - JAVA_VERSION: '11' + CLOJURE_VERSION: '1.12.4.1618' + JAVA_VERSION: '21' # This is the latest node version we can run. - NODE_VERSION: '22' + NODE_VERSION: '24' BABASHKA_VERSION: '1.12.215' jobs: diff --git a/.github/workflows/deps-graph-parser.yml b/.github/workflows/deps-graph-parser.yml index dc0a034f6a..db1da33413 100644 --- a/.github/workflows/deps-graph-parser.yml +++ b/.github/workflows/deps-graph-parser.yml @@ -27,11 +27,11 @@ defaults: working-directory: deps/graph-parser env: - CLOJURE_VERSION: '1.11.1.1413' + CLOJURE_VERSION: '1.12.4.1618' # This is the same as 1.8. - JAVA_VERSION: '11' + JAVA_VERSION: '21' # This is the latest node version we can run. - NODE_VERSION: '22' + NODE_VERSION: '24' BABASHKA_VERSION: '1.12.215' jobs: diff --git a/.github/workflows/deps-outliner.yml b/.github/workflows/deps-outliner.yml index ea5253dbbb..fbf95646b3 100644 --- a/.github/workflows/deps-outliner.yml +++ b/.github/workflows/deps-outliner.yml @@ -29,11 +29,11 @@ defaults: working-directory: deps/outliner env: - CLOJURE_VERSION: '1.11.1.1413' + CLOJURE_VERSION: '1.12.4.1618' # This is the same as 1.8. - JAVA_VERSION: '11' + JAVA_VERSION: '21' # This is the latest node version we can run. - NODE_VERSION: '22' + NODE_VERSION: '24' BABASHKA_VERSION: '1.12.215' jobs: diff --git a/.github/workflows/deps-publish.yml b/.github/workflows/deps-publish.yml index f412f8fd3d..80f54dd39f 100644 --- a/.github/workflows/deps-publish.yml +++ b/.github/workflows/deps-publish.yml @@ -29,10 +29,10 @@ defaults: working-directory: deps/publish env: - CLOJURE_VERSION: '1.11.1.1413' + CLOJURE_VERSION: '1.12.4.1618' JAVA_VERSION: '21' # This is the latest node version we can run. - NODE_VERSION: '22' + NODE_VERSION: '24' BABASHKA_VERSION: '1.12.215' jobs: diff --git a/.github/workflows/deps-publishing.yml b/.github/workflows/deps-publishing.yml index 81408b464b..f4a5c84eec 100644 --- a/.github/workflows/deps-publishing.yml +++ b/.github/workflows/deps-publishing.yml @@ -27,11 +27,11 @@ defaults: working-directory: deps/publishing env: - CLOJURE_VERSION: '1.11.1.1413' + CLOJURE_VERSION: '1.12.4.1618' # This is the same as 1.8. - JAVA_VERSION: '11' + JAVA_VERSION: '21' # This is the latest node version we can run. - NODE_VERSION: '22' + NODE_VERSION: '24' BABASHKA_VERSION: '1.12.215' jobs: diff --git a/Dockerfile b/Dockerfile index 1cef94d345..afd0615109 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev # install NodeJS & yarn -RUN curl -sL https://deb.nodesource.com/setup_18.x | bash - +RUN curl -sL https://deb.nodesource.com/setup_24.x | bash - RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | \ tee /etc/apt/trusted.gpg.d/yarn.gpg && \ @@ -32,7 +32,7 @@ RUN git clone -b master https://github.com/logseq/logseq.git . RUN yarn config set network-timeout 240000 -g && yarn install -RUN yarn release +RUN yarn release # Web App Runner image FROM nginx:1.24.0-alpine3.17 diff --git a/android/app/build.gradle b/android/app/build.gradle index 5eda8e9979..6cf101204d 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -12,7 +12,7 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 88 - versionName "2.0.0" + versionName "2.0.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" aaptOptions { // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. diff --git a/bb.edn b/bb.edn index 98d2083cc2..7e9643d71f 100644 --- a/bb.edn +++ b/bb.edn @@ -1,7 +1,8 @@ {:paths ["scripts/src" "src/main" "src/resources"] :deps {metosin/malli - {:mvn/version "0.16.1"} + {:git/url "https://github.com/metosin/malli" + :sha "52ea58a36ff5172b38dfc526ca638afa7226a4a0"} borkdude/rewrite-edn {:mvn/version "0.5.9"} logseq/bb-tasks #_{:local/root "../bb-tasks"} @@ -14,7 +15,7 @@ cheshire/cheshire {:mvn/version "6.2.0"}} :pods - {clj-kondo/clj-kondo {:version "2026.01.19"} + {clj-kondo/clj-kondo {:version "2026.04.15"} org.babashka/fswatcher {:version "0.0.7"} org.babashka/go-sqlite3 {:version "0.3.13"}} :tasks diff --git a/clj-e2e/deps.edn b/clj-e2e/deps.edn index 04c6efc153..93e16f4e80 100644 --- a/clj-e2e/deps.edn +++ b/clj-e2e/deps.edn @@ -1,5 +1,5 @@ {:paths ["src" "resources"] - :deps {org.clojure/clojure {:mvn/version "1.12.0"} + :deps {org.clojure/clojure {:mvn/version "1.12.4"} ;; io.github.pfeodrippe/wally {:local/root "../../../wally"} io.github.pfeodrippe/wally {:git/url "https://github.com/logseq/wally" :sha "8571fae7c51400ac61c8b1026cbfba68279bc461" diff --git a/deps.edn b/deps.edn index 4b29a1cc31..a75ca1655f 100644 --- a/deps.edn +++ b/deps.edn @@ -1,6 +1,6 @@ {:paths ["src/main" "src/electron" "src/resources"] :deps - {org.clojure/clojure {:mvn/version "1.11.1"} + {org.clojure/clojure {:mvn/version "1.12.4"} rum/rum {:git/url "https://github.com/logseq/rum" ;; fork :sha "5d672bf84ed944414b9f61eeb83808ead7be9127"} @@ -12,7 +12,8 @@ borkdude/rewrite-edn {:mvn/version "0.5.9"} funcool/promesa {:mvn/version "11.0.678"} medley/medley {:mvn/version "1.4.0"} - metosin/reitit-frontend {:mvn/version "0.10.1"} + metosin/reitit-frontend {:mvn/version "0.10.1" + :exclusions [metosin/malli]} cljs-bean/cljs-bean {:mvn/version "1.9.0"} prismatic/dommy {:mvn/version "1.1.0"} org.clojure/core.match {:mvn/version "1.1.0"} @@ -26,7 +27,7 @@ hiccups/hiccups {:mvn/version "0.3.0"} tongue/tongue {:mvn/version "0.4.4"} org.clojure/core.async {:mvn/version "1.8.741"} - thheller/shadow-cljs {:mvn/version "2.28.23"} + thheller/shadow-cljs {:mvn/version "3.4.4"} expound/expound {:mvn/version "0.9.0"} com.lambdaisland/glogi {:git/url "https://github.com/lambdaisland/glogi" :git/sha "30328a045141717aadbbb693465aed55f0904976"} @@ -41,7 +42,8 @@ logseq/publishing {:local/root "deps/publishing"} logseq/cli {:local/root "deps/cli"} logseq/shui {:local/root "deps/shui"} - metosin/malli {:mvn/version "0.16.1"} + metosin/malli {:git/url "https://github.com/metosin/malli" + :sha "52ea58a36ff5172b38dfc526ca638afa7226a4a0"} com.cognitect/transit-cljs {:mvn/version "0.8.280"} missionary/missionary {:mvn/version "b.47"} @@ -75,5 +77,5 @@ :main-opts ["-m" "cljs-test-runner.main" "-d" "src/bench" "-n" "frontend.benchmark-test-runner"]} ;; Use :replace-deps for tools. See https://github.com/clj-kondo/clj-kondo/issues/1536#issuecomment-1013006889 - :clj-kondo {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.01.19"}} + :clj-kondo {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.04.15"}} :main-opts ["-m" "clj-kondo.main"]}}} diff --git a/deps/cli/bb.edn b/deps/cli/bb.edn index eeec14e6d9..5dd52791c0 100644 --- a/deps/cli/bb.edn +++ b/deps/cli/bb.edn @@ -6,7 +6,7 @@ :git/sha "acb3d3d5d38c4ac16f617cb10ae6f99fe1b8de6e"}} :pods - {clj-kondo/clj-kondo {:version "2026.01.19"}} + {clj-kondo/clj-kondo {:version "2026.04.15"}} :tasks {build:vendor-nbb-deps diff --git a/deps/cli/deps.edn b/deps/cli/deps.edn index 90af385983..6f2529a2e2 100644 --- a/deps/cli/deps.edn +++ b/deps/cli/deps.edn @@ -3,5 +3,5 @@ {logseq/outliner {:local/root "../outliner"}} :aliases - {:clj-kondo {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.01.19"}} + {:clj-kondo {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.04.15"}} :main-opts ["-m" "clj-kondo.main"]}}} diff --git a/deps/common/bb.edn b/deps/common/bb.edn index 96a0f0d5e6..e3a8496994 100644 --- a/deps/common/bb.edn +++ b/deps/common/bb.edn @@ -6,7 +6,7 @@ :git/sha "acb3d3d5d38c4ac16f617cb10ae6f99fe1b8de6e"}} :pods - {clj-kondo/clj-kondo {:version "2026.01.19"}} + {clj-kondo/clj-kondo {:version "2026.04.15"}} :tasks {test:load-all-namespaces-with-nbb diff --git a/deps/common/deps.edn b/deps/common/deps.edn index cda2b5a658..605f6309f7 100644 --- a/deps/common/deps.edn +++ b/deps/common/deps.edn @@ -5,8 +5,8 @@ :aliases {:test {:extra-paths ["test"] :extra-deps {olical/cljs-test-runner {:mvn/version "3.8.1"} - org.clojure/clojurescript {:mvn/version "1.11.132"}} + org.clojure/clojurescript {:mvn/version "1.12.134"}} :main-opts ["-m" "cljs-test-runner.main"]} :clj-kondo - {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.01.19"}} + {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.04.15"}} :main-opts ["-m" "clj-kondo.main"]}}} diff --git a/deps/db-sync/bb.edn b/deps/db-sync/bb.edn index 4a11fb5570..98756e598b 100644 --- a/deps/db-sync/bb.edn +++ b/deps/db-sync/bb.edn @@ -6,7 +6,7 @@ :git/sha "acb3d3d5d38c4ac16f617cb10ae6f99fe1b8de6e"}} :pods - {clj-kondo/clj-kondo {:version "2026.01.19"}} + {clj-kondo/clj-kondo {:version "2026.04.15"}} :tasks {lint:large-vars diff --git a/deps/db-sync/deps.edn b/deps/db-sync/deps.edn index 4798d10ecb..2d2f886267 100644 --- a/deps/db-sync/deps.edn +++ b/deps/db-sync/deps.edn @@ -1,24 +1,25 @@ {:paths ["src" "test" "../../resources"] :deps - {org.clojure/clojure {:mvn/version "1.11.1"} + {org.clojure/clojure {:mvn/version "1.12.4"} datascript/datascript {:git/url "https://github.com/logseq/datascript" :sha "f91fec561ee2c11d6bf323feae365e9033585411"} datascript-transit/datascript-transit {:mvn/version "0.3.0" :exclusions [datascript/datascript]} com.cognitect/transit-cljs {:mvn/version "0.8.280"} cljs-bean/cljs-bean {:mvn/version "1.9.0"} - thheller/shadow-cljs {:mvn/version "3.3.4"} + thheller/shadow-cljs {:mvn/version "3.4.4"} com.lambdaisland/glogi {:git/url "https://github.com/lambdaisland/glogi" :git/sha "30328a045141717aadbbb693465aed55f0904976"} - metosin/reitit {:mvn/version "0.10.1"} + metosin/reitit {:mvn/version "0.10.1" + :exclusions [metosin/malli]} logseq/common {:local/root "../common"} logseq/db {:local/root "../db"}} :aliases {:cljs {:extra-deps {org.clojure/tools.namespace {:mvn/version "1.5.0"} - cider/cider-nrepl {:mvn/version "0.58.0"} + cider/cider-nrepl {:mvn/version "0.59.0"} org.clojars.knubie/cljs-run-test {:mvn/version "1.0.1"} tortue/spy {:mvn/version "2.15.0"}} :main-opts ["-m" "shadow.cljs.devtools.cli"]} :clj-kondo - {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.01.19"}} + {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.04.15"}} :main-opts ["-m" "clj-kondo.main"]}}} diff --git a/deps/db-sync/package.json b/deps/db-sync/package.json index e166306f07..47ef71099f 100644 --- a/deps/db-sync/package.json +++ b/deps/db-sync/package.json @@ -29,7 +29,7 @@ "@sentry/cloudflare": "^10.45.0", "@sentry/node": "^10.45.0", "better-sqlite3": "^12.8.0", - "shadow-cljs": "^3.3.4", + "shadow-cljs": "^3.4.4", "transit-js": "^0.8.874", "ws": "^8.19.0" }, diff --git a/deps/db-sync/yarn.lock b/deps/db-sync/yarn.lock index a9b710e18c..921962d48c 100644 --- a/deps/db-sync/yarn.lock +++ b/deps/db-sync/yarn.lock @@ -868,10 +868,10 @@ shadow-cljs-jar@1.3.4: resolved "https://registry.yarnpkg.com/shadow-cljs-jar/-/shadow-cljs-jar-1.3.4.tgz#0939d91c468b4bc5eab5a958f79e7ef5696fdf62" integrity sha512-cZB2pzVXBnhpJ6PQdsjO+j/MksR28mv4QD/hP/2y1fsIa9Z9RutYgh3N34FZ8Ktl4puAXaIGlct+gMCJ5BmwmA== -shadow-cljs@^3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/shadow-cljs/-/shadow-cljs-3.3.4.tgz#d1593c1ad4eee1ed34f57aa68cdfc5caaf5696d9" - integrity sha512-xZV+Ek5TeQtqcY++Otpto5DW+gXu/znIJjtTZjhfQl1yYxnfQNSyC2pS9/XoI3kmmQza3oY5WA0b45gS7W7W5g== +shadow-cljs@^3.4.4: + version "3.4.4" + resolved "https://registry.yarnpkg.com/shadow-cljs/-/shadow-cljs-3.4.4.tgz#e76e97192f6809af3734dcf1fa5acb55d3611e21" + integrity sha512-6/Z4XVWBavdDSbAR+ECbZTnq22Gws1zy+Ilfwcdl5SMf3ZdOYiYczqykfg/rLjlU0Ap9BvX8cEZGBExK4PGDaw== dependencies: buffer "^6.0.3" process "^0.11.10" diff --git a/deps/db/bb.edn b/deps/db/bb.edn index 597e24b36d..276934bcf7 100644 --- a/deps/db/bb.edn +++ b/deps/db/bb.edn @@ -7,7 +7,7 @@ :git/sha "acb3d3d5d38c4ac16f617cb10ae6f99fe1b8de6e"}} :pods - {clj-kondo/clj-kondo {:version "2026.01.19"}} + {clj-kondo/clj-kondo {:version "2026.04.15"}} :tasks {test:load-all-namespaces-with-nbb diff --git a/deps/db/deps.edn b/deps/db/deps.edn index c11109168a..7c7c683092 100644 --- a/deps/db/deps.edn +++ b/deps/db/deps.edn @@ -14,10 +14,11 @@ logseq/clj-fractional-indexing {:git/url "https://github.com/logseq/clj-fractional-indexing" :sha "1087f0fb18aa8e25ee3bbbb0db983b7a29bce270"} borkdude/rewrite-edn {:mvn/version "0.5.9"} - metosin/malli {:mvn/version "0.16.1"} + metosin/malli {:git/url "https://github.com/metosin/malli" + :sha "52ea58a36ff5172b38dfc526ca638afa7226a4a0"} medley/medley {:mvn/version "1.4.0"}} :aliases {:clj-kondo - {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.01.19"}} + {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.04.15"}} :main-opts ["-m" "clj-kondo.main"]}}} diff --git a/deps/db/nbb.edn b/deps/db/nbb.edn index 088fd80ed4..2b6f669e3b 100644 --- a/deps/db/nbb.edn +++ b/deps/db/nbb.edn @@ -3,7 +3,8 @@ {logseq/common {:local/root "../common"} medley/medley {:mvn/version "1.4.0"} - metosin/malli {:mvn/version "0.16.1"} + metosin/malli {:git/url "https://github.com/metosin/malli" + :sha "52ea58a36ff5172b38dfc526ca638afa7226a4a0"} ;; Used by db scripts with outliner.cli borkdude/rewrite-edn {:mvn/version "0.5.9"} logseq/clj-fractional-indexing {:git/url "https://github.com/logseq/clj-fractional-indexing" diff --git a/deps/graph-parser/bb.edn b/deps/graph-parser/bb.edn index 7bcfe3bf0f..807ff61d67 100644 --- a/deps/graph-parser/bb.edn +++ b/deps/graph-parser/bb.edn @@ -4,9 +4,9 @@ #_{:local/root "../../../bb-tasks"} {:git/url "https://github.com/logseq/bb-tasks" :git/sha "acb3d3d5d38c4ac16f617cb10ae6f99fe1b8de6e"}} - + :pods - {clj-kondo/clj-kondo {:version "2026.01.19"}} + {clj-kondo/clj-kondo {:version "2026.04.15"}} :tasks {test:load-all-namespaces-with-nbb diff --git a/deps/graph-parser/deps.edn b/deps/graph-parser/deps.edn index 26003397b2..86154561a8 100644 --- a/deps/graph-parser/deps.edn +++ b/deps/graph-parser/deps.edn @@ -20,9 +20,9 @@ ;; with karma, shadow-cljs.edn and headless mode on CI {:test {:extra-paths ["test"] :extra-deps {olical/cljs-test-runner {:mvn/version "3.8.1"} - org.clojure/clojurescript {:mvn/version "1.11.132"} + org.clojure/clojurescript {:mvn/version "1.12.134"} logseq/outliner {:local/root "../outliner"}} :main-opts ["-m" "cljs-test-runner.main"]} - :clj-kondo {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.01.19"}} + :clj-kondo {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.04.15"}} :main-opts ["-m" "clj-kondo.main"]}}} diff --git a/deps/outliner/bb.edn b/deps/outliner/bb.edn index 8fb92e312d..2a19a8d91a 100644 --- a/deps/outliner/bb.edn +++ b/deps/outliner/bb.edn @@ -6,7 +6,7 @@ :git/sha "acb3d3d5d38c4ac16f617cb10ae6f99fe1b8de6e"}} :pods - {clj-kondo/clj-kondo {:version "2026.01.19"}} + {clj-kondo/clj-kondo {:version "2026.04.15"}} :tasks {test:load-all-namespaces-with-nbb diff --git a/deps/outliner/deps.edn b/deps/outliner/deps.edn index 3f707cd699..57982cc60d 100644 --- a/deps/outliner/deps.edn +++ b/deps/outliner/deps.edn @@ -1,18 +1,19 @@ {:deps ;; These nbb-logseq deps are kept in sync with https://github.com/logseq/nbb-logseq/blob/main/bb.edn - {datascript/datascript {:git/url "https://github.com/logseq/datascript" ;; fork - :sha "f91fec561ee2c11d6bf323feae365e9033585411"} + {datascript/datascript {:git/url "https://github.com/logseq/datascript" ;; fork + :sha "f91fec561ee2c11d6bf323feae365e9033585411"} ;; datascript/datascript {:local/root "../../../../datascript"} - com.cognitect/transit-cljs {:mvn/version "0.8.280"} + com.cognitect/transit-cljs {:mvn/version "0.8.280"} ;; Any other deps should be added here and to nbb.edn - logseq/db {:local/root "../db"} - logseq/graph-parser {:local/root "../graph-parser"} - metosin/malli {:mvn/version "0.16.1"} + logseq/db {:local/root "../db"} + logseq/graph-parser {:local/root "../graph-parser"} + metosin/malli {:git/url "https://github.com/metosin/malli" + :sha "52ea58a36ff5172b38dfc526ca638afa7226a4a0"} ;; stubbed via logseq.common.log com.lambdaisland/glogi {:git/url "https://github.com/lambdaisland/glogi" :git/sha "30328a045141717aadbbb693465aed55f0904976"}} :aliases {:clj-kondo - {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.01.19"}} + {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.04.15"}} :main-opts ["-m" "clj-kondo.main"]}}} diff --git a/deps/outliner/nbb.edn b/deps/outliner/nbb.edn index be96398d0a..9b910604b5 100644 --- a/deps/outliner/nbb.edn +++ b/deps/outliner/nbb.edn @@ -4,7 +4,6 @@ {:local/root "../db"} logseq/graph-parser {:local/root "../graph-parser"} - metosin/malli - {:mvn/version "0.16.1"} - io.github.nextjournal/nbb-test-runner - {:git/sha "b379325cfa5a3306180649da5de3bf5166414e71"}}} + metosin/malli {:git/url "https://github.com/metosin/malli" + :sha "52ea58a36ff5172b38dfc526ca638afa7226a4a0"} + io.github.nextjournal/nbb-test-runner {:git/sha "b379325cfa5a3306180649da5de3bf5166414e71"}}} diff --git a/deps/publish/bb.edn b/deps/publish/bb.edn index 45d101ce73..a4942a8301 100644 --- a/deps/publish/bb.edn +++ b/deps/publish/bb.edn @@ -6,7 +6,7 @@ :git/sha "acb3d3d5d38c4ac16f617cb10ae6f99fe1b8de6e"}} :pods - {clj-kondo/clj-kondo {:version "2026.01.19"}} + {clj-kondo/clj-kondo {:version "2026.04.15"}} :tasks {test:load-all-namespaces-with-nbb diff --git a/deps/publish/deps.edn b/deps/publish/deps.edn index 4a426f558e..a16b052345 100644 --- a/deps/publish/deps.edn +++ b/deps/publish/deps.edn @@ -1,6 +1,6 @@ {:paths ["src" "../../resources"] :deps - {org.clojure/clojure {:mvn/version "1.12.0"} + {org.clojure/clojure {:mvn/version "1.12.4"} rum/rum {:git/url "https://github.com/logseq/rum" ;; fork :sha "5d672bf84ed944414b9f61eeb83808ead7be9127"} @@ -9,7 +9,7 @@ datascript-transit/datascript-transit {:mvn/version "0.3.0" :exclusions [datascript/datascript]} funcool/promesa {:mvn/version "11.0.678"} - thheller/shadow-cljs {:mvn/version "3.3.4"} + thheller/shadow-cljs {:mvn/version "3.4.4"} logseq/common {:local/root "../common"} logseq/graph-parser {:local/root "../graph-parser"} logseq/db {:local/root "../db"} @@ -18,10 +18,10 @@ hiccups/hiccups {:mvn/version "0.3.0"}} :aliases {:cljs {:extra-deps {org.clojure/tools.namespace {:mvn/version "1.5.0"} - cider/cider-nrepl {:mvn/version "0.58.0"} + cider/cider-nrepl {:mvn/version "0.59.0"} org.clojars.knubie/cljs-run-test {:mvn/version "1.0.1"} tortue/spy {:mvn/version "2.15.0"}} :main-opts ["-m" "shadow.cljs.devtools.cli"]} :clj-kondo - {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.01.19"}} + {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.04.15"}} :main-opts ["-m" "clj-kondo.main"]}}} diff --git a/deps/publish/package.json b/deps/publish/package.json index e79315febb..2b66b6dc8f 100644 --- a/deps/publish/package.json +++ b/deps/publish/package.json @@ -11,6 +11,6 @@ "deploy": "yarn bump-publish-version && yarn clean && yarn release && cd ./worker && wrangler deploy --env prod" }, "dependencies": { - "shadow-cljs": "^3.3.4" + "shadow-cljs": "^3.4.4" } } diff --git a/deps/publish/yarn.lock b/deps/publish/yarn.lock index bef063c8df..2f3e50bc1a 100644 --- a/deps/publish/yarn.lock +++ b/deps/publish/yarn.lock @@ -45,10 +45,10 @@ shadow-cljs-jar@1.3.4: resolved "https://registry.yarnpkg.com/shadow-cljs-jar/-/shadow-cljs-jar-1.3.4.tgz#0939d91c468b4bc5eab5a958f79e7ef5696fdf62" integrity sha512-cZB2pzVXBnhpJ6PQdsjO+j/MksR28mv4QD/hP/2y1fsIa9Z9RutYgh3N34FZ8Ktl4puAXaIGlct+gMCJ5BmwmA== -shadow-cljs@^3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/shadow-cljs/-/shadow-cljs-3.3.4.tgz#d1593c1ad4eee1ed34f57aa68cdfc5caaf5696d9" - integrity sha512-xZV+Ek5TeQtqcY++Otpto5DW+gXu/znIJjtTZjhfQl1yYxnfQNSyC2pS9/XoI3kmmQza3oY5WA0b45gS7W7W5g== +shadow-cljs@^3.4.4: + version "3.4.4" + resolved "https://registry.yarnpkg.com/shadow-cljs/-/shadow-cljs-3.4.4.tgz#e76e97192f6809af3734dcf1fa5acb55d3611e21" + integrity sha512-6/Z4XVWBavdDSbAR+ECbZTnq22Gws1zy+Ilfwcdl5SMf3ZdOYiYczqykfg/rLjlU0Ap9BvX8cEZGBExK4PGDaw== dependencies: buffer "^6.0.3" process "^0.11.10" diff --git a/deps/publishing/bb.edn b/deps/publishing/bb.edn index 125d75b24f..6784ccb473 100644 --- a/deps/publishing/bb.edn +++ b/deps/publishing/bb.edn @@ -6,7 +6,7 @@ :git/sha "acb3d3d5d38c4ac16f617cb10ae6f99fe1b8de6e"}} :pods - {clj-kondo/clj-kondo {:version "2026.01.19"}} + {clj-kondo/clj-kondo {:version "2026.04.15"}} :tasks {test:load-all-namespaces-with-nbb diff --git a/deps/publishing/deps.edn b/deps/publishing/deps.edn index 1e681765b4..186e0decbf 100644 --- a/deps/publishing/deps.edn +++ b/deps/publishing/deps.edn @@ -3,5 +3,5 @@ {logseq/db {:local/root "../db"}} :aliases - {:clj-kondo {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.01.19"}} + {:clj-kondo {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2026.04.15"}} :main-opts ["-m" "clj-kondo.main"]}}} diff --git a/deps/shui/deps.edn b/deps/shui/deps.edn index 1635b2a5d1..f126352245 100644 --- a/deps/shui/deps.edn +++ b/deps/shui/deps.edn @@ -1,7 +1,7 @@ {:paths ["src"] :deps - {org.clojure/clojure {:mvn/version "1.11.1"} - org.clojure/clojurescript {:mvn/version "1.11.132"} + {org.clojure/clojure {:mvn/version "1.12.4"} + org.clojure/clojurescript {:mvn/version "1.12.134"} funcool/promesa {:mvn/version "11.0.678"} rum/rum {:git/url "https://github.com/logseq/rum" ;; fork :sha "5d672bf84ed944414b9f61eeb83808ead7be9127"} diff --git a/gulpfile.js b/gulpfile.js index aea200f330..bd73ece9af 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -19,7 +19,6 @@ const rawCopySrc = (globs, options = {}) => gulp.src(globs, { encoding: false, ...options }) const staticCleanKeep = new Set([ 'entitlements.plist', - 'forge.config.js', 'node_modules', 'package.json', 'yarn.lock', diff --git a/libs/cljs-sdk/deps.edn b/libs/cljs-sdk/deps.edn index c765259585..2dcb8bfc41 100644 --- a/libs/cljs-sdk/deps.edn +++ b/libs/cljs-sdk/deps.edn @@ -1,5 +1,5 @@ {:paths ["src" "test"] - :deps {org.clojure/clojurescript {:mvn/version "1.12.42"} + :deps {org.clojure/clojurescript {:mvn/version "1.12.134"} cljs-bean/cljs-bean {:mvn/version "1.9.0"}} :npm-deps {"@logseq/libs" "0.2.3"} diff --git a/package.json b/package.json index 43383f3c77..2916d83f13 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "postcss-nested": "7.0.2", "process": "^0.11.10", "semver": "7.7.4", - "shadow-cljs": "2.28.23", + "shadow-cljs": "^3.4.4", "source-map-loader": "^5.0.0", "stylelint": "^13.8.0", "stylelint-config-standard": "^20.0.0", diff --git a/resources/electron-builder.yml b/resources/electron-builder.yml new file mode 100644 index 0000000000..d9b9aebdc6 --- /dev/null +++ b/resources/electron-builder.yml @@ -0,0 +1,52 @@ +appId: com.logseq.logseq +electronUpdaterCompatibility: ">=2.16" + +directories: + buildResources: . + output: dist + +protocols: + - name: logseq + schemes: + - logseq + +publish: + - provider: github + owner: logseq + repo: logseq + +mac: + artifactName: ${productName}-darwin-${arch}-${version}.${ext} + icon: icons/logseq_big_sur.icns + target: + - dmg + - zip + hardenedRuntime: true + entitlements: entitlements.plist + entitlementsInherit: entitlements.plist + +dmg: + format: ULFO + +win: + icon: icons/logseq.ico + target: + - nsis + - zip + +nsis: + artifactName: ${productName}-win-${arch}-${version}-nsis.${ext} + oneClick: false + allowToChangeInstallationDirectory: true + installerIcon: icons/logseq.ico + uninstallerIcon: icons/logseq.ico + +linux: + artifactName: ${productName}-linux-${arch}-${version}.${ext} + icon: icons/logseq.png + category: Office + target: + - AppImage + - zip + mimeTypes: + - x-scheme-handler/logseq diff --git a/resources/forge.config.js b/resources/forge.config.js deleted file mode 100644 index 00da941ff1..0000000000 --- a/resources/forge.config.js +++ /dev/null @@ -1,108 +0,0 @@ -const path = require('path') -const fs = require('fs') - -module.exports = { - packagerConfig: { - name: 'Logseq', - icon: './icons/logseq_big_sur.icns', - buildVersion: "88", - appBundleId: "com.logseq.logseq", - protocols: [ - { - "protocol": "logseq", - "name": "logseq", - "schemes": "logseq" - } - ], - osxSign: { - identity: 'Developer ID Application: Logseq Inc. (K378MFWK59)', - 'hardened-runtime': true, - entitlements: 'entitlements.plist', - 'entitlements-inherit': 'entitlements.plist', - 'signature-flags': 'library' - }, - osxNotarize: process.env['APPLE_ID'] ? { - tool: 'notarytool', - appleId: process.env['APPLE_ID'], - appleIdPassword: process.env['APPLE_ID_PASSWORD'], - teamId: process.env['APPLE_TEAM_ID'] - } : undefined, - }, - makers: [ - { - 'name': '@electron-forge/maker-squirrel', - 'config': { - 'name': 'Logseq', - 'setupIcon': './icons/logseq.ico', - 'loadingGif': './icons/installing.gif', - 'certificateFile': process.env.CODE_SIGN_CERTIFICATE_FILE, - 'certificatePassword': process.env.CODE_SIGN_CERTIFICATE_PASSWORD, - "rfc3161TimeStampServer": "http://timestamp.digicert.com" - } - }, - { - 'name': '@electron-forge/maker-wix', - 'config': { - name: 'Logseq', - icon: path.join(__dirname, './icons/logseq.ico'), - language: 1033, - manufacturer: 'Logseq', - appUserModelId: 'com.logseq.logseq', - upgradeCode: "3778eb84-a0ce-4109-9120-5d4315e0d7de", - ui: { - enabled: false, - chooseDirectory: true, - images: { - banner: path.join(__dirname, './windows/banner.jpg'), - background: path.join(__dirname, './windows/background.jpg') - }, - }, - // Standard WiX template appends the unsightly "(Machine - WSI)" to the name, so use our own template - beforeCreate: (msiCreator) => { - return new Promise((resolve, reject) => { - fs.readFile(path.join(__dirname,"./windows/wix.xml"), "utf8" , (err, content) => { - if (err) { - reject (err); - } - msiCreator.wixTemplate = content; - resolve(); - }); - }); - } - } - }, - { - name: '@electron-forge/maker-dmg', - config: { - format: 'ULFO', - icon: './icons/logseq_big_sur.icns', - name: 'Logseq' - } - }, - { - name: '@electron-forge/maker-zip', - platforms: ['darwin', 'linux', 'win32'], - }, - - { - name: 'electron-forge-maker-appimage', - platforms: ['linux'], - config: { - mimeType: ["x-scheme-handler/logseq"] - } - } - ], - - publishers: [ - { - name: '@electron-forge/publisher-github', - config: { - repository: { - owner: 'logseq', - name: 'logseq' - }, - prerelease: true - } - } - ] -} diff --git a/resources/icons/installing.gif b/resources/icons/installing.gif deleted file mode 100644 index c6e545b13d714879d3f9f277a7f6a1204ae7aa7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146883 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⁢ZLJw9DjpyQ}SA#Vpw}WE_}1P3Q5l%iTk( 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 diff --git a/resources/icons/logseq.ico b/resources/icons/logseq.ico index c00cb0387bf1972420fecf0f820d702b94b96e10..eb063c41fe30295a0b2658a308752bd6d64662a8 100644 GIT binary patch literal 34902 zcmcF~Q*>oPx9;AtZQHi9qmI$(*tV07ZM$PT>2%VuZM$RJwr*HO?*|g001BW8i0ZV_>v?5PjCRh6#xL>;QR-Fg9HGszUoLw{s%(?09>#D01L~1 zusA#b;Qe(k2=pHuhXeq0;{yQx{{O+=gaCjd-B*KO<-gjG0s#PHk^n%2l7b{693I?P zHKMeXxbm0$Y6XA-1NC(!zWp@(60ih1ihz9pvDb&UeDjen480be*%)xtyeShIO zG7K8rbiP8#?iL^AbOCOE+Y(>bUK*-__mno=@ASnM=)Wa57X8al+S~ zOeUo!M8ewDjz zQ(gUAV|^MKZQu{^7JSQA_UGr9Vs^q&evOS2rX6r*dXR? z5xVtgW}yzGe>UdgoKDLSM>3G*v95QyzE~kTLX+rFIs|)%PHL0oA3`=lPv~HG`p_xG zGuprZDOE3QH6xug@JS6q#&Tp9{~^C-sQA{&MGB=b@mRx>)U*HlQe+se*K-|8hITs9 zuCF?3Y-yu;%0YLc80?HdsiC$9P*XGP+_%4s5V!;UHYhnWvj9sDYcsxT-`K&`^w7`R60_-y{+{70nCe{Ef#c%Jb_F7o{xr7PUYR zoST`+wzJo!B}Zrke9~ab^Unrca3wh9k@!!h>Oz&Y2;!s=i#ss@8U}_L?UnhbUvtU8 z(q)>HKwzj;bo_l+Qu$MKub?Gc?0OhX`5&zy^lDMS$LgUPl6srq7eFkDWk3-W4!9Zwh_{?Di zN4vsesYSm<;&$*P7|V&u&=$qVqr@9QrToM^-XkG+Eg6L*7Ow`yhdlxV4e4qZ1OcCB4lOWtjzqJR5% z=Fbt*-7o=`cqSWA@K7@~Rrpcb8LYes{R4C6Bm}F_Nh%3yasO0IDu%Pj~1uf2l zQ0TW?ropKS=;s&aGHqTJ;{-YNw$h_0`zgtgS#V-aEJ-+PT=CNF27> zt>F;{m00>)lI4y~Sl1-do7Df}ZZQ#LHwo_M4O69|S!XZj`1jzleYLg7^Z1UeQR7Le zmBK70#2s|2e=&4z9|s8CR@XnKs58+S05#Cy%qJH589t3xA9-2`DvwCx7^26TmM5jp za|o?ple*0L%R*{kX;6R-@&+HO8nR857;ND|32lH+p@+NG8+*GTKtECfRv&(E$;l_+ z#)!fo|8s$wb@X?@(V43NP5|R!H9(R=NdxBm8a&WXO?LH@FP=-v;?V7uKiA8mp30aCa+ zKz$Pexbb3`qXkJor+HKPadAmO

42PaGH5)`7j>R$D)ib9r_&#i@oD%GIzeyf`iX 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%0Dr)U0S`^$1_ij^ zA+~k%3yj`={sI0SXeL4K0Qd`yz{%5nRg3M^Vv6CIDp$pu^5CiGbPB)r>m^F}op@$Q zv@2sOOj3zZ@|$S)@*jCa2bU_++m*+UjHX-$4*j9cieW+a^a9w^dvK61FRgWVj$LQ) zgTMMG18eo+SK8g`qYQmK_F5yU1hT`kNmM_oivR`!kEU*esfTK0^l@O4}G zu>{Qxyn4KWzXWCvkPJz6EiP!IbxCe?cY>kPlGYWT^))Ag3Lb`Nt+j^{d*4s%ST z7UjT`4;c*f)rzkSj6$gG?RuzR;I@pdUO@;2nf;3zfFTa1!;FXKfLX3!f6u_*^~lEY zu&+?PouqTbrr`~%KX0xd=J#5icC-pRkQDVtwTBaCx17@X>fd0Fb80lRfI#k+oT8vp z8W%yqojK2SyyvqH+D|7VJ72KJj2nZ3zdx)@4^UMOPTKh1S3*A;>+5*eH?8gQyjr&N z*l`tgJbkiS^FrXrsKV6#^~+fg@*DfkQBO9lIcRyel(q;7e?$;KzLYQyrGckmZO-** z?TX~ael>#ia&LWmR=rQDOgGm;nL2j%oes8*@c6R``te!ts6x_byX4_FHRGRXI%;Io{${+@^U2dNB|70p4^P=b4XvyR--0eiaq0it7FNKPHl=e6;fACFvpT21BQ-&g-%vG3sMI@osHo%DGQG~f+?(5T=t6_+_oBLEo>ulKHE&s%H|BEjGRP*q1Dtgs_@TwX)xjDQB zoT9=vS9(mZUuW?T$qK|CyPR1$4}Xe@8H1XtP=tqJ_8@#SfffE`!j;^InarY7_%DLEbDfDI@p5772jEhS@xy4HI? zGmbCmE0^B5{K4Jtvn15mf_I|HQ6C}(=`~+XoJ?@ov9A7E4PQO6WBkFj&-;`%kvqH3 z%Z|^5WoyC~M@hs9gtBi;z5>-5i`&2EMHtV7rpPXMTR(i5`ZHyf-WnLnHKsrF0Y`=> zq&KZ`N8WO|_g}Pt;FydhkRfkx56M?sEh~U^wy5@6OQ0beS=>N#B8{LlZTi|VY zz|Uk6GnL!v1y#?c$)9F%8Qa$$_sz0oB-T?(Kg|+cCB^W)gj*3okEjrt&}pXveCmn{ z#cR1-t&yY;v9smCx)>R4jTniDOu(5Mt*d*+my${p84sM*PvG5vZxp55`?aV_6;T!@ICSz@q^w5oJkg(J^#ZzwjG zN0lTiZJ@!cL%q3{QDKgFDgDpLY_>K~zeQ7DTpwS~aaKVWFe*a1-VlRNEl;7nq2OCa zscp0(N?ZIWWpc!V4;t!?>lgVg2hHI+sZ*VdADaTr+~^tx%1h^{IQAti>GMGS4ov^s z9%xxkZa<-k#zL|}5_H{Rdk&jqr%!}wX6LNFdyWTQEUZj2I9DP=*m=_juP5~)%}rr# z%*Sgjp{Q9jOLepdt44hUmjvX3+=SuC@}V;fFgh}}N0f5$yFh!7)8RBiK&dC=S9SeJ zy{Meh)DN-!uT#tp(se|U;*{fAC!`M4DB3VhUH-2YP-yy?Mz12&~rNXm++}K+h*U}VKNsy|B z#;#Y)^P3(XQcllK{o(+*>NOfb{I>!jfHqh|BRHD=E*$7y%I0w4VQF^UVrjN?L~aqh z1!$sTh*s8#`G)_n#RMJ|&h?w0%=AyY+}&&+U7P$oUnK^ok2zWDJ5XVjlrxd z3|s&(4waw(KzFw-tv#m(B$=LjFY_{4B zuGW6HptaEUnewW>mmJr2w7Gi-53JF>Zo!-s5h=gH#@Tm}V)Sd*UiH|VF|ptnj-3a& zB>jo}yn@3pPJSpb(U(s=TJ3QE?r5!ra#H+`<)-sKnM-Hnl#~y75C(xs2NADF4z>td z>>%%L2H+Zw0J&y7mjMlmDv#$dSDIqw#N`~1NK(@iCCnPWx-gp(2n`zajaV&d`eR>57K2c5-i&bVgXmE|M6-KxvXjd9ZFmP)jq|ys8bl<-ETR> zP!EJu>hVVRzkYAB``F@scH>oj9&Q=602|e*okLtLbfeS{ept`{*u0NI4y#?pmFFIa z?n!rj?cRme^TaQgmf1hD?{XN0dD*v6A6OANbssHjo8p0?@#$ThBmSN0&s(G#h95Jg zAHI>f*c@I~mSzfzUT5-XN;nJKy)0HuHQoZY9g4Tvfl>fMK;=FnG%G3+baA1n?2(IA`Egb*|&`B5H!f-`iE;piT9U2+dT75 zdsL-1guOX_f>b!G0V>gI;@5vD&m~=njUEpJ+q-%(#z;iKz-|0x-P|tPJ!2naj{Aj> z%qCV+cl)8==i#38jN0CJTJyQ(`BbL$@MYq6M>EeXLnPVl)) z5FzI9mpkb;=1KVa&*j^*s;*Ar*1v{VjEDi*i~C7TJS`|V4C_!fOV9}P64e?D#udkN z{WOM;f!LW(?(gj*vcZUPFfGyclpv_tXk{mNoueF@-zVvBg6^$X)_YyCqgAKyKNX_R zwR(ut&-cPy8DKQOp*;NE>^hGTKOgU_3!o57qtC>j@FcqAWigfm6I*dt=4gAQ$d& zB(=)>&Fi}zzvpf%E?vgTObG0p|0z)k{7SudhqfzXZxcPIOK=l-{!FI+-KcBBNz~)- zN*b{GTj>8BIBRY2?V6aSs&d)wR~m2#@C4ZcbOPbtZF9CQ^&o*l;U?W=i8uu z!Zq@+K`z^8Q5ublUgMJ{9~%w4Zb6i1D-BfFA3tp*;xAsSDawMv!4ps2@S2@J0(b{U z0o&gezrh_U(IK|K?9KxyRJsrQ^+~Hj^I7Q6-v5dl1C}Kb3*Od7I=)od1#dh4<$sfk ziwWD~&rkJvv7&lA`5~12a@S#$HSZ~svbL`WS=x3&2#HhTnq4@SU+QA1jvr#o0ehMl za}0owihQO~|2&8cfeLE?pm;c&QP+E$&l&dq+m}lh4|}5^mR04NUx31~j6lTdZ2g2= z8lIvd361X_akV{PmWlmQ^#6eFd_%yBatCl1*K5om~KS;T>cw7B9E;6njucP(BYz$&;2=`*$p z8A@`Tqhk6{+h3gZ!5$Ab1pm(@uvti_WuY>NKt45ov${Wor{sNMVZf+h01@&f31`6Q zvAh#xc&ijy855DE-f%HFFC|{+a;($G#rX?K0mu1Jd~s2Z!EI+4+v+(AzRW95g6Hhp zGeYBayB~i>ZlHyFfYY*;0f;g773P?HM$ULqW_vUClJE+~Yh%M~HgZ*hNdJ%~tXXCx z&etprq0%t_IO>l@gvJtg^;%q%g8> zmTs(5huqr25i}Hx+~4SuIz&nDb@JP530B@z#4X!>ldXT2Vqrkz*%q;mI1HEhL(Ye=gO;080H}dQ50K zQ7*zB>e91yjX^5e4YT`#$5vGiP-I;wfGGX~$fK7&I|*hrLNCD=NQmYyzFl8~avRtW7_uamvELf8HE?%e|Edq~$*-lg7o&u8PiLxwdHnApUK zm;Ys_^$9lfHvk5fl>Ca4h2?&)xCA{46eC#xO;Rf28(^tmT?QgCwRT?BYw_Q`z&0nh zVSDrH83PNbANZSOLM^x|AIF6EfF>Q7s!TUC+gCz60!DkE`zw#q7S@VvIRitkd_wO9 zksVt=bYyU`gYh_E0Dm_C=-f);2#k*;sA(SW>E&$e$Sed_Lu)O~Z>yVCM5={L*l__? zR>9rzb(_E!s!*f~>}XSPGa!(?$3-~0vy#S$a?1dcT<6ldj|xqY*cMS@h_fGo+vfe8bNt1+9dh*=5Ez~q=YN%??3v8Wwd z4fbtp70R1%9nzRK&1{L%NYjRqfKzEKZ1jX2aamhch zCArZTw`kxT)1pjx7m|PkVr*76XrD;dLYrC9G=TvYGOP7|dJIzAZA{K+Hgh;W7i=0< zChFRKDAngLLxq*eZAPIUj_(MY2@HICVTm~r0cbGip0ffcMzxQsS=^SHB$M-UU`#JHUMe+ubBQ5dg4dTuqXnoG6}|G*_@EjV1;2qmd7_rLj{U z8P@ZC$Ewbl z${*NqAfU`jbnMN9Zf0WzQm&R%l2r~zI5S!{`0&y(`B<}nd*WBK!rEjKpeH-vj7M0!QETHa7>9vqYbQ}^>}=JVkyUvwoO#MFdd@FZ%) z8FM58L$Dd3@0xoo@?_-Z*q{N7z7c?h0@1=V$LM^dm}oxp9y5UA4$Dd(5wZK<7;}o< zFyg68a$r*SOKiP=DvK!+;)<7&9IpmM)Qdr0*u#FTI5+M*XaoIXxLN=Al;Px=BB~ za8R>bZ-FxKQ0c9&&xF5C9e~Ae12A-S${UCKKaxrUA;Ld6M4jeyY7nc}<_?p}`Zk;|;v z{@@oz9LI%Z$gvFnD`B#9l*Uq4DlN?VA&fNepv&zqj;Qlmpd{2P^|__^HrLF?1|vP2 z0|gUS3%L20BuG;U8w_+;AU%0pGu|3_xl5jwkaWRqWO6YKojs7HC+QRGdZ5lNjw?6x z3p!^6Iy1)?6qpISAnG(k(yBH8Dos>3$fMh=4dlcU*7vb-(;m^n|NZJ2`2K+%g(5lvl9e?A2Jw#tD3+tB=q*`uNnUaLX-uD@sSmZeF9ffhR8(kB$LEc&!O zD((idkSugbX+-$;Icx?Y7-C2%`&Yl5I&D#aglV6wpBuK$#CJZ$+fQ`0Um@X+owjuswc6S3-^=l^fWOc1S6IKc^qQW%If%F;MwEvn+4Slp z{!_>|-PT^X66#YJa(eBh=j(Y9u7uYrVofF8-sV8_VjIpRZA=3WdYCB(s<0Y?gYYqi?N&5#LPjL+$45H0u2hZSAWw3V+TJ(my_uE4LDs5a|PI#|>do z_XH{LhEY~X4UB64K>L(n@BDowvfGb2vRUdjoO5>H6#iC_Ov2v775ZQ__*2Z#75Ag<$b8HRN|-`u+2cZR}XIm2m9x4ZA3@{3de0Nknn zGTC?I9CZmn=BBu;<71vREyyO|7lImUf@_rcf|*rFPKTwWfG5Vt&SxtG!IOB}^)u%P?e@DG^MPk3n{jJ&({Yf^?fxc0!j5&AZW5BtE zwLn6+PiyHbh?01caL8Ax&Dsq~ykU1Lx93~+8v8*tgKx(=qOO88k?6K2RCy&7O&1qn zpM{GN+q+SF-&k1%(nRR{JNsr9UYyTor(C^1(zxBT=!|-ABoLvwd3A=;_CYl_x5k3u%oka;NQa?Y9ITK3%AwD zHRpmJ=>2%~$Dtb)W>f2gpGOWuVYglAI$uZsVTRG~qYo8EMd@wpC{@9|hX;W%eN4IG zGFQtPv0}m0luag2A)}5<$a_xp>5V@xlFg*Rr>*}G4)EEX00AP|%Z(rIS0`RITmA3d zOPvR{=RM}yJgB)}G6b&_jDV6_7Jqu425xdNCBf@*?S2{A$_+g`=>|^7Qq21V=H>pi z+*ntGXX{mVJ%^K>uuBPVq2!##kS9F~nO9*Z=Fz7PEqGYSQ?rY~gQqRAf8ENG4AD{Q z>N|OBUitB}2v)Kog~_d&d@eckILQBAHElwXW1{m_zWh{9TdfroAw7xy@y5^~Ac{|t zQgfN3o?19S#P5!Andfvv0 z`lrzNfTnjz>{hZ4Rx>KD(FuJgihtJ2$orWSCLqC8blDQvVZaBv->Zu9_P0NZi(918 zUc&W}GU;#bC0#ca8oQz;?7S#vQ`mdcNUH{w%GBkn*%1{FIN;5)DE-WeZTC5#fH!d- zsc1C%NpmE%Ulh=A7!5*bew=P{+nP8Q(G;^qQA2nbS1k;5-mZQhFqdTI zYgQ%t4{Rq>jBz{i>=eMj+~Em&)?f^qXfTwv3fLHuj6`K!Sgl((#e}@h2(L!F!Nz$3)A`+seTJ9p)&1LZ z@6Nn{oZ~&q=l6PXW9!ClaN}BYM*GD2i?;wGRLE;d9g69dXXf8(FBnPnXecq^XzcTn z0y7^!5rC+v6)4VnJCWQs{1u=c54>ZBwP={hoc;Aeb$F#LmU;B_8Z*`$LXEs%I+f@? zF2pmPaj;D}3g;FQU%9%O-9F18Tq3$hYn_CKs^gMu*zRISIMZu!Q@AmEuL}TcURHiZ zTJrDV42n2M(8JF|I&+cV0YmNKb;MJP-*DM%_`7#1Ifvi$Zpnl7{VUk%;@ZV=C=w3V zzTKfM-JA@*#uX1SQ6>IoIgW4;VM3js4GPc-L%3PF-L4V!_?3Jc>rzi11nJ?9O6Ugs{(7j;(|Vt>p7%J>d=N388SU20(Z8qMOx$~qR5 zQ6g}@MO^qOvKw?rSE@OmikMG_rK)rjCGCm|AL-}v5VM;H%k^%MN`R`h0=G18Exi>@ z`N)ze9~7p|-Jg-JSeMwX;OVKq4{vR4;WVx7TEqMHkf0Vi4NGijudyE+@ip(2>l;-# zqQ44+jtC}(lep9`TX274Ut98{M}z#u$mQloO^Vp*1_ZMp+p+ zz=aaQ38~P)Pvv4-6;3{a#_YI2=^PL08XiJ1y>|sZXWaEYe`Vg+9z2ela=KFZg8p^} zR`TR5j+%>y)?Ev-$|<7_U!b(I?<8)RwZjAUJSOSjsx`LU1jue-sYU+qr9X%`P)D}0M$1>_p>X6;ZK4IOrxxq8yJ10eG zi0BxFNtKKaOP4@O%BlJ_=+n=HN&tO0l8X&&Pfoaj78|uIP#@DSzw;B}U57Fe1NyVW zZBM(zN!O?+Zk5j^g4&?=qpt8iQQ|(5oj-SFXugOy1~EHWoyZab(!`YZJvkYz2_E3t z3bPw81HbiOLhC?GP0AR=`clm`2J!hk2kIJke>3c4+y=#VajNV9x=U4z=#am}5Upa$ z1YYu$W4E3Ith{dz(ex}V8oa%0e>^2VP}*^ivl94@UghAeb!nhMyvm>rEe9Yd`tf*I zAUmAP`d?9Qp`55>_iFFj>^V3c$8Syh8}GG%@N}VH9zHCd7^;S)haU@css?aeL6w7;E+UK!ps-)ek zPr3fvVtf|_LdIFC*305RKUQt}(Xg>sSh9xj-07V0Z1ftlkaR0DN-{@Gm|?droyxN< zhLkvWA{Uimlv**p(&&EGbrc5_3m!mv2|S5`tEjGhtvoQqaKKQ}SCWKOM9!q2nAFu5Uv4CFZ7$%5DUok^bvOVGe8F+2 z+)Dd3`ZoW^P89;C;$}RG87#9`U(jnNl@gkre_mgL9$*I%*y)8dqLFLz5 z{*^UMJ0}YrW^(d&G*g4#zhF_KgQ|39z)s5YZ(wn`e(c3R%#Cx^J=K4*V0m>b`oI~h zBu=RKR10U<;@pr@S$KM~OMca{wM&zP1NfiT{^rEC{0DH&DFZjLjPxKET2ytf01KY!rWb;`KD2a z@yxrjNe2^dC!c&1a_IlEwpOhPep?mgZUd()&UUzNQ=V#*#kJ$G$e+5+o$lKn+;)3? zdnQ9)D(?l?1!Boh>I1)@U?};qV2Sj_>$M`acl|f)e(>??;n(w7>k}Al_T4Plt$y&~ zs+PkK&+0HN-W+=^Rpwj70X~Cusb-bZV)K7)x+(5^`I5)-ss&4|4JKIhxa9D&Jz_VU zkkPQLEPYv&^fJ51Ia}geyDA?oTRC6$$>yhzHfS>{yj~K0&Eb|x(~Qh%fs-xeRXVM_ zt1OMI1(x3~`%-qvwbXf9bHT1t4@<5ec)RX_mvj4OA-!^mP09?BTux;_6s%(=q)xxN z{ldw!A64QcBDX8PJ7Q>dmb>SZmHcDF-!G5#{+c5BUyXOI!}TDY2dk_YVqdo}J37(N zb%Dm+fXjD1CO%khHNo$@L-5)X*|o}>_te0}nc%E@Fqf9@shD^tvaPBNc)*?dAQ&*-^JTqwes ou!h^+VL^rh2XI4tiz3}fhNa#A`ClB}<=mE|AOJjF0Dcq!0G7}r+5i9m literal 175700 zcmeDk2Ut``^H5L(d&LqPDk4a4(t8s@x=0l%A}FBJq=N`zY(W$i#a_UIV8KRFIv6#U zSfVB|(fr0 zi&-our;6{dhTq>{u_7WWzR%0W67%6=;Xi!-M_CrjDzFo4JiLcT!6)p`;lg6UJgWbb z5n+**9MTh51V>|^AtlTrauYifb@}c@OR*uln@wvNp z%p%rPN7ndTSy3)B-FyrQU#LSYjYkq?8D8QzZ5#=huR<33sgarX6NtJ(_ZokT&$XEH z138uzNXpN~)8{Bl^AZ)AZp27?5WPymdTYZy{%wxCG{sSQc|6&Y;!L!ZdXf!E_9Qna zob1^(8|E~eNW*ig!yMn^ef8D*lC=poBzc_!e0Kzq7wb%-!}ZCDZqc#(cLrKWOZG%=}W9Gzsw{CnRJ>dSYIyf}f6xiW?6~wy`Q-dFfr;7{;oToJlNRAx~qC6Y< zEQeomt|b+GJZZHZ@aP^5UI*SA`C;b4`EEX9xRhHu(OC!v%AdYUTIUpM$)3 z_f8LxW4sM|2I4d(!jQtH`n_s;k2pDaz?W#$!mF#}0q;L=&ZGvVYh2%=2m=ZOghzS#60&}ceWh$ennk&Ux`G6Z+T?0Y_vhgA=#fu44&rrR+8m-P z+l`I@UlqEhxM*WyXEl!Mfi>N$rq6ILD05F7Usy?#h`VL+Q|W%0GfRekj=B(jo|hX= zd_3hFw3j%~L)wj7WJJ!KjwEN!M3PM#oQQ!&KMH>|AwNn-c>lAY&m^p{1iWxH z2=@34gps0TS7Kv23TQ%*r~q8>GtTo(4Te(PBx$uR%wq~M)*bZO-#Oo_?~3$*qw2l! zH=NJpfR>uX^IQ0AQQ!L7(%-A=L(Tmj^{|mJ)M4N`kp9C1V6}g32`0>3KJDpt1q<{0jfx5->!0q9ERtOfwq`JlBY9+2lg@@AC$I zbw0=}Z<4&;3G_WJVxs>8krmPH;i3+J&J;G?VBze#hzXB+DdCYh*@ zRnx_)Kezh((y~~R0Q%4*ILFksw)#FtS-mvYv_>0F_2*T8k8nB-dVw9-pT34BQ5I_| z_96$N?rQ^&k=YoMg6$Ga~G~3pIclU1A4nPQIqHYD%|6IaPQLrbbxbkb({$H)Y+t{ zXc5H+;ufEU179Pp;hsZ!3HDc~w!-TAY+dW*{0*O}Al8K#s1G29>I12q!TTUCG$-{S zUar!xHY<{rI-4BITtNBa{(W=E`XpQ8@2f=595P>NAHnBL)gMaMf5$H`+Jw{KbYP8@Bj*$s*&=&Mo*1 zJp19f58;BpZOpT3`YzsMQMkbuycTILb+;$rlWpga73o9_)cO-U^RdKcsvyx(?hDVx z^GVa@fcEmOn`eGO#K%L4tcbUSbBin4w|6esisq61dwt1{Z60t&wIKn%>co8VC^#2% zqibnZoB+J#MY|At%Lybg!GYQ-@w|>_hte{P0bs`g;CTy28QAaeY?G4{Mv{|Vh>L?1 z8!zbF1l{~w;sj|$7i^g;mRgY0c@gxC%C>XVZ42etLvTF>`HRTfpX|wG&B0V>|5o$I zxtkh{fY>LDMML{c{d4A=>#ARI9sBqB5X&i}>Di;D*MN40$(lnTR&6fKoo!dDKBvaM zM;IK~=Sz&VhE}Yhg=h)(sjc^h5gXA#rQ1Jjk}X1oUfz5 zut!v%Pov*g*v9Rx#uFKMPD{{{yciEzm*~*!u;;85{Vnl}joJRMX7+s{-Rmg#0o&pN z;DOCYH=McS75DOvE$%d)wz=Vtw1alcY>1t03csm3-|DZ?2DK0Pf~wrt+n8%xH_jj9 zXtGZ>-tJy~p0&M4`0w7qj^Cfc2gnlXI>jSXt8PoeTz_^0*e)A#ficAKkj?OS^v6IW_b(!aW!CQEv}9Y9p=+ ztCo6=vOrI@FOB6#dpzpN4V^FNdmJCx5s)Vykkf!Zl$M&WEXYF6;5-BIfc`4=IudaQ8e?xfVz%u~ynyLDOo9yS|%;}3OoLAA7E(2#mSz&}3L`7mgKI+k6ctAUorHid&6C7NPbSt7zlZt=@`Nv*+YGt`&P!gb z3z-hFDG?$1a89uz(P5K`tvSX_@_Ys}{4UM|;|ixhK7zBIFqt=3frJEVkgy<45-?Ah z<~X3=T3vyU>X#HQ%`nfJ){gY8rPQ1HuP_!C^(vGtIMC-DzEBs==QZcq;5w-P1Mo&) zSG>nFGQP*P*7VHg`V8-{26;&vl2Fh5@@$3sE+71auJ$b_XPUAWjOh%481<5pm|A%X z;vo^_aCP4r+I(aH&eCW@p>`Cw0?eB-pT_(aVXrx*sQe4NG9M5{2l4n%9DU+dpV!>4asIXzf#4h05CEK^UlX>16L{oVX*gGM267~t_{;fsF^*vV(=v+>?Gvs`ZgBnCm z;5UPsgy6%dUZbh152L2nG_C;PQ4GGP%nW~^8(pF%+l%`B<=ZHKKzqD0?B~c(1MrQ7 zz`D^_(D*oz>hM7STS+m-0YY8GDPthEoD&PnxwgJs#D1|^i6{Sn`fMYct;mo3E&B>yLRM7D8m&c z`NXS{){de5= z0rNDPg~wN}3t}-E`WofxiXSbAJk5ju#_I>(J4vD|*|HIM9>jutE4r@=8kmu6W znhsw>7pTwcL4Av(N0Iiw&7QBic6^Px1;)OcKny?9;@7O>Ykz~!GoL)1)@yDK9jE%* z8uA{WdnPxMOoRF&t+9S9<53X%Sa)1iL)P)N-@)~t&WRv6kJeZ}*8DbZ3o{_2H^8FCUu8;^%&P!cZ^nJ*VWMP<8ycIaHqA~X??$MxPF8+ z)?Hiqqj`;SZ4F&RQ@)4%KRj6Lo8z8CXSnBP*i0b#P(QAu5pugJYv%kGX+P^|Ak^Ix z_~v_`vwoyGj8EUN){dU>Idl6K*AmdPv1T6H5-aEPjp-ksi!^{S_!tX_^!P2-j?dW) zvBtIaXZY6e!1zKBXGzcnLR%aLWw7=%$dSgHhu>P})dg2skvpWUMGE9~#GU~`hi z+$$Wl*yY)}7#EdIks&&e|LaB0U_AynCsEsXh20z1NC&_NZQ*5bj>J)16b*Jhf3R=Z z5VsiY17NiBl< zA7_3j4`$7ffLc^xls;;@7uD;*=a0E`TOe26)L>YxJcM)KmcAnXmq4Eys*5$iu7PXF zJ{3%R_Ep6n_JG7%&1K-Ls%hAGoRv;QoufZ%b3LX?41*uIFoBBMe*}#b_@{%C9PPKF&JmnGQa~ z`Vv!+UTcv1c#p~218M!EhVl}8*1o-SXiW$F{nyOB*?t4~!@Aj+mw)C=1n_Q*>xh9f zX(Txa{oSw@1=jhly63Au8`ofFIE-uqIHAoB;l|OQIk4nh@oz5nle4Z#uKLtVZH)em>?@}TD@%p*ozquzwqqQV&HQ!pR= z$tpw<{HhJPZ*^F=)O(x@r+x<~|F*I7!|&rB!MuDMQ$gtMJBdVx>XSG)UxWo|(^@8a zs{H`(P3T!!1#c|{i>BU}!V=&>;R#oS2?w@#=4k5uncufE&uj-Y$j}HwBMc2NG{DdR zLjw#AbSxUERt|u9+rc1!bt3d(tb|cnC&KhgATWHPWAOzB-weJP8enLEp#g>l7#d(` zfT00~209`Q$U!WUJZFG^uktm?)m zKNgMUtMG}6!}_Jia}yP*o@BDdFk)ji9^wY1$=q3r(1TnVVh9z;Ogm|)F)l>()doYX zS9gF@Ckiu!75iQlwAISFEKT0;75hU1XhC`c57hr2Lgu=wkc1VswBI52lgTfLfLIWS z1A}~Vb_@m95noLEFPu0L1U=-v$TFyx;^rVtG~@>m2_fw7i12B@b%8jspHkyG5jhcF zGTlOitXyG7jzaDtCx*DR1ncZWoDjyE(sxFg2oI$oD}vhIS6s%kr5`u2H^dtqc zMMI$v&i4A zx+TbWk>7sFbL(F3SHKfv=s@;i&qW8zi50SqBmZ0f%pni(K^YP-UxUV^)h3IY9WK@4 zj4>Y!>%(a&^=0dnZA7MFyw+4b$oI_(WbdnQK{M50Lt#(pD29Xv>cT!ly`rt~=}r*y zYesdumZp*V?vMOB{lI*pqtu7p>--z)G&S)xq#ZrTkvg0Sy^LC^W=wUMVSi1`QNSKy zHO={(eFpm*&yQ}75|DQTe6;~NSJl_j67RA962`DMHr}<_;Z^~ks4z}mPQ!8&S^_3j z?}>5kDeIkSu4=QdxzYQT3uHR@CplI26>QBthG$W%xq@fvmfklFy+7{tmwxcpos<5p=m={UW6e%CC-F8RvucAc@@hp1Ua~0MfD}N_SF{ngG>njLj%Niy zEioz3mD_#~2!s*VWWql4r%nX3^W~`>v3Yqntq}n7AZ^cVnukhj?ZC5Z!(E&E9P)^# zn~x@&H#w8SqDb2NpgCxXei#~r~);R zyxgQA-`btzLyk3`txM52Q|S+^%|6YxU1NSV(hABZ^d%lY76`Qj%xV8}Sy6UvrM5vE z2m^LM3u%ZQ_-vpZiu!utJJoap+;0dctOqt@x-j^OP00bM7jZf-6zoOO6*a`LCKKdT zR}6g3t~s^{>`IXU6MwQf#eoFQS0ToF0z?k_oTJ^T`mzrxj9)6^*T3haD;v< zj!?75270a-lR(J1cea~A>y9Z(@=!R_XCS?{8QU_#g$wZCgVtT&m*xZe1Z5N88~x{S z=E8b1iK}b@w+*Y2$e}5uD^BeeIWdU)0lL6}^~$P#2VZmG+}5s0$5@ME3-DR2UGk|P z!zXz}`2*D0!@fIahR{C&*4@_D(fsoP9Kt${vg_>4SZ>K)_gS>Z3vMW)QX?yy8 zbHfMug|bXHvSFP=MSMa1wq>kmSqOX2)n2^K@z3Ul5ALhE?((!YNn`xzD2L-0n?Ni@ z&3g>vf@pjpz@Oa*4SOfCM{RmSbFZz*_XB>2w%hHS-5OQrrCc-K;*oQ}ypyQw?pu zD2KkdFUUb{<=$kzj|#|f7jp36e3Er62x@XJq(0Bh8(m0bumQ+^L0ZRA66R6;9&O=0 z;?KoFloUeUpT@>tV12r!v8G?F3;7xLgxCu;RXJw_>_0~1oKT;J*J%60^JZ>NI7v#h zgW6@IK+e~$Q?(YXu-?vW7bz;w8w;PJqA23&Ci$6+NBsrq24PbU^i`GKzIYAij*?Q; ztD(=r@r4l6DhDs!oUW=srW7o+lc^ z>rvN2T5<*dHAjzZEt;wNTwI%hW?ypj$bv@Ml(8P+0&m4HY*a{(p03icmpE~%pLEOm zV2^t)b+;!`hrStAVP18K1bfF2DS7&U1T69z>4gI{-!wABupdzKFVaW zCid}ZSWP{Iw}KcC@t7e+`$1qF6SesOk73Js+^cMvk9-GZKH5($j4)QdZR$cCIzl)h zPf~*3Dmdi8c8C0c&btvh3c?6~hyBrJ%@ijI%dN@2G;gqhEhM?w;UouaCFrNY{sKss zI#7$fEyJdzXp{pdjE})u{n$^+-0%lt2DNzg)%(%&4aQjF_gZQW?d84*19~n4y84_Z z+n(;+USP`1li61c4KOso&;UaN3=J?ez|a6g0}KtcE)9HH5s~?XfdB)6=7Ip$A$5Y0 z3!}0QDHbKI_K)F%t;+`)_%rZlXn>&sh6WfKU}%7$0fq(`8enLEp#g>l7#d(`fT00~ z1{fM(Xn>)ChR^_~4l?`7&V|N0yj4GM$bFdad>y?hK5Y7ZDd^!GJ5& zUzZf-f!JzZ$cf{J(H-i*V61#sA}+*DCXV4EVq@UDP}3jt%q!!4+eq!Bw!H5!UloTG z)czL(SWArKf!ygn5Jx?Rc)2K%s92yJG{u=w7F#eK5ts@e_P6IsQW&H zEM05~c>r3(!D=GWQxSkY(G~Ck_Zka%_^^-Upq>FcFP7OOlol#@3+6kDVNVX|L!qrK zKs;wElhrF6phngLsErXxbC$}^LQYCKQV_-k=(fuI-aqt~kMsWBv?H>T}76hB|$#wDGwscmY4zD zBWQjwg?lZzwqL@w3hg)YH<-&+R1ixxt#gO^C4vNds>lKkP(HL}xHZSzkk3nu?@XK> zBuM%}U&z16p@5hSqTLo1;l2$3eZCDt3?dh6^_QAucgl$cE(&6Wim9JI5&fbf?Go0y7pcc|6qO3$ptct)x?8-1d^+F;R2pTqp{ zjJ<9R*6W9U1{G(t_D26WU$mY1%u=oB0o7J`O#|=>I@y`i(Zt?bgh*rUFjx!HQ+vVz z+8tHpdXPOkys4e0&C+`<^1l?$;R!2kiM%LxyM#a1-*C1ShniBT=hR;dv8~|;>z-hL zG9##Cf%OF24gFWhE35(YW2_a_Pl|8*JinGbfHi<-IZHw>&343l0Pd(etIG02FHoqH zigkzDgr463zF!Rwd$3OJ$&*3!Y>9Pz+Zumq$b8BG{z(b; z;A{J`c4fVAXhnIA`*qsXF`z@hxe{&3)#$3dyvLehTaw+NcW{?>rTZZKou-L^>}^Ln zXALxh@ZXy3P86YjS6im{>T^TA-_d#kDLB(U`3`4)BLCS4y^j^d!4}$z{G_qZM)+G9 zkET78IcsT;SCqdimRJD)Z(qIugukI?f2gAj{e3}?ZjZ3XIV1nUzBIU=#?oMGe_utm zE7`dn>WM?|j`j$D^cSDb3n$aeN3~1%WBt)Z5&A$w;P-A5ewN1RVdx{?vvU?vm4`a3 z7;D##_&?4S_w01@G30bk1dRh}Z+ie^R|4m&(mIjt(iaB47bVGVWYhW?jqGXAI67?! zyyBVtV7f2SQ|nvd4{m?-Pxk`r>o`EZlL35Zs=-hq z*$!pym+)uvO_arUmO>Eg6wsjl04>4O>$)e#1Yneh<6}(7BxHFk)Ckj0b{DIF_#M#zh_o|Cl zoBMB6*V*qw9IS=F*N!nK?NisOAO5&5c0P)g$q3pXw6v5Rd)6B9pZM%z=nu1TgB>x^ z8_d>qzH8WjqAS!Zv{ZV6Z^?k1Iu%S~Q%cGs!A{Zg_G+|8p&oGbF!T{wphnc>_}V?c zN8fZ!qpm%HJQn>*HfE#A+C*EDmlsBDMeK7z^W%Z`3xocmC!ojkkMSnZ-v?eq(E@1brqNrH#iTM3cXtE|Wg=r>#n@i%CD$7>13X3}_3j2W%N zpHSsHCE)L*J(hsSp#7<^APV$KAF?>wkeC_$0KHJS+da*H23year66|;ha_GhuZ6}C zSHV#w-l#18#EbBA+zW^Y`H9?=F8#e#$wug@h<#nK-!aAn(wr~IBSLwJ{DadMhs{se zc}8Vt0p5^rgz!HN`zif^7x`(WDe-{5F}f;!Af}luf9Tw6m`7c6Y-@kR7zatrADYma zs44U!rjth#$7$lwM@|BIWsf6T%Kd;R0i9ticSB=|LI1#5X}TxGyAT770b~Z)FM|Bl z$Odnta@e0<(+~JSKICk&A<2Qn#Y`ddye0u(8$~pgF*lXn zn;P%?DVDIk@*JEuzz1L|E5ZwF6oULAOR!bVqrNWm_ZAd@-5g@~jvNXgKP|H%HV}I& zBix0pUo?j1kT=7gKwRKJ+MOi94Ka1RL`$g$?fIt*y^eHLdJzriMW-y?mG&S-+0OY5 zTaRz2u&xPK024`whcr+VAS-{gtjya&o>0}#MRVOy&wyM|?4=zZqC*s+ziV@xYw#X5 zjqh7;M?S-b{d9}5V9S}?z`QM#pQy_$A~9hm&;ypIS#Z$ScyY_l2lg+>QRF$cV8cPa zg0iqNd0V(2^7Epg&zvlqm(;Ykn9pkVu>tIHzZ>ZYK)?BURR3svJR#ezyL;OlIPbKr zzM(BkyPxZMU-c}|T@*k+$6lqFN6vDeNh^uj&k5e0> z@(OyuSFNX=?K6ax(=<_XrlJPJSKGfJ_XYb4hXv_0hzEUkmV-U0P&q!;|DpNP@cH+k z&(}sva&RVE19=E&qy1{w@0f0-6K>XU|^MTh;eSabknWFmx^ea~( zv5SmJ;%YmxK4}I?T0MjO7-vZW7ihu0oJh2l`ht9dvmoH8IrQ6F=hX`MML5i`gE&sG z0n}-GsfFi%jxX%38w)uZ=C#6}+QZ-sY-KzO;B5oGno!s`UW9m1EfhO8zG3}#~8xK!sK)O zpbdVmNA2fdC9t2N4HIq1jfel|&q985Jz$Zy-8+<59ptt zXsofciSS6-=my4`wUWYHK?DL1sX_FYbf**s0WR+E(G)uz7Kj#gT@M zPP$bg1tk&cAVEXm$vjd!pu;+ zKS|$*wx7nu5aO9F3;4i{=@V+Dd(K)B{*$!_lFS2sO+V`){K5WxD02bSQtVmpvpI8U zt5@`CIN1n;KM;Jghy&0gYvn=kH;zuYFKrIQy^W>$z-Yg&cYRRv$lXbTWSau;jidG*exjp?e>Eyj>t+dOF84C;ue)0Cp#hXY=hQU7cV z)!*Y68xei=er%r85ZG6&Rd!-0&>tm1ezNz$=kCjW{3ws^v<)D9<`nsEzGmiEgMM+*V(^ibE0b2ytvMqwzoyh-c8wL4`Na~*1WX>#U zGD*DacLw`vx(n=ws{V0&-Q0W@X&3j90{Gphfd9wKRgT0(8<7ob9mvkDvqOpMj1fs40_4AP5eJ4D>t?We(E>MnRoRAXu^HpT{=oR17zXN}ihI+=h2iwZL zzq@%*+D7{3#8Ru0p#g>l7#d(`fT00~1{fM(Xn>&s zh6WfKU}%7$0fq(`8enLEp#g>lfCgC1KL!E}1Q-ak5(LJ>b0hHCT=;(^zJh=7rrJNo zM^i1vfRW#f{AOr?p#g>l7#d(`fT00~1{fM(Xn>&sh6WfKU}%7$0fq(`8enLEp#g>l z7#d(`fT00~1{fM(Xn>&sh6WfKU}%7$0fq(`8enLEp#g>l+9eHqRs$YzNZ&(^3t9u7 z^S;WJiJ$v^;^z?83V`d%0X3ZzpoizDfqloS{GHN8MJ@X8ye9qkOXr;WHSDWA&;T7! z7m)oLY7aqun@>5W{0}KcDo~j(s_ki;`)}CV5 z{9^FmzVKhM-x1Hi%caJ3A`)Y`$iz`BA__xfG+YHck%?oup{{>d&|$hk&rUwj1F&al zS0X-^2fot@1{V2{T#`2B^2m;Q$^k3quO}n1~5- z0j{}-xF9!CnAn}@s}3Xf7GlKLLxV(z8QBl~hQbN3BvgU9y$4v?P3EGgoyM3W{Z8-Gxz#77_P|p^7jY5rE zsC8Rbj<2iL-h_U-rO-#54tQNu7(@FFrth0i*8F5o7R=Ekrh0-zPPhjV9p06Qjl!Nf zJhacn7r6gUd+4+(zeAW}Pj$dK_9>bm$RZP=KBSJuQ0Qx-MK*8nB-zKIe+ATwXV){v zy5-Pkpe%wEmxt577TDW@J)jTp7yYrZCqc!)J{V>28~82lR|_;#QWi~eb3>umxd#dM z*MU0XBZ!z#7a|PuLR<*yRD!O7J(VhHfsqeQl8>LC*J1AiuBFCxrt(}`n3q_YO(e^f zIgrCyAtWDaR?|HVcw+Z^06apkAEX6}XZSlC-&kv$Gpf~}#_v`goZryTuueJjyeW-l z_auhe*hisG^U75Y#KuaTNQ&@NU4iNe73YS}=ik!2@%y?zJ+D`s$0y+#4dkl?$aHDY z+w3ew$%ZvEp`Kq<#5%)N%;knW8Yq<~fDk=eaapp`k*|@=( zI9f>nU+MyMz?Ms&^}GX~g==b6{@Ko+k2se{y?ZR2(}2es>kT6bE2fjvxmcgRalIRw zP6Kt*5b6y1xp8FmatC6hJ)BI0`O1Kvi1X(R2KSAmf8e9y(63NljF0$xYeL^X=#>k7 z9B2;#l+TUc$93bdsrSQvXr;wV$&rju;yYUv_B$_;fWC@U9}uZ>er#v^@Y~ZZ+G*e% z2YS7p=3tTpedvn-->8Qb6{Ft9k>xFm&#$5f=*x*R2hSWUme>VSDz!$0GvI` zO5;iTUVrGN!fpM$j=k?C#zVg#XBl$pcm(Ww)ag;q!8S~ zzlS-Of~*3bRSLGGjQxJZ+(3}pqbUtA_T$gbL#XSG;U7O0Gk2W9{29@B?f9ki6rx2T34bZ*^5Ym9gETc$^*{mKs3O{KidzFeR);o z`;zUOJ%LxEJqPxCyV3P(!h21h0WAP8C@ES>!U7D51o)~d@!nDK5A-gNzIL#gFN!o~ z^L)C;0ahHj-|qH&O}MZ43~a|G;D0&=J}FD%vDAmrQT+vU{{#M|!M|^oEm@$HJ(ctfTFJO2Z%r0_UqkTtf%JKj)kSS4klj@%Par#RW^*XZ!C_ z-{a_gwOr9Av>tj7%ZsBur~}x6s^DL4A~#tF{m9Eoe(ccrKa}oAv{ic3-q+u~{$GKA zjLp_k>_svT`ci*B+uqam{P``dXOx0XFz-|pv6wOfYyll-|0C}=H5g8Ea)Uwkqpc5d zk3Rh`^`!6lvl2K97M+QOKJ#!61ekpH`@h1zApvW(w-kmL3H0rJujl;wX&LcfT(AV< z)#YjKQAg>uE(yHOV}=aG*VhlD?|uK50RDYE6f5xGF?ayt-^)e59s2Z}mtNWXKaR|G z=j{KEfqy*v&vKGx_CL!1{5ay~DBdyj{|fn!``^)8gf0I&n9f&Ko?*Q3nVe|we+hOd z{Nq{2%y2l(tt$o_SXG#Gq}OQw$vPB73^e<74Es;T{>S`!9hIJN{-4+8@;JUF{gng$ zx1~TlkPOBGcMRFjIpa=}5UJtEFiYV*pO)g%MlJ(H-jS$JzgQ1~4}o2C+~f5c3By5$!I%yJo zaV08pyb%8iyuYKxgTtC9NpyugUiAOR0sfl?&z9b=&3*qus4d~`A;-4+V=h=n!$0PE zK@6;`gDA;A4RNt(3+)hk0K|cp#gW}RJ&4An?ohJ?aF2em4u^k;{e;|TWhq{=Y26H3 zQ=xsv_&1zyA&r+noI}BxC^CDd6p`v+IzLDDS6+edNrN8XU_FlHWQW38usLcqG#nq_ zn%|(FTLy7oiL0g&C22VGRh)-A?iF|+@Ble6i2sk!hq&198UIil0BRQ;gj!NlbOnf1 zhsS+|y#wkw(RdKB2W{Kp^4;14khf)@3?{CQ6X|)6edh02HlMoq9G(YF4Spa8_xr+m z0QSmvU>C+ZCCKw}Eobr~$$U>`s5jXW^E?_r=co(7dBDzcEad(BlX9%%)y~fY6!%aI zBp>P(g#>7VoP+vhK<9PsgAV;SDhoP6PKYo$lIcf%1MOKSKwU2{JBkD^&?1w>yRhv% zjNGrC{;@U+t?$T9rkjl+`}fYJxglsPZEt5ol=sK8g2V;rP^;I8+6K#@_7gitq#{nV4cZIYvL5yP7?Qf%o!DB8rE8%)9c_Hf-ft8P zqyb(Uiu@!ZM4M!v06ziNg}^)!P7T*KW-~;+^>l7HS+>NK=xg+@ko64SznbpBCWs4Vu#U}Q&bc~wrzGH&h`@^uN(P2gLlklt!p%# zF0kG+3w&jKWG?tjcJ1&Wg@s^C13UUB-QZjL57;@}6z>qjoR;cI=K07IH94^7!#vrs z932q;WQy)E`pA_{14TbK+dzJ#!)^mkCdZ?!Wasl-Nb}Rwn z2I~T2y(rWbkS;i*zB47~d+aN<*Q3q8a$wzAv`qk?&kLpgTOUsaqN&)E`ZCa#UEdnM z>%UjUCA^laQu~%u1GnmxQ~RRw+Ccq?(gDC)RjwOxv=Ji9E z%yCyGZccK<0%{+rDL~FE;2&uOeL!Eee{jzs&0#D7>_I6Zcn$BBrMnR$9RcEGH=g)I zjMN=qF zpx&)2--E1PIh~%XO7OhZBzqj_>2Nk%xnvqq5bH|iF2e`f7%!xHF6u{6w;BAIOJhw* zG0ocmJ4-{(*L9t}(Z&Mt5~oka5N8`Ph6l7o9z|^&Y~P&E>`5d)A9z0Qd92?;Yq->5 zTd5QG?BB8DBjd>0pX{KoCfLwHM`L(E8-fAgAJ0Tax`W7}gA1sY)hl7Zr2E<6hvl@f{FMJK4qhMdw8VA~K+TtE-%X7l>KJ>kfk2VE+DC}7( z@9VLtHijNB2MlBY)&+8P6r*SGhT;fuU){g(#e0xn3ROm9{SOVD%lG;{y7#pQldQ~O z>I125AAj}dGzSpN~Cp(eUG_dzWEa{;`0bp|ugt#mpvMJexEP=C&uZIdTGZ+c$!aj{a z3zfe6hSA&i%I9lZ7wY1A>V3&!fF;^_>h-18w#V!IoPCzS{T~*nTQC2ozE{*qp_h)H zT7MD|rb7;<&jUX#`1?xYsr?y!dnKT&(1AWb^z~Kv0Fi&?oC+s9ws?>rh|x9F6abwA z>{>tv9X>a&n!LgNWi@pq$<0BZD%R_4M!m0+Cg7fMZ>$UGGku>Q@t7%1dowUJ zz@`D*i_Uf;?3#Toi2qW+!Jb_nL~RmZo%SD`kAcPj$QSde&`0XRaV>wN`X=%mh!29k zJe)ejrI34c=1e4s4l$y-0Yd|9UpU4?V2l-wuWJGRk2)pZJ3K^-9cNKZ236HdP(BCw zsk8l!=zD0=d{7RsWdVnWpuSL490~D6#zX=1!%r~)pLk-``F!uMalcK~9|HY4@azwM z+iLLQz^y4)#Q(9Z0Ag$aw!eD(!17|9$%Z5+QeF;qqnhk{sEI$o83$~Ug;1Z{&s!bx zwL#yggC4*4zabA)2cEolk0b>m-dVkfc& z{6y^i5AwU&=@HHm7_$cUXp9|Q6k*870N}~fOh>_)IgIjvrtbNw`SIB&Lx{7jXx%!0 z75KVYy+*`;DV(=X zLk(m}8}|EC}Dfjpn? z9UlK!rw(agy15|909$J%4KxJ)75-w(*+ZBf$y`8YyGTN;2iWm2KfWHF?~A7xVL|9ibWglUS1$^S`i8 zuZtt-CXMA!U%8&fti9E~3$Va5y2hlQw7yAt+C12UfM3v+v938@tB&HLMdZZM5R#N& z2YQ|`nFP5O%@ym7x`2W>5Akx9A({LADNn*UqA&OIC!Sva-*Df9pQ9+6=9DRjb-Wtw z_0kr`0guNRiq1q^sV{MLnn)H$8It6+j$|kJ)NtVIrI3H+<0(t+N0TIYXwDbr?lqd< z*R`K0J#rBvh)?-(u{qeOLh0EZeSP)g`g6L#-(ap_UT!E^6sAv9AfF8VO!dN}uK9hp ze}gy+h@HUPIGPiQXM~9mcL8->m8H7T*BE1iXNO8VI>y}4Skgx7d-cGO<^Tdu!q`!B z!x1DZLYL-W zgaOLQs)OR~>*f2`z#Z)an5V0$*n>Dtn?NFh48dOPK=!51h4|7yl6^c3YI8-BoRi_? z_|b*5?qJGBM-myT19f`@Dg83?zJd6zXJ38|{+jbQNDEX)kl>~@xAoQgL9NN5#1i_h znos@#WX3>BCzGV`41zIXz^jD5;ylvE;n18gZI}0=atLG*#0X;EIcMN|%HvVSqg)aO z+~Z*I*@0jH@`;{7zpb2NXzcrtF$^9VJTf%E&;UaN3=J?ez|a6g0}Kr?G{DdRLjw#A zFf_o>07C-|4KOso&;UaN3=J?ez|a6g0}Kr?G{DdRLjw#AFf_o>07C-|4KOso&;UaN z3=K3F4X~Jh3w$MLF< zJb#*-i4ReSBcV z1;3oMD<3Cbd*Pj-)=hTl$Z0%jdc7kC>S>>s(b>wI{O-Dwg<#l9#aPLx$#yp*ti}1{ zg(Koh!ptT9?3&ZZhtF7&*DNt2cXnUy%>}0Sas|Y>12tGvEvLqs>%{Bu`L5C&)~|r) zy5jZ!J+RZWwH<0Y%+gWFps$;o+qw-KT<5y2*)DS~#7sk^+k|5_tkj;SPp=>J64!E? z#LYF!FP{~kW|46_M)RP)Ua-=JBVIcXg!emTdnDcWqORPFIh#*y+n6-Z?WV?yw}x3OXk=f&3JVy_*#Z5|Au$(eE*Ht zjuEibvGg1mWuB}!+OyA0^-=SLQw>i@E_nHJYp#l}e!}X~-;}ql-S6|q1DoX|KEyxY zWh^bPa_5})f9vJL#Um5-6rN0*pYnKvZd!@>`Ag?Sw>tFJ=Duh5veSOm9Ur&;tbIlx z$FP96n@4sA&%M+%>kH$aIx8J@iWto8cV8`5{l=QPM;@P8d+ObP2i+e#EDR17?(giK znsEEk`@SU~BHp~~cKX2s(Oo7fe_rgR`d9f{p`>GyF~0GB4)OiC&Yp_NQ=ewK-jS6$ zBA?uj`~8>x3Hvsm_OcPL*Twz5An(dF zXX|$f;=T@2nMDU)eke&F?RD#ybCIz_Zg>A^qG2irW6&YCYQHf2;_zJC>Me!Y3N z@a%?b=YQ3+HtDr-*@ErRu`_@ znJ@rNv{a{uzmERfil0knim?BoO!8Fk%^&>dq_h0uEJhCS zo_Ne_s!m$SNso=kyji8fBTl{S8UDtR7>>2HOCr|&%kJidJ3Ne@Hrz1STBvJE;E#^) z?;N=H>US<9+f^9~eYG|o4C~4}ri+>2nDu=J@Oupxa5|SA`eN>_{PN$1WhR(sU3$}1 zK1z1wsc`E6`Ewut;n_qkpZnjfLy_7i^{@2Wt(#;gD0F#ja=(?u8NfaEFIz4t6*6k6 zIq%;7XD71mPy6-gra@sJN2@J-Dzw1+AHhC5qN1<9m9Vg0s*-basEcQaXKzpaOrtf< z!9zc2ML#(8SXFV`XhCb;@oVpX$h`mR(7(=qSU(wKaa&u8fBR8y74eUM4pM#@{a8?C zH zZRMWdx&1!ADE!HoBh#J)7rmawN{ctOUl}s*gnZ{|FaLER3$KM<``3TLf^@%gVsE<~ zkx-Q@y_C;AQlRU>=bqD#{&I2e?f-VqjsEYyefMI*Uk~m@eiycL@3SqQN7O}W@HO|9 zg#y;I-#_qvvehMXtbv|;*L&hUrTw2urFrk#Yro!vm680*{#(Ptp8o6j^!GclaernF zIWOpU=iyvCxtCYeKjf&yAMB$Q9qo1dV01}|u&&;IHzgjYy*Ag>M{#ZCz0`I506v~g z@1F82zx+*F-r5=sP`b}apT4*yev4l_(|Gc%k|!oe-HER|FnFC z!|z-4diK%ry_`nuAIuDY=wo5<%j$hfN1mII$KiLLK33ED&1&Am|669uE^igJ53!C<{_2$?=cW)A-Y`JKzE+hwQR;g6WFx?&j1_2QLLn?fGh#M}Qc z%f-qsp;#|xTmePak9mdJ4x=F!Z%H^?YeujYOscS zvfSSf_N4B9p5mDom=jFZ{=v=gl-u{@4?nqf!m{+=6Wdj-H=FHwJ#2Aq{DrHX zHp>?E&OQI%L*@6yf-7SVj_c8Xj9HKU2Nzpx4wyMY{QZMn53c)}Sjl97A^q|ctgTmkNzm@Y+PjJz>6@F*U#NRUAd+}|*zg{fz?p>|3 z(vmuh(gX!p8}7KQnlC$LCO_--0y}<{4ezqctl%<$Yis22c$pzEi*QI%FqkH9k{jmZsdkB{KK}iC^0sZ63GR-8k$$Ic9$xwD3153#Eq7~c zE0R0tiPyN)pD#YJ6L@J8>9ME$HhHTmuUn)kmdkhXwYzoV^5s3dbnWVU-ER0FZ~NLQ zJ-Sv9snttsQNCXJ{L!G|%ziv^{YQ5_v+HM{zr0f}89O@_%nIS^ zJtOpX7tjf;-|0W%^;>>vhxQzu;pF4R7jyr4zU2g8hLLpc*ls(136b?FT&vz;PI74*=ru&6LY;@)M|;=`1>7XmA(l zH*1xD@2~k^zD3cp3z9jOYlz2TwI>gUsj6NcA~LPdq2wojoOtZ};7OnJZ;wxoOx*gE zM?JB}Q2Af3T)F#$*IEB5yPX9mr}h*&ohLMW*S0i%%h*0PJ7?NvEqFRQAt50`e8F{# zXx%*5vA_Ky^LN4u)w}yh$g*c4gMZw2cM`YN^1?wZ&wuQWE*~F1+ca{D?s~-$eP+dM zd3fX6aZjO@mkVrvUOi{gD*i!PK6gb^d;0l_ABh*5U9u_saBzR@B=Ax|DTzA4Lr z#@zk-t@Az;*wslo?2jqhu#+VPL~achy+71OrbJc#(z8b&9>x4}>q6n9cdtgxkrZ>- zuOnD~uKfAmyHdML>lsd%W5!-Q)a%%+pbOog#z% zAG_I`yt41+)n|YzdEHNy{AKQC|5A{r@2i_um(s!y*a`-INV-(z5=c*ABQ_ zj-PVw$)mIb7u95nf8YO5L2&nL{rtyUy-UuP=ML9-X<c{zuU8kGE#_zjD}mqLAl9`=eXut@XOQEym)Y zZb-Ccu1G->?Q?ldiLUE zc-G;#K9BE6o1I7>yheu%>Jz4BkjB) ze>y)E`;qLuHtyQIkv9VLM0ZPt{%=TZte(QhKX!TD$liD=_*I7IV~53y7mxQpWd1*4 zP~zmR&Yqj)Hc@;375fs`3rqP{-<@o6ce2mSO-t{ION9K<$^GZ#Kc2<#m!BubPsKWz?-n@D7 zaaa47;UlA#IA59slqi(_K0cvn`NdloG`t;0bng6NK~Jx(!CE6iPn~+PAmHM$x%NlG zUj2M#jAiK#Dd|k<@}JA4WMvDM4VBOGf7AC@p`BThQiU&;b(;`WuP2X`OdE$f&wIOj(1S##HGv3?xsoRpmW=hAaM zw;9AA?sL|SygS0xW#+TrcS?z<>4<%N`=|OZ1>V2?IqvLl5hGbLk*rIx8C#!R6H1xq z8<=&)OKZpx^(Vg;XAZeI#`Ujf113CwE;6ip=7N3;Ht<~-E&p#w#0B}AUYGmyn`JfR zdRLaJU;o{1S@tIu#^hwb6U(`!sBM>SG0#)(@#xiE4_tEHxo?~?xBI|_XA-Uj?ca1N zV)Xz%5n+dT>7`0T){0Kf%KtDb>F6<=hffd6$U8cAidB1?B;G50xxwKf(GF^_hj!b? zAGS(#z<+PAD%?A_kt{cK_;;&(;@G*9-w&EK7c|!FTT1b7N(^o-d^2EN;Q{N5#@>$( zZ3{^I@1vCI{UHvlLg8H|n_T8OXY606H!@ujM2U+9|NS_we!fr3ZBzq4OtCu_b$LCn zO!9!0FONyzw~exNyEp0Wn?c(Rcz*RdArL96cZOg6gVCdZ^@rq7`^E6I z^li$=X!D}w{YK5YpE@u?uJ}=emchkEyj!G{&gnh=n0Rc7!Hn2)_RxdA}xe*SX%V16)(fBDx4TPQSUVx9YnaLLq*C@#kybdhhr!n*We8 z>>v3%cep~Xr>^LeZl@Tq>Gp>*@@M(~q_37|I;dq?&EGt@&t3ts9=)FbJk;B4{l+rq zXNQ9{lRA42tT;)&misH4H9%vTh1PF#t~mJrd42pKaeHU;aJ8F5-};ObkN;nSxtXQf zt!LVaCtSx~DtIRHy8Oi69$6z7ByLt#EtpJRtr({CjAzKT2Uo}JC7siZFY@NfkLsjb z@K|rDgske%Z|2|o=l=g@_)J#YxjsbDCMw>FfBLL}`9~f+4No|rk-1#H=h%#aJMX?Z zmvb^-@9{~kKZjkN$}4zYLFO<^-623TwR7lyg=5^8r{pVMy{@Ky$#jgL>ddo8H*8&K zZu4iBjxweU=50u?k zq_{kI#=CLom5aX~y%q4kv;Df>-}-!w2y6E2v9LjqKT@7e!k$S0SYSj@*gg!hl!nVzQyY#emEKX>w5 zf9Lx?+pj9P-OCOR`tzNM@8gf}{&)Z3(;njs9$&m?>6JajV$&td-!1Q*ztqQOsX|i9 zra$iFgyo(%aH{a1zeVDfouB$%>U=I3jV|3|{naz;M!M7Qvr9V3#wKg}s_JO(&gvg~W=m4>`AlEISHrVX@`3|0 zLw_{}mD0Y;*Q)3=U)w#L{>QsKa`@~FS3T0I^) z#o%K9d&9&G3@&p2B0B1N@#)TeY+h%}hp!&HLM43|7^v2qcKg--1-jM@Dy!elh2tZ6|ic!m;6cypFp5Pki&AKQBLfc7A9`vZu9P)`B-uGk@K0x_;d& z*~j}{sr)v~edT_i-H9dBqpatT`%ygU?l0ULanj;D?v`yd8fLGWTQDPDCq5=gb4%{= zm!S*%_H8@5E7tGk&3yZfhXM{=1Y?+Ouu_a>Pu;(L*4RCdH{4yCFvKxWVP4p=zmo@f zYY*g2^%MQEpg3%?v(D}1vf?bagC@J;CudH`x*rm0+Gpz#xj)CJUKwujK09pv7>m*Y zKEf{14o2MzE!?&54YbO${~y0(>5%(ZxYbjqs3#tenqc!^_B1V9+f{z{_FhB&+2uWd z#J}&3rn{C6T=?sOUHkTJ9G?M}ygxO$4x7!Hm9hCBcmH=g-L?e{5XuYS9=Q3ZF{>w! zosh`)vv5K`d4Ul_@4PJ**d{1wcS^4G@G22dJmAmbo$mME>uvSZ#ABB(asPLBNbi@Y zdvpJO36Oq<-oO^Wy=Qs_R5|Q?Ubs#C4a08aq|}z z(Au(3-`ZPT>&6jD8JXPk%Qt!r{%6 zr%UAJWkh;xTB>s^R6nA)+YYlOW_$9N{rl_Sp+oQdb}iFRIegOv&tH=^C7(WfHh5`n zkh!kRjqJ+@Qf_ZpF^)Iy&qK+qkcZrt9M7l5CEdS%yVpO56t6xn65DN_#VxXsYr@s( zFXuXL(|a%K7<3N6++`=Ty9IhxY2MrS)RYZ|Yn2#oc}RR%iEa`BC|=2P;jvX!MwS z)q|J+s=8%cE=)V;AkND-=C6Bc4(87@{&2Dk`8Qyu#1-5BS8vsCQGH)`7#KjhL2^hD zNu~Xe64KHsHH4HfARsk#cS}eJNVhZ+k}A?E-AXqz%mCl(Kk)wk{x;8Z=ecL!bM{&1 zthLwHPLH{+k4sE^=5O_3z0qDG@Qf;zeXeXIeNRCaLs2;z_$q#&M>z_RXL2)WgKpYU z-eJ5e$c-9{ptf}DxUsk@rz`D02L-NuxK{^@KLgO$|CGb4mAC3P69-0TC9-^sCbT#A zd$Ut*;qW0Axq=ivjknt)&uV7fYiBOGP}koYWC^eGH=y}X^@$9tU`l}p`H-Qqb z=llOS6-apMwOt`VZqLR-oc+0Yhu_A(+RDTXw8j6Rr+Rg(83JvLxXd{k?mWu5LHi)b zS(y z7pVM*pMWPI&K~C@Fk&@kbV?^`#bLDq0$`EZPLO|&Zry)JM}Hd^nzKCgTk^(C;`kWQ zXbHDJP*SNYZs2D`mS-t`#}h(O4P#1 zf5X1)uG-XR-Cm&Kx)7V{cMMei6Gt>#wEj1FNTU`1t)+!q#r%MC|L4oSR<|ogf%~C+iGTxf$^6|AZvWU2 zL8thgTKwsQD9g4w&u88K$-9Uvn517vubqly1sxUKUX`}YzGfJTFKhkCB$?$*0+We)uQVCAOsHqPl)?&FXn-;%>rCaFTlCnkEY zm=?)lbj)3{oGP>a%yMKw)C$vtAf=bWwwtqZh^w6YA6=0w7q?i7{zS5`%d305V~e_e zqyjqI;H=A{8+Rr@ajF4NlZ(8OM+g~?CFJ`@t;eckJH(wxEr4JZM)uGPtD#cKhB_+5 z%RSC)2Xx{^oR`}|b=vy38)@CzIO}k8I&gr9F(aR-o-e*X%}4wKBs;~Tk)_&i~Hf4~=(I)1oe6>MWBRWQC?CzkH@n&W7C8I4Q zs`2Y>lP8}DC*cj(bO~W)@aWN7#KlzpNe?@zeZ1}53M~zeWt+`hn0B3mdFkpHhQjzt z>QrzQecGsS2q97}R!yT`RTC*bs}WVAHuZj1W|1KgsjIv=&XtF{99w926|)Jvz5}&z zDUH!1@rmVMZ++0ko2?5tW=5PQ7*JckFk$2}Z#jQ1sHT+iR z0su7dX7Ya1s!+VbiDoB}Iu%EgN(b>M%-)!X%Hd=aKqiGNZx|mkBQV;`K6`$2Pb?3! zPafc4wZ?9pq87bY`=-XEUMx*S=nmLkqHT%I1gpb9$#l6qk5!i@MoG<)tft;a!_4ED zReQ3a4%sG&Qh8HlJS`bCQ9zEEZLf4?z`NjW%LajQtZ424Y}5BQ$^yt{M~C)KT2~Md zS?W#0W<|m+`gpes8x03X<2D9Xuk{i!zjsQf;P}{+Nm6mYC&m6F) z@_WwH;2aeSsq-3kdY};g;aCRE3mhG^v*gb5)uiA$BAon9fzi2xMF370kCrvqq%&ny zX^-0}-+=pvaEOO1Bjlonb&lJN5U`^EIB<#ZG&B0W9B6|ybgiS)9Hin4`7vq^Te zzd!KPdiBPslIDOYH1IG<`TfpvVSLknnEp*?dd4zQdl#jAOR^x_6atQHKpA@Lb-406 z{$ZxbZ2F@$@>9NPYTJJ`--}_^)c}da!;BphU|NlEW5zCGV<61$kye1&Aau$#K9%+@ zIS!1NRN6O+7~8bMWj5z<5%>!ATeCeR3_zLS-$Wg!=h-vw?9zzrOmo*76I2YU= zZ_)es>J|f4NAoGgJZ%klg1y)>LB)Q@1*`^PiFcoGM6>JV!=TH?dq)-%%K>eFNMS;a z=Tb|c%;#6g8*KVqD5ynkXDhWzw*Sh{YkXlbKAsP^Ztwj2NA7ZmkS9>Lp{OVUs*pO5 z8qqmx`=nsE4jXI>eR8LTFP=}}y>pkOjfnmAMo2nwj_9O}a4Ym_-NTwl zD9AhJhM?hvY0C{R1;5_4gM?lHU90Zz#orGZ=^fkO6#N_9oI*A1DuG1w;u)EsAaX)n?+HAfelBN$wMX}cG;=q%T(p`_<(>fEiLHrRW9ATp5+}?8&*seQKEz3}19D-BxU52!L=Z-dbbd@Px(XKyNdbz%O-Y zJ-sQ7JANxu8F8K=GZ;zeF&z%D!R@fb=hmiVfDm*1 zTXU*-)S*e6deNWCM9Z=*eduu3L{A?Ef~{Zjq_1J)>zyjfSGm%IHH74Z$E-`VheLuU zi{;zQNC0mR_4nVhZ<_haej`2CLmf&K4W%L zP*)v_udbn`3n%d;iTp&IM@m*R_FVQOHjJ(t@o{qLzcM?fAZps&km^``K+tW~acD~1 zGNr^>^ZKqX2_q`n+ytamI=t*+BUsXZ@@BINXk<@|B2*A#M?Y47)(Rx#3KZ>#L5O%`8GgV$~`s;dnYILvKt3_KvLy-W-VwP zRzKl15|<#KeS^;KVWGlV)70*vsmw11bBlfvJ2k?dQ{qaEVKf%@iC&##;4;8lbtcpJ*D8J}uX4^|GSlGi->!B7xD% zP>JLBP>7>$_&A-g?1)PK8f!A&rl_VQnXuNc#kGLhXybyK;z+?BbVVatS{~~d!4Kjc zAZteQcm(7h;sn)!Y^l>>S?!O$*2#z8f z5GtChfuB{v5YJ!ridT>a2RCVit^J_ZWO}aY<7?MMy4(B!09d{BX^9k$^^-?|rNSaF z;(Dhc*pOLK11sxyxwRxLSjpkZP>qvYJYeiDiQ?;vJSljH$0JR0i9l_nyW4L)zi+{d zFF=*w7APM*>~@EcPZ7ZoSU>>L3N+Ddc8@+IH#W80N(iz!W_AjH)zLDxKEo*#7U^3j zmFCLI83G(vB474!o{Db#Ss!Zy?v2UyW$l9KTDZd6NOWqh1aOQH%=8M(+>1y9?+h={ zgpXzhwhJLXdYdD{&-@*%bjJDen4Cj*V}ED)ui%u#4l=*&vZ!sDFVElPn+y(m1V^79k&xW*cIKoLyO zYOp@}y^-;`Kb3P_OabmRw|vY5&L#!@EdvR-&UueW2KM1e`up3G%&c}q(H>D%pk6`S zu>Bolk$jk-m{ea!ZP$;33!)T7%wI9-j(T9C&Gx!s>@OKT)-N9ZtA46)M9mE0Zo#o; zV#}rNq2qO1tA@-A4=bVN?ppx6IBV=9GghZ;iF8_FccuDr)rUoQjJn@i?smUJKDOQ! z$nE@M)RmCdZdxEzPU~ERJbtP_DDZmyt4y~-iC(YKB2~D|TSed$R}{_Gr>-ZboE!8x zOboPhw@EXCgm!;mB(zVLg%z>UZSG4^)&DWeYPmlbi5Meg*FInfm7M#s`1RisPCvS} ze<0r`;kI!u@E%=a2=}nP7f*(id5hcLIdiLcT{wC^9|_dG@Y z=1jUIj_SA6+3pit+4|bDI#{y6o17WP_2Hg4F(|q-RG>M-qg3)!7ETTyEfpuu_@^MxdWct|-Gy;x{nj%(47U8N|IGf1Z>UN62TAT!YxSX*7hRQs7OtpSuIe z+3T$Tf-Bp@8vD7v>FKN>&(%6_e^iQ-3o~HK3;*KD0DBoeO|Q-fBY=!DJ|AVdKlC>1 z_)k73I?8Oh%Hk2opjR@`6noC7FO{%byYBsJJUm8^LK=a7z2cA3=h-Hp>&ML&mV44D%gHIh$y$JH_kuunlAlh-6r++5f@B!!`XMPYY$eqKC7 zr|!4|7bqn?`&&*aKr5*ttp_X>qNd5%=k-v?uh%~RB=+da&3W;`ej0lYG_xVP?3fw& zV|I@GojMm7W?18n!U&q;qW>QL9VoMGOwxI@(ywl-VU!ggFJuJsFJ_UKwAcytUfmq) zz7^wA9;(-lQ=qXYuG!-*Lpfx>E(irx345B`_0|e)aw|~{*2cN5V%b zrS;>&m8p2#pvS1!W`~QdxB?LY3 zDM32D5@KtTE!^Rj>TaJ#S$4LpKELI~HPjTpYUw^l2cl>bn51Ipv9)oG!AVhTZ#^S& zmM+EsboyZg!wRJjl^mKs;nWQ9A=(e?{e}IZ8O*;g<{D@0Cg|z*4?~U3FMD@ zV*L5azUx`$>TPiHx*8cR83XH}@010`+#>b(j4#@4t-k5*Ap<=-?st0i3XeD0@)Ct) zij408UUI*kxPTbbT(#H4G^e|&Z0EZ&bl-1z$5ikSk9q4Xt|sayss8w0n{fWy!hB-Orp% zt$^$jb;K$s0A)9&d&M}$I6k0Mc3$nsu}55huceTnfdsE^-2(oO_t+AsgX7#j`WKOn zX?DBfzDPmW&WoqJnt6kq(PGyF@@8AJu|5M?@0w&Lf8^CdL6x!arm&IDZE>4@gWaf< zr+Ydn#q#KO%_}MYB;|ZWjMVjE(YSfBv+P`JmhbbZC>a(4KvYDYdUT#n{$!ML51U-- z^zJl?jfR2J-cQV(FXTC80&k7cgY=**Xw%4P!mm^zuYNelr=($(d@YUripR3$rzP{N z8GZfA*;V;F27kdre}9wNe`yjTG1SD<#^c^+2JlhZc`BB|P`2^1IHN z?WLu^ZCx^yMICS0@D1ACQ9<6F(yYw9I~GwT3({An`T9upS)`t5>y#>Fk}9{z<24?d zWo7I|qSUt|K)sxuQe5Cx;m|ulfM4{wIy{z!NCY0L6K#C)!be?MA4ynX{&X?5n8*`0 z-Ckhct1rX111ndZ3}xfwv?oW5ADQ%)=}`T|^b6B!eOy0@WI0Eb<_n1+u;XKrIM1Sn z=PK%2ISGAh4%f*6ovmJs8V5d#S_bd-l&tN%*?(g{l(+mJa%*!5-Ge2G_Ko@-qnF$F zVIyQ*thC+IO?d%SO@i3NHJcr=sTZnCqjaxtkBmutUlr)AkJA9-Hx6XHtYu%2ma3ro z!TB~W9*!B-?m}+qj`i#b~!hmyM8zrb5)bE17Mwcl%`2h~<)Ghx`$$tm2ozjM@Q^XERRCd*if znC3jHod4}4$H&)V4mv}#Q}asedn4>Je$w*0T{VtLcp(K1`H6J11cK?*sjQ0d*(3V< znIk1Az|#}WZaaYfsd}Agd|nGXasZ3xTrKhIeVg@))nZ36#iW8{ZKdeZpFKn z8>y=$(|mflkLRIgy)p0Y^LSL+b$&IgHyW`)eXqqC}RBhqTjOmd&Ot_316SI zJUXCG16(V&Q4%%gUEfYngl1BH39+SP9-D(WB@4!8oC8p*eu{_KgMus!t0}+e`tcny z{$N{NGx<}>0jh|w$ly%p8^TR|Ds4_xU9&xm#k4YA#fCRUP-|mqvvqLILLHnvfC26H(PdtoErE?7T)v6aTzZYNJXXG}vL?rVoO*ifPq~^3&x3STh<=F~ zPjZ@SoH_ma%{<*)gn+xtyR_uw$`MUBY(I`|_1l zG9{k&QpM(VLqT$&>})d-ON#o zbCBBi_5Jhrpt#bB$z{Ji>i6$IfBqEA8z>Nx57GlAMr^%w)e`w~J+{Y&No@q%Z4x`B zrCIqo+c*6T=eeA5X@7n_b zj*$%o@%4l_b#~E5=yJgIAAL#*XLVXRk!Sq{wmRdYt3VW(#MTdb4<|3N4bR<>WTM#3 zvZpcRAZ^j2U2PS3p=g1kAl%HUO+TKp?D-$1I5S6Uc~}ySWv_U7?JFA`N2{izC6W%XD7q11#C?l7@R|ye(`yZ zfGNcgK!O6B$;M1a9i3wRDmThj>EtX*fAPcB`X8xo8LyPpt#Tt=^P)j@Pg6 zTzWLgtxx|wn+i6=ZV1Q4dTk?uMUTOT!wSz#eM_gFGvwg5m!7m&eEjIyJA-Ein(Qy@ z=6-Bldz$4G7ds8eK73}jf7}TT{r|&IYo(%o zAWW@yTyGxN{hb&@5~4;(vmqDSn65Y!5ND_bh^Xu9lSpB{1^QJLdk9um2T&2xz%YaY zFDfc@hdk&b7JMoMRY|NJc@4ZI_BApY^sP~Lcd;er0?glaP&OB1JV8y6MWmF%lw&!8 zKY{SxEd1i`LizdqJw5r8sV znT>6n9$Jc<)kwLq?Tx?Kc)GC}7Dn{x4k~(^*X#^E`9Y>*oe)W2dy#B_%r>aKkH6dbT?os^T0df|n7h_K^lPO2gzugz>v1 z`_M3D1Ld%i2-F0A{4pinUyKC!-yk8G8t!lef~zeiS7ONR2AANhDROTw6dZFT5s*yy zn4Qh?!_oQC^EnIU&W?pcHa3YE7lvCuT}y`reFla1WI~0X;Y2Oa4sVVX>L|r$1LH9! z7urBoHU=A;v}WLe=HHylcHN?Tljm7 zqAn!rYhG2D9|svZaL7SHL7A1khGZ#OaL(lWu8CODCYw{z97e-6hl$=1lS32}fl&6W zOb%4<7Iv)3K@;TZC!)~MZZ7?cLq`NQ+G1zM|M6@WqWOjY5X6>cHBa!#mJ_^V!hoc^ zjv3y#kQf@evl1Ag0$*_C;W=U#se~v8rixiU`~^%rx->Bu?}vL2u*Z~XxyT|Ae^?f2 zl>Fw~TI2-3`%KVTVsHUxF?xm@k1lJP6wODb`1Q_&4{vY5hf+| z4j^tR{Hgy~nAq>PvyGPni56596CJv)^X5pfw`+v9Nr~bdFACh8pJ$oN?TnJHzQhxp zE`Jh%RQjSOq%7CyEpD@H*&+$4x49tJ`~8l^-_C5YfDox9{ti^qN8>ZP=I~uX`h`47 zdI&;FYKM9atJp^I z`MtOVabkX(ok?Vcv`UKStBAwu96ufQB|OJ_& z{D+8z^L+8*k92>+UgT=&0Ko2oLBzF*S`GZ(fOro~8ktRfTf3LI@Xp>50TiMM>AlJj z@%@Hz;zSn_Ps^bN&Oi^&5K5$ytMwW(7!90ex!oY4-BdKhq@n@_9S&r^T?I)GxX?-5Zze#yuv{ z9fi=~-`8c1ePDcfZkgMO!1LLhJ6h7H*%+9xNR)#)AW26L)JEj-SsU>w?HH8EouHD5{A=${EWccft3%vOAvuo#g%}Vu_!FILACvRs6BjjMRm$=NY z?FE8ef0p-^2+Paq_?BPR=wIJx=svM18$(1EBgS8${Z}ZTS|9bx0sqFO)K{qTAaCU} zh~FKrSss3)w(6XjJiu;{P^~G+$KF;j4b+{#2K;{e)fpt>kf4fx$+$Eu656Wq!nsm6 z!=}*fwCIl?vXPXGdQ&}zNS7BOhUZ9;#s2Q6haZ>$+jxWLmP6mD7aPI_;a2Kp-QBMr zQV=cYQ0^};Q|{Xc$rkviXu>Wa-D>4G!X9rLsNkv*mEKSUtXggD%mSTwQ7_$% zbhL)^l@L7|lPXrE_2S-V1 z1-BTA{pOWqaVv8&cS*@_bPqdMv~h7@P@exDs4D7{x*fU2rhUe+XeL&VW9hObASSf( za>2p4y}dsG7P`dQLy3FzNxGCeKiy=_A}!)L`c2Al43K-O@dgHX1iiJvA;G0ftK)~8 z*FXCsIT`3J>Pe4g-ya>Y&Dc_oSxA` zs^xqg)q#(P1qI(#Ro;o=h2#G%i1}(G?C$B2l~YB?uRY)(KNgyo6DjFhNIIkj>wFT@ zS0?@Gfl;cgjdU@(^-bYn^xz-Dl*6Uvzm{HJhLfz27*2S(#>bw|@9XbK9}(X`QR3_@ z9?9rM4Rg5^^5eSzKCQG{_LUVsO&2Y8&)%uVt7N{e;}6-w9f`j!+aE> zC&P}-vJz#I|Df!1ZZ&^q<{;|}D@(kq$O=yhLk(2Yukvt%CR2W$f5-cRKapEf;QXcR z2x|W3M*rmWq}fXWBYm9Kn%l#v2GEdz!4B=jK^x-AFnL^Y2e%Gpm zX*jQwc@zpe|7h}CMG>R!-HQE&!<+HlRjD*#9dYwdzt#x#$bdItmb!;qMmvFHHx|NY z@1I8bJadQVf8C$)VFtM=DRpqsSQ&B-|@2mxh>S`@f>JDCjPvh<2~Id5VDahDRvszm`Rp z3II!J-DNZ@NrQol*7uiU66zT+4&oJhiI>o?vmWGIYkyojg7OdbFvc3H@unqS|0`t$jQjlRCJn?KWf$U7wis#Li&GsD}ldc&qGasuM- zfj<&)Qf15*Elj1c&V835T8Yv|?oZRJoTqhUkB8A8UMG^aaWo%;9t`}orW=z;w(-3M z1w!83fU%qXN9rARJUmyQHc)Zxj<>;S!Llq1=gXf`zAo=M%c8b$tBU#gD&D>ove{!u zMNX>F5D+i5525DuViy2h9Kkmxu4 z^_IfE{>}{9g*&hNQx&M+{xLyCeSPj;`RjWLh-p_M)R#u9XHe67P1Ht{dyV?hCR)WQ z!MoeyR+&u}vpHr?UU%=GKlhL~)|JJGj)EMhZpOtVUK7KFJ(kW{)rpKw+h1j7l+`i= z0=0XuW{xAVJ70M-ZIRX<0xWMg{!kfS79nWI5=rcy0JlA~J|w{!6~# zO+`h;VNi)5Cbfm99rJNK{+ zDca?h_u?_kRWqj*?e^gE{xuPd6QY@l44B(hi-3TE0>4^A0~);w(G4HAF}pslw9Z$) zXSSuFq+Sj{-q35M$qmm9!j3O}6UBYF@&?kw+I)yvM&^mdzbA9zp;Ko}WeOh2=Um1)kBvYNm+JQ-b zsRe!M$-^U1t{{$`^4o=}@vf;cXyuKlQimh*EQK>Ml>+vRlK34Xg2WWAilK`A!M^WSs(E!)BGNo5+nAX#9& z_eF#p)#Xp?FbiCAE|CF~*|>U+LUDGsc9@6Xnr^8&;}gO{|A-yo;~#u!LW_Sj^%oZT z4|mZ25p6+=47S1C4$8IA_T^1wPu<(cKK(JrqQkHXD%PQaekvejX#Q?Iq+#Z`{iBsY z!HQQ)i5;Zc?^1q5i$Rb}HsKKarsh;|zk^c3Jj84MM}lB+-AY+y0|DrV+tl@a%V*24 z_&!01GcuC2;$E;du@HxGG?U97hr>0YA0`#m#3mhm&3r7B-w%^%ra@Z)>uspqVfkD+-+qJkYgtjY7C1?mll(0&*;_#HKY{fBh*JU*is2;&Wp+?pev$-sD$&4F}My z#lddE;MQK%2A)B2Q(yVVujF6;CyCV@OZE`Bf%uREevsUhz5HDhk8A!0Ge^3at8YF+ zIsQ~9;cGQf-?ukaUJ1og^#Pl8SGAQUkk8I%!3>b_9dh9Kr zF|QUfe!Maz{8R7s{mr5+S;pUx`ldTd@UXB6FSkaU*3Tc83ieQ2 z9NbCoCyQADD04M{tO~vK4-XJ8E^>UgGnxy>DsH&MQloWow9t1uIy#`9zmqP1>$XsL z2;>=3TX>NA`U}n`w_O`YNrVvv?5v%8zhcRp*5tO~qQcQB-{nqmL?6oBJh<-t(W~F| zQLN7WCyhzaeHqweqTsQCjEA_S*@V!I3=2F{LCJRQX8_R@cPI%mV0Q?+$9`Gvovz=G zps5F?Z{h8<^<12apD0X!K1&p$#zr#~9GvQ~ezu zZct;Wb(@AmP7HylY2V6!J808hZ z3ewndUxAv&1MHa$U}GQ3)3UFN#7EV>_?~et$Xi{OCT;(Gs*T0bVAf4egSU5Kq8MnK zLDCvcPJ-Z?l$JCt3%s1b&$W=Ua>5TIbX4O0Tg1PxlAS1)TX50^fZKo=UvYQHMpV_E z6LKqx_U*dMK?eMOg>LiIBlbFGEIdO{p}ayZ2M+fa@9XQpS~}HE^acyHXuQz=HcC~U z1T)Ca#k-~CP(%IOA83rmFgnMb*{ujy?>wL+MM2`0b@0JJq73%K_3^eOeAwnyge`6D z<=K2q+@HA+(`i%5rRmUK&7$THxgU zNlzLhaj-3J+7=HX#(8=bh0(${6flTWB_?Jwi~TcFhEv_(V*4!CQ@zpJEAxNea)_2+ zS+T=VJI=nQ%0Vydck`4KBmDKP-YaL4ey1^cQ)d;n*X~0HxSTY-RP8?R91;O*5nM!vC z6ak$Axs7{Hu33YjC-2S|iq_4=i%;@L?nX0zK>#-5nE zk{CJARqK9P-d;#BR0L2dH0D>(D=#Wu+hmc3by$1tB}6~yyX!Q$d;ILi@cJ(f*#zbS zNmyW}XkTv9%gw)D*MTB~g}#N6)ohuhv`@@~uT=0C3ZJ83v?9s$(cwgaj|~r7e@Zsk zXE>EIYem;_7v9kM0=?{lY_7l%EfO4}9+J(nA+iT06y95GUW4?eS!ok0i^v8~OjTC-&pgkNJ zx|)Eg*)?`UEKq>0*sH!DEu6q${JGri<`^IU-}UllDqro5^$=@8+@mOoo!MxRjbI(p zE6)pNzZgKuept+6wF~hWS9n8`xk%!+g6xd-mAVgM*SAnhowngrz(LCscv^joFNL1( zSrarPX!`ZBdZPtJ_wI7SP^+^udMq?57^oCaYks0|nIt0jI<{=bft5$vWE zYPosrj}F_3nV+lP(7(DSBX|N-J(`@MgC{9kiv9H?!s@OTlo;b;9;dnsb69||YeXSF5z$b%FeVG;Lgd(D(axIb`_YU;6 zs&R6>&A0t&Fn53fnv?a~gd#QDK)7nkk|IasugBhq`4)rxGJ6 zz8XD2O;%eOpKkA9>Wtbu{!ThT1UCE#R|AL_0;z$H8!u`0Cole}$-08q;2Zr(|I0A@ zLI3iOy#f){wz*rcl?*f?w#RNjS*Gr@i|uonZ>OQ{v2w%n+h872`!HYz(47`L?bN>u zN>(QaDLahAx7DlhpF^>(t`0|Z{iEgt=6D=LRf2=dmVyipz#UYLKC6yAKa9>i@YEV7 z4f`?zU6}gZ%8QGFsguP6JW5)CY0LVt)l4q#*291d6I_kA+xU!oV<6iVQHRKsGIZIYw=PlFV$Z`D~V3u(3QPf?Hkv7)d!fuYIU z=&2s^QT|vkC-8P}QYQs`1UU<@tu6%>3t|IYSrZUsH{6|6c->$VXB8RkJ{OKY7)PpK z-2(W?@=Rvf#;ZAXfDD_HurR8^RWTtwN@u-L=u!UDhx+wzDmdh^OHB>r%e;5=Fz&9A zXc^fWSwaU?NZ%Hy$ z9E-mEA|C)|-W4+G6 ziKB0#!khm2?WQ(^oEJ{;@~hg!XkFx~P@@GFK2nw{PG@(y|UyhiC+;OIn?4fmecfxp(6?#q6? zG6xD11+#GCdBcFOTtzAEqD6u)PgQ;f_^WZ)ygtf*Vgp@}d|Zd5z7=J;wOLx4@hueo z%{o}{K!7oa3(zUp{3cml3Dx-RnCX@dVJzCc-^(2T9wpQ3%V|AxGfqA?{VSjMWtYpk zWov2YL!(0hD|8BR_;(j93M`k26$kmG-~=RBxbsCSn`=wIUp{LvmtBpYI- z>8OY5B*0kajw)?txpt;XF~bF$UvMHkgKMD{FTA3umv9~}YJABwN<8~T zQH1K^J06ngEC=kiEC`7cK;t8$jhU@(vNI(HW&W=gfKmClY#H2k99YAV{b_N-2j6#^ zZmR5n#c*F%JGv?g6raP8d z-z$0|FgO4E5{$zAuy{Ap4U`KEAbBqgupeFB(OI*iW(I2LM|C`X08UmkVCop+)RZx|y!ZNMPlhn4#m!n2>#hj+NRj59IJRAD2p zc8?2w6t(1T4hxkzNpp>AE4#k@zS~5VITKcLIpHeGEEODli#=HCnPI$;uht%?df0Yh zicTM-MwVPlbaig2Q(5P>CSE;_U<^Mhd)6(; zhgy-TR#9rpBB`5}8JryoD?THt%y4K4>$Gu@p9*cG zQRPG?em=Z$*dO*k$heA=hkittfY$yI(4$f0I6t;)=yLe)Bt+SspNd&=&)wL{KAjbX za6}dU)=dy{5Hs6FYXrXrP#^cA1l&E{t>%9*)@5+Ftsk?NWC9=u&@K2M!rzJ&+QQ=N z&wS&r;480i3%dJNi2N#6z%r7+aHu@%nO$@rR{&Hs^RZ&BvYToFXv3 zi5Jg1-%01toX(q^OAYyBRla#b5KPx7g>}16oGWl+H@hAes?&jwi#k$I*m(`n`?jGJ zg~*;La|)DO95hmw>YX7Z2rB+i-wheQzsAEJnE?$jmR{3h05mD){7U+Q@NEM>TU|-_=T|=0 zh!B^(lc3!4whOyw2VK?gs$7*HXYM_uD7e~By0MA#|FtOQ$NI)Ux={sgv0%c9pLelT z<>%L`gs^V~4OaT~08&aS5>2C*`$a z3g$ntKK7tl77QJJtV94jdEcCSm4IIKPjsr3~m!l6~v;o)Z#ddCgB( z#AUqAG>Siwzwc-H<4v3cH(m60dJof;WHid#m=UmfZ21gs;&-WY{Qd{5O%y#}UiBe# zXW{;W)X%fz~m~eTW+{lgZ zb3`=v2+(SfUBr@OV$-#KUN&EA^vfIXZKLWTvJ3Kz^25*2RdUmjJw< z!YYiHO@BkTj3L2TAqRVXC6i2yoZFjQO4mKlH^yA3Xo*N;g|vV_LEb`{qw(-lIeLXF z3hhTV0w{;;U%R4QuMh~@Pq@ue54CY45+2m;0qP(4`n+y8?OFQ@T|ZTNPV3A*oMZbM zDw04=29z1NyyZnL4qaS9t@+@el2<=bTc{ZL zgz)Rf4iyhf3&~2t&d}tf!Vnrp^&%kdCDPgq#2FC=Oi1J3Xz9t9!`zOOXkA3EHB{); zNf98zXAdh-Z*DR3sZq)tn9}{Vuuv?gHY%r#h<}*~L{RnFJ`C!?Gj11P@2_;mP^Q(r3@-trOU7QwpS{k>3=;G$4r!b=XeUQg;5JkbOqB=jH$Q^S9)|E|3`3*K}E*$wO25ayqM zCvHH0bir863SVF*)&QzQun5{C3z;~&ti5)V=GpU@EvzKD5QwBmT)4E+ ztcYQgMkWldL7}Fstn9Uxm9acnEGLe&shv^i#oR?CR`7SEshVKyE-dsZXoPloGG*p` zJb`-4;2=r5_XV|NsZD~P@caHS5E-wJDkRli8(nj={j-6_cu+mTAmqi^%E$R{pO%TK z)A{b0bZ5Fw8Q!o*MHF;+gH#Am;{b&~^9rP~lw5#Es4iip8nkjfkAp>op=ICy%wnR} z|MTon-B&QaHV^ZMre<0}hYh_Hf|Q1HBsl@Ld;^nLg5AF^{e&jx;n0004Biy8vv9BkQWT5>K?r~NB%g(ZV2ZLz z$n4Fo*Vdwi<@~QSDh!^gN8m#B>8iwU37UmaI4B+zjj7~9caecQbNpC1A5aS%3ELl9 zm9eJfcya&oAnK{ZmO6BpNRXTd33-jUX&Z!(IywwwHzvH~C+$yX4n zJB01eGmMq zmuO$r`5bgs2wG0pMXC|RjF^vBWp?x3gmq(S0UwWEKmquJnStSP+u7lfpr%F@OOP5c z1)DmFD@%tE5QjP%_=kF0T(Y-jmAZb)uu2J1Af4=H#|5w<(jd~ly~L>k z)EPS2EgpjEM&nIjyUVr5o<|>H4eOU#;F>mR?(zp9=%Vh#>k^{$w zBG5CBoPURZ?n)W?o&Vrwa$OhU{(R>B>WK?ADyg_xB7$&GmsOOINNY;Ro$%sDeq`Wh z*UdLgy=oUGkV5`PcdJ&J@wz2AddzZoOKf9zQ~!L6T20CAxT(K&K6WKumoG7TmbM`y zBn@Fr4NNNk+}t+7I1#gc*QR&;Xvy#J!;{*Y&TQeGxduY;=qR($v{zmk6{HwMZ@yj6 ztSoQ+HUDE5@zCSVTrlIdME2nU=`8PKH!J7HsjhKV%LkV9lMS&y4#cYmIs5{LcOGiG zMl9p*eUHNl%f}gdAOvy2-~HMeJO;E`q7Va;cjZn^QtGJk%s=S^)1~&u;s9LTo0dx_ z<5Sphe)fwc*wbj{kV1V2)=-rk2PuDO7ZGD82#fDQH>i3^e6^o=TPzP870dU|B#q5t<8d^VRr3z=I zihK}V=5XUJO4ee@69Lwh78k=wq7Y#kJk}8flp2RMZOCG(x-q-)dHtbiHUTI}eWq0e z0hXxk-^8%Q@Ej~-ti*Ullzheh#;)RdyYp%vZeSww%fF5Y@hTdn>?(*}8s%H1FpPx37 z>pVMf{A+X(o&1FAq$kMt`Exxf;{ST}o<5FfjU%Ioe4uLOD*UOFBBvl1R(t6k^IBFO zR2G2xgv{!CY`@uF8)r{q@QO7!G!_N+jR{Up*`?G6aDtT`p+vgqn^8B^i<>hCAJ zfQ*7sY^Z-knqGL>a#z;-hBL`Oq=8D0o_IJ#9r@@Ki0veRf|AP0tV=I)9VTa`;UQH~ zrdM!X1Bp0eRRVl>VOExXuuY8lH4If-@PgTKRx~`Xz zcHJ2y6=jl+unCD?xL9PTp`-gyHX4Bo@m5|lhctA@-~e9(YnG~=k^A>hjZ_>u z+y3+}9^V3^Fb>*ylSPjl1=r zzKUn%X_268{_j3^8(`*run0tw{;Qa3pG0fEJE#}=8#-0qSs!N1D2Gz&b zV;^c0t6b#s28#Parxj(iEj)?OUQY+enRqTV|B<7iV|Z#I>__F5?t@PbWPxhdpQI6Z z3Z82MIA=*wiK|{jnU&cLr{UDrXRY2e3U+Zmd;2jEwzm6KQp-p7G^ zewzs3bigbtjsD<|pGB^Ss*gH1Ly_&aen(#l4%exvEcY(gty=z%)P^-{C@D-eTe9@6 z#IK_1P_vY3DYL!FM{U72TX@ZOicqHKp#{@E@#FEEAH8!i)@ zPJFd89^%V4S=fGb4+h0~TWjMvPX2OiZEc`Xg1xg8^I^w)EBMFL$6Up5-)y)HqmRSB&+(hs`yR$i*jGZqU|=9 zXG(wATx6r&AvLE2HcGQ#sbc_tD7-N-Tb0<$z$;%VNbVY5x4b%W-*gTk z6e4xu;R2L|AuOJyppBi+7yoS+cY^vPmo26a6?W45Qsy{!3q%q=8vUI&D%L~$KZm1I z2eKD3B;Vi(G#wg)HK+Qt*n34D)HGU-(({&r-Go_l4?;<-|LtzfLnDeC@;sf+(TsZ1 z;ca_d{P3CYWs5i<2lxh*J;`}@C~`rUgdilJZ~>`sl@<#bZ?>L&FvAfiAi-P?}ceDN~R2(HhD^ zK@N~elWMIb+5D>#hjufo|;vpFXN zZfVwFX{hKdW181-kU^Q>E!V6$7xd*~EEQ0lPN@ZSGv$4lU;kWs@}tjnU{``&hWn9& z1L8T+?p(Nn{56|#a`LF$4i(Ki5aC!u;hXmV-S9g8a9s~XhPi&`!XXUbaL?}!dO4}ufhT6+_z{`UaCl|Q7z0$DA>#PQ862C zts-oNR{jr(#wQ~wG^K#sF@pBIc z+_F>$Qg&w>YQT=l?{gEu%G&BuI;bOi`SwLvR7AH2SpOw_7d=LFl2Ha3@2S8Gmt_Kc z%@PVvY8#oiFgFVm^jqHsTdHJqRIv`n0)`PkT*WSC*`u?5f1^z0jG>*tgeSE;z0ggP zVw}HNM_MlG=KcWrM+x*QvoL4lT95!Pi!K-+ObN0RCH_Ou8MNoTl9PFQO=&0tkAwoT z#ob(WndRo?7SkJ302})~DLHT?H0eGNSGH0fe(yRs>i9a0?-Bztb82wD47O$44j@Yl z@V{2zm|sjUEWC%^X5OQJ$N0+bhUu&)Pdj(+p3h@voO#FEazU8dcv-z;T$7numak-- z+r+Bp*+h8Q#*KU@Rcg*th}lREey+-Y1_bX1%b~n;yZKOcb6majZ@Yw)ktUXRK;BvY zZb`=Ck&tFRdEOQ6@&bGuOmIwb;JiN9{53nljw;xyE3d%JvV6CHCsw{J(YZtb5d^)* z6l;1R2#Q5aU5DL<0!Y1ESCWPgo6j2qK@j+k_%l#_KTamqRb4B(oW8i@S@jHyqyU@q z_cRgQbL4qSckkHO{ug8mFTitnOE7$6cds(xYg&E_#b7%s#vRUE(44=NhAO`Kj~^Th z^zYt_nvL#6c^@h#^pT%wV?0k}UjL7_-}7E1{-6TS#`NXqnE+g%HsSk0Ns zdd5?tQ#XxIh%39_tYffyeLYVs;?*Vgz4HHYakDyj&?kDVEYn-0&$7j*;T`PkC5w&VHRc7@o$hzEjQX%@c~T$u%Qh}}g&i=aLDk)Z5hmZyk^nwpH%C>d0s z8_c*f5(GjdA2!E=GadJIDkAZ}rblB^^Ml$7(zMoc6X({-$%pTJY`>z3+F__v?XOva zH(l{x7QZ&tnAn2PH0a{~h6vt_Cg|%u4Q*dfScaqqgC!+FeBNUHS5pJERBi3pJ~vwz zNH({F@%eMQ?GVsugP|DuCr+ANHp#SpW^jtIut{S)r0#FKOfZXBIRsWoK+PSI3k?RQ>a2ahE3zW8lYHIZ@5xSTV# zwz6gqxz4UTs{~|GMw>yh!2*q~VM+nE$Rohaju#OWs;cbd&je~TJZS78rMz$s(5no2 zQ%Dw)_9{EO}9epjNTFXyrlyK*5Djn#Cqud<<+FB}@N=YaAw5^M0Fh zO*ny{c&*jMec!jhq5{QDc%Q;Qsvr=Xo|ln*u_-Co%Xk57?7gyDfEu6ju0`w(|Q03pA|Z4Sz`~0zAO;_JP(B{c!#7YBw^Qz;&pcH|9$k<}YaIA}D4Pmy0u@ zak|KnHFsJ426~gtXO)uT{y{;~Svh6104Tx|m9?4C!s`96PxuXy^SNfcx&eNFY#^qbJ7Jl=nfcbFd?QNR~`769f}AYk$vbJag=K? z$+r+sG9aB>Aa*9Vs}_xb0bt5xmEopu$eeDI!9}%CLuArbj_+X=MM4xQIWeh}26*8I zHKlnzA6%6!jmc1KfSHxmMZ~kayfo50q550hOdbtiY|+4;8?_9vNKVFFEyK(Ge#k4yKhZrR;z}tnh*IC#_WRpjkltKnDs$ zL0m*9Me_}?dVl_mNlRhp;{e}@eXrP#C-lI`{W49CYBy@x8N?)WL}Q3_YA3TuGO@X3 zf3FxVQw(+j#E+xICAfi3GK;uGh-C7fa-n}gmv%Cb5ctuLdp!ZUGvkOL9tQ`*UpG*G z!cl?SJh_tl2!t!Kl%RyK=iM+r73PwizbM#mTu53prMg9B zJ!N|-o!Oiz3udE9O-8`bxCMp^ea!pc14TvG*bd%?k!UJVAj`nGx{W@Zx1H~@OmNn*@{ANDPs}T-YP;!V@=|pJyTM6XV?;e$_c^+z9o%X#p>zV zj#fTG#Dh4L;5mP&s5F>IBS-qp;$l-WxWy^h+#3EJxrKj462TbwnKXbJl9;zIHGw`< zoh3Utz$Tq0`~VyO*iC^>HXd+!U}-OMI^Gdq{~laY_Au=e{k-~*8wRl4p@l3Ms6G9Y zN3;?PsK>>8?gAI1!w(WF5F`*r35mr2G*o-22W;d+NgG*WWEmHj{kaS`5<^m$I z%!7J7$Q0TTqDr-|`L*bYIRQ5Yi~z^GB+IAz-YM{%LOmdrf~Q zpv~Jo4o8onZ~@jb=IBsW9ufjKew66pV`%em3#au?5i1+nA5C09lQJQcfS8>uER-lP zlqUyFYb?~b!~~&40imV=k@cHPU`t4+Oq+;$j~J9vhMER02mfo?#YL$G_rsdCm0p8O zB@I=1a=LdEhb(T00|2tWSQ5CW5AR)oPgn|apbejaQq1Noj^Uj0+0h|ZHX1g!Bt2x) z28nDR7~#`_rb_CtI^$`~E=7b>OkI7XI0|wsE zOOS156=8q~?r(xI@tTc3isXMgQ7j%sslg4ZU>gQfbBty>G~))xhr{pE%~`>RmolK_ zA8b7hgL=mTTP`4q6YK;2Dv||XaXhuuTCWx~|G!!Q#ESbN4F3BgM>hk8Bp$e{pygsC z?4w}u4Asf106P|&!(I5e;Cn&_{?m}^?~93%t|YP3?v<}9g8H|^gdWfkf{Bu%ydBmY z#=#PsqF$FL8^#YH+%*QeQkv_`uE2~C11fB5`zPyQ;0hh-LD`}T41pk`-eQJ73U?yO zWI%_ghJk5E0CNXg4jxGkOl;5H`?s4?PoD%%De*j@#9Gy7KXKbnD(?jSCzaTU4_9CZ zBx`)43o=8yTcRWw^u=xAj$)OGMDX=y<$GgOHPKmL2#K*hMZj&b?ILED>i7x$3=q$H zkAeR#_0@`ng#ZImFD(r!k5tqQ5i6#Th!{S&E|dm4f-N5~;AGiT2VT)d$5HIe)|nyT zh!s74ZSKM0QOsK}R%~sEEk0`5tH7u;#l26gJp{(XyuwH?jvofTLEdbRn%(+ptnc!V z00{XgOa}&o*G8sSf-8{e(I2%V)4Yj7PQWX^ozDNrPGfa0jv+ls2 z9YFsa$;R;?n_IACi)bb zy0ow-N3*eOkZyQ}mO+JR(1FfspwE;6+eVddGV?3QeX3owfo!cRzg?{5Zlp50>Czu? zFP=#Sy7PTCh+fPR0_v?-&zNyPg@q#M=ong~2)8UP+c;aT_yMM+H5h89JEnyjnR)Is z9{@^+&N`G4QKh>T?{J7eM#?Pn17Tm38Ji#8#)E1rTYz*(aZoL34?j~Awn9^SHQ@O= zIyAK17^E&hWrFDKUtxYge+UwBpE^-|K5Lm?>8siBtzg(|^9m~PB@h(K&PGZ{EWxpN zXFqwf&y)VZ@&9a>EtVNs=Ip-7EM+9(;PBHq0;Yn17Mj#b>kA9HU&<6;G9Ty}EvMZl zIf0xaC=VwwW(-Fm+ENTup<%YGAUw8qw>rP-j&ph#7T>KWt|8$spbH2Fj0LW>7F6(S zX7DZ0Vw=Pq83_&P>h9+GI-9iM4IAc9osg7hXJh*AXUDAGe{fwb@Wdj5&$Uia(W?(NL(&d$7NE~2D%J&zWs z_4sq|9`F7$B)=EUOT-E5NPp_=SspL}I0F6%1eDkY=L!QHmceze^OBCAP+`}Z1%r?(TDioJkn}%c+%0?na9*910=$BIm!bSDJ4wCLvi+8kAN71L03o5F@XShT- z^R#TU_P~%3GV5@NY&${u?~&Rqy&@WZIX_dtZSGC&+2l)*fO;zlG&f(Ojcj~&L4;sN zq6b$%QA(}f?*#S8#W6-ND*IPpHOJ#rd=8`&@`rGsUdXMrpu02Z)H3Cr;rZ-=SinZHMe2t=ouD5!dtv8KGd% z**|!ZYwY?Sb7v)+eRc2( zFTXWOW#PauOmABhDceWe;o??r8?W7I#gaJ1!DWmzwAZ2#hIi?DuIYOeHI@ruB2F8> za7V`!SWSN_Jc0o=r5;}d!AS#faGeF7a1E-+SsWMcB7TtuJ!~5BdiHt}MauA@h?Bi{ zU_k~CL4rrk>AT=HvXDW%p5i3MahB^JlRz*`>x~4>%XO3n+~U&CQ_0r7tz=K_AE@vU zeHG}x5HT@)D}LhALZ1+}xs;U+7E$s6gnkQeeihc3lu&0E3_afh4dF`#>9GX_{v4?J zTd=gmTbhA&oEM!=b@BT1zo_-~-2;)+-A-ed(PZ#-LbM=4CFWF9Jt5%xPg4^V|WC$B9ESde$IDBFT zcnUjB?*HtogWpUD(?*I*k(d5r-`t$ zb?Mzud74iV7n53}*?3lDzTo_y>c#nw2yOAlQM(g}yQ5jYU%0!4F;7?+DC@RqYOYW? zHqaPV>>uAMeLp=Ny~jaDiZ70=IrZ(B+WWGnCjzLc_z|1Kca15>dy0~f)2@Z*?j@J! zhl@LfK%TkUGcu`0sH6M?JnXgWu&&{g%16BI+4x{4h~=`6*0)zK;pGrAmT;yAJh)Bk%JG2JMOKf zQMk{_Rft2SzVOpTM@O8>APm8vQc8VvvU}TH?JxfewZGy$t%OL~O+pnnK)cm~-KeyH z2|H!XJCbmop6)0lY-v!GECYtkuj;??kMLw{C#M;XMHboqbg?TPvNWXv@FBY=T@!Te zeV|pQL?gudu_c@7mi!qXVHgCw;>dRVA$GC0(-w!*u_U3<(C95Cge$S}=QY zqXc6hI}R=GVu~m{0}2mFR|k|p>nC05>EszTHqGm;iIaaaBbJG<*Y7?K&GRQ|Ul4q< z+-xY)onJAVK_K0yYd_C9*3^b$z%IE|qy&b7sCpC>^@@JrDmJ%Q@f=5=JV0&&0J#yF zz3F32%Gb%uFXJTfSvD${97j%Gm&QFO1Ha7o1 zClrxEpeSQyBWv^j@h~TB&276NK zqm-~mr}gewoeWxn0YgCQ!;NfFB!IkJ8+=bpjry?0C4Aa7DN# zHuzZ%v{Z*3rpovvv1eQcQad9DA50Q~ZWk42xIe`8t9|=69zQEe;)(^`x69H&Ij#(_ zrEmmU!Tmo(@JCF^8494NJ&j$ZVD6;Rfq5o{??NE@5(x$jy0OLAq04;dHO_NRpZ?UW zyR5pDjM+C$d4G;QI<63^_Ud8(DLdU)ui9U0a zPV|&~R9jZnL2ehyV=3Rk65@L4Kzo07E>5oCVSEjD-4S68##TZ!Y|g#BG- zT@&jeHD1c&{7MZg;WlqqISjtXwAt!8f*mTF*Z3HJDs&eff*74g3 zViJws!jhDLn@z1!|K?NS56Yo2k{6$RPvT-!<#hD`r|dh%k{q!@zafBqXC|&sk1fX< z!2;$)L7_6W=9b+zNvDR0UNBD2MHfAuh}jMmEeO3Mnljc({iacFl4FKFpYh4Jvdo8H%3Sea717)ANxE=G>lwxeGOaIsN0Ub@W zJt_}q%Hq2R@nnGWQa84>p@l-on(ESln7Z>ZCA<*df(Cng3!~^{)wY~KwRh5f zda0~`iurMYXNd66a6m!l$UCIYQ>}lT%gxt5ItB69j<&UFV04`o=5JV(vezSy#H!f= zPd%W()s*uHQ8ZQmbw&owx|}hdmlFVR1&Kp?(2=J zWmr4qtS*_{V)wbSp-NQ7Ri4z=)VjNV_~!kR*gy@3wh9e^bAm1=WC65L_koM8`krp9 z7A5!0$e-V`@7Y{1V>x${)@r}XR;xtM!B9I z#1QVTY?v#ms3#^VmvrtPe=$sImA<5sa!kd^wBiZhzm%b|HDhWi_$isr(^Yjn77Xy$ z^F-$~s;{Ty$3owax1-tjnTv-){G`yLwjBhzJ3U z;5l~e>pfr1!g02AXGJDk4F?$3Ozw&vpvZf0zK_PJPf|>n`QJ*aUb_o;y))58yS&c( z#x1oDo&-emNo>}w1cpba4A1iZ{E611B4k_IQ6@Z>Zpwynn6jCJrCfA^x#3TyxPS^F zq%jm41808h&mkz#{3uLGdn6Kao*P;SmcIb8+()l1`0FiYB>wSM+MEDfFlq67xb^aJ z8i~1IDD{HYVKnhe>JL-O-ZrZrerj|3R5?-;5w8Tn^#I5Y@c5kGDvsjFSTcKddyc{1 zBwSMK?FQG_yK(P=lW6XC#pMweCYbSkmRf{H7l*kPq6c4?i9zvKpq0 zkh9jxj}Vqpt&dVCsn<%|A$=4oqxKjT1`biR7laYc``kkN9xt@>yzU!`aAOT-!O04U z;;!Y+`D%Zn**^iS^6?gyg$YYKS)FGSgsCo`IA4iRn}66p{mWl|HPef{fhN0_sGV#M z2FawVk@$mTQ&y$0uDY&5QsAi%hnfAfKdoL#WM5p!l{#L=OH0|lbKk^^^;Vww6qu>b zZnu`k^FD^RZQt-_$2q(?3(r-~I-`xtvXmR>xj#^>n_e z>Q)S5^F8b9;&-y(C`pU+|6K*SQ^A~7uy&fZ{i~6|oHEWANR@zn6i0@;ktP}ENjsS3 zEv;RU6u+HmS#y`xH5$dhNqD`31OoO?m2(8C=dlj}7N92y+arvXQ@DNx=n$pHjWR7x zO9%NzeS4)jK3(!{viK#u^dyMwnf32zQvce$dwbtLy$hhUeIKZEtM;8TlZIMl?q%F; zJsQ7ANW(nfY@|;Z(s=JMV_1F3y|feYVQO^LnQls;Z>+wZ?w7cD1QafIoe4`C%ra;G zL5pJd%`;akbK&89?fR~zW^(afXd=qRkNw}!ee^GQ{g)s=p5^+*k=1NOR7(w7I)AC8zx_$`dM3_;n!G}lu%s{)WuGR^W4PuOk-SKD zB)g#qS|F(>=Gx^{amfJst0SRTdkp?_plxi%x3puVUv|nMjs-|tqll!`{GBKFm3;*& zR~DDoVS5-v#96h|(>S5fJ1Z<_p^Vy`!kbk|PrOAjOeZIhh~Lx)gxlBwVF;kF0O804 zUIK3yrGR+{?AcEk?m4Z`GXs4$Y2{>~U#2m=W#zP(2XhMxDyF}v19}mp_oFL2-3gaV zM(XaL*?;hgvNs#Cmf-L5Fl2baf^#c-msa$9>Y6gH>iT<}go6e(0oO+^<*TZE)lp3`d+)j@IAVmH*=gj5_Vtp3^tmf+yc~_ z0((0|Yvp&lov0f>C*2=D{4-R#MK-J?!St0O9JjIe2)6-$e)!AT1hS!%oWH~j|I7*G z_aRce&={IkP-V+7HZvdpCQYQjra#qnw=?R5uD#bLIk}0@Y5S0H^rfH{#_%9@-=DQ#pzk*f!`7g~(hh~2L3x@b0Ia7pfW*B;-o1okN3sNgPPtv&P~xOm zdR=bCWlqIK8QP&hMC%0raBS02$K#ZQAN=J%64mI@V;1tMvFZ8!aV=o!K)^vWnEk(p zPBUd9aaAn8UUVDBU3@WBq?*frawCPcjk*0;!JLx(V~?t9g;2%2b?{(WS1)u>Brvf) zJIQQ5qP;gg#VtNN@1_4CO8d-X>+~+Agd+Me>?L(JqP3By}zx&HFi$OXTo*S0u58fuEq(^B1S4h~8wt#kKPj zv(3pu@8=O5bF@I|E7qKNetN*J8Vuk4{Y%NCZ%A8~KPZL37463+bPTs7c6aDA=|{dX zmfXL)_W57Wx~HRXPFv042s%*Y|dkGfn#!91N`o&0LPn0e3{f9I;{9lB12IDkT{4nWi+Grxf)!{!XQez%=+68Xg6)BEC? z$NU1qUAX#9uq;l0$Mf=>{8zEJJ|4f4Q_g(1#DJOm4gcQeq&cQ_w6HOlH)nX~dnS^d6Bai4eq)-CMVkjPx<3$(6Xih3&se?we8Zx36wR!W z)p?G>?s&#Rb9$%;uN6&uOTi1Irw~mCvdg6KO{37G~<&pluYLGvD=AE^S3{<)7**sa4FbXTR!`^*c3f> z2O|lhm#(*=ke${HxE30EM+w=@&SvIZY+^E2!9UV#&0xo zALS~#ypSH&*NwXG)*ptl=k=M5b+@g~mVNfvfQJu%ZndpAN1-rB0p4DXZC)1`HZ^r^ zXqAUtZzHr@%|5gioX}i>O6A}`uSAwjM8U2bJ5ZlR%3m&AJ7gO$E-fy z>`E_B6q1Jq16HY*xG9`aCO{g$&o}mSUy?QRj>GE_QwO4>PMrzcrT7pb8wCWsuQIz) zpmWW7%Y%UEmZcIC6Y7Zcf^zl7$N6vRu$wIb!VIY^w2cW@e*V~nHyWVZz*ODL;#*5nAmv_`Q(6G2AycQS~~fok?La*}ws3n8IY>E*Z4Tn$`}o0FW^7P-RwUp8Od65=EY#E_rN@E($B zV_Ta1BbmP7tB}Wb_?1$he*9%+Z6(ImcO5k2?8{kKF_yWx51CdPDMC)~+bx{H5`U|f zlxtU*678V?EjNH*I>#%WG1wsf99{UjLZXE`23elf>utoy8tS-yxbc+kMDlp}jx$-)im zxMtxGG$yo|KWAlQgq@;KF8C^$tZQ6fE|g}&U)k6-CPrCBo`6kd{I|5Z5bK*{OOYaQ zQ+^m@YK)-Ec98U`UNvKADjU!K+P8T!53Bwr*5h#%(wx84NsQz8`Fu!WcG_Z?Z!Fw5 zd?GMd%AzvzoA#Ybbt{tWA$fB?nbTp4V)ks|3=L)SQYdj(NhuPFUU%Lh8{)k%7nAIv zg)9_t2rjF4T$VNEb@AcHC!X+c@yxWN_(-^z1&!lCyNQ9ncGH9A5Au&;B`p=#u~mPY z?=by66EpYWm%N(1;!YKPXl1Jvyu|Ck>394Pi2tL)>VTlbucur6x~m^e5^s z1u^Wd-OCY}Z$v&Oq>l_`aQPKrwds`j8lXw;y>D|P``gT(Mi24WK)+6P*yMA{lD9$^ z%R$ScLK=}q$rQRQGN$VlAM>3~=-eOw?oj%4ZzAh*_ztajQH3k|NR{=FN)zjjQ6==Z z94PeYKuV?6h0_Z}uXPC996hmwbbH;%l07mFY6-eQBV$HYPLUJ z@JSf@Nb^M|om*}H=64lw@iOE0xGR1KWDOsC6MW_k>T*gIUWtkv&IF_Z5t=ho`W4eV zYz)Ju&bq-tOu1X#C@E}W>0aw1RrW(MomCd4H#&6O`9mB6gmk52n|Jg$wF@KsPQ|&B zjNO9MVvPaLn=4><7OyR+6)#qqohBdtq?EZpErf20;nrw}M~}Kg88Wj zpVTho!oss5%H6(pBVaX|957x$PcyYK@EqViIk`H0BRk!js*x`P_96A2bbH)u3g*$~ z&6kn4Rth;4+pxgL^zFG*fb^OzE`thgNv7SHTa8w@{u1p~ z<-C28JcxdUYrGCVWv+8r#e#rXjH>*W-}Sdo&dHBpNDZa?Imw`|hE4SR$#qZKxfi+6 zXfcr1!Ll`R?=<;4(GJ%h1)-h8u0c*Xewvt;(;pfbZBAEKTn1iu`;9TR^Mw z<`TrH^9Jx@h$xxE`muyZ`3smuic80kEM!}Iuv5joao!g zE1j@7s-PmoMvFQF%tvxxD2D{y2Cae-Tr3*e+z>roa~z&=U9>8AHYssqDDavRdf!>; z%Be(CB^!c}tW12alKg9P&4d~XR^*QUpdy+6$eGT_IPGKtfP+>j@!O~Usf_E0TMK`{ z?@;U)=;ob)=RtcvuuQt58(2&!U(z+47l1yhv-U&?W-L{br$exW~4sl5sJp z*;)Q%$QUb3_??7irEI1!b@W-3L!6LR!n_uIps&9hicKmhk<^S7G4$BAG%87r!KjJP zqzHTPD6b%T4pxN*Mi=52g6|BGlf{Of)+t1hg;HYNTm{BN&!=NWw=x;oIjzjN4tRG@ zeok(CZW3fQTMCdx_c756V2W~A=)D@nWA0&-ypF9^4fRyvg9&4F%VN8v9Nsv3dUF9~ z0$k4b^TTQ)kY>Ot5zk47HbAl}tj>hLmO4H+(}JcS{1Nwijg!+?c2=Z^G<;rm_;cFN z_i3ovpfpEW-q?hr_e|J_HU*~-=_#5hs0E@$f^JnGnJ-%^4Z&9w&9$8tE4i+#Ua0(94b@c`Z)SVKi{FrNV1#OVOb4 z3n}_iKxsZ>X>x?aeAOjRjvF_;6~=SB2i#y{vuH-s5e5|8v7pgN-#&+BRz&xGfIzTv zc8yg_%E?dfYPplTPxbWZ<^$&&iwyjv&3GoHYiT#M%D&A&zihzO%wbG>2B_< z*5}_1+rd{jEQ9AOw;Vvlx?Uf7#j7yOAe-@#6fI@cOhr}fTIu$b&^`lZ~StWt)13!b=lpy;j zv?;&CHfENol_~g&i#pe=F!M5F={uihP`tw5!(3=88RIW6p0?fRGdnqGGJ7B@RQZW^ zO0F}IcS%!9-Ha)Xo)I z{%a%hBxnpAv`2*A=95y0?OBm@ZfNs$xD3GLe)A&K>k@~xSUN(~WphHL++B!s{WeRw z%WOzzy zgrls!AaN(9^0;#LT^1Hb8&@m;x4bRd5y~;yeFwJk{kD)N_fq!$WZ`CRd8fT8V@P95 ze@K!6D8^@hCl0kLIB?2FfekZG=n9>O@Q821hRqelKdQ=UOVb9c-faF>#`)hR;pgnS zB9~eoA@dO&4W%)N4}x$gdE*beRpsW+!g+MqeP!D!V)MBP9{4g3BsIfFgbl|oA>#m0_x6n4IJ5i+i15){INXT)wh{WSJc9E2gm5IL7 z?lOp%dtnwi1W^D%KnZlhzAnlq-OzBGaf@vY7le0l|J36G#~G8$7vP$z+9KARrS3XD z_S4>$k8n3s(AFETr^Yj@CSSH^av=~2Jci|Yz&U^W5!y~Wk@BM!o|~j)sfp`4M|OSt zcV-&0qLYf=PGUd3a1--!KKgSW>)cxBH2geVtSGc=UX%0x^>uTYgs>iVE{WG{fdSxU MY+$Besf&vJAI1Mvod5s; literal 48061 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 z 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 V)`qD4b`bEncE$8^wVrd_{{g5rL4*JR diff --git a/resources/package.json b/resources/package.json index bb6eabafe4..8400997bc4 100644 --- a/resources/package.json +++ b/resources/package.json @@ -8,19 +8,16 @@ "description": "A privacy-first, open-source platform for knowledge management and collaboration.", "repository": "https://github.com/logseq/logseq", "scripts": { - "electron:dev": "electron-forge start", - "electron:debug": "electron-forge start --inspect-electron", - "electron:make": "electron-forge make", - "electron:make-linux-arm64": "electron-forge make --platform=linux --arch=arm64", - "electron:make-macos-arm64": "electron-forge make --platform=darwin --arch=arm64", - "electron:make-win-arm64": "electron-forge make --platform=win32 --arch=arm64", - "electron:publish:github": "electron-forge publish", - "rebuild:all": "electron-rebuild -v 38.4.0 -f", + "electron:dev": "electron .", + "electron:debug": "electron --inspect=9229 .", + "electron:make": "electron-builder --config electron-builder.yml --publish never", + "electron:make-linux-arm64": "electron-builder --config electron-builder.yml --linux AppImage zip --arm64 --publish never", + "electron:make-macos-arm64": "electron-builder --config electron-builder.yml --mac dmg zip --arm64 --publish never", + "electron:make-win-arm64": "electron-builder --config electron-builder.yml --win nsis zip --arm64 --publish never", + "electron:publish:github": "electron-builder --config electron-builder.yml --publish always", + "rebuild:all": "install-app-deps", "postinstall": "install-app-deps" }, - "config": { - "forge": "./forge.config.js" - }, "dependencies": { "@fastify/cors": "11.2.0", "@modelcontextprotocol/sdk": "^1.27.1", @@ -29,7 +26,6 @@ "diff-match-patch": "1.0.5", "electron-dl": "4.0.0", "electron-log": "5.4.3", - "electron-squirrel-startup": "1.0.1", "electron-window-state": "5.0.3", "extract-zip": "2.0.1", "fastify": "5.8.2", @@ -39,22 +35,16 @@ "open": "11.0.0", "semver": "7.7.4", "socks-proxy-agent": "9.0.0", - "update-electron-app": "3.1.2", + "electron-updater": "6.8.3", "zod": "^4.3.6", "keytar": "^7.9.0" }, "devDependencies": { - "@electron-forge/cli": "^7.8.3", - "@electron-forge/maker-deb": "^7.8.3", - "@electron-forge/maker-dmg": "^7.8.3", - "@electron-forge/maker-rpm": "^7.8.3", - "@electron-forge/maker-squirrel": "^7.8.3", - "@electron-forge/maker-wix": "^7.8.3", - "@electron-forge/maker-zip": "^7.8.3", - "@electron/rebuild": "4.0.1", - "electron": "38.4.0", - "electron-builder": "26.0.12", - "electron-devtools-installer": "4.0.0", - "electron-forge-maker-appimage": "https://github.com/logseq/electron-forge-maker-appimage.git" + "electron": "41.2.1", + "electron-builder": "26.8.2", + "electron-devtools-installer": "4.0.0" + }, + "resolutions": { + "node-abi": "4.28.0" } } diff --git a/scripts/bump-version.sh b/scripts/bump-version.sh index 801807f58d..612ea6dee4 100755 --- a/scripts/bump-version.sh +++ b/scripts/bump-version.sh @@ -34,7 +34,7 @@ V_PATCH=${BASE_LIST[2]} echo -e "${NOTICE_FLAG} Current version: ${WHITE}$BASE_VERSION" echo -e "${NOTICE_FLAG} Latest commit hash: ${WHITE}$LATEST_HASH" -echo -e "${NOTICE_FLAG} Current versionCode(Android) / buildVersion(MacOS): ${WHITE}$VERSION_CODE" +echo -e "${NOTICE_FLAG} Current versionCode(Android): ${WHITE}$VERSION_CODE" # V_MINOR=$((V_MINOR + 1)) # V_PATCH=0 @@ -58,7 +58,6 @@ $SED -i 's/defonce version ".*"/defonce version "'${NEW_VERSION}'"/g' src/main/f $SED -i 's/"version": ".*"/"version": "'${NEW_VERSION}'"/g' resources/package.json $SED -i 's/versionName ".*"/versionName "'${NEW_VERSION}'"/g' android/app/build.gradle $SED -i 's/versionCode .*/versionCode '${NEW_VERSION_CODE}'/g' android/app/build.gradle -$SED -i 's/buildVersion: .*/buildVersion: "'${NEW_VERSION_CODE}'",/g' resources/forge.config.js $SED -i 's/MARKETING_VERSION = .*;/MARKETING_VERSION = '${NEW_VERSION}';/g' ios/App/App.xcodeproj/project.pbxproj git --no-pager diff -U0 diff --git a/src/electron/electron/core.cljs b/src/electron/electron/core.cljs index 4623a78477..732191c778 100644 --- a/src/electron/electron/core.cljs +++ b/src/electron/electron/core.cljs @@ -13,7 +13,7 @@ [electron.server :as server] [electron.updater :refer [init-updater] :as updater] [electron.url :refer [logseq-url-handler]] - [electron.utils :refer [*win mac? linux? dev? get-win-from-sender + [electron.utils :refer [*win mac? dev? get-win-from-sender decode-protected-assets-schema-path send-to-renderer] :as utils] [electron.window :as win] @@ -33,14 +33,10 @@ (defonce *teardown-fn (volatile! nil)) (defonce *quit-dirty? (volatile! true)) -;; Handle creating/removing shortcuts on Windows when installing/uninstalling. -(when (js/require "electron-squirrel-startup") (.quit app)) - (defn setup-updater! [^js win] ;; manual/auto updater - (when-not linux? - (init-updater {:repo "logseq/logseq" - :win win}))) + (init-updater {:repo "logseq/logseq" + :win win})) (defn open-url-handler "win - the main window instance (first renderer process) diff --git a/src/electron/electron/handler.cljs b/src/electron/electron/handler.cljs index 81f774de00..1252273bba 100644 --- a/src/electron/electron/handler.cljs +++ b/src/electron/electron/handler.cljs @@ -5,7 +5,8 @@ ["abort-controller" :as AbortController] ["buffer" :as buffer] ["diff-match-patch" :as google-diff] - ["electron" :refer [app autoUpdater dialog ipcMain shell]] + ["electron" :refer [app dialog ipcMain shell]] + ["electron-updater" :refer [autoUpdater]] ["electron-window-state" :as windowStateKeeper] ["fs" :as fs] ["fs-extra" :as fs-extra] @@ -385,7 +386,8 @@ (defmethod handle :quitAndInstall [] (logger/info ::quick-and-install) - (.quitAndInstall autoUpdater)) + ;; https://www.electron.build/electron-updater.class.appupdater#quitandinstall + (.quitAndInstall autoUpdater false true)) ;; The graphHas* events are not used but maybe useful later? (defmethod handle :graphHasOtherWindow [^js win [_ graph]] diff --git a/src/electron/electron/updater.cljs b/src/electron/electron/updater.cljs index d4bc39609a..fdcfd6d196 100644 --- a/src/electron/electron/updater.cljs +++ b/src/electron/electron/updater.cljs @@ -1,161 +1,163 @@ (ns electron.updater - (:require [electron.utils :refer [mac? win32? prod? open fetch *win]] - [electron.logger :as logger] - [frontend.version :refer [version]] - [clojure.string :as string] - [promesa.core :as p] - [cljs-bean.core :as bean] + (:require [cljs-bean.core :as bean] [electron.configs :as cfgs] - ["semver" :as semver] - ["os" :as os] - ["fs" :as fs] - ["path" :as node-path] - ["electron" :refer [ipcMain app autoUpdater]])) + [electron.logger :as logger] + [electron.utils :refer [*win prod?]] + [frontend.version :refer [version]] + ["electron" :refer [ipcMain]] + ["electron-updater" :refer [autoUpdater]])) -(def *update-ready-to-install (atom nil)) (def *update-pending (atom nil)) +(def *downloaded-update (atom nil)) (def debug (partial logger/debug "[updater]")) +(def electron-version version) -;Event: 'error' -;Event: 'checking-for-update' -;Event: 'update-available' -;Event: 'update-not-available' -;Event: 'download-progress' -;Event: 'update-downloaded' -;Event: 'completed' +(defn- updater-channel + [] + (let [platform (.-platform js/process) + arch (.-arch js/process)] + (case platform + "win32" (when (#{"x64" "arm64"} arch) + (str "latest-" arch)) + "darwin" (when (#{"x64" "arm64"} arch) + (str "latest-" arch)) + nil))) -(def electron-version - (let [parts (string/split version #"\.") - parts (take 3 parts)] - (string/join "." parts))) +(defn- emit-update! + [^js win type payload] + (when-let [web-contents (and win (. ^js win -webContents))] + (.send web-contents "updates-callback" + (bean/->js {:type type :payload payload})))) -(defn get-latest-artifact-info - [repo] - (let [endpoint (str "https://update.electronjs.org/" repo "/" js/process.platform "-" js/process.arch "/" electron-version)] - (debug "checking" endpoint) - (p/catch - (p/let [res (fetch endpoint) - status (.-status res) - text (.text res)] - (if (.-ok res) - (let [info (when-not (string/blank? text) (js/JSON.parse text))] - (bean/->clj info)) - (throw (js/Error. (str "[" status "] " text))))) - (fn [e] - (logger/warn "[update server error]" e) - (throw e))))) +(defn- emit-completed! + [^js win] + (emit-update! win "completed" nil)) -(defn check-for-updates - [{:keys [repo ^js win] - [auto-download] :args}] - (let [emit (fn [type payload] - (.. win -webContents - (send "updates-callback" (bean/->js {:type type :payload payload}))))] - (debug "check for updates #" repo version) - (p/create - (fn [resolve reject] - (emit "checking-for-update" nil) - (-> (p/let - [artifact (get-latest-artifact-info repo) +(defn- normalize-payload + [payload] + (when payload + (bean/->clj payload))) - artifact (when-let [remote-version (and artifact (re-find #"\d+\.\d+\.\d+" (:url artifact)))] - (when (and (. semver valid remote-version) - (. semver lt electron-version remote-version)) artifact)) +(defn- normalize-error + [^js e] + {:message (or (.-message e) (str e))}) - url (if-not artifact (do (emit "update-not-available" nil) (throw (js/Error. "update not available"))) (:url artifact)) - _ (if url (emit "update-available" (bean/->js artifact)) (throw (js/Error. "download url not exists"))) - ;; start download FIXME: user's preference about auto download - _ (when-not auto-download (throw (js/Error. "no auto download"))) - ^js dl-res (fetch url) - _ (when-not (.-ok dl-res) (throw (js/Error. "download resource not available"))) - dest-info (p/create - (fn [resolve1 reject1] - (let [headers (. dl-res -headers) - total-size (js/parseInt (.get headers "content-length")) - body (.-body dl-res) - start-at (.now js/Date) - *downloaded (atom 0) - dest-basename (node-path/basename url) - tmp-dest-file (node-path/join (os/tmpdir) (str dest-basename ".pending")) - dest-file (.createWriteStream fs tmp-dest-file)] - (doto body - (.on "data" (fn [chunk] - (let [downloaded (+ @*downloaded (.-length chunk)) - percent (.toFixed (/ (* 100 downloaded) total-size) 2) - elapsed (/ (- (js/Date.now) start-at) 1000)] - (.write dest-file chunk) - (emit "download-progress" {:total total-size - :downloaded downloaded - :percent percent - :elapsed elapsed}) - (reset! *downloaded downloaded)))) - (.on "error" (fn [e] - (reject1 e))) - (.on "end" (fn [_e] - (.close dest-file) - (let [dest-file (string/replace tmp-dest-file ".pending" "")] - (fs/renameSync tmp-dest-file dest-file) - (resolve1 (merge artifact {:dest-file dest-file})))))))))] - (reset! *update-ready-to-install dest-info) - (emit "update-downloaded" dest-info) - (resolve nil)) - (p/catch - (fn [e] - (if e - (do - (emit "error" e) - (reject e)) - (resolve nil)))) - (p/finally - (fn [] - (emit "completed" nil)))))))) - -(defn- new-version-downloaded-cb - [_ notes name date url] - (logger/info "[update-downloaded]" name notes date url) +(defn- emit-update-downloaded! + [payload] (when-let [web-contents (and @*win (. ^js @*win -webContents))] - (.send web-contents "auto-updater-downloaded" - (bean/->js {:notes notes :name name :date date :url url})))) + (.send web-contents "auto-updater-downloaded" (bean/->js payload)))) -(defn init-auto-updater - [repo] - (when (.valid semver electron-version) - (p/let [info (get-latest-artifact-info repo)] - (when-let [remote-version (and info (re-find #"\d+\.\d+\.\d+" (:url info)))] - (if (and (. semver valid remote-version) - (. semver lt electron-version remote-version)) +(defn- configure-auto-updater! + [] + (let [channel (updater-channel)] + (when channel + (set! (.-channel autoUpdater) channel) + ;; Keep the original downgrade policy even though setting channel flips it on. + (set! (.-allowDowngrade autoUpdater) false)) + (debug "configure-auto-updater" {:platform (.-platform js/process) + :arch (.-arch js/process) + :channel channel})) + (set! (.-autoInstallOnAppQuit autoUpdater) false) + (set! (.-autoDownload autoUpdater) false)) - ;; start auto updater - (do - (debug "Found remote version" remote-version) - (when (or mac? win32?) - (debug "forward update to autoUpdater") - ;; FIXME: It seems that update-electron-app doesn't work on linux - (when-let [f (js/require "update-electron-app")] - (f #js{:notifyUser false}) - (.once autoUpdater "update-downloaded" - new-version-downloaded-cb)))) +(defn- register-auto-updater-listeners! + [^js win] + (let [checking-handler + (fn [] + (emit-update! win "checking-for-update" nil)) - (debug "Skip remote version [ahead of pre-release]" remote-version)))))) + available-handler + (fn [info] + (emit-update! win "update-available" (normalize-payload info))) + + not-available-handler + (fn [info] + (emit-update! win "update-not-available" (normalize-payload info)) + (emit-completed! win)) + + progress-handler + (fn [progress] + (emit-update! win "download-progress" (normalize-payload progress))) + + downloaded-handler + (fn [info] + (let [payload (normalize-payload info)] + (reset! *downloaded-update payload) + (logger/info "[update-downloaded]" payload) + (emit-update! win "update-downloaded" payload) + (emit-update-downloaded! payload) + (emit-completed! win))) + + error-handler + (fn [error] + (logger/warn "[updater/error]" error) + (emit-update! win "error" (normalize-error error)) + (emit-completed! win))] + (.on autoUpdater "checking-for-update" checking-handler) + (.on autoUpdater "update-available" available-handler) + (.on autoUpdater "update-not-available" not-available-handler) + (.on autoUpdater "download-progress" progress-handler) + (.on autoUpdater "update-downloaded" downloaded-handler) + (.on autoUpdater "error" error-handler) + #(do + (.off autoUpdater "checking-for-update" checking-handler) + (.off autoUpdater "update-available" available-handler) + (.off autoUpdater "update-not-available" not-available-handler) + (.off autoUpdater "download-progress" progress-handler) + (.off autoUpdater "update-downloaded" downloaded-handler) + (.off autoUpdater "error" error-handler)))) + +(defn- (.checkForUpdates autoUpdater) + (.then + (fn [_] + ;; Manual checks without auto download need an explicit terminal event. + (when-not auto-download? + (emit-completed! win)))) + (.catch + (fn [error] + (logger/warn "[updater/check]" error) + (emit-update! win "error" (normalize-error error)) + (emit-completed! win))))) + +(defn- init-auto-updater! + [^js win] + (when (and prod? (not= false (cfgs/get-item :auto-update))) + (debug "init-auto-updater") + (set! (.-autoDownload autoUpdater) true) + (-> (.checkForUpdates autoUpdater) + (.catch (fn [error] + (logger/warn "[updater/auto-check]" error) + (emit-update! win "error" (normalize-error error)) + (emit-completed! win)))))) (defn init-updater - [{:keys [repo ^js _win] :as opts}] - (and prod? (not= false (cfgs/get-item :auto-update)) (init-auto-updater repo)) - (let [check-channel "check-for-updates" + [{:keys [^js win] :as _opts}] + (configure-auto-updater!) + (let [dispose-listeners! (register-auto-updater-listeners! win) + check-channel "check-for-updates" install-channel "install-updates" + get-downloaded-channel "get-downloaded-update" check-listener (fn [_e & args] (when-not @*update-pending (reset! *update-pending true) - (p/finally - (check-for-updates (merge opts {:args args})) - #(reset! *update-pending nil)))) - install-listener (fn [_e quit-app?] - (when-let [dest-file (:dest-file @*update-ready-to-install)] - (open dest-file) - (and quit-app? (js/setTimeout #(.quit app) 1000))))] + (let [auto-download? (true? (first args))] + (-> ( @*downloaded-update bean/->js))] + (init-auto-updater! win) (.handle ipcMain check-channel check-listener) (.handle ipcMain install-channel install-listener) + (.handle ipcMain get-downloaded-channel get-downloaded-listener) #(do + (dispose-listeners!) (.removeHandler ipcMain install-channel) (.removeHandler ipcMain check-channel) + (.removeHandler ipcMain get-downloaded-channel) (reset! *update-pending nil)))) diff --git a/src/main/frontend/components/block.cljs b/src/main/frontend/components/block.cljs index b7ee391642..c508f39550 100644 --- a/src/main/frontend/components/block.cljs +++ b/src/main/frontend/components/block.cljs @@ -2137,8 +2137,6 @@ item-content (.. target -nextSibling -data)] (editor-handler/toggle-list-checkbox block item-content)))})) -(declare block-content) - (declare src-cp) (rum/defc ^:large-vars/cleanup-todo text-block-title @@ -3789,8 +3787,6 @@ (gp-mldoc/inline->edn title (mldoc/get-default-config :markdown)))) -(declare ->hiccup) - (defn- get-code-mode-by-lang [lang] (some (fn [m] (when (= (.-name m) lang) (.-mode m))) js/window.CodeMirror.modeInfo)) diff --git a/src/main/frontend/components/container.cljs b/src/main/frontend/components/container.cljs index 70d3dbf103..c752cac371 100644 --- a/src/main/frontend/components/container.cljs +++ b/src/main/frontend/components/container.cljs @@ -220,7 +220,6 @@ (rum/defc help-menu-popup [] - (hooks/use-effect! (fn [] (state/set-state! :ui/handbooks-open? false)) diff --git a/src/main/frontend/components/header.cljs b/src/main/frontend/components/header.cljs index 1e1957faa9..a2ab43d630 100644 --- a/src/main/frontend/components/header.cljs +++ b/src/main/frontend/components/header.cljs @@ -4,6 +4,7 @@ [cljs-time.core :as t] [clojure.string :as string] [dommy.core :as d] + [electron.ipc :as ipc] [frontend.common.missionary :as c.m] [frontend.components.block :as component-block] [frontend.components.export :as export] @@ -35,6 +36,7 @@ [logseq.shui.ui :as shui] [logseq.shui.util :as shui-util] [missionary.core :as m] + [promesa.core :as p] [reitit.frontend.easy :as rfe] [rum.core :as rum])) @@ -244,8 +246,17 @@ (let [[downloaded, set-downloaded] (rum/use-state nil) _ (hooks/use-effect! (fn [] - (when-let [channel (and (util/electron?) "auto-updater-downloaded")] - (let [callback (fn [_ args] + (when (util/electron?) + (-> (ipc/invoke "get-downloaded-update") + (p/then + (fn [args] + (when args + (let [args (bean/->clj args)] + (set-downloaded args) + (state/set-state! :electron/auto-updater-downloaded args))))) + (p/catch (fn [_] nil))) + (let [channel "auto-updater-downloaded" + callback (fn [_ args] (js/console.debug "[new-version downloaded] args:" args) (let [args (bean/->clj args)] (set-downloaded args) diff --git a/src/main/frontend/components/settings.cljs b/src/main/frontend/components/settings.cljs index 661b3cd6ef..3ef92b75ec 100644 --- a/src/main/frontend/components/settings.cljs +++ b/src/main/frontend/components/settings.cljs @@ -76,7 +76,7 @@ (if update-pending? (t :settings-page/checking) (t :settings-page/check-for-updates)) :class "text-sm mr-1" :disabled update-pending? - :on-click #(js/window.apis.checkForUpdates false)) + :on-click #(js/window.apis.checkForUpdates true)) :else nil)] @@ -101,6 +101,9 @@ (string/blank? type)) [:div.update-state.text-sm (case type + "checking-for-update" + [:p (t :settings-page/checking)] + "update-not-available" [:p (t :settings-page/app-updated)] @@ -114,6 +117,21 @@ (util/stop e))} svg/external-link name " 🎉"]]) + "download-progress" + (let [percent (some-> payload :percent js/Math.round)] + [:p (str "Downloading update" + (when (number? percent) + (str " " percent "%")) + "...")]) + + "update-downloaded" + [:div.flex.items-center.gap-2.flex-wrap + [:p (t :updater/new-version-install)] + (ui/button + (t :updater/quit-and-install) + :class "text-sm" + :on-click #(ipc/ipc :quitAndInstall))] + "error" [:p (t :settings-page/update-error-1) [:br] (t :settings-page/update-error-2) [:a.link @@ -121,7 +139,9 @@ (fn [e] (js/window.apis.openExternal "https://github.com/logseq/logseq/releases") (util/stop e))} - svg/external-link " release channel"]])])])) + svg/external-link " release channel"]] + + nil)])])) (rum/defc outdenting-hint [] diff --git a/src/main/frontend/handler/editor.cljs b/src/main/frontend/handler/editor.cljs index 329b47c3f2..093fa50322 100644 --- a/src/main/frontend/handler/editor.cljs +++ b/src/main/frontend/handler/editor.cljs @@ -1083,8 +1083,6 @@ (:db/id page) :page)))))) -(declare save-current-block!) - ;; FIXME: shortcut `mod+.` doesn't work on Web (Chrome) (defn zoom-in! [] (if (state/editing?) diff --git a/src/main/frontend/ui.cljs b/src/main/frontend/ui.cljs index 28c4e1e5d8..c36dca5603 100644 --- a/src/main/frontend/ui.cljs +++ b/src/main/frontend/ui.cljs @@ -298,8 +298,6 @@ (notification/clear! uid)) :icon "x"})]]]]]]))) -(declare button) - (rum/defc notification-clear-all [] [:div.ui__notifications-content diff --git a/src/main/frontend/worker/sync/apply_txs.cljs b/src/main/frontend/worker/sync/apply_txs.cljs index ebe3675bb9..367dd98e98 100644 --- a/src/main/frontend/worker/sync/apply_txs.cljs +++ b/src/main/frontend/worker/sync/apply_txs.cljs @@ -284,8 +284,7 @@ [repo] (mark-pending-txs-false! repo (mapv :tx-id (pending-txs repo)))) -(declare replay-canonical-outliner-op! - history-action-error-reason) +(declare history-action-error-reason) (defn- inline-history-action [tx-meta] diff --git a/src/resources/dicts/zh-cn.edn b/src/resources/dicts/zh-cn.edn index 1bf62c58da..c2510a961e 100644 --- a/src/resources/dicts/zh-cn.edn +++ b/src/resources/dicts/zh-cn.edn @@ -264,7 +264,7 @@ :color/red "红色" :color/yellow "黄色" - :updater/new-version-install "新版本已经准备就绪,重启应用即可更新。" + :updater/new-version-install "新版本已经准备就绪。" :updater/quit-and-install "现在安装" :notification/clear-all "清除全部通知" diff --git a/yarn.lock b/yarn.lock index 7620b13e52..a0790bbe8d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1561,23 +1561,6 @@ asap@^2.0.0: resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== -asn1.js@^4.10.1: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -assert@^1.1.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.1.tgz#038ab248e4ff078e7bc2485ba6e6388466c78f76" - integrity sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A== - dependencies: - object.assign "^4.1.4" - util "^0.10.4" - astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" @@ -1707,7 +1690,7 @@ base64-arraybuffer@^1.0.2: resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#1c37589a7c4b0746e34bd1feb951da2df01c1bdc" integrity sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ== -base64-js@^1.0.2, base64-js@^1.3.1, base64-js@^1.5.1: +base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -1770,16 +1753,6 @@ bl@^5.0.0: inherits "^2.0.4" readable-stream "^3.4.0" -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.2" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.2.tgz#3d8fed6796c24e177737f7cc5172ee04ef39ec99" - integrity sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw== - -bn.js@^5.2.1: - version "5.2.2" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.2.tgz#82c09f9ebbb17107cd72cb7fd39bd1f9d0aaa566" - integrity sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw== - boolbase@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" @@ -1828,74 +1801,6 @@ braces@^3.0.3, braces@~3.0.2: dependencies: fill-range "^7.1.1" -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - -browserify-aes@^1.0.4, browserify-aes@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.1.tgz#06e530907fe2949dc21fc3c2e2302e10b1437238" - integrity sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ== - dependencies: - bn.js "^5.2.1" - randombytes "^2.1.0" - safe-buffer "^5.2.1" - -browserify-sign@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.3.tgz#7afe4c01ec7ee59a89a558a4b75bd85ae62d4208" - integrity sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw== - dependencies: - bn.js "^5.2.1" - browserify-rsa "^4.1.0" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.5" - hash-base "~3.0" - inherits "^2.0.4" - parse-asn1 "^5.1.7" - readable-stream "^2.3.8" - safe-buffer "^5.2.1" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.24.0, browserslist@^4.28.1: version "4.28.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.1.tgz#7f534594628c53c63101079e27e40de490456a95" @@ -1917,20 +1822,6 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" @@ -1947,11 +1838,6 @@ buffer@^6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== - call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" @@ -2105,14 +1991,6 @@ chrono-node@2.9.0: resolved "https://registry.yarnpkg.com/chrono-node/-/chrono-node-2.9.0.tgz#a702016d6ec8f6d835a3ba09c6f842fc76969404" integrity sha512-glI4YY2Jy6JII5l3d5FN6rcrIbKSQqKPhWsIRYPK2IK8Mm4Q1ZZFdYIaDqglUNf7gNwG+kWIzTn0omzzE0VkvQ== -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.6.tgz#8fe672437d01cd6c4561af5334e0cc50ff1955f7" - integrity sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw== - dependencies: - inherits "^2.0.4" - safe-buffer "^5.2.1" - clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -2308,21 +2186,11 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - console-control-strings@^1.0.0, console-control-strings@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== - conventional-changelog-angular@^5.0.12: version "5.0.13" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" @@ -2496,47 +2364,6 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -create-ecdh@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hash@~1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" - integrity sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - ripemd160 "^2.0.0" - sha.js "^2.4.0" - -create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -2570,24 +2397,6 @@ cross-spawn@^7.0.3, cross-spawn@^7.0.6: shebang-command "^2.0.0" which "^2.0.1" -crypto-browserify@^3.11.0: - version "3.12.1" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.1.tgz#bb8921bec9acc81633379aa8f52d69b0b69e0dac" - integrity sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ== - dependencies: - browserify-cipher "^1.0.1" - browserify-sign "^4.2.3" - create-ecdh "^4.0.4" - create-hash "^1.2.0" - create-hmac "^1.1.7" - diffie-hellman "^5.0.3" - hash-base "~3.0.4" - inherits "^2.0.4" - pbkdf2 "^3.1.2" - public-encrypt "^4.0.3" - randombytes "^2.1.0" - randomfill "^1.0.4" - crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" @@ -2806,7 +2615,7 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== -define-data-property@^1.0.1, define-data-property@^1.1.4: +define-data-property@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== @@ -2820,15 +2629,6 @@ define-lazy-prop@^2.0.0: resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - del@^6.0.0: version "6.1.1" resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" @@ -2853,14 +2653,6 @@ dependency-graph@^1.0.0: resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-1.0.0.tgz#bb5e85aec1310bc13b22dbd76e3196c4ee4c10d2" integrity sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg== -des.js@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da" - integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - detect-file@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" @@ -2894,15 +2686,6 @@ diff@^5.1.0: resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== -diffie-hellman@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -2949,11 +2732,6 @@ dom-serializer@^2.0.0: domhandler "^5.0.2" entities "^4.2.0" -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - domelementtype@1, domelementtype@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" @@ -3064,19 +2842,6 @@ elementtree@^0.1.7: dependencies: sax "1.1.4" -elliptic@^6.5.3, elliptic@^6.5.5: - version "6.6.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" - integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - emoji-mart@^5.6.0: version "5.6.0" resolved "https://registry.yarnpkg.com/emoji-mart/-/emoji-mart-5.6.0.tgz#71b3ed0091d3e8c68487b240d9d6d9a73c27f023" @@ -3213,19 +2978,11 @@ events-universal@^1.0.0: dependencies: bare-events "^2.7.0" -events@^3.0.0, events@^3.2.0, events@^3.3.0: +events@^3.2.0, events@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -3931,7 +3688,7 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: +has-property-descriptors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== @@ -3955,38 +3712,6 @@ has-unicode@^2.0.1: resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== -hash-base@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" - integrity sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw== - dependencies: - inherits "^2.0.1" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash-base@~3.0, hash-base@~3.0.4: - version "3.0.5" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.5.tgz#52480e285395cf7fba17dc4c9e47acdc7f248a8a" - integrity sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg== - dependencies: - inherits "^2.0.4" - safe-buffer "^5.2.1" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - hasown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" @@ -3999,15 +3724,6 @@ he@1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" @@ -4052,11 +3768,6 @@ htmlparser2@^3.10.0: inherits "^2.0.1" readable-stream "^3.1.1" -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== - https-proxy-agent@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" @@ -4072,7 +3783,7 @@ iconv-lite@^0.6.3: dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: +ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -4126,7 +3837,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -4376,7 +4087,7 @@ is-text-path@^1.0.1: dependencies: text-extensions "^1.0.0" -is-typed-array@^1.1.14, is-typed-array@^1.1.3: +is-typed-array@^1.1.3: version "1.1.15" resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== @@ -4417,16 +4128,11 @@ is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" -isarray@^1.0.0, isarray@~1.0.0: +isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -4818,15 +4524,6 @@ mathml-tag-names@^2.1.3: resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - mdast-util-from-markdown@^0.8.0: version "0.8.5" resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c" @@ -4949,14 +4646,6 @@ micromatch@^4.0.4, micromatch@^4.0.5, micromatch@^4.0.8: braces "^3.0.3" picomatch "^2.3.1" -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" @@ -4994,16 +4683,6 @@ mini-svg-data-uri@^1.2.3: resolved "https://registry.yarnpkg.com/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz#8ab0aabcdf8c29ad5693ca595af19dd2ead09939" integrity sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg== -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - minimatch@3.0.5: version "3.0.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" @@ -5222,35 +4901,6 @@ node-html-parser@5.4.2: css-select "^4.2.1" he "1.2.0" -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - node-releases@^2.0.27: version "2.0.36" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.36.tgz#99fd6552aaeda9e17c4713b57a63964a2e325e9d" @@ -5373,23 +5023,6 @@ object-inspect@^1.13.3: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.4: - version "4.1.7" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" - integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - has-symbols "^1.1.0" - object-keys "^1.1.1" - object.defaults@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" @@ -5428,11 +5061,6 @@ open@^8.4.0: is-docker "^2.1.1" is-wsl "^2.2.0" -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== - os-locale@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" @@ -5514,7 +5142,7 @@ package-json-from-dist@^1.0.0: resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== -pako@~1.0.2, pako@~1.0.5: +pako@~1.0.2: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== @@ -5526,18 +5154,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0, parse-asn1@^5.1.7: - version "5.1.7" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.7.tgz#73cdaaa822125f9647165625eb45f8a051d2df06" - integrity sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg== - dependencies: - asn1.js "^4.10.1" - browserify-aes "^1.2.0" - evp_bytestokey "^1.0.3" - hash-base "~3.0" - pbkdf2 "^3.1.2" - safe-buffer "^5.2.1" - parse-entities@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" @@ -5582,11 +5198,6 @@ parse-passwd@^1.0.0: resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - path-complete-extname@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/path-complete-extname/-/path-complete-extname-1.0.0.tgz#f889985dc91000c815515c0bfed06c5acda0752b" @@ -5675,18 +5286,6 @@ path@0.12.7: process "^0.11.1" util "^0.10.3" -pbkdf2@^3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.3.tgz#8be674d591d65658113424592a95d1517318dd4b" - integrity sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA== - dependencies: - create-hash "~1.1.3" - create-hmac "^1.1.7" - ripemd160 "=2.0.1" - safe-buffer "^5.2.1" - sha.js "^2.4.11" - to-buffer "^1.2.0" - pdfjs-dist@4.2.67: version "4.2.67" resolved "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-4.2.67.tgz#dd2a65a4b00d95cd4bc2c1f6a27c5e9eb31d512a" @@ -6317,18 +5916,6 @@ prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: object-assign "^4.1.1" react-is "^16.13.1" -public-encrypt@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - pump@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.3.tgz#151d979f1a29668dc0025ec589a455b53282268d" @@ -6337,7 +5924,7 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -punycode@^1.2.4, punycode@^1.4.1: +punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== @@ -6354,11 +5941,6 @@ qs@^6.12.3: dependencies: side-channel "^1.1.0" -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== - queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -6369,21 +5951,6 @@ quick-lru@^4.0.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - rc@^1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" @@ -6503,7 +6070,7 @@ readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stre string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^2.0.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@^2.3.8, readable-stream@~2.3.6: +readable-stream@^2.0.2, readable-stream@~2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== @@ -6523,7 +6090,7 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -readline-sync@^1.4.7: +readline-sync@^1.4.10: version "1.4.10" resolved "https://registry.yarnpkg.com/readline-sync/-/readline-sync-1.4.10.tgz#41df7fbb4b6312d673011594145705bf56d8873b" integrity sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw== @@ -6702,22 +6269,6 @@ rimraf@^6.0.1: glob "^11.0.0" package-json-from-dist "^1.0.0" -ripemd160@=2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" - integrity sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w== - dependencies: - hash-base "^2.0.0" - inherits "^2.0.1" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -6725,7 +6276,7 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -6829,36 +6380,28 @@ set-function-length@^1.2.2: gopd "^1.0.1" has-property-descriptors "^1.0.2" -setimmediate@^1.0.4, setimmediate@^1.0.5: +setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== -sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: - version "2.4.12" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.12.tgz#eb8b568bf383dfd1867a32c3f2b74eb52bdbf23f" - integrity sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w== - dependencies: - inherits "^2.0.4" - safe-buffer "^5.2.1" - to-buffer "^1.2.0" - shadow-cljs-jar@1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/shadow-cljs-jar/-/shadow-cljs-jar-1.3.4.tgz#0939d91c468b4bc5eab5a958f79e7ef5696fdf62" integrity sha512-cZB2pzVXBnhpJ6PQdsjO+j/MksR28mv4QD/hP/2y1fsIa9Z9RutYgh3N34FZ8Ktl4puAXaIGlct+gMCJ5BmwmA== -shadow-cljs@2.28.23: - version "2.28.23" - resolved "https://registry.yarnpkg.com/shadow-cljs/-/shadow-cljs-2.28.23.tgz#06f2bc1f5345e35f8b0f995b4749ae4575654abe" - integrity sha512-SM7LeLctZLLCm6Y3NxWOH4GvHqHDZ6Jz9bUgfpJrk1jMADqIp3rliD6Rrd12gLX2b9/oEh6UyD7X+yw6O1++sw== +shadow-cljs@^3.4.4: + version "3.4.4" + resolved "https://registry.yarnpkg.com/shadow-cljs/-/shadow-cljs-3.4.4.tgz#e76e97192f6809af3734dcf1fa5acb55d3611e21" + integrity sha512-6/Z4XVWBavdDSbAR+ECbZTnq22Gws1zy+Ilfwcdl5SMf3ZdOYiYczqykfg/rLjlU0Ap9BvX8cEZGBExK4PGDaw== dependencies: - node-libs-browser "^2.2.1" - readline-sync "^1.4.7" + buffer "^6.0.3" + process "^0.11.10" + readline-sync "^1.4.10" shadow-cljs-jar "1.3.4" - source-map-support "^0.4.15" - which "^1.3.1" - ws "^7.4.6" + source-map-support "^0.5.21" + which "^5.0.0" + ws "^8.18.1" shallow-clone@^3.0.0: version "3.0.1" @@ -7036,14 +6579,7 @@ source-map-loader@^5.0.0: iconv-lite "^0.6.3" source-map-js "^1.0.2" -source-map-support@^0.4.15: - version "0.4.18" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" - integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== - dependencies: - source-map "^0.5.6" - -source-map-support@~0.5.20: +source-map-support@^0.5.21, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -7051,7 +6587,7 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.5.1, source-map@^0.5.6: +source-map@^0.5.1: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== @@ -7116,14 +6652,6 @@ split@^1.0.0: dependencies: through "2" -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - stream-buffers@2.2.x: version "2.2.0" resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" @@ -7141,17 +6669,6 @@ stream-exhaust@^1.0.2: resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - streamx@^2.12.0, streamx@^2.12.5, streamx@^2.13.2, streamx@^2.14.0: version "2.23.0" resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.23.0.tgz#7d0f3d00d4a6c5de5728aecd6422b4008d66fd0b" @@ -7215,7 +6732,7 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string_decoder@^1.0.0, string_decoder@^1.1.1: +string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -7655,13 +7172,6 @@ through@2, "through@>=2.2.7 <3": resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - tiny-typed-emitter@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz#b3b027fdd389ff81a152c8e847ee2f5be9fad7b5" @@ -7680,20 +7190,6 @@ tmp@^0.2.1: resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== - -to-buffer@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.2.1.tgz#2ce650cdb262e9112a18e65dc29dcb513c8155e0" - integrity sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ== - dependencies: - isarray "^2.0.5" - safe-buffer "^5.2.1" - typed-array-buffer "^1.0.3" - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -7769,11 +7265,6 @@ tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.6.2, tslib@^2.8 resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw== - tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -7801,15 +7292,6 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -typed-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" - integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== - dependencies: - call-bound "^1.0.3" - es-errors "^1.3.0" - is-typed-array "^1.1.14" - typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -7943,20 +7425,13 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -util@^0.10.3, util@^0.10.4: +util@^0.10.3: version "0.10.4" resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A== dependencies: inherits "2.0.3" -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - util@^0.12.5: version "0.12.5" resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" @@ -8083,11 +7558,6 @@ vinyl@^3.0.0, vinyl@^3.0.1: replace-ext "^2.0.0" teex "^1.0.1" -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - watchpack@^2.5.1: version "2.5.1" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.5.1.tgz#dd38b601f669e0cbf567cb802e75cead82cde102" @@ -8284,10 +7754,10 @@ write-file-atomic@^3.0.3: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@^7.4.6: - version "7.5.10" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" - integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== +ws@^8.18.1: + version "8.20.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.20.0.tgz#4cd9532358eba60bc863aad1623dfb045a4d4af8" + integrity sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA== ws@^8.19.0: version "8.19.0" @@ -8345,7 +7815,7 @@ xpath@^0.0.32: resolved "https://registry.yarnpkg.com/xpath/-/xpath-0.0.32.tgz#1b73d3351af736e17ec078d6da4b8175405c48af" integrity sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw== -xtend@^4.0.0, xtend@~4.0.1: +xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==