{
  "version": 3,
  "pages404": true,
  "appType": "app",
  "caseSensitive": false,
  "basePath": "",
  "redirects": [
    {
      "source": "/:path+/",
      "destination": "/:path+",
      "internal": true,
      "priority": true,
      "statusCode": 308,
      "regex": "^(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))/$"
    },
    {
      "source": "/pricing",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/pricing",
      "statusCode": 308,
      "regex": "^(?!/_next)/pricing(?:/)?$"
    },
    {
      "source": "/pricing/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/pricing",
      "statusCode": 308,
      "regex": "^(?!/_next)/pricing/(?:/)?$"
    },
    {
      "source": "/pricing",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/pricing",
      "statusCode": 308,
      "regex": "^(?!/_next)/pricing(?:/)?$"
    },
    {
      "source": "/pricing/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/pricing",
      "statusCode": 308,
      "regex": "^(?!/_next)/pricing/(?:/)?$"
    },
    {
      "source": "/pricing",
      "destination": "/en/pricing",
      "statusCode": 308,
      "regex": "^(?!/_next)/pricing(?:/)?$"
    },
    {
      "source": "/pricing/",
      "destination": "/en/pricing",
      "statusCode": 308,
      "regex": "^(?!/_next)/pricing/(?:/)?$"
    },
    {
      "source": "/securedrive",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/securedrive",
      "statusCode": 308,
      "regex": "^(?!/_next)/securedrive(?:/)?$"
    },
    {
      "source": "/securedrive/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/securedrive",
      "statusCode": 308,
      "regex": "^(?!/_next)/securedrive/(?:/)?$"
    },
    {
      "source": "/securedrive",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/securedrive",
      "statusCode": 308,
      "regex": "^(?!/_next)/securedrive(?:/)?$"
    },
    {
      "source": "/securedrive/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/securedrive",
      "statusCode": 308,
      "regex": "^(?!/_next)/securedrive/(?:/)?$"
    },
    {
      "source": "/securedrive",
      "destination": "/en/securedrive",
      "statusCode": 308,
      "regex": "^(?!/_next)/securedrive(?:/)?$"
    },
    {
      "source": "/securedrive/",
      "destination": "/en/securedrive",
      "statusCode": 308,
      "regex": "^(?!/_next)/securedrive/(?:/)?$"
    },
    {
      "source": "/securemail",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/securemail",
      "statusCode": 308,
      "regex": "^(?!/_next)/securemail(?:/)?$"
    },
    {
      "source": "/securemail/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/securemail",
      "statusCode": 308,
      "regex": "^(?!/_next)/securemail/(?:/)?$"
    },
    {
      "source": "/securemail",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/securemail",
      "statusCode": 308,
      "regex": "^(?!/_next)/securemail(?:/)?$"
    },
    {
      "source": "/securemail/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/securemail",
      "statusCode": 308,
      "regex": "^(?!/_next)/securemail/(?:/)?$"
    },
    {
      "source": "/securemail",
      "destination": "/en/securemail",
      "statusCode": 308,
      "regex": "^(?!/_next)/securemail(?:/)?$"
    },
    {
      "source": "/securemail/",
      "destination": "/en/securemail",
      "statusCode": 308,
      "regex": "^(?!/_next)/securemail/(?:/)?$"
    },
    {
      "source": "/support-securedrive",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/support-securedrive",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-securedrive(?:/)?$"
    },
    {
      "source": "/support-securedrive/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/support-securedrive",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-securedrive/(?:/)?$"
    },
    {
      "source": "/support-securedrive",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/support-securedrive",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-securedrive(?:/)?$"
    },
    {
      "source": "/support-securedrive/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/support-securedrive",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-securedrive/(?:/)?$"
    },
    {
      "source": "/support-securedrive",
      "destination": "/en/support-securedrive",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-securedrive(?:/)?$"
    },
    {
      "source": "/support-securedrive/",
      "destination": "/en/support-securedrive",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-securedrive/(?:/)?$"
    },
    {
      "source": "/support-securemail",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/support-securemail",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-securemail(?:/)?$"
    },
    {
      "source": "/support-securemail/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/support-securemail",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-securemail/(?:/)?$"
    },
    {
      "source": "/support-securemail",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/support-securemail",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-securemail(?:/)?$"
    },
    {
      "source": "/support-securemail/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/support-securemail",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-securemail/(?:/)?$"
    },
    {
      "source": "/support-securemail",
      "destination": "/en/support-securemail",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-securemail(?:/)?$"
    },
    {
      "source": "/support-securemail/",
      "destination": "/en/support-securemail",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-securemail/(?:/)?$"
    },
    {
      "source": "/blogs",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/blogs",
      "statusCode": 308,
      "regex": "^(?!/_next)/blogs(?:/)?$"
    },
    {
      "source": "/blogs/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/blogs",
      "statusCode": 308,
      "regex": "^(?!/_next)/blogs/(?:/)?$"
    },
    {
      "source": "/blogs",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/blogs",
      "statusCode": 308,
      "regex": "^(?!/_next)/blogs(?:/)?$"
    },
    {
      "source": "/blogs/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/blogs",
      "statusCode": 308,
      "regex": "^(?!/_next)/blogs/(?:/)?$"
    },
    {
      "source": "/blogs",
      "destination": "/en/blogs",
      "statusCode": 308,
      "regex": "^(?!/_next)/blogs(?:/)?$"
    },
    {
      "source": "/blogs/",
      "destination": "/en/blogs",
      "statusCode": 308,
      "regex": "^(?!/_next)/blogs/(?:/)?$"
    },
    {
      "source": "/contact-us",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/contact-us",
      "statusCode": 308,
      "regex": "^(?!/_next)/contact-us(?:/)?$"
    },
    {
      "source": "/contact-us/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/contact-us",
      "statusCode": 308,
      "regex": "^(?!/_next)/contact-us/(?:/)?$"
    },
    {
      "source": "/contact-us",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/contact-us",
      "statusCode": 308,
      "regex": "^(?!/_next)/contact-us(?:/)?$"
    },
    {
      "source": "/contact-us/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/contact-us",
      "statusCode": 308,
      "regex": "^(?!/_next)/contact-us/(?:/)?$"
    },
    {
      "source": "/contact-us",
      "destination": "/en/contact-us",
      "statusCode": 308,
      "regex": "^(?!/_next)/contact-us(?:/)?$"
    },
    {
      "source": "/contact-us/",
      "destination": "/en/contact-us",
      "statusCode": 308,
      "regex": "^(?!/_next)/contact-us/(?:/)?$"
    },
    {
      "source": "/privacy-policy",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/privacy-policy",
      "statusCode": 308,
      "regex": "^(?!/_next)/privacy-policy(?:/)?$"
    },
    {
      "source": "/privacy-policy/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/privacy-policy",
      "statusCode": 308,
      "regex": "^(?!/_next)/privacy-policy/(?:/)?$"
    },
    {
      "source": "/privacy-policy",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/privacy-policy",
      "statusCode": 308,
      "regex": "^(?!/_next)/privacy-policy(?:/)?$"
    },
    {
      "source": "/privacy-policy/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/privacy-policy",
      "statusCode": 308,
      "regex": "^(?!/_next)/privacy-policy/(?:/)?$"
    },
    {
      "source": "/privacy-policy",
      "destination": "/en/privacy-policy",
      "statusCode": 308,
      "regex": "^(?!/_next)/privacy-policy(?:/)?$"
    },
    {
      "source": "/privacy-policy/",
      "destination": "/en/privacy-policy",
      "statusCode": 308,
      "regex": "^(?!/_next)/privacy-policy/(?:/)?$"
    },
    {
      "source": "/terms-and-conditions",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/term-conditions",
      "statusCode": 308,
      "regex": "^(?!/_next)/terms-and-conditions(?:/)?$"
    },
    {
      "source": "/terms-and-conditions/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/term-conditions",
      "statusCode": 308,
      "regex": "^(?!/_next)/terms-and-conditions/(?:/)?$"
    },
    {
      "source": "/terms-and-conditions",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/term-conditions",
      "statusCode": 308,
      "regex": "^(?!/_next)/terms-and-conditions(?:/)?$"
    },
    {
      "source": "/terms-and-conditions/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/term-conditions",
      "statusCode": 308,
      "regex": "^(?!/_next)/terms-and-conditions/(?:/)?$"
    },
    {
      "source": "/terms-and-conditions",
      "destination": "/en/term-conditions",
      "statusCode": 308,
      "regex": "^(?!/_next)/terms-and-conditions(?:/)?$"
    },
    {
      "source": "/terms-and-conditions/",
      "destination": "/en/term-conditions",
      "statusCode": 308,
      "regex": "^(?!/_next)/terms-and-conditions/(?:/)?$"
    },
    {
      "source": "/offshore-software-development",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/offshore-software-development",
      "statusCode": 308,
      "regex": "^(?!/_next)/offshore-software-development(?:/)?$"
    },
    {
      "source": "/offshore-software-development/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/offshore-software-development",
      "statusCode": 308,
      "regex": "^(?!/_next)/offshore-software-development/(?:/)?$"
    },
    {
      "source": "/offshore-software-development",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/offshore-software-development",
      "statusCode": 308,
      "regex": "^(?!/_next)/offshore-software-development(?:/)?$"
    },
    {
      "source": "/offshore-software-development/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/offshore-software-development",
      "statusCode": 308,
      "regex": "^(?!/_next)/offshore-software-development/(?:/)?$"
    },
    {
      "source": "/offshore-software-development",
      "destination": "/en/offshore-software-development",
      "statusCode": 308,
      "regex": "^(?!/_next)/offshore-software-development(?:/)?$"
    },
    {
      "source": "/offshore-software-development/",
      "destination": "/en/offshore-software-development",
      "statusCode": 308,
      "regex": "^(?!/_next)/offshore-software-development/(?:/)?$"
    },
    {
      "source": "/about-689cloud",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/about",
      "statusCode": 308,
      "regex": "^(?!/_next)/about-689cloud(?:/)?$"
    },
    {
      "source": "/about-689cloud/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/about",
      "statusCode": 308,
      "regex": "^(?!/_next)/about-689cloud/(?:/)?$"
    },
    {
      "source": "/about-689cloud",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/about",
      "statusCode": 308,
      "regex": "^(?!/_next)/about-689cloud(?:/)?$"
    },
    {
      "source": "/about-689cloud/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/about",
      "statusCode": 308,
      "regex": "^(?!/_next)/about-689cloud/(?:/)?$"
    },
    {
      "source": "/about-689cloud",
      "destination": "/en/about",
      "statusCode": 308,
      "regex": "^(?!/_next)/about-689cloud(?:/)?$"
    },
    {
      "source": "/about-689cloud/",
      "destination": "/en/about",
      "statusCode": 308,
      "regex": "^(?!/_next)/about-689cloud/(?:/)?$"
    },
    {
      "source": "/support-download",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/support-download",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-download(?:/)?$"
    },
    {
      "source": "/support-download/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^vi.*)"
        }
      ],
      "destination": "/vi/support-download",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-download/(?:/)?$"
    },
    {
      "source": "/support-download",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/support-download",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-download(?:/)?$"
    },
    {
      "source": "/support-download/",
      "has": [
        {
          "type": "header",
          "key": "Accept-Language",
          "value": "(^ja.*)"
        }
      ],
      "destination": "/ja/support-download",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-download/(?:/)?$"
    },
    {
      "source": "/support-download",
      "destination": "/en/support-download",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-download(?:/)?$"
    },
    {
      "source": "/support-download/",
      "destination": "/en/support-download",
      "statusCode": 308,
      "regex": "^(?!/_next)/support-download/(?:/)?$"
    },
    {
      "source": "/vi/luat-du-lieu-2025/",
      "destination": "/vi/luat-du-lieu-2025",
      "statusCode": 308,
      "regex": "^(?!/_next)/vi/luat-du-lieu-2025/(?:/)?$"
    },
    {
      "source": "/luat-du-lieu",
      "destination": "/vi/luat-du-lieu",
      "statusCode": 308,
      "regex": "^(?!/_next)/luat-du-lieu(?:/)?$"
    },
    {
      "source": "/luat-du-lieu/",
      "destination": "/vi/luat-du-lieu",
      "statusCode": 308,
      "regex": "^(?!/_next)/luat-du-lieu/(?:/)?$"
    },
    {
      "source": "/vi/luat-du-lieu/",
      "destination": "/vi/luat-du-lieu",
      "statusCode": 308,
      "regex": "^(?!/_next)/vi/luat-du-lieu/(?:/)?$"
    }
  ],
  "headers": [
    {
      "source": "/(.*)",
      "headers": [
        {
          "key": "Strict-Transport-Security",
          "value": "max-age=63072000; includeSubDomains; preload"
        },
        {
          "key": "Content-Security-Policy",
          "value": "default-src 'self'; script-src 'self' 'unsafe-inline'  https://www.googletagmanager.com https://ssl.google-analytics.com https://www.google-analytics.com https://tagmanager.google.com https://va.vercel-scripts.com https://googleads.g.doubleclick.net https://www.googleadservices.com https://www.youtube.com https://s.ytimg.com https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/; style-src 'self' 'unsafe-inline' https://tagmanager.google.com https://fonts.googleapis.com; img-src 'self' data: https://cdn.sanity.io https://www.google-analytics.com https://ssl.google-analytics.com https://www.googletagmanager.com https://*.google-analytics.com https://*.analytics.google.com https://ssl.gstatic.com https://www.gstatic.com https://*.google.com https://*.google.com.vn; font-src 'self' https://fonts.gstatic.com data:; connect-src 'self' https://*.api.sanity.io wss://*.api.sanity.io https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://*.g.doubleclick.net https://www.googletagmanager.com https://tagmanager.google.com https://secdocs-api.689cloud.com wss://secdocs-api.689cloud.com https://*.google.com https://*.google.com.vn; media-src 'self'; object-src 'self' blob: https://*.689cloud.com https://secdocs-api.689cloud.com; worker-src 'self' blob:; frame-ancestors 'self' https://*.sanity.studio https://sanity.io http://localhost:3333 http://localhost:3000 https://*.689cloud.com https://*.saitama-med.ac.jp; frame-src 'self' blob: https://www.youtube.com https://*.youtube.com https://*.youtube-nocookie.com https://tagmanager.google.com https://www.googletagmanager.com https://www.google.com/recaptcha/ https://recaptcha.google.com/recaptcha/; base-uri 'self'; form-action 'self'; upgrade-insecure-requests"
        },
        {
          "key": "X-Frame-Options",
          "value": "SAMEORIGIN"
        },
        {
          "key": "X-Content-Type-Options",
          "value": "nosniff"
        },
        {
          "key": "Referrer-Policy",
          "value": "strict-origin-when-cross-origin"
        },
        {
          "key": "Permissions-Policy",
          "value": "camera=(), microphone=(), geolocation=(), interest-cohort=()"
        }
      ],
      "regex": "^(?:/(.*))(?:/)?$"
    }
  ],
  "onMatchHeaders": [],
  "rewrites": {
    "beforeFiles": [],
    "afterFiles": [],
    "fallback": []
  },
  "dynamicRoutes": [
    {
      "page": "/blogs/[slug]",
      "regex": "^/blogs/([^/]+?)(?:/)?$",
      "routeKeys": {
        "nxtPslug": "nxtPslug"
      },
      "namedRegex": "^/blogs/(?<nxtPslug>[^/]+?)(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/blogs/[slug].segments/!KGRlZmF1bHQp/blogs/$d$slug$segment",
          "source": "^/blogs/(?<nxtPslug>[^/]+?)\\.segments/!KGRlZmF1bHQp/blogs/\\$d\\$slug(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPslug": "nxtPslug"
          }
        }
      ]
    },
    {
      "page": "/[lang]",
      "regex": "^/([^/]+?)(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang].segments/$d$lang$segment",
          "source": "^/(?<nxtPlang>[^/]+?)\\.segments/\\$d\\$lang(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    },
    {
      "page": "/[lang]/about",
      "regex": "^/([^/]+?)/about(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/about(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/about.segments/$d$lang/about$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/about\\.segments/\\$d\\$lang/about(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    },
    {
      "sourcePage": "/[lang]/blog/[slug]",
      "page": "/en/blog/[slug]",
      "regex": "^/en/blog/([^/]+?)(?:/)?$",
      "routeKeys": {
        "nxtPslug": "nxtPslug"
      },
      "namedRegex": "^/en/blog/(?<nxtPslug>[^/]+?)(?:/)?$",
      "skipInternalRouting": true,
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/en/blog/[slug].segments/$d$lang/blog/$d$slug$segment",
          "source": "^/en/blog/(?<nxtPslug>[^/]+?)\\.segments/\\$d\\$lang/blog/\\$d\\$slug(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPslug": "nxtPslug"
          }
        }
      ]
    },
    {
      "sourcePage": "/[lang]/blog/[slug]",
      "page": "/ja/blog/[slug]",
      "regex": "^/ja/blog/([^/]+?)(?:/)?$",
      "routeKeys": {
        "nxtPslug": "nxtPslug"
      },
      "namedRegex": "^/ja/blog/(?<nxtPslug>[^/]+?)(?:/)?$",
      "skipInternalRouting": true,
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/ja/blog/[slug].segments/$d$lang/blog/$d$slug$segment",
          "source": "^/ja/blog/(?<nxtPslug>[^/]+?)\\.segments/\\$d\\$lang/blog/\\$d\\$slug(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPslug": "nxtPslug"
          }
        }
      ]
    },
    {
      "sourcePage": "/[lang]/blog/[slug]",
      "page": "/vi/blog/[slug]",
      "regex": "^/vi/blog/([^/]+?)(?:/)?$",
      "routeKeys": {
        "nxtPslug": "nxtPslug"
      },
      "namedRegex": "^/vi/blog/(?<nxtPslug>[^/]+?)(?:/)?$",
      "skipInternalRouting": true,
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/vi/blog/[slug].segments/$d$lang/blog/$d$slug$segment",
          "source": "^/vi/blog/(?<nxtPslug>[^/]+?)\\.segments/\\$d\\$lang/blog/\\$d\\$slug(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPslug": "nxtPslug"
          }
        }
      ]
    },
    {
      "page": "/[lang]/blog/[slug]",
      "regex": "^/([^/]+?)/blog/([^/]+?)(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang",
        "nxtPslug": "nxtPslug"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/blog/(?<nxtPslug>[^/]+?)(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/blog/[slug].segments/$d$lang/blog/$d$slug$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/blog/(?<nxtPslug>[^/]+?)\\.segments/\\$d\\$lang/blog/\\$d\\$slug(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang",
            "nxtPslug": "nxtPslug"
          }
        }
      ]
    },
    {
      "page": "/[lang]/blogs",
      "regex": "^/([^/]+?)/blogs(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/blogs(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/blogs.segments/$d$lang/blogs$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/blogs\\.segments/\\$d\\$lang/blogs(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    },
    {
      "page": "/[lang]/contact-us",
      "regex": "^/([^/]+?)/contact\\-us(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/contact\\-us(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/contact-us.segments/$d$lang/contact-us$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/contact\\-us\\.segments/\\$d\\$lang/contact\\-us(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    },
    {
      "page": "/[lang]/luat-du-lieu",
      "regex": "^/([^/]+?)/luat\\-du\\-lieu(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/luat\\-du\\-lieu(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/luat-du-lieu.segments/$d$lang/luat-du-lieu$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/luat\\-du\\-lieu\\.segments/\\$d\\$lang/luat\\-du\\-lieu(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    },
    {
      "page": "/[lang]/luat-du-lieu-2025",
      "regex": "^/([^/]+?)/luat\\-du\\-lieu\\-2025(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/luat\\-du\\-lieu\\-2025(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/luat-du-lieu-2025.segments/$d$lang/luat-du-lieu-2025$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/luat\\-du\\-lieu\\-2025\\.segments/\\$d\\$lang/luat\\-du\\-lieu\\-2025(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    },
    {
      "page": "/[lang]/offshore-software-development",
      "regex": "^/([^/]+?)/offshore\\-software\\-development(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/offshore\\-software\\-development(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/offshore-software-development.segments/$d$lang/offshore-software-development$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/offshore\\-software\\-development\\.segments/\\$d\\$lang/offshore\\-software\\-development(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    },
    {
      "page": "/[lang]/pricing",
      "regex": "^/([^/]+?)/pricing(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/pricing(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/pricing.segments/$d$lang/pricing$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/pricing\\.segments/\\$d\\$lang/pricing(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    },
    {
      "page": "/[lang]/privacy-policy",
      "regex": "^/([^/]+?)/privacy\\-policy(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/privacy\\-policy(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/privacy-policy.segments/$d$lang/privacy-policy$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/privacy\\-policy\\.segments/\\$d\\$lang/privacy\\-policy(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    },
    {
      "page": "/[lang]/securedrive",
      "regex": "^/([^/]+?)/securedrive(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/securedrive(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/securedrive.segments/$d$lang/securedrive$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/securedrive\\.segments/\\$d\\$lang/securedrive(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    },
    {
      "page": "/[lang]/securedrive-pricing",
      "regex": "^/([^/]+?)/securedrive\\-pricing(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/securedrive\\-pricing(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/securedrive-pricing.segments/$d$lang/securedrive-pricing$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/securedrive\\-pricing\\.segments/\\$d\\$lang/securedrive\\-pricing(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    },
    {
      "page": "/[lang]/securemail",
      "regex": "^/([^/]+?)/securemail(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/securemail(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/securemail.segments/$d$lang/securemail$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/securemail\\.segments/\\$d\\$lang/securemail(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    },
    {
      "page": "/[lang]/securemail-pricing",
      "regex": "^/([^/]+?)/securemail\\-pricing(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/securemail\\-pricing(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/securemail-pricing.segments/$d$lang/securemail-pricing$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/securemail\\-pricing\\.segments/\\$d\\$lang/securemail\\-pricing(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    },
    {
      "page": "/[lang]/support-download",
      "regex": "^/([^/]+?)/support\\-download(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/support\\-download(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/support-download.segments/$d$lang/support-download$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/support\\-download\\.segments/\\$d\\$lang/support\\-download(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    },
    {
      "page": "/[lang]/support-securedrive",
      "regex": "^/([^/]+?)/support\\-securedrive(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/support\\-securedrive(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/support-securedrive.segments/$d$lang/support-securedrive$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/support\\-securedrive\\.segments/\\$d\\$lang/support\\-securedrive(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    },
    {
      "page": "/[lang]/support-securemail",
      "regex": "^/([^/]+?)/support\\-securemail(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/support\\-securemail(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/support-securemail.segments/$d$lang/support-securemail$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/support\\-securemail\\.segments/\\$d\\$lang/support\\-securemail(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    },
    {
      "page": "/[lang]/term-conditions",
      "regex": "^/([^/]+?)/term\\-conditions(?:/)?$",
      "routeKeys": {
        "nxtPlang": "nxtPlang"
      },
      "namedRegex": "^/(?<nxtPlang>[^/]+?)/term\\-conditions(?:/)?$",
      "prefetchSegmentDataRoutes": [
        {
          "destination": "/[lang]/term-conditions.segments/$d$lang/term-conditions$segment",
          "source": "^/(?<nxtPlang>[^/]+?)/term\\-conditions\\.segments/\\$d\\$lang/term\\-conditions(?<segment>/__PAGE__\\.segment\\.rsc|\\.segment\\.rsc)(?:/)?$",
          "routeKeys": {
            "nxtPlang": "nxtPlang"
          }
        }
      ]
    }
  ],
  "staticRoutes": [
    {
      "page": "/",
      "regex": "^/(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/(?:/)?$"
    },
    {
      "page": "/_global-error",
      "regex": "^/_global\\-error(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/_global\\-error(?:/)?$"
    },
    {
      "page": "/_not-found",
      "regex": "^/_not\\-found(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/_not\\-found(?:/)?$"
    },
    {
      "page": "/api/draft-mode/enable",
      "regex": "^/api/draft\\-mode/enable(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/api/draft\\-mode/enable(?:/)?$"
    },
    {
      "page": "/icon.png",
      "regex": "^/icon\\.png(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/icon\\.png(?:/)?$"
    },
    {
      "page": "/robots.txt",
      "regex": "^/robots\\.txt(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/robots\\.txt(?:/)?$"
    },
    {
      "page": "/sitemap.xml",
      "regex": "^/sitemap\\.xml(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/sitemap\\.xml(?:/)?$"
    }
  ],
  "dataRoutes": [],
  "rsc": {
    "header": "rsc",
    "varyHeader": "rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch",
    "prefetchHeader": "next-router-prefetch",
    "didPostponeHeader": "x-nextjs-postponed",
    "contentTypeHeader": "text/x-component",
    "suffix": ".rsc",
    "prefetchSegmentHeader": "next-router-segment-prefetch",
    "prefetchSegmentSuffix": ".segment.rsc",
    "prefetchSegmentDirSuffix": ".segments",
    "clientParamParsing": true,
    "dynamicRSCPrerender": true
  },
  "rewriteHeaders": {
    "pathHeader": "x-nextjs-rewritten-path",
    "queryHeader": "x-nextjs-rewritten-query"
  },
  "ppr": {
    "chain": {
      "headers": {
        "next-resume": "1"
      }
    }
  }
}