Commit graph

727 commits

Author SHA1 Message Date
Atieno
da8d30e0c6 [REST Sandbox] Remove SwaggerUI from MediaWiki Releases
Bug: T397470
Change-Id: I4e25792e347e8eeeb1dee4db1d25128948c1cdd0
2025-06-30 16:05:49 +01:00
daniel
e3c2412ed0 swagger-ui: Add licenses of packages used by Swagger UI bundle
Why:
- Since we re-distribute a Swagger bundle that includes all the
  libraries, we should also supply the licenses associated with these
  libraries.
- See https://github.com/swagger-api/swagger-ui/issues/8317

What:
- Create a directory containing the relevant OSI licenses.
- Create a list of all the libraries included in Swagger UI
  and their respective licenses.

Bug: T382086
Change-Id: I30be1fee2b3ebd7352fa6255a95969e91a75d575
(cherry picked from commit ea8d04800ff074f15ab4c83b39db438bb26fa617)
2025-04-14 19:55:42 +00:00
Kunal Mehta
39edc88921 Commit swagger-ui's NOTICE
It contains the copyright statement that accompanies the LICENSE.

This doesn't not address the concerns in T382086, which is that
swagger-ui bundles other projects without retaining their copyright
statements, but gets us one step closer by including at least some
information.

Change-Id: I11e80abee385576e7e0350bd5d7a43758d2b2e92
(cherry picked from commit 9361efc5bc0d92c4e49ed5a3cadae357bafb79a7)
2025-01-15 16:09:22 +00:00
Anne Tomasevich
816e44f199 Update OOUI to v0.51.2
Release notes:https://gerrit.wikimedia.org/g/oojs/ui/+/v0.51.2/History.md

Bug: T210534
Bug: T324382
Bug: T376276
Depends-On: I50ec27302347203170cb14c7228b6c3d3264b24c
Change-Id: Iea7cbc00d988504660754e8728707d0021ae37d7
(cherry picked from commit eb6a4ea1ae271668a0ef78e86ccc180d84614e68)
2024-11-13 20:20:25 +00:00
lwatson
15eea4cea6 Update Codex from v1.13.1 to v1.14.0
Bug: T362650
Bug: T370057
Bug: T371118
Bug: T374659
Bug: T374882
Bug: T375699
Bug: T375700
Bug: T376024
Bug: T376622
Change-Id: I18684997862a1a6427627d8061a2583fff00e621
2024-10-16 09:11:15 -07:00
Anne Tomasevich
0823ce884e Update Codex from v1.13.0 to v1.13.1
Bug: T322014
Bug: T362346
Bug: T373225
Bug: T375698
Bug: T376045
Change-Id: I48c5a0e781fb10893adf63921124df23587b83ad
2024-10-01 18:34:35 +00:00
lwatson
e307e58979 Update OOUI to v0.51.1
Release notes: https://gerrit.wikimedia.org/g/oojs/ui/+/v0.51.1/History.md

Bug: T374858
Bug: T371201
Bug: T371466
Bug: T373226
Depends-On: I3663e72f4f1dbb6dd0b461b5a2464420937d3ed6
Change-Id: Ic8f80b0db5a08f00d9178163b1fbbb79515c1603
2024-09-19 14:10:51 -04:00
lwatson
c13fff37e2 Update Codex from v1.12.0 to v1.13.0
Bug: T251790
Bug: T360494
Bug: T363515
Bug: T365779
Bug: T370493
Bug: T371998
Bug: T372433
Bug: T372928
Bug: T373437
Bug: T374246
Bug: T374378

Change-Id: I1106330843660978bd917fe5ab7ce2e23226d3ee
2024-09-17 23:05:31 +00:00
Timo Tijhof
bad0c70a09 resources: Fix 404 Not Found for foreign Financial-Times/polyfill-library
https://github.com/Financial-Times/polyfill-library/ is now a 404.
It was transferred with redirect to
https://github.com/JakeChampion/polyfill-library/
but that has since been deleted.

https://github.com/mrhenry/polyfill-library/ is a reasonable-looking
fork that includes full history, and so this is an easy no-op to fix
CI for REL1_39 and later.

== Background (Extended version) ==

* The library was created by Andrew Betts at the Financial Times,
  at https://github.com/Financial-Times/polyfill-library/.

* At some later point a web service was created around that library,
  committed to the same repo, served from a domain that has unclear
  ownership.
  https://sansec.io/research/polyfill-supply-chain-attack
  https://twitter.com/triblondon/status/1761852117579427975

* In 2018, JakeChampion renamed the repo to polyfill-service, and
  splitt off the library into a separate repo with no prior history.
  The pre-2018 history is preserved in the polyfill-service repo.

  acf4e6c36d
  1658792449/packages

* In 2022, Krinkle had a patch merged that fixed a bug affecting
  MediaWiki. After which, we adopted the polfill. This was
  merged after polyfill-library 3.111.0 was released.

  https://github.com/mrhenry/polyfill-library/commit/0ece79ce32

* In 2023, someone transferred the "library" repo
  from https://github.com/Financial-Times/polyfill-library/
  to https://github.com/JakeChampion/polyfill-library/.

* In Feb 2024, the polyfill.io "service" appears to have been
  sold to a Chinese company, which subsequently utilized it to
  spread malicious code as part of a cyberattack. It also created
  its own flat single-commit copy of the library with no prior
  history, versioning, or other auditability.
  https://sansec.io/research/polyfill-supply-chain-attack
  https://snyk.io/blog/polyfill-supply-chain-attack-js-cdn-assets/

  https://github.com/polyfillpolyfill/polyfill-library/

* Some days after 4 Aug 2024, the official "library" repo was deleted
  from the JakeChampion account. This means the "polyfill-library"
  npm package no longer has a reachable Git upstream, since its
  source control url (Financial-Times/polyfill-library) is now no
  longer a redirect to JakeChampion/polyfill-library. Both are 404.
  https://web.archive.org/web/%2A/https://github.com/JakeChampion/polyfill-library
  https://www.npmjs.com/package/polyfill-library

* Fastly and Cloudflare both have their own forks with recent
  changes scrubbed. However, these have vendored and versioned copies
  of the polyfill-library library. Thus no history of these libs
  themselves, and do not accept patched for the actual code being
  served, only for the web service.
  They both go up to 3.111.0 (which is a few commits before the
  URL.js that we have, and misses critical bug fixes Krinkle
  submitted to Financial-Times) and after that have 4.8.0 which
  includes our fixes and one other minor change to URL.js.
  We could use that as our foreign source, but the downside is that
  it isn't a proper upstream given it's merely a distribution,
  not open to patches or bug reports. Their source is the npm package,
  which has now dead/frozen.
  https://github.com/fastly/polyfill-service/
  https://github.com/cdnjs/polyfill-service/

* Of the various polyfill-library forks, only one seems to meet these
  criteria:
  - Includes full history.
  - Published to npm.
  - Responsive to bug reports and made subsequent releases.

  https://github.com/mrhenry/polyfill-library/
  https://github.com/cdnjs/polyfill-service/issues/4

  So, for now, given that this is a no-op, use that as our remote.

Change-Id: Ia59a5e9790cbdc7b03d4ae66583fe328fbd05f53
2024-09-16 00:41:03 +00:00
Eric Gardner
e429c4ac2d Update Codex from v1.11.1 to v1.12.0
Bug: T362651
Bug: T363515
Bug: T364441
Bug: T366831
Bug: T367032
Bug: T368022
Bug: T370504
Bug: T370997
Bug: T372419
Bug: T372420
Bug: T372614
Bug: T372811
Change-Id: I76a81086e4451383d3df839f8640f09744c8172c
2024-09-04 11:11:34 -07:00
Roan Kattouw
01f5618757 Update Codex from v1.11.0 to v1.11.1
Bug: T314446
Bug: T365178
Bug: T366326
Bug: T370447
Bug: T370689
Bug: T371330
Bug: T371529
Bug: T372735
Bug: T372796
Change-Id: I904e19f3d58b4c1ec6c12c91992e81d77e463034
2024-08-20 17:10:30 -07:00
Eric Gardner
095a4ec6f4 CodexModule: use list of i18n message keys from Codex package
Previously, ResourceLoader's CodexModule class was using a hard-coded
list of message keys to add to the payload any time Codex components
get used. But now we can get the list of messages directly from
Codex. This change replaces the hardcoded list of strings with
a call to file_get_contents().

The list of messages is defined in a file called "messageKeys.json"
in the Codex package. In the next release of Codex, this file will
be pulled in via foreign-resources.yml; for now it has been added
manually to the Codex files in resources/lib.

Bug: T371330
Change-Id: Ib7ca66d67153dfba72d8d49b0181d49b007eedce
2024-08-12 15:30:11 -07:00
Eric Gardner
0a32592d24 Update Codex from v1.10.0 to v1.11.0
Bug: T360154
Bug: T363416
Bug: T369934
Bug: T370032
Bug: T370445
Bug: T370959
Bug: T371318
Bug: T371330
Bug: T371628
Bug: T371851
Change-Id: Iffa31b7640d93abc022bbb1bc18269afa3e48e5b
2024-08-08 09:39:48 -07:00
Gergő Tisza
a6b07302ea ForeignResourceManager: Write CDX file to disk
* Make 'manageForeignResources.php make-cdx' write the CycloneDX
  file to resources/lib/foreign-resources.cdx.json.
* Commit resources/lib/foreign-resources.cdx.json
* Add a structure test to ensure it is up to date.

Bug: T363589
Change-Id: I1e9d53590d4e7f0577d21cd51d777daf62d1f589
2024-08-08 14:51:01 +02:00
lwatson
f4408c6d6e Update Codex from v1.9.0 to v1.10.0
Bug: T314438
Bug: T364442
Bug: T369223
Bug: T369633
Bug: T369934
Bug: T370189
Bug: T370555

Change-Id: Ic13f3b6fc62522830b1cf118f6052872d88d52a2
Depends-On: Ie236c633c3cfa181f81360daa3c1ceeca7f669ec
2024-07-25 19:08:30 +00:00
jenkins-bot
7bd0b18013 Merge "Update Codex from 1.8.0 to 1.9.0" 2024-07-12 16:14:58 +00:00
Volker E.
c581a7a59f Update OOUI to v0.50.4
Release notes: https://gerrit.wikimedia.org/g/oojs/ui/+/v0.50.4/History.md

Bug: T369597
Bug: T369666
Depends-On: I23ed96557e0c1b30528fd7c4d81ade8dfd5be80e
Change-Id: I384eeead649dfa81c1dacf2fc461a2be515256d5
2024-07-12 02:32:45 +02:00
Volker E.
5cb441e49c Update Codex from 1.8.0 to 1.9.0
Bug: T358246
Bug: T363940
Bug: T366129
Bug: T367467
Bug: T367762
Bug: T367792
Bug: T368442
Bug: T368443
Bug: T369529
Depends-On: Ie642f038ef4b143166a574248ac936c78adae23e
Change-Id: Ib1dc0dabdfbd1b92efdd723c0c2f2d625aeb6e7a
2024-07-11 15:30:46 +02:00
Winston Sung
13dfedeeba
Update jquery.i18n from 1.0.7 to 1.0.10
Bug: T117845
Bug: T137376
Bug: T137411
Bug: T169436
Bug: T185421
Bug: T193566
Bug: T237672
Bug: T245359
Bug: T254854
Bug: T278639
Bug: T333425
Bug: T338416
Bug: T341545
Bug: T343865
Bug: T348376
Bug: T349093
Bug: T351724
Bug: T354519
Bug: T354926
Bug: T354937
Bug: T362041
Bug: T364291
Bug: T367991
Change-Id: I63c08002a936a07d1256e603aad213eb7c54955f
2024-07-03 16:41:18 +08:00
James D. Forrester
c5033dc5f2 Update OOUI to v0.50.3
Release notes:
 https://gerrit.wikimedia.org/g/oojs/ui/+/v0.50.3/History.md

Bug: T369010
Depends-On: I41956b4648091c963ad92be2d5cb2bce55ff33d9
Change-Id: Id737a60b14d87a074f914130cab0d5874134749f
2024-07-02 16:47:49 +01:00
Volker E.
2151855ccb Update OOUI to v0.50.2
Release notes:
 https://gerrit.wikimedia.org/g/oojs/ui/+/v0.50.2/History.md
Depends-On: Ie64bd223108b5442ea9194ce78224685f45009d4

Change-Id: I6b928e6624109a0740707325e363a919489eb5a2
2024-06-28 19:41:53 +02:00
Eric Gardner
af7df71542 Update Codex from 1.7.0 to 1.8.0
Also adds @size-tooltip and @background-color-inverted to
mediawiki.skin.defaults.less.

Bug: T308520
Bug: T340456
Bug: T349793
Bug: T364306
Bug: T366129
Bug: T366541
Bug: T366861
Bug: T367098
Bug: T367100
Bug: T367101
Change-Id: Ie06bf3e15e55272f0ebecfebe4baa9564fa804df
2024-06-25 14:27:50 -07:00
jenkins-bot
286f49b678 Merge "Add Special:RestSandbox for exploring REST API" 2024-06-14 01:19:30 +00:00
daniel
c01b7c7b4b Add Special:RestSandbox for exploring REST API
Special:RestSandbox presents a Swagger-UI interface for exploring REST APIs. The available APIs can be configured using RestSandboxSpecs.

For now, the default is to support no APIs, so the feature is disabled in production. In the future, it would make sense to expose the wiki's own REST API per default. The corresponding entry in $wgRestSandboxSpecs in LocalSettings.php would look like this:

	'mw' => [
		'url' => $wgScriptPath . '/rest.php/',
		'name' => 'MediaWiki REST API',
	]

Note that the spec URL may still change.

To also explore the endpoints exposed through RESTbase, we might add:

	'wmf-restbase' => [
		'url' => $wgServer . '/api/rest_v1/',
		'name' => 'Wikimedia RESTbase API',
	]

Similarly, we could expose a spec for endpoints on api.wikimedia.org, which could then be explored using the new special page.

NOTE: This adds a dependency on the swagger-ui npm library. See T325558 for the security review.

Bug: T362006
Change-Id: I1dd5ed82680a28f9c15136b446a2de0398525061
2024-06-13 21:40:36 +02:00
Roan Kattouw
5a8b4dad05 Update OOUI to v0.50.0
Release notes: https://gerrit.wikimedia.org/g/oojs/ui/+/v0.50.0/History.md

Bug: T367061
Bug: T364777
Bug: T365759
Depends-On: Ib183cd7c28ea3fb68a6614b38362325560b426f8
Change-Id: I8427c2ebe487e914764c1b42991545edbe112ae0
2024-06-12 02:13:25 +00:00
Roan Kattouw
2455c7eae6 foreign-resources: Update name of the Design System team
The team listed as the authors of Codex was renamed from Design Systems
(plural) to Design System (singular).

Change-Id: I1f03f923fcded1c8efde730c72b9b8fa0ac874da
2024-06-11 21:39:51 +00:00
Roan Kattouw
034540bae9 Update Codex from v1.6.1 to v1.7.0
Bug: T361717
Bug: T363741
Bug: T364748
Bug: T365207
Bug: T365748
Bug: T366206
Bug: T366538
Bug: T367062
Change-Id: I792e89a8253a426b8c723486b96cb87bf9e1d85d
2024-06-11 21:14:25 +00:00
Eric Gardner
48065759cd Update Vue.js to 3.4.27
Bug: T364789
Change-Id: Ib21a5dfdf8fcdd6c090ea74fb052181f0fb90d9e
2024-05-29 18:08:16 +00:00
Anne Tomasevich
38993eb5b5 Update Codex from v1.6.0 to v1.6.1
Note that CSS module filenames in this release have an extra 'Cdx'
prefix - this is a known bug that will be resolved with the next
release. For now, these files are not used directly, and are
properly tracked by the manifest, so there should be no discernible
changes. See T366206.

Bug: T363432
Bug: T363858
Bug: T364611
Bug: T364636
Bug: T364762
Bug: T364789
Bug: T364894
Bug: T364927
Bug: T364929
Bug: T364934
Bug: T365003
Bug: T365363
Bug: T366097
Depends-On: I04c1250aef3afbff43c11a012194263ec6b0f533
Change-Id: I4988a93e8cb0f33c198303403dde8d92223d63c4
2024-05-29 17:54:43 +00:00
jenkins-bot
1a4c5c5e4a Merge "foreign-resources: Add purl field to vue-demi" 2024-05-22 19:09:45 +00:00
Sportzpikachu
6ca62970fb foreign-resources: Add purl field to vue-demi
The purl field was merged after the vue-demi patch was created
(Ib27ac455). Add the vue-demi package URL to foreign-resources.yaml, in
order to be consistent with the other packages from npm.

Bug: T363589
Change-Id: I4f98c4bab89d8cf864fdbb24e0187e2b7219fcf2
2024-05-22 18:26:34 +00:00
Volker E.
45d80f9441 Update OOUI to v0.49.2
Release notes:
 https://gerrit.wikimedia.org/g/oojs/ui/+/v0.49.2/History.md

Bug: T364770
Depends-On: Ifa4e4f29e81f270f5a1503ddb2545baac2afeaa5
Change-Id: I52b3f0bb305e2d6c2961c3bb2fae5d66e22addd0
2024-05-17 13:32:22 -07:00
jenkins-bot
0a09051ab2 Merge "pinia: add vue-demi module to fix dev mode HMR" 2024-05-16 21:52:58 +00:00
Volker E.
15a2c2cfa3 Update Codex from 1.5.0 to 1.6.0
Bug: T300053
Bug: T353885
Bug: T360080
Bug: T360081
Bug: T361878
Bug: T363137
Bug: T363613
Bug: T363739
Bug: T363907
Bug: T363911
Bug: T364254
Bug: T364340
Bug: T364355
Bug: T364513
Bug: T364514
Bug: T364636
Bug: T364695
Bug: T364789
Change-Id: I9fda81d62c86f2e19e14ff818a8fff6e8ce5c35d
2024-05-15 18:01:14 -07:00
jenkins-bot
84641e0931 Merge "foreign-resources: Add purl field" 2024-05-13 17:10:03 +00:00
Sportzpikachu
74fd0d86a4
pinia: add vue-demi module to fix dev mode HMR
Add vue-demi as a ResourceLoader foreign resource. dc17d0e1e4 added
the pinia module to core, loading Vue in place of vue-demi. This worked
because pinia only uses vue-demi functions behind `isVue2` checks (which
do not actually exist on the Vue object but just evaluate to falsy),
except for when using hot module replacement in the development mode of
pinia.

Another way to fix pinia calling missing vue-demi functions is by adding
vue-demi as a RL module and adding it as a dependency of pinia, but this
would cause an extra HTTP request for a 560 byte file even in
production, where it is not used.

Bug: T364518
Change-Id: Ib27ac4550e4348c399dfc7e547982c1bf416a1b7
2024-05-10 08:59:33 +01:00
Gergő Tisza
3633acbadd
foreign-resources: Add purl field
This is mainly for the benefit of the CycloneDX export, which
until now did not contain anything that would identify the package
in a machine-readable way.

Also add purl codes to existing packages, based on their current
download location.

Also fix the version declaration for one package where it
mismatched the download URL.

Change-Id: Ib37afdba44b069792e5df7bebb74cf5f588148c4
Bug: T363589
2024-05-05 15:38:46 +02:00
Gergő Tisza
e849bf4d56
Revert "ForeignResourceManager: Add transform step"
This reverts commit 9d26c3f446.
It was meant for Vega 2 support in Graph, but that usecase
is now gone.

Change-Id: Ifaa364450a781d773ea341a0835ae066694cdb53
2024-05-05 15:13:29 +02:00
Jon Robson
e5eaf49989 Move oojs-router into core, to allow archiving of npm module
Doing this should make it easier for us to fix bugs and maintain
this, there seems little benefit in having this published on
npm.

Bug: T358813
Change-Id: I515e415a129da881eecdb86d8e6a274bf7584b4a
2024-05-04 09:19:34 +03:00
James D. Forrester
97f65c3836 Drop last references to JSDuck
* Update the maintenance Makefile to point to npm run doc and drop the custom file
* Drop sync references to the eg-iframe system, dropped in 5a3922a4a
* Drop a file from OOUI only imported for said eg-iframe system

Bug: T138401
Change-Id: Ic34c028ef6b43e2ba3dc6f215b6a1e7d94d97e0a
2024-05-01 08:02:42 +01:00
Roan Kattouw
0d0fc5292a Delete holdover files from the previous Codex versions
These were not yet deleted by I1f54bf4f144eaec6ed317c04bd0c851c2f01b42c
to allow MinervaNeue to be updated first.

Bug: T363712
Depends-On: I1a3c5194013f8f4523098458db45ce867fdfd8c9
Change-Id: Ic6aa3aea7767f1d7f28dfd8efbc81bf8b30d1dab
2024-05-01 00:28:52 +00:00
lwatson
67a28b0a4f Update Codex from v1.4.0 to v1.5.0
This commit does not yet delete the following files, which are still
used by MinervaNeue:
- resources/lib/codex-design-tokens/theme-codex-wikimedia-experimental.css
- resources/lib/codex-design-tokens/theme-codex-wikimedia-experimental.less
- resources/lib/codex-design-tokens/theme-codex-mode-dark.less

These files will be deleted in a follow-up change.

Bug: T346168
Bug: T360069
Bug: T360071
Bug: T360079
Bug: T360806
Bug: T361325
Bug: T362709
Bug: T362710
Bug: T362861
Bug: T363006
Bug: T363137
Depends-On: I350cb2dcf2de2e1944fffd38c8cafe9522706f0c
Depends-On: I539f4523b8d15a7815b303078529eb945c479be4
Depends-On: Icfcb5c7418061a5727580f0685054356ba4edb72
Change-Id: I1f54bf4f144eaec6ed317c04bd0c851c2f01b42c
2024-04-30 23:30:12 +00:00
Eric Gardner
2c330e6acd Update Codex from 1.3.6 to 1.4.0
Bug: T331403
Bug: T349793
Bug: T357714
Bug: T358861
Bug: T360341
Bug: T360939
Bug: T361115
Bug: T361541
Bug: T361734
Bug: T361908
Bug: T361994
Bug: T362270
Change-Id: I4711dd4f56307cd4e4c84134eb247c2108963511
2024-04-17 14:01:39 -07:00
Roan Kattouw
e577bdbe99 Update OOUI to v0.49.1
Release notes: https://gerrit.wikimedia.org/g/oojs/ui/+/v0.49.1/History.md

Bug: T343239
Bug: T349814
Bug: T350477
Bug: T355059
Bug: T358250
Bug: T361490
Depends-On: Ife54c90170dcdedcf1256e2498bfe56c17c32834
Change-Id: I02f30b44e2c7d49613b5c3760f944ef4f14da02c
2024-04-04 19:41:27 +00:00
Roan Kattouw
825d3377b6 Codex: Remove -experimental.less files that were removed upstream
We kept them for one commit because we otherwise couldn't merge the
commit updating to Codex 1.3.6 without breaking tests in Minerva, but
now that Minerva has been updated these files can be removed.

Depends-On: I0b2671cb42476eb264033fd7b15e038e74046602
Change-Id: Id3e306dc1a194c862554d4b31b1bec42dfe50c6f
2024-04-02 16:45:37 -07:00
Roan Kattouw
0900b7d2a1 Update Codex from v1.3.5 to v1.3.6
Bug: T350477
Bug: T358031
Bug: T358038
Bug: T358860
Bug: T360343
Bug: T360349
Bug: T360577
Bug: T361056
Bug: T361104
Bug: T361472
Change-Id: I12813bf0db89b72aa8f2a28ccccb3477e4361ac8
2024-04-02 16:22:04 -07:00
Roan Kattouw
eafe1d0b09 Update Codex from 1.3.4 to 1.3.5
Bug: T360336
Bug: T334790
Bug: T358031
Bug: T358032
Bug: T358827
Bug: T359074
Bug: T359148
Bug: T359550
Change-Id: Ic43e6370f321a9623261cf21784a29e9c5ccb6f4
2024-03-19 19:27:35 +00:00
lwatson
21220cf954 Update Codex from v1.3.3 to v1.3.4
Bug: T330481
Bug: T350790
Bug: T356465
Bug: T357596
Bug: T357837
Bug: T358025
Bug: T358031
Bug: T358138
Bug: T358247
Bug: T358513
Change-Id: Id7dd8e7b7d8a8433cf14d99716ff68d5be6efce7
2024-03-05 17:21:26 -05:00
James D. Forrester
ff5e637fab Upgrade OOjs Router from 0.4.0 to 0.5.0
Bug: T358813
Change-Id: Id224b9feb0a33518868914c5fde1b2fa39fb3e78
2024-03-04 15:50:16 -05:00
James D. Forrester
f343cc9774 Upgrade OOjs Router from 0.3.0 to 0.4.0
Bug: T358813
Change-Id: I2796695492a35f0022682520aa92f030abb4c36b
2024-03-01 09:50:58 -05:00