Merge branch 'main' into hughns/apalis-dependabot

This commit is contained in:
Quentin Gliech
2026-05-20 10:45:24 +02:00
committed by GitHub
5 changed files with 130 additions and 110 deletions
+3 -3
View File
@@ -11,7 +11,7 @@ updates:
- "A-Dependencies"
- "Z-Deps-Backend"
schedule:
interval: "daily"
interval: "monthly"
groups:
axum:
patterns:
@@ -49,7 +49,7 @@ updates:
- "A-Dependencies"
- "Z-Deps-CI"
schedule:
interval: "daily"
interval: "monthly"
cooldown:
default-days: 14
@@ -59,7 +59,7 @@ updates:
- "A-Dependencies"
- "Z-Deps-Frontend"
schedule:
interval: "daily"
interval: "monthly"
groups:
storybook:
patterns:
+30 -10
View File
@@ -214,7 +214,7 @@ jobs:
runs-on: ubuntu-24.04
outputs:
metadata: ${{ steps.output.outputs.metadata }}
metadata: ${{ steps.metadata.outputs.result }}
permissions:
contents: read
@@ -282,6 +282,14 @@ jobs:
- name: Build and push
id: bake
uses: docker/bake-action@a66e1c87e2eca0503c343edf1d208c716d54b8a8 # v7.1.0
env:
# By default, docker bake will add provenance information to the
# metadata output. This makes the output larger and may exceed the
# shell ARG_MAX limit. Disabling through this environment variable
# disables provenance in the metadata while still attaching provenance
# attestations to the image we push.
# https://github.com/docker/bake-action/issues/239#issuecomment-3828170326
BUILDX_METADATA_PROVENANCE: disabled
with:
files: |
./docker-bake.hcl
@@ -293,15 +301,27 @@ jobs:
base.cache-to=type=registry,ref=${{ env.BUILDCACHE }}:buildcache,mode=max
- name: Transform bake output
# This transforms the ouput to an object which looks like this:
# { reguar: { digest: "…", tags: ["…", "…"] }, debug: { digest: "…", tags: ["…"] }, … }
id: output
run: |
echo 'metadata<<EOF' >> $GITHUB_OUTPUT
echo "$STEPS_BAKE_OUTPUTS_METADATA" | jq -c 'with_entries(select(.value | (type == "object" and has("containerimage.digest")))) | map_values({ digest: .["containerimage.digest"], tags: (.["image.name"] | split(",")) })' >> $GITHUB_OUTPUT
echo 'EOF' >> $GITHUB_OUTPUT
# This transforms the output to an object which looks like this:
# { regular: { digest: "…", tags: ["…", "…"] }, debug: { digest: "…", tags: ["…"] }, … }
# We use github-script rather than shelling out to jq because the bake
# metadata can exceed the shell ARG_MAX limit when expanded.
id: metadata
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
env:
STEPS_BAKE_OUTPUTS_METADATA: ${{ steps.bake.outputs.metadata }}
with:
script: |
const bakeOutput = JSON.parse(process.env.STEPS_BAKE_OUTPUTS_METADATA);
const metadata = {};
for (const [key, value] of Object.entries(bakeOutput)) {
if (value && typeof value === 'object' && ('containerimage.digest' in value)) {
metadata[key] = {
digest: value['containerimage.digest'],
tags: value['image.name'].split(','),
};
}
}
return metadata;
- name: Sign the images with GitHub Actions provided token
# Only sign on tags and on commits on main branch
@@ -310,8 +330,8 @@ jobs:
&& (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main')
env:
REGULAR_DIGEST: ${{ steps.output.outputs.metadata && fromJSON(steps.output.outputs.metadata).regular.digest }}
DEBUG_DIGEST: ${{ steps.output.outputs.metadata && fromJSON(steps.output.outputs.metadata).debug.digest }}
REGULAR_DIGEST: ${{ steps.metadata.outputs.result && fromJSON(steps.metadata.outputs.result).regular.digest }}
DEBUG_DIGEST: ${{ steps.metadata.outputs.result && fromJSON(steps.metadata.outputs.result).debug.digest }}
run: |-
cosign sign --yes \
Generated
+28 -28
View File
@@ -3092,7 +3092,7 @@ dependencies = [
[[package]]
name = "mas-axum-utils"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"anyhow",
"axum",
@@ -3126,7 +3126,7 @@ dependencies = [
[[package]]
name = "mas-cli"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"anyhow",
"axum",
@@ -3201,7 +3201,7 @@ dependencies = [
[[package]]
name = "mas-config"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"anyhow",
"camino",
@@ -3232,7 +3232,7 @@ dependencies = [
[[package]]
name = "mas-context"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"console",
"opentelemetry",
@@ -3248,7 +3248,7 @@ dependencies = [
[[package]]
name = "mas-data-model"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"base64ct",
"chrono",
@@ -3270,7 +3270,7 @@ dependencies = [
[[package]]
name = "mas-email"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"async-trait",
"lettre",
@@ -3281,7 +3281,7 @@ dependencies = [
[[package]]
name = "mas-handlers"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"aide",
"anyhow",
@@ -3362,7 +3362,7 @@ dependencies = [
[[package]]
name = "mas-http"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"futures-util",
"headers",
@@ -3383,7 +3383,7 @@ dependencies = [
[[package]]
name = "mas-i18n"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"camino",
"icu_calendar",
@@ -3405,7 +3405,7 @@ dependencies = [
[[package]]
name = "mas-i18n-scan"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"camino",
"clap",
@@ -3419,7 +3419,7 @@ dependencies = [
[[package]]
name = "mas-iana"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"schemars 0.9.0",
"serde",
@@ -3427,7 +3427,7 @@ dependencies = [
[[package]]
name = "mas-iana-codegen"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"anyhow",
"async-trait",
@@ -3444,7 +3444,7 @@ dependencies = [
[[package]]
name = "mas-jose"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"base64ct",
"chrono",
@@ -3474,7 +3474,7 @@ dependencies = [
[[package]]
name = "mas-keystore"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"aead",
"base64ct",
@@ -3502,7 +3502,7 @@ dependencies = [
[[package]]
name = "mas-listener"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"anyhow",
"bytes",
@@ -3526,7 +3526,7 @@ dependencies = [
[[package]]
name = "mas-matrix"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"anyhow",
"async-trait",
@@ -3536,7 +3536,7 @@ dependencies = [
[[package]]
name = "mas-matrix-synapse"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"anyhow",
"async-trait",
@@ -3553,7 +3553,7 @@ dependencies = [
[[package]]
name = "mas-oidc-client"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"assert_matches",
"async-trait",
@@ -3589,7 +3589,7 @@ dependencies = [
[[package]]
name = "mas-policy"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"anyhow",
"arc-swap",
@@ -3606,7 +3606,7 @@ dependencies = [
[[package]]
name = "mas-router"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"axum",
"serde",
@@ -3617,7 +3617,7 @@ dependencies = [
[[package]]
name = "mas-spa"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"camino",
"serde",
@@ -3626,7 +3626,7 @@ dependencies = [
[[package]]
name = "mas-storage"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"async-trait",
"chrono",
@@ -3648,7 +3648,7 @@ dependencies = [
[[package]]
name = "mas-storage-pg"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"async-trait",
"chrono",
@@ -3678,7 +3678,7 @@ dependencies = [
[[package]]
name = "mas-tasks"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"anyhow",
"async-trait",
@@ -3710,7 +3710,7 @@ dependencies = [
[[package]]
name = "mas-templates"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"anyhow",
"arc-swap",
@@ -3742,7 +3742,7 @@ dependencies = [
[[package]]
name = "mas-tower"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"http",
"opentelemetry",
@@ -3995,7 +3995,7 @@ dependencies = [
[[package]]
name = "oauth2-types"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"assert_matches",
"base64ct",
@@ -6094,7 +6094,7 @@ dependencies = [
[[package]]
name = "syn2mas"
version = "1.17.0-rc.0"
version = "1.17.0"
dependencies = [
"anyhow",
"arc-swap",
+30 -30
View File
@@ -9,7 +9,7 @@ members = ["crates/*"]
resolver = "2"
# Updated in the CI with a `sed` command
package.version = "1.17.0-rc.0"
package.version = "1.17.0"
package.license = "AGPL-3.0-only OR LicenseRef-Element-Commercial"
package.authors = ["Element Backend Team"]
package.edition = "2024"
@@ -39,35 +39,35 @@ broken_intra_doc_links = "deny"
[workspace.dependencies]
# Workspace crates
mas-axum-utils = { path = "./crates/axum-utils/", version = "=1.17.0-rc.0" }
mas-cli = { path = "./crates/cli/", version = "=1.17.0-rc.0" }
mas-config = { path = "./crates/config/", version = "=1.17.0-rc.0" }
mas-context = { path = "./crates/context/", version = "=1.17.0-rc.0" }
mas-data-model = { path = "./crates/data-model/", version = "=1.17.0-rc.0" }
mas-email = { path = "./crates/email/", version = "=1.17.0-rc.0" }
mas-graphql = { path = "./crates/graphql/", version = "=1.17.0-rc.0" }
mas-handlers = { path = "./crates/handlers/", version = "=1.17.0-rc.0" }
mas-http = { path = "./crates/http/", version = "=1.17.0-rc.0" }
mas-i18n = { path = "./crates/i18n/", version = "=1.17.0-rc.0" }
mas-i18n-scan = { path = "./crates/i18n-scan/", version = "=1.17.0-rc.0" }
mas-iana = { path = "./crates/iana/", version = "=1.17.0-rc.0" }
mas-iana-codegen = { path = "./crates/iana-codegen/", version = "=1.17.0-rc.0" }
mas-jose = { path = "./crates/jose/", version = "=1.17.0-rc.0" }
mas-keystore = { path = "./crates/keystore/", version = "=1.17.0-rc.0" }
mas-listener = { path = "./crates/listener/", version = "=1.17.0-rc.0" }
mas-matrix = { path = "./crates/matrix/", version = "=1.17.0-rc.0" }
mas-matrix-synapse = { path = "./crates/matrix-synapse/", version = "=1.17.0-rc.0" }
mas-oidc-client = { path = "./crates/oidc-client/", version = "=1.17.0-rc.0" }
mas-policy = { path = "./crates/policy/", version = "=1.17.0-rc.0" }
mas-router = { path = "./crates/router/", version = "=1.17.0-rc.0" }
mas-spa = { path = "./crates/spa/", version = "=1.17.0-rc.0" }
mas-storage = { path = "./crates/storage/", version = "=1.17.0-rc.0" }
mas-storage-pg = { path = "./crates/storage-pg/", version = "=1.17.0-rc.0" }
mas-tasks = { path = "./crates/tasks/", version = "=1.17.0-rc.0" }
mas-templates = { path = "./crates/templates/", version = "=1.17.0-rc.0" }
mas-tower = { path = "./crates/tower/", version = "=1.17.0-rc.0" }
oauth2-types = { path = "./crates/oauth2-types/", version = "=1.17.0-rc.0" }
syn2mas = { path = "./crates/syn2mas", version = "=1.17.0-rc.0" }
mas-axum-utils = { path = "./crates/axum-utils/", version = "=1.17.0" }
mas-cli = { path = "./crates/cli/", version = "=1.17.0" }
mas-config = { path = "./crates/config/", version = "=1.17.0" }
mas-context = { path = "./crates/context/", version = "=1.17.0" }
mas-data-model = { path = "./crates/data-model/", version = "=1.17.0" }
mas-email = { path = "./crates/email/", version = "=1.17.0" }
mas-graphql = { path = "./crates/graphql/", version = "=1.17.0" }
mas-handlers = { path = "./crates/handlers/", version = "=1.17.0" }
mas-http = { path = "./crates/http/", version = "=1.17.0" }
mas-i18n = { path = "./crates/i18n/", version = "=1.17.0" }
mas-i18n-scan = { path = "./crates/i18n-scan/", version = "=1.17.0" }
mas-iana = { path = "./crates/iana/", version = "=1.17.0" }
mas-iana-codegen = { path = "./crates/iana-codegen/", version = "=1.17.0" }
mas-jose = { path = "./crates/jose/", version = "=1.17.0" }
mas-keystore = { path = "./crates/keystore/", version = "=1.17.0" }
mas-listener = { path = "./crates/listener/", version = "=1.17.0" }
mas-matrix = { path = "./crates/matrix/", version = "=1.17.0" }
mas-matrix-synapse = { path = "./crates/matrix-synapse/", version = "=1.17.0" }
mas-oidc-client = { path = "./crates/oidc-client/", version = "=1.17.0" }
mas-policy = { path = "./crates/policy/", version = "=1.17.0" }
mas-router = { path = "./crates/router/", version = "=1.17.0" }
mas-spa = { path = "./crates/spa/", version = "=1.17.0" }
mas-storage = { path = "./crates/storage/", version = "=1.17.0" }
mas-storage-pg = { path = "./crates/storage-pg/", version = "=1.17.0" }
mas-tasks = { path = "./crates/tasks/", version = "=1.17.0" }
mas-templates = { path = "./crates/templates/", version = "=1.17.0" }
mas-tower = { path = "./crates/tower/", version = "=1.17.0" }
oauth2-types = { path = "./crates/oauth2-types/", version = "=1.17.0" }
syn2mas = { path = "./crates/syn2mas", version = "=1.17.0" }
# OpenAPI schema generation and validation
[workspace.dependencies.aide]
+39 -39
View File
@@ -27,7 +27,7 @@ export type LocalazyMetadata = {
};
const localazyMetadata: LocalazyMetadata = {
projectUrl: "https://localazy.com/p/matrix-authentication-service",
projectUrl: "https://localazy.com/p/matrix-authentication-service!v1.17",
baseLocale: "en",
languages: [
{
@@ -208,25 +208,25 @@ const localazyMetadata: LocalazyMetadata = {
file: "frontend.json",
path: "",
cdnFiles: {
"cs": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/cs/frontend.json",
"da": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/da/frontend.json",
"de": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/de/frontend.json",
"en": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/en/frontend.json",
"et": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/et/frontend.json",
"fi": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/fi/frontend.json",
"fr": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/fr/frontend.json",
"hu": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/hu/frontend.json",
"nb_NO": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/nb-NO/frontend.json",
"nl": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/nl/frontend.json",
"pl": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/pl/frontend.json",
"pt": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/pt/frontend.json",
"pt_BR": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/pt-BR/frontend.json",
"ru": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/ru/frontend.json",
"sk": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/sk/frontend.json",
"sv": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/sv/frontend.json",
"uk": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/uk/frontend.json",
"uz": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/uz/frontend.json",
"zh#Hans": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/zh-Hans/frontend.json"
"cs": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/cs/frontend.json",
"da": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/da/frontend.json",
"de": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/de/frontend.json",
"en": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/en/frontend.json",
"et": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/et/frontend.json",
"fi": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/fi/frontend.json",
"fr": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/fr/frontend.json",
"hu": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/hu/frontend.json",
"nb_NO": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/nb-NO/frontend.json",
"nl": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/nl/frontend.json",
"pl": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/pl/frontend.json",
"pt": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/pt/frontend.json",
"pt_BR": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/pt-BR/frontend.json",
"ru": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/ru/frontend.json",
"sk": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/sk/frontend.json",
"sv": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/sv/frontend.json",
"uk": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/uk/frontend.json",
"uz": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/uz/frontend.json",
"zh#Hans": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/zh-Hans/frontend.json"
}
},
{
@@ -234,25 +234,25 @@ const localazyMetadata: LocalazyMetadata = {
file: "file.json",
path: "",
cdnFiles: {
"cs": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/cs/file.json",
"da": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/da/file.json",
"de": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/de/file.json",
"en": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/en/file.json",
"et": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/et/file.json",
"fi": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/fi/file.json",
"fr": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/fr/file.json",
"hu": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/hu/file.json",
"nb_NO": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/nb-NO/file.json",
"nl": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/nl/file.json",
"pl": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/pl/file.json",
"pt": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/pt/file.json",
"pt_BR": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/pt-BR/file.json",
"ru": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/ru/file.json",
"sk": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/sk/file.json",
"sv": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/sv/file.json",
"uk": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/uk/file.json",
"uz": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/uz/file.json",
"zh#Hans": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/zh-Hans/file.json"
"cs": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/cs/file.json",
"da": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/da/file.json",
"de": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/de/file.json",
"en": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/en/file.json",
"et": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/et/file.json",
"fi": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/fi/file.json",
"fr": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/fr/file.json",
"hu": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/hu/file.json",
"nb_NO": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/nb-NO/file.json",
"nl": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/nl/file.json",
"pl": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/pl/file.json",
"pt": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/pt/file.json",
"pt_BR": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/pt-BR/file.json",
"ru": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/ru/file.json",
"sk": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/sk/file.json",
"sv": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/sv/file.json",
"uk": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/uk/file.json",
"uz": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/uz/file.json",
"zh#Hans": "https://delivery.localazy.com/_a65347067752521597762935bd1b/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/zh-Hans/file.json"
}
}
]