diff --git a/.rubocop.yml b/.rubocop.yml
index 8c07ac7..52c1734 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -8,7 +8,7 @@ inherit_mode:
- Exclude
AllCops:
- TargetRubyVersion: 3.3
+ TargetRubyVersion: 4.0
Exclude:
# Dummy app
- spec/dummy/tmp/**/*
diff --git a/Gemfile.lock b/Gemfile.lock
index d8e0c42..f6af14d 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
- katalyst-content (3.1.3)
+ katalyst-content (3.4.0)
active_storage_validations
activerecord
katalyst-govuk-formbuilder
@@ -115,11 +115,11 @@ GEM
rack-test (>= 0.6.3)
regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2)
- compare-xml (0.66)
- nokogiri (~> 1.8)
+ compare-xml (1.0.0)
+ nokogiri (>= 1.6)
concurrent-ruby (1.3.7)
connection_pool (3.0.2)
- crass (1.0.6)
+ crass (1.0.7)
cuprite (0.17)
capybara (~> 3.0)
ferrum (~> 0.17.0)
@@ -148,16 +148,16 @@ GEM
concurrent-ruby (~> 1.1)
webrick (~> 1.7)
websocket-driver (~> 0.7)
- globalid (1.3.0)
+ globalid (1.4.0)
activesupport (>= 6.1)
- govuk_design_system_formbuilder (6.2.0)
+ govuk_design_system_formbuilder (6.2.1)
actionview (>= 7.2)
activemodel (>= 7.2)
activesupport (>= 7.2)
html-attributes-utils (~> 1)
html-attributes-utils (1.0.2)
activesupport (>= 6.1.4.4)
- i18n (1.15.0)
+ i18n (1.15.2)
concurrent-ruby (~> 1.0)
image_processing (2.0.2)
importmap-rails (2.2.3)
@@ -170,8 +170,8 @@ GEM
prism (>= 1.3.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
- json (2.19.9)
- katalyst-govuk-formbuilder (1.27.0)
+ json (2.20.0)
+ katalyst-govuk-formbuilder (1.28.0)
govuk_design_system_formbuilder (>= 6.2.0)
katalyst-html-attributes (1.1.2)
activesupport
@@ -217,7 +217,7 @@ GEM
parser (3.3.11.1)
ast (~> 2.4.1)
racc
- pp (0.6.3)
+ pp (0.6.4)
prettyprint
prettyprint (0.2.0)
prism (1.9.0)
@@ -225,9 +225,6 @@ GEM
actionpack (>= 7.0.0)
activesupport (>= 7.0.0)
rack
- psych (5.4.0)
- date
- stringio
public_suffix (7.0.5)
puma (8.0.2)
nio4r (~> 2.0)
@@ -276,9 +273,14 @@ GEM
zeitwerk (~> 2.6)
rainbow (3.1.1)
rake (13.4.2)
- rdoc (7.2.0)
+ rbs (4.0.3)
+ logger
+ prism (>= 1.6.0)
+ tsort
+ rdoc (8.0.0)
erb
- psych (>= 4.0.0)
+ prism (>= 1.6.0)
+ rbs (>= 4.0.0)
tsort
regexp_parser (2.12.0)
reline (0.6.3)
@@ -314,7 +316,7 @@ GEM
rubocop-ast (1.49.1)
parser (>= 3.3.7.2)
prism (~> 1.7)
- rubocop-capybara (2.23.0)
+ rubocop-capybara (3.0.0)
lint_roller (~> 1.1)
rubocop (~> 1.81)
rubocop-factory_bot (2.28.0)
@@ -334,7 +336,7 @@ GEM
lint_roller (~> 1.1)
rubocop (>= 1.75.0, < 2.0)
rubocop-ast (>= 1.47.1, < 2.0)
- rubocop-rails (2.35.4)
+ rubocop-rails (2.35.5)
activesupport (>= 4.2.0)
lint_roller (~> 1.1)
rack (>= 1.1)
@@ -368,7 +370,6 @@ GEM
sqlite3 (2.9.5-x86_64-linux-gnu)
stimulus-rails (1.3.4)
railties (>= 6.0.0)
- stringio (3.2.0)
thor (1.5.0)
timeout (0.6.1)
tsort (0.2.0)
@@ -387,7 +388,7 @@ GEM
activesupport (>= 7.1.0)
concurrent-ruby (~> 1)
webrick (1.9.2)
- websocket-driver (0.8.1)
+ websocket-driver (0.8.2)
base64
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
@@ -428,4 +429,4 @@ DEPENDENCIES
turbo-rails
BUNDLED WITH
- 4.0.14
+ 4.0.15
diff --git a/app/controllers/katalyst/content/direct_uploads_controller.rb b/app/controllers/katalyst/content/direct_uploads_controller.rb
deleted file mode 100755
index e85ef07..0000000
--- a/app/controllers/katalyst/content/direct_uploads_controller.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-# frozen_string_literal: true
-
-module Katalyst
- module Content
- class DirectUploadsController < ActiveStorage::DirectUploadsController
- end
- end
-end
diff --git a/app/helpers/katalyst/content/editor_helper.rb b/app/helpers/katalyst/content/editor_helper.rb
index a27565e..dc20bbf 100644
--- a/app/helpers/katalyst/content/editor_helper.rb
+++ b/app/helpers/katalyst/content/editor_helper.rb
@@ -10,9 +10,8 @@ module EditorHelper
def content_editor_rich_text_attributes(attributes = {})
{
data: {
- direct_upload_url: direct_uploads_url,
- controller: "content--editor--trix",
- action: "trix-initialize->content--editor--trix#trixInitialize",
+ controller: "content--editor--trix",
+ action: "trix-initialize->content--editor--trix#trixInitialize",
},
}.merge_html(attributes)
end
diff --git a/app/javascript/content/application.js b/app/javascript/content/application.js
index 119230c..c6c2a98 100644
--- a/app/javascript/content/application.js
+++ b/app/javascript/content/application.js
@@ -5,7 +5,6 @@ import ListController from "./editor/list_controller";
import NewItemsController from "./editor/new_items_controller";
import StatusBarController from "./editor/status_bar_controller";
import TableController from "./editor/table_controller";
-import TrixController from "./editor/trix_controller";
const Definitions = [
{
@@ -36,10 +35,6 @@ const Definitions = [
identifier: "content--editor--table",
controllerConstructor: TableController,
},
- {
- identifier: "content--editor--trix",
- controllerConstructor: TrixController,
- },
];
export { Definitions as default };
diff --git a/app/javascript/content/editor/trix_controller.js b/app/javascript/content/editor/trix_controller.js
deleted file mode 100644
index 9e12fe4..0000000
--- a/app/javascript/content/editor/trix_controller.js
+++ /dev/null
@@ -1,146 +0,0 @@
-import { Controller } from "@hotwired/stimulus";
-import "trix";
-
-// Note, action_text 7.1.2 changes how Trix is bundled and loaded. This
-// seems to have broken the default export from trix. This is a workaround
-// that relies on the backwards compatibility of the old export to window.Trix.
-const Trix = window.Trix;
-
-// Stimulus controller doesn't do anything, but having one ensures that trix
-// will be lazy loaded when a trix-editor is added to the dom.
-export default class TrixController extends Controller {
- trixInitialize(e) {
- this.element.addEventListener(
- "turbo:before-morph-attribute",
- this.suppressMorph,
- );
- this.element.addEventListener(
- "turbo:before-morph-element",
- this.suppressMorph,
- );
-
- if (this.element.toolbarElement) {
- this.element.toolbarElement.addEventListener(
- "turbo:before-morph-attribute",
- this.suppressMorph,
- );
- this.element.toolbarElement.addEventListener(
- "turbo:before-morph-element",
- this.suppressMorph,
- );
- }
- }
-
- disconnect() {
- this.element.removeEventListener(
- "turbo:before-morph-attribute",
- this.suppressMorph,
- );
- this.element.removeEventListener(
- "turbo:before-morph-element",
- this.suppressMorph,
- );
-
- if (this.element.toolbarElement) {
- this.element.toolbarElement.removeEventListener(
- "turbo:before-morph-attribute",
- this.suppressMorph,
- );
- this.element.toolbarElement.removeEventListener(
- "turbo:before-morph-element",
- this.suppressMorph,
- );
- }
- }
-
- suppressMorph = (e) => {
- // https://github.com/hotwired/turbo-rails/issues/533
- // Note that this will prevent updates from the server from making their way
- // to the trix element. Once the upstream issue is resolved we should remove
- // this compatibility patch.
- if (
- e.target.tagName === "TRIX-EDITOR" ||
- e.target.tagName === "TRIX-TOOLBAR"
- ) {
- e.preventDefault();
- }
- };
-}
-
-// Add H4 as an acceptable tag
-Trix.config.blockAttributes["heading4"] = {
- tagName: "h4",
- terminal: true,
- breakOnReturn: true,
- group: false,
-};
-
-// Remove H1 from trix list of acceptable tags
-delete Trix.config.blockAttributes.heading1;
-
-/**
- * Allow users to enter path and fragment URIs which the input[type=url] browser
- * input does not permit. Uses a permissive regex pattern which is not suitable
- * for untrusted use cases.
- */
-const LINK_PATTERN = "(https?|mailto:|tel:|/|#).*?";
-
-/**
- * Customize default toolbar:
- *
- * * headings: h4 instead of h1
- * * links: use type=text instead of type=url
- *
- * @returns {String} toolbar html fragment
- */
-Trix.config.toolbar.getDefaultHTML = () => {
- const { lang } = Trix.config;
- return `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
-};
-
-/**
- * If the element is in the HTML when Trix loads, then Trix will have already injected the toolbar content
- * before our code gets a chance to run. Fix that now.
- *
- * Note: in Trix 2 this is likely to no longer be necessary.
- */
-document.querySelectorAll("trix-toolbar").forEach((e) => {
- e.innerHTML = Trix.config.toolbar.getDefaultHTML();
-});
diff --git a/config/routes.rb b/config/routes.rb
index 77212ce..9169a0c 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,7 +1,6 @@
# frozen_string_literal: true
Katalyst::Content::Engine.routes.draw do
- resources :direct_uploads, only: :create
resources :items
resources :tables, only: %i[create update]
end
diff --git a/katalyst-content.gemspec b/katalyst-content.gemspec
index fda90b1..ba04e68 100644
--- a/katalyst-content.gemspec
+++ b/katalyst-content.gemspec
@@ -2,14 +2,14 @@
Gem::Specification.new do |spec|
spec.name = "katalyst-content"
- spec.version = "3.1.3"
+ spec.version = "3.4.0"
spec.authors = ["Katalyst Interactive"]
spec.email = ["developers@katalyst.com.au"]
spec.summary = "Rich content page builder and editor"
spec.homepage = "https://github.com/katalyst/content"
spec.license = "MIT"
- spec.required_ruby_version = ">= 3.3"
+ spec.required_ruby_version = ">= 4.0"
spec.files = Dir["{app,config,db,lib/katalyst}/**/*", "spec/factories/**/*",
"LICENSE.txt", "README.md"]
diff --git a/spec/requests/katalyst/content/direct_uploads_controller_spec.rb b/spec/requests/katalyst/content/direct_uploads_controller_spec.rb
deleted file mode 100644
index e1db889..0000000
--- a/spec/requests/katalyst/content/direct_uploads_controller_spec.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-# frozen_string_literal: true
-
-require "rails_helper"
-
-RSpec.describe Katalyst::Content::DirectUploadsController do
- subject { action && response }
-
- describe "#create" do
- let(:action) { post katalyst_content.direct_uploads_url, params: }
- let(:params) do
- {
- blob: blob_params,
- direct_upload: { blob: blob_params },
- }
- end
- let(:image_data) { Rails.root.join("../fixtures/images/sample.png").read }
- let(:blob_params) do
- {
- filename: "sample.png",
- content_type: "image/png",
- byte_size: image_data.size,
- checksum: OpenSSL::Digest::MD5.new(image_data).base64digest,
- }
- end
-
- it { is_expected.to be_successful }
- it { expect { action }.to change(ActiveStorage::Blob, :count).by(1) }
- end
-end
diff --git a/spec/system/katalyst/content/editor/content_spec.rb b/spec/system/katalyst/content/editor/content_spec.rb
deleted file mode 100644
index e852f66..0000000
--- a/spec/system/katalyst/content/editor/content_spec.rb
+++ /dev/null
@@ -1,91 +0,0 @@
-# frozen_string_literal: true
-
-require "rails_helper"
-
-RSpec.describe "katalyst/content/editor/content" do
- it "can add an anchor link" do
- item = build(:katalyst_content_content, content: "testing link editing")
- container = create(:page, items: [item])
-
- visit admin_page_path(container)
-
- within(".content--editor--item:not([data-deny-edit])") do |row|
- row.hover
- row.find("[data-icon='edit']").click
- end
-
- # wait for editor to load
- expect(page).to have_button(text: "Link")
-
- find("trix-editor").click
-
- page.execute_script("document.querySelector('trix-editor').editor.setSelectedRange([8,12])")
-
- click_on "Link"
- fill_in "Enter a URL…", with: "#anchor"
- within(".trix-dialog.trix-active") { click_on "Link" }
-
- click_on "Done"
-
- expect(page).to have_css("span", class: "status-text", text: "Unsaved changes", visible: :visible)
-
- click_on "Publish"
-
- expect(page).to have_link(class: "status-text", text: "Published", visible: :visible)
-
- visit page_path(container.slug)
-
- expect(page).to have_link(text: "link", href: "#anchor")
- end
-
- it "can add a heading" do
- item = build(:katalyst_content_content, content: "testing headings")
- container = create(:page, items: [item])
-
- visit admin_page_path(container)
-
- within(".content--editor--item:not([data-deny-edit])") do |row|
- row.hover
- row.find("[data-icon='edit']").click
- end
-
- # wait for editor to load
- expect(page).to have_button(text: "Heading")
-
- find("trix-editor").click
-
- page.execute_script("document.querySelector('trix-editor').editor.setSelectedRange([0,0])")
-
- click_on "Heading"
- click_on "Done"
-
- expect(page).to have_css("span", class: "status-text", text: "Unsaved changes", visible: :visible)
-
- click_on "Publish"
-
- expect(page).to have_link(class: "status-text", text: "Published", visible: :visible)
-
- visit page_path(container.slug)
-
- expect(page).to have_css("h4", text: "testing headings")
- end
-
- # regression test for headings not being detected on first interaction
- it "can modify an existing heading" do
- item = build(:katalyst_content_content, content: "testing headings
")
- container = create(:page, items: [item])
-
- visit admin_page_path(container)
-
- within(".content--editor--item:not([data-deny-edit])") do |row|
- row.hover
- row.find("[data-icon='edit']").click
- end
-
- # wait for editor to load
- expect(page).to have_css("trix-editor h4")
-
- # ensure heading has correctly identified that the first element is a heading
- expect(page).to have_css("button[data-trix-attribute=heading4]", class: "trix-active")
- end
-end
diff --git a/yarn.lock b/yarn.lock
index c1c4660..7248fb5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -65,130 +65,130 @@
estree-walker "^2.0.2"
picomatch "^4.0.2"
-"@rollup/rollup-android-arm-eabi@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.0.tgz#634b0258cc501bef2353cee09a887b434826e81f"
- integrity sha512-IPIQ55ythEHkfEd9jMEi32OQ7SxURsGA43JI22lj01OLZNt2NUbJX8YUHxkVWyQ6daHPNn0truF5nSj3DQp6YQ==
-
-"@rollup/rollup-android-arm64@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.0.tgz#d7804ff9c31c2b8e7c51d966fedac65a4c828578"
- integrity sha512-M6s9cr10MibETyo8JsOkq+Lo1+lU6hcvb1MApnUql5qte/5hMEgzlN8/ReIKNfRV8rrqX50W1BX9zoUhC192RA==
-
-"@rollup/rollup-darwin-arm64@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.0.tgz#f26d03228e48c8bd55ff6be847242308dbfdb50d"
- integrity sha512-BqCoMoIbn0keKys+dEAdBa70EtOwV1bEsQCUgU9FdiZmmMge/Zk7LlkYGqbrdHR+Frnt0E1FOanly+rlwvvQzw==
-
-"@rollup/rollup-darwin-x64@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.0.tgz#6e9037ccfc806a749aa044b063256a26ad32339d"
- integrity sha512-SIMzST3VFNXDAbeIWDWiFCNM5qncUBDWaEV7NfE7oZbDt2mgfW4MvbKdbYiGOLoM32gbTv608UMd0XktEYSD7w==
-
-"@rollup/rollup-freebsd-arm64@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.0.tgz#ff448605b36cc4736a6fea89bd0eb74653f09cbc"
- integrity sha512-ezjfSQMP7ArdUsbBwbQIfwAlhE84I2iVnzQNCFSveqV42q+BmKlzVpf7mxv5EchLcoWU4y6/heFzVg1F+hodUQ==
-
-"@rollup/rollup-freebsd-x64@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.0.tgz#a30fe00a8651b577966022d1db1fb1bd6776105e"
- integrity sha512-9+qTWGW9AZRhnUgwtTwzNwcPlL87ngkeN0LA+q1bADvmY9aNvWaF2TFW8BZgnQPYxpDI7+rMVLivcd4V737TAQ==
-
-"@rollup/rollup-linux-arm-gnueabihf@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.0.tgz#0ba85b63893eb17e11052bd21fe2809afc475a82"
- integrity sha512-T1dMEQhXA/jkJ/jyMIw9IovK8bSUq7A8kLIlvZTb/6YIVsp2zLavr4F3oyllHWo7eIVJRyE5n3tUjQJEbE1IuQ==
-
-"@rollup/rollup-linux-arm-musleabihf@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.0.tgz#982bf23fcfe4e8e13002912d4073f56a2eea2a39"
- integrity sha512-2as0LgT7qQpyceQq6VUJYnumUMUrgGQCWIiDIN9DE0/tglsk6o66uCB4f3djRawAltvfCNLyZZrsqbPA6inCsA==
-
-"@rollup/rollup-linux-arm64-gnu@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.0.tgz#c94d1e8bd116ea2b569aab37dd04a6ccab74f1ab"
- integrity sha512-bVURMg+6eNN9C/yc0aVjooZcwTTtYF4YW3xta5pP0//r3o1V8gXEHXWCndj47w/HhwsFroZrFhR+6uQP5T0n0g==
-
-"@rollup/rollup-linux-arm64-musl@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.0.tgz#a7d79014ba3c5dd2d140309730365d413976db24"
- integrity sha512-Ful8pM/2yYI83PViWdFdpZhdI8HJ5qsXANe5atypbHDf+KIBBDsZsbyy8hbXnULVvW9NsTh5DHwbcBftyLTfiw==
-
-"@rollup/rollup-linux-loong64-gnu@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.0.tgz#5dd943c58bda55d8b269426bd60a47dd9c27776e"
- integrity sha512-9Gp/DgrkzfUBmNPVTyPTvay+4xEP7M/clXpj3efXBcm6uTIVIgDg4rqUpqKXvLEuFRVuEpSAOkhgNeecvaZ4Cg==
-
-"@rollup/rollup-linux-loong64-musl@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.0.tgz#08b1b9d362c64847306fea979b935e93a2590c4e"
- integrity sha512-m9tsJz54LUXkSYM8+8PG81B9IKK5r+2T0clMq4QrS16xFosufU7firBDAZEsDheDs7wTlP7h3++S7lMsU955HA==
-
-"@rollup/rollup-linux-ppc64-gnu@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.0.tgz#1c5de568966d11091281b22bc764ee7adf92667b"
- integrity sha512-3UvJ5PNVU16aJf6M3tFI24pWzAl2/ynfbyRN3ICyQajK1lSkrnVYNnLz3v04J32qKa0FczJc22zeToc0lr2A3w==
-
-"@rollup/rollup-linux-ppc64-musl@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.0.tgz#4dde1c9b941748ea49e07cfc96c64b18236225cd"
- integrity sha512-vRWUAbYLGHBZS6Q8Msb2sfnf1fvJf+47t8l/TwOerM2qArzy+IeNMTHrYLHXh95h8MoatPHI5hhSZNs+mGXKPg==
-
-"@rollup/rollup-linux-riscv64-gnu@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.0.tgz#21dd1014033b970dd23189d1d4d3cdab45de7f9a"
- integrity sha512-c00T5SYENHAt86cfW47URaP3Us5vLC/4QO7GYud1G5VNRffCwwCuBspwqYrriuJB+5m0WFzClCn9wed0FBjKvg==
-
-"@rollup/rollup-linux-riscv64-musl@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.0.tgz#4664e0bae205a3a18eb6407c10054c4b8dd7f381"
- integrity sha512-krrCDilhXOwFkSkO3Wm9I/f9H0L92XHHwy2fwxjukxIbh0dem8gZqOW5Y8BsHrpJv5qwlRBV+Wl4ZFyRWhUpwg==
-
-"@rollup/rollup-linux-s390x-gnu@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.0.tgz#b05a6b3af6a0d3c9b9f7be9c253eb4f101a67848"
- integrity sha512-7pfYFSTc4/rUC/FtAI0Qp6QthDBCIi6/AuP1xYqFk5vanI6KnL5dWKP60OM/05LOsbwTmIcvr6eXC4CJuJ75IA==
-
-"@rollup/rollup-linux-x64-gnu@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.0.tgz#85dda72aa08cdc256f80f46d881b2a988bb0cce2"
- integrity sha512-7SDIalKeIpG0Ifogbbdn58HmSotYMlf23K3dCJEmiVd9Fg36Vmni82iPQec27N3wY4Bvbxftkxz6vSx9OcouTg==
-
-"@rollup/rollup-linux-x64-musl@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.0.tgz#d79f5be62a484b58a8ec4d5ae23acf7b0eb1a8ff"
- integrity sha512-eRZevouTH2i1HeAVLqJuLnt256krQkGY0TN6WsTmsIhuzbh457HuWDMakKwmi0Cjadux983CoSr8Lim2QhUIFw==
-
-"@rollup/rollup-openbsd-x64@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.0.tgz#8ebafe0d66cde1c8ab0a867cd9dcea89e22ee7b1"
- integrity sha512-3oVS7FLGa4U1qcvao9ylGxrjXZyUQqR8UwxEcnUEyPX53O/C/mKDZegNXTdHCP+h3e6ta/f1EN38Yif1mmZHYg==
-
-"@rollup/rollup-openharmony-arm64@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.0.tgz#105537bcfcb2fd82796518184e995ae4396bb792"
- integrity sha512-yTB9TgfWj5wHe5QgktAgXTLLot1gvEjl1NiPPAUiCs4oPrIWFl5V4nC3GrkNdj9LaAU4s94nVrGbGOCqUpyWsg==
-
-"@rollup/rollup-win32-arm64-msvc@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.0.tgz#08ebcfc01b5b3b106ae074bae3692e94a63b5125"
- integrity sha512-5LOhoaesY3doG1c+ac/2JtgREpKoJr5bUHH8tKY0V8di7+uSV6BwLs2PlR0/yzefGOkR+wE7ZolZphHCsyG5Rw==
-
-"@rollup/rollup-win32-ia32-msvc@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.0.tgz#493005cb0fcab009e866ccdbad3c97c512c2bf4b"
- integrity sha512-yYkWHhmbhRTWTnWos5HC4GcPQfjlzzCNbM9e/+GXrLuaBXYA3qSDR9f0Vgufd5S8yX81U8jPKp7ZnAjZFMtRnw==
-
-"@rollup/rollup-win32-x64-gnu@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.0.tgz#47b40294def035268329d5ffd5364347bf726e5f"
- integrity sha512-SoTb6lPg25xZlA2ibwQ++ahCCnH+FP0qmEuafMJ4gznZKOlXioKEAeJLgCrqjM98ACziXM9V1amFjICVL4IFoA==
-
-"@rollup/rollup-win32-x64-msvc@4.62.0":
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.0.tgz#6850434fdb691e9b2408ded9b65ea357bf83636d"
- integrity sha512-5L+T1fMX4RIEBoZzT0+sQ0PhTS36NULFmMXtl1TZo44TMAROIMHbZufSOjVWt/Y622BtxgxtaNOokbTDvfsrZA==
+"@rollup/rollup-android-arm-eabi@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.2.tgz#5e9849b661c2229cf967a08dbe2dbbe9e8c991e5"
+ integrity sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg==
+
+"@rollup/rollup-android-arm64@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.2.tgz#5b0699ee5dd484b222c9ed74aff43c91ea8b17f8"
+ integrity sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw==
+
+"@rollup/rollup-darwin-arm64@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.2.tgz#8bc52c9d7a3ce8d0533c351a9c935de781daa06f"
+ integrity sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A==
+
+"@rollup/rollup-darwin-x64@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.2.tgz#ba2ef3e8fb310f0af35588f270cfa5aa96e48764"
+ integrity sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA==
+
+"@rollup/rollup-freebsd-arm64@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.2.tgz#93b10bdbfe8ada226b8bc0c02ef6b7f544474d96"
+ integrity sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw==
+
+"@rollup/rollup-freebsd-x64@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.2.tgz#3e8aa38ef3c9c300946871e3fdbb0c30e0a20f86"
+ integrity sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg==
+
+"@rollup/rollup-linux-arm-gnueabihf@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.2.tgz#1d7994384bb0ad1bc41921b506e1642d4f9d7fc3"
+ integrity sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg==
+
+"@rollup/rollup-linux-arm-musleabihf@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.2.tgz#a6540f47cf844a56b80ca9ff95d2acdfb2cef97b"
+ integrity sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA==
+
+"@rollup/rollup-linux-arm64-gnu@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.2.tgz#404f2045651840cbf48da91ba6d0f490f0bc2cbf"
+ integrity sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA==
+
+"@rollup/rollup-linux-arm64-musl@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.2.tgz#a3404ffddf7b474b48c99b9c893b6247bb765ba5"
+ integrity sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ==
+
+"@rollup/rollup-linux-loong64-gnu@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.2.tgz#e8aac6d549b377945e349882f199b7c8eb75ca38"
+ integrity sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg==
+
+"@rollup/rollup-linux-loong64-musl@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.2.tgz#6e2e44ea50310b3a582078a915e5feb879c820d4"
+ integrity sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ==
+
+"@rollup/rollup-linux-ppc64-gnu@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.2.tgz#6898302da6d77a0537cde64b2b4c6b60659bd110"
+ integrity sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A==
+
+"@rollup/rollup-linux-ppc64-musl@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.2.tgz#333717c95dd5a66bef8f63e7ef8a9fd845fd18d0"
+ integrity sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w==
+
+"@rollup/rollup-linux-riscv64-gnu@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.2.tgz#81bc06ba380352004d01f4826eb7cdccefa05bad"
+ integrity sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg==
+
+"@rollup/rollup-linux-riscv64-musl@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.2.tgz#95a7cd39de21389ad6788a5284eaaa738e29ca4c"
+ integrity sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q==
+
+"@rollup/rollup-linux-s390x-gnu@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.2.tgz#06e6db2ec1bc48b5374c7923ef83c2eb024b2452"
+ integrity sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg==
+
+"@rollup/rollup-linux-x64-gnu@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.2.tgz#5dc818988285e09e88790c6462def72413df2da3"
+ integrity sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A==
+
+"@rollup/rollup-linux-x64-musl@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.2.tgz#2080f4a93349e9afd34be6fc1a37e01fc8bfc80f"
+ integrity sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg==
+
+"@rollup/rollup-openbsd-x64@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.2.tgz#21d64a8acb66221724b923e51af5333df1af044b"
+ integrity sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg==
+
+"@rollup/rollup-openharmony-arm64@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.2.tgz#8e0fcd9d02141e337b4c5b5cff576cb9a76b1ba0"
+ integrity sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA==
+
+"@rollup/rollup-win32-arm64-msvc@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.2.tgz#bdb4cc4efd58efe808203347f0f5463f0ea16e52"
+ integrity sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg==
+
+"@rollup/rollup-win32-ia32-msvc@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.2.tgz#dbaebde5afd24eae0eefe915d901632e7cb59860"
+ integrity sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q==
+
+"@rollup/rollup-win32-x64-gnu@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.2.tgz#84109e85fea5f8f1353499f96578fdc2a0e8b138"
+ integrity sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg==
+
+"@rollup/rollup-win32-x64-msvc@4.62.2":
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.2.tgz#3671ce3f9b928d5c01f879792d5c0b60ae14d4ad"
+ integrity sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==
"@types/estree@1.0.9", "@types/estree@^1.0.0":
version "1.0.9"
@@ -270,9 +270,9 @@ picomatch@^4.0.2:
integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==
prettier@^3.8.1:
- version "3.8.4"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.8.4.tgz#f334f013ac04a96676f24dabc23c1c4ae1bae411"
- integrity sha512-N2MylSdi48+5N/6S5j+maeHbUSIzzZ5uOcX5Hm4QpV8Dkb1HFjfAKTKX6yNPJQD9AhcT3ifHNB66tWTTJDi11Q==
+ version "3.9.4"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.9.4.tgz#a9c477cf1614376bd1f6bbc593d8c0d414bcec87"
+ integrity sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg==
resolve@^1.22.1:
version "1.22.12"
@@ -285,43 +285,43 @@ resolve@^1.22.1:
supports-preserve-symlinks-flag "^1.0.0"
rollup@^4.57.1:
- version "4.62.0"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.62.0.tgz#f68956c966f3c4a51dafbafc5d5388553244191b"
- integrity sha512-nc72Wgq62I7rtDV4izT5/aaS0zxy3kttkinf9586ApknY3jZO9NYsmtc24fUckA0X7Q2v+ML4a15pdUlV5V/jA==
+ version "4.62.2"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.62.2.tgz#d90fc4cb811f071303c890b779595634f35f9541"
+ integrity sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==
dependencies:
"@types/estree" "1.0.9"
optionalDependencies:
- "@rollup/rollup-android-arm-eabi" "4.62.0"
- "@rollup/rollup-android-arm64" "4.62.0"
- "@rollup/rollup-darwin-arm64" "4.62.0"
- "@rollup/rollup-darwin-x64" "4.62.0"
- "@rollup/rollup-freebsd-arm64" "4.62.0"
- "@rollup/rollup-freebsd-x64" "4.62.0"
- "@rollup/rollup-linux-arm-gnueabihf" "4.62.0"
- "@rollup/rollup-linux-arm-musleabihf" "4.62.0"
- "@rollup/rollup-linux-arm64-gnu" "4.62.0"
- "@rollup/rollup-linux-arm64-musl" "4.62.0"
- "@rollup/rollup-linux-loong64-gnu" "4.62.0"
- "@rollup/rollup-linux-loong64-musl" "4.62.0"
- "@rollup/rollup-linux-ppc64-gnu" "4.62.0"
- "@rollup/rollup-linux-ppc64-musl" "4.62.0"
- "@rollup/rollup-linux-riscv64-gnu" "4.62.0"
- "@rollup/rollup-linux-riscv64-musl" "4.62.0"
- "@rollup/rollup-linux-s390x-gnu" "4.62.0"
- "@rollup/rollup-linux-x64-gnu" "4.62.0"
- "@rollup/rollup-linux-x64-musl" "4.62.0"
- "@rollup/rollup-openbsd-x64" "4.62.0"
- "@rollup/rollup-openharmony-arm64" "4.62.0"
- "@rollup/rollup-win32-arm64-msvc" "4.62.0"
- "@rollup/rollup-win32-ia32-msvc" "4.62.0"
- "@rollup/rollup-win32-x64-gnu" "4.62.0"
- "@rollup/rollup-win32-x64-msvc" "4.62.0"
+ "@rollup/rollup-android-arm-eabi" "4.62.2"
+ "@rollup/rollup-android-arm64" "4.62.2"
+ "@rollup/rollup-darwin-arm64" "4.62.2"
+ "@rollup/rollup-darwin-x64" "4.62.2"
+ "@rollup/rollup-freebsd-arm64" "4.62.2"
+ "@rollup/rollup-freebsd-x64" "4.62.2"
+ "@rollup/rollup-linux-arm-gnueabihf" "4.62.2"
+ "@rollup/rollup-linux-arm-musleabihf" "4.62.2"
+ "@rollup/rollup-linux-arm64-gnu" "4.62.2"
+ "@rollup/rollup-linux-arm64-musl" "4.62.2"
+ "@rollup/rollup-linux-loong64-gnu" "4.62.2"
+ "@rollup/rollup-linux-loong64-musl" "4.62.2"
+ "@rollup/rollup-linux-ppc64-gnu" "4.62.2"
+ "@rollup/rollup-linux-ppc64-musl" "4.62.2"
+ "@rollup/rollup-linux-riscv64-gnu" "4.62.2"
+ "@rollup/rollup-linux-riscv64-musl" "4.62.2"
+ "@rollup/rollup-linux-s390x-gnu" "4.62.2"
+ "@rollup/rollup-linux-x64-gnu" "4.62.2"
+ "@rollup/rollup-linux-x64-musl" "4.62.2"
+ "@rollup/rollup-openbsd-x64" "4.62.2"
+ "@rollup/rollup-openharmony-arm64" "4.62.2"
+ "@rollup/rollup-win32-arm64-msvc" "4.62.2"
+ "@rollup/rollup-win32-ia32-msvc" "4.62.2"
+ "@rollup/rollup-win32-x64-gnu" "4.62.2"
+ "@rollup/rollup-win32-x64-msvc" "4.62.2"
fsevents "~2.3.2"
serialize-javascript@^7.0.3:
- version "7.0.5"
- resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-7.0.5.tgz#c798cc0552ffbb08981914a42a8756e339d0d5b1"
- integrity sha512-F4LcB0UqUl1zErq+1nYEEzSHJnIwb3AF2XWB94b+afhrekOUijwooAYqFyRbjYkm2PAKBabx6oYv/xDxNi8IBw==
+ version "7.0.6"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-7.0.6.tgz#f2f20c8af0757e4d8fa329d0210636da0682ddef"
+ integrity sha512-ATTK5Q4gFVg0YDp1my2vqygyvhcklD/UV5GIlYHooGTn/NogJqIzpetkD6E5kmuVULqz/S9inUL25XcAgDRJQg==
smob@^1.0.0:
version "1.6.2"